(57)【要約】【課題】２値領域と多値領域との間のデータ転送を効率的に行う。【解決手段】メモリシステム３０は、ページ単位で書き込みが行われ、かつ、１ビットを記憶単位とする第１の記憶領域と、ｎビット（ｎは２以上の整数）を記憶単位とする第２の記憶領域とを有する不揮発性メモリ３２と、第１の記憶領域から読み出された読み出しデータと、外部から入力された入力データとを結合してｎページからなる書き込みデータを生成し、この書き込みデータを第２の記憶領域に書き込む制御部３１とを含む。【選択図】      図１
2011128984.tif 000002
【特許請求の範囲】
【請求項１】
ページ単位で書き込みが行われ、かつ、１ビットを記憶単位とする第１の記憶領域と、ｎビット（ｎは２以上の整数）を記憶単位とする第２の記憶領域とを有する不揮発性メモリと、
前記第１の記憶領域から読み出された読み出しデータと、外部から入力された入力データとを結合してｎページからなる書き込みデータを生成し、この書き込みデータを前記第２の記憶領域に書き込む制御部と、
を具備することを特徴とするメモリシステム。
【請求項２】
ページ単位で書き込みが行われ、かつ、１ビットを記憶単位とする第１の記憶領域と、ｎビット（ｎは２以上の整数）を記憶単位とする第２の記憶領域とを有する不揮発性メモリと、
前記第１の記憶領域から読み出された読み出しデータと、外部から入力された入力データとを結合してｎページからなる書き込みデータを生成し、この書き込みデータを前記第１の記憶領域に書き込む制御部と、
を具備し、
前記不揮発性メモリは、前記第１の記憶領域に書き込まれた書き込みデータを前記第２の領域にコピーすることを特徴とするメモリシステム。
【請求項３】
ページ単位で書き込みが行われ、かつ、１ビットを記憶単位とする第１の記憶領域と、ｎビット（ｎは２以上の整数）を記憶単位とする第２の記憶領域とを有する不揮発性メモリと、
前記第１の記憶領域から読み出された複数の読み出しデータを結合してｎページからなる書き込みデータを生成し、この書き込みデータをＣＰＵ（Central Processing Unit）を介さずに前記第２の記憶領域に書き込む制御部と、
を具備することを特徴とするメモリシステム。
【請求項４】
前記書き込みデータのエラー訂正符号を生成し、かつ前記書き込みデータを前記第２の記憶領域用のデータフォーマットに変換するエンコーダをさらに具備することを特徴とする請求項１乃至３のいずれかに記載のメモリシステム。
【請求項５】
前記読み出しデータのエラーを訂正するデコーダをさらに具備することを特徴とする請求項１乃至４のいずれかに記載のメモリシステム。
【請求項６】
読み出しデータを一時的に格納する第１のバッファと、
入力データを一時的に格納する第２のバッファと、
前記第１のバッファのデータと前記第２のバッファのデータとのいずれかを選択するセレクタとをさらに具備することを特徴とする請求項１乃至５のいずれかに記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリシステムに係り、例えばＮＡＮＤ型フラッシュメモリを備えたメモリシステムに関する。
【背景技術】
【０００２】
電気的書き換え可能な不揮発性半導体メモリ（ＥＥＰＲＯＭ：Electrically Erasable Programmable Read Only Memory）の１つとして、ＮＡＮＤ型フラッシュメモリが知られている。ＮＡＮＤ型フラッシュメモリは、ファイルメモリやメモリカードをはじめとする各種記録メディアとして使用されている。
【０００３】
ＮＡＮＤ型フラッシュメモリは高集積化が進んでいるが、高集積化を達成する技術の１つとして多値化が挙げられる。多値化とは、１つのセルに通常２値であるところを４値、８値、１６値といったデータを記憶できる仕組みをいう。しかし、多値化を行うと、セルの閾値電圧が変動してデータがシフトする現象、いわゆるデータ化けを起こしやすくなる。また、書き込み動作、及び読み出し動作が複雑になることから、書き込み動作及び読み出し動作が遅くなるという問題がある。一方、２値データは、多値データに比べて書き込み動作及び読み出し動作が速い。
【０００４】
このため、ＮＡＮＤ型フラッシュメモリが、２値データを記憶する２値領域と、多値データを記憶する多値領域とを含むメモリ領域を備えることで、２値領域と多値領域とにデータを書き分けることができる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２４２１６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、２値領域と多値領域との間のデータ転送を効率的に行うことが可能なメモリシステムを提供する。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るメモリシステムは、ページ単位で書き込みが行われ、かつ、１ビットを記憶単位とする第１の記憶領域と、ｎビット（ｎは２以上の整数）を記憶単位とする第２の記憶領域とを有する不揮発性メモリと、前記第１の記憶領域から読み出された読み出しデータと、外部から入力された入力データとを結合してｎページからなる書き込みデータを生成し、この書き込みデータを前記第２の記憶領域に書き込む制御部とを具備する。
【０００８】
本発明の一態様に係るメモリシステムは、ページ単位で書き込みが行われ、かつ、１ビットを記憶単位とする第１の記憶領域と、ｎビット（ｎは２以上の整数）を記憶単位とする第２の記憶領域とを有する不揮発性メモリと、前記第１の記憶領域から読み出された読み出しデータと、外部から入力された入力データとを結合してｎページからなる書き込みデータを生成し、この書き込みデータを前記第１の記憶領域に書き込む制御部とを具備し、前記不揮発性メモリは、前記第１の記憶領域に書き込まれた書き込みデータを前記第２の領域にコピーする。
【０００９】
本発明の一態様に係るメモリシステムは、ページ単位で書き込みが行われ、かつ、１ビットを記憶単位とする第１の記憶領域と、ｎビット（ｎは２以上の整数）を記憶単位とする第２の記憶領域とを有する不揮発性メモリと、前記第１の記憶領域から読み出された複数の読み出しデータを結合してｎページからなる書き込みデータを生成し、この書き込みデータを前記第２の記憶領域に書き込む制御部とを具備する。
【発明の効果】
【００１０】
本発明によれば、２値領域と多値領域との間のデータ転送を効率的に行うことが可能なメモリシステムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態に係る不揮発性記憶装置２０の構成を示すブロック図。
【図２】メモリセルアレイ３３に含まれる１個のブロックの構成を示す等価回路図。
【図３】メモリセルトランジスタの閾値分布とデータとの関係を説明する図。
【図４】第１の実施形態に係るメモリシステム３０のデータ転送動作を示すフローチャート。
【図５】メモリシステム３０のデータ転送動作を説明する概略図。
【図６】メモリシステム３０のデータ転送時間を説明する図。
【図７】メモリシステム３０のデータ転送動作の他の実施例を説明する概略図。
【図８】第２の実施形態に係るメモリシステム３０のデータ転送動作を示すフローチャート。
【図９】メモリシステム３０のデータ転送動作を説明する概略図。
【図１０】メモリシステム３０のデータ転送動作の他の実施例を説明する概略図。
【図１１】第３の実施形態に係るメモリシステム３０のデータ転送動作を示すフローチャート。
【図１２】メモリシステム３０のデータ転送動作を説明する概略図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面を参照して説明する。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【００１３】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る不揮発性記憶装置２０の構成を示すブロック図である。不揮発性記憶装置２０は、不揮発性半導体メモリを備えた記憶装置であり、例えばメモリカードなどから構成される。
【００１４】
記憶装置２０は、ホスト１０に接続されており、例えば、ホスト１０から電源供給を受けて各種の動作を実行する。記憶装置２０は、ホストインタフェース２１、制御部（ＣＰＵ：Central Processing Unit）２２、ＲＡＭ（Random Access Memory）２３、ＲＯＭ（Read Only Memory）２４、及びメモリシステム３０を備えており、これらモジュールはシステムバス２５を介して接続されている。
【００１５】
ホストインタフェース２１は、例えばＵＳＢ（Universal Serial Bus）インタフェースからなり、データ転送規格であるＵＳＢ規格に基づいてホストとの間でデータの送受信を制御する。
【００１６】
ＣＰＵ２２は、記憶装置２０全体の動作を統括的に制御する。ＣＰＵ２２は、ＲＯＭ２４や、後述するＮＡＮＤフラッシュメモリ３２に格納されたファームウェア（ＦＷ）を用いて、記憶装置２０の各種動作を制御する。また、ＣＰＵ２２は、ホスト１０から書き込みコマンド、読み出しコマンド、及び消去コマンドを受け、ＮＡＮＤフラッシュメモリ３２に対して書き込み、読み出し、及び消去動作を制御する。この際、ＣＰＵ２２は、管理情報や各種テーブルをＲＡＭ２３に格納し、これらのデータを用いて記憶装置２０の各種動作を制御する。
【００１７】
メモリシステム３０は、メモリ制御部３１、不揮発性半導体メモリとしてのＮＡＮＤフラッシュメモリ３２、ＥＣＣ（Error Checking and Correcting）デコーダ３５、バッファメモリ３６及び３７、セレクタ３８、及びＥＣＣエンコーダ３９を備えている。
【００１８】
メモリ制御部３１は、ＣＰＵ２２から送られるコマンドに応じて、メモリシステム３０内のモジュールを制御する。バッファメモリ３６は、ＥＣＣデコーダ３５から送られる読み出しデータを一時的に格納する。バッファメモリ３７は、メモリ制御部３１から送られる入力データを一時的に格納する。セレクタ３８は、メモリ制御部３１の制御のもと、バッファメモリ３６に格納された読み出しデータと、バッファメモリ３７に格納された入力データとの一方を選択して出力する。
【００１９】
ＥＣＣエンコーダ３９は、セレクタ３８から送られるデータに対して、エラー訂正符号を生成する。そして、ＥＣＣエンコーダ３９は、エラー訂正符号が付加されたデータを出力する。すなわち、ＥＣＣエンコーダ３９は、セレクタ３８から送られるデータを、ＮＡＮＤフラッシュメモリ３２に記録するためのデータフォーマットに変換する。ＥＣＣエンコーダ３９は、エラー訂正能力が低い、すなわち、エラー訂正可能なビット数が少ない第１のＥＣＣ回路と、エラー訂正能力が高い、すなわち、上記第１のＥＣＣ回路よりもエラー訂正可能なビット数が多い第２のＥＣＣ回路との２種類のＥＣＣ回路を備えている。第１のＥＣＣ回路は、エラーが発生する確率が低いデータに対してエラー訂正符号を生成し、また、第１のデータサイズを単位としてエラー訂正符号を生成する。第２のＥＣＣ回路は、エラーが発生する確率が高いデータに対してエラー訂正符号を生成し、また、第１のデータサイズより大きい第２のデータサイズを単位としてエラー訂正符号を生成する。
【００２０】
ＥＣＣデコーダ３５は、フラッシュメモリ３２からの読み出しデータに対してエラー訂正を行う。この際、ＥＣＣデコーダ３５は、読み出しデータに含まれるエラー訂正符号を用いてエラー訂正を行う。そして、ＥＣＣデコーダ３５は、エラー訂正符号を除いた読み出しデータを出力する。ＥＣＣエンコーダ３９と同様に、ＥＣＣデコーダ３５は、エラー訂正能力が低い、すなわち、エラー訂正可能なビット数が少ない第１のＥＣＣ回路と、エラー訂正能力が高い、すなわち、上記第１のＥＣＣ回路よりもエラー訂正可能なビット数が多い第２のＥＣＣ回路との２種類のＥＣＣ回路を備えている。そして、エラー訂正符号が付加されたデータのフォーマットに応じて、２種類のＥＣＣ回路の一方が用いられる。
【００２１】
ＮＡＮＤフラッシュメモリ３２は、データ消去の単位であるブロックを複数個有するメモリセルアレイ３３を備えている。メモリセルアレイ３３は、１個のメモリセルが１ビットのデータ（２値データ）を記憶するように構成された２値領域３３−１と、１個のメモリセルが２ビット以上のデータ（多値データ）を記憶するように構成された多値領域３３−２とを備えている。２値領域３３−１と多値領域３３−２とはそれぞれ、複数のブロックを有しており、フロックを構成するメモリセルの構成も同じである。メモリセルに複数ビットを記録するには、メモリセルに対して閾値電圧の設定を細分化することで実現できる。
【００２２】
図２は、メモリセルアレイ３３に含まれる１個のブロックの構成を示す等価回路図である。ブロックは、ロウ方向に沿って順に配置されたｍ個のＮＡＮＤストリングを備えている（ｍは、１以上の整数）。各ＮＡＮＤストリングは、２個の選択トランジスタＳＴ１、ＳＴ２、及びｎ個のメモリセル（メモリセルトランジスタという場合もある）ＭＴを備えている（ｎは、１以上の整数）。ｍ個のＮＡＮＤストリングにそれぞれ含まれる選択トランジスタＳＴ２は、ドレインがビット線ＢＬ０〜ＢＬｍ−１に接続され、ゲートが選択ゲート線ＳＧＤに共通接続されている。また、ｍ個のＮＡＮＤストリングにそれぞれ含まれる選択トランジスタＳＴ１は、ソースがソース線ＳＬに共通接続され、ゲートが選択ゲート線ＳＧＳに共通接続されている。
【００２３】
各ＮＡＮＤストリングにおいて、ｎ個のメモリセルトランジスタＭＴは、選択トランジスタＳＴ２のソースと選択トランジスタＳＴ１のドレインとの間に、それぞれの電流経路が直列接続されるように配置されている。すなわち、複数のメモリセルトランジスタＭＴは、隣接するもの同士で拡散領域（ソース領域若しくはドレイン領域）を共有するような形でカラム方向に直列接続される。
【００２４】
そして、例えば、最もソース線側に位置するメモリセルトランジスタＭＴから順に、制御ゲート電極がワード線ＷＬ０〜ＷＬｎ−１にそれぞれ接続されている。従って、ワード線ＷＬ０に接続されたメモリセルトランジスタＭＴのソースは選択トランジスタＳＴ１のドレインに接続され、ワード線ＷＬｎ−１に接続されたメモリセルトランジスタＭＴのドレインは選択トランジスタＳＴ２のソースに接続されている。
【００２５】
ワード線ＷＬ０〜ＷＬｎ−１は、ブロック内のＮＡＮＤストリング間で、メモリセルトランジスタＭＴの制御ゲート電極を共通に接続している。つまり、ブロック内において同一行にあるメモリセルトランジスタＭＴの制御ゲート電極は、同一のワード線ＷＬに接続される。この同一のワード線ＷＬに接続されるｍ個のメモリセルトランジスタＭＴは、２値領域３３−１では１ページとして取り扱われ、多値領域３３−２では複数ページとして取り扱われ、このページ単位でデータの書き込み及びデータの読み出しが行われる。
【００２６】
また、ビット線ＢＬ０〜ＢＬｍ−１は、ブロック間で、選択トランジスタＳＴ２のドレインを共通接続している。つまり、複数のブロック内において同一列にあるＮＡＮＤストリングは、同一のビット線ＢＬに接続される。
【００２７】
各メモリセルトランジスタＭＴは、半導体基板（或いはウェル）上にトンネル絶縁膜を介在して形成された積層ゲート構造を備えたＭＯＳＦＥＴ（Metal Oxide Semiconductor Field Effect Transistor）である。積層ゲート構造は、トンネル絶縁膜上に、電荷蓄積層（浮遊ゲート電極）、ゲート間絶縁膜、制御ゲート電極が順に積層されて構成される。メモリセルトランジスタＭＴは、浮遊ゲート電極に蓄積される電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じてデータを記憶する。多値領域３３−２のメモリセルトランジスタＭＴは、閾値電圧の分布を細分化して２ビット以上の多値データを記憶する。
【００２８】
本実施形態では、多値領域３３−２に含まれる１個のメモリセルトランジスタＭＴは、一例として、３ビットのデータを記憶するものとする。従って、図２に示す共通のワード線ＷＬに接続された１行は、３ページに対応する。一方、２値領域３３−１に含まれる１個のメモリセルトランジスタＭＴは、１ビットのデータを記憶する。従って、図２に示す共通のワード線ＷＬに接続された１行は、１ページに対応する。
【００２９】
図３は、メモリセルトランジスタの閾値分布とデータとの関係を説明する図である。図３の横軸はメモリセルトランジスタＭＴの閾値電圧Ｖｔｈ、縦軸はメモリセルトランジスタＭＴの数（セル数）を示している。メモリセルトランジスタＭＴに３ビットのデータを書き込む場合は、下位ビットデータを書き込むための第１ページ書き込みと、中位ビットデータを書き込むための第２ページ書き込みと、上位ビットデータを書き込むための第３ページ書き込みとが行われる。
【００３０】
メモリセルトランジスタＭＴのデータを消去すると、この閾値電圧は、“Ａ”レベル（消去状態）に設定される。例えば、消去状態の“Ａ”レベルは、負側に設定される。
【００３１】
第１ステージにおいて第１ページ書き込みを行うことにより、閾値電圧が“Ａ”レベル（消去状態）の“１”データと、閾値電圧が“Ａ”レベルより高い“Ｍ”レベルの“０”データとのいずれかをメモリセルトランジスタＭＴは記憶する。“１”データの場合には、メモリセルトランジスタＭＴの閾値電圧をシフトさせない。“０”データの場合には、メモリセルトランジスタＭＴの閾値電圧を正側にシフトさせる。“０”データの書き込みは、ベリファイ電圧Ｖｍを用いて行われる。２値領域３３−１へのデータ書き込みは、第１ステージで終了である。
【００３２】
続いて、第２ステージにおいて第２ページ書き込みを行うことにより、“１１”データ（閾値電圧“Ａ”）、“０１”データ（閾値電圧“Ｂ´”）、“００”データ（閾値電圧“Ｃ´”）、及び“１０”データ（閾値電圧“Ｄ´”）の４個のデータのいずれかをメモリセルトランジスタＭＴは記憶する。Ｖｂ´〜Ｖｄ´は、第２ページ書き込み時のベリファイ電圧である。
【００３３】
続いて、第３ステージにおいて第３ページ書き込みを行うことにより、“１１１”データ（閾値電圧“Ａ”）、“０１１”データ（閾値電圧“Ｂ”）、“００１”データ（閾値電圧“Ｃ”）、“１０１”データ（閾値電圧“Ｄ”）、“１００”データ（閾値電圧“Ｅ”）、“０００”データ（閾値電圧“Ｆ”）、“０１０”データ（閾値電圧“Ｇ”）、及び“１１０”データ（閾値電圧“Ｈ”）の８個のデータのいずれかをメモリセルトランジスタＭＴは記憶する。閾値電圧は、Ａ＜Ｂ＜Ｃ＜Ｄ＜Ｅ＜Ｆ＜Ｇ＜Ｈ＜Ｖreadである。Ｖｂ〜Ｖｈは、第３ページ書き込み時のベリファイ電圧である。データ読み出し時には、各ベリファイ電圧より若干低い読み出し電圧を用いて読み出し動作が実行される。なお、閾値電圧とデータとの割り付けは、任意に設定可能である。
【００３４】
２値領域３３−１は、高い信頼性が要求されるデータや管理データなどを格納するために用いられる。また、２値領域３３−１は、多値領域３３−２に比べて書き込み速度が速いため、一時的に書き込みが必要なデータを格納するためにも用いられる。
【００３５】
一方、多値領域３３−２は、隣接データ間の閾値電圧差が小さいため、閾値電圧が変動して隣接データの閾値電圧に達するデータシフトが発生する確率が高い。このため、多値領域３３−２は、２値領域３３−１に格納されるデータ以外の主要なデータやユーザデータなどを格納するために用いられる。
【００３６】
ＮＡＮＤフラッシュメモリ３２は、ページバッファ３４を備えている。本実施形態では、ページバッファ３４は、例えば３ページの記憶容量を有している。書き込みデータは、ページバッファに一旦格納され、ページ単位で順次メモリセルアレイ３３に書き込まれる。その他に、ＮＡＮＤフラッシュメモリ３２は、データを検知及び増幅するセンスアンプや、ワード線ＷＬに各種電圧を印加するワード線制御回路などを備えているが、これらの回路についてはフラッシュメモリが備える一般的な回路と同じであるため、図示を省略する。
【００３７】
（動作）
このように構成された記憶装置２０の動作について説明する。
【００３８】
多値領域３３−２へのデータ書き込みでは、ベリファイ電圧を用いてメモリセルトランジスタＭＴの閾値電圧を確認しながら、ワード線ＷＬに印加する書き込み電圧を徐々に上げて３ページ分の書き込みを行う。このように、多値領域３３−２は、データ書き込み動作が複雑なため、２値領域３３−１へのデータ書き込みに比べて書き込み時間が長い。
【００３９】
このため、メモリ制御部３１は、ホスト１０から送られかつ一時的に格納する必要があるデータ（一時的なデータ）は、一旦２値領域３３−１に格納する。これにより、一時的なデータの書き込み時間を低減することができる。一時的なデータの書き込みが終了すると、メモリ制御部３１は、２値領域３３−１のデータを多値領域３３−２に移す作業を実行する。このような制御を行うことで、ＣＰＵ２２から見た場合、多値領域３３−２への遅い書き込み動作が見えなくなる効果がある。
【００４０】
以下に、２値領域３３−１のデータを多値領域３３−２に移す動作について説明する。図４は、メモリシステム３０のデータ転送動作を示すフローチャートである。図５は、メモリシステム３０のデータ転送動作を説明する概略図である。
【００４１】
まず、メモリ制御部３１は、ＣＰＵ２２から発行される転送コマンドを受け（ステップＳ１００）、この転送コマンドを解釈する。続いて、メモリ制御部３１は、ＣＰＵ２２に対して、ビジー信号を活性化する（ステップＳ１０１）。
【００４２】
続いて、メモリ制御部３１は、フラッシュメモリ３２の２値領域３３−１から１ページ分のデータを読み出す（ステップＳ１０２）。具体的には、メモリ制御部３１の制御のもと、フラッシュメモリ３２は、メモリセルアレイ３３の２値領域３３−１から１ページ分のデータをページバッファ３４に格納する。この１ページは、例えば、一時的に２値領域３３−１に書き込まれたデータであり、本来、多値領域３３−２に書き込むべきデータである。
【００４３】
続いて、ＥＣＣデコーダ３５は、フラッシュメモリ３２の２値領域３３−１から読み出された１ページ分の読み出しデータに対して、エラー訂正を行う（ステップＳ１０３）。具体的には、ＥＣＣデコーダ３５は、読み出しデータに含まれるエラー訂正符号を用いてエラー訂正を行った後、エラー訂正符号を除いた読み出しデータを出力する。なお、今回の読み出しデータは２値領域３３−１からのものであるため、エラー訂正処理は、訂正能力の小さいＥＣＣ回路を用いて行われる。
【００４４】
続いて、メモリ制御部３１は、ＥＣＣデコーダ３５からの読み出しデータをバッファメモリ３６に格納する（ステップＳ１０４）。バッファメモリ３６に格納された読み出しデータは、セレクタ３８を介してＥＣＣエンコーダ３９に送られる。
【００４５】
続いて、ＥＣＣエンコーダ３９は、セレクタ３８から送られた読み出しデータに対してエラー訂正符号を生成する（ステップＳ１０５）。そして、ＥＣＣエンコーダ３９は、読み出しデータを多値領域３３−２用のデータフォーマットに変換する。すなわち、ＥＣＣエンコーダ３９は、エラー訂正符号が付加された読み出しデータを出力する。なお、今回の読み出しデータは多値領域３３−２に書き込まれるものであるため、符号生成処理は、訂正能力の大きいＥＣＣ回路を用いて行われる。
【００４６】
続いて、メモリ制御部３１は、ＥＣＣエンコーダ３９からの読み出しデータをフラッシュメモリ３２の多値領域３３−２に書き込む（ステップＳ１０６）。具体的には、メモリ制御部３１の制御のもと、フラッシュメモリ３２は、１ページ分の読み出しデータをページバッファ３４に格納し、この読み出しデータを多値領域３３−２に書き込む。
【００４７】
続いて、メモリ制御部３１は、ＣＰＵ２２に対して、レディー信号を活性化する（ステップＳ１０７）。続いて、メモリ制御部３１は、ＣＰＵ２２から２ページ分の入力データを受ける（ステップＳ１０８）。この入力データは、例えば、ホスト１０から入力されたデータや、ＣＰＵ２２が生成したテーブルなどのデータである。続いて、メモリ制御部３１は、入力データをバッファメモリ３７に格納する（ステップＳ１０９）。バッファメモリ３７に格納された入力データは、セレクタ３８を介してＥＣＣエンコーダ３９に送られる。
【００４８】
続いて、ＥＣＣエンコーダ３９は、セレクタ３８から送られた入力データに対してエラー訂正符号を生成する（ステップＳ１１０）。そして、ＥＣＣエンコーダ３９は、入力データを多値領域３３−２用のデータフォーマットに変換する。すなわち、ＥＣＣエンコーダ３９は、エラー訂正符号が付加された入力データを出力する。なお、今回の入力データは多値領域３３−２に書き込まれるものであるため、符号生成処理は、訂正能力の大きいＥＣＣ回路を用いて行われる。
【００４９】
続いて、メモリ制御部３１は、ＥＣＣエンコーダ３９からの入力データを上記読み出しデータと結合してフラッシュメモリ３２の多値領域３３−２に書き込む（ステップＳ１１１）。具体的には、メモリ制御部３１の制御のもと、フラッシュメモリ３２は、２ページ分の入力データをページバッファ３４に格納し、この入力データと上記読み出しデータとを結合した３ページ分のデータを、多値領域３３−２に含まれかつ共通のワード線ＷＬに接続された一列のメモリセルトランジスタ群に書き込む。
【００５０】
このような制御を行うことで、ＣＰＵ２２から見た場合、本来１ページの読み出し、３ページの書き込み動作が必要であったものが、２ページの書き込み動作のみで２値領域３３−１から多値領域３３−２へのデータ転送動作を終了させることが可能になる。
【００５１】
（効果）
以上詳述したように第１の実施形態では、２値領域３３−１から多値領域３３−２へのデータ転送動作コマンドをメモリシステム３０がＣＰＵ２２から受けた場合に、２値領域３３−１から読み出した１ページをＣＰＵ２２側に出力せずにフラッシュメモリ３２に送る。さらに、ＣＰＵ２２から受けた２ページを先の１ページと結合して多値領域３３−２の記憶単位である３ページを準備する。そして、この３ページを多値領域３３−２に書き込むようにしている。
【００５２】
図６は、第１の実施形態に係るメモリシステム３０のデータ転送時間を説明する図である。比較例では、以下のような処理の流れに応じた時間がかかる。（１）フラッシュメモリから１ページを読み出す時間、（２）１ページをデコード（ＤＥＣ）する時間、（３）１ページをＣＰＵ２２へ出力する時間、（４）３ページが入力される時間、（５）３ページをエンコード（ＥＮＣ）する時間、（６）３ページをフラッシュメモリに書き込む時間。
【００５３】
一方、第１の実施形態では、以下のような処理の流れに応じた時間がかかる。（１）フラッシュメモリから１ページを読み出す時間、（２）１ページをデコードする時間、（３）１ページをエンコードする時間、（４）２ページが入力される時間、（５）２ページをエンコードする時間、（６）３ページをフラッシュメモリに書き込む時間。この結果、図６に示すように、第１の実施形態のデータ転送動作では、比較例に比べて、処理時間を短縮することができる。また、２値領域３３−１から多値領域３３−２へのデータ転送を効率的に行うことが可能となる。
【００５４】
また、２値領域３３−１から多値領域３３−２へ移すコピーデータがＣＰＵ２２に出力されないため、ＣＰＵ２２の負荷を低減することが可能である。
【００５５】
また、多値領域３３−２にデータを記録する際、多値領域３３−２用のデータフォーマットに変換している。すなわち、エラー訂正能力の大きいエラー訂正符号を書き込みデータに付加した後、この書き込みデータを多値領域３３−２に記録している。これにより、多値領域３３−２に格納されたデータの信頼性を向上させることができる。
【００５６】
なお、入力データを先に多値領域３３−２に書き込み、その後に２値領域３３−１から多値領域３３−２へ読み出しデータを書き込むというように、入力データと読み出しデータとの書き込み順序を逆にしてもよい。この場合、図４において、ステップＳ１０１〜Ｓ１０６と、ステップＳ１０７〜Ｓ１１１とを入れ替えればよい。
【００５７】
また、２値領域３３−１から多値領域３３−２へ移すデータが２ページであってもよい。図７は、メモリシステム３０のデータ転送動作の他の実施例を説明する概略図である。この場合、２値領域３３−１からは２ページの読み出しデータが連続して読み出され、ＣＰＵ２２からは１ページの入力データが入力される。そして、これら３ページが、多値領域３３−２に含まれかつ共通のワード線ＷＬに接続された一列のメモリセルトランジスタ群に書き込まれる。このような転送動作を行う場合でも、データ転送時間を短縮することができる。
【００５８】
（第２の実施形態）
第２の実施形態は、２値領域３３−１内に多値領域３３−２に移すべき３ページが存在する場合に、２値領域３３−１から３ページを読み出し、ＣＰＵ２２を介さずに、この３ページを多値領域３３−２に書き込むようにしている。
【００５９】
図８は、本発明の第２の実施形態に係るメモリシステム３０のデータ転送動作を示すフローチャートである。図９は、メモリシステム３０のデータ転送動作を説明する概略図である。図９に示すように、多値領域３３−２へ移す対象である３ページは、例えば、互いに１ページ以上を開けて２値領域３３−１に格納されている。
【００６０】
まず、メモリ制御部３１は、ＣＰＵ２２から発行される転送コマンドを受け（ステップＳ２００）、この転送コマンドを解釈する。続いて、メモリ制御部３１は、ＣＰＵ２２に対して、ビジー信号を活性化する（ステップＳ２０１）。
【００６１】
続いて、メモリ制御部３１は、フラッシュメモリ３２の２値領域３３−１から１ページ分のデータを読み出す（ステップＳ２０２）。具体的には、メモリ制御部３１の制御のもと、フラッシュメモリ３２は、メモリセルアレイ３３の２値領域３３−１から１ページ分のデータをページバッファ３４に格納する。この１ページは、例えば、一時的に２値領域３３−１に書き込まれたデータであり、本来、多値領域３３−２に書き込むべきデータである。
【００６２】
続いて、ＥＣＣデコーダ３５は、フラッシュメモリ３２の２値領域３３−１から読み出された１ページ分の読み出しデータに対して、エラー訂正を行う（ステップＳ２０３）。具体的には、ＥＣＣデコーダ３５は、読み出しデータに含まれるエラー訂正符号を用いてエラー訂正を行い、エラー訂正符号を除いた読み出しデータを出力する。なお、今回の読み出しデータは２値領域３３−１からのものであるため、エラー訂正処理は、訂正能力の小さいＥＣＣ回路を用いて行われる。
【００６３】
続いて、メモリ制御部３１は、ＥＣＣデコーダ３５からの読み出しデータをバッファメモリ３６に格納する（ステップＳ２０４）。バッファメモリ３６に格納された読み出しデータは、セレクタ３８を介してＥＣＣエンコーダ３９に送られる。
【００６４】
続いて、ＥＣＣエンコーダ３９は、セレクタ３８から送られた読み出しデータに対してエラー訂正符号を生成する（ステップＳ２０５）。そして、ＥＣＣエンコーダ３９は、読み出しデータを多値領域３３−２用のデータフォーマットに変換する。すなわち、ＥＣＣエンコーダ３９は、エラー訂正符号が付加された読み出しデータを出力する。なお、今回の読み出しデータは多値領域３３−２に書き込まれるものであるため、符号生成処理は、訂正能力の大きいＥＣＣ回路を用いて行われる。
【００６５】
続いて、メモリ制御部３１は、ＥＣＣエンコーダ３９からの読み出しデータをフラッシュメモリ３２の多値領域３３−２に書き込む（ステップＳ２０６）。具体的には、メモリ制御部３１の制御のもと、フラッシュメモリ３２は、１ページ分の読み出しデータをページバッファ３４に格納し、この読み出しデータを多値領域３３−２に書き込む。
【００６６】
続いて、メモリ制御部３１は、２値領域３３−１から読み出されるデータが３ページになるまで、ステップＳ２０２〜Ｓ２０６の処理を繰り返す（ステップＳ２０７）。この時、メモリ制御部３１は、２値領域３３−１から読み出された３ページを結合し、多値領域３３−２に含まれかつ共通のワード線ＷＬに接続された一列のメモリセルトランジスタ群に書き込む。続いて、メモリ制御部３１は、ＣＰＵ２２に対して、レディー信号を活性化する（ステップＳ２０８）。
【００６７】
このような制御を行うことで、ＣＰＵ２２に処理負担をかけずに、２値領域３３−１から多値領域３３−２への３ページのデータ転送動作を行うことが可能になる。
【００６８】
（効果）
以上詳述したように第２の実施形態では、２値領域３３−１から多値領域３３−２へのデータ転送動作コマンドをメモリシステム３０がＣＰＵ２２から受けた場合に、２値領域３３−１から読み出した３ページをＣＰＵ２２側に出力せずにフラッシュメモリ３２に送る。この際、多値領域３３−２の記憶単位である３ページを結合して、多値領域３３−２に含まれかつ共通のワード線ＷＬに接続された一列のメモリセルトランジスタ群に書き込むようにしている。
【００６９】
従って第２の実施形態によれば、３ページをＣＰＵ２２へ出力する時間、及び３ページがＣＰＵ２２から入力される時間を省くことが可能となる。これにより、２値領域３３−１から多値領域３３−２へのデータ転送時間を短縮することができる。また、２値領域３３−１から多値領域３３−２へのデータ転送を効率的に行うことが可能となる。
【００７０】
また、２値領域３３−１から多値領域３３−２へ移すデータがＣＰＵ２２に出力されないため、ＣＰＵ２２の負荷を低減することが可能である。その他の効果は、第１の実施形態と同じである。
【００７１】
なお、２値領域３３−１から多値領域３３−２へ移すデータが２ページであってもよい。図１０は、メモリシステム３０のデータ転送動作の他の実施例を説明する概略図である。この場合、２値領域３３−１からは２ページの読み出しデータが個別に読み出され、ＣＰＵ２２からは１ページの入力データが入力される。そして、これら３ページが、多値領域３３−２に含まれかつ共通のワード線ＷＬに接続された一列のメモリセルトランジスタ群に書き込まれる。１ページの入力データを多値領域３３−２に書き込む動作は、第１の実施形態と同じである。このような転送動作を行う場合でも、データ転送時間を短縮することができる。
【００７２】
（第３の実施形態）
第３の実施形態は、２値領域３３−１から読み出した１ページと、ＣＰＵ２２から受けた２ページとから、多値領域３３−２の記憶単位である３ページを準備する。続いて、この３ページを多値領域３３−２用のデータフォーマットに変換した後、２値領域３３−１に書き込む。そして、フラッシュメモリ３２自身が、２値領域３３−１の３ページを多値領域３３−２にコピーするようにしている。
【００７３】
図１１は、本発明の第３の実施形態に係るメモリシステム３０のデータ転送動作を示すフローチャートである。図１２は、メモリシステム３０のデータ転送動作を説明する概略図である。
【００７４】
まず、メモリ制御部３１は、ＣＰＵ２２から発行される転送コマンドを受け（ステップＳ３００）、この転送コマンドを解釈する。続いて、メモリ制御部３１は、ＣＰＵ２２に対して、ビジー信号を活性化する（ステップＳ３０１）。
【００７５】
続いて、メモリ制御部３１は、フラッシュメモリ３２の２値領域３３−１から１ページ分のデータを読み出す（ステップＳ３０２）。具体的には、メモリ制御部３１の制御のもと、フラッシュメモリ３２は、メモリセルアレイ３３の２値領域３３−１から１ページ分のデータをページバッファ３４に格納する。この１ページは、例えば、一時的に２値領域３３−１に書き込まれたデータであり、本来、多値領域３３−２に書き込むべきデータである。
【００７６】
続いて、ＥＣＣデコーダ３５は、フラッシュメモリ３２の２値領域３３−１から読み出された１ページ分の読み出しデータに対して、エラー訂正を行う（ステップＳ３０３）。具体的には、ＥＣＣデコーダ３５は、読み出しデータに含まれるエラー訂正符号を用いてエラー訂正を行い、エラー訂正符号を除いた読み出しデータを出力する。なお、今回の読み出しデータは２値領域３３−１からのものであるため、エラー訂正処理は、訂正能力の小さいＥＣＣ回路を用いて行われる。
【００７７】
続いて、メモリ制御部３１は、ＥＣＣデコーダ３５からの読み出しデータをバッファメモリ３６に格納する（ステップＳ３０４）。バッファメモリ３６に格納された読み出しデータは、セレクタ３８を介してＥＣＣエンコーダ３９に送られる。
【００７８】
続いて、ＥＣＣエンコーダ３９は、セレクタ３８から送られた読み出しデータに対してエラー訂正符号を生成する（ステップＳ３０５）。そして、ＥＣＣエンコーダ３９は、読み出しデータを多値領域３３−２用のデータフォーマットに変換する。すなわち、ＥＣＣエンコーダ３９は、エラー訂正符号が付加された読み出しデータを出力する。この符号生成処理は、訂正能力の大きいＥＣＣ回路を用いて行われる。
【００７９】
続いて、メモリ制御部３１は、ＥＣＣエンコーダ３９からの読み出しデータをフラッシュメモリ３２の２値領域３３−１に書き込む（ステップＳ３０６）。具体的には、メモリ制御部３１の制御のもと、フラッシュメモリ３２は、１ページ分の読み出しデータをページバッファ３４に格納し、この読み出しデータを２値領域３３−１に書き込む。
【００８０】
続いて、メモリ制御部３１は、ＣＰＵ２２に対して、レディー信号を活性化する（ステップＳ３０７）。続いて、メモリ制御部３１は、ＣＰＵ２２から２ページ分の入力データを受ける（ステップＳ３０８）。この入力データは、例えば、ホスト１０から入力されたデータや、ＣＰＵ２２が生成したテーブルなどのデータである。続いて、メモリ制御部３１は、入力データをバッファメモリ３７に格納する（ステップＳ３０９）。バッファメモリ３７に格納された入力データは、セレクタ３８を介してＥＣＣエンコーダ３９に送られる。
【００８１】
続いて、ＥＣＣエンコーダ３９は、セレクタ３８から送られた入力データに対してエラー訂正符号を生成する（ステップＳ３１０）。そして、ＥＣＣエンコーダ３９は、入力データを多値領域３３−２用のデータフォーマットに変換する。すなわち、ＥＣＣエンコーダ３９は、エラー訂正符号が付加された入力データを出力する。この符号生成処理は、訂正能力の大きいＥＣＣ回路を用いて行われる。
【００８２】
続いて、メモリ制御部３１は、ＥＣＣエンコーダ３９からの入力データを上記読み出しデータと結合してフラッシュメモリ３２の２値領域３３−１に書き込む（ステップＳ３１１）。具体的には、メモリ制御部３１の制御のもと、フラッシュメモリ３２は、２ページ分の入力データをページバッファ３４に格納し、この入力データを上記読み出しデータの次の２ページに書き込む。これにより、多値領域３３−２の記憶単位である３ページからなりかつ訂正能力の大きいエラー訂正符号が付加された書き込みデータが準備できる。
【００８３】
続いて、メモリ制御部３１は、２値領域３３−１に格納された３ページを多値領域３３−２にコピーするように、フラッシュメモリ３２へ命令する。この命令を受けて、フラッシュメモリ３２は、２値領域３３−１から３ページを読み出し、ページバッファ３４に格納する。そして、ページバッファ３４の３ページを、多値領域３３−２に含まれかつ共通のワード線ＷＬに接続された一列のメモリセルトランジスタ群に書き込む（ステップＳ３１２）。この際、２値領域３３−１に格納された３ページは、既に、多値領域３３−２用の訂正能力が大きいエラー訂正符号が付加されているため、この３ページをフラッシュメモリ３２の外に出力する必要はない。
【００８４】
このような制御を行うことで、ＣＰＵ２２から見た場合、本来１ページの読み出し、３ページの書き込み動作が必要であったものが、２ページの書き込み動作のみで２値領域３３−１から多値領域３３−２へのデータ転送動作を終了させることが可能になる。
【００８５】
（効果）
以上詳述したように第３の実施形態では、２値領域３３−１から多値領域３３−２へのデータ転送動作コマンドをメモリシステム３０がＣＰＵ２２から受けた場合に、２値領域３３−１から読み出した１ページをＣＰＵ２２側に出力せずにフラッシュメモリ３２に送る。続いて、ＣＰＵ２２から受けた２ページを先の１ページと結合して多値領域３３−２の記憶単位である３ページを準備する。続いて、この３ページを多値領域３３−２用のデータフォーマットに変換した後、一旦２値領域３３−１に書き込む。そして、フラッシュメモリ３２自身が、２値領域３３−１の３ページを多値領域３３−２にコピーするようにしている。
【００８６】
従って第３の実施形態によれば、１ページをＣＰＵ２２へ出力する時間、及び１ページがＣＰＵ２２から入力される時間を省くことが可能となる。これにより、２値領域３３−１から多値領域３３−２へのデータ転送時間を短縮することができる。また、２値領域３３−１から多値領域３３−２へのデータ転送を効率的に行うことが可能となる。
【００８７】
また、２値領域３３−１から多値領域３３−２へ移すコピーデータがＣＰＵ２２に出力されないため、ＣＰＵ２２の負荷を低減することが可能である。その他の効果は、第１の実施形態と同じである。
【００８８】
なお、入力データを先に２値領域３３−１に書き込み、その後に２値領域３３−１内で読み出しデータを移動するようにしてもよい。この場合、図１１において、ステップＳ３０１〜Ｓ３０６と、ステップＳ３０７〜Ｓ３１１とを入れ替えればよい。さらに、読み出しデータが２ページで、入力データが１ページであってもよい。
【００８９】
本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、構成要素を変形して具体化することが可能である。さらに、上記実施形態には種々の段階の発明が含まれており、１つの実施形態に開示される複数の構成要素の適宜な組み合わせ、若しくは異なる実施形態に開示される構成要素の適宜な組み合わせにより種々の発明を構成することができる。例えば、実施形態に開示される全構成要素から幾つかの構成要素が削除されても、発明が解決しようとする課題が解決でき、発明の効果が得られる場合には、これらの構成要素が削除された実施形態が発明として抽出されうる。
【符号の説明】
【００９０】
ＭＴ…メモリセルトランジスタ、ＳＧＤ，ＳＧＳ…選択ゲート線、ＳＬ…ソース線、ＷＬ…ワード線、ＢＬ…ビット線、ＳＴ１，ＳＴ２…選択トランジスタ、１０…ホスト、２０…不揮発性記憶装置、２１…ホストインタフェース、２２…ＣＰＵ、２３…ＲＡＭ、２４…ＲＯＭ、２５…システムバス、３０…メモリシステム、３１…メモリ制御部、３２…ＮＡＮＤフラッシュメモリ、３３…メモリセルアレイ、３３−１…２値領域、３３−２…多値領域、３４…ページバッファ、３５…ＥＣＣデコーダ、３６，３７…バッファメモリ、３８…セレクタ、３９…ＥＣＣエンコーダ。
【図１】
2011128984.tif 000003
【図２】
2011128984.tif 000004
【図３】
2011128984.tif 000005
【図４】
2011128984.tif 000006
【図５】
2011128984.tif 000007
【図６】
2011128984.tif 000008
【図７】
2011128984.tif 000009
【図８】
2011128984.tif 000010
【図９】
2011128984.tif 000011
【図１０】
2011128984.tif 000012
【図１１】
2011128984.tif 000013
【図１２】
2011128984.tif 000014