JP2016505937A - データストレージシステムのためのデータ信頼性スキーム - Google Patents
データストレージシステムのためのデータ信頼性スキーム Download PDFInfo
- Publication number
- JP2016505937A JP2016505937A JP2015545040A JP2015545040A JP2016505937A JP 2016505937 A JP2016505937 A JP 2016505937A JP 2015545040 A JP2015545040 A JP 2015545040A JP 2015545040 A JP2015545040 A JP 2015545040A JP 2016505937 A JP2016505937 A JP 2016505937A
- Authority
- JP
- Japan
- Prior art keywords
- data
- page
- unit
- parity
- pages
- 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
- 238000013500 data storage Methods 0.000 title claims abstract description 16
- 238000011084 recovery Methods 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims description 95
- 239000007787 solid Substances 0.000 claims description 21
- 238000012937 correction Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 11
- 238000003530 single readout Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 72
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 230000001960 triggered effect 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
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
開示されるデータ信頼性スキームは、データストレージシステムに記憶されたデータを処理する(例えば、読み出し)ために必要な時間を低減することができ、必要なときにデータリカバリを行うことができる。本発明の一部の実施形態では、コントローラは、データストレージシステムに記憶されたデータのためのインターページパリティ(例えば、RAID構成におけるリードソロモン符号)を実装するように構成される。インターページパリティは、ユーザデータの複数のF−ページ(フラッシュページ)のために決定又は生成されたパリティデータを含む。一実施形態では、F−ページのセットのうち、データを記憶するためにより信頼性のある(例えば、最も高い品質を有する)とみなされるF−ページは、インターページパリティデータを記憶するために選択されることができ、一方で他のF−ページは、ユーザデータを記憶するために用いられることができる。また、コントローラは、符号化されたデータユニットが処理のために同じサイズを有するように、処理前に、ユーザデータをパディングしうる。コントローラは、更に、F−ページのサイズにマッチングする粒度又はE−ページの粒度のようなより細かな粒度を用いてインターページパリティを管理することができ、ここで、F−ページは、複数の、このような小さなE−ページを含む。一部の実施形態では、インターページパリティが、F−ページサイズよりも細かい粒度を用いて管理されるとき、データは、冗長性シーケンスの各F−ページからの全てのユーザ及びパリティデータを用いずに、メモリ故障のイベントにおいてリカバリされることができる。
図1は、本発明の一実施形態に係るデータ信頼性スキームを実装するホストシステム110及びストレージシステム120を例示している。図示されているように、ストレージシステム120(例えば、ハイブリッドハードディスク、ソリッドステートドライブなど)は、コントローラ130および1以上の不揮発性メモリ(NVM)アレイ140を含む。NVMアレイ140は、単一ダイ又は複数ダイに含まれうる。コントローラ130は、誤り訂正モジュール132を含み、ストレージシステム120のための1以上のデータ冗長性スキームを実装及び維持しうる。例えば、誤り訂正モジュール132は、E−ページを含むF−ページのセットに対するインターページパリティ(inter page parity)及びイントラページパリティ(intra page parity)を実装しうる。インター及びイントラページパリティは、F−ページ及び/又はE−ページ粒度レベルで維持されうる。更に、誤り訂正モジュール132は、データを記憶するためのダイの品質(例えば、信頼性)に応じて、ユーザデータ又はインターページパリティデータを記憶する際に使用するためのNVMダイのページを割り当てることができる。また、誤り訂正モジュール132は、訂正できない(アンコレクタブル(uncorrectable))イントラページエラーが検出されたとき、2つの段階のデータリカバリアプローチを行うことができる。第1の段階では、メモリのページの複数のイントラページ再読出又は再符号化が行われうる。第1の段階が、記憶されたデータのリカバリに失敗した場合には、第2の段階において、インターページリカバリは、メモリの他のページに向けられるイントラページ再読出又は再復号化を含んでもよいように行われうる。
図2は、本発明の一実施形態に係る複数のNVMアレイダイからのF−ページを含むスーパーページ(S−ページ)200を示す図である。S−ページ200は、インターページパリティをサポートし、かつ複数のダイのF−ページに亘るデータを記憶するためのRAIDスキームを有利に提供しうる。1以上のダイが複数のプレーン(例えば、デュアルプレーンダイ)を含む一部の実施形態では、F−ページは、ダイと同様に複数のプレーンに亘って広がってもよい。
図4は、本発明の一実施形態に係るデータ信頼性スキームを実装する処理400を示すフローチャートである。処理400は、イントラ及びインターページパリティデータ両方の信頼性スキームを有利に含む。一部の実施形態では、図1のコントローラ130及び/又は誤り訂正モジュール132は、処理400を実行するように構成される。
図5は、本発明の一実施形態に係るデータ検索及びリカバリの処理500を示すフローチャートである。有利には、処理500は、アンコレクタブル読み出しデータエラーのようなアンコレクタブルエラーに遭遇した後、データをリカバリしようとする複数の機会を提供する。また、データのリカバリは、各ページからデータユニットの全てを用いずに行われることができ、それにより、各ページを処理し、リカバリを行うために必要となる時間を低減する。一部の実施形態では、図1のコントローラ130及び/又は誤り訂正モジュール132は、処理500を行うように構成される。
本開示は、一例としてRAIDを用いているが、本明細書で説明されるシステム及び方法は、RAID冗長性スキームに限定されず、ミラーリング又は誤り検査の目的のためにストレージ素子のストライピング及び/又はグルーピングを用いる任意のデータ冗長性構成で使用されることができる。また、RAIDは、Redundant Array of Independent Diskの略語であるが、RAIDは、物理ディスクを有するストレージデバイスに限定されず、本明細書で説明される不揮発性ソリッドステートデバイスを含む多種のストレージデバイスに適用可能である。
Claims (22)
- ソリッドステートストレージシステムであって、
不揮発性メモリアレイと、
前記不揮発性メモリアレイに複数のデータページを有するデータ冗長性構成を実装し、前記複数のデータページは、データページの第1及び第2のセットを含み、
前記第1のセットの各データページに複数のデータユニット及びイントラページパリティユニットを格納し、かつ前記第2のセットの各データページに複数のインターページパリティユニットを格納し、
第1のデータページからデータユニットが読み出されたとき、前記第1のセットの第1のデータページのイントラページパリティユニットを用いてアンコレクタブルエラーを検出し、
前記アンコレクタブルエラーを検出したことに応じて、前記第1のセットの各データページからの対応するデータユニット及び前記第2のセットの各データページからの対応するインターページパリティユニットを用いて前記データユニットのリカバリを行うように構成されるコントローラと、を備え、
前記コントローラは、前記第1のセットの各データページからのデータユニットの全て及び前記第2のセットの各データページからのインターページパリティユニットの全てを用いずにリカバリを行うように構成される、ソリッドステートストレージシステム。 - 各データユニットは、予め定義されたデータセットでパディングした後に、共通の数のデータのオクテットを含み、各インターページパリティユニットは、前記共通の数のデータのオクテットを含み、かつ前記第1のセットの各データページからの対応するデータユニットに少なくとも部分的に基づくパリティに対応する、請求項1に記載のソリッドステートストレージシステム。
- 各データページは、フラッシュページ(F−ページ)を含み、各データユニットは、誤り訂正符号ページ(E−ページ)を含む請求項1に記載のソリッドステートストレージシステム。
- 前記イントラページパリティユニットは、低密度パリティ検査(LDPC)パリティユニットを含み、前記インターページパリティユニットは、リードソロモン符号(RS)パリティユニットを含む請求項1に記載のソリッドステートストレージシステム。
- 前記データ冗長性構成は、redundant array of independent disks(RAID)構成である請求項1に記載のソリッドステートストレージシステム。
- 前記コントローラは、更に、前記アンコレクタブルエラーを検出したことに応じて、前記データユニットを読み出すための読み出しパラメータを変更し、変更された前記読み出しパラメータを用いて前記データユニットに読み出しを行わせるように構成される請求項1に記載のソリッドステートストレージシステム。
- 前記読み出しパラメータは、単一読み出し/複数読み出し、及び電圧閾値調整の少なくとも1つの指示を含む請求項6に記載のソリッドステートストレージシステム。
- 前記コントローラは、更に、
前記データユニットのリカバリが、前記データユニットのデータコンテンツを決定することに成功したかどうかを判定し、
前記データユニットのリカバリが、前記データユニットのデータコンテンツを決定することに成功しなかったことに応じて、前記第1のデータページ以外の1以上のデータページの1以上のデータユニットを読み出すための前記読み出しパラメータを変更し、
変更された前記読み出しパラメータを用いて、前記第1のデータページ以外の前記1以上のデータページの1以上のデータユニットに読み出しを行わせるように構成される請求項7に記載のソリッドステートストレージシステム。 - 前記コントローラは、更に、
前記アンコレクタブルエラーを検出したことに応じて、前記データユニットを復号化するための復号化パラメータを変更し、
変更された前記復号化パラメータを用いて前記データユニットを復号化するように構成される請求項1に記載のソリッドステートストレージシステム。 - 前記コントローラは、更に、
前記データユニットのリカバリが、前記データユニットのデータコンテンツを決定することに成功したかどうかを判定し、
前記データユニットのリカバリが、前記データユニットのデータコンテンツを決定することに成功しなかったと判定されたことに応じて、前記第1のデータページ以外の1以上のデータページの1以上のデータユニットを復号化するための前記復号化パラメータを変更し、
変更された前記復号化パラメータを用いて、前記第1のデータページ以外の前記1以上のデータページの1以上のデータユニットを復号化するように構成される請求項9に記載のソリッドステートストレージシステム。 - 前記コントローラは、更に、
各データページにおける使用可能なデータメモリスペースの量に基づいて前記第1のセット又は前記第2のセットのいずれかに各データページを割り当て、
前記第1のセットの各データページからの対応するデータユニットに少なくとも部分的に基づいて、各インターページパリティユニットを、前記第2のセットの各データページに書き込むように構成される請求項1に記載のソリッドステートストレージシステム。 - コントローラを備えるデータストレージシステムにおいて、データリカバリを行う方法であって、
不揮発性メモリアレイに複数のデータページを有するデータ冗長性構成を実装するステップであって、前記複数のデータページは、データページの第1及び第2のセットを含む、ステップと、
前記第1のセットの各データページに複数のデータユニット及びイントラページパリティユニットを格納し、かつ前記第2のセットの各データページに複数のインターページパリティユニットを格納するステップと、
第1のデータページからデータユニットが読み出されたとき、前記第1のセットの第1のデータページのイントラページパリティユニットを用いてアンコレクタブルエラーを検出するステップと、
前記アンコレクタブルエラーを検出したことに応じて、前記第1のセットの各データページからの対応するデータユニット及び前記第2のセットの各データページからの対応するインターページパリティユニットを用いて前記データユニットのリカバリを行うステップと、を備え、前記リカバリは、前記第1のセットの各データページからのデータユニットの全てではなく、かつ前記第2のセットの各データページからのインターページパリティユニットの全てではないものを用いて行われる、方法。 - 各データユニットは、予め定義されたデータセットでパディングした後に、共通の数のデータのオクテットを含み、各インターページパリティユニットは、前記共通の数のデータのオクテットを含み、かつ前記第1のセットの各データページからの対応するデータユニットに少なくとも部分的に基づくパリティに対応する、請求項12に記載の方法。
- 各データページは、フラッシュページ(F−ページ)を含み、各データユニットは、誤り訂正符号ページ(E−ページ)を含む請求項12に記載の方法。
- 前記イントラページパリティユニットは、低密度パリティ検査(LDPC)パリティユニットを含み、前記インターページパリティユニットは、リードソロモン符号(RS)パリティユニットを含む請求項12に記載の方法。
- 前記データ冗長性構成は、redundant array of independent disks(RAID)構成である請求項12に記載の方法。
- 前記アンコレクタブルエラーを検出したことに応じて、前記データユニットを読み出すための読み出しパラメータを変更するステップと、
変更された前記読み出しパラメータを用いて前記データユニットに読み出しを行わせるステップと、を更に備える請求項12に記載の方法。 - 前記読み出しパラメータは、単一読み出し/複数読み出し、及び電圧閾値調整の少なくとも1つの指示を含む請求項17に記載の方法。
- 前記データユニットのリカバリが、前記データユニットのデータコンテンツを決定することに成功したかどうかを判定するステップと、
前記データユニットのリカバリが、前記データユニットのデータコンテンツを決定することに成功しなかったと判定されたことに応じて、前記第1のデータページ以外の1以上のデータページの1以上のデータユニットを読み出すための前記読み出しパラメータを変更するステップと、
変更された前記読み出しパラメータを用いて前記第1のデータページ以外の前記1以上のデータページの1以上のデータユニットに読み出しを行わせるステップと、を更に備える請求項18に記載の方法。 - 前記アンコレクタブルエラーを検出したことに応じて、前記データユニットを復号化するための復号化パラメータを変更するステップと、
変更された前記復号化パラメータを用いて前記データユニットを復号化するステップと、を更に備える請求項12に記載の方法。 - 前記データユニットのリカバリが、前記データユニットのデータコンテンツを決定することに成功したかどうかを判定するステップと、
前記データユニットのリカバリが、前記データユニットのデータコンテンツを決定することに成功しなかったと判定されたことに応じて、前記第1のデータページ以外の1以上のデータページの1以上のデータユニットを復号化するための前記復号化パラメータを変更するステップと、
変更された前記復号化パラメータを用いて前記第1のデータページ以外の前記1以上のデータページの1以上のデータユニットを復号化するステップと、を更に備える請求項20に記載の方法。 - 各データページにおける使用可能なデータメモリスペースの量に基づいて前記第1のセット又は前記第2のセットのいずれかに各データページを割り当てるステップと、
前記第1のセットの各データページからの対応するデータユニットに少なくとも部分的に基づいて、各インターページパリティユニットを、前記第2のセットの各データページに書き込むステップと、を更に備える請求項12に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/689,673 | 2012-11-29 | ||
US13/689,673 US9021339B2 (en) | 2012-11-29 | 2012-11-29 | Data reliability schemes for data storage systems |
PCT/US2013/062760 WO2014084960A1 (en) | 2012-11-29 | 2013-09-30 | Data reliability schemes for data storage systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016505937A true JP2016505937A (ja) | 2016-02-25 |
JP6262250B2 JP6262250B2 (ja) | 2018-01-17 |
Family
ID=50774416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015545040A Active JP6262250B2 (ja) | 2012-11-29 | 2013-09-30 | データストレージシステムのためのデータ信頼性スキーム |
Country Status (8)
Country | Link |
---|---|
US (1) | US9021339B2 (ja) |
EP (1) | EP2926255A4 (ja) |
JP (1) | JP6262250B2 (ja) |
KR (1) | KR101877106B1 (ja) |
CN (1) | CN105009087B (ja) |
AU (1) | AU2013353487A1 (ja) |
HK (1) | HK1216196A1 (ja) |
WO (1) | WO2014084960A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017215966A (ja) * | 2016-06-01 | 2017-12-07 | シーゲイト テクノロジー エルエルシーSeagate Technology LLC | 記憶デバイスにおける性能変動を制限するための技術 |
Families Citing this family (135)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9176859B2 (en) | 2009-01-07 | 2015-11-03 | Siliconsystems, Inc. | Systems and methods for improving the performance of non-volatile memory operations |
US10079048B2 (en) | 2009-03-24 | 2018-09-18 | Western Digital Technologies, Inc. | Adjusting access of non-volatile semiconductor memory based on access time |
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 |
US8782327B1 (en) | 2010-05-11 | 2014-07-15 | Western Digital Technologies, Inc. | System and method for managing execution of internal commands and host commands in a solid-state memory |
US9026716B2 (en) | 2010-05-12 | 2015-05-05 | Western Digital Technologies, Inc. | System and method for managing garbage collection in solid-state memory |
US8959284B1 (en) | 2010-06-28 | 2015-02-17 | Western Digital Technologies, Inc. | Disk drive steering write data to write cache based on workload |
US9058280B1 (en) | 2010-08-13 | 2015-06-16 | Western Digital Technologies, Inc. | Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time |
US8769190B1 (en) | 2010-09-15 | 2014-07-01 | Western Digital Technologies, Inc. | System and method for reducing contentions in solid-state memory access |
US8788779B1 (en) | 2010-09-17 | 2014-07-22 | Western Digital Technologies, Inc. | Non-volatile storage subsystem with energy-based performance throttling |
US9164886B1 (en) | 2010-09-21 | 2015-10-20 | Western Digital Technologies, Inc. | System and method for multistage processing in a memory storage subsystem |
US9021192B1 (en) | 2010-09-21 | 2015-04-28 | Western Digital Technologies, Inc. | System and method for enhancing processing of memory access requests |
US9069475B1 (en) | 2010-10-26 | 2015-06-30 | Western Digital Technologies, Inc. | Hybrid drive selectively spinning up disk when powered on |
US8700950B1 (en) | 2011-02-11 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for data error recovery in a solid state subsystem |
US8700951B1 (en) | 2011-03-09 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for improving a data redundancy scheme in a solid state subsystem with additional metadata |
US8707104B1 (en) | 2011-09-06 | 2014-04-22 | Western Digital Technologies, Inc. | Systems and methods for error injection in data storage systems |
US9195530B1 (en) | 2011-09-06 | 2015-11-24 | Western Digital Technologies, Inc. | Systems and methods for improved data management in data storage systems |
US8713357B1 (en) | 2011-09-06 | 2014-04-29 | Western Digital Technologies, Inc. | Systems and methods for detailed error reporting in data storage systems |
US8700834B2 (en) | 2011-09-06 | 2014-04-15 | Western Digital Technologies, Inc. | Systems and methods for an enhanced controller architecture in data storage systems |
US9268701B1 (en) | 2011-11-21 | 2016-02-23 | Western Digital Technologies, Inc. | Caching of data in data storage systems by managing the size of read and write cache based on a measurement of cache reliability |
US8959416B1 (en) | 2011-12-16 | 2015-02-17 | Western Digital Technologies, Inc. | Memory defect management using signature identification |
US9348741B1 (en) | 2011-12-19 | 2016-05-24 | Western Digital Technologies, Inc. | Systems and methods for handling write data access requests in data storage devices |
US9053008B1 (en) | 2012-03-26 | 2015-06-09 | Western Digital Technologies, Inc. | Systems and methods for providing inline parameter service in data storage devices |
US9977612B1 (en) | 2012-05-11 | 2018-05-22 | Western Digital Technologies, Inc. | System data management using garbage collection and logs |
US9170932B1 (en) | 2012-05-22 | 2015-10-27 | Western Digital Technologies, Inc. | System data storage mechanism providing coherency and segmented data loading |
US8924832B1 (en) | 2012-06-26 | 2014-12-30 | Western Digital Technologies, Inc. | Efficient error handling mechanisms in data storage systems |
US8954653B1 (en) | 2012-06-26 | 2015-02-10 | Western Digital Technologies, Inc. | Mechanisms for efficient management of system data in data storage systems |
US8966343B2 (en) | 2012-08-21 | 2015-02-24 | Western Digital Technologies, Inc. | Solid-state drive retention monitor using reference blocks |
US9489296B1 (en) | 2012-10-17 | 2016-11-08 | Western Digital Technologies, Inc. | Methods, devices and systems for hardware-based garbage collection in solid state drives |
US8972826B2 (en) | 2012-10-24 | 2015-03-03 | Western Digital Technologies, Inc. | Adaptive error correction codes for data storage systems |
US9177638B2 (en) | 2012-11-13 | 2015-11-03 | Western Digital Technologies, Inc. | Methods and devices for avoiding lower page corruption in data storage devices |
US8954694B2 (en) | 2012-11-15 | 2015-02-10 | Western Digital Technologies, Inc. | Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive |
US9021339B2 (en) | 2012-11-29 | 2015-04-28 | Western Digital Technologies, Inc. | Data reliability schemes for data storage systems |
US9059736B2 (en) | 2012-12-03 | 2015-06-16 | Western Digital Technologies, Inc. | Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme |
US9032271B2 (en) | 2012-12-07 | 2015-05-12 | Western Digital Technologies, Inc. | System and method for lower page data recovery in a solid state drive |
US9214963B1 (en) | 2012-12-21 | 2015-12-15 | Western Digital Technologies, Inc. | Method and system for monitoring data channel to enable use of dynamically adjustable LDPC coding parameters in a data storage system |
US8954655B2 (en) | 2013-01-14 | 2015-02-10 | Western Digital Technologies, Inc. | Systems and methods of configuring a mode of operation in a solid-state memory |
US8972655B2 (en) | 2013-01-21 | 2015-03-03 | Western Digital Technolgies, Inc. | Initialization of a storage device |
US9274966B1 (en) | 2013-02-20 | 2016-03-01 | Western Digital Technologies, Inc. | Dynamically throttling host commands to disk drives |
US9454474B2 (en) | 2013-03-05 | 2016-09-27 | Western Digital Technologies, Inc. | Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive |
US8924824B1 (en) | 2013-03-12 | 2014-12-30 | Western Digital Technologies, Inc. | Soft-decision input generation for data storage systems |
US8990668B2 (en) | 2013-03-14 | 2015-03-24 | Western Digital Technologies, Inc. | Decoding data stored in solid-state memory |
US9448738B2 (en) | 2013-03-15 | 2016-09-20 | Western Digital Technologies, Inc. | Compression and formatting of data for data storage systems |
US9218279B2 (en) | 2013-03-15 | 2015-12-22 | Western Digital Technologies, Inc. | Atomic write command support in a solid state drive |
US9335950B2 (en) | 2013-03-15 | 2016-05-10 | Western Digital Technologies, Inc. | Multiple stream compression and formatting of data for data storage systems |
US9338927B2 (en) | 2013-05-02 | 2016-05-10 | Western Digital Technologies, Inc. | Thermal interface material pad and method of forming the same |
US9195293B1 (en) | 2013-05-03 | 2015-11-24 | Western Digital Technologies, Inc. | User controlled data storage device power and performance settings |
US10417123B1 (en) | 2013-05-16 | 2019-09-17 | Western Digital Technologies, Inc. | Systems and methods for improving garbage collection and wear leveling performance in data storage systems |
US9081700B2 (en) | 2013-05-16 | 2015-07-14 | Western Digital Technologies, Inc. | High performance read-modify-write system providing line-rate merging of dataframe segments in hardware |
US9170938B1 (en) | 2013-05-17 | 2015-10-27 | Western Digital Technologies, Inc. | Method and system for atomically writing scattered information in a solid state storage device |
US9280200B1 (en) | 2013-05-20 | 2016-03-08 | Western Digital Technologies, Inc. | Automatic peak current throttle of tiered storage elements |
US9740248B2 (en) | 2013-06-07 | 2017-08-22 | Western Digital Technologies, Inc. | Component placement within a solid state drive |
US9274978B2 (en) | 2013-06-10 | 2016-03-01 | Western Digital Technologies, Inc. | Migration of encrypted data for data storage systems |
US9436630B2 (en) | 2013-06-11 | 2016-09-06 | Western Digital Technologies, Inc. | Using dual phys to support multiple PCIe link widths |
US9830257B1 (en) | 2013-06-12 | 2017-11-28 | Western Digital Technologies, Inc. | Fast saving of data during power interruption in data storage systems |
US9665501B1 (en) | 2013-06-18 | 2017-05-30 | Western Digital Technologies, Inc. | Self-encrypting data storage device supporting object-level encryption |
US9304560B2 (en) | 2013-06-19 | 2016-04-05 | Western Digital Technologies, Inc. | Backup power for reducing host current transients |
US9208101B2 (en) | 2013-06-26 | 2015-12-08 | Western Digital Technologies, Inc. | Virtual NAND capacity extension in a hybrid drive |
US9583153B1 (en) | 2013-06-28 | 2017-02-28 | Western Digital Technologies, Inc. | Memory card placement within a solid state drive |
JP2015018451A (ja) * | 2013-07-11 | 2015-01-29 | 株式会社東芝 | メモリコントローラ、記憶装置およびメモリ制御方法 |
US9042197B2 (en) | 2013-07-23 | 2015-05-26 | Western Digital Technologies, Inc. | Power fail protection and recovery using low power states in a data storage device/system |
US9442668B1 (en) | 2013-08-29 | 2016-09-13 | Western Digital Technologies, Inc. | Adaptive power management control with performance feedback |
US9263136B1 (en) | 2013-09-04 | 2016-02-16 | Western Digital Technologies, Inc. | Data retention flags in solid-state drives |
US9304709B2 (en) | 2013-09-06 | 2016-04-05 | Western Digital Technologies, Inc. | High performance system providing selective merging of dataframe segments in hardware |
US9007841B1 (en) | 2013-10-24 | 2015-04-14 | Western Digital Technologies, Inc. | Programming scheme for improved voltage distribution in solid-state memory |
US10444998B1 (en) | 2013-10-24 | 2019-10-15 | Western Digital Technologies, Inc. | Data storage device providing data maintenance services |
US9330143B2 (en) | 2013-10-24 | 2016-05-03 | Western Digital Technologies, Inc. | Data storage device supporting accelerated database operations |
US9323467B2 (en) | 2013-10-29 | 2016-04-26 | Western Digital Technologies, Inc. | Data storage device startup |
US9286176B1 (en) | 2013-11-08 | 2016-03-15 | Western Digital Technologies, Inc. | Selective skipping of blocks in an SSD |
US9270296B1 (en) | 2013-11-13 | 2016-02-23 | Western Digital Technologies, Inc. | Method and system for soft decoding through single read |
US9529710B1 (en) | 2013-12-06 | 2016-12-27 | Western Digital Technologies, Inc. | Interleaved channels in a solid-state drive |
US10140067B1 (en) | 2013-12-19 | 2018-11-27 | Western Digital Technologies, Inc. | Data management for data storage device with multiple types of non-volatile memory media |
CN104007936B (zh) * | 2014-01-07 | 2017-09-29 | 华为技术有限公司 | 访问数据的方法及装置 |
US9036283B1 (en) | 2014-01-22 | 2015-05-19 | Western Digital Technologies, Inc. | Data storage device with selective write to a first storage media or a second storage media |
US9337864B1 (en) | 2014-01-29 | 2016-05-10 | Western Digital Technologies, Inc. | Non-binary LDPC decoder using binary subgroup processing |
US9250994B1 (en) | 2014-02-05 | 2016-02-02 | Western Digital Technologies, Inc. | Non-binary low-density parity check (LDPC) decoding using trellis maximization |
US9384088B1 (en) | 2014-02-24 | 2016-07-05 | Western Digital Technologies, Inc. | Double writing map table entries in a data storage system to guard against silent corruption |
US9354955B1 (en) | 2014-03-19 | 2016-05-31 | Western Digital Technologies, Inc. | Partial garbage collection for fast error handling and optimized garbage collection for the invisible band |
US9348520B2 (en) | 2014-03-24 | 2016-05-24 | Western Digital Technologies, Inc. | Lifetime extension of non-volatile semiconductor memory for data storage device |
US9268487B2 (en) | 2014-03-24 | 2016-02-23 | Western Digital Technologies, Inc. | Method and apparatus for restricting writes to solid state memory when an end-of life condition is reached |
US9448742B2 (en) | 2014-03-27 | 2016-09-20 | Western Digital Technologies, Inc. | Communication between a host and a secondary storage device |
US20150317204A1 (en) * | 2014-04-30 | 2015-11-05 | Lsi Corporation | Systems and Methods for Efficient Data Refresh in a Storage Device |
US9564212B2 (en) | 2014-05-06 | 2017-02-07 | Western Digital Technologies, Inc. | Solid-state memory corruption mitigation |
US9690696B1 (en) | 2014-05-14 | 2017-06-27 | Western Digital Technologies, Inc. | Lifetime extension of memory for data storage system |
US9472222B2 (en) | 2014-05-16 | 2016-10-18 | Western Digital Technologies, Inc. | Vibration mitigation for a data storage device |
US10116336B2 (en) | 2014-06-13 | 2018-10-30 | Sandisk Technologies Llc | Error correcting code adjustment for a data storage device |
US9275741B1 (en) | 2014-09-10 | 2016-03-01 | Western Digital Technologies, Inc. | Temperature compensation management in solid-state memory |
US9652321B2 (en) * | 2014-09-23 | 2017-05-16 | Intel Corporation | Recovery algorithm in non-volatile memory |
US9418699B1 (en) | 2014-10-09 | 2016-08-16 | Western Digital Technologies, Inc. | Management of sequentially written data |
US9484089B2 (en) * | 2014-10-20 | 2016-11-01 | Sandisk Technologies Llc | Dual polarity read operation |
US9405356B1 (en) | 2014-10-21 | 2016-08-02 | Western Digital Technologies, Inc. | Temperature compensation in data storage device |
US9823859B2 (en) | 2014-11-06 | 2017-11-21 | Western Digital Technologies, Inc. | Mechanical shock mitigation for data storage |
GB2533639B (en) * | 2014-12-24 | 2017-11-22 | Imagination Tech Ltd | Low density parity check decoder |
US9857995B1 (en) | 2015-03-09 | 2018-01-02 | Western Digital Technologies, Inc. | Data storage device and method providing non-volatile memory buffer for real-time primary non-volatile memory protection |
US10133625B2 (en) | 2015-08-11 | 2018-11-20 | Western Digital Technologies, Inc. | Storing parity data separate from protected data |
US9785563B1 (en) | 2015-08-13 | 2017-10-10 | Western Digital Technologies, Inc. | Read command processing for data storage system based on previous writes |
US9668337B2 (en) | 2015-09-08 | 2017-05-30 | Western Digital Technologies, Inc. | Temperature management in data storage devices |
US9929750B2 (en) | 2015-09-08 | 2018-03-27 | Toshiba Memory Corporation | Memory system |
US9727261B2 (en) | 2015-09-24 | 2017-08-08 | Western Digital Technologies, Inc. | Weighted programming patterns in solid-state data storage systems |
US9836232B1 (en) | 2015-09-30 | 2017-12-05 | Western Digital Technologies, Inc. | Data storage device and method for using secondary non-volatile memory for temporary metadata storage |
US10013174B2 (en) | 2015-09-30 | 2018-07-03 | Western Digital Technologies, Inc. | Mapping system selection for data storage device |
KR102385138B1 (ko) * | 2015-10-08 | 2022-04-12 | 삼성전자주식회사 | 정정 불가능한 ecc 오류를 갖는 데이터를 복구하도록 구성되는 raid 컨트롤러 장치 및 스토리지 장치 |
US9620226B1 (en) | 2015-10-30 | 2017-04-11 | Western Digital Technologies, Inc. | Data retention charge loss and read disturb compensation in solid-state data storage systems |
US10126981B1 (en) | 2015-12-14 | 2018-11-13 | Western Digital Technologies, Inc. | Tiered storage using storage class memory |
US9569306B1 (en) * | 2015-12-18 | 2017-02-14 | International Business Machines Corporation | Recovery of multi-page failures in non-volatile memory system |
US9529663B1 (en) | 2015-12-20 | 2016-12-27 | Apple Inc. | Detection and localization of failures in 3D NAND flash memory |
US10459793B2 (en) | 2016-03-17 | 2019-10-29 | Western Digital Technologies, Inc. | Data reliability information in a non-volatile memory device |
TWI591643B (zh) * | 2016-03-22 | 2017-07-11 | 群聯電子股份有限公司 | 資料保護方法、記憶體控制電路單元與記憶體儲存裝置 |
CN107305476B (zh) * | 2016-04-25 | 2020-03-31 | 群联电子股份有限公司 | 数据校正方法、存储器控制电路单元与存储器存储装置 |
US9846553B2 (en) * | 2016-05-04 | 2017-12-19 | Exablox Corporation | Organization and management of key-value stores |
US10387303B2 (en) | 2016-08-16 | 2019-08-20 | Western Digital Technologies, Inc. | Non-volatile storage system with compute engine to accelerate big data applications |
US10459644B2 (en) | 2016-10-28 | 2019-10-29 | Western Digital Techologies, Inc. | Non-volatile storage system with integrated compute engine and optimized use of local fast memory |
US10284230B2 (en) * | 2016-11-15 | 2019-05-07 | Western Digital Technologies, Inc. | Linked storage system and host system error correcting code |
US10248515B2 (en) | 2017-01-19 | 2019-04-02 | Apple Inc. | Identifying a failing group of memory cells in a multi-plane storage operation |
US10019332B1 (en) * | 2017-03-10 | 2018-07-10 | Western Digital Technologies, Inc. | Non-volatile memory with program failure recovery |
US10565123B2 (en) | 2017-04-10 | 2020-02-18 | Western Digital Technologies, Inc. | Hybrid logical to physical address translation for non-volatile storage devices with integrated compute module |
US10705911B2 (en) * | 2017-04-24 | 2020-07-07 | Hewlett Packard Enterprise Development Lp | Storing data in a distributed storage system |
US10762967B2 (en) | 2018-06-28 | 2020-09-01 | Apple Inc. | Recovering from failure in programming a nonvolatile memory |
US10755787B2 (en) | 2018-06-28 | 2020-08-25 | Apple Inc. | Efficient post programming verification in a nonvolatile memory |
KR102592902B1 (ko) * | 2018-09-05 | 2023-10-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
US10769062B2 (en) | 2018-10-01 | 2020-09-08 | Western Digital Technologies, Inc. | Fine granularity translation layer for data storage devices |
US10956071B2 (en) | 2018-10-01 | 2021-03-23 | Western Digital Technologies, Inc. | Container key value store for data storage devices |
US10740231B2 (en) | 2018-11-20 | 2020-08-11 | Western Digital Technologies, Inc. | Data access in data storage device including storage class memory |
US10936455B2 (en) | 2019-02-11 | 2021-03-02 | Apple Inc. | Recovery of data failing due to impairment whose severity depends on bit-significance value |
US11494107B2 (en) | 2019-04-11 | 2022-11-08 | Apple Inc. | Managing parity information for data stored on a storage device |
US10936415B2 (en) * | 2019-06-28 | 2021-03-02 | Western Digital Technologies, Inc. | Error correction scheme in flash memory |
US11023317B2 (en) * | 2019-07-12 | 2021-06-01 | Micron Technology, Inc. | Read recovery control circuitry |
US10915394B1 (en) | 2019-09-22 | 2021-02-09 | Apple Inc. | Schemes for protecting data in NVM device using small storage footprint |
US11016905B1 (en) | 2019-11-13 | 2021-05-25 | Western Digital Technologies, Inc. | Storage class memory access |
US11599481B2 (en) * | 2019-12-12 | 2023-03-07 | Western Digital Technologies, Inc. | Error recovery from submission queue fetching errors |
US11404135B1 (en) * | 2020-02-17 | 2022-08-02 | Amazon Technologies, Inc. | Runtime identification of bad memory cells based on difference between data pattern and read data |
KR20210125294A (ko) | 2020-04-08 | 2021-10-18 | 에스케이하이닉스 주식회사 | 에러 정정 회로 및 이의 동작 방법 |
US11249921B2 (en) | 2020-05-06 | 2022-02-15 | Western Digital Technologies, Inc. | Page modification encoding and caching |
CN111984193B (zh) * | 2020-08-14 | 2024-09-06 | 深圳市硅格半导体有限公司 | 数据编写存储报错的恢复方法、系统、设备及存储介质 |
US11550657B1 (en) | 2021-09-01 | 2023-01-10 | Apple Inc. | Efficient programming schemes in a nonvolatile memory |
US11977443B2 (en) * | 2022-08-15 | 2024-05-07 | Micron Technology, Inc. | Dynamic parity scheme |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009515281A (ja) * | 2005-10-25 | 2009-04-09 | サンディスク アイエル リミテッド | フラッシュメモリ内のエラーから復旧するための方法 |
JP2011180911A (ja) * | 2010-03-02 | 2011-09-15 | Toshiba Corp | 不揮発性半導体記憶システム |
WO2012075200A2 (en) * | 2010-12-01 | 2012-06-07 | Sandforce, Inc. | Dynamic higher-level redundancy mode management with independent silicon elements |
JP2012514274A (ja) * | 2008-12-31 | 2012-06-21 | インテル コーポレイション | ソリッドステートディスクにおける改良された誤り訂正 |
JP2013522792A (ja) * | 2010-03-23 | 2013-06-13 | アップル インコーポレイテッド | メタデータタグを介した不規則なパリティ分布の検出 |
Family Cites Families (158)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5499337A (en) | 1991-09-27 | 1996-03-12 | Emc Corporation | Storage device array architecture with solid-state redundancy unit |
US5621660A (en) | 1995-04-18 | 1997-04-15 | Sun Microsystems, Inc. | Software-based encoder for a software-implemented end-to-end scalable video delivery system |
US6011868A (en) | 1997-04-04 | 2000-01-04 | Hewlett-Packard Company | Bitstream quality analyzer |
US20080282128A1 (en) | 1999-08-04 | 2008-11-13 | Super Talent Electronics, Inc. | Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance |
US8266367B2 (en) | 2003-12-02 | 2012-09-11 | Super Talent Electronics, Inc. | Multi-level striping and truncation channel-equalization for flash-memory system |
US7072417B1 (en) | 2000-06-28 | 2006-07-04 | Marvell International Ltd. | LDPC encoder and method thereof |
US6934904B2 (en) | 2001-04-30 | 2005-08-23 | Sun Microsystems, Inc. | Data integrity error handling in a redundant storage array |
US6895547B2 (en) | 2001-07-11 | 2005-05-17 | International Business Machines Corporation | Method and apparatus for low density parity check encoding of data |
US7149846B2 (en) | 2002-04-17 | 2006-12-12 | Lsi Logic Corporation | RAID protected external secondary memory |
US7702986B2 (en) | 2002-11-18 | 2010-04-20 | Qualcomm Incorporated | Rate-compatible LDPC codes |
US6856556B1 (en) | 2003-04-03 | 2005-02-15 | Siliconsystems, Inc. | Storage subsystem with embedded circuit for protecting against anomalies in power signal from host |
US20090193184A1 (en) | 2003-12-02 | 2009-07-30 | Super Talent Electronics Inc. | Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System |
US7395495B2 (en) | 2004-01-12 | 2008-07-01 | Intel Corporation | Method and apparatus for decoding forward error correction codes |
US7260763B2 (en) | 2004-03-11 | 2007-08-21 | Nortel Networks Limited | Algebraic low-density parity check code design for variable block sizes and code rates |
JP3875693B2 (ja) | 2004-03-24 | 2007-01-31 | 株式会社東芝 | Lpc符号を用いた符号化ビットのマッピング方法及び送信装置 |
CA2559818C (en) | 2004-04-28 | 2011-11-29 | Samsung Electronics Co., Ltd. | Apparatus and method for coding/decoding block low density parity check code with variable block length |
US7395490B2 (en) | 2004-07-21 | 2008-07-01 | Qualcomm Incorporated | LDPC decoding methods and apparatus |
US7346832B2 (en) | 2004-07-21 | 2008-03-18 | Qualcomm Incorporated | LDPC encoding methods and apparatus |
US7203897B2 (en) | 2004-08-12 | 2007-04-10 | Motorola, Inc. | Method and apparatus for encoding and decoding data |
JP4519902B2 (ja) | 2004-08-16 | 2010-08-04 | サムスン エレクトロニクス カンパニー リミテッド | 可変ブロック長を有するブロック低密度パリティ検査符号の符号化/復号化装置及び方法 |
US8131926B2 (en) | 2004-10-20 | 2012-03-06 | Seagate Technology, Llc | Generic storage container for allocating multiple data formats |
US7502256B2 (en) | 2004-11-30 | 2009-03-10 | Siliconsystems, Inc. | Systems and methods for reducing unauthorized data recovery from solid-state storage devices |
KR100641052B1 (ko) | 2004-12-08 | 2006-11-02 | 한국전자통신연구원 | Ldpc 부호기 및 복호기, 및 ldpc 부호화 방법 및복호화 방법 |
US7500172B2 (en) | 2005-02-26 | 2009-03-03 | Broadcom Corporation | AMP (accelerated message passing) decoder adapted for LDPC (low density parity check) codes |
US7657816B2 (en) | 2005-07-13 | 2010-02-02 | Leanics Corporation | Low-complexity hybrid LDPC code encoder |
KR100732628B1 (ko) | 2005-07-28 | 2007-06-27 | 삼성전자주식회사 | 멀티-비트 데이터 및 싱글-비트 데이터를 저장하는 플래시메모리 장치 |
US7129862B1 (en) | 2005-07-29 | 2006-10-31 | Texas Instruments Incorporated | Decoding bit streams encoded according to variable length codes |
KR100809616B1 (ko) | 2005-10-19 | 2008-03-05 | 삼성전자주식회사 | 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법 |
US20070124648A1 (en) | 2005-10-31 | 2007-05-31 | Ajay Dholakia | Data protection method |
US7797611B2 (en) | 2005-11-14 | 2010-09-14 | International Business Machines Corporation | Creating an error correction coding scheme and reducing data loss |
US7631246B2 (en) | 2006-01-09 | 2009-12-08 | Broadcom Corporation | LDPC (low density parity check) code size adjustment by shortening and puncturing |
JP4863749B2 (ja) | 2006-03-29 | 2012-01-25 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム |
US7653778B2 (en) | 2006-05-08 | 2010-01-26 | Siliconsystems, Inc. | Systems and methods for measuring the useful life of solid-state storage devices |
US7809994B2 (en) | 2006-05-17 | 2010-10-05 | Sandisk Corporation | Error correction coding for multiple-sector pages in flash memory devices |
US7765373B1 (en) | 2006-06-27 | 2010-07-27 | Siliconsystems, Inc. | System for controlling use of a solid-state storage subsystem |
US8108692B1 (en) | 2006-06-27 | 2012-01-31 | Siliconsystems, Inc. | Solid-state storage subsystem security solution |
US7447807B1 (en) | 2006-06-30 | 2008-11-04 | Siliconsystems, Inc. | Systems and methods for storing data in segments of a storage subsystem |
US7509441B1 (en) | 2006-06-30 | 2009-03-24 | Siliconsystems, Inc. | Systems and methods for segmenting and protecting a storage subsystem |
US7739576B2 (en) | 2006-08-31 | 2010-06-15 | Micron Technology, Inc. | Variable strength ECC |
JP4932427B2 (ja) | 2006-10-20 | 2012-05-16 | 株式会社日立製作所 | 記憶装置及び記憶方法 |
US8161227B1 (en) | 2006-10-30 | 2012-04-17 | Siliconsystems, Inc. | Storage subsystem capable of programming field-programmable devices of a target computer system |
US20080140724A1 (en) | 2006-12-06 | 2008-06-12 | David Flynn | Apparatus, system, and method for servicing object requests within a storage controller |
US8090980B2 (en) | 2006-12-08 | 2012-01-03 | Sandforce, Inc. | System, method, and computer program product for providing data redundancy in a plurality of storage devices |
US8549236B2 (en) | 2006-12-15 | 2013-10-01 | Siliconsystems, Inc. | Storage subsystem with multiple non-volatile memory arrays to protect against data losses |
US7660911B2 (en) | 2006-12-20 | 2010-02-09 | Smart Modular Technologies, Inc. | Block-based data striping to flash memory |
US7913149B2 (en) | 2006-12-20 | 2011-03-22 | Lsi Corporation | Low complexity LDPC encoding algorithm |
US7596643B2 (en) | 2007-02-07 | 2009-09-29 | Siliconsystems, Inc. | Storage subsystem with configurable buffer |
US7900118B2 (en) | 2007-02-12 | 2011-03-01 | Phison Electronics Corp. | Flash memory system and method for controlling the same |
US8359522B2 (en) | 2007-05-01 | 2013-01-22 | Texas A&M University System | Low density parity check decoder for regular LDPC codes |
US7685337B2 (en) | 2007-05-24 | 2010-03-23 | Siliconsystems, Inc. | Solid state storage subsystem for embedded applications |
US7685338B2 (en) | 2007-05-24 | 2010-03-23 | Siliconsystems, Inc. | Solid state storage subsystem for embedded applications |
US7685374B2 (en) | 2007-07-26 | 2010-03-23 | Siliconsystems, Inc. | Multi-interface and multi-bus structured solid-state storage subsystem |
US8181089B1 (en) | 2007-08-24 | 2012-05-15 | Datadirect Networks, Inc. | Method for auto-correction of errors in a solid-state memory system |
US8095851B2 (en) | 2007-09-06 | 2012-01-10 | Siliconsystems, Inc. | Storage subsystem capable of adjusting ECC settings based on monitored conditions |
US8261152B2 (en) | 2007-09-10 | 2012-09-04 | Samsung Electronics Co., Ltd. | Apparatus and method for channel encoding/decoding in communication system using variable-length LDPC codes |
US8621138B2 (en) | 2007-12-27 | 2013-12-31 | Sandisk Enterprise Ip Llc | Flash storage controller execute loop |
US8078918B2 (en) | 2008-02-07 | 2011-12-13 | Siliconsystems, Inc. | Solid state storage subsystem that maintains and provides access to data reflective of a failure risk |
US7962792B2 (en) | 2008-02-11 | 2011-06-14 | Siliconsystems, Inc. | Interface for enabling a host computer to retrieve device monitor data from a solid state storage subsystem |
KR101398212B1 (ko) | 2008-03-18 | 2014-05-26 | 삼성전자주식회사 | 메모리 장치 및 인코딩/디코딩 방법 |
KR101398200B1 (ko) | 2008-03-18 | 2014-05-26 | 삼성전자주식회사 | 메모리 장치 및 인코딩/디코딩 방법 |
US8180954B2 (en) | 2008-04-15 | 2012-05-15 | SMART Storage Systems, Inc. | Flash management using logical page size |
US7733712B1 (en) | 2008-05-20 | 2010-06-08 | Siliconsystems, Inc. | Storage subsystem with embedded circuit for protecting against anomalies in power signal from host |
WO2009143375A2 (en) | 2008-05-21 | 2009-11-26 | The Regents Of The University Of Calfornia | Lower-complexity layered belief propagation deconding ldpc codes |
US20100017650A1 (en) | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
US20100125695A1 (en) | 2008-11-15 | 2010-05-20 | Nanostar Corporation | Non-volatile memory storage system |
KR101391362B1 (ko) * | 2008-07-23 | 2014-05-07 | 삼성전자주식회사 | 읽기 전압 레벨이 설정가능한 플래시 메모리 시스템 및읽기 전압 레벨의 설정방법 |
US8583835B1 (en) | 2008-08-06 | 2013-11-12 | Siliconsystems, Inc. | Command portal for executing non-standard storage subsystem commands |
US8375151B1 (en) | 2009-02-12 | 2013-02-12 | Siliconsystems, Inc. | Command portal for securely communicating and executing non-standard storage subsystem commands |
US20100049914A1 (en) | 2008-08-20 | 2010-02-25 | Goodwin Paul M | RAID Enhanced solid state drive |
US8239734B1 (en) * | 2008-10-15 | 2012-08-07 | Apple Inc. | Efficient data storage in storage device arrays |
US8281214B2 (en) | 2008-10-17 | 2012-10-02 | Lsi Corporation | Programmable quasi-cyclic low-density parity check (QC LDPC) encoder for read channel |
US8161345B2 (en) | 2008-10-29 | 2012-04-17 | Agere Systems Inc. | LDPC decoders using fixed and adjustable permutators |
US9356623B2 (en) | 2008-11-26 | 2016-05-31 | Avago Technologies General Ip (Singapore) Pte. Ltd. | LDPC decoder variable node units having fewer adder stages |
KR101059673B1 (ko) | 2008-12-26 | 2011-08-25 | 서울대학교산학협력단 | 신뢰도 또는 저장 용량을 동적으로 조절하는 저장 장치 및 그 방법 |
US9176859B2 (en) | 2009-01-07 | 2015-11-03 | Siliconsystems, Inc. | Systems and methods for improving the performance of non-volatile memory operations |
US8090899B1 (en) | 2009-03-04 | 2012-01-03 | Western Digital Technologies, Inc. | Solid state drive power safe wear-leveling |
KR100929371B1 (ko) | 2009-03-18 | 2009-12-02 | 한국과학기술원 | 페이지-디퍼런셜을 이용하여 dbms에 독립적인 방법으로 플래시 메모리에 데이터를 저장하는 방법 |
US10079048B2 (en) | 2009-03-24 | 2018-09-18 | Western Digital Technologies, Inc. | Adjusting access of non-volatile semiconductor memory based on access time |
US8327224B2 (en) | 2009-04-16 | 2012-12-04 | Micron Technology, Inc. | Data recovery in a solid state storage system |
US8578256B2 (en) | 2009-04-22 | 2013-11-05 | Agere Systems Llc | Low-latency decoder |
US7898859B2 (en) | 2009-06-15 | 2011-03-01 | Micron Technology, Inc. | Use of emerging non-volatile memory elements with flash memory |
US7941696B2 (en) | 2009-08-11 | 2011-05-10 | Texas Memory Systems, Inc. | Flash-based memory system with static or variable length page stripes including data protection information and auxiliary protection stripes |
US8255620B2 (en) | 2009-08-11 | 2012-08-28 | Texas Memory Systems, Inc. | Secure Flash-based memory system with fast wipe feature |
US7856528B1 (en) | 2009-08-11 | 2010-12-21 | Texas Memory Systems, Inc. | Method and apparatus for protecting data using variable size page stripes in a FLASH-based storage system |
US8402217B2 (en) | 2009-09-15 | 2013-03-19 | Marvell International Ltd. | Implementing RAID in solid state memory |
US8234520B2 (en) * | 2009-09-16 | 2012-07-31 | International Business Machines Corporation | Wear leveling of solid state disks based on usage information of data and parity received from a raid controller |
WO2011036864A1 (ja) | 2009-09-25 | 2011-03-31 | パナソニック株式会社 | 符号化装置、復号装置、符号化方法、復号方法、及び通信システム |
US8254172B1 (en) | 2009-09-30 | 2012-08-28 | Western Digital Technologies, Inc. | Wear leveling non-volatile semiconductor memory based on erase times and program times |
US8243525B1 (en) | 2009-09-30 | 2012-08-14 | Western Digital Technologies, Inc. | Refreshing non-volatile semiconductor memory by reading without rewriting |
JP2011086333A (ja) | 2009-10-14 | 2011-04-28 | Sony Corp | データ変調装置および方法、並びにプログラム、記録媒体 |
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 |
US8135903B1 (en) | 2009-10-30 | 2012-03-13 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory compressing data to improve performance |
US8261012B2 (en) | 2009-10-30 | 2012-09-04 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory comprising power fail circuitry for flushing write data in response to a power fail signal |
TWI415396B (zh) | 2009-11-23 | 2013-11-11 | Nat Univ Tsing Hua | 適用於根據里德-索羅門碼建立之低密度同位檢查碼的解碼器及解碼方法 |
US8397107B1 (en) | 2009-12-11 | 2013-03-12 | Western Digital Technologies, Inc. | Data storage device employing data path protection using both LBA and PBA |
US8443167B1 (en) | 2009-12-16 | 2013-05-14 | Western Digital Technologies, Inc. | Data storage device employing a run-length mapping table and a single address mapping table |
KR101623119B1 (ko) | 2010-02-01 | 2016-05-20 | 삼성전자주식회사 | 솔리드 스테이트 드라이브의 에러 제어 방법 |
US8316176B1 (en) | 2010-02-17 | 2012-11-20 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification |
US8407449B1 (en) | 2010-02-26 | 2013-03-26 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table |
JP4940322B2 (ja) | 2010-03-16 | 2012-05-30 | 株式会社東芝 | 半導体メモリ映像蓄積再生装置及びデータ書込み/読出し方法 |
CA2791931A1 (en) | 2010-03-22 | 2011-09-29 | Mosaid Technologies Incorporated | Composite semiconductor memory device with error correction |
US8725931B1 (en) | 2010-03-26 | 2014-05-13 | Western Digital Technologies, Inc. | System and method for managing the execution of memory commands in a solid-state memory |
US8713066B1 (en) | 2010-03-29 | 2014-04-29 | Western Digital Technologies, Inc. | Managing wear leveling and garbage collection operations in a solid-state memory using linked lists |
US9544090B2 (en) | 2010-03-31 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Hard input low density parity check decoder |
WO2011126578A1 (en) | 2010-04-09 | 2011-10-13 | Link_A_Media Devices Corporation | Implementation of ldpc selective decoding scheduling |
US8782327B1 (en) | 2010-05-11 | 2014-07-15 | Western Digital Technologies, Inc. | System and method for managing execution of internal commands and host commands in a solid-state memory |
US9026716B2 (en) | 2010-05-12 | 2015-05-05 | Western Digital Technologies, Inc. | System and method for managing garbage collection in solid-state memory |
US8489979B2 (en) | 2010-05-28 | 2013-07-16 | Seagate Technology Llc | Methods and devices to reduce outer code failure rate variability |
US8799747B2 (en) | 2010-06-03 | 2014-08-05 | Seagate Technology Llc | Data hardening to compensate for loss of data retention characteristics in a non-volatile memory |
US8341339B1 (en) | 2010-06-14 | 2012-12-25 | Western Digital Technologies, Inc. | Hybrid drive garbage collecting a non-volatile semiconductor memory by migrating valid data to a disk |
US8612669B1 (en) | 2010-06-28 | 2013-12-17 | Western Digital Technologies, Inc. | System and method for performing data retention in solid-state memory using copy commands and validity and usage data |
US8447920B1 (en) | 2010-06-29 | 2013-05-21 | Western Digital Technologies, Inc. | System and method for managing data access in non-volatile memory |
US8521972B1 (en) | 2010-06-30 | 2013-08-27 | Western Digital Technologies, Inc. | System and method for optimizing garbage collection in data storage |
US8639872B1 (en) | 2010-08-13 | 2014-01-28 | Western Digital Technologies, Inc. | Hybrid drive comprising write cache spanning non-volatile semiconductor memory and disk |
US8775720B1 (en) | 2010-08-31 | 2014-07-08 | Western Digital Technologies, Inc. | Hybrid drive balancing execution times for non-volatile semiconductor memory and disk |
US8638602B1 (en) | 2010-09-10 | 2014-01-28 | Western Digital Technologies, Inc. | Background selection of voltage reference values for performing memory read operations |
US8769190B1 (en) | 2010-09-15 | 2014-07-01 | Western Digital Technologies, Inc. | System and method for reducing contentions in solid-state memory access |
US8788779B1 (en) | 2010-09-17 | 2014-07-22 | Western Digital Technologies, Inc. | Non-volatile storage subsystem with energy-based performance throttling |
US9244769B2 (en) * | 2010-09-28 | 2016-01-26 | Pure Storage, Inc. | Offset protection data in a RAID array |
US8463991B2 (en) * | 2010-09-28 | 2013-06-11 | Pure Storage Inc. | Intra-device data protection in a raid array |
US8612804B1 (en) | 2010-09-30 | 2013-12-17 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
US9348696B2 (en) | 2010-10-01 | 2016-05-24 | Pure Storage, Inc. | Distributed multi-level protection in a raid array based storage system |
US20120084507A1 (en) | 2010-10-01 | 2012-04-05 | John Colgrove | Multi-level protection with intra-device protection in a raid array based storage system |
KR101606718B1 (ko) | 2010-10-27 | 2016-03-28 | 엘에스아이 코포레이션 | 플래시 메모리 기반 데이터 저장을 위한 적응적 ecc 기술들 |
US8601313B1 (en) | 2010-12-13 | 2013-12-03 | Western Digital Technologies, Inc. | System and method for a data reliability scheme in a solid state memory |
US8615681B2 (en) | 2010-12-14 | 2013-12-24 | Western Digital Technologies, Inc. | System and method for maintaining a data redundancy scheme in a solid state memory in the event of a power loss |
US8601311B2 (en) | 2010-12-14 | 2013-12-03 | Western Digital Technologies, Inc. | System and method for using over-provisioned data capacity to maintain a data redundancy scheme in a solid state memory |
US8458435B1 (en) | 2010-12-20 | 2013-06-04 | Western Digital Technologies, Inc. | Sequential write thread detection |
US8392635B2 (en) | 2010-12-22 | 2013-03-05 | Western Digital Technologies, Inc. | Selectively enabling a host transfer interrupt |
US8683113B2 (en) | 2011-02-04 | 2014-03-25 | Western Digital Technologies, Inc. | Concurrently searching multiple devices of a non-volatile semiconductor memory |
US8700950B1 (en) | 2011-02-11 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for data error recovery in a solid state subsystem |
US8700951B1 (en) | 2011-03-09 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for improving a data redundancy scheme in a solid state subsystem with additional metadata |
US8769232B2 (en) | 2011-04-06 | 2014-07-01 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory module enabling out of order host command chunk media access |
US8751728B1 (en) | 2011-04-29 | 2014-06-10 | Western Digital Technologies, Inc. | Storage system bus transfer optimization |
US8862804B2 (en) | 2011-04-29 | 2014-10-14 | Western Digital Technologies, Inc. | System and method for improved parity determination within a data redundancy scheme in a solid state memory |
US9021178B2 (en) | 2011-05-02 | 2015-04-28 | Western Digital Technologies, Inc. | High performance path for command processing |
US8503237B1 (en) | 2011-05-18 | 2013-08-06 | Western Digital Technologies, Inc. | System and method for data recovery in a solid state storage device |
US8793429B1 (en) | 2011-06-03 | 2014-07-29 | Western Digital Technologies, Inc. | Solid-state drive with reduced power up time |
US8719531B2 (en) | 2011-06-14 | 2014-05-06 | Western Digital Technologies, Inc. | System and method for performing data retention that incorporates environmental conditions |
US8423722B1 (en) | 2011-08-26 | 2013-04-16 | Western Digital Technologies, Inc. | System and method for high performance command processing in solid state drives |
US8713357B1 (en) | 2011-09-06 | 2014-04-29 | Western Digital Technologies, Inc. | Systems and methods for detailed error reporting in data storage systems |
US8700834B2 (en) | 2011-09-06 | 2014-04-15 | Western Digital Technologies, Inc. | Systems and methods for an enhanced controller architecture in data storage systems |
US8707104B1 (en) | 2011-09-06 | 2014-04-22 | Western Digital Technologies, Inc. | Systems and methods for error injection in data storage systems |
US8977803B2 (en) | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Disk drive data caching using a multi-tiered memory |
US8339919B1 (en) | 2011-12-14 | 2012-12-25 | Western Digital Technologies, Inc. | Disk drive margining read channel by biasing log-likelihood ratios of a nonbinary iterative decoder |
US8724422B1 (en) | 2012-02-29 | 2014-05-13 | Western Digital Technologies, Inc. | System and method for charging back-up charge storage element for data storage device using spindle phase switching elements |
US9003224B2 (en) | 2012-04-25 | 2015-04-07 | Western Digital Technologies, Inc. | Managing unreliable memory in data storage systems |
US8788778B1 (en) | 2012-06-04 | 2014-07-22 | Western Digital Technologies, Inc. | Garbage collection based on the inactivity level of stored data |
US8966343B2 (en) | 2012-08-21 | 2015-02-24 | Western Digital Technologies, Inc. | Solid-state drive retention monitor using reference blocks |
US8788880B1 (en) | 2012-08-22 | 2014-07-22 | Western Digital Technologies, Inc. | Efficient retry mechanism for solid-state memory failures |
US9268682B2 (en) | 2012-10-05 | 2016-02-23 | Skyera, Llc | Methods, devices and systems for physical-to-logical mapping in solid state drives |
US8972826B2 (en) | 2012-10-24 | 2015-03-03 | Western Digital Technologies, Inc. | Adaptive error correction codes for data storage systems |
US9177638B2 (en) | 2012-11-13 | 2015-11-03 | Western Digital Technologies, Inc. | Methods and devices for avoiding lower page corruption in data storage devices |
US8954694B2 (en) | 2012-11-15 | 2015-02-10 | Western Digital Technologies, Inc. | Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive |
US9021339B2 (en) | 2012-11-29 | 2015-04-28 | Western Digital Technologies, Inc. | Data reliability schemes for data storage systems |
US9059736B2 (en) | 2012-12-03 | 2015-06-16 | Western Digital Technologies, Inc. | Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme |
US20140223255A1 (en) | 2012-12-18 | 2014-08-07 | Western Digital Technologies, Inc. | Decoder having early decoding termination detection |
US9430376B2 (en) | 2012-12-26 | 2016-08-30 | Western Digital Technologies, Inc. | Priority-based garbage collection for data storage systems |
-
2012
- 2012-11-29 US US13/689,673 patent/US9021339B2/en not_active Expired - Fee Related
-
2013
- 2013-09-30 JP JP2015545040A patent/JP6262250B2/ja active Active
- 2013-09-30 WO PCT/US2013/062760 patent/WO2014084960A1/en active Application Filing
- 2013-09-30 CN CN201380071730.4A patent/CN105009087B/zh active Active
- 2013-09-30 KR KR1020157016547A patent/KR101877106B1/ko active IP Right Grant
- 2013-09-30 EP EP13859541.8A patent/EP2926255A4/en not_active Withdrawn
- 2013-09-30 AU AU2013353487A patent/AU2013353487A1/en not_active Abandoned
-
2016
- 2016-04-07 HK HK16103996.0A patent/HK1216196A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009515281A (ja) * | 2005-10-25 | 2009-04-09 | サンディスク アイエル リミテッド | フラッシュメモリ内のエラーから復旧するための方法 |
JP2012514274A (ja) * | 2008-12-31 | 2012-06-21 | インテル コーポレイション | ソリッドステートディスクにおける改良された誤り訂正 |
JP2011180911A (ja) * | 2010-03-02 | 2011-09-15 | Toshiba Corp | 不揮発性半導体記憶システム |
JP2013522792A (ja) * | 2010-03-23 | 2013-06-13 | アップル インコーポレイテッド | メタデータタグを介した不規則なパリティ分布の検出 |
WO2012075200A2 (en) * | 2010-12-01 | 2012-06-07 | Sandforce, Inc. | Dynamic higher-level redundancy mode management with independent silicon elements |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017215966A (ja) * | 2016-06-01 | 2017-12-07 | シーゲイト テクノロジー エルエルシーSeagate Technology LLC | 記憶デバイスにおける性能変動を制限するための技術 |
US11216345B2 (en) | 2016-06-01 | 2022-01-04 | Seagate Technology Llc | Technologies for limiting performance variation in a storage device |
Also Published As
Publication number | Publication date |
---|---|
CN105009087A (zh) | 2015-10-28 |
AU2013353487A1 (en) | 2015-07-09 |
US20140149826A1 (en) | 2014-05-29 |
WO2014084960A1 (en) | 2014-06-05 |
US9021339B2 (en) | 2015-04-28 |
KR101877106B1 (ko) | 2018-07-10 |
JP6262250B2 (ja) | 2018-01-17 |
CN105009087B (zh) | 2018-01-23 |
KR20150091484A (ko) | 2015-08-11 |
HK1216196A1 (zh) | 2016-10-21 |
EP2926255A4 (en) | 2016-07-06 |
EP2926255A1 (en) | 2015-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6262250B2 (ja) | データストレージシステムのためのデータ信頼性スキーム | |
US10740175B2 (en) | Pool-level solid state drive error correction | |
US10373695B2 (en) | Methods and apparatus for read disturb detection and handling | |
US10536172B2 (en) | ECC and raid-type decoding | |
US10228990B2 (en) | Variable-term error metrics adjustment | |
US10901840B2 (en) | Error correction decoding with redundancy data | |
US9214963B1 (en) | Method and system for monitoring data channel to enable use of dynamically adjustable LDPC coding parameters in a data storage system | |
US10216574B2 (en) | Adaptive error correction codes for data storage systems | |
KR101650130B1 (ko) | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 카피-백 방법 | |
US9268632B2 (en) | Memory device with ECC history table | |
KR101448192B1 (ko) | 메모리 관리 시스템 및 방법 | |
US8438455B2 (en) | Error correction in a solid state disk | |
US20210081273A1 (en) | Method and System for Host-Assisted Data Recovery Assurance for Data Center Storage Device Architectures | |
WO2017103751A1 (en) | Recovery of multi-page failures in non-volatile memory system | |
US10339343B2 (en) | Storage system and method for improved generation and storage of data protection information | |
US20180351582A1 (en) | Adaptive outer code for consistent overprovisioning (op) level | |
US9003264B1 (en) | Systems, methods, and devices for multi-dimensional flash RAID data protection | |
CN112068778B (zh) | 用于保持从存储阵列中读取的数据的完整性的方法和设备 | |
US20180203625A1 (en) | Storage system with multi-dimensional data protection mechanism and method of operation thereof | |
US9547554B2 (en) | Mass storage device and method of operating the same to store parity data | |
US10922025B2 (en) | Nonvolatile memory bad row management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20151217 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160929 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170731 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20170807 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170817 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170822 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171027 |
|
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: 20171114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171213 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6262250 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |