JP2005242903A - メモリ装置、メモリ制御方法、及びメモリ制御装置 - Google Patents

メモリ装置、メモリ制御方法、及びメモリ制御装置 Download PDF

Info

Publication number
JP2005242903A
JP2005242903A JP2004054830A JP2004054830A JP2005242903A JP 2005242903 A JP2005242903 A JP 2005242903A JP 2004054830 A JP2004054830 A JP 2004054830A JP 2004054830 A JP2004054830 A JP 2004054830A JP 2005242903 A JP2005242903 A JP 2005242903A
Authority
JP
Japan
Prior art keywords
data
spare
block
read
main
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.)
Abandoned
Application number
JP2004054830A
Other languages
English (en)
Inventor
Kensuke Hatsukawa
健介 初川
Takahiro Fukushige
貴広 福重
Kenichi Satori
謙一 佐鳥
Kenichi Nakanishi
健一 中西
Hideaki Bando
秀明 坂東
Junko Sasaki
淳子 佐々木
Kunihiro Miura
邦博 三浦
Toshinori Nakamura
俊紀 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004054830A priority Critical patent/JP2005242903A/ja
Publication of JP2005242903A publication Critical patent/JP2005242903A/ja
Abandoned legal-status Critical Current

Links

Images

Abstract

【課題】 本データとそれが不良だった場合に代わりに読み出す予備データとの対応を示すテーブルを不要とすることでデータにアクセスする時間を短縮化しかつデータ容量を低く抑えることができるメモリ装置、メモリ制御方法及びメモリ制御装置を提供する。
【解決手段】 本データに訂正不能なエラーが生じた際に代わりに読み出す予備データを格納した予備データブロック22をその本データを格納した本データブロック21と物理アドレスが隣接するように配置する。本データブロック21のページをそのページインデックス順に読み出し、不良ページが検出されたら、物理ブロックアドレスをインクリメントして予備データブロック22の対応するページからデータを読み出す。
【選択図】 図6

Description

