JP2017538981A - ストレージデバイスによってデータを記憶するための方法およびストレージデバイス - Google Patents

ストレージデバイスによってデータを記憶するための方法およびストレージデバイス Download PDF

Info

Publication number
JP2017538981A
JP2017538981A JP2016560889A JP2016560889A JP2017538981A JP 2017538981 A JP2017538981 A JP 2017538981A JP 2016560889 A JP2016560889 A JP 2016560889A JP 2016560889 A JP2016560889 A JP 2016560889A JP 2017538981 A JP2017538981 A JP 2017538981A
Authority
JP
Japan
Prior art keywords
area
data
write request
storage
storage area
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
Application number
JP2016560889A
Other languages
English (en)
Other versions
JP6311195B2 (ja
Inventor
春恭 林
春恭 林
▲飛▼ 徐
▲飛▼ 徐
恩挺 蔡
恩挺 蔡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2017538981A publication Critical patent/JP2017538981A/ja
Application granted granted Critical
Publication of JP6311195B2 publication Critical patent/JP6311195B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

本発明は、ストレージデバイスによってデータを記憶するための解決手法を開示している。ストレージデバイスは、第1のストレージエリアおよび第2のストレージエリアを備える、ここで、第1のストレージエリアは、データ領域および予約領域を含み、第2のストレージエリアは、データ領域および予約領域を含み、ストレージデバイスは、書き込み要求の特徴を決定し、決定結果に従って、書き込み要求において搬送されたデータを対応するストレージエリアの予約領域に記憶する。

Description

本発明は、情報技術の分野に関し、詳細には、ストレージデバイスによってデータを記憶するための方法およびストレージデバイスに関する。
ソリッドステートディスク(Solid State Disk、SSD)は、図1に示したように、ストレージコントローラ101およびメディア102(例えば、フラッシュメモリチップ)を備える。ストレージコントローラ101は、中央処理ユニット1011(Center Processing Unit、CPU)およびメモリ1012を備える。SSD内のストレージは、構成単位として物理ブロック(physical block)およびページ(page)を使用して構築されている。ページが、ソリッドステートディスクにおける最小の読み込み/書き込み単位であり、ページのサイズは、4KB、8KB、または16KBであり得る。ページは、物理ブロックに組み合わされ、各物理ブロックは、32、64、または128個のページを有し得る。SSDは、ストレージ領域をデータ領域および予約領域(Over-Provisioning)に一般的に分割する。データ領域は、データが既に書き込まれている領域であり、予約領域は、空き領域であるとともに空きページを含み、データは、予約領域に書き込まれ得る。SSD内のデータ領域に既に記憶されているデータが新規データによって上書きされることになる場合には、リダイレクト・オン・ライト(Redirection On Write、ROW)機構が使用される。すなわち、SSDが新規データを論理ブロックアドレス(Logical Block Address、LBA)に書き込み、既に記憶されているデータを変更する場合には、SSDは、新規データを予約領域のページに書き込み、LBAと予約領域のページアドレスとの間のマッピング関係を確立し、データ領域の、LBAが以前マッピングされていた、ページアドレス内のデータをガベージデータとしてマークを付ける。予約領域が閾値未満である場合には、SSDは、ガベージ領域リサイクル処理をガベージデータがあるページの物理ブロックに対して行う。リサイクル処理のプロセスとは、ガベージデータがあるページの物理ブロック内の有効データを読み込み、読み込んだ有効データを予約領域に書き込み、ガベージデータがあるページの物理ブロック内のデータを消去し、物理ブロックを新規予約領域として使用することである。ガベージ領域リサイクル処理のプロセスにおいては、有効データを読み込み有効データを予約領域に書き込むプロセスを有効データの移動と称する。
ガベージ領域リサイクル処理は、ライトアンプリフィケーションを引き起こし、新たに書き込まれたデータのサイズWに対するSSDにおけるガベージ領域リサイクル処理において移動された有効データのサイズVと新たに書き込まれたデータのサイズWとの合計の比、すなわち、(V+W)/Wを、ライトアンプリフィケーションと称する。
第1の態様によれば、本発明の実施形態は、第1のストレージエリアおよび第2のストレージエリアを備える、ストレージデバイスによってデータを記憶するための解決手法を提供している、ここで、第1のストレージエリアは、データ領域および予約領域を含み、第2のストレージエリアは、データ領域および予約領域を含み、ストレージデバイスは、論理アドレスおよびデータを搬送する、書き込み要求を受信し、ストレージデバイスは、書き込み要求の特徴を決定する。
書き込み要求の特徴が第1の条件を満たす場合には、ストレージデバイスは、書き込み要求において搬送されたデータを第1のストレージエリアの予約領域の第1のストレージアドレスに書き込み、論理アドレスと第1のストレージアドレスとの間のマッピング関係を確立する、または、書き込み要求の特徴が第2の条件を満たす場合には、ストレージデバイスは、書き込み要求において搬送されたデータを第2のストレージエリアの予約領域の第2のストレージアドレスに書き込み、論理アドレスと第2のストレージアドレスとの間のマッピング関係を確立する。本発明の本実施形態においては、書き込み要求において搬送されたデータを書き込み要求の特徴に従って、異なるストレージエリアの予約領域に書き込む、そのことが、ガベージ領域リサイクル処理のプロセスにおける有効データの移動を低減するとともにライトアンプリフィケーションを低減している。
必要に応じて、ストレージデバイスは、ガベージリサイクル処理を第1のストレージエリアおよび第2のストレージエリアに対して独立して行ってもよい。ストレージデバイスがガベージ領域リサイクル処理を第1のストレージエリアおよび第2のストレージエリアに対して独立して行い得ることは、ストレージデバイスが、ガベージ領域リサイクル処理を第1のストレージエリアおよび第2のストレージエリアのうちの1つに対して行い、他方のストレージエリアに影響を及ぼさない、または、ガベージ領域リサイクル処理を第1のストレージエリアおよび第2のストレージエリアの両方に対して行い得ることを意味する。異なる特徴を有する書き込み要求については、データが、異なるストレージエリアに書き込まれ、ガベージ領域リサイクル処理が、異なるストレージエリアに設定された異なる予約領域に基づいて、ストレージエリアに対して独立して行われる。したがって、ガベージ領域リサイクル処理のプロセスにおける有効データの移動を低減することができ、ライトアンプリフィケーションを低減することができ、ガベージ領域リサイクル処理のプロセスをトリガする回数も異なる予約領域を設定することによって低減することができ、その結果、ストレージデバイス内の物理ブロックを消去する回数を低減するとともにストレージデバイスの耐用年数を増大している。
必要に応じて、第1のストレージエリアの予約領域のサイズは、第2のストレージエリアの予約領域のサイズとは異なる。
必要に応じて、第1のストレージエリアの予約領域は、第2のストレージエリアの予約領域より小さい、または、第1のストレージエリアのデータ領域に対する第1のストレージエリアの予約領域の比は、第2のストレージエリアのデータ領域に対する第2のストレージエリアの予約領域の比未満である。第2のストレージエリアがより多くの予約領域を有しているため、第2のストレージエリアにおけるガベージ領域リサイクル処理の回数を低減することができる。
必要に応じて、データを対応するストレージエリア、例えば、前述の第1または第2のストレージエリアに書き込む場合には、対応するストレージエリアの予約領域が不十分であるならば、動的な調整を行ってもよい。例えば、最大冗長クォータが使い切られていないという前提条件の下では、追加の予約領域を適用してもよく、その後、書き込み要求におけるデータが、新たに適用される予約領域に書き込まれる。
必要に応じて、ストレージデバイスによって、書き込み要求の特徴を決定するステップは、
ストレージデバイスによって、書き込み要求がシーケンシャル書き込み要求であるかランダム書き込み要求であるかを決定するステップであって、第1の条件は、シーケンシャル書き込み要求であり、第2の条件は、ランダム書き込み要求である、ステップと、異なるストレージエリアにシーケンシャル書き込み要求およびランダム書き込み要求をそれぞれ記憶するステップとを含む、そのことが、ガベージ領域リサイクル処理のプロセスにおける有効データの移動を低減するとともにライトアンプリフィケーションを低減している。加えて、シーケンシャル書き込み要求およびランダム書き込み要求の両方が存在するケースでは、ストレージデバイスのランダム書き込み性能をシーケンシャル書き込み要求の性能に影響を及ぼすことなく改善している。必要に応じて、データを基準論理アドレスに書き込むかどうかを決定する、ここで、基準論理アドレスと論理アドレスとの間のアドレス差の絶対値はLより大きくなく、Lをシーケンシャル書き込み要求に関する要件に従って設定してもよい。ある実施形態においては、データを基準論理アドレスに書き込む場合には、書き込み要求は、シーケンシャル書き込み要求であり、さもなければ、書き込み要求は、ランダム書き込み要求である。別の実施形態においては、データを基準論理アドレスに書き込まない場合には、書き込み要求は、ランダム書き込み要求である。データを基準論理アドレスに書き込む場合には、さらに、ストレージデバイスは、基準アドレスを搬送する書き込み要求を最後に受信した時間と論理アドレスを搬送する書き込み要求を最後に受信した時間との間の間隔が閾値Tより大きいかどうかを決定し、yesの場合には、書き込み要求は、ランダム書き込み要求のままであり、さもなければ、書き込み要求は、シーケンシャル書き込み要求である。Tは、特定の実施形態に従って設定されてもよい。
必要に応じて、ストレージデバイスによって、書き込み要求の特徴を決定するステップは、
ストレージデバイスによって、書き込み要求のシーケンスレベルを決定するステップであって、第1の条件は、第1のシーケンスレベルの範囲であり、第2の条件は、第2のシーケンスレベルの範囲であり、第1のシーケンスレベルの範囲の最小値は、第2のシーケンスレベルの範囲の最大値より大きい、ステップを含む。必要に応じて、シーケンスレベルは、(現在の論理アドレスのシーケンシャル書き込み要求カウントCsおよび現在の論理アドレスのランダム書き込み要求カウントCrの合計)に対する現在の論理アドレスのシーケンシャル書き込み要求カウントCsの比S(シーケンスレベル)、すなわち、C/(C+Cr)=Sである。シーケンスレベルに従って、異なるシーケンスレベルを有する書き込み要求において搬送されたデータを異なる予約領域を有する異なるストレージエリアにそれぞれ記憶し得る、そのことが、ガベージ領域リサイクル処理のプロセスにおける有効データの移動を低減するとともにライトアンプリフィケーションを低減している。
必要に応じて、ストレージデバイスによって、書き込み要求の特徴を決定するステップは、
ストレージデバイスによって、書き込み要求のランダムネスレベルを決定するステップであって、
第1の条件は、第1のランダムネスレベルの範囲であり、第2の条件は、第2のランダムネスレベルの範囲であり、第1のランダムネスレベルの範囲の最大値は、第2のランダムネスレベルの範囲の最小値未満である、ステップを含む。必要に応じて、ランダムネスレベルは、(現在の論理アドレスのシーケンシャル書き込み要求カウントCsおよび現在の論理アドレスのランダム書き込み要求カウントCrの合計)に対する現在の論理アドレスのランダム書き込み要求カウントCrの比R、すなわち、Cr/(Cr+C)=Rである。ランダムネスレベルに従って、異なるランダムネスレベルを有する書き込み要求において搬送されたデータを別々に記憶し得る、そのことが、ガベージ領域リサイクル処理のプロセスにおける有効データの移動を低減するとともにライトアンプリフィケーションを低減している。
必要に応じて、ストレージデバイスによって、書き込み要求の特徴を決定するステップは、
ストレージデバイスによって、書き込み要求において搬送されたデータのサイズを決定するステップであって、
第1の条件は、第1のストレージエリアに記憶されている第1のデータ範囲であり、第2の条件は、第2のストレージエリアに記憶されている第2のデータ範囲であり、第1のデータ範囲の最小値は、第2のデータ範囲の最大値より大きい、ステップを含む。ストレージデバイスは、異なるストレージエリアを備え、各ストレージエリアは、対応するデータストレージ範囲を記憶している、そのことが、ガベージリサイクル処理のプロセスにおける有効データの移動を低減するとともにライトアンプリフィケーションを低減し得る。必要に応じて、データ範囲は、ストレージエリアに記憶されている書き込み要求において搬送されたデータのサイズの区間を指す。
必要に応じて、複数の書き込み要求が同時に送信されるケースでは、ストレージデバイスは、ストレージデバイスの書き込み性能を改善するために、第1の条件を満たしている書き込み要求を優先的に処理する。
必要に応じて、ストレージデバイスは、SSD、または、瓦記録(Shingled Magnetic Recording、SMR)ディスク、または、ガベージ領域リサイクル処理機能を有するとともにROW機構に基づいたストレージアレイである。
第1の態様において実施される解決手法と対応する、第2の態様によれば、本発明の実施形態は、ストレージデバイスによってストレージエリアを分割するための解決手法をさらに提供している。ストレージデバイスは、ストレージ領域を第1のストレージエリアおよび第2のストレージエリアに分割する、ここで、第1のストレージエリアは、データ領域および予約領域を含み、第2のストレージエリアは、データ領域および予約領域を含む、ここで、第1のストレージエリアの予約領域は、第1の書き込み要求において搬送されたデータを記憶するように構成され、第2のストレージエリアの予約領域は、第2の書き込み要求において搬送されたデータを記憶するように構成され、第1の書き込み要求の特徴は、第1の条件を満たし、第2の書き込み要求の特徴は、第2の条件を満たす。
必要に応じて、対応する数量のストレージエリアが、書き込み要求のシーケンスレベルまたはランダムネスレベルのクラス番号に従って分割されてもよく、対応する予約領域が、シーケンスレベルまたはランダムネスレベルの各クラスの値に従って、設定される。ストレージエリアの分割および対応する予約領域の設定をあらかじめ行ってもよいし、または、動的な分割および設定を使用中に行ってもよい。
第1の態様および第2の態様に対応する、第3の態様によれば、本発明の実施形態は、本発明の実施形態の第1の態様および第2の態様において提供した実施形態の解決手法を実施するために、第1の態様および第2の態様の実施形態におけるストレージデバイスとして別々に使用される、ストレージデバイスをさらに提供している。ストレージデバイスは、第1の態様および第2の態様における本発明の実施形態の解決手法を実施する構造的ユニットを備える、または、ストレージデバイスは、第1の態様および第2の態様における実施形態の解決手法を実施するためにストレージコントローラを備える。
それに対応するように、本発明の実施形態は、不揮発性コンピュータ可読記憶媒体およびコンピュータプログラム製品をさらに提供している。不揮発性コンピュータ可読記憶媒体およびコンピュータプログラム製品に含まれるコンピュータ命令が、本発明の実施形態において提供したストレージデバイスのストレージコントローラのメモリにロードされ、ストレージコントローラのCPUが、コンピュータ命令を実行すると、ストレージデバイスは、第1の態様および第2の態様の実施形態におけるストレージデバイスの機能を行って、本発明の実施形態の第1の態様および第2の態様において提供した解決手法を実施する。
SSDの概略構造図である。 本発明の実施形態による、フローチャートである。 本発明の実施形態による、ストレージエリアの概略図である。 本発明の実施形態による、ストレージエリアの概略図である。 本発明の実施形態による、ストレージエリアの概略図である。 本発明の実施形態による、ストレージエリアの概略図である。 本発明の実施形態による、ストレージエリアの概略図である。 本発明の実施形態による、ストレージエリアの概略図である。 本発明の実施形態による、ストレージエリアの概略図である。 本発明の実施形態による、ストレージデバイスの概略図である。 本発明の実施形態による、ストレージデバイスの概略図である。
SSDを本発明の実施形態における例として使用する。本発明の本実施形態においては、SSDは、第1のストレージエリアVd1および第2のストレージエリアVd2を備える。Vd1は、データ領域および予約領域を含み、Vd2は、データ領域および予約領域を含み、Vd1の予約領域のサイズは、Vd2の予約領域のサイズとは異なる。本発明の本実施形態においては、SSDは、ガベージ領域リサイクル処理をVd1およびVd2に対して独立して行い得る。SSDがガベージ領域リサイクル処理をVd1およびVd2に対して独立して行い得ることは、SSDが、ガベージ領域リサイクル処理をVd1およびVd2のうちの1つに対して行い、他方のストレージエリアに影響を及ぼさない、または、ガベージ領域リサイクル処理をVd1およびVd2の両方に対して行い得ることを意味する。異なる特徴を有する書き込み要求については、データが、異なるストレージエリアに書き込まれ、ガベージ領域リサイクル処理が、異なるストレージエリアに設定された異なる予約領域に基づいて、ストレージエリアに対して独立して行われる。したがって、ガベージ領域リサイクル処理のプロセスにおける有効データの移動を低減することができ、ライトアンプリフィケーションを低減することができ、ガベージ領域リサイクル処理のプロセスをトリガする回数も異なる予約領域を設定することによって低減することができ、その結果、SSD内の物理ブロックを消去する回数を低減するとともにSSDの耐用年数を増大している。
本発明の本実施形態におけるSSDの前述の特性を本発明の実施形態における別のストレージデバイスにさらに適用してもよく、そのため、その詳細を本明細書では再び説明しない。
図2に示したように、本発明の実施形態は、以下のステップを含む。
ステップ201: 書き込み要求を受信する。
SSDは、LBAおよびデータを搬送する、書き込み要求を受信する。
ステップ202: 書き込み要求の特徴を決定する。
書き込み要求の特徴を決定する実施様態は、以下のことを含む。
特に、書き込み要求を受信した場合には、SSDは、書き込み要求がシーケンシャル書き込み要求であるかランダム書き込み要求であるかを決定する。本発明の本実施形態においては、SSDは、各書き込み要求を受信した時間、および書き込み要求において搬送されたLBAアドレスを記録する。特定の実施様態においては、書き込み要求がシーケンシャル書き込み要求(図2に示した第1の条件)であるかランダム書き込み要求(図2に示した第2の条件)であるかを決定するための方法は、以下の通りである。
SSDは、受信した書き込み要求において搬送されたLBA、および書き込み要求を最後に受信した時間を記録する。書き込み要求において搬送されたLBAmに従って、SSDは、データをLBAn(基準論理アドレスと称する)に書き込むかどうかのクエリを行う、ここで、LBAmとLBAnとの間の差の絶対値はLより大きくなく、Lをシーケンシャル書き込み要求に関する要件に従って設定してもよい。データをLBAnに書き込まない場合には、LBAmを搬送する書き込み要求は、ランダム書き込み要求である。ある実施様態においては、データをLBAnに書き込む場合には、LBAmを搬送する書き込み要求は、シーケンシャル書き込み要求である。別の実施様態においては、データをLBAnに書き込む場合には、SSDは、LBAnを搬送する書き込み要求を最後に受信した時間とLBAmを搬送する書き込み要求を最後に受信した時間との間の間隔が閾値Tより大きいかどうかをさらに決定する。間隔がTより大きい場合には、LBAmを搬送する書き込み要求は、ランダム書き込み要求である。間隔がTより大きくない場合には、LBAmを搬送する書き込み要求は、シーケンシャル書き込み要求である。Tは、特定の実施形態に従って設定されてもよく、本発明の本実施形態に限定されない。シーケンシャル書き込み要求は、一般的に、同一のファイルまたはアプリケーションからの書き込み要求であり、ランダム書き込み要求は、異なるファイルまたはアプリケーションからの書き込み要求である。
本発明の本実施形態においては、SSDは、図2に示した第1のストレージエリア(Vd1)および図2に示した第2のストレージエリア(Vd2)を備える、ここで、Vd1およびVd2の各々は、1つまたは複数の物理ブロックを含む。図3に示したように、本発明の本実施形態においては、Vd1はY個の物理ブロックを含む、ここで、各物理ブロックは(n+1)個のページを含み、Vd1はシーケンシャル書き込み要求において搬送されたデータを記憶するように構成され、第1の物理ブロックから第(Y-2)の物理ブロックはVd1のデータ領域を形成し、第(Y-1)の物理ブロックおよび第Yの物理ブロックは予約領域を形成する。
図4に示したように、SSDは、第1のシーケンシャル書き込み要求を受信する、ここで、第1のシーケンシャル書き込み要求において搬送された論理アドレスはLBA1である。LBA1は、Vd1内の第1の物理ブロックの(n+1)個のページに既にマッピングされており、すなわち、LBA1は、Vd1内の第1の物理ブロックのページ0からページnにマッピングされている。SSDのROW機構に基づいて、SSDは、第1のシーケンシャル書き込み要求において搬送されたデータをVd1内の第(Y-1)の物理ブロックの予約領域に書き込み、LBA1とVd1内の第(Y-1)の物理ブロックの(n+1)個のページとの間のマッピングを確立し、すなわち、LBA1とVd1内の第(Y-1)の物理ブロックのページ0からページnとの間のマッピングを確立し、Vd1内の第1の物理ブロックのページ0からページnにあるデータをガベージデータとして識別する(そして、LBA1とVd1内の第1の物理ブロックの(n+1)個のページとの間のマッピングを消去する)。SSDは、第2のシーケンシャル書き込み要求を受信する、ここで、第2のシーケンシャル書き込み要求において搬送された論理アドレスはLBA2である。LBA2は、Vd1内の第2の物理ブロックの(n+1)個のページに既にマッピングされており、すなわち、LBA2は、Vd1内の第2の物理ブロックのページ0からページnにマッピングされている。SSDのROW機構に基づいて、SSDは、第2のシーケンシャル書き込み要求において搬送されたデータをVd1内の第Yの物理ブロックの予約領域に書き込み、LBA2とVd1内の第Yの物理ブロックの(n+1)個のページとの間のマッピングを確立し、すなわち、LBA2とVd1内の第Yの物理ブロックのページ0からページnとの間のマッピングを確立し、Vd1内の第2の物理ブロックのページ0からページnにあるデータをガベージデータとして識別する(そして、LBA2とVd1内の第2の物理ブロックの(n+1)個のページとの間のマッピングを消去する)。
図4に示したVd1内の予約領域が0個に変化するので、ガベージ領域リサイクル処理を開始する必要がある。ガベージ領域リサイクル処理を、Vd1内で最も多くのガベージデータを含む物理ブロックに対して行う。本発明の本実施形態においては、図4に示した第1の物理ブロックおよび第2の物理ブロックが、最も多くのガベージデータを含む。したがって、第1の物理ブロックおよび第2の物理ブロックに対するガベージ領域リサイクル処理を開始する。図5に示したように、ガベージ領域リサイクル処理のプロセスにおいては、Vd1内の第1の物理ブロックおよび第2の物理ブロックのページに記憶されているデータがすべてガベージデータであるため、有効データが存在しておらず、有効データの移動を行う必要がない、すなわち、ライトアンプリフィケーションが存在しない。したがって、シーケンシャル書き込み要求がVd1に記憶されており、ガベージ領域リサイクル処理のプロセスにおいて、有効データの移動およびライトアンプリフィケーションをVd1において低減している。加えて、ガベージ領域リサイクル処理のプロセスにおいて有効データが存在してないかわずかな有効データが存在しているかであるため、少量の予約領域がVd1に割り振られ得る。
図6に示したように、本発明の本実施形態においては、Vd2はX個の物理ブロックを含む、ここで、各物理ブロックは(n+1)個のページを含み、Vd2はランダム書き込み要求において搬送されたデータを記憶するように構成され、第1の物理ブロックから第(X-3)の物理ブロックはVd2のデータ領域を形成し、第(X-2)の物理ブロックから第Xの物理ブロックは予約領域を形成する。
図7に示したように、SSDは、第1のランダム書き込み要求を受信する、ここで、第1のランダム書き込み要求において搬送された論理アドレスはLBA1'である。LBA1'は、Vd2内の第1の物理ブロックの最初のm個のページに既にマッピングされており、すなわち、LBA1'は、Vd2内の第1の物理ブロックのページ0からページm-1にマッピングされている。SSDのROW機構に基づいて、SSDは、第1のランダム書き込み要求において搬送されたデータをVd2内の第(X-2)の物理ブロックの予約領域に書き込み、LBA1'とVd2内の第(X-2)の物理ブロックの最初のm個のページとの間のマッピングを確立し、すなわち、LBA1'とVd2内の第(X-2)の物理ブロックのページ0からページm-1との間のマッピングを確立し、Vd2内の第1の物理ブロックのページ0からページm-1にあるデータをガベージデータとして識別する(そして、LBA1'とVd2内の第1の物理ブロックの最初のm個のページとの間のマッピングを消去する)。SSDは、第2のランダム書き込み要求を受信する、ここで、第2のランダム書き込み要求において搬送された論理アドレスはLBA3'である。LBA3'は、Vd2内の第2の物理ブロックの最初の(n+1-m)個のページに既にマッピングされており、すなわち、LBA3'は、Vd2内の第2の物理ブロックのページ0からページn-mにマッピングされている。SSDのROW機構に基づいて、SSDは、第2のランダム書き込み要求において搬送されたデータをVd2内の第(X-2)の物理ブロックの予約領域に書き込み、LBA3'とVd2内の第(X-2)の物理ブロックの最初の(n+1-m)個のページとの間のマッピングを確立し、すなわち、LBA3'とVd2内の第(X-2)の物理ブロックのページmからページnとの間のマッピングを確立し、Vd2内の第2の物理ブロックのページ0からページn-mにあるデータをガベージデータとして識別する(そして、LBA3'とVd2内の第2の物理ブロックの最初の(n+1-m)個のページとの間のマッピングを消去する)。
図8に示したように、Vd2内の予約領域が閾値未満でありガベージ領域リサイクル処理が開始されている場合には、リサイクル処理を行う必要がある物理ブロックがVd2内の第1の物理ブロックおよび第2の物理ブロックであると決定する。有効データが、第1の物理ブロックのページmからページnに記憶されており、有効データの移動を行う必要がある。本発明の本実施形態においては、第1の物理ブロックのページmからページnに記憶されている有効データをVd2内の第(X-1)の物理ブロックのページ0からページn-mに移動し、LBA4'とVd2内の第(X-1)の物理ブロックのページ0からページm-1との間のマッピングを確立する。加えて、Vd2内の第2の物理ブロックのページmからページnに記憶されている有効データをVd2内の第(X-1)の物理ブロックのページmからページnに移動し、LBA2'とVd2内の第(X-1)の物理ブロックのページmからページnとの間のマッピングを確立する。SSDは、Vd2内の第1の物理ブロックおよび第2の物理ブロックにあるデータを消去し、第1の物理ブロックおよび第2の物理ブロックは、予約領域として使用される。
本発明の本実施形態においては、Vd1は、シーケンシャル書き込み要求において搬送されたデータを記憶するように構成され、Vd2は、ランダム書き込み要求において搬送されたデータを記憶するように構成され、シーケンシャル書き込み要求において搬送されたデータおよびランダム書き込み要求において搬送されたデータを、書き込み要求の特徴に従って、異なるストレージエリアにそれぞれ記憶している、そのことが、ガベージ領域リサイクル処理のプロセスにおける有効データの移動を低減するとともにライトアンプリフィケーションを低減している。
本発明の本実施形態においては、より多くの予約領域がVd2に割り振られている、すなわち、Vd2の予約領域がVd1の予約領域より大きい、そのことが、ガベージ領域リサイクル処理の回数を低減し得るし、その結果、Vd2内の物理ブロックを消去する回数を低減するとともにSSDの耐用年数を増大している。別の実施形態においては、Vd2のデータ領域に対するVd2の予約領域の比は、Vd1のデータ領域に対するVd1の予約領域の比より大きい、そのことが、本発明の本実施形態におけるガベージ領域リサイクル処理の回数を低減する効果も実現し得る。
本発明の本実施形態においては、SSDは、Vd1およびVd2を備える、ここで、Vd1は、シーケンシャル書き込み要求において搬送されたデータを記憶するように構成され、Vd2は、ランダム書き込み要求において搬送されたデータを記憶するように構成される。ランダム書き込み要求およびシーケンシャル書き込み要求の両方が存在するケースでは、シーケンシャル書き込み要求の性能に影響を及ぼすことなく、SSDのランダム書き込み性能を改善している。
必要に応じて、データを対応するストレージエリア、例えば、前述の第1または第2のストレージエリアに書き込む場合には、対応するストレージエリアの予約領域が不十分であるならば、動的な調整を行ってもよい。例えば、最大冗長クォータが使い切られていないという前提条件の下では、追加の予約領域を適用してもよく、その後、書き込み要求におけるデータが、新たに適用される予約領域に書き込まれる。
必要に応じて、複数の書き込み要求が同時に送信されるケースでは、SSDが受信した書き込み要求がシーケンシャル書き込み要求およびランダム書き込み要求の両方を含む場合には、書き込み性能を改善するために、シーケンシャル書き込み要求において搬送されたデータを第1のストレージエリアに優先的に書き込んでもよい。
本発明の実施形態は、書き込み要求の特徴を決定するステップ2の別の実施形態の解決手法、すなわち、SSDによって、書き込み要求において搬送されたLBAにおけるシーケンシャル書き込み要求カウントおよびランダム書き込み要求カウントに関する統計を収集するステップを提供している。本発明の本実施形態においては、書き込み要求において搬送されたLBAにおけるシーケンシャル書き込み要求カウントを書き込み要求のシーケンシャル書き込み要求カウントとも称し、書き込み要求において搬送されたLBAにおけるランダム書き込み要求カウントを書き込み要求のランダム書き込み要求カウントとも称する。
例えば、LBAmを搬送する書き込み要求がシーケンシャル書き込み要求であるとSSDが決定した場合には、LBAmのシーケンシャル書き込み要求カウントCsを1ずつ増大する、または、LBAmを搬送する書き込み要求がランダム書き込み要求であるとSSDが決定した場合には、LBAmのランダム書き込み要求カウントCrを1ずつ増大する。(LBAmの現在のシーケンシャル書き込み要求カウントCsおよびLBAmの現在のランダム書き込み要求カウントCrの合計)で割ったLBAmの現在のシーケンシャル書き込み要求カウントCsの値S(シーケンスレベル)を計算する。Sが図2に示した第1の条件(第1のシーケンスレベルの範囲)を満たす場合には、書き込み要求において搬送されたデータをVd1に書き込む、または、Sが図2に示した第2の条件(第2のシーケンスレベルの範囲)を満たす場合には、書き込み要求において搬送されたデータをVd2に書き込む。例えば、第1のシーケンスレベルの範囲は、0.8より大きくて1より大きくなく、第2のシーケンスレベルの範囲は、0.8より大きくない。Vd1に記憶されているデータに対応する書き込み要求のシーケンスレベルは、Vd2に記憶されているデータに対応する書き込み要求のシーケンスレベルより大きく、Vd1内の物理ブロックは、Vd2内の物理ブロックがガベージ領域リサイクル処理のプロセスにおいて行うものより少ない有効データの移動を生じることになり、それによって、ライトアンプリフィケーションを低減している。
Vd1に記憶されているデータに対応する書き込み要求のシーケンスレベルは、Vd2に記憶されているデータに対応する書き込み要求のシーケンスレベルより大きく、SSDによってVd1に割り振られている予約領域は、Vd2の予約領域より小さい、または、Vd1のデータ領域に対するVd1の予約領域の比は、Vd2のデータ領域に対するVd2の予約領域の比未満である。本実施様態においては、Vd2におけるガベージ領域リサイクル処理の回数を低減しており、それによって、Vd2内の物理ブロックを消去する回数を低減するとともにSSDの耐用年数を増大している。さらに、書き込み要求が、異なるシーケンスレベルに従って、異なるエリアにそれぞれ書き込まれる、したがって、より高いシーケンスレベルを有する書き込み要求に影響を及ぼすことなく、SSDのランダム書き込み性能を改善している。
必要に応じて、複数の書き込み要求が同時に送信されるケースでは、書き込み性能を改善するために、SSDが受信した書き込み要求が異なるシーケンスレベルを有している場合には、より高いシーケンスレベルを有する書き込み要求を優先的に処理してもよいし、または、SSDが受信した書き込み要求が異なるランダムネスレベルを有している場合には、より低いランダムネスレベルを有する書き込み要求を優先的に処理してもよい。
別の実施様態は、ランダムネスレベルRに基づいてもよい。LBAmを搬送する書き込み要求がシーケンシャル書き込み要求であるとSSDが決定した場合には、LBAmのシーケンシャル書き込み要求カウントCsを1ずつ増大する、または、LBAmを搬送する書き込み要求がランダム書き込み要求であるとSSDが決定した場合には、LBAmのランダム書き込み要求カウントCrを1ずつ増大する。(LBAmの現在のシーケンシャル書き込み要求カウントCsおよびLBAmの現在のランダム書き込み要求カウントCrの合計)で割ったLBAmの現在のランダム書き込み要求カウントCrの値R(ランダムネスレベル)を計算する。Rが図2に示した第1の条件(第1のランダムネスレベルの範囲)を満たす場合には、書き込み要求において搬送されたデータをVd1に書き込む、または、Rが図2に示した第2の条件(第2のランダムネスレベルの範囲)を満たす場合には、書き込み要求において搬送されたデータをVd2に書き込む。例えば、第1のランダムネスレベルの範囲は、0.2より大きくなく、第2のランダムネスレベルの範囲は、0.2より大きいが1より大きくない。Vd1に記憶されているデータに対応する書き込み要求のランダムネスレベルは、Vd2に記憶されているデータに対応する書き込み要求のランダムネスレベル未満であり、Vd1内の物理ブロックは、Vd2内の物理ブロックがガベージ領域リサイクル処理のプロセスにおいて行うものより少ない有効データの移動を生じることになり、それによって、ライトアンプリフィケーションを低減している。
Vd1に記憶されているデータに対応する書き込み要求のランダムネスレベルは、Vd2に記憶されているデータに対応する書き込み要求のランダムネスレベル未満であり、SSDによってVd1に割り振られている予約領域は、Vd2の予約領域より小さい、または、Vd1のデータ領域に対するVd1の予約領域の比は、Vd2のデータ領域に対するVd2の予約領域の比未満である。本実施様態においては、Vd2におけるガベージ領域リサイクル処理の回数を低減しており、それによって、Vd2内の物理ブロックを消去する回数を低減するとともにSSDの耐用年数を増大している。さらに、書き込み要求が、異なるランダムネスレベルに従って、異なるエリアにそれぞれ書き込まれる、したがって、より低いランダムネスレベルを有する書き込み要求に影響を及ぼすことなく、SSDのランダム書き込み性能を改善している。
必要に応じて、対応する数量のストレージエリアが、書き込み要求のシーケンスレベルまたはランダムネスレベルのクラス番号に従って分割されてもよく、対応する予約領域が、シーケンスレベルまたはランダムネスレベルの各クラスの値に従って、設定される。ストレージエリアの分割および対応する予約領域の設定をあらかじめ行ってもよいし、または、動的な分割および設定を使用中に行ってもよい。
本発明の実施形態は、書き込み要求の特徴を決定するステップ2の別の実施形態の解決手法、すなわち、書き込み要求において搬送されたデータのサイズを決定するステップと、書き込み要求において搬送されたデータのサイズに従って、ストレージエリアを決定するステップとを提供している。
図9に示したように、SSDは、Vd1、Vd2、…、およびVd9として参照符号が付けられている、9つのストレージエリアを備える。本発明の本実施形態においては、ある実施様態においては、各ストレージエリアは、R個の物理ブロックを含み、各物理ブロックは、(n+1)個のページを含む。別の実施様態においては、各ストレージエリアは異なる数量の物理ブロックを含んでいてもよく、本発明の本実施形態に限定されない。SSDは、書き込み要求において搬送されたデータのサイズに従って、ストレージエリアを選択する。Vd1は、(0-4KB]のデータを記憶するように構成され、Vd2は、(4KB-8KB]のデータを記憶するように構成され、Vd3は、(8KB-16KB]のデータを記憶するように構成され、Vd4は、(16KB-32KB]のデータを記憶するように構成され、Vd5は、(32KB-64KB]のデータを記憶するように構成され、Vd6は、(64KB-128KB]のデータを記憶するように構成され、Vd7は、(128KB-256KB]のデータを記憶するように構成され、Vd8は、(256KB-512KB]のデータを記憶するように構成され、Vd9は、512KBより大きいデータを記憶するように構成される。(4KB-8KB]のデータをデータ範囲のデータとも称する。データ範囲は、ストレージエリアに記憶されている書き込み要求において搬送されたデータのサイズの区間を指す。Vd1のデータ範囲は、Vd1に記憶されている書き込み要求において搬送されたデータのサイズが4KBより大きくないことを表している。書き込み要求を受信した場合には、SSDは、各ストレージエリアに記憶されているデータ範囲に従って、書き込み要求において搬送されたデータを記憶するために使用されるストレージエリアを決定する。例えば、図2に示した第2のストレージエリアは、Vd1である。Vd1のデータ範囲にあるデータは4KBより大きくない(図2に示した第2の条件)ため、複数の書き込み要求において搬送されたデータが同一の物理ブロックに記憶される。いくつかのデータが変更により無効データとして識別され、ガベージ領域リサイクル処理が物理ブロックに対して行われた場合には、物理ブロックに記憶されている別の書き込み要求において搬送されたデータが有効データとして使用され、有効データの移動を行う必要があり、それによって、ライトアンプリフィケーションが引き起こされる。例えば、Vd9は、図2に示した第1のストレージエリアである。Vd9のデータ範囲にあるデータは512KBより大きい(図2に示した第1の条件)ため、同一の書き込み要求または少量の書き込み要求において搬送されたデータが同一の物理ブロックに記憶される。したがって、SSDが物理ブロック内のデータを変更するための書き込み要求を再び受信した場合には、全物理ブロックのページに記憶されているデータがガベージデータとして識別される。ガベージ領域リサイクル処理を物理ブロックに対して行う場合には、全物理ブロック内のデータのすべてまたはほとんどがガベージデータであるため、有効データの移動が生じないか、少量の有効データの移動だけが生じるかである、つまり、ライトアンプリフィケーションが引き起こされることはないか、小さなライトアンプリフィケーションが引き起こされるかである。したがって、SSDが異なるストレージエリアに分割され、各ストレージエリアが対応するデータストレージ範囲を記憶している、そのことが、ガベージ領域リサイクル処理のプロセスにおける有効データの移動を低減するとともにライトアンプリフィケーションを低減し得る。必要に応じて、書き込み要求において搬送されたデータのサイズは、対応するストレージエリアを決定する。より多くの予約領域を、大きなデータを記憶しているデータ範囲に対応するストレージエリアに割り振るより、小さなデータを記憶しているデータ範囲に対応するストレージエリアに割り振る、または、小さなデータを記憶しているデータ範囲に対応するストレージエリアのデータ領域に対する小さなデータを記憶しているデータ範囲に対応するストレージエリアの予約領域の比は、大きなデータを記憶しているデータ範囲に対応するストレージエリアのデータ領域に対する大きなデータを記憶しているデータ範囲に対応するストレージエリアの予約領域の比より大きい、そのことが、ガベージ領域リサイクル処理の回数を低減し、物理ブロックを消去する回数を低減し、SSDの耐用年数を増大し得る。
必要に応じて、複数の書き込み要求が同時に送信されるケースでは、異なるサイズのデータを搬送する書き込み要求を受信した場合には、SSDは、書き込み性能を改善するために、比較的大きなサイズのデータを搬送する書き込み要求を優先的に処理してもよい。
本発明の本実施形態においては、SSDによってVd1に割り振られている予約領域は、Vd2の予約領域より小さい、または、Vd1のデータ領域に対するVd1の予約領域の比は、Vd2のデータ領域に対するVd2の予約領域の比未満である。特定の実施形態においては、異なる予約領域クォータの重みを、Vd1およびVd2における書き込み要求の対応する特徴に従って決定してもよい。Vd1に割り振られている予約領域は、Vd2の予約領域より小さい、または、Vd1のデータ領域に対するVd1の予約領域の比は、Vd2のデータ領域に対するVd2の予約領域の比未満であり、本発明の本実施形態に限定されない。
本発明の本実施形態においては、書き込み要求において搬送されたデータをページに書き込んだ後に、LBAとページとの間のマッピング関係が確立されており、SSDの特定の実施形態によれば、LBAからデータが書き込まれているページがある物理ブロックへのマッピングがまず確立されてもよい。特定の実施形態については、SSDのマッピング機構を参照されたい、ただし、本発明に限定されない、そのため、その詳細を本明細書では再び説明しない。
本発明を瓦記録(Shingled Magnetic Recording、SMR)ディスクにさらに適用してもよい。SMRディスクの特別な構造により、データをトラックAに書き込む場合には、トラックAの後のL個のトラック上のデータは上書きされ、トラックAの前のトラック上のデータは上書きされない。したがって、M(M>=L)個のトラックがSMRディスク内のゾーン(zone)を形成するために一般的に使用され、ゾーン内の物理領域内のデータがシーケンシャルに書き込まれ、ゾーン内の有効データが書き込みの前にまず移動される。SMRディスクは、一般的に、ROW機構を使用し、物理ストレージ領域をデータゾーン(データが既に記憶されているゾーン)および予約ゾーン(空きゾーン)に分割し、論理アドレスから物理ストレージ領域へのマッピングを記録する。データを書き込む場合には、データを予約ゾーンの領域にシーケンシャルに書き込み、論理アドレスをデータが新たに書き込まれた物理アドレスにその後マッピングし、論理アドレスが以前マッピングされていた物理アドレスに記憶されているデータをガベージデータとしてマークを付ける。予約ゾーンの数量が閾値未満であった後に、ガベージ領域リサイクル処理を開始し、最も多くのガベージデータを有するゾーンを見つけ、ゾーン内の有効データを移動し、ゾーンは、データが引き続き書き込まれ得る予約ゾーンとなる。SMRディスク内のゾーンは、SSD内の物理ブロックのものと類似した特性を有する。したがって、本発明の実施形態におけるSSD内のガベージデータにおいて有効データの移動を低減している解決手法をSMRディスクにも適用してもよい。SMRディスクを異なるストレージエリアに分割する、ここで、各ストレージエリアは複数のゾーン(データゾーンおよび予約ゾーンを含む)を含み、異なるサイズを有する予約ゾーンが異なるストレージエリアに割り振られ、書き込み要求の特徴を決定する。例えば、書き込み要求がランダム書き込み要求であるかシーケンシャル書き込み要求であるかを決定する、または、書き込み要求のシーケンスレベルを決定する、または、書き込み要求のランダムネスレベルを決定する、または、書き込み要求において搬送されたデータのサイズを決定する。書き込み要求において搬送されたデータは、特定のストレージエリアの予約ゾーンに記憶される、その結果、ガベージ領域リサイクル処理中のSMRディスクにおける有効データの移動を低減するとともにライトアンプリフィケーションを低減している。特定の実施形態については、SSDの実施形態の解決手法を参照すればよいので、その詳細を本発明の本実施形態においては本明細書では再び説明しない。予約ゾーンをSMRディスク内の異なるストレージエリアに割り振り得る方式については、予約領域をSSD内の異なるストレージエリアに割り振る上述した方式を参照されたい。
加えて、ガベージ領域リサイクル処理機能を有するとともにROW機構に基づいたストレージアレイにおいては、例えば、オールSSDストレージアレイおよびハードディスクドライブ(HDD)ストレージアレイにおいては、ストレージアレイコントローラは、構成単位(例えば、1MB)に従って、各ハードディスクの論理ブロックアドレスをブロックに分割する。1つのブロックをN個のディスクの各ディスクから取り出し、条件(例えば、レイド(Redundant Array of Independent Disks, RAID)のセグメント)を満たすセグメント(segment)を形成する、例えば、RAID6(3データブロック+2チェックブロックを含む)を形成する。シーケンシャル書き込み方式が、書き込み性能を改善するためにセグメントにおいて使用される。セグメント内のデータを上書きできず、書き込む前にセグメント内の有効データをまず移動する必要がある。ストレージアレイコントローラは、ストレージ領域をデータセグメント(データが既に書き込まれているセグメント)および予約セグメント(空きセグメント)に分割し、論理アドレスから物理ストレージ領域へのマッピングを記録する。データを書き込む場合には、ストレージアレイコントローラは、データを予約セグメントにシーケンシャルに書き込み、その後、論理アドレスをデータが新たに書き込まれた物理アドレスにマッピングし、論理アドレスが以前マッピングされていた物理アドレスに記憶されているデータをガベージデータとしてマークを付ける。予約セグメントの数量が閾値未満であった後に、ガベージ領域リサイクル処理を開始し、最も多くのガベージデータを有するセグメントを見つけ、セグメント内の有効データブロックを移動し、セグメントは、データが引き続き書き込まれ得る予約セグメントとなる。
前述のストレージアレイにおいては、セグメントは、SSD内の物理ブロックのものと類似した特性を有する。したがって、本発明の実施形態におけるSSD内のガベージデータリサイクル処理中に有効データの移動を低減している解決手法を前述のストレージアレイにも適用してもよい。ストレージアレイを異なるストレージエリアに分割する、ここで、各ストレージエリアは、複数のセグメント(データセグメントおよび予約セグメントを含む)を含み、書き込み要求の特徴を決定する。例えば、書き込み要求がランダム書き込み要求であるかシーケンシャル書き込み要求であるかを決定する、または、書き込み要求のシーケンスレベルを決定する、または、書き込み要求のランダムネスレベルを決定する、または、書き込み要求において搬送されたデータのサイズを決定する。書き込み要求において搬送されたデータは、特定のストレージエリアの予約セグメントに記憶される、その結果、ガベージ領域リサイクル処理中のストレージアレイにおける有効データの移動を低減するとともにライトアンプリフィケーションを低減している。特定の実施形態については、SSDの実施形態の解決手法を参照すればよいので、その詳細を本発明の本実施形態においては本明細書では再び説明しない。予約セグメントをストレージアレイ内の異なるストレージエリアに割り振り得る方式については、予約領域をSSD内の異なるストレージエリアに割り振る上述した方式を参照されたい。
本発明の本実施形態は、フラッシュメモリメディアおよび類似した特性を有する記憶媒体を使用して形成された別の製品にさらに適用されてもよい。
必要に応じて、本発明の実施形態においては、一例としてSSDを使用すれば、SSDは、3つ以上のストレージエリアを備えていてもよい。さらに、SSDは、複数の方式で書き込み要求の特徴を決定してもよい。例えば、SSDは、第1のストレージエリアおよび第2のストレージエリアを備え、書き込み要求がシーケンシャル書き込み要求であるかランダム書き込み要求であるかを決定する。書き込み要求がシーケンシャル書き込み要求である場合には、SSDは、書き込み要求において搬送されたデータを第1のストレージエリアに書き込む、または、書き込み要求がランダム書き込み要求である場合には、SSDは、書き込み要求において搬送されたデータを第2のストレージエリアに書き込む。SSDは、第3のストレージエリアおよび第4のストレージエリアをさらに備え、書き込み要求のシーケンスレベルまたはランダムネスレベルを決定し、書き込み要求のシーケンスレベルまたはランダムネスレベルに従って、書き込み要求において搬送されたデータを第3のストレージエリアまたは第4のストレージエリアに書き込む。必要に応じて、SSDは、第5のストレージエリアおよび第6のストレージエリアをさらに備え、書き込み要求において搬送されたデータのサイズを決定し、書き込み要求において搬送されたデータのサイズに従って、書き込み要求において搬送されたデータを第5のストレージエリアまたは第6のストレージエリアに書き込む。特定の実施様態の組合せは本発明に限定されない。
本発明の実施形態は、図10に示したように、ストレージコントローラ1001、第1のストレージエリア1002、および第2のストレージエリア1003を備える、ストレージデバイスを提供している、ここで、第1のストレージエリア1002は、データ領域および予約領域を含み、第2のストレージエリア1003は、データ領域および予約領域を含む。ストレージコントローラ1001は、図2に示した本発明の実施形態を行うように構成される。特に、ストレージコントローラ1001は、論理アドレスおよびデータを搬送する、書き込み要求を受信し、書き込み要求の特徴を決定する。書き込み要求の特徴が第1の条件を満たす場合には、ストレージコントローラ1001は、書き込み要求において搬送されたデータを第1のストレージエリア1002の予約領域の第1のストレージアドレスに書き込み、論理アドレスと第1のストレージアドレスとの間のマッピング関係を確立する、または、書き込み要求の特徴が第2の条件を満たす場合には、ストレージコントローラ1001は、書き込み要求において搬送されたデータを第2のストレージエリア1003の予約領域の第2のストレージアドレスに書き込み、論理アドレスと第2のストレージアドレスとの間のマッピング関係を確立する。必要に応じて、図10に示したストレージデバイスは、SSDであり得るし、ストレージコントローラ1001は、SSDのコントローラである。必要に応じて、図10に示したストレージデバイスは、SMRディスクでさらにあり得るし、ストレージコントローラ1001は、SMRディスクのコントローラである。必要に応じて、図10に示したストレージデバイスは、本発明の実施形態において説明したストレージアレイでさらにあり得るし、ストレージコントローラ1001は、ストレージアレイのアレイコントローラである。特定の説明については、本発明の実施形態における対応する部分の説明を参照されたい、そのため、その詳細を本明細書では再び説明しない。必要に応じて、複数の書き込み要求が同時に送信されるケースでは、ストレージデバイスは、ストレージデバイスの書き込み性能を改善するために、第1の条件を満たしている書き込み要求を優先的に処理する。必要に応じて、データを対応するストレージエリア、例えば、前述の第1または第2のストレージエリアに書き込む場合には、対応するストレージエリアの予約領域が不十分であるならば、動的な調整を行ってもよい。例えば、最大冗長クォータが使い切られていないという前提条件の下では、追加の予約領域を適用してもよく、その後、書き込み要求におけるデータが、新たに適用される予約領域に書き込まれる。
本発明の本実施形態におけるストレージデバイスは、さらに、フラッシュメモリメディアおよび類似した特性を有する記憶媒体を使用して形成された別の製品であってもよい。
本発明の実施形態は、図11に示したように、ストレージコントローラ、第1のストレージエリア1105、および第2のストレージエリア1106を備える、別のストレージデバイスを提供している、ここで、ストレージコントローラは、受信ユニット1101、決定ユニット1102、書き込みユニット1103、およびマッピングユニット1104を備える。受信ユニット1101は、論理アドレスおよびデータを搬送する、書き込み要求を受信するように構成される。決定ユニット1102は、書き込み要求の特徴を決定するように構成される。書き込みユニット1103は、書き込み要求の特徴が第1の条件を満たす場合には、書き込み要求において搬送されたデータを第1のストレージエリア1105の予約領域の第1のストレージアドレスに書き込むように構成される。マッピングユニット1104は、論理アドレスと第1のストレージアドレスとの間のマッピング関係を確立するように構成される。書き込みユニット1103は、書き込み要求の特徴が第2の条件を満たす場合には、書き込み要求において搬送されたデータを第2のストレージエリア1106の予約領域の第2のストレージアドレスに書き込むようにさらに構成される。マッピングユニット1104は、論理アドレスと第2のストレージアドレスとの間のマッピング関係を確立するようにさらに構成される。必要に応じて、図11に示したストレージデバイスにおいては、ストレージコントローラは、ガベージ領域リサイクル処理を第1のストレージエリア1105および第2のストレージエリア1106に対して独立して行ってもよい。必要に応じて、第1のストレージエリア1105の予約領域のサイズは、第2のストレージエリア1106の予約領域のサイズとは異なる。必要に応じて、第1のストレージエリア1105の予約領域は、第2のストレージエリア1106の予約領域より小さく、第1のストレージエリア1105の予約領域のサイズは、第2のストレージエリア1106の予約領域のサイズより小さい。必要に応じて、第1のストレージエリア1105のデータ領域に対する第1のストレージエリア1105の予約領域の比は、第2のストレージエリア1106のデータ領域に対する第2のストレージエリア1106の予約領域の比未満である。必要に応じて、決定ユニット1102は、書き込み要求がシーケンシャル書き込み要求であるかランダム書き込み要求であるかを決定するように特に構成され、ここで、第1の条件は、シーケンシャル書き込み要求であり、第2の条件は、ランダム書き込み要求である。必要に応じて、決定ユニット1102は、書き込み要求のシーケンスレベルを決定するように特に構成され、ここで、第1の条件は、第1のシーケンスレベルの範囲であり、第2の条件は、第2のシーケンスレベルの範囲であり、第1のシーケンスレベルの範囲の最小値は、第2のシーケンスレベルの範囲の最大値より大きい。シーケンスレベルの意味については、図2に示した実施形態における説明を参照されたい。必要に応じて、決定ユニット1102は、書き込み要求のランダムネスレベルを決定するように特に構成され、ここで、第1の条件は、第1のランダムネスレベルの範囲であり、第2の条件は、第2のランダムネスレベルの範囲であり、第1のランダムネスレベルの範囲の最大値は、第2のランダムネスレベルの範囲の最小値未満である。ランダムネスレベルの意味については、図2に示した実施形態における説明を参照されたい。必要に応じて、決定ユニット1102は、書き込み要求において搬送されたデータのサイズを決定するように特に構成され、ここで、第1の条件は、第1のストレージエリア1105に記憶されている第1のデータ範囲であり、第2の条件は、第2のストレージエリア1106に記憶されている第2のデータ範囲であり、第1のデータ範囲の最小値は、第2のデータ範囲の最大値より大きい。データ範囲の意味については、図2に示した実施形態における説明を参照されたい。必要に応じて、複数の書き込み要求が同時に送信されるケースでは、ストレージデバイスは、ストレージデバイスの書き込み性能を改善するために、第1の条件を満たしている書き込み要求を優先的に処理する。必要に応じて、データを対応するストレージエリア、例えば、前述の第1または第2のストレージエリアに書き込む場合には、対応するストレージエリアの予約領域が不十分であるならば、動的な調整を行ってもよい。例えば、最大冗長クォータが使い切られていないという前提条件の下では、追加の予約領域を適用してもよく、その後、書き込み要求におけるデータが、新たに適用される予約領域に書き込まれる。
図11に示したストレージデバイスは、SSD、SMRディスク、または本発明の実施形態におけるストレージアレイであり得る。図11に示したストレージデバイスは、さらに、フラッシュメモリメディアおよび類似した特性を有する記憶媒体を使用して形成された別の製品であってもよい。特定の説明については、本発明の実施形態における対応する部分の説明を参照されたい、そのため、その詳細を本明細書では再び説明しない。
図11に示したストレージデバイスによれば、ある実施様態においては、前述のユニットは、ストレージデバイスにインストールされており、前述のユニットは、ストレージデバイスのストレージコントローラのメモリにロードされ得るし、ストレージコントローラのCPUは、メモリ内の命令を実行して、本発明の対応する実施形態における機能を実施する。別の実施形態においては、ストレージデバイスに含まれるユニットは、ハードウェアによって実施されてもよいし、または、ソフトウェアおよびハードウェアの組合せによって実施されてもよい。前述のユニットを構造的ユニットとも称してもよい。
本発明の実施形態は、不揮発性コンピュータ可読記憶媒体およびコンピュータプログラム製品をさらに提供している。不揮発性コンピュータ可読記憶媒体およびコンピュータプログラム製品に含まれるコンピュータ命令が、図10または図11に示したストレージデバイスのストレージコントローラのメモリにロードされると、CPUは、メモリにロードされたコンピュータ命令を実行して、本発明の実施形態における対応する機能を実施する。
前述の実施形態によれば、本発明の実施形態は、ストレージデバイスによってストレージエリアを分割するための方法を提供している。ストレージデバイスは、ストレージ領域を第1のストレージエリアおよび第2のストレージエリアに分割する、ここで、第1のストレージエリアは、データ領域および予約領域を含み、第2のストレージエリアは、データ領域および予約領域を含む、ここで、第1のストレージエリアの予約領域は、第1の書き込み要求において搬送されたデータを記憶するように構成され、第2のストレージエリアの予約領域は、第2の書き込み要求において搬送されたデータを記憶するように構成され、第1の書き込み要求の特徴は、第1の条件を満たし、第2の書き込み要求の特徴は、第2の条件を満たす。特に、第1の条件、第2の条件、第1の書き込み要求の特徴、および第2の書き込み要求の特徴については、図2に示した実施形態における説明を参照されたい、そのためその詳細を本明細書では再び説明しない。第1のストレージエリアの予約領域と第2のストレージエリアの予約領域との間の関係についても、図2に示した実施形態における説明を参照されたい。本発明の実施形態におけるストレージデバイスの構造については、図10を参照すればよいので、その詳細を本明細書では再び説明しない。必要に応じて、対応する数量のストレージエリアが、書き込み要求のシーケンスレベルまたはランダムネスレベルのクラス番号に従って分割されてもよく、対応する予約領域が、シーケンスレベルまたはランダムネスレベルの各クラスの値に従って、設定される。ストレージエリアの分割および対応する予約領域の設定をあらかじめ行ってもよいし、または、動的な分割および設定を使用中に行ってもよい。
本発明において提供したいくつかの実施形態においては、開示した装置および方法を他の方式で実施してもよいことを理解されたい。例えば、説明した装置の実施形態におけるユニット分割は論理的な機能分割にすぎず、実際の実装においては他の分割であってもよい。例えば、複数のユニットまたはコンポーネントを組み合わせても別のシステムに統合してもよいし、またはいくつかの特徴を無視しても行わなくてもよい。加えて、図示または記載した相互接続または直接接続または通信接続は、いくつかのインターフェースによって実施されてもよい。装置間またはユニット間の間接接続または通信接続は、電子的に、機械的に、または他の形式で実施されてもよい。
別個の部分として説明したユニットは、物理的に別個のものであってもなくてもよいし、ユニットとして表示した部分は、物理ユニットであってもなくてもよいし、一ヶ所に配置されていてもよいし、または複数のネットワークユニットに分散されていてもよい。実施形態の解決手法の目的を達成するために、一部またはすべてのユニットを実際の必要性に応じて選択してもよい。
加えて、本発明の実施形態における機能ユニットを1つの処理ユニットに統合してもよいし、または、ユニットの各々が物理的に単独で存在してもよいし、または、2つ以上のユニットは1つのユニットに統合される。
101 ストレージコントローラ
102 メディア
1001 ストレージコントローラ
1002 第1のストレージエリア
1003 第2のストレージエリア
1011 CPU
1012 メモリ
1101 受信ユニット
1102 決定ユニット
1103 書き込みユニット
1104 マッピングユニット
1105 第1のストレージエリア
1106 第2のストレージエリア
ソリッドステートディスク(Solid State Disk、SSD)は、図1に示したように、ストレージコントローラ101およびメディア102(例えば、フラッシュメモリチップ)を備える。ストレージコントローラ101は、中央処理ユニット(Central Processing Unit、CPU)1011およびメモリ1012を備える。SSD内のストレージは、構成単位として物理ブロック(physical block)およびページ(page)を使用して構築されている。ページが、ソリッドステートディスクにおける最小の読み込み/書き込み単位であり、ページのサイズは、4KB、8KB、または16KBであり得る。ページは、物理ブロックに組み合わされ、各物理ブロックは、32、64、または128個のページを有し得る。SSDは、ストレージ領域をデータ領域および予約領域(Over-Provisioning)に一般的に分割する。データ領域は、データが既に書き込まれている領域であり、予約領域は、空き領域であるとともに空きページを含み、データは、予約領域に書き込まれ得る。SSD内のデータ領域に既に記憶されているデータが新規データによって上書きされることになる場合には、リダイレクト・オン・ライト(Redirect-On-Write、ROW)機構が使用される。すなわち、SSDが新規データを論理ブロックアドレス(Logical Block Address、LBA)に書き込み、既に記憶されているデータを変更する場合には、SSDは、新規データを予約領域のページに書き込み、LBAと予約領域のページアドレスとの間のマッピング関係を確立し、データ領域の、LBAが以前マッピングされていた、ページアドレス内のデータをガベージデータとしてマークを付ける。予約領域が閾値未満である場合には、SSDは、ガベージ領域リサイクル処理をガベージデータがあるページの物理ブロックに対して行う。リサイクル処理のプロセスとは、ガベージデータがあるページの物理ブロック内の有効データを読み込み、読み込んだ有効データを予約領域に書き込み、ガベージデータがあるページの物理ブロック内のデータを消去し、物理ブロックを新規予約領域として使用することである。ガベージ領域リサイクル処理のプロセスにおいては、有効データを読み込み有効データを予約領域に書き込むプロセスを有効データの移動と称する。
必要に応じて、ストレージデバイスは、ガベージ領域リサイクル処理を第1のストレージエリアおよび第2のストレージエリアに対して独立して行ってもよい。ストレージデバイスがガベージ領域リサイクル処理を第1のストレージエリアおよび第2のストレージエリアに対して独立して行い得ることは、ストレージデバイスが、ガベージ領域リサイクル処理を第1のストレージエリアおよび第2のストレージエリアのうちの1つに対して行い、他方のストレージエリアに影響を及ぼさない、または、ガベージ領域リサイクル処理を第1のストレージエリアおよび第2のストレージエリアの両方に対して並行して行い得ることを意味する。異なる特徴を有する書き込み要求については、データが、異なるストレージエリアに書き込まれ、ガベージ領域リサイクル処理が、異なるストレージエリアに設定された異なる予約領域に基づいて、ストレージエリアに対して独立して行われる。したがって、ガベージ領域リサイクル処理のプロセスにおける有効データの移動を低減することができ、ライトアンプリフィケーションを低減することができ、ガベージ領域リサイクル処理のプロセスをトリガする回数も異なる予約領域を設定することによって低減することができ、その結果、ストレージデバイス内の物理ブロックを消去する回数を低減するとともにストレージデバイスの耐用年数を増大している。
必要に応じて、ストレージデバイスによって、書き込み要求の特徴を決定するステップは、
ストレージデバイスによって、書き込み要求がシーケンシャル書き込み要求であるかランダム書き込み要求であるかを決定するステップであって、第1の条件は、シーケンシャル書き込み要求であり、第2の条件は、ランダム書き込み要求である、ステップと、異なるストレージエリアにシーケンシャル書き込み要求およびランダム書き込み要求をそれぞれ記憶するステップとを含む、そのことが、ガベージ領域リサイクル処理のプロセスにおける有効データの移動を低減するとともにライトアンプリフィケーションを低減している。加えて、シーケンシャル書き込み要求およびランダム書き込み要求の両方が存在する場合には、ストレージデバイスのランダム書き込み性能をシーケンシャル書き込み要求の性能に影響を及ぼすことなく改善している。必要に応じて、データを基準論理アドレスに書き込むかどうかを決定する、ここで、基準論理アドレスと論理アドレスとの間のアドレス差の絶対値はLより大きくなく、Lをシーケンシャル書き込み要求に関する要件に従って設定してもよい。ある実施形態においては、データを基準論理アドレスに書き込む場合には、書き込み要求は、シーケンシャル書き込み要求であり、さもなければ、書き込み要求は、ランダム書き込み要求である。別の実施形態においては、データを基準論理アドレスに書き込まない場合には、書き込み要求は、ランダム書き込み要求である。データを基準論理アドレスに書き込む場合には、さらに、ストレージデバイスは、基準アドレスを搬送する書き込み要求を最後に受信した時間と論理アドレスを搬送する書き込み要求を最後に受信した時間との間の間隔が閾値Tより大きいかどうかを決定し、間隔が閾値Tより大きい場合には、書き込み要求は、ランダム書き込み要求のままであり、間隔が閾値Tより大きくない場合には、書き込み要求は、シーケンシャル書き込み要求である。Tは、特定の実施形態に従って設定されてもよい。
必要に応じて、ストレージデバイスによって、書き込み要求の特徴を決定するステップは、
ストレージデバイスによって、書き込み要求において搬送されたデータのサイズを決定するステップであって、
第1の条件は、第1のストレージエリアに記憶されている第1のデータ範囲であり、第2の条件は、第2のストレージエリアに記憶されている第2のデータ範囲であり、第1のデータ範囲の最小値は、第2のデータ範囲の最大値より大きい、ステップを含む。ストレージデバイスは、異なるストレージエリアを備え、各ストレージエリアは、対応するデータ範囲を記憶している、そのことが、ガベージ領域リサイクル処理のプロセスにおける有効データの移動を低減するとともにライトアンプリフィケーションを低減し得る。必要に応じて、データ範囲は、ストレージエリアに記憶されている書き込み要求において搬送されたデータのサイズの区間を指す。
SSDを本発明の実施形態における例として使用する。本発明の本実施形態においては、SSDは、第1のストレージエリアVd1および第2のストレージエリアVd2を備える。Vd1は、データ領域および予約領域を含み、Vd2は、データ領域および予約領域を含み、Vd1の予約領域のサイズは、Vd2の予約領域のサイズとは異なる。本発明の本実施形態においては、SSDは、ガベージ領域リサイクル処理をVd1およびVd2に対して独立して行い得る。SSDがガベージ領域リサイクル処理をVd1およびVd2に対して独立して行い得ることは、SSDが、ガベージ領域リサイクル処理をVd1およびVd2のうちの1つに対して行い、他方のストレージエリアに影響を及ぼさない、または、ガベージ領域リサイクル処理をVd1およびVd2の両方に対して並行して行い得ることを意味する。異なる特徴を有する書き込み要求については、データが、異なるストレージエリアに書き込まれ、ガベージ領域リサイクル処理が、異なるストレージエリアに設定された異なる予約領域に基づいて、ストレージエリアに対して独立して行われる。したがって、ガベージ領域リサイクル処理のプロセスにおける有効データの移動を低減することができ、ライトアンプリフィケーションを低減することができ、ガベージ領域リサイクル処理のプロセスをトリガする回数も異なる予約領域を設定することによって低減することができ、その結果、SSD内の物理ブロックを消去する回数を低減するとともにSSDの耐用年数を増大している。
図8に示したように、Vd2内の予約領域が閾値未満でありガベージ領域リサイクル処理が開始されている場合には、リサイクル処理を行う必要がある物理ブロックがVd2内の第1の物理ブロックおよび第2の物理ブロックである。有効データが、第1の物理ブロックのページmからページnに記憶されており、有効データの移動を行う必要がある。本発明の本実施形態においては、第1の物理ブロックのページmからページnに記憶されている有効データをVd2内の第(X-1)の物理ブロックのページ0からページn-mに移動し、LBA4'とVd2内の第(X-1)の物理ブロックのページ0からページm-1との間のマッピングを確立する。加えて、Vd2内の第2の物理ブロックのページmからページnに記憶されている有効データをVd2内の第(X-1)の物理ブロックのページmからページnに移動し、LBA2'とVd2内の第(X-1)の物理ブロックのページmからページnとの間のマッピングを確立する。SSDは、Vd2内の第1の物理ブロックおよび第2の物理ブロックにあるデータを消去し、第1の物理ブロックおよび第2の物理ブロックは、予約領域として使用される。
図9に示したように、SSDは、Vd1、Vd2、…、およびVd9として参照符号が付けられている、9つのストレージエリアを備える。本発明の本実施形態においては、ある実施様態においては、各ストレージエリアは、R個の物理ブロックを含み、各物理ブロックは、(n+1)個のページを含む。別の実施様態においては、各ストレージエリアは異なる数量の物理ブロックを含んでいてもよく、本発明の本実施形態に限定されない。SSDは、書き込み要求において搬送されたデータのサイズに従って、ストレージエリアを選択する。Vd1は、(0-4KB]のデータを記憶するように構成され、Vd2は、(4KB-8KB]のデータを記憶するように構成され、Vd3は、(8KB-16KB]のデータを記憶するように構成され、Vd4は、(16KB-32KB]のデータを記憶するように構成され、Vd5は、(32KB-64KB]のデータを記憶するように構成され、Vd6は、(64KB-128KB]のデータを記憶するように構成され、Vd7は、(128KB-256KB]のデータを記憶するように構成され、Vd8は、(256KB-512KB]のデータを記憶するように構成され、Vd9は、512KBより大きいデータを記憶するように構成される。(4KB-8KB]のデータをデータ範囲のデータとも称する。データ範囲は、ストレージエリアに記憶されている書き込み要求において搬送されたデータのサイズの区間を指す。Vd1のデータ範囲は、Vd1に記憶されている書き込み要求において搬送されたデータのサイズが4KBより大きくないことを表している。書き込み要求を受信した場合には、SSDは、各ストレージエリアに記憶されているデータ範囲に従って、書き込み要求において搬送されたデータを記憶するために使用されるストレージエリアを決定する。例えば、図2に示した第2のストレージエリアは、Vd1である。Vd1のデータ範囲にあるデータは4KBより大きくない(図2に示した第2の条件)ため、複数の書き込み要求において搬送されたデータが同一の物理ブロックに記憶される。いくつかのデータが変更により無効データとして識別され、ガベージ領域リサイクル処理が物理ブロックに対して行われた場合には、物理ブロックに記憶されている別の書き込み要求において搬送されたデータが有効データとして使用され、有効データの移動を行う必要があり、それによって、ライトアンプリフィケーションが引き起こされる。例えば、Vd9は、図2に示した第1のストレージエリアである。Vd9のデータ範囲にあるデータは512KBより大きい(図2に示した第1の条件)ため、同一の書き込み要求または少量の書き込み要求において搬送されたデータが同一の物理ブロックに記憶される。したがって、SSDが物理ブロック内のデータを変更するための書き込み要求を再び受信した場合には、全物理ブロックのページに記憶されているデータがガベージデータとして識別される。ガベージ領域リサイクル処理を物理ブロックに対して行う場合には、全物理ブロック内のデータのすべてまたはほとんどがガベージデータであるため、有効データの移動が生じないか、少量の有効データの移動だけが生じるかである、つまり、ライトアンプリフィケーションが引き起こされることはないか、小さなライトアンプリフィケーションが引き起こされるかである。したがって、SSDが異なるストレージエリアに分割され、各ストレージエリアが対応するデータ範囲を記憶している、そのことが、ガベージ領域リサイクル処理のプロセスにおける有効データの移動を低減するとともにライトアンプリフィケーションを低減し得る。必要に応じて、書き込み要求において搬送されたデータのサイズは、対応するストレージエリアを決定する。より多くの予約領域を、大きなデータを記憶しているデータ範囲に対応するストレージエリアに割り振るより、小さなデータを記憶しているデータ範囲に対応するストレージエリアに割り振る、または、小さなデータを記憶しているデータ範囲に対応するストレージエリアのデータ領域に対する小さなデータを記憶しているデータ範囲に対応するストレージエリアの予約領域の比は、大きなデータを記憶しているデータ範囲に対応するストレージエリアのデータ領域に対する大きなデータを記憶しているデータ範囲に対応するストレージエリアの予約領域の比より大きい、そのことが、ガベージ領域リサイクル処理の回数を低減し、物理ブロックを消去する回数を低減し、SSDの耐用年数を増大し得る。
本発明を瓦記録(Shingled Magnetic Recording、SMR)ディスクにさらに適用してもよい。SMRディスクの特別な構造により、データをトラックAに書き込む場合には、トラックAの後のL個のトラック上のデータは上書きされ、トラックAの前のトラック上のデータは上書きされない。したがって、M(M>=L)個のトラックがSMRディスク内のゾーン(zone)を形成するために一般的に使用され、ゾーン内の物理領域内のデータがシーケンシャルに書き込まれ、ゾーン内の有効データが書き込みの前にまず移動される。SMRディスクは、一般的に、ROW機構を使用し、物理ストレージ領域をデータゾーン(データが既に記憶されているゾーン)および予約ゾーン(空きゾーン)に分割し、論理アドレスから物理ストレージ領域へのマッピングを記録する。データを書き込む場合には、データを予約ゾーンの領域にシーケンシャルに書き込み、論理アドレスをデータが新たに書き込まれた物理アドレスにその後マッピングし、論理アドレスが以前マッピングされていた物理アドレスに記憶されているデータをガベージデータとしてマークを付ける。予約ゾーンの数量が閾値未満であった後に、ガベージ領域リサイクル処理を開始し、最も多くのガベージデータを有するゾーンを見つけ、ゾーン内の有効データを移動し、ゾーンは、データが引き続き書き込まれ得る予約ゾーンとなる。SMRディスク内のゾーンは、SSD内の物理ブロックのものと類似した特性を有する。したがって、本発明の実施形態におけるSSD内のガベージ領域リサイクル処理中に有効データの移動を低減している解決手法をSMRディスクにも適用してもよい。SMRディスクを異なるストレージエリアに分割する、ここで、各ストレージエリアは複数のゾーン(データゾーンおよび予約ゾーンを含む)を含み、異なるサイズを有する予約ゾーンが異なるストレージエリアに割り振られ、書き込み要求の特徴を決定する。例えば、書き込み要求がランダム書き込み要求であるかシーケンシャル書き込み要求であるかを決定する、または、書き込み要求のシーケンスレベルを決定する、または、書き込み要求のランダムネスレベルを決定する、または、書き込み要求において搬送されたデータのサイズを決定する。書き込み要求において搬送されたデータは、特定のストレージエリアの予約ゾーンに記憶される、その結果、ガベージ領域リサイクル処理中のSMRディスクにおける有効データの移動を低減するとともにライトアンプリフィケーションを低減している。特定の実施形態については、SSDの実施形態の解決手法を参照すればよいので、その詳細を本発明の本実施形態においては本明細書では再び説明しない。予約ゾーンをSMRディスク内の異なるストレージエリアに割り振り得る方式については、予約領域をSSD内の異なるストレージエリアに割り振る上述した方式を参照されたい。
加えて、ガベージ領域リサイクル処理機能を有するとともにROW機構に基づいたストレージアレイにおいては、例えば、オールSSDストレージアレイおよびハードディスクドライブ(HDD)ストレージアレイにおいては、ストレージアレイコントローラは、構成単位(例えば、1MB)に従って、各ハードディスクの論理ブロックアドレスをブロックに分割する。1つのブロックをN個のディスクの各ディスクから取り出し、条件(例えば、レイド(Redundant Array of Independent Disks, RAID)のセグメント)を満たすセグメント(segment)を形成する、例えば、RAID6(3データブロック+2チェックブロックを含む)を形成する。シーケンシャル書き込み方式が、書き込み性能を改善するためにセグメントにおいて使用される。セグメント内のデータを上書きできず、書き込む前にセグメント内の有効データをまず移動する必要がある。ストレージアレイコントローラは、ストレージ領域をデータセグメント(データが既に書き込まれているセグメント)および予約セグメント(空きセグメント)に分割し、論理アドレスから物理ストレージ領域へのマッピングを記録する。データを書き込む場合には、ストレージアレイコントローラは、データを予約セグメントにシーケンシャルに書き込み、その後、論理アドレスをデータが新たに書き込まれた物理アドレスにマッピングし、論理アドレスが以前マッピングされていた物理アドレスに記憶されているデータをガベージデータとしてマークを付ける。予約セグメントの数量が閾値未満であった後に、ガベージ領域リサイクル処理を開始し、最も多くのガベージデータを有するセグメントを見つけ、セグメント内の有効データを移動し、セグメントは、データが引き続き書き込まれ得る予約セグメントとなる。

