JP2007316779A - 不揮発性メモリシステム - Google Patents
不揮発性メモリシステム Download PDFInfo
- Publication number
- JP2007316779A JP2007316779A JP2006143442A JP2006143442A JP2007316779A JP 2007316779 A JP2007316779 A JP 2007316779A JP 2006143442 A JP2006143442 A JP 2006143442A JP 2006143442 A JP2006143442 A JP 2006143442A JP 2007316779 A JP2007316779 A JP 2007316779A
- Authority
- JP
- Japan
- Prior art keywords
- operation information
- nonvolatile memory
- block
- memory system
- information
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
【課題】不揮発性メモリにおいて各ブロックのおける消去回数等の一の情報のみを各ブロックの信頼性(劣化度)として利用している場合、保持している一の情報自体もなんらかのアクシデントにより消失してしまう可能性もある。また、メモリの生産時に既に存在している各ブロックの特性のばらつきを考慮した信頼性は、消去回数のような使用実績を示す情報からは測ることができない。
【解決手段】本発明における不揮発性メモリシステムは、ブロック単位でのみデータ消去可能な不揮発性メモリ装置を含む不揮発性メモリシステムであって、不揮発性メモリ装置の複数種の作動情報をブロック単位で取得し、取得した作動情報を保持することを特徴とする。すなわち、各ブロックについて、消去回数のみというような単一の情報ではなく、複数種の作動情報を取得することを特徴とする。
【選択図】図1
【解決手段】本発明における不揮発性メモリシステムは、ブロック単位でのみデータ消去可能な不揮発性メモリ装置を含む不揮発性メモリシステムであって、不揮発性メモリ装置の複数種の作動情報をブロック単位で取得し、取得した作動情報を保持することを特徴とする。すなわち、各ブロックについて、消去回数のみというような単一の情報ではなく、複数種の作動情報を取得することを特徴とする。
【選択図】図1
Description
ブロック単位でのみデータ消去可能な不揮発性メモリ装置を含む不揮発性メモリシステムに関する。
不揮発性メモリの一つとして、フラッシュメモリがあるが、フラッシュメモリはデータを書込む際に、ブロック単位でデータの消去を行なってから書込みを行なう。また、フラッシュメモリはデータの書込み回数に限界があり、一般的には10万回程度である。このため、例えば特定のブロックのみに書込みを繰り返すと、他のブロックの書込み回数が少ない場合であっても、メモリ全体としては寿命が尽きてしまうという問題があった。このような問題に鑑み、各ブロックにおける書込み回数等を管理し、メモリ全体に渡って各ブロックへの書込みが平均的に行なわれるように制御等することにより、メモリ全体の寿命を延ばすための技術が開示されている(例えば、特許文献1、特許文献2、特許文献3、特許文献4)。
特開平8−45287号公報
特開平9−306186号公報
特開平5−282880号公報
特開平5−46359号公報
しかしながら、特許文献1、特許文献2、特許文献3、特許文献4においては、各ブロックにおける消去回数等の一の情報のみを各ブロックの信頼性(劣化度)として利用している。このような場合、保持している一の情報自体もなんらかのアクシデントにより消失してしまう可能性もある。また、メモリの生産時に既に存在している各ブロックの特性のばらつきを考慮した信頼性は、消去回数のような使用実績を示す情報からは測ることができない。
そこで、本発明においては、ブロック単位でのみデータ消去可能な不揮発性メモリ装置を含む不揮発性メモリシステムであって、不揮発性メモリ装置の複数種の作動情報をブロック単位で取得し、取得した作動情報を保持することを特徴とする不揮発性メモリシステムを提案する。すなわち、各ブロックについて、消去回数のみというような単一の情報ではなく、複数種の作動情報を取得することにより、一の作動情報が消失したとしても他の作動情報を利用して各ブロックの信頼性を測ることが可能となる。また、作動情報として、データ読出し時の読出しエラーの訂正の成功、不成功を示すエラー訂正情報や、データの格納時間(書込み時間)、データの消去時間、データの消去回数、データの読出回数、データの格納回数(書込み回数)、等を取得するようになっていてもよい。NAND型フラッシュメモリは、データの読出しだけでも劣化するという特性があるため、読出回数は信頼性を測るための情報として有用である。また、フラッシュメモリの特性として、劣化してくるとデータの消去時間や書込み時間が長くなるという特性がある。また、データの消去時間や書込み時間等の情報は何らかのアクシデントにより消失してしまったとしてもその都度、計測し直すことが可能であるので、信頼性を測るための情報として利用することは有効である。また、メモリ生産時に既に存在している各ブロックの特性のばらつきをも考慮することも可能である(前述のように、消去回数等では考慮できない)。また、複数種の作動情報を不揮発性メモリ装置内に保持する場合には、複数のブロックに対してエラー訂正符号を含ませて分散して記録するようになっていてもよい。これにより、例えば一のブロックから作動情報が読み出せなくなったとしても、他のブロックに記録されている作動情報から各ブロックの信頼性を測ることが可能である。
本発明の不揮発性メモリシステムによれば、複数種の作動情報をブロック単位で取得することにより、作動情報自体の消失にも対応し、かつ多面的に信頼性を測ることが可能である。また、データの消去時間や書込み時間を作動情報として取得することにより、作動情報自体が消失しても計測し直すことが可能であり、かつメモリ生産時における各ブロックの特性のばらつきをも考慮することが可能である。
本発明を実施するための最良の形態について図面を用いて詳細に説明する。なお、本発明はこれら実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施しうる。実施形態1は、主に請求項1、10、12などについて説明する。実施形態2は、主に請求項2、13などについて説明する。実施形態3は、主に請求項3、14などについて説明する。実施形態4は、主に請求項4などについて説明する。実施形態5は、主に請求項5、15などについて説明する。実施形態6は、主に請求項6、16などについて説明する。実施形態7は、主に請求項7などについて説明する。実施形態8は、主に請求項8などについて説明する。実施形態9は、主に請求項9などについて説明する。実施形態10は、主に請求項10、11、17などについて説明する。
(実施形態1)
(実施形態1)
(実施形態1:概要)本実施形態は、ブロック単位でのみデータ消去可能な不揮発性メモリ装置を含む不揮発性メモリシステムであって、不揮発性メモリ装置の複数種の作動情報をブロック単位で取得し、取得した作動情報を保持することを特徴とする不揮発性メモリシステムについて説明する。
(実施形態1:構成)本実施形態に係る不揮発性メモリシステムの機能ブロック図を図1に例示する。不揮発性メモリシステムは、「作動情報取得部」(0101)と、「作動情報保持部」(0102)と、を有する。なお、不揮発性メモリシステムはブロック単位でのみデータ消去可能な不揮発性メモリ装置(図示しない)を含む。「不揮発性メモリ装置を含む」とは、不揮発性メモリシステムの一部として不揮発性メモリ装置が含まれていてもよいし、不揮発性メモリシステムが不揮発性メモリ装置そのものであってもよいという意味である。また、不揮発性メモリ装置は、例えばNAND型フラッシュメモリやNOA型フラッシュメモリ等が該当する。
なお、以下に詳述する本発明の構成要素である各部は、ハードウェア、ソフトウェア、ハードウェアとソフトウェアの両方のいずれかによって構成される。例えば、これらを実現する一例として、コンピュータを利用する場合には、CPU、バス、メモリ、インタフェース、周辺装置などで構成されるハードウェアと、それらハードウェア上で実行可能なソフトウェアがある。ソフトウェアとしては、メモリ上に展開されたプログラムを順次実行することで、メモリ上のデータや、インタフェースを介して入力されるデータの加工、保存、出力などにより各部の機能が実現される。さらに具体的には、図34は一般的なコンピュータの構成を例示する図でありコンピュータが主にCPU(3410)、入出力インタフェース(I/O)(3420)、HDD(3430)、一時記憶メモリ(RAM)(3440)、ROM(3450)等から構成されることを示しているが、本件発明に係る不揮発性メモリシステムは図34と同様の構成により実現可能である。(明細書の全体を通じて同様である。)
「作動情報取得部」(0101)は、不揮発性メモリ装置の複数種の作動情報をブロック単位で取得する機能を有する。「複数種」とは、二以上であることを意味する。「作動情報」とは、ブロックにおける消去、書込み、読出し等に関する情報を指す。具体的には、例えば、消去回数、書込み回数、読出し回数、消去時間、書込み時間、読出し時間、等が該当する。さらに、例えばデータ読出し時にエラー訂正を行なう場合には、エラー訂正の有無やエラー訂正の成否等であってもよい。
図2は、作動情報の具体例を示す。図2に例示した作動情報は、ブロック番号10のブロックは、消去回数が15700回、読出回数が22300回であることを表している。より具体的には、作動情報は、例えば「block_num=10、erase_count=15700、read_count=22300」というようなデータにより表される。ここで、「block_num」、「erase_count」、「read_count」は、それぞれブロック番号、消去回数、読出回数を表すプログラム上の変数である。また、図2においてはブロック番号10のブロックのみについての作動情報を示しているが、他の各ブロックについても同様に作動情報が取得されることとなる。作動情報の取得元としては、後述の管理部などが想定され、例えばメモリコントローラ等から取得する場合が想定される。
「作動情報保持部」(0102)は、取得した作動情報を保持する機能を有する。「取得した作動情報」とは、前記作動情報取得部(0101)にて取得した作動情報を指す。また、作動情報保持部は、不揮発性メモリ装置内に配置されていてもよい。すなわち、作動情報自体が本発明に係る不揮発性メモリ装置のブロックに記録されるようになっていてもよい。また、その場合には、一のブロックに複数の作動情報が記録されるようになっていてもよいし、複数のブロックに複数の作動情報が別々に記録されるようになっていてもよい。なお、複数のブロックに複数の作動情報が別々に記録されるようになっていると、あるブロックから作動情報が読み出せなくなったとしても他のブロックに記録されている作動情報を利用して各ブロックの信頼性を測る等が可能となるため、より安全である。
図3は、作動情報保持部にて保持されている作動情報の具体例を示す。「ブロック番号」は、作動情報が保持されているブロックであり、前述の変数block_numで示されるブロック番号である。また、「消去回数」は、前述の変数erase_countで示される消去回数であり、「読出回数」は、前述の変数read_countで示される読出回数である。作動情報保持部は、例えばこのような情報がデータベース等としてRAMやHDD等の所定の記憶領域に格納されている。
(実施形態1:処理の流れ)図4は、本実施形態に係る不揮発性メモリシステムにおける処理の流れを示すフロー図を例示する。
最初に、ステップS0401において不揮発性メモリ装置の複数種の作動情報をブロック単位で取得する。この処理は、主に作動情報取得部によって実行される。次に、ステップS0402において取得した作動情報を保持する。この処理は、主に作動情報保持部によって実行される。
なお、図4のフロー図は、計算機に実行させるプログラムの処理フロー図とみなすことも可能である。さらに、このようなプログラムをフレキシブルディスク等の媒体に記録することも可能である。(明細書の全体を通じて同様である。)
(実施形態1:詳細な具体例)図36は、一般的なフラッシュメモリの構成に加えて、作動情報取得部(3601)と作動情報保持部(3602)とがメモリ内部に構成されている場合を例示する図である。このような場合、例えば作動情報取得部(3601)は制御回路(3603)から作動情報を取得するようになっていてもよい。また、メモリセルアレイ(3604)を作動情報保持部として利用するようになっていてもよい。
(実施形態1:効果)本実施形態に係る不揮発性メモリシステムは、不揮発性メモリ装置の複数種の作動情報を取得し、保持することができるので、例えば一の作動情報が何らかのアクシデントにより消失等してしまったとしても、他の作動情報を利用して、例えば各ブロックの信頼性を測ることが可能である。また、複数種の作動情報を利用することによって、より多面的に信頼性を測ることができる。
(実施形態2)
(実施形態2)
(実施形態2:概要)本実施形態は、複数の作動情報を利用してブロック単位の信頼性情報を生成することが可能な不揮発性メモリシステムについて説明する。
(実施形態2:構成)本実施形態に係る不揮発性メモリシステムの機能ブロック図を図5に例示する。不揮発性メモリシステムは、「作動情報取得部」(0501)と、「作動情報保持部」(0502)と、「信頼性情報生成部」(0503)と、を有する。
「信頼性情報生成部」(0503)は、複数の作動情報をパラメータとした計算によってブロック単位の信頼性情報を生成する機能を有する。「複数の作動情報」とは、前記作動情報保持部(0502)にて保持されている作動情報が該当する。「ブロック単位の信頼性情報を生成する」とは、ブロックごとに信頼性情報を生成することを意味する。また、「信頼性情報」とは、各ブロックの信頼性(劣化度)を表す情報であり、具体的には、例えば信頼度のような数値で表されるものであってもよいし、信頼度ランクのようにレベルで表されるものであってもよい。「複数の作動情報をパラメータとした計算」とは、例えば、複数の作動情報をパラメータとした計算式によって信頼度を算出する場合や、各作動情報に対して値に応じたランクを付与し、付与された各作動情報のランクを加味して該当ブロックの信頼度ランクを決定する場合等が該当する。
図6は、信頼性情報生成部において信頼性情報として信頼度を算出する場合を例示する。まず、作動情報保持部(0601)においては、図3に例示した作動情報と同じ作動情報(0603)が保持されているとする。また、信頼性情報生成部(0602)において、信頼度を算出するための計算式として、消去回数と読出回数をパラメータとして、「信頼度=消去回数×0.8+読出回数×0.2」という計算式が予め決められていたとする。すると、例えばブロック番号10では、消去回数が15700、読出回数が22300、であるので、15700×0.8+22300×0.2=17020、と計算され、ブロック番号10のブロックの信頼度は17020であると算出される。他のブロックについても同様である(0604)。
図7は、信頼性情報生成部において信頼性情報として信頼度ランクを決定する場合を例示する。図6と同様に、作動情報保持部(図示しない)においては、図3に例示した作動情報と同じ作動情報が保持されているとする。また、信頼性情報生成部において消去回数と読出回数に対して与えるランクとして、0回以上1万回未満の場合はランク1、1万回以上3万回未満の場合はランク2、3万回以上5万回未満の場合はランク3、5万回以上7万回未満の場合はランク4、7万回以上の場合はランク5、と予め決められているとする(0701)。すなわち、ランク1が一番信頼度が高く、ランク5が一番信頼度が低いということである。また、消去回数と読出回数のランクのうち信頼度の低いほうのランクを該当ブロックの信頼度ランクとして決定することとする。この場合、例えばブロック番号11では、消去回数が53100であるため消去回数のランクはランク4、読出回数は75000であるためランク5、と決定される。また、消去回数のランク4と読出回数のランク5というレベルにより、ブロック番号11のブロックの信頼度ランクはランク5と決定される(0702)。
また、信頼性情報生成部の具体的な処理としては、例えば作動情報保持部においてデータベース等としてRAMやHDD等の所定の記憶領域に格納されている作動情報を読出し、さらに、例えば図6に例示したような計算式をRAMやHDD等の所定の記憶領域から読出す。読出した計算式に応じて、読出した作動情報により信頼度を算出し、算出した信頼度をRAMやHDD等の所定の記憶領域に格納する。また、信頼性情報生成部はこのような処理をCPUに実行させるためのプログラムを含んでいてもよい。
(実施形態2:処理の流れ)図8は、本実施形態に係る不揮発性メモリシステムにおける処理の流れを示すフロー図を例示する。
最初に、ステップS0801において不揮発性メモリ装置の複数種の作動情報をブロック単位で取得する。この処理は、主に作動情報取得部によって実行される。次に、ステップS0802において取得した作動情報を保持する。この処理は、主に作動情報保持部によって実行される。次に、ステップS0803において複数の作動情報をパラメータとした計算によってブロック単位の信頼性情報を生成する。この処理は、主に信頼性情報生成部によって実行される。
(実施形態2:詳細な具体例)図37は、一般的なフラッシュメモリの構成に加えて、作動情報取得部(3701)と作動情報保持部(3702)と信頼性情報生成部(3705)とがメモリ内部に構成されている場合を例示する図である。このような場合、例えば作動情報取得部(3701)は制御回路(3703)から作動情報を取得するようになっていてもよい。また、メモリセルアレイ(3704)を作動情報保持部として利用するようになっており、信頼性情報生成部(3705)はメモリセルアレイ(3704)に保持された作動情報から信頼性情報を生成するようになっていてもよい。
(実施形態2:効果)本実施形態に係る不揮発性メモリシステムは、複数の作動情報を利用してブロック単位の信頼性情報を生成できるので、多面的に各ブロックの信頼性を測ることができる。
(実施形態3)
(実施形態3)
(実施形態3:概要)本実施形態は、各ブロックの信頼性情報を利用して各ブロックに対するデータの格納・再配置を管理することが可能な不揮発性メモリシステムについて説明する。
(実施形態3:構成)本実施形態に係る不揮発性メモリシステムの機能ブロック図を図
9に例示する。不揮発性メモリシステムは、「作動情報取得部」(0901)と、「作動情報保持部」(0902)と、「信頼性情報生成部」(0903)と、「管理部」(0904)と、を有する。すなわち、本実施形態に係る不揮発性メモリシステムは、実施形態2に係る不揮発性メモリシステムの構成に、「管理部」(0904)を加えた構成となっている。
9に例示する。不揮発性メモリシステムは、「作動情報取得部」(0901)と、「作動情報保持部」(0902)と、「信頼性情報生成部」(0903)と、「管理部」(0904)と、を有する。すなわち、本実施形態に係る不揮発性メモリシステムは、実施形態2に係る不揮発性メモリシステムの構成に、「管理部」(0904)を加えた構成となっている。
「管理部」(0904)は、ブロック単位の信頼性情報を利用して各ブロックに対するデータの格納・再配置を管理する機能を有する。「ブロック単位の信頼性情報」とは、前記信頼性情報生成部(0903)にて生成されるブロック単位の信頼性情報を指す。「ブロック単位の信頼性情報を利用して各ブロックに対するデータの格納・再配置を管理する」とは、例えばデータの格納(書込み)や再配置の命令が不揮発性メモリシステムに対して出力された場合に、より信頼性の高いブロックにデータを格納したり再配置をしたりする場合等が該当する。例えば、図6にて算出したブロック番号8から12の信頼度を例とすると、一番信頼度が高い(値が低い)のはブロック番号8であるので、不揮発性メモリシステムにてデータの書込みを行なう場合にはブロック番号8のブロックに書込む等の処理を行なう。また、複数のブロックを使用してデータの書込みを行なう場合には、信頼度が高い順に、ブロック番号8、9、10、12、11、のブロックを使用していく等となっているとよい。管理部は、具体的には、例えばメモリコントローラなどが該当する。図32に例示するように、メモリコントローラはメモリとCPUとのデータの仲介を行なう機能を有し、例えば、アプリケーション(3201)からメモリ(3203)に対してデータの書込み命令が実行された場合には、まずメモリコントローラ(3202)を介してメモリ(3203)にデータの書込みが行なわれることとなる。
管理部の具体的な処理としては、例えば信頼性情報生成部においてRAMやHDD等の所定の記憶領域に格納されている各ブロックの信頼性情報を読出し、読出した各ブロックの信頼性情報にて表される信頼度のうち最も小さい値を示すブロックのブロック番号をRAM等の所定の記憶領域に格納する。さらに、RAM等の所定の記憶領域から信頼度の最も小さいブロックのブロック番号を読出し、読出したブロック番号のブロックに対してデータの格納(書込み)を行なう。また、管理部はこのような処理をCPUに実行させるためのプログラムを含んでいてもよい。
(実施形態3:処理の流れ)図10は、本実施形態に係る不揮発性メモリシステムにおける処理の流れを示すフロー図を例示する。
最初に、ステップS1001において不揮発性メモリ装置の複数種の作動情報をブロック単位で取得する。この処理は、主に作動情報取得部によって実行される。次に、ステップS1002において取得した作動情報を保持する。この処理は、主に作動情報保持部によって実行される。次に、ステップS1003において複数の作動情報をパラメータとした計算によってブロック単位の信頼性情報を生成する。この処理は、主に信頼性情報生成部によって実行される。次に、ステップS1004においてブロック単位の信頼性情報を利用して各ブロックに対するデータの格納・再配置を管理する。この処理は、主に管理部によって実行される。次に、ステップS1005において処理を終了するか判断する。ここでの判断が終了するとの判断であった場合には、処理を終了する。ここでの判断が終了しないとの判断であった場合には、ステップS1001に戻る。
(実施形態3:詳細な具体例)図38は、一般的なフラッシュメモリの構成に加えて、作動情報取得部(3801)と作動情報保持部(3802)と信頼性情報生成部(3805)と管理部(3803)とがメモリ内部に構成されている場合を例示する図である。このような場合、例えば制御回路(3803)がすなわち管理部の役目を果たしていてもよい。また、例えば作動情報取得部(3801)は制御回路(3803)から作動情報を取得するようになっていてもよい。また、メモリセルアレイ(3804)を作動情報保持部として利用するようになっており、信頼性情報生成部(3805)はメモリセルアレイ(3804)に保持された作動情報から信頼性情報を生成するようになっていてもよい。
(実施形態3:効果)本実施形態に係る不揮発性メモリシステムは、各ブロックの信頼性情報に基づいてデータの格納や再配置を行なうことができるので、例えば劣化の少ない、より信頼性の高いブロックにデータを格納等することができる。
(実施形態4)
(実施形態4)
(実施形態4:概要)本実施形態は、ブロックごとにデータを格納する際にエラー訂正符号を付加して格納を行ない、読出しに際しては読出しエラーの訂正を行なうことで、作動情報として読出しエラーの訂正の成否を示すエラー訂正情報を取得することを特徴とする不揮発性メモリシステムについて説明する。
(実施形態4:構成)本実施形態に係る不揮発性メモリシステムの機能ブロック図を図
11に例示する。不揮発性メモリシステムは、「作動情報取得部」(1101)と、「作動情報保持部」(1102)と、「信頼性情報生成部」(1103)と、「管理部」(1104)と、を有する。また、管理部(1104)は、「訂正手段」(1105)を有する。また、作動情報取得部(1101)は、「エラー訂正情報取得手段」(1106)を有する。すなわち、本実施形態に係る不揮発性メモリシステムは、実施形態3に係る不揮発性メモリシステムの構成に、「訂正手段」(1105)と「エラー訂正情報取得手段」(1106)を加えた構成となっている。
11に例示する。不揮発性メモリシステムは、「作動情報取得部」(1101)と、「作動情報保持部」(1102)と、「信頼性情報生成部」(1103)と、「管理部」(1104)と、を有する。また、管理部(1104)は、「訂正手段」(1105)を有する。また、作動情報取得部(1101)は、「エラー訂正情報取得手段」(1106)を有する。すなわち、本実施形態に係る不揮発性メモリシステムは、実施形態3に係る不揮発性メモリシステムの構成に、「訂正手段」(1105)と「エラー訂正情報取得手段」(1106)を加えた構成となっている。
「訂正手段」(1105)は、ブロックごとのデータの格納に際して読出エラー訂正のためにエラー訂正符号を含む格納を行なうとともに、読出に際して読出エラーの訂正を行なう機能を有する。「エラー訂正符号」とは、具体的には、例えばECC(Error−Correcting Code)、ハミング符号、等が該当する。例えばECCの場合、図33に例示するように、データ64ビット(3301)につき8ビットのエラー訂正用チェックビット(3302)を持たせると2ビットまでの誤りを検出し1ビットまでの誤りは訂正することができる。また、「エラー訂正符号を含む格納」とは、すなわち、図33の例で言えばデータの64ビットに8ビットのエラー訂正用チェックビットを加えて全72ビットを格納することを意味する。
「エラー訂正情報取得手段」(1106)は、作動情報として読出エラーの訂正の成功・不成功を示すエラー訂正情報をブロックごとに取得する機能を有する。「読出エラーの訂正の成功・不成功」とは、読出エラーのチェックを行ないエラーがあると判断してエラー訂正を行なったか否かを意味してもよいし、エラー訂正を行なった結果として訂正することができたか否かを意味してもよい。
図12は、エラー訂正情報の具体例を示す。図12に例示したエラー訂正情報は、ブロック番号12のブロックは、読出エラー訂正が成功したことを表している。より具体的には、エラー訂正情報は、例えば「block_num=12、error_correct=‘success’」というようなデータにより表される。ここで、「block_num」は、前述のようにブロック番号を表すプログラム上の変数である。また、「error_correct」は、読出エラーの訂正の成功・不成功を表すプログラム上の変数であり、値が‘success’であれば読出エラーの訂正が成功したことを表し、値が‘unsuccess’であれば読出エラーの訂正が不成功であったことを表す。また、図12においてはブロック番号12のブロックのみについてのエラー訂正情報を示しているが、他の各ブロックについても同様にエラー訂正情報が取得されることとなる。エラー訂正情報は作動情報として取得されるものであるので、エラー訂正情報の取得元としては、前記訂正手段(1105)等が想定される。
(実施形態4:処理の流れ)図13は、本実施形態に係る不揮発性メモリシステムにおける処理の流れを示すフロー図を例示する。
最初に、ステップS1301において作動情報として読出エラーの訂正の成功・不成功を示すエラー訂正情報を作動情報として取得する。この処理は、主にエラー訂正情報取得手段によって実行される。次に、ステップS1302において取得した作動情報を保持する。この処理は、主に作動情報保持部によって実行される。次に、ステップS1303において複数の作動情報をパラメータとした計算によってブロック単位の信頼性情報を生成する。この処理は、主に信頼性情報生成部によって実行される。次に、ステップS1304においてブロックごとのデータの格納に際して読出エラー訂正のためにエラー訂正符号を含む格納を行なうとともに、読出に際して読出エラーの訂正を行なう。この処理は、主に訂正手段によって実行される。次に、ステップS1305において処理を終了するか判断する。ここでの判断が終了するとの判断であった場合には、処理を終了する。ここでの判断が終了しないとの判断であった場合には、ステップS1301に戻る。
(実施形態4:詳細な具体例)図39は、一般的なフラッシュメモリの構成に加えて、作動情報取得部(エラー訂正情報取得手段)(3901)と作動情報保持部(3902)と信頼性情報生成部(3905)と管理部(訂正手段)(3903)とがメモリ内部に構成されている場合を例示する図である。このような場合、例えば制御回路(3903)がすなわち管理部(訂正手段)の役目を果たしていてもよい。また、例えば作動情報取得部(エラー訂正情報取得手段)(3901)は制御回路(3903)から作動情報(エラー訂正情報)を取得するようになっていてもよい。また、メモリセルアレイ(3904)を作動情報保持部として利用するようになっており、信頼性情報生成部(3905)はメモリセルアレイ(3904)に保持された作動情報(エラー訂正情報)から信頼性情報を生成するようになっていてもよい。
また、さらに訂正手段における、前記「ブロックごとのデータの格納に際して読出エラー訂正のためにエラー訂正符号を含む格納」はメモリの外部にて実行され、前記「読出に際して読出エラーの訂正」はメモリ内部(制御回路3903)にて実行されるようになっていてもよい。
(実施形態4:効果)本実施形態に係る不揮発性メモリシステムは、作動情報としてエラー訂正情報をブロックごとに取得することができるので、例えばエラー訂正を行なうことができないブロックを避けて、データの格納等を行なうことができる。
(実施形態5)
(実施形態5)
(実施形態5:概要)本実施形態は、ブロックごとにデータの格納に要した時間を示す格納時間情報を作動情報として取得することを特徴とする不揮発性メモリシステムについて説明する。
(実施形態5:構成)本実施形態に係る不揮発性メモリシステムの機能ブロック図を図
14に例示する。本実施形態に係る不揮発性メモリシステムは、実施形態3又は4に係る不揮発性メモリシステムの構成に、「格納時間情報取得手段」(1407)を加えた構成となっている。図14においては、実施形態3に係る不揮発性メモリシステムの構成に、「格納時間情報取得手段」(1407)を加えた構成を例示している。不揮発性メモリシステムは、「作動情報取得部」(1401)と、「作動情報保持部」(1402)と、「信頼性情報生成部」(1403)と、「管理部」(1404)と、を有する。また、作動情報取得部(1401)は、「格納時間情報取得手段」(1407)を有する。
14に例示する。本実施形態に係る不揮発性メモリシステムは、実施形態3又は4に係る不揮発性メモリシステムの構成に、「格納時間情報取得手段」(1407)を加えた構成となっている。図14においては、実施形態3に係る不揮発性メモリシステムの構成に、「格納時間情報取得手段」(1407)を加えた構成を例示している。不揮発性メモリシステムは、「作動情報取得部」(1401)と、「作動情報保持部」(1402)と、「信頼性情報生成部」(1403)と、「管理部」(1404)と、を有する。また、作動情報取得部(1401)は、「格納時間情報取得手段」(1407)を有する。
「格納時間情報取得手段」(1407)は、管理部(1404)からブロックごとにデータの格納に要した時間を示す格納時間情報を作動情報として取得する機能を有する。「格納に要した時間」とは、図35に例示した構成において、メモリコントローラ(3501)から制御回路(3502)までの処理時間であってもよいし、制御回路(3502)からメモリセル(3503)までの処理時間であってもよいし、双方の処理時間を足し合わせた処理時間であってもよい。さらに詳しくは、図40は一般的なフラッシュメモリの構成に加えて、作動情報取得部(格納時間情報取得手段)(4001)と作動情報保持部(4002)と信頼性情報生成部(4005)と管理部(制御回路4003)とがメモリ内部に構成されている場合を例示する図であるが、通常、格納データは、DQ0〜DQ15に与えられる。また、アドレスは/CEと/WEの両方がLレベルとなった時、データは/WEと/CEの両方がLレベルになった後いずれか一方が立ち上がってHレベルへ変化したタイミングにてメモリセルアレイ(4004)に取り込まれることとなる。また、NOR型フラッシュメモリにおいては、例えば特定のアドレスに特定のデータを3回書込んだ後に格納データを1回書込むというコマンドシーケンスを踏むことで格納データの書込み(格納)を行なうことができるが、格納時間とは、これら一連の格納処理が行なわれる時間等が該当する。
図15は、格納時間情報の具体例を示す。図15に例示した格納時間情報は、ブロック番号12のブロックは、データを格納するのに200μs(マイクロ秒)要したことを表している。より具体的には、格納時間情報は、例えば「block_num=12、write_time=200」というようなデータにより表される。ここで、「block_num」は、前述のようにブロック番号を表すプログラム上の変数である。また、「write_time」は、データの格納に要した時間を表すプログラム上の変数であり、図15においては単位はマイクロ秒で表されている。また、図15においてはブロック番号12のブロックのみについての格納時間情報を示しているが、他の各ブロックについても同様に格納時間情報が取得されることとなる。格納時間情報は作動情報として取得されるものであるので、格納時間情報の取得元としては、前記管理部(1404)等が想定される。
(実施形態5:処理の流れ)図16は、本実施形態に係る不揮発性メモリシステムにおける処理の流れを示すフロー図を例示する。
最初に、ステップS1601においてブロックごとにデータの格納に要した時間を示す格納時間情報を作動情報として取得する。この処理は、主に格納時間情報取得手段によって実行される。次に、ステップS1602において取得した作動情報を保持する。この処理は、主に作動情報保持部によって実行される。次に、ステップS1603において複数の作動情報をパラメータとした計算によってブロック単位の信頼性情報を生成する。この処理は、主に信頼性情報生成部によって実行される。次に、ステップS1604においてブロック単位の信頼性情報を利用して各ブロックに対するデータの格納・再配置を管理する。この処理は、主に管理部によって実行される。次に、ステップS1605において処理を終了するか判断する。ここでの判断が終了するとの判断であった場合には、処理を終了する。ここでの判断が終了しないとの判断であった場合には、ステップS1601に戻る。
(実施形態5:詳細な具体例)図40は、一般的なフラッシュメモリの構成に加えて、作動情報取得部(格納時間情報取得手段)(4001)と作動情報保持部(4002)と信頼性情報生成部(4005)と管理部(4003)とがメモリ内部に構成されている場合を例示する図である。このような場合、例えば制御回路(4003)がすなわち管理部の役目を果たしていてもよい。また、例えば作動情報取得部(格納時間情報取得手段)(4001)は制御回路(4003)から作動情報(格納時間情報)を取得するようになっていてもよい。また、メモリセルアレイ(4004)を作動情報保持部として利用するようになっており、信頼性情報生成部(4005)はメモリセルアレイ(4004)に保持された作動情報(格納時間情報)から信頼性情報を生成するようになっていてもよい。
(実施形態5:効果)本実施形態に係る不揮発性メモリシステムは、格納時間情報を作動情報として取得することができるので、劣化してくるとデータの格納時間が長くなるというフラッシュメモリの特性を利用して、信頼性の低い(劣化している)ブロックを避けて、データの格納等を行なうことができる。また、格納時間情報自体が消失しても計測し直すことが可能であり、かつメモリ生産時における各ブロックの特性のばらつきをも考慮することが可能である。
(実施形態6)
(実施形態6)
(実施形態6:概要)本実施形態は、ブロックごとにデータの消去に要した時間を示す消去時間情報を作動情報として取得することを特徴とする不揮発性メモリシステムについて説明する。
(実施形態6:構成)本実施形態に係る不揮発性メモリシステムの機能ブロック図を図
17に例示する。本実施形態に係る不揮発性メモリシステムは、実施形態3から5のいずれか一に係る不揮発性メモリシステムの構成に、「消去時間情報取得手段」(1708)を加えた構成となっている。図17においては、実施形態3に係る不揮発性メモリシステムの構成に、「消去時間情報取得手段」(1708)を加えた構成を例示している。不揮発性メモリシステムは、「作動情報取得部」(1701)と、「作動情報保持部」(1702)と、「信頼性情報生成部」(1703)と、「管理部」(1704)と、を有する。また、作動情報取得部(1701)は、「消去時間情報取得手段」(1708)を有する。
17に例示する。本実施形態に係る不揮発性メモリシステムは、実施形態3から5のいずれか一に係る不揮発性メモリシステムの構成に、「消去時間情報取得手段」(1708)を加えた構成となっている。図17においては、実施形態3に係る不揮発性メモリシステムの構成に、「消去時間情報取得手段」(1708)を加えた構成を例示している。不揮発性メモリシステムは、「作動情報取得部」(1701)と、「作動情報保持部」(1702)と、「信頼性情報生成部」(1703)と、「管理部」(1704)と、を有する。また、作動情報取得部(1701)は、「消去時間情報取得手段」(1708)を有する。
「消去時間情報取得手段」(1708)は、管理部(1704)からブロックごとにデータの消去に要した時間を示す消去時間情報を作動情報として取得する機能を有する。「消去に要した時間」とは、図35に例示した構成において、メモリコントローラ(3501)から制御回路(3502)までの処理時間であってもよいし、制御回路(3502)からメモリセル(3503)までの処理時間であってもよいし、双方の処理時間を足し合わせた処理時間であってもよい。さらに詳しくは、図41は一般的なフラッシュメモリの構成に加えて、作動情報取得部(消去時間情報取得手段)(4101)と作動情報保持部(4102)と信頼性情報生成部(4105)と管理部(制御回路4103)とがメモリ内部に構成されている場合を例示する図であるが、データの格納と同様に、アドレスは/CEと/WEの両方がLレベルとなった時、データは/WEと/CEの両方がLレベルになった後いずれか一方が立ち上がってHレベルへ変化したタイミングにてメモリセルアレイ(4104)に取り込まれることとなる。NOR型フラッシュメモリにおいては、例えば特定のアドレスに特定のデータを6回書込むというコマンドシーケンスを踏むことでデータの消去が行なうことができるが、消去時間とは、これら一連の消去処理が行なわれる時間等が該当する。
図18は、消去時間情報の具体例を示す。図18に例示した消去時間情報は、ブロック番号12のブロックは、データを消去するのに2ms(ミリ秒)要したことを表している。より具体的には、消去時間情報は、例えば「block_num=12、erase_time=2」というようなデータにより表される。ここで、「block_num」は、前述のようにブロック番号を表すプログラム上の変数である。また、「erase_time」は、データの消去に要した時間を表すプログラム上の変数であり、図18においては単位はミリ秒で表されている。また、図18においてはブロック番号12のブロックのみについての消去時間情報を示しているが、他の各ブロックについても同様に消去時間情報が取得されることとなる。消去時間情報は作動情報として取得されるものであるので、消去時間情報の取得元としては、前記管理部(1704)等が想定される。
(実施形態6:処理の流れ)図19は、本実施形態に係る不揮発性メモリシステムにおける処理の流れを示すフロー図を例示する。
最初に、ステップS1901においてブロックごとにデータの消去に要した時間を示す消去時間情報を作動情報として取得する。この処理は、主に消去時間情報取得手段によって実行される。次に、ステップS1902において取得した作動情報を保持する。この処理は、主に作動情報保持部によって実行される。次に、ステップS1903において複数の作動情報をパラメータとした計算によってブロック単位の信頼性情報を生成する。この処理は、主に信頼性情報生成部によって実行される。次に、ステップS1904においてブロック単位の信頼性情報を利用して各ブロックに対するデータの格納・再配置を管理する。この処理は、主に管理部によって実行される。次に、ステップS1905において処理を終了するか判断する。ここでの判断が終了するとの判断であった場合には、処理を終了する。ここでの判断が終了しないとの判断であった場合には、ステップS1901に戻る。
(実施形態6:詳細な具体例)図41は、一般的なフラッシュメモリの構成に加えて、作動情報取得部(消去時間情報取得手段)(4101)と作動情報保持部(4102)と信頼性情報生成部(4105)と管理部(4103)とがメモリ内部に構成されている場合を例示する図である。このような場合、例えば制御回路(4103)がすなわち管理部の役目を果たしていてもよい。また、例えば作動情報取得部(消去時間情報取得手段)(4101)は制御回路(4103)から作動情報(消去時間情報)を取得するようになっていてもよい。また、メモリセルアレイ(4104)を作動情報保持部として利用するようになっており、信頼性情報生成部(4105)はメモリセルアレイ(4104)に保持された作動情報(消去時間情報)から信頼性情報を生成するようになっていてもよい。
(実施形態6:効果)本実施形態に係る不揮発性メモリシステムは、消去時間情報を作動情報として取得することができるので、劣化してくるとデータの消去時間が長くなるというフラッシュメモリの特性を利用して、信頼性の低い(劣化している)ブロックを避けて、データの格納等を行なうことができる。また、消去時間情報自体が消失しても計測し直すことが可能であり、かつメモリ生産時における各ブロックの特性のばらつきをも考慮することが可能である。
(実施形態7)
(実施形態7)
(実施形態7:概要)本実施形態は、ブロックごとにデータの消去回数を示す消去回数情報を作動情報として取得することを特徴とする不揮発性メモリシステムについて説明する。
(実施形態7:構成)本実施形態に係る不揮発性メモリシステムの機能ブロック図を図
20に例示する。本実施形態に係る不揮発性メモリシステムは、実施形態3から6のいずれか一に係る不揮発性メモリシステムの構成に、「消去回数情報取得手段」(2009)を加えた構成となっている。図20においては、実施形態3に係る不揮発性メモリシステムの構成に、「消去回数情報取得手段」(2009)を加えた構成を例示している。不揮発性メモリシステムは、「作動情報取得部」(2001)と、「作動情報保持部」(2002)と、「信頼性情報生成部」(2003)と、「管理部」(2004)と、を有する。また、作動情報取得部(2001)は、「消去回数情報取得手段」(2009)を有する。
20に例示する。本実施形態に係る不揮発性メモリシステムは、実施形態3から6のいずれか一に係る不揮発性メモリシステムの構成に、「消去回数情報取得手段」(2009)を加えた構成となっている。図20においては、実施形態3に係る不揮発性メモリシステムの構成に、「消去回数情報取得手段」(2009)を加えた構成を例示している。不揮発性メモリシステムは、「作動情報取得部」(2001)と、「作動情報保持部」(2002)と、「信頼性情報生成部」(2003)と、「管理部」(2004)と、を有する。また、作動情報取得部(2001)は、「消去回数情報取得手段」(2009)を有する。
「消去回数情報取得手段」(2009)は、管理部(2004)からブロックごとにデータの消去回数を示す消去回数情報を作動情報として取得する機能を有する。図42は、一般的なフラッシュメモリの構成に加えて、作動情報取得部(消去回数情報取得手段)(4201)と作動情報保持部(4202)と信頼性情報生成部(4205)と管理部(制御回路4203)とがメモリ内部に構成されている場合を例示する図であるが、消去回数は、例えば制御回路(4203)で実行を許可した消去コマンドのカウンターをインクリメントすることにより取得することができる。
図21は、消去回数情報の具体例を示す。図21に例示した消去回数情報は、ブロック番号12のブロックは、データの消去回数が32000回であることを表している。より具体的には、消去回数情報は、例えば「block_num=12、erase_count=32000」というようなデータにより表される。ここで、「block_num」は、前述のようにブロック番号を表すプログラム上の変数であり、「erase_count」は、データの消去回数を表すプログラム上の変数である。また、図21においてはブロック番号12のブロックのみについての消去回数情報を示しているが、他の各ブロックについても同様に消去回数情報が取得されることとなる。消去回数情報は作動情報として取得されるものであるので、消去回数情報の取得元としては、前記管理部(2004)等が想定される。
(実施形態7:処理の流れ)図22は、本実施形態に係る不揮発性メモリシステムにおける処理の流れを示すフロー図を例示する。
最初に、ステップS2201においてブロックごとにデータの消去回数を示す消去回数情報を作動情報として取得する。この処理は、主に消去回数情報取得手段によって実行される。次に、ステップS2202において取得した作動情報を保持する。この処理は、主に作動情報保持部によって実行される。次に、ステップS2203において複数の作動情報をパラメータとした計算によってブロック単位の信頼性情報を生成する。この処理は、主に信頼性情報生成部によって実行される。次に、ステップS2204においてブロック単位の信頼性情報を利用して各ブロックに対するデータの格納・再配置を管理する。この処理は、主に管理部によって実行される。次に、ステップS2205において処理を終了するか判断する。ここでの判断が終了するとの判断であった場合には、処理を終了する。ここでの判断が終了しないとの判断であった場合には、ステップS2201に戻る。
(実施形態7:詳細な具体例)図42は、一般的なフラッシュメモリの構成に加えて、作動情報取得部(消去回数情報取得手段)(4201)と作動情報保持部(4202)と信頼性情報生成部(4205)と管理部(4203)とがメモリ内部に構成されている場合を例示する図である。このような場合、例えば制御回路(4203)がすなわち管理部の役目を果たしていてもよい。また、例えば作動情報取得部(消去回数情報取得手段)(4201)は制御回路(4203)から作動情報(消去回数情報)を取得するようになっていてもよい。また、メモリセルアレイ(4204)を作動情報保持部として利用するようになっており、信頼性情報生成部(4205)はメモリセルアレイ(4204)に保持された作動情報(消去回数情報)から信頼性情報を生成するようになっていてもよい。
(実施形態7:効果)本実施形態に係る不揮発性メモリシステムは、消去回数情報を作動情報として取得することができるので、消去回数の少ないブロックを優先的に使用して、データの格納等を行なうことができる。
(実施形態8)
(実施形態8)
(実施形態8:概要)本実施形態は、ブロックごとにデータの読出回数を示す読出回数情報を作動情報として取得することを特徴とする不揮発性メモリシステムについて説明する。
(実施形態8:構成)本実施形態に係る不揮発性メモリシステムの機能ブロック図を図
23に例示する。本実施形態に係る不揮発性メモリシステムは、実施形態3から7のいずれか一に係る不揮発性メモリシステムの構成に、「読出回数情報取得手段」(2310)を加えた構成となっている。図23においては、実施形態3に係る不揮発性メモリシステムの構成に、「読出回数情報取得手段」(2310)を加えた構成を例示している。不揮発性メモリシステムは、「作動情報取得部」(2301)と、「作動情報保持部」(2302)と、「信頼性情報生成部」(2303)と、「管理部」(2304)と、を有する。また、作動情報取得部(2301)は、「読出回数情報取得手段」(2310)を有する。
23に例示する。本実施形態に係る不揮発性メモリシステムは、実施形態3から7のいずれか一に係る不揮発性メモリシステムの構成に、「読出回数情報取得手段」(2310)を加えた構成となっている。図23においては、実施形態3に係る不揮発性メモリシステムの構成に、「読出回数情報取得手段」(2310)を加えた構成を例示している。不揮発性メモリシステムは、「作動情報取得部」(2301)と、「作動情報保持部」(2302)と、「信頼性情報生成部」(2303)と、「管理部」(2304)と、を有する。また、作動情報取得部(2301)は、「読出回数情報取得手段」(2310)を有する。
「読出回数情報取得手段」(2310)は、管理部(2304)からブロックごとにデータの読出回数を示す読出回数情報を作動情報として取得する機能を有する。図43は、一般的なフラッシュメモリの構成に加えて、作動情報取得部(読出回数情報取得手段)(4301)と作動情報保持部(4302)と信頼性情報生成部(4305)と管理部(制御回路4303)とがメモリ内部に構成されている場合を例示する図であるが、読出回数は、例えば制御回路(4303)で実行を許可した読出コマンドのカウンターをインクリメントすることにより取得することができる。
図24は、読出回数情報の具体例を示す。図24に例示した読出回数情報は、ブロック番号12のブロックは、データの読出回数が53000回であることを表している。より具体的には、読出回数情報は、例えば「block_num=12、read_count=32000」というようなデータにより表される。ここで、「block_num」は、前述のようにブロック番号を表すプログラム上の変数であり、「read_count」は、データの読出回数を表すプログラム上の変数である。また、図24においてはブロック番号12のブロックのみについての読出回数情報を示しているが、他の各ブロックについても同様に読出回数情報が取得されることとなる。読出回数情報は作動情報として取得されるものであるので、読出回数情報の取得元としては、前記管理部(2004)等が想定される。
(実施形態8:処理の流れ)図25は、本実施形態に係る不揮発性メモリシステムにおける処理の流れを示すフロー図を例示する。
最初に、ステップS2501においてブロックごとにデータの読出回数を示す読出回数情報を作動情報として取得する。この処理は、主に読出回数情報取得手段によって実行される。次に、ステップS2502において取得した作動情報を保持する。この処理は、主に作動情報保持部によって実行される。次に、ステップS2503において複数の作動情報をパラメータとした計算によってブロック単位の信頼性情報を生成する。この処理は、主に信頼性情報生成部によって実行される。次に、ステップS2504においてブロック単位の信頼性情報を利用して各ブロックに対するデータの格納・再配置を管理する。この処理は、主に管理部によって実行される。次に、ステップS2505において処理を終了するか判断する。ここでの判断が終了するとの判断であった場合には、処理を終了する。ここでの判断が終了しないとの判断であった場合には、ステップS2501に戻る。
(実施形態8:詳細な具体例)図43は、一般的なフラッシュメモリの構成に加えて、作動情報取得部(読出回数情報取得手段)(4301)と作動情報保持部(4302)と信頼性情報生成部(4305)と管理部(4303)とがメモリ内部に構成されている場合を例示する図である。このような場合、例えば制御回路(4303)がすなわち管理部の役目を果たしていてもよい。また、例えば作動情報取得部(読出回数情報取得手段)(4301)は制御回路(4303)から作動情報(読出回数情報)を取得するようになっていてもよい。また、メモリセルアレイ(4304)を作動情報保持部として利用するようになっており、信頼性情報生成部(4305)はメモリセルアレイ(4304)に保持された作動情報(読出回数情報)から信頼性情報を生成するようになっていてもよい。
(実施形態8:効果)本実施形態に係る不揮発性メモリシステムは、読出回数情報を作動情報として取得することができるので、読出回数の少ないブロックを優先的に使用してデータの格納等を行なうことが可能であり、特にデータの読出しだけでも劣化するという特性を有するNAND型フラッシュメモリ等において有用である。
(実施形態9)
(実施形態9)
(実施形態9:概要)本実施形態は、ブロックごとにデータの格納回数を示す格納回数情報を作動情報として取得することを特徴とする不揮発性メモリシステムについて説明する。
(実施形態9:構成)本実施形態に係る不揮発性メモリシステムの機能ブロック図を図
26に例示する。本実施形態に係る不揮発性メモリシステムは、実施形態3から8のいずれか一に係る不揮発性メモリシステムの構成に、「格納回数情報取得手段」(2611)を加えた構成となっている。図26においては、実施形態3に係る不揮発性メモリシステムの構成に、「格納回数情報取得手段」(2611)を加えた構成を例示している。不揮発性メモリシステムは、「作動情報取得部」(2601)と、「作動情報保持部」(2602)と、「信頼性情報生成部」(2603)と、「管理部」(2604)と、を有する。また、作動情報取得部(2601)は、「格納回数情報取得手段」(2611)を有する。
26に例示する。本実施形態に係る不揮発性メモリシステムは、実施形態3から8のいずれか一に係る不揮発性メモリシステムの構成に、「格納回数情報取得手段」(2611)を加えた構成となっている。図26においては、実施形態3に係る不揮発性メモリシステムの構成に、「格納回数情報取得手段」(2611)を加えた構成を例示している。不揮発性メモリシステムは、「作動情報取得部」(2601)と、「作動情報保持部」(2602)と、「信頼性情報生成部」(2603)と、「管理部」(2604)と、を有する。また、作動情報取得部(2601)は、「格納回数情報取得手段」(2611)を有する。
「格納回数情報取得手段」(2611)は、管理部(2604)からブロックごとにデータの格納回数を示す格納回数情報を作動情報として取得する機能を有する。図44は、一般的なフラッシュメモリの構成に加えて、作動情報取得部(格納回数情報取得手段)(4401)と作動情報保持部(4402)と信頼性情報生成部(4405)と管理部(制御回路4403)とがメモリ内部に構成されている場合を例示する図であるが、格納回数は、例えば制御回路(4403)で実行を許可した格納コマンドのカウンターをインクリメントすることにより取得することができる。
図27は、格納回数情報の具体例を示す。図27に例示した格納回数情報は、ブロック番号12のブロックは、データの格納回数が30500回であることを表している。より具体的には、格納回数情報は、例えば「block_num=12、write_count=32000」というようなデータにより表される。ここで、「block_num」は、前述のようにブロック番号を表すプログラム上の変数であり、「write_count」は、データの格納回数を表すプログラム上の変数である。また、図27においてはブロック番号12のブロックのみについての格納回数情報を示しているが、他の各ブロックについても同様に格納回数情報が取得されることとなる。格納回数情報は作動情報として取得されるものであるので、格納回数情報の取得元としては、前記管理部(2004)等が想定される。
(実施形態9:処理の流れ)図28は、本実施形態に係る不揮発性メモリシステムにおける処理の流れを示すフロー図を例示する。
最初に、ステップS2801においてブロックごとにデータの格納回数を示す格納回数情報を作動情報として取得する。この処理は、主に格納回数情報取得手段によって実行される。次に、ステップS2802において取得した作動情報を保持する。この処理は、主に作動情報保持部によって実行される。次に、ステップS2803において複数の作動情報をパラメータとした計算によってブロック単位の信頼性情報を生成する。この処理は、主に信頼性情報生成部によって実行される。次に、ステップS2804においてブロック単位の信頼性情報を利用して各ブロックに対するデータの格納・再配置を管理する。この処理は、主に管理部によって実行される。次に、ステップS2805において処理を終了するか判断する。ここでの判断が終了するとの判断であった場合には、処理を終了する。ここでの判断が終了しないとの判断であった場合には、ステップS2801に戻る。
(実施形態9:詳細な具体例)図44は、一般的なフラッシュメモリの構成に加えて、作動情報取得部(格納回数情報取得手段)(4401)と作動情報保持部(4402)と信頼性情報生成部(4405)と管理部(4403)とがメモリ内部に構成されている場合を例示する図である。このような場合、例えば制御回路(4403)がすなわち管理部の役目を果たしていてもよい。また、例えば作動情報取得部(格納回数情報取得手段)(4401)は制御回路(4403)から作動情報(格納回数情報)を取得するようになっていてもよい。また、メモリセルアレイ(4404)を作動情報保持部として利用するようになっており、信頼性情報生成部(4405)はメモリセルアレイ(4404)に保持された作動情報(格納回数情報)から信頼性情報を生成するようになっていてもよい。
(実施形態9:効果)本実施形態に係る不揮発性メモリシステムは、格納回数情報を作動情報として取得することができるので、格納回数の少ないブロックを優先的に使用して、データの格納等を行なうことができる。
(実施形態10)
(実施形態10)
(実施形態10:概要)本実施形態は、作動情報保持部が不揮発性メモリシステム内に配置されている不揮発性メモリシステムであって、作動情報保持部は、作動情報を不揮発性メモリ装置内の複数のブロックに対してエラー訂正符号を含ませて分散して記録することを特徴とする不揮発性メモリシステムについて説明する。
(実施形態10:構成)本実施形態に係る不揮発性メモリシステムの機能ブロック図を図29に例示する。本実施形態に係る不揮発性メモリシステムは、実施形態1から9のいずれか一に係る不揮発性メモリシステムの構成に、「冗長分散記録手段」(2912)を加えた構成となっている。図29においては、実施形態1に係る不揮発性メモリシステムの構成に、「冗長分散記録手段」(2912)を加えた構成を例示している。不揮発性メモリシステムは、「作動情報取得部」(2901)と、「作動情報保持部」(2902)と、を有する。また、作動情報保持部(2902)は、「冗長分散記録手段」(2912)を有する。なお、作動情報保持部(2902)は、不揮発性メモリ装置内に配置されていることを特徴とする。すなわち、本実施形態に係る不揮発性メモリシステムにおいては、作動情報は不揮発性メモリ装置内に保持されることとなる。
「冗長分散記録手段」(2912)は、作動情報を不揮発性メモリ装置内の複数のブロックに対してエラー訂正符号を含ませて分散して記録する機能を有する。「エラー訂正符号」とは、前述のように、例えばECC、ハミング符号、等が該当する。「エラー訂正符号を含ませて分散して記録する」とは、複数の作動情報にそれぞれエラー訂正用チェックビット等を加えて別々のブロックに記録することを意味する。すなわち、作動情報を読出す際に読出エラーが発生したとしても、エラー訂正用チェックビット等により読出エラー訂正を行なうことができる。
図30は、冗長分散記録手段における処理の具体例を示す。図30においては、ブロック番号12のブロックの作動情報として、格納時間、消去時間、消去回数、の3つを記録する場合を例示する。例えば、ブロック番号13のブロックには、「block_num=12、write_time=200」という作動情報を記録し、ブロック番号14のブロックには、「block_num=12、erase_time=2」という作動情報を記録し、ブロック番号15のブロックには、「block_num=12、erase_count=32000」という作動情報を記録する。すなわち、ブロック13にはブロック12の格納時間が、ブロック14にはブロック12の消去時間が、ブロック15にはブロック12の消去回数が格納されることとなる。
(実施形態10:処理の流れ)図31は、本実施形態に係る不揮発性メモリシステムにおける処理の流れを示すフロー図を例示する。
最初に、ステップS3101において不揮発性メモリ装置の複数種の作動情報をブロック単位で取得する。この処理は、主に作動情報取得部によって実行される。次に、ステップS3102において作動情報を不揮発性メモリ装置内の複数のブロックに対してエラー訂正符号を含ませて分散して記録する。この処理は、主に冗長分散記録手段によって実行される。
(実施形態10:詳細な具体例)図45は、一般的なフラッシュメモリの構成に加えて、作動情報取得部(4501)と作動情報保持部(冗長分散記録手段)(4502)とがメモリ内部に構成されている場合を例示する図である。このような場合、例えば作動情報取得部(4501)は制御回路(4503)から作動情報を取得するようになっていてもよい。また、メモリセルアレイ(4504)を作動情報保持部として利用するようになっていてもよい。
(実施形態10:効果)本実施形態に係る不揮発性メモリシステムは、作動情報をエラー訂正符号を含ませて記録するため、作動情報を読出す際に読出エラーが発生したとしても、エラー訂正用チェックビット等により読出エラー訂正を行なうことができる。また、作動情報は複数のブロックに分散して記録されるため、例えば一のブロックから作動情報が読み出せない事態になったとしても、他のブロックから他の作動情報を読出すことができるので、より安全である。
0101 作動情報取得部
0102 作動情報保持部
0503 信頼性情報生成部
0904 管理部
0102 作動情報保持部
0503 信頼性情報生成部
0904 管理部
Claims (17)
- ブロック単位でのみデータ消去可能な不揮発性メモリ装置を含む不揮発性メモリシステムであって、
不揮発性メモリ装置の複数種の作動情報をブロック単位で取得する作動情報取得部と、
取得した作動情報を保持する作動情報保持部と、
を有する不揮発性メモリシステム。 - 複数の作動情報をパラメータとした計算によってブロック単位の信頼性情報を生成する信頼性情報生成部を有する請求項1に記載の不揮発性メモリシステム。
- ブロック単位の信頼性情報を利用して各ブロックに対するデータの格納・再配置を管理する管理部を有する請求項2に記載の不揮発性メモリシステム。
- 管理部は、ブロックごとのデータの格納に際して読出エラー訂正のためにエラー訂正符号を含む格納を行なうとともに、読出に際して読出エラーの訂正を行なう訂正手段を有し、
作動情報取得部は、作動情報として読出エラーの訂正の成功・不成功を示すエラー訂正情報をブロックごとに取得するエラー訂正情報取得手段を有する請求項3に記載の不揮発性メモリシステム。 - 作動情報取得部は、管理部からブロックごとにデータの格納に要した時間を示す格納時間情報を作動情報として取得する格納時間情報取得手段を有する請求項3又は4に記載の不揮発性メモリシステム。
- 作動情報取得部は、管理部からブロックごとにデータの消去に要した時間を示す消去時間情報を作動情報として取得する消去時間情報取得手段を有する請求項3から5のいずれか一に記載の不揮発性メモリシステム。
- 作動情報取得部は、管理部からブロックごとにデータの消去回数を示す消去回数情報を作動情報として取得する消去回数情報取得手段を有する請求項3から6のいずれか一に記載の不揮発性メモリシステム。
- 作動情報取得部は、管理部からブロックごとにデータの読出回数を示す読出回数情報を作動情報として取得する読出回数情報取得手段を有する請求項3から7のいずれか一に記載の不揮発性メモリシステム。
- 作動情報取得部は、管理部からブロックごとにデータの格納回数を示す格納回数情報を作動情報として取得する格納回数情報取得手段を有する請求項3から8のいずれか一に記載の不揮発性メモリシステム。
- 作動情報保持部は、不揮発性メモリ装置内に配置されている請求項1から9のいずれか一に記載の不揮発性メモリシステム。
- 作動情報保持部は、作動情報を不揮発性メモリ装置内の複数のブロックに対してエラー訂正符号を含ませて分散して記録する冗長分散記録手段を有する請求項10に記載の不揮発性メモリシステム。
- ブロック単位でのみデータ消去可能な不揮発性メモリ装置を含む不揮発性メモリシステムの動作方法であって、
不揮発性メモリ装置の複数種の作動情報をブロック単位で取得する作動情報取得ステップと、
取得した作動情報を保持する作動情報保持ステップと、
を有する不揮発性メモリシステムの動作方法。 - 複数の作動情報をパラメータとした計算によってブロック単位の信頼性情報を生成する信頼性情報生成ステップを有する請求項12に記載の不揮発性メモリシステムの動作方法。
- ブロック単位の信頼性情報を利用して各ブロックに対するデータの格納・再配置を管理する管理ステップを有する請求項13に記載の不揮発性メモリシステムの動作方法。
- 作動情報取得ステップは、管理ステップにおいてブロックごとにデータの格納に要した時間を示す格納時間情報を作動情報として取得する格納時間情報取得サブステップを有する請求項14に記載の不揮発性メモリシステムの動作方法。
- 作動情報取得ステップは、管理ステップにおいてブロックごとにデータの消去に要した時間を示す消去時間情報を作動情報として取得する消去時間情報取得サブステップを有する請求項12から14のいずれか一に記載の不揮発性メモリシステムの動作方法。
- 作動情報保持ステップにおいて、作動情報を不揮発性メモリ装置内に保持することを特徴とする不揮発性メモリシステムの動作方法であって、
作動情報保持ステップは、作動情報を不揮発性メモリ装置内の複数のブロックに対してエラー訂正符号を含ませて分散して記録する冗長分散記録サブステップを有する請求項12から16のいずれか一に記載の不揮発性メモリシステムの動作方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006143442A JP2007316779A (ja) | 2006-05-23 | 2006-05-23 | 不揮発性メモリシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006143442A JP2007316779A (ja) | 2006-05-23 | 2006-05-23 | 不揮発性メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007316779A true JP2007316779A (ja) | 2007-12-06 |
Family
ID=38850601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006143442A Pending JP2007316779A (ja) | 2006-05-23 | 2006-05-23 | 不揮発性メモリシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007316779A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011070346A (ja) * | 2009-09-25 | 2011-04-07 | Toshiba Corp | メモリシステム |
JP2012118839A (ja) * | 2010-12-02 | 2012-06-21 | Fujitsu Ltd | アクセス制御装置、誤り訂正制御方法およびストレージ装置 |
JP2012133784A (ja) * | 2010-12-22 | 2012-07-12 | Hitachi Global Storage Technologies Netherlands Bv | 障害の確率を利用したフラッシュメモリのデータ管理 |
JP2013542533A (ja) * | 2010-10-27 | 2013-11-21 | エルエスアイ コーポレーション | フラッシュメモリベースのデータ記憶のための順応ecc技術 |
US8804435B2 (en) | 2011-12-09 | 2014-08-12 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor storage device |
EP2806362A1 (en) | 2013-05-24 | 2014-11-26 | Fujitsu Limited | Information processing device, control circuit, computer-readable recording medium for control program, and control method |
US9165682B2 (en) | 2007-11-19 | 2015-10-20 | Seagate Technology Llc | Techniques for controlling recycling of blocks of memory |
JP2020042326A (ja) * | 2018-09-06 | 2020-03-19 | 富士通株式会社 | メモリコントローラ装置、メモリコントローラ装置を有するメモリ装置及びメモリコントロール方法 |
WO2024052993A1 (ja) * | 2022-09-06 | 2024-03-14 | キオクシア株式会社 | メモリシステム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003216506A (ja) * | 2002-01-23 | 2003-07-31 | Hitachi Ltd | フラッシュメモリを搭載した記憶装置及び計算機 |
-
2006
- 2006-05-23 JP JP2006143442A patent/JP2007316779A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003216506A (ja) * | 2002-01-23 | 2003-07-31 | Hitachi Ltd | フラッシュメモリを搭載した記憶装置及び計算機 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9921761B2 (en) | 2007-11-19 | 2018-03-20 | Seagate Technology Llc | Techniques for controlling recycling of blocks of memory |
US10579278B2 (en) | 2007-11-19 | 2020-03-03 | Seagate Technology Llc | Techniques for controlling recycling of blocks of memory |
US9165682B2 (en) | 2007-11-19 | 2015-10-20 | Seagate Technology Llc | Techniques for controlling recycling of blocks of memory |
US9323666B2 (en) | 2007-11-19 | 2016-04-26 | Seagate Technology Llc | Techniques for controlling recycling of blocks of memory |
US8347024B2 (en) | 2009-09-25 | 2013-01-01 | Kabushiki Kaisha Toshiba | Memory system monitoring data erasing time or writing time |
JP2011070346A (ja) * | 2009-09-25 | 2011-04-07 | Toshiba Corp | メモリシステム |
JP2013542533A (ja) * | 2010-10-27 | 2013-11-21 | エルエスアイ コーポレーション | フラッシュメモリベースのデータ記憶のための順応ecc技術 |
JP2012118839A (ja) * | 2010-12-02 | 2012-06-21 | Fujitsu Ltd | アクセス制御装置、誤り訂正制御方法およびストレージ装置 |
US8839072B2 (en) | 2010-12-02 | 2014-09-16 | Fujitsu Limited | Access control apparatus, storage apparatus, and method |
JP2012133784A (ja) * | 2010-12-22 | 2012-07-12 | Hitachi Global Storage Technologies Netherlands Bv | 障害の確率を利用したフラッシュメモリのデータ管理 |
US8804435B2 (en) | 2011-12-09 | 2014-08-12 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor storage device |
US9666299B2 (en) | 2011-12-09 | 2017-05-30 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor storage device |
US9466370B2 (en) | 2011-12-09 | 2016-10-11 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor storage device |
US9953716B2 (en) | 2011-12-09 | 2018-04-24 | Toshiba Memory Corporation | Non-volatile semiconductor storage device |
US10269436B2 (en) | 2011-12-09 | 2019-04-23 | Toshiba Memory Corporation | Non-volatile semiconductor storage device |
US10762969B2 (en) | 2011-12-09 | 2020-09-01 | Toshiba Memory Corporation | Non-volatile semiconductor storage device |
US11069414B2 (en) | 2011-12-09 | 2021-07-20 | Toshiba Memory Corporation | Non-volatile semiconductor storage device |
US11631468B2 (en) | 2011-12-09 | 2023-04-18 | Kioxia Corporation | Non-volatile semiconductor storage device |
US12112810B2 (en) | 2011-12-09 | 2024-10-08 | Kioxia Corporation | Non-volatile semiconductor storage device |
EP2806362A1 (en) | 2013-05-24 | 2014-11-26 | Fujitsu Limited | Information processing device, control circuit, computer-readable recording medium for control program, and control method |
JP2020042326A (ja) * | 2018-09-06 | 2020-03-19 | 富士通株式会社 | メモリコントローラ装置、メモリコントローラ装置を有するメモリ装置及びメモリコントロール方法 |
JP7177338B2 (ja) | 2018-09-06 | 2022-11-24 | 富士通株式会社 | メモリコントローラ装置、メモリコントローラ装置を有するメモリ装置及びメモリコントロール方法 |
WO2024052993A1 (ja) * | 2022-09-06 | 2024-03-14 | キオクシア株式会社 | メモリシステム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007316779A (ja) | 不揮発性メモリシステム | |
KR100975164B1 (ko) | 비휘발성 메모리 시스템에 대한 내부 보수 스케줄 요청 | |
JP5819610B2 (ja) | 異なる記憶装置にデータを書き込む方法及び装置 | |
US8339881B2 (en) | Techniques for increasing a lifetime of blocks of memory | |
JP4901987B1 (ja) | 記憶装置、電子機器及び誤りデータの訂正方法 | |
US8332696B2 (en) | Defect management method for storage medium and system thereof | |
US11127471B2 (en) | Read retry threshold voltage selection | |
US8161354B2 (en) | Flash memory controller having configuring unit for error correction code (ECC) capability and method thereof | |
JP4734033B2 (ja) | 記憶装置 | |
JP2011503741A5 (ja) | ||
JP2011503768A5 (ja) | ||
US20160283319A1 (en) | Data storage device and encoding method thereof | |
US10545810B2 (en) | Method and apparatus for monitoring non-volatile memory read errors using background media scan | |
JP2012517068A (ja) | メモリ装置、メモリ管理装置、およびメモリ管理方法 | |
JP2009282923A (ja) | 半導体記憶装置及び不揮発性メモリ | |
US20090164869A1 (en) | Memory architecture and configuration method thereof | |
JP2011103077A (ja) | 記憶装置 | |
JP5335779B2 (ja) | 半導体記録装置 | |
JP2010256944A (ja) | Nand型フラッシュメモリ保守装置及びnand型フラッシュメモリ保守プログラム及びnand型フラッシュメモリ保守方法 | |
JP4818453B1 (ja) | 電子機器およびデータ読み出し方法 | |
US8885406B2 (en) | Memory device, memory control device, and memory control method | |
JP2005292925A (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4332132B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
US11416372B2 (en) | Storage device and method of controlling storage device | |
JP7291640B2 (ja) | 半導体記憶装置及び半導体記憶装置のリフレッシュ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080806 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110118 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110630 |