JP2011503955A - ビット列間のエラー制御コードをエンコードする方法およびエンコードシステム - Google Patents
ビット列間のエラー制御コードをエンコードする方法およびエンコードシステム Download PDFInfo
- Publication number
- JP2011503955A JP2011503955A JP2010531953A JP2010531953A JP2011503955A JP 2011503955 A JP2011503955 A JP 2011503955A JP 2010531953 A JP2010531953 A JP 2010531953A JP 2010531953 A JP2010531953 A JP 2010531953A JP 2011503955 A JP2011503955 A JP 2011503955A
- Authority
- JP
- Japan
- Prior art keywords
- bit string
- bit
- encoder
- generate
- encoding
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/22—Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
-
- 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
-
- 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/1072—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 multilevel memories
-
- 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
- H03M13/2732—Convolutional interleaver; Interleavers using shift-registers or delay lines like, e.g. Ramsey type interleaver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
チャネルを経由して情報が送信されるとき、送信された情報は破損して多くのエラーを含むことがある。もし、送信された情報のうち、エラーの数が予め決められたエラーの数を超過すれば、デコーダは最初の送信情報を復元できないこともある。
送信情報に対するチャネルの特性に応じて、チャネルで発生するエラーの比率が相対的に大きいこともある。エラーの比率が大きければ大きいほど、このようなエラーを克服して所望の性能を達成するためのエラー制御コードエンコードおよびデコードを実現するためのハードウェアの複雑度は増加する。
それだけでなく、チャネルがマルチビットメモリ装置である場合、チャネルの特性上、発生するエラーの数が増加する傾向にある。
図1を参照すれば、エンコーダ100は、第1エンコーダ110、第2エンコーダ120を備える。
第1エンコーダ110は、Nビットの入力ビット列をエンコードしてCビットの第1ビット列を生成する。CおよびNは、「0」よりも大きい整数であってもよい。生成された第1ビット列は、Cビットコードワード(codeword)を含んでもよい。ここで、C>Nであり、冗長ビット(redundant bits)(C−N)は入力ビット列に割当てられてもよい。
第2エンコーダ120は、また、M個の第1ビット列をエンコードし、各第1ビット列はCビットを構成してもよい。第2エンコーダ120は、M個の第2ビット列を生成するためにM×Cビット列のデータビットをシャッフルしてもよい。したがって、第2エンコーダ120は、M×Cビット情報を同時にエンコードしてもよい。
それだけではなく、プログラミング部130は、ページプログラミング動作をL回行ってもよく、そうすることによって、各マルチビットセルにLビットデータを格納してもよい。ここで、Lは「0」よりも大きい整数である。第2エンコーダ120は、Kワード線に接続されたマルチビットセルに格納された(L×K)第1ビット列を受信してもよい。ここで、M=L×Kである。M、LおよびKは「0」よりも大きい整数を示す。第2エンコーダ120は、M個の第2ビット列を生成するためにM個の第1ビット列のデータをシャッフルしてもよい。
(数式1)
v=[B[0]B[1]・・・B[C−1]B[C]・・・B[(M−1)C−1]]
vは、M個の第1ビット列を1つの行ベクトルに表したものである。
(数式2)
w=[S[0]S[1]・・・S[C+P−1]S[C+P]・・・S[(M−1)(C+P)−1]]
wは、M個の第2ビット列を1つの行ベクトルに表したものである。
(数式3)
w=v×G
生成行列Gは、MC×M(C+P)行列であり、第1ビット列の行ベクトルvとGとが乗算されて第2ビット列の行ベクトルwが生成される。
簡単なGの例として、M=2、C=2、P=1である場合、下記の数式4のように表すことができる。
実施形態によっては、P=0である場合、Gは、第1ビット列に対するパリティの追加なしでデータシャッフルのみを行ってもよい。
実施形態によっては、第1ビット列のコードワードを構成するビット数と1つのページアレイに含まれるマルチビットセルの数とが異なってもよい。下記の本明細書では、簡単な説明のために第1ビット列のコードワードのビット数および1つのページアレイに含まれるマルチビットセルの数をすべてCと仮定する。
図2を参照すれば、エンコードシステム200は、第1エンコーダ210、第2エンコーダ220、および第3エンコーダ230を備える。
第1エンコーダ210および第2エンコーダ220は、図1の第1エンコーダ110および第2エンコーダ120と同じ方式で実行してもよい。したがって、第1デコーダ210および第2デコーダ220に対する動作および詳細な説明は省略することにする。
第3エンコーダ230は、第2エンコーダ220から第2ビット列を受信し、第3ビット列を生成するために受信したビット列をランダム化する。第3エンコーダ230は、ランダム化多項式(randomizer polynomial)f(X)を用いて第2ビット列をランダム化する。ランダム化多項式f(X)を用いて第2ビット列をランダム化する過程は、図9を参照して説明することにする。
図3を参照すれば、横軸はページ別のエラー個数を示し、縦軸は該当するページの数を示す。
1つのページアレイはC個のマルチビットセルを含む。マルチビットセルそれぞれはMビットのデータを格納するため、1つのページアレイはC×Mビットのデータを格納する。
1つのページは、ページアレイに同時にプログラミングされるCビットのデータを指す。1つのページをページアレイにプログラミングする動作をページプログラミング動作という。
本実施形態では、説明を単純化する目的で、第2ビット列は1つのページに対応すると仮定する。ここで、他のビット列(例えば、第1、第3、第4、第5ビット列など)は1つのページアレイでプログラムされてもよい。ページアレイで1つのページがプログラムされた後、マルチビットメモリ装置はページアレイから格納されたページを読出してもよい。
マルチビットメモリ装置は、予め決定したECCの規則にしたがって読出したページにエラーがあるか否かを判定する。
ECCの種類に応じて、マルチビットメモリ装置は、読出したページに何個のエラーがあるかを判定してもよい。
ECCの種類に応じて、マルチビットメモリ装置は、読出したページに最大エラー訂正能力よりも多くないエラーがあれば、ページのエラーを訂正してもよい。
マルチビットメモリ装置が読出したページに最大エラー訂正能力よりも多くないエラーがあって、マルチビットメモリ装置がページのエラーを訂正してもよい場合、エラー訂正可能性があるといえる。
第2分布350は、第2ビット列のエラー個数に対応するページの分布を示す。
エラー個数330およびエラー個数370は、各第1ビット列および第2ビット列のエラー個数の平均値を示す。
エラー個数340およびエラー個数380は、マルチビットメモリ装置の最大エラー訂正能力を示す。
第3分布320は、第1ビット列に対してマルチビットメモリ装置がエラーを訂正することができないページ数を示す。
第4分布360は、第2ビット列に対してマルチビットメモリ装置がエラーを訂正することができないページ数を示す。
図1の第2エンコーダ120は、第1ビット列に対してライン330によって表れるエラー個数よりも多いエラーを有するページと、ライン330によって表れるエラー個数よりも少ないエラーを有するページのデータとをシャッフルする。第2エンコーダ120は、ページ当りエラー比率を均等化(equalize)する。
図3を参照すれば、第4分布360が第3分布320よりも極めて小さいことが分かる。
第2エンコーダ120は、ページ別のエラー個数の分布を調整し、エラー訂正可能性を高める。
第2エンコーダ120は、データシャッフルによってエラーが特定データの領域で集中的に発生することを防止する。また、第2エンコーダ120は、各ページ当りエラー比率を均等化する。
例えば、図3を参照すれば、第4分布360は、第3分布320よりも小さいことが分かり、これはエラー訂正可能性が高くなったことを示す。
図4を参照すれば、システム400は、ECCエンコーダ410、シャッフラ(shuffler)420、ランダマイザ(randomizer)430、メモリチャネル440、デランダマイザ(de−randomizer)450、デシャッフラ(de−shuffler)460、およびECCデコーダ470を備える。
ECCエンコーダ410は、入力ビット列を受信し、受信した入力ビット列をECCエンコードして第1ビット列を生成する。シャッフラ420は、M個の第1ビット列を受信し、受信したM個の第1ビット列をシャッフルしてM個の第2ビット列を生成する。
ランダマイザ430は、第2ビット列を受信し、受信した第2ビット列をランダム化して第3ビット列を生成する。
第3ビット列は、メモリチャネル440に送信され、メモリチャネル440によって第4ビット列に変換される。
メモリチャネル440は、メモリ装置にデータが格納された後のデータが読み出されるまでの時間的な経過であってもよく、メモリチャネル440は、メモリ装置にデータが格納されてデータが読み出される過程であってもよい。
第4ビット列および第3ビット列の差が第4ビット列のエラーである。
このとき、デランダマイズ過程は、ランダム化過程を逆に行う過程である。
デシャッフラ460は、第5ビット列を受信し、受信した第5ビット列をデシャッフルして第6ビット列を生成する。
このとき、デシャッフル過程は、データシャッフル過程を逆に行う過程である。
ECCデコーダ470は、第6ビット列を受信し、受信した第6ビット列をECCデコードして第7ビット列を生成する。
ECCデコーダ470は、第6ビット列に含まれたエラーが最大エラー訂正能力よりも大きくなければ、第6ビット列に含まれたエラーを訂正する。ECCデコーダ470は、第6ビット列に含まれたエラーを訂正してエラーの無い第7ビット列を生成する。
再び図1を参照すれば、第2エンコーダ120は、第1ビット列のデータをシャッフルして第2ビット列を生成する。
図5は、第1ビット列の一例を示す図である。
図5を参照すれば、R個の第1ビット列が示される。Rは「0」よりも大きい整数である。第1ビット列は、ビット列510、ビット列520、およびビット列530を備える。
ビット列510は、B[0]〜B[C−1]を含むCビットのビット列である。
ビット列520は、B[C]〜B[2C−1]を含むCビットのビット列である。
ビット列530は、B[C(R−1)+(C−1)]を含むCビットのビット列である。
図6を参照すれば、生成された第2ビット列はビット列610およびビット列620である。
第2ビット列のi番目の要素Siは、第1ビット列のj番目の要素B[j]から下記の数式6によって得てもよい。
(数式6)
j=(i×C+D)mod(M×C)
Si=B[j]
ここで、Dはデータシャッフル過程のオフセットである。
A mod Bは、AをBに分けた残りを意味するモジュロ(modulo)演算である。
本発明の一実施形態によれば、Dはデータシャッフル過程においてiの値によって調整される。
本実施形態では、0以上(M−1)以下であるiに対しては、D=0が割当てられ、M以上(2M−1)以下のiに対してはD=1が割当てられる。
S0に対しては、j=0 mod 2C=0であるため、S0=B[0]の関係式が成立する。
S1に対しては、j=C mod 2C=Cであるため、S1=B[C]の関係式が成立する。
第2エンコーダ120は、S0およびS1を含むビット列610を生成する。
S2に対しては、j=1 mod 2C=1であるため、S2=B[1]の関係式が成立する。
S3に対しては、j=(C+1) mod 2C=C+1であるため、S2=B[C+1]の関係式が成立する。
第2エンコーダ120は、S2およびS3を含むビット列620を生成する。
図7を参照すれば、生成された第2ビット列はビット列710およびビット列720である。
本発明の一実施形態によれば、0以上(M−1)以下であるiに対してはD=0が割当てられ、M以上(2M−1)以下であるiに対してはD=1が割当てられる。
S0に対しては、j=0 mod (M×C)=0であるため、S0=B[0]の関係式が成立する。
S1に対しては、j=C mod (M×C)=Cであるため、S1=B[C]の関係式が成立する。
S2に対しては、j=2C mod (M×C)=2Cであるため、S2=B[2C]の関係式が成立する。
S3に対しては、j=3C mod (M×C)=3Cであるため、S3=B[3C]の関係式が成立する。
S(M−1)に対しては、j={(M−1)×C}mod(M×C)=(M−1)×Cであるため、S(M−1)=B[(M−1)C]の関係式が成立する。
第2エンコーダ120は、S0、S1、S2、S3およびS(M−1)を含むビット列710を生成する。
S(M+1)に対しては、j={(M+1)×C+1}mod(M×C)=C+1であるため、S(M+1)=B[C+1]の関係式が成立する。
S(M+2)に対しては、j={(M+2)×C+1}mod(M×C)=2C+1であるため、S(M+2)=B[2C+1]の関係式が成立する。
S(M+3)に対しては、j={(M+3)×C+1}mod(M×C)=3C+1であるため、S(M+3)=B[3C+1]の関係式が成立する。
S(2M−1)に対しては、j={(2M−1)×C}mod(M×C)=(M−1)C+1であるため、S(2M−1)=B[(M−1)C+1]の関係式が成立する。
第2エンコーダ120は、S(M)、S(M+1)、S(M+2)、S(M+3)およびS(2M−1)を含むビット列720を生成する。
実施形態によっては、第2エンコーダ120は、1つのページアレイ(図示せず)のマルチビットセルに格納されるデータをシャッフルしてもよい。
このとき、各マルチビットセルはMビットのデータを格納してもよく、1つのページアレイはM×Cビットのデータを格納してもよい。
1つのページアレイには、M番目のページプログラミング動作が行われてデータが格納されてもよい。
他の実施形態によっては、第2エンコーダ120は、K個のページアレイのマルチビットセルに格納されるデータをシャッフルしてもよい。
このとき、各マルチビットセルはLビットのデータを格納してもよく、1つのページアレイはL×Cビットのデータを格納してもよい。
1つのページアレイには、L番目のページプログラミング動作が行われてデータが格納されてもよい。
このとき、M、L、Kの間にはM=L×Kの関係式が成立し、M、LおよびKは「0」よりも大きい整数である。
図8を参照すれば、第2エンコーダ800は、直列/並列信号処理部810、バッファ820、およびマルチプレクサ830を備える。
直列/並列信号処理部810は、A個の第1ビット列を受信し、受信した入力ビット列に対する直列/並列信号処理を行ってC×Aビットのビット列を生成する。
バッファ820は、C×Aビットのビット列を格納し、マルチプレクサ830で格納されたビット列を伝達する。
マルチプレクサ830は、A対1の多重化を行う。マルチプレクサは、C×Aビットのビット列を多重化してCビットの第2ビット列を生成する。
図9を参照すれば、第3エンコーダ900は、第1および第2レジスタ910、920と、第1モジュロ加算器940と、複数の乗算器950、960、970とを備える。
モジュロ加算器940は、第2ビット列を受信し、受信した第2ビット列に対するモジュロ加算を行って第3ビット列を生成する。
モジュロ加算器940の出力は、乗算器970に伝達される。乗算器970は、係数f2をビット列に乗算して乗算器950および乗算器960に伝達する。乗算器950は、係数f0をビット列に乗算して第1レジスタ910に伝達する。乗算器960は、係数f1をビット列に乗算してモジュロ加算器930に伝達する。
モジュロ加算器930は、第1レジスタ910および乗算器960の出力を合算して第2レジスタ920に伝達する。第2レジスタ920の結果は、第3ビット列を生成するために第2ビット列に加えられる。
図10を参照すれば、エンコード方法は、Cビットの入力ビット列をエンコードしてCビットの第1ビット列を生成する(S1010)。
エンコード方法は、第1ビット列をM個受信する(S1020)。
エンコード方法は、受信したM個の第1ビット列のデータをシャッフルしてM個の第2ビット列を生成する(S1030)。
エンコード方法は、第2ビット列を受信する(S1040)。
エンコード方法は、受信した第2ビット列をランダム化して第3ビット列を生成する(S1050)。
実施形態によっては、エンコード方法はC個のマルチビットセルを含むページアレイに第2ビット列をプログラミングしてもよい。
このとき、1つのマルチビットセルはMビットのデータを格納してもよい。
実施形態によっては、第2ビット列のi番目の要素Siは、第1ビット列のj番目の要素B[j]から下記の数式7によって得られる。
(数式7)
j=(i×C+D)mod(M×C)
Si=B[j]
ここで、Dはデータシャッフル過程のオフセットである。
A mod BはAをBに分けた残りを意味するモジュロ演算である。
フラッシュメモリ装置は、電力が遮断されても格納されたデータを維持できる不揮発性メモリ装置である。携帯電話、PDAデジタルカメラ、携帯ゲーム機、およびMP3プレイヤのようなモバイル装置の使用の増加によって、フラッシュメモリ装置はデータストレージだけでなく、コードストレージとしてより幅広く用いられてもよい。フラッシュメモリ装置は、また、HDTV、DVD、ルータ、およびGPSのようなホームアプリケーションに用いられてもよい。
本発明に係るコンピュータシステムには、応用チップセット、カメライメージプロセッサ(Camera Image Processor:CIS)、モバイルDRAMなどがさらに提供されることは、この分野における通常の知識を習得した者に自明である。メモリコントローラとフラッシュメモリ装置は、例えば、データを格納するために不揮発性メモリを用いるSSD(Solid State Drive/Disk)を構成してもよい。
110 第1エンコーダ
120 第2エンコーダ
130 プログラミング部
140 ページアレイ
200 エンコードシステム
210 第1エンコーダ
220 第2エンコーダ
230 第3エンコーダ
400 システム
410 ECCエンコーダ
420 シャッフラ
430 ランダマイザ
440 メモリチャネル
450 デランダマイザ
460 デシャッフラ
470 ECCでコード
800 第2エンコーダ
810 直列/並列信号処理部
820 バッファ
830 マルチプレクサ
900 第3エンコーダ
910 第1レジスタ
920 第2レジスタ
930,940 モジュロ加算器
950,960,970 乗算器
Claims (20)
- 入力ビット列をエンコードしてCビット(Cは「0」よりも大きい整数)の第1ビット列を生成する第1エンコーダと、
前記第1ビット列を受信し、前記受信した第1ビット列のデータをシャッフルして第2ビット列を生成する第2エンコーダと、を具備し、
ここで、前記第2ビット列のエラー分布は、前記データシャッフルに基づいて調整されることを特徴とするエンコードシステム。 - 前記第2エンコーダは、前記受信したCビットの第1ビット列に冗長情報を付加することを特徴とする請求項1に記載のエンコードシステム。
- 前記第2エンコーダは、前記冗長情報を前記受信したCビットの第1ビット列に付加し、生成行列に基づいて前記受信した第1ビット列のデータをシャッフルすることを特徴とする請求項1に記載のエンコードシステム。
- 前記第2エンコーダは、
前記第1ビット列を受信し、C×Aビット列(Aは「0」よりも大きい整数)を生成するように信号処理を行う直列/並列信号処理部と、
前記C×Aビット列を格納するバッファと、
第2ビット列を生成するように前記格納されたC×Aビット列を多重化するマルチプレクサと、
を具備することを特徴とする請求項1に記載のエンコードシステム。 - 前記第2ビット列を受信し、第3ビット列を生成するように前記受信した第2ビット列をランダム化する第3エンコーダをさらに具備することを特徴とする請求項1に記載のエンコードシステム。
- 前記第3エンコーダは、
前記第2ビット列を受信し、第3ビット列を生成するようにモジュロ加算を行うモジュロ加算器と、
前記第3ビット列を受信し、ランダム化多項式の係数によって前記第3ビット列を乗算する複数の乗算器と、
前記複数の乗算器の結果値を格納する第1および第2レジスタと、
を具備することを特徴とする請求項5に記載のエンコードシステム。 - 前記第3エンコーダは、前記第3ビット列を生成するようにランダム化多項式に基づいて前記受信した第2ビット列をランダム化し、
ここで、前記ランダム化多項式は、f(X)=f0+f1X+f2X2+・・・+fnXnを含み、f0、f1、・・・、fnは前記ランダム化多項式の係数であることを特徴とする請求項5に記載のエンコードシステム。 - 複数のマルチビットセルを含むページアレイに前記第2ビット列をプログラミングするプログラミング部をさらに具備し、
前記各マルチビットセルは、Mビットのデータ(Mは「0」よりも大きい整数)を格納することを特徴とする請求項1に記載のエンコードシステム。 - 複数のマルチビットセルを含むページアレイに前記第2ビット列をプログラミングするプログラミング部をさらに具備し、
前記各マルチビットセルはLビットのデータを格納し、
前記第2エンコーダは、K個のワード線に接続するマルチビットセルに格納されるM個の前記第2ビット列を生成し、
ここで、M=L×Kの関係式が成立し、M、L、Kは「0」よりも大きい整数であることを特徴とする請求項1に記載のエンコードシステム。 - 前記第2ビット列のi番目の要素Siは、前記第1ビット列のj番目の要素B[j]から、j=(i×C+D)mod(M×C)およびSi=B[j]によって得られ、
ここで、Dはシャッフル過程のオフセットであり、modはモジュロ演算を示すことを特徴とする請求項1に記載のエンコードシステム。 - 前記第2ビット列のi番目の要素Siは前記オフセットDのiを調整することによって得られることを特徴とする請求項10に記載のエンコードシステム。
- エラー制御コードをエンコードおよびデコードするためのシステムにおいて、
第1ビット列を生成するように入力ビット列をエンコードするエラー制御コード(ECC)エンコーダと、
前記第1ビット列を受信し、第2ビット列を生成するように前記受信した第1ビット列のデータをシャッフルするシャッフラと、
前記第2ビット列を受信し、第3ビット列を生成するように前記受信した第2ビット列をランダム化するランダマイザと、
前記第3ビット列を受信し、第4ビット列を生成するように前記第3ビット列を変換するメモリチャネルと、
前記第4ビット列を受信し、第5ビット列を生成するように前記第4ビット列をデランダマイズするデランダマイザと、
前記第5ビット列を受信し、第6ビット列を生成するように前記第5ビット列をデシャッフルするデシャッフラと、
前記第6ビット列を受信し、第7ビット列を生成するように前記受信した第6ビット列をデコードするECCデコーダと、
を具備することを特徴とするエラー制御コードをエンコードおよびデコードするためのシステム。 - 前記ECCデコーダは、前記第6ビット列に含まれたエラーが前記システムの最大エラー訂正性能よりも少ない場合に、前記第6ビット列におけるエラーを訂正するエラー制御コードをエンコードおよびデコードすることを特徴とする請求項12に記載のシステム。
- 前記ECCデコーダは、前記第6ビット列のエラーを訂正し、エラーの無い第7ビット列を生成するエラー制御コードをエンコードおよびデコードすることを特徴とする請求項12に記載のシステム。
- 入力ビット列を第1エンコードしてCビット(Cは「0」よりも大きい整数)の第1ビット列を生成するステップと、
前記第1ビット列を受信し、前記受信した第1ビット列のデータをシャッフルして第2ビット列を生成するステップと、
を有することを特徴とするエンコード方法。 - 前記第2ビット列を受信し、前記受信した第2ビット列をランダム化して第3ビット列を生成するステップをさらに有することを特徴とする請求項15に記載のエンコード方法。
- 複数のマルチビットセルを含むページアレイに前記第2ビット列をプログラミングするステップをさらに有し、
前記1つのマルチビットセルは、Mビットのデータを格納することを特徴とする請求項15に記載のエンコード方法。 - 前記第2ビット列のi番目の要素Siは、前記第1ビット列のj番目の要素B[j]から、j=(i×C+D)mod(M×C)およびSi=B[j]によって得られ、
ここで、Dはシャッフル過程のオフセットであり、modはモジュロ演算を示すことを特徴とする請求項15に記載のエンコード方法。 - 前記第2ビット列のi番目の要素Siは、前記オフセットDのiを調整することによって得られることを特徴とする請求項18に記載のエンコード方法。
- 請求項15に記載の方法を実行するためのプログラムが記録されていることを特徴とするコンピュータで読出し可能な記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2007-0112851 | 2007-11-06 | ||
KR1020070112851A KR101355633B1 (ko) | 2007-11-06 | 2007-11-06 | 인코더 및 인코딩 방법 |
PCT/KR2008/002773 WO2009061048A1 (en) | 2007-11-06 | 2008-05-19 | Encoding system and method for encoding error control codes within bit streams |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011503955A true JP2011503955A (ja) | 2011-01-27 |
JP5336501B2 JP5336501B2 (ja) | 2013-11-06 |
Family
ID=40589384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010531953A Expired - Fee Related JP5336501B2 (ja) | 2007-11-06 | 2008-05-19 | ビット列間のエラー制御コードをエンコードする方法およびエンコードシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8171382B2 (ja) |
JP (1) | JP5336501B2 (ja) |
KR (1) | KR101355633B1 (ja) |
WO (1) | WO2009061048A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013173961A1 (en) * | 2012-05-21 | 2013-11-28 | Nokia Siemens Networks Oy | Interference randomization |
WO2018187902A1 (en) | 2017-04-10 | 2018-10-18 | Qualcomm Incorporated | An efficient interleaver design for polar codes |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06112928A (ja) * | 1992-09-25 | 1994-04-22 | Nec Corp | フレーム同期回路 |
JPH07143098A (ja) * | 1993-11-16 | 1995-06-02 | Toshiba Corp | Ofdm送信装置及びofdm受信装置 |
JPH0897731A (ja) * | 1994-09-21 | 1996-04-12 | Sony Corp | インターリーブ方式およびインターリーブ回路 |
JP2003304176A (ja) * | 2002-04-08 | 2003-10-24 | Matsushita Electric Ind Co Ltd | 通信システム、受信装置及び受信方法 |
JP3847993B2 (ja) * | 1997-12-31 | 2006-11-22 | 三星電子株式会社 | マルチビット半導体メモリ装置及びその装置の誤り訂正方法 |
WO2006136883A1 (en) * | 2005-06-22 | 2006-12-28 | Adaptive Spectrum And Signal Alignment, Inc. | Dynamic minimum-memory interleaving |
JP2007049723A (ja) * | 1993-03-25 | 2007-02-22 | Matsushita Electric Ind Co Ltd | 送信装置、受信装置、送信方法、受信方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR930001190A (ko) | 1991-06-29 | 1993-01-16 | 강진구 | 디지탈 데이타의 에러 정정장치 |
JPH05204751A (ja) | 1992-01-29 | 1993-08-13 | Hitachi Ltd | メモリ回路 |
JPH07226026A (ja) * | 1994-02-15 | 1995-08-22 | Sony Corp | ディジタル信号記録再生装置 |
US5757822A (en) * | 1995-08-24 | 1998-05-26 | Quantum Corporation | Bit-interleaved rate 16/17 modulation code with three-way byte-interleaved ECC |
US5745522A (en) | 1995-11-09 | 1998-04-28 | General Instrument Corporation Of Delaware | Randomizer for byte-wise scrambling of data |
US6332042B1 (en) | 1997-10-23 | 2001-12-18 | Sony Corporation | Apparatus and method for encoding and decoding data in a lossy transmission environment |
KR19990058425A (ko) | 1997-12-24 | 1999-07-15 | 윤종용 | 메모리 제어장치 |
KR100272708B1 (ko) * | 1997-12-30 | 2000-11-15 | 전주범 | D-vhs시스템에서 셔플링을 이용한 디지털 데이터의 코딩/디코딩 방법 |
JP4138031B2 (ja) * | 1998-01-09 | 2008-08-20 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | n−ビットソースワードから対応したm−ビットチャネルワードへの符号化装置、並びに、逆向きの復号化装置 |
KR100547832B1 (ko) * | 1998-07-31 | 2006-04-10 | 삼성전자주식회사 | 통신시스템의 채널 부호화 및 복호화 장치 |
KR100526512B1 (ko) | 1999-05-20 | 2005-11-08 | 삼성전자주식회사 | 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법 |
US7093179B2 (en) * | 2001-03-22 | 2006-08-15 | University Of Florida | Method and coding means for error-correction utilizing concatenated parity and turbo codes |
KR100630143B1 (ko) * | 2002-09-30 | 2006-09-29 | 삼성전자주식회사 | 통신 시스템에서 셔플링 데이터의 수신 방법 및 장치 |
-
2007
- 2007-11-06 KR KR1020070112851A patent/KR101355633B1/ko active IP Right Grant
-
2008
- 2008-04-29 US US12/149,214 patent/US8171382B2/en active Active
- 2008-05-19 WO PCT/KR2008/002773 patent/WO2009061048A1/en active Application Filing
- 2008-05-19 JP JP2010531953A patent/JP5336501B2/ja not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06112928A (ja) * | 1992-09-25 | 1994-04-22 | Nec Corp | フレーム同期回路 |
JP2007049723A (ja) * | 1993-03-25 | 2007-02-22 | Matsushita Electric Ind Co Ltd | 送信装置、受信装置、送信方法、受信方法 |
JPH07143098A (ja) * | 1993-11-16 | 1995-06-02 | Toshiba Corp | Ofdm送信装置及びofdm受信装置 |
JPH0897731A (ja) * | 1994-09-21 | 1996-04-12 | Sony Corp | インターリーブ方式およびインターリーブ回路 |
JP3847993B2 (ja) * | 1997-12-31 | 2006-11-22 | 三星電子株式会社 | マルチビット半導体メモリ装置及びその装置の誤り訂正方法 |
JP2003304176A (ja) * | 2002-04-08 | 2003-10-24 | Matsushita Electric Ind Co Ltd | 通信システム、受信装置及び受信方法 |
WO2006136883A1 (en) * | 2005-06-22 | 2006-12-28 | Adaptive Spectrum And Signal Alignment, Inc. | Dynamic minimum-memory interleaving |
Non-Patent Citations (2)
Title |
---|
JPN6013031621; Boris Polianskikh et al.: 'Design and implementation of error detection and correction circuitry for multilevel memory protecti' Multiple-Valued Logic, 2002. ISMVL 2002. Proceedings 32nd IEEE International Symposium on , 2002 * |
JPN6013031622; Masashi Takata et al.: 'Multiple Programming Method and Circuitry for a Phase Change Nonvolatile Random Access Memory(PRAM)' IEICE Transactions on Electronics Vol.E87-C, No.10, 20041001, pp.1679-1685 * |
Also Published As
Publication number | Publication date |
---|---|
KR101355633B1 (ko) | 2014-01-29 |
KR20090046608A (ko) | 2009-05-11 |
JP5336501B2 (ja) | 2013-11-06 |
WO2009061048A1 (en) | 2009-05-14 |
US8171382B2 (en) | 2012-05-01 |
US20090119569A1 (en) | 2009-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8713411B2 (en) | Encoding and/or decoding memory devices and methods thereof | |
JP5723967B2 (ja) | ソリッド・ステート・ストレージ・デバイスのsレベル・ストレージに入力データを記録するための方法、エンコーダ装置、およびソリッド・ステート・ストレージ・デバイス | |
JP2001175542A (ja) | 記録再生装置および半導体メモリ | |
KR101892319B1 (ko) | 저-밀도 패리티 체크 코드를 사용하는 인코딩 및 디코딩 기술 | |
US8650458B2 (en) | Methods of encoding/decoding for error correction code utilizing interdependent portions of codewords and related circuits | |
JP2010522924A (ja) | 読み取りレベル制御装置およびその方法 | |
US8230157B2 (en) | Memory device and method of multi-bit programming | |
JP2015507409A (ja) | 代数符号を用いるマルチフェーズecc符号化 | |
JP2007087529A (ja) | 信号復号装置、信号復号方法、および記憶システム | |
JP2013524609A5 (ja) | ||
US20100235711A1 (en) | Data Processing System with Concatenated Encoding and Decoding Structure | |
JP5805727B2 (ja) | 縮退故障を有するメモリセルに対応するためのデータ符号化及び復号化 | |
US10090860B2 (en) | Memory system using integrated parallel interleaved concatenation | |
JP2019125910A (ja) | メモリシステム | |
JP5336501B2 (ja) | ビット列間のエラー制御コードをエンコードする方法およびエンコードシステム | |
US10970166B2 (en) | Memory system and method of controlling non-volatile memory | |
KR101436973B1 (ko) | 슈퍼차지드 코드들 | |
KR20110127001A (ko) | 페이지-기반 반복 복호 구조를 갖는 메모리 시스템 및 그것의 페이지-기반 반복 복호 방법 | |
CN110795271A (zh) | 对用户数据执行纠错的纠错电路和使用其的纠错方法 | |
JP5667408B2 (ja) | リードソロモン符号・復号化回路、リードソロモン符号・復号化方法、および、記憶装置 | |
US10951238B1 (en) | Memory system and method for controlling non-volatile memory | |
Okeke et al. | A comparative study between hamming code and Reed-Solomon code in byte error detection and correction | |
JPH11272568A (ja) | 記憶再生装置、誤り訂正方法及びこれらを用いた携帯情報端末ならびにディジタルカメラ | |
US10114569B2 (en) | Computing system with shift expandable coding mechanism and method of operation thereof | |
JP2011078115A (ja) | 情報処理装置および情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130408 |
|
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: 20130702 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130801 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5336501 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
LAPS | Cancellation because of no payment of annual fees |