(57)【要約】【課題】不揮発性記憶装置のデータ保持ブロックのエラー発生ビット数が、不揮発性記憶装置で対応している誤り訂正能力よりも多い場合にはエラーの発生したビットを含むデータのブロック単位でデータを読出すことができないという課題がある。【解決手段】不揮発性記憶装置１００Ａは、コントローラ１０１Ａとフラッシュメモリ１０２を有する。フラッシュメモリはユーザデータとユーザデータの誤りを訂正するための誤り訂正符号を記憶する。外部より読み出しコマンドがあればユーザデータと誤り訂正符号をフラッシュメモリより読み出す。読出したユーザデータに誤りがあり、訂正が可能な場合は、誤り訂正を行って出力する。また誤り訂正が不可能であれば、そのデータをそのまま出力する。【選択図】図１
2006285976.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性記憶装置と、前記不揮発性記憶装置にアクセスして不揮発性記憶装置のユーザデータを読出すアクセス装置とを有する不揮発性記憶システムであって、
前記不揮発性記憶装置は、
ユーザデータを書込むユーザデータ領域及び前記ユーザデータ領域に書込まれたデータの誤り訂正を行う誤り訂正符号を記憶する管理領域を有する不揮発性メモリと、
前記不揮発性メモリから読出したユーザデータの誤りを前記管理領域の誤り訂正符号を基にして訂正する誤り訂正回路を含み、前記不揮発性メモリよりユーザデータを読出し、誤りがあれば前記誤り訂正回路を用いて誤り訂正を行い、誤りがなければそのまま読出す誤り訂正読出しと、前記不揮発性メモリから読出されたユーザデータをそのまま出力する生データ読出しとを備えたコントローラと、を有するものであり、
前記アクセス装置は、
前記不揮発性記憶装置から、前記誤り訂正読出しを使用したユーザデータの読出しと、前記生データ読出しを組み合わせてユーザデータを読出す不揮発性記憶システム。
【請求項２】
前記アクセス装置は、
前記不揮発性記憶装置に指示することにより前記誤り訂正読出しを使用し、前記誤り訂正ができないときに生データの読出しに切換えてユーザデータを読出す請求項１記載の不揮発性記憶システム。
【請求項３】
前記アクセス装置は、
前記誤り訂正読出しを使用したユーザデータの読出しにおいて、前記不揮発性記憶装置からデータが出力されないことで、前記誤り訂正回路で誤り訂正ができない誤りが発生していることを判断する請求項１記載の不揮発性記憶システム。
【請求項４】
前記コントローラは、
誤り訂正符号を用いた訂正を行うかどうかを識別するフラグを有し、前記フラグによって前記誤り訂正読出しと、前記生データ読出しとを切換える請求項２記載の不揮発性記憶システム。
【請求項５】
ユーザデータを書込むユーザデータ領域及び前記ユーザデータ領域に書込まれたデータの誤り訂正を行う誤り訂正符号を記憶する管理領域を有する不揮発性メモリと、
前記不揮発性メモリから読出したユーザデータの誤りを前記誤り訂正符号を基にして訂正する誤り訂正回路を含むコントローラと、を有する不揮発性記憶装置であって、
前記コントローラは、
誤りがない場合にはユーザデータ領域のデータをそのまま出力し、訂正可能な誤りである場合にはユーザデータ領域のデータの誤りを訂正して出力し、訂正不可能な誤りがある場合にはデータの出力を行わない通常読出しモードと、
誤りがない場合にはユーザデータ領域のデータをそのまま出力し、訂正可能な誤りである場合にはユーザデータ領域のデータの誤りを訂正して出力し、訂正不可能な誤りがある場合にはユーザデータ領域のデータをそのまま出力する特殊読出しモードとを備えた不揮発性記憶装置。
【請求項６】
前記コントローラは、
誤り訂正を用いずにデータの出力が許されるかどうかを識別するフラグを有し、前記フラグの値によって前記コントローラが前記通常読出しモードと、前記特殊読出しモードとの切換えを行う請求項５記載の不揮発性記憶装置。
【請求項７】
前記フラグは、前記不揮発性記憶装置外部から切換えられる請求項５記載の不揮発性記憶装置。
【請求項８】
ユーザデータを書込むユーザデータ領域及び前記ユーザデータ領域に書込まれたデータの誤り訂正を行う誤り訂正符号を記憶する管理領域を有する不揮発性メモリと、
前記不揮発性メモリから読出したユーザデータの誤りを前記管理領域の誤り訂正符号を基にして訂正する誤り訂正回路を含むコントローラと、を含む不揮発性記憶装置からユーザデータを読出すデータ読出し方法であって、
前記不揮発性メモリよりユーザデータを読出し、
不揮発性メモリより読出されたユーザデータの誤りの有無を判別し、
ユーザデータに誤りがなければそのまま出力し、
誤りがあれば前記誤り訂正回路を用いて誤り訂正を行って出力し、
前記誤り訂正回路を用いて誤りが訂正できない場合に前記不揮発性メモリから読出されたユーザデータをそのまま出力するデータ読出方法。
【請求項９】
ユーザデータを書込むユーザデータ領域及び前記ユーザデータ領域に書込まれたデータの誤り訂正を行う誤り訂正符号を記憶する管理領域を有する不揮発性メモリと、
前記不揮発性メモリから読出したユーザデータの誤りを前記管理領域の誤り訂正符号を基にして訂正する誤り訂正回路を含むコントローラと、を含む不揮発性記憶装置からユーザデータを読出すデータ読出しプログラムであって、
前記コントローラが前記誤り訂正回路を使用して前記不揮発性メモリから読出したユーザデータの誤りを訂正して前記揮発性記憶装置外部に出力する通常読出しを用いてユーザデータを読出し、
前記誤り訂正回路では訂正できない誤りが前記不揮発性メモリに発生し、前記通常読出しでは読出せないと判断した場合に、前記コントローラが前記誤り訂正回路を使用せず前記不揮発性メモリから読出したユーザデータをそのまま前記揮発性記憶装置外部に出力するＥＣＣオフ読出しを用いてユーザデータを読出すデータ読出しプログラム。
【請求項１０】
前記通常読出しと前記ＥＣＣオフ読出しとをセクター単位で切換えて使用する請求項９記載のデータ読出しプログラム。
【請求項１１】
前記通常読出しを使用した読出しにおいて前記不揮発性記憶装置からデータが出力されない場合に、前記誤り訂正回路では訂正できない誤りが前記不揮発性メモリに発生し、前記通常読出しでは読出せないと判断する請求項９記載のデータ読出しプログラム。
【請求項１２】
ユーザデータを書込むユーザデータ領域及び前記ユーザデータ領域に書込まれたデータの誤り訂正を行う誤り訂正符号を記憶する管理領域を有する不揮発性メモリと、
前記不揮発性メモリから読出したユーザデータの誤りを前記管理領域の誤り訂正符号を基にして訂正する誤り訂正回路を含むコントローラと、を含む不揮発性記憶装置からユーザデータを読出すデータ読出しプログラムであって、
前記不揮発性記憶装置に対して、訂正できる誤りの場合には前記不揮発性メモリから読出したユーザデータを訂正して出力し、誤りができないときには前記不揮発性メモリから読出される生データを出力する特殊読出しによって、ユーザデータを読出すデータ読出しプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に書込まれたファイルがデータ保持不良等のエラーによって損なわれた場合における不揮発性記憶装置からのデータの読出しに特徴を有する不揮発性記憶システム、不揮発性記憶装置、そのデータ読出方法及びデータ読出プログラムに関する。
【背景技術】
【０００２】
近年、不揮発性メモリを搭載した不揮発性記憶装置は、デジタルカメラや携帯電話のメモリカードとして市場を拡大している。そしてメモリカードの記憶容量の増加に伴い、データファイルや静止画等の小容量の記録からより大容量が必要となる動画記録へとその用途は広がっている。
【０００３】
しかし、メモリカードの不揮発性メモリとして主に使用されているＮＡＮＤタイプのフラッシュメモリは、本質的にデータ保持のエラーの可能性を持っている。そのために記録すべきデータに誤り訂正符号（Error correcting code）（以下、ＥＣＣともいう）を付加してフラッシュメモリに書込むと共に、読出し時には誤り訂正符号を基にしてデータの訂正を行うことで、データ保持エラーが発生したときのデータの保証を行っている。
【特許文献１】特開２００３−３１６６６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながらＥＣＣの訂正能力を越えるデータ保持エラーが発生した場合は、データの訂正を行うことができない。メモリカードはエラーが発生したビットだけでなく、その不正と思われるビットを含む管理単位のデータを出力しない。その場合にはそのビットを含む管理単位でデータが失われることになる。そのため不揮発性メモリをデジタルカメラのデータ記録用としていた場合には、ユーザがせっかく撮影した貴重な静止画や動画のデータの一部が大きく損なわれたり、またはデータそのものが失われることになる。しかし実際には、静止画や動画のデータのうち一部のビットでエラーが発生しても、概ね元の静止画像に近いものを得られることも多く、また動画では一瞬の画像の乱れ程度で済むことも多い。そのためデータそのものが失われることに比べると、例えビットエラーが発生しているデータであったとしても、読出すことには大きな意味があると考えられる。
【０００５】
不揮発性記憶装置のデータ保持ブロックのエラー発生ビット数が、不揮発性記憶装置で対応している誤り訂正能力よりも多い場合にはエラーの発生したビットを含むデータのブロック単位でデータを読出すことができないという課題がある。
【課題を解決するための手段】
【０００６】
この課題を解決するために、本発明の不揮発性記憶システムは、不揮発性記憶装置と、前記不揮発性記憶装置にアクセスして不揮発性記憶装置のユーザデータを読出すアクセス装置とを有する不揮発性記憶システムであって、前記不揮発性記憶装置は、ユーザデータを書込むユーザデータ領域及び前記ユーザデータ領域に書込まれたデータの誤り訂正を行う誤り訂正符号を記憶する管理領域を有する不揮発性メモリと、前記不揮発性メモリから読出したユーザデータの誤りを前記管理領域の誤り訂正符号を基にして訂正する誤り訂正回路を含み、前記不揮発性メモリよりユーザデータを読出し、誤りがあれば前記誤り訂正回路を用いて誤り訂正を行い、誤りがなければそのまま読出す誤り訂正読出しと、前記不揮発性メモリから読出されたユーザデータをそのまま出力する生データ読出しとを備えたコントローラと、を有するものであり、前記アクセス装置は、前記不揮発性記憶装置から、前記誤り訂正読出しを使用したユーザデータの読出しと、前記生データ読出しを組み合わせてユーザデータを読出すものである。
【０００７】
この課題を解決するために、本発明の不揮発性記憶装置は、ユーザデータを書込むユーザデータ領域及び前記ユーザデータ領域に書込まれたデータの誤り訂正を行う誤り訂正符号を記憶する管理領域を有する不揮発性メモリと、前記不揮発性メモリから読出したユーザデータの誤りを前記誤り訂正符号を基にして訂正する誤り訂正回路を含むコントローラと、を有する不揮発性記憶装置であって、前記コントローラは、誤りがない場合にはユーザデータ領域のデータをそのまま出力し、訂正可能な誤りである場合にはユーザデータ領域のデータの誤りを訂正して出力し、訂正不可能な誤りがある場合にはデータの出力を行わない通常読出しモードと、誤りがない場合にはユーザデータ領域のデータをそのまま出力し、訂正可能な誤りである場合にはユーザデータ領域のデータの誤りを訂正して出力し、訂正不可能な誤りがある場合にはユーザデータ領域のデータをそのまま出力する特殊読出しモードとを備えたものである。
【０００８】
この課題を解決するために、本発明のデータ読出方法は、ユーザデータを書込むユーザデータ領域及び前記ユーザデータ領域に書込まれたデータの誤り訂正を行う誤り訂正符号を記憶する管理領域を有する不揮発性メモリと、前記不揮発性メモリから読出したユーザデータの誤りを前記管理領域の誤り訂正符号を基にして訂正する誤り訂正回路を含むコントローラと、を含む不揮発性記憶装置からユーザデータを読出すデータ読出し方法であって、前記不揮発性メモリよりユーザデータを読出し、不揮発性メモリより読出されたユーザデータの誤りの有無を判別し、ユーザデータに誤りがなければそのまま出力し、誤りがあれば前記誤り訂正回路を用いて誤り訂正を行って出力し、前記誤り訂正回路を用いて誤りが訂正できない場合に前記不揮発性メモリから読出されたユーザデータをそのまま出力するものである。
【０００９】
この課題を解決するために、本発明のデータ読出しプログラムは、ユーザデータを書込むユーザデータ領域及び前記ユーザデータ領域に書込まれたデータの誤り訂正を行う誤り訂正符号を記憶する管理領域を有する不揮発性メモリと、前記不揮発性メモリから読出したユーザデータの誤りを前記管理領域の誤り訂正符号を基にして訂正する誤り訂正回路を含むコントローラと、を含む不揮発性記憶装置からユーザデータを読出すデータ読出しプログラムであって、前記コントローラが前記誤り訂正回路を使用して前記不揮発性メモリから読出したユーザデータの誤りを訂正して前記揮発性記憶装置外部に出力する通常読出しを用いてユーザデータを読出し、前記誤り訂正回路では訂正できない誤りが前記不揮発性メモリに発生し、前記通常読出しでは読出せないと判断した場合に、前記コントローラが前記誤り訂正回路を使用せず前記不揮発性メモリから読出したユーザデータをそのまま前記揮発性記憶装置外部に出力するＥＣＣオフ読出しを用いてユーザデータを読出すものである。
【００１０】
この課題を解決するために、本発明のデータ読出しプログラムは、ユーザデータを書込むユーザデータ領域及び前記ユーザデータ領域に書込まれたデータの誤り訂正を行う誤り訂正符号を記憶する管理領域を有する不揮発性メモリと、前記不揮発性メモリから読出したユーザデータの誤りを前記管理領域の誤り訂正符号を基にして訂正する誤り訂正回路を含むコントローラと、を含む不揮発性記憶装置からユーザデータを読出すデータ読出しプログラムであって、前記不揮発性記憶装置に対して、訂正できる誤りの場合には前記不揮発性メモリから読出したユーザデータを訂正して出力し、誤りができないときには前記不揮発性メモリから読出される生データを出力する特殊読出しによって、ユーザデータを読出すものである。
【発明の効果】
【００１１】
本発明の不揮発性記憶システム、不揮発性記憶装置とそのデータ読出方法及びデータ読出プログラムによれば、たとえ不揮発性記憶装置に搭載されている誤り訂正能力以上の誤りが不揮発性記憶装置内部において発生していて、誤りを訂正してデータを読出せない状態であっても、誤り訂正を使用しない読出しを行うことにより、不揮発性記憶装置のデータを読出すことができ、その結果、データを完全、または不完全な形で読出すことができる。
【発明を実施するための最良の形態】
【００１２】
本発明の実施の形態１について図面を用いて説明する。図１は本発明の実施の形態１における不揮発性記憶装置、図２はアクセス装置の一例を示すブロック図である。図１において、メモリカード１００Ａは不揮発性記憶装置であり、アクセス装置１２０よりメモリカード１００Ａに対してデータの書込み及び読出しを行う。このメモリカード１００Ａとアクセス装置１２０とによって不揮発性記憶システムが構成される。メモリカード１００Ａはコントローラ１０１Ａと、不揮発性メモリであるフラッシュメモリ１０２を含んで構成されている。コントローラ１０１Ａにおいて、ホストＩ／Ｆ１１１はアクセス装置１２０とコントローラ１０１Ａとのインターフェースであり、フラッシュＩ／Ｆ１１２はフラッシュメモリ１０２とコントローラ１０１Ａとのインターフェースである。制御回路１１３はコントローラ１０１Ａ内部の各ブロックを制御してアクセス装置１２０からの書込みデータをフラッシュメモリ１０２に書込んだり、フラッシュメモリ１０２のデータをアクセス装置１２０に読出す制御を行うものである。ページバッファ１１４はアクセス装置１２０から転送され、フラッシュメモリ１０２に書込まれるデータ、又はフラッシュメモリより読出されたデータを一時的に記憶するバッファである。ここではページバッファ１１４の容量は２ｋＢ（バイト）とする。またＥＣＣ回路１１５は、アクセス装置１２０からフラッシュメモリ１０２にデータを書込むときには書込みデータを基にして演算した誤り訂正符号を付加し、フラッシュメモリ１０２からアクセス装置１２０にデータを読出すときには一時的にページバッファ１１４に読出したデータに対してＥＣＣを用いて誤り訂正を行う誤り訂正回路である。ＥＣＣ切換えフラグ１１６は誤り訂正を行ってデータを読出すＥＣＣオンモードと、ＥＣＣ訂正を行わないでデータを読出すＥＣＣオフモードとを切換える情報を保持するフラグである。
【００１３】
次にアクセス装置１２０について、図２を用いて説明する。アクセス装置１２０は全体を制御するＣＰＵ１２１、入力装置１２２、表示装置１２３、記憶装置１２４及びメモリカードＩ／Ｆ１２５を有している。メモリカードＩ／Ｆ１２５はコマンド制御部１２６、書込み制御部１２７、読出し制御部１２８を有し、メモリカードのインターフェースを制御するものである。例えばこのアクセス装置１２０がデジタルカメラの場合には、シャッターやユーザが操作可能なボタン及び画像データを入力するためのＣＣＤが入力装置１２２となり、液晶パネルが表示装置１２３となる。コマンド制御部１２６はメモリカード１００Ａに対してコマンドを発行するものであり、書込み制御部１２７、読出し制御部１２８は夫々メモリカードにデータを書込み、及びデータを読出す際の制御部として用いられる。
【００１４】
アクセス装置１２０がメモリカード１００Ａからデータを読出す際には、ＣＰＵ１２１に搭載されたデータ読出しプログラムに基づいて、コマンド制御部１２６と読出し制御部１２８を使用してメモリカードからデータを読出す。アクセス装置１２０がメモリカード１００にデータを書込む際には、ＣＰＵ１２１に搭載されたデータ書込みプログラムに基づいて、コマンド制御部１２６と書込み制御部１２７を使用してメモリカードにデータを書込む。
【００１５】
フラッシュメモリ１０２はユーザデータを保持する不揮発性のメモリであり、消去単位である多数の物理ブロックから成る。各物理ブロックは複数のページから成り立っている。図３はフラッシュメモリ１０２の書込み、読出しの単位であるページ単位のデータの構成を示す図である。各ページは２ｋＢ（バイト）の容量を持つユーザデータ領域２０１と、６４Ｂの容量を持つ管理領域２０２とからなっている。ユーザデータ領域２０１はアクセス装置１２０から送られてきたユーザデータをそのまま書込む領域である。管理領域２０２はユーザデータの管理情報を書込む領域であり、ユーザデータに対して誤り訂正をするためのＥＣＣ２０３を含む。ユーザデータはユーザデータ領域（２ｋＢ）単位で分割してフラッシュメモリ１０２に書込む。分割する単位はここでは２ｋＢとしているが、特に限定するものではなく、一般的にアクセス装置１２０からのアクセス単位である５１２Ｂを使用しても、またその他の容量であってもよい。
【００１６】
まず、図４，図５を用いてアクセス装置１２０がメモリカード１００Ａからデータを読出す場合について説明する。図４はアクセス装置１２０の動作を示すフローチャート、図５はメモリカード１００Ａの動作を示すフローチャートである。まず最初にメモリカード１００Ａをアクセス装置１２０に接続し電源を投入した状態では、制御回路１１３はＥＣＣ切換えフラグ１１６をＥＣＣオンモードに設定する。これが標準状態である。アクセス装置１２０はメモリカード１００Ａに対して論理アドレスを指定して読出しコマンドを発行する。ここでデータの読出し単位をセクター単位とし、変数ｍとｎをセクター単位の変数とする。セクターは前述した物理ブロックと同一の容量のものであってもよく、又これと異なってもよい。さてステップＳ０１で変数ｍを読出すべきデータの先頭セクターに設定し、変数ｎを０に設定する。次にステップＳ０２でセクターｍのデータをＥＣＣオンモードで読出す。
【００１７】
一方メモリカード１００Ａではアクセス装置１２０から読出しコマンドを受信する（ステップＳ１１）。ホストＩ／Ｆ１１１は制御回路１１３に読出しコマンドであることと、アクセス装置１２０からの論理アドレスの情報を通知する。制御回路１１３はその論理アドレスのデータが書かれたフラッシュメモリ１０２の物理アドレスを決定し、その情報と読出しの実行命令をフラッシュＩ／Ｆ１１２に通知する。フラッシュＩ／Ｆ１１２はフラッシュメモリ１０２に対して読出しコマンドを発行する。こうしてフラッシュメモリ１０２の対象セクターからデータを読出す（ステップＳ１２）。そのうちユーザデータ領域２０１のデータをページバッファ１１４およびＥＣＣ回路１１５に転送する。その後、フラッシュＩ／Ｆ１１２は、管理領域２０２に含まれるＥＣＣ２０３をＥＣＣ回路１１５にのみ転送する。転送が終わった後、制御回路１１３はＥＣＣ回路１１５からエラーに関する情報を得て、エラーの有無を判別する（ステップＳ１３）。エラーが無い場合にはページバッファ１１４のデータをそのままホストＩ／Ｆ１１１を介してアクセス装置１２０へと出力する（ステップＳ１７）。訂正可能な誤りがある場合には、ＥＣＣ回路１１５によってページバッファ１１４の誤りを訂正する（ステップＳ１４，Ｓ１５）。その後ステップＳ１７に進んで、ページバッファ１１４のデータをホストＩ／Ｆ１１１を介してアクセス装置１２０へと出力する。こうしてアクセス装置１２０はメモリカード１００Ａからデータを読出すことができる。
【００１８】
一方、訂正できない誤りが発生している場合には、制御回路１１３はステップＳ１６においてＥＣＣ切換フラグ１１６を判定する。最初はこのフラグがＥＣＣオンとなっているので、データを出力することなく読出し処理を終了し、ページバッファ１１４のデータをアクセス装置１２０へ出力しない。
【００１９】
一方アクセス装置１２０は図４に示す判定ステップＳ０３において、セクターｍのデータに訂正できないＥＣＣエラーが発生したのかどうかを判定する。これは前述のようにメモリカード１００Ａからデータが出力されればエラー無しとし、データが出力されないときにメモリカード１００Ａに対してステータスを問い合わせることによりエラーを判定する。
【００２０】
メモリカード１００Ａの制御回路１１３はホストＩ／Ｆ１１１を介して訂正ができないＥＣＣエラーが発生していたことを伝える。それを受けてアクセス装置１２０はメモリカード１００Ａへ誤り訂正を行わずに出力をするように訂正不使用のコマンドを発行する。そのコマンドを受けて制御回路１１３は、ＥＣＣ切換えフラグ１１６を誤り訂正を行わずにデータを読出すＥＣＣオフモードに設定する。
【００２１】
その状態でアクセス装置１２０は改めて、ステップＳ０４においてエラーが発生して読出せなかったデータを読出すために、読出しコマンドを発行する。メモリカード１００Ａ側ではアクセス装置１２０の読出しコマンドに対して、図５のステップＳ１１〜Ｓ１４の処理を繰り返し、ステップＳ１６でＥＣＣ切換フラグ１１６の判定を行う。このフラグはオフであるので、制御回路１１３はデータ訂正をすることなくページバッファ１１４のデータをホストＩ／Ｆ１１１を介してそのままアクセス装置１２０へと出力する（ステップＳ１７）。これをＥＣＣオフ読出しという。
【００２２】
こうすればエラーの有無にかかわらずにデータが出力される。アクセス装置１２０ではステップＳ０５において直前に読出したデータをイメージファイルＩｍ（ｎ）に格納する。続いてステップＳ０６では直前に処理したセクターが読出すべきデータの最終セクターであるかどうかを判定する。最終セクターであると判定した場合にはファイル取得処理を終了し、最終セクターでないと判定した場合にはステップＳ０７へと遷移する。ステップＳ０７では変数ｍ、ｎをそれぞれインクリメントした後に、ステップＳ０２へと戻って同様の処理を繰り返す。以上の処理を経ることにより、データを完全、または不完全な形で読出すことができ、エラーを含んだセクターを認識することができる。
【００２３】
図６Ａ，図６Ｂ，図６Ｃはこの実施の形態の効果を示す図である。図６Ａはフラッシュメモリに書込まれた誤りのない画像データとする。この画像データの一部のデータがビットエラーで損なわれた場合に、従来のメモリカードではエラーを発生する前までのデータしか読出すことができない。従ってこの画像を表示すると、図６Ｂのようになり、画像が大きく損なわれてしまう。これに対して本実施の形態のように、エラー発生の有無にかかわらずにデータを読出すこととすると、エラーの発生した部分は誤り訂正ができない場合であっても、例えば図６Ｃに番号３００で示すように一部分のみの画像が損なわれるだけで、ほぼ元の画像を再現することができる。又このデータが動画のデータとすると、エラーが発生して誤りが訂正できない場合であっても一瞬の画像の乱れですむだけで、ほぼ元の動画像を再生することができるという効果が得られる。
【００２４】
（実施の形態２）
次に本発明の実施の形態２について説明する。図７は本実施の形態の不揮発性記憶装置の構成を示すブロック図であり、実施の形態１と同一部分は同一符号を付している。この実施の形態ではメモリカード１００Ｂはメモリコントローラ１０１Ｂとフラッシュメモリ１０２から成り立っている。メモリコントローラ１０１Ｂにおいて、ＥＣＣ出力許可フラグ１３１は、誤り訂正符号による誤り訂正をしないでデータを出力することを許可するか許可しないかの切換えを示すフラグとする。制御回路１３２は後述する処理を行うプログラムを保持するものである。本実施の形態２ではＥＣＣ出力許可フラグ１３１をＥＣＣによる誤り訂正を使用しないでもデータの出力を許可することで、メモリカード１００Ｂ内で自動的にＥＣＣ訂正機能が使用できる場合はＥＣＣ訂正を行って出力し、ＥＣＣ訂正ができないときにそのまま出力するものとする。
【００２５】
次に実施の形態２の動作について図８、図９のフローチャートを用いて説明する。アクセス装置のデータ読出処理では図８に示すように、データを読出すためにまずステップＳ２１で変数ｍを読出すべきデータの先頭セクターに設定し、変数ｎを０に設定する。変数ｍとｎはセクター単位の変数である。次にステップＳ２２でセクターｍのデータを読出す。ここでは誤り訂正なしの読出しを許可しているものとする。そしてステップＳ２３ではセクターｍの読出したデータをイメージファイルＩｍ（ｎ）に格納する。ステップＳ２４では直前に処理したセクターが読出すべきデータの最終セクターであるかどうかを判定する。最終セクターであると判定した場合にはデータの読出し処理を終了する。最終セクターで無いと判定した場合には、ステップＳ２５へと遷移し、変数ｍ、ｎをそれぞれインクリメントした後にステップＳ２２に戻る。
【００２６】
一方メモリカード１００Ｂでは、図９に示すようにアクセス装置１２０から読出しコマンドを受信する（ステップＳ３１）。ホストＩ／Ｆ１１１は制御回路１３２に読出しコマンドであることと、アクセス装置１２０からの論理アドレスの情報を通知する。制御回路１３２はその論理アドレスのデータが書かれたフラッシュメモリ１０２の物理アドレスを決定し、その情報と読出しの実行命令をフラッシュＩ／Ｆ１１２に通知する。フラッシュＩ／Ｆ１１２はフラッシュメモリ１０２に対して読出しコマンドを発行する。こうしてフラッシュメモリ１０２の対象セクターからデータを読出す（ステップＳ３２）。そのうちユーザデータ領域２０１のデータをページバッファ１１４およびＥＣＣ回路１１５に転送する。その後、フラッシュＩ／Ｆ１１２は、管理領域２０２に含まれるＥＣＣ２０３をＥＣＣ回路１１５にのみ転送する。転送が終わった後、制御回路１３２はＥＣＣ回路１１５からエラーに関する情報を得て、エラーの有無を判別する（ステップＳ３３）。エラーが無い場合には、ページバッファ１１４のデータをそのままホストＩ／Ｆ１１１を介してアクセス装置１２０へと出力する（ステップＳ３７）。訂正可能な誤りがある場合には、ＥＣＣ回路１１５によってページバッファ１１４の誤りを訂正する（ステップＳ３４，Ｓ３５）。その後ステップＳ３７に進んで、ページバッファ１１４のデータをホストＩ／Ｆ１１１を介してアクセス装置１２０へと出力する。
【００２７】
又ステップＳ３４において、訂正不可の場合にはステップＳ３６に進む。そしてＥＣＣ出力許可フラグ１３１を参照し、訂正なしの出力を許可するかどうかを判別する。訂正なしの出力が許可されている場合には、ステップＳ３７に進んでデータを出力し、訂正なしの出力が許可されていない場合にはデータを読出すことなく終了する。訂正なしの出力を許可しない場合には従来のメモリカードと同様となり、訂正なしの出力を許可する場合には、アクセス装置１２０はメモリカード１００Ｂからデータを完全又は不完全な形で読出すことができる。
【００２８】
本発明の実施の形態における不揮発性記憶システム、不揮発性記憶装置、データ読出方法及び読出プログラムは、同じセクターに対して、誤り訂正を行う通常の読出しモードに加えて、誤り訂正を行わずに読出す特殊な読出しモードの２種類の読出モードを備えることで、強力にデータを読出すことができる。
【産業上の利用可能性】
【００２９】
以上のように、本発明に係わる不揮発性記憶装置のデータ読出方法及び読出プログラムは静止画データや動画データを取り扱うデジタルカメラやデジタルビデオカメラの携帯機器等に用いられる不揮発性装置に適用することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施の形態１における不揮発性記憶装置のブロック図
【図２】本発明の実施の形態１によるアクセス装置の構成を示すブロック図
【図３】本発明の実施の形態１におけるフラッシュメモリのページのデータ構成図
【図４】本発明の実施の形態１におけるアクセス装置のデータ読出しを示すフローチャート
【図５】本発明の実施の形態１におけるメモリカード内のデータ読出しを示すフローチャート
【図６Ａ】フラッシュメモリに書込まれた画像を示す図
【図６Ｂ】そのエラーが生じたときの読出された画像を示す図
【図６Ｃ】実施の形態１におけるデータ読出し後の画像を示す図
【図７】本発明の実施の形態２における不揮発性記憶装置のブロック図
【図８】本発明の実施の形態２におけるアクセス装置のデータ読出しを示すフローチャート
【図９】本発明の実施の形態２におけるメモリカードのデータ読出しを示すフローチャート
【符号の説明】
【００３１】
１００Ａ，１００Ｂ  メモリカード
１０１Ａ．１０１Ｂ  コントローラ
１０２  フラッシュメモリ
１１１  ホストＩ／Ｆ
１１２  フラッシュＩ／Ｆ
１１３，１３２  制御回路
１１４  ページバッファ
１１５  ＥＣＣ回路
１１６  ＥＣＣ切り替えフラグ
１２０  アクセス装置
１３１  ＥＣＣ出力許可フラグ
【図１】
2006285976.tif 000003
【図２】
2006285976.tif 000004
【図３】
2006285976.tif 000005
【図４】
2006285976.tif 000006
【図５】
2006285976.tif 000007
【図６Ａ】
2006285976.tif 000008
【図６Ｂ】
2006285976.tif 000009
【図６Ｃ】
2006285976.tif 000010
【図７】
2006285976.tif 000011
【図８】
2006285976.tif 000012
【図９】
2006285976.tif 000013