JP2011519095A - マルチバンク記憶装置のためのストレージアドレス再マッピングのための方法およびシステム - Google Patents
マルチバンク記憶装置のためのストレージアドレス再マッピングのための方法およびシステム Download PDFInfo
- Publication number
- JP2011519095A JP2011519095A JP2011506353A JP2011506353A JP2011519095A JP 2011519095 A JP2011519095 A JP 2011519095A JP 2011506353 A JP2011506353 A JP 2011506353A JP 2011506353 A JP2011506353 A JP 2011506353A JP 2011519095 A JP2011519095 A JP 2011519095A
- Authority
- JP
- Japan
- Prior art keywords
- block
- address
- lba
- bank
- sat
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 157
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000011010 flushing procedure Methods 0.000 claims description 105
- 238000013507 mapping Methods 0.000 claims description 38
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 28
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000013467 fragmentation Methods 0.000 description 8
- 238000006062 fragmentation reaction Methods 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 238000013519 translation Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 230000008707 rearrangement Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 239000010410 layer Substances 0.000 description 2
- 238000012005 ligant binding assay Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- XDDAORKBJWWYJS-UHFFFAOYSA-N glyphosate Chemical compound OC(=O)CNCP(O)(O)=O XDDAORKBJWWYJS-UHFFFAOYSA-N 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000017702 response to host Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000009897 systematic 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
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/7202—Allocation control and policies
-
- 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
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本発明の他の特徴および利点は、次の図面、詳細な説明および特許請求の範囲を検討すれば明らかとなる。
図13に示されている一実施形態にしたがって、マルチバンクメモリにおいてホストデータ書き込み動作を管理する方法は、ホストファイルシステム110から、図8に関して前述したホストLBAフォーマットでホストデータを受け取ることを含む(1302において)。ホストデータが受け取られると、データは、現在開いている書き込みメガブロック内の現在開いているメガページにホストデータをホストLBA順序に関わらずそれが受け取られた順に書き込むことによって、ストレージアドレスに再マッピングされる(1304において)。以下でより詳しく論じられるように、オリジナルのホストLBAアドレスの、マルチバンクメモリ107内の現在のアドレスへのマッピングを追跡するために、ホストデータがマルチバンクメモリ107内のメガブロックに書き込まれるとストレージアドレステーブル(SAT)が更新される(1306において)。各メガページ708は次のメガページへの書き込みの前に完全に書き込まれ、新しいメガブロック704は、好ましくは、現在の書き込みメガブロックが完全に書き込まれた後に初めてさらなるホストデータを受け取るために割り当てられる(1308、1310および1312において)。現在のメガブロック704内の次のメガページ708が利用可能であれば、その次のメガページ708の先頭に書き込みポインタがセットされ(1314において)、ホストデータはメガページの各メタページ内の連続するストレージアドレスに、1バンクずつ、受け取られた順に、再マッピングされ続ける。ホストデータ書き込みアルゴリズムがマルチバンクメモリシステム107全体に対してメガブロックレベルでメガページ順に実行されている間、メモリシステム102内のバンク107A〜107Dの各々に対してフラッシングアルゴリズムが独立に適用される(1316において)。フラッシングアルゴリズムは、以下で詳しく説明されるように、各バンクの中に、ホストデータ書き込みのためまたは他の記憶ニーズのために、新しいメガブロックで使用する新しい白色ブロックを作る。前に単一の書き込みメガブロックについて論じられたけれども、バンク107A〜107Dが適宜に分割されるならば複数の書き込みメガブロックが実現され得る。
ストレージアドレス再マッピングアルゴリズムのある実施形態は、有効なデータの、ピンク色ブロック906から再配置ポインタとして知られている特別の書き込みポインタへの、本願明細書においてフラッシングとも称される再配置を行うことによって、白色ブロック904の作成を管理する。ストレージアドレス空間が前述したように範囲あるいはファイルサイズによって細分化されるならば、ストレージアドレスの各範囲はそれ自身の再配置ブロックおよび関連する再配置ポインタを持つことができる。図15を参照すると、マルチバンクフラッシュメモリのためのフラッシング操作の実施形態は、各バンク107A〜107Dのために別々にかつ独立して、充分な数の白色ブロックがあるかどうかを追跡することを含む(1502において)。この判定は、バンク内に現在存在する白色ブロックの総数に基づいて行うこともできるし、あるいはバンク内で白色ブロックが消費されつつある速度に基づいて行うこともできる。充分な数の白色ブロックがあるならば、フラッシング操作は不要であってバンクは次の書き込み操作を待つことができる(1504において)。白色ブロックの数が不十分であると判定されたならば、以下のようにバンクのために維持されているピンク色ブロックリストからバンク内のピンク色ブロックが選択される(1506において)。バンク内の現在の再配置ブロックが満杯でなければ、有効なデータが、選択されたピンク色ブロックからピンク色ブロック内での出現の順に再配置ブロック内の連続する位置へコピーされる(1508、1510において)。一実施形態では、再配置ブロックが完全にプログラムされているときにだけ、同じバンクから他の白色ブロックが次の再配置ブロックとして割り当てられる(1512において)。さらに、一実施形態では、選択されたピンク色ブロックからの有効なデータだけが、そのピンク色ブロックがコピーされていない有効なデータを依然として包含している間、再配置ブロックにコピーされる(1514において)。マルチバンクフラッシュメモリ107において、1つの特定のバンク内のピンク色ブロック906の中の有効なデータは同じバンク内の再配置ブロックにフラッシングされるだけであるように、フラッシング操作はそれぞれのバンク107A〜107Dの中で独立に実行され、かつそれぞれのバンク107A〜107Dの中に完全に包含されるということを、図15に示されているフラッシング操作は表している。フラッシング操作は、通常、ピンク色ブロックを白色ブロックに変換するために、バックグラウンド操作として実行される。
前述したストレージアドレス再マッピングを実行するために、図17に関して一般的に記述したものなどのストレージアドレステーブル(SAT)1704が、ストレージアドレス空間内のデータの位置を追跡するために使用される。SAT内の情報は、順次更新の一部として完全なフラッシュメタブロックにも書き込まれる。したがって、一実施例では、SAT情報は、ホストから受け取られるデータのために使用される書き込みブロックとは別であり、かつフラッシング操作に使用される再配置ブロックとも異なる書き込みブロックに書き込まれる。他の実施例では、SAT情報は、ブロック、例えば、非SAT情報により占められるMLCフラッシュパーティションではないバイナリフラッシュパーティション内のブロックの異なるグループに格納され得る。あるいは、SATデータと非SATデータとは同じタイプのフラッシュブロックに、ブロックを単位として分離されて、格納され得る。さらに他の実施形態では、SATデータと非SATデータとは同じブロック内で混ぜ合わされ得る。SAT1704はマルチバンクメモリ107内の全てのバンク107A〜107Dのための単一のテーブルであることができ、他の実施形態では各バンクは、その特定のバンク内の情報をマッピングするだけの独立のSATを維持することができる。
SATページ2206は、SATにおけるマッピング情報の最小更新可能単位である。更新済みSATページ2206はSAT書き込みポインタ2302により定められる位置に書き込まれる。SATページ2206は、インクリメントするLBAアドレスを有するLBAランのセットについてのマッピング情報を包含するけれども、引き続くLBAランのアドレスは連続していなくてもよい。SATページ2206内のLBAアドレスの範囲は他のどのSATページ2206内のLBAアドレスの範囲とも重なり合わない。SATページ2206は、SATブロックの完全なセットの全体にわたって無制限に分散され得る。LBAアドレスの任意の範囲についてのSATページ2206が任意のSATブロック内にあってよい。SATページ2206は、索引バッファフィールド2304と、LBAフィールド2306と、DLBAフィールド2308と制御ポインタ2310とを含むことができる。パラメータバックアップエントリも、揮発性RAMに格納されているいくつかのパラメータの値を包含する。
SAT索引ページ2208のセットは、SAT内のどの有効なSATページ2206の位置への索引をも提供する。個々のSAT索引ページ2208は、1つの範囲のLBAアドレスに関連する有効なSATページの位置を定めるエントリ2320を包含する。SAT索引ページ2208がまたがるLBAアドレスの範囲は、他のどのSAT索引ページ2208がまたがるLBAアドレスの範囲とも重なり合わない。エントリは、それらが関連するSATページのLBAアドレス範囲値にしたがって整理される。SAT索引ページ2208は、固定された数のエントリを包含する。SAT索引ページ2208は、SATブロックの完全なセットの全体にわたって無制限に分散され得る。任意の範囲のLBAアドレスのためのSAT索引ページ2208が任意のSATブロック内にあってよい。SAT索引ページ2208は、SAT索引フィールドとページ索引フィールドとを含む。
図22に示されているアドレスマッピングの長期記憶のためのSAT階層の一部ではないけれども、SATを更新するための階層的プロシージャの中で追加のデータ構造が使用され得る。1つのそのような構造は、LBAエントリと、SATページ2206にまだ書き込まれていないLBAランに対する更新操作またはブロックフラッシング操作から生じた新しいアドレスマッピングのための新しいエントリのための対応するDLBAマッピングとを含むSATリストである。SATリストはRAM内の揮発性構造であり得る。SATリスト内のエントリは、SATページ更新中にそれらがSATページ2206に書き込まれると、クリアされる。
テーブルページは、SATブロック内のDLBAアドレス空間の固定されたサイズの単位であり、これは1つのSATページ2206または1つのSAT索引ページ2208を記憶するために使用される。テーブルページの最小サイズは1ページであり、最大サイズは1メタページであり、ここでページおよびメタページは、各バンク107A〜107Dのための物理メモリにおけるページおよびメタページに対応するDLBAアドレス空間の単位である。
SATは、ホストファイルシステムのLBAアドレスに対応するDLBAアドレスを迅速に突き止めるために有益である。一実施形態では、有効なデータにマッピングされているLBAアドレスだけがSATに含まれる。SATページ2206は、1SATページ2206から別のSATページへとLBA範囲同士が重なり合わないようにLBA順に配列されるので、所望のデータに向かって迅速に進むために単純なサーチアルゴリズムが使用され得る。このアドレス変換プロシージャの一例が図27に示されている。ターゲットLBA2702がまず(ストレージアドレス再マッピングの実施例がそれぞれ図11のように構成されているかまたは図12のように構成されているかにより)コントローラまたはプロセッサによって受け取られる。他の実施形態では、SATが有効なデータおよび使用済みとなったデータにマッピングされたLBAアドレスを含んで、データが有効であるのかそれとも使用済みとなっているのかを追跡するということが考慮され得る。
SATブロックをフラッシングするプロセスは、ホストから受け取られるデータについて前述したプロセスと類似するけれども、SATブロックだけに作用する。ストレージアドレス再マッピング書き込みおよびフラッシングアルゴリズムによって引き起こされるSATに対する更新は、SATブロックを図28に示されているブロック状態間で遷移させる。始めに、次のSATブロックを受け取るように現在指定されているバンクのための白色ブロックリストから1つの白色ブロックがSAT書き込みブロックとして割り当てられる(2802において)。SAT書き込みブロック内の最後のページが割り当てられると、ブロックは赤色SATブロックになる(2804において)。SAT書き込みブロックは、その中のいくつかのページが既に使用済みとなっていたならば、ピンク色SATブロックへの遷移を行ない得る。しかし、明瞭性を目的として、その遷移は図28には示されていない。SATページまたはSAT索引ページが更新されると赤色SATブロックの中の1つ以上のページが使用済みとなり、赤色SATブロックはピンク色SATブロックになる(2806において)。再配置されるデータのためにだけ指定されている特別の書き込みブロックへ有効なデータが移される、ホストデータを包含するピンク色ブロックのフラッシング操作とは違って、ピンク色SATブロックのためのフラッシング操作は、有効なSATデータを現在のSAT書き込みブロックへ単に再配置する。選択されたピンク色SATブロックに対するフラッシング操作が完了すると、そのピンク色SATブロックは白色ブロックになる(2808において)。SATピンク色ブロックは、好ましくは、同じバンク107A〜107D内のSAT書き込みブロックへフラッシングされる。
ブロック情報テーブル(BIT)は、白色ブロック、ピンク色ブロック、およびSATブロックのためにブロックアドレスの別々のリストを記録するために使用される。マルチブロックメモリでは、各バンク107A〜107Dにおいて別々のBITが維持される。BIT書き込みブロックは、同じバンク内の他の全てのBITブロックがどこに位置するかに関する情報を包含する。一実施例では、ストレージアドレス再マッピングアルゴリズムおよび関連するシステムは、書き込みブロック、再配置ブロックまたはSATブロックとして割り当てられるべきブロックの選択を可能にするために白色ブロックのリストを維持するのが望ましい。各バンクにおいてブロックフラッシング操作の対象となるべきピンク色ブロックおよびSATブロックの選択を可能にするために、ピンク色ブロックのリストを維持することも望ましい。これらのリストは、その構造がSATのものを厳密に反映するBITにおいて維持される。一実施形態では、各バンク107A〜107Dにおいて別々のBITが維持され記憶される。他の1つの実施形態では、BITは、バンクにより索引付けされる情報を有する単一のテーブルであり得る。
各バンク内のBITは、BITブロックとして知られるDLBAアドレスのブロックの中で実現される。ブロックリスト情報がBITページの中に格納され、「DLBAブロック対BITページ」索引付け情報がBIT索引ページの中に格納される。BITページおよびBIT索引ページは、同じBITブロックの中で任意の順序で混合されてよい。BITは複数のBITブロックから成ることができるが、BIT情報はBIT書き込みブロックとして現在指定されている単一のブロックに書き込まれ得るだけである。他の全てのBITブロックは、以前に完全に書き込まれていて、有効なページおよび使用済ページの組み合わせを包含し得る。使用済BIT情報のページを削除して再使用される白色ブロックを作るために前述したSATブロックのためのものと同一のBITブロックフラッシング方式が実行される。
図30に示されているBITブロックは、BIT情報の格納に専用されるDLBAアドレスのブロックである。BITページ3002とBIT索引ページ3004とを含むことができる。BITブロックは、有効なBITページ、有効なBIT索引ページ、および使用済ページの任意の組み合わせを包含することができる。BIT情報は、BIT書き込みブロック3000として指定されている単一のBITブロックに書き込まれ得るだけである。BIT情報は、BIT書き込みブロック3000において、インクリメントなBIT書き込みポインタ3006により定められる順次の位置に書き込まれる。BIT書き込みブロック3000が完全に書き込まれると、1つの白色ブロックが新しいBIT書き込みブロックとして割り当てられる。BITを構成するブロックは、それらのBITブロック位置によってそれぞれ特定され、装置内のブロックの集団の中でのそれらのブロックアドレスである。BITブロックはテーブルページに分割され、それらにBITページ3002またはBIT索引ページ3004が書き込まれ得る。BITページ位置は、そのBITブロックの中でのもののシーケンス番号によってアドレス指定される。BIT情報を、フラッシュメモリの異なるブロック内で非BIT情報と分離することができ、非BIT情報とは異なるタイプのブロック(例えば、バイナリとMLC)へ分離することができたり、あるいは1つのブロック内で非BIT情報と混合することができたりする。
BITページ3002の制御ポインタ3016は、PBLフィールド3010の先頭およびSBLフィールド3012の先頭の、WBLフィールド3008の先頭からのオフセットを定める。BITページ3002は、リストエントリの数としてのオフセット値を包含する。
BIT索引ページ3004のセットは、BIT内の全ての有効なBITページ3002の位置への索引を提供する。個々のBIT索引ページ3004は、DLBAブロックアドレスの1つの範囲に関連する有効なBITページの位置を定めるエントリを包含する。BIT索引ページがまたがるDLBAブロックアドレスの範囲は、他のどのBIT索引ページ3004がまたがるDLBAブロックアドレスの範囲とも重なり合わない。エントリは、それらが関連するBITページ3002のDLBAブロックアドレス範囲値にしたがって整理される。BIT索引ページ3004は、固定された数のエントリを包含する。
BITページ3002は、WBL3008、PBL3010およびSBL3012にエントリを加え、あるいはこれらからエントリを削除するために更新される。数個のエントリに対する更新がRAM内のリストに、そのリストがパワーサイクル後にRAMに回復され得るということを条件として、蓄積されてBITにおいて単一の操作で実行され得る。BIT索引バッファフィールドは、最も最近に書き込まれたBITページにおいて有効である。BITページが書き込まれるたびに付加的なプログラミングなしで更新される。BIT索引ページが更新されるとき、BIT索引バッファからの1つ以上のエントリがBIT索引ページに加えられ、BIT索引バッファから除去される。最大許容数のエントリがBIT索引バッファ内に存在するときには1つ以上のBIT索引ページ3004が更新される。
BITブロックをフラッシングするプロセスは、SATブロックについて前に記載したプロセスに厳密に従い、ここでは繰り返されない。
他の実施形態では、BITおよびSAT情報は同じブロックの異なるページに格納され得る。制御ブロックと称されるこのブロックは、1ページのSATまたはBIT情報が制御ブロック内の1ページを占めるように構造化され得る。制御ブロックは、整数個のページを有するページユニットから成ることができ、各ページユニットは制御ブロックの中でのそれ自身のシーケンス番号によりアドレス指定される。ページユニットは、物理メモリにおいて1ページの最小サイズおよび1メタページの最大サイズを有することができる。制御ブロックは、有効なSATページ、SAT索引ページ、BITページ、BIT索引ページ、および使用済ページの任意の組み合わせを包含することができる。したがって、別々のSATおよびBITブロックを持つのではなくて、SATおよびBIT情報の両方を同じ1つのまたは複数のブロックに格納することができる。前述した別々のSATおよびBIT書き込みブロックの場合と同じく、制御情報(SATまたはBIT情報)を単一の制御書き込みブロックに書き込むことができるに過ぎず、制御書き込みポインタは制御データを受け取るための次の順次位置を特定し、制御書き込みブロックが完全に書き込まれると1つの書き込みブロックが新しい制御書き込みブロックとして割り当てられる。さらに、制御ブロックは、それぞれ、メモリシステム102内のバイナリブロックの集団の中でそれら自身のブロックアドレスによって特定され得る。制御ブロックは、前述した分離されているSATおよびBITブロックについて記載されたのと同じ仕方で新しい未書き込み容量を生成するためにフラッシングされ得るけれども、制御ブロックのための再配置ブロックが有効なSATまたはBIT情報に関連するページを受け入れ得るという違いがある。フラッシングのための適切なピンク色制御ブロックの選択およびタイミングはSATフラッシングプロセスについて前述したのと同じ仕方で実行され得る。
ストレージアドレス再マッピングアルゴリズムは、ホストによって有効なデータに現在割り当てられているホストLBAアドレスだけのためにアドレスマッピング情報を記録する。したがって、このマッピング情報を正確に維持するために、クラスタがホストによってデータ記憶から割り当て解除されたときを判定する必要がある。
トリムコマンドなどのホストファイルシステムコマンドが利用できなければ、LBA割り当てステータスを、NTFSにより書き込まれる$bitmapシステムファイルにおける情報変化を追跡することによって監視することができ、ボリューム上の全てのクラスタの割り当てステータスのビットマップを包含する。パーソナルコンピュータ(PC)において$bitmap変化を追跡する一例が以下で論じられる。
パーティションブートセクタは、パーティション上のセクタ0である。バイトオフセット0x30におけるフィールドは、表3への例の場合のように、マスタファイルテーブル(MFT)の先頭のための論理クラスタ番号を包含する。
$bitmapと称されるシステムファイルは、ボリューム上の全てのクラスタの割り当てステータスのビットマップを包含する。$bitmapファイルのための記録は、MFT内の記録番号6である。MFT記録は1,024バイトの長さを有する。したがって、$bitmap記録はMFTの先頭に関して十進12セクタのオフセットを有する。前の例では、MFTはクラスタ0xC4FD2、すなわち十進806866から始まり、セクタ十進6454928である。したがって、$bitmapファイル記録はセクタ十進6454940から始まる。
$bitmapファイルについてのデータ属性の中のセクタは、論理クラスタ番号の順に、ボリューム内の全てのクラスタの割り当てステータスのビットマップを包含する。「1」はフィルシステムによってクラスタがデータ格納のために割り当てられていることを表し、「0」はクラスタが空いていることを表した。ビットマップ内の各バイトは、8クラスタまたは64十進セクタの論理範囲に関連する。ビットマップ内の各セクタは、0x1,000(十進4096)クラスタまたは0x8,000(十進32768)セクタの論理範囲に関連する。ビットマップ内の各クラスタは、0x8,000(十進32768)クラスタまたは0x40,000(十進262144)セクタの論理範囲に関連する。
ホストからの書き込み操作が$bitmapファイルについてのデータ属性の中のセクタに向けられるたびに、セクタの前のバージョンがストレージ装置から読み出されて、そのデータがホストによりちょうど書き込まれたばかりのデータと比較されなければならない。「1」状態から「0」状態へトグルした全てのビットが特定されなければならず、ホストによって割り当て解除されたクラスタの対応する論理アドレスが判定されなければならない。提案されたトリムコマンドなどのコマンドまたはNTFSメタデータ追跡が、ホストによるクラスタ割り当て解除があったことを示すたびに、ストレージアドレステーブル(SAT)は、指定されたクラスタについてのアドレスの割り当て解除を記録するために更新されなければならない。
図17に示されているDLBAアドレスのランへの有効なホストLBAランだけのマッピングとは対照的に、SATを作る代わりの方法が図31〜32に示され、ここではLBAアドレスのメガブロックの中の全てのLBAアドレスが、LBAアドレスが有効なデータと関連付けられているかいないかに関わらず、マッピングされる。有効なデータと関連付けられているLBAアドレスの各ランのために別々のLBAエントリをSATにおいて作る代わりに、各LBAアドレスメガブロックがSAT上で単一のエントリであるようにLBAアドレスのメガブロックがSATにおいてマッピングされ得る。
前述したように、図10の実施形態では、ストレージアドレス再マッピング(STAR)アルゴリズムは、図11〜12の場合のようにそれぞれ記憶装置またはホスト上の別のアプリケーションにではなくて記憶装置のメモリマネージャに組み込まれている。コントローラ108は、ホストデータをホストLBAからメモリシステム102内の各バンク107A〜107D内の物理アドレスへ直接マッピングする。図10の実施形態では、前に論じられたDLBAアドレスは、中間のDLBA(ストレージLBA)アドレスではなくて物理メモリアドレスにより取って代わられ、SATにおいて、DLBAランはデータランにより取って代わられる。各バンクを横切るメガページに沿って「ストライプ」を成して物理アドレスのメガブロックにホストデータを書き込む動作は、物理的ブロックの各バンクのための独立のピンク色ブロック選択およびフラッシングと同じく、同じままである。図10の論理対物理の実施形態は、前に論じられたDLBAアドレスおよびDLBAランの代わりに物理アドレスおよび物理的データランに関して同じSATおよびBIT(または制御)メタブロック構造も含む。図10の構成におけるストレージ再マッピングアルゴリズムは、メモリシステム102またはホスト100(それぞれ図11および12)上の別のアプリケーションではなくてメモリシステム102内のメモリコントローラ108の一部である。
Claims (18)
- ホストシステムと、一緒に消去可能なメモリセルのブロックとして各々構成されているメモリセルの複数のバンクを有する再プログラム可能な不揮発性大容量記憶システムとの間でデータを転送する方法であって、
前記ホストシステムにより割り当てられたホスト論理ブロックアドレス(LBA)アドレスと関連付けられたデータを受け取るステップと、
前記ホストLBAアドレスと関連付けられたデータをアドレス指定するために連続的ストレージLBAアドレスのメガブロックを割り当てるステップであって、連続的ストレージLBAアドレスの前記メガブロックは、メモリセルの複数のバンクの各々の中のメモリセルの少なくとも1つのブロックを含むと共に割り当て時に未書き込み容量だけをアドレス指定する、割り当てるステップと、
受け取られたデータのための前記ホストLBAアドレスの各々を連続的ストレージLBAアドレスのメガブロックに再マッピングするステップであって、各ストレージLBAアドレスは、前記ホストLBAアドレスに関わらず受け取られたデータが受け取られた順に受け取られたデータに連続的に順次割り当てられる、再マッピングするステップと、
複数のバンクのうちの第1のバンクの中のブロックを複数のバンクのうちの第2のバンクの中のブロックをフラッシングすることとは独立にフラッシングするステップであって、前記第1のバンクの中のブロックをフラッシングすることは、有効なデータのためのホストLBAアドレスを前記第1のバンクの中のブロックのストレージLBAアドレスから第1の再配置ブロックの中の連続的ストレージLBAアドレスへ再割り当てすることを含み、前記第2のバンクの中のブロックをフラッシングすることは、有効なデータのためのホストLBAアドレスを前記第2のバンクの中のブロックのストレージLBAアドレスから第2の再配置ブロックの中の連続的ストレージLBAアドレスへ再割り当てすることを含む、フラッシングするステップと、
を含む方法。 - 請求項1記載の方法において、
前記第1のバンクの中のブロックをフラッシングすることは、有効なデータのためのホストLBAアドレスを前記第1のバンクの中のブロックのストレージLBAアドレスから前記第1のバンクの中の再配置ブロックだけへ再割り当てすることをさらに含み、前記第2のブロックをフラッシングすることは、有効なデータのためのホストLBAアドレスを前記第2のバンクの中のブロックのストレージLBAアドレスから前記第2のバンクの中の再配置ブロックだけへ再割り当てすることを含む方法。 - 請求項2記載の方法において、
前記第1のバンクの中の連続的ストレージLBAアドレスのブロックを新しい再配置ブロックとして割り当てるステップをさらに含み、連続的ストレージLBAアドレスの前記新しい再配置ブロックは割り当て時に未書き込み容量だけと関連付けられ、前記新しい再配置ブロックの割り当ては、前記第1のバンクにおいて再配置ブロックの中のストレージLBAアドレスを完全に割り当てたときにだけ行われる方法。 - 請求項1記載の方法において、
前記受け取られたデータのためのホストLBAアドレスの各々を連続的ストレージLBAアドレスのメガブロックへ再マッピングするステップは、ストレージLBAアドレスを前記メガブロックのためのメガページ順にホストLBAアドレスと関連付けることを含み、前記メガページは前記メガブロックの各ブロックの中のメタページを含む方法。 - 請求項1記載の方法において、
複数のバンクの各々のためにホストLBAアドレスのストレージLBAアドレスに対する関係を特定する相関情報を単一のストレージアドレステーブルに記録するステップをさらに含む方法。 - 請求項5記載の方法において、
前記相関情報は、有効なデータと関連付けられているホストLBAアドレスのランと、ホストLBAアドレスのランにマッピングされているストレージLBAアドレスとだけを含む方法。 - 請求項5記載の方法において、
前記相関情報は、ホストLBAアドレスのメガブロックの中の全てのホストLBAアドレスのためのマッピング情報を含む方法。 - 請求項5記載の方法において、
前記単一のストレージアドレステーブルは少なくとも1つのストレージアドレステーブルブロックを含み、前のストレージアドレステーブル書き込みブロックが相関情報に完全に割り当てられたときに、割り当て時に未書き込み容量だけと関連付けられている新しいストレージアドレステーブル書き込みブロックを割り当てるステップをさらに含む方法。 - 請求項8記載の方法において、
前記前のストレージアドレステーブル書き込みブロックを包含するバンク以外のバンクにおいて前記新しいストレージアドレステーブル書き込みブロックを割り当てるステップをさらに含む方法。 - ホストシステムと、一緒に消去可能なメモリセルのブロックとして各々構成されているメモリセルの複数のバンクを有する再プログラム可能な不揮発性大容量記憶システムとの間でデータを転送する方法であって、
受け取られたホストデータのためのホスト論理ブロックアドレス(LBA)アドレスをストレージLBAアドレスのメガブロックに再マッピングするステップであって、ストレージLBAアドレスの前記メガブロックはメモリセルの複数のバンクの各々の中のメモリセルの少なくとも1つのブロックを含み、受け取られたデータのためのホストLBAアドレスは前記メガブロックの中でメガページ順にストレージLBAアドレスに連続的に割り当てられ、各メガページは、前記ホストLBAアドレスに関わらず受け取られたデータが受け取られた順に、前記メガブロックのブロックの各々の中のメタページを含む、再マッピングするステップと、
複数のバンクの各々においてフラッシング操作を独立に実行するステップであって、前記フラッシング操作は、有効なデータのためのホストLBAアドレスを特定のバンクの中のブロックのストレージLBAアドレスから前記特定のバンクの中の再配置ブロックの中の連続的ストレージLBAアドレスへ再割り当てする、フラッシング操作を独立に実行するステップと、
を含む方法。 - 請求項10記載の方法において、
複数のバンクの各々の中のピンク色ブロックを特定するステップであって、各ピンク色ブロックは、有効なデータと使用済データとの両方と関連付けられているストレージLBAアドレスの完全に書き込まれたブロックを含む、特定するステップと、
各バンクについて、前記バンクの中の特定されたピンク色ブロックのうちの1つを次のフラッシング操作のために独立に選択するステップと、
をさらに含む方法。 - 請求項11記載の方法において、
複数のバンクの各々においてブロック情報テーブルを維持するステップをさらに含み、バンクのための前記ブロック情報テーブルは、そのバンクの中のピンク色ブロックのリストを含む方法。 - 請求項10記載の方法において、
前記フラッシング操作を独立に実行するステップは、複数のバンクのうちの1つのバンクにおいては第1のしきい値に基づいて、複数のバンクのうちの第2のバンクにおいては第2のしきい値に基づいて、フラッシング操作を開始することを含む方法。 - 請求項10記載の方法において、
複数のバンクの各々のためにホストLBAアドレスのストレージLBAアドレスに対する関係を特定する相関情報を単一のストレージアドレステーブルに記録するステップをさらに含む方法。 - 請求項14記載の方法において、
前記相関情報は、有効なデータと関連付けられているホストLBAアドレスのランと、ホストLBAアドレスのランにマッピングされているストレージLBAアドレスとだけを含む方法。 - 請求項14記載の方法において、
前記相関情報は、ホストLBAアドレスのメガブロックの中の全てのホストLBAアドレスのためのマッピング情報を含む方法。 - 請求項14記載の方法において、
前記単一のストレージアドレステーブルは少なくとも1つのストレージアドレステーブルブロックを含み、前のストレージアドレステーブル書き込みブロックが相関情報に完全に割り当てられたときに、割り当て時に未書き込み容量だけと関連付けられている新しいストレージアドレステーブル書き込みブロックを割り当てるステップをさらに含む方法。 - 請求項17記載の方法において、
前記前のストレージアドレステーブル書き込みブロックを包含するバンク以外のバンクにおいて前記新しいストレージアドレステーブル書き込みブロックを割り当てるステップをさらに含む方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/110,050 US20090271562A1 (en) | 2008-04-25 | 2008-04-25 | Method and system for storage address re-mapping for a multi-bank memory device |
US12/110,050 | 2008-04-25 | ||
PCT/US2009/040153 WO2009131851A1 (en) | 2008-04-25 | 2009-04-10 | Method and system for storage address re-mapping for a multi-bank memory device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011519095A true JP2011519095A (ja) | 2011-06-30 |
JP2011519095A5 JP2011519095A5 (ja) | 2012-05-31 |
Family
ID=40792849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011506353A Pending JP2011519095A (ja) | 2008-04-25 | 2009-04-10 | マルチバンク記憶装置のためのストレージアドレス再マッピングのための方法およびシステム |
Country Status (6)
Country | Link |
---|---|
US (2) | US20090271562A1 (ja) |
EP (1) | EP2286341B1 (ja) |
JP (1) | JP2011519095A (ja) |
KR (1) | KR20100139149A (ja) |
TW (1) | TWI437441B (ja) |
WO (1) | WO2009131851A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013030081A (ja) * | 2011-07-29 | 2013-02-07 | Toshiba Corp | データ記憶装置、メモリ制御装置及びメモリ制御方法 |
US8930614B2 (en) | 2011-07-29 | 2015-01-06 | Kabushiki Kaisha Toshiba | Data storage apparatus and method for compaction processing |
US10175889B2 (en) | 2016-03-10 | 2019-01-08 | Toshiba Memory Corporation | Memory system capable of accessing memory cell arrays in parallel |
Families Citing this family (167)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429352B2 (en) * | 2007-06-08 | 2013-04-23 | Sandisk Technologies Inc. | Method and system for memory block flushing |
US8843691B2 (en) * | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
KR101083673B1 (ko) * | 2008-10-01 | 2011-11-16 | 주식회사 하이닉스반도체 | 반도체 스토리지 시스템 및 그 제어 방법 |
US8239614B2 (en) * | 2009-03-04 | 2012-08-07 | Micron Technology, Inc. | Memory super block allocation |
US8949578B2 (en) | 2009-04-27 | 2015-02-03 | Lsi Corporation | Sharing of internal pipeline resources of a network processor with external devices |
US9444757B2 (en) | 2009-04-27 | 2016-09-13 | Intel Corporation | Dynamic configuration of processing modules in a network communications processor architecture |
US8515965B2 (en) | 2010-05-18 | 2013-08-20 | Lsi Corporation | Concurrent linked-list traversal for real-time hash processing in multi-core, multi-thread network processors |
US8321385B2 (en) * | 2010-03-12 | 2012-11-27 | Lsi Corporation | Hash processing in a network communications processor architecture |
US8873550B2 (en) | 2010-05-18 | 2014-10-28 | Lsi Corporation | Task queuing in a multi-flow network processor architecture |
US9152564B2 (en) | 2010-05-18 | 2015-10-06 | Intel Corporation | Early cache eviction in a multi-flow network processor architecture |
US8874878B2 (en) | 2010-05-18 | 2014-10-28 | Lsi Corporation | Thread synchronization in a multi-thread, multi-flow network communications processor architecture |
US8949582B2 (en) | 2009-04-27 | 2015-02-03 | Lsi Corporation | Changing a flow identifier of a packet in a multi-thread, multi-flow network processor |
US9727508B2 (en) | 2009-04-27 | 2017-08-08 | Intel Corporation | Address learning and aging for network bridging in a network processor |
US8910168B2 (en) | 2009-04-27 | 2014-12-09 | Lsi Corporation | Task backpressure and deletion in a multi-flow network processor architecture |
US9461930B2 (en) | 2009-04-27 | 2016-10-04 | Intel Corporation | Modifying data streams without reordering in a multi-thread, multi-flow network processor |
US8705531B2 (en) | 2010-05-18 | 2014-04-22 | Lsi Corporation | Multicast address learning in an input/output adapter of a network processor |
US8555141B2 (en) * | 2009-06-04 | 2013-10-08 | Lsi Corporation | Flash memory organization |
US8166233B2 (en) * | 2009-07-24 | 2012-04-24 | Lsi Corporation | Garbage collection for solid state disks |
US8219776B2 (en) * | 2009-09-23 | 2012-07-10 | Lsi Corporation | Logical-to-physical address translation for solid state disks |
US20100306451A1 (en) * | 2009-06-01 | 2010-12-02 | Joshua Johnson | Architecture for nand flash constraint enforcement |
US8245112B2 (en) * | 2009-06-04 | 2012-08-14 | Lsi Corporation | Flash memory organization |
US9063561B2 (en) * | 2009-05-06 | 2015-06-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Direct memory access for loopback transfers in a media controller architecture |
US8321639B2 (en) * | 2009-12-30 | 2012-11-27 | Lsi Corporation | Command tracking for direct access block storage devices |
US8516264B2 (en) * | 2009-10-09 | 2013-08-20 | Lsi Corporation | Interlocking plain text passwords to data encryption keys |
US8166258B2 (en) * | 2009-07-24 | 2012-04-24 | Lsi Corporation | Skip operations for solid state disks |
US20100318720A1 (en) * | 2009-06-16 | 2010-12-16 | Saranyan Rajagopalan | Multi-Bank Non-Volatile Memory System with Satellite File System |
US9753847B2 (en) * | 2009-10-27 | 2017-09-05 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping |
US9110594B2 (en) * | 2009-11-04 | 2015-08-18 | Seagate Technology Llc | File management system for devices containing solid-state media |
DE112010004667T5 (de) | 2009-12-03 | 2013-01-17 | Hitachi, Ltd. | Speichervorrichtung und Speichersteuerung |
US8473669B2 (en) * | 2009-12-07 | 2013-06-25 | Sandisk Technologies Inc. | Method and system for concurrent background and foreground operations in a non-volatile memory array |
TWI484334B (zh) * | 2009-12-24 | 2015-05-11 | Univ Nat Taiwan | 非揮發記憶體的區域式管理方法 |
US8316176B1 (en) * | 2010-02-17 | 2012-11-20 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification |
US8725931B1 (en) | 2010-03-26 | 2014-05-13 | Western Digital Technologies, Inc. | System and method for managing the execution of memory commands in a solid-state memory |
US9563397B1 (en) | 2010-05-05 | 2017-02-07 | Western Digital Technologies, Inc. | Disk drive using non-volatile cache when garbage collecting log structured writes |
US8782327B1 (en) | 2010-05-11 | 2014-07-15 | Western Digital Technologies, Inc. | System and method for managing execution of internal commands and host commands in a solid-state memory |
US9026716B2 (en) * | 2010-05-12 | 2015-05-05 | Western Digital Technologies, Inc. | System and method for managing garbage collection in solid-state memory |
US9104546B2 (en) * | 2010-05-24 | 2015-08-11 | Silicon Motion Inc. | Method for performing block management using dynamic threshold, and associated memory device and controller thereof |
US8341339B1 (en) | 2010-06-14 | 2012-12-25 | Western Digital Technologies, Inc. | Hybrid drive garbage collecting a non-volatile semiconductor memory by migrating valid data to a disk |
US8959284B1 (en) | 2010-06-28 | 2015-02-17 | Western Digital Technologies, Inc. | Disk drive steering write data to write cache based on workload |
US9146875B1 (en) | 2010-08-09 | 2015-09-29 | Western Digital Technologies, Inc. | Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining |
US8639872B1 (en) | 2010-08-13 | 2014-01-28 | Western Digital Technologies, Inc. | Hybrid drive comprising write cache spanning non-volatile semiconductor memory and disk |
US9268499B1 (en) | 2010-08-13 | 2016-02-23 | Western Digital Technologies, Inc. | Hybrid drive migrating high workload data from disk to non-volatile semiconductor memory |
US9058280B1 (en) | 2010-08-13 | 2015-06-16 | Western Digital Technologies, Inc. | Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time |
US8683295B1 (en) | 2010-08-31 | 2014-03-25 | Western Digital Technologies, Inc. | Hybrid drive writing extended error correction code symbols to disk for data sectors stored in non-volatile semiconductor memory |
US8775720B1 (en) | 2010-08-31 | 2014-07-08 | Western Digital Technologies, Inc. | Hybrid drive balancing execution times for non-volatile semiconductor memory and disk |
US8782334B1 (en) | 2010-09-10 | 2014-07-15 | Western Digital Technologies, Inc. | Hybrid drive copying disk cache to non-volatile semiconductor memory |
US9021192B1 (en) | 2010-09-21 | 2015-04-28 | Western Digital Technologies, Inc. | System and method for enhancing processing of memory access requests |
US9164886B1 (en) | 2010-09-21 | 2015-10-20 | Western Digital Technologies, Inc. | System and method for multistage processing in a memory storage subsystem |
US8825976B1 (en) | 2010-09-28 | 2014-09-02 | Western Digital Technologies, Inc. | Hybrid drive executing biased migration policy during host boot to migrate data to a non-volatile semiconductor memory |
US8825977B1 (en) | 2010-09-28 | 2014-09-02 | Western Digital Technologies, Inc. | Hybrid drive writing copy of data to disk when non-volatile semiconductor memory nears end of life |
US8670205B1 (en) | 2010-09-29 | 2014-03-11 | Western Digital Technologies, Inc. | Hybrid drive changing power mode of disk channel when frequency of write data exceeds a threshold |
US8452911B2 (en) | 2010-09-30 | 2013-05-28 | Sandisk Technologies Inc. | Synchronized maintenance operations in a multi-bank storage system |
US8699171B1 (en) | 2010-09-30 | 2014-04-15 | Western Digital Technologies, Inc. | Disk drive selecting head for write operation based on environmental condition |
US8612798B1 (en) | 2010-10-21 | 2013-12-17 | Western Digital Technologies, Inc. | Hybrid drive storing write data in non-volatile semiconductor memory if write verify of disk fails |
US8429343B1 (en) | 2010-10-21 | 2013-04-23 | Western Digital Technologies, Inc. | Hybrid drive employing non-volatile semiconductor memory to facilitate refreshing disk |
US8427771B1 (en) | 2010-10-21 | 2013-04-23 | Western Digital Technologies, Inc. | Hybrid drive storing copy of data in non-volatile semiconductor memory for suspect disk data sectors |
US8560759B1 (en) | 2010-10-25 | 2013-10-15 | Western Digital Technologies, Inc. | Hybrid drive storing redundant copies of data on disk and in non-volatile semiconductor memory based on read frequency |
US9069475B1 (en) | 2010-10-26 | 2015-06-30 | Western Digital Technologies, Inc. | Hybrid drive selectively spinning up disk when powered on |
US8458435B1 (en) | 2010-12-20 | 2013-06-04 | Western Digital Technologies, Inc. | Sequential write thread detection |
US8458133B2 (en) | 2011-01-24 | 2013-06-04 | Apple Inc. | Coordinating sync points between a non-volatile memory and a file system |
US9092160B2 (en) * | 2011-02-08 | 2015-07-28 | Seagate Technology Llc | Selective enablement of operating modes or features via host transfer rate detection |
US9021215B2 (en) | 2011-03-21 | 2015-04-28 | Apple Inc. | Storage system exporting internal storage rules |
TWI454908B (zh) * | 2011-03-28 | 2014-10-01 | Phison Electronics Corp | 記憶體組態方法、記憶體控制器與記憶體儲存裝置 |
US9361044B2 (en) * | 2011-03-28 | 2016-06-07 | Western Digital Technologies, Inc. | Power-safe data management system |
US9311229B2 (en) * | 2011-03-29 | 2016-04-12 | Blackberry Limited | System and method for managing flash memory |
US8849777B1 (en) * | 2011-06-30 | 2014-09-30 | Emc Corporation | File deletion detection in key value databases for virtual backups |
US8843443B1 (en) | 2011-06-30 | 2014-09-23 | Emc Corporation | Efficient backup of virtual data |
US9098399B2 (en) | 2011-08-31 | 2015-08-04 | SMART Storage Systems, Inc. | Electronic system with storage management mechanism and method of operation thereof |
US9021319B2 (en) | 2011-09-02 | 2015-04-28 | SMART Storage Systems, Inc. | Non-volatile memory management system with load leveling and method of operation thereof |
US9063844B2 (en) | 2011-09-02 | 2015-06-23 | SMART Storage Systems, Inc. | Non-volatile memory management system with time measure mechanism and method of operation thereof |
US8630056B1 (en) | 2011-09-12 | 2014-01-14 | Western Digital Technologies, Inc. | Hybrid drive adjusting spin-up profile based on cache status of non-volatile semiconductor memory |
US20130275661A1 (en) * | 2011-09-30 | 2013-10-17 | Vincent J. Zimmer | Platform storage hierarchy with non-volatile random access memory with configurable partitions |
US9430372B2 (en) | 2011-09-30 | 2016-08-30 | Intel Corporation | Apparatus, method and system that stores bios in non-volatile random access memory |
EP3346386B1 (en) | 2011-09-30 | 2020-01-22 | Intel Corporation | Non-volatile random access memory (nvram) as a replacement for traditional mass storage |
CN103946814B (zh) | 2011-09-30 | 2017-06-06 | 英特尔公司 | 计算机系统中的非易失性随机存取存储器的自主初始化 |
US8909889B1 (en) | 2011-10-10 | 2014-12-09 | Western Digital Technologies, Inc. | Method and apparatus for servicing host commands by a disk drive |
US9268701B1 (en) | 2011-11-21 | 2016-02-23 | Western Digital Technologies, Inc. | Caching of data in data storage systems by managing the size of read and write cache based on a measurement of cache reliability |
US8977803B2 (en) | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Disk drive data caching using a multi-tiered memory |
US8977804B1 (en) | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Varying data redundancy in storage systems |
US8700961B2 (en) | 2011-12-20 | 2014-04-15 | Sandisk Technologies Inc. | Controller and method for virtual LUN assignment for improved memory bank mapping |
US8762627B2 (en) | 2011-12-21 | 2014-06-24 | Sandisk Technologies Inc. | Memory logical defragmentation during garbage collection |
US8904091B1 (en) | 2011-12-22 | 2014-12-02 | Western Digital Technologies, Inc. | High performance media transport manager architecture for data storage systems |
US9063838B1 (en) * | 2012-01-23 | 2015-06-23 | Western Digital Technologies, Inc. | Data storage device shifting data chunks of alignment zone relative to sector boundaries |
US8996839B1 (en) | 2012-01-23 | 2015-03-31 | Western Digital Technologies, Inc. | Data storage device aligning partition to boundary of sector when partition offset correlates with offset of write commands |
US9239781B2 (en) * | 2012-02-07 | 2016-01-19 | SMART Storage Systems, Inc. | Storage control system with erase block mechanism and method of operation thereof |
US8949512B2 (en) * | 2012-02-17 | 2015-02-03 | Apple Inc. | Trim token journaling |
US9311251B2 (en) | 2012-08-27 | 2016-04-12 | Apple Inc. | System cache with sticky allocation |
TWI492051B (zh) * | 2012-09-05 | 2015-07-11 | Silicon Motion Inc | 資料儲存裝置與快閃記憶體控制方法 |
TW201413450A (zh) * | 2012-09-25 | 2014-04-01 | Phison Electronics Corp | 資料儲存方法、記憶體控制器與記憶體儲存裝置 |
US20140089600A1 (en) * | 2012-09-27 | 2014-03-27 | Apple Inc. | System cache with data pending state |
US8959281B1 (en) | 2012-11-09 | 2015-02-17 | Western Digital Technologies, Inc. | Data management for a storage device |
US9671962B2 (en) | 2012-11-30 | 2017-06-06 | Sandisk Technologies Llc | Storage control system with data management mechanism of parity and method of operation thereof |
US9430376B2 (en) | 2012-12-26 | 2016-08-30 | Western Digital Technologies, Inc. | Priority-based garbage collection for data storage systems |
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 |
US9223693B2 (en) | 2012-12-31 | 2015-12-29 | Sandisk Technologies Inc. | Memory system having an unequal number of memory die on different control channels |
US9734050B2 (en) | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for managing background operations in a multi-layer memory |
US8873284B2 (en) | 2012-12-31 | 2014-10-28 | Sandisk Technologies Inc. | Method and system for program scheduling in a multi-layer memory |
US9734911B2 (en) | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for asynchronous die operations in a non-volatile 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 |
US9123445B2 (en) | 2013-01-22 | 2015-09-01 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US10445229B1 (en) | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
US9229854B1 (en) * | 2013-01-28 | 2016-01-05 | Radian Memory Systems, LLC | Multi-array operation support and related devices, systems and software |
US11249652B1 (en) | 2013-01-28 | 2022-02-15 | Radian Memory Systems, Inc. | Maintenance of nonvolatile memory on host selected namespaces by a common memory controller |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US10642505B1 (en) | 2013-01-28 | 2020-05-05 | Radian Memory Systems, Inc. | Techniques for data migration based on per-data metrics and memory degradation |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
US9183137B2 (en) | 2013-02-27 | 2015-11-10 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
WO2014143036A1 (en) * | 2013-03-15 | 2014-09-18 | Intel Corporation | Method for pinning data in large cache in multi-level memory system |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
US9543025B2 (en) | 2013-04-11 | 2017-01-10 | Sandisk Technologies Llc | Storage control system with power-off time estimation mechanism and method of operation thereof |
US10546648B2 (en) | 2013-04-12 | 2020-01-28 | Sandisk Technologies Llc | Storage control system with data management mechanism and method of operation thereof |
US9244519B1 (en) | 2013-06-25 | 2016-01-26 | Smart Storage Systems. Inc. | Storage system with data transfer rate adjustment for power throttling |
US9367353B1 (en) | 2013-06-25 | 2016-06-14 | Sandisk Technologies Inc. | Storage control system with power throttling mechanism and method of operation thereof |
US9141176B1 (en) | 2013-07-29 | 2015-09-22 | Western Digital Technologies, Inc. | Power management for data storage device |
US9146850B2 (en) | 2013-08-01 | 2015-09-29 | SMART Storage Systems, Inc. | Data storage system with dynamic read threshold mechanism and method of operation thereof |
US9431113B2 (en) | 2013-08-07 | 2016-08-30 | Sandisk Technologies Llc | Data storage system with dynamic erase block grouping mechanism and method of operation thereof |
US9448946B2 (en) | 2013-08-07 | 2016-09-20 | Sandisk Technologies Llc | Data storage system with stale data mechanism and method of operation thereof |
US9361222B2 (en) | 2013-08-07 | 2016-06-07 | SMART Storage Systems, Inc. | Electronic system with storage drive life estimation mechanism and method of operation thereof |
US9070379B2 (en) | 2013-08-28 | 2015-06-30 | Western Digital Technologies, Inc. | Data migration for data storage device |
US8917471B1 (en) | 2013-10-29 | 2014-12-23 | Western Digital Technologies, Inc. | Power management for data storage device |
US9323467B2 (en) | 2013-10-29 | 2016-04-26 | Western Digital Technologies, Inc. | Data storage device startup |
CN104598386B (zh) * | 2013-10-31 | 2018-03-27 | Lsi公司 | 通过追踪和利用二级映射索引重复利用固态驱动器块 |
US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
DE102014100800A1 (de) * | 2014-01-24 | 2015-07-30 | Hyperstone Gmbh | Verfahren zur zuverlässigen Adressierung eines großen Flash-Speichers |
KR20160015784A (ko) * | 2014-07-31 | 2016-02-15 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10552085B1 (en) | 2014-09-09 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for directed data migration |
US9542118B1 (en) | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
US9720596B1 (en) * | 2014-12-19 | 2017-08-01 | EMC IP Holding Company LLC | Coalescing writes for improved storage utilization |
US9940259B2 (en) * | 2015-01-16 | 2018-04-10 | International Business Machines Corporation | Virtual disk alignment access |
KR102391678B1 (ko) | 2015-01-22 | 2022-04-29 | 삼성전자주식회사 | 저장 장치 및 그것의 서스테인드 상태 가속 방법 |
US9720762B2 (en) * | 2015-03-04 | 2017-08-01 | Unisys Corporation | Clearing bank descriptors for reuse by a gate bank |
DE102015204824A1 (de) * | 2015-03-17 | 2016-09-22 | Bundesdruckerei Gmbh | Verfahren zum Speichern von Nutzerdaten in einem Dokument |
US9582420B2 (en) | 2015-03-18 | 2017-02-28 | International Business Machines Corporation | Programmable memory mapping scheme with interleave properties |
CN104714894B (zh) * | 2015-03-18 | 2017-08-11 | 清华大学 | 一种分层的基于随机映射的相变内存磨损均衡方法及系统 |
KR102403266B1 (ko) | 2015-06-22 | 2022-05-27 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
US10552058B1 (en) | 2015-07-17 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for delegating data processing to a cooperative memory controller |
US20170031838A1 (en) * | 2015-07-28 | 2017-02-02 | Qualcomm Incorporated | Method and apparatus for using context information to protect virtual machine security |
US10133490B2 (en) | 2015-10-30 | 2018-11-20 | Sandisk Technologies Llc | System and method for managing extended maintenance scheduling 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 |
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 |
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 |
CN105353989B (zh) * | 2015-11-19 | 2018-12-28 | 华为技术有限公司 | 存储数据访问方法及相关的控制器、设备、主机和系统 |
US10089243B2 (en) | 2016-02-25 | 2018-10-02 | SK Hynix Inc. | Memory controller and system including variable address mapping tables and a fixed address mapping table |
KR102420897B1 (ko) * | 2016-03-17 | 2022-07-18 | 에스케이하이닉스 주식회사 | 메모리 모듈, 이를 포함하는 메모리 시스템 및 그의 동작 방법 |
US10031845B2 (en) * | 2016-04-01 | 2018-07-24 | Intel Corporation | Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device |
KR102611292B1 (ko) | 2016-06-22 | 2023-12-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102749010B1 (ko) * | 2016-08-16 | 2025-01-02 | 삼성전자주식회사 | 메모리 컨트롤러, 메모리 시스템 및 그 동작방법 |
US10417198B1 (en) * | 2016-09-21 | 2019-09-17 | Well Fargo Bank, N.A. | Collaborative data mapping system |
KR20190107504A (ko) | 2018-03-12 | 2019-09-20 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US10936199B2 (en) * | 2018-07-17 | 2021-03-02 | Silicon Motion, Inc. | Flash controllers, methods, and corresponding storage devices capable of rapidly/fast generating or updating contents of valid page count table |
KR102520412B1 (ko) * | 2018-09-19 | 2023-04-12 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
US10817430B2 (en) * | 2018-10-02 | 2020-10-27 | Micron Technology, Inc. | Access unit and management segment memory operations |
KR102199575B1 (ko) * | 2018-12-26 | 2021-01-07 | 울산과학기술원 | 데이터 일관성을 위한 버퍼 캐시 및 방법 |
CN110879687B (zh) * | 2019-10-18 | 2021-03-16 | 蚂蚁区块链科技(上海)有限公司 | 一种基于磁盘存储的数据读取方法、装置及设备 |
US11175984B1 (en) | 2019-12-09 | 2021-11-16 | Radian Memory Systems, Inc. | Erasure coding techniques for flash memory |
US11520596B2 (en) | 2020-02-26 | 2022-12-06 | Microsoft Technology Licensing, Llc | Selective boot sequence controller for resilient storage memory |
KR20210120240A (ko) * | 2020-03-26 | 2021-10-07 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
TWI748410B (zh) | 2020-04-15 | 2021-12-01 | 慧榮科技股份有限公司 | 用來針對非揮發性記憶體進行區塊管理的方法以及設備 |
WO2022107920A1 (ko) * | 2020-11-20 | 2022-05-27 | 울산과학기술원 | 데이터 일관성을 위한 버퍼 캐시 및 방법 |
US11487450B1 (en) * | 2021-05-14 | 2022-11-01 | Western Digital Technologies, Inc. | Storage system and method for dynamic allocation of control blocks for improving host write and read |
US11816358B2 (en) * | 2021-08-24 | 2023-11-14 | Micron Technology, Inc. | Preserving application data order in memory devices |
JP2023044824A (ja) * | 2021-09-21 | 2023-04-03 | キオクシア株式会社 | メモリシステム |
CN114333930B (zh) * | 2021-12-23 | 2024-03-08 | 合肥兆芯电子有限公司 | 多通道存储器存储装置、控制电路单元及其数据读取方法 |
TWI845275B (zh) * | 2023-04-24 | 2024-06-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001154909A (ja) * | 1999-11-25 | 2001-06-08 | Casio Comput Co Ltd | フラッシュメモリ管理装置及び記録媒体 |
US20050144361A1 (en) * | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
JP2007058840A (ja) * | 2005-07-29 | 2007-03-08 | Sony Corp | 記憶装置、コンピュータシステム、および記憶システム |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
US5535369A (en) * | 1992-10-30 | 1996-07-09 | Intel Corporation | Method for allocating memory in a solid state memory disk |
US5555204A (en) * | 1993-06-29 | 1996-09-10 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
KR0169267B1 (ko) * | 1993-09-21 | 1999-02-01 | 사토 후미오 | 불휘발성 반도체 기억장치 |
DE4417907A1 (de) * | 1994-05-21 | 1995-11-23 | Hoechst Ag | Verfahren zur Nachbehandlung von platten-, folien- oder bandförmigem Material, Träger aus derartigem Material und seine Verwendung für Offsetdruckplatten |
GB2291991A (en) * | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Disk drive emulation with a block-erasable memory |
US5903495A (en) * | 1996-03-18 | 1999-05-11 | Kabushiki Kaisha Toshiba | Semiconductor device and memory system |
US5860124A (en) * | 1996-09-30 | 1999-01-12 | Intel Corporation | Method for performing a continuous over-write of a file in nonvolatile memory |
US5960169A (en) * | 1997-02-27 | 1999-09-28 | International Business Machines Corporation | Transformational raid for hierarchical storage management system |
US6898762B2 (en) * | 1998-08-21 | 2005-05-24 | United Video Properties, Inc. | Client-server electronic program guide |
GB9903490D0 (en) * | 1999-02-17 | 1999-04-07 | Memory Corp Plc | Memory system |
US6622199B1 (en) * | 1999-07-02 | 2003-09-16 | Qualcomm Incorporated | Method for minimizing data relocation overhead in flash based file systems |
US7966462B2 (en) * | 1999-08-04 | 2011-06-21 | Super Talent Electronics, Inc. | Multi-channel flash module with plane-interleaved sequential ECC writes and background recycling to restricted-write flash chips |
JP3863330B2 (ja) * | 1999-09-28 | 2006-12-27 | 株式会社東芝 | 不揮発性半導体メモリ |
KR100365725B1 (ko) * | 2000-12-27 | 2002-12-26 | 한국전자통신연구원 | 플래시 메모리를 이용한 파일 시스템에서 등급별 지움정책 및 오류 복구 방법 |
JP3631463B2 (ja) * | 2001-12-27 | 2005-03-23 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6522580B2 (en) * | 2001-06-27 | 2003-02-18 | Sandisk Corporation | Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states |
US6456528B1 (en) * | 2001-09-17 | 2002-09-24 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US6925007B2 (en) * | 2001-10-31 | 2005-08-02 | Sandisk Corporation | Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements |
US6771536B2 (en) * | 2002-02-27 | 2004-08-03 | Sandisk Corporation | Operating techniques for reducing program and read disturbs of a non-volatile memory |
KR100453053B1 (ko) * | 2002-06-10 | 2004-10-15 | 삼성전자주식회사 | 플래쉬 메모리용 파일 시스템 |
US7123512B2 (en) * | 2002-07-19 | 2006-10-17 | Micron Technology, Inc. | Contiguous block addressing scheme |
US6775751B2 (en) * | 2002-08-06 | 2004-08-10 | International Business Machines Corporation | System and method for using a compressed main memory based on degree of compressibility |
US6781877B2 (en) * | 2002-09-06 | 2004-08-24 | Sandisk Corporation | Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells |
US7433993B2 (en) * | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
US20050144363A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
JP4594391B2 (ja) * | 2004-07-19 | 2010-12-08 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 多層ディスクにおける層ジャンプ |
US7395384B2 (en) * | 2004-07-21 | 2008-07-01 | Sandisk Corproation | Method and apparatus for maintaining data on non-volatile memory systems |
US8375146B2 (en) * | 2004-08-09 | 2013-02-12 | SanDisk Technologies, Inc. | Ring bus structure and its use in flash memory systems |
US20060161724A1 (en) * | 2005-01-20 | 2006-07-20 | Bennett Alan D | Scheduling of housekeeping operations in flash memory systems |
US7315917B2 (en) * | 2005-01-20 | 2008-01-01 | Sandisk Corporation | Scheduling of housekeeping operations in flash memory systems |
JP5130646B2 (ja) * | 2005-06-06 | 2013-01-30 | ソニー株式会社 | 記憶装置 |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
US7877540B2 (en) * | 2005-12-13 | 2011-01-25 | Sandisk Corporation | Logically-addressed file storage methods |
US7979624B2 (en) * | 2006-03-31 | 2011-07-12 | Intel Corporation | Techniques to truncate data files in nonvolatile memory |
US7552280B1 (en) * | 2006-06-28 | 2009-06-23 | Emc Corporation | Asymmetrically interleaving access to redundant storage devices |
US8429352B2 (en) * | 2007-06-08 | 2013-04-23 | Sandisk Technologies Inc. | Method and system for memory block flushing |
US8245101B2 (en) * | 2007-12-27 | 2012-08-14 | Sandisk Enterprise Ip Llc | Patrol function used in flash storage controller to detect data errors |
-
2008
- 2008-04-25 US US12/110,050 patent/US20090271562A1/en not_active Abandoned
-
2009
- 2009-04-10 KR KR1020107026324A patent/KR20100139149A/ko not_active Application Discontinuation
- 2009-04-10 EP EP09733928.7A patent/EP2286341B1/en not_active Not-in-force
- 2009-04-10 WO PCT/US2009/040153 patent/WO2009131851A1/en active Application Filing
- 2009-04-10 JP JP2011506353A patent/JP2011519095A/ja active Pending
- 2009-04-23 TW TW098113544A patent/TWI437441B/zh not_active IP Right Cessation
-
2013
- 2013-05-17 US US13/897,126 patent/US20140068152A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001154909A (ja) * | 1999-11-25 | 2001-06-08 | Casio Comput Co Ltd | フラッシュメモリ管理装置及び記録媒体 |
US20050144361A1 (en) * | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
JP2007517320A (ja) * | 2003-12-30 | 2007-06-28 | サンディスク コーポレイション | ホストの使用特性に基づいたフラッシュメモリのアドレスマッピングの適応的モード切り換え |
JP2007058840A (ja) * | 2005-07-29 | 2007-03-08 | Sony Corp | 記憶装置、コンピュータシステム、および記憶システム |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013030081A (ja) * | 2011-07-29 | 2013-02-07 | Toshiba Corp | データ記憶装置、メモリ制御装置及びメモリ制御方法 |
US8930614B2 (en) | 2011-07-29 | 2015-01-06 | Kabushiki Kaisha Toshiba | Data storage apparatus and method for compaction processing |
US10175889B2 (en) | 2016-03-10 | 2019-01-08 | Toshiba Memory Corporation | Memory system capable of accessing memory cell arrays in parallel |
US10521129B2 (en) | 2016-03-10 | 2019-12-31 | Toshiba Memory Corporation | Memory system capable of accessing memory cell arrays in parallel |
US10895990B2 (en) | 2016-03-10 | 2021-01-19 | Toshiba Memory Corporation | Memory system capable of accessing memory cell arrays in parallel |
Also Published As
Publication number | Publication date |
---|---|
TWI437441B (zh) | 2014-05-11 |
US20090271562A1 (en) | 2009-10-29 |
US20140068152A1 (en) | 2014-03-06 |
WO2009131851A1 (en) | 2009-10-29 |
EP2286341A1 (en) | 2011-02-23 |
TW200951722A (en) | 2009-12-16 |
EP2286341B1 (en) | 2015-06-03 |
KR20100139149A (ko) | 2010-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5350371B2 (ja) | 記憶装置のためのストレージアドレス再マッピングのための方法およびシステム | |
EP2286341B1 (en) | Method and system for storage address re-mapping for a multi-bank memory device | |
US7984084B2 (en) | Non-volatile memory with scheduled reclaim operations | |
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 | |
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 | |
US8166267B2 (en) | Managing a LBA interface in a direct data file memory system | |
US7917686B2 (en) | Host system with direct data file interface configurability | |
US20080155177A1 (en) | Configuration of Host LBA Interface With Flash Memory | |
US20080155175A1 (en) | Host System That Manages a LBA Interface With Flash Memory | |
KR101089150B1 (ko) | 스케쥴링된 리클레임 작동들을 갖는 비휘발성 메모리 | |
CN101233481A (zh) | 通过逻辑地址空间且以直接数据文件为基础操作的介接系统 | |
WO2008083001A9 (en) | Managing a lba interface in a direct data file memory system | |
KR20080038368A (ko) | 데이터 파일을 직접 저장하는 재프로그램가능 비휘발성메모리에 파일 데이터의 인덱싱 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120404 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120404 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120615 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130726 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130903 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20131126 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20131203 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20131226 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140109 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140129 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140219 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140722 |