JP2010027163A - 半導体メモリコントローラ、および半導体メモリシステム、および半導体メモリシステムの記録再生方法 - Google Patents

半導体メモリコントローラ、および半導体メモリシステム、および半導体メモリシステムの記録再生方法 Download PDF

Info

Publication number
JP2010027163A
JP2010027163A JP2008188893A JP2008188893A JP2010027163A JP 2010027163 A JP2010027163 A JP 2010027163A JP 2008188893 A JP2008188893 A JP 2008188893A JP 2008188893 A JP2008188893 A JP 2008188893A JP 2010027163 A JP2010027163 A JP 2010027163A
Authority
JP
Japan
Prior art keywords
data
semiconductor memory
recording
data string
inversion
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.)
Pending
Application number
JP2008188893A
Other languages
English (en)
Inventor
Takesuke Sato
雄亮 佐藤
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008188893A priority Critical patent/JP2010027163A/ja
Priority to US12/390,632 priority patent/US7936609B2/en
Publication of JP2010027163A publication Critical patent/JP2010027163A/ja
Priority to US13/082,981 priority patent/US8169829B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
    • 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/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • 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/26Sensing or reading circuits; Data output circuits
    • 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/5646Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"
    • 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/5647Multilevel memory with bit inversion arrangement

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】高性能な半導体メモリコントローラ、高性能な半導体メモリシステム、および高性能な半導体メモリシステムの記録再生方法を実現する。
【解決手段】メモリ部10が、データに対応した閾値電圧を有する記録状態となるメモリセル10Aにより構成されており、記録の際にカウンタ部14の計測に基づき所定の記録状態のメモリセル10Aが多くなるように、反転部15がデータ列の反転処理を行った場合には、データ列に付加されるフラグを反転処理を行ったことを示すフラグとし、再生の際に反転部15が反転処理を行ったことを示すフラグが付加されているデータ列の再反転処理を行う。
【選択図】図1

Description

