JP2011198433A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2011198433A JP2011198433A JP2010066768A JP2010066768A JP2011198433A JP 2011198433 A JP2011198433 A JP 2011198433A JP 2010066768 A JP2010066768 A JP 2010066768A JP 2010066768 A JP2010066768 A JP 2010066768A JP 2011198433 A JP2011198433 A JP 2011198433A
- Authority
- JP
- Japan
- Prior art keywords
- block
- blocks
- dummy
- normal
- rewriting
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
Abstract
【課題】ロット・個体・チップ・ブロック間などの書き込み・消去回数の耐性のばらつきを考慮して、従来に比べてシステム全体の寿命が長い、或いは信頼性の高いメモリシステムを提供すること。
【解決手段】データ消去の単位であるノーマルブロック1〜nを複数とダミーブロックDとを有する不揮発性半導体メモリ10と、前記ダミーブロックDに複数の前記ノーマルブロック1〜nの書き換え回数の最大回数以上の書き換えを行う書き込み制御部13と、前記ダミーブロックDのデータ消去時間或いは書き込み時間をモニタするモニタ部11と、前記ノーマルブロック1〜n間の書き換え回数を平均化させるウェアレベリング制御部12とを備え、前記モニタ部11のモニタ結果に基づいて前記ノーマルブロック1〜nの書き換え継続可否を決定する。
【選択図】図1
【解決手段】データ消去の単位であるノーマルブロック1〜nを複数とダミーブロックDとを有する不揮発性半導体メモリ10と、前記ダミーブロックDに複数の前記ノーマルブロック1〜nの書き換え回数の最大回数以上の書き換えを行う書き込み制御部13と、前記ダミーブロックDのデータ消去時間或いは書き込み時間をモニタするモニタ部11と、前記ノーマルブロック1〜n間の書き換え回数を平均化させるウェアレベリング制御部12とを備え、前記モニタ部11のモニタ結果に基づいて前記ノーマルブロック1〜nの書き換え継続可否を決定する。
【選択図】図1
Description
本発明は、不揮発性半導体メモリを備えたメモリシステムに関する。
不揮発性半導体メモリ、例えばNANDフラッシュメモリでは書き換え寿命が存在するため、ウェアレベリングにより特定の書き込み消去単位(ブロック)への書き込み消去の集中を防いでいる(例えば特許文献1)。特許文献1には、消去回数(書き込み回数)が所定数を越えたブロックと消去回数(書き込み回数)が少ないブロックとを交換することが示されている。
即ち、ブロック間で均一に書き換え回数が分布するようにしてシステム全体の寿命を長くする工夫が行われており、その制御に書き込み・消去回数を使っている。
即ち、ブロック間で均一に書き換え回数が分布するようにしてシステム全体の寿命を長くする工夫が行われており、その制御に書き込み・消去回数を使っている。
しかし書き込み・消去回数の耐量はデバイス品種の他、同一の品種においてもロット・個体・ブロック間などによってある程度のばらつきがあり、予め品種毎に定められた書き込み・消去回数では実情に合わない場合が考えられる。例えば、想定の書き込み・消去回数より早く劣化する場合、その逆の場合も考えられ、精度の高い制御が難しいという難点があった。
また、ウェアレベリング以外の信頼性向上のため書き換え回数を管理するシステムでも同様の問題がある。通常使用で常に全てのアドレスの書き込み・消去回数をモニタし判断することは不揮発性半導体メモリシステムのパフォーマンス低下を招くという問題がある。
本発明は、システム全体の寿命が長く信頼性の高いメモリシステムを提供する。
本願発明の一態様によれば、データ消去の単位であるノーマルブロックを複数とダミーブロックとを有する不揮発性半導体メモリと、前記ダミーブロックに複数の前記ノーマルブロックの書き換え回数の最大回数以上の書き換えを行う書き込み制御部と、前記ダミーブロックのデータ消去時間或いは書き込み時間をモニタするモニタ部と、前記ノーマルブロック間の書き換え回数を平均化させるウェアレベリング制御部とを備え、前記モニタ部のモニタ結果に基づいて前記ノーマルブロックの書き換え継続可否を決定することを特徴とするメモリシステムが提供される。
本発明によれば、システム全体の寿命が長く信頼性の高いメモリシステムを提供することが可能になる。
以下に添付図面を参照して、本発明の実施の形態にかかるメモリシステムを詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。
(第1の実施の形態)
図1は、第1の実施の形態にかかるメモリシステム100の構成を示すブロック図である。メモリシステム100は、例えばNAND型フラッシュメモリ等の不揮発性半導体メモリ10と制御部14を備える。不揮発性半導体メモリ10は、データ消去の単位である物理ブロックが複数個並んだノーマルブロック1〜nと、それらに隣接したダミーブロックDを有している。制御部14は、ダミーブロックDのデータ消去時間或いは書き込み時間をモニタするモニタ部11、ノーマルブロック1〜n間の書き換え回数を平均化させるウェアレベリング制御部12、ダミーブロックDにノーマルブロック1〜nの書き換え回数の最大回数以上の書き換えを行う書き込み制御部13を備える。
図1は、第1の実施の形態にかかるメモリシステム100の構成を示すブロック図である。メモリシステム100は、例えばNAND型フラッシュメモリ等の不揮発性半導体メモリ10と制御部14を備える。不揮発性半導体メモリ10は、データ消去の単位である物理ブロックが複数個並んだノーマルブロック1〜nと、それらに隣接したダミーブロックDを有している。制御部14は、ダミーブロックDのデータ消去時間或いは書き込み時間をモニタするモニタ部11、ノーマルブロック1〜n間の書き換え回数を平均化させるウェアレベリング制御部12、ダミーブロックDにノーマルブロック1〜nの書き換え回数の最大回数以上の書き換えを行う書き込み制御部13を備える。
本実施の形態では、品種毎に予め定められた書き換え回数の制限値でノーマルブロック1〜nの書き換え継続可否を決定するのではなく、常にノーマルブロック1〜nの最多書き込み・消去回数となるようなダミーブロックDを設け、その特性(具体的には書き込み時間・消去時間)をモニタすることによってウェアレベリングを継続するかどうかを判断する。
ウェアレベリング制御には、書き込み・消去回数を書き換え単位(ブロック)毎に記録しておき、データ更新を行う場合に書き換え回数の少ないブロックから順に選択し、消去、書き込みを実行する動的ウェアレベリングと、一度データを記憶してから書き換えが長い間行われず書き換え回数の少ないブロックを書き換え回数の多いブロックと交換する静的ウェアレベリングとがある。
従来は、図2に示すようにウェアレベリングによって書き込み・消去回数は平坦化され、不揮発性半導体メモリの品種毎に予め定められた書き換え回数の制限値に達すると、当該メモリシステムの全てのブロックの書き換えはそれ以上不可能とされウェアレベリングは終了していた。
しかし、実際にはプロセス等に起因したロット・個体毎のばらつきなどにより個別の不揮発性半導体メモリ毎に許容回数は変わってくるため上記制限値では過剰なマージンをとっていた可能性がある。
本実施の形態においては、不揮発性半導体メモリ10内にダミーブロックDを設ける。ウェアレベリング制御部12は、各ノーマルブロック1〜nの書き換え回数を記録・管理している。書き込み制御部13は、ウェアレベリング制御部12が保持している各ノーマルブロック1〜nの書き換え回数に基づいてその最大回数の書き換えをダミーブロックDに常に実行する。
具体的には、特定の物理ブロックの消去と当該物理ブロックを構成する全物理ページへの書き込みを1回の書き換えとすると、各ノーマルブロック1〜nの書き換え回数の最大回数の書き換えを書き込み制御部13がダミーブロックDに行う。ダミーブロックDの書き換えのタイミングとしては、ノーマルブロック1〜nの中で最大回数の書き換えが行われるノーマルブロックに書き換えが行われる時などに行うことが考えられるが、このタイミングに必ずしも限定されるわけではない。
モニタ部11は、ダミーブロックDの最後のデータ消去時間或いは最後の書き込み時間をモニタしている。書き込み時間としては、ダミーブロックD内の各物理ページの書き込み時間の平均値、ダミーブロックD内で最も経年変化が大きい物理ページの書き込み時間、ダミーブロックD内の予め定めた所定の物理ページの書き込み時間等とすることが考えられるが、これらに限定されるわけではない。
データ消去時間及び書き込み時間は、物理ブロックの書き換えによる疲労によって、増加或いは減少してゆく。したがって、モニタ部11は、ダミーブロックDの最後のデータ消去時間或いは最後の書き込み時間が、所定の閾値よりも大きくなる或いは小さくなるなどの判断基準からダミーブロックDの疲労度を判定する。
ウェアレベリング制御部12は、モニタ部11から与えられたダミーブロックDの疲労度の判定結果に基づいてノーマルブロック1〜nの書き換え継続可否を判断して、ウェアレベリングを実行し続けるかどうかを判断する。
なお、モニタ部11は、ダミーブロックDの最後のデータ消去時間或いは最後の書き込み時間をモニタしてその情報をウェアレベリング制御部12に伝えるのみとし、ウェアレベリング制御部12において、ダミーブロックDの最後のデータ消去時間或いは最後の書き込み時間の閾値判定、即ちダミーブロックDの疲労度の判定を行うようにしてもかまわない。
以上説明したように、本実施の形態においては、図3に示すようにダミーブロックDの書き込み・消去特性に基づいて、ノーマルブロックの書き換え継続可否を判断するので、不揮発性半導体メモリの実際の耐性を考慮したウェアレベリングを行う事ができる。これにより、従来の制限値がプロセス等のばらつきなどを配慮して過剰なマージンをとった値であった場合には、メモリシステム全体の寿命を長くすることが可能となる。
また、上記で判定したダミーブロックDの疲労度に基づいてメモリシステムの寿命が近づいて来たことをユーザーに警告する機能を持たせることにより、品種毎に予め定められた書き換え回数の制限値より前に寿命が来た場合には、ユーザーに使用を中止させることが可能となり、メモリシステムの信頼性を高めることが可能となる。
また、上記寿命予知警告や、ダミーブロックDの疲労度に基づく判定を安全側に行うために、ダミーブロックDへの書き込み・消去回数を、ノーマルブロック1〜nへの最多書き込み・消去回数に若干マージンを持たせて、それより過剰に書き込み・消去を実行してもよい。即ち、ダミーブロックDへの書き込み・消去回数を、ノーマルブロックの書き換え回数の最大回数より大きくしてもかまわない。
例えば、製造段階でダミーブロックDのみ書き込み・消去をある程度の回数行っておくことでノーマルブロックとの差分を作っておくことができる。この回数の追加量は自由に設定できるので、求められる信頼性レベルによって可変にしておく。これにより、ノーマルブロックの書き換え回数の最大回数以上の疲労度のダミーブロックDが使用可能ならばノーマルブロック1〜nは使用可能であるとの判断において、判断の信頼度を高める等の調整が可能になる。
(第2の実施の形態)
図4は、第2の実施の形態にかかるメモリシステム200の構成を示すブロック図である。メモリシステム200は、複数個のチップC1〜Cmを有する例えばNAND型フラッシュメモリ等の不揮発性半導体メモリ20と制御部24を備える。各チップC1〜Cmはそれぞれ、データ消去の単位である物理ブロックが複数個並んだノーマルブロックと、それらに隣接したダミーブロックを有する。例えば、チップC1は、ノーマルブロック1C1〜nC1とダミーブロックD1を有している。他のチップC2〜Cmも同様である。
図4は、第2の実施の形態にかかるメモリシステム200の構成を示すブロック図である。メモリシステム200は、複数個のチップC1〜Cmを有する例えばNAND型フラッシュメモリ等の不揮発性半導体メモリ20と制御部24を備える。各チップC1〜Cmはそれぞれ、データ消去の単位である物理ブロックが複数個並んだノーマルブロックと、それらに隣接したダミーブロックを有する。例えば、チップC1は、ノーマルブロック1C1〜nC1とダミーブロックD1を有している。他のチップC2〜Cmも同様である。
制御部24は、ダミーブロックD1〜Dmそれぞれのデータ消去時間或いは書き込み時間をモニタするモニタ部21、ノーマルブロック1C1〜nC1、1C2〜nC2、…、1Cm〜nCm間の書き換え回数を平均化させるウェアレベリング制御部22を備える。さらに制御部24は、ダミーブロックD1〜Dmそれぞれに対して、それらを含むチップC1〜Cm内の全てのノーマルブロックの書き換え回数のチップ毎の最大回数以上の書き換えを行う書き込み制御部23を備える。
本実施の形態では、品種毎に予め定められた書き換え回数の制限値でノーマルブロック1C1〜nC1、1C2〜nC2、…、1Cm〜nCmの書き換え継続可否を決定せずに、ダミーブロックD1〜Dmを用いて判断する。即ち、当該チップ内のノーマルブロックの最多書き込み・消去回数となるようなダミーブロックD1〜DmをチップC1〜Cm毎に設け、その特性(具体的には書き込み時間・消去時間)をモニタすることによって当該チップ内のノーマルブロックに対してウェアレベリングを継続するかどうかを判断する。
従来は、図2に示すようにチップ間の違いを区別せずに、物理ブロック全体についてのチップをまたがったウェアレベリングによって書き込み・消去回数は平坦化され、当該メモリシステムについて予め定められた書き換え回数の制限値に達すると、全てのブロックの書き換えはそれ以上不可能とされウェアレベリングは終了していた。しかし、実際にはプロセスのばらつきなどによりチップ毎に実際の許容回数は変わってくるため、特定のチップに対しては過剰なマージンをとっていた可能性がある。
本実施の形態においては、不揮発性半導体メモリ20内のチップC1〜Cm毎に例えば1つずつダミーブロックD1〜Dmを設ける。ウェアレベリング制御部22は、各ノーマルブロック1C1〜nC1、1C2〜nC2、…、1Cm〜nCmの書き換え回数を記録・管理している。書き込み制御部23は、これらの情報に基づいて、各チップC1〜Cmが有するノーマルブロックの書き換え回数のチップ毎の最大回数の書き換えを各チップC1〜Cmが有するそれぞれのダミーブロックD1〜Dmに常に実行する。
具体的には、例えばチップC1に含まれる各ノーマルブロック1C1〜nC1の書き換え回数の最大回数の書き換えを書き込み制御部23がダミーブロックD1に行う。他のチップC2〜Cmそれぞれに含まれるダミーブロックD2〜Dmについても同様である。
各ダミーブロックD1〜Dmの書き換えのタイミングとしては、当該ダミーブロックが含まれるチップのノーマルブロックの中で最大回数の書き換えが行われるノーマルブロックに書き換えが行われる時などに行うことが考えられる。しかし、このタイミングに必ずしも限定されなくてもよい。
モニタ部21は、ダミーブロックD1〜Dmそれぞれの最後のデータ消去時間或いは最後の書き込み時間をモニタしている。ダミーブロックD1〜Dmそれぞれの書き込み時間としては、ダミーブロックD1〜Dmそれぞれの中の各物理ページの書き込み時間の平均値、ダミーブロックD1〜Dmそれぞれの中で最も経年変化が大きい物理ページの書き込み時間、ダミーブロックD1〜Dmそれぞれの中で予め定めた所定の物理ページの書き込み時間等とすることが考えられるが、これらに限定されるわけではない。
モニタ部21は、ダミーブロックD1〜Dmそれぞれの最後のデータ消去時間或いは最後の書き込み時間が、所定の閾値よりも大きくなる或いは小さくなるなどの判断基準から各ダミーブロックD1〜Dmの疲労度を判定する。
ウェアレベリング制御部22は、モニタ部21から与えられた各ダミーブロックD1〜Dmの疲労度の判定結果に基づいて各チップC1〜Cmの書き換え継続可否を判断する。即ち、各ダミーブロックD1〜Dmの疲労度を各チップC1〜Cmの疲労度とみなして、書き換え継続不可とみなしたチップは使用せずに、書き換え継続可能とみなしたチップに含まれるノーマルブロックの間でウェアレベリングを継続する。
なお、モニタ部21は、各ダミーブロックD1〜Dmの最後のデータ消去時間或いは最後の書き込み時間をモニタしてその情報をウェアレベリング制御部22に伝えるのみとし、ウェアレベリング制御部22において、各ダミーブロックD1〜Dmの最後のデータ消去時間或いは最後の書き込み時間の閾値判定、即ちダミーブロックD1〜Dmの疲労度の判定を行うようにしてもかまわない。
以上説明したように、本実施の形態においては、図5に示すように各ダミーブロックD1〜Dmの書き込み・消去特性に基づいて、各チップC1〜Cmの書き換え継続可否を判断するので、不揮発性半導体メモリ20に搭載される各チップC1〜Cm間のプロセス等のばらつきに起因した実際の耐性の違いを考慮したウェアレベリングを行う事ができる。これにより、従来の制限値が各チップにとって過剰なマージンをとった値であった場合には、メモリシステム全体の寿命を長くすることが可能となる。
また、上記で判定したダミーブロックD1〜Dmの疲労度に基づいて、最も寿命が長かったダミーブロック(即ち、それを有しているチップ)の疲労度が限界に達したことを目安にメモリシステム200の寿命が近づいて来たことをユーザーに警告する機能を持たせることも可能である。これにより、ユーザーにメモリシステム200の使用を中止させることが可能となる。
先に述べたように本実施の形態によれば、予め定められた書き換え回数の制限値より前に寿命が来そうなチップは、ウェアレベリングの対象から除外することができるので、いずれにせよメモリシステムの信頼性を高めることが可能となる。
また、上記寿命予知警告や、ダミーブロックD1〜Dmの疲労度に基づく判定を安全側に行うために、第1の実施の形態と同様に、ダミーブロックD1〜Dmへの書き込み・消去回数を、ノーマルブロック1C1〜nC1、1C2〜nC2、…、1Cm〜nCmへの最多書き込み・消去回数に若干マージンを持たせて、それより過剰に書き込み・消去を実行してもよい。即ち、ダミーブロックD1〜Dmへの書き込み・消去回数を、ノーマルブロック1C1〜nC1、1C2〜nC2、…、1Cm〜nCmの書き換え回数の最大回数より大きくしてもかまわない。
例えば、製造段階でダミーブロックD1〜Dmのみ書き込み・消去をある程度の回数行っておくことでノーマルブロック1C1〜nC1、1C2〜nC2、…、1Cm〜nCmとの差分を作っておくことができる。この回数の追加量は自由に設定できるので、求められる信頼性レベルによって可変にしておく。
これにより、各チップ毎にノーマルブロックの書き換え回数の最大回数以上の疲労度が当該チップのダミーブロックに与えられることになるので、そのダミーブロックが使用可能ならば当該チップは使用可能であるとの判断において、判断の信頼度を高める等の調整が可能になる。
(第3の実施の形態)
図6は、第3の実施の形態にかかるメモリシステム300の構成を示すブロック図である。メモリシステム300は、例えばNAND型フラッシュメモリ等の不揮発性半導体メモリ30と制御部34を備える。不揮発性半導体メモリ30は、データ消去の単位である物理ブロックであるノーマルブロックとそれらに隣接したダミーブロックのセットを複数有している。具体的には、ノーマルブロック1に隣接してダミーブロックD1、ノーマルブロック2に隣接してダミーブロックD2、…ノーマルブロックnに隣接してダミーブロックDnというように配置されている。
図6は、第3の実施の形態にかかるメモリシステム300の構成を示すブロック図である。メモリシステム300は、例えばNAND型フラッシュメモリ等の不揮発性半導体メモリ30と制御部34を備える。不揮発性半導体メモリ30は、データ消去の単位である物理ブロックであるノーマルブロックとそれらに隣接したダミーブロックのセットを複数有している。具体的には、ノーマルブロック1に隣接してダミーブロックD1、ノーマルブロック2に隣接してダミーブロックD2、…ノーマルブロックnに隣接してダミーブロックDnというように配置されている。
制御部34は、ダミーブロックD1〜Dnのデータ消去時間或いは書き込み時間をモニタするモニタ部31、ノーマルブロック1〜n間の書き換え回数を平均化させるウェアレベリング制御部32、各ダミーブロックD1〜Dnそれぞれに各ノーマルブロック1〜nそれぞれの書き換え回数以上の書き換えを行う書き込み制御部33を備える。
本実施の形態では、品種毎に予め定められた書き換え回数の制限値でノーマルブロック1〜nの書き換え継続可否を決定するのではなく、各ノーマルブロック1〜nそれぞれと同じ書き込み・消去回数となるようなダミーブロックD1〜Dnをそれぞれ設け、その特性(具体的には書き込み時間・消去時間)をモニタすることによって当該ノーマルブロックをウェアレベリングの対象とするかどうかを判断する。
従来は、図2に示すようにウェアレベリングによって書き込み・消去回数は平坦化され、品種毎に予め定められた書き換え回数の制限値に達すると、当該メモリシステムの全てのブロックの書き換えはそれ以上不可能とされウェアレベリングは終了していた。しかし、実際にはプロセスのばらつきに起因して各ノーマルブロック毎に許容回数は変わってくることが考えられる。従って、特定のノーマルブロックについては過剰なマージンをとっていた可能性がある。
本実施の形態においては、不揮発性半導体メモリ30内において、ノーマルブロック1つ毎に1つのダミーブロックを設ける。ウェアレベリング制御部32は、各ノーマルブロック1〜nの書き換え回数を記録・管理している。書き込み制御部33は、これらの情報に基づいてノーマルブロック1〜nの書き換え回数と同じ回数の書き換えを対応するダミーブロックD1〜Dnに常に実行する。
各ダミーブロックD1〜Dnの書き換えのタイミングとしては、対応するノーマルブロック1〜nに書き換えが行われる時などに行うことが考えられるが、このタイミングに必ずしも限定されなくてもよい。
モニタ部31は、ダミーブロックD1〜Dnそれぞれの最後のデータ消去時間或いは最後の書き込み時間をモニタしている。ダミーブロックD1〜Dnそれぞれの書き込み時間としては、第2の実施の形態と同様に定義することができる。
モニタ部31は、ダミーブロックD1〜Dnそれぞれの最後のデータ消去時間或いは最後の書き込み時間が、所定の閾値よりも大きくなる或いは小さくなるなどの判断基準から各ダミーブロックD1〜Dnの疲労度を判定する。
ウェアレベリング制御部32は、モニタ部31から与えられた各ダミーブロックD1〜Dnの疲労度の判定結果に基づいて各ノーマルブロック1〜nの書き換え継続可否を判断する。即ち、各ダミーブロックD1〜Dnの疲労度を各ノーマルブロック1〜nの疲労度とみなして、書き換え継続不可とみなしたノーマルブロックは使用せずに、書き換え継続可能とみなしたノーマルブロックの間でウェアレベリングを継続する。
なお、モニタ部31は、各ダミーブロックD1〜Dnの最後のデータ消去時間或いは最後の書き込み時間をモニタしてその情報をウェアレベリング制御部32に伝え、ウェアレベリング制御部32において、各ダミーブロックD1〜Dnの最後のデータ消去時間或いは最後の書き込み時間の閾値判定、即ちダミーブロックD1〜Dnの疲労度の判定を行うようにしてもかまわない。
以上説明したように、本実施の形態においては、図7に示すようにダミーブロックD1〜Dnの書き込み・消去特性に基づいて、ノーマルブロック1〜n毎に書き換え回数の制限値を個別に設定して書き換え継続可否を判断する。従って、不揮発性半導体メモリ30内の各ブロック間のプロセス等のばらつきに起因した実際の耐性の違いを考慮したウェアレベリングを行う事ができる。即ち、第2の実施の形態で考慮したチップ間の耐性の違いよりもさらに細かいチップ内での物理ブロック間の耐性の違いを考慮することができる。
これにより、従来の制限値が各ノーマルブロックにとって過剰なマージンをとった値であった場合には、上記で判定したダミーブロックD1〜Dnの中で最も寿命が長いダミーブロックの疲労度に基づいてメモリシステムを使用し続けることができるので、メモリシステム全体の寿命を長くすることが可能となる。
また、ダミーブロックD1〜Dnの疲労度に基づく判定を安全側に行うために、第2の実施の形態と同様に、ダミーブロックD1〜Dnへの書き込み・消去回数を、ノーマルブロック1〜nへの書き込み・消去回数に若干マージンを持たせて、それより過剰に書き込み・消去を実行してもよい。
即ち、ダミーブロックD1〜Dnへの書き込み・消去回数を、ノーマルブロック1〜nの書き換え回数より大きくしてもかまわない。これにより、ノーマルブロック1〜nそれぞれの書き換え回数以上の疲労度のダミーブロックD1〜Dnそれぞれが使用可能ならばノーマルブロック1〜nそれぞれは使用可能であるとの判断において、判断の信頼度を高める等の調整が可能になる。
また、上記実施形態においては、ノーマルブロック1つ毎にダミーブロック1つを設けるとしたが、多数のノーマルブロックを複数のエリアにグルーピングして、各エリアに所属する複数のノーマルブロックに対してダミーブロックを1つ、即ちエリア毎に1つずつダミーブロックを設けるようにしても構わない。
その場合、各ダミーブロックは担当するエリア内の全てのノーマルブロックの書き換え回数の中での最大回数以上の書き換えが絶えず行われるようにする。モニタ部は、複数のダミーブロックそれぞれの最後のデータ消去時間或いは最後の書き込み時間が、所定の閾値よりも大きくなる或いは小さくなるなどの判断基準から各ダミーブロックの疲労度を判定する。
ウェアレベリング制御部は、モニタ部から与えられた各ダミーブロックの疲労度の判定結果に基づいて各ダミーブロックが担当するエリアの書き換え継続可否を判断する。即ち、各ダミーブロックの疲労度を各エリアの疲労度とみなして、書き換え継続不可とみなしたエリア内のノーマルブロックは使用せずに、書き換え継続可能とみなしたエリアに含まれるノーマルブロックの間でウェアレベリングを継続する。それ以外は上記実施の形態と同様である。
以上説明したように、ウェアレベリングをはじめとする各種信頼性向上の機構において、書き換え回数を判断基準として用いる代わりにダミーブロックを用い、その時点でのノーマルブロックの書き込み・消去回数以上の書き込み・消去の負荷をダミーブロックにその都度与え、その特性、例えば消去特性(消去時間に相当するもの)もしくは書き込み特性(書き込み時間に相当するもの)をモニタする。
これによってプロセス等に起因するロット・個体・チップ・ブロック間などのばらつきに依存した各個体・ブロック毎の劣化具合に合わせた精度の高い管理が可能となり、過剰なマージンを生じることなく、実力値に近い形での信頼性判断と寿命予知が行えるようになる。従って、メモリシステム全体の信頼性を向上させることが可能となる。
1〜n、1C1〜nC1、1C2〜nC2、…、1Cm〜nCm ノーマルブロック、D、D1〜Dm、Dn ダミーブロック、C1〜Cm チップ、10、20、30 不揮発性半導体メモリ、11、21,31 モニタ部、12、22,32 ウェアレベリング制御部、13、23、33 書き込み制御部、14、24、34 制御部、100、200、300 メモリシステム。
Claims (4)
- データ消去の単位であるノーマルブロックを複数とダミーブロックとを有する不揮発性半導体メモリと、
前記ダミーブロックに複数の前記ノーマルブロックの書き換え回数の最大回数以上の書き換えを行う書き込み制御部と、
前記ダミーブロックのデータ消去時間或いは書き込み時間をモニタするモニタ部と、
前記ノーマルブロック間の書き換え回数を平均化させるウェアレベリング制御部とを備え、
前記モニタ部のモニタ結果に基づいて前記ノーマルブロックの書き換え継続可否を決定することを特徴とするメモリシステム。 - 前記不揮発性半導体メモリは前記ノーマルブロックを複数有するチップを複数備え、
前記チップ毎に前記ダミーブロックを備え、
前記ダミーブロックにそれを備えるチップ内の全ての前記ノーマルブロックの書き換え回数の最大回数以上の書き換えを行う
ことを特徴とする請求項1に記載のメモリシステム。 - 前記不揮発性半導体メモリは前記ノーマルブロックを複数有するエリアを複数備え、
前記エリア毎に前記ダミーブロックを備え、
前記ダミーブロックにそれを備えるエリア内の全ての前記ノーマルブロックの書き換え回数の最大回数以上の書き換えを行う
ことを特徴とする請求項1に記載のメモリシステム。 - データ消去の単位であるノーマルブロックとダミーブロックとの組を複数有する不揮発性半導体メモリと、
前記ダミーブロックに前記ノーマルブロックの書き換え回数以上の書き換えを行う書き込み制御部と、
前記ダミーブロックのデータ消去時間或いは書き込み時間をモニタするモニタ部と、
前記ノーマルブロック間の書き換え回数を平均化させるウェアレベリング制御部とを備え、
前記モニタ部のモニタ結果に基づいて前記ノーマルブロックの書き換え継続可否を決定することを特徴とするメモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010066768A JP2011198433A (ja) | 2010-03-23 | 2010-03-23 | メモリシステム |
US13/049,417 US20110238897A1 (en) | 2010-03-23 | 2011-03-16 | Memory system, personal computer, and method of controlling the memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010066768A JP2011198433A (ja) | 2010-03-23 | 2010-03-23 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011198433A true JP2011198433A (ja) | 2011-10-06 |
Family
ID=44657646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010066768A Pending JP2011198433A (ja) | 2010-03-23 | 2010-03-23 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110238897A1 (ja) |
JP (1) | JP2011198433A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017054173A (ja) * | 2015-09-07 | 2017-03-16 | Necプラットフォームズ株式会社 | メモリー管理回路、記憶装置、メモリー管理方法、及びメモリー管理プログラム |
JP2017084341A (ja) * | 2015-09-04 | 2017-05-18 | エイチジーエスティーネザーランドビーブイ | フラッシュメモリデバイスのための消耗管理 |
JP2017084342A (ja) * | 2015-09-04 | 2017-05-18 | エイチジーエスティーネザーランドビーブイ | フラッシュメモリデバイスのための操作パラメータ |
JP2018142053A (ja) * | 2017-02-27 | 2018-09-13 | クラリオン株式会社 | 不揮発性メモリー判定装置、不揮発性メモリー判定装置の制御方法、及び、車載装置 |
US10366771B2 (en) | 2017-02-28 | 2019-07-30 | Toshiba Memory Corporation | Controller, memory system, and block management method for NAND flash memory using the same |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9116792B2 (en) * | 2012-05-18 | 2015-08-25 | Silicon Motion, Inc. | Data storage device and method for flash block management |
KR102065664B1 (ko) | 2013-08-09 | 2020-01-13 | 삼성전자 주식회사 | 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
JP3641280B2 (ja) * | 1992-10-30 | 2005-04-20 | インテル・コーポレーション | フラッシュeepromアレイのクリーン・アップすべきブロックを決定する方法 |
KR101185617B1 (ko) * | 2006-04-04 | 2012-09-24 | 삼성전자주식회사 | 외부 메모리의 부하를 줄일 수 있는 웨어 레벨링 기법에의한 플래시 파일 시스템의 동작 방법 |
US7653778B2 (en) * | 2006-05-08 | 2010-01-26 | Siliconsystems, Inc. | Systems and methods for measuring the useful life of solid-state storage devices |
US7596656B2 (en) * | 2006-09-28 | 2009-09-29 | Sandisk Corporation | Memory cards with end of life recovery and resizing |
US7693667B2 (en) * | 2006-11-24 | 2010-04-06 | Systems On Silicon Manufacturing Co. Pte. Ltd. | Method and system for determining a predicted flash endurance Vt of a flash cell after N program/erase cycles |
KR100881669B1 (ko) * | 2006-12-18 | 2009-02-06 | 삼성전자주식회사 | 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치 |
US7710777B1 (en) * | 2006-12-20 | 2010-05-04 | Marvell International Ltd. | Semi-volatile NAND flash memory |
JP4994112B2 (ja) * | 2007-05-22 | 2012-08-08 | ルネサスエレクトロニクス株式会社 | 半導体集積回路装置およびメモリ制御方法 |
CN100538662C (zh) * | 2007-07-05 | 2009-09-09 | 炬力集成电路设计有限公司 | 一种基于局部采样的存储器的磨损平衡方法 |
KR101413736B1 (ko) * | 2007-09-13 | 2014-07-02 | 삼성전자주식회사 | 향상된 신뢰성을 갖는 메모리 시스템 및 그것의웨어-레벨링 기법 |
US8291152B2 (en) * | 2009-01-07 | 2012-10-16 | Silicon Motion, Inc. | Method for operating non-volatile memory and data storage system using the same |
US8239614B2 (en) * | 2009-03-04 | 2012-08-07 | Micron Technology, Inc. | Memory super block allocation |
US8112682B2 (en) * | 2009-04-23 | 2012-02-07 | Sandisk Il Ltd | Method and device for bad-block testing |
US7975193B2 (en) * | 2009-06-01 | 2011-07-05 | Lsi Corporation | Solid state storage end of life prediction with correction history |
US8051241B2 (en) * | 2009-05-07 | 2011-11-01 | Seagate Technology Llc | Wear leveling technique for storage devices |
US8151137B2 (en) * | 2009-05-28 | 2012-04-03 | Lsi Corporation | Systems and methods for governing the life cycle of a solid state drive |
US7948798B1 (en) * | 2009-07-22 | 2011-05-24 | Marvell International Ltd. | Mixed multi-level cell and single level cell storage device |
US8234520B2 (en) * | 2009-09-16 | 2012-07-31 | International Business Machines Corporation | Wear leveling of solid state disks based on usage information of data and parity received from a raid controller |
TWI436369B (zh) * | 2009-11-13 | 2014-05-01 | Silicon Motion Inc | 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統 |
US8605501B2 (en) * | 2010-07-06 | 2013-12-10 | Stec, Inc. | System and method for determining data dependent noise calculation for a flash channel |
GB2490991B (en) * | 2011-05-19 | 2017-08-30 | Ibm | Wear leveling |
-
2010
- 2010-03-23 JP JP2010066768A patent/JP2011198433A/ja active Pending
-
2011
- 2011-03-16 US US13/049,417 patent/US20110238897A1/en not_active Abandoned
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017084341A (ja) * | 2015-09-04 | 2017-05-18 | エイチジーエスティーネザーランドビーブイ | フラッシュメモリデバイスのための消耗管理 |
JP2017084342A (ja) * | 2015-09-04 | 2017-05-18 | エイチジーエスティーネザーランドビーブイ | フラッシュメモリデバイスのための操作パラメータ |
JP2017054173A (ja) * | 2015-09-07 | 2017-03-16 | Necプラットフォームズ株式会社 | メモリー管理回路、記憶装置、メモリー管理方法、及びメモリー管理プログラム |
JP2018142053A (ja) * | 2017-02-27 | 2018-09-13 | クラリオン株式会社 | 不揮発性メモリー判定装置、不揮発性メモリー判定装置の制御方法、及び、車載装置 |
US10366771B2 (en) | 2017-02-28 | 2019-07-30 | Toshiba Memory Corporation | Controller, memory system, and block management method for NAND flash memory using the same |
Also Published As
Publication number | Publication date |
---|---|
US20110238897A1 (en) | 2011-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011198433A (ja) | メモリシステム | |
US8806106B2 (en) | Estimating wear of non-volatile, solid state memory | |
US8966343B2 (en) | Solid-state drive retention monitor using reference blocks | |
US20180357535A1 (en) | Identifying memory block write endurance using machine learning | |
US9423970B2 (en) | Method and system for predicting block failure in a non-volatile memory | |
US9329797B2 (en) | Method and system for adjusting block erase or program parameters based on a predicted erase life | |
KR101079502B1 (ko) | 메모리 시스템 | |
KR101348665B1 (ko) | 플래시 디스크 메모리의 기대 수명을 추정하고 리포팅하는방법 | |
US8661318B2 (en) | Memory management in a non-volatile solid state memory device | |
JP6047286B2 (ja) | テストセルを用いたフラッシュメモリの劣化の早期検出 | |
US8909493B2 (en) | Compensation for sub-block erase | |
US8995184B2 (en) | Adaptive operation of multi level cell memory | |
US9417804B2 (en) | System and method for memory block pool wear leveling | |
US9501400B2 (en) | Identification and operation of sub-prime blocks in nonvolatile memory | |
US8407559B2 (en) | Monitoring memory | |
US10108471B2 (en) | System and method for utilizing history information in a memory device | |
US10949119B2 (en) | Data shaping to reduce error rates in solid state memory devices | |
US20130262942A1 (en) | Flash memory lifetime evaluation method | |
US9312029B2 (en) | Memory device and associated controlling method | |
US10636493B2 (en) | Relaxed erase parameters for block erasures in non-volatile storage media | |
KR101368834B1 (ko) | 내구도를 복수의 단계로 구분하는 플래시 메모리 제어장치 |