本発明は、本データに訂正不能なエラーが生じた際に代わりに読み出す予備データを本データと共に記録したメモリにデータを書き込む又はメモリからデータを読み出すためのメモリ制御装置、これを備えたメモリ装置及びメモリ制御方法に関する。
従来、例えば他の用途よりも劣悪な周囲環境で使用される機器において、信頼性を向上させるためなどに、不揮発性記録媒体として可動部を持たない半導体記録媒体が使用される。この半導体記録媒体においては、その記録容量を増大するため、又は生産性の観点などから、1ビット毎に読み書き可能なEEPROM(electrically erasable and programmable ROM)のように1メモリセルに2個の素子を用いる半導体記録媒体に代えて、AND型フラッシュメモリのように1メモリセルを1個の素子で実現して記録容量を増大させた半導体記録媒体が使用されている。
ところで、フラッシュメモリには、必然的に後発性の不良ビットが発生してしまう。そのため、フラッシュメモリを使用する場合は誤り訂正符号を使用して数個の不良ビットが発生してもその誤りを訂正して元のデータとして扱えるようにしている。ただし、誤り訂正符号には上限がありその上限を超えたものは不良ブロックとして判断し、読み込みを行なっても正規のデータを取り出すことはできずそれ以上の書き込みも禁止するものとしている。
フラッシュメモリにデータを格納する際、特にAND型フラッシュメモリのような他のフラッシュメモリと比べてメモリ自体の信頼性が低いものや、不良ブロックが発生して正規のデータ取得が困難になると集積回路の動作に支障をきたしてしまうため信頼性を保証しなければならないファームウェアなどの重要度が高いデータを記憶させる場合などにおいては、本データのほかに、本データを格納したブロックに不良が発生した際の不良ブロック対策として予備のデータを別の記録領域に格納しておく。
そのような一例としては、本データ、その予備データ、及びその対応関係を示すテーブルを別々に格納し、不良ブロックが発生した時に、テーブルから対応関係を読み出し予備データを読むことで、本データの不良ブロックの発生に対応するものがある(下記特許文献1)。このことにより、フラッシュメモリに不良セクタが生じても当該セクタを代替して信頼性の維持を図るものである。
すなわち、アクセス指示に対応するデータセクタにアクセスした際、当該データセクタが不良セクタだった場合、テーブルセクタにアクセスし、そのテーブルセクタから、上記不良セクタの代替となるスペアセクタの対応情報を読み出し、この対応情報に基づき不良セクタに格納されているデータのスペアが格納されているスペアセクタにアクセスする。
また、テーブルセクタから対応情報を読み出そうとした際、テーブルセクタのデータエリアが不良である場合、テーブルセクタのスペアセクタから対応情報を読み出し、上記スペアセクタにアクセスする。テーブルセクタのスペアセクタの制御エリア(CA)には、代替したテーブルセクタのテーブルセクタ番号が格納されており、スペアセクタ領域の末尾から検索することで、テーブルセクタのスペアセクタを特定することができる。
特開2000−222291号公報
しかしながら、この方法でデータを格納すると、本データを読み出し、不良ブロックと判断してから対応関係を示すテーブルを読み出し、そこから予備データを読み出すことによって正規のデータを取得することになってしまう。つまり、本データに不良ブロックが生じている場合、本データを読み出す時間(=時間A)と、本データを不良ブロックと判断し、対応テーブルを読み出す時間(=時間B)と、予備データを読み出す時間(=時間C)とを加算した時間が必要になってしまう。
上記のうち、時間A及び時間Cはデータ読み出しに必要最低限な時間であるが、時間Bに関しては読み出しの際に発生するビジー時間によってアクセス時間に大きく影響が出てしまう。更に、データ量としても、必要なデータ(本データ及び予備データ)以外にテーブルを格納する分が必要となるため記録領域の実データ領域を余分に消費してしまうという問題点がある。
本発明は、このような従来の実情に鑑みて提案されたものであり、本データとそれが不良だった場合に代わりに読み出す予備データとの対応を示すテーブルを不要とすることでデータにアクセスする時間を短縮化しかつデータ容量を低く抑えることができるメモリ装置、メモリ制御方法及びメモリ制御装置を提供することを目的とする。
上述した目的を達成するために、本発明に係るメモリ装置は、本データと、当該本データに訂正不能なエラーが生じた場合に代わりに読み出す予備データとからなるデータセットを、本データに対するその予備データの配置を定めた所定の規則に従って、半導体メモリに書き込むよう制御する制御手段を有し、上記制御手段は、アクセスした本データに訂正不能なエラーが生じている場合に、上記所定の規則に従って当該本データの予備データを読み出すよう制御することを特徴とする。
本発明においては、本データと共にその予備データを書き込んでおき、本データに訂正不能なエラーが生じた場合に代わりに予備データを読み出すことで、重要度が高いデータを保護したり、メモリ自体の信頼性を維持するためのメモリ制御装置において、本データの予備データを予め決められた所定の規則に従って書き込んでおくことにより、予備データと本データとの対応関係の情報が不要となると共に、予備データがどこに書き込まれているかの情報を読み込んで予備データのデータ位置を認識するために必要な時間を不要とすることでデータのアクセス時間を高速化することができる。
また、上記所定の規則は、予備データをその本データと物理アドレスが隣接する領域に配置するものとすることができ、本データに対して物理アドレスが隣接した領域にその予備データを配置することによりアクセス速度が更に向上する。
更に、上記制御手段は、アクセスした本データに訂正不能なエラーが生じている場合に、当該本データの予備データを使用し、本データ及びその予備データからなるデータセットを上記所定の規則を満たす領域に移動させることができ、本データに不良が発生した場合は、再び本データとその予備データとのデータセットを所定の規則を満たすように配置しておけば、たとえ、新たに用意した本データに再び訂正不能なエラーが生じたとしても予備データが準備されているため、データを読み出すことができる。
更にまた、上記半導体メモリは、ブロック単位でデータが消去され、該ブロック単位より小さいデータサイズのページ単位でデータが書き込まれるものであり、更に、予備データのブロックは、その本データのブロックと同一のブロックインデックスを有し、予備データのページは、その本データのページと同一のページインデックスを有することができ、上記本データ及びその予備データは、本データ及び予備データの対応するページは同一のブロックインデックス・ページインデックスとしておくことにより、予備データを読み込みにいった際に、ページインデックスを確認することで、本データの予備データであることを確認することができる。
また、上記制御手段は、本データのブロックを構成するページを所定の順序で読み出し、その際に訂正不能なエラーが生じている不良ページを検出した場合、当該本データのブロックに対応する予備データのブロックにおける上記不良ページに対応する予備データのページから予備データを読み出し、その最終ページまで予備データのブロックを読み出すことができ、ブロックに不良が発生した場合であっても、予備データブロックを新たに読み込まず、不良が検出されたページから予備データを読み出すことでデータの重複読み出しをなくしてアクセス速度を向上させることができる。
本発明に係るメモリ制御方法は、本データと、当該本データに訂正不能なエラーが生じた場合に代わりに読み出す予備データとからなるデータセットを、本データに対するその予備データの配置を定めた所定の規則に従って、半導体メモリに書き込むよう制御する制御工程を有し、上記制御工程では、アクセスした本データに訂正不能なエラーが生じている場合に、上記所定の規則に従って当該本データの予備データを読み出すよう制御することを特徴とする。
本発明に係るメモリ制御装置は、本データと、当該本データに訂正不能なエラーが生じた場合に代わりに読み出す予備データとからなるデータセットを、本データに対するその予備データの配置を定めた所定の規則に従って、半導体メモリに書き込むよう制御する制御手段を有し、上記制御手段は、上記半導体メモリにアクセスした本データに訂正不能なエラーが生じている場合に、上記所定の規則に従って当該本データの予備データを読み出すよう制御することを特徴とする。
本発明によれば、例えば信頼性を高く保証しなければならない重要度が高いデータを格納する場合にその重要度が高いデータを保証するためや、メモリ自体の信頼性があまり高くない場合に格納されるデータを保証するなどのために、本データに訂正不能なエラーが生じた場合に代わりに読み出す予備データを本データ以外に準備しておく。このとき、本データに対するその予備データの配置を定めた所定の規則に従って本データ及びその予備データを配置することにより、本データに訂正不能なエラーが生じた場合に、所定の規則に従って不良が生じた本データの予備データを読み出すことができ、本データと予備データとの対応関係を示すテーブルを不要とすると共に、テーブルから対応関係を読み出して予備データを探す時間が不要となり、エラーが生じた際のデータアクセス速度を向上すると共にデータ領域を有効に活用することができる。
以下、本発明を適用した具体的な実施の形態について、添付の図面を参照して説明する。この実施の形態は、本発明をフラッシュメモリ及びその制御装置からなる例えばメモリスティック(登録商標)などのメモリ装置に適用したものである。本実施の形態におけるフラッシュメモリは、本データが格納された本データブロックにアクセスして本データを読み出した際に訂正することができない不良が生じている場合に、代わりに読み出す予備データを本データと共に記録しておき、本データに不良が発生した場合に予備データが格納された予備データブロックにアクセスしてデータを読み出すものである。その際、本データと、その不良ブロック対策用の予備データとを所定の規則に従って書き込むことにより、本データと予備データとの対応関係を記述したテーブルからその対応情報を読み出して予備データブロックを探す時間を不要とすることができ、不良ブロックが生じた際のデータへのアクセス速度を高速化することができるものである。また、メモリにおいては、従来のように本データと予備データとの対応関係を示すテーブルを不要とすることでその実データの容量を大きくすることができる。
ここで、所定の規則とは、本データに対する予備データの配置関係を予め定めたものとすることができ、例えば、本データと物理ブロックアドレスが連続するブロックに予備データを書き込むことができる。
先ず、フラッシュメモリにおけるデータ構成について説明する。フラッシュメモリは、データの消去サイズをブロックといい、読み出し又は書込みサイズ(アクセスサイズ)をページという。図1は、フラッシュメモリにおけるページのデータ構成を示す図である。図1に示すように、ページ1は、データを格納するデータ部11と、冗長部12とに分けられる。データ部11のサイズは例えば512Byteであり、本データが格納される。冗長部12のサイズは例えば16Byteであり、データ部ECC及び冗長部ECCなどが格納される。データ部ECCは、データ部11の本データの誤り訂正符号に用いられるもので、冗長部ECCは、データ部ECCの誤り訂正に用いられる冗長部ECCが格納されている。
また、冗長部12にはデータ部ECC及び冗長部ECCが格納される他に、リザーブ(Reserve)として数Byte分の管理データを書き込むスペースを有する。冗長部12のサイズを上述の16Kbyteとすると、例えば、8kbyteのデータ部ECCと、4kbyteのリザーブ(Reserve)と、4kbyteの冗長部ECCとすることができる。8kbyteのデータ部ECCにより4kbyteの誤りを訂正することができる。そして、例えば32ページで、データ消去単位である1ブロックを構成する。
次に、データの書き込み方法について説明する。本実施の形態においては、本データに訂正できない誤りが生じている場合に代わりに読み出す予備データを本データと共に書き込む。本データ及びその予備データは、所定の規則に従って書き込まれる。この所定の規則とは、上述したように、本データに対する予備データの配置位置を定めた規則であり、本実施の形態においては、予備データを本データが格納されたブロックに物理的に隣接したブロックに格納する規則とする。したがって、図2に示すようにブロック単位で物理アドレスが隣接する領域に配置される。
メモリ装置は、メモリからデータを読み込む際、本データに訂正不能なエラーが発生している場合に代わりに読み出す予備データへのアクセスを制御可能な制御装置を備える。すなわち、本実施の形態におけるメモリ制御装置は、本データが読み込めない場合、予め定められた所定の規則に従って予備データを読み込みにいくようなされている。
これにより、メモリ制御装置は、データにアクセスして読み込みに失敗した場合、常にその規則どおりに次のデータを読み込めばよく、従来のように、本データが格納されたブロックと、その予備データが格納されたブロックとの対応関係(配置関係)を示したテーブルをメモリに書き込む必要がなくなり、かつ予備データにアクセスする時間を短縮化することができる。
ここで、本データ及び予備データのいずれのブロックデータも、複数のページデータから構成される。そして、各ページデータのリザーブには、本データの管理データを書き込むことができる。本実施の形態においては、データを書き込む際にその管理データ部分に本データと予備データとが対応するように同一ナンバーのブロックインデックス(B.I.)及びページインデックス(P.I.)を書き込む。データ読み出しの際、このブロックインデックス(B.I.)及びページインデックス(P.I.)を比較し、一致すれば本データに対応する予備データであるということを判断することができる。
また、各ブロックによって書き込まれるデータのページ数は様々であり、そのブロックの最終ページにはページインデックスに0xFFを書き込むことによりその判断が可能となる。
予備データは、全てのデータに対して準備されるわけではなく、例えばマイクロプログラムなどのファームウェアなど、そのデータが読み出せなくなると、集積回路の動作に支障をきたしてしまうような重要度が高いデータに対して準備されるものである。または、AND型フラッシュメモリなどに対してはこのような予備データを準備しておけば、信頼性を保ちつつ安価なメモリ装置を提供することが可能となる。なお、本実施の形態においては、本データに対して、本データのコピーである予備データを1つ準備するものとするが、必要に応じて1以上の予備データを用意してもよい。また、AND型に限らず、NAND型などの他のメモリにも適用できることは言うまでもない。
また、メモリ制御装置には、データを書き込む際に、例えばその上位の機器から予備データを準備するか否かの指示がなされるものとする。そして、上述のような規則であれば、予備データを本データと共に書き込む際は、図2に示すように物理ブロックアドレスが連続するように書き込むものとする。また、予備データを準備しないデータは例えば順次空領域に書き込みを行うなどすればよい。
更に、本実施の形態においては、上述のように本データ及びその予備データの各ページのデータ冗長部12にインデックス番号が付されており、このインデックスが記録されていることにより、本データが予備データを有することを判断することができる。このインデックス番号は、例えばデータの並び順に付すことができ、上述したようにインデックス番号が0xFFである場合に読み込みを終了する。ここで、予備データを有しないデータの場合、冗長部12に0xFFを書き込むことにより、メモリ制御装置は、読み込んだページに対応する予備データが準備されているか否かを容易に判断することができる。
次に、データの読み出し方法について説明する。基本的には、各ブロックのページを順次読み出していき、不良データが見つかった場合に予備データを読み込むものである。まず、図1に示すページの読み出し方法について説明する。図3は、ページの読み出し方法を示すフローチャートである。
図3に示すように、データ部11の本データ及び冗長部12のデータ部ECCを読み出し、本データをデータ部ECCにてエラーチェックする(ステップS1)。ここで、本データにエラーがない場合、又は本データがデータ部ECCにて訂正可能であれば(ステップS2)、本データのデータを訂正し(ステップS3)、ページの読み出しが完了する。
一方、ステップS2にて訂正不能であれば、データ部ECCのデータを冗長部ECCにてエラーチェックする(ステップS4)。訂正がなければ(ステップS5:No)、データ部ECCはエラーがないことになり、したがって本データが訂正不能であることになり、読み出し失敗となる。また、エラーはあるものの(ステップS:Yes)、そのエラーが訂正可能である場合には(ステップS6)、データ部ECCのデータを訂正し、データ部11の本データのエラーを訂正し(ステップS7)、処理を終了する。訂正不能な場合は、本データは読み出すことができず処理を終了する。
このようにしてページ毎にデータが読み出されるが、本データ又はデータ部ECCの訂正が不能な場合は読み出し失敗となる。この場合、物理ブロックアドレスが隣接して配される予備データを読み出すことになる。
図4は、データの配置例及びその読み出し順序を示す図、図5は、データ読み出し方法を示すフローチャートである。例えばファームウェアなどのデータを読み込むことを想定すると、データ量はひとつのブロック容量で格納できることは低く、数ブロックにまたがって格納することになる。その場合、図5に示すように、ブロックインデックスの上限を設定し(ステップS11)、その上限までブロックインデックス順に連続してデータを読み込んでいく(ステップS12)。
その時、上述したようにECCコードによって誤り訂正を行えた場合、すなわち、読み出したデータに誤りがないか、又は誤りが存在してもデータ部ECCで誤り訂正が可能か若しくは冗長部ECCで誤り訂正が可能であった場合、正規のデータを読み込めたことになり、1ブロック全てのデータが読み込みできた場合(ステップS13:Yes)、データ読み出しが完了となり(ステップS14)、次のブロックに格納されている本データをブロックインデックス順に読み込んでいく。そして、ブロックインデックスが上限値になるまで物理アドレスをインクリメントしていき(ステップS18)、ブロックインデックスの上限値まで読み込みが完了したとき(ステップS15)、読み込みを終了する。
一方、不良ブロックを検出した場合(ステップS13:No)、上述したように、予め決められた所定の規則に従って予備データの読み込みをする。本実施の形態においては、本データに物理的に隣接した領域に予備データが記録されているため、メモリ制御装置は、本データブロックから物理ブロックアドレスをインクリメントすることによって隣接して配置されている予備データブロックにアクセスすることができる。このことにより予備データを読み込むことができる。その際、管理データ部分にあるブロックインデックスを読み込み、不良ブロックであった本データとブロックインデックスが同じであるかを確認する。同じであれば読み込んだ予備データが、ステップS13にて読み込めなかった本データのブロック及びページと同じであると認識することができる。
図6は、本データを格納した本データブロック21とその予備データを格納した予備データブロック22とを示す図である。この図6においては、本データのページインデックスが0x01〜0x09のページである場合であって、ページインデックス0x01から読み出しを開始し、ページインデックス0x05にて誤り訂正不能なデータが発見された場合を示している。ステップS16にてブロックインデックスをインクリメントして予備データブロックにアクセスした場合、本データブロック21においては、不良が存在したページ21の直前のページ21までは読み込みが完了している。したがって予備データブロック22の最初のページ22からはデータを読み込む必要がない。ここで、読み込み済みのデータを再度読み込むとアクセス時間の増大につながりアクセス速度が遅くなってしまうため、図6に示すように、予備データブロック22では、本データブロック21での不良がみつかったページ21のページインデックス(P.I.)0x05と同じナンバーのページインデックス(P.I.)0x05のページ22から読み出すようにすれば、読み込みの重複を防止し、不良ブロック(不良ページ)検出の際におけるアクセス時間を高速化することができる。
すなわち、図3に示したように、本データ又はデータ部ECCに訂正不能なエラーが発生している場合、データを読み出すことができない。例えば、ページインデックス(P.I.)0x05に対応するデータにアクセスして読み出しが失敗と判断された場合、物理アドレスをインクリメントし、予備データブロック22を読み込みに行く。本実施の形態におけるブロックデータの本データに対応する予備データには同一のブロックインデックスが付され、ページデータの本データに対応する予備データには同一のページインデックスが付されている。従ってブロックインデックが一致しなかった場合、それは本データに対応する予備データではないと判断しその読み込みを行なわない。例えば、フラッシュメモリは生産後の時点で不良ブロックが発生している可能性もあり、それに対してはブロックインデックスに0xFFを書き込むことによりそのブロックをスキップすることとする。
次に、ブロックインデックスが一致したら、ページインデックスを読み出し、読み込みに失敗したページインデックス(P.I.)0x05と同一か否かを判断する。同一であれば、それは読み込みに失敗した本データに対応する予備データであると認識することができ、そのページから順次予備データを読み出していき、予備データブロックの読み込みを完了する。
このように、予備データは本データと隣接するように書き込みを行ないブロックインデックスには同じナンバーを書き込んでいけば、1つのデータに対して予備データを任意の量だけ格納することができる。また、不良ページが発生した場合はこのように予備データブロックのデータを読み出すが、次のブロックデータを読み出す場合は、再び本データのブロックを読み出すことができる。
なお、データの書込みの際、どのデータがどのアドレス(ブロック)に書き込まれたかを示すテーブルが作成され、上位の機器などから読み出し指示があった場合に当該テーブルを参照して本データを読み出す点は従来と同様である。また、メモリ制御装置は、本データに不良ページが検出された場合、自動的に隣接ブロックの対応ページを読み出すようしておけばよい。そして、メモリ制御装置は、予備データブロックを読みにいった場合には、テーブルを参照して不良ページが検出された本データブロックの次の本データブロックのアドレスを参照してデータを読み出すことができる。
なお、予備データブロックを一旦読み出した場合、次からは予備データブロックを上述の本データブロックの代わりとして読み出すこととし、予備データブロックに不良ページが発生した場合に逆にその不良ページに対応する本データのページにアクセスするようにしてもよい。その場合、例えばリザーブ領域に本データであるか予備データであるかを示すフラグなどを書き込んでおくなどして現在読み込み中のデータが予備データであるか本データであるかを認識すればよい。
本実施の形態においては、高い信頼性を保証しなければならないデータの格納方法として本データ以外に予備のデータを置くという概念において、物理アドレスが隣接する領域に予備データを配置することで、この配置関係に従って予備データを読み込むことができるため、本データと予備データとの対応関係を別に記録しておく必要がなく、また不良ブロックが発生した際の予備データへの高速なアクセスが可能となる。
このように、通常の書き込み及び読み込みと、ローダーモードの書き込み及び読み込みとを使い分けることによって通常のデータ及び信頼性を高くもたせたデータの2通りの格納が可能となる。また、ブロックインデックスのナンバーを比較することにより予備データを任意に設定が可能であるためより高い信頼性の実現が可能である。
また、本データに訂正不能なエラーが生じた場合、予備データのみとなり、これが本データの代わりになるため、予備データがなくなることになる。その場合には、本データの代わりとして使用する本来予備データであったデータを、本データ及びその予備データからなるデータセットとして、他の領域に移動させておく。なお、本実施の形態においては、予備データの物理ブロックアドレスが隣接する領域が空ブロックであればそこに再度データをコピーしておけばよいが、そうでない場合は所定の規則を満たす空ブロック、上述の例であれば連続した2つの空ブロックを検索してそこに移動させることとなる。
これにより、次回以降は、再び本データを読み出すことができ、新たに用意した本データにたとえエラーが発生したとしても、用意した予備データを読み出すことができる。すなわち、本データにエラーが発生して予備データのみになった場合には、その予備データのデータから、本データ及びその予備データのデータセットを新たに準備する。そして、このデータセットを本データに対する予備データの配置関係を定める規定を満たすことができる領域に書き移すことにより、再びデータを保証することができる。また、最初に使用していた予備データが格納されていたブロックはデータを消去して他の用途に使用するなどすればよい。
更に、ブロックインデックス・ページインデックスを実データと共に書き込んでおくことにより、本実施の形態のように、書込み・読み出し単位(ページ)と消去単位(ブロック)とが異なる場合に、データサイズが大きい方のブロックデータの読み込みに失敗しても、予備データのブロックデータのページを最初から再度読み出すのではなく、不良が発生したページに対応する予備データのページからデータを読み出すことにより、更にアクセス時間の増大を防止することができる。
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、本実施の形態においては、物理アドレスが隣接する領域に本データとその予備データとを書き込むものとしているため、ブロックインデックス・ページインデックスをインクリメントするのみで予備データにアクセスすることができるが、所定の規則であれば、物理アドレスが隣接する領域に限らない。すなわち、所定の規則に従った領域に予備データを書き込むようにすれば、従来のように本データと予備データとの対応テーブルを用いることなく予備データにアクセスすることができる。また、フラッシュメモリとしては、AND型フラッシュメモリに限らずNAND型などのフラッシュメモリにも適用することができる。
フラッシュメモリにおけるページのデータ構成を示す図である。 本発明の実施の形態におけるメモリのデータ配置を示す模式図である。 ページの読み出し方法を示すフローチャートである。 本発明の実施の形態におけるデータの配置例及びその読み出し順序を示す図である。 本発明の実施の形態におけるデータ読み出し方法を示すフローチャートである。 本データブロックのページに不良ページが存在した場合に予備データブロックのページを読み出す方法を説明する模式図である。
符号の説明
1 ページ、 11 データ部、 12 冗長部、 21 本データブロック、 22 予備データブロック