本発明は、半導体メモリコントローラ、および半導体メモリシステム、および半導体メモリシステムの記録再生方法に関し、特にデータに応じた閾値電圧を有する記録状態となるメモリセルにより構成された半導体メモリ部に、データ列を記録し記録された前記データ列を再生する半導体メモリシステムの制御を行う、半導体メモリコントローラおよび半導体メモリシステムおよび半導体メモリシステムの記録再生方法に関する。
近年、半導体メモリシステム、特に、不揮発性の記録媒体であるNAND型フラッシュメモリに記録を行う半導体メモリシステムの開発が行われ、パーソナルコンピュータ、携帯電話もしくはデジタルカメラ等のホスト機器のメモリ装置、またはコンピュータシステムの内蔵メモリシステムとして普及している。その中でも、近年、NAND型フラッシュメモリを有する半導体メモリシステムが、特に多く用いられている。
NAND型フラッシュメモリは、記録する際には、記録するデータに応じて、半導体メモリ部のメモリセルの電荷蓄積層に絶縁膜を介して所定の電荷を注入し、再生する際にはメモリセルの電荷量に応じたトランジスタの閾値電圧の違いを測定し、記録されたデータを読み出す。ここで、メモリセルは異なる閾値電圧を有する複数の記録状態となり、それぞれの記録状態に対応するデータが決められている。2値メモリセルにおいては、例えば、電荷が蓄積されていない閾値電圧が低い状態のメモリセルを「1」データとし、電荷が蓄積されている閾値電圧が高い状態のメモリセルを「0」データと決めている。
電荷が蓄積されていない状態のメモリセルと電荷が蓄積されている状態のメモリセル、言い換えれば、異なる閾値電圧を有するメモリセルでは、物理的な安定状態が異なっている。しかし、公知の半導体メモリシステムでは、メモリセルの記録状態に、どのデータを対応するかについて検討されることはなかった。
また、特開2001−93288号公報には、4つの異なる閾値電圧の記録状態を用いることで、ひとつのメモリセルに、2ビットデータの記録が可能な多値フラッシュメモリ装置が開示されている。特開2001−93288号公報には、多値フラッシュメモリ装置では、閾値電圧の高い状態にまでメモリセルに電荷を蓄積するには、閾値電圧の低い状態にするよりも時間を要することも開示されている。
特開2001−93288号公報
本発明は、高性能な半導体メモリコントローラ、高性能な半導体メモリシステム、および高性能な半導体メモリシステムの記録再生方法を実現することを目的とする。
本願発明の一態様の半導体メモリコントローラは、半導体メモリ部に、データ列を記録し記録されたデータ列を再生する半導体メモリシステムの制御を行う、半導体メモリコントローラであって、半導体メモリ部が、データに対応した閾値電圧を有する記録状態となるメモリセルにより構成されており、データ列の中の「0」データまたは「1」データの数を計測するカウント手段と、データ列の全データを反転する反転手段とを有し、記録の際にカウント手段の計測に基づき、所定の記録状態のメモリセルが多くなる、または少なくなるように、反転手段がデータ列の反転処理を行った場合にはデータ列に付加されるフラグを反転処理を行ったことを示すフラグとし、再生の際に反転手段が反転処理を行ったことを示すフラグが付加されているデータ列の再反転処理を行う。
また、本願発明の一態様の半導体メモリシステムは、上記記載の半導体メモリコントローラと、半導体メモリ部とを有する。
また、本願発明の一態様の半導体メモリシステムの記録再生方法は、半導体メモリ部に、データ列を記録し、記録されたデータ列を再生する半導体メモリシステムの記録再生方法であって、半導体メモリ部が、データに対応した閾値電圧の記録状態となるメモリセルにより構成されており、記録の際に、データ列の中の「0」データまたは「1」データの数を計測するカウンタステップと、カウンタステップの計測に基づき、所定の記録状態のメモリセルが多くなる、または少なくなるように、データ列の反転処理を行う反転ステップと、反転処理を行った場合にはデータ列に付加されるフラグを反転処理を行ったことを示すフラグとするフラグ設定ステップと、データ列とフラグとを半導体メモリ部に記録する記録ステップと、を有し、再生の際に、フラグの内容を検出するフラグ検出ステップと、フラグが反転処理を行ったことを示すフラグの場合にはデータ列の再反転処理を行う再反転ステップと、データ列を出力する出力ステップと、を有する。
本発明によれば、高性能な半導体メモリコントローラ、高性能な半導体メモリシステム、および高性能な半導体メモリシステムの記録再生方法を実現することができる。
<第1の実施の形態>
以下、図面を参照して本発明の第1の実施の形態の半導体メモリコントローラ2、および半導体メモリシステム1、および半導体メモリシステムの記録再生方法について説明する。図1は、本実施の形態の半導体メモリシステム1の概略構成を示す構成図である。
最初に、図1を用いて本発明の実施の形態の半導体メモリシステム(以下、「メモリシステム」ともいう。)1の概略構成を説明する。メモリシステム1は、例えば、パソコン等のホスト3から受信した「0」データおよび「1」データからなるデジタルデータを記録し、記録したデータをホスト3に送信する記録媒体であるNAND型フラッシュメモリ媒体、または、ホスト3の起動デイスクとしても用いられるSSD(Solid State Disk)等である。
図1に示すように、メモリシステム1は、半導体メモリ部(以下、「メモリ部」ともいう。)10と、半導体メモリコントローラ(以下、「メモリコントローラ」ともいう。)2とから構成されている。メモリ部10は、NAND型フラッシュメモリから構成されており、単位セルである複数のメモリセル10Aが、ビット線等で接続された構造を有する。メモリセル10Aは記録時には、記録するデータに応じた電荷量が蓄積され、記録するデータに応じたトランジスタの閾値電圧に設定される。
メモリコントローラ2は、CPU13を用いて、ホスト I/F(インターフェイス)12を介してホスト3とのデータ送受信を、NAND I/F(インターフェイス)18を介してメモリ部10とのデータ送受信を、バッファ(Buffer)16を介して行う。メモリコントローラ2の誤り訂正(ECC:Error Correcting Code)回路17は、データ記録の際に誤り訂正符号を生成し付与する符号化器と、データ読み出し(再生)の際に、読み出された符号化データを復号する復号器とを有する。なお、半導体メモリコントローラ2は、ホスト3からのユーザーデータを所定長のデータ列、例えば1KB長のデータ列として処理する。また、メモリコントローラ2内のCPU13等はバス11により互いに接続されている。
そして、本実施の形態の半導体メモリコントローラ2は、記録するデータ列の中の「0」データまたは「1」データの数を計測するカウント手段であるカウンタ部(Counter)14を有する。データ列は2種類のデータ、すなわち、「0」データと「1」データとで構成されているので、データ列の長さが判明していれば、「0」データまたは「1」データのいずれかの数を計測すると他方の数も判明する。このため、カウンタ部14は、「0」データまたは「1」データのいずれかの数を計測する。
また、半導体メモリコントローラ2は、記録再生時に、データ列の全データを反転処理する反転手段である反転部(Inverter)15を有する。ここで、データの反転処理とは、「0」データを「1」に置換し、かつ、「1」データを「0」に置換する処理である。
すでに説明したように、メモリシステム1においては、記録されたデータが、「0」データか「1」データかによって、メモリセル10Aは閾値電圧が異なる記録状態となるため、「0」データが記録されたメモリセルと、「1」データが記録されたメモリセルとでは性能が異なる。ここで、性能とは、半導体メモリシステム1の記録再生速度、および/または信頼性である。
例えば、図2に示すように、半導体メモリシステム1においては、データ列中のデータ「0」(「0」ビット)の割合が増加すると、データ列を記録するために要する時間が長くなる。図2は、半導体メモリシステムにおけるデータ列中のデータ「0」の割合に対してデータ列を記録するために要する時間をプロットした図である。
なお、図2に示したのは、消去状態の閾値電圧が低い状態のメモリセル10Aが、データ「1」に対応し、電荷が蓄積され閾値電圧が高い状態のメモリセル10Aが、データ「0」に対応しているメモリシステム1の場合である。このメモリシステム1のメモリセル10Aにデータ「0」を記録する場合には、メモリセル10Aに電荷を蓄積する書き込み処理が必要となる。このため、書き込むデータ列に「0」データが多い場合には、「0」データが少ない場合よりも、データ列を記録するために要する時間が長くなる、言い換えれば、記録速度が遅くなる。
しかし、本実施の形態のメモリシステム1のメモリコントローラ2は、記録の際に、記録するデータ列単位で、カウンタ部14により低い閾値電圧を有する記録状態のメモリセルとなるデータ、すなわち、「1」データの数を計測し、閾値電圧の低い記録状態のメモリセルが多くなる、または/かつ、閾値電圧の高い記録状態のメモリセルが少なくなるように、反転部15がデータ列の反転処理を行う。そして、反転部15が反転処理を行った場合には、メモリコントローラ2は、データ列に付加されるフラグを反転処理を行ったことを示すフラグに設定して、反転処理後のデータ列とフラグとをメモリ部10に記録する。
このため、メモリシステム1は記録速度が公知のメモリシステムよりも速い、性能が高い。
なお、データ列の読み出しのとき、すなわち、再生のときに、メモリコントローラ2では、反転部15が反転処理を行ったことを示すフラグが付加されているデータ列に対しては、反転部15が再反転処理を行う。一方、メモリコントローラ2は、付加されているフラグが反転処理を行っていないことを示すフラグの、データ列に対しては再反転処理は行わない。
ここで、図3、図4、図5および図6を用いて、メモリシステム1の記録方法について詳細に説明する。図3および図4は本実施の形態のメモリシステム1の半導体メモリシステムの記録再生方法を説明するためのフローチャートであり、図5および図6は本実施の形態のメモリシステム1のデータ列の記録再生方法を説明するための説明図である。以下、図3および図4のフローチャートに従い、メモリシステム1の半導体メモリシステムの記録再生方法について説明する。
最初に、記録の際の処理について説明する。
<ステップS11> カウンタステップ
ホスト3から送信されてきたデータ列は、バッファ16に一時的に記録される。カウンタ部14は、データ列の中の「1」データの数を計測する。
図5に示す28ビットのデータ列を例に説明すると、カウンタ部14は、28ビットのデータ列(Input Data)の中の「1」データの数を計測し、計測結果をCPU13に送信する。なお、図5では説明を簡単にするため、書き込み単位データのデータ列の長さを、短い28ビットとしている。
<ステップS12> 判定ステップ
CPU13は、予め設定された所定の条件に基づいて、データ列の反転処理をするかどうかの判定をする。所定の条件としては、例えば、データ列中の所定のデータである「1」データの割合が所定の割合である過半数未満の場合、言い換えれば、データ列中の「0」データの数が過半数以上の場合、データ列を反転する。条件は、データ列の数に対する所定の記録状態のメモリセルの数の比率等で規定される。所定の割合はメモリシステムの仕様により適宜決定する。
なお、図5に示した28ビットのデータ列では、「0」データが16個、「1」データが12個であるため、「0」データが過半数以上という条件の場合には反転処理が行われる。
<ステップS13> 反転ステップ
データ列中の「0」データの割合が所定の割合である過半数以上の場合、反転部15はデータ列の反転処理を行う。すなわち、図5に示した例では、「Input data」を「Reversed Data」に変換する。
<ステップS14> フラグ設定ステップ
CPU13は反転処理を行った場合には、データ列に付加するフラグを、反転処理を行ったことを示すフラグ「1」とする。
<ステップS15> 記録ステップ
CPU13は、反転処理を行ったデータ列と、反転処理を行ったことを示すフラグ「1」とを、メモリ部10に記録する。このとき、図5に示す「Recorded data」のように、「1」を記録するメモリセルの割合が多いため、言い換えれば、「0」を記録するメモリセルの割合が少ないため、図2より明らかなように、データ列の書き込みに要する時間が短くできる。
<ステップS16>
なお図6に示すように、ステップS12において、データ列中の「0」データの数が過半数未満の場合、反転部15はデータ列の反転処理を行わない。そして、CPU13は、データ列に付加するフラグをリセットして「0」とする、言い換えれば、図6に示すように、データ列に付加するフラグを反転処理を行っていないことを示すフラグ「0」とした、「Record data」を、メモリ部10に記録する。
すなわち、データ列に付加されるフラグは、反転表示フラグであり、「1」の場合に反転処理されたデータ列であることを示し、「0」の場合に反転処理されていないデータ列であることを示している。また、反転表示フラグは重要なデータであるため、冗長化して同じデータを2つ以上データ列に付加することが好ましい。また、反転表示フラグはメモリ部10とは異なる場所に、データ列とは別に記録してもよい。
次に、読み出し(再生)の際の処理について説明する。
<ステップS21>
メモリ部10から読み出されたデータ列は、バッファ16に一時的に記録される。
<ステップS22> フラグ検出ステップ
CPU13は、読み出されたデータ列に付加されている反転表示フラグの内容を検出する。
<ステップS23> 再反転ステップ
ステップS22において、反転表示フラグが「1」の場合には、図5の「Re-reversed data」に示すように、反転部15は、データ列の再反転処理を行う。この反転処理は、書き込み時において反転処理されたデータ列を再度反転処理し、元の状態に戻す再反転処理である。
<ステップS24> 出力ステップ
図5および図6の「Output data」に示すように、メモリコントローラ2は、データ列をホスト3に出力する。
なお、ステップS22において、反転表示フラグが「0」の場合には、反転部15は反転処理を行わない。
以上の説明のように本実施の形態の半導体メモリシステムの記録再生方法は、記録速度が公知の半導体メモリシステムの記録再生方法よりも早く、性能が高い。
ここで、半導体メモリシステムにおいては、データ「0」を記録していることに対応しているメモリセルは、データを保持している間に、蓄積されていた電荷が減少してしまうと、再生の際に、閾値電圧が低い状態のデータ「1」を記録しているメモリセルと誤認識されてしまうことがある。このため、記録するデータ列にメモリセルの保持特性の悪いデータ「0」が多い場合には、保持特性のよい「1」データが多い場合よりも、メモリシステム1の信頼レベルが低くなることがあった。
しかし、本実施の形態のメモリシステム1のメモリコントローラ2は、記録の際に、所定割合以上、例えば過半数のメモリセルが、電荷を蓄積していない「1」データを記録する状態となるように、データ列の反転処理を行った場合に、反転処理を行ったことを示すフラグをデータ列に付加し、メモリ部に記録する。そして、再生の際に、メモリコントローラ2は、反転処理を行ったことを示すフラグが付加されているデータ列に対しては再反転処理を行う。
このため、メモリシステム1、および、半導体メモリコントローラ2を有するメモリシステムは、記録速度が公知のメモリシステムよりも早いだけでなく、さらに公知のメモリシステムよりも信頼性が高い。また、本実施の形態の半導体メモリシステムの記録再生方法は、公知の半導体メモリシステムの記録再生方法よりも信頼性が高い。
以上の説明のように、メモリシステム1においては、半導体メモリコントローラ2は、低い閾値電圧を有する記録状態のメモリセルが多くなる、または/かつ、高い閾値電圧を有する記録状態のメモリセルが少なくなるように、データ列の反転処理を行うことが好ましい。しかし、メモリシステムの仕様等により高い閾値電圧を有する記録状態のメモリセルの方が好ましい場合等には、高い閾値電圧を有する記録状態のメモリセルが多くなるようにデータ列の反転処理を行ってもよい。
なお、半導体メモリシステム1においては、処理を行うデータ列の長さは、処理に応じて異なるデータ長を用いてもよい。例えば、誤り訂正処理を行うデータ列は1KB長とし、書き込み単位であるページ長および反転処理を行うデータ列は8KB長としてもよい。
また、カウンタ部14および反転部15は独立した回路ではなく、CPU13が所定のソフトウエアによって実現してもよい。ソフトウエアによりカウンタ部14および反転部15の機能を有するCPU13の場合には、カウンタ部14および反転部15はCPU13の内部に存在すると見なすことができる。
<第2の実施の形態>
次に、図面を参照して本発明の第2の実施の形態の半導体メモリコントローラ2B、および半導体メモリシステム1B、および半導体メモリシステムの記録再生方法について説明する。図7は、本実施の形態の半導体メモリシステム1Bの概略構成を示す構成図である。本実施の形態の半導体メモリコントローラ2B、および半導体メモリシステム1B、および半導体メモリシステムの記録再生方法は、第1の実施の形態の半導体メモリコントローラ2、半導体メモリシステム1、および半導体メモリシステムの記録再生方法と類似しているため、同じ構成要素には同じ符号を付し説明は省略する。
図7に示すように、半導体メモリシステム1Bにおいて、メモリ部10Bは、いわゆる多値半導体メモリ部である。多値半導体メモリ部とは、複数ビットを1つのメモリセル10Cに格納するメモリ部10Bであり、4種類以上の異なる閾値電圧を有する記録状態となるNAND型フラッシュメモリセルであるメモリセル10Cにより構成されている。
ここで、図8を用いて2ビットを1つのメモリセル10Cに格納する、いわゆる4値メモリ部であるメモリ部10Bにおける2ビットデータ記録について説明する。図8は4値記録の記録状態を説明するための説明図である。図8において、横軸は閾値電圧を示し、縦軸はメモリセルの出現頻度(個数)を示している。
4値記録においては、2ビットデータ、すなわち、(11)、(01)、(00)、(10)の4種類の2ビットデータのいずれかを1つのメモリセル10Cに記録するために、2つのデータ列を用いる。ここでは、最初にメモリ部10に書き込むデータ列をページmとし、次に書き込むデータ列をページnとし、メモリコントローラ2Bは、ページmのデータをメモリ部10Bに書き込んだ後に、ページnのデータを書き込むものとする。例えば、ページmのデータが「1」で、ページnのデータが「0」の場合、(01)データがメモリセル10Cに書き込まれる。
図8上段は、メモリコントローラ2Bが、ページmのデータをメモリ部10Bに書き込んだ状態を示している。ページmのデータが「1」の場合には、消去状態である「状態A」のままであるが、ページmのデータが「0」の場合には、メモリセル10Cには電荷が蓄積され、メモリセル10Cは、閾値電圧が「状態A」よりも高い、「状態B」になる。
そして、図8下段は、メモリコントローラ2Bが、ページmのデータをメモリ部10Bに書き込んだ後に、ページnのデータを書き込んだ状態を示している。ページmのデータが「1」の場合に、ページnのデータも「1」の場合には、メモリセル10Cは「状態A」のままである。これに対して、ページmのデータが「1」の場合に、ページnのデータが「0」の場合には、メモリセル10Cは「状態A」から「状態C」となる。また、ページmのデータが「0」の場合に、ページnのデータが「0」の場合には、メモリセル10Cは「状態B」から「状態D」となる。そして、ページmのデータが「0」の場合に、ページnのデータが「1」の場合には、メモリセル10Cは「状態B」から「状態E」となる。そしてメモリセルの閾値は、(11)データを記録している「状態A」が最も低く、(01)データを記録している「状態C」、(00)データを記録している「状態D」、(10)データを記録している「状態E」の順に高い。
多値メモリ部を有するメモリシステム1Bでは、高い閾値電圧の記録状態のメモリセルに対応するデータが多いと、記録の際に、閾値電圧を上げるのに時間を要する。また、高い閾値電圧の記録状態のメモリセルに対応するデータが多いと、記録の際に干渉が大きく、誤って周囲のメモリセルを書き換える可能があり、データ保持特性など信頼性の悪化につながる場合もある。
このため、メモリシステム1Bでは、メモリコントローラ2Bが、閾値電圧が最も高い記録状態のメモリセル10Cが少なくなるように、反転部15が、ページmおよびページnのデータ列を反転処理する。すなわち、メモリコントローラ2Bは、最も高い閾値電圧を有する記録状態である「状態E」のメモリセル10Cが少なくなるように、データ列を反転処理する。なお、メモリコントローラ2Bでは、反転処理を行う基準となる所定の条件は、最も高い閾値電圧を有する記録状態である「状態E」のメモリセル10Cが他のいずれかの状態のメモリセルよりも少ない場合である。
最初に、本実施の形態のメモリシステム1Bは、カウンタ部14が、バッファ16に記録された、ページmのデータ列のデータとページnのデータ列のデータの組み合わせにより、メモリセル10Cに書き込まれる2ビットデータの数をカウントする。すなわち、カウンタ部14は、ページmのデータ列の中の「0」データまたは「1」データの数を計測し、それぞれのデータと組み合わせて記録されるページmのデータ列の中の「0」データまたは「1」データの数を計測することで、4種類の2ビットデータの数をカウントする。
ここで、図9は、それぞれ28ビットのビットデータから構成されているページmのデータ列およびページnのデータ列とからなる入力データ(Input data)を、記録する例を示している。図9の例では、メモリセル10Cに記録されるデータ(Record data)は、先頭から、順に、(10)、(00)、(01)、(10)、(00)、、、となる。
図9に示したのと同じ入力データが、入力されたとき、データ列はカウンタ部14によって、Record dataページmのデータ列は「0」データが、20個(71%)、ページnのデータ列は「0」データが、12個(43%)であり、組み合わされた2ビットデータでは(11)データが2個(7%)、(01)データが6個(21%)、(00)データが6個(21%)、そして、(10)データが14個(50%)と計測される。すなわち、最も高い閾値電圧を有する(10)記録状態、すなわち図8における「状態E」のメモリセルが14個と最も多い。このため、反転部15は「状態E」のメモリセルが少なくなるようにデータ列の反転処理を行う。
(10)データが記録されるメモリセルを少なくする反転処理の方法には、ページmのデータ列のデータ「0」を少なくする方法、ページnのデータ列のデータ「1」を少なくする方法、または、ページmのデータ列のデータ「0」およびページnのデータ列のデータ「1」を共に少なくする方法の3通りの方法がある。メモリシステム1Bでは、図8に示したように、ページmのデータ列のデータ「0」が少ないと、最も閾値電圧の高い「状態E」だけでなく、2番目に閾値電圧の高い「状態D」も少なくなる。これに対して、ページnのデータ列のデータ「1」が少ない場合には、最も閾値電圧の低い「状態A」が、より閾値電圧の高い「状態B」となってしまう。このため、メモリシステム1Bでは、ページmのデータ列は、データ「0」(71%)をデータ「1」に反転処理するが、ページnのデータ列は、データ「0」(43%)は反転処理しない。すなわち、メモリシステム1Bでは反転処理の基準となる条件は1つではなく、優先順位のある複数の条件を組み合わせて用いる。
このため、メモリコントローラ2Bの反転部15は、(10)状態のメモリセルを少なくするために、ページmのデータ列のみ反転処理を行い、反転フラグを反転処理を行ったことを示す「1」とする。ページnのデータ列は反転処理されない。
その結果、図11に示す「Recored Data」がメモリ部10Bに書き込まれる。このため、メモリ部10Bでは、(11)状態のメモリセルが14個、(01)状態のメモリセルが6個、(00)状態のメモリセルが6個、そして、(10)状態のメモリセルが2個となる。
再生、すなわち、データ列を読み出す場合には、メモリコントローラ2Bは、読み出したデータ列の反転フラグの状態により、再反転処理を行うか否かを判断する。
書き込み時間が長くなる、閾値電圧の高い状態となるメモリセルの数が、減少するため、メモリシステム1Bのデータ記録速度は速くなり、性能がよい。また、メモリシステム1B、および半導体メモリコントローラ2Bを有するメモリシステムは、記録速度が公知のメモリシステムよりも早いだけでなく、さらに公知のメモリシステムよりも信頼性が高い。また、本実施の形態の半導体メモリシステムの記録再生方法は、公知の半導体メモリシステムの記録再生方法よりも信頼性が高い。
なお、上記例では、閾値電圧の最も高い「状態E」のメモリセルが少なくなるように反転部15が反転処理を行ったことが、同時に閾値電圧の最も低い「状態A」のメモリセルが多くなるという結果になっているが、メモリシステム1Bの仕様によっては反転部15が閾値電圧の最も低い「状態A」のメモリセルが多くなるように反転処理を行う場合もある。
なお、上記例では、ページnのデータ列は反転処理しなかったが、すでにページmのデータ列がメモリ部10Bに書き込みされている場合には、閾値電圧の最も高い「状態E」のメモリセルが少なくなるように、反転部15がページnのデータ列についてのみ反転処理を行ってもよい。
また、バッファ16の容量が、ページmのデータ列とページnのデータ列との両方のデータ列を同時に記録するためには不足している場合には、ページmのデータ列について本発明の処理を行って、メモリ部10Bに記録してから、ページnのデータ列について本発明の処理を行いメモリ部10Bに記録してもよい。あるいは、ページm、またはページnのデータ列のいずれのページのデータ列についてのみ反転処理を行ってもよい。
さらに、8値メモリ部または16値メモリ部等の多値メモリ部を有するメモリシステムであっても、同様に所定の記録状態のメモリセルが多くなるように、あるいは、少なくなるように、反転部15がデータ列の反転処理を行うことで、メモリシステムの性能を上げることができる。特にNAND型フラッシュメモリ部を有するメモリシステムにおいては、閾値電圧の最も高い状態のメモリセルが少なくなる、または/かつ、閾値電圧の最も低い状態のメモリセルが多くなるように反転処理を行うことが好ましい。
なお、上記説明のメモリシステム1Bでは、メモリセルの閾値が、(11)データを記録している「状態A」が最も低く、(01)データを記録している「状態C」、(00)データを記録している「状態D」、(10)データを記録している「状態E」の順に高い場合を例に説明したが、データと記録状態の対応が異なる場合であっても、閾値電圧の大小を基準とする所定の条件で反転処理を行うことで、本発明の効果を奏することができる。
また、以上の説明では、半導体メモリ部を有する半導体メモリシステムを例に説明したが、半導体メモリシステムと同様に「0」または「1」からなるデジタルデータ列を記録し再生する、磁気記録装置、相変化型光記録装置、光磁気記録装置、または磁気抵抗効果記録装置(MRAM)等の記録装置にも適用可能である。
すなわち、メモリ部に、データ列を記録し記録された前記データ列を再生する記録装置であって、前記メモリ部が、データに対応した記録状態となるメモリセルにより構成されており、前記データ列の中の「0」データまたは「1」データの数を計測するカウント手段と、前記データ列の全データを反転する反転手段とを有し、記録の際に、前記カウント手段の計測に基づき、所定の前記記録状態の前記メモリセルが多くなる、または少なくなるように、前記反転手段が前記データ列の前記反転処理を行った場合に、前記データ列に付加されるフラグを反転処理を行ったことを示すフラグとし、再生の際に、前記反転手段が、前記反転処理を行ったことを示すフラグが付加されている前記データ列の再反転処理を行うことを特徴とする記録装置である。
上記のように、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
本発明の第1の実施の形態の半導体メモリシステムの概略構成を示す構成図である。 半導体メモリシステムにおける、データ列中のデータ「0」の割合に対してデータ列を記録するために要する時間をプロットした図である 本発明の第1の実施の形態の半導体メモリシステムの記録方法を説明するためのフローチャートである。 本発明の第1の実施の形態の半導体メモリシステムの再生方法を説明するためのフローチャートである。 本発明の第1の実施の形態の半導体メモリシステムの記録再生方法を説明するための説明図である。 本発明の第1の実施の形態の半導体メモリシステムの記録再生方法を説明するための説明図である。 本発明の第2の実施の形態の半導体メモリシステムの概略構成を示す構成図である。 4値記録の半導体メモリシステムの記録状態を説明するための説明図である。 4値記録の半導体メモリシステムの記録再生方法を説明するための説明図である。 本発明の第2の実施の形態の半導体メモリシステムの記録再生方法を説明するための説明図である。
符号の説明
1、1B…半導体メモリシステム
2、2B…半導体メモリコントローラ
3…ホスト
10、10B…メモリ部
10A、10C…メモリセル
11…バス
12…ホスト インターフェイス
13…CPU
14…カウンタ部
15…反転部
16…バッファ
17…ECC回路
18…NAND インターフェイス