Claims (21)

  1. 第1のストレージエリアおよび第2のストレージエリアを備える、ストレージデバイスによってデータを記憶するための方法であって、前記第1のストレージエリアは、データ領域および予約領域を含み、前記第2のストレージエリアは、データ領域および予約領域を含み、前記方法は、
    前記ストレージデバイスによって、論理アドレスおよびデータを搬送する、書き込み要求を受信するステップと、
    前記ストレージデバイスによって、前記書き込み要求の特徴を決定するステップと、
    前記ストレージデバイスによって、前記書き込み要求の前記特徴が第1の条件を満たす場合には、前記書き込み要求において搬送された前記データを前記第1のストレージエリアの前記予約領域の第1のストレージアドレスに書き込むステップと、
    前記ストレージデバイスによって、前記論理アドレスと前記第1のストレージアドレスとの間のマッピング関係を確立するステップ、または、
    前記書き込み要求の前記特徴が第2の条件を満たす場合には、前記書き込み要求において搬送された前記データを前記第2のストレージエリアの前記予約領域の第2のストレージアドレスに書き込むステップと、
    前記ストレージデバイスによって、前記論理アドレスと前記第2のストレージアドレスとの間のマッピング関係を確立するステップ、とを含む、方法。
  2. 前記第1のストレージエリアの前記予約領域は、前記第2のストレージエリアの前記予約領域より小さい、請求項1に記載の方法。
  3. 前記第1のストレージエリアの前記データ領域に対する前記第1のストレージエリアの前記予約領域の比は、前記第2のストレージエリアの前記データ領域に対する前記第2のストレージエリアの前記予約領域の比未満である、請求項1に記載の方法。
  4. 前記ストレージデバイスによって、前記書き込み要求の特徴を決定するステップは、
    前記ストレージデバイスによって、前記書き込み要求がシーケンシャル書き込み要求であるかランダム書き込み要求であるかを決定するステップであって、
    前記第1の条件は、前記シーケンシャル書き込み要求であり、前記第2の条件は、前記ランダム書き込み要求である、ステップを含む、請求項2または3に記載の方法。
  5. 前記ストレージデバイスによって、前記書き込み要求の特徴を決定するステップは、
    前記ストレージデバイスによって、前記書き込み要求のシーケンスレベルを決定するステップであって、
    前記第1の条件は、第1のシーケンスレベルの範囲であり、前記第2の条件は、第2のシーケンスレベルの範囲であり、前記第1のシーケンスレベルの範囲の最小値は、前記第2のシーケンスレベルの範囲の最大値より大きい、ステップを含む、請求項2または3に記載の方法。
  6. 前記ストレージデバイスによって、前記書き込み要求の特徴を決定するステップは、
    前記ストレージデバイスによって、前記書き込み要求のランダムネスレベルを決定するステップであって、
    前記第1の条件は、第1のランダムネスレベルの範囲であり、前記第2の条件は、第2のランダムネスレベルの範囲であり、前記第1のランダムネスレベルの範囲の最大値は、前記第2のランダムネスレベルの範囲の最小値未満である、ステップを含む、請求項2または3に記載の方法。
  7. 前記ストレージデバイスによって、前記書き込み要求の特徴を決定するステップは、
    前記ストレージデバイスによって、前記書き込み要求において搬送された前記データのサイズを決定するステップであって、
    前記第1の条件は、前記第1のストレージエリアに記憶されている第1のデータ範囲であり、前記第2の条件は、前記第2のストレージエリアに記憶されている第2のデータ範囲であり、前記第1のデータ範囲の最小値は、前記第2のデータ範囲の最大値より大きい、ステップを含む、請求項2または3に記載の方法。
  8. ストレージコントローラ、第1のストレージエリア、および第2のストレージエリアを備える、ストレージデバイスであって、前記第1のストレージエリアは、データ領域および予約領域を含み、前記第2のストレージエリアは、データ領域および予約領域を含み、前記ストレージコントローラは、
    論理アドレスおよびデータを搬送する、書き込み要求を受信するように構成される、受信ユニットと、
    前記書き込み要求の特徴を決定するように構成される、決定ユニットと、
    前記書き込み要求の前記特徴が第1の条件を満たす場合には、前記書き込み要求において搬送された前記データを前記第1のストレージエリアの前記予約領域の第1のストレージアドレスに書き込むように構成される、書き込みユニットと、
    前記論理アドレスと前記第1のストレージアドレスとの間のマッピング関係を確立するように構成される、マッピングユニットとを備え、
    前記書き込みユニットは、前記書き込み要求の前記特徴が第2の条件を満たす場合には、前記書き込み要求において搬送された前記データを前記第2のストレージエリアの前記予約領域の第2のストレージアドレスに書き込むようにさらに構成され、
    前記マッピングユニットは、前記論理アドレスと前記第2のストレージアドレスとの間のマッピング関係を確立するようにさらに構成される、ストレージデバイス。
  9. 前記第1のストレージエリアの前記予約領域は、前記第2のストレージエリアの前記予約領域より小さい、請求項8に記載のストレージデバイス。
  10. 前記第1のストレージエリアの前記データ領域に対する前記第1のストレージエリアの前記予約領域の比は、前記第2のストレージエリアの前記データ領域に対する前記第2のストレージエリアの前記予約領域の比未満である、請求項8に記載のストレージデバイス。
  11. 前記決定ユニットは、前記書き込み要求がシーケンシャル書き込み要求であるかランダム書き込み要求であるかを決定するように特に構成され、
    前記第1の条件は、前記シーケンシャル書き込み要求であり、前記第2の条件は、前記ランダム書き込み要求である、請求項9または10に記載のストレージデバイス。
  12. 前記決定ユニットは、前記書き込み要求のシーケンスレベルを決定するように特に構成され、
    前記第1の条件は、第1のシーケンスレベルの範囲であり、前記第2の条件は、第2のシーケンスレベルの範囲であり、前記第1のシーケンスレベルの範囲の最小値は、前記第2のシーケンスレベルの範囲の最大値より大きい、請求項9または10に記載のストレージデバイス。
  13. 前記決定ユニットは、前記書き込み要求のランダムネスレベルを決定するように特に構成され、
    前記第1の条件は、第1のランダムネスレベルの範囲であり、前記第2の条件は、第2のランダムネスレベルの範囲であり、前記第1のランダムネスレベルの範囲の最大値は、前記第2のランダムネスレベルの範囲の最小値未満である、請求項9または10に記載のストレージデバイス。
  14. 前記決定ユニットは、前記書き込み要求において搬送された前記データのサイズを決定するように特に構成され、
    前記第1の条件は、前記第1のストレージエリアに記憶されている第1のデータ範囲であり、前記第2の条件は、前記第2のストレージエリアに記憶されている第2のデータ範囲であり、前記第1のデータ範囲の最小値は、前記第2のデータ範囲の最大値より大きい、請求項9または10に記載のストレージデバイス。
  15. ストレージコントローラ、第1のストレージエリア、および第2のストレージエリアを備える、ストレージデバイスであって、前記第1のストレージエリアは、データ領域および予約領域を含み、前記第2のストレージエリアは、データ領域および予約領域を含み、
    前記ストレージコントローラは、
    論理アドレスおよびデータを搬送する、書き込み要求を受信し、
    前記書き込み要求の特徴を決定し、
    前記書き込み要求の前記特徴が第1の条件を満たす場合には、前記書き込み要求において搬送された前記データを前記第1のストレージエリアの前記予約領域の第1のストレージアドレスに書き込み、
    前記論理アドレスと前記第1のストレージアドレスとの間のマッピング関係を確立する、または、
    前記書き込み要求の前記特徴が第2の条件を満たす場合には、前記書き込み要求において搬送された前記データを前記第2のストレージエリアの前記予約領域の第2のストレージアドレスに書き込み、
    前記論理アドレスと前記第2のストレージアドレスとの間のマッピング関係を確立する、ように構成される、ストレージデバイス。
  16. 前記第1のストレージエリアの前記予約領域は、前記第2のストレージエリアの前記予約領域より小さい、請求項15に記載のストレージデバイス。
  17. 前記第1のストレージエリアの前記データ領域に対する前記第1のストレージエリアの前記予約領域の比は、前記第2のストレージエリアの前記データ領域に対する前記第2のストレージエリアの前記予約領域の比未満である、請求項15に記載のストレージデバイス。
  18. 前記ストレージコントローラは、前記書き込み要求がシーケンシャル書き込み要求であるかランダム書き込み要求であるかを決定するように特に構成され、
    前記第1の条件は、前記シーケンシャル書き込み要求であり、前記第2の条件は、前記ランダム書き込み要求である、請求項16または17に記載のストレージデバイス。
  19. 前記ストレージコントローラは、前記書き込み要求のシーケンスレベルを決定するように特に構成され、
    前記第1の条件は、第1のシーケンスレベルの範囲であり、前記第2の条件は、第2のシーケンスレベルの範囲であり、前記第1のシーケンスレベルの範囲の最小値は、前記第2のシーケンスレベルの範囲の最大値より大きい、請求項16または17に記載のストレージデバイス。
  20. 前記ストレージコントローラは、前記書き込み要求のランダムネスレベルを決定するように特に構成され、
    前記第1の条件は、第1のランダムネスレベルの範囲であり、前記第2の条件は、第2のランダムネスレベルの範囲であり、前記第1のランダムネスレベルの範囲の最大値は、前記第2のランダムネスレベルの範囲の最小値未満である、請求項16または17に記載のストレージデバイス。
  21. 前記ストレージコントローラは、前記書き込み要求において搬送された前記データのサイズを決定するように特に構成され、
    前記第1の条件は、前記第1のストレージエリアに記憶されている第1のデータ範囲であり、前記第2の条件は、前記第2のストレージエリアに記憶されている第2のデータ範囲であり、前記第1のデータ範囲の最小値は、前記第2のデータ範囲の最大値より大きい、請求項16または17に記載のストレージデバイス。