Claims (16)

  1. データが書換え可能な半導体メモリと、
    本データと、当該本データに訂正不能なエラーが生じた場合に代わりに読み出す予備データとからなるデータセットを、本データに対するその予備データの配置を定めた所定の規則に従って、上記半導体メモリに書き込むよう制御する制御手段を有し、
    上記制御手段は、上記半導体メモリのアクセスした本データに訂正不能なエラーが生じている場合に、上記所定の規則に従って当該本データの予備データを読み出すよう制御する
    ことを特徴とするメモリ装置。
  2. 上記所定の規則は、予備データをその本データと物理アドレスが隣接する領域に配置するものである
    ことを特徴とする請求項1記載のメモリ装置。
  3. 上記制御手段は、アクセスした本データに訂正不能なエラーが生じている場合に、当該本データの予備データから新たにデータセットを用意して上記所定の規則を満たす領域に移動させる
    ことを特徴とする請求項1記載のメモリ装置。
  4. 上記半導体メモリは、ブロック単位でデータが消去され、該ブロック単位より小さいデータサイズのページ単位でデータが書き込まれる
    ことを特徴とする請求項1記載のメモリ装置。
  5. 予備データのブロックは、その本データのブロックと同一のブロックインデックスを有し、
    予備データのページは、その本データのページと同一のページインデックスを有する
    ことを特徴とする請求項4記載のメモリ装置。
  6. 上記制御手段は、本データのブロックを構成するページを所定の順序で読み出し、その際に訂正不能なエラーが生じている不良ページを検出した場合、当該本データのブロックに対応する予備データのブロックにおける上記不良ページに対応する予備データのページから予備データを読み出し、その最終ページまで予備データのブロックを読み出す
    ことを特徴とする請求項5記載のメモリ装置。
  7. 本データと、当該本データに訂正不能なエラーが生じた場合に代わりに読み出す予備データとからなるデータセットを、本データに対するその予備データの配置を定めた所定の規則に従って、半導体メモリに書き込むよう制御する制御工程を有し、
    上記制御工程では、上記半導体メモリのアクセスした本データに訂正不能なエラーが生じている場合に、上記所定の規則に従って当該本データの予備データを読み出すよう制御する
    ことを特徴とするメモリ制御方法。
  8. 上記所定の規則は、予備データをその本データと物理アドレスが隣接する領域に配置するものである
    ことを特徴とする請求項7記載のメモリ制御方法。
  9. 上記制御工程では、アクセスした本データに訂正不能なエラーが生じている場合に、当該本データの予備データから新たにデータセットを用意して上記所定の規則を満たす領域に移動させる
    ことを特徴とする請求項7記載のメモリ制御方法。
  10. 上記制御工程では、上記半導体メモリのデータをブロック単位で消去し、該ブロック単位より小さいデータサイズのページ単位で書き込み又は読み出す
    ことを特徴とする請求項7記載のメモリ制御方法。
  11. 上記制御工程では、本データ及びその予備データを書き込む際に該本データ及びその予備データと共に両者に共通のブロックインデックス及びページインデックスを書き込むよう制御する
    ことを特徴とする請求項10記載のメモリ制御方法。
  12. 上記制御工程では、本データのブロックを構成するページを所定の順序で読み出し、その際に訂正不能なエラーが生じている不良ページを検出した場合、当該本データのブロックに対応する予備データのブロックにおける上記不良ページに対応する予備データのページから予備データを読み出し、その最終ページまで予備データのブロックを読み出す
    ことを特徴とする請求項11記載のメモリ制御方法。
  13. 上記制御工程では、本データの予備データを書き込むよう指示された場合に上記所定の規則に従って予備データを書き込むよう制御する
    ことを特徴とする請求項7記載のメモリ制御方法。
  14. 本データと、当該本データに訂正不能なエラーが生じた場合に代わりに読み出す予備データとからなるデータセットを、本データに対するその予備データの配置を定めた所定の規則に従って、半導体メモリに書き込むよう制御する制御手段を有し、
    上記制御手段は、上記半導体メモリにアクセスした本データに訂正不能なエラーが生じている場合に、上記所定の規則に従って当該本データの予備データを読み出すよう制御する
    ことを特徴とするメモリ制御装置。
  15. 上記制御手段は、上記半導体メモリのデータをブロック単位で消去し、該ブロック単位より小さいデータサイズのページ単位で書き込み又は読み出すものであって、本データ及びその予備データを書き込む際、データと共に両者に共通のブロックインデックス及びページインデックスを書き込むよう制御する
    ことを特徴とする請求項14記載のメモリ制御装置。
  16. 上記制御手段は、本データのブロックを構成するページを所定の順序で読み出し、その際に訂正不能なエラーが生じている不良ページを検出した場合、当該本データのブロックに対応する予備データのブロックにおける上記不良ページに対応する予備データのページから予備データを読み出し、その最終ページまで予備データのブロックを読み出す
    ことを特徴とする請求項15記載のメモリ制御装置。