Claims (5)

  1. 半導体メモリ部に、データ列を記録し記録された前記データ列を再生する半導体メモリシステムの制御を行う、半導体メモリコントローラであって、
    前記半導体メモリ部が、データに対応した閾値電圧を有する記録状態となるメモリセルにより構成されており、
    前記データ列の中の「0」データまたは「1」データの数を計測するカウント手段と、
    前記データ列の全データを反転する反転手段とを有し、
    記録の際に、前記カウント手段の計測に基づき、所定の前記記録状態の前記メモリセルが多くなる、または少なくなるように、前記反転手段が前記データ列の前記反転処理を行った場合には、前記データ列に付加されるフラグを反転処理を行ったことを示すフラグとし、
    再生の際に、前記反転手段が、前記反転処理を行ったことを示すフラグが付加されている前記データ列の再反転処理を行うことを特徴とする半導体メモリコントローラ。
  2. 低い前記閾値電圧を有する記録状態の前記メモリセルが多くなる、または/かつ、高い前記閾値電圧を有する記録状態の前記メモリセルが少なくなるように、前記反転手段が前記反転処理を行うことを特徴とする請求項1に記載の半導体メモリコントローラ。
  3. 前記半導体メモリ部が、4種類以上の前記閾値電圧を有する前記記録状態になる前記メモリセルにより構成された多値半導体メモリ部であり、
    最も低い前記閾値電圧を有する記録状態の前記メモリセルが多くなる、または/かつ、最も高い前記閾値電圧を有する記録状態の前記メモリセルが少なくなるように、前記反転手段が前記反転処理を行うことを特徴とする請求項1に記載の半導体メモリコントローラ。
  4. 請求項1から請求項3のいずれか1項に記載の半導体メモリコントローラと、
    前記半導体メモリ部とを有することを特徴とする半導体メモリシステム。
  5. 半導体メモリ部に、データ列を記録し、記録された前記データ列を再生する半導体メモリシステムの記録再生方法であって、
    前記半導体メモリ部が、データに対応した閾値電圧の記録状態となるメモリセルにより構成されており、
    記録の際に、
    前記データ列の中の「0」データまたは「1」データの数を計測するカウンタステップと、
    前記カウンタステップの計測に基づき、所定の前記記録状態の前記メモリセルが多くなる、または少なくなるように、前記データ列の反転処理を行う反転ステップと、
    前記反転処理を行った場合には、前記データ列に付加されるフラグを反転処理を行ったことを示すフラグとするフラグ設定ステップと、
    前記データ列と前記フラグとを前記半導体メモリ部に記録する記録ステップと、を有し
    再生の際に、
    前記フラグの内容を検出するフラグ検出ステップと、
    前記フラグが前記反転処理を行ったことを示すフラグの場合には、前記データ列の再反転処理を行う再反転ステップと、
    前記データ列を出力する出力ステップと、を有することを特徴とする半導体メモリシステムの記録再生方法。