JP2016560889A 2015-11-27 2015-11-27 ストレージデバイスによってデータを記憶するための方法およびストレージデバイス Active JP6311195B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/095846 WO2017088185A1 (zh) 2015-11-27 2015-11-27 一种存储设备存储数据的方法及存储设备

Publications (2)

Publication Number Publication Date
JP2017538981A true JP2017538981A (ja) 2017-12-28
JP6311195B2 JP6311195B2 (ja) 2018-04-18

Family

ID=58746365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016560889A Active JP6311195B2 (ja) 2015-11-27 2015-11-27 ストレージデバイスによってデータを記憶するための方法およびストレージデバイス

Country Status (13)

Country Link
US (1) US20180232314A1 (ja)
EP (2) EP3779663A1 (ja)
JP (1) JP6311195B2 (ja)
KR (4) KR101871471B1 (ja)
CN (2) CN107003809B (ja)
AU (2) AU2015383834B2 (ja)
BR (1) BR112016021172B1 (ja)
CA (1) CA2942443C (ja)
MX (1) MX363170B (ja)
RU (1) RU2642349C1 (ja)
SG (1) SG11201607335XA (ja)
WO (1) WO2017088185A1 (ja)
ZA (1) ZA201704018B (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110554970A (zh) * 2018-05-31 2019-12-10 北京忆恒创源科技有限公司 显著降低写放大的垃圾回收方法及存储设备
KR20190128392A (ko) * 2018-05-08 2019-11-18 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
WO2020000480A1 (zh) * 2018-06-30 2020-01-02 华为技术有限公司 数据存储方法及数据存储装置
KR102593757B1 (ko) * 2018-09-10 2023-10-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
TWI709042B (zh) * 2018-11-08 2020-11-01 慧榮科技股份有限公司 用來進行關於容錯式磁碟陣列的映射資訊管理之方法與裝置以及儲存系統
CN109376095B (zh) * 2018-12-04 2023-06-13 中国航空工业集团公司西安航空计算技术研究所 一种基于flash区域地址映射机制的垃圾回收方法
CN111949560B (zh) * 2019-05-16 2024-01-23 兆易创新科技集团股份有限公司 一种数据写入方法、装置及存储设备
KR20200132495A (ko) * 2019-05-17 2020-11-25 에스케이하이닉스 주식회사 메모리 시스템, 컨트롤러 및 컨트롤러의 동작 방법
CN114237489B (zh) * 2020-09-09 2024-04-05 浙江宇视科技有限公司 将逻辑资源写入smr盘的方法、装置、电子设备及存储介质
CN112214175A (zh) * 2020-10-21 2021-01-12 重庆紫光华山智安科技有限公司 数据处理方法、装置、数据节点及存储介质
WO2022240318A1 (ru) * 2021-05-13 2022-11-17 Общество с ограниченной ответственностью "РЭЙДИКС" Способ управления системой хранения данных и система хранения данных
CN113342272B (zh) * 2021-06-07 2023-02-10 深圳数联天下智能科技有限公司 一种坐姿数据的存储方法、展示方法、智能坐垫和系统
CN113703664B (zh) * 2021-06-24 2024-05-03 杭州电子科技大学 一种eMMC芯片随机写入速率优化实现方法
CN113608702A (zh) * 2021-08-18 2021-11-05 合肥大唐存储科技有限公司 一种实现数据处理的方法、装置、计算机存储介质及终端
CN114415981B (zh) * 2022-03-30 2022-07-15 苏州浪潮智能科技有限公司 一种多控存储系统的io处理方法、系统及相关组件
CN114741327B (zh) * 2022-04-22 2024-04-19 中科驭数(北京)科技有限公司 一种垃圾回收方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100235564A1 (en) * 2009-03-11 2010-09-16 Takafumi Ito Semiconductor memory device
WO2012158514A1 (en) * 2011-05-17 2012-11-22 Sandisk Technologies Inc. Non-volatile memory and method with small logical groups distributed among active slc and mlc memory partitions
US20140059294A1 (en) * 2012-08-22 2014-02-27 Fujitsu Limited Storage system and storage control method

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3585091B2 (ja) * 1998-06-15 2004-11-04 富士通株式会社 記憶装置
KR100704998B1 (ko) * 1999-02-26 2007-04-09 소니 가부시끼 가이샤 기록방법, 관리방법 및 기록장치
KR100771521B1 (ko) * 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법
KR101515525B1 (ko) * 2008-10-02 2015-04-28 삼성전자주식회사 메모리 장치 및 메모리 장치의 동작 방법
KR100962186B1 (ko) 2008-12-22 2010-06-10 한국과학기술원 초저전력 스토리지 시스템 및 그의 데이터 관리방법
US8452940B2 (en) * 2008-12-30 2013-05-28 Sandisk Technologies Inc. Optimized memory management for random and sequential data writing
US8479080B1 (en) * 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
CN102023810B (zh) * 2009-09-10 2012-08-29 成都市华为赛门铁克科技有限公司 一种写数据的方法、装置以及廉价冗余磁盘阵列
TWI407310B (zh) * 2009-10-09 2013-09-01 Silicon Motion Inc 資料儲存裝置及資料存取方法
US9753847B2 (en) * 2009-10-27 2017-09-05 Western Digital Technologies, Inc. Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping
US8677054B1 (en) * 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
KR101662827B1 (ko) * 2010-07-02 2016-10-06 삼성전자주식회사 쓰기 패턴에 따라 데이터 블록의 쓰기 모드를 선택하는 메모리 시스템 및 그것의 데이터 쓰기 방법
WO2012161659A1 (en) * 2011-05-24 2012-11-29 Agency For Science, Technology And Research A memory storage device, and a related zone-based block management and mapping method
US8671241B2 (en) * 2011-09-13 2014-03-11 Dell Products Lp Systems and methods for using reserved solid state nonvolatile memory storage capacity for system reduced power state
KR20130030640A (ko) * 2011-09-19 2013-03-27 삼성전자주식회사 저장 매체에 데이터를 저장하는 방법 및 그것을 포함하는 데이터 저장 장치
KR101889298B1 (ko) * 2011-11-08 2018-08-20 삼성전자주식회사 불휘발성 메모리를 포함하는 메모리 장치 및 불휘발성 메모리의 제어 방법
CN102541760B (zh) * 2012-01-04 2015-05-20 记忆科技(深圳)有限公司 基于固态硬盘的计算机系统
US9495287B2 (en) * 2012-09-26 2016-11-15 International Business Machines Corporation Solid state memory device logical and physical partitioning
US9141532B2 (en) * 2012-12-26 2015-09-22 Western Digital Technologies, Inc. Dynamic overprovisioning for data storage systems
US9348746B2 (en) * 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
US9465731B2 (en) * 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
KR20150105323A (ko) * 2013-01-08 2015-09-16 바이올린 메모리 인코포레이티드 데이터 스토리지 방법 및 시스템
US9098445B2 (en) * 2013-03-14 2015-08-04 Apple Inc. Selection of redundant storage configuration based on available memory space
TWI526830B (zh) * 2013-11-14 2016-03-21 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US20150261444A1 (en) * 2014-03-12 2015-09-17 Kabushiki Kaisha Toshiba Memory system and information processing device
US9454551B2 (en) * 2014-03-13 2016-09-27 NXGN Data, Inc. System and method for management of garbage collection operation in a solid state drive
TWI519951B (zh) * 2014-11-03 2016-02-01 慧榮科技股份有限公司 資料儲存裝置以及快閃記憶體控制方法
CN104317742B (zh) * 2014-11-17 2017-05-03 浪潮电子信息产业股份有限公司 一种优化空间管理的自动精简配置方法
US9910791B1 (en) * 2015-06-30 2018-03-06 EMC IP Holding Company LLC Managing system-wide encryption keys for data storage systems

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100235564A1 (en) * 2009-03-11 2010-09-16 Takafumi Ito Semiconductor memory device
CN101840375A (zh) * 2009-03-11 2010-09-22 株式会社东芝 半导体存储装置
JP2010211618A (ja) * 2009-03-11 2010-09-24 Toshiba Corp 半導体記憶装置
WO2012158514A1 (en) * 2011-05-17 2012-11-22 Sandisk Technologies Inc. Non-volatile memory and method with small logical groups distributed among active slc and mlc memory partitions
JP2014513850A (ja) * 2011-05-17 2014-06-05 サンディスク テクノロジィース インコーポレイテッド 小さな論理グループがアクティブなslcおよびmlcメモリパーティションに分散させられる不揮発性メモリおよび方法
US20140059294A1 (en) * 2012-08-22 2014-02-27 Fujitsu Limited Storage system and storage control method
JP2014041471A (ja) * 2012-08-22 2014-03-06 Fujitsu Ltd ストレージシステム、ストレージ制御方法およびストレージ制御プログラム

Also Published As

Publication number Publication date
BR112016021172B1 (pt) 2022-12-06
CN109656486A (zh) 2019-04-19
CN107003809B (zh) 2019-01-18
CN109656486B (zh) 2022-07-12
WO2017088185A1 (zh) 2017-06-01
KR102170539B1 (ko) 2020-10-27
KR20190143502A (ko) 2019-12-30
EP3779663A1 (en) 2021-02-17
AU2018220027B2 (en) 2020-06-25
KR101962359B1 (ko) 2019-03-26
CN107003809A (zh) 2017-08-01
AU2015383834A1 (en) 2017-06-15
KR102060736B1 (ko) 2020-02-11
KR101871471B1 (ko) 2018-08-02
AU2015383834B2 (en) 2018-07-19
KR20180072855A (ko) 2018-06-29
SG11201607335XA (en) 2017-07-28
EP3220255A4 (en) 2018-03-07
BR112016021172A2 (pt) 2017-10-03
RU2642349C1 (ru) 2018-01-24
US20180232314A1 (en) 2018-08-16
KR20190031605A (ko) 2019-03-26
MX363170B (es) 2019-03-13
AU2018220027A1 (en) 2018-09-06
JP6311195B2 (ja) 2018-04-18
EP3220255A1 (en) 2017-09-20
CA2942443C (en) 2019-07-30
MX2016013227A (es) 2017-06-29
ZA201704018B (en) 2019-04-24
KR20170081133A (ko) 2017-07-11
CA2942443A1 (en) 2017-05-27

Similar Documents

Publication Publication Date Title
JP6311195B2 (ja) ストレージデバイスによってデータを記憶するための方法およびストレージデバイス
US11048624B2 (en) Methods for multi-stream garbage collection
US10303601B2 (en) Method and system for rearranging a write operation in a shingled magnetic recording device
JP6016137B2 (ja) ソリッドステートドライブおよびその動作方法
WO2015076354A1 (ja) ストレージ装置と方法並びにプログラム
CN110678836A (zh) 用于键值存储的持久性存储器
US9792073B2 (en) Method of LUN management in a solid state disk array
US20150169465A1 (en) Method and system for dynamic compression of address tables in a memory
US9122586B2 (en) Physical-to-logical address map to speed up a recycle operation in a solid state drive
US20140082323A1 (en) Address mapping
US8694563B1 (en) Space recovery for thin-provisioned storage volumes
US8954658B1 (en) Method of LUN management in a solid state disk array
KR102347841B1 (ko) 메모리제어장치 및 메모리제어장치의 동작 방법
US20190243758A1 (en) Storage control device and storage control method
KR20090107098A (ko) 낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법
US10133517B2 (en) Storage control device
KR100970537B1 (ko) Ssd 관리 장치 및 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161017

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180124

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: 20180220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180301

R150 Certificate of patent or registration of utility model

Ref document number: 6311195

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