JP2004054830A 2004-02-27 2004-02-27 メモリ装置、メモリ制御方法、及びメモリ制御装置 Abandoned JP2005242903A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004054830A JP2005242903A (ja) 2004-02-27 2004-02-27 メモリ装置、メモリ制御方法、及びメモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004054830A JP2005242903A (ja) 2004-02-27 2004-02-27 メモリ装置、メモリ制御方法、及びメモリ制御装置

Publications (1)

Publication Number Publication Date
JP2005242903A true JP2005242903A (ja) 2005-09-08

Family

ID=35024551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004054830A Abandoned JP2005242903A (ja) 2004-02-27 2004-02-27 メモリ装置、メモリ制御方法、及びメモリ制御装置

Country Status (1)

Country Link
JP (1) JP2005242903A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007304781A (ja) * 2006-05-10 2007-11-22 Nec Electronics Corp 半導体装置、及び起動方法
JP2008204400A (ja) * 2007-02-22 2008-09-04 Fujitsu Ltd メモリ及びデータの書き込み、読み出し方法
JP2010079856A (ja) * 2008-09-29 2010-04-08 Hitachi Ltd 記憶装置およびメモリ制御方法
JP2012252557A (ja) * 2011-06-03 2012-12-20 Mega Chips Corp メモリコントローラ
CN103544124A (zh) * 2012-07-16 2014-01-29 上海塞尚通信技术有限公司 Nand Flash存储器的访问方法
US8693252B2 (en) 2011-07-12 2014-04-08 Samsung Electronics Co., Ltd. Method and system for adjusting read voltage in flash memory device
US10353852B2 (en) 2015-08-28 2019-07-16 Toshiba Memory Corporation Memory system that stores data redundantly

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007304781A (ja) * 2006-05-10 2007-11-22 Nec Electronics Corp 半導体装置、及び起動方法
JP2008204400A (ja) * 2007-02-22 2008-09-04 Fujitsu Ltd メモリ及びデータの書き込み、読み出し方法
JP2010079856A (ja) * 2008-09-29 2010-04-08 Hitachi Ltd 記憶装置およびメモリ制御方法
JP2012252557A (ja) * 2011-06-03 2012-12-20 Mega Chips Corp メモリコントローラ
US8693252B2 (en) 2011-07-12 2014-04-08 Samsung Electronics Co., Ltd. Method and system for adjusting read voltage in flash memory device
CN103544124A (zh) * 2012-07-16 2014-01-29 上海塞尚通信技术有限公司 Nand Flash存储器的访问方法
CN103544124B (zh) * 2012-07-16 2018-01-19 上海塞尚通信技术有限公司 Nand Flash存储器的访问方法
US10353852B2 (en) 2015-08-28 2019-07-16 Toshiba Memory Corporation Memory system that stores data redundantly