JP2008188893A 2008-07-22 2008-07-22 半導体メモリコントローラ、および半導体メモリシステム、および半導体メモリシステムの記録再生方法 Pending JP2010027163A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008188893A JP2010027163A (ja) 2008-07-22 2008-07-22 半導体メモリコントローラ、および半導体メモリシステム、および半導体メモリシステムの記録再生方法
US12/390,632 US7936609B2 (en) 2008-07-22 2009-02-23 Memory controller, memory system, recording and reproducing method for memory system, and recording apparatus
US13/082,981 US8169829B2 (en) 2008-07-22 2011-04-08 Memory controller, memory system, recording and reproducing method for memory system, and recording apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008188893A JP2010027163A (ja) 2008-07-22 2008-07-22 半導体メモリコントローラ、および半導体メモリシステム、および半導体メモリシステムの記録再生方法

Publications (1)

Publication Number Publication Date
JP2010027163A true JP2010027163A (ja) 2010-02-04

Family

ID=41568532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008188893A Pending JP2010027163A (ja) 2008-07-22 2008-07-22 半導体メモリコントローラ、および半導体メモリシステム、および半導体メモリシステムの記録再生方法

Country Status (2)

Country Link
US (2) US7936609B2 (ja)
JP (1) JP2010027163A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013239142A (ja) * 2012-04-16 2013-11-28 Sony Corp 記憶制御装置、メモリシステム、情報処理システム、および、記憶制御方法
JP2014010670A (ja) * 2012-06-29 2014-01-20 Fujitsu Ltd データ変換方法、データ変換装置およびデータ変換プログラム
WO2024085055A1 (ja) * 2022-10-18 2024-04-25 株式会社ニコン 露光装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8175012B2 (en) * 2009-03-26 2012-05-08 Mediatek Inc. Decoding/encoding method for booting from a NAND flash and system thereof
US8780659B2 (en) * 2011-05-12 2014-07-15 Micron Technology, Inc. Programming memory cells
JP2023139460A (ja) * 2022-03-22 2023-10-04 株式会社東芝 磁気ディスク装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08335396A (ja) * 1995-06-08 1996-12-17 Sony Corp 半導体不揮発性記憶装置
JPH09180477A (ja) * 1995-11-10 1997-07-11 Samsung Electron Co Ltd 不揮発性半導体メモリ装置とその読出及びプログラム方法
JPH09204783A (ja) * 1996-01-25 1997-08-05 Sony Corp 半導体不揮発性記憶装置
JP2001093288A (ja) * 1999-09-20 2001-04-06 Toshiba Corp 不揮発性半導体記憶装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7549011B2 (en) * 2001-08-30 2009-06-16 Micron Technology, Inc. Bit inversion in memory devices
JP2005116132A (ja) * 2003-10-10 2005-04-28 Toshiba Corp 不揮発性半導体記憶装置
US7102544B1 (en) * 2005-05-31 2006-09-05 Altera Corporation Method and system for improving memory interface data integrity in PLDs
KR100827702B1 (ko) * 2006-11-01 2008-05-07 삼성전자주식회사 가변저항 반도체 메모리 장치
US8495438B2 (en) * 2007-12-28 2013-07-23 Texas Instruments Incorporated Technique for memory imprint reliability improvement

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08335396A (ja) * 1995-06-08 1996-12-17 Sony Corp 半導体不揮発性記憶装置
JPH09180477A (ja) * 1995-11-10 1997-07-11 Samsung Electron Co Ltd 不揮発性半導体メモリ装置とその読出及びプログラム方法
JPH09204783A (ja) * 1996-01-25 1997-08-05 Sony Corp 半導体不揮発性記憶装置
JP2001093288A (ja) * 1999-09-20 2001-04-06 Toshiba Corp 不揮発性半導体記憶装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013239142A (ja) * 2012-04-16 2013-11-28 Sony Corp 記憶制御装置、メモリシステム、情報処理システム、および、記憶制御方法
JP2014010670A (ja) * 2012-06-29 2014-01-20 Fujitsu Ltd データ変換方法、データ変換装置およびデータ変換プログラム
WO2024085055A1 (ja) * 2022-10-18 2024-04-25 株式会社ニコン 露光装置

