JP2015142381A - データ反転によってデータ記憶を改良するための装置および方法 - Google Patents
データ反転によってデータ記憶を改良するための装置および方法 Download PDFInfo
- Publication number
- JP2015142381A JP2015142381A JP2015012913A JP2015012913A JP2015142381A JP 2015142381 A JP2015142381 A JP 2015142381A JP 2015012913 A JP2015012913 A JP 2015012913A JP 2015012913 A JP2015012913 A JP 2015012913A JP 2015142381 A JP2015142381 A JP 2015142381A
- Authority
- JP
- Japan
- Prior art keywords
- bits
- bit
- memory
- value
- inverted
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1012—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 codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1675—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/025—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in signal lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- 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
-
- 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
-
- 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/35—Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
- H03M13/353—Adaptation to the channel
-
- 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/611—Specific encoding aspects, e.g. encoding by means of decoding
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- 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
-
- 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/618—Shortening and extension of codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
Description
u1,…,uN=bf1,…,bfl,x1,…,xn
が成り立ち、ここで、N=l+nであり、アドレスaが符号Cのコードワードの形成に含まれる場合には、データビットx1,…,xn、およびアドレスビットa1,…,arから導出されるビットA1,…,Akが、l個の所定の2進値bf1,…,bflによって補完され、それにより、
u1,…,uN=bf1,…,bfl,x1,…,xn,A1,…,Ak
が成り立ち、ここで、N=l+n+kであり、ここで、
A1,…,Ak=f(a1,…,ar)
は、r個のアドレスビットa1,…,arの値から関数fによって一意に決定される2進値であり、l≧1および1≦k≦rであり、
ここで、アドレスビットが誤り検出および誤り訂正に含まれない場合には、処理ユニットは、符号Cのコードワードy1,…,yPを生成するように構成され、ここで、Cは、系統的形態での生成行列Gと、H行列Hとを有する線形系統的符号であり、ここで、
y=y1,…,yP=(u1,…,uN)G=c1,…,cm,bf1,…,bfl,x1,…,xn
が成り立ち、c1,…,cmは、m個のチェックビットであり、生成行列Gは、(N,P)行列であり、H行列H=(h1,…,hP)は、([P−N],P)行列であり、それにより、H行列の全ての列が、相異なり、0でなく、m=P−NおよびN=n+lが成り立ち、
ここで、処理ユニットは、ビット
y1,…,yP=c1,…,cm,bf1,…,bfl,x1,…,xn
のK個の部分集合Y1={y1,1,…,y1,q1},…,YK={yK,1,…,yK,qK}を決定するように構成され、
したがって、ビットbf1,…,bflの部分集合が、各部分集合Y1,…,Ykに一意に割り振られ、
したがって、
ここで、処理ユニットは、ビットグループY1,…,Ykのうちのどのグループがメモリに直接または反転されて書き込まれるかを定義するように構成され、
処理ユニットは、メモリに書き込まれるP個のビットd1,…,dPを生成するように構成され、ここで、i=1,…,Pに関して、yiが、反転されてメモリに書き込まれるビットを含むグループに属するときには、
ここで、処理ユニットは、メモリにアドレスaでビットd1,…,dPを書き込むように構成され、
ここで、処理ユニットは、アドレスaを作成し、アドレスaに記憶されている誤りであり得る値
ここで、処理ユニットは、符号Cによって訂正すべきL個のビット位置k1,…,kLを定義するように構成され、ここで、l≦Pおよび{k1,…,kL}⊆{1,…,P}であり、これらのビット位置k1,…,kLは、値が誤りである場合には符号Cを使用することによって訂正され、ここで、bf1,…,bflが直接または反転されて記憶されているビット位置が、訂正すべきビット位置に属し、
ここで、処理ユニットは、符号Cによって訂正可能な誤りに関して、符号Cに基づいて訂正すべき所定のL個のビット位置k1,…,kLの2進訂正値
ここで、処理ユニットは、少なくとも値bf1,…,bflが直接または反転されて記憶されているビット位置で、訂正されたビット
ここで、処理ユニットは、既知の挿入された値bf1,…,bflと、符号Cを使用することによって訂正されたそれぞれの読出し値とに基づいて、どのグループY1,…,Ykに関してビットが直接または反転されて記憶されているかを判断するように構成され、
ここで、処理ユニットは、
ここで、アドレスビットが誤り検出および誤り訂正に含まれる場合には、処理ユニットは、符号Cのコードワードy=y1,…,yPを生成するように構成され、ここで、Cは、系統的形態での生成行列Gと、H行列Hとを有する線形系統的符号であり、ここで、
y=y1,…,yP=(u1,…,uN)・G=c1,…,cm,bf1,…,bfl,x1,…,xn,A1,…,Ak
が成り立ち、生成行列Gは、(N,P)行列であり、H行列H=(h1,…,hP)は、([P−N],P)行列であり、それにより、H行列の全ての列が、相異なり、0でなく、P=n+l+m+kであり、c1,…,cmは、チェックビットであり、
ここで、処理ユニットは、ビット
y1,…,yn+l,yn+l+k+1,…,yP=c1,…,cm,bf1,…,bfl,x1,…,xn
のK個の部分集合Y1={y1,1,…,y1,q1},…,YK={yK,1,…,yK,qK}を決定するように構成され、
したがって、ビットbf1,…,bflの各ビットは、部分集合Y1,…,YKの1つのみに属し、したがって、
ここで、処理ユニットは、どのビットグループY1,…,Ykがメモリに直接または反転されて書き込まれるかを定義するように構成され、
ここで、処理ユニットは、メモリに書き込まれるP−k個のビットd1,…,dm+l+nを生成するように構成され、ここで、i=1,…,m+n+lに関して、
yiが、メモリに直接書き込まれるビットを含むグループに属するときには、di=yiであり、
yiが、メモリに反転されて書き込まれるビットを含むグループに属するときには、
ここで、処理ユニットは、メモリにアドレスaでビットd1,…,dm+n+lを書き込むように構成され、
ここで、処理ユニットは、アドレスaを作成し、アドレスaに記憶されている誤りであり得る値
ここで、処理ユニットは、符号Cによって訂正すべきL個のビット位置k1,…,kLを定義するように構成され、ここで、l≦P−kおよび{k1,…,kL}⊆{1,…,n+l,n+l+k+1,…,P}であり、これらのビット位置k1,…,kLは、値が誤りである場合には符号Cを使用することによって訂正され、ここで、bf1,…,bflが直接または反転されて記憶されているビット位置が、訂正すべきビット位置に属し、
ここで、処理ユニットは、符号Cによって訂正可能な誤りに関して、所定のL個のビット位置k1,…,kLの2進訂正値
ここで、処理ユニットは、少なくとも値bf1,…,bflが直接または反転されて記憶されているビット位置で、訂正されたビット
ここで、処理ユニットは、既知の挿入された値bf1,…,bflと、読み出され、符号Cを使用することによって訂正された対応する訂正値とに基づいて、どのビットグループY1,…,Ykに関してビットが直接または反転されて記憶されているかを判断するように構成され、
ここで、処理ユニットは、
u1,…,uN=bf1,…,bfl,x1,…,xn
が成り立ち、ここで、N=l+nであり、アドレスaが符号Cのコードワードの形成に含まれる場合には、データビットx1,…,xn、およびアドレスビットa1,…,arから導出されるビットA1,…,Akが、l個の所定の2進値bf1,…,bflによって補完され、それにより、
u1,…,uN=bf1,…,bfl,x1,…,xn,A1,…,Ak
が成り立ち、ここで、N=l+n+kであり、ここで、
A1,…,Ak=f(a1,…,ar)
は、r個のアドレスビットa1,…,arの値から関数fによって一意に決定される2進値であり、l≧1および1≦k≦rであり、
ここで、アドレスビットが誤り検出および誤り訂正に含まれない場合には、処理ユニット120は、符号Cのコードワードy1,…,yPを生成するように構成され、ここで、Cは、系統的形態での生成行列Gと、H行列Hとを有する線形系統的符号であり、ここで、
y=y1,…,yP=(u1,…,uN)G=c1,…,cm,bf1,…,bfl,x1,…,xn
が成り立ち、c1,…,cmは、m個のチェックビットであり、生成行列Gは、(N,P)行列であり、H行列H=(h1,…,hP)は、([P−N],P)行列であり、それにより、H行列の全ての列が、相異なり、0でなく、m=P−N、N=n+l、およびP=n+m+lが成り立ち、
ここで、処理ユニット120は、ビット
y1,…,yN=c1,…,cm,bf1,…,bfl,x1,…,xn
のK個の部分集合Y1={y1,1,…,y1,q1},…,YK={yK,1,…,yK,qK}を決定するように構成され、
したがって、ビットbf1,…,bflの部分集合が、各部分集合Y1,…,Ykに明瞭に割り振られ、
したがって、
ここで、処理ユニット120は、ビットグループY1,…,Ykのうちのどのグループがメモリ110に直接または反転されて書き込まれるかを定義するように構成され、
ここで、処理ユニット120は、メモリ110に書き込まれるP個のビットd1,…,dPを生成するように構成され、ここで、i=1,…,Pに関して、yiが、反転されてメモリ110に書き込まれるビットを含むグループに属するときには、
ここで、処理ユニット120は、メモリ110にアドレスaでビットd1,…,dPを書き込むように構成され、
ここで、処理ユニット120は、アドレスaを作成し、アドレスaに記憶されている誤りであり得る値
ここで、処理ユニット120は、符号Cによって訂正すべきL個のビット位置k1,…,kLを定義するように構成され、ここで、l≦Pおよび{k1,…,kL}⊆{1,…,P}であり、これらのビット位置k1,…,kLは、値が誤りである場合には符号Cを使用することによって訂正され、ここで、bf1,…,bflが直接または反転されて記憶されているビット位置が、訂正すべきビット位置に属し、
ここで、処理ユニット120は、符号Cによって訂正可能な誤りに関して、符号Cに基づいて訂正すべき所定のL個のビット位置k1,…,kLの2進訂正値
ここで、処理ユニット120は、少なくとも値bf1,…,bflが直接または反転されて記憶されているビット位置で、訂正されたビット
ここで、処理ユニット120は、既知の挿入された値bf1,…,bflと、符号Cを使用することによって訂正されたそれぞれの読出し値とに基づいて、どのグループY1,…,Ykに関してビットが直接または反転されて記憶されているかを判断するように構成され、
ここで、処理ユニット120は、
ここで、アドレスビットが誤り検出および誤り訂正に含まれる場合には、処理ユニット120は、符号Cのコードワードy=y1,…,yPを生成するように構成され、ここで、Cは、系統的形態での生成行列Gと、H行列Hとを有する線形系統的符号であり、ここで、
y=y1,…,yP=(u1,…,uN)・G=c1,…,cm,bf1,…,bfl,x1,…,xn,A1,…,Ak
が成り立ち、生成行列Gは、(N,P)行列であり、H行列H=(h1,…,hP)は、([P−N],P)行列であり、それにより、H行列の全ての列が、相異なり、0でなく、P=n+l+m+k、N=n+l+kが成り立ち、c1,…,cmは、チェックビットであり、
ここで、処理ユニット120は、ビット
y1,…,yn+l,yn+l+k+1,…,yP=c1,…,cm,bf1,…,bfl,x1,…,xn
のK個の部分集合Y1={y1,1,…,y1,q1},…,YK={yK,1,…,yK,qK}を決定するように構成され、
したがって、ビットbf1,…,bflの各ビットは、部分集合Y1,…,YKの1つのみに属し、したがって、
ここで、処理ユニット120は、どのビットグループY1,…,Ykがメモリ110に直接または反転されて書き込まれるかを定義するように構成され、
ここで、処理ユニット120は、メモリ110に書き込まれるP−k個のビットd1,…,dm+l+nを生成するように構成され、ここで、i=1,…,m+n+lに関して、
yiが、メモリ110に直接書き込まれるビットを含むグループに属するときには、di=yiであり、
yiが、メモリ110に反転されて書き込まれるビットを含むグループに属するときには、
ここで、処理ユニット120は、メモリ110にアドレスaでビットd1,…,dm+n+lを書き込むように構成され、
ここで、処理ユニット120は、アドレスaを作成し、アドレスaに記憶されている誤りであり得る値
ここで、処理ユニット120は、値が誤りである場合には符号Cを使用することによって訂正されるL(L≦P−k)個のビット位置k1,…,kLを定義するように構成され、ここで、bf1,…,bflが直接または反転されて記憶されているビット位置が、訂正すべきビット位置に属し、
ここで、処理ユニット120は、符号Cによって訂正可能な誤りに関して、所定のL個のビット位置k1,…,kLの2進訂正値
ここで、処理ユニット120は、少なくとも値bf1,…,bflが直接または反転されて記憶されているビット位置で、訂正されたビット
ここで、処理ユニット120は、既知の挿入された値bf1,…,bflと、読み出され、符号Cを使用することによって訂正された対応する訂正値とに基づいて、どのビットグループY1,…,Ykに関してビットが直接または反転されて記憶されているかを判断するように構成され、
ここで、処理ユニット120は、
y=u・G
に従って決定される。
G=(PN,m,lN)
を有し、ここで、m=Q−Nであり、lNは、N次元の単位行列であり、PN,mは、パリティ行列である。
y=y1,…,yQ=(u1,…,un)・G=c1,…,cm,u1,…,uN
が成り立ち、ここで、c1,…,cm,u1,…,uN・Pが、コードワードy1,…,yQのチェックビットである。情報ビットu1,…,uNは、コードワードの修正されない部分であり、チェックビットが情報ビットに追加される。誤りにより、コードワードy=y1,…,yQは、破壊されて別のワード
s=H・y’
であり、ここで、s=s1,…,smは、m個の成分を含む。ワードy*の誤りシンドロームは、y*が符号Cのコードワードである場合には、正確に0である。
H・(y’)=H・(0+y’)=H・(y+y’)=H・e
が成り立ち、ワードy’の誤りシンドロームは、誤りベクトルeのみに依存し、y’は、コードワードyとeだけ異なる。
s(w)=H・w
を実施することによって決定することができる。
H・(y+w)=H・y+H・w=s(w)
が成り立つからであり、また、コードワードが、ワードへの成分毎の加算によってmod2加算されるとき、ワードの誤りシンドロームが変化しないからである。コードワードy=y1,…,yQをワードw=w1,…,wQに追加することは、wのそれらの成分が反転されることを意味し、ここで、yの成分は1である。
u=u1,…,u11=bf1,x1,…,x10
にされる。
y1,…,y15=c1,…c4,bf1,x1,…,x10=(bf1,x1,…,x10)・G
として決定される。それにより、G行列は、行列G=(l11,P11,5)であり、ここで、l11は、11次元の単位行列であり、P11,5に関して、
y1,…,y15=1,0,1,0,0,1,0,1,1,0,1,1,1,1,1
である。
例えば、読み出されたワードの誤りシンドローム
s=H・(1,0,1,1,1,0,0,1,0,0,0,0,0)=0
を決定することによって、符号Cのコードワードが読み出されており、誤り訂正が必要ないことが分かる。
y=y1,…,y15=c1,…c4,bf1,x1,…,x10=(bf1,x1,…,x10)・G
に従ってコードワードy=y1,…,yQ(Q=15)を生成するように実装され、コードワードyは、コーダCod11の15ビット幅の出力で出力される。
u1,…,u10=bf1,bf2,x1,…,x8
である。
h1+h2+h3+h4+h5+h6+h7+h12=0
であり、ここで、
H・(1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,0)T=0
が成り立ち、(1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,0)がコードワードである。
h8+h9+h10+h11+h13+h14+h15+h16=0
であり、ここで、
H・(0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1)T=0
が成り立ち、(0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1)も、考察される符号のコードワードである。
Y1={c1,c2,c3,c4,bf1,x1}
と定義することができ、部分集合Y2は、例えば、
Y2={c3,c4,bf2,x3,x4,x5,x6}
と定義することができる。
y*=1,0,1,1,1,1,1,1,0,1,0,1=c1,c2,c3,c4,bf1,bf2,x1,x2,x3,x4,x5,x6
の代わりに、コードワード
が成り立つ。部分集合Y2のビットで反転されたビットをメモリに書き込むことによって、また、行われている反転を定数2進値に基づいて元に戻すことによって、(0縮退)誤りは影響を持たず、許容することができる。
G=(P14,5,l14)
であり、ここで、l14は、14次元の単位行列であり、P14,5は、形式
c1=bf1+x1+x2+x3+x5+x7+a1+a3+a5
c2=bf1+x1+x2+x3+x4+x5+x8+a2+a4+a5
c3=bf1+x1+x3+x4+x6+x7+a2+a4+a5
c4=bf1+x2+x3+x4+x6+x8+a1+a4+a5
c5=x1+x2+x3+x4+x6+x8+a2+a3+a5
が成り立ち、a1,…,a5を書込みアドレスと呼ぶ。
Y1={c1,c2,c3,c4,c5,bf1,x1,x2,x3,x4,x5,x6,x7,x8}
が定義され、それにより、この集合のビットを、メモリに直接または反転させて書き込むことができる。bf1は、定数値bf1=1に設定される。
d1=c1、d2=c2、d3=c3、d4=c4、d5=c5、d6=bf1=1、d7=x1、d8=x2、d9=x3、d10=x4、d11=x5、d12=x6、d13=x7、d14=x8
がメモリに書き込まれ、
または、アドレスaで、ビット
(c1,…,c5,1,x1,…,x8,a1,…,a5)=(1、x1,…,x8,a1,…,a5)・G
に従って生成され、ここで、Gは、考察される符号の生成行列である。
u1,…,u14=bf1,x1,…,x8,a1,…,a5
の一部である。
u1,…,u14=bf1,x1,…,x8,a1,…,a5
に従って決定されることが示されている。
A1,…,At=f(a1,…,ar)
は、
u1,…,uk=bf1,x1,…,xn,A1,…,At
が、線形符号Cの情報ビットを形成するように決定される。したがって、例えば、t=1とすることができ、
A1=a1+a2+…+ar
に従って定義されるA1が、アドレスビットのパリティである。
ビット部分集合のビットが反転されるべきであるときには、部分集合のビットを反転させるステップと、
ビット部分集合のビットが反転されるべきでないときには、部分集合のビットを反転させないステップと
によって、記憶すべきビットを生成するステップ。
4.記憶すべきビットをメモリに書き込むステップ。
5.記憶されている、場合によってば誤りのビットをメモリから読み出すステップ。
6.読み出された、誤りであり得るビットを、誤り訂正符号Cを使用することによって訂正するステップ。ここで、生じている誤りが符号Cによって訂正可能である場合には、定数2進ビットが記憶されているビット位置と、データビットが記憶されている少なくとも1つのビット位置とが訂正される。
7.記憶されるビットの値を反転する、または反転しないステップ。ここで、定数値が記憶されているビット位置での訂正されたビットに基づいて、ビットの部分集合が反転されるべきか反転されないべきかが決定される。
ビット部分集合のビットが反転されるべきであるときには、部分集合のビットを反転させるステップと、
ビット部分集合のビットが反転されるべきでないときには、部分集合のビットを反転させないステップと
によって、記憶すべきビットを生成するステップであって、アドレスビットが、記憶すべきビットに属さないステップ。
4.符号化に含まれる書込みアドレスで、記憶すべきビットをメモリに書き込むステップ。
5.読出しアドレスで、記憶されている、場合によってば誤りのビットをメモリから読み出すステップ。
6.誤り訂正符号Cを使用することによって、読出しアドレスを考慮に入れて、読み出された、誤りであり得るビットを訂正するステップ。ここで、生じている誤りが符号Cによって訂正可能である場合には、定数2進ビットが記憶されているビット位置と、データビットが記憶されている少なくとも1つのビット位置とが訂正される。
7.記憶されるビットの値を反転する、または反転しないステップ。ここで、定数値が記憶されているビット位置での訂正されたビットに基づいて、ビットの部分集合が反転されるべきか反転されないべきかが決定される。
メモリに直接または反転されて書き込まれたビットの部分集合は、少なくとも1つの2進定数値を含み、この値は、ペイロードデータビットと共に、線形符号Cのコードワードを形成するためにコード化に使用され、ここで、それぞれのビット部分集合のビットがメモリに直接書き込まれるときには、2進定数値が2進値bfとしてメモリに書き込まれ、それぞれのビット部分集合のビットが反転されてメモリに書き込まれるときには、2進値bfが反転値
ここで、メモリに直接または反転されて書き込まれたビットの部分集合が反転されるときに、符号Cのコードワードが同じ符号のコードワードに変換され、符号のH行列は、メモリに直接または反転されて書き込まれたビットの部分集合に対応するH行列の列の各成分の「1」の数が偶数であるように生成され、
2.メモリからの読出し時に、線形誤り訂正符号Cを使用することによって、メモリから読み出された、誤りであり得るビットが訂正され、ここで、それぞれのビット部分集合がメモリに直接書き込まれているときには、少なくとも、定数2進値bfが書き込まれているビット位置にあるビットが訂正され、または、それぞれのビット部分集合がメモリに反転されて書き込まれているときには、少なくとも、定数2進値
3.読出し後、定数値bfまたは反転された定数値
u1,…,uN=bf1,…,bfl,x1,…,xn
が成り立ち、ここで、N=l+nであり、アドレスaが符号Cのコードワードの形成に含まれる場合には、データビットx1,…,xn、およびアドレスビットa1,…,arから導出されるビットA1,…,Akが、l個の所定の2進値bf1,…,bflによって補完され、それにより、
u1,…,uN=bf1,…,bfl,x1,…,xn,A1,…,Ak
が成り立ち、ここで、N=l+n+kであり、ここで、
A1,…,Ak=f(a1,…,ar)
は、r個のアドレスビットa1,…,arの値から関数fによって一意に決定される2進値であり、l≧1および1≦k≦rである。
y=y1,…,yP=(u1,…,uN)G=c1,…,cm,bf1,…,bfl,x1,…,xn
が成り立ち、c1,…,cmは、m個のチェックビットであり、生成行列Gは、(N,P)行列であり、H行列H=(h1,…,hP)は、([P−N],P)行列であり、それにより、H行列の全ての列が、相異なり、0でなく、P=n+m+l、m=P−N、N=n+l、およびm=P−Nが成り立つ。
y1,…,yP=c1,…,cm,bf1,…,bfl,x1,…,xn
のK個の部分集合Y1={y1,1,…,y1,q1},…,YK={yK,1,…,yK,qK}を決定するステップ。それにより、以下のことが成り立つ。
第1の所定の値を有するビットまたは複数のビットbf1,…,bflが、各部分集合Y1,…,Ykに1対1で割り当てられる。
yiが、反転されてメモリに書き込まれるビットを含むグループに属するときには、
y=y1,…,yP=(u1,…,uN)・G=c1,…,cm,bf1,…,bfl,x1,…,xn,A1,…,Ak
が成り立ち、生成行列Gは、(N,P)行列であり、H行列H=(h1,…,hP)は、([P−N],P)行列であり、それにより、H行列の全ての列が、相異なり、0でなく、P=n+l+m+k、N=n+l+kであり、c1,…,cmは、m=P−N個のチェックビットである。
y1,…,yn+l+m=c1,…,cm,bf1,x1,…,xn
のK個の部分集合Y1={y1,1,…,y1,q1},…,YK={yK,1,…,yK,qK}を決定するステップ。それにより、以下のことが成り立つ。
第1の所定の値を有するビットまたは複数のビットbf1,…,bflが、各部分集合Y1,…,Ykに1対1で割り当てられる。
yiが、メモリに直接書き込まれるビットを含むグループに属するときには、di=yiであり、
yiが、メモリに反転されて書き込まれるビットを含むグループに属するときには、
21.アドレスaを作成し、アドレスaに記憶されている誤りであり得る値
12 XOR回路
13 メモリ
21 シンドローム生成器
22 復号器
23 XOR回路
24 訂正器
26 XOR回路
31 誤り検出器
41 コーダ
42 反転回路
43 メモリ
51 シンドローム生成器
52 復号器
53 XOR回路
54 訂正器
55 インバータ
57 誤り検出器
110 メモリ
120 処理ユニット
Claims (20)
- 処理ユニットと、
メモリとを備える装置であって、
前記処理ユニットが、線形誤り訂正符号を採用することによって、複数のビットを符号化して複数の符号化ビットを取得するように構成され、前記複数の符号化ビットがそれぞれビット値を有し、前記線形誤り訂正符号が、少なくとも3の符号距離を有し、前記複数の符号化ビットが、前記線形誤り訂正符号の第1のコードワードを形成し、
前記処理ユニットが、前記符号化ビットの部分集合に応じて、前記符号化ビットの部分集合が反転されるべきか否かを示す反転指定を特定するように構成され、前記部分集合が、前記複数の符号化ビットのうちの少なくとも3つの符号化ビットを含み、
前記符号化ビットの部分集合が反転されるべきでないことを前記反転指定が示すときには、前記処理ユニットが、記憶ワードとして、前記第1のコードワードのビットを前記メモリに記憶するように構成され、前記メモリに記憶される前記第1のコードワードの前記ビットが、第1の所定のビット値を有する指示ビットを含み、
前記符号化ビットの部分集合が反転されるべきであることを前記反転指定が示すときには、前記処理ユニットが、ビット値を変更することによって前記符号化ビットの部分集合の各符号化ビットを反転させることによって、前記線形誤り訂正符号の前記第1のコードワードを修正して前記線形誤り訂正符号の第2のコードワードを取得するように構成され、前記記憶ワードとして、前記第2のコードワードのビットを前記メモリに記憶するように構成され、前記第2のコードワードの前記ビットが、反転された前記指示ビットを含み、それにより、前記指示ビットが、前記第1の所定のビット値とは異なる第2の所定のビット値を有する
装置。 - 回路である請求項1に記載の装置。
- 前記符号化ビットの前記部分集合が、前記複数の符号化ビットのうちの全ての符号化ビットを含む請求項1に記載の装置。
- 前記符号化ビットの前記部分集合が、前記複数の符号化ビットのうちの全ての符号化ビットは含まない請求項1に記載の装置。
- 前記第1の所定の値が、第1の定数2進値bfであり、
前記第2の所定の値が、第2の定数2進値
であり、
前記処理ユニットが、前記記憶ワードを前記メモリから読み出すように構成され、前記処理ユニットが、前記記憶ワードを読み出した後、前記指示ビットが記憶されている前記メモリ内のビット位置から読み出されているビット値が前記第2の定数2進値
であるときには、前記メモリに直接または反転されて書き込まれているビット部分集合のビットを反転するように構成され、前記指示ビットが記憶されている前記メモリ内の前記ビット位置から読み出されているビット値が前記第1の定数2進値bfであるときには反転しないように構成される
請求項1に記載の装置。 - 前記第1の所定の値が、第1の定数2進値bfであり、
前記第2の所定の値が、第2の定数2進値
であり、
前記処理ユニットが、前記記憶ワードを前記メモリから読み出すように構成され、前記処理ユニットが、前記記憶ワードの1つまたは複数のビットが誤りである場合に、前記誤り訂正符号を使用することによって前記1つまたは複数のビットを訂正するように構成され、少なくとも前記指示ビットが書き込まれている前記ビット位置に記憶されているビットが、前記ビットが誤りである場合に訂正され、
前記記憶ワードを読み出し、前記1つまたは複数のビットを訂正した後に、前記処理ユニットが、前記指示ビットが記憶されている前記メモリ内のビット位置から読み出されているビット値が前記第2の定数2進値
であるときには、前記メモリに直接または反転されて書き込まれているビット部分集合のビットを反転するように構成され、前記指示ビットが記憶されている前記メモリ内の前記ビット位置から読み出されている前記ビット値が前記第1の定数2進値bfであるときには反転しないように構成される
請求項1に記載の装置。 - 前記線形誤り訂正符号が、パリティチェック行列Hを含み、前記パリティチェック行列Hの列の各成分の1の数が偶数である請求項6に記載の装置。
- 前記メモリが、レジスタ、レジスタアレイ、またはアドレス可能なメモリである請求項1に記載の装置。
- 前記メモリが、アドレス可能なメモリであり、前記処理ユニットが、前記線形誤り訂正符号を採用することによって、かつアドレスビットを使用することによって、前記複数のビットを符号化して前記複数の符号化ビットを取得するように構成される請求項1に記載の装置。
- 前記処理ユニットが、前記符号化ビットの前記部分集合の0の数または前記符号化ビットの前記部分集合の1の数に応じて、前記反転指定を特定するように構成される請求項1に記載の装置。
- 前記メモリに書込み値を書き込んだ後、次いで前記書込み値を前記メモリから読み出して読出し値を取得した後、さらに、前記書き込まれた書込み値と前記読み出された書込み値とを比較した後に、誤りが生じていないとき、前記処理ユニットが、前記符号化ビットの前記部分集合が反転されるべきでないことを示す前記反転指定を特定するように構成される請求項1に記載の装置。
- 前記メモリに書込み値を書き込んだ後、次いで前記書込み値を前記メモリから読み出して読出し値を取得し、さらに、前記書き込まれた書込み値と前記読み出された書込み値とを比較した後に、せいぜいT個の誤りが生じているとき、前記処理ユニットが、前記符号化ビットの前記部分集合が反転されるべきでないことを示す前記反転指定を特定するように構成され、ここで、Tは、前記線形誤り訂正符号によって訂正することができる誤りの数よりも小さい請求項1に記載の装置。
- ビットの部分集合の反転されている書込み値を前記メモリに書き込んだ後、次いで前記書き込まれた反転されている書込み値を前記メモリから読み出して読出し値を取得した後、さらに、前記書き込まれた反転されている書込み値と前記読み出された反転されている書込み値とを比較した後に、直接書き込み、前記読出し値と前記書き込まれた反転されていない値とを比較した後に生じるのとせいぜい同数の誤りが生じているとき、前記処理ユニットが、前記符号化ビットの前記部分集合が反転されるべきであることを示す前記反転指定を特定するように構成される請求項1に記載の装置。
- ビットの部分集合の反転された書込み値を前記メモリに書き込み、次いで前記書き込まれた反転されている書込み値を前記メモリから読み出して、読み出された反転されている書込み値を取得し、さらに、前記書き込まれた反転されている書込み値と前記読み出された値とを比較した後に、せいぜいT個の誤りが生じている場合、前記処理ユニットが、前記符号化ビットの前記部分集合が反転されるべきであることを示す前記反転指定を特定するように構成され、ここで、Tは、前記線形誤り訂正符号によって訂正することができる誤りの数よりも小さい請求項1に記載の装置。
- 前記メモリが、Flashメモリ、磁気ランダムアクセスメモリ(M−RAM)、または抵抗性ランダムアクセスメモリ(R−RAM)である請求項1に記載の装置。
- 前記線形誤り訂正符号が、生成行列を含み、
前記処理ユニットが、符号化のためにその系統的形態での前記生成行列を使用することによって、前記複数のビットを符号化するように構成される
請求項1に記載の装置。 - 前記線形誤り訂正符号が、ハミング符号もしくは短縮ハミング符号であり、または
前記線形誤り訂正符号が、Hsiao符号もしくは短縮Hsiao符号であり、または
前記線形誤り訂正符号が、BCH符号もしくは短縮BCH符号である
請求項1に記載の装置。 - 前記処理ユニットが、前記符号化ビットのさらなる部分集合に応じて、前記符号化ビットの前記さらなる部分集合が反転されるべきか否かを示すさらなる反転指定を特定するように構成される請求項1に記載の装置。
- ビットをメモリに記憶するための装置であって、前記ビットが、線形誤り訂正符号Cを用いて符号化され、前記線形誤り訂正符号Cが、少なくとも3の符号距離を有し、前記線形誤り訂正符号Cを用いて符号化された前記ビットの部分集合がメモリに直接書き込まれるか、それともビット毎に反転されて書き込まれるかが判断され、前記線形誤り訂正符号Cが、H行列Hを含み、前記装置が、
処理ユニットと、
メモリと
を備え、
前記メモリに直接または反転されて書き込まれるビットの部分集合が、少なくとも1つの2進定数値を含み、前記2進定数値が、データビットと共に、前記線形誤り訂正符号Cのコードワードを形成するためにコード化に使用され、
前記処理ユニットが、前記それぞれのビット部分集合の前記ビットが前記メモリに直接書き込まれるときに、前記2進定数値を2進値bfとして前記メモリに書き込むように構成され、
前記処理ユニットが、前記それぞれのビット部分集合の前記ビットが前記メモリに反転されて書き込まれるときに、前記2進定数値を反転値
として前記メモリに書き込むように構成され、
前記処理ユニットが、前記メモリに直接または反転されて書き込まれるビットの前記部分集合が反転されるときに、前記線形誤り訂正符号Cのコードワードを同じ符号のコードワードに変換するように構成され、前記線形誤り訂正符号Cの前記H行列が、前記メモリに直接または反転されて書き込まれるビットの前記部分集合に対応する前記H行列の前記列の各成分の1の数が偶数であるように生成され、
前記処理ユニットが、前記メモリから読み出すときに、前記メモリから読み出された、誤りであり得るビットを、前記線形誤り訂正符号Cを使用することによって訂正するように構成され、前記それぞれのビット部分集合が前記メモリに直接書き込まれているときには、少なくとも、前記定数2進値bfが書き込まれている前記ビット位置にあるビットが訂正され、または、前記それぞれのビット部分集合が前記メモリに反転されて書き込まれているときには、少なくとも、前記定数2進値
が書き込まれている前記ビット値にあるビットが訂正され、
前記処理ユニットが、読出し後、前記定数値bfまたは前記反転された定数値
が記憶されている前記ビット位置で読み取られている前記訂正値が
であるときには、前記メモリに直接または反転されて書き込まれている前記ビット部分集合のビットを反転するように構成され、前記値がbfであるときには反転しないように構成される
装置。 - エンコーダを使用して、線形誤り訂正符号を採用することによって、複数のビットを符号化して複数の符号化ビットを取得するステップであって、前記複数の符号化ビットがそれぞれビット値を有し、前記線形誤り訂正符号が、少なくとも3の符号距離を有し、前記複数の符号化ビットが、前記線形誤り訂正符号の第1のコードワードを形成するステップと、
処理ユニットを使用して、前記符号化ビットの部分集合に応じて、前記符号化ビットの前記部分集合が反転されるべきか否かを示す反転指定を特定するステップであって、ここで、前記部分集合は、前記複数の符号化ビットのうちの少なくとも3つの符号化ビットを含む、ステップと、
前記符号化ビットの前記部分集合が反転されるべきでないことを前記反転指定が示すときには、記憶ワードとして、前記第1のコードワードのビットを前記メモリに記憶するステップであって、前記メモリに記憶される前記第1のコードワードの前記ビットが、第1の所定のビット値を有する指示ビットを含む、ステップと、
前記符号化ビットの前記部分集合が反転されるべきであることを前記反転指定が示すときには、ビット値を変えることによって前記符号化ビットの前記部分集合の各符号化ビットを反転させることによって、前記線形誤り訂正符号の前記第1のコードワードを修正して前記線形誤り訂正符号の第2のコードワードを取得し、前記記憶ワードとして、前記第2のコードワードのビットを前記メモリに記憶するステップであって、ここで、前記第2のコードワードの前記ビットが、反転された前記指示ビットを含み、それにより、前記指示ビットが、前記第1の所定のビット値とは異なる第2の所定のビット値を有する、ステップと
を含む方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/166,360 | 2014-01-28 | ||
| US14/166,360 US9582354B2 (en) | 2014-01-28 | 2014-01-28 | Apparatus and method for improving data storage by data inversion |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015142381A true JP2015142381A (ja) | 2015-08-03 |
| JP5923631B2 JP5923631B2 (ja) | 2016-05-24 |
Family
ID=53523168
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015012913A Active JP5923631B2 (ja) | 2014-01-28 | 2015-01-27 | データ反転によってデータ記憶を改良するための装置および方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US9582354B2 (ja) |
| JP (1) | JP5923631B2 (ja) |
| CN (1) | CN104900271B (ja) |
| DE (1) | DE102015201384B4 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017138235A1 (ja) * | 2016-02-08 | 2017-08-17 | ソニー株式会社 | メモリコントローラ、不揮発性メモリおよびメモリコントローラの制御方法 |
| JP2023169327A (ja) * | 2018-12-11 | 2023-11-29 | 日本テキサス・インスツルメンツ合同会社 | インラインecc保護のための方法及びシステム |
| JP7754612B2 (ja) | 2018-12-11 | 2025-10-15 | 日本テキサス・インスツルメンツ合同会社 | インラインecc保護のための方法及びシステム |
Families Citing this family (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6540703B2 (ja) * | 2014-07-24 | 2019-07-10 | ソニー株式会社 | メモリコントローラおよびメモリコントローラの制御方法 |
| US9779465B2 (en) * | 2014-12-23 | 2017-10-03 | Intel Corporation | Apparatus and method for implementing power saving techniques when processing floating point values |
| DE102015104841B4 (de) * | 2015-03-30 | 2024-08-14 | Infineon Technologies Ag | Chip und Verfahren zum Detektieren einer Veränderung eines gespeicherten Datenvektors |
| US10489241B2 (en) * | 2015-12-30 | 2019-11-26 | Arteris, Inc. | Control and address redundancy in storage buffer |
| US10097207B2 (en) | 2016-03-10 | 2018-10-09 | Toshiba Memory Corporation | ECC circuit, storage device and memory system |
| US10176040B2 (en) * | 2016-04-05 | 2019-01-08 | Micron Technology, Inc. | Error correction code (ECC) operations in memory |
| US20170324425A1 (en) | 2016-05-06 | 2017-11-09 | Infineon Technologies Ag | Embedded parity matrix generator |
| GB2550929A (en) * | 2016-05-31 | 2017-12-06 | Advanced Risc Mach Ltd | An apparatus and method for generating an error code for a block comprising a plurality of data bits and a plurality of address bits |
| US10372535B2 (en) * | 2017-08-29 | 2019-08-06 | Winbond Electronics Corp. | Encoding method and a memory storage apparatus using the same |
| US10514980B2 (en) * | 2018-03-22 | 2019-12-24 | Winbond Electronics Corp. | Encoding method and memory storage apparatus using the same |
| DE102018112816A1 (de) * | 2018-05-29 | 2019-12-05 | Infineon Technologies Ag | Adresscodierter Zugriff auf Speicher |
| US10951232B2 (en) | 2018-11-26 | 2021-03-16 | Micron Technology, Inc. | Error correction bit flipping scheme |
| US11144393B2 (en) | 2019-04-29 | 2021-10-12 | Samsung Electronics Co., Ltd. | Memory controller, memory system including the same, and method of operating the memory controller |
| FR3100369B1 (fr) * | 2019-08-29 | 2022-03-04 | Commissariat Energie Atomique | Procédé d’inversion sélective de mots à écrire dans une mémoire et dispositif pour sa mise en œuvre |
| US11237906B1 (en) * | 2020-07-28 | 2022-02-01 | Micron Technology, Inc. | Generating a balanced codeword protected by an error correction code |
| US11494264B2 (en) * | 2020-07-28 | 2022-11-08 | Micron Technology, Inc. | Generating a protected and balanced codeword |
| US11567831B2 (en) | 2020-07-28 | 2023-01-31 | Micron Technology, Inc. | Generating a protected and balanced codeword |
| DE102020120719A1 (de) | 2020-08-05 | 2022-02-10 | Infineon Technologies Ag | Zugriff auf einen speicher |
| DE102021109391B3 (de) * | 2021-04-14 | 2022-08-25 | Infineon Technologies Ag | Multibytefehler-Erkennung |
| US11916570B1 (en) * | 2022-11-11 | 2024-02-27 | Texas Instruments Incorporated | Codeword format for data storage |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000163273A (ja) * | 1998-11-25 | 2000-06-16 | Nec Corp | メモリ誤り訂正・検出回路試験システムおよび試験方法 |
| JP2011518369A (ja) * | 2008-03-27 | 2011-06-23 | ジーイー・ヘルスケア・バイオサイエンス・バイオプロセス・コーポレイション | 使い捨てバイオプロセス部品の不正使用を防止する方法 |
| JP2012124623A (ja) * | 2010-12-07 | 2012-06-28 | Sony Corp | データ処理装置、及びデータ処理方法 |
| JP2012129591A (ja) * | 2010-12-13 | 2012-07-05 | Toshiba Corp | 誤り訂正復号器及び記憶装置 |
| JP2013198128A (ja) * | 2012-03-22 | 2013-09-30 | Fuji Xerox Co Ltd | データ伝送システム、データ送信装置およびデータ受信装置 |
| US20130283121A1 (en) * | 2008-12-31 | 2013-10-24 | Micron Technology, Inc. | Error correction code for unidirectional memory |
| US20140095956A1 (en) * | 2012-09-28 | 2014-04-03 | Serkan Ozdemir | Endurance aware error-correcting code (ecc) protection for non-volatile memories |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE19935497A1 (de) | 1999-07-28 | 2001-03-01 | Infineon Technologies Ag | Verfahren und Schaltungsanordnung zum Korrigieren von Speicherfehlern |
| US7069494B2 (en) * | 2003-04-17 | 2006-06-27 | International Business Machines Corporation | Application of special ECC matrix for solving stuck bit faults in an ECC protected mechanism |
| JP3935149B2 (ja) | 2004-01-16 | 2007-06-20 | 株式会社東芝 | 半導体集積回路 |
| US7437653B2 (en) | 2004-12-22 | 2008-10-14 | Sandisk Corporation | Erased sector detection mechanisms |
| JP4261575B2 (ja) * | 2006-11-30 | 2009-04-30 | 株式会社東芝 | 誤り訂正処理装置及び誤り訂正処理方法 |
| JP4491000B2 (ja) * | 2007-08-17 | 2010-06-30 | 株式会社東芝 | メモリシステム |
| US7864606B2 (en) * | 2007-09-18 | 2011-01-04 | Spansion Israel Ltd | Method, device and system for regulating access to an integrated circuit (IC) device |
| JP5214422B2 (ja) * | 2008-02-15 | 2013-06-19 | 株式会社東芝 | データ記憶システム |
| JP5303325B2 (ja) | 2009-03-18 | 2013-10-02 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
| KR101650130B1 (ko) | 2010-05-14 | 2016-08-24 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 카피-백 방법 |
| US8621328B2 (en) * | 2011-03-04 | 2013-12-31 | International Business Machines Corporation | Wear-focusing of non-volatile memories for improved endurance |
| EP2549482B1 (en) * | 2011-07-22 | 2018-05-23 | SanDisk Technologies LLC | Apparatus, system and method for determining a configuration parameter for solid-state storage media |
| US8887025B2 (en) | 2011-11-16 | 2014-11-11 | HGST Netherlands B.V. | Techniques for storing data in stuck memory cells |
| US8839073B2 (en) * | 2012-05-04 | 2014-09-16 | Lsi Corporation | Zero-one balance management in a solid-state disk controller |
-
2014
- 2014-01-28 US US14/166,360 patent/US9582354B2/en active Active
-
2015
- 2015-01-27 JP JP2015012913A patent/JP5923631B2/ja active Active
- 2015-01-27 DE DE102015201384.7A patent/DE102015201384B4/de active Active
- 2015-01-28 CN CN201510042539.8A patent/CN104900271B/zh active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000163273A (ja) * | 1998-11-25 | 2000-06-16 | Nec Corp | メモリ誤り訂正・検出回路試験システムおよび試験方法 |
| JP2011518369A (ja) * | 2008-03-27 | 2011-06-23 | ジーイー・ヘルスケア・バイオサイエンス・バイオプロセス・コーポレイション | 使い捨てバイオプロセス部品の不正使用を防止する方法 |
| US20130283121A1 (en) * | 2008-12-31 | 2013-10-24 | Micron Technology, Inc. | Error correction code for unidirectional memory |
| JP2012124623A (ja) * | 2010-12-07 | 2012-06-28 | Sony Corp | データ処理装置、及びデータ処理方法 |
| JP2012129591A (ja) * | 2010-12-13 | 2012-07-05 | Toshiba Corp | 誤り訂正復号器及び記憶装置 |
| JP2013198128A (ja) * | 2012-03-22 | 2013-09-30 | Fuji Xerox Co Ltd | データ伝送システム、データ送信装置およびデータ受信装置 |
| US20140095956A1 (en) * | 2012-09-28 | 2014-04-03 | Serkan Ozdemir | Endurance aware error-correcting code (ecc) protection for non-volatile memories |
Non-Patent Citations (4)
| Title |
|---|
| JPN6015047644; 藤原 英弘 他: 'ビット線の電力を削減する実時間動画像処理応用2-port SRAM' 電子情報通信学会技術研究報告 Vol.107, No.1, 20070405, pp.35-40 * |
| JPN6015047645; Fradi Aymen et al.: 'A new efficient self-checking Hsiao SEC-DED memory error correcting code' Microelectronics (ICM), 2011 International Conference on , 20111222, pp.1-5 * |
| JPN6015047646; You-Sung Chang et al.: 'Conforming block inversion for low power memory' Very Large Scale Integration(VLSI) Systems, IEEE Transactions on Vol.10, No.1, 200202, pp.15-19 * |
| JPN6015047647; 多和田 雅師 他: '最大ハミング距離を制限した符号とこれを用いた不揮発メモリの書き込み削減手法' 電子情報通信学会技術研究報告 Vol.113, No.120, 20130704, pp.95-100 * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017138235A1 (ja) * | 2016-02-08 | 2017-08-17 | ソニー株式会社 | メモリコントローラ、不揮発性メモリおよびメモリコントローラの制御方法 |
| US10664343B2 (en) | 2016-02-08 | 2020-05-26 | Sony Corporation | Memory controller, non-volatile memory, and method of controlling memory controller |
| JP2023169327A (ja) * | 2018-12-11 | 2023-11-29 | 日本テキサス・インスツルメンツ合同会社 | インラインecc保護のための方法及びシステム |
| JP7754612B2 (ja) | 2018-12-11 | 2025-10-15 | 日本テキサス・インスツルメンツ合同会社 | インラインecc保護のための方法及びシステム |
Also Published As
| Publication number | Publication date |
|---|---|
| US20150212877A1 (en) | 2015-07-30 |
| JP5923631B2 (ja) | 2016-05-24 |
| DE102015201384A1 (de) | 2015-07-30 |
| US9582354B2 (en) | 2017-02-28 |
| CN104900271B (zh) | 2018-04-27 |
| DE102015201384B4 (de) | 2020-08-20 |
| CN104900271A (zh) | 2015-09-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5923631B2 (ja) | データ反転によってデータ記憶を改良するための装置および方法 | |
| US11740960B2 (en) | Detection and correction of data bit errors using error correction codes | |
| US10333558B2 (en) | Decoding device and decoding method | |
| US11438015B2 (en) | Two-level error correcting code with sharing of check-bits | |
| JP6540703B2 (ja) | メモリコントローラおよびメモリコントローラの制御方法 | |
| JPH0449139B2 (ja) | ||
| JP5805727B2 (ja) | 縮退故障を有するメモリセルに対応するためのデータ符号化及び復号化 | |
| CN104393878A (zh) | 用于纠正在编码比特序列中的至少单比特错误的设备和方法 | |
| US20080082870A1 (en) | Parallel bit test device and method using error correcting code | |
| CN106469099A (zh) | 在应用wom码的情况下的错误纠正 | |
| JP6657634B2 (ja) | 符号化装置、メモリシステム、通信システムおよび符号化方法 | |
| CN102546095B (zh) | 用于检测编码二进制字中的错误的设备和方法 | |
| US20210091792A1 (en) | Memory system | |
| US10056921B2 (en) | Memory system having flexible ECC scheme and method of the same | |
| JP5284069B2 (ja) | メモリシステム及びメモリアクセス方法 | |
| JP2017022651A (ja) | 誤り訂正装置、半導体記憶装置、および誤り訂正方法 | |
| Badack et al. | Modified DEC BCH codes for parallel correction of 3-bit errors comprising a pair of adjacent errors | |
| US10970166B2 (en) | Memory system and method of controlling non-volatile memory | |
| KR101543081B1 (ko) | 고착 고장을 갖는 메모리 셀을 수용하기 위한 리던던트 비트의 인코딩 및 디코딩 | |
| CN104424046B (zh) | 数据处理的方法、装置和设备 | |
| Hwang et al. | Scrubbing with partial side information for radiation-tolerant memory | |
| US20160043741A1 (en) | Coding method and device | |
| JP5563125B2 (ja) | メモリアクセス装置 | |
| Yang | Improving memory ECC via defective memory columns | |
| CN103269231A (zh) | Bch码检纠错方法、电路及容错存储器 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151119 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151201 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160229 |
|
| 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: 20160322 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160418 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5923631 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 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |