JP2009526340A - フラッシュディスクのメモリの寿命を推定して報告するための方法 - Google Patents
フラッシュディスクのメモリの寿命を推定して報告するための方法 Download PDFInfo
- Publication number
- JP2009526340A JP2009526340A JP2008553887A JP2008553887A JP2009526340A JP 2009526340 A JP2009526340 A JP 2009526340A JP 2008553887 A JP2008553887 A JP 2008553887A JP 2008553887 A JP2008553887 A JP 2008553887A JP 2009526340 A JP2009526340 A JP 2009526340A
- Authority
- JP
- Japan
- Prior art keywords
- memory device
- grade
- value
- data
- memory
- 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
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000015654 memory Effects 0.000 title claims description 71
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 230000000052 comparative effect Effects 0.000 claims abstract 2
- 238000012806 monitoring device Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 5
- 238000004519 manufacturing process Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 4
- 238000005259 measurement Methods 0.000 claims description 2
- 230000036541 health Effects 0.000 description 23
- 230000015556 catabolic process Effects 0.000 description 12
- 238000006731 degradation reaction Methods 0.000 description 12
- 239000000872 buffer Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012937 correction Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000032683 aging Effects 0.000 description 5
- 230000008439 repair process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000779 depleting effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C2029/5002—Characteristic
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
【課題】メモリ・デバイスを管理するための方法、そのように管理されるメモリ・デバイス、そしてそのようなメモリ・デバイスを含むシステムを得る。
【解決手段】デバイス上でのデータ・オペレーションの後、デバイスの耐用寿命パラメータの値がモニターされる。このモニタリングはデバイスによって実行される。その値からデバイスのグレードが推測される。好適耐用寿命パラメータは、処理の失敗したデータへの処理の成功したデータの比率、そしてデバイスの電力消費における偏差を含む。グレードは、メモリ・デバイスの寿命の予想として機能する。好適グレードは、比較グレード、最大グレードおよび平均グレードを含む。
【選択図】図2
【解決手段】デバイス上でのデータ・オペレーションの後、デバイスの耐用寿命パラメータの値がモニターされる。このモニタリングはデバイスによって実行される。その値からデバイスのグレードが推測される。好適耐用寿命パラメータは、処理の失敗したデータへの処理の成功したデータの比率、そしてデバイスの電力消費における偏差を含む。グレードは、メモリ・デバイスの寿命の予想として機能する。好適グレードは、比較グレード、最大グレードおよび平均グレードを含む。
【選択図】図2
Description
本発明は、一般的にデジタル・メモリ・デバイスにおける、そして特に取り外し可能なフラッシュメモリ・デバイスにおける信頼性劣化のビルトイン検出のための方法に関する。
デジタル・メモリ・デバイスは、重要なデータに対して信頼可能なメモリ・デバイスとして頻繁に用いられる。そのような装置は寿命が限られており、また複雑であるため、デジタル・メモリ・デバイスが故障した場合、大切なデータは失われてしまう。不揮発性記憶システムは、メモリおよび制御システムを含むが、これらは、時々、同じシリコンの基材上に設けられる。制御システムが実行するタスクの一つは、エラー訂正である。
エラー訂正コード(ECC)は、記憶素子の特性または使用環境の特徴によって発生する、データにおける時折のエラーを検出し、そのエラーを修復し、ユーザの要求に対して、訂正された本来の情報を提供する。ECCシステムには、訂正可能なエラー数に関する、構造的な限界がある。過度に多くのエラーに遭遇すると、情報を修復することができず、喪失と報告することも、あるいはエラーがあるままの情報をユーザへ送ることもある。
メモリ・デバイスを用いるソフトウェア・アプリケーションは、訂正システムがデータの修復に失敗するまで、情報は正しいと仮定する。メモリがまだ完全に機能する限り、メモリが消耗して破損しつつあるというユーザへの指標は全くない。注目すべきは、エラー・レベルは、障害の前にメモリの寿命を予測するのに用いることができる複数の早期警告徴候の僅か一つであることである。
今日、ユーザ(そしてアプリケーション)は、記憶データの状態(ステートあるいはコンディション)に気づいていない。したがって、ユーザは、データを失う危険性を減少させる積極的な対策をとることができない。そのような対策は、例えば、データのバックアップを作成する、データを新しい記憶メディアへ移動させる、そしてメモリ・デバイスの問題の領域を他の領域へ再書き込みすることを含む。
現状技術は、メモリ・デバイスの「ヘルス」(すなわち、作動信頼性能)を報告するための方法を提供しない。いくつかの従来の技術による方法は、内部負荷平衡の目的で、デバイスの使用(すなわち、デバイスへの書き込み回数)を記録するが、それらの方法は、ユーザまたはアプリケーションへ早期警告表示を提供する目的で設計されたものではない。デバイスの使用と、デバイスの残りの寿命との間には相関性があるが、そのような相関性は、(年齢のみに基づいて人の寿命を予測することに関わる不正確性に類似する)デバイス間の、自然でランダムな変動があるため、絶対的なものではない。
メモリ・デバイスのヘルスをモニターしようとする方法は、本技術において既知であるが、ホスト・システム上で実行するプログラムに限られている。したがって、これらの方法は、エラーを訂正するためにエラー訂正方法を適用した後の、訂正された情報を取り扱うのみである。従来の技術によるシステムの一例が、CAクパチーノに在るシマンテック社から入手可能な「ノートン・システム・ドクター(NSD)」製品に含まれる(またNSD製品マニュアルに含まれる文書ID:2001082218352309内に説明があり、ノートン・ウェブ・サイト(www.norton.com)上でも見ることができる)「ディスク・ヘルス」と呼ばれる機能内に提供されている。データがメモリ・デバイスから読み出されるため、データが訂正される前にホスト・システムが生データにさらされることはない。この局面は、そのような従来の技術による方法を、メモリ・デバイスのヘルスにおける初期の劣化に対して鈍感なものにする。
そのようなメモリ・デバイスのユーザには、デバイスのヘルスが悪化して故障確率が高くなるときに早期警告表示を与えることが望ましいであろう。
メモリ・デバイス上に属して、データを訂正しようとの試みの前にメモリ・デバイス上で指標的長命パラメータの実際の劣化を検出して報告する方法に従って作動するシステムを持つことは、さらに望ましいであろう。そのようなシステムは、現代のマルチレベル・フラッシュメモリ・デバイスに対しては有意義で重要であろう。なぜなら、マルチレベル・フラッシュメモリ・デバイスは、伝統的なシングルレベル・フラッシュメモリ・デバイスよりも固有寿命が短いが、ルーチン作動を遅くすることなく老化の徴候を測定できるためである。
本発明の目的は、一般的にデジタル・メモリ・デバイス、そして特に取り外し可能なフラッシュメモリ・デバイスにおける信頼性の劣化のビルトイン検出のための方法を提供することである。本発明は、典型的な例としてフラッシュメモリ・デバイスを説明するが、他のメモリ・デバイスにも適用できる、また他のメモリ・デバイスをもカバーすることを意図している。
明確にする目的で、以下のいくつかの用語を、特に本出願の内容に対して定義する。本出願内で用いる用語「耐用寿命パラメータ」は、メモリ・デバイスの耐用期間中に値が変化するメモリ・デバイスの変数に言及し、メモリ・デバイスの少なくとも一つのセルの相対的に劣化したヘルスを表し、そしてデバイスの寿命と相互に関連する。そのようなパラメータは、例えば、平均エラー数、プログラミング・サイクル数、そしてビットがメモリへ書き込まれるときに(プログラミング・オペレーションの第一のプログラミング・パルスで)論理状態を反転させたビット数を含む。
本発明は、シングルレベル・セル(SLC)フラッシュメモリおよびマルチレベル・セル(MLC)フラッシュメモリの両方に適用できる。以降の考察は主にSLCセルに集中するが、本発明がどのようにMLCセルに適用できるのかは、同業者には明らかである。本文で用いる用語「消去」および「書き込み」は、メモリ・セルのスレショルド電圧を設定することに言及する。SLCセルに対して消去は、典型的に、1ロジック状態に対応する電圧を設定し、書き込みは、典型的に、0ロジック状態に対応する電圧を設定する。本文では、用語「書き込み」および「プログラミング」を置換可能に用いている。本発明は、特に、一度に1ページを読み取る、そしてプログラムするNANDタイプ・フラッシュメモリに適用可能である。
本出願内で用いる用語「ブロック」は、単一オペレーションで消去が可能な、メモリ内の最小セル数に言及する。本出願内で用いる用語「ページ」は、単一オペレーションで書き込みが可能な、メモリ内の最小セル数に言及する。典型的に、1ブロック内には、複数のページが存在する。本出願内で用いる用語「グレード」は、ページまたはブロックの耐用寿命パラメータの値に基づく、メモリ・ページまたはブロックの信頼性の測度に言及する。注意すべきは、消去オペレーションが、典型的に(1ページに対してではなく)1ブロックに対して実行されることである。したがって、消去オペレーションに関わるグレードは、ブロックの耐用寿命パラメータに基づくブロックの信頼性の測度に言及する。
本出願内で用いる用語「初期ヘルス」は、ページまたはブロックの、基準値からのグレードの偏差を表す耐用寿命パラメータに言及する。ブロックは、「耐用期間」の開始時における初期ヘルスが各々異なる。本出願内で用いる用語「相対的に劣化したヘルス」は、ブロックが製造されてテストされた初期ヘルスからの、ブロックまたはページのヘルスの劣化に言及する。ブロックのヘルスは、異なる進度で劣化する。本出願内で用いる用語「健常なセル」は、データ・オペレーションに関連した一連のプログラミング・パルスの後で論理状態が良好に変化しているセルに言及する。
さらに、本出願内で用いる用語「メモリ・デバイス」は、エラーが生じ得る物理プロセスを介してデータを記憶する不揮発性メモリに言及する。そのようなメモリ・デバイスは、半導体、磁気、ホログラフィック、光学、そして他の物理2値論理記憶技術に基づく、ポータブル・デバイスおよび固定デバイスを含む。
図1は、SLC・NANDタイプ・フラッシュメモリ・デバイスの、典型的な書き込みオペレーションのためのオペレーション・プロシージャを表すフローチャートである。フラッシュメモリ・デバイスのメモリのコントローラが、メモリに、特定な情報をページへ書き込むよう指示すると、メモリは一連のオペレーションを実行する。まず、メモリ・バッファへデータを書き込む(ブロック10)。それから、書き込みオペレーション・データの宛先(すなわち、メモリの物理ロケーション、または「ワード・ライン」)を選択する(ブロック12)。プログラミング・ステップは、複数の短いプログラミング・パルスへ分割する。プログラムすべきすべてのビットをプログラムするために、第一のパルスを適用する(ブロック14)。各プログラミング・サイクルの後、プログラムされたビットをチェックし、ビットがスレショルド・レベル(このレベルは、標準読み取りスレショルド・レベルよりも高い)を満たしていることを検証する(ブロック16)。すべてのビットが正しい値になっていないならば(ブロック18)、追加のプログラミング・サイクルを実行する(ブロック20)。オプションとして、追加のサイクルを、より高い電圧で実行してもよい(ブロック20)。すべてのビットがバッファ値に整合する場合、プログラム・サイクル(すなわち、書き込みオペレーション)は終了する(ブロック22)。
通常、プログラミング・サイクルは、書き込みオペレーションの終了まで、徐々に電圧レベルを増加させて実行する。しかし、あるタイプのNANDタイプ・フラッシュメモリ・デバイスでは、第一のパルスと第二のパルスとの間の差異は、以降のパルスよりも非常に大きい。そのようなケースでは、2、3の、初期の大きな増分の後、小さなステップで電圧を増加させるためのオプションを利用する。
フラッシュメモリへデータを選択的に書き込む(すなわち、プログラミングする)プロセスは、典型的にSLC実施例では、1ロジックから0ロジックへ選択メモリ・セルの論理状態を変化させることを必要とする。フラッシュメモリからデータを選択的に消去するプロセスは、典型的に0ロジックから1ロジックへ選択メモリ・セルの値を変化させることを必要とする。しかしながら、この選定は任意であり、逆に指定しても、等しく実行可能である。
NANDタイプ・フラッシュメモリは、データがフラッシュメモリ・セル内へプログラムされる前にデータを受信する一つ以上のページ・バッファ(すなわち、読み取りあるいは書き込み能力を持つメモリ・セル)を持つ。各フラッシュメモリ・セルが1ビットの情報を含み、且つ消去済みフラッシュメモリ・セルが1ロジックを持つフラッシュメモリに対してページをプログラムする方法は、以下のステップを実行する。
(1)ページ・バッファの対応するセル内に0ロジックを持つフラッシュメモリ・セルに対してのみプログラミング電圧パルスを適用する。プログラミング電圧パルスは、セルを所望のスレショルド電圧へ設定する単一の試みである。典型的に、要求電圧レベルを達成するためには、多くのそのようなパルスが必要である。
(2)メモリ内へプログラムされたデータを読み取る。
(3)読み取ったときに0ロジックを返すすべてのフラッシュメモリ・セルに対して、ページ・バッファの対応するセルを1ロジックへ設定する。
(4)ページ・バッファのすべてのセルが1ロジックを含むまで、あるいはパルス数が許容最大数を超過するまで、ステップ1から3を繰り返す。そして
(5)パルス数が許容最大数を超過したならば、ページ・プログラミング・オペレーションに対して、失敗ステータスを返す。
(2)メモリ内へプログラムされたデータを読み取る。
(3)読み取ったときに0ロジックを返すすべてのフラッシュメモリ・セルに対して、ページ・バッファの対応するセルを1ロジックへ設定する。
(4)ページ・バッファのすべてのセルが1ロジックを含むまで、あるいはパルス数が許容最大数を超過するまで、ステップ1から3を繰り返す。そして
(5)パルス数が許容最大数を超過したならば、ページ・プログラミング・オペレーションに対して、失敗ステータスを返す。
本発明は、フラッシュメモリ・デバイスのメモリ・コントローラが、フラッシュメモリ・デバイス内の劣化の徴候を検出して、フラッシュメモリ・デバイスの寿命に関する信頼可能な予測を提供することが可能な、いくつかの好適実施例を含む。グレードから推測する耐用寿命パラメータは、フラッシュメモリ・デバイスの寿命の「予想」として機能する。劣悪な耐用寿命パラメータを持つデバイスは、良好な耐用寿命パラメータを持つデバイスよりも、比較的に短い寿命を示す。
好適実施例においては、システムは、フラッシュメモリからデータを読み取る際のエラー確率をモニターする。通常、この統計は、フラッシュメモリ・コントローラのECCに利用可能であり、フラッシュメモリそれ自体への直接的なアクセスを必要としない。いくつかのフラッシュメモリ・デバイスでは、フラッシュメモリ内にECCが最初から組み込まれている。そのようなデバイスにおいては、エラー数に関する情報が、コマンドによってメモリ・コントローラへ利用可能である。
もう一つの好適実施例においては、システムは、プログラミング中、データ・ビットの状態を変化させるのに必要な、平均あるいは最大パルス数をモニターする。フラッシュメモリ・デバイスでは、この数は、典型的に、(フラッシュメモリのタイプに応じて)4から25プログラミング・パルスになる。フラッシュメモリが劣化するにつれ、フラッシュメモリへデータを書き込むのに必要なパルス数は増加する。
もう一つの好適実施例においては、システムは、任意数のパルスの後の、データ・ビットの論理状態の正常な変化の数をモニターする。フラッシュメモリの劣化とともに、より多くのビットが、書き込みのために複数のパルスを必要とするようになるため、例えば、第一のパルス後に正しくプログラムされているビット数は減少する。
したがって、本発明によれば、メモリ・デバイスを管理するための、以下のことを含む方法が初めて提供される。(a)メモリ・デバイス上でのデータ・オペレーションの後、メモリ・デバイスの耐用寿命パラメータの値をモニターすること。このモニタリングは、メモリ・デバイスが実行する。そして(b)その値から、メモリ・デバイスのグレードを推測すること。
耐用寿命パラメータは、処理の失敗したデータへの、処理の成功したデータの比率であることが好ましい。
択一的に、耐用寿命パラメータは、メモリ・デバイスの電力消費における偏差である。偏差は、複数のオペレーションに対する測定値の平均であることが最も好ましい。
グレードは、メモリの寿命の予想として機能することが好ましい。
オペレーションはプログラミング・オペレーションであり、値は、メモリ・デバイスのページ内の少なくとも一つのセルの論理状態を変化させるのに必要な、オペレーションに関わるプログラミング・パルスの数であることが好ましい。
オペレーションは消去オペレーションであり、値は、メモリ・デバイスのブロック内の少なくとも一つのセルの論理状態を変化させるのに必要な、オペレーションに関わるプログラミング・パルスの数であることが好ましい。
オペレーションはプログラミング・オペレーションであり、値は、メモリ・デバイスのページ内の健常なセルの数であることが好ましい。
オペレーションは消去オペレーションであり、値は、メモリ・デバイスのブロック内の健常なセルの数であることが好ましい。
オペレーションは、データを書き込むこと、データを読み取ること、そしてデータを消去することからなるグループから選択されることが好ましい。
グレードは、所定基準値への現在値の比較グレード、モニタリング・デバイス内に記憶した複数の値の最大グレード、そしてモニタリング・デバイス内に記憶した複数の値の平均グレードからなるグループから選択されることが好ましい。
グレードが所定基準値への現在値の比較である場合、方法は、さらに(c)メモリ・デバイスの製造時にメモリ・デバイス内に所定基準値を記憶するステップを含むことが最も好ましい。
モニタリング・ステップは、グレードを推測する目的でメモリ・デバイスにアクセスすることを含むことが好ましい。
方法は、さらに、(c)モニタリング・デバイス内にグレードを記憶するステップを含むことが好ましい。
モニタリング・デバイスは、メモリ・デバイス、メモリ・デバイスの埋め込み型コントローラ、そしてメモリ・デバイスのホスト・システムからなるグループから選択されることが最も好ましい。
推測ステップは、メモリ・デバイスによって開始されることが好ましい。
推測ステップは、メモリ・デバイスのホスト・システムによって開始されることが好ましい。
推測ステップは、メモリ・デバイスの埋め込み型コントローラによって開始されることが好ましい。
推測ステップは、ホスト・システム上で作動しているアプリケーションによって開始されることが好ましい。
推測ステップは、ホスト・システム上で作動しているオペレーティングシステムによって開始されることが好ましい。
本発明によれば、データを管理するための、以下のものを含むメモリ・デバイスが初めて提供される。(a)メモリ。そして(b)コントローラ。このコントローラは、(i)メモリ上でのデータ・オペレーションの後、耐用寿命パラメータの値をモニターするよう、そして(ii)値から、メモリ・デバイスのグレードを推測するよう作動可能である。
グレードは、メモリ・デバイスの寿命の予想として機能することが好ましい。
本発明によれば、データを管理するための、以下のものを含むシステムが初めて提供される。(a)メモリを含むメモリ・デバイス。そして(b)前記メモリ・デバイス内に収容されたプロセッサ。このプロセッサは、(i)メモリ上でのデータ・オペレーションの後、耐用寿命パラメータの値をモニターするよう、そして(ii)その値から、メモリ・デバイスのグレードを推測するよう作動可能である。
グレードは、メモリ・デバイスの寿命の予想として機能することが好ましい。
これらの実施例および他の実施例を、以下で詳細に説明する。
さて、本発明を、例証としての添付の図面を参照しながら説明する。
本発明は、デジタル・メモリ・デバイスの信頼性の劣化をビルトイン検出するための方法に関する。本発明による、デジタル・メモリ・デバイスの信頼性の劣化をビルトイン検出するための原理および作用は、図面およびそれらの説明を参照することで、よりよく理解することができる。
さて、図面を参照する。図2は、本発明の好適実施例による、メモリ・デバイスのデータ・ページ(またはブロック)のグレードの劣化を時間の関数として表す質的グラフである。上述のように、グレードは、オペレーションに応じて、ページまたはブロックに言及する。図2の曲線は、メモリ・デバイスのページまたはブロックの各グレードを表す。そのような曲線の一つ30を考察する。曲線30におけるページあるいはブロックの初期ヘルスは、線32として示す参照グレード値からの、曲線30における初期グレードの(t=0、すなわちメモリの製造あるいは試験時の)逸脱と定義する。任意の時間における、曲線30に関わるページあるいはブロックのヘルスの相対的劣化は、曲線30から線32へのグレード差34として示される。
図3Aは、本発明の好適実施例による、メモリ・コントローラが検出して修正するエラー数をモニターするための方法のオペレーション・プロシージャを表すフローチャートである。情報は、ルーチン的にメモリ・デバイスから読み出される、あるいはアプリケーション・アクションによって、またはデバイスのコントローラ上で実行されている内部プログラム(例えば、内部テストまたは定期的な保守プロシージャ)によって情報へのアクセスが開始される(ブロック40)。生の(すなわち、本来の記憶)データと記憶ECC情報とを読み取る(ブロック42)ことを含む、メモリ・デバイスからの情報の読み出しが行われている間に、データ内のエラーについて情報をチェックする(ブロック44)。
エラー検出あるいは訂正が適用され、エラーが修復される。生データに整合しないビットを計算し(ブロック44)、修復する(ブロック46)。ページあたりの修復ビットの数は、コントローラに、現在読み取られているページの信頼性の測度を提供する。本実施例においては、ページあたりの修復ビット数は、埋め込み型コントローラ(すなわち、メモリ・デバイスに埋め込まれたコントローラ)内に残留し、訂正データのみがアプリケーションへ転送される(ブロック48)。オプションとして、いくつかのECCアルゴリズムでは、修復データがコントローラによってメモリ(ブロック50)へ再書き込みされる。さらにコントローラは、またオプションとして、グレードとして知られるページの信頼性の測度としてエラー・ビット数をメモリへ記憶する(ブロック52)。
図4Aは、従来の技術および本発明の両方による、典型的データ・ページのフォーマットを表す簡略概略図である。ページ70は、関連データ、情報データ74の隣に記憶したECC情報、ECC72を典型的に持つ。ECC72は、通常、既知のエラー検出あるいは訂正方法(例えば、リード・サロモンまたはBCHアルゴリズム)に基づく。そのような訂正アルゴリズムは、有限レベル(例えば、512バイトのページにつき最高四つのエラービット)でデータを修正できる。
図4Bは、本発明の好適実施例による、ページのグレードを含むデータ・ページのフォーマットを表す簡略概略図である。ページ76は、ECC72および情報データ74の隣に記憶したグレード78を持つ。典型的レポート・グレード78は、512バイト・ページにつき一つのエラー・ビットである。グレード78が、危険なレベル(例えば、512バイトのページにつき四つのエラー・ビット)へ増加した、あるいはスレショルドを超過したとき、たとえ情報データ74が訂正されたとしても、アプリケーションは、アクションを開始することによって、グレード78からの情報に反応する。例えば、アプリケーションは、異なるページへ情報データ74を再書き込みできる、あるいは劣化を報告できる。それによって、情報データ74の長期信頼性を改善する。
択一的に、異なるタイプのグレード報告を採用することができる。図3Bは、本発明の好適実施例による、ホスト・システムへメモリ・デバイスのヘルスを報告するための方法のオペレーション・プロシージャを表すフローチャートである。本実施例においては、読み取りオペレーションに応答して、「ページ・エラー・グレード」がコントローラ内に記憶され、アプリケーションへ報告される(ブロック54)。アプリケーションからの直接的な要求に応答して(ブロック54)、メモリ全体で検出されたページ・グレードまたはダイナミックな(例えば、最悪な、あるいは平均的な)グレードが報告される。最悪のグレードを表すダイナミック・グレードのケースでは、データが読み取られる毎にもしエラー数が現在記憶されているグレードを超過するならば、このグレードは、ページに対して、あるいはメモリ・デバイス全体に対して検出された最大エラー数をグレードが示すように更新される。平均グレードを表すダイナミック・グレードのケースでは、このグレードは、データが読み取られる毎に更新される。グレード読み取りオペレーション(ブロック54)は、以下のステップを含む。ホスト・システムは、特定なページ・グレードあるいはデバイス・グレードを要求する(ブロック56)。それから、コントローラは、情報記憶ロケーション(例えばコントローラのメモリ、レジスタまたは埋め込み型メモリ)から情報を読み取る(ブロック58)。
オプションとして、アクションが、記憶グレードに基づくグレードの計算(例えば、ページの個々のグレードに基づいてすべてのページの平均または最大値)を要求する場合は、コントローラは、この計算を実行する(ブロック60)。それから、要求情報(すなわちグレード)がホスト・アプリケーションへ送信される(ブロック62)。
図5は、本発明の好適実施例による、ページを書き込むために要求されるパルス数、そして任意数のパルスの後に反転したビット数をモニターするための方法のオペレーション・プロシージャを表すフローチャートである。本実施例においては、コントローラは、ページ劣化の測度として、すべてのビットを正しい値に設定するのに要求されるパルス数を用いる。図5で概説するプロシージャは、図1で概説したプロシージャに類似している。データがメモリ・バッファ内に記憶され(ブロック80)、それから、書き込みオペレーションに対するメモリの物理ロケーションが選択される(ブロック82)。すべてのビットをプログラムするために第一のパルスが適用される(ブロック84)。各プログラミング・パルスの後、データが読み取られてバッファ内のターゲット・データに比較される(ブロック86)。
好適実施例においては、第一のパルスによって、または以降のプログラミング・パルスによってうまく反転しないページ内のビットの数あるいはパーセンテージを記録する(ブロック88)。この数は、メモリの老化またはヘルスの代替的な測度として用いる。もう一つの好適実施例では、ブロック88のステップへ択一的に、または追加的に、もう一つのカウンタを用い、そのカウンタを各パルスの後に1だけ増加させる(ブロック90)。カウンタは、プログラム・サイクル内のプログラム・パルス数を数える。そして、プログラミングを完了するのに要求されるパルス数を、メモリの老化またはヘルスの測度として用いる。
各プログラミング・サイクルの後、プログラムしたビットをチェックして、スレショルド・レベルが満たされているのかを検証する(このレベルは、標準読み取りスレショルド・レベルよりも高い)(ブロック92)。すべてのビットが正しい値にあるわけではない(ブロック92)場合、追加のプログラミング・サイクルを実行する(ブロック94)。オプションとして、この追加のサイクルは、より高い電圧で実行してもよい(ブロック94)。すべてのビットがバッファ値に整合する場合は、プログラム・サイクル(すなわち、書き込みオペレーション)を終了する(ブロック96)。
本発明による好適実施例においては、報告されるグレードが、(「ページ・グレード」とは対照的な)「ブロック・グレード」であり、ページ・グレードに関して読み取りおよび書き込みオペレーションから収集した情報は、ページを含む特定なブロックに対するブロック・グレードへ情報を寄与させるのみのために用いる。その結果、ヘルスは、「ブロック分解能」のみで報告される。
本発明による好適実施例においては、報告グレードは、デバイスの電力消費(例えば、基準電力消費または初期電力消費から)の偏差を表す。そのようなグレードは、データ・オペレーションを実行する際のデバイスの効率を示す。例えば、オペレーションを実行するために複数のプログラミング・パルスを必要とするデバイスは、少ないパルスでオペレーションを実行できるデバイスよりも大きな電力を消費する。
本発明による好適実施例においては、任意の期間にアクセスがなかったページは、ページのヘルスが長期間測定されていないので、ページの老化を査定できるよう自動的にバックグランドで読み込む。
本発明のもう一つの好適実施例においては、ブロックあるいはページの(製造時本来のメモリ内に記憶した)製造後の本来のヘルスに、測定ヘルスを比較することによって、デバイスの老化を評価する。この方法は、メモリのいくつかの領域が、他の領域よりも良好なヘルスを持つという、製造上の特徴であるデバイスに固有な非均一性に対して補正する。
図6Aは、本発明の好適実施例による、ホスト・システムに接続したフラッシュメモリ・デバイスを表す高度なブロック図である。図6は、図1に示すバン氏の米国特許第5,404,485号を適応させたものである。(以下、バン’485と呼ぶ)この特許は、すべての目的のために、参照により本文に完全に記述したものとする。フラッシュメモリ・デバイス100は、フラッシュメモリ102、コントローラ104、そしてランダムアクセスメモリ(RAM)106を含む。バン’485の「フラッシュコントロール14」に対応するコントローラ104、バン’485に説明があるように、そしてまたバン氏の米国特許第5,937,425号に説明があるように、RAM106の助けを借りてフラッシュメモリ102を管理する。この後者の特許は、以下にバン’425と呼ぶが、これも、すべての目的において、参照により本文に完全に記述したものとする。コントローラ104は、また、フラッシュメモリ102内に記憶したデータの再生をサポートする。フラッシュメモリ・デバイス100は、ホスト・システム108へ接続された状態で図示している。
図6Bは、本発明の好適実施例による、ホスト・システムへ接続した代替的なフラッシュメモリ・デバイスを表す高度なブロック図である。ホスト・システム110は、プロセッサ112および四つのメモリ・デバイス、RAM114、ブートROM116、大容量記憶デバイス(例えばハードディスク)118、そしてフラッシュメモリ・デバイス120を含み、これらすべてが共通バス122を介して通信する。フラッシュメモリ・デバイス100のように、フラッシュメモリ・デバイス120は、フラッシュメモリ102を含む。フラッシュメモリ・デバイス100と違って、フラッシュメモリ・デバイス120は、コントローラおよびRAMが欠如している。その代わり、プロセッサ112が、(例えば、イスラエル、クファル・サバに在るMシステムズ社のTrueFFS(登録商標)ドライバの方式で)バン’485およびバン’425の方法を実行する、そしてまた本発明のグレード・モニタリング方法を実行するソフトウェア・ドライバ(図示せず)を実行することによって、コントローラ104をエミュレートする。フラッシュメモリ・デバイス120は、また、プロセッサ112がフラッシュメモリ102と通信できるよう、バス・インターフェイス124を含む。
本発明を限られた数の実施例に関して説明したが、本発明の多くの変形、修正、そして他の応用が可能であることは明らかである。
Claims (24)
- メモリ・デバイスを管理するための方法であって、
(a)メモリ・デバイス上でのデータ・オペレーションの後、メモリ・デバイスの耐用寿命パラメータの値をモニターするステップ、なお、前記モニタリングはメモリ・デバイスが実行する、そして
(b)前記値からメモリ・デバイスのグレードを推測するステップからなる、方法。 - 前記耐用寿命パラメータが、処理の失敗したデータへの、処理の成功したデータの比率である、請求項1の方法。
- 前記耐用寿命パラメータが、メモリ・デバイスの電力消費の偏差である、請求項1の方法。
- 前記偏差が、複数の前記オペレーションに対する測定値の平均である、請求項3の方法。
- 前記グレードが、前記メモリの寿命の予想として機能する、請求項1の方法。
- 前記オペレーションがプログラミング・オペレーションであり、前記値が、メモリ・デバイスのページ内の少なくとも一つのセルの論理状態を変化させるのに要求される、前記オペレーションに関わるプログラミング・パルスの数である、請求項1の方法。
- 前記オペレーションが消去オペレーションであり、前記値が、メモリ・デバイスのブロック内の少なくとも一つのセルの論理状態を変化させるのに要求される、前記オペレーションに関わるプログラミング・パルスの数である、請求項1の方法。
- 前記オペレーションがプログラミング・オペレーションであり、前記値が、メモリ・デバイスのページ内の健常なセルの数である、請求項1の方法。
- 前記オペレーションが消去オペレーションであり、前記値が、メモリ・デバイスのブロック内の健常なセルの数である、請求項1の方法。
- 前記オペレーションが、データを書き込むこと、データを読み取ること、そしてデータを消去することからなるグループから選択される、請求項1の方法。
- 前記グレードが、所定基準前記値への現在前記値の比較グレード、モニタリング・デバイス内に記憶した複数の前記値の最大グレード、そして前記モニタリング・デバイス内に記憶した前記複数の前記値の平均グレードからなるグループから選択される、請求項1の方法。
- 前記グレードが、前記所定基準値への前記現在値の前記比較グレードであり、前記方法が、さらに、
(c)メモリ・デバイスの製造時にメモリ・デバイス内に前記所定基準値を記憶するステップからなる、請求項11の方法。 - 前記モニタリング・ステップが、前記グレードを推測する目的でメモリ・デバイスにアクセスすることを含む、請求項1の方法。
- さらに、
(c)モニタリング・デバイス内に前記グレードを記憶するステップからなる、請求項1の方法。 - 前記モニタリング・デバイスが、メモリ・デバイス、メモリ・デバイスの埋め込み型コントローラ、そしてメモリ・デバイスのホスト・システムからなるグループから選択される、請求項14の方法。
- 前記推測ステップがメモリ・デバイスによって開始される、請求項1の方法。
- 前記推測ステップがメモリ・デバイスのホスト・システムによって開始される、請求項1の方法。
- 前記推測ステップがメモリ・デバイスの埋め込み型コントローラによって開始される、請求項1の方法。
- 前記推測ステップが、ホスト・システム上で作動しているアプリケーションによって開始される、請求項1の方法。
- 前記推測ステップが、ホスト・システム上で作動しているオペレーティングシステムによって開始される、請求項1の方法。
- データを管理するためのメモリ・デバイスであって、
(a)メモリ、そして
(b)コントローラからなり、
前記コントローラが、
(i)前記メモリ上でのデータ・オペレーションの後、耐用寿命パラメータの値をモニターするよう、そして
(ii)前記値からメモリ・デバイスのグレードを推測するよう作動可能である、メモリ・デバイス。 - 前記グレードが、メモリ・デバイスの寿命の予想として機能する、請求項21のメモリ・デバイス。
- データを管理するためのシステムであって、
(a)メモリを含むメモリ・デバイス、そして
(b)前記メモリ・デバイス内に収容されたプロセッサからなり、
前記プロセッサが、
(i)前記メモリ上でのデータ・オペレーションの後、耐用寿命パラメータの値をモニターするよう、そして
(ii)前記値から前記メモリ・デバイスのグレードを推測するよう作動可能である、システム。 - 前記グレードが、前記メモリ・デバイスの寿命の予想として機能する、請求項23のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US77178606P | 2006-02-10 | 2006-02-10 | |
PCT/IL2007/000173 WO2007091263A2 (en) | 2006-02-10 | 2007-02-08 | Method for estimating and reporting the life expectancy of flash-disk memory |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009526340A true JP2009526340A (ja) | 2009-07-16 |
Family
ID=38345543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008553887A Pending JP2009526340A (ja) | 2006-02-10 | 2007-02-08 | フラッシュディスクのメモリの寿命を推定して報告するための方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7512847B2 (ja) |
EP (1) | EP1982264A2 (ja) |
JP (1) | JP2009526340A (ja) |
KR (1) | KR101348665B1 (ja) |
CN (1) | CN101529526B (ja) |
TW (1) | TWI339337B (ja) |
WO (1) | WO2007091263A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012146129A (ja) * | 2011-01-12 | 2012-08-02 | Mega Chips Corp | メモリアクセス制御装置 |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702935B2 (en) * | 2006-01-25 | 2010-04-20 | Apple Inc. | Reporting flash memory operating voltages |
US7861122B2 (en) * | 2006-01-27 | 2010-12-28 | Apple Inc. | Monitoring health of non-volatile memory |
JP4487978B2 (ja) * | 2006-06-28 | 2010-06-23 | セイコーエプソン株式会社 | 半導体記憶装置管理システム、プログラム、半導体記憶装置の管理方法 |
US7616508B1 (en) * | 2006-08-10 | 2009-11-10 | Actel Corporation | Flash-based FPGA with secure reprogramming |
JP4575346B2 (ja) * | 2006-11-30 | 2010-11-04 | 株式会社東芝 | メモリシステム |
US7913032B1 (en) | 2007-04-25 | 2011-03-22 | Apple Inc. | Initiating memory wear leveling |
US20080288712A1 (en) | 2007-04-25 | 2008-11-20 | Cornwell Michael J | Accessing metadata with an external host |
US7765426B2 (en) * | 2007-06-07 | 2010-07-27 | Micron Technology, Inc. | Emerging bad block detection |
TWI362044B (en) * | 2007-11-09 | 2012-04-11 | Transcend Information Inc | Storage apparatus and method for accessing data and for managing memory block |
US7903486B2 (en) * | 2007-11-19 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory |
US20090161243A1 (en) * | 2007-12-21 | 2009-06-25 | Ratnesh Sharma | Monitoring Disk Drives To Predict Failure |
TWI381391B (zh) * | 2008-08-05 | 2013-01-01 | Transcend Information Inc | 可自我檢測使用狀態的儲存裝置及其檢測方法 |
CN101685675B (zh) * | 2008-09-26 | 2014-01-15 | 美光科技公司 | 存储器单元操作 |
US7996725B2 (en) * | 2008-11-14 | 2011-08-09 | Nokia Corporation | Providing protection for a memory device |
US8205060B2 (en) * | 2008-12-16 | 2012-06-19 | Sandisk Il Ltd. | Discardable files |
US9104686B2 (en) | 2008-12-16 | 2015-08-11 | Sandisk Technologies Inc. | System and method for host management of discardable objects |
US20100153474A1 (en) * | 2008-12-16 | 2010-06-17 | Sandisk Il Ltd. | Discardable files |
US8849856B2 (en) * | 2008-12-16 | 2014-09-30 | Sandisk Il Ltd. | Discardable files |
US9020993B2 (en) | 2008-12-16 | 2015-04-28 | Sandisk Il Ltd. | Download management of discardable files |
US8375192B2 (en) * | 2008-12-16 | 2013-02-12 | Sandisk Il Ltd. | Discardable files |
US9015209B2 (en) | 2008-12-16 | 2015-04-21 | Sandisk Il Ltd. | Download management of discardable files |
JP5544712B2 (ja) * | 2008-12-26 | 2014-07-09 | 富士通株式会社 | メモリの寿命検出装置及び方法 |
US20100235473A1 (en) * | 2009-03-10 | 2010-09-16 | Sandisk Il Ltd. | System and method of embedding second content in first content |
US8380946B2 (en) * | 2009-04-08 | 2013-02-19 | International Business Machines Corporation | System, method, and computer program product for estimating when a reliable life of a memory device having finite endurance and/or retention, or portion thereof, will be expended |
US7975193B2 (en) * | 2009-06-01 | 2011-07-05 | Lsi Corporation | Solid state storage end of life prediction with correction history |
US20100306451A1 (en) * | 2009-06-01 | 2010-12-02 | Joshua Johnson | Architecture for nand flash constraint enforcement |
US8555141B2 (en) * | 2009-06-04 | 2013-10-08 | Lsi Corporation | Flash memory organization |
US8219776B2 (en) * | 2009-09-23 | 2012-07-10 | Lsi Corporation | Logical-to-physical address translation for solid state disks |
US8166258B2 (en) * | 2009-07-24 | 2012-04-24 | Lsi Corporation | Skip operations for solid state disks |
US8286004B2 (en) * | 2009-10-09 | 2012-10-09 | Lsi Corporation | Saving encryption keys in one-time programmable memory |
US8868809B2 (en) * | 2009-11-30 | 2014-10-21 | Lsi Corporation | Interrupt queuing in a media controller architecture |
US8321639B2 (en) * | 2009-12-30 | 2012-11-27 | Lsi Corporation | Command tracking for direct access block storage devices |
US8245112B2 (en) * | 2009-06-04 | 2012-08-14 | Lsi Corporation | Flash memory organization |
US8755229B1 (en) | 2009-06-23 | 2014-06-17 | Micron Technology, Inc. | Limiting flash memory over programming |
US8321727B2 (en) * | 2009-06-29 | 2012-11-27 | Sandisk Technologies Inc. | System and method responsive to a rate of change of a performance parameter of a memory |
US8400854B2 (en) * | 2009-09-11 | 2013-03-19 | Sandisk Technologies Inc. | Identifying at-risk data in non-volatile storage |
US8640005B2 (en) * | 2010-05-21 | 2014-01-28 | Intel Corporation | Method and apparatus for using cache memory in a system that supports a low power state |
JP2012027964A (ja) * | 2010-07-20 | 2012-02-09 | Panasonic Corp | メモリ装置及びcpuの制御方法 |
US8463802B2 (en) | 2010-08-19 | 2013-06-11 | Sandisk Il Ltd. | Card-based management of discardable files |
US8549229B2 (en) | 2010-08-19 | 2013-10-01 | Sandisk Il Ltd. | Systems and methods for managing an upload of files in a shared cache storage system |
US8422303B2 (en) * | 2010-12-22 | 2013-04-16 | HGST Netherlands B.V. | Early degradation detection in flash memory using test cells |
US8788849B2 (en) | 2011-02-28 | 2014-07-22 | Sandisk Technologies Inc. | Method and apparatus for protecting cached streams |
US8560922B2 (en) | 2011-03-04 | 2013-10-15 | International Business Machines Corporation | Bad block management for flash memory |
CN102163165B (zh) * | 2011-05-26 | 2012-11-14 | 忆正存储技术(武汉)有限公司 | 一种闪存错误预估模块及其预估方法 |
US10359949B2 (en) | 2011-10-31 | 2019-07-23 | Apple Inc. | Systems and methods for obtaining and using nonvolatile memory health information |
US9146855B2 (en) | 2012-01-09 | 2015-09-29 | Dell Products Lp | Systems and methods for tracking and managing non-volatile memory wear |
CN103325424A (zh) * | 2012-03-23 | 2013-09-25 | 绿智慧流科技公司 | 闪存使用期限评估方法 |
DE102012024772A1 (de) * | 2012-12-18 | 2014-06-18 | Giesecke & Devrient Gmbh | Verfahren zum Betreiben eines Teilnehmeridentifikationsmoduls sowie ein solches Teilnehmeridentifikationsmodul |
US20140188405A1 (en) | 2012-12-28 | 2014-07-03 | International Business Machines Corporation | Predicting a time of failure of a device |
US10083069B2 (en) * | 2013-06-27 | 2018-09-25 | Sandisk Technologies Llc | Word line defect detection and handling for a data storage device |
CN103577337B (zh) * | 2013-11-05 | 2017-02-22 | 华为技术有限公司 | 存储系统的空间分配方法和设备 |
US9305663B2 (en) * | 2013-12-20 | 2016-04-05 | Netapp, Inc. | Techniques for assessing pass/fail status of non-volatile memory |
CN103713857B (zh) * | 2013-12-24 | 2017-06-27 | 华为技术有限公司 | 存储数据的方法及存储装置 |
KR20150112075A (ko) * | 2014-03-26 | 2015-10-07 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
KR102291507B1 (ko) | 2014-05-20 | 2021-08-20 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법 |
US10235056B2 (en) | 2014-09-26 | 2019-03-19 | Western Digital Technologies, Inc. | Storage device health diagnosis |
CN104464809A (zh) * | 2014-11-05 | 2015-03-25 | 武汉新芯集成电路制造有限公司 | 一种延长快闪存储器使用寿命的方法 |
US9798475B2 (en) | 2015-03-11 | 2017-10-24 | Toshiba Memory Corporation | Memory system and method of controlling nonvolatile memory |
CN106297898A (zh) * | 2015-06-03 | 2017-01-04 | 杭州海康威视数字技术股份有限公司 | 一种NAND Flash存储器的寿命预警方法及装置 |
US20170068467A1 (en) * | 2015-09-04 | 2017-03-09 | HGST Netherlands B.V. | Wear management for flash memory devices |
CN106779008A (zh) * | 2015-11-23 | 2017-05-31 | 杭州海康威视数字技术股份有限公司 | Sd卡、摄像机和sd卡可靠性预警系统 |
CN107346668B (zh) * | 2017-07-12 | 2020-08-21 | 武汉新芯集成电路制造有限公司 | 一种耐用性测试方法 |
US11016693B2 (en) | 2018-06-21 | 2021-05-25 | International Business Machines Corporation | Block health estimation for wear leveling in non-volatile memories |
WO2021040810A1 (en) * | 2019-08-23 | 2021-03-04 | Futurewei Technologies, Inc. | Device lifetime prediction |
CN111240887A (zh) * | 2020-01-07 | 2020-06-05 | 苏州大学 | 基于三维闪存存储结构的错误页识别方法 |
CN115298652A (zh) * | 2020-04-30 | 2022-11-04 | 北京嘀嘀无限科技发展有限公司 | 用于存储介质健康评估的系统和方法 |
CN112379832B (zh) * | 2020-11-05 | 2023-04-25 | 杭州海康威视数字技术股份有限公司 | 存储介质检测方法和装置 |
JP2023079292A (ja) * | 2021-11-29 | 2023-06-08 | ラピステクノロジー株式会社 | 半導体記憶装置、データ書込方法及び半導体記憶装置の製造方法 |
KR102689776B1 (ko) * | 2022-02-14 | 2024-07-29 | 백석대학교산학협력단 | 경사하강법을 이용한 플래시 메모리 기반 저장 장치의 수명 예측 방법 및 시스템 |
CN116737515B (zh) * | 2023-05-10 | 2024-02-23 | 珠海妙存科技有限公司 | 闪存参数可视化方法、系统及存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US5537357A (en) * | 1994-06-27 | 1996-07-16 | Intel Corporation | Method for preconditioning a nonvolatile memory array |
GB2300946B (en) * | 1995-05-17 | 1999-10-20 | Altera Corp | Tri-statable input/output circuitry for programmable logic |
US5959891A (en) * | 1996-08-16 | 1999-09-28 | Altera Corporation | Evaluation of memory cell characteristics |
JP3565687B2 (ja) * | 1997-08-06 | 2004-09-15 | 沖電気工業株式会社 | 半導体記憶装置およびその制御方法 |
US7036068B2 (en) * | 2001-07-25 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | Error correction coding and decoding in a solid-state storage device |
US6948102B2 (en) * | 2002-04-29 | 2005-09-20 | International Business Machines Corporation | Predictive failure analysis for storage networks |
US20040088614A1 (en) * | 2002-11-01 | 2004-05-06 | Ting-Chin Wu | Management system for defective memory |
KR100468616B1 (ko) * | 2004-03-02 | 2005-01-31 | 주식회사 하이스마텍 | 비휘발성 메모리의 수명을 연장하는 방법 및 시스템 |
US7277336B2 (en) * | 2004-12-28 | 2007-10-02 | Sandisk 3D Llc | Method and apparatus for improving yield in semiconductor devices by guaranteeing health of redundancy information |
US8301938B2 (en) * | 2005-03-21 | 2012-10-30 | Hewlett-Packard Development Company, L.P. | Managing memory health |
EP2998894B1 (en) * | 2005-07-11 | 2021-09-08 | Brooks Automation, Inc. | Intelligent condition monitoring and fault diagnostic system |
US7831783B2 (en) * | 2005-12-22 | 2010-11-09 | Honeywell International Inc. | Effective wear-leveling and concurrent reclamation method for embedded linear flash file systems |
US7861122B2 (en) * | 2006-01-27 | 2010-12-28 | Apple Inc. | Monitoring health of non-volatile memory |
-
2007
- 2007-02-06 US US11/702,500 patent/US7512847B2/en active Active
- 2007-02-08 EP EP07706116A patent/EP1982264A2/en not_active Withdrawn
- 2007-02-08 JP JP2008553887A patent/JP2009526340A/ja active Pending
- 2007-02-08 CN CN2007800036139A patent/CN101529526B/zh active Active
- 2007-02-08 WO PCT/IL2007/000173 patent/WO2007091263A2/en active Application Filing
- 2007-02-08 KR KR1020087018661A patent/KR101348665B1/ko not_active IP Right Cessation
- 2007-02-09 TW TW096104903A patent/TWI339337B/zh not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012146129A (ja) * | 2011-01-12 | 2012-08-02 | Mega Chips Corp | メモリアクセス制御装置 |
Also Published As
Publication number | Publication date |
---|---|
US7512847B2 (en) | 2009-03-31 |
WO2007091263A3 (en) | 2009-04-09 |
TWI339337B (en) | 2011-03-21 |
EP1982264A2 (en) | 2008-10-22 |
CN101529526A (zh) | 2009-09-09 |
TW200745855A (en) | 2007-12-16 |
CN101529526B (zh) | 2013-08-14 |
KR20080092929A (ko) | 2008-10-16 |
US20070198786A1 (en) | 2007-08-23 |
KR101348665B1 (ko) | 2014-01-08 |
WO2007091263A2 (en) | 2007-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7512847B2 (en) | Method for estimating and reporting the life expectancy of flash-disk memory | |
US8799747B2 (en) | Data hardening to compensate for loss of data retention characteristics in a non-volatile memory | |
US9146821B2 (en) | Methods and systems for monitoring write operations of non-volatile memory | |
US8458417B2 (en) | Garbage collection in a storage device | |
US8910002B2 (en) | NAND flash-based storage device with built-in test-ahead for failure anticipation | |
US8719531B2 (en) | System and method for performing data retention that incorporates environmental conditions | |
US10592134B1 (en) | Open block stability scanning | |
TWI410976B (zh) | 固態儲存媒體可靠度的測試方法 | |
US9263158B2 (en) | Determining data retention time in a solid-state non-volatile memory | |
US20230153003A1 (en) | Open block family duration limited by time and temperature | |
US10089170B1 (en) | Open block management | |
US20210304826A1 (en) | Defect detection in memories with time-varying bit error rate | |
EP3841479A1 (en) | Hybrid wear leveling for in-place data replacement media | |
US10761739B2 (en) | Multi-level wear leveling for non-volatile memory | |
US20220171562A1 (en) | Garbage collection in a memory component using an adjusted parameter | |
US11404141B2 (en) | Preemptive read refresh in memories with time-varying error rates | |
US11495309B2 (en) | Initiating media management operation using voltage distribution metrics in memory system | |
WO2021034979A1 (en) | Garbage collection in a memory sub-system during a low battery state | |
US10475522B2 (en) | Memory system including a delegate page and method of identifying a status of a memory system | |
US11810631B2 (en) | Data integrity checks based on voltage distribution metrics | |
US12105967B2 (en) | Two-tier defect scan management | |
CN114121110A (zh) | 耐用性预知的nand闪存管理 | |
CN117854564A (zh) | 闪存存储方法、设备及计算机可读存储介质 |