Also Published As

Publication number Publication date
US7936609B2 (en) 2011-05-03
US8169829B2 (en) 2012-05-01
US20110191552A1 (en) 2011-08-04
US20100020619A1 (en) 2010-01-28

Similar Documents

Publication Publication Date Title
US11386952B2 (en) Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell
TWI527048B (zh) 應用於快閃記憶體裝置的錯誤更正碼單元、自我測試方法及相關的控制器
JP5914613B2 (ja) Mビットメモリセル用のm+nビットプログラミングおよびm+lビット読出し
TWI455136B (zh) 用來進行資料整形之方法以及相關之記憶裝置及其控制器
US8930645B2 (en) Method and apparatus using linked lists for streaming of data for soild-state bulk storage device
KR102393427B1 (ko) 반도체장치 및 반도체시스템
KR20090019593A (ko) 이씨씨 제어 회로 및 그것을 포함하는 멀티채널 메모리시스템
JP2013080450A (ja) メモリ装置
US8589756B2 (en) Semiconductor memory device, semiconductor memory system, and erasure correction method
US8169829B2 (en) Memory controller, memory system, recording and reproducing method for memory system, and recording apparatus
KR20180106494A (ko) 반도체장치
CN112562766A (zh) 一种重读管理方法、固态硬盘控制器及固态硬盘
US9105359B2 (en) Nonvolatile memory device and error correction methods thereof
KR20180000594A (ko) 반도체장치 및 반도체시스템
US20140164683A1 (en) Nonvolatile memory apparatus, operating method thereof, and data processing system having the same
JP2001332096A (ja) 不揮発性半導体メモリおよび不揮発性半導体メモリを用いた記録再生装置
US20180211696A1 (en) Semiconductor systems performing double-write operations and methods of operating the same
KR101495795B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
TW202424983A (zh) 記憶體系統及其方法、電腦可讀介質
KR20170096079A (ko) 반도체장치 및 반도체시스템
Huang et al. A method of correcting the shift error of multilevel flash memory by the skill of gray code

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130219