JP2023522544A - 単方向コマンドによるオン-ssdの消失訂正符号化 - Google Patents
単方向コマンドによるオン-ssdの消失訂正符号化 Download PDFInfo
- Publication number
- JP2023522544A JP2023522544A JP2022549602A JP2022549602A JP2023522544A JP 2023522544 A JP2023522544 A JP 2023522544A JP 2022549602 A JP2022549602 A JP 2022549602A JP 2022549602 A JP2022549602 A JP 2022549602A JP 2023522544 A JP2023522544 A JP 2023522544A
- Authority
- JP
- Japan
- Prior art keywords
- value
- parity
- unidirectional command
- command
- indicated
- 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
- 230000004044 response Effects 0.000 claims abstract description 121
- 238000004364 calculation method Methods 0.000 claims abstract description 68
- 230000002085 persistent effect Effects 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims description 55
- 239000007787 solid Substances 0.000 claims description 15
- 239000000758 substrate Substances 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012005 ligant binding assay Methods 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 18
- 238000012546 transfer Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 101100045541 Homo sapiens TBCD gene Proteins 0.000 description 7
- 101150093640 SSD1 gene Proteins 0.000 description 7
- 101100111629 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR2 gene Proteins 0.000 description 7
- 102100030290 Tubulin-specific chaperone D Human genes 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 239000000872 buffer Substances 0.000 description 6
- 238000013403 standard screening design Methods 0.000 description 6
- 239000003990 capacitor Substances 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 2
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004146 energy storage Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- LMESMTMYZUOGFN-STZQEDGTSA-N ram-388 Chemical compound C1C2=CC=C(OC)C(O)=C2[C@]23CCN(CCCCC)[C@H]1[C@]2(O)CCC(=O)C3 LMESMTMYZUOGFN-STZQEDGTSA-N 0.000 description 2
- 229910052594 sapphire Inorganic materials 0.000 description 2
- 239000010980 sapphire Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 101000907912 Homo sapiens Pre-mRNA-splicing factor ATP-dependent RNA helicase DHX16 Proteins 0.000 description 1
- 101000798532 Homo sapiens Transmembrane protein 171 Proteins 0.000 description 1
- 101150101414 PRP1 gene Proteins 0.000 description 1
- 102100023390 Pre-mRNA-splicing factor ATP-dependent RNA helicase DHX16 Human genes 0.000 description 1
- 101100368710 Rattus norvegicus Tacstd2 gene Proteins 0.000 description 1
- 101100342406 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PRS1 gene Proteins 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000005387 chalcogenide glass Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000010257 thawing Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- 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
- G06F11/1068—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 in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
図面は、以下の通りである。
[WriteAndXor、SaveEC、およびECwriteの例]
[ECrmwの例]
Pn'=αn(Dm' XOR Dm) XOR Pn …[等式1]
[追加の留意事項および例]
[項目1]
1または複数の基板と、
上記1または複数の基板に結合されたロジックであって、永続記憶媒体へのローカルアクセスを制御し、1または複数のコマンドに応答して、
第1のローカルパリティ計算に基づいて、中間パリティ値を決定し
上記中間パリティ値をローカルに記憶し
上記中間パリティ値および第2のローカルパリティ計算に基づいて、最終パリティ値を決定する、ロジックと、
を備える電子装置。
[項目2]
第1の単方向コマンドに応答して、上記ロジックはさらに、
上記第1の単方向コマンドで示される第1のアドレスから古いデータ値を読み込み、
上記古いデータ値と、上記第1の単方向コマンドで示される新たなデータ値との排他的OR演算を実行して、上記中間パリティ値を決定し、
上記第1の単方向コマンドで示される第1のインデックスに関連付けされる第1の位置に、上記中間パリティ値をローカルに記憶する、
項目1に記載の電子装置。
[項目3]
上記第1の単方向コマンドに応答して、上記ロジックはさらに、
上記第1のアドレスに上記新たなデータを書き込む、
項目2に記載の電子装置。
[項目4]
第2の単方向コマンドに応答して、上記ロジックはさらに、
上記第2の単方向コマンドで示される第2のインデックスに関連付けられる第2の位置から中間パリティ値を読み込み、
上記第2の単方向コマンドで示される第2のアドレスに上記中間パリティ値を記憶する、
項目1から3のいずれか一項に記載の電子装置。
[項目5]
上記永続記憶媒体は、ソリッドステートドライブを含む、
項目4に記載の電子装置。
[項目6]
永続記憶媒体と、
上記永続記憶媒体に通信可能に結合されたコントローラであって、上記コントローラは、上記永続記憶媒体へのローカルアクセスを制御し、1または複数のコマンドに応答して、
第1のローカルパリティ計算に基づいて、中間パリティ値を決定し、
上記中間パリティ値をローカルに記憶し、
上記中間パリティ値および第2のローカルパリティ計算に基づいて、最終パリティ値を決定する、ロジックを含む、コントローラと、
を備える、電子ストレージシステム。
[項目7]
単方向コマンドに応答して、上記ロジックはさらに、
上記単方向コマンドで示されるアドレスから古いパリティデータ値を読み込み、
上記単方向コマンドで示されるインデックスに関連付けされる位置に古いパリティデータ値をローカルに記憶する、
項目6に記載の電子ストレージシステム。
[項目8]
上記単方向コマンドに応答して、上記ロジックはさらに、
上記古いパリティデータ値と、上記単方向コマンドで示される中間パリティ値と、上記単方向コマンドで示される係数値とに基づいて、上記第2のローカルパリティ計算を実行し、上記最終パリティ値を決定し、
第3のアドレスに上記最終パリティ値を書き込む、
項目7に記載の電子ストレージシステム。
[項目9]
単方向コマンドに応答して、上記ロジックはさらに、
上記単方向コマンドで示される第1のアドレスから古いデータ値を読み込み、
上記古いデータ値と、上記単方向コマンドで示される新たなデータ値との排他的OR演算を実行して、上記中間パリティ値を決定し、
上記中間パリティ値と、上記単方向コマンドで示される係数値とに基づいて、乗算演算を実行し、上記最終パリティ値を決定し、
上記単方向コマンドで示される第2のアドレスに上記最終パリティ値を書き込む、
項目6に記載の電子ストレージシステム。
[項目10]
上記永続記憶媒体は、ソリッドステートドライブを含む、
項目6から9のいずれか一項に記載の電子ストレージシステム。
[項目11]
永続記憶媒体へのローカルアクセスを制御する段階と、1または複数のコマンドに応答して、
第1のローカルパリティ計算に基づいて、中間パリティ値を決定する段階と、
上記中間パリティ値をローカルに記憶する段階と、
上記中間パリティ値および第2のローカルパリティ計算に基づいて、最終パリティ値を決定する段階と、
を備える、ストレージを制御する方法。
[項目12]
第1の単方向コマンドに応答して、
上記第1の単方向コマンドで示される第1のアドレスから古いデータ値を読み込む段階と、
上記古いデータ値と、上記第1の単方向コマンドで示される新たなデータ値との排他的OR演算を実行して、上記中間パリティ値を決定する段階と、
上記第1の単方向コマンドで示される第1のインデックスに関連付けされる第1の位置に上記中間パリティ値をローカルに記憶する段階と、
をさらに備える、項目11に記載の方法。
[項目13]
上記第1の単方向コマンドに応答して、上記第1のアドレスに上記新たなデータを書き込む段階をさらに備える、項目12に記載の方法。
[項目14]
第2の単方向コマンドに応答して、
上記第2の単方向コマンドで示される第2のアドレスから古いパリティデータ値を読み込む段階と、
上記第2の単方向コマンドで示される第2のインデックスに関連付けられる第2の位置に上記古いパリティデータ値をローカルに記憶する段階と、
をさらに備える、項目11から13のいずれか一項に記載の方法。
[項目15]
上記第2の単方向コマンドに応答して、
上記古いパリティデータ値と、上記第2の単方向コマンドで示される中間パリティ値と、上記第2の単方向コマンドで示される係数値とに基づいて、上記第2のローカルパリティ計算を実行して、上記最終パリティ値を決定する段階と、
上記第2のアドレスに上記最終パリティ値を書き込む段階と、
をさらに備える、項目14に記載の方法。
[項目16]
コンピューティングデバイス上で実行されることに応答して、上記コンピューティングデバイスに永続記憶媒体へのローカルアクセスを制御させ、1または複数のコマンドに応答して、
第1のローカルパリティ計算に基づいて中間パリティ値を決定させ、
上記中間パリティ値をローカルに記憶させ、
上記中間パリティ値および第2のローカルパリティ計算に基づいて最終パリティ値を決定させる、
複数の命令を備える、コンピュータプログラム。
[項目17]
上記コンピューティングデバイス上で実行されることに応答して、かつ単方向コマンドに応答して、上記コンピューティングデバイスに、
上記単方向コマンドで示されるインデックスに関連付けされる位置から中間パリティ値を読み込ませ、
上記単方向コマンドで示されるアドレスに上記中間パリティ値を記憶させる、
複数のさらなる命令を備える、項目16に記載のコンピュータプログラム。
[項目18]
上記コンピューティングデバイス上で実行されることに応答して、かつ単方向コマンドに応答して、上記コンピューティングデバイスに
上記単方向コマンドで示される第1のアドレスから古いデータ値を読み込ませ、
上記古いデータ値と、上記単方向コマンドで示される新たなデータ値との排他的OR演算を実行させて、上記中間パリティ値を決定させ、
上記中間パリティ値と、上記単方向コマンドで示される係数値とに基づいて、乗算演算を実行させて、上記最終パリティ値を決定させ、
上記単方向コマンドで示される第2のアドレスに上記最終パリティ値を書き込ませる、
複数のさらなる命令を備える、項目16に記載のコンピュータプログラム。
[項目19]
上記永続記憶媒体は、ソリッドステートドライブを備える、
項目16から18のいずれか一項に記載のコンピュータプログラム。
[項目20]
永続記憶媒体へのローカルアクセスを制御する手段と、1または複数のコマンドに応答して、
第1のローカルパリティ計算に基づいて中間パリティ値を決定する手段と、
上記中間パリティ値をローカルに記憶する手段と、
上記中間パリティ値および第2のローカルパリティ計算に基づいて最終パリティ値を決定する手段と、
を備える、ストレージデバイスコントローラ装置。
[項目21]
単方向コマンドに応答して、
上記単方向コマンドで示されるアドレスから古いデータ値を読み込む手段と、
上記古いデータ値と、上記単方向コマンドで示される新たなデータ値との排他的OR演算を実行して、上記中間パリティ値を決定する手段と、
上記単方向コマンドで示されるインデックスに関連付けされる位置に上記中間パリティ値をローカルに記憶する手段と、
をさらに備える、項目20に記載のストレージデバイスコントローラ装置。
[項目22]
単方向コマンドに応答して、
上記単方向コマンドで示されるインデックスに関連付けされる位置から中間パリティ値を読み込む手段と、
上記単方向コマンドで示されるアドレスに中間パリティ値を記憶する手段と、
をさらに備える、項目20に記載のストレージデバイスコントローラ装置。
[項目23]
単方向コマンドに応答して、
上記単方向コマンドで示されるアドレスから古いパリティデータ値を読み込む手段と、
上記単方向コマンドで示されるインデックスに関連付けされる位置に上記古いパリティデータ値をローカルに記憶する手段と、
をさらに備える、項目20に記載のストレージデバイスコントローラ装置。
[項目24]
上記単方向コマンドに応答して、
上記古いパリティデータ値と、上記単方向コマンドで示される中間パリティ値と、上記単方向コマンドで示される係数値とに基づいて、上記第2のローカルパリティ計算を実行して、上記最終パリティ値を決定する手段と、
上記単方向コマンドで示される上記アドレスに上記最終パリティ値を書き込む手段と、
をさらに備える、項目23に記載のストレージデバイスコントローラ装置。
[項目25]
単方向コマンドに応答して、
上記単方向コマンドで示される第1のアドレスから古いデータ値を読み込む手段と、
上記古いデータ値と、上記単方向コマンドで示される新たなデータ値との排他的OR演算を実行して、中間パリティ値を決定する手段と、
上記中間パリティ値と、上記単方向コマンドで示される係数値とに基づいて、乗算演算を実行して、上記最終パリティ値を決定する手段と、
上記単方向コマンドで示される第2のアドレスに上記最終パリティ値を書き込む手段と、
をさらに備える、項目20に記載のストレージデバイスコントローラ装置。
Claims (25)
- 1または複数の基板と、
前記1または複数の基板に結合されたロジックであって、永続記憶媒体へのローカルアクセスを制御し、1または複数のコマンドに応答して、
第1のローカルパリティ計算に基づいて、中間パリティ値を決定し
前記中間パリティ値をローカルに記憶し
前記中間パリティ値および第2のローカルパリティ計算に基づいて、最終パリティ値を決定する、ロジックと、
を備える電子装置。 - 第1の単方向コマンドに応答して、前記ロジックはさらに、
前記第1の単方向コマンドで示される第1のアドレスから古いデータ値を読み込み、
前記古いデータ値と、前記第1の単方向コマンドで示される新たなデータ値との排他的OR演算を実行して、前記中間パリティ値を決定し、
前記第1の単方向コマンドで示される第1のインデックスに関連付けされる第1の位置に、前記中間パリティ値をローカルに記憶する、
請求項1に記載の電子装置。 - 前記第1の単方向コマンドに応答して、前記ロジックはさらに、
前記第1のアドレスに前記新たなデータを書き込む、
請求項2に記載の電子装置。 - 第2の単方向コマンドに応答して、前記ロジックはさらに、
前記第2の単方向コマンドで示される第2のインデックスに関連付けられる第2の位置から中間パリティ値を読み込み、
前記第2の単方向コマンドで示される第2のアドレスに前記中間パリティ値を記憶する、
請求項1から3のいずれか一項に記載の電子装置。 - 前記永続記憶媒体は、ソリッドステートドライブを含む、
請求項4に記載の電子装置。 - 永続記憶媒体と、
前記永続記憶媒体に通信可能に結合されたコントローラであって、前記コントローラは、前記永続記憶媒体へのローカルアクセスを制御し、1または複数のコマンドに応答して、
第1のローカルパリティ計算に基づいて、中間パリティ値を決定し、
前記中間パリティ値をローカルに記憶し、
前記中間パリティ値および第2のローカルパリティ計算に基づいて、最終パリティ値を決定する、ロジックを含む、コントローラと、
を備える、電子ストレージシステム。 - 単方向コマンドに応答して、前記ロジックはさらに、
前記単方向コマンドで示されるアドレスから古いパリティデータ値を読み込み、
前記単方向コマンドで示されるインデックスに関連付けされる位置に古いパリティデータ値をローカルに記憶する、
請求項6に記載の電子ストレージシステム。 - 前記単方向コマンドに応答して、前記ロジックはさらに、
前記古いパリティデータ値と、前記単方向コマンドで示される中間パリティ値と、前記単方向コマンドで示される係数値とに基づいて、前記第2のローカルパリティ計算を実行し、前記最終パリティ値を決定し、
第3のアドレスに前記最終パリティ値を書き込む、
請求項7に記載の電子ストレージシステム。 - 単方向コマンドに応答して、前記ロジックはさらに、
前記単方向コマンドで示される第1のアドレスから古いデータ値を読み込み、
前記古いデータ値と、前記単方向コマンドで示される新たなデータ値との排他的OR演算を実行して、前記中間パリティ値を決定し、
前記中間パリティ値と、前記単方向コマンドで示される係数値とに基づいて、乗算演算を実行し、前記最終パリティ値を決定し、
前記単方向コマンドで示される第2のアドレスに前記最終パリティ値を書き込む、
請求項6に記載の電子ストレージシステム。 - 前記永続記憶媒体は、ソリッドステートドライブを含む、
請求項6から9のいずれか一項に記載の電子ストレージシステム。 - 永続記憶媒体へのローカルアクセスを制御する段階と、1または複数のコマンドに応答して、
第1のローカルパリティ計算に基づいて、中間パリティ値を決定する段階と、
前記中間パリティ値をローカルに記憶する段階と、
前記中間パリティ値および第2のローカルパリティ計算に基づいて、最終パリティ値を決定する段階と、
を備える、ストレージを制御する方法。 - 第1の単方向コマンドに応答して、
前記第1の単方向コマンドで示される第1のアドレスから古いデータ値を読み込む段階と、
前記古いデータ値と、前記第1の単方向コマンドで示される新たなデータ値との排他的OR演算を実行して、前記中間パリティ値を決定する段階と、
前記第1の単方向コマンドで示される第1のインデックスに関連付けされる第1の位置に前記中間パリティ値をローカルに記憶する段階と、
をさらに備える、請求項11に記載の方法。 - 前記第1の単方向コマンドに応答して、前記第1のアドレスに前記新たなデータを書き込む段階をさらに備える、請求項12に記載の方法。
- 第2の単方向コマンドに応答して、
前記第2の単方向コマンドで示される第2のアドレスから古いパリティデータ値を読み込む段階と、
前記第2の単方向コマンドで示される第2のインデックスに関連付けられる第2の位置に前記古いパリティデータ値をローカルに記憶する段階と、
をさらに備える、請求項11から13のいずれか一項に記載の方法。 - 前記第2の単方向コマンドに応答して、
前記古いパリティデータ値と、前記第2の単方向コマンドで示される中間パリティ値と、前記第2の単方向コマンドで示される係数値とに基づいて、前記第2のローカルパリティ計算を実行して、前記最終パリティ値を決定する段階と、
前記第2のアドレスに前記最終パリティ値を書き込む段階と、
をさらに備える、請求項14に記載の方法。 - コンピューティングデバイス上で実行されることに応答して、前記コンピューティングデバイスに永続記憶媒体へのローカルアクセスを制御させ、1または複数のコマンドに応答して、
第1のローカルパリティ計算に基づいて中間パリティ値を決定させ、
前記中間パリティ値をローカルに記憶させ、
前記中間パリティ値および第2のローカルパリティ計算に基づいて最終パリティ値を決定させる、
複数の命令を備える、コンピュータプログラム。 - 前記コンピューティングデバイス上で実行されることに応答して、かつ単方向コマンドに応答して、前記コンピューティングデバイスに、
前記単方向コマンドで示されるインデックスに関連付けされる位置から中間パリティ値を読み込ませ、
前記単方向コマンドで示されるアドレスに前記中間パリティ値を記憶させる、
複数のさらなる命令を備える、請求項16に記載のコンピュータプログラム。 - 前記コンピューティングデバイス上で実行されることに応答して、かつ単方向コマンドに応答して、前記コンピューティングデバイスに
前記単方向コマンドで示される第1のアドレスから古いデータ値を読み込ませ、
前記古いデータ値と、前記単方向コマンドで示される新たなデータ値との排他的OR演算を実行させて、前記中間パリティ値を決定させ、
前記中間パリティ値と、前記単方向コマンドで示される係数値とに基づいて、乗算演算を実行させて、前記最終パリティ値を決定させ、
前記単方向コマンドで示される第2のアドレスに前記最終パリティ値を書き込ませる、
複数のさらなる命令を備える、請求項16に記載のコンピュータプログラム。 - 前記永続記憶媒体は、ソリッドステートドライブを備える、
請求項16から18のいずれか一項に記載のコンピュータプログラム。 - 永続記憶媒体へのローカルアクセスを制御する手段と、1または複数のコマンドに応答して、
第1のローカルパリティ計算に基づいて中間パリティ値を決定する手段と、
前記中間パリティ値をローカルに記憶する手段と、
前記中間パリティ値および第2のローカルパリティ計算に基づいて最終パリティ値を決定する手段と、
を備える、ストレージデバイスコントローラ装置。 - 単方向コマンドに応答して、
前記単方向コマンドで示されるアドレスから古いデータ値を読み込む手段と、
前記古いデータ値と、前記単方向コマンドで示される新たなデータ値との排他的OR演算を実行して、前記中間パリティ値を決定する手段と、
前記単方向コマンドで示されるインデックスに関連付けされる位置に前記中間パリティ値をローカルに記憶する手段と、
をさらに備える、請求項20に記載のストレージデバイスコントローラ装置。 - 単方向コマンドに応答して、
前記単方向コマンドで示されるインデックスに関連付けされる位置から中間パリティ値を読み込む手段と、
前記単方向コマンドで示されるアドレスに中間パリティ値を記憶する手段と、
をさらに備える、請求項20に記載のストレージデバイスコントローラ装置。 - 単方向コマンドに応答して、
前記単方向コマンドで示されるアドレスから古いパリティデータ値を読み込む手段と、
前記単方向コマンドで示されるインデックスに関連付けされる位置に前記古いパリティデータ値をローカルに記憶する手段と、
をさらに備える、請求項20に記載のストレージデバイスコントローラ装置。 - 前記単方向コマンドに応答して、
前記古いパリティデータ値と、前記単方向コマンドで示される中間パリティ値と、前記単方向コマンドで示される係数値とに基づいて、前記第2のローカルパリティ計算を実行して、前記最終パリティ値を決定する手段と、
前記単方向コマンドで示される前記アドレスに前記最終パリティ値を書き込む手段と、
をさらに備える、請求項23に記載のストレージデバイスコントローラ装置。 - 単方向コマンドに応答して、
前記単方向コマンドで示される第1のアドレスから古いデータ値を読み込む手段と、
前記古いデータ値と、前記単方向コマンドで示される新たなデータ値との排他的OR演算を実行して、中間パリティ値を決定する手段と、
前記中間パリティ値と、前記単方向コマンドで示される係数値とに基づいて、乗算演算を実行して、前記最終パリティ値を決定する手段と、
前記単方向コマンドで示される第2のアドレスに前記最終パリティ値を書き込む手段と、
をさらに備える、請求項20に記載のストレージデバイスコントローラ装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/076072 WO2021163973A1 (en) | 2020-02-20 | 2020-02-20 | On-ssd erasure coding with uni-directional commands |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023522544A true JP2023522544A (ja) | 2023-05-31 |
JP7529947B2 JP7529947B2 (ja) | 2024-08-07 |
Family
ID=77390257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022549602A Active JP7529947B2 (ja) | 2020-02-20 | 2020-02-20 | 単方向コマンドによるオン-ssdの消失訂正符号化 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11971782B2 (ja) |
EP (1) | EP4107726A4 (ja) |
JP (1) | JP7529947B2 (ja) |
KR (1) | KR20220142521A (ja) |
CN (1) | CN115428074A (ja) |
WO (1) | WO2021163973A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2024103196A (ja) * | 2023-01-20 | 2024-08-01 | キオクシア株式会社 | 情報処理システム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5574882A (en) | 1995-03-03 | 1996-11-12 | International Business Machines Corporation | System and method for identifying inconsistent parity in an array of storage |
US6766480B2 (en) | 2001-03-14 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | Using task description blocks to maintain information regarding operations |
CN100361222C (zh) | 2003-09-05 | 2008-01-09 | 三洋电机株式会社 | 纠错码产生电路及其方法 |
US7290199B2 (en) | 2004-11-19 | 2007-10-30 | International Business Machines Corporation | Method and system for improved buffer utilization for disk array parity updates |
CN104205059B (zh) * | 2012-04-27 | 2017-07-14 | 株式会社日立制作所 | 存储系统和存储控制装置 |
US9778986B2 (en) * | 2014-03-28 | 2017-10-03 | Hitachi, Ltd. | Storage system |
US10176039B2 (en) * | 2014-09-19 | 2019-01-08 | Micron Technology, Inc. | Self-accumulating exclusive OR program |
JP6328335B2 (ja) | 2015-06-01 | 2018-05-23 | 株式会社日立製作所 | ストレージ装置及びその制御方法 |
WO2017082750A1 (en) | 2015-11-10 | 2017-05-18 | Huawei Technologies Co., Ltd. | Method and apparatus for encoding data for storage |
US20180039425A1 (en) | 2016-08-02 | 2018-02-08 | Alibaba Group Holding Limited | Method and apparatus for improved flash memory storage latency and robustness |
US10664193B2 (en) * | 2016-09-16 | 2020-05-26 | Hitachi, Ltd. | Storage system for improved efficiency of parity generation and minimized processor load |
US11150846B2 (en) | 2017-03-28 | 2021-10-19 | Hitachi, Ltd. | Storage system, computer-readable recording medium, and control method for system that reconstructs and distributes data |
US20190050161A1 (en) | 2018-06-21 | 2019-02-14 | Intel Corporation | Data storage controller |
-
2020
- 2020-02-20 KR KR1020227032575A patent/KR20220142521A/ko unknown
- 2020-02-20 WO PCT/CN2020/076072 patent/WO2021163973A1/en unknown
- 2020-02-20 CN CN202080099751.7A patent/CN115428074A/zh active Pending
- 2020-02-20 EP EP20919468.7A patent/EP4107726A4/en active Pending
- 2020-02-20 US US17/801,417 patent/US11971782B2/en active Active
- 2020-02-20 JP JP2022549602A patent/JP7529947B2/ja active Active
-
2024
- 2024-03-27 US US18/618,965 patent/US20240241792A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP7529947B2 (ja) | 2024-08-07 |
US20230082403A1 (en) | 2023-03-16 |
CN115428074A (zh) | 2022-12-02 |
US20240241792A1 (en) | 2024-07-18 |
EP4107726A1 (en) | 2022-12-28 |
KR20220142521A (ko) | 2022-10-21 |
EP4107726A4 (en) | 2023-10-11 |
US11971782B2 (en) | 2024-04-30 |
WO2021163973A1 (en) | 2021-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102686494B1 (ko) | 구역 그룹화를 갖는 구역화된 네임스페이스 | |
US20200089407A1 (en) | Inter zone write for zoned namespaces | |
US11074172B2 (en) | On-device-copy for hybrid SSD with second persistent storage media update of logical block address for first persistent storage media data | |
US20190073302A1 (en) | Ssd boot based on prioritized endurance groups | |
US12118240B2 (en) | Controller and persistent memory shared between multiple storage devices | |
EP3699747A1 (en) | Raid aware drive firmware update | |
US20210117123A1 (en) | Accelerated raid rebuild offload | |
US20240241792A1 (en) | On-ssd erasure coding with uni-directional commands | |
US20240264774A1 (en) | Ssd managed host write atomicity with arbitrary transfer length | |
EP3496356A1 (en) | Atomic cross-media writes on storage devices | |
US20240354209A1 (en) | Persistent data structure to track and manage ssd defects | |
US10795838B2 (en) | Using transfer buffer to handle host read collisions in SSD | |
US12112055B2 (en) | Erasure coding write hole closure for solid-state drive (SSD) erasure coding | |
CN114816830A (zh) | 低复杂度的基于覆盖率的压缩 | |
US10936201B2 (en) | Low latency mirrored raid with persistent cache | |
US20190042372A1 (en) | Method and apparatus to recover data stored in persistent memory in a failed node of a computer cluster | |
US20210405889A1 (en) | Data rollback for tiered memory and storage | |
TWI844731B (zh) | 具有寬預取之高頻寬dram記憶體 | |
US10879938B2 (en) | Erasure coding to mitigate media defects for distributed die ECC | |
US20220091934A1 (en) | Adaptive device data correction with increased memory failure handling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230206 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240410 |
|
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: 20240423 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20240523 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20240621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240621 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7529947 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |