(57)【要約】【課題】高性能な半導体メモリコントローラ、高性能な半導体メモリシステム、および高性能な半導体メモリシステムの記録再生方法を実現する。【解決手段】メモリ部１０が、データに対応した閾値電圧を有する記録状態となるメモリセル１０Ａにより構成されており、記録の際にカウンタ部１４の計測に基づき所定の記録状態のメモリセル１０Ａが多くなるように、反転部１５がデータ列の反転処理を行った場合には、データ列に付加されるフラグを反転処理を行ったことを示すフラグとし、再生の際に反転部１５が反転処理を行ったことを示すフラグが付加されているデータ列の再反転処理を行う。【選択図】図１
2010027163.tif 000002
【特許請求の範囲】
【請求項１】
半導体メモリ部に、データ列を記録し記録された前記データ列を再生する半導体メモリシステムの制御を行う、半導体メモリコントローラであって、
前記半導体メモリ部が、データに対応した閾値電圧を有する記録状態となるメモリセルにより構成されており、
前記データ列の中の「０」データまたは「１」データの数を計測するカウント手段と、
前記データ列の全データを反転する反転手段とを有し、
記録の際に、前記カウント手段の計測に基づき、所定の前記記録状態の前記メモリセルが多くなる、または少なくなるように、前記反転手段が前記データ列の前記反転処理を行った場合には、前記データ列に付加されるフラグを反転処理を行ったことを示すフラグとし、
再生の際に、前記反転手段が、前記反転処理を行ったことを示すフラグが付加されている前記データ列の再反転処理を行うことを特徴とする半導体メモリコントローラ。
【請求項２】
低い前記閾値電圧を有する記録状態の前記メモリセルが多くなる、または／かつ、高い前記閾値電圧を有する記録状態の前記メモリセルが少なくなるように、前記反転手段が前記反転処理を行うことを特徴とする請求項１に記載の半導体メモリコントローラ。
【請求項３】
前記半導体メモリ部が、４種類以上の前記閾値電圧を有する前記記録状態になる前記メモリセルにより構成された多値半導体メモリ部であり、
最も低い前記閾値電圧を有する記録状態の前記メモリセルが多くなる、または／かつ、最も高い前記閾値電圧を有する記録状態の前記メモリセルが少なくなるように、前記反転手段が前記反転処理を行うことを特徴とする請求項１に記載の半導体メモリコントローラ。
【請求項４】
請求項１から請求項３のいずれか１項に記載の半導体メモリコントローラと、
前記半導体メモリ部とを有することを特徴とする半導体メモリシステム。
【請求項５】
半導体メモリ部に、データ列を記録し、記録された前記データ列を再生する半導体メモリシステムの記録再生方法であって、
前記半導体メモリ部が、データに対応した閾値電圧の記録状態となるメモリセルにより構成されており、
記録の際に、
前記データ列の中の「０」データまたは「１」データの数を計測するカウンタステップと、
前記カウンタステップの計測に基づき、所定の前記記録状態の前記メモリセルが多くなる、または少なくなるように、前記データ列の反転処理を行う反転ステップと、
前記反転処理を行った場合には、前記データ列に付加されるフラグを反転処理を行ったことを示すフラグとするフラグ設定ステップと、
前記データ列と前記フラグとを前記半導体メモリ部に記録する記録ステップと、を有し
再生の際に、
前記フラグの内容を検出するフラグ検出ステップと、
前記フラグが前記反転処理を行ったことを示すフラグの場合には、前記データ列の再反転処理を行う再反転ステップと、
前記データ列を出力する出力ステップと、を有することを特徴とする半導体メモリシステムの記録再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリコントローラ、および半導体メモリシステム、および半導体メモリシステムの記録再生方法に関し、特にデータに応じた閾値電圧を有する記録状態となるメモリセルにより構成された半導体メモリ部に、データ列を記録し記録された前記データ列を再生する半導体メモリシステムの制御を行う、半導体メモリコントローラおよび半導体メモリシステムおよび半導体メモリシステムの記録再生方法に関する。
【背景技術】
【０００２】
近年、半導体メモリシステム、特に、不揮発性の記録媒体であるＮＡＮＤ型フラッシュメモリに記録を行う半導体メモリシステムの開発が行われ、パーソナルコンピュータ、携帯電話もしくはデジタルカメラ等のホスト機器のメモリ装置、またはコンピュータシステムの内蔵メモリシステムとして普及している。その中でも、近年、ＮＡＮＤ型フラッシュメモリを有する半導体メモリシステムが、特に多く用いられている。
【０００３】
ＮＡＮＤ型フラッシュメモリは、記録する際には、記録するデータに応じて、半導体メモリ部のメモリセルの電荷蓄積層に絶縁膜を介して所定の電荷を注入し、再生する際にはメモリセルの電荷量に応じたトランジスタの閾値電圧の違いを測定し、記録されたデータを読み出す。ここで、メモリセルは異なる閾値電圧を有する複数の記録状態となり、それぞれの記録状態に対応するデータが決められている。２値メモリセルにおいては、例えば、電荷が蓄積されていない閾値電圧が低い状態のメモリセルを「１」データとし、電荷が蓄積されている閾値電圧が高い状態のメモリセルを「０」データと決めている。
【０００４】
電荷が蓄積されていない状態のメモリセルと電荷が蓄積されている状態のメモリセル、言い換えれば、異なる閾値電圧を有するメモリセルでは、物理的な安定状態が異なっている。しかし、公知の半導体メモリシステムでは、メモリセルの記録状態に、どのデータを対応するかについて検討されることはなかった。
【０００５】
また、特開２００１−９３２８８号公報には、４つの異なる閾値電圧の記録状態を用いることで、ひとつのメモリセルに、２ビットデータの記録が可能な多値フラッシュメモリ装置が開示されている。特開２００１−９３２８８号公報には、多値フラッシュメモリ装置では、閾値電圧の高い状態にまでメモリセルに電荷を蓄積するには、閾値電圧の低い状態にするよりも時間を要することも開示されている。
【特許文献１】特開２００１−９３２８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、高性能な半導体メモリコントローラ、高性能な半導体メモリシステム、および高性能な半導体メモリシステムの記録再生方法を実現することを目的とする。
【課題を解決するための手段】
【０００７】
本願発明の一態様の半導体メモリコントローラは、半導体メモリ部に、データ列を記録し記録されたデータ列を再生する半導体メモリシステムの制御を行う、半導体メモリコントローラであって、半導体メモリ部が、データに対応した閾値電圧を有する記録状態となるメモリセルにより構成されており、データ列の中の「０」データまたは「１」データの数を計測するカウント手段と、データ列の全データを反転する反転手段とを有し、記録の際にカウント手段の計測に基づき、所定の記録状態のメモリセルが多くなる、または少なくなるように、反転手段がデータ列の反転処理を行った場合にはデータ列に付加されるフラグを反転処理を行ったことを示すフラグとし、再生の際に反転手段が反転処理を行ったことを示すフラグが付加されているデータ列の再反転処理を行う。
【０００８】
また、本願発明の一態様の半導体メモリシステムは、上記記載の半導体メモリコントローラと、半導体メモリ部とを有する。
【０００９】
また、本願発明の一態様の半導体メモリシステムの記録再生方法は、半導体メモリ部に、データ列を記録し、記録されたデータ列を再生する半導体メモリシステムの記録再生方法であって、半導体メモリ部が、データに対応した閾値電圧の記録状態となるメモリセルにより構成されており、記録の際に、データ列の中の「０」データまたは「１」データの数を計測するカウンタステップと、カウンタステップの計測に基づき、所定の記録状態のメモリセルが多くなる、または少なくなるように、データ列の反転処理を行う反転ステップと、反転処理を行った場合にはデータ列に付加されるフラグを反転処理を行ったことを示すフラグとするフラグ設定ステップと、データ列とフラグとを半導体メモリ部に記録する記録ステップと、を有し、再生の際に、フラグの内容を検出するフラグ検出ステップと、フラグが反転処理を行ったことを示すフラグの場合にはデータ列の再反転処理を行う再反転ステップと、データ列を出力する出力ステップと、を有する。
【発明の効果】
【００１０】
本発明によれば、高性能な半導体メモリコントローラ、高性能な半導体メモリシステム、および高性能な半導体メモリシステムの記録再生方法を実現することができる。
【発明を実施するための最良の形態】
【００１１】
＜第１の実施の形態＞
以下、図面を参照して本発明の第１の実施の形態の半導体メモリコントローラ２、および半導体メモリシステム１、および半導体メモリシステムの記録再生方法について説明する。図１は、本実施の形態の半導体メモリシステム１の概略構成を示す構成図である。  
最初に、図１を用いて本発明の実施の形態の半導体メモリシステム（以下、「メモリシステム」ともいう。）１の概略構成を説明する。メモリシステム１は、例えば、パソコン等のホスト３から受信した「０」データおよび「１」データからなるデジタルデータを記録し、記録したデータをホスト３に送信する記録媒体であるＮＡＮＤ型フラッシュメモリ媒体、または、ホスト３の起動デイスクとしても用いられるＳＳＤ（Solid State Disk）等である。
【００１２】
図１に示すように、メモリシステム１は、半導体メモリ部（以下、「メモリ部」ともいう。）１０と、半導体メモリコントローラ（以下、「メモリコントローラ」ともいう。）２とから構成されている。メモリ部１０は、ＮＡＮＤ型フラッシュメモリから構成されており、単位セルである複数のメモリセル１０Ａが、ビット線等で接続された構造を有する。メモリセル１０Ａは記録時には、記録するデータに応じた電荷量が蓄積され、記録するデータに応じたトランジスタの閾値電圧に設定される。
【００１３】
メモリコントローラ２は、ＣＰＵ１３を用いて、ホスト  Ｉ／Ｆ（インターフェイス）１２を介してホスト３とのデータ送受信を、ＮＡＮＤ  Ｉ／Ｆ（インターフェイス）１８を介してメモリ部１０とのデータ送受信を、バッファ(Buffer)１６を介して行う。メモリコントローラ２の誤り訂正（ＥＣＣ：Error Correcting Code）回路１７は、データ記録の際に誤り訂正符号を生成し付与する符号化器と、データ読み出し（再生）の際に、読み出された符号化データを復号する復号器とを有する。なお、半導体メモリコントローラ２は、ホスト３からのユーザーデータを所定長のデータ列、例えば１ＫＢ長のデータ列として処理する。また、メモリコントローラ２内のＣＰＵ１３等はバス１１により互いに接続されている。
【００１４】
そして、本実施の形態の半導体メモリコントローラ２は、記録するデータ列の中の「０」データまたは「１」データの数を計測するカウント手段であるカウンタ部（Counter）１４を有する。データ列は２種類のデータ、すなわち、「０」データと「１」データとで構成されているので、データ列の長さが判明していれば、「０」データまたは「１」データのいずれかの数を計測すると他方の数も判明する。このため、カウンタ部１４は、「０」データまたは「１」データのいずれかの数を計測する。
【００１５】
また、半導体メモリコントローラ２は、記録再生時に、データ列の全データを反転処理する反転手段である反転部（Inverter）１５を有する。ここで、データの反転処理とは、「０」データを「１」に置換し、かつ、「１」データを「０」に置換する処理である。
【００１６】
すでに説明したように、メモリシステム１においては、記録されたデータが、「０」データか「１」データかによって、メモリセル１０Ａは閾値電圧が異なる記録状態となるため、「０」データが記録されたメモリセルと、「１」データが記録されたメモリセルとでは性能が異なる。ここで、性能とは、半導体メモリシステム１の記録再生速度、および／または信頼性である。
【００１７】
例えば、図２に示すように、半導体メモリシステム１においては、データ列中のデータ「０」（「０」ビット）の割合が増加すると、データ列を記録するために要する時間が長くなる。図２は、半導体メモリシステムにおけるデータ列中のデータ「０」の割合に対してデータ列を記録するために要する時間をプロットした図である。
【００１８】
なお、図２に示したのは、消去状態の閾値電圧が低い状態のメモリセル１０Ａが、データ「１」に対応し、電荷が蓄積され閾値電圧が高い状態のメモリセル１０Ａが、データ「０」に対応しているメモリシステム１の場合である。このメモリシステム１のメモリセル１０Ａにデータ「０」を記録する場合には、メモリセル１０Ａに電荷を蓄積する書き込み処理が必要となる。このため、書き込むデータ列に「０」データが多い場合には、「０」データが少ない場合よりも、データ列を記録するために要する時間が長くなる、言い換えれば、記録速度が遅くなる。
【００１９】
しかし、本実施の形態のメモリシステム１のメモリコントローラ２は、記録の際に、記録するデータ列単位で、カウンタ部１４により低い閾値電圧を有する記録状態のメモリセルとなるデータ、すなわち、「１」データの数を計測し、閾値電圧の低い記録状態のメモリセルが多くなる、または／かつ、閾値電圧の高い記録状態のメモリセルが少なくなるように、反転部１５がデータ列の反転処理を行う。そして、反転部１５が反転処理を行った場合には、メモリコントローラ２は、データ列に付加されるフラグを反転処理を行ったことを示すフラグに設定して、反転処理後のデータ列とフラグとをメモリ部１０に記録する。
【００２０】
このため、メモリシステム１は記録速度が公知のメモリシステムよりも速い、性能が高い。
【００２１】
なお、データ列の読み出しのとき、すなわち、再生のときに、メモリコントローラ２では、反転部１５が反転処理を行ったことを示すフラグが付加されているデータ列に対しては、反転部１５が再反転処理を行う。一方、メモリコントローラ２は、付加されているフラグが反転処理を行っていないことを示すフラグの、データ列に対しては再反転処理は行わない。
【００２２】
ここで、図３、図４、図５および図６を用いて、メモリシステム１の記録方法について詳細に説明する。図３および図４は本実施の形態のメモリシステム１の半導体メモリシステムの記録再生方法を説明するためのフローチャートであり、図５および図６は本実施の形態のメモリシステム１のデータ列の記録再生方法を説明するための説明図である。以下、図３および図４のフローチャートに従い、メモリシステム１の半導体メモリシステムの記録再生方法について説明する。
【００２３】
最初に、記録の際の処理について説明する。  
＜ステップＳ１１＞  カウンタステップ  
ホスト３から送信されてきたデータ列は、バッファ１６に一時的に記録される。カウンタ部１４は、データ列の中の「１」データの数を計測する。
【００２４】
図５に示す２８ビットのデータ列を例に説明すると、カウンタ部１４は、２８ビットのデータ列（Ｉｎｐｕｔ  Ｄａｔａ）の中の「１」データの数を計測し、計測結果をＣＰＵ１３に送信する。なお、図５では説明を簡単にするため、書き込み単位データのデータ列の長さを、短い２８ビットとしている。
【００２５】
＜ステップＳ１２＞  判定ステップ  
ＣＰＵ１３は、予め設定された所定の条件に基づいて、データ列の反転処理をするかどうかの判定をする。所定の条件としては、例えば、データ列中の所定のデータである「１」データの割合が所定の割合である過半数未満の場合、言い換えれば、データ列中の「０」データの数が過半数以上の場合、データ列を反転する。条件は、データ列の数に対する所定の記録状態のメモリセルの数の比率等で規定される。所定の割合はメモリシステムの仕様により適宜決定する。
【００２６】
なお、図５に示した２８ビットのデータ列では、「０」データが１６個、「１」データが１２個であるため、「０」データが過半数以上という条件の場合には反転処理が行われる。
【００２７】
＜ステップＳ１３＞  反転ステップ  
データ列中の「０」データの割合が所定の割合である過半数以上の場合、反転部１５はデータ列の反転処理を行う。すなわち、図５に示した例では、「Input data」を「Reversed Data」に変換する。
【００２８】
＜ステップＳ１４＞  フラグ設定ステップ  
ＣＰＵ１３は反転処理を行った場合には、データ列に付加するフラグを、反転処理を行ったことを示すフラグ「１」とする。
【００２９】
＜ステップＳ１５＞  記録ステップ  
ＣＰＵ１３は、反転処理を行ったデータ列と、反転処理を行ったことを示すフラグ「１」とを、メモリ部１０に記録する。このとき、図５に示す「Recorded data」のように、「１」を記録するメモリセルの割合が多いため、言い換えれば、「０」を記録するメモリセルの割合が少ないため、図２より明らかなように、データ列の書き込みに要する時間が短くできる。
【００３０】
＜ステップＳ１６＞  
なお図６に示すように、ステップＳ１２において、データ列中の「０」データの数が過半数未満の場合、反転部１５はデータ列の反転処理を行わない。そして、ＣＰＵ１３は、データ列に付加するフラグをリセットして「０」とする、言い換えれば、図６に示すように、データ列に付加するフラグを反転処理を行っていないことを示すフラグ「０」とした、「Record data」を、メモリ部１０に記録する。
【００３１】
すなわち、データ列に付加されるフラグは、反転表示フラグであり、「１」の場合に反転処理されたデータ列であることを示し、「０」の場合に反転処理されていないデータ列であることを示している。また、反転表示フラグは重要なデータであるため、冗長化して同じデータを２つ以上データ列に付加することが好ましい。また、反転表示フラグはメモリ部１０とは異なる場所に、データ列とは別に記録してもよい。
【００３２】
次に、読み出し（再生）の際の処理について説明する。  
＜ステップＳ２１＞  
メモリ部１０から読み出されたデータ列は、バッファ１６に一時的に記録される。
【００３３】
＜ステップＳ２２＞  フラグ検出ステップ  
ＣＰＵ１３は、読み出されたデータ列に付加されている反転表示フラグの内容を検出する。
【００３４】
＜ステップＳ２３＞  再反転ステップ  
ステップＳ２２において、反転表示フラグが「１」の場合には、図５の「Re-reversed data」に示すように、反転部１５は、データ列の再反転処理を行う。この反転処理は、書き込み時において反転処理されたデータ列を再度反転処理し、元の状態に戻す再反転処理である。
【００３５】
＜ステップＳ２４＞  出力ステップ  
図５および図６の「Output data」に示すように、メモリコントローラ２は、データ列をホスト３に出力する。  
なお、ステップＳ２２において、反転表示フラグが「０」の場合には、反転部１５は反転処理を行わない。
【００３６】
以上の説明のように本実施の形態の半導体メモリシステムの記録再生方法は、記録速度が公知の半導体メモリシステムの記録再生方法よりも早く、性能が高い。
【００３７】
ここで、半導体メモリシステムにおいては、データ「０」を記録していることに対応しているメモリセルは、データを保持している間に、蓄積されていた電荷が減少してしまうと、再生の際に、閾値電圧が低い状態のデータ「１」を記録しているメモリセルと誤認識されてしまうことがある。このため、記録するデータ列にメモリセルの保持特性の悪いデータ「０」が多い場合には、保持特性のよい「１」データが多い場合よりも、メモリシステム１の信頼レベルが低くなることがあった。
【００３８】
しかし、本実施の形態のメモリシステム１のメモリコントローラ２は、記録の際に、所定割合以上、例えば過半数のメモリセルが、電荷を蓄積していない「１」データを記録する状態となるように、データ列の反転処理を行った場合に、反転処理を行ったことを示すフラグをデータ列に付加し、メモリ部に記録する。そして、再生の際に、メモリコントローラ２は、反転処理を行ったことを示すフラグが付加されているデータ列に対しては再反転処理を行う。
【００３９】
このため、メモリシステム１、および、半導体メモリコントローラ２を有するメモリシステムは、記録速度が公知のメモリシステムよりも早いだけでなく、さらに公知のメモリシステムよりも信頼性が高い。また、本実施の形態の半導体メモリシステムの記録再生方法は、公知の半導体メモリシステムの記録再生方法よりも信頼性が高い。
【００４０】
以上の説明のように、メモリシステム１においては、半導体メモリコントローラ２は、低い閾値電圧を有する記録状態のメモリセルが多くなる、または／かつ、高い閾値電圧を有する記録状態のメモリセルが少なくなるように、データ列の反転処理を行うことが好ましい。しかし、メモリシステムの仕様等により高い閾値電圧を有する記録状態のメモリセルの方が好ましい場合等には、高い閾値電圧を有する記録状態のメモリセルが多くなるようにデータ列の反転処理を行ってもよい。
【００４１】
なお、半導体メモリシステム１においては、処理を行うデータ列の長さは、処理に応じて異なるデータ長を用いてもよい。例えば、誤り訂正処理を行うデータ列は１ＫＢ長とし、書き込み単位であるページ長および反転処理を行うデータ列は８ＫＢ長としてもよい。
【００４２】
また、カウンタ部１４および反転部１５は独立した回路ではなく、ＣＰＵ１３が所定のソフトウエアによって実現してもよい。ソフトウエアによりカウンタ部１４および反転部１５の機能を有するＣＰＵ１３の場合には、カウンタ部１４および反転部１５はＣＰＵ１３の内部に存在すると見なすことができる。
【００４３】
＜第２の実施の形態＞  
次に、図面を参照して本発明の第２の実施の形態の半導体メモリコントローラ２Ｂ、および半導体メモリシステム１Ｂ、および半導体メモリシステムの記録再生方法について説明する。図７は、本実施の形態の半導体メモリシステム１Ｂの概略構成を示す構成図である。本実施の形態の半導体メモリコントローラ２Ｂ、および半導体メモリシステム１Ｂ、および半導体メモリシステムの記録再生方法は、第１の実施の形態の半導体メモリコントローラ２、半導体メモリシステム１、および半導体メモリシステムの記録再生方法と類似しているため、同じ構成要素には同じ符号を付し説明は省略する。
【００４４】
図７に示すように、半導体メモリシステム１Ｂにおいて、メモリ部１０Ｂは、いわゆる多値半導体メモリ部である。多値半導体メモリ部とは、複数ビットを1つのメモリセル１０Ｃに格納するメモリ部１０Ｂであり、４種類以上の異なる閾値電圧を有する記録状態となるＮＡＮＤ型フラッシュメモリセルであるメモリセル１０Ｃにより構成されている。
【００４５】
ここで、図８を用いて２ビットを１つのメモリセル１０Ｃに格納する、いわゆる４値メモリ部であるメモリ部１０Ｂにおける２ビットデータ記録について説明する。図８は４値記録の記録状態を説明するための説明図である。図８において、横軸は閾値電圧を示し、縦軸はメモリセルの出現頻度（個数）を示している。
【００４６】
４値記録においては、２ビットデータ、すなわち、（１１）、（０１）、（００）、（１０）の４種類の２ビットデータのいずれかを１つのメモリセル１０Ｃに記録するために、２つのデータ列を用いる。ここでは、最初にメモリ部１０に書き込むデータ列をページｍとし、次に書き込むデータ列をページｎとし、メモリコントローラ２Ｂは、ページｍのデータをメモリ部１０Ｂに書き込んだ後に、ページｎのデータを書き込むものとする。例えば、ページｍのデータが「１」で、ページｎのデータが「０」の場合、（０１）データがメモリセル１０Ｃに書き込まれる。
【００４７】
図８上段は、メモリコントローラ２Ｂが、ページｍのデータをメモリ部１０Ｂに書き込んだ状態を示している。ページｍのデータが「１」の場合には、消去状態である「状態Ａ」のままであるが、ページｍのデータが「０」の場合には、メモリセル１０Ｃには電荷が蓄積され、メモリセル１０Ｃは、閾値電圧が「状態Ａ」よりも高い、「状態Ｂ」になる。
【００４８】
そして、図８下段は、メモリコントローラ２Ｂが、ページｍのデータをメモリ部１０Ｂに書き込んだ後に、ページｎのデータを書き込んだ状態を示している。ページｍのデータが「１」の場合に、ページｎのデータも「１」の場合には、メモリセル１０Ｃは「状態Ａ」のままである。これに対して、ページｍのデータが「１」の場合に、ページｎのデータが「０」の場合には、メモリセル１０Ｃは「状態Ａ」から「状態Ｃ」となる。また、ページｍのデータが「０」の場合に、ページｎのデータが「０」の場合には、メモリセル１０Ｃは「状態Ｂ」から「状態Ｄ」となる。そして、ページｍのデータが「０」の場合に、ページｎのデータが「１」の場合には、メモリセル１０Ｃは「状態Ｂ」から「状態Ｅ」となる。そしてメモリセルの閾値は、（１１）データを記録している「状態Ａ」が最も低く、（０１）データを記録している「状態Ｃ」、（００）データを記録している「状態Ｄ」、（１０）データを記録している「状態Ｅ」の順に高い。
【００４９】
多値メモリ部を有するメモリシステム１Ｂでは、高い閾値電圧の記録状態のメモリセルに対応するデータが多いと、記録の際に、閾値電圧を上げるのに時間を要する。また、高い閾値電圧の記録状態のメモリセルに対応するデータが多いと、記録の際に干渉が大きく、誤って周囲のメモリセルを書き換える可能があり、データ保持特性など信頼性の悪化につながる場合もある。
【００５０】
このため、メモリシステム１Ｂでは、メモリコントローラ２Ｂが、閾値電圧が最も高い記録状態のメモリセル１０Ｃが少なくなるように、反転部１５が、ページｍおよびページｎのデータ列を反転処理する。すなわち、メモリコントローラ２Ｂは、最も高い閾値電圧を有する記録状態である「状態Ｅ」のメモリセル１０Ｃが少なくなるように、データ列を反転処理する。なお、メモリコントローラ２Ｂでは、反転処理を行う基準となる所定の条件は、最も高い閾値電圧を有する記録状態である「状態Ｅ」のメモリセル１０Ｃが他のいずれかの状態のメモリセルよりも少ない場合である。
【００５１】
最初に、本実施の形態のメモリシステム１Ｂは、カウンタ部１４が、バッファ１６に記録された、ページｍのデータ列のデータとページｎのデータ列のデータの組み合わせにより、メモリセル１０Ｃに書き込まれる２ビットデータの数をカウントする。すなわち、カウンタ部１４は、ページｍのデータ列の中の「０」データまたは「１」データの数を計測し、それぞれのデータと組み合わせて記録されるページｍのデータ列の中の「０」データまたは「１」データの数を計測することで、４種類の２ビットデータの数をカウントする。
【００５２】
ここで、図９は、それぞれ２８ビットのビットデータから構成されているページｍのデータ列およびページｎのデータ列とからなる入力データ（Input data）を、記録する例を示している。図９の例では、メモリセル１０Ｃに記録されるデータ（Record data）は、先頭から、順に、（１０）、（００）、（０１）、（１０）、（００）、、、となる。
【００５３】
図９に示したのと同じ入力データが、入力されたとき、データ列はカウンタ部１４によって、Record dataページｍのデータ列は「０」データが、２０個（７１％）、ページｎのデータ列は「０」データが、１２個（４３％）であり、組み合わされた２ビットデータでは（１１）データが２個（７％）、（０１）データが６個（２１％）、（００）データが６個（２１％）、そして、（１０）データが１４個（５０％）と計測される。すなわち、最も高い閾値電圧を有する（１０）記録状態、すなわち図８における「状態Ｅ」のメモリセルが１４個と最も多い。このため、反転部１５は「状態Ｅ」のメモリセルが少なくなるようにデータ列の反転処理を行う。
【００５４】
（１０）データが記録されるメモリセルを少なくする反転処理の方法には、ページｍのデータ列のデータ「０」を少なくする方法、ページｎのデータ列のデータ「１」を少なくする方法、または、ページｍのデータ列のデータ「０」およびページｎのデータ列のデータ「１」を共に少なくする方法の３通りの方法がある。メモリシステム１Ｂでは、図８に示したように、ページｍのデータ列のデータ「０」が少ないと、最も閾値電圧の高い「状態Ｅ」だけでなく、２番目に閾値電圧の高い「状態Ｄ」も少なくなる。これに対して、ページｎのデータ列のデータ「１」が少ない場合には、最も閾値電圧の低い「状態Ａ」が、より閾値電圧の高い「状態Ｂ」となってしまう。このため、メモリシステム１Ｂでは、ページｍのデータ列は、データ「０」（７１％）をデータ「１」に反転処理するが、ページｎのデータ列は、データ「０」（４３％）は反転処理しない。すなわち、メモリシステム１Ｂでは反転処理の基準となる条件は１つではなく、優先順位のある複数の条件を組み合わせて用いる。
【００５５】
このため、メモリコントローラ２Ｂの反転部１５は、（１０）状態のメモリセルを少なくするために、ページｍのデータ列のみ反転処理を行い、反転フラグを反転処理を行ったことを示す「１」とする。ページｎのデータ列は反転処理されない。
【００５６】
その結果、図１１に示す「Ｒｅｃｏｒｅｄ  Ｄａｔａ」がメモリ部１０Ｂに書き込まれる。このため、メモリ部１０Ｂでは、（１１）状態のメモリセルが１４個、（０１）状態のメモリセルが６個、（００）状態のメモリセルが６個、そして、（１０）状態のメモリセルが２個となる。
【００５７】
再生、すなわち、データ列を読み出す場合には、メモリコントローラ２Ｂは、読み出したデータ列の反転フラグの状態により、再反転処理を行うか否かを判断する。
【００５８】
書き込み時間が長くなる、閾値電圧の高い状態となるメモリセルの数が、減少するため、メモリシステム１Ｂのデータ記録速度は速くなり、性能がよい。また、メモリシステム１Ｂ、および半導体メモリコントローラ２Ｂを有するメモリシステムは、記録速度が公知のメモリシステムよりも早いだけでなく、さらに公知のメモリシステムよりも信頼性が高い。また、本実施の形態の半導体メモリシステムの記録再生方法は、公知の半導体メモリシステムの記録再生方法よりも信頼性が高い。
【００５９】
なお、上記例では、閾値電圧の最も高い「状態Ｅ」のメモリセルが少なくなるように反転部１５が反転処理を行ったことが、同時に閾値電圧の最も低い「状態Ａ」のメモリセルが多くなるという結果になっているが、メモリシステム１Ｂの仕様によっては反転部１５が閾値電圧の最も低い「状態Ａ」のメモリセルが多くなるように反転処理を行う場合もある。
【００６０】
なお、上記例では、ページｎのデータ列は反転処理しなかったが、すでにページｍのデータ列がメモリ部１０Ｂに書き込みされている場合には、閾値電圧の最も高い「状態Ｅ」のメモリセルが少なくなるように、反転部１５がページｎのデータ列についてのみ反転処理を行ってもよい。
【００６１】
また、バッファ１６の容量が、ページｍのデータ列とページｎのデータ列との両方のデータ列を同時に記録するためには不足している場合には、ページｍのデータ列について本発明の処理を行って、メモリ部１０Ｂに記録してから、ページｎのデータ列について本発明の処理を行いメモリ部１０Ｂに記録してもよい。あるいは、ページｍ、またはページｎのデータ列のいずれのページのデータ列についてのみ反転処理を行ってもよい。
【００６２】
さらに、８値メモリ部または１６値メモリ部等の多値メモリ部を有するメモリシステムであっても、同様に所定の記録状態のメモリセルが多くなるように、あるいは、少なくなるように、反転部１５がデータ列の反転処理を行うことで、メモリシステムの性能を上げることができる。特にＮＡＮＤ型フラッシュメモリ部を有するメモリシステムにおいては、閾値電圧の最も高い状態のメモリセルが少なくなる、または／かつ、閾値電圧の最も低い状態のメモリセルが多くなるように反転処理を行うことが好ましい。
【００６３】
なお、上記説明のメモリシステム１Ｂでは、メモリセルの閾値が、（１１）データを記録している「状態Ａ」が最も低く、（０１）データを記録している「状態Ｃ」、（００）データを記録している「状態Ｄ」、（１０）データを記録している「状態Ｅ」の順に高い場合を例に説明したが、データと記録状態の対応が異なる場合であっても、閾値電圧の大小を基準とする所定の条件で反転処理を行うことで、本発明の効果を奏することができる。
【００６４】
また、以上の説明では、半導体メモリ部を有する半導体メモリシステムを例に説明したが、半導体メモリシステムと同様に「０」または「１」からなるデジタルデータ列を記録し再生する、磁気記録装置、相変化型光記録装置、光磁気記録装置、または磁気抵抗効果記録装置（ＭＲＡＭ）等の記録装置にも適用可能である。
【００６５】
すなわち、メモリ部に、データ列を記録し記録された前記データ列を再生する記録装置であって、前記メモリ部が、データに対応した記録状態となるメモリセルにより構成されており、前記データ列の中の「０」データまたは「１」データの数を計測するカウント手段と、前記データ列の全データを反転する反転手段とを有し、記録の際に、前記カウント手段の計測に基づき、所定の前記記録状態の前記メモリセルが多くなる、または少なくなるように、前記反転手段が前記データ列の前記反転処理を行った場合に、前記データ列に付加されるフラグを反転処理を行ったことを示すフラグとし、再生の際に、前記反転手段が、前記反転処理を行ったことを示すフラグが付加されている前記データ列の再反転処理を行うことを特徴とする記録装置である。
【００６６】
上記のように、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【図面の簡単な説明】
【００６７】
【図１】本発明の第１の実施の形態の半導体メモリシステムの概略構成を示す構成図である。
【図２】半導体メモリシステムにおける、データ列中のデータ「０」の割合に対してデータ列を記録するために要する時間をプロットした図である
【図３】本発明の第１の実施の形態の半導体メモリシステムの記録方法を説明するためのフローチャートである。
【図４】本発明の第１の実施の形態の半導体メモリシステムの再生方法を説明するためのフローチャートである。
【図５】本発明の第１の実施の形態の半導体メモリシステムの記録再生方法を説明するための説明図である。
【図６】本発明の第１の実施の形態の半導体メモリシステムの記録再生方法を説明するための説明図である。
【図７】本発明の第２の実施の形態の半導体メモリシステムの概略構成を示す構成図である。
【図８】４値記録の半導体メモリシステムの記録状態を説明するための説明図である。
【図９】４値記録の半導体メモリシステムの記録再生方法を説明するための説明図である。
【図１０】本発明の第２の実施の形態の半導体メモリシステムの記録再生方法を説明するための説明図である。
【符号の説明】
【００６８】
１、１Ｂ…半導体メモリシステム
２、２Ｂ…半導体メモリコントローラ
３…ホスト
１０、１０Ｂ…メモリ部
１０Ａ、１０Ｃ…メモリセル
１１…バス
１２…ホスト  インターフェイス
１３…ＣＰＵ
１４…カウンタ部
１５…反転部
１６…バッファ
１７…ＥＣＣ回路
１８…ＮＡＮＤ  インターフェイス
【図１】
2010027163.tif 000003
【図２】
2010027163.tif 000004
【図３】
2010027163.tif 000005
【図４】
2010027163.tif 000006
【図５】
2010027163.tif 000007
【図６】
2010027163.tif 000008
【図７】
2010027163.tif 000009
【図８】
2010027163.tif 000010
【図９】
2010027163.tif 000011
【図１０】
2010027163.tif 000012