JP2004164634A - 不揮発性メモリシステム内のエラー訂正コードのためのハイブリッド実装 - Google Patents
不揮発性メモリシステム内のエラー訂正コードのためのハイブリッド実装 Download PDFInfo
- Publication number
- JP2004164634A JP2004164634A JP2003366725A JP2003366725A JP2004164634A JP 2004164634 A JP2004164634 A JP 2004164634A JP 2003366725 A JP2003366725 A JP 2003366725A JP 2003366725 A JP2003366725 A JP 2003366725A JP 2004164634 A JP2004164634 A JP 2004164634A
- Authority
- JP
- Japan
- Prior art keywords
- algorithm
- block
- data
- encoded
- indicator
- 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
- 238000012937 correction Methods 0.000 title claims abstract description 15
- 238000004806 packaging method and process Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims abstract description 98
- 230000003068 static effect Effects 0.000 description 39
- 238000007726 management method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 230000005055 memory storage Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 3
- 230000001010 compromised effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
-
- 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
- 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
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)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Debugging And Monitoring (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
【解決手段】本発明の1つの局面によると、不揮発性メモリ内にデータを格納するための方法は、データが格納されるべき第1のブロックを識別するステップと、第1のブロックに関連するインディケータを入手するステップとを包含する。次に、インディケータが、データが第1のアルゴリズムを利用して符号化されるべきことを示すかどうかに関して、判断がなされ得る。データが第1のアルゴリズムを用いて符号化されるべきであると判断される場合に、データは、第1のアルゴリズムを用いて符号化される。その後、第1のアルゴリズムを利用して符号化されたデータは、第1のブロックに書き込まれる。
【選択図】図2a
Description
(1.発明の分野)
本発明は一般的に、大容量デジタルデータストレージシステムに関する。より詳細には、本発明は、不揮発性メモリのブロックへ書き込まれ得るデータを符号化するために利用されるアルゴリズムを動的にスイッチ可能にするためのシステムおよび方法に関する。
フラッシュメモリストレージシステム等の不揮発性メモリシステムの利用は、そのようなメモリシステムの物理サイズがコンパクトであり、かつ、不揮発性メモリは繰り返し再プログラムされ得るために、増加している。フラッシュメモリストレージシステムの物理サイズのコンパクトさが、ますます普及しつつあるデバイスにおいて、そのようなストレージシステムの利用を促進させる。フラッシュメモリストレージシステムを利用するデバイスは、デジタルカメラ、デジタルカムコーダー、デジタル音楽プレイヤー、ハンドヘルドパーソナルコンピューター、および、グローバルポジショニングデバイスを含むが、それらに制限されない。フラッシュメモリストレージシステムに含まれる不揮発性メモリを繰り返し再プログラムできるという能力により、フラッシュメモリストレージシステムは、利用および再利用が可能になる。
本発明は、不揮発性メモリ内ブロックのコンテンツを符号化および復号化するために、異なるエラー訂正コードアルゴリズムを利用するためのシステムおよび方法に関する。本発明の1つの局面によると、不揮発性メモリ内にデータを格納するための方法は、データが格納されるべき第1のブロックを識別するステップと、第1のブロックに関連するインディケータを入手するステップとを含む。次に、インディケータが、データが第1のアルゴリズムを利用して符号化されるべきことを示すかどうかに関して、判断がなされ得る。データが第1のアルゴリズムを用いて符号化されるべきであると判断される場合に、データは、第1のアルゴリズムを用いて符号化される。その後、第1のアルゴリズムを利用して符号化されたデータは、第1のブロックに書き込まれる。
をさらに包含してもよい。
をさらに備えてもよい。
(関連出願の相互参照)
本発明は、同時係属中の米国特許出願第10/281,739号、第10/281,823号、第10/281,670号、第10/281,824,第10/281,631号、第10/281,855号、第10/281,762号、第10/281,696号、第10/281,626号、第10/281,804号、および、同時係属中の米国仮特許出願第60/421,910号、第60/421,725号、第60/421,965号、第60/422,166号、第60/421,746号に関連し、それぞれ2002年10月28日に出願され、それぞれその全体を本明細書中で参照として援用する。
1−ビットECCアルゴリズムまたは2−ビットECCアルゴリズムのどちらか等の誤り訂正コード(ECC)アルゴリズムは、多くの場合、不揮発性メモリの物理ブロックに格納されるデータを符号化し、かつ格納されたデータを復号化するために利用される。ECCアルゴリズムの利用により、一般的に、物理ブロック内に格納されるデータの正確さが向上し得る。さらに計算力の強度な(more calculation−intensive)2−ビットECCアルゴリズムの利用は、2−ビットECCアルゴリズムが1−ビットECCアルゴリズムを利用して訂正され得るよりも多くの誤りのあるビットを訂正することができるために、より計算力が強度でない(less calculation−intensive)1−ビットECCアルゴリズムより好まれ得る。しかし、2−ビットECCアルゴリズムの実装は、増強されたエラー訂正能力を提供する一方、計算量および電力所要量の点で、1−ビットECCアルゴリズムよりもより高価である。
15 バス
17 アドレスデコーダ
19 回路
21 バッファメモリ
23 制御システムの一部分
100 ホストシステム
104 システムバス
108 マイクロプロセッサ
112 ランダムアクセスメモリ(RAM)
116 入力/出力回路
120 不揮発性メモリデバイス
124 不揮発性メモリ
128 メモリ制御システム
154 システムバス
158 マイクロプロセッサ
162 RAM
166 入力/出力回路
174 不揮発性メモリ
180 インターフェイス
704 アプリケーションインターフェイスモジュール
708 システムマネージャモジュール
712 データマネージャモジュール
716 データインテグリティマネージャ
720 デバイスマネージャおよびインターフェイスモジュール
724 システム初期化サブモジュール
726 消去カウントブロック管理サブモジュール
730 電力管理ブロックサブモジュール
Claims (45)
- メモリシステムの不揮発性メモリ内にデータを格納するための方法であって、該方法は、
該データが格納されるべき第1のブロックを識別するステップと、
該第1のブロックに関連するインディケータを入手するステップと、
該インディケータが、該データが第1のアルゴリズムを利用して符号化されるべきことを示す場合を判断するステップと、
該データが該第1のアルゴリズムを利用して符号化されるべきであることが判断される場合に、該第1のアルゴリズムを利用して該データを符号化するステップと、
該第1のアルゴリズムを利用して符号化された該データを該第1のブロックへ書き込むステップと
を包含する、方法。 - 前記第1のアルゴリズムを利用して前記データが符号化されるべきでないと判断される場合に、第2のアルゴリズムを利用して該データを符号化するステップと、
該第2のアルゴリズムを利用して符号化された該データを前記第1のブロックへ書き込むステップと
をさらに包含する、請求項1に記載の方法。 - 前記第1のアルゴリズムは、1−ビットエラー訂正コード(ECC)アルゴリズムであり、前記第2のアルゴリズムは、2−ビットエラー訂正コード(ECC)アルゴリズムである、請求項2に記載の方法。
- 前記インディケータは、前記ブロックが再要求されたブロックである場合を示すように構成され、該ブロックが再要求されたブロックである場合に、該インディケータは、前記データが前記第2のアルゴリズムを利用して符号化されるべきことを示すようにさらに構成される、請求項2に記載の方法。
- 前記インディケータは、前記ブロックが消去された回数を示すように構成される、請求項2に記載の方法。
- 前記インディケータが、前記データが前記第1のアルゴリズムを利用して符号化されるべきことを示す場合を前記判断するステップは、
該インディケータが許容限界値よりも小さい場合を判断するステップであって、該インディケータが、該許容限界値よりも小さい場合に、前記データは該第1のアルゴリズム利用して符号化されるべきである、ステップ
を包含する、請求項5に記載の方法。 - 前記インディケータは、前記不揮発性メモリ内のブロックが消去されたおよその平均回数を示すように構成される、請求項2に記載の方法。
- 前記インディケータは、データ構造に格納され、該データ構造は、前記第1のブロックから実質的に分離されており、前記ブロックと関連する前記インディケータを入手するステップは、該データ構造から該インディケータを入手するステップを包含する、請求項2に記載の方法。
- 前記不揮発性メモリはフラッシュメモリである、請求項1に記載の方法。
- 前記フラッシュメモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの一方である、請求項9に記載の方法。
- メモリシステムの不揮発性メモリ内のデータを読み出すための方法であって、該方法は、
データが読み出されるべき第1のブロックを識別するステップと、
該第1のブロックに関連するインディケータを入手するステップと、
該インディケータが、該第1のブロックに格納された該データが第1のアルゴリズムを利用して符号化されたことを示す場合を判断するステップと、
該データが該第1のアルゴリズムを利用して符号化されたと判断される場合に、該第1のアルゴリズムを利用して該データを復号化するステップと
を包含する、方法。 - 前記データが前記第1のアルゴリズムを利用して符号化されていないと判断される場合に、第2のアルゴリズムを利用して該データを復号化するステップ
をさらに包含する、請求項11に記載の方法。 - 前記第1のアルゴリズムは、1−ビットECCアルゴリズムであり、前記第2のアルゴリズムは、2−ビットECCアルゴリズムである、請求項12に記載の方法。
- 前記インディケータは、前記ブロックが再要求されたブロックである場合を示すように構成され、該ブロックが再要求されたブロックである場合に、該インディケータは、前記データが前記第2のアルゴリズムを利用して符号化されたことを示すようにさらに構成される、請求項12に記載の方法。
- 前記インディケータは、前記ブロックが消去された回数を示すように構成される、請求項12に記載の方法。
- 前記インディケータが、前記データが前記第1のアルゴリズムを利用して符号化されたことを示す場合を判断するステップは、
該インディケータが許容限界値よりも小さい場合を判断するステップであって、該インディケータが該許容限界値よりも小さい場合に、該データは該第1のアルゴリズムを利用して符号化されたものである、ステップ
を包含する、請求項15に記載の方法。 - 前記インディケータは、前記不揮発性メモリの物理ブロックが消去されたおよその平均回数を示すように構成される、請求項12に記載の方法。
- 前記インディケータは、データ構造に格納され、該データ構造は、前記第1のブロックから実質的に分離されており、前記ブロックと関連する前記インディケータを入手するステップは、該データ構造から該インディケータを入手するステップを包含する、請求項12に記載の方法。
- 前記不揮発性メモリはフラッシュメモリである、請求項11に記載の方法。
- 前記フラッシュメモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの一方である、請求項19に記載の方法。
- 複数のブロックを含む不揮発性メモリであって、該複数のブロックは第1のブロックを含む、不揮発性メモリと、
データが格納されるべき該第1のブロックを識別するためのコードデバイスと、
該第1のブロックと関連するインディケータを入手するためのコードデイバスと、
該インディケータは、該データが第1のアルゴリズムを利用して符号化されるべきであることを示す場合を判断するためのコードデバイスと、
該データが該第1のアルゴリズムを利用して符号化されるべきであると判断される場合に、該第1のアルゴリズムを利用して該データを符号化するためのコードデバイスと、
該第1のアルゴリズムを利用して符号化された該データを、該第1のブロックへ書き込むためのコードデバイスと、
該コードデバイスが格納されるメモリ領域と
を備える、メモリシステム。 - 前記データが前記第1のアルゴリズムを利用して符号化されるべきでないと判断される場合に、第2のアルゴリズムを利用して該データを符号化するためのコードデバイスと、
該第2のアルゴリズムを利用して符号化される該データを、該第1のブロックへ書き込むためのコードデバイスと
をさらに備える、請求項21に記載のメモリシステム。 - 前記第1のアルゴリズムは、1−ビットECCアルゴリズムであり、前記第2のアルゴリズムは、2−ビットECCアルゴリズムである、請求項22に記載のメモリシステム。
- 前記インディケータは、前記ブロックが再要求されたブロックである場合を示すように構成され、該ブロックが再要求されたブロックである場合に、該インディケータは、前記データが前記第2のアルゴリズムを利用して符号化されるべきであることを示すようにさらに構成される、請求項22に記載のメモリシステム。
- 前記インディケータは、前記ブロックが消去された回数を示すように構成される、請求項22に記載のメモリシステム。
- 前記インディケータは、前記データが前記第1のアルゴリズムを利用して符号化されるべきことを示す場合を判断するためのコードデバイスは、
該インディケータが許容限界値よりも小さい場合を判断するためのコードデバイスであって、該インディケータが、該許容限界値よりも小さい場合に、前記データは該第1のアルゴリズム利用して符号化されるべきである、コードデバイス
を備える、請求項25に記載のメモリシステム。 - 前記不揮発性メモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの一方である、請求項21に記載のメモリシステム。
- 複数のブロックを含む不揮発性メモリであって、該複数のブロックは第1のブロックを含み、該第1のブロックはデータを含む、不揮発性メモリと、
該第1のブロックを識別するためのコードデバイスと、
該第1のブロックに関連するインディケータを入手するためのコードデバイスと、
該インディケータが、該データが第1のアルゴリズムを利用して符号化されたことを示す場合を決定するためのコードデバイスと、
該データが該第1のアルゴリズムを利用して符号化されたと判断される場合に、該第1のアルゴリズムを利用して該データを復号化するためのコードデバイスと、
該コードデバイスを格納するメモリ領域と
を備える、メモリシステム。 - 該データが該第1のアルゴリズムを利用して符号化されていないと判断される場合に、第2のアルゴリズムを利用してデータを復号化するためのコードデバイス
をさらに備える、請求項28に記載のメモリシステム。 - 前記第1のアルゴリズムは、1−ビットECCアルゴリズムであり、前記第2のアルゴリズムは、2−ビットECCアルゴリズムである、請求項29に記載のメモリシステム。
- 前記インディケータは、前記ブロックが再要求されたブロックである場合を示すように構成され、該ブロックが再要求されたブロックである場合に、該インディケータは、前記データが前記第2のアルゴリズムを利用して符号化されたことを示すようにさらに構成される、請求項29に記載のメモリシステム。
- 前記インディケータは、前記ブロックが消去された回数を示すように構成される、請求項29に記載のメモリシステム。
- 前記インディケータは、前記データが前記第1のアルゴリズムを利用して符号化されたことを示す場合を判断するための前記コードデバイスは、
該インディケータが許容限界値よりも小さい場合を判断するためのコードデバイスであって、該インディケータが、該許容限界値よりも小さい場合に、前記データは該第1のアルゴリズム利用して符号化されたものである、コードデバイス
を備える、請求項32に記載のメモリシステム。 - 前記不揮発性メモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの一方である、請求項28に記載のメモリシステム。
- 複数のブロックを含む不揮発性メモリであって、該ブロックは、第1のブロックおよび第2のブロックを含み、該第1のブロックは、第1のアルゴリズムを利用して符号化される第1のコンテンツのセットを含み、該第2のブロックは、該第2のアルゴリズムを利用して符号化される第2のコンテンツのセットを含み、該不揮発性メモリは、該第1のコンテンツのセットが該第1のアルゴリズムを利用して符号化されることと、該第2のコンテンツのセットが該第2のアルゴリズムを利用して符号化されることとを示すように構成されるデータ構造をさらに含む、不揮発性メモリと、
該データ構造にアクセスするためのコードデバイスであって、該データ構造にアクセスするための該コードデバイスは、該第1のコンテンツのセットが該第1のアルゴリズムを利用して符号化されることを判断するためのコードデバイスと、該第2のコンテンツのセットが該第2のアルゴリズムを利用して符号化されることを判断するためのコードデバイスとを含む、コードデバイスと、
該コードデバイスを格納するメモリ領域と
を備える、メモリシステム。 - 前記第1のアルゴリズムは、1−ビットECCアルゴリズムであり、前記第2のアルゴリズムは、2−ビットECCアルゴリズムである、請求項35に記載のメモリシステム。
- 前記不揮発性メモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの一方である、請求項36に記載のメモリシステム。
- データが格納されるべき第1のブロックを含む不揮発性メモリと、
該第1のブロックを識別する手段と、
該第1のブロックと関連するインディケータを入手する手段と、
該インディケータが、該データが第1のアルゴリズムを利用して符号化されるべきであることを示す場合を判断する手段と、
該データが該第1のアルゴリズムを利用して符号化されるべきであると判断される場合に、該第1のアルゴリズムを利用して該データを符号化する手段と
を備える、メモリシステム。 - 前記データが前記第1のアルゴリズムを利用して符号化されるべきでないと判断される場合に、第2のアルゴリズムを利用して該データを符号化する手段と、
前記第2のアルゴリズムを利用して符号化されたデータを、該第1のブロックへ書き込む手段と
をさらに備える、請求項38に記載のメモリシステム。 - 前記第1のアルゴリズムは、1−ビットECCアルゴリズムであり、前記第2のアルゴリズムは、2−ビットECCアルゴリズムである、請求項39に記載のメモリシステム。
- 前記不揮発性メモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの一方である、請求項38に記載のメモリシステム。
- データが読み出されるべき第1のブロックを含む不揮発性メモリシステムと、
該第1のブロックを識別する手段と、
該第1のブロックと関連するインディケータを入手する手段と、
該インディケータが、該第1のブロックに格納される該データが第1のアルゴリズムを利用して符号化されたことを示す場合を判断する手段と、
該データが該第1のアルゴリズムを利用して符号化されたと判断される場合に、該第1のアルゴリズムを利用して該データを復号化する手段と
を備える、メモリシステム。 - 前記データが前記第1のアルゴリズムを利用して符号化されていないと判断される場合に、第2のアルゴリズムを利用して該データを復号化する手段
をさらに備える、請求項42に記載のメモリシステム。 - 前記第1のアルゴリズムは、1−ビットECCアルゴリズムであり、前記第2のアルゴリズムは、2−ビットECCアルゴリズムである、請求項43に記載のメモリシステム。
- 前記不揮発性メモリは、NANDフラッシュメモリおよびMLC NANDフラッシュメモリの一方である、請求項42に記載のメモリシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US42191102P | 2002-10-28 | 2002-10-28 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004164634A true JP2004164634A (ja) | 2004-06-10 |
JP2004164634A5 JP2004164634A5 (ja) | 2006-11-30 |
JP4429685B2 JP4429685B2 (ja) | 2010-03-10 |
Family
ID=32825088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003366725A Expired - Fee Related JP4429685B2 (ja) | 2002-10-28 | 2003-10-27 | 不揮発性メモリシステム内のエラー訂正コードのためのハイブリッド実装 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8412879B2 (ja) |
EP (1) | EP1424631B1 (ja) |
JP (1) | JP4429685B2 (ja) |
KR (1) | KR101017443B1 (ja) |
CN (1) | CN1499532B (ja) |
AT (1) | ATE320041T1 (ja) |
DE (1) | DE60303895T2 (ja) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007305267A (ja) * | 2006-05-15 | 2007-11-22 | Toshiba Corp | 半導体記憶装置 |
JP2008009635A (ja) * | 2006-06-28 | 2008-01-17 | Hitachi Ltd | ストレージシステム及びそのデータ保護方法 |
JP2008508632A (ja) * | 2004-08-02 | 2008-03-21 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ記憶及び再生装置 |
JP2008192054A (ja) * | 2007-02-07 | 2008-08-21 | Megachips Lsi Solutions Inc | 半導体メモリシステム |
CN101258471A (zh) * | 2005-07-15 | 2008-09-03 | Gsip有限责任公司 | 闪存纠错 |
JP2008217811A (ja) * | 2008-04-03 | 2008-09-18 | Hitachi Ltd | 不揮発メモリを使用したディスク制御装置 |
JP2009048758A (ja) * | 2007-08-16 | 2009-03-05 | Samsung Electronics Co Ltd | 高速プログラムが可能な不揮発性半導体メモリシステム及びその読み出し方法 |
WO2009064791A2 (en) * | 2007-11-13 | 2009-05-22 | Mcm Portfolio Llc | Method and apparatus of automatically selecting error correction algorithms |
JP2011525655A (ja) * | 2008-06-24 | 2011-09-22 | サンディスク アイエル リミテッド | ソリッドステートメモリの消去カウントにしたがってエラー修正をする方法および装置 |
JP2011233207A (ja) * | 2010-04-28 | 2011-11-17 | Univ Of Tokyo | データ入出力制御装置および半導体記憶装置システム |
JP2012118839A (ja) * | 2010-12-02 | 2012-06-21 | Fujitsu Ltd | アクセス制御装置、誤り訂正制御方法およびストレージ装置 |
JP2013542533A (ja) * | 2010-10-27 | 2013-11-21 | エルエスアイ コーポレーション | フラッシュメモリベースのデータ記憶のための順応ecc技術 |
JP2014063503A (ja) * | 2013-11-07 | 2014-04-10 | Univ Of Tokyo | データ入出力制御装置および半導体記憶装置システム |
JP2017027440A (ja) * | 2015-07-24 | 2017-02-02 | ソニー株式会社 | 符号化装置、メモリシステム、通信システムおよび符号化方法 |
Families Citing this family (127)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040083334A1 (en) * | 2002-10-28 | 2004-04-29 | Sandisk Corporation | Method and apparatus for managing the integrity of data in non-volatile memory system |
US7559004B1 (en) | 2003-10-01 | 2009-07-07 | Sandisk Corporation | Dynamic redundant area configuration in a non-volatile memory system |
US7383375B2 (en) | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
EP1758027B1 (en) * | 2003-12-30 | 2010-07-14 | SanDisk Corporation | Non-volatile memory and method with control data management |
US7433993B2 (en) | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
US7139864B2 (en) | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
JP4182928B2 (ja) | 2004-07-07 | 2008-11-19 | セイコーエプソン株式会社 | 情報処理装置、メモリ管理プログラムおよびメモリ管理方法 |
US8341371B2 (en) * | 2005-01-31 | 2012-12-25 | Sandisk Il Ltd | Method of managing copy operations in flash memories |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
US7509471B2 (en) | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
CN101405810B (zh) * | 2006-01-20 | 2012-01-25 | 马维尔国际贸易有限公司 | 在闪存中用于纠错的方法和系统 |
US7697326B2 (en) * | 2006-05-12 | 2010-04-13 | Anobit Technologies Ltd. | Reducing programming error in memory devices |
WO2007132457A2 (en) * | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
US8239735B2 (en) * | 2006-05-12 | 2012-08-07 | Apple Inc. | Memory Device with adaptive capacity |
CN103280239B (zh) | 2006-05-12 | 2016-04-06 | 苹果公司 | 存储设备中的失真估计和消除 |
US7971071B2 (en) * | 2006-05-24 | 2011-06-28 | Walkoe Wilbur J | Integrated delivery and protection device for digital objects |
US7533328B2 (en) * | 2006-07-04 | 2009-05-12 | Sandisk Il, Ltd. | Method of error correction in a multi-bit-per-cell flash memory |
WO2008026203A2 (en) | 2006-08-27 | 2008-03-06 | Anobit Technologies | Estimation of non-linear distortion in memory devices |
US7821826B2 (en) | 2006-10-30 | 2010-10-26 | Anobit Technologies, Ltd. | Memory cell readout using successive approximation |
WO2008053472A2 (en) | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
US7545681B2 (en) * | 2006-11-27 | 2009-06-09 | Sandisk Corporation | Segmented bitscan for verification of programming |
US7440319B2 (en) * | 2006-11-27 | 2008-10-21 | Sandisk Corporation | Apparatus with segmented bitscan for verification of programming |
US7924648B2 (en) | 2006-11-28 | 2011-04-12 | Anobit Technologies Ltd. | Memory power and performance management |
US8151163B2 (en) * | 2006-12-03 | 2012-04-03 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
US20080140918A1 (en) * | 2006-12-11 | 2008-06-12 | Pantas Sutardja | Hybrid non-volatile solid state memory system |
US9153337B2 (en) | 2006-12-11 | 2015-10-06 | Marvell World Trade Ltd. | Fatigue management system and method for hybrid nonvolatile solid state memory system |
US7593263B2 (en) * | 2006-12-17 | 2009-09-22 | Anobit Technologies Ltd. | Memory device with reduced reading latency |
US7900102B2 (en) * | 2006-12-17 | 2011-03-01 | Anobit Technologies Ltd. | High-speed programming of memory devices |
KR100842680B1 (ko) | 2007-01-08 | 2008-07-01 | 삼성전자주식회사 | 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템 |
US7751240B2 (en) | 2007-01-24 | 2010-07-06 | Anobit Technologies Ltd. | Memory device with negative thresholds |
US8151166B2 (en) | 2007-01-24 | 2012-04-03 | Anobit Technologies Ltd. | Reduction of back pattern dependency effects in memory devices |
WO2008111058A2 (en) * | 2007-03-12 | 2008-09-18 | Anobit Technologies Ltd. | Adaptive estimation of memory cell read thresholds |
US8001320B2 (en) * | 2007-04-22 | 2011-08-16 | Anobit Technologies Ltd. | Command interface for memory devices |
WO2008139441A2 (en) | 2007-05-12 | 2008-11-20 | Anobit Technologies Ltd. | Memory device with internal signal processing unit |
US8234545B2 (en) * | 2007-05-12 | 2012-07-31 | Apple Inc. | Data storage with incremental redundancy |
US8301833B1 (en) | 2007-06-01 | 2012-10-30 | Netlist, Inc. | Non-volatile memory module |
US8874831B2 (en) * | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
US8904098B2 (en) | 2007-06-01 | 2014-12-02 | Netlist, Inc. | Redundant backup using non-volatile memory |
US7747903B2 (en) * | 2007-07-09 | 2010-06-29 | Micron Technology, Inc. | Error correction for memory |
US7925936B1 (en) | 2007-07-13 | 2011-04-12 | Anobit Technologies Ltd. | Memory device with non-uniform programming levels |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
KR101413736B1 (ko) | 2007-09-13 | 2014-07-02 | 삼성전자주식회사 | 향상된 신뢰성을 갖는 메모리 시스템 및 그것의웨어-레벨링 기법 |
US8174905B2 (en) * | 2007-09-19 | 2012-05-08 | Anobit Technologies Ltd. | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
US7773413B2 (en) | 2007-10-08 | 2010-08-10 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells in the presence of temperature variations |
US8068360B2 (en) * | 2007-10-19 | 2011-11-29 | Anobit Technologies Ltd. | Reading analog memory cells using built-in multi-threshold commands |
WO2009050703A2 (en) | 2007-10-19 | 2009-04-23 | Anobit Technologies | Data storage in analog memory cell arrays having erase failures |
US8000141B1 (en) | 2007-10-19 | 2011-08-16 | Anobit Technologies Ltd. | Compensation for voltage drifts in analog memory cells |
KR101509836B1 (ko) * | 2007-11-13 | 2015-04-06 | 애플 인크. | 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택 |
US8225181B2 (en) | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
US8209588B2 (en) * | 2007-12-12 | 2012-06-26 | Anobit Technologies Ltd. | Efficient interference cancellation in analog memory cell arrays |
US8456905B2 (en) | 2007-12-16 | 2013-06-04 | Apple Inc. | Efficient data storage in multi-plane memory devices |
US8085586B2 (en) * | 2007-12-27 | 2011-12-27 | Anobit Technologies Ltd. | Wear level estimation in analog memory cells |
US8156398B2 (en) * | 2008-02-05 | 2012-04-10 | Anobit Technologies Ltd. | Parameter estimation based on error correction code parity check equations |
US7924587B2 (en) * | 2008-02-21 | 2011-04-12 | Anobit Technologies Ltd. | Programming of analog memory cells using a single programming pulse per state transition |
US7864573B2 (en) | 2008-02-24 | 2011-01-04 | Anobit Technologies Ltd. | Programming analog memory cells for reduced variance after retention |
US8230300B2 (en) * | 2008-03-07 | 2012-07-24 | Apple Inc. | Efficient readout from analog memory cells using data compression |
US8400858B2 (en) | 2008-03-18 | 2013-03-19 | Apple Inc. | Memory device with reduced sense time readout |
US8059457B2 (en) * | 2008-03-18 | 2011-11-15 | Anobit Technologies Ltd. | Memory device with multiple-accuracy read commands |
US20090287969A1 (en) * | 2008-05-13 | 2009-11-19 | Bpm Microsystems | Electronic apparatus and bit error rate tolerance method for programming non-volatile memory devices |
US8498151B1 (en) | 2008-08-05 | 2013-07-30 | Apple Inc. | Data storage in analog memory cells using modified pass voltages |
US7924613B1 (en) | 2008-08-05 | 2011-04-12 | Anobit Technologies Ltd. | Data storage in analog memory cells with protection against programming interruption |
US8213229B2 (en) * | 2008-08-22 | 2012-07-03 | HGST Netherlands, B.V. | Error control in a flash memory device |
US8169825B1 (en) | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
US8949684B1 (en) | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
US8482978B1 (en) | 2008-09-14 | 2013-07-09 | Apple Inc. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8000135B1 (en) | 2008-09-14 | 2011-08-16 | Anobit Technologies Ltd. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8239734B1 (en) | 2008-10-15 | 2012-08-07 | Apple Inc. | Efficient data storage in storage device arrays |
US8713330B1 (en) | 2008-10-30 | 2014-04-29 | Apple Inc. | Data scrambling in memory devices |
US8208304B2 (en) | 2008-11-16 | 2012-06-26 | Anobit Technologies Ltd. | Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N |
US8248831B2 (en) * | 2008-12-31 | 2012-08-21 | Apple Inc. | Rejuvenation of analog memory cells |
US8397131B1 (en) | 2008-12-31 | 2013-03-12 | Apple Inc. | Efficient readout schemes for analog memory cell devices |
US8924661B1 (en) | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
US8228701B2 (en) | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
US8832354B2 (en) * | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8238157B1 (en) | 2009-04-12 | 2012-08-07 | Apple Inc. | Selective re-programming of analog memory cells |
US20130047056A1 (en) * | 2009-05-05 | 2013-02-21 | Lite-On It Corporation | Flash memory device with rectifiable redundancy and method of controlling the same |
CN101794623B (zh) * | 2009-06-01 | 2013-11-06 | 深圳市朗科科技股份有限公司 | 存储设备的纠错装置及方法 |
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US8566689B2 (en) * | 2009-10-22 | 2013-10-22 | Microsoft Corporation | Data integrity units in nonvolatile memory |
US8301987B2 (en) * | 2009-10-29 | 2012-10-30 | Sandisk Il Ltd. | System and method of decoding data with reduced power consumption |
US8677054B1 (en) | 2009-12-16 | 2014-03-18 | Apple Inc. | Memory management schemes for non-volatile memory devices |
TWI497293B (zh) | 2009-12-17 | 2015-08-21 | Ibm | 固態儲存裝置內之資料管理 |
US8694814B1 (en) | 2010-01-10 | 2014-04-08 | Apple Inc. | Reuse of host hibernation storage space by memory controller |
US8572311B1 (en) | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
US8694853B1 (en) | 2010-05-04 | 2014-04-08 | Apple Inc. | Read commands for reading interfering memory cells |
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 |
FR2961613B1 (fr) * | 2010-06-18 | 2012-07-27 | Commissariat Energie Atomique | Procede de protection memoire configurable contre les erreurs permanentes et transitoires et dispositif apparente |
US8572423B1 (en) | 2010-06-22 | 2013-10-29 | Apple Inc. | Reducing peak current in memory systems |
US8533550B2 (en) | 2010-06-29 | 2013-09-10 | Intel Corporation | Method and system to improve the performance and/or reliability of a solid-state drive |
US8595591B1 (en) | 2010-07-11 | 2013-11-26 | Apple Inc. | Interference-aware assignment of programming levels in analog memory cells |
US9104580B1 (en) | 2010-07-27 | 2015-08-11 | Apple Inc. | Cache memory for hybrid disk drives |
US8767459B1 (en) | 2010-07-31 | 2014-07-01 | Apple Inc. | Data storage in analog memory cells across word lines using a non-integer number of bits per cell |
US8856475B1 (en) | 2010-08-01 | 2014-10-07 | Apple Inc. | Efficient selection of memory blocks for compaction |
US9146875B1 (en) * | 2010-08-09 | 2015-09-29 | Western Digital Technologies, Inc. | Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining |
WO2012020278A1 (en) | 2010-08-13 | 2012-02-16 | Sandisk Il Ltd. | Data coding using divisions of memory cell states |
US8694854B1 (en) | 2010-08-17 | 2014-04-08 | Apple Inc. | Read threshold setting based on soft readout statistics |
US9021181B1 (en) | 2010-09-27 | 2015-04-28 | Apple Inc. | Memory management for unifying memory cell conditions by using maximum time intervals |
CN103221928B (zh) | 2010-10-29 | 2016-01-20 | 英派尔科技开发有限公司 | 用于固态驱动器的擦除次数减少的高级数据编码 |
KR20120064462A (ko) | 2010-12-09 | 2012-06-19 | 삼성전자주식회사 | 메모리 컨트롤러, 이의 오류정정 방법, 및 이를 포함하는 메모리 시스템 |
CN102142282B (zh) * | 2011-02-21 | 2012-10-24 | 北京理工大学 | 一种NANDFlash存储芯片ECC校验算法的识别方法 |
US8661221B2 (en) * | 2011-03-16 | 2014-02-25 | International Business Machines Corporation | Leasing fragmented storage between processes |
US10380022B2 (en) | 2011-07-28 | 2019-08-13 | Netlist, Inc. | Hybrid memory module and system and method of operating the same |
US10198350B2 (en) | 2011-07-28 | 2019-02-05 | Netlist, Inc. | Memory module having volatile and non-volatile memory subsystems and method of operation |
US10838646B2 (en) | 2011-07-28 | 2020-11-17 | Netlist, Inc. | Method and apparatus for presearching stored data |
US8910017B2 (en) | 2012-07-02 | 2014-12-09 | Sandisk Technologies Inc. | Flash memory with random partition |
KR102049281B1 (ko) | 2012-10-23 | 2019-11-27 | 삼성전자주식회사 | 불휘발성 메모리 및 컨트롤러를 포함하는 메모리 시스템, 그리고 불휘발성 메모리에 데이터를 프로그램하는 프로그램 방법 |
US8996951B2 (en) | 2012-11-15 | 2015-03-31 | Elwha, Llc | Error correction with non-volatile memory on an integrated circuit |
CN103077096A (zh) * | 2012-12-31 | 2013-05-01 | 记忆科技(深圳)有限公司 | 数据纠错系统、固态硬盘及数据纠错方法 |
KR101741346B1 (ko) | 2013-01-11 | 2017-06-15 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 플래시 메모리들에 대한 페이지 할당 |
KR101742462B1 (ko) | 2013-02-27 | 2017-06-01 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 메모리 디바이스들을 위한 선형 프로그래밍 기반 디코딩 |
US10372551B2 (en) | 2013-03-15 | 2019-08-06 | Netlist, Inc. | Hybrid memory system with configurable error thresholds and failure analysis capability |
US9436600B2 (en) | 2013-06-11 | 2016-09-06 | Svic No. 28 New Technology Business Investment L.L.P. | Non-volatile memory storage for multi-channel memory system |
CN104111893A (zh) * | 2013-06-21 | 2014-10-22 | 芜湖美的厨卫电器制造有限公司 | 数据的存储方法 |
US10248328B2 (en) | 2013-11-07 | 2019-04-02 | Netlist, Inc. | Direct data move between DRAM and storage on a memory module |
US9859925B2 (en) | 2013-12-13 | 2018-01-02 | Empire Technology Development Llc | Low-complexity flash memory data-encoding techniques using simplified belief propagation |
US10114562B2 (en) | 2014-09-16 | 2018-10-30 | Sandisk Technologies Llc | Adaptive block allocation in nonvolatile memory |
US10691531B2 (en) * | 2014-12-04 | 2020-06-23 | Western Digital Technologies, Inc. | Systems and methods for multi-zone data tiering for endurance extension in solid state drives |
CN105988887A (zh) * | 2015-01-31 | 2016-10-05 | 深圳市硅格半导体有限公司 | 存储卡数据处理系统及方法 |
US9401216B1 (en) * | 2015-09-22 | 2016-07-26 | Sandisk Technologies Llc | Adaptive operation of 3D NAND memory |
US9817593B1 (en) | 2016-07-11 | 2017-11-14 | Sandisk Technologies Llc | Block management in non-volatile memory system with non-blocking control sync system |
US11556416B2 (en) | 2021-05-05 | 2023-01-17 | Apple Inc. | Controlling memory readout reliability and throughput by adjusting distance between read thresholds |
US11847342B2 (en) | 2021-07-28 | 2023-12-19 | Apple Inc. | Efficient transfer of hard data and confidence levels in reading a nonvolatile memory |
US11762735B2 (en) | 2021-10-01 | 2023-09-19 | Western Digital Technologies, Inc. | Interleaved ECC coding for key-value data storage devices |
US11934264B2 (en) | 2021-11-22 | 2024-03-19 | Western Digital Technologies, Inc. | ECC parity biasing for Key-Value data storage devices |
CN117762819A (zh) * | 2022-09-19 | 2024-03-26 | 慧荣科技股份有限公司 | 存取快闪存储器模块的方法与相关的快闪存储器控制器及记忆装置 |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4785452A (en) * | 1986-04-25 | 1988-11-15 | International Business Machines Corporation | Error detection using variable field parity checking |
JP2685173B2 (ja) | 1986-05-31 | 1997-12-03 | キヤノン株式会社 | メモリ書き込み制御方法 |
JPH07109717B2 (ja) | 1986-05-31 | 1995-11-22 | キヤノン株式会社 | メモリ書き込み制御方法 |
US5268870A (en) * | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
US5228046A (en) * | 1989-03-10 | 1993-07-13 | International Business Machines | Fault tolerant computer memory systems and components employing dual level error correction and detection with disablement feature |
EP0618535B1 (en) * | 1989-04-13 | 1999-08-25 | SanDisk Corporation | EEPROM card with defective cell substitution and cache memory |
US5222109A (en) * | 1990-12-28 | 1993-06-22 | Ibm Corporation | Endurance management for solid state files |
US5438573A (en) * | 1991-09-13 | 1995-08-01 | Sundisk Corporation | Flash EEPROM array data and header file structure |
US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
JPH06187248A (ja) | 1992-12-16 | 1994-07-08 | Nec Corp | データエラー検出訂正制御回路 |
JP2856621B2 (ja) * | 1993-02-24 | 1999-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置 |
US5388083A (en) * | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
US5603001A (en) * | 1994-05-09 | 1997-02-11 | Kabushiki Kaisha Toshiba | Semiconductor disk system having a plurality of flash memories |
US5838614A (en) * | 1995-07-31 | 1998-11-17 | Lexar Microsystems, Inc. | Identification and verification of a sector within a block of mass storage flash memory |
US5907856A (en) * | 1995-07-31 | 1999-05-25 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US5845313A (en) * | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US5835935A (en) * | 1995-09-13 | 1998-11-10 | Lexar Media, Inc. | Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory |
US6125435A (en) * | 1995-09-13 | 2000-09-26 | Lexar Media, Inc. | Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory |
US5860082A (en) * | 1996-03-28 | 1999-01-12 | Datalight, Inc. | Method and apparatus for allocating storage in a flash memory |
US5754565A (en) * | 1996-10-15 | 1998-05-19 | Quantum Corporation | Reconstruction of syndromes for bi-level on-the-fly error correction in disk drive systems |
US5905858A (en) * | 1996-11-01 | 1999-05-18 | Micron Electronics, Inc. | System for method memory error handling |
US6311290B1 (en) * | 1997-02-14 | 2001-10-30 | Intel Corporation | Methods of reliably allocating, de-allocating, re-allocating, and reclaiming objects in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US5961660A (en) * | 1997-03-03 | 1999-10-05 | International Business Machines Corporation | Method and apparatus for optimizing ECC memory performance |
US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
US5956743A (en) * | 1997-08-25 | 1999-09-21 | Bit Microsystems, Inc. | Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations |
JPH1173797A (ja) | 1997-08-27 | 1999-03-16 | Sony Corp | 記憶装置 |
JP3998307B2 (ja) * | 1997-12-25 | 2007-10-24 | 富士通株式会社 | 磁気ディスク装置及び磁気ディスク装置のエラー訂正方法 |
US6182239B1 (en) * | 1998-02-06 | 2001-01-30 | Stmicroelectronics, Inc. | Fault-tolerant codes for multi-level memories |
KR100297986B1 (ko) * | 1998-03-13 | 2001-10-25 | 김영환 | 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법 |
JP3421581B2 (ja) | 1998-06-29 | 2003-06-30 | 株式会社日立製作所 | 不揮発性半導体メモリを用いた記憶装置 |
US6260156B1 (en) * | 1998-12-04 | 2001-07-10 | Datalight, Inc. | Method and system for managing bad areas in flash memory |
US6041001A (en) * | 1999-02-25 | 2000-03-21 | Lexar Media, Inc. | Method of increasing data reliability of a flash memory device without compromising compatibility |
AU7313600A (en) | 1999-09-17 | 2001-04-24 | Hitachi Limited | Storage where the number of error corrections is recorded |
US6487685B1 (en) * | 1999-09-30 | 2002-11-26 | Silicon Graphics, Inc. | System and method for minimizing error correction code bits in variable sized data formats |
US6426893B1 (en) * | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US6747827B1 (en) * | 2000-03-27 | 2004-06-08 | Texas Instruments Incorporated | Error correction codes applied variably by disk zone, track, sector, or content |
US20010042230A1 (en) * | 2000-05-10 | 2001-11-15 | Seagate Technology Llc | Sector validation for use in ECC engine validation |
JP2002091831A (ja) | 2000-09-12 | 2002-03-29 | Hitachi Ltd | データ処理システム及びデータ処理方法 |
US6941505B2 (en) * | 2000-09-12 | 2005-09-06 | Hitachi, Ltd. | Data processing system and data processing method |
US7113432B2 (en) * | 2000-09-14 | 2006-09-26 | Sandisk Corporation | Compressed event counting technique and application to a flash memory system |
US6834331B1 (en) * | 2000-10-24 | 2004-12-21 | Starfish Software, Inc. | System and method for improving flash memory data integrity |
US6970890B1 (en) * | 2000-12-20 | 2005-11-29 | Bitmicro Networks, Inc. | Method and apparatus for data recovery |
US6961890B2 (en) * | 2001-08-16 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Dynamic variable-length error correction code |
-
2003
- 2003-10-02 US US10/678,893 patent/US8412879B2/en active Active
- 2003-10-27 JP JP2003366725A patent/JP4429685B2/ja not_active Expired - Fee Related
- 2003-10-27 KR KR1020030075140A patent/KR101017443B1/ko active IP Right Grant
- 2003-10-28 AT AT03256792T patent/ATE320041T1/de not_active IP Right Cessation
- 2003-10-28 CN CN2003101046432A patent/CN1499532B/zh not_active Expired - Fee Related
- 2003-10-28 EP EP03256792A patent/EP1424631B1/en not_active Expired - Lifetime
- 2003-10-28 DE DE60303895T patent/DE60303895T2/de not_active Expired - Lifetime
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008508632A (ja) * | 2004-08-02 | 2008-03-21 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ記憶及び再生装置 |
US8402325B2 (en) | 2004-08-02 | 2013-03-19 | St-Ericsson Sa | Data storage and replay apparatus |
CN101258471A (zh) * | 2005-07-15 | 2008-09-03 | Gsip有限责任公司 | 闪存纠错 |
US8140939B2 (en) | 2005-07-15 | 2012-03-20 | Gs Ip Limited Liability Company | Flash error correction |
JP2009501380A (ja) * | 2005-07-15 | 2009-01-15 | ジーエス・アイピー・リミテッド・ライアビリティ・カンパニー | フラッシュエラー訂正 |
JP2007305267A (ja) * | 2006-05-15 | 2007-11-22 | Toshiba Corp | 半導体記憶装置 |
JP2008009635A (ja) * | 2006-06-28 | 2008-01-17 | Hitachi Ltd | ストレージシステム及びそのデータ保護方法 |
JP2008192054A (ja) * | 2007-02-07 | 2008-08-21 | Megachips Lsi Solutions Inc | 半導体メモリシステム |
JP2009048758A (ja) * | 2007-08-16 | 2009-03-05 | Samsung Electronics Co Ltd | 高速プログラムが可能な不揮発性半導体メモリシステム及びその読み出し方法 |
US8898543B2 (en) | 2007-08-16 | 2014-11-25 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, system, and method providing fast program and read operations |
WO2009064791A2 (en) * | 2007-11-13 | 2009-05-22 | Mcm Portfolio Llc | Method and apparatus of automatically selecting error correction algorithms |
WO2009064791A3 (en) * | 2007-11-13 | 2009-08-27 | Mcm Portfolio Llc | Method and apparatus of automatically selecting error correction algorithms |
JP2008217811A (ja) * | 2008-04-03 | 2008-09-18 | Hitachi Ltd | 不揮発メモリを使用したディスク制御装置 |
JP2011525655A (ja) * | 2008-06-24 | 2011-09-22 | サンディスク アイエル リミテッド | ソリッドステートメモリの消去カウントにしたがってエラー修正をする方法および装置 |
US8677217B2 (en) | 2010-04-28 | 2014-03-18 | The University Of Tokyo | Data input / output control device and semiconductor memory device system |
JP2011233207A (ja) * | 2010-04-28 | 2011-11-17 | Univ Of Tokyo | データ入出力制御装置および半導体記憶装置システム |
JP2013542533A (ja) * | 2010-10-27 | 2013-11-21 | エルエスアイ コーポレーション | フラッシュメモリベースのデータ記憶のための順応ecc技術 |
JP2012118839A (ja) * | 2010-12-02 | 2012-06-21 | Fujitsu Ltd | アクセス制御装置、誤り訂正制御方法およびストレージ装置 |
US8839072B2 (en) | 2010-12-02 | 2014-09-16 | Fujitsu Limited | Access control apparatus, storage apparatus, and method |
JP2014063503A (ja) * | 2013-11-07 | 2014-04-10 | Univ Of Tokyo | データ入出力制御装置および半導体記憶装置システム |
JP2017027440A (ja) * | 2015-07-24 | 2017-02-02 | ソニー株式会社 | 符号化装置、メモリシステム、通信システムおよび符号化方法 |
WO2017018008A1 (ja) * | 2015-07-24 | 2017-02-02 | ソニー株式会社 | 符号化装置、メモリコントローラ、通信システムおよび符号化方法 |
US10481971B2 (en) | 2015-07-24 | 2019-11-19 | Sony Corporation | Encoding device, memory controller, communication system, and encoding method |
Also Published As
Publication number | Publication date |
---|---|
EP1424631B1 (en) | 2006-03-08 |
ATE320041T1 (de) | 2006-03-15 |
CN1499532A (zh) | 2004-05-26 |
JP4429685B2 (ja) | 2010-03-10 |
EP1424631A1 (en) | 2004-06-02 |
CN1499532B (zh) | 2011-05-18 |
KR20040038711A (ko) | 2004-05-08 |
DE60303895T2 (de) | 2006-10-05 |
DE60303895D1 (de) | 2006-05-04 |
US8412879B2 (en) | 2013-04-02 |
KR101017443B1 (ko) | 2011-02-25 |
US20040083333A1 (en) | 2004-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4429685B2 (ja) | 不揮発性メモリシステム内のエラー訂正コードのためのハイブリッド実装 | |
US7559004B1 (en) | Dynamic redundant area configuration in a non-volatile memory system | |
TWI527037B (zh) | 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置 | |
US7702880B2 (en) | Hybrid mapping implementation within a non-volatile memory system | |
US7032087B1 (en) | Erase count differential table within a non-volatile memory system | |
US20040083334A1 (en) | Method and apparatus for managing the integrity of data in non-volatile memory system | |
US11138080B2 (en) | Apparatus and method for reducing cell disturb in an open block of a memory system during a recovery procedure | |
US11544157B2 (en) | Apparatus and method for storing data in an MLC area of a memory system | |
CN111435321B (zh) | 处理存储器系统的易失性存储器中的错误的设备和方法 | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
TWI616807B (zh) | 資料寫入方法以及儲存控制器 | |
US10997067B2 (en) | Data storing method, memory controlling circuit unit and memory storage device | |
KR20050062638A (ko) | 공통의 논리적 블록과 연관된 물리적 블록들을 결정하기위한 방법 및 장치 | |
CN114822664B (zh) | 基于数据优先级的风险评估方法、存储装置及控制电路 | |
CN111755061A (zh) | 检查存储器系统中的存储器装置的操作状态的设备及方法 | |
US12014074B2 (en) | System and method for storing dump data | |
US11687444B2 (en) | Data managing method. memory controlling circuit unit and memory storage device | |
CN111858389B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
KR20190084488A (ko) | 데이터 저장 장치 및 그것의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061016 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061016 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090501 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090513 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090806 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090811 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090911 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090916 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091013 |
|
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: 20091124 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091216 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121225 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4429685 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121225 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121225 Year of fee payment: 3 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121225 Year of fee payment: 3 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121225 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121225 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131225 Year of fee payment: 4 |
|
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 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |