JP2009503735A - フラッシュメモリシステムのデータ記憶容量の解放 - Google Patents
フラッシュメモリシステムのデータ記憶容量の解放 Download PDFInfo
- Publication number
- JP2009503735A JP2009503735A JP2008525135A JP2008525135A JP2009503735A JP 2009503735 A JP2009503735 A JP 2009503735A JP 2008525135 A JP2008525135 A JP 2008525135A JP 2008525135 A JP2008525135 A JP 2008525135A JP 2009503735 A JP2009503735 A JP 2009503735A
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- blocks
- file
- list
- 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.)
- Granted
Links
- 238000013500 data storage Methods 0.000 title claims description 20
- 238000000034 method Methods 0.000 claims description 79
- 230000008901 benefit Effects 0.000 claims description 6
- 230000008672 reprogramming Effects 0.000 claims description 6
- 210000004027 cell Anatomy 0.000 claims 9
- 210000000352 storage cell Anatomy 0.000 claims 5
- 230000036961 partial effect Effects 0.000 description 90
- 230000007704 transition Effects 0.000 description 56
- 230000006870 function Effects 0.000 description 27
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 230000010354 integration Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 10
- 238000003780 insertion Methods 0.000 description 9
- 230000037431 insertion Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000002411 adverse Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 238000007596 consolidation process Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000014616 translation Effects 0.000 description 2
- 241001544487 Macromiidae Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/10—Programming or data input circuits
-
- 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/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
図1〜図8を参照して、一般的なフラッシュメモリシステムと、ホストデバイスとの典型的な動作とについて説明する。これは、本発明の様々な態様を実施するシステムである。図1のホストシステム1は、フラッシュメモリ2にデータを記憶し、フラッシュメモリ2からデータを検索する。フラッシュメモリをホストに埋め込むことが可能であるが、メモリ2については、より広く普及している形態のカードとし、機械的および電気的なコネクタである接続部分3および4を介してホストに取り外し可能に接続しているものとして例示する。現在、多くの異なるフラッシュメモリカードが市販されているが、一例として、コンパクトフラッシュ(CF)、マルチメディアカード(MMC)、セキュアデジタル(SD)、ミニSD、マイクロSD、メモリスティック、スマートメディアおよびトランスフラッシュという商標のもとで販売されている。これらのカードは、それらの標準化仕様により一意の機械的および/または電気的インターフェイスを有しているが、各カードに含まれるフラッシュメモリは非常に似通っている。これらのカードはすべて、本願の譲受人であるサンディスク コーポレイション(SanDisk Corporation) から入手できる。サンディスク コーポレイションは、クルーザー(Cruzer)という商標のもとで一連のフラッシュドライブも販売している。これは、ホストのUSBコンセントに接続することによりホストに接続するユニバーサル・シリアル・バス(USB)プラグを有する、小形パッケージのハンドヘルド形メモリシステムである。これらのメモリカードおよびフラッシュドライブはそれぞれ、ホストとインターフェイスをとり、内部のフラッシュメモリの動作を制御するコントローラを含んでいる。
ホストと、大容量のデータを記憶するメモリシステムとの間の、異なるタイプのインターフェイスにより、論理アドレス空間を用いなくていいようになる。そのかわり、ホストは、一意のファイルID(または他の一意の参照)と、ファイル内のデータ単位(バイトなど)のオフセットアドレスとにより、各ファイルに対し論理的にアドレス指定を行う。このファイルアドレスを、直接メモリシステムのコントローラに渡し、各ホストファイルのデータを物理的に記憶してあるそれ自体の表に保存する。図2〜図6に関連して前述した同じメモリシステムで、この新しいインターフェイスを実施することができる。前述したものとの主な違いは、メモリシステムがホストシステムと行う通信方法である。
図11のファイル対ブロックマッピング機能605の一例を以下に説明する。外部ホストまたはホスト内部処理のいずれかから、メモリシステムにデータの書き込みを行うか、またはデータ解放動作の一部として、メモリの他の位置からコピーする場合、特定の処理に基づいて、データを記憶する宛先ブロックを選択する。この処理では、記憶してあるファイルデータの構造に基づいて、特定のブロックの種類を認識する。次に、多数の状態のうちの1つとして、メモリシステムに記憶してある各ファイルに注記を行う。ファイルの状態はそれぞれ、ファイルのデータを記憶してあるブロックの数と種類とで定義済みである。ファイルにデータの書き込みを行う場合、その現在の状態と、ある状態から別の状態へ許可されている遷移とを制御して、1つ以上の他のファイルのデータも含んでいる特定のファイルのデータを含むブロックの数を制限する。これにより、メモリブロックの効率的な利用を促進し、新しいデータまたはコピーしたデータを受け入れるのに十分な消去ブロックを全メモリで保持するのに必要な、後で行う解放動作の頻度を低減する。
“ファイルブロック”とは、完全にプログラミングが行われ、1つのファイルの有効なデータを含んでいる。使われなくなったデータをいくつか含んでいることもある。
“プログラムブロック”とは、部分的にプログラミングが行われ、1つのファイルにだけ有効なデータを含んでいる。消去した容量がいくらかブロックに残っている。使われなくなったデータをいくつか含んでいることもある。
“共有ブロック”とは、部分的にプログラミングが行われ、2つ以上のファイルに有効なデータを含んでいる。消去した容量がいくらか残っている。使われなくなったデータをいくつか含んでいることもある。
“フル共有ブロック”とは、プログラミングが完全に行われ、2つ以上のファイルに有効なデータを含んでいる。使われなくなったデータをいくつか含んでいることもある。
“フルプログラムブロック”とは、ファイルに直近に書き込まれたデータと使われなくなったデータとを含む場合、満杯になったプログラムブロックに対する一時指定であり、ファイルに対し存在するオフセットアドレスの範囲は、1つのブロックが収容可能ものである。ファイルに書き込む次のデータが、1つのブロックが収容可能なオフセットアドレスの範囲を超えている場合、フルプログラムブロックは次に、ファイルブロックとして指定を受ける。完全プログラムブロックは、既存の論理ブロックアドレス(LBA)システムの完全な無秩序(Chaotic) ブロックに相当する。というのは、一旦有効なデータの指定を行って、使われなくなったデータを少なくとも別のときに1回指定したならば、このブロックにファイルの特定の論理オフセットの書き込みを複数回行うからである。
“部分ブロック”とは、プログラミングを行わない容量、1つ以上のファイルの有効なデータを含むもので、使われなくなったデータを含む場合もある。プログラムブロックおよび共有ブロックが、部分ブロックの一例である。
“使われなくなったブロック”とは、使われなくなったデータを含むファイルブロックまたはフル共有ブロックである。使われなくなったブロックは、消去した容量を含まず、有効なデータおよび使われなくなったデータの両方を含んでいる。
“無効なブロック”とは、有効なデータを全く含まないものである。無効なブロックは、少なくとも使われなくなったデータを含み、有効なデータを含まない、消去した容量を含んでいる場合もある。
前述したように、ブロック管理の一部には、ブロック内の使われていない容量を解放して新しいデータを記憶することが含まれている。メモリシステムに記憶するデータ量がその容量よりずっと少ない場合、これは、特に問題ではないが、好ましくは、メモリシステムを、データで満杯になっているように動作するように設計する。これは、使われなくなったデータだけを含んでいるブロックや、有効なデータを含んでいるが、使われなくなったデータおよび/または書き込みが行われていない消去ページもある他のブロックを、この使われていない容量を解放するように処理できることを意味している。この目的は、できるだけ余すところなくメモリシステムの記憶容量を利用することであり、同時に、システム性能への悪影響を最小限にすることである。ブロックの解放については、図11の全体的なシステム動作図に617と記してある。
解放利得=(S−kE)/V (1)
例示の実施形態に関連して本発明の様々な態様を説明してきたが、本発明が添付の特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解できよう。
Claims (19)
- 再プログラミングを行う前に消去が行われるメモリセルブロックにグループ化したデータ記憶セルを有する、不揮発性メモリシステムの動作方法であって、
前記ブロックのデータ記憶容量より少ない有効なデータ量を個別に含むブロックを含んでいる少なくとも1つのリストを保持するステップと、
前記少なくとも1つのリストの他のブロックの前記有効なデータ量に対する前記有効なデータ量に基づいて、前記少なくとも1つのリストからブロックを選択するステップと、
前記選択したブロックからの前記有効なデータを別のブロックにコピーするステップと、
その後、前記選択したブロックを消去することにより、前記消去した選択したブロックが他のデータの記憶に利用可能になるステップと、
を含む方法。 - 請求項1記載の方法において、
前記ブロックを選択するステップが、前記リストの他のブロックの前記有効なデータ量に対する前記有効なデータ量だけに基づいて、前記ブロックを前記少なくとも1つのリストから選択するステップを含む方法。 - 請求項1記載の方法において、
前記ブロックを選択するステップが、前記リストの他のブロックの前記有効なデータ量に対する前記有効なデータ量が最も少ない前記ブロックを前記少なくとも1つのリストから選択するステップを含む方法。 - 請求項1記載の方法において、
前記ブロックを少なくとも1つのリストから選択するステップが、前記少なくとも1つのリストの他のブロックの消去した記憶容量の量に対する消去した記憶容量の量に基づいて、前記ブロックを前記少なくとも1つのリストから選択するステップをさらに含む方法。 - 再プログラミングを行う前に消去が行われるメモリセルブロックにグループ化した記憶セルを有する、不揮発性メモリシステムの動作方法であって、
有効なデータ量と、使われなくなったデータ、または消去したデータ記憶容量、またはこの2つを個別に含むブロックを含んでいる少なくとも1つのリストを保持するステップと、
有効なデータの相対量と、前記少なくとも1つのリストの前記ブロックの前記消去した記憶容量との2つを考慮に入れることにより、前記少なくとも1つのリストからブロックを選択するステップと、
前記選択したブロックからの前記有効なデータを別のブロックにコピーするステップと、
その後、前記選択したブロックを消去することにより、前記消去ブロックが他のデータの記憶に利用可能になるステップと、
を含む方法。 - 請求項5記載の方法において、
前記少なくとも1つのリストからブロックを選択するステップが、前記少なくとも1つのリストの他のブロックに対する有効なデータ量が低い前記選択したブロックと、前記少なくとも1つのリストの他のブロックに対する消去した記憶容量の量が高い前記選択したブロックとのトレードオフの利点を含む方法。 - 再プログラミングを行う前に消去が行われるメモリセルブロックにグループ化した記憶セルを有する、不揮発性メモリシステムの動作方法であって、
有効なデータ量と、使われなくなったデータを個別に含んでいるが消去したデータ記憶容量のないブロックすべての第1のリストを保持するステップと、
1つ以上のブロックが前記第1のリストにあるかどうかを判定し、1つ以上のブロックが前記第1のリストにあれば、前記ブロックの前記有効なデータ量に基づいて、前記第1のリストから第1のブロックの識別を行うステップと、
有効なデータ量と、消去したデータ記憶容量を個別に含んでいるブロックすべての第2のリストを保持するステップと、
1つ以上のブロックが前記第2のリストにあるかどうかを判定し、1つ以上のブロックが前記第2のリストにあれば、前記有効なデータ量および前記ブロックの消去した記憶容量の2つに基づいて、前記第2のリストから第2のブロックの識別を行うステップと、
メモリシステムの動作の値に基づいて、前記ブロック解放のために前記第1のブロックまたは第2のブロックのいずれかを選択するステップと、
前記選択したブロックからの前記有効なデータを別のブロックにコピーするステップと、
その後、前記選択したブロックを消去することにより、他のデータの記憶に利用可能な消去ブロックとして、前記選択した第1のブロックまたは第2のブロックを解放するステップと、
を含む方法。 - 再プログラミングを行う前に消去が行われるメモリセルブロックにグループ化した記憶セルを有する、不揮発性メモリシステムの動作方法であって、
有効なデータ量と、使われなくなったデータを個別に含んでいるが消去したデータ記憶容量のないブロックすべてを含んでいる第1のリストを保持するステップと、
1つ以上のブロックが前記第1のリストにあるかどうかを判定し、1つ以上のブロックが前記第1のリストにあれば、前記第1のリストから前記ブロックの前記有効なデータ量が最も少ない第1のブロックの識別を行うステップと、
有効なデータ量と、消去したデータ記憶容量を個別に含んでいるブロックすべてを含んでいる第2のリストを保持するステップと、
1つ以上のブロックが前記第2のリストにあるかどうかを判定し、1つ以上のブロックが前記第2のリストにあれば、前記第2のリストから前記ブロックの前記有効なデータ量が最も少ない第2のブロックの識別を行うステップと、
前記第2のブロック内の前記有効なデータ量を前記第2のブロック内の消去したデータ記憶容量の前記量に対し調整を行った後で、前記含まれている有効なデータ量に基づいて、前記第1のブロックまたは第2のブロックのいずれかを選択するステップと、
前記選択したブロックからの前記有効なデータを別のブロックにコピーするステップと、
その後、前記選択したブロックを消去することにより、前記選択した第1のブロックまたは第2のブロックが他のデータの記憶に利用可能な消去ブロックになるステップと、
を含む方法。 - 再プログラミングを行う前に消去が行われるメモリセルブロックにグループ化した記憶セルを有する、不揮発性メモリシステムの動作方法であって、
少なくともいくつかの前記ブロックの内容に基づいて、解放動作が行われるブロックを選択するステップと、
その後、前記選択したブロックの有効なデータを別のブロックにコピーすることにより、前記選択したブロックを解放し、次に、前記選択したブロックの消去を行うステップと、
を含む方法。 - 請求項9記載の方法において、
前記解放動作が行われるブロックを選択するステップが、有効なデータ量を個別に含んでいる少なくともいくつかのブロックの前記内容に基づいて、選択を行うステップを含む方法。 - 請求項10記載の方法において、
前記解放動作が行われるブロックを選択するステップが、前記データを記憶するための前記個別のブロックに残っている消去した容量の量を個別に含んでいる少なくともいくつかのブロックの前記内容に基づいて、選択を行うステップをさらに含む方法。 - 請求項11記載の方法において、
前記解放動作が行われるブロックを選択するステップが、それぞれ使われなくなったデータを含んでいない、少なくともいくつかのブロックの前記内容に基づいて、選択を行うステップをさらに含む方法。 - 請求項9記載の方法において、
前記解放動作が行われるブロックを選択するステップが、前記データを記憶するための前記個別のブロックに残っている消去した容量の量を個別に含んでいる少なくともいくつかのブロックの前記内容に基づいて、選択を行うステップを含む方法。 - 請求項9記載の方法において、
前記解放動作が行われるブロックを選択するステップが、それぞれ使われなくなったデータを含んでいない、少なくともいくつかのブロックの前記内容に基づいて、選択を行うステップを含む方法。 - 再プログラム可能な不揮発性メモリシステムであって、
データの書き換えを行う前に消去が行われることを特徴とする不揮発性メモリセルのブロックと、
機能上前記メモリセルブロックに接続し、少なくとも複数のブロックに記憶している有効なデータの相対量に基づいて、その記憶容量の一部分を有効なデータが占有していないブロックを選択して、解放することにより有効なデータの記憶に用いることができるようにし、前記選択したブロックの有効なデータを別のブロックにコピーするように動作するコントローラと、
を備えるメモリシステム。 - 請求項15記載のメモリシステムにおいて、
前記コントローラは、前記少なくとも複数のメモリシステムブロックのうち、前記有効なデータ量が最も少ない、解放すべき前記ブロックを選択するようにさらに動作するメモリシステム。 - 請求項15記載のメモリシステムにおいて、
前記コントローラは、前記データを記憶するための前記少なくとも複数の前記ブロックに個別に残っている消去した容量の量に基づいて、解放すべき前記ブロックを選択するようにさらに動作するメモリシステム。 - 請求項17記載のメモリシステムにおいて、
前記コントローラは、使われなくなったデータを含んでいない前記少なくとも複数のブロックから、解放すべき前記ブロックを選択するようにさらに動作するメモリシステム。 - 再プログラム可能な不揮発性メモリシステムであって、
同時に消去可能なメモリセルブロックに構成された不揮発性メモリセルアレイと、
コントローラであって、
有効なデータ量と、使われなくなったデータを個別に含んでいるが消去したデータ記憶容量のないブロックすべてを含んでいる第1のリストを保持し、
1つ以上のブロックが前記第1のリストにあるかどうかを判定し、1つ以上のブロックが前記第1のリストにあれば、前記第1のリストから前記ブロックの前記有効なデータ量が最も少ない第1のブロックの識別を行い、
有効なデータ量と、消去したデータ記憶容量を個別に含んでいるブロックすべてを含んでいる第2のリストを保持し、
1つ以上のブロックが前記第2のリストにあるかどうかを判定し、1つ以上のブロックが前記第2のリストにあれば、前記第2のリストから前記ブロックの前記有効なデータ量が最も少ない第2のブロックの識別を行い、
前記第2のブロック内の前記有効なデータ量を前記第2のブロック内の消去したデータ記憶容量の前記量に対し調整を行った後で、前記含まれている有効なデータ量に基づいて、前記第1のブロックまたは第2のブロックのいずれかを選択し、
前記選択したブロックからの前記有効なデータを別のブロックにコピーし、
その後、前記選択したブロックを消去するように動作する前記メモリアレイと動作可能に接続しているコントローラと、
を備えるメモリシステム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US70538805P | 2005-08-03 | 2005-08-03 | |
US11/382,232 US7450420B2 (en) | 2005-08-03 | 2006-05-08 | Reclaiming data storage capacity in flash memories |
US11/382,235 US7558905B2 (en) | 2005-08-03 | 2006-05-08 | Reclaiming data storage capacity in flash memory systems |
PCT/US2006/030026 WO2007019155A1 (en) | 2005-08-03 | 2006-08-01 | Reclaiming data storage capacity in flash memory systems |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009503735A true JP2009503735A (ja) | 2009-01-29 |
JP2009503735A5 JP2009503735A5 (ja) | 2009-09-24 |
JP4533956B2 JP4533956B2 (ja) | 2010-09-01 |
Family
ID=37387322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008525135A Active JP4533956B2 (ja) | 2005-08-03 | 2006-08-01 | フラッシュメモリシステムのデータ記憶容量の解放 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1920335B1 (ja) |
JP (1) | JP4533956B2 (ja) |
KR (1) | KR101272642B1 (ja) |
AT (1) | ATE509314T1 (ja) |
WO (1) | WO2007019155A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016506579A (ja) * | 2012-12-26 | 2016-03-03 | ウェスタン デジタル テクノロジーズ インコーポレーテッド | データストレージシステム向けの優先度に基づくガベージコレクション |
JP2016525764A (ja) * | 2013-06-10 | 2016-08-25 | マイクロン テクノロジー, インク. | メモリデバイスおよびメモリ動作方法 |
US9645918B2 (en) | 2012-08-24 | 2017-05-09 | Samsung Electronics Co., Ltd. | Storage devices including non-volatile memory and memory controller and methods of allocating write memory blocks |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7984084B2 (en) | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
US7739444B2 (en) | 2006-12-26 | 2010-06-15 | Sandisk Corporation | System using a direct data file system with a continuous logical address space interface |
US8166267B2 (en) | 2006-12-26 | 2012-04-24 | Sandisk Technologies Inc. | Managing a LBA interface in a direct data file memory system |
US8046522B2 (en) | 2006-12-26 | 2011-10-25 | SanDisk Technologies, Inc. | Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks |
WO2008083001A1 (en) * | 2006-12-26 | 2008-07-10 | Sandisk Corporation | Managing a lba interface in a direct data file memory system |
US7917686B2 (en) | 2006-12-26 | 2011-03-29 | Sandisk Corporation | Host system with direct data file interface configurability |
US8209461B2 (en) | 2006-12-26 | 2012-06-26 | Sandisk Technologies Inc. | Configuration of host LBA interface with flash memory |
US9772936B2 (en) * | 2008-07-10 | 2017-09-26 | Micron Technology, Inc. | Data collection and compression in a solid state storage device |
KR100954039B1 (ko) * | 2008-08-11 | 2010-04-20 | (주)인디링스 | 플래시 메모리 제어 방법 및 제어 장치 |
US9311229B2 (en) | 2011-03-29 | 2016-04-12 | Blackberry Limited | System and method for managing flash memory |
US9336133B2 (en) | 2012-12-31 | 2016-05-10 | Sandisk Technologies Inc. | Method and system for managing program cycles including maintenance programming operations in a multi-layer memory |
US9348746B2 (en) | 2012-12-31 | 2016-05-24 | Sandisk Technologies | Method and system for managing block reclaim operations in a multi-layer memory |
US9465731B2 (en) | 2012-12-31 | 2016-10-11 | Sandisk Technologies Llc | Multi-layer non-volatile memory system having multiple partitions in a layer |
US9734050B2 (en) * | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for managing background operations in a multi-layer memory |
US9223693B2 (en) | 2012-12-31 | 2015-12-29 | Sandisk Technologies Inc. | Memory system having an unequal number of memory die on different control channels |
US9734911B2 (en) | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for asynchronous die operations in a non-volatile memory |
US9778855B2 (en) | 2015-10-30 | 2017-10-03 | Sandisk Technologies Llc | System and method for precision interleaving of data writes in a non-volatile memory |
US10133490B2 (en) | 2015-10-30 | 2018-11-20 | Sandisk Technologies Llc | System and method for managing extended maintenance scheduling in a non-volatile memory |
US10120613B2 (en) | 2015-10-30 | 2018-11-06 | Sandisk Technologies Llc | System and method for rescheduling host and maintenance operations in a non-volatile memory |
US10042553B2 (en) | 2015-10-30 | 2018-08-07 | Sandisk Technologies Llc | Method and system for programming a multi-layer non-volatile memory having a single fold data path |
CN109558333B (zh) * | 2017-09-27 | 2024-04-05 | 北京忆恒创源科技股份有限公司 | 具有可变额外存储空间的固态存储设备命名空间 |
FR3142592A1 (fr) * | 2022-11-30 | 2024-05-31 | Stmicroelectronics (Rousset) Sas | Mémoire non volatile |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10326227A (ja) * | 1997-05-23 | 1998-12-08 | Nec Corp | フラッシュメモリを記憶媒体とする記憶装置の管理方式 |
JP2002366423A (ja) * | 2001-06-04 | 2002-12-20 | Samsung Electronics Co Ltd | フラッシュメモリの管理方法 |
JP2003208352A (ja) * | 2002-01-17 | 2003-07-25 | Fujitsu Ltd | 書き込み回数の制限とウエアレベリングを可能にしたフラッシュメモリ |
WO2003102782A1 (en) * | 2002-06-03 | 2003-12-11 | Honeywell Internation Inc. | Flash memory management system and method |
WO2004040453A2 (en) * | 2002-10-28 | 2004-05-13 | Sandisk Corporation | Method and apparatus for grouping pages within a block |
JP2004526233A (ja) * | 2001-01-26 | 2004-08-26 | デルタ サーチ ラブズ インコーポレイテッド | オペレーティングシステムなしでcpuおよびデバイスを管理するモジュラーマイクロコントローラ |
JP2004310573A (ja) * | 2003-04-09 | 2004-11-04 | Nippon Telegr & Teleph Corp <Ntt> | Icカードにおけるメモリ管理方法、及びicカード |
JP2005122439A (ja) * | 2003-10-16 | 2005-05-12 | Sharp Corp | デバイス機器、及びデバイス機器の記録装置のフォーマット変換方法 |
WO2005066793A2 (en) * | 2003-12-30 | 2005-07-21 | Sandisk Corporation | Non-volatile memory and method with non-sequential update block management |
JP2007520804A (ja) * | 2003-12-30 | 2007-07-26 | サンディスク コーポレイション | 不揮発性メモリおよび非順次更新ブロック管理を伴う方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6865650B1 (en) * | 2000-09-29 | 2005-03-08 | Emc Corporation | System and method for hierarchical data storage |
-
2006
- 2006-08-01 EP EP06789157A patent/EP1920335B1/en not_active Not-in-force
- 2006-08-01 JP JP2008525135A patent/JP4533956B2/ja active Active
- 2006-08-01 WO PCT/US2006/030026 patent/WO2007019155A1/en active Application Filing
- 2006-08-01 AT AT06789157T patent/ATE509314T1/de not_active IP Right Cessation
- 2006-08-01 KR KR1020087004727A patent/KR101272642B1/ko active IP Right Grant
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10326227A (ja) * | 1997-05-23 | 1998-12-08 | Nec Corp | フラッシュメモリを記憶媒体とする記憶装置の管理方式 |
JP2004526233A (ja) * | 2001-01-26 | 2004-08-26 | デルタ サーチ ラブズ インコーポレイテッド | オペレーティングシステムなしでcpuおよびデバイスを管理するモジュラーマイクロコントローラ |
JP2002366423A (ja) * | 2001-06-04 | 2002-12-20 | Samsung Electronics Co Ltd | フラッシュメモリの管理方法 |
JP2003208352A (ja) * | 2002-01-17 | 2003-07-25 | Fujitsu Ltd | 書き込み回数の制限とウエアレベリングを可能にしたフラッシュメモリ |
WO2003102782A1 (en) * | 2002-06-03 | 2003-12-11 | Honeywell Internation Inc. | Flash memory management system and method |
WO2004040453A2 (en) * | 2002-10-28 | 2004-05-13 | Sandisk Corporation | Method and apparatus for grouping pages within a block |
JP2006515086A (ja) * | 2002-10-28 | 2006-05-18 | サンディスク コーポレイション | ブロック内のページをグループ化する方法及び装置 |
JP2004310573A (ja) * | 2003-04-09 | 2004-11-04 | Nippon Telegr & Teleph Corp <Ntt> | Icカードにおけるメモリ管理方法、及びicカード |
JP2005122439A (ja) * | 2003-10-16 | 2005-05-12 | Sharp Corp | デバイス機器、及びデバイス機器の記録装置のフォーマット変換方法 |
WO2005066793A2 (en) * | 2003-12-30 | 2005-07-21 | Sandisk Corporation | Non-volatile memory and method with non-sequential update block management |
JP2007520804A (ja) * | 2003-12-30 | 2007-07-26 | サンディスク コーポレイション | 不揮発性メモリおよび非順次更新ブロック管理を伴う方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9645918B2 (en) | 2012-08-24 | 2017-05-09 | Samsung Electronics Co., Ltd. | Storage devices including non-volatile memory and memory controller and methods of allocating write memory blocks |
JP2016506579A (ja) * | 2012-12-26 | 2016-03-03 | ウェスタン デジタル テクノロジーズ インコーポレーテッド | データストレージシステム向けの優先度に基づくガベージコレクション |
JP2016525764A (ja) * | 2013-06-10 | 2016-08-25 | マイクロン テクノロジー, インク. | メモリデバイスおよびメモリ動作方法 |
US10438661B2 (en) | 2013-06-10 | 2019-10-08 | Micron Technology, Inc. | Memory devices and methods of writing memory cells at different moments in time |
US11295812B2 (en) | 2013-06-10 | 2022-04-05 | Micron Technology, Inc. | Memory devices and memory operational methods |
Also Published As
Publication number | Publication date |
---|---|
KR101272642B1 (ko) | 2013-06-10 |
EP1920335A1 (en) | 2008-05-14 |
KR20080042844A (ko) | 2008-05-15 |
EP1920335B1 (en) | 2011-05-11 |
ATE509314T1 (de) | 2011-05-15 |
WO2007019155A1 (en) | 2007-02-15 |
JP4533956B2 (ja) | 2010-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4533956B2 (ja) | フラッシュメモリシステムのデータ記憶容量の解放 | |
US7450420B2 (en) | Reclaiming data storage capacity in flash memories | |
US7669003B2 (en) | Reprogrammable non-volatile memory systems with indexing of directly stored data files | |
US7949845B2 (en) | Indexing of file data in reprogrammable non-volatile memories that directly store data files | |
US8880483B2 (en) | System and method for implementing extensions to intelligently manage resources of a mass storage system | |
US8046522B2 (en) | Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks | |
US7739444B2 (en) | System using a direct data file system with a continuous logical address space interface | |
US7917686B2 (en) | Host system with direct data file interface configurability | |
KR101378031B1 (ko) | 데이터 파일을 직접적으로 저장하는 메모리 블록의 관리 | |
US20080155175A1 (en) | Host System That Manages a LBA Interface With Flash Memory | |
US20080155177A1 (en) | Configuration of Host LBA Interface With Flash Memory | |
US20080155227A1 (en) | Managing a LBA Interface in a Direct Data File Memory System | |
KR20080032636A (ko) | 논리 어드레스 공간 전반에 걸쳐 그리고 직접 데이터 파일기반 위에서 동작하는 인터페이싱 시스템 | |
KR101464199B1 (ko) | 연속 논리 주소 공간 인터페이스를 구비한 다이렉트 데이터 파일 시스템을 사용하는 방법 | |
US20090164745A1 (en) | System and Method for Controlling an Amount of Unprogrammed Capacity in Memory Blocks of a Mass Storage System | |
JP2009503740A (ja) | データファイルを直接記憶する再プログラム可能な不揮発性メモリ内のファイルデータの索引付け | |
KR20090108695A (ko) | 다이렉트 데이터 파일 메모리 시스템에서 lba 인터페이스를 관리하는 방법 | |
US8769217B2 (en) | Methods and apparatus for passing information to a host system to suggest logical locations to allocate to a file |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090803 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090803 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20090803 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20090902 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091020 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100112 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100119 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100414 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100518 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100614 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4533956 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130618 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130618 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130618 Year of fee payment: 3 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130618 Year of fee payment: 3 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130618 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |