JP2016515231A - 不揮発性記憶デバイスのためのメモリーのリアドレシング - Google Patents
不揮発性記憶デバイスのためのメモリーのリアドレシング Download PDFInfo
- Publication number
- JP2016515231A JP2016515231A JP2015557042A JP2015557042A JP2016515231A JP 2016515231 A JP2016515231 A JP 2016515231A JP 2015557042 A JP2015557042 A JP 2015557042A JP 2015557042 A JP2015557042 A JP 2015557042A JP 2016515231 A JP2016515231 A JP 2016515231A
- Authority
- JP
- Japan
- Prior art keywords
- file
- storage device
- memory
- volatile storage
- physical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 152
- 239000012634 fragment Substances 0.000 claims abstract description 46
- 238000013507 mapping Methods 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 8
- 238000013467 fragmentation Methods 0.000 claims description 5
- 238000006062 fragmentation reaction Methods 0.000 claims description 5
- 239000007787 solid Substances 0.000 claims description 3
- 230000009471 action Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 18
- 230000006854 communication Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 101100499440 Lactobacillus acidophilus (strain ATCC 700396 / NCK56 / N2 / NCFM) dnaA gene Proteins 0.000 description 2
- 230000003321 amplification Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101150039239 LOC1 gene Proteins 0.000 description 1
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000007177 brain activity Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 238000012546 transfer Methods 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
- 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/061—Improving I/O performance
-
- 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
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
Description
[0017] 以下の説明は、不揮発性記憶デバイスにおいて物理メモリー・アドレスをリアドレシングするための技法およびソリューションを対象とする。例えば、フラグメント化ファイルのメモリーの物理アドレスは、記憶デバイスにおけるその物理メモリー位置からメモリーを移動させることなく、リアドレシングすることができる。
例2−不揮発性記憶デバイスの例
[0021] 本明細書において使用する場合、不揮発性記憶デバイスとは、電源を入れる必要なく、その内容を保持する任意の半導体ベースの記憶デバイスを指す。例えば、不揮発性記憶デバイスは、ソリッド・ステート・ドライブ、USBフラッシュ・ドライブ、チップ上埋め込みメモリー、相変化メモリー・デバイス、または任意の他のタイプの不揮発性半導体ベース・ストレージとすることができる。また、本明細書において説明する実施形態は、ランダム・アクセス・メモリー(RAM)のように、順序付けされた情報がフラグメンテーションのために分散させられる可能性がある任意のシナリオにおいても、本明細書において説明するメカニズムを使用して、ブロックまたはページ・リアドレシングによってブロックを連続レイアウトに並び替えるために、実際にデーターを異なる記憶ページにコピーする必要なく、使用することができる。
例3−物理メモリーのリアドレシング
[0023] 磁気または光記憶デバイスとは異なり、不揮発性記憶デバイスはデーターを線形に読み取らない。例えば、磁気記憶デバイスでは、読み取りおよび書き込みヘッドは、プラッタ上の位置に移動し、プラッタが回転すると、そのプラッタから情報を読み取る。磁気記憶デバイスがプラッタ上の他の位置においてデーターを読み取りたい場合、読み取りおよび書き込みヘッドは新たな位置に移動しなければならない。磁気記憶デバイスの物理アドレスは、プラッタ(1つまたは複数)上の位置に基づいて配列される。
例4−動作環境例
[0027] 本明細書における例のいずれにおいても、メモリー・アドレスをリアドレシングするための動作環境100を設けることができる。図1は、動作環境例100を示す図である。動作環境例100は、ディフラグメンテーション・アプリケーション120およびオペレーティング・システム130を含む計算デバイス110を含む。例えば、計算デバイス110は、移動体電話機またはタブレット・コンピューターのような、移動体計算デバイスでもよい。
例5−リアドレシングを実行する方法
[0035] 図2は、不揮発性記憶デバイス160においてフラグメント化ファイルに対してメモリーのリアドレシングを実行する方法例200のフローチャートである。
[0037] リアドレシング・コマンド210の目標は、不揮発性記憶デバイス160には本質的にランダムI/Oアクセス・パターンに見えるいくつかの非連続アドレス記憶ブロックに跨がって分散されたファイルを、もっと少ない(例えば、1回)シーケンシャル・アクセスに変換することである。本明細書において説明する実施形態は、物理的にデーターを新たな記憶位置にコピーする必要なく、記憶位置のリアドレシングを遂行する。物理的にデーターを新たな記憶位置にコピーすると、その結果、リアドレシングよりも多くの電力を使い果たし、ストレージの寿命に悪影響を及ぼし、ファイルをディフラグメントする目的でストレージ・コンテンツをオペレーティング・システムにそして再度ストレージ部分にコピーするのに遙かに長大なI/Oサイクルを招く。これは、エンド・ユーザーが実行したいアプリケーションまたは通常のオペレーティング・システムの挙動に関連するタスクの邪魔になる可能性がある。
[0039] 230において、ファイル・システム140は、ファイル・フラグメントがアドレスされている場所を保持するその内部レコードを更新する。ある実施形態では、ファイル・システム140は、210においてコマンドが送られるときにそのレコードを更新し、220において成功応答を受けない場合、リアドレシング・トランザクションをロール・バックすることができる。他の実施形態では、ファイル・システム140は、応答を受けるまで、応答220において戻される新たなアドレス・ブロックに基づいて、対応するリアドレシング変更をコミットするまたは行うのを待つこともできる。例えば、応答220は、コマンド210においてリアドレシングされることを要求されたブロックに対して新たなマッピングを含むことができ、これらのブロックに対して最終的に合意したアドレシングは、ファイル・システム140が230において更新されたときに完了する。
[0041] 一例では、計算デバイスは、連続物理アドレスを含む、リアドレシングされたメモリーを使用して、不揮発性記憶デバイス160に他のコマンドを送ることができる。例えば、計算デバイスは、連続物理アドレスにおいてファイルを引き出すために、1つの要求または複数の要求の1群を送ることができる。ファイルは連続物理アドレスに配置されているので、計算デバイスにとって動作数が減少する。不揮発性記憶デバイス160によって使用される内部キャッシング・メカニズムは、一層効率的に利用することができる。何故なら、リアドレシング後の格納要求は、データーに対する連続シーケンシャル要求として実施することができるからである。小規模のランダムな読み出しおよび書き込みに対して、大規模のシーケンシャルな読み出しおよび書き込みに固有な性能上の利点は、SDカード、eMMCデバイス、MMC、およびSSDデバイスのような、最新の記憶デバイスの性能ベンチマークによって、詳しく文書化されている。
例6−仮想マッピングの例
[0052] 図4aおよび図4bは、物理メモリー・アドレスをリアドレシングする例を示す。この例では、フラグメント化ファイルのファイル・フラグメントは、複数の不連続物理アドレスに跨がって広がる。例えば、フラグメント化ファイルがメモリー・アドレス1、3、4、および7に位置すると仮定する。一旦記憶デバイスが、フラグメント化ファイルを連続物理メモリー・アドレスにリアドレシングするコマンドを受けたなら、記憶デバイスは、どの物理メモリー・アドレスにこのファイルをリアドレシングすればよいか決定する。この例では、ファイルは、メモリー・アドレス1から開始してリアドレシングされるが、代わりに、任意の物理メモリー・アドレスにおいて開始してリアドレシングされてもよい。
例7−マッピング・テーブルの例
[0059] 図6aおよび図6bは、LBAマッピング・テーブル、および図4aおよび図4bにおけるフラグメント化ファイルの物理アドレスの例を示すテーブルである。例えば、LBAマッピング・テーブルは、論理アドレスを不揮発性記憶デバイス160における物理アドレスに割り当てるために、オペレーティング・システム130によって使用することができる。直前の例では、物理アドレスがリアドレシングされたので、LBAマッピング表は、リアドレシングされたメモリーに基づいて更新される。つまり、例えば、図6aにおいて、LBA0000は物理アドレス1を指し示し、LBA0001は物理アドレス3を指し示し、LBA0002は物理アドレス4を指し示し、LBA0003は物理アドレス7を指し示す。リアドレシングの後、図6bに示すように、LBA0000は物理アドレス1を指し示し、LBA0001は物理アドレス2を指し示し、LBA0002は物理アドレス3を指し示し、LBA0003は物理アドレス4を指し示す。
例8−計算環境例
[0061] 図7は、以上で説明した改革を実現することができる、適した計算環境700を一般化した例を示す。計算環境700は、使用範囲や機能に関して限定を示唆する意図は全くない。何故なら、本改革は、多様な汎用または特殊目的計算システムにおいても実現できるからである。例えば、計算環境700は、種々の計算デバイス(例えば、デスクトップ・コンピューター、ラップトップ・コンピューター、サーバー・コンピューター、タブレット・コンピューター、メディア・プレーヤー、ゲーミング・システム、移動体デバイス等)の内任意のものにすることができる。
例9−移動体デバイスの例
[0069] 図8は、全体的に802で示す、種々の任意のハードウェアおよびソフトウェア・コンポーネントを含む移動体デバイスの一例800を示すシステム図である。一般に、移動体デバイス内にあるコンポーネント802は、他のいずれのコンポーネントとも通信することができるが、図示を容易にするために、全ての接続は示されていない。移動体デバイスは、種々の計算デバイス(例えば、セル・フォン、スマート・フォン、ハンドヘルド・コンピューター、パーソナル・ディジタル・アシスタント(PDA)等)のいずれでも可能であり、セルラまたは衛星ネットワーク、あるいは他のネットワークのような、1つ以上の移動体通信ネットワーク804とのワイヤレス双方向通信を可能にすることができる。
例10−実現例
[0076] 開示した方法の一部の動作は、都合のよい提示のために、特定の連続順序で説明したが、この説明のやり方は、以下に明記される特定の文言によって特定の順序付けが要求されない限り、再配列を含むことは理解されてしかるべきである。例えば、順次説明した動作は、場合によっては、配列し直しても、または同時に実行されてもよい。更に、簡略さのために、添付図面は、開示した方法を他の方法と併せて使用することができる種々のやり方を示さない場合もある。
代替
[0083] 任意の例からの技術は、他の例の任意の1つ以上において説明した技術と組み合わせることができる。開示した技術の原理を適用することができる多くの可能な実施形態があることに鑑み、例示した実施形態は、開示した技術の例に過ぎず、開示した技術の範囲を限定するように捕らえてはならないことは、認識されてしかるべきである。逆に、開示した技術の範囲は、以下の請求項によって定められることとする。したがって、これらの請求項の範囲内に該当する全てを、本発明として特許請求する。
Claims (10)
- 不揮発性記憶デバイスにおいてフラグメント化ファイルに対してメモリーのリアドレシングを実行するために、少なくとも部分的に計算デバイスによって実行される方法であって、
前記計算デバイスによって、前記フラグメント化ファイルのメモリーをリアドレシングするためにコマンドを前記不揮発性記憶デバイスに送るステップであって、前記フラグメント化ファイルのファイル・フラグメントが、複数の不連続物理アドレスに跨がって広がり、前記不揮発性記憶デバイス内の複数の物理位置に格納される、ステップと、
前記計算デバイスによって、前記フラグメント化ファイルのメモリーがリアドレシングされたという応答を前記不揮発性記憶デバイスから受けるステップであって、前記メモリーが連続物理アドレスにリアドレシングされた、ステップと、
を含み、
前記ファイル・フラグメントの前記複数の物理位置が、前記フラグメント化ファイルのメモリーがリアドレシングされた後も同じままで残る、方法。 - 不揮発性記憶デバイスであって、
処理ユニットと、
不揮発性メモリーと、
を含み、
前記不揮発性記憶デバイスが、フラグメント化ファイルに対してメモリーをリアドレシングする動作を実行するように構成され、前記動作が、
前記フラグメント化ファイルのメモリーをリアドレシングするためにコマンドを受ける動作であって、前記フラグメント化ファイルのファイル・フラグメントが、複数の不連続物理アドレスに跨がって広がり、前記不揮発性記憶デバイス内の複数の物理位置に格納される、動作と、
前記ファイル・フラグメントの各々に対して、連続物理メモリー・アドレスを前記ファイル・フラグメントに割り当てる動作と、
を含み、
前記ファイル・フラグメントの前記複数の物理位置が、前記フラグメント化ファイルのメモリーがリアドレシングされた後も、同じままで残る、不揮発性記憶デバイス。 - 請求項2記載の不揮発性記憶デバイスにおいて、前記不揮発性記憶デバイスが、ソリッド・ステート・ドライブである、不揮発性記憶デバイス。
- 請求項2記載の不揮発性記憶デバイスにおいて、前記不揮発性記憶デバイスが、相変化メモリー・デバイスである、不揮発性記憶デバイス。
- 請求項2記載の不揮発性記憶デバイスにおいて、前記ファイル・フラグメントの各々に対して、前記ファイル・フラグメントに割り当てられようとしている物理メモリー・アドレスに他のデーターが位置する場合、新たなメモリー・アドレスを前記他のデーターに割り当てる、不揮発性記憶デバイス。
- 請求項5記載の不揮発性記憶デバイスにおいて、新たなメモリー・アドレスを前記他のデーターに割り当てる前記動作が、前記他のデーターの物理メモリー・アドレスを、前記ファイル・フラグメントのメモリー・アドレスと交換する動作を含む、不揮発性記憶デバイス。
- 請求項5記載の不揮発性記憶デバイスにおいて、新たなメモリー・アドレスを前記他のデーターに割り当てる前記動作が、未使用メモリー・アドレスを前記他のデーターに割り当てる動作を含む、不揮発性記憶デバイス。
- 請求項2記載の不揮発性記憶デバイスにおいて、前記連続物理メモリー・アドレスを前記ファイル・フラグメントに割り当てる動作が、
前記フラグメント化ファイルの開始ブロックに対して、一意の物理メモリー・アドレスを割り当てる動作と、
前記フラグメント化ファイルの1つ以上の後続ブロックに対して、共有可能な物理メモリー・アドレスを割り当てる動作と、
を含む、不揮発性記憶デバイス。 - 請求項2記載の不揮発性記憶デバイスにおいて、前記フラグメント化ファイルのメモリーをリアドレシングするコマンドを受ける動作が、
フラグメンテーションの程度に基づいて、リアドレシングする可能性が最も高い候補ファイルを判定する動作と、
前記最も可能性が高い候補ファイルを、前記フラグメント化ファイルとして選択する動作と、
を含む、不揮発性記憶デバイス。 - フラグメント化ファイルに対してメモリーをリアドレシングする動作を計算デバイスに実行させるコンピューター実行可能命令を格納するコンピューター読み取り可能記憶媒体であって、前記動作が、
前記フラグメント化ファイルのメモリーがリアドレシングされたという応答を不揮発性記憶デバイスから受ける動作であって、前記メモリーが連続物理アドレスにリアドレシングされた、動作と、
前記リアドレシングされた連続物理アドレスに基づいて、仮想マッピング・テーブルを更新する動作と、
を含み、
前記フラグメント化ファイルのファイル・フラグメントの物理位置が、前記フラグメント化ファイルのメモリーがリアドレシングされた後も同じままで残り、
オペレーティング・システム用の論理ブロック・アドレシング(LBA)マッピング・テーブルが、前記リアドレシングされた連続物理アドレスに基づいて更新されず、
前記LBAマッピング・テーブルが、前記仮想マッピング・テーブルと通信する、コンピューター読み取り可能記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/763,491 | 2013-02-08 | ||
US13/763,491 US20140229657A1 (en) | 2013-02-08 | 2013-02-08 | Readdressing memory for non-volatile storage devices |
PCT/US2014/014971 WO2014124064A1 (en) | 2013-02-08 | 2014-02-06 | Readdressing memory for non-volatile storage devices |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016515231A true JP2016515231A (ja) | 2016-05-26 |
JP2016515231A5 JP2016515231A5 (ja) | 2017-03-09 |
JP6355650B2 JP6355650B2 (ja) | 2018-07-11 |
Family
ID=50231513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015557042A Active JP6355650B2 (ja) | 2013-02-08 | 2014-02-06 | 不揮発性記憶デバイスのためのメモリーのリアドレシング |
Country Status (7)
Country | Link |
---|---|
US (1) | US20140229657A1 (ja) |
EP (1) | EP2954400A1 (ja) |
JP (1) | JP6355650B2 (ja) |
KR (1) | KR20150115924A (ja) |
CN (1) | CN105190526B (ja) |
TW (1) | TWI607306B (ja) |
WO (1) | WO2014124064A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7293458B1 (ja) | 2021-12-21 | 2023-06-19 | ウェスタン デジタル テクノロジーズ インコーポレーテッド | ストレージフラグメンテーションを定量化し性能低下を予測するための記憶システム及び方法 |
US11809747B2 (en) | 2021-12-21 | 2023-11-07 | Western Digital Technologies, Inc. | Storage system and method for optimizing write-amplification factor, endurance, and latency during a defragmentation operation |
US11847343B2 (en) | 2021-12-22 | 2023-12-19 | Western Digital Technologies, Inc. | Storage system and method for non-blocking coherent re-writes |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8977799B2 (en) * | 2011-09-26 | 2015-03-10 | Lsi Corporation | Storage caching/tiering acceleration through staggered asymmetric caching |
KR20140099737A (ko) * | 2013-02-04 | 2014-08-13 | 삼성전자주식회사 | 존-기반 조각모음 방법 및 그것을 이용한 유저 장치 |
JP6642427B2 (ja) * | 2014-06-30 | 2020-02-05 | ソニー株式会社 | 情報処理装置および方法 |
DE102014224278A1 (de) * | 2014-11-27 | 2016-06-02 | Bundesdruckerei Gmbh | Verfahren zum Nachladen von Software auf eine Chipkarte durch einen Nachladeautomaten |
US20170337212A1 (en) * | 2015-01-13 | 2017-11-23 | Hitachi Data Systems Engineering UK Limited | Computer program product, method, apparatus and data storage system for managing defragmentation in file systems |
US9760147B2 (en) | 2016-01-22 | 2017-09-12 | Microsoft Technology Licensing, Llc | Power control for use of volatile memory as non-volatile memory |
US9746895B2 (en) * | 2016-01-22 | 2017-08-29 | Microsoft Technology Licensing, Llc | Use of volatile memory as non-volatile memory |
US10235079B2 (en) | 2016-02-03 | 2019-03-19 | Toshiba Memory Corporation | Cooperative physical defragmentation by a file system and a storage device |
CN105892938A (zh) * | 2016-03-28 | 2016-08-24 | 乐视控股(北京)有限公司 | 一种磁盘缓存系统的优化方法及系统 |
US10185657B2 (en) * | 2016-04-13 | 2019-01-22 | Nanjing University | Method and system for optimizing deterministic garbage collection in NAND flash storage systems |
US20180074970A1 (en) * | 2016-09-09 | 2018-03-15 | Sap Se | Cache-Efficient Fragmentation of Data Structures |
US10579516B2 (en) | 2017-03-13 | 2020-03-03 | Qualcomm Incorporated | Systems and methods for providing power-efficient file system operation to a non-volatile block memory |
US10324628B2 (en) * | 2017-04-19 | 2019-06-18 | Veritas Technologies Llc | Systems and methods for reducing data fragmentation |
KR20200022179A (ko) * | 2018-08-22 | 2020-03-03 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법 |
KR20200022118A (ko) * | 2018-08-22 | 2020-03-03 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
CN110245119B (zh) * | 2018-11-02 | 2023-01-31 | 浙江大华技术股份有限公司 | 一种文件整理方法及存储系统 |
US10922022B2 (en) * | 2019-03-13 | 2021-02-16 | Samsung Electronics Co., Ltd. | Method and system for managing LBA overlap checking in NVMe based SSDs |
KR20210129370A (ko) * | 2020-04-20 | 2021-10-28 | 삼성전자주식회사 | 메모리 모듈 및 적층형 메모리 장치 |
CN114356224B (zh) * | 2021-12-15 | 2024-04-19 | 广州致存科技有限责任公司 | 文件地址优化方法、终端、服务器及计算机可读存储介质 |
US11954348B2 (en) * | 2022-04-08 | 2024-04-09 | Netapp, Inc. | Combining data block I/O and checksum block I/O into a single I/O operation during processing by a storage stack |
US20240176501A1 (en) * | 2022-11-29 | 2024-05-30 | Western Digital Technologies, Inc. | Data Storage Device and Method for Swap Defragmentation |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005267240A (ja) * | 2004-03-18 | 2005-09-29 | Hitachi Global Storage Technologies Netherlands Bv | デフラグメントを行う方法及び記憶装置 |
US20100312983A1 (en) * | 2009-06-09 | 2010-12-09 | Seagate Technology Llc | Defragmentation of solid state memory |
US20110238946A1 (en) * | 2010-03-24 | 2011-09-29 | International Business Machines Corporation | Data Reorganization through Hardware-Supported Intermediate Addresses |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5873124A (en) * | 1997-02-06 | 1999-02-16 | Microsoft Corporation | Virtual memory scratch pages |
CN100442393C (zh) * | 1999-10-21 | 2008-12-10 | 松下电器产业株式会社 | 半导体存储卡的访问装置、初始化方法和半导体存储卡 |
US8051115B2 (en) * | 2004-09-08 | 2011-11-01 | Koby Biller | Measuring fragmentation on direct access storage devices and defragmentation thereof |
US7774514B2 (en) * | 2005-05-16 | 2010-08-10 | Infortrend Technology, Inc. | Method of transmitting data between storage virtualization controllers and storage virtualization controller designed to implement the method |
TWI499906B (zh) * | 2008-12-08 | 2015-09-11 | Apacer Technology Inc | Memory reorganization method of storage device, computer storage medium, computer program product, reorganization method |
US20110055471A1 (en) * | 2009-08-28 | 2011-03-03 | Jonathan Thatcher | Apparatus, system, and method for improved data deduplication |
US20120079229A1 (en) * | 2010-09-28 | 2012-03-29 | Craig Jensen | Data storage optimization for a virtual platform |
US8943296B2 (en) * | 2011-04-28 | 2015-01-27 | Vmware, Inc. | Virtual address mapping using rule based aliasing to achieve fine grained page translation |
US8612719B2 (en) * | 2011-07-21 | 2013-12-17 | Stec, Inc. | Methods for optimizing data movement in solid state devices |
US9229948B2 (en) * | 2012-11-30 | 2016-01-05 | Oracle International Corporation | Self-governed contention-aware approach to scheduling file defragmentation |
US20140189211A1 (en) * | 2012-12-31 | 2014-07-03 | Sandisk Enterprise Ip Llc | Remapping Blocks in a Storage Device |
US9021187B2 (en) * | 2013-01-29 | 2015-04-28 | Sandisk Technologies Inc. | Logical block address remapping |
US8966207B1 (en) * | 2014-08-15 | 2015-02-24 | Storagecraft Technology Corporation | Virtual defragmentation of a storage |
-
2013
- 2013-02-08 US US13/763,491 patent/US20140229657A1/en not_active Abandoned
-
2014
- 2014-01-17 TW TW103101837A patent/TWI607306B/zh not_active IP Right Cessation
- 2014-02-06 WO PCT/US2014/014971 patent/WO2014124064A1/en active Application Filing
- 2014-02-06 EP EP14708154.1A patent/EP2954400A1/en not_active Ceased
- 2014-02-06 JP JP2015557042A patent/JP6355650B2/ja active Active
- 2014-02-06 KR KR1020157024222A patent/KR20150115924A/ko not_active Application Discontinuation
- 2014-02-06 CN CN201480008161.3A patent/CN105190526B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005267240A (ja) * | 2004-03-18 | 2005-09-29 | Hitachi Global Storage Technologies Netherlands Bv | デフラグメントを行う方法及び記憶装置 |
US20100312983A1 (en) * | 2009-06-09 | 2010-12-09 | Seagate Technology Llc | Defragmentation of solid state memory |
US20110238946A1 (en) * | 2010-03-24 | 2011-09-29 | International Business Machines Corporation | Data Reorganization through Hardware-Supported Intermediate Addresses |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7293458B1 (ja) | 2021-12-21 | 2023-06-19 | ウェスタン デジタル テクノロジーズ インコーポレーテッド | ストレージフラグメンテーションを定量化し性能低下を予測するための記憶システム及び方法 |
JP2023092425A (ja) * | 2021-12-21 | 2023-07-03 | ウェスタン デジタル テクノロジーズ インコーポレーテッド | ストレージフラグメンテーションを定量化し性能低下を予測するための記憶システム及び方法 |
US11809747B2 (en) | 2021-12-21 | 2023-11-07 | Western Digital Technologies, Inc. | Storage system and method for optimizing write-amplification factor, endurance, and latency during a defragmentation operation |
US11809736B2 (en) | 2021-12-21 | 2023-11-07 | Western Digital Technologies, Inc. | Storage system and method for quantifying storage fragmentation and predicting performance drop |
US11847343B2 (en) | 2021-12-22 | 2023-12-19 | Western Digital Technologies, Inc. | Storage system and method for non-blocking coherent re-writes |
Also Published As
Publication number | Publication date |
---|---|
EP2954400A1 (en) | 2015-12-16 |
CN105190526A (zh) | 2015-12-23 |
KR20150115924A (ko) | 2015-10-14 |
TW201432447A (zh) | 2014-08-16 |
CN105190526B (zh) | 2018-03-30 |
TWI607306B (zh) | 2017-12-01 |
US20140229657A1 (en) | 2014-08-14 |
JP6355650B2 (ja) | 2018-07-11 |
WO2014124064A1 (en) | 2014-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6355650B2 (ja) | 不揮発性記憶デバイスのためのメモリーのリアドレシング | |
TWI739859B (zh) | 操作對多重名稱空間進行管理的儲存裝置的方法 | |
US11003576B2 (en) | Namespace change propagation in non-volatile memory devices | |
EP2665065A2 (en) | Electronic device employing flash memory | |
JP2014519112A (ja) | 記憶デバイスにおいて少ないオーバープロビジョニングで低い書き込み増幅率を実現する方法 | |
KR102649131B1 (ko) | 메모리 시스템 내 대용량 데이터 저장이 가능한 블록에서의 유효 데이터 체크 방법 및 장치 | |
JP2015026379A (ja) | 磁気ランダムアクセスメモリ(mram)を使用する記憶デバイスのメモリアレイのコントローラ管理 | |
KR20200016075A (ko) | 메모리 시스템에서의 유효 데이터 탐색 방법 및 장치 | |
US8433847B2 (en) | Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive | |
CN106557428B (zh) | 数据存储设备的映射系统选择 | |
KR20200116704A (ko) | 메모리 시스템 및 그것의 동작방법 | |
US11526296B2 (en) | Controller providing host with map information of physical address for memory region, and operation method thereof | |
US11422930B2 (en) | Controller, memory system and data processing system | |
CN112684976A (zh) | 用于执行迁移操作的存储器系统及其操作方法 | |
US11182289B1 (en) | Memory system and operating method thereof | |
US11409444B2 (en) | Memory system and operation method thereof | |
TW202314471A (zh) | 儲存裝置及其操作方法 | |
US11941246B2 (en) | Memory system, data processing system including the same, and operating method thereof | |
US20220164119A1 (en) | Controller, and memory system and data processing system including the same | |
CN102023925A (zh) | 固态硬盘及其使用方法 | |
KR20240058637A (ko) | 데이터 및 대응되는 맵을 선택적으로 저장하는 메모리 시스템 및 그 동작 방법 | |
KR20220159270A (ko) | 스토리지 장치 및 그 동작 방법 | |
CN114691534A (zh) | 控制器以及包括控制器的存储器系统 | |
KR20100051350A (ko) | 하이브리드 저장 장치 및 하이브리드 저장 장치에서 저장 성능을 개선하기 위한 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170206 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180502 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180514 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180612 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6355650 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |