JP2006285976A - Nonvolatile storage system, nonvolatile storage device, and data reading method and program - Google Patents
Nonvolatile storage system, nonvolatile storage device, and data reading method and program Download PDFInfo
- Publication number
- JP2006285976A JP2006285976A JP2006062545A JP2006062545A JP2006285976A JP 2006285976 A JP2006285976 A JP 2006285976A JP 2006062545 A JP2006062545 A JP 2006062545A JP 2006062545 A JP2006062545 A JP 2006062545A JP 2006285976 A JP2006285976 A JP 2006285976A
- Authority
- JP
- Japan
- Prior art keywords
- data
- error
- user data
- error correction
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、特に書込まれたファイルがデータ保持不良等のエラーによって損なわれた場合における不揮発性記憶装置からのデータの読出しに特徴を有する不揮発性記憶システム、不揮発性記憶装置、そのデータ読出方法及びデータ読出プログラムに関する。 The present invention relates to a non-volatile storage system, a non-volatile storage device, and a data reading method thereof characterized by reading data from a non-volatile storage device, particularly when a written file is damaged by an error such as data retention failure And a data reading program.
近年、不揮発性メモリを搭載した不揮発性記憶装置は、デジタルカメラや携帯電話のメモリカードとして市場を拡大している。そしてメモリカードの記憶容量の増加に伴い、データファイルや静止画等の小容量の記録からより大容量が必要となる動画記録へとその用途は広がっている。 In recent years, a nonvolatile memory device equipped with a nonvolatile memory has expanded its market as a memory card for a digital camera or a mobile phone. As the storage capacity of the memory card increases, its use has expanded from recording a small capacity such as a data file or still image to recording a moving picture that requires a larger capacity.
しかし、メモリカードの不揮発性メモリとして主に使用されているNANDタイプのフラッシュメモリは、本質的にデータ保持のエラーの可能性を持っている。そのために記録すべきデータに誤り訂正符号(Error correcting code)(以下、ECCともいう)を付加してフラッシュメモリに書込むと共に、読出し時には誤り訂正符号を基にしてデータの訂正を行うことで、データ保持エラーが発生したときのデータの保証を行っている。
しかしながらECCの訂正能力を越えるデータ保持エラーが発生した場合は、データの訂正を行うことができない。メモリカードはエラーが発生したビットだけでなく、その不正と思われるビットを含む管理単位のデータを出力しない。その場合にはそのビットを含む管理単位でデータが失われることになる。そのため不揮発性メモリをデジタルカメラのデータ記録用としていた場合には、ユーザがせっかく撮影した貴重な静止画や動画のデータの一部が大きく損なわれたり、またはデータそのものが失われることになる。しかし実際には、静止画や動画のデータのうち一部のビットでエラーが発生しても、概ね元の静止画像に近いものを得られることも多く、また動画では一瞬の画像の乱れ程度で済むことも多い。そのためデータそのものが失われることに比べると、例えビットエラーが発生しているデータであったとしても、読出すことには大きな意味があると考えられる。 However, if a data retention error exceeding the ECC correction capability occurs, the data cannot be corrected. The memory card does not output the data of the management unit including not only the bit in which the error has occurred but also the bit considered to be illegal. In that case, data is lost in the management unit including the bit. Therefore, when the nonvolatile memory is used for data recording of a digital camera, a part of valuable still image or moving image data photographed by the user is greatly lost, or the data itself is lost. However, in practice, even if an error occurs in some bits of still image or video data, it is often possible to obtain an image that is almost similar to the original still image. Often done. For this reason, it is considered that reading data has a great significance even if it is data in which a bit error has occurred, compared with the loss of data itself.
不揮発性記憶装置のデータ保持ブロックのエラー発生ビット数が、不揮発性記憶装置で対応している誤り訂正能力よりも多い場合にはエラーの発生したビットを含むデータのブロック単位でデータを読出すことができないという課題がある。 When the number of error occurrence bits in the data holding block of the nonvolatile storage device is larger than the error correction capability supported by the nonvolatile storage device, the data is read in block units including the bit in which the error has occurred. There is a problem that cannot be done.
この課題を解決するために、本発明の不揮発性記憶システムは、不揮発性記憶装置と、前記不揮発性記憶装置にアクセスして不揮発性記憶装置のユーザデータを読出すアクセス装置とを有する不揮発性記憶システムであって、前記不揮発性記憶装置は、ユーザデータを書込むユーザデータ領域及び前記ユーザデータ領域に書込まれたデータの誤り訂正を行う誤り訂正符号を記憶する管理領域を有する不揮発性メモリと、前記不揮発性メモリから読出したユーザデータの誤りを前記管理領域の誤り訂正符号を基にして訂正する誤り訂正回路を含み、前記不揮発性メモリよりユーザデータを読出し、誤りがあれば前記誤り訂正回路を用いて誤り訂正を行い、誤りがなければそのまま読出す誤り訂正読出しと、前記不揮発性メモリから読出されたユーザデータをそのまま出力する生データ読出しとを備えたコントローラと、を有するものであり、前記アクセス装置は、前記不揮発性記憶装置から、前記誤り訂正読出しを使用したユーザデータの読出しと、前記生データ読出しを組み合わせてユーザデータを読出すものである。 In order to solve this problem, a nonvolatile storage system according to the present invention includes a nonvolatile storage device and an access device that accesses the nonvolatile storage device and reads user data of the nonvolatile storage device. The nonvolatile storage device is a nonvolatile memory having a user data area for writing user data and a management area for storing an error correction code for performing error correction of data written in the user data area; An error correction circuit that corrects an error of user data read from the nonvolatile memory based on an error correction code of the management area, reads the user data from the nonvolatile memory, and if there is an error, the error correction circuit Is used to perform error correction, and if there is no error, the error correction read is read as it is, and the user is read from the nonvolatile memory. A controller having raw data reading for outputting the data as it is, and the access device reads user data from the nonvolatile storage device using the error correction reading and the raw data reading. Is used to read user data.
この課題を解決するために、本発明の不揮発性記憶装置は、ユーザデータを書込むユーザデータ領域及び前記ユーザデータ領域に書込まれたデータの誤り訂正を行う誤り訂正符号を記憶する管理領域を有する不揮発性メモリと、前記不揮発性メモリから読出したユーザデータの誤りを前記誤り訂正符号を基にして訂正する誤り訂正回路を含むコントローラと、を有する不揮発性記憶装置であって、前記コントローラは、誤りがない場合にはユーザデータ領域のデータをそのまま出力し、訂正可能な誤りである場合にはユーザデータ領域のデータの誤りを訂正して出力し、訂正不可能な誤りがある場合にはデータの出力を行わない通常読出しモードと、誤りがない場合にはユーザデータ領域のデータをそのまま出力し、訂正可能な誤りである場合にはユーザデータ領域のデータの誤りを訂正して出力し、訂正不可能な誤りがある場合にはユーザデータ領域のデータをそのまま出力する特殊読出しモードとを備えたものである。 In order to solve this problem, a nonvolatile storage device of the present invention includes a user data area in which user data is written and a management area in which an error correction code for performing error correction of data written in the user data area is stored. A non-volatile memory device, and a controller including an error correction circuit that corrects an error of user data read from the non-volatile memory based on the error correction code. If there is no error, the data in the user data area is output as is. If the error is correctable, the error in the data in the user data area is corrected and output. If there is an error that cannot be corrected, the data is output. If there is no error, the normal read mode will not output the data in the user data area and the error will be correctable. The outputs correct data errors in the user data area, if there is an uncorrectable error is obtained by a special read mode is output as the data of the user data area.
この課題を解決するために、本発明のデータ読出方法は、ユーザデータを書込むユーザデータ領域及び前記ユーザデータ領域に書込まれたデータの誤り訂正を行う誤り訂正符号を記憶する管理領域を有する不揮発性メモリと、前記不揮発性メモリから読出したユーザデータの誤りを前記管理領域の誤り訂正符号を基にして訂正する誤り訂正回路を含むコントローラと、を含む不揮発性記憶装置からユーザデータを読出すデータ読出し方法であって、前記不揮発性メモリよりユーザデータを読出し、不揮発性メモリより読出されたユーザデータの誤りの有無を判別し、ユーザデータに誤りがなければそのまま出力し、誤りがあれば前記誤り訂正回路を用いて誤り訂正を行って出力し、前記誤り訂正回路を用いて誤りが訂正できない場合に前記不揮発性メモリから読出されたユーザデータをそのまま出力するものである。 In order to solve this problem, the data reading method of the present invention has a user data area for writing user data and a management area for storing an error correction code for performing error correction of data written in the user data area. User data is read from a non-volatile storage device including a non-volatile memory and a controller including an error correction circuit that corrects an error of user data read from the non-volatile memory based on an error correction code in the management area A method for reading data, wherein user data is read from the non-volatile memory, whether there is an error in the user data read from the non-volatile memory, output if there is no error in the user data, and output if there is an error If the error correction circuit is used to perform error correction and output, and the error correction circuit cannot be used to correct the error, The user data read from the nonvolatile memory and outputs it.
この課題を解決するために、本発明のデータ読出しプログラムは、ユーザデータを書込むユーザデータ領域及び前記ユーザデータ領域に書込まれたデータの誤り訂正を行う誤り訂正符号を記憶する管理領域を有する不揮発性メモリと、前記不揮発性メモリから読出したユーザデータの誤りを前記管理領域の誤り訂正符号を基にして訂正する誤り訂正回路を含むコントローラと、を含む不揮発性記憶装置からユーザデータを読出すデータ読出しプログラムであって、前記コントローラが前記誤り訂正回路を使用して前記不揮発性メモリから読出したユーザデータの誤りを訂正して前記揮発性記憶装置外部に出力する通常読出しを用いてユーザデータを読出し、前記誤り訂正回路では訂正できない誤りが前記不揮発性メモリに発生し、前記通常読出しでは読出せないと判断した場合に、前記コントローラが前記誤り訂正回路を使用せず前記不揮発性メモリから読出したユーザデータをそのまま前記揮発性記憶装置外部に出力するECCオフ読出しを用いてユーザデータを読出すものである。 In order to solve this problem, a data reading program of the present invention has a user data area for writing user data and a management area for storing an error correction code for performing error correction of data written in the user data area. User data is read from a non-volatile storage device including a non-volatile memory and a controller including an error correction circuit that corrects an error of user data read from the non-volatile memory based on an error correction code in the management area A data read program, wherein the controller corrects user data read from the non-volatile memory using the error correction circuit and outputs the user data using normal read output to the outside of the volatile storage device. An error that cannot be corrected by the error correction circuit occurs in the nonvolatile memory, and the normal reading If it is determined that the data cannot be read, the controller uses the ECC off read to output the user data read from the nonvolatile memory as it is to the outside of the volatile storage device without using the error correction circuit. Is read out.
この課題を解決するために、本発明のデータ読出しプログラムは、ユーザデータを書込むユーザデータ領域及び前記ユーザデータ領域に書込まれたデータの誤り訂正を行う誤り訂正符号を記憶する管理領域を有する不揮発性メモリと、前記不揮発性メモリから読出したユーザデータの誤りを前記管理領域の誤り訂正符号を基にして訂正する誤り訂正回路を含むコントローラと、を含む不揮発性記憶装置からユーザデータを読出すデータ読出しプログラムであって、前記不揮発性記憶装置に対して、訂正できる誤りの場合には前記不揮発性メモリから読出したユーザデータを訂正して出力し、誤りができないときには前記不揮発性メモリから読出される生データを出力する特殊読出しによって、ユーザデータを読出すものである。 In order to solve this problem, a data reading program of the present invention has a user data area for writing user data and a management area for storing an error correction code for performing error correction of data written in the user data area. User data is read from a non-volatile storage device including a non-volatile memory and a controller including an error correction circuit that corrects an error of user data read from the non-volatile memory based on an error correction code of the management area A data reading program that corrects and outputs user data read from the non-volatile memory when an error that can be corrected is output to the non-volatile storage device, and is read from the non-volatile memory when an error is not possible. User data is read out by special reading that outputs raw data.
本発明の不揮発性記憶システム、不揮発性記憶装置とそのデータ読出方法及びデータ読出プログラムによれば、たとえ不揮発性記憶装置に搭載されている誤り訂正能力以上の誤りが不揮発性記憶装置内部において発生していて、誤りを訂正してデータを読出せない状態であっても、誤り訂正を使用しない読出しを行うことにより、不揮発性記憶装置のデータを読出すことができ、その結果、データを完全、または不完全な形で読出すことができる。 According to the nonvolatile memory system, the nonvolatile memory device, the data reading method thereof, and the data reading program of the present invention, an error exceeding the error correction capability installed in the nonvolatile memory device occurs in the nonvolatile memory device. Even in a state where the data cannot be read after correcting the error, the data in the nonvolatile memory device can be read by performing the read without using the error correction. Or it can be read incompletely.
本発明の実施の形態1について図面を用いて説明する。図1は本発明の実施の形態1における不揮発性記憶装置、図2はアクセス装置の一例を示すブロック図である。図1において、メモリカード100Aは不揮発性記憶装置であり、アクセス装置120よりメモリカード100Aに対してデータの書込み及び読出しを行う。このメモリカード100Aとアクセス装置120とによって不揮発性記憶システムが構成される。メモリカード100Aはコントローラ101Aと、不揮発性メモリであるフラッシュメモリ102を含んで構成されている。コントローラ101Aにおいて、ホストI/F111はアクセス装置120とコントローラ101Aとのインターフェースであり、フラッシュI/F112はフラッシュメモリ102とコントローラ101Aとのインターフェースである。制御回路113はコントローラ101A内部の各ブロックを制御してアクセス装置120からの書込みデータをフラッシュメモリ102に書込んだり、フラッシュメモリ102のデータをアクセス装置120に読出す制御を行うものである。ページバッファ114はアクセス装置120から転送され、フラッシュメモリ102に書込まれるデータ、又はフラッシュメモリより読出されたデータを一時的に記憶するバッファである。ここではページバッファ114の容量は2kB(バイト)とする。またECC回路115は、アクセス装置120からフラッシュメモリ102にデータを書込むときには書込みデータを基にして演算した誤り訂正符号を付加し、フラッシュメモリ102からアクセス装置120にデータを読出すときには一時的にページバッファ114に読出したデータに対してECCを用いて誤り訂正を行う誤り訂正回路である。ECC切換えフラグ116は誤り訂正を行ってデータを読出すECCオンモードと、ECC訂正を行わないでデータを読出すECCオフモードとを切換える情報を保持するフラグである。
次にアクセス装置120について、図2を用いて説明する。アクセス装置120は全体を制御するCPU121、入力装置122、表示装置123、記憶装置124及びメモリカードI/F125を有している。メモリカードI/F125はコマンド制御部126、書込み制御部127、読出し制御部128を有し、メモリカードのインターフェースを制御するものである。例えばこのアクセス装置120がデジタルカメラの場合には、シャッターやユーザが操作可能なボタン及び画像データを入力するためのCCDが入力装置122となり、液晶パネルが表示装置123となる。コマンド制御部126はメモリカード100Aに対してコマンドを発行するものであり、書込み制御部127、読出し制御部128は夫々メモリカードにデータを書込み、及びデータを読出す際の制御部として用いられる。
Next, the
アクセス装置120がメモリカード100Aからデータを読出す際には、CPU121に搭載されたデータ読出しプログラムに基づいて、コマンド制御部126と読出し制御部128を使用してメモリカードからデータを読出す。アクセス装置120がメモリカード100にデータを書込む際には、CPU121に搭載されたデータ書込みプログラムに基づいて、コマンド制御部126と書込み制御部127を使用してメモリカードにデータを書込む。
When the
フラッシュメモリ102はユーザデータを保持する不揮発性のメモリであり、消去単位である多数の物理ブロックから成る。各物理ブロックは複数のページから成り立っている。図3はフラッシュメモリ102の書込み、読出しの単位であるページ単位のデータの構成を示す図である。各ページは2kB(バイト)の容量を持つユーザデータ領域201と、64Bの容量を持つ管理領域202とからなっている。ユーザデータ領域201はアクセス装置120から送られてきたユーザデータをそのまま書込む領域である。管理領域202はユーザデータの管理情報を書込む領域であり、ユーザデータに対して誤り訂正をするためのECC203を含む。ユーザデータはユーザデータ領域(2kB)単位で分割してフラッシュメモリ102に書込む。分割する単位はここでは2kBとしているが、特に限定するものではなく、一般的にアクセス装置120からのアクセス単位である512Bを使用しても、またその他の容量であってもよい。
The
まず、図4,図5を用いてアクセス装置120がメモリカード100Aからデータを読出す場合について説明する。図4はアクセス装置120の動作を示すフローチャート、図5はメモリカード100Aの動作を示すフローチャートである。まず最初にメモリカード100Aをアクセス装置120に接続し電源を投入した状態では、制御回路113はECC切換えフラグ116をECCオンモードに設定する。これが標準状態である。アクセス装置120はメモリカード100Aに対して論理アドレスを指定して読出しコマンドを発行する。ここでデータの読出し単位をセクター単位とし、変数mとnをセクター単位の変数とする。セクターは前述した物理ブロックと同一の容量のものであってもよく、又これと異なってもよい。さてステップS01で変数mを読出すべきデータの先頭セクターに設定し、変数nを0に設定する。次にステップS02でセクターmのデータをECCオンモードで読出す。
First, the case where the
一方メモリカード100Aではアクセス装置120から読出しコマンドを受信する(ステップS11)。ホストI/F111は制御回路113に読出しコマンドであることと、アクセス装置120からの論理アドレスの情報を通知する。制御回路113はその論理アドレスのデータが書かれたフラッシュメモリ102の物理アドレスを決定し、その情報と読出しの実行命令をフラッシュI/F112に通知する。フラッシュI/F112はフラッシュメモリ102に対して読出しコマンドを発行する。こうしてフラッシュメモリ102の対象セクターからデータを読出す(ステップS12)。そのうちユーザデータ領域201のデータをページバッファ114およびECC回路115に転送する。その後、フラッシュI/F112は、管理領域202に含まれるECC203をECC回路115にのみ転送する。転送が終わった後、制御回路113はECC回路115からエラーに関する情報を得て、エラーの有無を判別する(ステップS13)。エラーが無い場合にはページバッファ114のデータをそのままホストI/F111を介してアクセス装置120へと出力する(ステップS17)。訂正可能な誤りがある場合には、ECC回路115によってページバッファ114の誤りを訂正する(ステップS14,S15)。その後ステップS17に進んで、ページバッファ114のデータをホストI/F111を介してアクセス装置120へと出力する。こうしてアクセス装置120はメモリカード100Aからデータを読出すことができる。
On the other hand, the
一方、訂正できない誤りが発生している場合には、制御回路113はステップS16においてECC切換フラグ116を判定する。最初はこのフラグがECCオンとなっているので、データを出力することなく読出し処理を終了し、ページバッファ114のデータをアクセス装置120へ出力しない。
On the other hand, if an error that cannot be corrected has occurred, the
一方アクセス装置120は図4に示す判定ステップS03において、セクターmのデータに訂正できないECCエラーが発生したのかどうかを判定する。これは前述のようにメモリカード100Aからデータが出力されればエラー無しとし、データが出力されないときにメモリカード100Aに対してステータスを問い合わせることによりエラーを判定する。
On the other hand, the
メモリカード100Aの制御回路113はホストI/F111を介して訂正ができないECCエラーが発生していたことを伝える。それを受けてアクセス装置120はメモリカード100Aへ誤り訂正を行わずに出力をするように訂正不使用のコマンドを発行する。そのコマンドを受けて制御回路113は、ECC切換えフラグ116を誤り訂正を行わずにデータを読出すECCオフモードに設定する。
The
その状態でアクセス装置120は改めて、ステップS04においてエラーが発生して読出せなかったデータを読出すために、読出しコマンドを発行する。メモリカード100A側ではアクセス装置120の読出しコマンドに対して、図5のステップS11〜S14の処理を繰り返し、ステップS16でECC切換フラグ116の判定を行う。このフラグはオフであるので、制御回路113はデータ訂正をすることなくページバッファ114のデータをホストI/F111を介してそのままアクセス装置120へと出力する(ステップS17)。これをECCオフ読出しという。
In this state, the
こうすればエラーの有無にかかわらずにデータが出力される。アクセス装置120ではステップS05において直前に読出したデータをイメージファイルIm(n)に格納する。続いてステップS06では直前に処理したセクターが読出すべきデータの最終セクターであるかどうかを判定する。最終セクターであると判定した場合にはファイル取得処理を終了し、最終セクターでないと判定した場合にはステップS07へと遷移する。ステップS07では変数m、nをそれぞれインクリメントした後に、ステップS02へと戻って同様の処理を繰り返す。以上の処理を経ることにより、データを完全、または不完全な形で読出すことができ、エラーを含んだセクターを認識することができる。
In this way, data is output regardless of whether there is an error. In the
図6A,図6B,図6Cはこの実施の形態の効果を示す図である。図6Aはフラッシュメモリに書込まれた誤りのない画像データとする。この画像データの一部のデータがビットエラーで損なわれた場合に、従来のメモリカードではエラーを発生する前までのデータしか読出すことができない。従ってこの画像を表示すると、図6Bのようになり、画像が大きく損なわれてしまう。これに対して本実施の形態のように、エラー発生の有無にかかわらずにデータを読出すこととすると、エラーの発生した部分は誤り訂正ができない場合であっても、例えば図6Cに番号300で示すように一部分のみの画像が損なわれるだけで、ほぼ元の画像を再現することができる。又このデータが動画のデータとすると、エラーが発生して誤りが訂正できない場合であっても一瞬の画像の乱れですむだけで、ほぼ元の動画像を再生することができるという効果が得られる。
6A, 6B, and 6C are diagrams showing the effect of this embodiment. FIG. 6A is assumed to be error-free image data written in the flash memory. When a part of the image data is lost due to a bit error, the conventional memory card can read only the data before the occurrence of the error. Therefore, when this image is displayed, the image is as shown in FIG. 6B, and the image is greatly damaged. On the other hand, when data is read regardless of whether or not an error has occurred as in the present embodiment, even if error correction cannot be performed on the portion where the error has occurred, for example, the
(実施の形態2)
次に本発明の実施の形態2について説明する。図7は本実施の形態の不揮発性記憶装置の構成を示すブロック図であり、実施の形態1と同一部分は同一符号を付している。この実施の形態ではメモリカード100Bはメモリコントローラ101Bとフラッシュメモリ102から成り立っている。メモリコントローラ101Bにおいて、ECC出力許可フラグ131は、誤り訂正符号による誤り訂正をしないでデータを出力することを許可するか許可しないかの切換えを示すフラグとする。制御回路132は後述する処理を行うプログラムを保持するものである。本実施の形態2ではECC出力許可フラグ131をECCによる誤り訂正を使用しないでもデータの出力を許可することで、メモリカード100B内で自動的にECC訂正機能が使用できる場合はECC訂正を行って出力し、ECC訂正ができないときにそのまま出力するものとする。
(Embodiment 2)
Next, a second embodiment of the present invention will be described. FIG. 7 is a block diagram showing a configuration of the nonvolatile memory device according to the present embodiment, and the same portions as those in the first embodiment are denoted by the same reference numerals. In this embodiment, the
次に実施の形態2の動作について図8、図9のフローチャートを用いて説明する。アクセス装置のデータ読出処理では図8に示すように、データを読出すためにまずステップS21で変数mを読出すべきデータの先頭セクターに設定し、変数nを0に設定する。変数mとnはセクター単位の変数である。次にステップS22でセクターmのデータを読出す。ここでは誤り訂正なしの読出しを許可しているものとする。そしてステップS23ではセクターmの読出したデータをイメージファイルIm(n)に格納する。ステップS24では直前に処理したセクターが読出すべきデータの最終セクターであるかどうかを判定する。最終セクターであると判定した場合にはデータの読出し処理を終了する。最終セクターで無いと判定した場合には、ステップS25へと遷移し、変数m、nをそれぞれインクリメントした後にステップS22に戻る。 Next, the operation of the second embodiment will be described with reference to the flowcharts of FIGS. In the data reading process of the access device, as shown in FIG. 8, in order to read data, first, in step S21, the variable m is set to the head sector of the data to be read, and the variable n is set to zero. Variables m and n are sector unit variables. In step S22, the data of sector m is read out. Here, it is assumed that reading without error correction is permitted. In step S23, the data read from the sector m is stored in the image file Im (n). In step S24, it is determined whether the sector processed immediately before is the last sector of the data to be read. If it is determined that the sector is the last sector, the data reading process is terminated. If it is determined that the sector is not the last sector, the process proceeds to step S25, and after the variables m and n are incremented, the process returns to step S22.
一方メモリカード100Bでは、図9に示すようにアクセス装置120から読出しコマンドを受信する(ステップS31)。ホストI/F111は制御回路132に読出しコマンドであることと、アクセス装置120からの論理アドレスの情報を通知する。制御回路132はその論理アドレスのデータが書かれたフラッシュメモリ102の物理アドレスを決定し、その情報と読出しの実行命令をフラッシュI/F112に通知する。フラッシュI/F112はフラッシュメモリ102に対して読出しコマンドを発行する。こうしてフラッシュメモリ102の対象セクターからデータを読出す(ステップS32)。そのうちユーザデータ領域201のデータをページバッファ114およびECC回路115に転送する。その後、フラッシュI/F112は、管理領域202に含まれるECC203をECC回路115にのみ転送する。転送が終わった後、制御回路132はECC回路115からエラーに関する情報を得て、エラーの有無を判別する(ステップS33)。エラーが無い場合には、ページバッファ114のデータをそのままホストI/F111を介してアクセス装置120へと出力する(ステップS37)。訂正可能な誤りがある場合には、ECC回路115によってページバッファ114の誤りを訂正する(ステップS34,S35)。その後ステップS37に進んで、ページバッファ114のデータをホストI/F111を介してアクセス装置120へと出力する。
On the other hand, the
又ステップS34において、訂正不可の場合にはステップS36に進む。そしてECC出力許可フラグ131を参照し、訂正なしの出力を許可するかどうかを判別する。訂正なしの出力が許可されている場合には、ステップS37に進んでデータを出力し、訂正なしの出力が許可されていない場合にはデータを読出すことなく終了する。訂正なしの出力を許可しない場合には従来のメモリカードと同様となり、訂正なしの出力を許可する場合には、アクセス装置120はメモリカード100Bからデータを完全又は不完全な形で読出すことができる。
If correction is not possible in step S34, the process proceeds to step S36. Then, with reference to the ECC
本発明の実施の形態における不揮発性記憶システム、不揮発性記憶装置、データ読出方法及び読出プログラムは、同じセクターに対して、誤り訂正を行う通常の読出しモードに加えて、誤り訂正を行わずに読出す特殊な読出しモードの2種類の読出モードを備えることで、強力にデータを読出すことができる。 The nonvolatile storage system, nonvolatile storage device, data read method, and read program according to the embodiment of the present invention read the same sector without performing error correction in addition to the normal read mode for performing error correction. By providing two types of read modes, a special read mode, data can be read out powerfully.
以上のように、本発明に係わる不揮発性記憶装置のデータ読出方法及び読出プログラムは静止画データや動画データを取り扱うデジタルカメラやデジタルビデオカメラの携帯機器等に用いられる不揮発性装置に適用することができる。 As described above, the data reading method and the reading program of the nonvolatile memory device according to the present invention can be applied to a nonvolatile device used in a digital camera or a digital video camera portable device that handles still image data or moving image data. it can.
100A,100B メモリカード
101A.101B コントローラ
102 フラッシュメモリ
111 ホストI/F
112 フラッシュI/F
113,132 制御回路
114 ページバッファ
115 ECC回路
116 ECC切り替えフラグ
120 アクセス装置
131 ECC出力許可フラグ
100A,
112 Flash I / F
113, 132 Control circuit 114
Claims (12)
前記不揮発性記憶装置は、
ユーザデータを書込むユーザデータ領域及び前記ユーザデータ領域に書込まれたデータの誤り訂正を行う誤り訂正符号を記憶する管理領域を有する不揮発性メモリと、
前記不揮発性メモリから読出したユーザデータの誤りを前記管理領域の誤り訂正符号を基にして訂正する誤り訂正回路を含み、前記不揮発性メモリよりユーザデータを読出し、誤りがあれば前記誤り訂正回路を用いて誤り訂正を行い、誤りがなければそのまま読出す誤り訂正読出しと、前記不揮発性メモリから読出されたユーザデータをそのまま出力する生データ読出しとを備えたコントローラと、を有するものであり、
前記アクセス装置は、
前記不揮発性記憶装置から、前記誤り訂正読出しを使用したユーザデータの読出しと、前記生データ読出しを組み合わせてユーザデータを読出す不揮発性記憶システム。 A nonvolatile storage system comprising: a nonvolatile storage device; and an access device that accesses the nonvolatile storage device and reads user data of the nonvolatile storage device,
The nonvolatile memory device is
A non-volatile memory having a user data area for writing user data and a management area for storing an error correction code for performing error correction of data written in the user data area;
An error correction circuit that corrects an error in user data read from the nonvolatile memory based on an error correction code in the management area; reads the user data from the nonvolatile memory; And a controller having an error correction read that reads as it is if there is no error and a raw data read that outputs user data read from the nonvolatile memory as it is,
The access device is:
A non-volatile storage system that reads user data from the non-volatile storage device by combining the reading of user data using the error correction reading and the raw data reading.
前記不揮発性記憶装置に指示することにより前記誤り訂正読出しを使用し、前記誤り訂正ができないときに生データの読出しに切換えてユーザデータを読出す請求項1記載の不揮発性記憶システム。 The access device is:
2. The nonvolatile storage system according to claim 1, wherein the error correction reading is used by instructing the nonvolatile storage device, and the user data is read by switching to raw data reading when the error correction cannot be performed.
前記誤り訂正読出しを使用したユーザデータの読出しにおいて、前記不揮発性記憶装置からデータが出力されないことで、前記誤り訂正回路で誤り訂正ができない誤りが発生していることを判断する請求項1記載の不揮発性記憶システム。 The access device is:
The user data is read using the error correction reading, and it is determined that an error that cannot be corrected by the error correction circuit is generated because no data is output from the nonvolatile storage device. Non-volatile storage system.
誤り訂正符号を用いた訂正を行うかどうかを識別するフラグを有し、前記フラグによって前記誤り訂正読出しと、前記生データ読出しとを切換える請求項2記載の不揮発性記憶システム。 The controller is
3. The nonvolatile storage system according to claim 2, further comprising a flag for identifying whether or not correction using an error correction code is performed, and switching between the error correction reading and the raw data reading by the flag.
前記不揮発性メモリから読出したユーザデータの誤りを前記誤り訂正符号を基にして訂正する誤り訂正回路を含むコントローラと、を有する不揮発性記憶装置であって、
前記コントローラは、
誤りがない場合にはユーザデータ領域のデータをそのまま出力し、訂正可能な誤りである場合にはユーザデータ領域のデータの誤りを訂正して出力し、訂正不可能な誤りがある場合にはデータの出力を行わない通常読出しモードと、
誤りがない場合にはユーザデータ領域のデータをそのまま出力し、訂正可能な誤りである場合にはユーザデータ領域のデータの誤りを訂正して出力し、訂正不可能な誤りがある場合にはユーザデータ領域のデータをそのまま出力する特殊読出しモードとを備えた不揮発性記憶装置。 A non-volatile memory having a user data area for writing user data and a management area for storing an error correction code for performing error correction of data written in the user data area;
A non-volatile storage device comprising: a controller including an error correction circuit that corrects an error of user data read from the non-volatile memory based on the error correction code,
The controller is
If there is no error, the data in the user data area is output as is. If the error is correctable, the error in the data in the user data area is corrected and output. If there is an error that cannot be corrected, the data is output. Normal read mode that does not output
If there is no error, the data in the user data area is output as it is. If the error is correctable, the error in the data in the user data area is corrected and output. If there is an uncorrectable error, the user is output. A non-volatile storage device having a special read mode for outputting data in a data area as it is.
誤り訂正を用いずにデータの出力が許されるかどうかを識別するフラグを有し、前記フラグの値によって前記コントローラが前記通常読出しモードと、前記特殊読出しモードとの切換えを行う請求項5記載の不揮発性記憶装置。 The controller is
6. A flag for identifying whether or not data output is permitted without using error correction, and the controller switches between the normal read mode and the special read mode according to a value of the flag. Non-volatile storage device.
前記不揮発性メモリから読出したユーザデータの誤りを前記管理領域の誤り訂正符号を基にして訂正する誤り訂正回路を含むコントローラと、を含む不揮発性記憶装置からユーザデータを読出すデータ読出し方法であって、
前記不揮発性メモリよりユーザデータを読出し、
不揮発性メモリより読出されたユーザデータの誤りの有無を判別し、
ユーザデータに誤りがなければそのまま出力し、
誤りがあれば前記誤り訂正回路を用いて誤り訂正を行って出力し、
前記誤り訂正回路を用いて誤りが訂正できない場合に前記不揮発性メモリから読出されたユーザデータをそのまま出力するデータ読出方法。 A non-volatile memory having a user data area for writing user data and a management area for storing an error correction code for performing error correction of data written in the user data area;
And a controller including an error correction circuit that corrects an error of user data read from the non-volatile memory based on an error correction code of the management area. And
Read user data from the non-volatile memory,
Determine whether there is an error in the user data read from the non-volatile memory,
If there is no error in the user data, it is output as is,
If there is an error, perform error correction using the error correction circuit and output,
A data reading method for outputting user data read from the nonvolatile memory as it is when an error cannot be corrected by using the error correction circuit.
前記不揮発性メモリから読出したユーザデータの誤りを前記管理領域の誤り訂正符号を基にして訂正する誤り訂正回路を含むコントローラと、を含む不揮発性記憶装置からユーザデータを読出すデータ読出しプログラムであって、
前記コントローラが前記誤り訂正回路を使用して前記不揮発性メモリから読出したユーザデータの誤りを訂正して前記揮発性記憶装置外部に出力する通常読出しを用いてユーザデータを読出し、
前記誤り訂正回路では訂正できない誤りが前記不揮発性メモリに発生し、前記通常読出しでは読出せないと判断した場合に、前記コントローラが前記誤り訂正回路を使用せず前記不揮発性メモリから読出したユーザデータをそのまま前記揮発性記憶装置外部に出力するECCオフ読出しを用いてユーザデータを読出すデータ読出しプログラム。 A non-volatile memory having a user data area for writing user data and a management area for storing an error correction code for performing error correction of data written in the user data area;
And a controller including an error correction circuit that corrects an error in user data read from the nonvolatile memory based on an error correction code of the management area. And
The controller corrects user data read from the non-volatile memory using the error correction circuit and reads out the user data using normal reading output to the outside of the volatile storage device,
User data read from the nonvolatile memory by the controller without using the error correction circuit when an error that cannot be corrected by the error correction circuit occurs in the nonvolatile memory and cannot be read by the normal reading. A data read program for reading user data using ECC off read which outputs the data as it is to the outside of the volatile storage device.
前記不揮発性メモリから読出したユーザデータの誤りを前記管理領域の誤り訂正符号を基にして訂正する誤り訂正回路を含むコントローラと、を含む不揮発性記憶装置からユーザデータを読出すデータ読出しプログラムであって、
前記不揮発性記憶装置に対して、訂正できる誤りの場合には前記不揮発性メモリから読出したユーザデータを訂正して出力し、誤りができないときには前記不揮発性メモリから読出される生データを出力する特殊読出しによって、ユーザデータを読出すデータ読出しプログラム。 A non-volatile memory having a user data area for writing user data and a management area for storing an error correction code for performing error correction of data written in the user data area;
And a controller including an error correction circuit that corrects an error in user data read from the nonvolatile memory based on an error correction code of the management area. And
A special data output to the non-volatile storage device if the error can be corrected by correcting the user data read from the non-volatile memory and outputting the raw data read from the non-volatile memory if no error is possible. A data read program for reading user data by reading.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006062545A JP2006285976A (en) | 2005-03-10 | 2006-03-08 | Nonvolatile storage system, nonvolatile storage device, and data reading method and program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005067251 | 2005-03-10 | ||
JP2006062545A JP2006285976A (en) | 2005-03-10 | 2006-03-08 | Nonvolatile storage system, nonvolatile storage device, and data reading method and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006285976A true JP2006285976A (en) | 2006-10-19 |
Family
ID=37407777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006062545A Pending JP2006285976A (en) | 2005-03-10 | 2006-03-08 | Nonvolatile storage system, nonvolatile storage device, and data reading method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006285976A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009217754A (en) * | 2008-03-12 | 2009-09-24 | Toshiba Corp | Memory system |
US8276043B2 (en) | 2008-03-01 | 2012-09-25 | Kabushiki Kaisha Toshiba | Memory system |
CN111124739A (en) * | 2018-10-31 | 2020-05-08 | Em微电子-马林有限公司 | Anti-tearing protection system for non-volatile memory |
US10812111B2 (en) | 2018-03-19 | 2020-10-20 | Kabushiki Kaisha Toshiba | Semiconductor apparatus |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06243240A (en) * | 1993-02-18 | 1994-09-02 | Canon Inc | Image processor |
JP2004240820A (en) * | 2003-02-07 | 2004-08-26 | Renesas Technology Corp | Storage device |
JP2004240556A (en) * | 2003-02-04 | 2004-08-26 | Canon Inc | Printing device |
-
2006
- 2006-03-08 JP JP2006062545A patent/JP2006285976A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06243240A (en) * | 1993-02-18 | 1994-09-02 | Canon Inc | Image processor |
JP2004240556A (en) * | 2003-02-04 | 2004-08-26 | Canon Inc | Printing device |
JP2004240820A (en) * | 2003-02-07 | 2004-08-26 | Renesas Technology Corp | Storage device |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8276043B2 (en) | 2008-03-01 | 2012-09-25 | Kabushiki Kaisha Toshiba | Memory system |
US8751901B2 (en) | 2008-03-01 | 2014-06-10 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory system configured to control data transfer |
US9176816B2 (en) | 2008-03-01 | 2015-11-03 | Kabushiki Kaisha Toshiba | Memory system configured to control data transfer |
JP2009217754A (en) * | 2008-03-12 | 2009-09-24 | Toshiba Corp | Memory system |
JP4703673B2 (en) * | 2008-03-12 | 2011-06-15 | 株式会社東芝 | Memory system |
US10812111B2 (en) | 2018-03-19 | 2020-10-20 | Kabushiki Kaisha Toshiba | Semiconductor apparatus |
CN111124739A (en) * | 2018-10-31 | 2020-05-08 | Em微电子-马林有限公司 | Anti-tearing protection system for non-volatile memory |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7424648B2 (en) | Nonvolatile memory system, nonvolatile memory device, data read method, and data read program | |
JP4722839B2 (en) | MEMORY CONTROL CIRCUIT, NONVOLATILE MEMORY DEVICE, AND MEMORY CONTROL METHOD | |
JP5492679B2 (en) | Storage device and memory controller | |
US20110055625A1 (en) | Nonvolatile memory device and memory controller | |
JP4908083B2 (en) | Memory controller | |
JPWO2007000862A1 (en) | MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE, NONVOLATILE MEMORY SYSTEM, AND DATA WRITE METHOD | |
JP4866107B2 (en) | Nonvolatile memory device and write determination method thereof | |
JP5592478B2 (en) | Nonvolatile storage device and memory controller | |
JP2006195565A (en) | Control method for semiconductor storage device, memory card, and host apparatus | |
US8151136B2 (en) | Method and device for correcting code data error | |
JP2006285976A (en) | Nonvolatile storage system, nonvolatile storage device, and data reading method and program | |
JP2007094639A (en) | Memory controller and flash memory system | |
JP2008225672A (en) | Semiconductor memory device | |
JP4534336B2 (en) | Data management method in memory device | |
JP2005078378A (en) | Data storage device and data writing method in non-volatile memory | |
JP4655034B2 (en) | Memory controller, flash memory system, and flash memory control method | |
EP2063428A2 (en) | Content data recording apparatus and method | |
TWI655537B (en) | System code management device and management method thereof | |
JP2006244017A (en) | Data copy method | |
KR100743253B1 (en) | Method and apparatus for correcting code data error | |
JP4235624B2 (en) | Memory controller, flash memory system, and flash memory control method | |
JP4157884B2 (en) | Recording / playback device | |
JP2006260158A (en) | Information processing apparatus, information processing method and program | |
JP2007304920A (en) | Flash memory control method | |
US10705915B2 (en) | Embedded system, photographing device and refresh method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111213 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120321 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120710 |