JP2013225307A - 不揮発性メモリ装置を制御するコントローラの動作方法、及び、極符号化された符号語を不揮発性メモリ装置のマルチビットデータにマッピングするマッピングパターン選択方法 - Google Patents

不揮発性メモリ装置を制御するコントローラの動作方法、及び、極符号化された符号語を不揮発性メモリ装置のマルチビットデータにマッピングするマッピングパターン選択方法 Download PDF

Info

Publication number
JP2013225307A
JP2013225307A JP2013088461A JP2013088461A JP2013225307A JP 2013225307 A JP2013225307 A JP 2013225307A JP 2013088461 A JP2013088461 A JP 2013088461A JP 2013088461 A JP2013088461 A JP 2013088461A JP 2013225307 A JP2013225307 A JP 2013225307A
Authority
JP
Japan
Prior art keywords
bit
mapping
pattern
memory device
data
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
Application number
JP2013088461A
Other languages
English (en)
Other versions
JP6250299B2 (ja
Inventor
Ki Jun Lee
起 準 李
Dong-Min Shin
東 旻 申
Kyeongcheol Yang
景 チョル 梁
Seung-Chan Lim
勝 燦 任
Jun-Jin Kong
駿 鎮 孔
Myung-Kyu Lee
明 奎 李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Academy Industry Foundation of POSTECH
Original Assignee
Samsung Electronics Co Ltd
Academy Industry Foundation of POSTECH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd, Academy Industry Foundation of POSTECH filed Critical Samsung Electronics Co Ltd
Publication of JP2013225307A publication Critical patent/JP2013225307A/ja
Application granted granted Critical
Publication of JP6250299B2 publication Critical patent/JP6250299B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1072Adding 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56004Pattern generation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56008Error analysis, representation of errors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】向上された信頼性及び低減された複雑度を有する、不揮発性メモリ装置を制御するように構成されるコントローラの動作方法を提供する。
【解決手段】本発明の動作方法は、情報ビットを極符号化して符号語(code word)を生成する段階と、マッピングパターンを読み出す段階と、マッピングパターンを反復して反復されたマッピングパターンを生成する段階と、反復されたマッピングパターンに従って符号語の各ビットを不揮発性メモリ装置のマルチビットデータの中の特定ビットにマッピングする段階と、で構成される。
【選択図】図7

Description

本発明は半導体メモリに係り、より詳細には不揮発性メモリ装置を制御するコントローラの動作方法、及び、極符号化された符号語(polar coded code word)を不揮発性メモリ装置のマルチビットデータにマッピングするマッピングパターン選択方法に関する。
半導体メモリ装置(semiconductor memory device)はシリコン(Si、silicon)、ゲルマニウム(Ge、germanium)、砒素ガリウム(GaAs、gallium arsenide)、リン化インジウム(InP、indium phospide)等の半導体を利用して具現される記憶装置である。半導体メモリ装置は大きく、揮発性メモリ装置(Volatile memory device)と不揮発性メモリ装置(Nonvolatile memory device)とに区分される。
揮発性メモリ装置は、電源供給が遮断されると格納されたデータが消滅するメモリ装置であり、揮発性メモリ装置にはSRAM(Static RAM)、DRAM(Dynamic RAM)、SDRAM(Synchronous DRAM)等がある。不揮発性メモリ装置は電源供給が遮断されても格納されたデータを維持するメモリ装置であり、不揮発性メモリ装置にはROM(Read Only Memory)、PROM(Programmable ROM)、EPROM(Electrically Programmable ROM)、EEPROM(Electrically Erasable and Programmable ROM)、フラッシュメモリ装置、PRAM(Phase−change RAM)、MRAM(Magnetic RAM)、RRAM(登録商標)(Resistive RAM)、FRAM(登録商標)(Ferroelectric RAM)等がある。フラッシュメモリ装置は大きく、NORタイプとNANDタイプとに区分される。
最近、極符号化(polar_encoding)が、大きいクラスのチャネルに対する簡素な符号化スキームとして導入された。極符号化では通常、2つのレベルの極性、即ち、正と負の振幅を用いてビットを表わす。極符号化の普通の型はNRZ(Non−Return−to−Zero)であり、NRZの場合信号レベルは送信されたバイナリデジットにより決定される。即ち、バイナリ‘1’は正電圧で、バイナリ‘0’は負電圧で示される。しかしながら、極符号化を使用する不揮発性メモリを制御する方法と装置が必要になる。
米国特許公開第2009/0282316号公報
本発明の目的は、不揮発性メモリ装置を制御する、向上された信頼性と低減された複雑度とを有するコントローラの動作方法、及び、極符号化された符号語を不揮発性メモリ装置のマルチビットデータにマッピングする、向上された信頼性と低減された複雑度とを有するマッピングパターン選択方法を提供することにある。
不揮発性メモリ装置を制御するように構成される本発明の実施形態によるコントローラの動作方法は、情報ビットを極符号化して符号語(code word)を生成する段階と、マッピングパターンを読み出す段階と、前記マッピングパターンを反復して反復されたマッピングパターンを生成する段階と、前記反復されたマッピングパターンに従って、前記符号語の各ビットを前記不揮発性メモリ装置のマルチビットデータの中の特定ビットにマッピングする段階と、を含む。
実施形態として、前記反復されたマッピングパターンの長さは前記符号語の長さと同一である。
実施形態として、前記マッピングする段階は、前記反復されたマッピングパターンに従って、前記符号語の各ビットを最下位ビット又は最上位ビットにマッピングする段階を含む。
実施形態として、前記マッピングする段階は、前記反復されたマッピングパターンに従って、前記符号語の各ビットを最下位ビット、中間ビット(CSB:Central Significant Bit)、又は最上位ビットにマッピングする段階を含む。
実施形態として、前記マッピングされた符号語をマルチビット書込みデータに前記不揮発性メモリ装置へ伝送する段階をさらに含む。
実施形態として、前記不揮発性メモリ装置からマルチビット読出しデータを受信する段階と、前記反復されたマッピングパターンに基づいて前記マルチビット読出しデータを読み出された符号語に変換する段階と、前記読み出された符号語をデコーディングする段階と、をさらに含む。
実施形態として、前記マッピングされた符号語をエラー訂正エンコーディングする段階と、前記エラー訂正エンコーディングされた符号語をマルチビット書込みデータに前記不揮発性メモリ装置へ伝送する段階と、をさらに含む。
実施形態として、前記不揮発性メモリ装置から最上位ビット読出しデータ及び最下位ビット読出しデータを受信する段階と、前記最上位ビット読出しデータ及び最下位ビット読出しデータをエラー訂正デコーディングする段階と、前記反復されたマッピングパターンに基づいて前記エラー訂正デコーディングされた最上位ビット読出しデータ及び最下位ビット読出しデータを読み出された符号語に変換する段階と、前記読み出された符号語を復号する段階と、をさらに含む。
極符号化された符号語を不揮発性メモリ装置のマルチビットにマッピングする本発明の実施形態によるマッピングパターンを選択するマッピングパターン選択方法は、複数のパターンを生成する段階と、前記複数のパターンを各々反復して複数の反復されたパターンを生成する段階と、前記複数の反復されたパターンのエラー率を各々計算する段階と、前記計算されたエラー率に従って、前記複数の反復されたパターンの中で1つの反復されたパターンを選択する段階と、を含む。
実施形態として、前記エラー率を各々計算する段階は前記マルチビットの確率密度関数に基づいて遂行される。
実施形態として、前記エラー率を各々計算する段階は、前記マルチビットの確率密度関数に基づいて、極符号化器の入力端のビットのエラー率を各々計算する段階を含む。
実施形態として、前記極符号化器の入力端のビットのエラー率の中で少なくとも1つのエラー率が基準値より大きい時、該当反復されたパターンは非選択される。
実施形態として、前記極符号化器の入力端のビットのエラー率の平均が最も低い反復されたパターンが選択される。
実施形態として、前記選択された反復されたパターンに対応するパターンを不揮発性メモリ装置のコントローラに格納する段階をさらに含む。
実施形態として、前記反復されたパターンの長さは前記極符号化された符号語の長さと同一である。
本発明によれば、反復されたパターンに従って極符号化された符号語がマルチビットデータにマッピングされる。従って、不揮発性メモリ装置を制御する、向上された信頼性と低減された複雑度とを有するコントローラの動作方法、及び、極符号化された符号語を不揮発性メモリ装置のマルチビットデータにマッピングする、向上された信頼性と低減された複雑度とを有するマッピングパターン選択方法が提供される。
本発明の実施形態によるメモリシステムを示すブロック図である 図1の不揮発性メモリ装置を示すブロック図である。 第1実施形態によるメモリセルアレイを示す回路図である。 第2実施形態によるメモリセルアレイを示す回路図である。 第1実施形態によるコントローラを示すブロック図である。 極符号エンコーダー/デコーダーが符号語をマルチビットデータにマッピングする例を示すテーブルである。 本発明の実施形態によるコントローラの動作方法を示す順序図である。 極符号エンコーダー/デコーダーの例を示すブロック図である。 極符号エンコーダー/デコーダーのエンコーディング過程の例を示すテーブルである。 第1例に従う生成行列エンコーディング部を示す。 第2例に従う生成行列エンコーディング部を示す。 第3例に従う生成行列エンコーディング部を示す。 図1の不揮発性メモリ装置及びコントローラ、そしてコントローラと連結されたテスト装置を示すブロック図である。 本発明の実施形態によるマッピングパターン選択方法を示す順序図である。 図13のテスト装置を示すブロック図である。 第2実施形態によるコントローラを示すブロック図である。 図1のメモリシステムの応用例を示すブロック図である。 本発明の実施形態によるメモリカードを示す。 本発明の実施形態によるソリッドステートドライブを示す。 本発明の実施形態によるコンピューティングシステムを示すブロック図である。
以下で、本発明が属する技術分野で通常の知識を有する者が本発明の技術的思想を容易に実施できるようにするために、本発明の実施形態を添付した図面を参照して詳細に説明する。
図1は本発明の実施形態によるメモリシステム1000を示すブロック図である。図1を参照すれば、メモリシステム1000は不揮発性メモリ装置1100及びコントローラ1200を含む。
不揮発性メモリ装置1100はコントローラ1200の制御に従って書込み、読出し、及び消去を遂行するように構成される。
コントローラ1200はホスト(Host)1400及び不揮発性メモリ装置1100に連結される。ホスト1400からの要請に応答して、コントローラ1200は不揮発性メモリ装置1100にアクセスするように構成されている。例えば、コントローラ1200は不揮発性メモリ装置1100の読出し、書込み、及び消去動作を制御するように構成されている。そのために、コントローラ1200は不揮発性メモリ装置1100及びホスト1400の間にインターフェイスを提供し、不揮発性メモリ装置1100を制御するためのファームウェア(firmware)を駆動するように構成されている。
コントローラ1200はホスト1400からデータDATAを受信し、受信したデータを符号化して符号化された(coded)データDATA_Cを生成する。コントローラ1200は不揮発性メモリ装置1100に制御信号CTRL及びアドレスADDRに提供し、不揮発性メモリ装置1100と符号化されたデータDATA_Cを交換するように構成されている。コントローラ1200は不揮発性メモリ装置1100から符号化されたデータDATA_Cを受信し、これを逆符号化してデータDATAを復元するように構成されている。コントローラ1200は復元されたデータDATAをホストへ伝送する。
図2は図1の不揮発性メモリ装置1100を示すブロック図である。図2を参照すれば、不揮発性メモリ装置1100はメモリセルアレイ1110、アドレスデコーダー1120、読出し/書込み回路1130、及び制御ロジック1140を含む。
メモリセルアレイ1110はワードラインWLを通じてアドレスデコーダー1120に連結され、ビットラインBLを通じて読出し/書込み回路1130に連結される。メモリセルアレイ1110は複数のメモリセルを含む。例示的に、同一の行方向に配列されたメモリセルは同一のワードラインWLに連結される。同一の列方向に配列されたメモリセルは同一のビットラインBLに対応する。その場合、同一の列方向に配列されるメモリセルはセルグループ(セルストリングという)を形成する。そして、ビットラインBLに各々対応して連結される。例示的に、メモリセルアレイ1110はセルストリング当たり1つ又はその以上のビットを格納できる複数のメモリセルで構成される。
アドレスデコーダー1120はワードラインWLを通じてメモリセルアレイ1110に連結される。アドレスデコーダー1120は制御ロジック1140の制御に応答して動作するように構成される。アドレスデコーダー1120は外部からアドレスADDRを受信する。
アドレスデコーダー1120は受信されたアドレスADDRの中の行アドレスをデコーディングするように構成される。デコーディングされた行アドレスを利用して、アドレスデコーダー1120はワードラインWLを選択する。アドレスデコーダー1120は、伝達されたアドレスADDRの中の列アドレスをデコーディングするように構成される。デコーディングされた列アドレスDCAは読出し/書込み回路1130へ伝達される。例示的に、アドレスデコーダー1120は行デコーダー、列デコーダー、アドレスバッファ等の構成要素を含む。
読出し/書込み回路1130はビットラインBLを通じてメモリセルアレイ1110に連結され、外部と符号化されたデータDATA_Cを交換する。読出し/書込み回路1130は制御ロジック1140の制御に応答して動作する。読出し/書込み回路1130はアドレスデコーダー1120からデコーディングされた列アドレスDCAを受信するように構成される。デコーディングされた列アドレスDCAを利用して、読出し/書込み回路1130はビットラインBLを選択する。
例示的に、読出し/書込み回路1130は外部から符号化されたデータDATA_Cを受信し、受信されたデータDATA_Cをメモリセルアレイ1110に書き込む。読出し/書込み回路1130はメモリセルアレイ1110から符号化されたデータDATA_Cを読出し、読み出されたデータDATA_Cを外部へ伝達する。読出し/書込み回路1130はメモリセルアレイ1110の第1格納領域からデータを読出し、読み出されたデータをメモリセルアレイ1110の第2格納領域に書き込む。例えば、読出し/書込み回路1130はコピーバック(copy−back)動作を遂行するように構成される。
例示的に、読出し/書込み回路1130はページバッファ(又はページレジスター)、列選択回路、データバッファ等の構成要素を含む。他の例として、読出し/書込み回路1130は感知増幅器、書込みドライバー、列選択回路、データバッファ等構成要素を含む。
制御ロジック1140はアドレスデコーダー1120と読出し/書込み回路1130に連結される。制御ロジック1140は不揮発性メモリ装置1100の諸般動作を制御するように構成される。
図3は第1実施形態によるメモリセルアレイ1110aを示す回路図である。図3を参照すれば、同一の列方向に沿って提供され、一つのセルストリングを構成するメモリセルMC1〜MCmは各々、対応するワードラインWL1〜WLmに連結される。同一行のメモリセルMCは同一のワードラインWLに連結される。
異なる列方向に沿って提供され、各々メモリセルMC1〜MCmからなるセルストリングは、ビットラインBL1〜BLnに対応する。即ち、同一の列のメモリセルMC1〜MCmは同一のビットラインBLに対応する。
ビットラインBL1〜BLnと、メモリセルMC1〜MCmから構成された対応するセルストリングとの間にストリング選択トランジスターSSTが連結される。ストリング選択トランジスターSSTはストリング選択ラインSSLに連結される。共通ソースラインCSLとメモリセルMC1〜MCmとの間に接地選択トランジスターGSTが連結される。接地選択トランジスターGSTは接地選択ラインGSLに連結され得る。
メモリセルアレイ1110aは平面型(planar)NANDフラッシュメモリアレイであり得、メモリセルMC1〜MCmは縦続接続されてセルストリングを形成する。
図4は第2実施形態によるメモリセルアレイ1110bを示す回路図である。図4を参照すれば、ビットラインBL1、BL2及び共通ソースラインCSLの間にセルストリングCS11、CS12、CS21、CS22が提供される。第1ビットラインBL1と共通ソースラインCSLとの間にセルストリングCS11、CS21が連結され、第2ビットラインBL2と共通ソースラインCSLとの間にセルストリングCS12、CS22が連結される。
セルストリング中の同一高さの(同一位置に配置された)メモリセルは1つのワードライン(又はダミーワードライン)に共通に連結されている。従って、特定の高さのワードライン(又はダミーワードライン)へ電圧が供給される時、すべてのセルストリングCS11、CS12、CS21、CS22の対応する位置に配置されたセルへ電圧が供給される。
同一の列に属する異なるセルストリングは、異なるストリング選択ラインSSL1、SSL2に各々連結される。第1及び第2ストリング選択ラインSSL1、SSL2を選択及び非選択することによって、セルストリングCS11、CS12、CS21、CS22が選択及び非選択され得る、例えば非選択されたストリング選択ラインSSL1(又は、SSL2)に連結されたセルストリングCS11及びCS12(又は、CS21及びCS22)はビットラインBL1、BL2から電気的に分離される。一方、選択されたストリング選択ラインSSL2(又は、SSL1)に連結されたセルストリングCS21及びCS22(又は、CS11及びCS12)はビットラインBL1、BL2に電気的に連結される。
セルストリングCS11、CS12、CS21、CS22はビットラインBL1、BL2に連結され、より具体的には、第1ビットラインBL1にセルストリングCS11、CS21が連結され、第2ビットラインBL2にセルストリングCS12、CS22が連結される。ビットラインBL1、BL2を選択(又は、非選択)することによって、各々、セルストリングの組(CS11、CS21)、(CS12、CS22)が選択(又は、非選択)される。
メモリセルアレイ1110bは垂直形(vertical)NANDフラッシュメモリアレイであり得、メモリセルMC1〜MCmは縦続接続されてセルストリングを形成する。
図5は第1実施形態によるコントローラ1200を示すブロック図である。図5を参照すれば、コントローラ1200はシステムバス1210、プロセッサー1220、RAM1230、ホストインターフェイス1240、メモリインターフェイス1250、及び極符号エンコーダー/デコーダー1260を含む。
システムバス1210はプロセッサー1220、RAM1230、ホストインターフェイス1240、メモリインターフェイス1250、及び極符号エンコーダー/デコーダー1260の間にチャンネルを提供する。
プロセッサー1220はコントローラ1200の諸般動作を制御する。
RAM(1230)はプロセッサー1220の動作メモリ(working_memory、スクラッチパッドともいう)、キャッシュメモリ、及びバッファメモリの中で少なくとも1つに利用され得る。
ホストインターフェイス1240は特定の通信規格に従って、不揮発性メモリ装置1100と通信できる。例示的に、コントローラ1200はUSB(Universal Serial Bus)、MMC(multimedia card)、PCI(peripheral component interconnection)、PCI−E(PCI−express)、ATA(Advanced Technology Attachment)、Serial−ATA、Parallel−ATA、SCSI(small computer small interface)、ESDI(enhanced small disk interface)、IDE(Integrated Drive Electronics)、及びファイアーワイヤ(Firewire)等の多様な通信規格の中で少なくとも1つを通じて外部(ホスト)と通信するように構成される。
メモリインターフェイス1250は不揮発性メモリ装置1100(図1参照)とインターフェイシングする。例えば、メモリインターフェイス1250はNANDインターフェイス又はNORインターフェイスを含む。
極符号エンコーダー/デコーダー1260は外部ホストから受信されるデータを極符号エンコーディングし、不揮発性メモリ装置1100から受信されるデータを極符号デコーディングするように構成される。
不揮発性メモリ装置1100が1つのメモリセルにマルチビットデータ(例えば、2又はその以上のビット)を格納するマルチビットセルを包含する時、極符号エンコーダー/デコーダー1260は極符号化された符号語(code word)のビットをマルチビットデータ(例えば、最下位ビット(LSB、Least Significant Bit)、中間ビット(CSB、Centeal Significant Bit)、及び最上位ビット(MSB、Most Significant Bit)にマッピング(mapping)するように構成される。最上位ビットMSBにマッピングされた符号語ビットは不揮発性メモリ装置1100に最上位ビットMSBとして書き込まれる。中間ビットCSBにマッピングされた符号語ビットは不揮発性メモリ装置1100に中間ビットCSBとして書き込まれる。最下位ビットLSBにマッピングされた符号語ビットは不揮発性メモリ装置1100に最下位ビットLSBとして書き込まれる。
また、極符号エンコーダー/デコーダー1260は不揮発性メモリ装置1100から読み出される最下位ビットLSB、中間ビットCSB及び最上位ビットMSBをデマッピング(demapping)して符号語(code word)を復元するように構成される。
図6は極符号エンコーダー/デコーダー1260が符号語をマルチビットデータにマッピングする例を示すテーブルである。図5及び図6を参照すれば、1つのメモリセルに2ビットデータが格納され、符号語の長さが2ビットである時、符号語は2つのパターンの中で1つに従って、マルチビットデータにマッピングされ得る。例えば、符号語の第1番目ビットはLSBにマッピングされ、第2番目ビットはMSBにマッピングされ得る。反対に、符号語の第1番目ビットはMSBにマッピングされ、第2番目ビットはLSBにマッピングされ得る。
1つのメモリセルに2ビットデータが格納され、符号語の長さが4ビットである時、符号語は6つのパターンの中の1つに従って、マルチビットデータにマッピングされる。
例えば、符号語の第1番目ビットはMSBにマッピングされ、第2番目ビットはMSBにマッピングされ、第3番目ビットはLSBにマッピングされ、そして第4番目ビットはLSBにマッピングされる。
他の例として、符号語の第1番目ビットはMSBにマッピングされ、第2番目ビットはLSBにマッピングされ、第3番目ビットはMSBにマッピングされ、そして第4番目ビットはLSBにマッピングされる。
更に他の例として、符号語の第1番目ビットはMSBにマッピングされ、第2番目ビットはLSBにマッピングされ、第3番目ビットはLSBにマッピングされ、そして第4番目ビットはMSBにマッピングされる。
更に他の例として、符号語の第1番目ビットはLSBにマッピングされ、第2番目ビットはLSBにマッピングされ、第3番目ビットはMSBにマッピングされ、そして第4番目ビットはMSBにマッピングされる。
更に他の例として、符号語の第1番目ビットはLSBにマッピングされ、第2番目ビットはLSBにマッピングされ、第3番目ビットはLSBにマッピングされ、そして第4番目ビットはMSBにマッピングされる。
更に他の例として、符号語の第1番目ビットはLSBにマッピングされ、第2番目ビットはMSBにマッピングされ、第3番目ビットはMSBにマッピングされ、そして第4番目ビットはLSBにマッピングされ得る。
1つのメモリセルに2ビットデータが格納され、符号語の長さがnビットである時、符号語は数学式1に従って計算される数のパターンの中の1つに従ってマルチビットデータにマッピングされる。
[数学式1]

(n!)/((n/2)!)
1つのメモリセルにmビットデータが格納され、符号語の長さがnビットである時、符号語は数学式2に従って計算される数のパターンの中で1つに従ってマルチビットデータにマッピングされる。
[数学式2]

(n!)/((n/m)!)
即ち、符号語の長さが増加するほど、又は1つのメモリセルに格納されるマルチビットデータの個数が増加するほど、符号語がマッピングされるパターンの数は増加する。
パターンの中で最も低いエラー率を有するパターンが選択され、選択されたパターンに従って、符号語のビットとマルチビットデータとの間でマッピングされれば、メモリシステム1000の信頼性が向上される。しかし、最も低いエラー率を有するパターンを探すためには、数学式2に該当する数のパターンのエラー率を全て計算し、計算結果を比較しなければならないオーバーヘッドが要求される。
このような問題を防止するために、本発明の実施形態による極符号エンコーダー/デコーダー1260は符号語の長さより短い長さを有するパターンを反復して反復されたパターンを生成し、そして反復されたパターンに従って符号語ビットをマルチビットデータにマッピングする。
図7は本発明の実施形態によるコントローラ1200の動作方法を示す順序図である。例示的に、図7の動作方法はコントローラ1200の極符号エンコーダー/デコーダー1260によって遂行される。図5及び図7を参照すれば、S110段階で、コントローラ1200は情報ビットを極符号エンコーディングする。コントローラ1200は外部(ホスト)から情報ビットを受信し、受信された情報ビットに固定ビット(frozen bits)を追加して入力語(input word)を生成し、そして入力語に生成行列(Generation Matrix)を演算して極符号化された符号語(code word)を生成する。
S120段階で、コントローラ1200はマッピングパターンを読み出す。例えばコントローラ1200はコントローラ1200の内部に予め格納されているマッピングパターンを読み出す。
S130段階で、コントローラ1200はマッピングパターンを繰り返す。コントローラ1200は読み出されたパターンを反復して反復されたパターンを生成する。反復して生成されたパターンの長さは極符号化された符号語の長さと同一であり得る。
S140段階で、コントローラ1200は反復されたマッピングパターンに従って符号語をマルチビットデータにマッピングする。不揮発性メモリ装置1100が1つのメモリセルに2ビットデータを格納する時、コントローラ1200は反復されたマッピングパターンに従って符号語の各ビットをLSB又はMSBにマッピングできる。
不揮発性メモリ装置1100が1つのメモリセルに3ビットデータを格納する時、コントローラ1200は反復されたマッピングパターンに従って符号語の各ビットをLSB、CSB又はMSBにマッピングできる。
不揮発性メモリ装置1100が1つのメモリセルにmビットデータを格納する時、コントローラ1200は反復されたマッピングパターンに従って符号語の各ビットをm個のマルチビットデータの中の1つにマッピングできる。
例示的に、エンコーディング及びマッピングは図5の極符号エンコーダー/デコーダー1260によって遂行できる。他の例として、エンコーディングは図5の極符号エンコーダー/デコーダー1260によって遂行され、マッピングを遂行する別の機能ブロックがコントローラ1200に提供される。
図8は極符号エンコーダー/デコーダー1260の例を示すブロック図である。図5及び図8を参照すれば、極符号エンコーダー/デコーダー1260はパターン及び位置情報格納部1261、固定ビット挿入部1262、生成行列エンコーディング部1263、パターン反復部1264、ビット分類部1265、マッピング及びデマッピング部1266、及び連続除去デコーディング部1267を含む。
パターン及び位置情報格納部1261はパターンP及び位置情報LIを格納するように構成される。パターンPは符号語Cnとマルチビットデータとの間をマッピングするためのデータであり得る。パターン及び位置情報格納部1261に格納されたパターンPの長さは符号語Cnの長さより短い。パターン及び位置情報格納部1261に格納されたパターンPの長さは符号語Cnの長さの素因数の中の1つか、又は2つ以上の素因数の積の1つである。
位置情報LIは固定ビット(frozen bit)が挿入される位置に関する情報を示す。
固定ビット挿入部1262は情報ビットIkを受信する。例えば、外部のホストからホストインターフェイス1240を通じて情報ビットIkが受信される。情報ビットの長さはkである。
固定ビット挿入部1262はパターン及び位置情報格納部1261から位置情報LIを受信する。固定ビット挿入部1262は情報ビットIkに対して位置情報LIが示す位置に固定ビットを挿入する。固定ビットは‘0’、‘1’、又は特定のビットパターンを有し得る。固定ビット挿入部1262は情報ビットIkへ固定ビットを挿入して、入力語(Un:input word)を生成する。入力語の長さはnであり、nはkより大きい量の整数である。
生成行列エンコーディング部1263は固定ビット挿入部1262から入力語Unを受信する。生成行列エンコーディング部1263は入力語Unに対して生成行列を演算してエンコードし、エンコーディング結果を符号語Cnとして出力する。符号語Cnの長さはnであり得る。
パターン反復部1264はパターン及び位置情報格納部1261からパターンPを受信する。パターン反復部1264は受信されたパターンPを反復して、反復されたパターンRPを生成する。パターン反復部1264は反復されたパターンRPの長さが符号語Cnの長さと同一になるように、パターンPを反復する。
ビット分類部1265はパターン反復部1264から反復されたパターンRPを受信する。ビット分類部1265は反復されたパターンRPに基づいて、ビット集合データS1〜Smを生成する。ビット集合データS1はマルチビットデータの中で第1番目ビット(例えば、LSB)にマッピングされる符号語ビットを示す。ビット集合データS2はマルチビットデータの中で第2番目ビット(例えば、CSB)にマッピングされる符号語ビットを示す。ビット集合データSmはマルチビットデータの中でm番目ビット(例えば、MSB)にマッピングされる符号語ビットを示す。例示的に、ビット集合データS1〜Smは符号語ビットの位置を示す。
マッピング及びデマッピング部1266は生成行列デコーディング部1263から符号語Cnを受信し、ビット分類部1265からビット集合データS1〜Smを受信する。マッピング及びデマッピング部1266はビット集合データS1に該当する符号語ビットを例えば、LSBデータにマッピングする。マッピング及びデマッピング部1266はビット集合データS2に該当する符号語ビットを例えば、CSBデータにマッピングする。マッピング及びデマッピング部1266はビット集合データSmに該当する符号語ビットを例えば、MSBデータにマッピングする。マッピング結果は符号化されたデータDATA_Cとして出力される。例えば、符号化されたデータDATA_Cはメモリインターフェイス1250を通じて不揮発性メモリ装置1100へ伝送される。
一方、マッピング及びデマッピング部1266は符号化されたデータDATA_C’を受信する。例えば、不揮発性メモリ装置1100に書かれた符号化されたデータDATA_Cが読み出され、読み出されたデータDATA_C’がメモリインターフェイス1250を通じてマッピング及びデマッピング部1266に受信される。
読み出されたデータDATA_C’はマルチビットデータである。読み出されたデータDATA_C’はLSBデータ、CSBデータ及びMSBデータを包含する。マッピング及びデマッピング部1266はビット分類部1265から受信されるビット集合データS1〜Smに基づいて、読み出された符号語Cn’を復元する。マッピング及びデマッピング部1266はビット集合データS1〜Smに含まれたマッピング情報を参照して、読み出されたデータDATA_Cを1つのビットずつ順次的に配列して、読み出された符号語Cn’を復元する。読み出された符号語Cn’の長さはnである。
連続除去デコーディング部1267はパターン及び位置情報格納部1261から位置情報LIを受信し、マッピング及びデマッピング部1266から読み出された符号語Cn’を受信する。連続除去デコーディング部1267は位置情報LI及び読み出された符号語Cn’に基づいて連続除去デコーディング(Successive Cancelation Decoding)を遂行できる。連続除去デコーディングの結果は読み出された情報ビットIk’として出力される。例えば、読み出された情報ビットIk’はホストインターフェイス1240を通じて外部のホストへ出力される。読み出された情報ビットIk’の長さはkである。
他の例として、ビット分類部1265とマッピング及びデマッピング部1266のマッピング部分はマルチプレクサーを形成できる。該マルチプレクサーはパターン反復部1264の出力である反復されたパターンRPを選択信号として受信し、生成行列エンコーディング部1263の出力である符号語Cnを入力信号として受信する。
マルチプレクサーは選択信号である反復されたパターンRPがMSB、CSB、LSBの中のいずれを示すかに従って、入力信号である符号語Cnの各ビットをMSB、CSB、又はLSBビットとして出力する。
例示的に、連続除去デコーディングが遂行される場合が説明された。しかし、本発明の技術的思想は連続除去デコーディングに限定されない。例えば、本発明の技術的思想は信頼伝達(belief propagation、グラフィカルモデルに基づき推論を遂行するメッセージパッシングアルゴリズム)のように、極符号化された符号語をデコーディングできる多様な方法に応用され得る。
図9は極符号エンコーダー/デコーダー1260のエンコーディング過程の例を示すテーブルである。図8及び図9を参照すれば、生成行列エンコーディング部1263は符号語Cnとして例えば、‘100110011011’を生成する。一方、パターン及び位置情報格納部1261はパターンPとしてLSB−CSB−MSB−CSB−MSB−LSBを出力する。
パターン反復部1264はパターンPを受信し、符号語Cnと同一の長さの反復されたパターンRPが生成されるように受信されたパターンPを反復する。例示的に、符号語Cnの長さが8であり、パターンPの長さが6であれば、パターンPを2回反復して反復されたパターンRPが生成される。反復されたパターンRPは、この場合、LSB−CSB−MSB−CSB−MSB−LSB−LSB−CSB−MSB−CSB−MSB−LSBである。
ビット分類部1265は反復されたパターンRPに基づいてビット集合データS1〜Smを生成する。例示的に、ビット集合データS1はLSBにマッピングされる符号語ビットを示す。反復されたパターンRPによれば、第1番目、第6番目、第7番目、及び第12番目ビットがLSBを示すので、ビット集合データS1はLSBにマッピングされる符号語ビットの位置である‘1’、‘6’、‘7’、‘12’を示す。
ビット集合データS2はCSBにマッピングされる符号語ビットを示す。反復されたパターンRPで、第2番目、第4番目、第8番目、及び第10番目ビットがCSBを示すので、ビット集合データS2はCSBにマッピングされる符号語ビットの位置である‘2’、‘4’、‘8’、‘10’を示す。
ビット集合データS3はMSBにマッピングされる符号語ビットを示す。反復されたパターンRPで、第3番目、第5番目、第9番目、及び第11番目ビットがMSBを示すので、ビット集合データS3はMSBにマッピングされる符号語ビットの位置である‘3’、‘5’、‘9’、‘11’を示す。
マッピング及びデマッピング部1266はビット集合データS1、S2に基づいて、符号語Cnをマルチビットデータにマッピングできる。LSBデータを示すビット集合データS1が‘1’、‘6’、‘7’、‘12’であるので、符号語Cnの第1番目、第6番目、第7番目、及び第12番目ビットである‘1001’がLSBにマッピングされる。CSBデータを示すビット集合データS2が‘2’、‘4’、‘8’、‘10’であるので、符号語Cnの第2番目、第4番目、第8番目、及び第10番目ビットである‘0110’がCSBにマッピングされる。MSBデータを示すビット集合データS3が‘3’、‘5’、‘9’、‘11’であるので、符号語Cnの第3番目、第5番目、第9番目、及び第11番目ビットである‘0111’がMSBにマッピングされる。
上述したように、コントローラ1200は予め格納されたパターンPを反復して反復されたパターンRPを生成し、反復されたパターンRPに基づいて符号語Cnをマルチビットデータにマッピングする。パターンPを格納するための装置が小サイズになるか、或いはパターンPを演算するための装置が要求されないので、極符号化を使用するコントローラ1200の複雑度が減少する。また、極符号化を使用するので、コントローラ1200の信頼性が向上する。
図10は第1実施例に従う生成行列エンコーディング部1263aを示す。例示的に、生成行列エンコーディング部1263aへ入力される入力語Unの長さは2であり、生成行列エンコーディング部1263aによって生成される符号語Cnの長さは2である。
図10を参照すれば、生成行列エンコーディング部1263aは2入力ビットの和を第1番目出力ビットとして出力し、第2番目入力ビットを第2番目出力ビットとして出力する。
図11は第2実施例に従う生成行列エンコーディング部1263bを示す。例示的に、生成行列エンコーディング部1263bへ入力される入力語Unの長さは4であり、生成行列エンコーディング部1263bによって生成される符号語Cnの長さは4である。
図11を参照すれば、生成行列エンコーディング部1263bは図10を参照して説明した長さ2の生成行列エンコーディング部1263aを4個含む。長さ2の生成行列エンコーディング部1263aが符号語Cnの長さに合わせて2個、配置され、これらの前段に、長さ2の生成行列エンコーディング部1263aがインタリービングステージとして2個提供される。
図12は第3実施例に従う生成行列エンコーディング部1263cを示す。例示的に、生成行列エンコーディング部1263cへ入力される入力語Unの長さは8であり、生成行列エンコーディング部1263cによって生成される符号語Cnの長さは8である。
図12を参照すれば、生成行列エンコーディング部1263cは図10を参照して説明した長さ2の生成行列エンコーディング部1263aを4個、及び図11を参照して説明された長さ4の生成行列エンコーディング部1263bを2個含む。長さ4の生成行列エンコーディング部1263bが符号語Cnの長さに合わせて2個配置され、これらの前段に長さ2の生成行列エンコーディング部1263aがインタリービングステージとして4個提供される。
図10乃至図12を参照して説明したように、長さnの入力語Unを長さnの符号語Cnに変換する生成行列エンコーディング部1263は長さn/2の生成行列エンコーディング部2つとこれらの前段に配置されるインタリービングステージを包含する。
図10乃至図12で、2、即ち2の羃乗(p乗、pは整数)の長さを有する符号語Cnを出力する生成行列エンコーディング部1263の例が説明された。しかし、生成行列エンコーディング部1263は、3の羃乗、5の羃乗のように1つの素数の羃乗、又は2つ以上の素数の積の羃乗に該当する長さを有する符号語Cnを出力するように構成される。
図13は図1の不揮発性メモリ装置1100、コントローラ1200、及びコントローラ1200と連結されたテスト装置1300を示すブロック図である。図13を参照すれば、テスト装置1300はコントローラ1200にパターンPを格納するように構成される。テスト装置1300は不揮発性メモリ装置1100及びコントローラ1200に関する情報に基づいて、パターンPを選択する。テスト装置1300は選択されたパターンPをコントローラ1200に格納する。
図14は本発明の実施形態によるマッピングパターン選択方法を示す順序図である。図13及び図14を参照すれば、S210段階で、テスト装置1300はパターンを生成する。S220段階で、テスト装置1300はパターンを反復して反復されたパターンを生成する。S230段階で、テスト装置1300は反復されたパターンのエラー率を計算する。例示的に、反復されたパターンのエラー率はLSBの確率密度関数(又は近似化された確率密度関数)、CSBの確率密度関数(又は近似化された確率密度関数)、及びMSBの確率密度関数(又は近似化された確率密度関数)に基づいて計算される。S240段階で、テスト装置1300は計算されたエラー率に従ってパターンを選択する。選択されたパターンはコントローラ1200に格納される。
図15は図13のテスト装置1300を示すブロック図である。図13乃至図14を参照すれば、テスト装置1300はパターン生成部1310、パラメーター格納部1320、エラー測定部1330、及び選択部1340を含む。
パターン生成部1310は複数のパターンPを生成するように構成される。例示的に、図1乃至図12を参照して説明したように、符号語Cnの長さより短い長さを有する長さが選択される。パターン生成部1310は選択された長さに該当するパターンPを生成する。例示的に、パターン生成部1310は図6を参照して説明された数のパターンPを生成する。
パラメーター格納部1320は不揮発性メモリ装置1100及びコントローラ1200に関する情報を格納するように構成される。パラメーター格納部1320は不揮発性メモリ装置1100のチャンネル情報CIを格納するように構成される。例示的に、メモリセルの確率密度関数(PDF:Probability Density Functions)(又は近似化された確率密度関数)に関する情報を格納する。符号語Cnは不揮発性メモリ装置1100のメモリセルにプログラムされ(書き込まれ)、これらから読み出される。
符号語Cnはソースデータであり、不揮発性メモリ装置1100から読み出されたデータは符号語Cnが複数のメモリメモリセルによって形成されるチャンネルを通じて受信されたデータであり得る。パラメーター格納部1320は不揮発性メモリ装置1100の複数のチャンネル、即ちマルチビットデータが格納されるチャンネル(以下で、メモリセルのチャンネルは第1チャンネルと称する)に各々対応する確率密度関数PDFに関する情報を格納する。
パラメーター格納部1320はコントローラ1200の生成行列エンコーディング部1263の生成行列情報GMIを格納するように構成される。例えば、パラメーター格納部1320は入力語Unがどのような演算を通じて符号語Cnに変換されるかに関する情報を格納する。
エラー測定部1330はパターン生成部1310からパターンPを受信し、パラメーター格納部1320からチャンネル情報CI及び生成行列情報GMIを受信する。エラー測定部1330はチャンネル情報CI及び生成行列情報GMIに基づいて、入力語Unの各ビットが伝送されるチャンネル(以下で、入力語Unの各ビットが伝送されるチャンネルは第2チャンネルと称する)のエラー率を測定する。例えば、入力語Unが第2チャンネルを通じて伝送されて極符号化及び極復号化が遂行された時のエラー率、即ちデコーディングされたビットエラー率(decoded BER)が測定される。
入力語Unのビットは符号語Cnに変換されて不揮発性メモリ装置1100に書き込まれる。不揮発性メモリ装置1100から読み出されたデータは連続除去デコーディングされて読み出された入力語Un’として復元される。この過程で、入力語Unのビットは各々第2チャンネルを通じて伝送されると理解される。第2チャンネルを通じて送信される情報は入力語Unであり、受信される情報は読み出された入力語Un’であり得る。
符号語Cnのビットは不揮発性メモリ装置1100のメモリセルに各々プログラムされる(書き込まれる)。不揮発性メモリ装置1100のメモリセルから読み出されるデータは読み出された符号語Cn’である。符号語Cnのビットの各々は第2チャンネルを通じて伝送されると理解される。第2チャンネルを通じて送信される情報は符号語Cnであり、受信される情報は読み出された符号語Cn’である。
第1チャンネルのエラー率はLSBでエラーが発生する確率とMSBでエラーが発生する確率を含む。第1チャンネルのエラー率は不揮発性メモリ装置1100のメモリセルの特性から獲得される。例えば、第1チャンネルのエラー率は不揮発性メモリ装置1100のメモリセルをテストすることによって、又はメモリセルのプログラム及び消去サイクル(P/E cycle)に基づいた演算から獲得される。獲得されたエラー率は符号語Cnのビットでエラーが発生する確率である。
符号語Cnの特定ビットがLSBにマッピングされるか否か、又はMSBにマッピングされるか否かはパターン生成部1310で生成されるパターンPに従って変わる。LSBでエラーが発生する確率とMSBでエラーが発生する確率は互いに異なる。従って、符号語Cnの特定ビットでエラーが発生する確率、即ち第2チャンネルの中の特定チャンネルでエラーが発生するエラー率は、パターンPに従って変わる。
入力語Unは生成行列と演算されて符号語Cnに変換される。符号語Cnのビットでエラーが発生する確率が生成行列によって逆変換されれば、変換結果は入力語Unのビットでエラーが発生する確率(第2チャンネルでエラーが発生する確率)を示す。
従って、メモリセル(第1チャンネル)でエラーが発生する確率、即ちチャンネル情報CIと生成行列の変換情報、即ち生成行列情報GMIが獲得されれば、入力語Unのビットの各々でエラーが発生する確率が測定され得る。
エラー測定部1330はパターンPの中で1つを選択し、選択されたパターンを利用して入力語Unのビットの各々でエラーが発生する確率を測定する。エラー測定部1330はパターンPの各々に対してエラーが発生する確率を測定する。エラー測定部1330はエラー測定結果ERを選択部1340へ伝送する。
例示的に、エラー測定部1330はパターンPの中で選択されたパターンを反復して反復されたパターンRPを生成し、反復されたパターンRPを利用してエラーが発生する確率を測定する。
選択部1340はエラー測定部1330からエラー測定結果ERを受信し、パターン生成部1310からパターンPを受信する。選択部1340はエラー測定結果ERに従って、パターンPの中で1つを最終パターンに選択する。例えば、選択部1340は第2チャンネルの平均エラー率が最も低いパターンを選択する。選択部1340は第2チャンネルのエラー率の中の少なくとも1つのエラー率が基準値を超過すれば、該当パターンを選択しない場合がある。最終的に選択されたパターンはコントローラ1200のパターン及び位置情報格納部1261に格納される。
上述したように、本発明の実施形態によれば、符号語Cnの長さに該当するマッピングパターンのエラー率が測定され選択される代わりに、符号語Cnより短い長さのパターンのエラー率が測定され選択される。極符号化が遂行される時、選択されたパターンを反復して符号語Cnの長さに該当する反復されたパターンRPが生成される。そして、反復されたパターンRPに基づいて、符号語Cnがマルチビットデータとマッピングされる。減少された長さを有するパターンが使用されるので、コントローラ1200及びテスト装置1300の複雑度が減少する。
図16は第2実施形態によるコントローラ1200’を示すブロック図である。図5に示したコントローラ1200と比較すれば、コントローラ1200’はエラー訂正ブロック1270をさらに含む。エラー訂正ブロック1270はエラー訂正コードを利用してエンコーディング及びデコーディングを遂行する。エラー訂正ブロック1270はBCHコード、RSコード、ターボコード、LDPCコード等を利用してエンコーディング及びデコーディングを遂行する。
図1、図8及び図16を参照すれば、反復されたパターンRPに基づいてLSBにマッピングされた符号語ビット及びMSBにマッピングされた符号語ビットは、各々エラー訂正ブロック1270でエラー訂正エンコーディングされる。エンコーディングされたデータがLSBデータ及びMSBデータとして不揮発性メモリ装置1100に書き込まれる。不揮発性メモリ装置1100から読み出されたLSBデータ及びMSBデータはエラー訂正ブロック1270で各々エラー訂正デコーディングされる。デコーディングされたLSBデータとMSBデータは極符号エンコーダー/デコーダー1260で連続除去デコーディングされる。
他の実施例では、入力語Unはエラー訂正ブロック1270でエラー訂正エンコーディングされる。エンコーディングされたデータは極符号エンコーダー/デコーダー1260でエンコーディングされ、そして反復されたパターンRPに従ってLSBデータ及びMSBデータにマッピングされる。マッピングされたLSBデータ及びMSBデータは不揮発性メモリ装置1100に書き込まれる。不揮発性メモリ装置1100から読み出されたLSBデータ及びMSBデータは極符号エンコーダー/デコーダー1260で連続除去デコーディングされる。デコーディングされたデータはエラー訂正ブロック1270でエラー訂正デコーディングされる。
図17は図1のメモリシステム1000の応用例を示すブロック図である。図17を参照すれば、メモリシステム2000は不揮発性メモリ装置2100及びコントローラ2200を含む。不揮発性メモリ装置2100は複数の不揮発性メモリチップを含む。複数の不揮発性メモリチップは複数のグループに分割される。複数の不揮発性メモリチップの各グループは1つの共通チャンネルを通じてコントローラ2200と通信するように構成される。例示的に、複数の不揮発性メモリチップは第1乃至第kチャンネルCH1〜CHkを通じてコントローラ2200と通信する場合が示されている。
図17で、1つのチャンネルに複数の不揮発性メモリチップが連結される場合が説明された。しかし、1つのチャンネルに1つの不揮発性メモリチップが連結されるようにメモリシステム2000が変形され得る。
図18は本発明の実施形態によるメモリカード3000を示す。図18を参照すれば、メモリカード3000は不揮発性メモリ装置3100、コントローラ3200、及びコネクター3300を含む。
コネクター3300はメモリカード3000とホストを電気的に連結するのに使われる。
メモリカード3000はPCカード、PCMCIA(personal computer memory card international association)、コンパクトフラッシュ(登録商標)カード(CF)、スマートメディアカード(SM、SMC)、メモリスティック、マルチメディアカード(MMC、RS−MMC、MMCmicro)、SDカード(SD、miniSD、microSD、SDHC)、ユニバーサルフラッシュ記憶装置(UFS)等のメモリカードを構成できる。
図19は本発明の実施形態によるソリッドステートドライブ4000(SSD、Solid State Drive)を示す。図19を参照すれば、ソリッドステートドライブ4000は複数の不揮発性メモリ装置4100、コントローラ4200、及びコネクター4300を含む。
コネクター4300はソリッドステートドライブ4000とホストとを電気的に連結するのに使われる。
図20は本発明の実施形態によるコンピューティングシステム5000を示すブロック図である。図20を参照すれば、コンピューティングシステム5000は中央処理装置5100、RAM5200、使用者インターフェイス5300、モデム5400、システムバス5500、及びメモリシステム5600を含む。
メモリシステム5600はシステムバス5500を通じて、中央処理装置5100、RAM5200、使用者インターフェイス5300、及びモデム5400に電気的に連結される。使用者インターフェイス5300を通じて提供されるか、或いは、中央処理装置5100によって処理されたデータ、又はモデム5400を通じて受信されるデータはメモリシステム5600に格納される。
メモリシステム5600はシステムバス5500を通じて、中央処理装置5100、RAM(5200)、使用者インターフェイス5300、及びモデム5400に電気的に連結される。使用者インターフェイス5300を通じて提供されるか、或いは、中央処理装置5100によって処理されたデータ、又はモデム5400を通じて受信されるデータはメモリシステム5600に格納される。
メモリシステム5600は不揮発性メモリ装置5610及びコントローラ5620を含む。不揮発性メモリ装置5610は複数の不揮発性メモリチップを含む。メモリシステム5600は図1又は図17を参照して説明されたメモリシステム1000、又は2000の何れかである。
図20で、不揮発性メモリ装置5610がコントローラ5620を通じてシステムバス5500に連結される場合が示されている。しかし、不揮発性メモリ装置5610はシステムバス5500に直接連結され得る。
本発明の詳細な説明では具体的な実施形態に関して説明したが、本発明の範囲と技術的思想から逸脱しない限度内で様々な変形が可能である。従って、本発明の範囲は上述した実施形態に限定して定められてはならないし、後述する特許請求の範囲のみでなく、この発明の特許請求の範囲と均等なものによって定められる。
1000、2000 メモリシステム
1100、2100、3100、4100 不揮発性メモリ装置
1110、1110a、1110b メモリセルアレイ
1120 アドレスデコーダー
1130 読出し/書込み回路
1140 制御ロジック
1200、2200、3200、4200 コントローラ
1210 システムバス
1220 プロセッサー
1230 RAM
1240 ホストインターフェイス
1250 メモリインターフェイス
1260 極符号エンコーダー/デコーダー
1270 エラー訂正ブロック
1261 パターン及び位置情報格納部
1262 固定ビット挿入部
1263、1263a、1263b 生成行列エンコーディング部
1264 パターン反復部
1265 ビット分類部
1266 マッピング及びデマッピング部
1267 連続除去デコーディング部
1300 テスト装置
1310 パターン生成部
1320 パラメーター格納部
1330 エラー測定部
1340 選択部
1400 ホスト
3000 メモリカード
3300、4300 コネクター
4000 ソリッドステートドライブ
5000 コンピューティングシステム
5100 中央処理装置
5200 RAM
5300 使用者インターフェイス
5400 モデム
5500 システムバス
5600 メモリシステム

Claims (10)

  1. 不揮発性メモリ装置を制御するように構成されるコントローラの動作方法において、
    情報ビットを極符号化して符号語を生成する段階と、
    マッピングパターンを読み出す段階と、
    前記マッピングパターンを反復して反復されたマッピングパターンを生成する段階と、
    前記反復されたマッピングパターンに従って、前記符号語の各ビットを前記不揮発性メモリ装置のマルチビットデータの中で特定ビットにマッピングする段階と、を含むことを特徴とする動作方法。
  2. 前記反復されたマッピングパターンの長さは前記符号語の長さと同一であることを特徴とする請求項1に記載の動作方法。
  3. 前記マッピングする段階は、
    前記反復されたマッピングパターンに従って、前記符号語の各ビットを最下位ビット又は最上位ビットにマッピングする段階を含むことを特徴とする請求項1に記載の動作方法。
  4. 前記マッピングする段階は、
    前記反復されたマッピングパターンに従って、前記符号語の各ビットを最下位ビット、中間ビット、又は最上位ビットにマッピングする段階を含むことを特徴とする請求項1に記載の動作方法。
  5. 前記マッピングされた符号語をマルチビット書込みデータに前記不揮発性メモリ装置へ伝送する段階をさらに含むことを特徴とする請求項1に記載の動作方法。
  6. 前記不揮発性メモリ装置からマルチビット読出しデータを受信する段階と、
    前記反復されたマッピングパターンに基づいて前記マルチビット読出しデータを読み出された符号語に変換する段階と、
    前記読み出された符号語をデコーディングする段階と、をさらに含むことを特徴とする請求項5に記載の動作方法。
  7. 極符号化された符号語を不揮発性メモリ装置のマルチビットにマッピングするマッピングパターンを選択するマッピングパターン選択方法において、
    複数のパターンを生成する段階と、
    前記複数のパターンを各々反復して複数の反復されたパターンを生成する段階と、
    前記複数の反復されたパターンのエラー率を各々計算する段階と、
    前記計算されたエラー率に従って、前記複数の反復されたパターンの中で1つの反復されたパターンを選択する段階と、を含むことを特徴とするマッピングパターン選択方法。
  8. 前記エラー率を各々計算する段階は前記マルチビットの確率密度関数に基づいて遂行されることを特徴とする請求項7に記載のマッピングパターン選択方法。
  9. 前記エラー率を各々計算する段階は、
    前記マルチビットの確率密度関数に基づいて、極符号化器の入力端のビットのエラー率を各々計算する段階を含むことを特徴とする請求項8に記載のマッピングパターン選択方法。
  10. 前記極符号化器の入力端のビットのエラー率の中で少なくとも1つのエラー率が基準値より大きい時、該当反復されたパターンは非選択されることを特徴とする請求項9に記載のマッピングパターン選択方法。
JP2013088461A 2012-04-19 2013-04-19 極符号化された符号語を不揮発性メモリ装置のマルチビットデータにマッピングするマッピングパターン選択方法 Active JP6250299B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120040909A KR101919934B1 (ko) 2012-04-19 2012-04-19 불휘발성 메모리 장치를 제어하는 컨트롤러의 동작 방법 및 극 부호화된 부호어를 불휘발성 메모리 장치의 멀티 비트 데이터에 매핑하는 매핑 패턴을 선택하는 매핑 패턴 선택 방법
KR10-2012-0040909 2012-04-19

Publications (2)

Publication Number Publication Date
JP2013225307A true JP2013225307A (ja) 2013-10-31
JP6250299B2 JP6250299B2 (ja) 2017-12-20

Family

ID=49290281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013088461A Active JP6250299B2 (ja) 2012-04-19 2013-04-19 極符号化された符号語を不揮発性メモリ装置のマルチビットデータにマッピングするマッピングパターン選択方法

Country Status (5)

Country Link
US (1) US9164835B2 (ja)
JP (1) JP6250299B2 (ja)
KR (1) KR101919934B1 (ja)
CN (1) CN103377694B (ja)
DE (1) DE102013103391B4 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017537369A (ja) * 2014-09-24 2017-12-14 ゼットティーイー コーポレーションZte Corporation データ保存方法、装置及び端末
JP2018512784A (ja) * 2015-03-10 2018-05-17 華為技術有限公司Huawei Technologies Co.,Ltd. 情報を伝送するための方法および通信デバイス
JP2019506029A (ja) * 2015-12-14 2019-02-28 アイディーエーシー ホールディングス インコーポレイテッド ポーラ符号凍結ビットを使用するwtru識別
US10581462B2 (en) 2015-12-01 2020-03-03 Huawei Technologies Co., Ltd. Signature-enabled polar encoder and decoder

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102015121B1 (ko) 2012-10-17 2019-08-28 삼성전자주식회사 불휘발성 메모리 장치를 제어하도록 구성되는 컨트롤러 및 컨트롤러의 동작 방법
EP3073660B1 (en) 2013-11-20 2020-06-24 Huawei Technologies Co., Ltd. Polar code processing method and device
US9602241B2 (en) 2013-12-17 2017-03-21 Samsung Electronics Co., Ltd. Computing system with polar processing mechanism and method of operation thereof
EP3799314B1 (en) * 2014-02-20 2023-07-26 Huawei Technologies Co., Ltd. Rate matching with sub-block interleaving and a virtual buffer for polar codes
US9504042B2 (en) 2014-05-28 2016-11-22 Samsung Electronics Co., Ltd. System and method for encoding and decoding of data with channel polarization mechanism
TWI566249B (zh) * 2014-11-21 2017-01-11 慧榮科技股份有限公司 快閃記憶體的資料寫入方法與其控制裝置
US9479291B2 (en) 2015-02-13 2016-10-25 Samsung Electronics Co., Ltd. Apparatus and method of constructing polar code
KR20160123843A (ko) * 2015-04-17 2016-10-26 에스케이하이닉스 주식회사 반도체 장치
US9722635B2 (en) * 2015-07-01 2017-08-01 Nandext Srl Controller for a solid-state drive, and related solid-state
US9715943B2 (en) * 2015-08-12 2017-07-25 Texas Instruments Incorporated Semiconductor memory cell multi-write avoidance encoding apparatus, systems and methods
US10312947B2 (en) * 2016-01-21 2019-06-04 Huawei Technologies Co., Ltd. Concatenated and sliding-window polar coding
US9941906B2 (en) 2016-02-18 2018-04-10 Samsung Electronics Co., Ltd. Sliced polar codes
WO2017176309A1 (en) * 2016-04-08 2017-10-12 Intel Corporation Polar codes for harq transmissions
EP3273602B1 (en) 2016-07-19 2022-01-26 MediaTek Inc. Low complexity rate matching design for polar codes
US10461887B2 (en) * 2016-08-10 2019-10-29 Huawei Technologies Co., Ltd. Methods and systems for blind detection with polar code
US10320428B2 (en) * 2016-08-15 2019-06-11 Qualcomm Incorporated Outputting of codeword bits for transmission prior to loading all input bits
US10069510B2 (en) 2016-11-21 2018-09-04 Samsung Electronics Co., Ltd. System and method for maximal code polarization
US9823961B1 (en) 2016-12-13 2017-11-21 Macronix International Co., Ltd. Memory controller and operating method thereof
US10049764B2 (en) 2016-12-13 2018-08-14 Macronix International Co., Ltd. Control method for memory device and memory controller
TWI652909B (zh) 2017-02-06 2019-03-01 聯發科技股份有限公司 極化碼交錯和位元選擇
TWI653840B (zh) 2017-02-06 2019-03-11 聯發科技股份有限公司 極化碼打孔方法及裝置
WO2018192640A1 (en) * 2017-04-18 2018-10-25 Huawei Technologies Duesseldorf Gmbh Polar coding with dynamic frozen bits
DE102018113351A1 (de) * 2017-06-08 2018-12-13 Samsung Electronics Co., Ltd. Polares Codieren und Decodieren unter Verwendung von vordefinierten Informationen
US10505566B2 (en) * 2017-06-15 2019-12-10 Huawei Technologies Co., Ltd. Methods and apparatus for encoding and decoding based on layered polar code
TWI657454B (zh) * 2017-09-07 2019-04-21 群聯電子股份有限公司 資料編碼方法、記憶體控制電路單元與記憶體儲存裝置
US11115062B2 (en) * 2018-03-16 2021-09-07 SK Hynix Inc. Memory system with adaptive threshold decoding and method of operating such memory system
US11237902B2 (en) * 2019-03-15 2022-02-01 Innogrit Technologies Co., Ltd. Systems and methods for an ECC architecture with memory mapping
US11043154B1 (en) * 2019-12-02 2021-06-22 Tcl China Star Optoelectronics Technology Co., Ltd. Signal processing method for display panel and device using same
US11791844B2 (en) * 2021-12-22 2023-10-17 Huawei Technologies Co., Ltd. Systems and methods for using special nodes for polar encoding in polar codes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009158061A (ja) * 2007-12-27 2009-07-16 Toshiba Corp 半導体記憶装置
JP2011044200A (ja) * 2009-08-20 2011-03-03 Toshiba Corp 不揮発性半導体記憶装置
JP2012014807A (ja) * 2010-07-02 2012-01-19 Toshiba Corp 不揮発性半導体記憶装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070101857A (ko) * 2004-12-06 2007-10-17 더 프레지던트 앤드 펠로우즈 오브 하바드 칼리지 나노스케일 와이어 기반 데이터 스토리지
CN101145575A (zh) * 2006-09-15 2008-03-19 应用智慧有限公司 非易失性存储单元及阵列
KR101466695B1 (ko) * 2008-04-30 2014-12-01 삼성전자주식회사 멀티 비트 레벨 데이터의 부호화 및 복호화 방법
US20090282316A1 (en) 2008-05-07 2009-11-12 Texas Instruments Incorporated Memory Access in Low-Density Parity Check Decoders
KR101403314B1 (ko) 2008-05-23 2014-06-05 삼성전자주식회사 메모리 장치 및 데이터 비트 저장 방법
KR101518199B1 (ko) 2008-05-23 2015-05-06 삼성전자주식회사 오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치
US8270835B2 (en) 2010-03-31 2012-09-18 Fujitsu Limited Method and system for reducing cross-phase modulation in an optical signal
US9104546B2 (en) * 2010-05-24 2015-08-11 Silicon Motion Inc. Method for performing block management using dynamic threshold, and associated memory device and controller thereof
KR101191347B1 (ko) 2010-10-20 2012-10-15 (주)클래시스 고강도집속초음파장치용 3차원이송식 핸드피스
US9503126B2 (en) * 2012-07-11 2016-11-22 The Regents Of The University Of California ECC polar coding and list decoding methods and codecs

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009158061A (ja) * 2007-12-27 2009-07-16 Toshiba Corp 半導体記憶装置
JP2011044200A (ja) * 2009-08-20 2011-03-03 Toshiba Corp 不揮発性半導体記憶装置
JP2012014807A (ja) * 2010-07-02 2012-01-19 Toshiba Corp 不揮発性半導体記憶装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017537369A (ja) * 2014-09-24 2017-12-14 ゼットティーイー コーポレーションZte Corporation データ保存方法、装置及び端末
JP2018512784A (ja) * 2015-03-10 2018-05-17 華為技術有限公司Huawei Technologies Co.,Ltd. 情報を伝送するための方法および通信デバイス
US10419161B2 (en) 2015-03-10 2019-09-17 Huawei Technologies Co., Ltd. Method and communications device for transmitting information
US10581462B2 (en) 2015-12-01 2020-03-03 Huawei Technologies Co., Ltd. Signature-enabled polar encoder and decoder
US10680651B2 (en) 2015-12-01 2020-06-09 Huawei Technologies Co., Ltd. Signature-enabled polar encoder and decoder
US11438011B2 (en) 2015-12-01 2022-09-06 Huawei Technologies Co., Ltd. Signature-enabled polar encoder and decoder
JP2019506029A (ja) * 2015-12-14 2019-02-28 アイディーエーシー ホールディングス インコーポレイテッド ポーラ符号凍結ビットを使用するwtru識別

Also Published As

Publication number Publication date
KR20130118035A (ko) 2013-10-29
CN103377694B (zh) 2018-01-23
US20130283128A1 (en) 2013-10-24
US9164835B2 (en) 2015-10-20
KR101919934B1 (ko) 2018-11-20
DE102013103391B4 (de) 2023-10-19
DE102013103391A1 (de) 2013-10-24
JP6250299B2 (ja) 2017-12-20
CN103377694A (zh) 2013-10-30

Similar Documents

Publication Publication Date Title
JP6250299B2 (ja) 極符号化された符号語を不揮発性メモリ装置のマルチビットデータにマッピングするマッピングパターン選択方法
CN102148058B (zh) 读可靠性获得提高的含有多位存储单元的快闪存储器件
US9653176B2 (en) Read disturb reclaim policy
US10970165B2 (en) Encoder and decoder for memory system and method thereof
US11749354B2 (en) Systems and methods for non-parametric PV-level modeling and read threshold voltage estimation
CN110444242B (zh) 有基于深度学习的干扰校正能力的存储器系统及操作方法
US10846172B2 (en) Encoding method and system for memory device including QLC cells
CN109949839A (zh) 存储器控制器及存储器控制器的操作方法
CN111540393B (zh) 用于基于字线分组的读取操作的存储器系统和方法
US11854629B2 (en) System and method for non-parametric optimal read threshold estimation using deep neural network
US10938419B2 (en) Encoding method and system for memory device including QLC cells
US11335417B1 (en) Read threshold optimization systems and methods using model-less regression
US10991409B2 (en) Encoder for memory system and method thereof
US11650795B2 (en) Raw read based physically unclonable function for flash memory
US11036579B2 (en) Decoder for memory system and method thereof
KR20130130484A (ko) 읽기 카운터 로직을 포함하는 플래시 메모리 시스템
CN115910181A (zh) 基于预处理条件生成测试多核ssd固件的系统和方法
CN112241333B (zh) 用于存储器系统的编码器及其方法
US11150985B2 (en) Decoder for memory system and method thereof
US11502703B2 (en) Descrambler for memory systems and method thereof
US10963337B2 (en) Memory system with super chip-kill recovery and method of operating such memory system
CN115708164A (zh) 一种测试预处理生成的系统及方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161116

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171003

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20171004

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: 20171024

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171122

R150 Certificate of patent or registration of utility model

Ref document number: 6250299

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