Similar Documents

Publication Publication Date Title
JP4323707B2 (ja) フラッシュメモリの欠陥管理方法
JP4722839B2 (ja) メモリ制御回路、不揮発性記憶装置及びメモリ制御方法
JP4842563B2 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
US8051339B2 (en) Data preserving method and data accessing method for non-volatile memory
US20090089484A1 (en) Data protection method for power failure and controller using the same
US20110055625A1 (en) Nonvolatile memory device and memory controller
WO2007023674A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
US7962801B2 (en) Link table recovery method
US8908436B2 (en) Method and device for storing and reading reliable information in a NAND array
JP4866107B2 (ja) 不揮発性記憶装置及びその書き込み判定方法
US20050283647A1 (en) External storage device
JP4034947B2 (ja) 不揮発性記憶システム
US20090164869A1 (en) Memory architecture and configuration method thereof
JP2005242903A (ja) メモリ装置、メモリ制御方法、及びメモリ制御装置
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
JP3808842B2 (ja) 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
KR100692982B1 (ko) 배드 블럭 정보가 기록된 난드 타입의 플래시 메모리
JP4655034B2 (ja) メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法
JP4710918B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4702703B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP3670151B2 (ja) フラッシュメモリのアクセス方法、フラッシュメモリへアクセスするドライバを備えるシステム、および、フラッシュメモリ
JP4641034B2 (ja) 不揮発性記憶システム
JP2006318132A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4569554B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP7030636B2 (ja) メモリシステムおよびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060905

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20080226