(57)【要約】【課題】メモリシステムの回路面積を縮小する。【解決手段】メモリシステム１０は、データ部に対して誤り訂正のためのパリティビットを生成するＥＣＣエンコーダ１７と、ページ単位でデータを格納する不揮発性メモリ１１と、パリティビットを用いてデータ部の誤りを訂正するＥＣＣデコーダ１８と、不揮発性メモリ１１から読み出されたページ、或いはＥＣＣエンコーダ１７から転送されたフレームを一時的に格納する第１のメモリバッファ１５と、パリティビットが付加される直前のデータ部、或いはＥＣＣデコーダ１８により誤りが訂正されたデータ部を一時的に格納する第２のメモリバッファ１９と、不揮発性メモリ１１及び第２のメモリバッファ１９間のデータ転送を制御し、かつデータコピー動作時に第１のメモリバッファ１５をシリアルにアクセスするデータ転送制御部２２とを含む。【選択図】      図１
2011243116.tif 000002
【特許請求の範囲】
【請求項１】
データ部に対して誤り訂正のためのパリティビットを生成するＥＣＣエンコーダと、
前記データ部及び前記パリティビットからフレームが構成され、複数のフレームからページが構成され、このページ単位でデータを格納する不揮発性メモリと、
前記パリティビットを用いて前記データ部の誤りを訂正するＥＣＣデコーダと、
前記不揮発性メモリから読み出されたページ、或いは前記ＥＣＣエンコーダから転送されたフレームを一時的に格納する第１のメモリバッファと、
前記パリティビットが付加される直前のデータ部、或いは前記ＥＣＣデコーダにより誤りが訂正されたデータ部を一時的に格納する第２のメモリバッファと、
前記不揮発性メモリ及び前記第２のメモリバッファ間のデータ転送を制御し、かつデータコピー動作時に前記第１のメモリバッファをシリアルにアクセスするデータ転送制御部と、
を具備することを特徴とするメモリシステム。
【請求項２】
前記不揮発性メモリは、ｎビットデータ（ｎは２以上の整数）を記憶可能な複数のメモリセルを含み、かつｎページ単位でデータを格納し、
前記第１のメモリバッファは、前記不揮発性メモリから読み出されたｎページを一時的に格納することを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記フレームは、前記ｎページの各々の一部を含むように構成されることを特徴とする請求項２に記載のメモリシステム。
【請求項４】
前記データ転送制御部は、前記データコピー動作時に、前記不揮発性メモリ、前記第１のメモリバッファ、前記ＥＣＣデコーダ、前記第２のメモリバッファ、前記ＥＣＣエンコーダ、前記第１のメモリバッファ、前記不揮発性メモリの順にデータ転送を実行することを特徴とする請求項１乃至３のいずれかに記載のメモリシステム。
【請求項５】
メモリシステムのデータ転送方法であって、
前記メモリシステムは、
データ部に対して誤り訂正のためのパリティビットを生成するＥＣＣエンコーダと、
前記データ部及び前記パリティビットからフレームが構成され、複数のフレームからページが構成され、このページ単位でデータを格納する不揮発性メモリと、
前記パリティビットを用いて前記データ部の誤りを訂正するＥＣＣデコーダと、
前記不揮発性メモリから読み出されたページ、或いは前記ＥＣＣエンコーダから転送されたフレームを一時的に格納する第１のメモリバッファと、
前記パリティビットが付加される直前のデータ部、或いは前記ＥＣＣデコーダにより誤りが訂正されたデータ部を一時的に格納する第２のメモリバッファと
を具備し、
前記データ転送方法は、
前記不揮発性メモリ及び前記第２のメモリバッファ間のデータ転送を制御する工程と、
データコピー動作時に、前記第１のメモリバッファをシリアルにアクセスする工程と、
を具備することを特徴とするメモリシステムのデータ転送方法。
【請求項６】
前記データ転送を制御する工程は、前記データコピー動作時に、前記不揮発性メモリ、前記第１のメモリバッファ、前記ＥＣＣデコーダ、前記第２のメモリバッファ、前記ＥＣＣエンコーダ、前記第１のメモリバッファ、前記不揮発性メモリの順にデータ転送を実行する工程を含むことを特徴とする請求項５に記載のメモリシステムのデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メモリシステム及びそのデータ転送方法に関する。
【背景技術】
【０００２】
不揮発性半導体メモリとしては、データの書き込み及び消去を電気的に行うＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）の一種であるＮＡＮＤ型フラッシュメモリが知られている。ＮＡＮＤ型フラッシュメモリは高集積化が進んでいるが、高集積化を達成する技術の１つとして多値化が挙げられる。多値化とは、１個のセルに通常１ビットデータを記録するところを２ビット以上のデータを記録できる仕組みをいう。
【０００３】
１個のセルに例えば３ビットデータ（８値データ）を記録可能であるとすると、３ページの各々にデータを含むようにデータ単位を構成し、このデータ単位に対してＥＣＣ用のパリティビットを付加している場合、データ読み出し時に３ページ分のデータをＮＡＮＤ型フラッシュメモリから読み出す必要があり、この３ページをメモリバッファに格納する。よって、１ページのデータサイズが増えると、メモリバッファの容量も増え、メモリバッファの回路面積が大きくなる。
【０００４】
また、多値フラッシュメモリは、データの読み出しに時間がかかる。このため、現在処理している３ページの次の３ページの読み出しを行うことで読み出し速度を速くすることが考えられるが、この場合、さらに６ページ分の容量を有するメモリバッファが必要になり、メモリバッファの回路面積が大きくなる。
【０００５】
さらに、データコピー時には、メモリバッファからのデータ読み出しと、メモリバッファへのデータ書き込みとが同時に実行される。このため、メモリバッファはリードポートとライトポートとのデュアルポートを持つメモリで構成する必要がり、このデュアルポートを持つメモリバッファを用いると、回路規模が増大してしまう。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２３３５２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
実施形態は、回路面積を縮小することが可能なメモリシステム及びそのデータ転送方法を提供する。
【課題を解決するための手段】
【０００８】
実施形態に係るメモリシステムは、データ部に対して誤り訂正のためのパリティビットを生成するＥＣＣエンコーダと、前記データ部及び前記パリティビットからフレームが構成され、複数のフレームからページが構成され、このページ単位でデータを格納する不揮発性メモリと、前記パリティビットを用いて前記データ部の誤りを訂正するＥＣＣデコーダと、前記不揮発性メモリから読み出されたページ、或いは前記ＥＣＣエンコーダから転送されたフレームを一時的に格納する第１のメモリバッファと、前記パリティビットが付加される直前のデータ部、或いは前記ＥＣＣデコーダにより誤りが訂正されたデータ部を一時的に格納する第２のメモリバッファと、前記不揮発性メモリ及び前記第２のメモリバッファ間のデータ転送を制御し、かつデータコピー動作時に前記第１のメモリバッファをシリアルにアクセスするデータ転送制御部とを具備する。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係るメモリシステム１０の構成を示すブロック図。
【図２】メモリセルアレイ１２の構成を示す回路図。
【図３】第１のメモリバッファ１５に格納されるデータ構造を説明する概略図。
【図４】コントローラ１３のデータコピー動作を示すフローチャート。
【図５】コントローラ１３のデータコピー動作を説明するタイミングチャート。
【図６】第２の実施形態に係るコントローラ１３のデータコピー動作を説明するタイミングチャート。
【図７】コントローラ１３のデータコピー動作を説明するタイミングチャート。
【図８】コントローラ１３のデータコピー動作を説明するタイミングチャート。
【発明を実施するための形態】
【００１０】
以下、実施形態について図面を参照して説明する。以下に示す幾つかの実施形態は、本発明の技術思想を具体化するための装置および方法を例示したものであって、構成部品の形状、構造、配置などによって、本発明の技術思想が特定されるものではない。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【００１１】
［第１の実施形態］
図１は、第１の実施形態に係るメモリシステム１０の構成を示すブロック図である。メモリシステム１０は、不揮発性半導体メモリであるＮＡＮＤ型フラッシュメモリ１１と、このＮＡＮＤ型フラッシュメモリ１１を制御するコントローラ１３とを備えている。メモリシステムは、ＳＤカード（登録商標）のようなメモリカードの形態でもよいし、電子機器に不揮発性半導体メモリとコントローラとのセットが組み込まれるよう構成されていてもよい。
【００１２】
ＮＡＮＤ型フラッシュメモリ１１は、メモリセルがマトリクス状に配列されたメモリセルアレイ１２を備えている。図２は、メモリセルアレイ１２の構成を示す回路図である。
【００１３】
メモリセルアレイ１２は、ｊ個のブロックＢＬＫ０〜ＢＬＫｊ−１を備えている（ｊは、１以上の整数）。ブロックＢＬＫは、データ消去の単位である。各ブロックＢＬＫは、ロウ方向に沿って順に配列されたｍ個のＮＡＮＤストリングを備えている（ｍは、１以上の整数）。ＮＡＮＤストリングに含まれる選択トランジスタＳＴ１は、ドレインがビット線ＢＬに接続され、ゲートが選択ゲート線ＳＧＤに共通接続されている。ＮＡＮＤストリングに含まれる選択トランジスタＳＴ２は、ソースがソース線ＳＬに共通接続され、ゲートが選択ゲート線ＳＧＳに共通接続されている。
【００１４】
各メモリセルトランジスタＭＴは、ｐ型ウェル上に形成された積層ゲート構造を備えたＭＯＳＦＥＴ（Metal Oxide Semiconductor Field Effect Transistor）により構成されている。積層ゲート構造は、ｐ型ウェル上にゲート絶縁膜を介在して形成された電荷蓄積層（浮遊ゲート電極）、及び浮遊ゲート電極上にゲート間絶縁膜を介在して形成された制御ゲート電極を含んでいる。メモリセルトランジスタＭＴは、浮遊ゲート電極に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じてデータを記憶する。メモリセルトランジスタＭＴは、２値データ（１ビットデータ）を記憶するように構成されていてもよいし、多値データ（２ビット以上のデータ）を記憶するように構成されていてもよい。本実施形態では、メモリセルトランジスタＭＴは、例えば多値データとして３ビットデータ（８値データ）を記憶するものとする。
【００１５】
各ＮＡＮＤストリングにおいて、ｎ個（ｎは、１以上の整数）のメモリセルトランジスタＭＴは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に、それぞれの電流経路が直列接続されるように配置されている。すなわち、ｎ個のメモリセルトランジスタＭＴは、隣接するもの同士で拡散領域（ソース領域若しくはドレイン領域）を共有するような形でカラム方向に直列接続される。
【００１６】
各ＮＡＮＤストリングにおいて、最もソース側に位置するメモリセルトランジスタＭＴから順に、制御ゲート電極がワード線ＷＬ０〜ＷＬｎ−１にそれぞれ接続されている。従って、ワード線ＷＬｎ−１に接続されたメモリセルトランジスタＭＴのドレインは選択トランジスタＳＴ１のソースに接続され、ワード線ＷＬ０に接続されたメモリセルトランジスタＭＴのソースは選択トランジスタＳＴ２のドレインに接続されている。
【００１７】
ワード線ＷＬ０〜ＷＬｎ−１は、ブロックＢＬＫ内のＮＡＮＤストリング間で、メモリセルトランジスタＭＴの制御ゲート電極を共通に接続している。つまり、ブロック内において同一行にあるメモリセルトランジスタＭＴの制御ゲート電極は、同一のワード線ＷＬに接続される。この同一のワード線ＷＬに接続されるｍ個のメモリセルトランジスタＭＴはページとして取り扱われ、このページごとにデータの書き込み及び読み出しが行われる。本実施形態では、１個のメモリセルトランジスタＭＴが３ビットデータを記憶するため、同一ワード線ＷＬに接続されるｍ個のメモリセルトランジスタＭＴは、３ページを記憶する。
【００１８】
また、ビット線ＢＬ０〜ＢＬｍ−１は、ブロックＢＬＫ間で、選択トランジスタＳＴ１のドレインを共通に接続している。つまり、ブロックＢＬＫ０〜ＢＬＫｊ−１内において同一列にあるＮＡＮＤストリングは、同一のビット線ＢＬに接続される。
【００１９】
図示は省略するが、ＮＡＮＤ型フラッシュメモリ１１は、メモリセルアレイ１２に対してデータの書き込み、読み出し及び消去を行う回路を備えている。例えば、ＮＡＮＤ型フラッシュメモリ１１は、メモリセルアレイ１２の列を選択するカラムデコーダ、メモリセルアレイ１２の行を選択するロウデコーダ、メモリセルからデータを読み出すためのセンスアンプ回路、読み出し及び書き込みデータを保持するデータキャッシュなどを含む。
【００２０】
コントローラ１３は、フラッシュインタフェース１４、第１のメモリバッファ１５、データ選択回路１６、ＥＣＣ（Error Checking and Correcting）エンコーダ１７、ＥＣＣデコーダ１８、第２のメモリバッファ１９、バスブリッジ２０、システムバス２１、及びデータ転送制御部２２を備えている。
【００２１】
フラッシュインタフェース１４は、ＮＡＮＤ型フラッシュメモリ１１との間のインタフェース処理を実行する。具体的には、フラッシュインタフェース１４は、ＮＡＮＤ型フラッシュメモリ１１にコマンド及びアドレスを供給し、ＮＡＮＤ型フラッシュメモリ１１との間でデータの受け渡しを行う。
【００２２】
ＥＣＣエンコーダ１７は、書き込みデータを受け、この書き込みデータに対して誤り訂正符号（パリティビット）を生成する。また、ＥＣＣエンコーダ１７は、所定のデータサイズを計算単位としてパリティビットを生成する。このパリティビットは、書き込みデータに付加され、書き込みデータと共にＮＡＮＤ型フラッシュメモリ１１に書き込まれる。本実施形態では、ＥＣＣ計算単位としてのデータ部と、パリティビットとを合わせてフレームを呼ぶ。ＥＣＣデコーダ１８は、読み出しデータを受け、この読み出しデータに付加されたパリティビットを用いて、読み出しデータの誤りを訂正する。
【００２３】
データ選択回路１６は、データコピー動作時に、ＥＣＣエンコーダ１７から送られる書き込みデータを第１のメモリバッファ１５に送る。データコピーとは、ＮＡＮＤ型フラッシュメモリ１１の第１のブロックに格納されたデータの全部或いは一部を第２のブロックに移動する処理である。ＮＡＮＤ型フラッシュメモリ１１は、ブロック単位でしかデータの消去ができないため、第１のブロック内の一部のページを書き換える場合、この書き換えるページを第２のブロックに書き込むとともに第１のブロック内の書き換えられないページも第２のブロックに書き込まれる。或いは、ＮＡＮＤ型フラッシュメモリの寿命を長くするために、使用頻度の高い第１のブロックと使用頻度の低い第２のブロックとの間でデータコピーが行われる。
【００２４】
第１のメモリバッファ１５は、ＮＡＮＤ型フラッシュメモリ１１からの読み出しデータ、或いはＮＡＮＤ型フラッシュメモリ１１に書き込む直前の、ＥＣＣエンコーダ１７によってパリティビットが付加された書き込みデータを一時的に格納する。第１のメモリバッファ１５は、バンク構造を有しており、第１のバンク１５−１及び第２のバンク１５−２を含む複数のバンクを備えている。ＮＡＮＤ型フラッシュメモリ１１から多値データを読み出す場合、読み出し処理が複雑なため、時間がかかる。よって、本実施形態では、第１のバンク１５−１及び第２のバンク１５−２に交互に３ページ分のデータを格納することで、読み出し時間を短縮できるようにしている。
【００２５】
また、第１のメモリバッファ１５の入出力ポート（Ｉ／Ｏ  ｐｏｒｔ）は、シングルポートである。よって、第１のメモリバッファ１５に対しては書き込み及び読み出しを同時に行うことはできず、第１のメモリバッファ１５にアクセスする場合は、シリアルアクセスのみ、つまり書き込み及び読み出しの一方のみが可能である。本実施形態のように第１のメモリバッファ１５がバンク構造を有している場合、第１のバンク１５−１及び第２のバンク１５−２の各々がシングルポート構造を有している。第１のメモリバッファ１５をシングルポートにすることで、第１のメモリバッファ１５をダブルポートにする場合に比べて、回路面積を縮小することができる。
【００２６】
第２のメモリバッファ１９は、パリティビットを付加する直前の書き込みデータ、或いはＥＣＣデコーダ１８で訂正を終えた読み出しデータを一時的に格納する。メモリバッファ１５及び１８の各々は、例えばＲＡＭから構成される。バスブリッジ２０は、第２のメモリバッファ１９とシステムバス２１との間のインタフェース処理を実行する。
【００２７】
データ転送制御部２２は、ハードウェア処理により、ＮＡＮＤ型フラッシュメモリ１１とシステムバス２１との間のデータ転送処理を実行する。このために、データ転送制御部２２は、図１に示した各モジュールに制御信号を送り、また、各モジュールから状態フラグ信号を受ける。データ転送制御部２２は、この状態フラグ信号によって各モジュールのデータ転送状況を確認しながらデータ転送を制御する。
【００２８】
この他に、図示は省略するが、システムバス２１には、中央演算処理装置（ＣＰＵ：Central Processing Unit）、及びＲＯＭ（Read Only Memory）が接続されている。ＣＰＵは、ＲＯＭに格納されたファームウェアを用いて、メモリシステム１０全体の動作を統括的に制御する。ＣＰＵは、制御バス（図示せず）を経由してデータ転送制御部２２に制御信号を送り、また、システムバス２１を経由して各種モジュールとの間でデータの受け渡しを行う。なお、システムバス２１には、メモリシステム１０の動作に必要なＲＡＭ（Random Access Memory）やホストインタフェースなども接続されている。
【００２９】
図３は、第１のメモリバッファ１５に格納されるデータ構造を説明する概略図である。前述したように、本実施形態では１個のメモリセルトランジスタＭＴが３ビットデータを記憶するため、同一ワード線ＷＬに接続されるｍ個のメモリセルトランジスタＭＴから３ページ（第１ページ〜第３ページ）が読み出される。この３ページは、第１のメモリバッファ１５の１個のバンクに格納される。図３では、横一列が１ページである。
【００３０】
第１ページ〜第３ページは誤り発生率が異なるため、同一ページ内でフレームを割り当てると、フレーム間での誤り発生率が異なってしまう。このため、ＮＡＮＤ型フラッシュメモリ１１に記憶されたデータの信頼性が低下する。よって、本実施形態では、第１ページ〜第３ページを縦方向に複数に分割し、第１ページ〜第３ページに亘ってフレームを定義している。これにより、フレーム間で誤り発生率を平準化できるため、データ信頼性を向上できる。図３に示すように、第１ページ〜第３ページは、複数のフレーム（Ｆ０〜Ｆｉ：ｉは１以上の整数）が集まって構成されており、１フレームは、データ部（データ部１〜データ部３）とパリティ部とから構成されている。
【００３１】
（動作）
次に、このように構成されたメモリシステム１０の動作について説明する。図４は、コントローラ１３のデータコピー動作を示すフローチャートである。図５は、コントローラ１３のデータコピー動作を説明するタイミングチャートである。例えば、３ページは、（ｉ＋１）個のフレームＦ０〜Ｆｉから構成されているものとする。
【００３２】
まず、フラッシュインタフェース１４は、ＮＡＮＤ型フラッシュメモリ１１から３ページを読み出す（ステップＳ１０１）。続いて、データ転送制御部２２は、ＮＡＮＤ型フラッシュメモリ１１から読み出された３ページを第１のメモリバッファ１５（具体的には、第１のバンク１５−１）に転送する。これにより、ＮＡＮＤ型フラッシュメモリ１１から読み出された３ページが第１のメモリバッファ１５に格納される（ステップＳ１０２）。
【００３３】
続いて、データ転送制御部２２は、第１のメモリバッファ１５に格納されたフレームＦ０をＥＣＣデコーダ１８に転送する（ステップＳ１０３）。続いて、ＥＣＣデコーダ１８は、フレームＦ０内のパリティビットを用いて、同じくフレームＦ０内のデータ部の誤りを訂正する（ステップＳ１０４）。
【００３４】
続いて、データ転送制御部２２は、誤り訂正が完了したフレームＦ０内のデータ部を第２のメモリバッファ１９に転送する（ステップＳ１０５）。第２のメモリバッファ１９は、ＥＣＣデコーダ１８から転送されたデータ部を一時的に格納する。第２のメモリバッファ１９の記憶領域は、例えば１フレームである。
【００３５】
続いて、データ転送制御部２２は、第２のメモリバッファ１９に格納されたデータ部をＥＣＣエンコーダ１７に転送する（ステップＳ１０６）。続いて、ＥＣＣエンコーダ１７は、ＥＣＣエンコーダ１７から転送されたデータ部に対してパリティビットを生成する（ステップＳ１０７）。
【００３６】
続いて、データ転送制御部２２は、データ部にパリティビットが付加されて構成されたフレームＦ０をデータ選択回路１６に転送する。データ選択回路１６は、フレームＦ０を選択し、第１のメモリバッファ１５の第１のバンク１５−１に転送する。これにより、フレームＦ０がＥＣＣエンコーダ１７から第１のメモリバッファ１５の第１のバンク１５−１に転送される（ステップＳ１０８）。
【００３７】
以後、ステップＳ１０３〜Ｓ１０８と同様の手順で、フレームＦ１〜Ｆｉが順番に、第１のメモリバッファ１５の第１のバンク１５−１から、ＥＣＣデコーダ１８、第２のメモリバッファ１９及びＥＣＣエンコーダを介して、再度第１のメモリバッファ１５の第１のバンク１５−１に転送される（ステップＳ１０９）。
【００３８】
続いて、データ転送制御部２２は、第１のメモリバッファ１５の第１のバンク１５−１に格納された３ページをフラッシュインタフェース１４に転送する。フラッシュインタフェース１４は、この３ページをＮＡＮＤ型フラッシュメモリ１１に書き込む（ステップＳ１１０）。このようにして、ＮＡＮＤ型フラッシュメモリ１１のコピー動作が完了する。
【００３９】
なお、ＮＡＮＤ型フラッシュメモリ１１から第１のメモリバッファ１５の第１のバンク１５−１に３ページが読み出された後、続いて、ＮＡＮＤ型フラッシュメモリ１１から第１のメモリバッファ１５の第１のバンク１５−２に次の３ページが読み出される。これにより、最初の３ページのコピー動作が完了した後、直ぐに次の３ページのコピー動作を実行することができるため、コピー動作を高速化することができる。
【００４０】
このように、第１のメモリバッファ１５からＥＣＣデコーダ１８へ１フレーム分のデータが転送され、ＥＣＣデコーダ１８により誤り訂正されたデータ部が第２のメモリバッファ１９に一時的に格納される（以降、データ転送（１）)。次に、第２のメモリバッファ１９に格納されたデータ部がＥＣＣエンコーダ１７に転送され、ＥＣＣエンコーダ１７によりパリティビットがデータ部に付加され、データ部とパリティビットからなる１フレームが再度第１のメモリバッファ１５に一時的に格納される（以降、データ転送（２））。データ転送制御部２２は、優先順位に基づいてデータ転送（１）及びデータ転送（２）のどちらを実行するかを判断する。よって、図５に示すように、データ転送制御部２２がデータ転送（１）及びデータ転送（２）を繰り返すことで、第１のメモリバッファ１５は、シリアルにアクセスされる。
【００４１】
次に、ＮＡＮＤ型フラッシュメモリ１１からのデータ読み出し動作について説明する。ＮＡＮＤ型フラッシュメモリから読み出されたデータはフラッシュインタフェース１４を経由し第１のメモリバッファ１５に一時的に格納される。このデータ転送では、３ページ分のデータが連続して転送される。その後、１フレーム単位で第１のメモリバッファ１５からＥＣＣデコーダ１８にデータ転送され、データ訂正が完了した後、訂正されたデータが第２のメモリバッファ１９に一時的に格納される。そして、第２のメモリバッファ１９からバスブリッジ２０を経由してシステムバス２１にデータが転送される。この動作を３ページのフレーム数分繰り返すことで、ＮＡＮＤ型フラッシュメモリ１１からの３ページの読み出し動作が完了する。
【００４２】
次に、ＮＡＮＤ型フラッシュメモリ１１へのデータ書き込み動作について説明する。システムバス２１側から入力された１フレーム分のデータが第２のメモリバッファ１９に一時的に格納される。第２のメモリバッファ１９に格納されたデータはＥＣＣエンコーダ１７に転送されデータ部のパリティビットが生成され、データ部及びパリティビットからなる１フレームは第１のメモリバッファ１５に一時的に格納される。この動作が３ページのフレーム数分繰り返される。その後、第１のメモリバッファ１５からフラッシュインタフェース１４を経由してＮＡＮＤ型フラッシュメモリ１１に３ページ分のデータが書き込まれる。このような読み出し動作及び書き込み動作に必要なデータ転送制御は、データ転送制御部２２によって実行される。
【００４３】
（効果）
以上詳述したように第１の実施形態では、ＮＡＮＤ型フラッシュメモリ１１のデータコピー動作において、ＮＡＮＤ型フラッシュメモリ１１から読み出された３ページを第１のメモリバッファ１５に一時的に格納する。そして、データ転送制御部２２は、１フレーム単位で、ＥＣＣデコーダ１８、第２のメモリバッファ１９、ＥＣＣエンコーダ１７、第１のメモリバッファ１５の順にデータを転送することで、第１のメモリバッファ１５をシリアルアクセスするようにしている。
【００４４】
従って第１の実施形態によれば、第１のメモリバッファ１５の入出力ポートをシングルポートにすることができる。これにより、第１のメモリバッファ１５の回路面積を縮小することができ、ひいてはメモリシステム１０の回路面積を縮小することができる。
【００４５】
また、メモリセルトランジスタＭＴが複数ビット（本実施形態では、一例として３ビット）を記憶可能であり、このため、第１のメモリバッファ１５は、１回のデータ転送において３ページを一時的に格納する。そして、ＥＣＣの計算単位であるデータ部とパリティビットからなるフレームは、３ページの各々の一部を含むように構成されている。これにより、ページ間で誤り発生率が異なる場合でも、フレーム間で誤り発生率を平準化することができる。このため、ＮＡＮＤ型フラッシュメモリ１１に記憶されたデータの信頼性を向上できる。
【００４６】
また、第１のメモリバッファ１５は、バンク構造を有している。このため、ＮＡＮＤ型フラッシュメモリ１１から第１のバンクに３ページを読み出した後に、連続して第２のバンクに次の３ページの読み出しを開始することができる。この結果、読み出し速度の高速化が可能となり、ひいてはデータコピー動作の高速化が可能となる。
【００４７】
また、データ転送制御部２２がＮＡＮＤ型フラッシュメモリ１１とシステムバス２１との間のデータ転送処理を行うようにしている。すなわち、ＣＰＵがＮＡＮＤ型フラッシュメモリ１１とシステムバス２１との間のデータ転送処理を担わずに済むため、ＣＰＵの処理負荷を低減することができる。
【００４８】
［第２の実施形態］
データコピー時のデータ転送単位は、第１の実施形態のように１フレームに限らず、それ以外のデータサイズにすることも可能である。第２の実施形態は、データコピー時のデータ転送単位の他の例を示している。
【００４９】
図６は、第１の例に係るコントローラ１３のデータコピー動作を説明するタイミングチャートである。図６のように、２フレーム単位で第１のメモリバッファ１５をシリアルアクセスすることも可能である。この場合、図４のフローチャートにおいて、ステップＳ１０３〜Ｓ１０８の処理を２フレームで行えばよい。第１の例では、第２のメモリバッファ１９の記憶容量は、２フレームとなる。
【００５０】
図７は、第２の例に係るコントローラ１３のデータコピー動作を説明するタイミングチャートである。第２の例では、第２のメモリバッファ１９の記憶容量は、２フレームである。図７のように、最初の２フレームに対してデータ転送（１）を実行し、第２のメモリバッファ１９が一杯になったところで、１フレーム単位でデータ転送（２）及びデータ転送（１）を繰り返すようにしてもよい。
【００５１】
図８は、第３の例に係るコントローラ１３のデータコピー動作を説明するタイミングチャートである。第２のメモリバッファ１９の記憶容量は、３ページ（Ｆ０〜Ｆｉ）である。この場合は、図８のように、データ転送（１）を３ページ分連続して行った後に、データ転送（２）を３ページ分連続して行うようにしてもよい。
【００５２】
第２の実施形態で説明したデータ転送を実行した場合でも、第１の実施形態と同様の効果を得ることができる。
【００５３】
本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、構成要素を変形して具体化することが可能である。さらに、上記実施形態には種々の段階の発明が含まれており、１つの実施形態に開示される複数の構成要素の適宜な組み合わせ、若しくは異なる実施形態に開示される構成要素の適宜な組み合わせにより種々の発明を構成することができる。例えば、実施形態に開示される全構成要素から幾つかの構成要素が削除されても、発明が解決しようとする課題が解決でき、発明の効果が得られる場合には、これらの構成要素が削除された実施形態が発明として抽出されうる。
【符号の説明】
【００５４】
ＢＬＫ…ブロック、ＭＴ…メモリセルトランジスタ、ＳＴ１，ＳＴ２…選択トランジスタ、ＢＬ…ビット線、ＷＬ…ワード線、ＳＬ…ソース線、ＳＧＤ，ＳＧＳ…選択ゲート線、１０…メモリシステム、１１…ＮＡＮＤ型フラッシュメモリ、１２…メモリセルアレイ、１３…コントローラ、１４…フラッシュインタフェース、１５…第１のメモリバッファ、１６…データ選択回路、１７…ＥＣＣエンコーダ、１８…ＥＣＣデコーダ、１９…第２のメモリバッファ、２０…バスブリッジ、２１…システムバス、２２…データ転送制御部。
【図１】
2011243116.tif 000003
【図２】
2011243116.tif 000004
【図３】
2011243116.tif 000005
【図４】
2011243116.tif 000006
【図５】
2011243116.tif 000007
【図６】
2011243116.tif 000008
【図７】
2011243116.tif 000009
【図８】
2011243116.tif 000010