JP2008530709A - フラッシュメモリにおける直接ファイルデータプログラミングおよび削除 - Google Patents
フラッシュメモリにおける直接ファイルデータプログラミングおよび削除 Download PDFInfo
- Publication number
- JP2008530709A JP2008530709A JP2007556210A JP2007556210A JP2008530709A JP 2008530709 A JP2008530709 A JP 2008530709A JP 2007556210 A JP2007556210 A JP 2007556210A JP 2007556210 A JP2007556210 A JP 2007556210A JP 2008530709 A JP2008530709 A JP 2008530709A
- Authority
- JP
- Japan
- Prior art keywords
- data
- file
- block
- memory
- host
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—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/7205—Cleaning, compaction, garbage collection, erase control
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
図1〜図8に関して、現在のフラッシュメモリシステムと、ホスト装置を用いる一般的な動作とを説明する。このようなシステムでは、本発明の様々な態様を実施することができる。図1のホストシステム1はデータをフラッシュメモリ2に記憶し、データをフラッシュメモリ2から取り出す。フラッシュメモリをホスト内に埋め込むことができるが、メモリ2は、機械的かつ電気的コネクタの嵌め合い部分3,4を介してホストに取り外し可能に接続されるカードの一般的な形態として示されている。現在、数多くの異なるフラッシュメモリカードが市販され、一例として、コンパクトフラッシュ(登録商標)(CF)カード、マルチメディアカード(MMC)、セキュアデジタル(SD)カード、ミニSDカード、メモリスティックカード、スマートメディアカードおよびトランスフラッシュカードが挙げられる。これらカードの各々は、その標準化仕様に従って固有の機械的および/または電気的インターフェイスを有するが、各々に含まれるフラッシュメモリは、ほとんど同じである。これらのカードはすべて、本願の譲受人であるサンディスク コーポレーションから入手可能である。サンディスク コーポレーションは、ホストのユニバーサルシリアルバス(USB)レセプタクルに差し込むことによってホストと接続するUSBプラグを有する小形パッケージ内のハンドヘルドメモリシステムであるCruzer(登録商標)下の一連のフラッシュドライブをも提供する。これらメモリカードおよびフラッシュドライブの各々は、ホストとインターフェイスをとり、それら内に、フラッシュメモリの動作を制御するコントローラを含む。
大容量のデータを記憶するため、ホストとメモリシステムとの間での改善されたインターフェイスは、論理アドレス空間の使用を削減する。代わりに、ホストは固有のファイルID(または、他の固有の基準)によって各ファイルを論理的にアドレス指定し、ファイル内の(バイトのような)データの単位のアドレスをオフセットする。このファイルアドレスはメモリシステムコントローラに直接に与えられ、メモリシステムコントローラは、各ホストファイルのデータが物理的に記憶されるメモリシステムコントローラ自体のテーブルを保持する。この新たなインターフェイスを、図2〜図6に関して前述したのと同じメモリシステムで実施することができる。前述したメモリシステムとの主な違いは、メモリシステムがホストシステムと通信する方法である。
ホストシステムからの一連の直接ファイルインターフェイスコマンドは、メモリシステムの動作を支援する。このような一連のコマンドの一例を図12A〜12Eに示す。本願明細書の残りの部分を通じて参照するため、本願明細書では、これらコマンドを簡単に要約するだけである。図12Aは、定義プロトコルに従ってデータをホストとメモリシステムとの間で転送させるのに用いられるホストコマンドをリストする。ファイル内の特定オフセット(<offset>)の指定されたファイル(<fileID>)内のデータは、メモリシステムに書き込まれるか、またはメモリシステムから読み出される。Write、InsertまたはUpdateコマンドの伝送を行った後に、ホストからメモリシステムへのデータの伝送を行い、メモリシステムは、データをメモリアレイに書き込むことによって応答する。ホストによるReadコマンドの伝送は、指定されたファイルのデータをホストに送信することによってメモリシステムに応答させる。メモリシステムが、ファイルの追加のデータを記憶できる次の記憶位置を識別するポインタを維持する場合、データオフセットをWriteコマンドと一緒に送信する必要はない。しかし、Writeコマンドが、既に書き込まれたファイル内にオフセットアドレスを含む場合、メモリ装置は、オフセットアドレスから開始するファイルデータを更新するコマンドであると解釈することができ、従って、別個のUpdateコマンドの必要性を削減する。Readコマンドに対して、ファイル全体が読み出される場合、ホストによってデータオフセットを指定する必要はない。図12Aに示されているデータコマンドのうち1つのデータコマンドの実行は、ホストシステムによる何か他のコマンドの伝送に応答して終了される。
新たなデータファイルがメモリにプログラムされるとき、ブロック内の第1の物理位置から始まって、ブロックの位置を連続的に順々に進行するように、データはメモリセルの消去済みブロックに書き込まれる。ファイル内のこのデータのオフセットの順序にかかわらず、データは、ホストから受信した順序でプログラムされる。ファイルの全データがメモリに書き込まれるまでプログラム動作は継続する。ファイルのデータ量が単一メモリブロックの容量を上回る場合、第1のブロックはいっぱいになり、プログラム動作は、消去済みの第2のブロックに継続する。第2のメモリブロックは、ファイルの全データが記憶されるまで、または、第2のブロックがいっぱいになるまで第1の位置から順々に第1のブロックと同様にプログラムされる。ファイルの残りのデータで第3または追加のブロックをプログラムすることができる。単一ファイルのデータを記憶する複数ブロックまたはメタブロックを物理的または論理的に連続にする必要はない。説明を容易にするため、他に特に指定がなければ、本願明細書で用いられる「ブロック」という用語は、特定のシステムにメタブロックが用いられているかどうかに応じて消去のブロック単位または複数ブロック「メタブロック」のどちらかを意味するものとする。
図14Bおよび図14Eから留意すべきことは、Updateコマンドが、ファイルのデータ量よりも大きいファイルを記憶するのに必要な物理空間を生じさせるということである。その理由は、更新によって置き換えられたデータがメモリに記憶されたままであるためである。従って、古い無効なデータを削減することによってファイルのデータを少ない物理記憶空間に統合すること(ガーベッジコレクション)が極めて望ましい。従って、より多くの記憶空間が他のデータに利用可能になる。
ファイルが閉じられ、ファイルにガーベッジコレクションが行われると、ファイルデータの一部がメモリセルブロックの一部だけを占有することがあるのは、連続的なブロックを単一ファイルのデータで満たした結果である。さらに、小さいファイルのデータは、ブロック全体を満たさないことさえある。この結果、1つのファイルのデータを1つのブロックに記憶できるとしても、個々のブロックのかなりの量の空間が未使用となる。個々のブロック内のページの記憶容量は消去されたままであり、データを記憶するのに利用可能ではあるが、使用されない。
(1)古いブロック、すなわち、ファイルに対するEraseコマンド(図12B)の結果として古いデータだけを含むブロックの優先待ち行列、
(2)ファイルに対するEraseコマンドによって古い状態にされたデータを含み、しかも、幾つかの有効データを含む共通ブロックの優先待ち行列、
(3)UpdateまたはDeleteコマンド(図12Aおよび図12B)の実行によって、または、ガーベッジコレクション中、すべての有効データが別のブロックへコピーされたために生じる古いブロック(古いデータだけを含むブロック)の待ち行列、
(4)Deleteコマンドまたは古いデータが共通ブロックに存在するというガーベッジコレクション中の検出に応答する、幾つかの古いデータを含み、しかも、有効データを含む共通ブロックの待ち行列、
(5)CloseまたはClose_afterコマンドが受信されるファイルの待ち行列を、単一の待ち行列の代わりにすることができ、最初の2つの待ち行列の項目には、優先順位が与えられる。これら5つの待ち行列に、前に挙げた順に優先順位を与えることができる。待ち行列(1)の全項目には、待ち行列(2)の項目よりも前にガーベッジコレクションが行われる。ブロックは、DeleteコマンドによるよりはむしろEraseコマンドによってこれらブロックのデータの全部または一部が古い状態にされたため、優先待ち行列(1)および(2)にリストされる。ブロックおよびファイルは、メモリシステムの動作中に識別された順に各待ち行列に追加され、各待ち行列内の最も古いブロックおよびファイルに、最初にガーベッジコレクションが行われる(先入れ先出しすなわちFIFO)。
前述したものは、メモリセルブロックがメタブロックとして互いに結合されているかどうかを問わず、メモリシステムの動作について説明した。ホストとメモリシステムとの間のファイルベースのインターフェイスと、前述した関連のメモリシステム動作とは、メタブロックを用いるメモリシステム内でも、メタブロックを用いないメモリシステム内でも動作する。同時に書き込み、読み出されるデータの量(並列性の度合い)を増大させる傾向は間違いなくあり、その理由は、この並列性の度合いを増大させることがメモリ性能を直接に改善するためである。多数のデータビットで表す個々のメモリセルブロックの有効幅は、2つ以上のこのようなブロックの形態を成すメタブロックの使用によって増大される。
メモリシステムに記憶された各ファイルは、特に、図13〜図16を参照して前に説明したようなそれ自体の一連の索引項目によって定義される。これら項目内でファイルのデータが付加、挿入または更新されるので、これらの項目は時間と共に変化し、また、ファイルにガーベッジコレクションが課せられると変化する。図19には、幾つかの異なる各時点0,2,4および5での1つのファイルに対するファイル索引テーブル(FIT)内の一連の索引項目を示す。これらはそれぞれ図14A、図14C、図14Eおよび図15を参照して前に説明した一連の索引項目である。FIT内のデータを書き込み、ホストシステムからの支援なしにメモリコントローラによって現行を保持するのが好ましい。ホストは、データグループ、または、データグループがメモリセルアレイに記憶される箇所を定義することに関与しないが、ホストシステムはデータをメモリシステムに書き込むとき、パス名、ファイル名およびファイル内のデータのオフセットを供給する。図19の項目では、図14および図15のメモリセルブロックに左から、1から始まる番号が付けられる。従って、図14Cに示されている状態のファイルの場合、例えば、3番目のデータグループ(F6,D7)は、図19において、ブロックの先頭のアドレスからD7バイトであって、ブロック004、すなわち左から4番目のブロックに記憶されていると示されている。テーブルの各項目に各データグループの長さも含めるのが好ましい。
図26〜図32の動作フローチャートは、図2〜図6を参照して前に説明したように構成されているが、図9および図10〜図22を参照して説明した直接ファイルインターフェイス技術の特定の組み合わせを用いるメモリシステムの動作の一例を示す。図26〜図32のフローチャートに含まれる機能は、記憶されたファームウェアを実行するコントローラ11(図2)によって主に行われる。
図33には、前述した種類の直接ファイル記憶メモリシステム内におけるシステムのメモリブロックまたはメタブロックの様々な個々の状態とこれら状態の遷移とを示す。
a−消去済みブロック501から書き込みブロック503へ。すなわち、単一ホストファイルのデータは、消去済みブロックに書き込まれる。
b−書き込みブロック503から書き込みブロック503へ。すなわち、ホストからの単一ファイルのデータは、このファイルの書き込みブロックに書き込まれる。
c−書き込みブロック503からファイルブロック509へ。すなわち、ホストからの単一ファイルのデータは、このファイルの書き込みブロックをいっぱいにするために書き込まれる。
d−ファイルブロック509から古いファイルブロック513へ。すなわち、ファイルブロックのデータの一部は、更新バージョンのデータがホストによってこのファイルの書き込みブロックに書き込まれた結果として古くなる。
e−古いファイルブロック513から古いブロック523へ。すなわち、古いファイルブロック内のすべての有効データは、ガーベッジコレクション中、このデータが別のブロックへコピーされたか、または、このファイルがホストによって削除された結果として古くなる。
f−書き込みブロック503から古い書き込みブロック515へ。すなわち、書き込みブロック内のデータの一部は、更新バージョンのデータがホストによって同じ書き込みブロックに書き込まれたか、または、ガーベッジコレクション中、このデータが別のブロックへコピーされた結果として古くなる。
g−古い書き込みブロック515から古い書き込みブロック515へ。すなわち、ホストからの単一ファイルのデータは、このファイルの古い書き込みブロックに書き込まれる。
h−古い書き込みブロック515から古いファイルブロック513へ。すなわち、ホストからの単一ファイルのデータは、このファイルの古い書き込みブロックをいっぱいにするために書き込まれる。
i−古い書き込みブロック515から古いブロック523へ。すなわち、古い書き込みブロック内のすべての有効データは、ガーベッジコレクション中、このデータが別のブロックへコピーされたか、または、このファイルがホストによって削除された結果として古くなる。
j−消去済みブロック501からコピーブロック505へ。すなわち、ガーベッジコレクション中、単一ファイルのデータは、別のブロックから消去済みブロックへコピーされる。
k−書き込みブロック503からコピーブロック505へ。すなわち、ガーベッジコレクション中、単一ファイルのデータは、別のブロックからこのファイルの書き込みブロックへコピーされる。
l−コピーブロック505からコピーブロック505へ。すなわち、ガーベッジコレクション中、単一ファイルのデータは、別のブロックからこのファイルのコピーブロックへコピーされる。
m−コピーブロック505からファイルブロック509へ。すなわち、ガーベッジコレクション中、別のブロックから単一ファイルのデータは、このファイルのコピーブロックをいっぱいにするようにコピーされる。
n−コピーブロック505から書き込みブロック503へ。すなわち、ガーベッジコレクション中、ファイルが再度開かれたとき、ホストからの単一ファイルのデータは、このファイルのコピーブロックに書き込まれる。
o−コピーブロック505から古いコピーブロック517へ。すなわち、コピーブロック内のデータの一部または全部は、更新バージョンのデータがホストによってこのファイルの書き込みブロックに書き込まれたか、または、このファイルがホストによって削除された結果として古くなる。
p−古いコピーブロック517から古いブロック523へ。すなわち、古いコピーブロック内のすべての有効データは、ガーベッジコレクション中、このデータが別のブロックへコピーされたか、または、このファイルがホストによって削除された結果として古くなる。
q−書き込みブロック503から開いた共通ブロック507へ。すなわち、ガーベッジコレクション中、ファイルの残留データは、閉じられた異なるファイルの書き込みブロックに書き込まれる。
r−コピーブロック505から開いた共通ブロック507へ。すなわち、ガーベッジコレクション中、ファイルの残留データは、異なるファイルの残留データを含むコピーブロックに書き込まれる。
s−開いた共通ブロック507から開いた共通ブロック507へ。すなわち、ガーベッジコレクション中、ファイルの残留データは、異なるブロックから開いた共通ブロックへコピーされる。
t−開いた共通ブロック507から古い開いた共通ブロック519へ。すなわち、開いた共通ブロック内の1つのファイルのデータの一部または全部は、更新バージョンのデータがホストによってこのファイルの書き込みブロックに書き込まれたか、ガーベッジコレクション中、このデータが別のブロックへコピーされたか、または、このファイルがホストによって削除された結果として古くなる。
u−古い開いた共通ブロック519から古いブロック523へ。古い開いた共通ブロック内のすべての有効データは、ガーベッジコレクション中、このデータが別のブロックへコピーされたか、または、このファイルがホストによって削除された結果として古くなる。
v−開いた共通ブロック507から共通ブロック511へ。すなわち、ファイルの残留データグループは、ガーベッジコレクション中、このファイルの開いた共通ブロックをいっぱいにするために別のブロックからコピーされる。
w−共通ブロック511から古い共通ブロック521へ。すなわち、共通ブロック内の1つのファイルのデータの一部または全部は、更新バージョンのデータがホストによってこのファイルの書き込みブロックに書き込まれたか、ガーベッジコレクション中、このデータが別のブロックへコピーされたか、または、このファイルがホストによって削除された結果として古くなる。
x−古い共通ブロック521から古いブロック523へ。すなわち、古い共通ブロック内のすべての有効データは、ガーベッジコレクション中、このデータが別のブロックへコピーされたか、または、このファイルがホストによって削除された結果として古くなる。
y−書き込みブロック503から古いブロック523へ。すなわち、書き込みブロック内の単一ファイルのすべての有効データは、このファイルがホストによって削除された結果として古くなる。
z−コピーブロック505から古いブロック523へ。すなわち、コピーブロック内のすべての有効データは、ガーベッジコレクション中、このデータが別のブロックへコピーされたか、または、このファイルがホストによって削除された結果として古くなる。
aa−ファイルブロック509から古いブロック523へ。すなわち、ファイルブロック内の全データは、ファイルがホストによって削除された結果として古くなる。
ab−古いブロック523から消去済みブロック501へ。すなわち、古いブロックは、ガーベッジコレクション中、消去される。
本発明の例示的な実施形態を参照して本発明の様々な態様を説明してきたが、当然のことながら、本発明は、特許請求の範囲の全範囲内においてその権利が保護されるべきであることが理解できよう。
Claims (16)
- ホストシステムと一緒に再プログラム可能な不揮発性メモリシステムを動作する方法であって、前記メモリシステムは、新たなデータが書き込まれる前に消去されるメモリセルのブロックを有し、
固有のファイル識別子によってアドレス指定されたデータを受信するステップと、
指定されたデータファイルを前記メモリシステムから削除するコマンドを受信するステップと、
前記削除するコマンドの結果として古い状態にされたデータを含むメモリセルのブロックを識別するステップと、
その後、前記識別されたブロックからデータを消去するステップと、
を含む方法。 - 請求項1記載の方法において、
古いデータを含むものと識別されたメモリセルの少なくとも1つのブロックは、古いデータで満ちる方法。 - 請求項1記載の方法において、
古いデータを含むものと識別されたメモリセルの少なくとも1つのブロックは、少なくとも1つの他のファイルからのデータをも含む方法。 - 請求項3記載の方法において、
少なくとも1つの他のファイルからのデータをも含むものと識別されたメモリセルの前記少なくとも1つのブロックを消去する前に、前記少なくとも1つの他のファイルからの前記データは、別のブロック内にコピーされる方法。 - 請求項1記載の方法において、
前記固有のファイル識別子によってアドレス指定されたデータを受信するステップは、前記識別されたファイル内のオフセットを用いてアドレス指定されたデータを受信するステップを含む方法。 - ホストシステムと一緒に再プログラム可能な不揮発性メモリシステムを動作する方法であって、前記メモリシステムは、新たなデータが書き込まれる前に消去されるメモリセルのブロックを有し、
固有のファイル識別子によってアドレス指定されたデータを受信するステップと、
ファイルの前記受信したデータを、他のいかなるファイルのデータも含まない1つ以上のブロック内に記憶し、必要に応じて、別のブロックの一部内に記憶するステップと、
前記ブロック内に記憶されたデータを有するファイルを削除するための前記ホストからのコマンドに応答して、前記ファイルのデータを含むが他のいかなるファイルのデータも含まない前記ブロックのデータを古い状態にするステップと、
その後、新たなデータを記憶するのに前記古いデータブロックのいずれかを用いる必要があるデータをプログラムするコマンドを前記ホストが送信する前に前記古いデータブロックを消去するステップと、
を含む方法。 - 請求項6記載の方法において、
前記古いデータブロックを消去するステップは、前記ホストがアイドル状態にある期間中に生じる方法。 - 請求項6記載の方法において、
ホストファイルを古くする前記コマンドは、前記メモリシステムから前記ファイルを削除または消去するコマンドを含む方法。 - 請求項6記載の方法において、
前記固有のファイル識別子によってアドレス指定されたデータを受信するステップは、前記識別されたファイル内のオフセットを用いてアドレス指定されたデータを受信するステップを含む方法。 - 任意の新たなデータが書き込まれる前に消去されるブロックに編成されたメモリセルを有する再プログラム可能な不揮発性大容量記憶システムを動作する方法であって、
固有のファイル識別子によってアドレス指定されたデータを受信するステップと、
メモリセルの前記ブロック内の物理アドレスに、前記受信したデータをプログラムするステップと、
メモリセルのブロック内に予めプログラムされた所定のファイルを削除するコマンドの受信に応答して、前記所定のファイルのデータだけを含む前記ブロックを消去するようにスケジュールし、前記所定のファイルのデータと何か他のファイルの有効データとを含む少なくとも1つのブロックを、前記他のファイルの前記有効データを別のブロック内に統合するようにスケジュールするステップと、
を含む方法。 - 請求項10記載の方法において、
前記データをプログラムするステップは、整数の1つ以上のブロックを前記所定のファイルのデータで満たし、前記少なくとも1つのブロックを前記所定のファイルの残留データで部分的に満たすように、前記受信したデータをプログラムするステップを含む方法。 - 請求項10記載の方法において、
前記固有のファイル識別子によってアドレス指定されたデータを受信するステップは、前記識別されたファイル内のオフセットを用いてアドレス指定されたデータを受信するステップを含む方法。 - メモリシステムであって、
新たなデータが書き込まれる前に同時に消去されるメモリセルの複数の個々のブロックに編成された不揮発性電荷記憶半導体メモリセルのアレイと、
(a)前記メモリシステムによって受信されたデータを、一意的に識別されたファイル内のオフセットアドレスを用いて、前記メモリアレイの前記ブロックの選択された1つ以上のブロック内に記憶させ、(b)前記一意的に識別されたファイルのデータがオフセットアドレスによって記憶される前記ブロックを追跡し続け、(c)特定ファイルを削除するコマンドの受信に応答して、前記選択された1つ以上のブロック内に記憶された前記特定ファイルのデータを削除させるように動作するため、前記メモリセルアレイと接続されたコントローラと、
を含むメモリシステム。 - 請求項13記載のメモリシステムにおいて、
前記コントローラは、(c)前記受信した削除コマンドに応答して、最初に、前記特定ファイルだけの受信したデータを含む前記1つ以上のブロックのいずれかに記憶された前記データに古いとしてマークを付けさせ、その後、古いとしてマークを付けられたすべての受信したデータを有する前記1つ以上のブロックを消去させるようにさらに動作するメモリシステム。 - 請求項14記載のメモリシステムにおいて、
前記コントローラは、前記受信した削除コマンドに応答して、(c)別のファイルの有効データも含む前記選択された1つ以上のブロックの任意の共通ブロック内の前記特定ファイルの受信したデータに古いとしてマークを付け、次に、前記共通ブロックの前記有効データを、別のブロック内の他の有効データと統合させ、その後、前記共通ブロックを消去させるようにさらに動作するメモリシステム。 - 請求項13記載のメモリシステムにおいて、
前記コントローラは、最初に、ファイルを削除するコマンドの受信を含まない動作の結果として他のブロックもリストする統合待ち行列内に、前記選択された1つ以上のブロックをリストし、次に、前記選択された1つ以上のブロックの前記データを前記待ち行列内の位置の順に後で削除することによって、前記選択された1つ以上のブロック内に記憶された前記特定ファイルのデータを削除させるようにさらに動作するメモリシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/060,174 US20060184718A1 (en) | 2005-02-16 | 2005-02-16 | Direct file data programming and deletion in flash memories |
PCT/US2006/004585 WO2006088723A2 (en) | 2005-02-16 | 2006-02-08 | Direct file data programming and deletion in flash memories |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008530709A true JP2008530709A (ja) | 2008-08-07 |
Family
ID=36560759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007556210A Pending JP2008530709A (ja) | 2005-02-16 | 2006-02-08 | フラッシュメモリにおける直接ファイルデータプログラミングおよび削除 |
Country Status (8)
Country | Link |
---|---|
US (3) | US20060184718A1 (ja) |
EP (1) | EP1849079A2 (ja) |
JP (1) | JP2008530709A (ja) |
KR (1) | KR101344688B1 (ja) |
CN (1) | CN101147133B (ja) |
IL (1) | IL185175A0 (ja) |
TW (1) | TW200639632A (ja) |
WO (1) | WO2006088723A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013136836A1 (ja) * | 2012-03-15 | 2013-09-19 | 株式会社 東芝 | ビデオ配信サーバ、ssd制御方法 |
Families Citing this family (227)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6970969B2 (en) * | 2002-08-29 | 2005-11-29 | Micron Technology, Inc. | Multiple segment data object management |
KR100876084B1 (ko) | 2007-02-13 | 2008-12-26 | 삼성전자주식회사 | 플래시 저장 장치로 삭제 정보를 전달할 수 있는 컴퓨팅시스템 |
US7877539B2 (en) * | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US20060184719A1 (en) | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US9104315B2 (en) | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US7634494B2 (en) * | 2005-05-03 | 2009-12-15 | Intel Corporation | Flash memory directory virtualization |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
US7669003B2 (en) | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
US7480766B2 (en) * | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US7949845B2 (en) | 2005-08-03 | 2011-05-24 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
KR101378031B1 (ko) | 2005-08-03 | 2014-03-27 | 샌디스크 테크놀로지스, 인코포레이티드 | 데이터 파일을 직접적으로 저장하는 메모리 블록의 관리 |
US8140813B2 (en) * | 2005-09-15 | 2012-03-20 | Eye-Fi, Inc. | Endless memory |
US7702821B2 (en) | 2005-09-15 | 2010-04-20 | Eye-Fi, Inc. | Content-aware digital media storage device and methods of using the same |
US7814262B2 (en) * | 2005-10-13 | 2010-10-12 | Sandisk Corporation | Memory system storing transformed units of data in fixed sized storage blocks |
US7634585B2 (en) * | 2005-11-04 | 2009-12-15 | Sandisk Corporation | In-line cache using nonvolatile memory between host and disk device |
US20070106842A1 (en) * | 2005-11-04 | 2007-05-10 | Conley Kevin M | Enhanced first level storage caching methods using nonvolatile memory |
US7877540B2 (en) * | 2005-12-13 | 2011-01-25 | Sandisk Corporation | Logically-addressed file storage methods |
WO2007073536A2 (en) * | 2005-12-21 | 2007-06-28 | Sandisk Corporation | Non-volatile memories and methods with memory allocation for a directly mapped file storage system |
US20070143567A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Methods for data alignment in non-volatile memories with a directly mapped file storage system |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7793068B2 (en) | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
US7769978B2 (en) | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US20070143566A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Non-volatile memories with data alignment in a directly mapped file storage system |
CN100485681C (zh) * | 2006-03-23 | 2009-05-06 | 北京握奇数据系统有限公司 | 智能卡存储系统及该系统中文件创建管理的方法 |
JP4785660B2 (ja) * | 2006-07-21 | 2011-10-05 | 株式会社リコー | 画像処理装置 |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
CN101681282A (zh) | 2006-12-06 | 2010-03-24 | 弗森多系统公司(dba弗森-艾奥) | 用于共享的、前端、分布式raid的装置、系统和方法 |
US8935302B2 (en) * | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
US7515500B2 (en) | 2006-12-20 | 2009-04-07 | Nokia Corporation | Memory device performance enhancement through pre-erase mechanism |
US7917686B2 (en) | 2006-12-26 | 2011-03-29 | Sandisk Corporation | Host system with direct data file interface configurability |
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 |
US8166267B2 (en) * | 2006-12-26 | 2012-04-24 | Sandisk Technologies Inc. | Managing a LBA interface in a direct data file memory system |
US20080155175A1 (en) * | 2006-12-26 | 2008-06-26 | Sinclair Alan W | Host System That Manages a LBA Interface With Flash Memory |
JP2010515163A (ja) * | 2006-12-26 | 2010-05-06 | サンディスク コーポレイション | ダイレクトデータファイルメモリシステムにおけるlbaインターフェイスの管理 |
US7739444B2 (en) | 2006-12-26 | 2010-06-15 | Sandisk Corporation | System using a direct data file system with a continuous logical address space interface |
US8209461B2 (en) | 2006-12-26 | 2012-06-26 | Sandisk Technologies Inc. | Configuration of host LBA interface with flash memory |
KR100823171B1 (ko) * | 2007-02-01 | 2008-04-18 | 삼성전자주식회사 | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 |
US7917479B2 (en) | 2007-03-20 | 2011-03-29 | Micron Technology, Inc. | Non-volatile memory devices, systems including same and associated methods |
US20080235480A1 (en) * | 2007-03-21 | 2008-09-25 | Shai Traister | Systems for storing memory operations in a queue |
US7987332B2 (en) * | 2007-03-21 | 2011-07-26 | Sandisk Technologies Inc. | Methods for storing memory operations in a queue |
JP5224706B2 (ja) * | 2007-03-23 | 2013-07-03 | キヤノン株式会社 | 記憶装置及び記憶装置の制御方法 |
US8032724B1 (en) * | 2007-04-04 | 2011-10-04 | Marvell International Ltd. | Demand-driven opportunistic garbage collection in memory components |
US8364918B1 (en) | 2007-04-06 | 2013-01-29 | Marvell International Ltd. | Sensed opportunistic garbage collection in memory components |
US9207876B2 (en) | 2007-04-19 | 2015-12-08 | Microsoft Technology Licensing, Llc | Remove-on-delete technologies for solid state drive optimization |
US7996642B1 (en) | 2007-04-25 | 2011-08-09 | Marvell International Ltd. | Digital locked loop on channel tagged memory requests for memory optimization |
US20080294492A1 (en) * | 2007-05-24 | 2008-11-27 | Irina Simpson | Proactively determining potential evidence issues for custodial systems in active litigation |
US8239639B2 (en) * | 2007-06-08 | 2012-08-07 | Sandisk Technologies Inc. | Method and apparatus for providing data type and host file information to a mass storage system |
US20080307156A1 (en) * | 2007-06-08 | 2008-12-11 | Sinclair Alan W | System For Interfacing A Host Operating Through A Logical Address Space With A Direct File Storage Medium |
US8713283B2 (en) * | 2007-06-08 | 2014-04-29 | Sandisk Technologies Inc. | Method of interfacing a host operating through a logical address space with a direct file storage medium |
US8504784B2 (en) * | 2007-06-27 | 2013-08-06 | Sandisk Technologies Inc. | Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system |
JP4949176B2 (ja) * | 2007-09-10 | 2012-06-06 | ソニー株式会社 | 情報処理装置、記録方法およびコンピュータプログラム |
US8566504B2 (en) * | 2007-09-28 | 2013-10-22 | Sandisk Technologies Inc. | Dynamic metablocks |
US11226947B1 (en) * | 2007-10-10 | 2022-01-18 | United Services Automobile Association (Usaa) | Systems and methods for storing time-series data |
US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
US8805897B2 (en) * | 2007-12-13 | 2014-08-12 | Redknee Inc. | Method and system for storage |
US8572043B2 (en) | 2007-12-20 | 2013-10-29 | International Business Machines Corporation | Method and system for storage of unstructured data for electronic discovery in external data stores |
US8112406B2 (en) | 2007-12-21 | 2012-02-07 | International Business Machines Corporation | Method and apparatus for electronic data discovery |
US20090164745A1 (en) * | 2007-12-21 | 2009-06-25 | Alan Sinclair | System and Method for Controlling an Amount of Unprogrammed Capacity in Memory Blocks of a Mass Storage System |
US8880483B2 (en) * | 2007-12-21 | 2014-11-04 | Sandisk Technologies Inc. | System and method for implementing extensions to intelligently manage resources of a mass storage system |
US8140494B2 (en) | 2008-01-21 | 2012-03-20 | International Business Machines Corporation | Providing collection transparency information to an end user to achieve a guaranteed quality document search and production in electronic data discovery |
US8352703B2 (en) * | 2008-02-20 | 2013-01-08 | Infineon Technologies Ag | Address mapping of program code and data in memory |
US8275720B2 (en) | 2008-06-12 | 2012-09-25 | International Business Machines Corporation | External scoping sources to determine affected people, systems, and classes of information in legal matters |
US9830563B2 (en) | 2008-06-27 | 2017-11-28 | International Business Machines Corporation | System and method for managing legal obligations for data |
US8515924B2 (en) | 2008-06-30 | 2013-08-20 | International Business Machines Corporation | Method and apparatus for handling edge-cases of event-driven disposition |
US8489439B2 (en) | 2008-06-30 | 2013-07-16 | International Business Machines Corporation | Forecasting discovery costs based on complex and incomplete facts |
US8327384B2 (en) | 2008-06-30 | 2012-12-04 | International Business Machines Corporation | Event driven disposition |
US8484069B2 (en) | 2008-06-30 | 2013-07-09 | International Business Machines Corporation | Forecasting discovery costs based on complex and incomplete facts |
US7792945B2 (en) * | 2008-06-30 | 2010-09-07 | Pss Systems, Inc. | Method and apparatus for managing the disposition of data in systems when data is on legal hold |
US8073729B2 (en) | 2008-09-30 | 2011-12-06 | International Business Machines Corporation | Forecasting discovery costs based on interpolation of historic event patterns |
JP2010026933A (ja) * | 2008-07-23 | 2010-02-04 | Toshiba Corp | メモリシステム、ホスト装置 |
US8204869B2 (en) | 2008-09-30 | 2012-06-19 | International Business Machines Corporation | Method and apparatus to define and justify policy requirements using a legal reference library |
US20100131726A1 (en) * | 2008-11-26 | 2010-05-27 | Nokia Corporation | Methods, apparatuses, and computer program products for enhancing memory erase functionality |
US8407401B2 (en) * | 2008-11-26 | 2013-03-26 | Core Wireless Licensing S.A.R.L. | Methods, apparatuses, and computer program products for enhancing memory erase functionality |
US8205063B2 (en) * | 2008-12-30 | 2012-06-19 | Sandisk Technologies Inc. | Dynamic mapping of logical ranges to write blocks |
US8452940B2 (en) * | 2008-12-30 | 2013-05-28 | Sandisk Technologies Inc. | Optimized memory management for random and sequential data writing |
US8918365B2 (en) | 2009-06-19 | 2014-12-23 | Blekko, Inc. | Dedicating disks to reading or writing |
EP2665002A3 (en) * | 2009-06-19 | 2014-04-02 | Blekko, Inc. | A method of counting unique items in a database system |
WO2011013125A1 (en) | 2009-07-27 | 2011-02-03 | Storwize Ltd. | Method and system for transformation of logical data objects for storage |
US8176284B2 (en) * | 2009-08-11 | 2012-05-08 | Texas Memory Systems, Inc. | FLASH-based memory system with variable length page stripes including data protection information |
US8930622B2 (en) | 2009-08-11 | 2015-01-06 | International Business Machines Corporation | Multi-level data protection for flash memory system |
US7941696B2 (en) * | 2009-08-11 | 2011-05-10 | Texas Memory Systems, Inc. | Flash-based memory system with static or variable length page stripes including data protection information and auxiliary protection stripes |
US7818525B1 (en) * | 2009-08-12 | 2010-10-19 | Texas Memory Systems, Inc. | Efficient reduction of read disturb errors in NAND FLASH memory |
US8189379B2 (en) | 2009-08-12 | 2012-05-29 | Texas Memory Systems, Inc. | Reduction of read disturb errors in NAND FLASH memory |
US20110040600A1 (en) * | 2009-08-17 | 2011-02-17 | Deidre Paknad | E-discovery decision support |
JP2013502647A (ja) * | 2009-08-21 | 2013-01-24 | ラムバス・インコーポレーテッド | インサイチュでのメモリのアニール |
TWI450271B (zh) * | 2009-09-02 | 2014-08-21 | Silicon Motion Inc | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
US8665601B1 (en) | 2009-09-04 | 2014-03-04 | Bitmicro Networks, Inc. | Solid state drive with improved enclosure assembly |
US9135190B1 (en) * | 2009-09-04 | 2015-09-15 | Bitmicro Networks, Inc. | Multi-profile memory controller for computing devices |
US8447908B2 (en) | 2009-09-07 | 2013-05-21 | Bitmicro Networks, Inc. | Multilevel memory bus system for solid-state mass storage |
US9122579B2 (en) | 2010-01-06 | 2015-09-01 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for a storage layer |
US8560804B2 (en) * | 2009-09-14 | 2013-10-15 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
CN102033812B (zh) * | 2009-09-24 | 2013-04-10 | 慧荣科技股份有限公司 | 用于管理闪存多个区块的方法和相关记忆装置及其控制器 |
US20110119462A1 (en) * | 2009-11-19 | 2011-05-19 | Ocz Technology Group, Inc. | Method for restoring and maintaining solid-state drive performance |
US8655856B2 (en) | 2009-12-22 | 2014-02-18 | International Business Machines Corporation | Method and apparatus for policy distribution |
US8250041B2 (en) | 2009-12-22 | 2012-08-21 | International Business Machines Corporation | Method and apparatus for propagation of file plans from enterprise retention management applications to records management systems |
US8489855B2 (en) * | 2010-05-07 | 2013-07-16 | Ocz Technology Group Inc. | NAND flash-based solid state drive and method of operation |
US20120173795A1 (en) * | 2010-05-25 | 2012-07-05 | Ocz Technology Group, Inc. | Solid state drive with low write amplification |
JP4829365B1 (ja) * | 2010-05-31 | 2011-12-07 | 株式会社東芝 | データ記憶装置及びデータ書き込み方法 |
US8832148B2 (en) | 2010-06-29 | 2014-09-09 | International Business Machines Corporation | Enterprise evidence repository |
US8566903B2 (en) | 2010-06-29 | 2013-10-22 | International Business Machines Corporation | Enterprise evidence repository providing access control to collected artifacts |
US8402359B1 (en) | 2010-06-30 | 2013-03-19 | International Business Machines Corporation | Method and apparatus for managing recent activity navigation in web applications |
KR101686590B1 (ko) * | 2010-09-20 | 2016-12-14 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 워드 라인 인터리빙 방법 |
US10558705B2 (en) * | 2010-10-20 | 2020-02-11 | Microsoft Technology Licensing, Llc | Low RAM space, high-throughput persistent key-value store using secondary memory |
US20120144123A1 (en) * | 2010-12-01 | 2012-06-07 | International Business Machines Corporation | Read-ahead processing in networked client-server architecture |
TWI506523B (zh) * | 2010-12-10 | 2015-11-01 | Chiun Mai Comm Systems Inc | 圖示訪問系統及方法 |
WO2012083308A2 (en) | 2010-12-17 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
US8819328B2 (en) * | 2010-12-30 | 2014-08-26 | Sandisk Technologies Inc. | Controller and method for performing background operations |
CN102591738B (zh) * | 2011-01-07 | 2015-09-30 | 群联电子股份有限公司 | 数据管理方法、存储器控制器与嵌入式存储器储存装置 |
CN102081577B (zh) * | 2011-01-12 | 2013-02-13 | 厦门雅迅网络股份有限公司 | 对Flash存储器的数据存储结构进行数据操作的方法 |
US8848731B2 (en) | 2011-01-31 | 2014-09-30 | Qualcomm Incorporated | System and method for facilitating data transfer using a shared non-deterministic bus |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | Managing data input/output operations |
US9003104B2 (en) | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
US9141527B2 (en) | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
WO2012129191A2 (en) | 2011-03-18 | 2012-09-27 | Fusion-Io, Inc. | Logical interfaces for contextual storage |
US9311229B2 (en) | 2011-03-29 | 2016-04-12 | Blackberry Limited | System and method for managing flash memory |
US9965381B1 (en) * | 2011-06-30 | 2018-05-08 | EMC IP Holding Company LLC | Indentifying data for placement in a storage system |
CN102511044B (zh) * | 2011-09-06 | 2013-10-02 | 华为技术有限公司 | 一种数据删除方法及装置 |
US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
CN102622307B (zh) * | 2012-02-27 | 2016-03-30 | 记忆科技(深圳)有限公司 | 硬盘数据的操作方法和硬盘控制器 |
US9213632B1 (en) | 2012-02-29 | 2015-12-15 | Marvell International Ltd. | Systems and methods for data storage devices to use external resources |
US8996782B2 (en) | 2012-03-23 | 2015-03-31 | Kabushiki Kaisha Toshiba | Memory system and bank interleaving method |
US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US10346095B2 (en) | 2012-08-31 | 2019-07-09 | Sandisk Technologies, Llc | Systems, methods, and interfaces for adaptive cache persistence |
US10509776B2 (en) | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
US10318495B2 (en) | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
US9569113B2 (en) * | 2012-10-11 | 2017-02-14 | SK Hynix Inc. | Data storage device and operating method thereof |
KR20140080660A (ko) * | 2012-12-13 | 2014-07-01 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 시스템의 동작 방법 |
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 |
US9734911B2 (en) | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for asynchronous die operations in a non-volatile 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 |
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 |
US9734050B2 (en) * | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for managing background operations in a multi-layer memory |
US9535836B2 (en) * | 2013-03-13 | 2017-01-03 | Hewlett Packard Enterprise Development Lp | Non-volatile memory update tracking |
US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
US9858084B2 (en) | 2013-03-15 | 2018-01-02 | Bitmicro Networks, Inc. | Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory |
US9916213B1 (en) | 2013-03-15 | 2018-03-13 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US9720603B1 (en) | 2013-03-15 | 2017-08-01 | Bitmicro Networks, Inc. | IOC to IOC distributed caching architecture |
US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US10482009B1 (en) | 2013-03-15 | 2019-11-19 | Google Llc | Use of a logical-to-logical translation map and a logical-to-physical translation map to access a data storage device |
US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9842024B1 (en) | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
US10102144B2 (en) | 2013-04-16 | 2018-10-16 | Sandisk Technologies Llc | Systems, methods and interfaces for data virtualization |
US10558561B2 (en) | 2013-04-16 | 2020-02-11 | Sandisk Technologies Llc | Systems and methods for storage metadata management |
CN105683926A (zh) * | 2013-06-25 | 2016-06-15 | 美光科技公司 | 按需块管理 |
US9842128B2 (en) | 2013-08-01 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for atomic storage operations |
US10019320B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for distributed atomic storage operations |
US10073630B2 (en) | 2013-11-08 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for log coordination |
KR20150068747A (ko) | 2013-12-12 | 2015-06-22 | 삼성전자주식회사 | 비휘발성 메모리 시스템, 이를 포함하는 모바일 장치 및 비휘발성 메모리 시스템의 동작방법 |
JP2015138272A (ja) * | 2014-01-20 | 2015-07-30 | ソニー株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
US9582205B2 (en) * | 2014-04-17 | 2017-02-28 | Sandisk Technologies Llc | Protection scheme with dual programming of a memory system |
US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
US9811461B1 (en) | 2014-04-17 | 2017-11-07 | Bitmicro Networks, Inc. | Data storage system |
US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
US9658788B2 (en) * | 2014-05-28 | 2017-05-23 | Sandisk Technologies Llc | Systems and methods for immediate physical erasure of data stored in a memory system in response to a user command |
US10430328B2 (en) | 2014-09-16 | 2019-10-01 | Sandisk Technologies Llc | Non-volatile cache and non-volatile storage medium using single bit and multi bit flash memory cells or different programming parameters |
US9690823B2 (en) * | 2014-09-25 | 2017-06-27 | Dropbox, Inc. | Synchronizing copies of an extent in an append-only storage system |
US9946607B2 (en) | 2015-03-04 | 2018-04-17 | Sandisk Technologies Llc | Systems and methods for storage error management |
US10305976B2 (en) * | 2015-09-21 | 2019-05-28 | Intel Corporation | Method and apparatus for dynamically offloading execution of machine code in an application to a virtual machine |
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 |
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 |
US10133490B2 (en) | 2015-10-30 | 2018-11-20 | Sandisk Technologies Llc | System and method for managing extended maintenance scheduling in a non-volatile memory |
US9823854B2 (en) * | 2016-03-18 | 2017-11-21 | Qualcomm Incorporated | Priority-based access of compressed memory lines in memory in a processor-based system |
KR20170110808A (ko) * | 2016-03-24 | 2017-10-12 | 에스케이하이닉스 주식회사 | 데이터 저장 장치를 포함하는 데이터 처리 시스템 |
JP2018010507A (ja) * | 2016-07-14 | 2018-01-18 | 富士通株式会社 | メモリ管理プログラム、メモリ管理方法及びメモリ管理装置 |
CN107634895B (zh) * | 2016-07-19 | 2020-09-22 | 上海诺基亚贝尔股份有限公司 | 用于基于文件或单个消息的批量操作处理方法和设备 |
KR102611638B1 (ko) * | 2016-09-27 | 2023-12-08 | 삼성전자주식회사 | 스토리지 장치의 동작 방법 및 스토리지 장치를 포함하는 데이터 저장 시스템 |
US10481798B2 (en) * | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
JP6677627B2 (ja) * | 2016-12-20 | 2020-04-08 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびメモリアクセス方法 |
US11169871B2 (en) | 2017-02-23 | 2021-11-09 | SK Hynix Inc. | Data storage device and operating method thereof |
KR20180126921A (ko) * | 2017-05-19 | 2018-11-28 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
TWI653533B (zh) | 2017-03-07 | 2019-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及其操作方法 |
US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
US20190012259A1 (en) * | 2017-07-06 | 2019-01-10 | Futurewei Technologies, Inc. | Lba eviction in pcm media |
US10474391B2 (en) * | 2017-09-05 | 2019-11-12 | Western Digital Technologies, Inc. | Storage system and method for executing file-based firmware commands and collecting response data |
US11733873B2 (en) | 2017-12-01 | 2023-08-22 | Micron Technology, Inc. | Wear leveling in solid state drives |
CN108037725B (zh) * | 2017-12-08 | 2019-09-03 | 中冶南方工程技术有限公司 | 一种读写plc数据的方法和装置 |
CN109992402B (zh) * | 2017-12-29 | 2021-07-09 | Oppo广东移动通信有限公司 | 内存处理方法和装置、电子设备、计算机可读存储介质 |
KR20190092941A (ko) * | 2018-01-31 | 2019-08-08 | 에스케이하이닉스 주식회사 | 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10678458B2 (en) * | 2018-02-09 | 2020-06-09 | Micron Technology, Inc. | Data storage device idle time processing |
US10489085B2 (en) * | 2018-02-28 | 2019-11-26 | Micron Technology, Inc. | Latency-based scheduling of command processing in data storage devices |
US10846955B2 (en) | 2018-03-16 | 2020-11-24 | Micron Technology, Inc. | Black box data recorder for autonomous driving vehicle |
TWI664527B (zh) * | 2018-03-20 | 2019-07-01 | 慧榮科技股份有限公司 | 用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置 |
CN108958651A (zh) * | 2018-06-04 | 2018-12-07 | 北京小米移动软件有限公司 | 脏数据块擦除方法、装置、设备 |
US11094148B2 (en) | 2018-06-18 | 2021-08-17 | Micron Technology, Inc. | Downloading system memory data in response to event detection |
KR102660399B1 (ko) * | 2018-09-20 | 2024-04-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
US20200117722A1 (en) * | 2018-10-12 | 2020-04-16 | Goke Us Research Laboratory | Efficient file storage and retrieval system, method and apparatus |
JP2020071632A (ja) * | 2018-10-31 | 2020-05-07 | レノボ・シンガポール・プライベート・リミテッド | 情報処理装置、制御方法、及びプログラム |
US11782605B2 (en) * | 2018-11-29 | 2023-10-10 | Micron Technology, Inc. | Wear leveling for non-volatile memory using data write counters |
KR20200066906A (ko) * | 2018-12-03 | 2020-06-11 | 에스케이하이닉스 주식회사 | 메모리 시스템, 그것의 동작방법 및 컨트롤러 |
KR20200068944A (ko) * | 2018-12-06 | 2020-06-16 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20200141212A (ko) * | 2019-06-10 | 2020-12-18 | 에스케이하이닉스 주식회사 | 가비지콜렉션 동작을 위한 메모리 시스템 및 메모리 시스템의 동작방법 |
TWI697778B (zh) * | 2019-06-17 | 2020-07-01 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
KR20210016191A (ko) * | 2019-08-01 | 2021-02-15 | 삼성전자주식회사 | 스토리지 장치 |
KR20210027563A (ko) * | 2019-08-28 | 2021-03-11 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US10922012B1 (en) | 2019-09-03 | 2021-02-16 | Dropbox, Inc. | Fair data scrubbing in a data storage system |
CN110795400B (zh) * | 2019-10-12 | 2022-03-22 | 苏州浪潮智能科技有限公司 | 一种文件的管理方法、装置、设备及介质 |
CN110750467B (zh) * | 2019-10-22 | 2021-11-02 | 深圳芯邦科技股份有限公司 | 一种Nand Flash中干扰页的检测方法、系统 |
TWI724696B (zh) * | 2019-12-18 | 2021-04-11 | 財團法人工業技術研究院 | 工件孔洞量測方法 |
TWI727842B (zh) | 2020-02-20 | 2021-05-11 | 大陸商長江存儲科技有限責任公司 | 存儲器件及其編程方法 |
US11704035B2 (en) | 2020-03-30 | 2023-07-18 | Pure Storage, Inc. | Unified storage on block containers |
CN113495681A (zh) * | 2020-04-07 | 2021-10-12 | 杭州萤石软件有限公司 | 一种nand flash文件数据存取方法、装置及存储介质 |
KR20220018060A (ko) * | 2020-04-23 | 2022-02-14 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | 메모리 디바이스 및 그것의 프로그래밍 방법 |
CN112162935B (zh) * | 2020-09-30 | 2021-06-08 | 深圳市时创意电子有限公司 | 存储芯片的数据处理方法、装置、计算机设备及存储介质 |
TWI808384B (zh) * | 2021-02-23 | 2023-07-11 | 慧榮科技股份有限公司 | 儲存裝置、快閃記憶體控制器及其控制方法 |
KR20220142192A (ko) * | 2021-04-14 | 2022-10-21 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US20230097115A1 (en) * | 2021-09-27 | 2023-03-30 | Advanced Micro Devices, Inc. | Garbage collecting wavefront |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10124384A (ja) * | 1996-08-28 | 1998-05-15 | Toshiba Corp | 不揮発性半導体メモリの制御方法 |
JP2003187203A (ja) * | 2001-10-01 | 2003-07-04 | Hewlett Packard Co <Hp> | メモリカード用のメモリコントローラによるファイルアロケーションテーブル管理 |
US20030229753A1 (en) * | 2002-06-10 | 2003-12-11 | Samsung Electronics Co., Ltd. | Flash memory file system |
Family Cites Families (134)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4800520A (en) * | 1985-10-29 | 1989-01-24 | Kabushiki Kaisha Toshiba | Portable electronic device with garbage collection function |
US4802117A (en) * | 1985-12-16 | 1989-01-31 | Pitney Bowes Inc. | Method of preserving data storage in a postal meter |
JP3015377B2 (ja) * | 1988-08-26 | 2000-03-06 | 株式会社東芝 | Icカード |
EP1031992B1 (en) * | 1989-04-13 | 2006-06-21 | SanDisk Corporation | Flash EEPROM system |
GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
US6256642B1 (en) * | 1992-01-29 | 2001-07-03 | Microsoft Corporation | Method and system for file system management using a flash-erasable, programmable, read-only memory |
JPH05233426A (ja) | 1992-02-20 | 1993-09-10 | Fujitsu Ltd | フラッシュ・メモリ使用方法 |
JP3508114B2 (ja) * | 1992-03-05 | 2004-03-22 | セイコーエプソン株式会社 | 液晶装置及びその駆動方法並びに駆動回路 |
US5628014A (en) * | 1992-03-20 | 1997-05-06 | Paranode, Inc. | Methods and apparatus for node caching at the file level |
JP3017892B2 (ja) * | 1992-09-30 | 2000-03-13 | 株式会社東芝 | ファイル管理装置 |
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US5388083A (en) * | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
KR970008188B1 (ko) * | 1993-04-08 | 1997-05-21 | 가부시끼가이샤 히다찌세이사꾸쇼 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
US5619690A (en) * | 1993-06-21 | 1997-04-08 | Hitachi, Ltd. | Computer system including a computer which requests an access to a logical address in a secondary storage system with specification of a local address in the secondary storage system |
US5555204A (en) * | 1993-06-29 | 1996-09-10 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
US5353256A (en) | 1993-06-30 | 1994-10-04 | Intel Corporation | Block specific status information in a memory device |
KR0169267B1 (ko) | 1993-09-21 | 1999-02-01 | 사토 후미오 | 불휘발성 반도체 기억장치 |
US6341293B1 (en) * | 1994-07-13 | 2002-01-22 | Object Technology Licensing Corp | Real-time computer “garbage collector” |
US5809558A (en) | 1994-09-29 | 1998-09-15 | Intel Corporation | Method and data storage system for storing data in blocks without file reallocation before erasure |
JP2669365B2 (ja) * | 1994-11-24 | 1997-10-27 | 日本電気株式会社 | 書換え可能なromファイル装置 |
GB2291990A (en) | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Flash-memory management system |
GB2291991A (en) * | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Disk drive emulation with a block-erasable memory |
US5933847A (en) * | 1995-09-28 | 1999-08-03 | Canon Kabushiki Kaisha | Selecting erase method based on type of power supply for flash EEPROM |
US5867641A (en) * | 1995-10-27 | 1999-02-02 | Scm Microsystems (U.S.) Inc. | Flash translation layer cleanup system and method |
US6014724A (en) * | 1995-10-27 | 2000-01-11 | Scm Microsystems (U.S.) Inc. | Flash translation layer block indication map revision system and method |
US5987478A (en) | 1995-10-31 | 1999-11-16 | Intel Corporation | Virtual small block file manager for flash memory array |
US5799168A (en) * | 1996-01-05 | 1998-08-25 | M-Systems Flash Disk Pioneers Ltd. | Standardized flash controller |
US5903495A (en) * | 1996-03-18 | 1999-05-11 | Kabushiki Kaisha Toshiba | Semiconductor device and memory system |
GB9606927D0 (en) | 1996-04-02 | 1996-06-05 | Memory Corp Plc | Data storage devices |
US5896393A (en) * | 1996-05-23 | 1999-04-20 | Advanced Micro Devices, Inc. | Simplified file management scheme for flash memory |
US5978893A (en) | 1996-06-19 | 1999-11-02 | Apple Computer, Inc. | Method and system for memory management |
US5996047A (en) | 1996-07-01 | 1999-11-30 | Sun Microsystems, Inc. | Method and apparatus for caching file control information corresponding to a second file block in a first file block |
FR2752072B1 (fr) * | 1996-08-01 | 1999-01-29 | Solaic Sa | Carte a circuit integre comportant des fichiers classes selon une arborescence |
DE19633648A1 (de) * | 1996-08-21 | 1998-02-26 | Grundig Ag | Verfahren und Schaltungsanordnung zur Speicherung von Diktaten bei einem digitalen Diktiergerät |
JPH1069420A (ja) * | 1996-08-29 | 1998-03-10 | Sony Corp | 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法 |
US5907854A (en) * | 1996-09-27 | 1999-05-25 | Alcatel Usa Sourcing, L.P. | Flash memory file system for writing data files without rewriting an entire volume |
US5953538A (en) | 1996-11-12 | 1999-09-14 | Digital Equipment Corporation | Method and apparatus providing DMA transfers between devices coupled to different host bus bridges |
US6014727A (en) * | 1996-12-23 | 2000-01-11 | Apple Computer, Inc. | Method and system for buffering messages in an efficient but largely undivided manner |
US6279069B1 (en) * | 1996-12-26 | 2001-08-21 | Intel Corporation | Interface for flash EEPROM memory arrays |
FR2759795B1 (fr) | 1997-02-14 | 1999-05-07 | Francois Charles Oberthur Fidu | Procede de stockage de donnees dans une memoire reinscriptible de carte a puce |
US6088759A (en) * | 1997-04-06 | 2000-07-11 | Intel Corporation | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US5832493A (en) * | 1997-04-24 | 1998-11-03 | Trimble Navigation Limited | Flash file management system |
JP4079506B2 (ja) * | 1997-08-08 | 2008-04-23 | 株式会社東芝 | 不揮発性半導体メモリシステムの制御方法 |
US5937425A (en) * | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
US6021415A (en) * | 1997-10-29 | 2000-02-01 | International Business Machines Corporation | Storage management system with file aggregation and space reclamation within aggregated files |
US5928347A (en) * | 1997-11-18 | 1999-07-27 | Shuttle Technology Group Ltd. | Universal memory card interface apparatus |
US6493811B1 (en) | 1998-01-26 | 2002-12-10 | Computer Associated Think, Inc. | Intelligent controller accessed through addressable virtual space |
US6226728B1 (en) * | 1998-04-21 | 2001-05-01 | Intel Corporation | Dynamic allocation for efficient management of variable sized data within a nonvolatile memory |
US6038636A (en) * | 1998-04-27 | 2000-03-14 | Lexmark International, Inc. | Method and apparatus for reclaiming and defragmenting a flash memory device |
US6223271B1 (en) * | 1998-07-15 | 2001-04-24 | Compaq Computer Corp. | System and method for detecting system memory size using ROM based paging tables |
JP2000148546A (ja) | 1998-11-10 | 2000-05-30 | Nec Corp | データ入出力装置およびデータ入出力方法、並びに記録媒体 |
US6490649B2 (en) | 1998-11-10 | 2002-12-03 | Lexar Media, Inc. | Memory device |
US6480935B1 (en) | 1999-01-15 | 2002-11-12 | Todd Carper | Smart card memory management system and method |
US6256690B1 (en) * | 1999-01-15 | 2001-07-03 | Todd Carper | System and method for facilitating multiple applications on a smart card |
US6145069A (en) | 1999-01-29 | 2000-11-07 | Interactive Silicon, Inc. | Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices |
KR100704998B1 (ko) * | 1999-02-26 | 2007-04-09 | 소니 가부시끼 가이샤 | 기록방법, 관리방법 및 기록장치 |
JP4779183B2 (ja) | 1999-03-26 | 2011-09-28 | ソニー株式会社 | 再生装置および再生方法 |
US6148354A (en) | 1999-04-05 | 2000-11-14 | M-Systems Flash Disk Pioneers Ltd. | Architecture for a universal serial bus-based PC flash disk |
US6467015B1 (en) | 1999-04-15 | 2002-10-15 | Dell Products, L.P. | High speed bus interface for non-volatile integrated circuit memory supporting continuous transfer |
US6535949B1 (en) * | 1999-04-19 | 2003-03-18 | Research In Motion Limited | Portable electronic device having a log-structured file system in flash memory |
JP3524428B2 (ja) | 1999-04-20 | 2004-05-10 | 東京エレクトロンデバイス株式会社 | 記憶装置、記憶システム、メモリ管理方法及び記録媒体 |
US6547150B1 (en) * | 1999-05-11 | 2003-04-15 | Microsoft Corporation | Smart card application development system and method |
US6504846B1 (en) * | 1999-05-21 | 2003-01-07 | Advanced Micro Devices, Inc. | Method and apparatus for reclaiming buffers using a single buffer bit |
US6389433B1 (en) * | 1999-07-16 | 2002-05-14 | Microsoft Corporation | Method and system for automatically merging files into a single instance store |
JP2001030531A (ja) * | 1999-07-26 | 2001-02-06 | Alps Electric Co Ltd | 版下フィルムの印刷方法および版下印刷用プリンタ |
WO2001008014A1 (en) | 1999-07-28 | 2001-02-01 | Sony Corporation | Recording system, data recording device, memory device, and data recording method |
JP3863330B2 (ja) * | 1999-09-28 | 2006-12-27 | 株式会社東芝 | 不揮発性半導体メモリ |
ATE247296T1 (de) | 1999-10-25 | 2003-08-15 | Sun Microsystems Inc | Speichersystem mit unterstützung von dateistufenzugriffen und blockstufenzugriffen |
US6426893B1 (en) * | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US6567307B1 (en) * | 2000-07-21 | 2003-05-20 | Lexar Media, Inc. | Block management for mass storage |
US20020078002A1 (en) * | 2000-08-25 | 2002-06-20 | Bottomley Thomas Mark Walter | Memory garbage collection method and apparatus |
JP3726663B2 (ja) * | 2000-09-07 | 2005-12-14 | 日産自動車株式会社 | 電子制御装置の制御データ記憶装置 |
US6865650B1 (en) | 2000-09-29 | 2005-03-08 | Emc Corporation | System and method for hierarchical data storage |
US6834331B1 (en) | 2000-10-24 | 2004-12-21 | Starfish Software, Inc. | System and method for improving flash memory data integrity |
US6684289B1 (en) * | 2000-11-22 | 2004-01-27 | Sandisk Corporation | Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
JP3631463B2 (ja) * | 2001-12-27 | 2005-03-23 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP2002251310A (ja) | 2001-02-21 | 2002-09-06 | Ricoh Co Ltd | フラッシュメモリのファイルシステム作成方式 |
US6779063B2 (en) * | 2001-04-09 | 2004-08-17 | Hitachi, Ltd. | Direct access storage system having plural interfaces which permit receipt of block and file I/O requests |
KR100389867B1 (ko) | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
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 |
GB0116116D0 (en) * | 2001-06-30 | 2001-08-22 | Koninkl Philips Electronics Nv | Receiver apparatus and method |
US7146524B2 (en) * | 2001-08-03 | 2006-12-05 | Isilon Systems, Inc. | Systems and methods for providing a distributed file system incorporating a virtual hot spare |
US6456528B1 (en) | 2001-09-17 | 2002-09-24 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US7251747B1 (en) * | 2001-09-20 | 2007-07-31 | Ncr Corp. | Method and system for transferring data using a volatile data transfer mechanism such as a pipe |
GB0123412D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system sectors |
US6678785B2 (en) * | 2001-09-28 | 2004-01-13 | M-Systems Flash Disk Pioneers Ltd. | Flash management system using only sequential write |
JP3641230B2 (ja) * | 2001-10-22 | 2005-04-20 | 株式会社東芝 | メモリカードを制御するための装置および方法 |
US6925007B2 (en) * | 2001-10-31 | 2005-08-02 | Sandisk Corporation | Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements |
US6668336B2 (en) | 2001-11-08 | 2003-12-23 | M-Systems Flash Disk Pioneers Ltd. | Ruggedized block device driver |
US6883114B2 (en) * | 2001-11-08 | 2005-04-19 | M-Systems Flash Disk Pioneers Ltd. | Block device driver enabling a ruggedized file system |
US6542407B1 (en) * | 2002-01-18 | 2003-04-01 | Sandisk Corporation | Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells |
AU2003213113A1 (en) * | 2002-02-21 | 2003-09-09 | Precise Software Solutions, Inc. | System and method for analyzing input/output activity on local attached storage |
US6771536B2 (en) * | 2002-02-27 | 2004-08-03 | Sandisk Corporation | Operating techniques for reducing program and read disturbs of a non-volatile memory |
DE60210416T2 (de) * | 2002-02-28 | 2006-09-07 | Matsushita Electric Industrial Co., Ltd., Kadoma | Speicherkarte |
US6766432B2 (en) * | 2002-05-24 | 2004-07-20 | Sun Microsystems, Inc. | Memory management system supporting object deletion in non-volatile memory |
US6895464B2 (en) * | 2002-06-03 | 2005-05-17 | Honeywell International Inc. | Flash memory management system and method utilizing multiple block list windows |
US6865659B2 (en) | 2002-06-07 | 2005-03-08 | Sun Microsystems, Inc. | Using short references to access program elements in a large address space |
US7035949B2 (en) * | 2002-07-29 | 2006-04-25 | M-System Flash Dist Pioneers Ltd. | Multipurpose processor, system and method |
DE10234971B4 (de) | 2002-07-31 | 2006-08-10 | Giesecke & Devrient Gmbh | Verfahren und Datenträger zum Erzeugen und Korrigieren von Programmcode |
US7249352B2 (en) * | 2002-08-22 | 2007-07-24 | International Business Machines Corporation | Apparatus and method for removing elements from a linked list |
US6895486B2 (en) * | 2002-08-29 | 2005-05-17 | Micron Technology, Inc. | Linear object management for a range of flash memory |
US6970969B2 (en) * | 2002-08-29 | 2005-11-29 | Micron Technology, Inc. | Multiple segment data object management |
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 |
US7526599B2 (en) * | 2002-10-28 | 2009-04-28 | Sandisk Corporation | Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system |
US7039788B1 (en) | 2002-10-28 | 2006-05-02 | Sandisk Corporation | Method and apparatus for splitting a logical block |
CN1260642C (zh) * | 2002-11-18 | 2006-06-21 | 深圳市朗科科技有限公司 | 一种向移动存储装置发送命令和数据的方法 |
US7433712B2 (en) | 2003-02-06 | 2008-10-07 | Modu Ltd. | Multi-access solid state memory devices and a telephone utilizing such |
US6987478B2 (en) * | 2003-02-06 | 2006-01-17 | Symbol Technologies, Inc. | Multi-function portable device |
US6865122B2 (en) * | 2003-04-11 | 2005-03-08 | Intel Corporation | Reclaiming blocks in a block-alterable memory |
US7437557B2 (en) * | 2003-06-03 | 2008-10-14 | Lg Electronics Inc. | Garbage collection system and method for a mobile communication terminal |
US6906961B2 (en) * | 2003-06-24 | 2005-06-14 | Micron Technology, Inc. | Erase block data splitting |
JP2005122439A (ja) | 2003-10-16 | 2005-05-12 | Sharp Corp | デバイス機器、及びデバイス機器の記録装置のフォーマット変換方法 |
US7383375B2 (en) * | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
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 |
US8504798B2 (en) * | 2003-12-30 | 2013-08-06 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
US20060004951A1 (en) * | 2004-06-30 | 2006-01-05 | Rudelic John C | Method and apparatus to alter code in a memory |
US7395384B2 (en) * | 2004-07-21 | 2008-07-01 | Sandisk Corproation | Method and apparatus for maintaining data on non-volatile memory systems |
US8607016B2 (en) * | 2004-07-21 | 2013-12-10 | Sandisk Technologies Inc. | FAT analysis for optimized sequential cluster management |
US8375146B2 (en) * | 2004-08-09 | 2013-02-12 | SanDisk Technologies, Inc. | Ring bus structure and its use in flash memory systems |
US7366826B2 (en) * | 2004-12-16 | 2008-04-29 | Sandisk Corporation | Non-volatile memory and method with multi-stream update tracking |
US7386655B2 (en) * | 2004-12-16 | 2008-06-10 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
US7412560B2 (en) * | 2004-12-16 | 2008-08-12 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
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 |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US20060184719A1 (en) | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US7877539B2 (en) * | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US7669003B2 (en) * | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
US7480766B2 (en) * | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
US7558906B2 (en) * | 2005-08-03 | 2009-07-07 | Sandisk Corporation | Methods of managing blocks in nonvolatile memory |
-
2005
- 2005-02-16 US US11/060,174 patent/US20060184718A1/en not_active Abandoned
-
2006
- 2006-01-26 US US11/342,170 patent/US20060184723A1/en not_active Abandoned
- 2006-02-08 JP JP2007556210A patent/JP2008530709A/ja active Pending
- 2006-02-08 WO PCT/US2006/004585 patent/WO2006088723A2/en active Application Filing
- 2006-02-08 EP EP06734659A patent/EP1849079A2/en not_active Ceased
- 2006-02-08 CN CN2006800089894A patent/CN101147133B/zh active Active
- 2006-02-16 TW TW095105260A patent/TW200639632A/zh unknown
-
2007
- 2007-08-09 IL IL185175A patent/IL185175A0/en unknown
- 2007-08-16 KR KR1020077018765A patent/KR101344688B1/ko not_active IP Right Cessation
-
2010
- 2010-05-07 US US12/775,639 patent/US8214583B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10124384A (ja) * | 1996-08-28 | 1998-05-15 | Toshiba Corp | 不揮発性半導体メモリの制御方法 |
JP2003187203A (ja) * | 2001-10-01 | 2003-07-04 | Hewlett Packard Co <Hp> | メモリカード用のメモリコントローラによるファイルアロケーションテーブル管理 |
US20030229753A1 (en) * | 2002-06-10 | 2003-12-11 | Samsung Electronics Co., Ltd. | Flash memory file system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013136836A1 (ja) * | 2012-03-15 | 2013-09-19 | 株式会社 東芝 | ビデオ配信サーバ、ssd制御方法 |
JP2013191150A (ja) * | 2012-03-15 | 2013-09-26 | Toshiba Corp | ビデオ配信サーバ、ssd制御方法 |
US9807428B2 (en) | 2012-03-15 | 2017-10-31 | Kabushiki Kaisha Toshiba | Video distribution server and SSD control method |
Also Published As
Publication number | Publication date |
---|---|
WO2006088723A2 (en) | 2006-08-24 |
US20100223423A1 (en) | 2010-09-02 |
TW200639632A (en) | 2006-11-16 |
CN101147133B (zh) | 2012-05-23 |
US20060184718A1 (en) | 2006-08-17 |
EP1849079A2 (en) | 2007-10-31 |
US8214583B2 (en) | 2012-07-03 |
KR101344688B1 (ko) | 2013-12-26 |
IL185175A0 (en) | 2007-12-03 |
CN101147133A (zh) | 2008-03-19 |
KR20070116793A (ko) | 2007-12-11 |
WO2006088723A3 (en) | 2007-01-11 |
US20060184723A1 (en) | 2006-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7984233B2 (en) | Direct data file storage implementation techniques in flash memories | |
US7877539B2 (en) | Direct data file storage in flash memories | |
US8214583B2 (en) | Direct file data programming and deletion in flash memories | |
US8055832B2 (en) | Management of memory blocks that directly store data files | |
US20070156998A1 (en) | Methods for memory allocation in non-volatile memories with a directly mapped file storage system | |
US20070143560A1 (en) | Non-volatile memories with memory allocation for a directly mapped file storage system | |
US20070143378A1 (en) | Non-volatile memories with adaptive file handling in a directly mapped file storage system | |
US20070143566A1 (en) | Non-volatile memories with data alignment in a directly mapped file storage system | |
US20070143567A1 (en) | Methods for data alignment in non-volatile memories with a directly mapped file storage system | |
US20070143561A1 (en) | Methods for adaptive file data handling in non-volatile memories with a directly mapped file storage system | |
US20070136555A1 (en) | Logically-addressed file storage methods | |
US20070136553A1 (en) | Logically-addressed file storage systems | |
WO2007019155A1 (en) | Reclaiming data storage capacity in flash memory systems | |
WO2007081638A2 (en) | Non-volatile memories and methods with adaptive file handling in a directly mapped file storage system | |
WO2007073538A2 (en) | Non-volatile memories and methods with data alignment in a directly mapped file storage system | |
JP2009512066A (ja) | 固定サイズ格納ブロックを有するメモリシステムにおける変換データ単位格納 | |
KR20080038368A (ko) | 데이터 파일을 직접 저장하는 재프로그램가능 비휘발성메모리에 파일 데이터의 인덱싱 | |
WO2007073536A2 (en) | Non-volatile memories and methods with memory allocation for a directly mapped file storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110607 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110822 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111206 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120724 |