(57)【要約】【課題】メモリセル３１が劣化した場合にも、誤り訂正回路２０の回路面積を増大させることなく誤り訂正を行うことができるメモリ装置２を提供する。【解決手段】実施の形態のメモリ装置２は、メモリ部３０と、制御部１１と、補正部４１と、誤り検出訂正部４０とを具備する。メモリ部３０は、データを記憶する複数のメモリセル３１からなる。制御部１１は、電荷量に対応した閾値電圧を読み出すためにメモリセル３１にＨＢ読出電圧ＨＶと、補間読出電圧ＡＶと、を印加する制御を行う。補正部４１は読み出された、閾値電圧Ｖｔｈから決定されたビットデータを反転する。誤り検出訂正部４０は、補正部４１で反転されたビットデータを含めた所定長のデータ列を、硬判定復号符号により復号処理を行う。【選択図】図２
2013045428.tif 000002
【特許請求の範囲】
【請求項１】
浮遊ゲートに蓄積する電荷量と対応付けてデータを記憶する複数のフラッシュメモリセルを有するメモリ部と、
前記浮遊ゲートに蓄積される電荷量に対応した閾値電圧を読み出すために前記フラッシュメモリセルに複数の所定のハードビット読出電圧と、それぞれの前記ハードビット読出電圧と異なる補間読出電圧と、を印加する制御を行う制御部と、
前記ハードビット読出電圧と前記補間読出電圧とを用いて読み出された、前記閾値電圧から決定されたビットデータを反転する補正部と、
前記補正部で反転されたビットデータを含めた、前記メモリ部から読み出された所定長のデータ列を、硬判定復号符号により復号処理を行う誤り検出訂正部と、
を具備することを特徴とするメモリ装置。
【請求項２】
前記フラッシュメモリセルが複数ビットのデータを記憶し、
前記補正部が前記ハードビット読出電圧の前後で、ビットが反転するビットデータのみを前記反転処理することを特徴とする請求項１に記載のメモリ装置。
【請求項３】
前記誤り検出訂正部が誤り訂正できなかった訂正失敗回数を積算し記憶する訂正失敗回数記憶部と、
前記訂正失敗回数記憶部に記憶される訂正失敗回数と、所定の閾値とを比較し、判定する閾値判定部と、を具備し、
前記訂正失敗回数が所定の回数を超えたときに、前記補正部が前記反転処理を開始することを特徴とする請求項２に記載のメモリ装置。
【請求項４】
前記メモリ部がＮＡＮＤ型フラッシュメモリ部であり、
複数の前記フラッシュメモリセルを一括消去する処理単位であるブロック単位で、前記訂正失敗回数記憶部が前記訂正失敗回数を記憶し、
前記補正部が、前記ブロック単位で前記反転処理を開始することを特徴とする請求項３に記載のメモリ装置。
【請求項５】
前記ハードビット読出電圧が高電圧であるほど、前記ハードビット読出電圧と前記補間読出電圧との差が大きいことを特徴とする請求項４に記載のメモリ装置。
【請求項６】
メモリ部の複数のフラッシュメモリセルのそれぞれの浮遊ゲートに蓄積する電荷量と対応付けて、データを記憶する工程と、
前記フラッシュメモリセルに複数の所定のハードビット読出電圧と、それぞれの前記ハードビット読出電圧よりも低電圧の補間読出電圧と、を印加し、前記浮遊ゲートに蓄積される電荷量に対応した閾値電圧を読み出す工程と、
前記ハードビット読出電圧と前記補間読出電圧との間の電圧で読み出された前記閾値電圧から決定されたビットデータを反転する工程と、
前記反転されたビットデータを含めた、前記メモリ部から読み出された所定長のデータ列を、硬判定復号符号により復号処理を行う工程と、
を具備したことを特徴とするメモリ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施の形態は、複数のフラッシュメモリセルを有するメモリ部と、硬判定復号符号により復号処理を行う誤り検出訂正部と、を具備するメモリ装置および前記メモリ装置の制御方法に関する。
【背景技術】
【０００２】
フラッシュメモリでは、１つのメモリセルはシリコン基板上のＰ型半導体層を挟み込むようにソースとドレインとなる２つのＮ型半導体部分を形成し、そのＰ型半導体層の受けに酸化物層に挟まれたポリシリコン製の浮遊データを形成し、さらにその上に制御ゲートを形成する。浮遊ゲート内の電子は、浮遊ゲートを覆う絶縁体（酸化物層）により保持されるため、電源を供給することなくデータを数年間程度保持することができる。
【０００３】
情報の書き込みは、量子トンネル効果により電子を酸化物層を介して浮遊ゲート内に注入することで行われる。回路基板であるＮ型半導体を接地電位にし、微小な電流によって制御ゲートに書き込み電圧を印加する。浮遊ゲート内に蓄積された電子が情報を記憶する。多値メモリでは、浮遊ゲートに蓄積された電子数（電荷量）により複数ビットの情報を記憶する。
【０００４】
情報の読み出しでは、ソースとドレイン間に読み出し電圧が印加される。浮遊ゲートにある電子数（電荷量）に応じて、ソースとドレイン間に電流が流れ始める電圧、すなわち浮遊ゲートにある電子が放出される電圧が異なる。所定の複数の読み出し電圧を順に印加していくことで、そのメモリセルに蓄積されていた電荷量、すなわち、情報に対応した閾値電圧が取得される。
【０００５】
フラッシュメモリセルでは、書き込みおよび読み出しの度に、絶縁体である酸化膜を電子が貫通する。このため、書き込み回数および読み出し回数の増加により酸化膜が劣化する。酸化膜が劣化すると、同じ電荷量を蓄積していたメモリセルの閾値電圧は低下していく。すなわち、フラッシュメモリセルでは劣化により、閾値電圧分布の低電圧側が広がっていく。
【０００６】
フラッシュメモリセルが劣化して、閾値電圧分布の低電圧側が広がっていくと、訂正対象データに付加された誤り数が増大する。このように、訂正対象データに付加された誤り数が増大して誤り訂正回路の訂正能力を超えた場合、訂正不可になってしまう。そのため、訂正可能にするために、より訂正能力の大きい誤り訂正回路を用いる必要があるが、誤り訂正回路の回路面積が増大してしまう。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−２３７８２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の実施の形態は、フラッシュメモリセルが劣化した場合にも、誤り訂正回路の回路面積を増大させることなく誤り訂正を行うことができるメモリ装置を提供することである。
【課題を解決するための手段】
【０００９】
実施の形態のメモリ装置は、メモリ部と、制御部と、補正部と、誤り検出訂正部とを具備する。メモリ部は、浮遊ゲートに蓄積する電荷量と対応付けてデータを記憶する複数のフラッシュメモリセルを有する。制御部は、浮遊ゲートに蓄積される電荷量に対応した閾値電圧を読み出すためにフラッシュメモリセルに複数の所定のハードビット読出電圧と、それぞれのハードビット読出電圧と異なる補間読出電圧と、を印加する制御を行う。補正部は、ハードビット読出電圧と補間読出電圧とを用いて読み出された、閾値電圧から決定されたビットデータを反転する。誤り検出訂正部は、補正部で反転されたビットデータを含めた、メモリ部から読み出された所定長のデータ列を、硬判定復号符号により復号処理を行う。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態に係るメモリ装置の構成を示す構成図である。
【図２】第１の実施の形態のメモリコントローラの詳細構成を示す構成図である。
【図３】フラッシュメモリのフレッシュ時の閾値分布を示す図である。
【図４】フラッシュメモリの経年劣化時の閾値分布を示す図である。
【図５】図４のＡレベルの高電圧側とＢレベルの低電圧側とが重なっている部分を拡大した拡大図である。
【図６】閾値分布の各エリアにおける読み出しレベルについて説明するための図である。
【図７】閾値分布の各エリアにおける誤り数について説明するための図である。
【図８】多値メモリの場合のハードビット読出電圧および補間読出電圧について説明するための図である。
【図９】第１の実施の形態のメモリコントローラの復号処理について説明するためのフローチャートである。
【図１０】第２の実施の形態のメモリコントローラの詳細構成を示す構成図である。
【図１１】第２の実施の形態のメモリコントローラの復号処理について説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
（第１の実施の形態）
まず、図１に基づき、第１の実施の形態のメモリ装置２の構成について説明する。
【００１２】
図１に示すように、本実施の形態のメモリ装置２は、パソコンまたはデジタルカメラ等のホスト３と着脱可能に接続される記憶媒体であり、例えばメモリカード等の形態である。なお、本実施の形態としてのメモリ装置は、ホストの内部に収納され、ホストの起動データ等を記憶する、いわゆるエンベデッドタイプであってもよく、または半導体ディスク：ＳＳＤ（Solid State Drive）等の形態であってもよい。あるいはメモリ装置２とホスト３とが、例えば携帯音楽プレーヤであるＭＰ３プレーヤ等のメモリシステム１を構成していてもよい。メモリ装置２は、メモリ部３０と、メモリコントローラ１０とを有する。メモリ部３０はＮＡＮＤ型のフラッシュメモリ部であり、単位セルである多数のメモリセル３１が、書き込みに用いるビット線（不図示）および読み出しに用いるワード線３２等で接続された構成有する。
【００１３】
なお、ＮＡＮＤ型フラッシュメモリ部を有するメモリ装置２は、複数のメモリセル３１に記憶されたデータを一括して消去することにより構成を簡略化している。このデータを一括消去処理するときの消去単位が図１に模式的に示したブロック３３である。一方、メモリ装置２が、複数のメモリセル３１に記憶されたデータを読み出す単位はブロック３３よりも小さい大きさページと呼ばれる単位である。すなわち、ページは複数のメモリセル３１により構成され、ブロック３３は複数のページにより構成され、メモリ部３０は複数のブロック３３により構成されている。
【００１４】
メモリコントローラ１０は、バス１７を介して接続された、ＲＯＭ１３と、制御部であるＣＰＵ１１と、ＲＡＭ１５と、ホストＩ／Ｆ（インターフェイス）１２と、記憶する所定長のビットデータからなるデータ列の符号化処理を行い符号化データを出力する符号化器２１および記憶された符号化データ列の復号処理を行う復号器２２を有する誤り訂正数を増減可能な誤り訂正（ＥＣＣ）部２０と、ＮＡＮＤ  Ｉ／Ｆ（インターフェイス）１４とを具備する。メモリコントローラ１０は、ＣＰＵ１１を用いて、ホストＩ／Ｆ１２を介してホスト３とのデータ送受信を、ＮＡＮＤ  Ｉ／Ｆ１４を介してメモリ部３０とのデータ送受信を行う。
【００１５】
以上のように、メモリコントローラ１０は、複数のメモリセル３１を含むメモリセルアレイが複数のブロック３３で構成され、それぞれのブロック３３がブロック単位で消去可能に構成されたメモリ部３０に対して、メモリ部３０に記憶するデータを符号化処理および復号化処理をする。
【００１６】
次に、図２を用いて、本実施の形態のメモリコントローラ１０の構成について、より詳細に説明する。図２に示すように、メモリコントローラ１０のＥＣＣ部２０の復号器２２は、ＢＣＨーＥＣＣ部４０と、補正部４１とを具備する。補正部４１は、インバータ４２と、判定部４３と、セレクタ４４とを具備する。
【００１７】
復号器２２の補正部４１には、メモリ部３０からハードビット（ＨＢ）読出電圧ＨＶで読み出された閾値電圧、厳密には読み出された閾値電圧範囲に応じたビットデータが入力される。このビットデータは、インバータ４２およびセレクタ４４に入力される。インバータ４２は、入力されたビットデータを反転し、セレクタ４４に出力する。すなわち、インバータ４２は、ビットデータ「０」が入力されると「１」を出力し、ビットデータ「１」が入力されると「０」を出力する。
【００１８】
判定部４３には、ＨＢ読出電圧ＨＶに加えて、ＨＢ読出電圧ＨＶよりも所定の電圧ΔＶだけ低い補間読出電圧ＡＶで取得された閾値電圧、厳密には、より狭い閾値電圧範囲情報が入力される。判定部４３は、メモリセルの閾値電圧がウィンドウ内か否か、すなわちＨＢ読出電圧ＨＶと補間読出電圧ＡＶとの間に存在するか否かを判定し、判定信号をセレクタ４４に出力する。判定部４３は閾値電圧がウィンドウ内の場合、判定信号として例えば「１」をセレクタ４４に出力し、ウィンドウ内でない場合、判定信号として「０」をセレクタ４４に出力する。
【００１９】
セレクタ４４は、判定部４３からの判定信号に基づき、読み出されたビットデータまたはインバータ４２で反転されたビットデータのいずれか一方を選択し、ＢＣＨーＥＣＣ部４０に出力する。具体的には、セレクタ４４は、判定信号が「０」の場合、メモリ部３０からＨＢ読出電圧ＨＶで読み出されたビットデータを選択し、判定信号が「１」の場合、インバータ４２で反転されたビットデータを選択する。
【００２０】
すなわち、閾値電圧がウィンドウ内のビットデータは「０」の場合は「１」に、「１」の場合は「０」へと反転処理が行われる。
【００２１】
ＢＣＨーＥＣＣ部４０は、未反転ビットデータおよび反転ビットデータからなる所定長のデータ列を硬判定復号符号により復号処理を行う。すなわち、ＢＣＨーＥＣＣ部４０は、読み出されたビットデータの閾値電圧が全てウィンドウ内でない場合、通常の誤り訂正処理を行い、読み出されたビットデータの閾値電圧のいずれかがウィンドウ内の場合、そのビットデータをインバータ４２で反転されたビットデータを含むデータ列の誤り訂正処理を行う。
【００２２】
０または１の２値のデータを保持するＮＡＮＤ型フラッシュメモリのフレッシュ時（製造時）の閾値電圧分布は、例えば図３に示すようになっている。図３において、横軸はメモリセル３１の閾値電圧を示し、縦軸はメモリセル３１のセル数を示している。図３では、閾値電圧の低い順に、Ａレベル、Ｂレベルとする。例えば、Ａレベルのメモリセルが、ビットデータ「１」を記憶している状態であり、Ｂレベルのメモリセルが、ビットデータ「０」を記憶している状態である。
【００２３】
ＮＡＮＤ型フラッシュメモリの経年劣化時の閾値電圧分布は、例えば図４に示すようになっている。図４に示すように、メモリ部３０の複数のメモリセル３１は劣化により、閾値電圧分布のピークの低電圧側が広がっていく特性を有している。そのため、Ａレベルの高電圧側とＢレベルの低電圧側とが相互に重なる。すると、この重なっている部分の閾値電圧で読み出されたビットデータが誤りになる。
【００２４】
補間読出電圧ＡＶの設定は、例えば、ブロック単位の複数のメモリセル３１の劣化レベルの統計データを取り、ＨＢ読出電圧ＨＶと補間読出電圧ＡＶとの間の閾値電圧でビットデータが読み出された場合に、誤り率が５０％以上となるように設定している。
【００２５】
例えばＡレベル、Ｂレベルの閾値電圧分布のピーク電圧をＶＡ、ＶＢとしたとき、ＨＢ読出電圧ＨＶと補間読出電圧ＡＶとの差（ウィンドウ幅ΔＶ）は、（ＶＢ−ＶＡ）×０．０２〜（ＶＢ−ＶＡ）×０．２０である。
【００２６】
ＨＢ読出電圧ＨＶと補間読出電圧ＡＶとによるウィンドウ幅ΔＶを狭めることで、誤り率を上げることができる。ＨＢ読出電圧ＨＶおよび補間読出電圧ＡＶの設定等は、例えば、メモリコントローラ１０内のＣＰＵ１１の制御によって行われる。
【００２７】
図４のＡレベルの高電圧側とＢレベルの低電圧側とが重なっている部分を拡大した拡大図を図５に示す。この閾値電圧の分布図のエリアを図５に示すように５つのエリアＥ１〜Ｅ５に分割する。この分割したエリアＥ１〜Ｅ５に分布しているときのレベルは、エリアＥ１がＡレベル、エリアＥ２〜Ｅ４がＡレベルまたはＢレベル、エリアＥ５がＢレベルとなり、誤りとなる可能性があるのはエリアＥ２、Ｅ３およびＥ４となる。
【００２８】
ここで、ＨＢ読出電圧ＨＶで読み出したときのレベルは、図６に示すように、エリアＥ１〜Ｅ３がＡレベル、エリアＥ４およびＥ５がＢレベルとなる。また、補間読出電圧ＡＶで読み出したときのレベルは、エリアＥ１およびＥ２がＡレベル、エリアＥ３〜Ｅ５がＢレベルとなる。エリアＥ１およびＥ５では、リードレベルが正しく、誤りがない。エリアＥ２およびＥ４では、低い可能性で誤りが含まれる。エリアＥ３で読み出されたビットデータでは、ＨＢ読出電圧ＨＶでの読み出しレベルと補間読出電圧ＡＶでの読み出しレベルとが異なったレベルとなっており、誤りが多く含まれることになる。
【００２９】
訂正不可になる場合は、エリアＥ２、Ｅ３およびＥ４の誤りのビットデータの総数が訂正能力を超えるときである。このとき誤りビットデータの数が最も多いエリアは、エリアＥ３になる。エリアＥ３での誤り５０％より大きい場合、エリアＥ３のＨＢ読出電圧ＨＶで読み出されたビットデータの値を反転することで、データ列に含まれる誤りビットデータの総数が少なくなり、誤り訂正が可能となる。
【００３０】
例えば誤り訂正回路の訂正能力をｔ＝６０ビットとした場合について、図７を用いて説明する。
エリアＥ３での読み出しデータ列を１００ビットとする。ここでは、図７（ａ）に示すように、メモリ部は経年劣化し、エリアＥ２での誤りが１０ビット、エリアＥ３での誤りが７０ビット、エリアＥ４での誤りが５ビットとすると、誤りビットデータの総数は８５ビットとなり、誤り訂正が不可能となる。
【００３１】
ここで、エリアＥ３のビットデータを反転することにより、図７（ｂ）に示すように、エリアＥ３での誤りが３０ビットとなる。このとき、データ列の誤りビットデータの総数が４５ビットとなり、誤り訂正が可能になる。
【００３２】
なお、本実施の形態のメモリセル３１は、「０」または「１」の２値のデータの記憶を行う構成であるが、４値、または８値以上の多値のデータの記憶を行う構成であってもよい。例えば、図８に示す、４値メモリセルでは、Ａレベルはデータ（１１）を記憶した状態であり、Ｂレベルはデータ（０１）を記憶した状態であり、Ｃレベルはデータ（００）を記憶した状態であり、Ｄレベルはデータ（１０）を記憶した状態である。ここで、データ（０１）とはＵｐｐｅｒビットが「０」でＬｏｗｅｒビットが「１」の２ビットデータを示している。
【００３３】
ここで、高電圧側に記憶されたデータは、低電圧側に記憶されたデータよりも、劣化レベルが大きくなるため、ＨＢ読出電圧ＨＶが高電圧であるほど、ＨＢ読出電圧ＨＶと補間読出電圧ＡＶとの差（ウィンドウ幅ΔＶ）を大きくすることが好ましい。すなわち、ΔＶ１＞ΔＶ２＞ΔＶ３であり、例えば、ΔＶ１＝０．７５×ΔＶ２＝０．５０×ΔＶ３である。
【００３４】
なお、メモリセル３１が複数ビットのデータを記憶する多値メモリの場合には、補正部４１は、ＨＢ読出電圧ＨＶの前後で、ビットが反転するビットデータのみを反転処理すればよい。例えば、ＨＢ読出電圧ＨＶ３の前後では、記憶されている２ビットデータ（１１）が（０１）に変わる。このため、ビットが反転するＵｐｐｅｒビットのみを反転すればよい。
【００３５】
次に、図９を用いて、メモリコントローラ１０の復号処理について説明する。図９は、メモリコントローラ１０の復号処理について説明するためのフローチャートである。
【００３６】
まず、ＨＢ読出電圧ＨＶの印加により閾値電圧範囲が取得され、対応するハードビットデータが読み出される（ステップＳ１）。次に、補間読出電圧ＡＶの印加により、より狭い閾値電圧範囲が取得される（ステップＳ２）。読み出したビットデータの閾値電圧が、ウィンドウ内か否かが判定される（ステップＳ３）。ウィンドウ内と判定された場合、ＹＥＳとなり、読み出したビットデータのビット反転処理が実行され（ステップＳ４）、所定のデータ列に属する全ビットデータの読み出し処理が完了したか否かが判定される（ステップＳ５）。一方、ウィンドウ内でないと判定された場合、ＮＯとなり、ステップＳ５において、全ビットデータの読み出しが完了したか否かが判定される。
【００３７】
ステップＳ５において、所定のデータ列に属する全ビットデータの読み出し処理が完了していないと判定された場合、ＮＯとなり、ステップＳ１に戻り、同様の処理が繰り返される。一方、ステップＳ５において、読み出し処理が完了したと判定された場合、ＹＥＳとなり、ＥＣＣ処理が実行され（ステップＳ６）、処理を終了する。
【００３８】
以上のように、本実施の形態のメモリ装置２は、経年劣化等により誤り数が誤り訂正能力を超えた場合、ＨＢ読出電圧ＨＶで読み出されたビットデータを反転する補正部４１を追加することで、既存の誤り訂正回路を変更することなく、訂正数を向上させることができる。
【００３９】
よって、本実施の形態のメモリ装置によれば、フラッシュメモリセルが劣化した場合にも、誤り訂正回路の回路面積を増大させることなく誤り訂正を行うことができる。
【００４０】
（第２の実施の形態）
次に、第２の実施の形態について説明する。なお、本実施の形態のメモリシステム１ａのメモリ装置２ａの全体構成は、第１の実施の形態のメモリ装置２と同様のため、説明を省略する。
【００４１】
図１０は、第２の実施の形態に係るメモリコントローラ１０ａの詳細な構成を示す図である。なお、図１０において図２と同様の構成については、同一の符号を付して説明を省略する。
【００４２】
図１０に示すように、メモリコントローラ１０ａは、第１の実施の形態の復号器２２に代わり、復号器２２ａを用いて構成される。
【００４３】
復号器２２ａは、第１の実施の形態の復号器２２に対して閾値判定部５１が追加されるとともに、ＢＣＨーＥＣＣ部４０および補正部４１に代わり、それぞれＢＣＨーＥＣＣ部４０ａおよび補正部４１ａを用いて構成される。
【００４４】
閾値判定部５１には、ＢＣＨーＥＣＣ部４０ａからの誤り訂正不可信号が入力される。閾値判定部５１は、メモリ５２を有し、誤り訂正不可信号が入力されると、誤り訂正失敗の回数をカウントアップし、メモリ５２に記憶する。このメモリ５２に記憶される誤り訂正失敗回数は、メモリセル３１のデータを一括消去処理するときの消去単位であるブロック単位の誤り訂正失敗回数である。
【００４５】
閾値判定部５１は、メモリ５２に記憶された誤り訂正失敗の回数が所定の閾値未満の場合、イネーブル信号として０を補正部４１ａに出力する。一方、閾値判定部５１は、メモリ５２に記憶された誤り訂正失敗の回数が所定の閾値以上の場合、イネーブル信号として１を補正部４１ａに出力する。
【００４６】
補正部４１ａは、図２の補正部４１に対して、ＡＮＤ回路５３が追加され構成されている。ＡＮＤ回路５３には、閾値判定部５１からのイネーブル信号と判定部４３からの判定信号とが入力される。
【００４７】
ＡＮＤ回路５３は、閾値判定部５１からのイネーブル信号と判定部４３からの判定信号とのＡＮＤ演算を行い、演算結果をセレクタ４４に出力する。すなわち、ＡＮＤ回路５３は、閾値判定部５１からのイネーブル信号が１で、かつ判定部４３からの判定信号が１（読み出されたビットデータの閾値電圧がウィンドウ内）の場合、演算結果として１をセレクタ４４に出力し、それ以外の場合、演算結果として０をセレクタ４４に出力する。
【００４８】
セレクタ４４は、ＡＮＤ回路５３による演算結果が０の場合、メモリ部３０からＨＢ読出電圧ＨＶで読み出されたビットデータを選択し、ＡＮＤ回路５３による演算結果が１の場合、インバータ４２により反転されたビットデータを選択し、ＢＣＨーＥＣＣ部４０ａに出力する。
【００４９】
このように、補正部４１ａは、誤り訂正失敗の回数が所定の回数以上かつ読み出されたビットデータの閾値電圧がウィンドウ内の場合に、読み出されたデータの反転処理を開始する。この反転処理は、ブロック単位で行われる。
【００５０】
次に、図１１を用いて、メモリコントローラ１０ａの復号処理について説明する。図１１は、メモリコントローラ１０ａの復号処理について説明するためのフローチャートである。
【００５１】
まず、ＨＢ読出電圧ＨＶの印加により閾値電圧範囲が取得され、対応するハードビットデータが読み出される（ステップＳ１１）。次に、補間読出電圧ＡＶの印加により、より狭い閾値電圧範囲が取得される（ステップＳ１２）。ＥＣＣ失敗回数が閾値以上か否かが判定される（ステップＳ１３）。ＥＣＣ失敗回数が閾値以上でない場合、ＮＯとなり、ステップＳ１６に進む。ＥＣＣ失敗回数が閾値以上の場合、ＹＥＳとなり、読み出したビットデータの閾値電圧が、ウィンドウ内か否かが判定される（ステップＳ１４）。ウィンドウ内と判定された場合、ＹＥＳとなり、読み出したビットデータのビット反転処理が実行され（ステップＳ１５）、所定のデータ列に属する全ビットデータの読み出し処理が完了したか否かが判定される（ステップＳ１６）。一方、ウィンドウ内でないと判定された場合、ＮＯとなり、ステップＳ１６において、全ビットデータの読み出しが完了したか否かが判定される。
【００５２】
ステップＳ１６において、所定のデータ列に属する全ビットデータの読み出し処理が完了していないと判定された場合、ＮＯとなり、ステップＳ１１に戻り、同様の処理を繰り返す。一方、ステップＳ１６において、読み出し処理が完了したと判定された場合、ＹＥＳとなり、ＥＣＣ処理が実行され（ステップＳ１７）、ＥＣＣが失敗したか否かが判定される（ステップＳ１８）。ＥＣＣが失敗していないと判定された場合、ＮＯとなり、処理を終了する。一方、ＥＣＣが失敗したと判定された場合、ＹＥＳとなり、ＥＣＣ失敗回数がカウントアップされ、カウントアップされたＥＣＣ失敗回数がメモリ５２に保持され（ステップＳ１９）、処理を終了する。
【００５３】
以上のように、本実施の形態のメモリ装置２ａは、閾値判定部５１の閾値判定結果と判定部４３の判定結果に基づいて、ＨＢ読出電圧ＨＶで読み出されたビットデータの反転処理の開始のタイミングを制御するようにした。この結果、メモリ装置２ａは、第１の実施の形態のメモリ装置２よりも、反転処理の開始のタイミングを精度よく検出することができる。
【００５４】
なお、本明細書におけるフローチャート中の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
【００５５】
本発明のいくつかの実施の形態を説明したが、これらの実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５６】
１，１ａ…メモリシステム、２，２ａ…メモリ装置、３…ホスト、１０、１０ａ…メモリコントローラ、１１…ＣＰＵ、１２…ホストＩ／Ｆ、１３…ＲＯＭ、１４…ＮＡＮＤＩ／Ｆ、１５…ＲＡＭ、１７…バス、２０、２０ａ…ＥＣＣ部、２１…符号化器、２２、２２ａ…復号器、３０…メモリ部、３１…メモリセル、３２…ワード線、３３…ブロック、４０、４０ａ…ＢＣＨーＥＣＣ部、４１、４１ａ…補正部、４２…インバータ、４３…判定部、４４…セレクタ、５１…閾値判定部、５２…メモリ、５３…ＡＮＤ回路。
【図１】
2013045428.tif 000003
【図２】
2013045428.tif 000004
【図３】
2013045428.tif 000005
【図４】
2013045428.tif 000006
【図５】
2013045428.tif 000007
【図６】
2013045428.tif 000008
【図７】
2013045428.tif 000009
【図８】
2013045428.tif 000010
【図９】
2013045428.tif 000011
【図１０】
2013045428.tif 000012
【図１１】
2013045428.tif 000013