JP6087470B2 - 訂正不可能なメモリエラーの低減 - Google Patents
訂正不可能なメモリエラーの低減 Download PDFInfo
- Publication number
- JP6087470B2 JP6087470B2 JP2016500630A JP2016500630A JP6087470B2 JP 6087470 B2 JP6087470 B2 JP 6087470B2 JP 2016500630 A JP2016500630 A JP 2016500630A JP 2016500630 A JP2016500630 A JP 2016500630A JP 6087470 B2 JP6087470 B2 JP 6087470B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- array
- memory arrays
- address
- logical
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims description 447
- 238000003491 array Methods 0.000 claims description 252
- 238000012937 correction Methods 0.000 claims description 74
- 238000000034 method Methods 0.000 claims description 48
- 238000012544 monitoring process Methods 0.000 claims description 35
- 238000006243 chemical reaction Methods 0.000 claims description 20
- 238000013507 mapping Methods 0.000 claims description 15
- 230000009897 systematic effect Effects 0.000 claims description 14
- 238000013519 translation Methods 0.000 claims description 14
- 238000004519 manufacturing process Methods 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 5
- 239000007787 solid Substances 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 238000005192 partition Methods 0.000 description 47
- 238000010586 diagram Methods 0.000 description 12
- 230000014616 translation Effects 0.000 description 11
- 238000003860 storage Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000013078 crystal Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000012782 phase change material Substances 0.000 description 1
- 238000002135 phase contrast microscopy Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/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/1044—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 with specific ECC/EDC distribution
-
- 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/1048—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 using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
Description
Ai=L(i+m)mod n
A=(L+N×M)modulo2n
A=(L×(2N+1)+3Mmodulo2n
Claims (28)
- 訂正不可能なメモリエラーを低減する方法であって、
複数のメモリアレイのセットの論理アレイアドレスを決定する段階と、
前記複数のメモリアレイのセット内における少なくとも2つのメモリアレイの複数の論理位置に少なくとも部分的に基づいて、前記論理アレイアドレスを少なくとも2つの固有アレイアドレスに変換する段階と、
前記少なくとも2つの固有アレイアドレスのそれぞれを用いて、前記少なくとも2つのメモリアレイにアクセスする段階と、を備え、
前記変換する段階は、前記複数のメモリアレイのセットからのデータを備える複数のエラー訂正コードワードにおける訂正不可能なエラーを低減し、
エラー訂正コードワードは、前記複数のメモリアレイのセットの複数のメモリアレイのそれぞれからのデータのビットを少なくとも備え、
前記少なくとも2つのメモリアレイにおける共通物理位置は、少なくとも2つの異なるエラー訂正コードワードにマッピングされることにより、前記エラー訂正コードワードを複数のエラーで過負荷にする前記複数のメモリアレイのセットにおける複数の体系的なエラーによる訂正不可能なメモリエラーを低減する、方法。 - 訂正不可能なメモリエラーを低減する方法であって、
複数のメモリアレイのセットの論理アレイアドレスを決定する段階と、
前記複数のメモリアレイのセット内における少なくとも2つのメモリアレイの複数の論理位置に少なくとも部分的に基づいて、前記論理アレイアドレスを少なくとも2つの固有アレイアドレスに変換する段階と、
前記少なくとも2つの固有アレイアドレスのそれぞれを用いて、前記少なくとも2つのメモリアレイにアクセスする段階と、を備え、
前記変換する段階は、前記複数のメモリアレイのセットからのデータを備える複数のエラー訂正コードワードにおける訂正不可能なエラーを低減し、前記論理アレイアドレスの複数のアドレスラインをリオーダする段階を備える、方法。 - 訂正不可能なメモリエラーを低減する方法であって、
複数のメモリアレイのセットの論理アレイアドレスを決定する段階と、
前記複数のメモリアレイのセット内における少なくとも2つのメモリアレイの複数の論理位置に少なくとも部分的に基づいて、前記論理アレイアドレスを少なくとも2つの固有アレイアドレスに変換する段階と、
前記少なくとも2つの固有アレイアドレスのそれぞれを用いて、前記少なくとも2つのメモリアレイにアクセスする段階と、を備え、
前記変換する段階は、前記複数のメモリアレイのセットからのデータを備える複数のエラー訂正コードワードにおける訂正不可能なエラーを低減し、前記論理アレイアドレスに対して演算オペレーションを実行する段階を備える、方法。 - 訂正不可能なメモリエラーを低減する方法であって、
複数のメモリアレイのセットの論理アレイアドレスを決定する段階と、
前記複数のメモリアレイのセット内における少なくとも2つのメモリアレイの複数の論理位置に少なくとも部分的に基づいて、前記論理アレイアドレスを少なくとも2つの固有アレイアドレスに変換する段階と、
前記少なくとも2つの固有アレイアドレスのそれぞれを用いて、前記少なくとも2つのメモリアレイにアクセスする段階と、
前記少なくとも2つの固有アレイアドレスの第1の固有アレイアドレスを用いて、前記複数のメモリアレイのセット内における複数のメモリアレイのグループにアクセスする段階と、を備え、
前記変換する段階は、前記複数のメモリアレイのセットからのデータを備える複数のエラー訂正コードワードにおける訂正不可能なエラーを低減する、方法。 - 訂正不可能なメモリエラーを低減する方法であって、
複数のメモリアレイのセットの論理アレイアドレスを決定する段階と、
前記複数のメモリアレイのセット内における少なくとも2つのメモリアレイの複数の論理位置に少なくとも部分的に基づいて、前記論理アレイアドレスを少なくとも2つの固有アレイアドレスに変換する段階と、
前記少なくとも2つの固有アレイアドレスのそれぞれを用いて、前記少なくとも2つのメモリアレイにアクセスする段階と、を備え、
前記変換する段階は、前記複数のメモリアレイのセットからのデータを備える複数のエラー訂正コードワードにおける訂正不可能なエラーを低減し、
前記少なくとも2つのメモリアレイの前記複数の論理位置は、前記複数のメモリアレイのセット内における複数のメモリアレイの複数のグループの複数の識別子を備える、方法。 - 前記少なくとも2つの固有アレイアドレスを用いて、前記複数のメモリアレイのセットからのエラー訂正コードワードのデータを取得する段階と、
前記複数のメモリアレイのセットからの前記エラー訂正コードワードのデータをコントローラに与える段階と、をさらに備え、
前記コントローラは、前記エラー訂正コードワードにおける1つまたは複数のエラーを訂正する、請求項1から5のいずれか1項に記載の方法。 - 前記変換する段階は、制御レジスタにプログラムされる複数の値に部分的にさらに基づく、請求項1から6のいずれか1項に記載の方法。
- 第1の固有アレイアドレスは、第1の行アドレス及び第1の列アドレスを備え、
第2の固有アレイアドレスは、第2の行アドレス及び第2の列アドレスを備え、
前記第1の行アドレスが前記第2の行アドレスと異なるか、または、前記第1の列アドレスが前記第2の列アドレスと異なる、請求項1から7のいずれか1項に記載の方法。 - 前記少なくとも2つのメモリアレイの前記複数の論理位置は、複数のチップ識別子をさらに備える、請求項5に記載の方法。
- 複数のメモリアレイのセットの論理アレイアドレスを決定する手段と、
前記複数のメモリアレイのセット内における少なくとも2つのメモリアレイの複数の論理位置に少なくとも部分的に基づいて、前記論理アレイアドレスを少なくとも2つの固有アレイアドレスに変換する手段と、
前記少なくとも2つの固有アレイアドレスのそれぞれを用いて、前記少なくとも2つのメモリアレイにアクセスする手段と、を備え、
前記論理アレイアドレスの前記変換は、前記複数のメモリアレイのセットからのデータを備えるエラー訂正コードワードにおける訂正不可能なエラーを低減し、
エラー訂正コードワードは、前記複数のメモリアレイのセットの複数のメモリアレイのそれぞれからのデータのビットを少なくとも備え、
前記少なくとも2つのメモリアレイにおける共通物理位置は、少なくとも2つの異なるエラー訂正コードワードにマッピングされることにより、前記エラー訂正コードワードを複数のエラーで過負荷にする前記複数のメモリアレイのセットにおける複数の体系的なエラーによる訂正不可能なメモリエラーを低減する、集積回路。 - 複数のメモリアレイのセットの論理アレイアドレスを決定する手段と、
前記複数のメモリアレイのセット内における少なくとも2つのメモリアレイの複数の論理位置に少なくとも部分的に基づいて、前記論理アレイアドレスを少なくとも2つの固有アレイアドレスに変換する手段と、
前記少なくとも2つの固有アレイアドレスのそれぞれを用いて、前記少なくとも2つのメモリアレイにアクセスする手段と、を備え、
前記論理アレイアドレスの前記変換は、前記複数のメモリアレイのセットからのデータを備えるエラー訂正コードワードにおける訂正不可能なエラーを低減し、
前記変換する手段は、前記論理アレイアドレスの複数のアドレスラインをリオーダする手段を備える、集積回路。 - 複数のメモリアレイのセットの論理アレイアドレスを決定する手段と、
前記複数のメモリアレイのセット内における少なくとも2つのメモリアレイの複数の論理位置に少なくとも部分的に基づいて、前記論理アレイアドレスを少なくとも2つの固有アレイアドレスに変換する手段と、
前記少なくとも2つの固有アレイアドレスのそれぞれを用いて、前記少なくとも2つのメモリアレイにアクセスする手段と、を備え、
前記論理アレイアドレスの前記変換は、前記複数のメモリアレイのセットからのデータを備えるエラー訂正コードワードにおける訂正不可能なエラーを低減し、
前記変換する手段は、前記論理アレイアドレスに対して演算オペレーションを実行する手段を備える、集積回路。 - 複数のメモリアレイのセットの論理アレイアドレスを決定する手段と、
前記複数のメモリアレイのセット内における少なくとも2つのメモリアレイの複数の論理位置に少なくとも部分的に基づいて、前記論理アレイアドレスを少なくとも2つの固有アレイアドレスに変換する手段と、
前記少なくとも2つの固有アレイアドレスのそれぞれを用いて、前記少なくとも2つのメモリアレイにアクセスする手段と、
前記少なくとも2つの固有アレイアドレスの第1の固有アレイアドレスを用いて、前記複数のメモリアレイのセット内における複数のメモリアレイのグループにアクセスする手段と、を備え、
前記論理アレイアドレスの前記変換は、前記複数のメモリアレイのセットからのデータを備えるエラー訂正コードワードにおける訂正不可能なエラーを低減する、集積回路。 - 複数のメモリアレイのセットの論理アレイアドレスを決定する手段と、
前記複数のメモリアレイのセット内における少なくとも2つのメモリアレイの複数の論理位置に少なくとも部分的に基づいて、前記論理アレイアドレスを少なくとも2つの固有アレイアドレスに変換する手段と、
前記少なくとも2つの固有アレイアドレスのそれぞれを用いて、前記少なくとも2つのメモリアレイにアクセスする手段と、を備え、
前記論理アレイアドレスの前記変換は、前記複数のメモリアレイのセットからのデータを備えるエラー訂正コードワードにおける訂正不可能なエラーを低減し、
前記少なくとも2つのメモリアレイの前記複数の論理位置は、前記複数のメモリアレイのセット内における複数のメモリアレイの複数のグループの複数の識別子を備える、集積回路。 - 少なくとも第1のメモリアレイ及び第2のメモリアレイを備える複数のメモリアレイのセットと、
前記複数のメモリアレイのセット内における前記第1のメモリアレイの論理位置に少なくとも部分的に基づいて、論理アレイアドレスを前記第1のメモリアレイに連結される第1の固有アレイアドレスに変換するための第1の回路と、
前記複数のメモリアレイのセット内における前記第2のメモリアレイの論理位置に少なくとも部分的に基づいて、前記論理アレイアドレスを前記第2のメモリアレイに連結される第2の固有アレイアドレスに変換する第2の回路と、を備え、
前記第1の固有アレイアドレスにおける前記第1のメモリアレイのデータ及び前記第2の固有アレイアドレスにおける前記第2のメモリアレイからのデータは、特定のエラー訂正コードワードに含まれることにより、前記特定のエラー訂正コードワードにおける訂正不可能なエラーを低減する、集積回路。 - 第1のエラー訂正コードワードは、第1の論理アレイアドレスによって識別されるデータを備え、第2のエラー訂正コードワードは、第2の論理アレイアドレスによって識別されるデータを備え、前記第1の回路は、前記第1のメモリアレイにおける特定のアレイ位置を識別するように第1の論理アドレスを変換し、前記第2の回路は、前記第2のメモリアレイにおける前記特定のアレイ位置を識別するように第2の論理アドレスを変換し、前記第1のメモリアレイ及び前記第2のメモリアレイの両方の前記特定のアレイ位置における体系的なエラーは、前記第1のエラー訂正コードワード及び前記第2のエラー訂正コードワードの間の複数のエラーを分配することにより、前記第1のエラー訂正コードワードまたは前記第2のエラー訂正コードワードのいずれかを、複数のエラーで過負荷にすることを回避する、請求項15に記載の集積回路。
- 前記第1の回路は、前記論理アレイアドレスの複数のアドレスラインをリオーダするための回路、または、前記論理アレイアドレス及び前記複数のメモリアレイのセット内における前記第1のメモリアレイの前記論理位置の少なくとも一部を用いて演算オペレーションを実行する回路を備える、請求項15または16に記載の集積回路。
- 論理アレイアドレスを備える複数のメモリ制御コマンドを生成するための監視回路と、
前記監視回路に連結され、前記複数のメモリ制御コマンドに応答するためのメモリと、を備える電子システムであって、前記メモリは、
複数のメモリアレイのセットと、
前記複数のメモリアレイのセット内における少なくとも2つのメモリアレイの複数の論理位置に少なくとも部分的に基づいて、前記論理アレイアドレスを少なくとも2つの固有アレイアドレスに変換するための回路であって、前記少なくとも2つの固有アレイアドレスは、前記少なくとも2つのメモリアレイのそれぞれに連結される、回路と、
前記少なくとも2つのメモリアレイからの前記少なくとも2つの固有アレイアドレスによって識別されるデータを、前記複数のメモリ制御コマンドに応じて前記監視回路に与えるための回路と、を備え、
前記論理アレイアドレスによって識別される前記データは、特定のエラー訂正コードワードに含まれることにより、前記特定のエラー訂正コードワードの訂正不可能なエラーを低減し、
前記監視回路は、前記特定のエラー訂正コードワードを含むエラー訂正コードワードのデータにおける複数のエラーを訂正する、電子システム。 - 前記メモリは、第1のメモリであり、前記電子システムは、
前記第1のメモリに連結される第1のチップ識別子と、
前記監視回路に連結される第2のメモリと、
前記第2のメモリに連結される第2のチップ識別子と、をさらに備え、
前記第2のメモリは、
第1のメモリアレイ及び第2のメモリアレイと、
前記第2のチップ識別子に少なくとも部分的に基づいて、前記論理アレイアドレスを、前記第1のメモリアレイ及び前記第2のメモリアレイの行及び列アドレスに変換するための第1の回路と、
前記複数のメモリ制御コマンドに応じて、前記第1のメモリアレイ及び前記第2のメモリアレイからの追加のデータを前記監視回路に与えるための第2の回路と、を備え、
前記第1のメモリの前記回路は、前記第1のチップ識別子に少なくとも部分的に基づいて、前記論理アレイアドレスを前記少なくとも2つの固有アレイアドレスに変換し、
前記監視回路は、前記第1のメモリからの前記データ及び前記第2のメモリからの前記追加のデータを備えるコードワードにおける少なくとも1つのエラーを訂正する、請求項18に記載の電子システム。 - 前記監視回路に連結される、外部デバイスと通信を行うためのI/O回路をさらに備える、請求項18または19に記載の電子システム。
- 前記電子システムは、ソリッドステートドライブである、請求項18または19に記載の電子システム。
- メモリデバイスにおける2つまたはそれより多くのメモリアレイの複数のエラー率を得る段階と、
前記複数のエラー率に基づいて、前記2つまたはそれより多くのメモリアレイを2つまたはそれより多くのコードワードにマッピングすることを決定する段階と、
前記2つまたはそれより多くのメモリアレイを前記2つまたはそれより多くのコードワードにマッピングするための制御レジスタをプログラミングする段階と、を備え、
前記マッピングする段階は、前記2つまたはそれより多くのコードワードにおける訂正不可能なエラーを低減する、訂正不可能なメモリエラーを低減するための方法。 - 前記制御レジスタにプログラムされる複数の値は、前記メモリデバイスに、
前記2つまたはそれより多くのメモリアレイの複数の他のメモリアレイよりエラー率の高い第1のメモリアレイを、特定のコードワードにマッピングさせ、
前記2つまたはそれより多くのメモリアレイの複数の他のメモリアレイよりエラー率の低い第2のメモリアレイを、前記特定のコードワードにマッピングさせる、請求項22に記載の方法。 - 前記決定する段階及び前記プログラミングする段階は、前記メモリデバイスに対する製造テスト工程の一部として実行される、請求項22に記載の方法。
- 前記決定する段階及び前記プログラミングする段階は、システム環境で実行される、請求項22に記載の方法。
- 前記メモリデバイスからのデータのコードワードを取得する段階と、
データの前記コードワードにおける少なくとも1つのエラーを訂正する段階と、
をさらに備える、請求項22に記載の方法。 - コンピューティングデバイス上で実行されたことに応じて、前記コンピューティングデバイスに、請求項22から26のいずれか1項に記載の方法を実行させるプログラム。
- 請求項27に記載の前記プログラムを格納するコンピュータ可読記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/792,597 | 2013-03-11 | ||
US13/792,597 US9136873B2 (en) | 2013-03-11 | 2013-03-11 | Reduced uncorrectable memory errors |
PCT/US2014/020549 WO2014164099A1 (en) | 2013-03-11 | 2014-03-05 | Reduced uncorrectable memory errors |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017016797A Division JP6240351B2 (ja) | 2013-03-11 | 2017-02-01 | 訂正不可能なメモリエラーの低減 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016514327A JP2016514327A (ja) | 2016-05-19 |
JP6087470B2 true JP6087470B2 (ja) | 2017-03-01 |
Family
ID=51489439
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016500630A Active JP6087470B2 (ja) | 2013-03-11 | 2014-03-05 | 訂正不可能なメモリエラーの低減 |
JP2017016797A Active JP6240351B2 (ja) | 2013-03-11 | 2017-02-01 | 訂正不可能なメモリエラーの低減 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017016797A Active JP6240351B2 (ja) | 2013-03-11 | 2017-02-01 | 訂正不可能なメモリエラーの低減 |
Country Status (7)
Country | Link |
---|---|
US (4) | US9136873B2 (ja) |
EP (2) | EP3282361A1 (ja) |
JP (2) | JP6087470B2 (ja) |
KR (1) | KR101693664B1 (ja) |
CN (1) | CN104969193B (ja) |
BR (1) | BR112015019103B1 (ja) |
WO (1) | WO2014164099A1 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9378848B2 (en) * | 2012-06-07 | 2016-06-28 | Texas Instruments Incorporated | Methods and devices for determining logical to physical mapping on an integrated circuit |
US9136873B2 (en) | 2013-03-11 | 2015-09-15 | Intel Corporation | Reduced uncorrectable memory errors |
US9619324B2 (en) * | 2013-09-27 | 2017-04-11 | Intel Corporation | Error correction in non—volatile memory |
US9478315B2 (en) * | 2014-06-03 | 2016-10-25 | Sandisk Technologies Llc | Bit error rate mapping in a memory system |
US10438658B2 (en) | 2014-12-26 | 2019-10-08 | Intel Corporation | Refresh logic to refresh only memory cells having a first value |
US9672905B1 (en) * | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
KR102258140B1 (ko) | 2017-07-06 | 2021-05-28 | 삼성전자주식회사 | 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 메모리 시스템 |
US10831596B2 (en) | 2018-01-22 | 2020-11-10 | Micron Technology, Inc. | Enhanced error correcting code capability using variable logical to physical associations of a data block |
US10846175B2 (en) * | 2018-04-10 | 2020-11-24 | Micron Technology, Inc. | High throughput bit correction of data inside a word buffer for a product code decoder |
US10761918B2 (en) | 2018-04-18 | 2020-09-01 | International Business Machines Corporation | Method to handle corrected memory errors on kernel text |
DE102018112816A1 (de) * | 2018-05-29 | 2019-12-05 | Infineon Technologies Ag | Adresscodierter Zugriff auf Speicher |
JP7042716B2 (ja) * | 2018-07-26 | 2022-03-28 | キオクシア株式会社 | 記憶装置及び記憶制御方法 |
US10802909B2 (en) | 2018-08-17 | 2020-10-13 | Micron Technology, Inc. | Enhanced bit flipping scheme |
KR102687054B1 (ko) * | 2018-10-12 | 2024-07-22 | 수퍼멤, 인크. | 오류 정정 및 데이터 클리닝 회로가 구비된 메모리 시스템 |
US10817420B2 (en) * | 2018-10-30 | 2020-10-27 | Arm Limited | Apparatus and method to access a memory location |
US11042490B2 (en) * | 2018-11-15 | 2021-06-22 | Micron Technology, Inc. | Address obfuscation for memory |
US11237891B2 (en) | 2020-02-12 | 2022-02-01 | International Business Machines Corporation | Handling asynchronous memory errors on kernel text |
KR20210132784A (ko) * | 2020-04-27 | 2021-11-05 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법 |
US11720273B2 (en) * | 2021-05-18 | 2023-08-08 | Micron Technology, Inc. | Codeword error leveling for 3DXP memory devices |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4506364A (en) * | 1982-09-30 | 1985-03-19 | International Business Machines Corporation | Memory address permutation apparatus |
JPS6063651A (ja) * | 1983-09-17 | 1985-04-12 | Nippon Telegr & Teleph Corp <Ntt> | 記憶装置 |
JPH04167039A (ja) * | 1990-10-31 | 1992-06-15 | Toshiba Corp | データ書き込み方式 |
JPH09305494A (ja) * | 1996-05-13 | 1997-11-28 | Nec Corp | 拡張記憶装置のデータ転送制御回路 |
JP2000020409A (ja) * | 1998-07-07 | 2000-01-21 | Seiko Epson Corp | 半導体記憶装置 |
US6367047B1 (en) | 1998-10-20 | 2002-04-02 | Ecrix | Multi-level error detection and correction technique for data storage recording device |
US7062689B2 (en) * | 2001-12-20 | 2006-06-13 | Arm Limited | Method and apparatus for memory self testing |
JP2003345650A (ja) * | 2002-05-23 | 2003-12-05 | Mitsubishi Electric Corp | フラッシュメモリシステム |
JP2004139503A (ja) * | 2002-10-21 | 2004-05-13 | Matsushita Electric Ind Co Ltd | 記憶装置及びその制御方法 |
US20090013148A1 (en) | 2007-07-03 | 2009-01-08 | Micron Technology, Inc. | Block addressing for parallel memory arrays |
US8103934B2 (en) | 2007-12-21 | 2012-01-24 | Honeywell International Inc. | High speed memory error detection and correction using interleaved (8,4) LBCs |
JP4617405B2 (ja) | 2008-02-05 | 2011-01-26 | 富士通株式会社 | 不良メモリを検出する電子機器、不良メモリ検出方法およびそのためのプログラム |
US8060719B2 (en) * | 2008-05-28 | 2011-11-15 | Micron Technology, Inc. | Hybrid memory management |
US7864587B2 (en) * | 2008-09-22 | 2011-01-04 | Micron Technology, Inc. | Programming a memory device to increase data reliability |
TWI446350B (zh) | 2009-12-08 | 2014-07-21 | Silicon Motion Inc | 用來減少無法更正的錯誤之方法以及記憶裝置及其控制器 |
US8533564B2 (en) | 2009-12-23 | 2013-09-10 | Sandisk Technologies Inc. | System and method of error correction of control data at a memory device |
US8589766B2 (en) * | 2010-02-24 | 2013-11-19 | Apple Inc. | Codeword remapping schemes for non-volatile memories |
US8732557B2 (en) | 2011-05-31 | 2014-05-20 | Micron Technology, Inc. | Data protection across multiple memory blocks |
US9378848B2 (en) | 2012-06-07 | 2016-06-28 | Texas Instruments Incorporated | Methods and devices for determining logical to physical mapping on an integrated circuit |
US9136873B2 (en) * | 2013-03-11 | 2015-09-15 | Intel Corporation | Reduced uncorrectable memory errors |
-
2013
- 2013-03-11 US US13/792,597 patent/US9136873B2/en active Active
-
2014
- 2014-03-05 JP JP2016500630A patent/JP6087470B2/ja active Active
- 2014-03-05 CN CN201480008297.4A patent/CN104969193B/zh active Active
- 2014-03-05 BR BR112015019103-7A patent/BR112015019103B1/pt active IP Right Grant
- 2014-03-05 KR KR1020157021602A patent/KR101693664B1/ko active IP Right Grant
- 2014-03-05 WO PCT/US2014/020549 patent/WO2014164099A1/en active Application Filing
- 2014-03-05 EP EP17194094.3A patent/EP3282361A1/en not_active Withdrawn
- 2014-03-05 EP EP14779264.2A patent/EP2972876B1/en active Active
-
2015
- 2015-09-03 US US14/844,843 patent/US9934088B2/en active Active
-
2017
- 2017-02-01 JP JP2017016797A patent/JP6240351B2/ja active Active
-
2018
- 2018-03-01 US US15/909,929 patent/US10324793B2/en active Active
-
2019
- 2019-06-18 US US16/444,480 patent/US10936418B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20190370112A1 (en) | 2019-12-05 |
BR112015019103A2 (pt) | 2017-07-18 |
JP6240351B2 (ja) | 2017-11-29 |
CN104969193A (zh) | 2015-10-07 |
JP2016514327A (ja) | 2016-05-19 |
KR101693664B1 (ko) | 2017-01-06 |
KR20150106916A (ko) | 2015-09-22 |
EP2972876B1 (en) | 2017-12-20 |
US10936418B2 (en) | 2021-03-02 |
US10324793B2 (en) | 2019-06-18 |
WO2014164099A1 (en) | 2014-10-09 |
US9136873B2 (en) | 2015-09-15 |
US20180253355A1 (en) | 2018-09-06 |
CN104969193B (zh) | 2017-01-18 |
US9934088B2 (en) | 2018-04-03 |
EP2972876A1 (en) | 2016-01-20 |
JP2017117480A (ja) | 2017-06-29 |
US20160188409A1 (en) | 2016-06-30 |
BR112015019103B1 (pt) | 2022-05-17 |
EP2972876A4 (en) | 2016-11-23 |
US20140258804A1 (en) | 2014-09-11 |
EP3282361A1 (en) | 2018-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6240351B2 (ja) | 訂正不可能なメモリエラーの低減 | |
US11152954B2 (en) | Decoding method and storage controller | |
US20190018805A1 (en) | System and method for fast execution of in-capsule commands | |
US10768855B1 (en) | Data reading method, storage controller and storage device | |
CN103197985B (zh) | 存储控制装置 | |
US10116335B2 (en) | Data processing method, memory storage device and memory control circuit unit | |
US9454429B2 (en) | Protection against word line failure in memory devices | |
US8762814B2 (en) | Method for enhancing error correction capability, and associated memory device and controller thereof | |
US20120254705A1 (en) | Error correction decoder and error correction method thereof | |
TW201526002A (zh) | 用於基於資料存取頻率以頻寬最佳化或寫碼率最佳化碼字儲存資料之技術 | |
US10866855B2 (en) | Memory system varying operation of memory controller according to internal status of memory device | |
TWI662553B (zh) | 記憶體測試方法與記憶體測試系統 | |
US10109373B2 (en) | Data storage apparatus and operating method thereof | |
US10067677B2 (en) | Memory management method for configuring super physical units of rewritable non-volatile memory modules, memory control circuit unit and memory storage device | |
US9411694B2 (en) | Correcting recurring errors in memory | |
US9436547B2 (en) | Data storing method, memory control circuit unit and memory storage device | |
US20200264953A1 (en) | Error correction in data storage devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160809 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161104 |
|
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: 20161206 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20170104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170201 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6087470 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |