JP5091253B2 - マルチレベルセルメモリ装置およびこのメモリ装置にデータを記録および読み取る方法 - Google Patents

マルチレベルセルメモリ装置およびこのメモリ装置にデータを記録および読み取る方法 Download PDF

Info

Publication number
JP5091253B2
JP5091253B2 JP2009543914A JP2009543914A JP5091253B2 JP 5091253 B2 JP5091253 B2 JP 5091253B2 JP 2009543914 A JP2009543914 A JP 2009543914A JP 2009543914 A JP2009543914 A JP 2009543914A JP 5091253 B2 JP5091253 B2 JP 5091253B2
Authority
JP
Japan
Prior art keywords
bit
memory device
bit string
mlc
mlc memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009543914A
Other languages
English (en)
Other versions
JP2010515145A (ja
Inventor
ジュン・ジン・コン
ソン・ジョン・パク
ドン・ク・カン
ヨン・ファン・イ
シ・フン・ホン
ジェ・ウン・ヒュン
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
Original Assignee
Samsung Electronics Co Ltd
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 filed Critical Samsung Electronics Co Ltd
Publication of JP2010515145A publication Critical patent/JP2010515145A/ja
Application granted granted Critical
Publication of JP5091253B2 publication Critical patent/JP5091253B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • 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
    • 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/5642Sensing or reading circuits; Data output 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Error Detection And Correction (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

例示された実施形態は、半導体メモリ装置、このメモリ装置にデータを記録する方法、およびこのメモリ装置からデータを読み取る方法に関する。また、例示された実施形態は、マルチレベルセル(MLC:Multi−Level Cell Memory)メモリ装置、このMLCメモリ装置にデータを記録する方法、およびこのMLCメモリ装置からデータを読み取る方法に関する。
シングルレベルセル(SLC:single−level cell)メモリ装置は、1つのメモリセルに1ビットのデータを格納するメモリである。シングルレベルセルメモリ装置は、シングルビットセル(SBC:single−bit cell)メモリ装置とも呼ばれる。
図1は、関連技術に係るSLCメモリ装置のセル閾値電圧を示す図である。図1に示すように、SLCメモリ装置では、1ビットのデータは、メモリセルにプログラムされた閾値電圧レベル(threshold voltage level)によって区分される2つの散布(distribution)に含まれる電圧で格納され、読み取られる。例えば、メモリセルから読み取られた電圧が0.5Vよりも大きくて1.5Vよりも小さい場合には、メモリセルに格納されたデータは論理「1」に決定される。メモリセルから読み取られた電圧が2.5Vよりも大きくて3.5ボルトよりも小さい場合には、メモリセルに格納されたデータは論理「0」と解釈される。前記メモリセルに格納されたデータは、読み取り動作時のセル電流および/または電圧間の差によって区分される。
一方、メモリの高集積化の要求に応答して、1つのメモリセルに2ビット以上のデータを格納することができるマルチレベルセルメモリ装置が提案された。マルチレベルセルメモリ装置は、マルチビットセル(MBC:multi−bit cell)メモリ装置とも呼ばれる。しかしながら、1つのメモリセルに格納するビットの数が増加するほど、信頼性は低下し、読み取り失敗率(read−failure rate)は増加するようになる。1つのメモリセルにm個のビットを格納しようとすれば、2個の電圧レベル散布(voltage level distribution)を形成しなければならない。しかしながら、1つのメモリセルに対する電圧ウィンドウ(voltage window)は制限されているため、mが増加することによって隣接したビット間の閾値電圧(threshold)の差は減少するようになり、これによって読み取り失敗率が増加する。このような理由により、MLCメモリ装置を用いた記憶密度の向上が容易ではなかった。
例示された実施形態は、向上した記憶密度(improved storage density)を有する半導体メモリ装置を提供することができる。さらに、例示された実施形態は、向上した記憶密度を有するMLCメモリ装置を提供することができる。
また、例示された実施形態は、向上した記憶密度を有するメモリ装置にデータを記録する方法を提供することができる。さらに、例示された実施形態は、向上した記憶密度を有するMLCメモリ装置にデータを記録する方法を提供することができる。
また、例示された実施形態は、向上した記憶密度を有するメモリ装置からデータを読み取る方法を提供することができる。さらに、例示された実施形態は、向上した記憶密度を有するMLCメモリ装置からデータを読み取る方法を提供することができる。
例示された実施形態によれば、MLCメモリ装置は、a個のmビットMLCメモリセルと、kビットデータをk/nの符号化率でエンコーディングし、エンコーディングされたビット列を生成するエンコーダと、前記エンコーディングされたビット列によるパルスを前記a個のmビットMLCメモリセルに印加し、前記a個のmビットMLCメモリセルに前記エンコーディングされたビット列を記録できるようにする信号マッピング部とを備えることができる。前記aおよび前記mは2以上の整数であり、前記kおよび前記nは1以上の整数であり、前記nは前記kよりも大きくなり得る。
例示された実施形態によれば、MLCメモリ装置にデータを記録する方法は、kビットデータをk/nの符号化率でエンコーディングし、エンコーディングされたビット列を生成する動作と、前記エンコーディングされたビット列によるパルスを、a個のmビットMLCメモリセルに印加し、前記a個のmビットMLCメモリセルに前記エンコーディングされたビット列を記録するようにする動作とを含むことができる。前記aおよび前記mは2以上の整数であり、前記kおよび前記nは1以上の整数であり、前記nは前記kよりも大きくなり得る。
例示された実施形態によれば、MLCメモリ装置からデータを読み取る方法は、読み取り信号に応答し、a個のmビットMLCメモリセルのそれぞれから出力された出力パルスからデマッピングされたビット列を生成する動作と、前記デマッピングされたビット列から、n/kの符号化率で、nビットのデータをデコーディングし、デコーディングされたビット列を生成する動作とを含むことができる。前記aおよび前記mは2以上の整数であり、前記kおよび前記nは1以上の整数であり、前記nは前記kよりも大きくなり得る。
実施形態の上述されたおよび/または他の側面との有用性が、図面を参照した以下の詳細な説明によってより明白かつ正確に理解される。
関連技術に係るSLCメモリ装置のセル閾値電圧を示す図である。 例示された一実施形態に係るMLCメモリ装置を示すブロック図である。 例示された一実施形態によって、2個の4ビットMLCメモリ装置に対する信号マッピングを説明するための図である。 例示された一実施形態に係るMLCメモリセルアレイを示す図である。 例示された一実施形態に係る信号マッピング部および信号デマッピング部の動作を説明するための図である。 例示された一実施形態に係る信号マッピング部および信号デマッピング部の動作を説明するための図である。 例示された一実施形態に係るエンコーダを示すブロック図である。 例示された一実施形態に係るデコーダを示すブロック図である。
例示された実施形態について、図面を参照しながら詳しく説明する。しかしながら、開示された実施形態は、多様な他の形態で実現されることができ、ここに開示された実施形態に限定されるものとして解釈されてはならない。むしろ、ここに開示された実施形態は、開示を十分にし、本発明が属した技術分野において通常の知識を有する者に実施形態の技術的思想を十分に伝達するためのものである。添付の図面において、層(layer)と領域(region)の厚さと幅は、明確な説明のために誇張されることがある。
構成要素が異なる構成要素に「接した(on)」、「連結した(connected to)」、または「繋がった(coupled on)」と表現されたとき、この構成要素は他の構成要素に直接連結していたり繋がっていたりする場合もあるし、または他の構成要素を介して連結していたり繋がっていたりする場合もある。これとは反対に、構成要素が異なる構成要素に「直接接した(directly on)」、「直接連結した(directly connected)」、または「直接繋がった(directly coupled)」と表現された場合、この構成要素の間には他の構成要素が介入していない。ここで用いられる「および/または」という用語は、関連してリストされる項目の1つまたはその以上のあらゆる、またはいずれの組み合わせをも含む。
ここで、多様な要素(elements)、構成要素(components)、領域(regions)、層(layers)、および/またはセクション(sections)を示すために「第1」、「第2」、「第3」などの用語が用いられるが、このような要素、構成要素、領域、層、およびセクションがこのような用語によって制限されるものではない。このような用語は、単に、1つの要素、構成要素、領域、層、および/またはセクションを他の要素、構成要素、領域、層、および/またはセクションと区分するために用いられただけである。例えば、例示された実施形態の技術思想の範囲内から逸脱せずに、第1要素、構成要素、領域、層、および/またはセクションが第2要素、構成要素、領域、層、および/またはセクションとして命名されることもあるし、第2要素、構成要素、領域、層、および/またはセクションが第1要素、構成要素、領域、層、および/またはセクションとして命名されることもある。
「下に(beneath)」、「下側に(below)」、「低く(lower)」、「上に(above)」、「上側に(upper)」などのような空間的関係を示す用語は、図示される1つの構成要素および/または特徴(feature)とは異なる構成要素および/特徴の関係を容易に説明するために用いられる。このような空間的関係を示す用語は、動作時または使用時、図に示された位置に追加して、装置の他の位置関係も含むものとして理解することができる。
ここで用いられた用語は、具体的な実施形態を説明するための目的として用いられており、例示された実施形態を制限するためのものではない。ここで用いられたような単数形態(例えば、「a」、「an」、および「the」)は、異なって記述されていない限り、複数の形態も含む。「含む(comprise、comprising、include、and/or including)」という用語は、記述された特徴、数字、段階、動作、要素、および/または構成要素を指定するが、1つ以上の他の特徴、数字、段階、動作、構成、構成要素、および/またはこれらのグループの追加または存在を除外しない。
異なって定義されていない限り、ここに用いられたすべての用語(技術的、科学的用語を含む)は、本発明が属する技術分野において通常の知識を有する者によって通常的に理解されるものと同じ意味を有する。通常的に用いられる辞書に定義されたものと同じ用語は、関連技術の文脈においてそれらの意味と一致する意味を有するものとして解釈されなければならず、ここにそのように表現した場合を除いては、異常化したり過度に形式的な意味で解釈したりしてはならない。
添付の図面を参照しながら、例示された実施形態を説明する。図中、同じ参照符号は同じ部材を示す。
図2は、例示された一実施形態に係るMLCメモリ装置を示すブロック図である。
例示された実施形態に係るMLCメモリ装置は、エンコーダ210、信号マッピング部220、MLCメモリセルアレイ230、信号デマッピング部240、および/またはデコーダ250を含むことができる。
例示された実施形態において、MLCメモリセルアレイ(MLC memory cell array)230は、a個のmビットMLCメモリセル261、262、263、264を含むことができる。aおよびmは、2以上の整数とすることができる。mビットMLCメモリセル261、262、263、264のそれぞれは、mビットのデータを格納しなければならないため、2個の散布の形成が求められることができる。例えば、図5には、2ビットのデータを格納するための2個(例えば、m=2、2=4)の散布が例示されている。しかしながら、電圧ウィンドウは制限されているため、mが増加することによって隣接したビット間の閾値電圧の差が減少するようになる。したがって、MLCメモリセルへの記録および/または読み取り時のエラー発生の可能性が高くなる。ところが、例示された実施形態は、エンコーディングおよびデコーディングを用いてエラーの検出および/または訂正を実行することにより、高記憶密度のMLCメモリ装置を可能にする。MLCメモリセル261、262、263、264のそれぞれと連結した感知増幅器(SA:sense amplifier)は、MLCメモリセル261、262、263、264に格納されたデータに関する信号を受信し、これを感知して増幅する。MLCメモリセル261、262、263、264は、MLCフラッシュメモリのメモリセルとすることができる。
例えば、エンコーダ210は、kビットの入力データ205をk/nの符号化率でエンコーディングし、nビットのエンコーディングされたビット列215を生成することができる。このとき、kおよびnは1以上の整数であり、および/または、nはkよりも大きい。デコーダ250は、エンコーダ210に対応し、MLCメモリセルアレイ230から読み取られたデマッピングされたビット列245からエラーを検出および/または訂正することにより、MLCメモリセルから読み取られたデータの正確度を高めるようになる。このとき、エンコーダは、kビットの入力データ205にrビットのオーバーヘッドを付加し、k+rビット(ここで、k+r=n)のエンコーディングされたビット列215を生成する。したがって、エンコーダ210の符号化率(code rate)はk/(k+r)、例えば、k/nとなる。追加されたrは、kビットのデータをメモリに格納した後、読み取り時に発生するエラーの検出および訂正に用いるために付加された情報である。
ところが、符号化率がさらに低ければ、MLCメモリセルアレイ230に実際に格納されるデータの量が減少することがある。セルあたりの有効ビット数(effective bits/cell)は、1つのMLCメモリセルが格納するデータのうち、エラーの検出および/または訂正に用いられるデータを除いた実際データのビットの個数であり、mビットMLCメモリセルの場合、m×Rで定義されることができる。ここで、Rは符号化率である。したがって、セルあたりの有効ビット数はm×R=m×(k/n)となるため、符号化率Rが高いほど大きくなる。例えば、符号化率が高いほど、MLCメモリセルアレイ230に格納されるデータのうちの実際データの比率は高くなり、したがって、符号化率が高いほど、MLCメモリセルアレイ230を効率的に用いるようになる。
ところが、kおよびnは1以上の整数であり、および/または、nはkよりも大きいため、kビットの入力データに対して可能な最大符号化率はn=k+1である場合として、最大符号化率はk/(k+1)となる。例えば、格納データ205が1ビットであれば最大符号化率は1/2であり、格納データ205が11ビットであれば最大符号化率は11/12であり、格納データ205が15ビットであれば最大符号化率は15/16となることができる。例えば、格納データ205が15ビットであるとき、符号化率が15/20、15/32、15/64などであるエンコーダを選択することもできるが、すべて入力データ205が15ビットであるときの最大符号化率(例えば、15/16)よりは小さい値を有するようになる。しかしながら、格納データ205が15ビットであれば、符号化率は15/16とするものが選択される。
ところが、ここで、nが大きくなるほど、最大符号化率の値が大きくなることが分かる。例えば、最大符号化率は、入力データ205のビット数に応じて1/2、2/3、3/4、4/5、…、15/16、…などとなることができるが、nが大きくなるほど最大符号化率の値が大きくなるようになる。上述したように、符号化率が大きいほど、MLCメモリセルアレイ230を効率的に用いることができる。したがって、符号化率を高めるためのエンコーダとしては、nの値が大きいエンコーダが選択される。
一方、mビットMLCメモリセルは、1つのセルにmビットデータを格納することができるが、符号化率k/nを高める場合、nがmよりも大きい場合が発生する。したがって、符号化率と関連したnの値をmよりも大きくない値で用いることもできるが、例示された実施形態は、高い符号化率を支援するために複数のmビットMLCメモリセルを用いる方法を提供する。
例示された実施形態は、nがmよりも大きい場合を支援するために、a個のmビットMLCメモリセル221、222、223、224を含むことができる。また、nは、aおよびmの倍(例えば、n=a×m)として選択する。例えば、4ビットMLCメモリセルを用いる場合、4ビットMLCメモリセルを2個用い、エンコーダ210の符号化率を7/8としてエンコーダ210を設計する。これにより、入力されるデータ205は、7ビット単位で分割され、エンコーダ210によって符号化率7/8でエンコーディングされる。エンコーディングされたビット列215は8ビットとなる。この8ビットのエンコーディングされたビット列215を信号マッピング部220が2個の4ビットMLCメモリセルに記録(write)できるように信号を割り当てることができる。
エンコーダ210によって生成されたエンコーディングされたビット列215は、信号マッピング部220によってMLCメモリセルアレイ230に格納されることができる。したがって、エンコーディングされたビット列215は、MLCメモリセルアレイ230に格納される最終デジタルデータである。エンコーディングされたビット列215は、nビットで構成されるが、そのうちの一部であるkビットがkビットの入力データ205のビット列の値をそのまま維持している場合、エンコーディングされたビット列215は、組織符号(systematic code)と呼ばれる。もし、nビットのエンコーディングされたビット列215のうち、いずれの一部もkビットの入力データ205のビット列の値をそのまま維持していない場合、エンコーディングされたビット列215は、非組織符号(nonsystematic code)と呼ばれる。例示された実施形態は、エンコーディングされたビット列215を組織符号または非組織符号で生成することができる。例示された実施形態において、エンコーディングされたビット列215を組織符号で生成する場合、MLCメモリセルアレイ230に格納されるデータも、本来のkビットの入力データ205のビット列の値をそのまま維持したままで格納されるようになる。
信号マッピング部(signal mapping module)220は、エンコーディングされたビット列215によるパルスをa個のmビットMLCメモリセル261、262、263、264に印加(apply)し、a個のmビットMLCメモリセル261、262、263、264にデータを記録できるように信号を割り当てることができる。具体的に、信号マッピング部220は、エンコーディングされたビット列220に応じて、a個のmビットMLCメモリセル261、262、263、264のそれぞれに対して決定されたパルス221、222、223、224のそれぞれをa個のmビットMLCメモリセル261、262、263、264のそれぞれに印加することができる。パルスのそれぞれは、変調(modulation)された2個のレベルのうちの1つとすることができる。
例示された実施形態によれば、エンコーダ210および信号マッピング部220は結合されて、符号化変調(coded modulation)方式で実現することができる。
信号デマッピング部(signal demapping module)240は、読み取り信号(read signal)の印加に応答して、a個のmビットMLCメモリセルのそれぞれ261、262、263、264から出力された出力パルス(output pulse)271、272、273、274からデマッピングされたビット列(demapped bit stream)245を生成することができる。
信号デマッピング部240は、読み取り信号の印加に応答して、a個のmビットMLCメモリセルのそれぞれ261、262、263、264から出力された出力パルスのそれぞれ271、272、273、274からデマッピングされた部分ビット列(demapped part bit streams)を決定することができる。信号デマッピング部240は、a個のmビットMLCメモリセルのそれぞれ261、262、263、264の2個の散布の閾値電圧と前記出力パルスのそれぞれ271、272、273、274とを比べ、出力パルスのそれぞれ271、272、273、274に対応したデマッピングされた部分ビット列を生成することができる。その次に、信号デマッピング部240は、デマッピングされた部分ビット列を結合してデマッピングされたビット列245を生成することができる。
図3および図6を参照しながら、例示された一実施形態に係る信号デマッピング部240の動作について説明する。図3は、例示された実施形態によって、2個の4ビットMLCメモリセルアレイに対する信号マッピングを説明するための図である。
2個の4ビットMLCメモリセルに対して符号化率が7/8でデータが格納された場合、2個の4ビットMLCメモリセルに読み取り信号が印加されれば、MLCメモリセルのそれぞれからパルスが出力されることができる。第1MLCメモリセルから出力されたパルスが−2.5ボルトであり、第2MLCメモリセルから出力されたパルスが2.5ボルトであると仮定する。これにより、信号マッピングが図6のようであれば、信号デマッピング部240は、第1MLCメモリセルから出力されたパルス−2.5ボルトを2個(例えば、m=4、2=16)の散布の閾値電圧と比較し、下位4ビットを「1111」と決定することができる。そして、信号デマッピング部240は、第2MLCメモリセルから出力されたパルス2.5ボルトを2個の散布の閾値電圧と比べ、上位4ビットを「0000」と決定することができる。「1111」および「0000」は、デマッピングされた部分ビット列である。これは、図3において、図面符号310に対応する。その次に、信号デマッピング部240は、デマッピングされた部分ビット列を結合し、デマッピングされたビット列245を生成する。
デコーダ(decoder)250は、nビットのデマッピングされたビット列245をデコーディングし、kビットのデコーディングされたビット列(decoded bit stream)255を生成することができる。
デコーディング方法に応じて、エラーの検出および/またはエラーの訂正能力に差がある場合がある。例えば、エラーの検出は4ビットまで可能であるが、エラーの訂正は3ビットまでのみ可能であることがある。この場合、エラーが4ビット発生した場合、デコーダ250は、エラーが発生したことは検出できるがエラーの訂正は不可能なことがある。この場合、デコーダ250は、デコーディングされたビット列(outer decoded bit stream)255を受信するオブジェクト(例えば、オペレーティングシステム、メモリ管理プログラムなど)にエラーとして検出されたが訂正されていないエラーに対して報告することができる。これにより、オブジェクトは、この報告に基づいて追加的な動作を実行することにより、メモリ使用をより効率的に行えるようになる。
図3を参照しながら、例示された実施形態によって、2個の4ビットMLCメモリセルに対する信号マッピングについて説明する。図3の例において、エンコーダ210の符号化率は、7/8と仮定することができる。これにより、入力されるデータ205は、7ビット単位で分割され、エンコーダ210によって符号化率7/8でエンコーディングされることができる。エンコーディングされたビット列215は、8ビットとなることができる。したがって、信号マッピング部220は、8ビットのエンコーディングされたビット列215を4ビットMLCメモリセルに記録することができる。例示された実施形態において、2個の4ビットMLCメモリセルが用いられる。4ビットMLCメモリセルのそれぞれは2レベル、例えば、16個のレベルのみを支援することができる。信号マッピング部220は、8ビットのエンコーディングされたビット列215を上位4ビットおよび下位4ビットに分け、下位4ビットによって決定されたパルスを第1MLCメモリセルに印加し、上位4ビットによって決定されたパルスを第2MLCメモリセルに印加することができる。例えば、エンコーディングされたビット列215が「00001111」であれば、下位4ビットである「1111」によって決定された16レベルのパルスを第1MLCメモリセルに印加し、上位4ビットである「0000」によって決定された1レベルのパルスを第2MLCメモリセルに印加する。図面符号310は、エンコーディングされたビット列215が「00001111」である場合、第1MLCメモリセルおよび第2MLCメモリセルに印加されるパルスのレベルを表示したものである。同じように、エンコーディングされたビット列215が「11110010」であれば、下位4ビットである「0010」によって決定された16レベルのパルスを第1MLCメモリセルに印加し、上位4ビットである「1111」によって決定された1レベルのパルスを第2MLCメモリセルに印加する。図面符号320は、エンコーディングされたビット列215が「11110010」である場合、第1MLCメモリセルおよび第2MLCメモリセルに印加されるパルスのレベルを表示したものである。
図4は、例示された一実施形態に係るMLCメモリセルアレイを示す図である。図4において、B/Lは1つ以上のビットラインを示し、S/Lは1つ以上のストリング選択ライン(string selection line)を示し、W/Lは1つ以上のワードラインを示す。MCはメモリセルを示す。図4に示すメモリセルアレイのメモリセルは、1つのメモリセルに2ビット以上のデータを格納することができるMLCメモリセルである。
図5および図6は、例示された一実施形態に係る信号マッピング部および信号デマッピング部の動作を説明するための図である。
図5および図6から分かるように、1つのメモリセルに対する電圧ウィンドウは制限されている。図5および図6の場合、MLCメモリセルの電圧ウィンドウは、約−3ボルト(マイナス3ボルト)から約4.5ボルトまでである。このように制限された電圧ウィンドウ内において、図5は、1つのMLCメモリセルに2個のビットを格納しなければならないために4個の散布が形成され、図6は、1つのMLCメモリセルに4個のビットを格納しなければならないために16個の散布が形成されるようになる。このように、1つのメモリセルにm個のビットを格納しようとすれば、2個の散布を形成しなければならないが、電圧ウィンドウは制限されているため、mが増加することによって隣接したビット間の閾値電圧の差は減少するようになる。したがって、MLCメモリセルへの記録および読み取り時のエラー発生の可能性が高くなるが、例示された実施形態は、高符号化率を有するエラー訂正符号を用いてエラーを検出および訂正することにより、1つのメモリセルに4ビット以上を格納する高密度MLCセルメモリ装置を可能にするだけでなく、高符号化率を可能にすることにより、エラーの検出および訂正に伴うオーバーヘッドを最小にする。
図5を参照すれば、信号デマッピング部240は、MLCメモリセル261から得られた電圧が0.5Vよりも大きく(または、0.5V以上であり)、かつ1.0Vよりも小さければ(または、1.0V以下であれば)、論理「11」でデマッピングされた部分ビット列を決定する。MLCメモリセル261から得られた電圧が1.5よりも大きく(または、1.5V以上であり)、かつ2.0Vよりも小さければ(2.0V以下であれば)、信号デマッピング部240は、論理「10」でデマッピングされた部分ビット列を決定する。MLCメモリセル610から得られた電圧が2.5Vよりも大きく(または、2.5V以上であり)、かつ3.0Vよりも小さければ(または、3.0V以下であれば)、信号デマッピング部240は、論理「01」でデマッピングされた部分ビット列を決定する。MLCメモリセル261から得られた電圧が3.5Vよりも大きく(または、3.5V以上であり)、かつ4.0Vよりも小さければ(または、4.0V以下であれば)、信号デマッピング部240は、論理「00」でデマッピングされた部分ビット列を決定する。MLCメモリセル261に格納されたデータは、読み取り動作時にセル電流および/またはセル電圧の差によって区分される。
同じように、信号マッピング部220は、エンコーディングされたビット列215に基づき、MLCメモリセル261に格納しなければならない論理が「11」であれば、MLCメモリセル261が格納する電圧レベルが0.5Vよりも大きく(または、0.5V以上であり)、かつ1.0Vよりも小さいように(1.0V以下となるように)、プログラムパルスをMLCメモリセル261に印加することができる。
MLCメモリセル261がMLCフラッシュメモリセルである場合、論理「01」をMLCメモリセル261に記録する場合を説明する。信号マッピング部220は、記録するMLCメモリセル261を消去させた状態でワードライン電圧を少しずつ増加させながらMLCメモリセル261の電圧をプラスの方向に少しずつ増加させ、メモリセルの閾値電圧が2.5Vよりも大きく(または、2.5V以上であり)、かつ3.0Vよりも小さい(または、3.0V以上である)領域に到達したのかを検証(verify)することができる。したがって、論理「01」をMLCメモリセル261に記録するために、MLCメモリセル261は、論理「11」および論理「10」の状態を順に経て論理「01」の状態となることができる。
図7は、例示された実施形態に係るエンコーダ700を示すブロック図である。また、図8は、例示された実施形態に係るデコーダ800を示すブロック図である。エンコーダ700およびデコーダ800は、連接符号化を用いることができる。
図7に示すエンコーダ700は、kビットのデータをエンコーディングし、nビットのエンコーディングされたビット列を生成するとき、外部符号化(outer coding)および内部符号化(inner coding)の2段階を連結接続した連接符号化(concatenated coding)を用いることができる。外部符号化には、ブロック符号化(block coding)を用いることができ、および/または、内部符号化には畳み込み符号化(convolutional coding)を用いることができる。ブロック符号化は、データを一定のブロック単位で符号化(encoding)および/または復号化(decoding)する方法として用いることができる。畳み込み符号化は、以前(previous)データと現在(current)データを用いて符号化する方法として用いることができる。畳み込み符号化は、符号化に以前データを用いるため、以前データを格納する格納装置を必要とすることができる。ブロック符号化はバーストエラー(burst error)の検出および訂正に強く、畳み込み符号化はランダムエラー(random error)の検出および/または訂正に強い。したがって、例示された実施形態において、MLCメモリ装置にデータを記録するときに、外部符号化としてブロック符号化を用い、および/または、内部符号化として畳み込み符号化を用いることにより、例示された実施形態は、バーストエラーおよび/またはランダムエラーすべてに強い高い性能のエラー訂正性能を有することができる。
外部エンコーダ(outer encoder)710は、MLCメモリ装置に格納するkビットのソースデータ705を受信し、ソースデータ705をk/(k+r1)の符号化率で外部エンコーディングされたビット列(outer encoded bit stream)715を生成することができる。このとき、エンコーディング方法としては、線形ブロックエンコーディング(linear block encoding)を用いることができる。
線形ブロックエンコーディングには、Hammingコーディング、BCH(Bose、Ray−Chaudhuri、Hocquenghem)コーディング、Reed−Solomon(RS)コーディング、Golayコーディングなどの方法がある。線形ブロックエンコーディングは、まず、ソースデータをkビット単位でブロック化することができる。例えば、ソースデータをkビット単位で分割することができる。外部エンコーダ710は、このようにブロック化されたkビットのビット列705にr1ビットのオーバーヘッドを付加し、k+r1ビットの外部エンコーディングされたビット列715を生成することができる。したがって、外部エンコーダ710の符号化率は、k/(k+r1)となることができる。追加されたr1ビットは、パリティビット(parity bit)であり、kビットのビット列705に付加することができる。この場合、MLCメモリ装置からデータを読み取るとき、内部デコーダ810は、r1ビットを参照してkビットのデータに対するエラー検出および/またはエラー訂正を実行することができる。
内部エンコーダ(inner encoder)720は、外部エンコーディングされたビット列715を(k+r1)/nの符号化率でエンコーディングし、内部エンコーディングされたビット列(inner encoded bit stream)725を生成することができる。このとき、エンコーディング方法としては、畳み込み符号エンコーディング(convolutional code encoding)を用いることができる。
畳み込み符号エンコーディングは、現在のデータと以前のデータの間の相互関連性(convolutional relation)を用いてエラーを検出および/または訂正することができる。畳み込み符号エンコーディングは、ランダムエラーの検出および/訂正に強い。内部エンコーダ720は、k+r1ビットの外部エンコーディングされたビット列715をエンコーディングし、k+r1+r2ビットのエンコーディングされたビット列725を生成することができる。したがって、内部エンコーダ720によって追加されるオーバーヘッドはr2ビットであり、内部エンコーダ720の符号化率は(k+r1)/(k+r1+r2)となることができる。k+r1+r2をnとすれば、外部エンコーダ710および内部エンコーダ720全体を介した符号化率は、k/nになることができる。ここで、n−kは、kビットデータをMLCメモリセルに格納するときに発生するエラーの検出および/または訂正のために付加されるビット数となるため、n−kは最小化されることができる。したがって、nがk+1であれば、付加されるビットは1ビットであり、符号化率はk/(k+1)として最大になることができる。例示された実施形態では、mビットメモリセルa個を用い、nをaおよびmの倍(例えば、n=a×m)に設定し、高符号化率でエンコーディングを可能とすることにより、kビットデータをMLCメモリセルに格納するときに発生するエラーの検出および/または訂正のために付加されるビット数を最小にすることができる。
デコーダ800は、内部デコーダ810および/または外部デコーダ820を含むことができる。内部デコーダ(inner decoder)810は、デマッピングされたビット列805を第2デコーディング方法でデコーディングし、内部デコーディングされたビット列(inner decoded bit stream)815を生成することができる。例えば、第2デコーディング方法としては、ビタビ(Viterbi)デコーディングを用いることができる。内部デコーダ810は、k+r1+r2(=n)ビットのデマッピングされたビット列805をデコーディングし、k+r1ビットの内部デコーディングされたビット列815を生成することができる。内部デコーダは、第2デコーディング方法を用いてデマッピングされたビット列825に含まれたエラーを検出し、および/または、検出されたエラーを訂正することができる。例えば、第2デコーディング方法としてビタビデコーディングを用いる場合、ランダムエラーの検出および/または訂正に有利になることができる。
外部デコーダ(outer decoder)820は、k+r1ビットの内部デコーディングされたビット列815を第1デコーディング方法でデコーディングし、kビットのデコーディングされたビット列(outer decoded bit stream)825を生成することができる。外部デコーダ820は、第1デコーディング方法を用いて内部デコーディングされたビット列815に含まれたエラーを検出し、および/または、検出されたエラーを訂正することができる。第1デコーディング方法は、第1エンコーディング方法に対応するデコーディング方法を用いることができる。第1エンコーディング方法として、Hammingコーディング、BCHコーディング、Reed−Solomon(RS)コーディング、Golayコーディングなどの線形ブロックエンコーディングが用いられた場合、第1デコーディング方法もこれに対応した線形ブロックデコーディングが用いられるようになる。例えば、第1エンコーディング方法としてRSコーディングによるエンコーディングを用いた場合、第1デコーディング方法もRSコーディングによるデコーディングが用いられるようになる。
このように、内部デコーダ810は、デマッピングされたビット列805から検出された(detected)エラーを訂正して内部デコーディングされたビット列815を生成し、外部デコーダ820は、内部デコーディングされたビット列815から検出されたエラーを訂正してデコーディングされたビット列825を生成する2段階のエラー検出および/または訂正を実行することができる。したがって、例示された実施形態によれば、MLCメモリ装置の読み取り時に読み取られた信号をより正確に読み取ることができるようになり、高密度のMLCメモリ装置を実現できるようになる。
なお、例示された実施形態は、コンピュータにより実現される多様な動作を実行するためのプログラム命令を含むコンピュータ読取可能な記録媒体を含む。当該記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともでき、記録媒体およびプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。また、記録媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもある。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを含む。
例えば、例示された実施形態において説明されたエンコーダ210、信号マッピング部220、信号デマッピング部240、デコーダ250、エンコーダ700、外部エンコーダ710、内部エンコーダ720、デコーダ800、内部デコーダ810、および/または外部デコーダ820のうちの一部またはすべてが、コンピュータプログラムによって実現されることができる。この場合には、このようなコンピュータプログラムも例示された実施形態に含まれる。
このように、例示された実施形態によれば、MLCメモリ装置に新たなエラー訂正方法を適用することにより、1つのメモリセルに格納するビットの数を安定的に増加させることができる。例示された実施形態によれば、メモリセルに4ビット以上を格納することができる効率的なエラー訂正方式が用いられる高低精密度のMLCメモリ装置が提案され、1つのメモリセルに4ビット以上を効率的に格納することができるMLCメモリ装置が可能になる。
例示された実施形態を適用したMLCメモリ装置は、追加的な回路が必要なオーバーヘッドがあるが、このようなオーバーヘッドよりも例示された実施形態を適用することにより、得られるメモリ装置のデータ容量の増加がより大きくなり得る。
また、例示された実施形態によれば、高符号化率(high code rate)のエンコーディングを介してMLCメモリ装置にデータを記録できるようにすることにより、1つのMLCに格納されるビットの数を増加させながらも、これによって付加されるエンコーディングおよび/またはデコーディングのオーバーヘッドを最小にすることができる。
また例示された実施形態によれば、mビットMLCメモリ装置に対して符号化率をk/nにしようとするが、nがmよりも大きい場合にも、MLCメモリ装置にエンコーディングおよび/またはデコーディングを用いることができる。
また、MLCメモリ装置で1つのビットに格納するビットの数を増加させれば、隣接したビット間の閾値電圧の差が減少するようになり、これによって読み取り失敗率が増加するが、例示された実施形態を適用すれば、このような問題が改善および/または除去されることができる。
また、例示された実施形態によれば、MLCメモリ装置で読み取られた信号に含まれたエラーが訂正されることにより、フラッシュメモリの信頼性、量産性などを高めることができる。
また、例示された実施形態によれば、MLCメモリ装置において、ランダムエラーおよび/またはバーストエラーすべてに強いエラー訂正方法が提供されることができる。
上述したように、本発明の好ましい実施形態を参照して説明したが、該当の技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の思想および領域から逸脱しない範囲内で、本発明を多様に修正および変更させることができることを理解することができるであろう。すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。
210 エンコーダ
220 信号マッピング部
230 MLCメモリセルアレイ
240 信号デマッピング部
250 デコーダ
700 エンコーダ
710 外部エンコーダ
720 内部エンコーダ
800 デコーダ
810 内部デコーダ
820 外部デコーダ

Claims (15)

  1. マルチレベルセル(MLC)メモリ装置であって、
    a個のmビットMLCメモリセルと、
    kビットデータをk/nの符号化率でエンコーディングし、エンコーディングされたビット列を生成するエンコーダと、
    前記エンコーディングされたビット列によるパルスを前記a個のmビットMLCメモリセルに印加し、前記a個のmビットMLCメモリセルに前記エンコーディングされたビット列を記録できるようにする信号マッピング部と、
    を備え、
    前記aおよび前記mは2以上の整数であり、
    前記kおよび前記nは1以上の整数であり、
    前記nは前記kより大きく、
    前記nは、n=a×mであり、
    前記nは、n=k+1であることを特徴とするメモリ装置。
  2. 前記エンコーダは、
    前記kビットデータをk/(k+r )の符号化率でエンコーディングし、外部エンコーディングされたビット列を生成する外部エンコーダと、
    前記外部エンコーディングされたビット列を(k+r )/nの符号化率でエンコーディングし、前記エンコーディングされたビット列を生成する内部エンコーダと、
    を備えることを特徴とする請求項1に記載のメモリ装置。
  3. 前記外部エンコーダは、線形ブロックエンコーディングでエンコーディングし、
    前記内部エンコーダは、畳み込み符号エンコーディングでエンコーディングすることを特徴とする請求項に記載のメモリ装置。
  4. 前記信号マッピング部は、
    前記エンコーディングされたビット列に応じて、前記a個のmビットMLCメモリセルのそれぞれに対して決定されたパルスのそれぞれを、前記a個のmビットMLCメモリセルのそれぞれに印加することを特徴とする請求項1に記載のメモリ装置。
  5. 前記信号マッピング部は、
    前記パルスのそれぞれは、2PAM(pulse amplitude modulation)によって生成が可能な2個のレベルのうちの1つであることを特徴とする請求項に記載のメモリ装置。
  6. 前記エンコーダおよび前記信号マッピング部は、互いに結合することを特徴とする請求項1に記載のメモリ装置。
  7. 読み取り信号の印加に応答し、前記a個のmビットMLCメモリセルのそれぞれから出力された出力パルスからデマッピングされたビット列を生成する信号デマッピング部、
    をさらに備えることを特徴とする請求項1に記載のメモリ装置。
  8. 前記信号デマッピング部は、
    前記読み取り信号の印加に応答し、前記a個のmビットMLCメモリセルのそれぞれから出力された前記出力パルスのそれぞれからデマッピングされた部分ビット列を決定し、前記デマッピングされた部分ビット列を結合して前記デマッピングされたビット列を生成することを特徴とする請求項に記載のメモリ装置。
  9. 前記信号デマッピング部は、
    前記a個のmビットMLCメモリセルのそれぞれの2個の散布の閾値電圧と前記出力パルスのそれぞれを比較し、前記出力パルスのそれぞれに対応した前記デマッピングされた部分ビット列を生成することを特徴とする請求項に記載のメモリ装置。
  10. 前記デマッピングされたビット列をデコーディングし、kビットのデコーディングされたビット列を生成するデコーダ、
    をさらに備えることを特徴とする請求項に記載のメモリ装置。
  11. 前記デコーダは、
    前記デマッピングされたビット列をビタビデコーディング(Viterbi decoding)し、前記デコーディングされたビット列を生成することを特徴とする請求項10に記載のメモリ装置。
  12. 前記デコーダは、
    前記デマッピングされたビット列から検出されたエラーを訂正して内部デコーディングされたビット列を生成する内部デコーダと、
    前記内部デコーディングされたビット列から検出されたエラーを訂正して前記デコーディングされたビット列を生成する外部デコーダと、
    を備えることを特徴とする請求項10に記載のメモリ装置。
  13. 前記a個のmビットMLCメモリセルのそれぞれは、MLCフラッシュメモリのメモリセルであることを特徴とする請求項1に記載のメモリ装置。
  14. マルチレベルセル(MLC)メモリ装置にデータを記録する方法であって、
    kビットデータをk/nの符号化率でエンコーディングし、エンコーディングされたビット列を生成するステップと、
    前記エンコーディングされたビット列によるパルスを、a個のmビットMLCメモリセルに印加し、前記a個のmビットMLCメモリセルに前記エンコーディングされたビット列を記録するようにするステップと、
    を含み、
    前記aおよび前記mは2以上の整数であり、
    前記kおよび前記nは1以上の整数であり、
    前記nは前記kより大きく、
    前記nは、n=a×mであり、
    前記nは、n=k+1であることを特徴とするメモリ装置にデータを記録する方法。
  15. マルチレベルセル(MLC)メモリ装置からデータを読み取る方法であって、
    読み取り信号に応答し、a個のmビットMLCメモリセルのそれぞれから出力された出力パルスからデマッピングされたビット列を生成する動作と、
    前記デマッピングされたビット列から、n/kの符号化率で、nビットのデータをデコーディングし、デコーディングされたビット列を生成する動作と、
    を含み、
    前記aおよび前記mは2以上の整数であり、
    前記kおよび前記nは1以上の整数であり、
    前記nは前記kより大きく、
    前記nは、n=a×mであり、
    前記nは、n=k+1であることを特徴とするメモリ装置からデータを読み取る方法。
JP2009543914A 2006-12-26 2007-07-05 マルチレベルセルメモリ装置およびこのメモリ装置にデータを記録および読み取る方法 Active JP5091253B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2006-0134049 2006-12-26
KR1020060134049A KR100822030B1 (ko) 2006-12-26 2006-12-26 고 부호화율 부호를 이용한 멀티 레벨 셀 메모리 장치
PCT/KR2007/003260 WO2008078866A1 (en) 2006-12-26 2007-07-05 Multi-level cell memory devices and methods of storing data in and reading data from the memory devices

Publications (2)

Publication Number Publication Date
JP2010515145A JP2010515145A (ja) 2010-05-06
JP5091253B2 true JP5091253B2 (ja) 2012-12-05

Family

ID=39534790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009543914A Active JP5091253B2 (ja) 2006-12-26 2007-07-05 マルチレベルセルメモリ装置およびこのメモリ装置にデータを記録および読み取る方法

Country Status (4)

Country Link
US (2) US8499215B2 (ja)
JP (1) JP5091253B2 (ja)
KR (1) KR100822030B1 (ja)
WO (1) WO2008078866A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051358B2 (en) 2007-07-06 2011-11-01 Micron Technology, Inc. Error recovery storage along a nand-flash string
US8327245B2 (en) 2007-11-21 2012-12-04 Micron Technology, Inc. Memory controller supporting rate-compatible punctured codes
US8046542B2 (en) 2007-11-21 2011-10-25 Micron Technology, Inc. Fault-tolerant non-volatile integrated circuit memory
US8665642B2 (en) 2008-12-31 2014-03-04 Rambus Inc. Pattern-sensitive coding of data for storage in multi-level memory cells
TWI415130B (zh) * 2009-06-02 2013-11-11 Silicon Motion Inc 快閃記憶體之控制器以及於快閃記憶體存取資料的方法
US8935589B2 (en) * 2009-06-02 2015-01-13 Silicon Motion, Inc. Controller and data access method for flash memories
KR101824227B1 (ko) 2009-08-07 2018-02-05 삼성전자주식회사 메모리 시스템 및 그것의 프로그램 방법
US11336303B2 (en) 2010-06-04 2022-05-17 Micron Technology, Inc. Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory
US8615703B2 (en) 2010-06-04 2013-12-24 Micron Technology, Inc. Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory
US9070427B2 (en) 2010-08-13 2015-06-30 Sandisk Technologies Inc. Data coding using divisions of memory cell states
US8711617B2 (en) * 2011-06-03 2014-04-29 Micron Technology, Inc. Data modulation for groups of memory cells
US8788743B2 (en) 2012-04-11 2014-07-22 Micron Technology, Inc. Mapping between program states and data patterns
KR101991911B1 (ko) 2012-05-22 2019-06-24 삼성전자주식회사 비트 상태 맵핑 동작을 수행하는 코드 변조 인코더와 코드 변조 디코더를 포함하는 메모리 컨트롤러, 그것을 포함하는 데이터 저장 장치 및 플래시 메모리 시스템
JP2015204126A (ja) * 2014-04-16 2015-11-16 株式会社東芝 半導体記憶装置
US9613664B2 (en) 2015-01-20 2017-04-04 Samsung Electronics Co., Ltd. Method of operating memory device including multi-level memory cells
US10204006B2 (en) * 2015-10-28 2019-02-12 Avago Technologies International Sales Pte. Limited Systems and methods for side data based soft data flash memory access
US10198316B2 (en) * 2015-10-28 2019-02-05 Avago Technologies International Sales Pte. Limited Systems and methods for efficient flash memory access
US10108489B2 (en) * 2015-10-28 2018-10-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for efficient soft data based flash memory data recovery
US10817493B2 (en) * 2017-07-07 2020-10-27 Raytheon Company Data interpolation
US11211119B1 (en) 2020-06-11 2021-12-28 Western Digital Technologies, Inc. QLC programming method with staging of fine data
US11568938B2 (en) 2020-11-03 2023-01-31 Western Digital Technologies, Inc. QLC data programming
US11861195B2 (en) 2021-03-15 2024-01-02 Western Digital Technologies, Inc. TLC data programming with hybrid parity

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497354A (en) 1994-06-02 1996-03-05 Intel Corporation Bit map addressing schemes for flash memory
JPH10222989A (ja) 1996-09-18 1998-08-21 Nippon Steel Corp 多値半導体記憶装置及びその書き込み方法と読み出し方法並びに記憶媒体
US6212654B1 (en) 1997-07-22 2001-04-03 Lucent Technologies Inc. Coded modulation for digital storage in analog memory devices
JPH1145595A (ja) * 1997-07-24 1999-02-16 Nec Corp 多値セル用誤り訂正回路
JPH11143787A (ja) 1997-11-06 1999-05-28 Hitachi Ltd 記録再生装置
US6279133B1 (en) 1997-12-31 2001-08-21 Kawasaki Steel Corporation Method and apparatus for significantly improving the reliability of multilevel memory architecture
US7082056B2 (en) 2004-03-12 2006-07-25 Super Talent Electronics, Inc. Flash memory device and architecture with multi level cells
KR100370014B1 (ko) 2000-05-16 2003-01-29 엘지전자 주식회사 공기조화기의 실외기의 소음 저감구조
IT1321049B1 (it) 2000-11-07 2003-12-30 St Microelectronics Srl Metodo di costruzione di un codice a controllo dell'errore polivalenteper celle di memoria multilivello funzionanti a un numero variabile di
US6469931B1 (en) 2001-01-04 2002-10-22 M-Systems Flash Disk Pioneers Ltd. Method for increasing information content in a computer memory
US6757193B2 (en) 2001-05-31 2004-06-29 Macronix International Co., Ltd. Coding method of multi-level memory cell
JP4437519B2 (ja) * 2001-08-23 2010-03-24 スパンション エルエルシー 多値セルメモリ用のメモリコントローラ
JP3398146B1 (ja) * 2002-01-23 2003-04-21 株式会社椿本チエイン 伝動媒体用摺接ガイド
US6870774B2 (en) 2002-12-10 2005-03-22 Micron, Technology, Inc. Flash memory architecture for optimizing performance of memory having multi-level memory cells
US7231585B2 (en) * 2002-12-11 2007-06-12 Nvidia Corporation Error correction for flash memory
US7330370B2 (en) * 2004-07-20 2008-02-12 Unity Semiconductor Corporation Enhanced functionality in a two-terminal memory array
US7844879B2 (en) * 2006-01-20 2010-11-30 Marvell World Trade Ltd. Method and system for error correction in flash memory
US8055979B2 (en) * 2006-01-20 2011-11-08 Marvell World Trade Ltd. Flash memory with coding and signal processing
US7533328B2 (en) * 2006-07-04 2009-05-12 Sandisk Il, Ltd. Method of error correction in a multi-bit-per-cell flash memory
US7805663B2 (en) * 2006-09-28 2010-09-28 Sandisk Corporation Methods of adapting operation of nonvolatile memory
US7558109B2 (en) * 2006-11-03 2009-07-07 Sandisk Corporation Nonvolatile memory with variable read threshold

Also Published As

Publication number Publication date
US8499215B2 (en) 2013-07-30
JP2010515145A (ja) 2010-05-06
US20130294158A1 (en) 2013-11-07
US20080151621A1 (en) 2008-06-26
WO2008078866A1 (en) 2008-07-03
KR100822030B1 (ko) 2008-04-15

Similar Documents

Publication Publication Date Title
JP5091253B2 (ja) マルチレベルセルメモリ装置およびこのメモリ装置にデータを記録および読み取る方法
US8020081B2 (en) Multi-level cell memory devices using trellis coded modulation and methods of storing data in and reading data from the memory devices
US7962831B2 (en) Multi-level cell memory device and method thereof
US7533328B2 (en) Method of error correction in a multi-bit-per-cell flash memory
JP3999822B2 (ja) 記憶システム
JP5345201B2 (ja) 符号化および/または復号化メモリ装置および方法
JP5621175B2 (ja) 変調コーディングを使用するセル間干渉軽減のための方法および装置
US9106264B2 (en) Encoding and decoding in flash memories using convolutional-type low-density parity check codes
JP5723967B2 (ja) ソリッド・ステート・ストレージ・デバイスのsレベル・ストレージに入力データを記録するための方法、エンコーダ装置、およびソリッド・ステート・ストレージ・デバイス
US9582359B2 (en) Write mapping to mitigate hard errors via soft-decision decoding
JP2008165805A (ja) フラッシュメモリ装置のecc制御器及びそれを含むメモリシステム
US8276046B2 (en) Apparatus for determining number of bits to be stored in memory cell
KR20140091665A (ko) 비휘발성 메모리의 차동 벡터 저장
JP2013524609A5 (ja)
US20110066922A1 (en) Error correction for multilevel flash memory
US8239726B2 (en) Apparatuses and methods for encoding and decoding
KR20080052288A (ko) 연접 부호화를 이용한 멀티 레벨 셀 메모리 장치
JPH1145595A (ja) 多値セル用誤り訂正回路
JP2003256294A (ja) 記憶システム
IL196239A (en) Method of error correction in a multi-bit-per-cell flash memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120717

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120913

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150921

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5091253

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

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