JP2021529406A - システムコントローラおよびシステムガベージコレクション方法 - Google Patents
システムコントローラおよびシステムガベージコレクション方法 Download PDFInfo
- Publication number
- JP2021529406A JP2021529406A JP2021500208A JP2021500208A JP2021529406A JP 2021529406 A JP2021529406 A JP 2021529406A JP 2021500208 A JP2021500208 A JP 2021500208A JP 2021500208 A JP2021500208 A JP 2021500208A JP 2021529406 A JP2021529406 A JP 2021529406A
- Authority
- JP
- Japan
- Prior art keywords
- logical
- state disk
- solid state
- group
- stripe
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 56
- 239000007787 solid Substances 0.000 claims abstract description 183
- 230000003321 amplification Effects 0.000 abstract description 13
- 238000003199 nucleic acid amplification method Methods 0.000 abstract description 13
- 230000006870 function Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000013480 data collection Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000002245 particle Substances 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- 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
- 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/0253—Garbage collection, i.e. reclamation of unreferenced 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
-
- 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/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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/0689—Disk arrays, e.g. RAID, JBOD
-
- 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
-
- 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/70—Details relating to dynamic memory management
- G06F2212/702—Conservative garbage collection
Abstract
Description
ータ収集が実行される。
22 ソリッドステートディスク
110 インターフェースカード
111 メモリ
112 プロセッサ
113 インターフェースカード
701 カウンティングモジュール
702 選択モジュール
703 命令モジュール
704 解放モジュール
Claims (43)
- プロセッサとインターフェースとを含み、
前記インターフェースは、ソリッドステートディスクグループと通信するように構成され、前記ソリッドステートディスクグループは複数のソリッドステートディスクを含み、前記ソリッドステートディスクグループは論理チャンクグループを含み、前記論理チャンクグループは複数のストライプを含み、
前記プロセッサは、
前記複数のストライプの各々に含まれる無効なデータのデータ量をカウントすることと、
前記複数のストライプから対象ストライプを選択することであって、前記対象ストライプは、その量が指定された量のしきい値を超えている無効なデータを含む、選択することと、
前記対象ストライプ内の有効なデータを移動するよう前記ソリッドステートディスクグループに命令することと、
前記対象ストライプの論理アドレスと前記対象ストライプの実際のアドレスの間の対応関係を削除するよう前記ソリッドステートディスクグループに命令することと、
前記論理チャンクグループの論理アドレスが解放されるまで、前記対象ストライプの前記論理アドレスを解放せずに維持することと
を行うように構成される、システムコントローラ。 - 前記システムコントローラのために前記複数のソリッドステートディスクの各々によって提供される論理アドレスの量は、前記ソリッドステートディスクの実際のアドレスの量よりも多い、請求項1に記載のシステムコントローラ。
- 前記論理チャンクグループは複数の論理チャンクを含み、各論理チャンクは異なるソリッドステートディスクからのものである、請求項1に記載のシステムコントローラ。
- 前記プロセッサは、前記対象ストライプを収集するよう前記ソリッドステートディスクグループに命令する前に、前記ソリッドステートディスクグループの利用可能な空間が不十分であると決定するようにさらに構成される、請求項1に記載のシステムコントローラ。
- 前記プロセッサは、前記論理チャンクグループに含まれるすべてのストライプが収集されると、前記プロセッサによって前記論理チャンクグループに割り当てられた前記論理アドレスを解放するようにさらに構成され、前記対象ストライプの前記論理アドレスは、前記論理チャンクグループの前記論理アドレスのサブセットである、請求項1に記載のシステムコントローラ。
- 前記プロセッサは、前記解放された論理アドレスを前記ソリッドステートディスクグループ内の他の論理チャンクグループに割り当てるようにさらに構成される、請求項5に記載のシステムコントローラ。
- 前記システムコントローラが、前記対象ストライプ内の有効なデータを移動させるよう前記ソリッドステートディスクグループに命令することは、
前記対象ストライプ内の前記有効なデータを読み取るよう前記ソリッドステートディスクグループに命令することと、
データ書込み命令を前記ソリッドステートディスクグループに送信することであって、前記データ書込み命令は、第1の論理アドレスおよび前記有効なデータを含む、送信することと
を特に含む、請求項1に記載のシステムコントローラ。 - 前記プロセッサは、
前記対象ストライプ内のデータが属するIO要求を決定することと、
前記IO要求に含まれる一部のデータが他のストライプに記憶されている場合、データの前記一部分のうちの有効なデータを新しく割り当てられた第2の論理アドレスに移動するよう前記ソリッドステートディスクグループに命令することであって、前記第2の論理アドレスは前記第1の論理アドレスと連続している、命令することと
を行うようにさらに構成される、請求項7に記載のシステムコントローラ。 - 前記他のストライプは前記対象ストライプの隣接するストライプであり、前記隣接するストライプに含まれるストライプユニットの論理アドレスは、前記対象ストライプに含まれるストライプユニットの論理アドレスと連続している、請求項8に記載のシステムコントローラ。
- プロセッサとインターフェースとを含み、
前記インターフェースはソリッドステートディスクグループと通信するように構成され、前記ソリッドステートディスクグループは複数のソリッドステートディスクを含み、前記ソリッドステートディスクグループは論理チャンクグループを含み、前記論理チャンクグループは複数のストライプを含み、
前記プロセッサは、前記ソリッドステートディスクグループによって提供される論理アドレスの使用ステータスが第1の指定された条件を満たすかどうかを決定し、前記ソリッドステートディスクグループによって提供される前記論理アドレスの前記使用ステータスが前記第1の指定された条件を満たす場合、ストライプ単位でガベージコレクションを行うよう前記ソリッドステートディスクグループに命令し、前記論理チャンクグループの論理アドレスが解放されるまで対象ストライプの論理アドレスを解放せずに維持するように構成され、または、
前記プロセッサは、前記ソリッドステートディスクグループによって提供される前記論理アドレスの前記使用ステータスが前記第1の指定された条件を満たさない場合、論理チャンクグループ単位でガベージコレクションを行うよう前記ソリッドステートディスクグループに命令するように構成され、収集された論理チャンクグループに含まれるすべてのストライプのすべての論理アドレスが解放される、システムコントローラ。 - 前記プロセッサは、前記ソリッドステートディスクグループによって提供される前記論理アドレスの前記使用ステータスが前記第1の指定された条件を満たすかどうかを決定する前に、前記ソリッドステートディスクグループの利用可能な空間が第2の指定された条件を満たすことを決定するようにさらに構成される、請求項10に記載のシステムコントローラ。
- 前記第2の指定された条件は、前記ソリッドステートディスクグループの前記利用可能な空間のサイズが指定された空間しきい値未満であることを含む、請求項11に記載のシステムコントローラ。
- 前記第2の指定された条件は、少なくとも1つのストライプに含まれる無効なデータのデータ量が指定されたしきい値に達することを含む、請求項11に記載のシステムコントローラ。
- 前記第1の指定された条件は、前記ソリッドステートディスクグループによって提供される前記論理アドレスのうちの割当て可能な論理アドレスの量が、指定された第1のアドレスのしきい値未満であることを含む、請求項10に記載のシステムコントローラ。
- 前記第1の指定された条件は、前記ソリッドステートディスクグループによって提供される前記論理アドレスにおいて使用されている論理アドレスの量が、指定された第2のアドレスのしきい値を超えていることを含む、請求項10に記載のシステムコントローラ。
- 前記システムコントローラのために前記複数のソリッドステートディスクの各々によって提供される論理アドレスの量は、前記ソリッドステートディスクの実際のアドレスの量よりも多い、請求項10に記載のシステムコントローラ。
- 前記論理チャンクグループは複数の論理チャンクを含み、各論理チャンクは異なるソリッドステートディスクからのものである、請求項10に記載のシステムコントローラ。
- フラッシュアレイに適用される、システムガベージコレクション方法であって、前記フラッシュアレイは、コントローラとソリッドステートディスクグループとを含み、前記ソリッドステートディスクグループは複数のソリッドステートディスクを含み、前記ソリッドステートディスクグループは論理チャンクグループを含み、前記論理チャンクグループは複数のストライプを含み、前記方法は、前記コントローラによって実行され、
前記複数のストライプの各々に含まれる無効なデータのデータ量をカウントするステップと、
前記複数のストライプから少なくとも1つの対象ストライプを選択するステップであって、前記対象ストライプは、その量が指定された量のしきい値を超えている無効なデータを含む前記複数のストライプのうちのストライプである、ステップと、
前記対象ストライプ内の有効なデータを移動させるよう前記ソリッドステートディスクグループに命令し、前記対象ストライプの論理アドレスと前記対象ストライプの実際のアドレスの間の対応関係を削除するよう前記ソリッドステートディスクグループに命令するステップと、
前記論理チャンクグループの論理アドレスが解放されるまで、前記対象ストライプの前記論理アドレスを解放せずに維持するステップと
を含む、システムガベージコレクション方法。 - 前記コントローラのために前記複数のソリッドステートディスクの各々によって提供される論理アドレスの量は、前記ソリッドステートディスクの実際のアドレスの量よりも多い、請求項18に記載の方法。
- 前記論理チャンクグループは複数の論理チャンクを含み、各論理チャンクは異なるソリッドステートディスクからのものである、請求項18に記載の方法。
- 前記対象ストライプを収集するよう前記ソリッドステートディスクグループに命令する前に、前記ソリッドステートディスクグループの利用可能な空間が不十分であると決定するステップをさらに含む、請求項18に記載の方法。
- 前記論理チャンクグループに含まれるすべてのストライプが収集されると、前記コントローラによって前記論理チャンクグループに割り当てられた前記論理アドレスを解放するステップをさらに含み、前記対象ストライプの前記論理アドレスは、前記論理チャンクグループの前記論理アドレスのサブセットである、請求項18に記載の方法。
- 前記対象ストライプ内の有効なデータを移動させるよう前記ソリッドステートディスクグループに命令する前記ステップは、前記対象ストライプ内の前記有効なデータを読み取るよう前記ソリッドステートディスクグループに命令するステップと、データ書込み命令を前記ソリッドステートディスクグループに送信するステップであって、前記データ書込み命令は、第1の論理アドレスおよび前記有効なデータを特に含む、ステップとを含む、請求項18に記載の方法。
- 前記対象ストライプ内のデータが属するIO要求を決定するステップと、
前記IO要求に含まれる一部のデータが他のストライプに記憶されている場合、前記一部のデータのうちの有効なデータを新しく割り当てられた第2の論理アドレスに移動するよう前記ソリッドステートディスクグループに命令するステップであって、前記第2の論理アドレスは前記第1の論理アドレスと連続している、ステップと
をさらに含む、請求項23に記載の方法。 - 前記他のストライプは前記対象ストライプの隣接するストライプであり、前記隣接するストライプに含まれるストライプユニットの論理アドレスは、前記対象ストライプに含まれるストライプユニットの論理アドレスと連続している、請求項24に記載の方法。
- フラッシュアレイに適用される、システムガベージコレクション方法であって、前記フラッシュアレイは、コントローラとソリッドステートディスクグループとを含み、前記ソリッドステートディスクグループは複数のソリッドステートディスクを含み、前記ソリッドステートディスクグループは論理チャンクグループを含み、前記論理チャンクグループは複数のストライプを含み、前記方法は、前記コントローラによって実行され、
前記ソリッドステートディスクグループによって提供される論理アドレスの使用ステータスが第1の指定された条件を満たすかどうかを決定するステップと、
前記ソリッドステートディスクグループによって提供される前記論理アドレスの前記使用ステータスが前記第1の指定された条件を満たす場合、ストライプ単位でガベージコレクションを行うよう前記ソリッドステートディスクグループに命令し、前記論理チャンクグループの論理アドレスが解放されるまで前記対象ストライプの論理アドレスを解放せずに維持するステップ、または、
前記ソリッドステートディスクグループによって提供される前記論理アドレスの前記使用ステータスが前記第1の指定された条件を満たさない場合、論理チャンクグループ単位でガベージコレクションを行うよう前記ソリッドステートディスクグループに命令するステップであって、収集された論理チャンクグループに含まれるすべてのストライプのすべての論理アドレスが解放される、ステップと
を含む、システムガベージコレクション方法。 - 前記ソリッドステートディスクグループによって提供される論理アドレスの使用ステータスが第1の指定された条件を満たすかどうかを決定する前記ステップの前に、
前記ソリッドステートディスクグループの利用可能な空間が第2の指定された条件を満たすことを決定するステップをさらに含む、請求項26に記載の方法。 - 前記第2の指定された条件は、前記ソリッドステートディスクグループの前記利用可能な空間のサイズが指定された空間しきい値未満であることを含む、請求項27に記載の方法。
- 前記第2の指定された条件は、少なくとも1つのストライプに含まれる無効なデータのデータ量が指定されたしきい値に達することを含む、請求項27に記載の方法。
- 前記第1の指定された条件は、前記ソリッドステートディスクグループによって提供される前記論理アドレスのうちの割当て可能な論理アドレスの量が、指定された第1のアドレスのしきい値未満であることを含む、請求項26に記載の方法。
- 前記第1の指定された条件は、前記ソリッドステートディスクグループによって提供される前記論理アドレスにおいて使用されている論理アドレスの量が、指定された第2のアドレスのしきい値を超えていることを含む、請求項26に記載の方法。
- 前記論理チャンクグループは複数の論理チャンクを含み、各論理チャンクは異なるソリッドステートディスクからのものである、請求項26に記載の方法。
- 前記コントローラのために前記複数のソリッドステートディスクの各々によって提供される論理アドレスの量は、前記ソリッドステートディスクの実際のアドレスの量よりも多い、請求項26に記載の方法。
- フラッシュアレイ内のコントローラに配置される、システムガベージコレクション装置であって、前記フラッシュアレイは、前記コントローラとソリッドステートディスクグループとを含み、前記ソリッドステートディスクグループは複数のソリッドステートディスクを含み、前記ソリッドステートディスクグループは論理チャンクグループを含み、前記論理チャンクグループは複数のストライプを含み、前記装置は、
前記複数のストライプの各々に含まれる無効なデータのデータ量をカウントするように構成されたカウンティングモジュールと、
前記複数のストライプから少なくとも1つの対象ストライプを選択するように構成された選択モジュールであって、前記対象ストライプは、その量が指定された量のしきい値を超えている無効なデータを含む前記複数のストライプのうちのストライプである、選択モジュールと、
対象ストライプ内の有効なデータを移動するよう前記ソリッドステートディスクグループに命令することと、前記対象ストライプの論理アドレスと前記対象ストライプの実際のアドレスの間の対応関係を削除するよう前記ソリッドステートディスクグループに命令することと、前記論理チャンクグループの前記論理アドレスが解放されるまで、前記対象ストライプの前記論理アドレスを解放せずに維持することとを行うように構成された命令モジュールと
を含む、システムガベージコレクション装置。 - 前記コントローラのために前記複数のソリッドステートディスクの各々によって提供される論理アドレスの量は、前記ソリッドステートディスクの実際のアドレスの量よりも多い、請求項34に記載の装置。
- 前記論理チャンクグループは複数の論理チャンクを含み、各論理チャンクは異なるソリッドステートディスクからのものである、請求項34に記載の装置。
- 前記命令モジュールは、前記対象ストライプを収集するよう前記ソリッドステートディスクグループに命令する前に、前記ソリッドステートディスクグループの利用可能な空間が不十分であると決定するようにさらに構成される、請求項34に記載の装置。
- 前記装置は解放モジュールをさらに含み、
前記解放モジュールは、前記論理チャンクグループに含まれるすべてのストライプが収集されると、前記コントローラによって前記論理チャンクグループに割り当てられた前記論理アドレスを解放するように構成され、前記対象ストライプの前記論理アドレスは、前記論理チャンクグループの前記論理アドレスのサブセットである、請求項34に記載の装置。 - 前記命令モジュールが前記対象ストライプを収集するよう前記ソリッドステートディスクグループに命令するように特に構成されることは、前記対象ストライプ内の前記有効なデータを読み取るよう前記ソリッドステートディスクグループに命令することと、データ書込み命令を前記ソリッドステートディスクグループに送信することとを含み、前記データ書込み命令は、第1の論理アドレスおよび前記有効なデータを含む、請求項34に記載の装置。
- 前記命令モジュールは、
前記対象ストライプ内のデータが属するIO要求を決定することと、
前記IO要求に含まれる一部のデータが他のストライプに記憶されている場合、前記一部のデータのうちの有効なデータを新しく割り当てられた第2の論理アドレスに移動するよう前記ソリッドステートディスクグループに命令することであって、前記第2の論理アドレスは前記第1の論理アドレスと連続している、命令することと
を行うようにさらに構成される、請求項39に記載の装置。 - 前記他のストライプは前記対象ストライプの隣接するストライプであり、前記隣接するストライプに含まれるストライプユニットの論理アドレスは、前記対象ストライプに含まれるストライプユニットの論理アドレスと連続している、請求項40に記載の装置。
- 請求項1から9のいずれか一項に記載の前記システムコントローラと前記ソリッドステートディスクグループとを含むフラッシュアレイであって、前記ソリッドステートディスクグループは複数のソリッドステートディスクを含み、前記ソリッドステートディスクグループは論理チャンクグループを含み、前記論理チャンクグループは複数のストライプを含む、フラッシュアレイ。
- 請求項10から17のいずれか一項に記載の前記システムコントローラと前記ソリッドステートディスクグループとを含むフラッシュアレイであって、前記ソリッドステートディスクグループは複数のソリッドステートディスクを含み、前記ソリッドステートディスクグループは論理チャンクグループを含み、前記論理チャンクグループは複数のストライプを含む、フラッシュアレイ。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810739117.X | 2018-07-06 | ||
CN201810739117 | 2018-07-06 | ||
CN201810954801.XA CN110688323B (zh) | 2018-07-06 | 2018-08-21 | 一种系统控制器和系统垃圾回收方法 |
CN201810954801.X | 2018-08-21 | ||
PCT/CN2019/072095 WO2020007030A1 (zh) | 2018-07-06 | 2019-01-17 | 一种系统控制器和系统垃圾回收方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021529406A true JP2021529406A (ja) | 2021-10-28 |
JP7146054B2 JP7146054B2 (ja) | 2022-10-03 |
Family
ID=69107005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021500208A Active JP7146054B2 (ja) | 2018-07-06 | 2019-01-17 | システムコントローラおよびシステムガベージコレクション方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3798852B1 (ja) |
JP (1) | JP7146054B2 (ja) |
CN (1) | CN110688323B (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930301A (zh) * | 2020-06-29 | 2020-11-13 | 深圳佰维存储科技股份有限公司 | 垃圾回收优化方法、装置、存储介质及电子设备 |
CN113625959B (zh) * | 2021-06-30 | 2023-12-29 | 济南浪潮数据技术有限公司 | 一种数据处理方法和装置 |
CN117472288B (zh) * | 2023-12-27 | 2024-04-16 | 成都领目科技有限公司 | 一种基于raid0硬盘组的io写入方法及模型 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699337A (zh) * | 2013-12-04 | 2014-04-02 | 华为技术有限公司 | 一种基于独立磁盘冗余阵列raid的写控制方法及系统 |
US20150067244A1 (en) * | 2013-09-03 | 2015-03-05 | Sandisk Technologies Inc. | Method and System for Migrating Data Between Flash Memory Devices |
WO2016174279A1 (es) * | 2015-04-27 | 2016-11-03 | Ignacio Florensa Farran | Desconpactador tetrafunción |
WO2016174729A1 (ja) * | 2015-04-28 | 2016-11-03 | 株式会社日立製作所 | ストレージ装置 |
US20170242790A1 (en) * | 2016-02-23 | 2017-08-24 | Sandisk Technologies Llc | Efficient Implementation of Optimized Host-Based Garbage Collection Strategies Using Xcopy and Multiple Logical Stripes |
WO2018086075A1 (zh) * | 2016-11-11 | 2018-05-17 | 华为技术有限公司 | 一种存储系统和系统垃圾回收方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9727245B2 (en) * | 2013-03-15 | 2017-08-08 | Avalanche Technology, Inc. | Method and apparatus for de-duplication for solid state disks (SSDs) |
CN103744798A (zh) * | 2013-12-17 | 2014-04-23 | 记忆科技(深圳)有限公司 | 固态硬盘的垃圾回收方法 |
CN107484427B (zh) * | 2016-04-07 | 2020-11-06 | 华为技术有限公司 | 用于处理存储设备中分条的方法和存储设备 |
US10474362B2 (en) * | 2016-10-14 | 2019-11-12 | Smart Modular Technologies, Inc. | Flash-based block storage system with trimmed space management and method of operation thereof |
CN107479825A (zh) * | 2017-06-30 | 2017-12-15 | 华为技术有限公司 | 一种存储系统、固态硬盘和数据存储方法 |
-
2018
- 2018-08-21 CN CN201810954801.XA patent/CN110688323B/zh active Active
-
2019
- 2019-01-17 JP JP2021500208A patent/JP7146054B2/ja active Active
- 2019-01-17 EP EP19831058.3A patent/EP3798852B1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150067244A1 (en) * | 2013-09-03 | 2015-03-05 | Sandisk Technologies Inc. | Method and System for Migrating Data Between Flash Memory Devices |
CN103699337A (zh) * | 2013-12-04 | 2014-04-02 | 华为技术有限公司 | 一种基于独立磁盘冗余阵列raid的写控制方法及系统 |
WO2016174279A1 (es) * | 2015-04-27 | 2016-11-03 | Ignacio Florensa Farran | Desconpactador tetrafunción |
WO2016174729A1 (ja) * | 2015-04-28 | 2016-11-03 | 株式会社日立製作所 | ストレージ装置 |
US20170242790A1 (en) * | 2016-02-23 | 2017-08-24 | Sandisk Technologies Llc | Efficient Implementation of Optimized Host-Based Garbage Collection Strategies Using Xcopy and Multiple Logical Stripes |
WO2018086075A1 (zh) * | 2016-11-11 | 2018-05-17 | 华为技术有限公司 | 一种存储系统和系统垃圾回收方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110688323B (zh) | 2023-11-17 |
CN110688323A (zh) | 2020-01-14 |
EP3798852B1 (en) | 2024-04-24 |
EP3798852A1 (en) | 2021-03-31 |
EP3798852A4 (en) | 2021-08-25 |
JP7146054B2 (ja) | 2022-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10528464B2 (en) | Memory system and control method | |
JP5792313B2 (ja) | ストレージシステム | |
US11321229B2 (en) | System controller and system garbage collection method | |
US9298534B2 (en) | Memory system and constructing method of logical block | |
US11928053B2 (en) | System garbage collection method and method for garbage collection in solid state disk | |
JP6459644B2 (ja) | ストレージ制御装置、制御システム及び制御プログラム | |
US10621085B2 (en) | Storage system and system garbage collection method | |
KR101649357B1 (ko) | 데이터 저장 장치, 그것의 동작 방법, 그리고 그것을 포함한 스토리지 서버 | |
WO2018131127A1 (ja) | ストレージ装置及び分散ストレージシステム | |
CN107066202B (zh) | 具有多个固态盘的存储设备 | |
JP7146054B2 (ja) | システムコントローラおよびシステムガベージコレクション方法 | |
US20190243758A1 (en) | Storage control device and storage control method | |
US20200379903A1 (en) | Staggered garbage collection unit (gcu) allocation across dies | |
US11829270B2 (en) | Semiconductor die failure recovery in a data storage device | |
CN108877862B (zh) | 页条带的数据组织以及向页条带写入数据的方法与装置 | |
CN110554833A (zh) | 存储设备中并行处理io命令 | |
CN107688435B (zh) | Io流调节方法与装置 | |
CN110928482A (zh) | 部分页条带与使用部分页条带的存储设备及其方法 | |
TW202032563A (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
CN110688056A (zh) | Nvm组的存储介质替换 | |
US11422931B2 (en) | Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization | |
WO2020052216A1 (zh) | 一种系统垃圾回收方法和固态硬盘中的垃圾回收方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210215 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220527 |
|
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: 20220829 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220920 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7146054 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |