JP2009503745A - ブロック管理を伴う不揮発性メモリ - Google Patents
ブロック管理を伴う不揮発性メモリ Download PDFInfo
- Publication number
- JP2009503745A JP2009503745A JP2008525178A JP2008525178A JP2009503745A JP 2009503745 A JP2009503745 A JP 2009503745A JP 2008525178 A JP2008525178 A JP 2008525178A JP 2008525178 A JP2008525178 A JP 2008525178A JP 2009503745 A JP2009503745 A JP 2009503745A
- Authority
- JP
- Japan
- Prior art keywords
- block
- blocks
- list
- record
- page
- 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
- 238000000034 method Methods 0.000 claims description 45
- 238000003491 array Methods 0.000 claims 3
- 210000004027 cell Anatomy 0.000 claims 2
- 230000008672 reprogramming Effects 0.000 claims 2
- 210000000352 storage cell Anatomy 0.000 claims 2
- 230000008569 process Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Abstract
Description
前述した特許出願で説明されている直接データファイル記憶法はブロックのリストを作成し、個々のブロックの使用に関する所定の値を持つ項目がこのリストから選択される。ここでは、これらのブロックリストの内容アドレス指定可能な探索のための手法を説明する。本願明細書では、添付の図1〜3を参照する。
「プログラムブロック」は部分的にプログラムされ、かつただひとつのファイルの有効データを収容する。このブロックにはある程度の消去済み容量が残存する。これはある程度の用済みデータを収容することもある。
「共通ブロック」は部分的にプログラムされ、かつ2つ以上のファイルの有効データを収容する。ある程度の消去済み容量が残存する。ある程度の用済みデータを収容することもある。
「フル共通ブロック」は完全にプログラムされ、かつ2つ以上のファイルの有効データを収容する。ある程度の用済みデータを収容することもある。
「ファイルブロック」は完全にプログラムされ、かつ1つのファイルの有効データを収容する。ある程度の用済みデータを収容することもある。
「無効ブロック」は有効データを収容しない。無効ブロックは少なくともある程度は用済みデータを収容し、消去済み容量を収容することもあるが、有効データは収容しない。
「消去済みブロック」はブロックの全容量がプログラムされておらず、データを受け付けることができる。消去済みブロックの中にデータはない。メモリがデータで満たされているかまたはほぼ満たされている場合は通常、使用中のブロックの中にある使われていない容量を連続的に再生することによって特定の最小消去済みブロック数のプールを維持する。
「不完全ブロック」はある程度のプログラムされていない容量を収容し、1つ以上のファイルの有効データを収容し、かつある程度の用済みデータを収容することがある。プログラムブロックと共通ブロックは不完全ブロックの例である。
「用済みブロック」は、ある程度の用済みブロックを収容するファイルブロックまたはフル共通ブロックである。用済みブロックは消去済み容量を収容せず、有効データと用済みデータの両方を収容する。
「消去済みブロック」の定義は同一名のブロックタイプと同じであり、つまりデータがないブロックである。
不完全ブロックリスト(Pリスト)は、システム内の全ての不完全ブロックにつき、すなわちある程度の有効データとある程度の消去済み容量の両方を収容する全ブロックにつき、項目を収容する。ある程度の用済みデータを収容することもある。
P(V)リスト:ブロックに記憶される有効データ容量に従って項目が序列される不完全ブロックリスト
P(A)リスト:ブロックのブロックアドレスに従って項目が序列される不完全ブロックリスト
O(V)リスト:ブロックに記憶される有効データ容量に従って項目が序列される用済みブロックリスト
O(A)リスト:ブロックのブロックアドレスに従って項目が序列される用済みブロックリスト
Eリスト:消去済みブロックリスト
前述したセクションで明らかにしたブロックリスト上のブロックに関係する情報を記憶するために、1つ以上のブロックまたはメタブロックが割り当てられる。これらはレコードブロックとして知られ、書き込みまたは更新が1ページ単位で行われる。レコードブロック内の情報のために内容アドレス指定が使用される。
ブロックリストの中で参照されるブロックの全ての項目とインデックス情報は、フラッシュメモリの1つ以上のレコードブロックに収容される。レコードブロックはメタブロックであり、ページ単位で更新される。
レコードブロックは次の特性を持つ。
1.あらゆるタイプのブロックリストをまとめて1つのレコードブロックに記憶できる。
2.必要に応じ、複数のレコードブロックを使用できる。
3.レコードブロックは特定の数の論理ページを持ち、これはこの例においてブロック内の物理ページ数の25%に規定される。
4.最後に書き込まれたページのレコードブロックインデックスセクションは、各論理ページから物理ページへのマッピングを提供する。
5.論理ページは、使用可能な次の物理ページにこれを再度書き込むことによって更新できる。
6.ブロックリストのため、またはブロックのレコードのために使用されるあらゆるタイプのページに論理ページを割り当てることができる。
7.レコードブロックは、満杯のときに圧縮され消去済みブロックに再度書き込まれる。
レコードブロックインデックスは、レコードブロックの中にある各ページの1セクションとして存在する。これは最後に書き込まれたページの中にあるものだけが有効である。レコードブロックインデックスは可能な各論理ページにつき項目を収容し、論理ページ番号に従って序列される。各項目は次に示す3つのフィールドを持つ。
1.ページタイプを識別する数字コード
a.P(V)リストページ
b.P(A)リストページ
c.O(V)リストページ
d.O(A)リストページ
e.Eリストページ
f.レコードページ
g.割り当てされていない論理ページ
2.ページ内の最初の項目の値(これにより、P(V)、P(A)、O(V)、O(A)リストページの各タイプで値の範囲を設定し、キャッシュできる。)
3.論理ページのマップ先にあたる物理ページのポインタ
レコードはそのリストのうちの1つの項目をブロックに関係する必要情報を全て収容し、レコードページに記憶される。レコードページは次に示す3つのセクションに細分される。
1.項目状態
2.レコード
3.共通ブロックレコード
1.ブロックアドレス
2.ブロック内の有効データ容量
3.ブロック内のページ書き込みポインタの位置
4.ブロック内の最初のデータグループのファイルID
5.ブロック内にデータが存在するファイルの合計数
6.ブロックの共通ブロックレコードへのオフセット(値0は共通ブロックレコードが存在しないことを意味する。)
1.共通ブロックにおける後続データグループのファイルID
2.レコード終了インジケータ
リストページは、1組のブロックの項目を、記述子値によって規定される順序で収容する。P(V)リストとO(V)リスト内の項目における記述子は有効データ容量であり、P(A)リストとO(A)リスト内の項目における記述子はブロックアドレスである。
1.ブロック内の有効データ容量
2.レコードページ内のブロックのレコードを指すポインタ(レコードページはリストページと同じレコードブロックの中になくてもよい。)
1.ブロックアドレス
2.レコードページ内のブロックのレコードを指すポインタ(レコードページはリストページと同じレコードブロックの中になくてもよい。)
1.ブロックアドレス
PリストまたはOリストで目標ブロックのレコードにアクセスするには、次のステップからなるシーケンスを使用する。
1.P(V)リスト、O(V)リスト、P(A)リスト、またはO(A)リストを目標リストとして設定する。
2.レコードブロックの中で最後に書き込まれたページからレコードブロックインデックスを読み出す。この情報はあらかじめキャッシュの中に存在することがある。
3.ステップ1で規定した目標リストで目標記述子値のリストページに割り当てられた論理ページ番号を判定する。
4.ステップ3で判定した論理ページ番号をレコードブロックから読み出す。
5.目標ブロックの項目を読み出すために、ステップ4で読み出したリストページを探索する。
6.ステップ5で読み出した項目によって規定されるレコードブロックからレコードページを読み出す。
7.ステップ6で読み出したレコードページからターゲットブロックのレコードを読み出す。
第2の例では前述した第1の例と同じく、特定のブロックが、そこに収容されるデータに従い、それぞれ分類され、これらのブロックのためのレコードが保守される。リストは、ブロックに記憶されるデータに関係する記述子値に従って序列され、保守される。ブロックの中にある有効データ量は、このような記述子値の一例である。しかし、この第2の例で、ブロックの管理に用いる構造および方法のいくつかは異なる。第1および第2の例の構造および方法は代案とみなすべきものであり、両例の構造および/または手法の様々な組み合わせもまた本発明の開示の一部とみなされる。第2の例は、第1の例との違いに焦点をあてながら説明する。よって、両例に共通の要素は第2の例に関して重ねて詳述しない場合がある。
ブロックディレクトリは、ブロックアドレスによってブロックを識別し、対応するブロックレコードの位置を指示する、序列された項目の集まりである。ブロックレコードの保守が行われる各ブロックにつき1項目がブロックディレクトリの中に存在する。この例では、不完全ブロック、用済みブロック、コンプリート共通ブロック、および消去済みブロックの各ブロックにつき1項目が存在する。ブロックディレクトリは1つ以上のディレクトリブロックに収容される。
ブロックディレクトリページは、1組のブロックディレクトリ項目を、それらのブロックアドレス値の順に収容する。図7Aにはブロックディレクトリページ731の一例が示されている。有効ブロックディレクトリ項目733はブロックディレクトリページ731の中で一連の項目位置を占めるが、ページ全体を埋め尽くす必要はないため、消去済みの空間が残ることがある。各々のブロックディレクトリページはレコードインデックス(後述する)を収容する。ここで、ブロックディレクトリページ731はレコードインデックス735を収容する。ブロックディレクトリ項目733の中に用済み項目はなく、ブロックアドレス値は連続しなくともよい。ある1つのブロックディレクトリページにおけるブロックアドレス値の範囲は、別のブロックディレクトリページにおけるブロックアドレス値の範囲に重複しない。
(1)論理ページの割り当て状態フラグ
(2)ページのタイプ、例えばブロックディレクトリ、PBリスト、またはOBリスト
(3)ブロックディレクトリページ内の最初の項目のブロックアドレス、またはリストページ(PBまたはOB)内の最初の項目の有効データ容量値(これにより各論理ページでブロックアドレスまたは有効データ値の範囲を確立し、キャッシュできる。)
(4)論理ページのマッピングにあたるブロックディレクトリの中の物理ページへのポインタ
ブロックリストページは、1ブロック分類につき1組のブロックリスト項目を、ブロックに収容されたデータ(例えば、ブロックに収容された有効データ量)を記述する記述子値の順に、収容する。図7Bにはブロックリストページ751の一例が示されている。この例で、ブロックリストページはPBリストページまたはOBリストページである。図7BはOBリストページ751を示している。有効ブロックリスト項目753はブロックリストページ751の中で一連の項目位置を占めるが、ページ全体を埋め尽くす必要はない。ブロックリストページの中には通常、用済み項目はない。ブロックリスト項目753は記述子値によって序列されるが、記述子値は連続しなくともよく、繰り返すことができる。この例で、有効データ容量値は連続しなくともよく、繰り返すことができる。ある1つのブロックリストページの記述子値の範囲は、同一ブロック分類の別のブロックリストページの記述子値の範囲に重複しない。
ブロックレコードはレコードの集まりであり、各レコードは、ブロックアドレスによって識別されるブロックの情報を収容する。各ブロックディレクトリ項目につき1つのレコードが存在する。ブロックレコードはブロックディレクトリ項目によってアドレス指定され、ブロックレコードページが修正されるときにはブロックディレクトリページを修正しなければならない。
(1)ブロックアドレス
(2)ブロックのタイプ、PB、OB、CCB、またはEB
(3)ブロック内の有効データ容量
(4)ブロック内のページ書き込みポインタの位置
(5)ブロック内にデータが存在するファイルの合計数
(6)ブロック内にデータが存在する各ファイルのファイルID
ブロックレコードは1つ以上のレコードブロックの中に収容され、ブロックディレクトリ項目によって直接アドレス指定される。新規または更新済みブロックレコードをプログラムするにあたって使用できる消去済みページは、ただひとつのレコードブロックに収容される。それ以外の全てのレコードブロックで全てのページがプログラムされていたとしても、完全に用済みまたは部分的に用済みのページがブロックに収容されることがある。用済みブロックレコードによって占められる容量の再生は、再生される次のブロックとして1つのレコードブロックを指定することにより、そしてこの再生ブロックからブロックレコード書き込みポインタによって現在指定されているページへページを徐々にコピーすることにより、その後に再生ブロックを消去することにより、遂行される。
メモリアレイでブロックにデータが書き込まれるとき、またはファイルが削除されるときには、1つ以上のブロックレコードを更新する必要がある。また、対応するブロックディレクトリおよびリスト項目を更新する必要がある。図10に示された次のプロセスは、第2の例の各種構造の更新を説明するものであり、このとき(既にある程度の用済みデータを収容する)不完全ブロックには追加の有効データが記憶され、ブロックは用済みブロックになる。
(1)追加データを記憶するブロックのアドレスを受け取る。
(2)このブロックのディレクトリ項目175を収容するディレクトリページ173の物理ページ位置を判定するため、ブロックディレクトリブロック170の最終書き込みページでディレクトリインデックス171を調べる。
(3)ブロックの項目175を見つけるため、ディレクトリページ173の中でバイナリ探索を遂行する。
(4)項目175の論理識別子からレコードインデックス177の情報に沿って、ブロックレコードブロック181の中でこのブロックのレコード183を収容する物理ページ179を判定する。受け取ったアドレスに対応する正しいレコード183を見つけるため、ディレクトリ項目175の中のオフセットを使用する。
(5)レコード183からブロックの分類を判定する。追加データの記憶によって分類が変化するか否かを判定する。ここでブロックは不完全ブロックであり、このブロックに残された空間は追加データで満たされるから、このブロックは用済みブロックになる。
(6)レコードページ183の内容を、書き込みポインタ185によって指示される位置へコピーし、対象ブロックのレコード183は、異なるタイプのブロック、有効データ、ページ書き込みポインタの位置等を反映させるために更新される。
(7)ディレクトリページ173をブロックディレクトリブロック170の使用可能な次の物理ページへコピーする。レコードページの新しい物理位置を反映させるため、更新された項目とレコードインデックスを新しいディレクトリページに書き込む。また、新しい物理ページでディレクトリインデックスを更新する。
(8)ブロックの項目189を収容する不完全ブロックリストページ187の物理ページ位置を判定するため、ディレクトリインデックスを再び調べる(場合によっては複数のリストを調べる)。
(9)記述子値が対象ブロックのそれに等しいリスト項目189を見つけるため、ページ187の中でバイナリ探索を遂行する。複数のリスト項目が記述子値を有する場合は、ブロックアドレスにより一致する全ての項目を探索する。
(10)不完全ブロックリストページ187を新しい位置へコピーし、対象ブロックの項目189は削除される。新しい不完全ブロックページは、不完全ブロックページの新しい物理位置で更新されたディレクトリインデックスを含む。
(11)対象ブロックの有効データ量を含む、ブロック範囲当たりの有効データをカバーする用済みブロックリストページの物理ページ位置を判定するため、ディレクトリインデックスを再び調べる(図示せず)。
(12)用済みブロックリストページをコピーし、対象ブロックの新しい項目を、ブロック内の現在の有効データ量に基づき、適切なオフセットのところに追加する。新しい用済みブロックリストページは、用済みブロックリストの新しい位置を示す更新済みディレクトリインデックスを含む(図示せず)。
第3の例では、メモリアレイの各ブロックにつき常時レコードを保守する。これには1つ以上の追加のブロック分類が関係し、例えば用済みデータを収容しないファイルブロックのための追加の分類を、図4に示された第2の例の分類に加えることができる。各ブロックごとにレコードを保守すると保守する各レコードの合計数が増えるが、より簡素な構造を使用することができる。第3の例は、ブロックごとにレコードを用意する点を除き、第2の例と同様に進行する。
Claims (34)
- メモリシステムであって、
データを各々収容する第1の複数の個別に消去可能なブロックを含む不揮発性メモリアレイと、
前記第1の複数のブロックの各々につき項目を収容するリストであって、前記リスト内の前記項目は、前記第1の複数のブロックの各々に記憶される有効データ量に従って序列されるリストと、
を備えるメモリシステム。 - 請求項1記載のメモリシステムにおいて、
複数のレコードをさらに備え、前記複数のレコードの各々は前記第1の複数の個別に消去可能なブロックのうちの1ブロックに対応し、前記複数のレコードの各々はそれに対応するブロックに関する情報を収容するメモリシステム。 - 請求項2記載のメモリシステムにおいて、
前記リスト項目は第1のブロックの中の複数のリストページにて保守され、前記複数のレコードは第2のブロックの中のレコードページにて保守されるメモリシステム。 - 請求項1記載のメモリシステムにおいて、
前記複数のブロックは、消去済みの空間と有効データの両方を収容する不揮発性メモリアレイの全ブロックからなるメモリシステム。 - 請求項1記載のメモリシステムにおいて、
前記複数のブロックは、用済みデータを収容しかつ消去済みの空間を収容しない不揮発性メモリアレイの前記ブロックの全部からなるメモリシステム。 - 不揮発性メモリアレイであって、
複数の個別に消去可能なブロックと、
前記複数のブロックのための複数のレコードであって、前記複数のレコードの各々は前記複数のブロックのうちの1ブロックに関する情報を収容する複数のレコードと、
複数のディレクトリ項目を収容するディレクトリであって、前記複数のディレクトリ項目の各々は前記複数のレコードのうちの1レコードの位置を含むディレクトリと、
複数のリスト項目を収容するリストであって、前記複数のリスト項目の各々は前記複数のブロックのうちの1個の個別のブロックに記憶されるデータを記述し、前記複数のリスト項目はそれぞれの記述子値によって序列されるリストと、
を備える不揮発性メモリアレイ。 - 請求項6記載の不揮発性メモリアレイにおいて、
前記複数のレコードは第1のブロックに置かれ、前記ディレクトリと前記リストは第2のブロックにて保守される不揮発性メモリアレイ。 - 請求項6記載の不揮発性メモリアレイにおいて、
前記記述子値は、前記複数のブロックのそれぞれのブロックに記憶される有効データ量を表す不揮発性メモリアレイ。 - 請求項6記載の不揮発性メモリアレイにおいて、
前記複数のブロックは、消去済みの空間と有効データの両方を個別に収容する前記不揮発性メモリアレイ内の前記ブロックの全部からなる不揮発性メモリアレイ。 - 請求項6記載の不揮発性メモリアレイにおいて、
前記複数のブロックは、用済みデータを個別に収容しかつ消去済みの空間を収容しない前記不揮発性メモリアレイの前記ブロックの全部からなる不揮発性メモリアレイ。 - 請求項6記載の不揮発性メモリアレイにおいて、
前記複数のブロックは、前記不揮発性メモリアレイの全ブロックからなる不揮発性メモリアレイ。 - 請求項6記載の不揮発性メモリアレイにおいて、
前記リストは、別個のリスト項目範囲を各々記憶する複数のページにて保守される不揮発性メモリアレイ。 - メモリセルのブロックにグループ分けされ前記ブロックのページでデータを再プログラムする前に消去される記憶セルを具備する不揮発性メモリシステムであって、
データを記憶する第1の複数のブロックと、
前記第1の複数のブロックのうちの対応する1ブロックに記憶されるデータを記述する記述子値を少なくとも個別に含む複数のレコードを収容する第1の複数のページと、
前記第1の複数のページにおけるレコードの位置に対するポインタを収容する第2の複数のページであって、前記第1の複数のページのうちの個別の1ページ中にある有効レコードは、前記第2の複数のページのうちの1ページに記憶されるポインタによって指示されるレコードに限定される第2の複数のページと、
を備える不揮発性メモリシステム。 - 請求項13記載の不揮発性メモリシステムにおいて、
前記第1の複数のページは1つ以上のブロックからなる第1のグループに置かれ、前記第2の複数のページは1つ以上のブロックからなる第2のグループに置かれる不揮発性メモリシステム。 - 請求項13記載の不揮発性メモリシステムにおいて、
前記第1の複数のページは、前記第1の複数のブロックのうちの1ブロックではない第1のブロックに置かれ、前記第2の複数のページは、前記第1の複数のブロックのうちの1ブロックではない第2のブロックに置かれる不揮発性メモリシステム。 - 請求項13記載の不揮発性メモリシステムにおいて、
第3の複数のページに置かれるリストをさらに備え、前記リストは前記第1の複数のブロックのそれぞれに個別に対応する複数の項目を収容し、項目はこれに対応するブロックの記述子値を収容する不揮発性メモリシステム。 - ブロック消去可能な不揮発性メモリアレイを操作する方法であって、
前記不揮発性メモリアレイの複数のブロックの各々につきリスト項目を収容するリストを保守するステップを備え、前記リスト項目は、前記複数のブロックのそれぞれ個別に記憶される有効データ量に従って序列される方法。 - 請求項17記載の方法において、
前記不揮発性メモリアレイの前記複数のブロックの各々につきレコードを保守するステップをさらに備え、前記複数のブロックのうちの1ブロックのための個別のレコードは前記ブロックの物理アドレスを含み、各リスト項目はレコード項目へリンクされる方法。 - 請求項18記載の方法において、
リスト項目は第1のブロックの中にあるリストページにて保守され、前記レコードは第2のブロックの中にあるレコードページにて保守される方法。 - 請求項17記載の方法において、
前記複数のブロックは、消去済みの空間と有効データの両方を収容する前記不揮発性メモリアレイの全ブロックからなる方法。 - 請求項17記載の方法において、
前記複数のブロックは、用済みデータを収容しかつ消去済みの空間を収容しない前記不揮発性メモリアレイの全ての前記ブロックからなる方法。 - ブロック消去可能な不揮発性メモリアレイを操作する方法であって、
前記メモリアレイ内の複数のブロックのための複数のレコードを保守するステップであって、前記複数のレコードの各々は前記複数のブロックのうちの1ブロックに関する情報を収容するステップと、
複数のディレクトリ項目を収容するディレクトリを保守するステップであって、前記複数のディレクトリ項目の各々は前記複数のレコードのうちの1レコードに関する位置情報を含むステップと、
複数のリスト項目を収容するリストを保守するステップであって、前記複数のリスト項目の各々は前記複数のブロックのうちの1個の個別のブロックに記憶されるデータを記述し、前記複数のリスト項目はそれぞれの記述子値によって序列されるステップと、
を含む方法。 - 請求項22記載の方法において、
前記複数のレコードは第1のブロックにて保守され、前記ディレクトリと前記リストは第2のブロックにて保守される方法。 - 請求項22記載の方法において、
前記記述子値は、前記複数のブロックのうちのそれぞれのブロックに記憶される有効データ量を表す方法。 - 請求項22記載の方法において、
前記複数のブロックは、消去済みの空間と有効データの両方を個別に収容する前記不揮発性メモリアレイ内の前記ブロックの全部からなる方法。 - 請求項22記載の方法において、
前記複数のブロックは、用済みデータを収容しかつ消去済みの空間を収容しない前記不揮発性メモリアレイ内の前記ブロックの全部からなる方法。 - 請求項22記載の方法において、
前記複数のブロックは、前記不揮発性メモリアレイ内の前記ブロックの全部からなる方法。 - 請求項22記載の方法において、
前記リストは、別個のリスト項目範囲を各々記憶する複数のページにて保守される方法。 - 請求項28記載の方法において、
所定の記述子値を有するブロックを、前記所定の特性に一致するリスト項目を前記リストで探索することによって探索するステップをさらに含む方法。 - 請求項29記載の方法において、
前記所定の特性は、前記リスト内のリスト項目の最小有効データ量である方法。 - メモリセルのブロックにグループ分けされ前記ブロックのページでデータを再プログラムする前に消去される記憶セルを具備する不揮発性メモリシステムを操作する方法であって、
第1の複数のブロックでデータを記憶するステップと、
前記第1の複数のブロックのうちの対応する1ブロックに記憶されるデータを記述する記述子値を少なくとも個別に含むレコードを第1の複数のページにて保守するステップと、
前記第1の複数のページにおけるレコードの位置に対するポインタを第2の複数のページにて保守するステップであって、前記第1の複数のページのうちの個別の1ページの中にある有効レコードは、前記第2の複数のページのうちの1ページに記憶されるポインタによって指示されるレコードに限定されるステップと、
を含む方法。 - 請求項31記載の方法において、
前記第1の複数のページは1つ以上のブロックからなる第1のグループに置かれ、前記第2の複数のページは1つ以上のブロックからなる第2のグループに置かれる方法。 - 請求項31記載の方法において、
前記第1の複数のページは、前記第1の複数のブロックのうちの1ブロックではない第1のブロックに置かれ、前記第2の複数のページは、前記第1の複数のブロックのうちの1ブロックではない第2のブロックに置かれる方法。 - 請求項31記載の方法において、
前記第1の複数のブロックのそれぞれと対応する記述子値とのリストを第3の複数のページにて保守するステップをさらに含み、前記リスト項目は記述子値によって序列される方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US70538805P | 2005-08-03 | 2005-08-03 | |
US74674006P | 2006-05-08 | 2006-05-08 | |
US11/459,260 US7552271B2 (en) | 2005-08-03 | 2006-07-21 | Nonvolatile memory with block management |
US11/459,268 US7558906B2 (en) | 2005-08-03 | 2006-07-21 | Methods of managing blocks in nonvolatile memory |
PCT/US2006/030228 WO2007019217A1 (en) | 2005-08-03 | 2006-08-01 | Nonvolatile memory with block management |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009503745A true JP2009503745A (ja) | 2009-01-29 |
JP2009503745A5 JP2009503745A5 (ja) | 2009-09-17 |
JP4547028B2 JP4547028B2 (ja) | 2010-09-22 |
Family
ID=40361356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008525178A Expired - Fee Related JP4547028B2 (ja) | 2005-08-03 | 2006-08-01 | ブロック管理を伴う不揮発性メモリ |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP4547028B2 (ja) |
AT (1) | ATE493707T1 (ja) |
DE (1) | DE602006019263D1 (ja) |
TW (1) | TWI399642B (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010515162A (ja) * | 2006-12-26 | 2010-05-06 | サンディスク コーポレイション | 連続論理アドレス空間インターフェイスを備えるダイレクトデータファイルシステムの使用 |
JP2011159044A (ja) * | 2010-01-29 | 2011-08-18 | Toshiba Corp | 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法 |
JP2017016691A (ja) * | 2012-03-23 | 2017-01-19 | ディ・エス・エス・ディ・インコーポレイテッドDssd, Inc. | テーブル・オブ・コンテンツエントリを使用してデータを格納するためのシステムおよび方法 |
CN111177020A (zh) * | 2018-11-13 | 2020-05-19 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009211233A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
US8219781B2 (en) | 2008-11-06 | 2012-07-10 | Silicon Motion Inc. | Method for managing a memory apparatus, and associated memory apparatus thereof |
TWI423023B (zh) | 2011-04-22 | 2014-01-11 | Silicon Motion Inc | 快閃記憶體之區塊選取方法及資料儲存裝置 |
TWI454912B (zh) * | 2012-01-06 | 2014-10-01 | Phison Electronics Corp | 資料處理方法、記憶體控制器與記憶體儲存裝置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0772989A (ja) * | 1992-10-30 | 1995-03-17 | Intel Corp | 浮動セクタデータを記憶する固体メモリディスクをクリーンアップする方法 |
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 | 書き込み回数の制限とウエアレベリングを可能にしたフラッシュメモリ |
JP2003228513A (ja) * | 2001-11-28 | 2003-08-15 | Access:Kk | メモリ制御方法および装置 |
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 (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5867641A (en) * | 1995-10-27 | 1999-02-02 | Scm Microsystems (U.S.) Inc. | Flash translation layer cleanup system and method |
JP2000227871A (ja) * | 1999-02-05 | 2000-08-15 | Seiko Epson Corp | 不揮発性記憶装置、その制御方法、および、情報記録媒体 |
AU2003268564A1 (en) * | 2002-10-28 | 2004-05-25 | Sandisk Corporation | Method and apparatus for performing multi-page write operations in a non-volatile memory system |
JP2004280752A (ja) * | 2003-03-19 | 2004-10-07 | Sony Corp | データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム |
TWI240863B (en) * | 2003-09-05 | 2005-10-01 | Megawin Technology Co Ltd | Method for efficiently controlling flash memory read/write |
US20050144516A1 (en) * | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive deterministic grouping of blocks into multi-block units |
-
2006
- 2006-08-01 AT AT06789283T patent/ATE493707T1/de not_active IP Right Cessation
- 2006-08-01 JP JP2008525178A patent/JP4547028B2/ja not_active Expired - Fee Related
- 2006-08-01 DE DE602006019263T patent/DE602006019263D1/de active Active
- 2006-08-03 TW TW95128510A patent/TWI399642B/zh not_active IP Right Cessation
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0772989A (ja) * | 1992-10-30 | 1995-03-17 | Intel Corp | 浮動セクタデータを記憶する固体メモリディスクをクリーンアップする方法 |
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 | フラッシュメモリの管理方法 |
JP2003228513A (ja) * | 2001-11-28 | 2003-08-15 | Access:Kk | メモリ制御方法および装置 |
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 (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010515162A (ja) * | 2006-12-26 | 2010-05-06 | サンディスク コーポレイション | 連続論理アドレス空間インターフェイスを備えるダイレクトデータファイルシステムの使用 |
JP2011159044A (ja) * | 2010-01-29 | 2011-08-18 | Toshiba Corp | 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法 |
US8171254B2 (en) | 2010-01-29 | 2012-05-01 | Kabushiki Kaisha Toshiba | Memory controller and memory control method |
JP2017016691A (ja) * | 2012-03-23 | 2017-01-19 | ディ・エス・エス・ディ・インコーポレイテッドDssd, Inc. | テーブル・オブ・コンテンツエントリを使用してデータを格納するためのシステムおよび方法 |
CN111177020A (zh) * | 2018-11-13 | 2020-05-19 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
CN111177020B (zh) * | 2018-11-13 | 2023-05-05 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
DE602006019263D1 (de) | 2011-02-10 |
ATE493707T1 (de) | 2011-01-15 |
TW200739342A (en) | 2007-10-16 |
TWI399642B (zh) | 2013-06-21 |
JP4547028B2 (ja) | 2010-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7552271B2 (en) | Nonvolatile memory with block management | |
US7558906B2 (en) | Methods of managing blocks in nonvolatile memory | |
KR101329068B1 (ko) | 블록 관리를 가지는 비휘발성 메모리 | |
JP5000316B2 (ja) | オブジェクト・ベースのデータ記憶装置 | |
US8607016B2 (en) | FAT analysis for optimized sequential cluster management | |
US7624239B2 (en) | Methods for the management of erase operations in non-volatile memories | |
US7610434B2 (en) | File recording apparatus | |
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 | |
US7783845B2 (en) | Structures for the management of erase operations in non-volatile memories | |
US7395384B2 (en) | Method and apparatus for maintaining data on non-volatile memory systems | |
US7774392B2 (en) | Non-volatile memory with management of a pool of update memory blocks based on each block's activity and data order | |
US7917686B2 (en) | Host system with direct data file interface configurability | |
JP4547028B2 (ja) | ブロック管理を伴う不揮発性メモリ | |
US7779056B2 (en) | Managing a pool of update memory blocks based on each block's activity and data order | |
US20080155175A1 (en) | Host System That Manages a LBA Interface With Flash Memory | |
US7571275B2 (en) | Flash real-time operating system for small embedded applications | |
JP5266250B2 (ja) | 連続論理アドレス空間インターフェイスを備えるダイレクトデータファイルシステムの使用 | |
JP2010515163A (ja) | ダイレクトデータファイルメモリシステムにおけるlbaインターフェイスの管理 | |
JP2009503740A (ja) | データファイルを直接記憶する再プログラム可能な不揮発性メモリ内のファイルデータの索引付け | |
KR100638638B1 (ko) | 플래시 메모리의 제어 방법 |
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 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090807 |
|
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: 20091117 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100127 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100513 |
|
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: 20100608 |
|
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: 20100702 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130709 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4547028 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: 20130709 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: 20130709 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: 20130709 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: 20130709 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 |
|
LAPS | Cancellation because of no payment of annual fees |