(57)【要約】【課題】ブロックサイズに比して小さいデータでもブロックサイズに比して大きいデータでも、書込効率を悪化させることなく記憶することができるメモリシステムを提供する。【解決手段】ＤＲＡＭ１１と、ＮＡＮＤメモリ１２と、データアクセス時に使用されるＮＡＮＤメモリ１２内の並列動作要素１２０Ａ〜１２０Ｄを示す並列動作要素指定情報とデータのアドレスをＮＡＮＤインタフェース１４０に対して指定するＮＡＮＤコントローラ制御レジスタ１５０、各並列動作要素１２０Ａ〜１２０Ｄと並列に接続され、指定された並列動作要素指定情報とアドレスに基づき選択された１または複数の並列動作要素１２０Ａ〜１２０Ｄ中のアドレスにアクセスするＮＡＮＤインタフェース１４０、およびアクセスするデータの種類に応じて並列動作要素指定情報をＮＡＮＤコントローラ制御レジスタ１５０に設定するＣＰＵ１３１を有するコントローラと、を備える。【選択図】        図１
2009211192.tif 000002
【特許請求の範囲】
【請求項１】
揮発性の第１の記憶部と、
ホスト装置から前記第１の記憶部を介して送られてくるデータを格納し、記憶領域が複数の並列動作要素で構成される不揮発性の第２の記憶部と、
前記第１の記憶部と前記第２の記憶部との間の、または前記第２の記憶部内でのデータ転送を行うコントローラと、
を備えるメモリシステムであって、
前記コントローラは、
前記データのアクセスで使用される前記第２の記憶部内の前記並列動作要素を示す並列動作要素指定情報と、アクセスする前記データのアドレスと、をインタフェース手段に対して指定するインタフェース指定手段と、
前記第２の記憶部の前記各並列動作要素と並列に接続され、前記インタフェース指定手段で指定された前記並列動作要素指定情報およびアドレスに基づき選択された前記第２の記憶部内の１または複数の並列動作要素中の前記アドレスにアクセスするインタフェース手段と、
前記データアクセス時に、アクセスする前記データの種類に応じて前記データアクセスに使用される前記並列動作要素指定情報を前記インタフェース指定手段に設定する制御手段と、
を備えることを特徴とするメモリシステム。
【請求項２】
揮発性の第１の記憶部と、
ホスト装置から前記第１の記憶部を介して送られてくるデータを格納し、記憶領域が複数の並列動作要素で構成される不揮発性の第２の記憶部と、
前記データのアクセスで使用されるアドレスをインタフェース手段に対して指定するインタフェース指定手段と、前記第２の記憶部の前記各並列動作要素と並列に接続され、前記インタフェース指定手段で指定された前記アドレスに基づいてアクセスするインタフェース手段と、前記データアクセス時に、前記第２の記憶部内のアクセス先の前記アドレスを前記インタフェース指定手段に設定する制御手段と、を有し、前記第１の記憶部と前記第２の記憶部との間の、または前記第２の記憶部内でのデータの転送を制御するコントローラと、
を備えるメモリシステムであって、
前記制御手段は、前記データアクセス時にアクセスする前記データの種類に応じて、前記インタフェース手段と前記第２の記憶部との間の前記データアクセスに使用する前記並列動作要素を決定し、前記インタフェース指定手段に対して、使用する前記並列動作要素には有効な前記アドレスを設定し、使用しない前記並列動作要素には無効なアドレスを設定する機能を有することを特徴とするメモリシステム。
【請求項３】
前記第２の記憶部内の前記各並列動作要素を識別可能な並列動作要素識別情報を含むように、前記第２の記憶部全体に対してアドレスを割付けた場合に、
前記制御手段は、前記インタフェース指定手段に対して、前記データアクセスに使用する前記並列動作要素には該並列動作要素の並列動作要素識別情報を含む有効な前記アドレスを設定し、使用しない並列動作要素には該並列動作要素の並列動作要素識別情報を含まない無効なアドレスを設定することを特徴とする請求項２に記載のメモリシステム。
【請求項４】
前記第２の記憶部の前記各並列動作要素は、前記データアクセス時に使用される前記並列動作要素の数に応じてアクセスする記憶領域が設定された並列度別データ格納領域を有し、
前記制御手段は、前記データアクセス時に前記データの種類に応じた前記並列度別データ格納領域を選択し、該並列度別データ格納領域内のアドレスを前記インタフェース指定手段に設定し、
前記インタフェース手段は、前記インタフェース指定手段に設定された前記アドレスから前記並列動作要素の数を判定して、前記第２の記憶部との間で前記データアクセスを行うことを特徴とする請求項２に記載のメモリシステム。
【請求項５】
前記インタフェース指定手段は、前記第２の記憶部の前記各並列動作要素に設けられる前記並列度別データ格納領域の範囲を指定する機能をさらに備えることを特徴とする請求項４に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体記憶装置を用いて構成されるメモリシステムに関する。
【背景技術】
【０００２】
近年では、不揮発性半導体記憶装置として、ＮＯＲ型フラッシュメモリに比して書込／消去動作が速いＮＡＮＤ型フラッシュメモリが注目されている。また、半導体装置の製造技術の進展によって、半導体素子の微細化が進行し、単位面積当たりの記憶容量が増大しており、ＮＡＮＤ型フラッシュメモリを使用した大容量のメモリシステムも製品化されている。
【０００３】
ＮＡＮＤ型フラッシュメモリでは、一般的に複数のページが集まって１つのブロックを構成している。そして、書込／読出処理はページ単位で行われ、消去処理はブロック単位で行われる（たとえば、特許文献１参照）。
【０００４】
また、近年の情報技術の発達によって、画像ファイルや音楽ファイル、映像ファイルなどのように、たとえば数ＭＢを超えるようなサイズの大きなファイルがパーソナルコンピュータなどの２次記憶装置に多数保存されるようになっている。この２次記憶装置にたとえばページサイズが４ＫＢのＮＡＮＤ型フラッシュメモリを使用したメモリシステムを適用した場合で、このＮＡＮＤ型フラッシュメモリの書込単位であるページサイズに比して十分に大きなファイルを書込む場合には、１ページ（４ＫＢ）ずつ書込まなければならず、ファイル書込に時間がかかってしまうという問題点があった。一方、このような大容量のファイルの書込みを効率化させるために、１ページ当りの書込サイズを大きくすると、逆にページサイズに対して容量の小さなファイルの書込時には、ページ内で未使用領域が発生してしまう。
【０００５】
さらに、ＮＡＮＤ型フラッシュメモリのデータの書換処理は、書換えを行うデータが含まれるブロック中の書換えを行うページの更新を行い、その後更新を行ったページを含むブロックを構成するデータを、現在格納されているブロックとは別の新たなブロックに書込み、元のブロックを消去するという処理が必要になる。そのため、ブロックサイズに比して容量が小さくかつ書換頻度の高いファイルの書込時には、ページ内で未使用領域が発生するとともに、無駄な消去回数が増えてしまう。そのため、書込データ量に対するデータ消去量の比率である書込効率が悪くなり、ブロックを構成するセルが劣化してしまうという問題点があった。
【０００６】
【特許文献１】特開２００７−２７９４０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、ブロックサイズに比して小さいデータでもブロックサイズに比して大きいデータでも、書込効率を悪化させることなく記憶することができるメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、揮発性の第１の記憶部と、ホスト装置から前記第１の記憶部を介して送られてくるデータを格納し、記憶領域が複数の並列動作要素で構成される不揮発性の第２の記憶部と、前記第１の記憶部と前記第２の記憶部との間の、または前記第２の記憶部内でのデータ転送を行うコントローラと、を備えるメモリシステムであって、前記コントローラは、前記データのアクセスで使用される前記第２の記憶部内の前記並列動作要素を示す並列動作要素指定情報と、アクセスする前記データのアドレスと、をインタフェース手段に対して指定するインタフェース指定手段と、前記第２の記憶部の前記各並列動作要素と並列に接続され、前記インタフェース指定手段で指定された前記並列動作要素指定情報およびアドレスに基づき選択された前記第２の記憶部内の１または複数の並列動作要素中の前記アドレスにアクセスするインタフェース手段と、前記データアクセス時に、アクセスする前記データの種類に応じて前記データアクセスに使用される前記並列動作要素指定情報を前記インタフェース指定手段に設定する制御手段と、を備えることを特徴とするメモリシステムが提供される。
【０００９】
また、本発明の一態様によれば、揮発性の第１の記憶部と、ホスト装置から前記第１の記憶部を介して送られてくるデータを格納し、記憶領域が複数の並列動作要素で構成される不揮発性の第２の記憶部と、前記データのアクセスで使用されるアドレスをインタフェース手段に対して指定するインタフェース指定手段と、前記第２の記憶部の前記各並列動作要素と並列に接続され、前記インタフェース指定手段で指定された前記アドレスに基づいてアクセスするインタフェース手段と、前記データアクセス時に、前記第２の記憶部内のアクセス先の前記アドレスを前記インタフェース指定手段に設定する制御手段と、を有し、前記第１の記憶部と前記第２の記憶部との間の、または前記第２の記憶部内でのデータの転送を制御するコントローラと、を備えるメモリシステムであって、前記制御手段は、前記データアクセス時にアクセスする前記データの種類に応じて、前記インタフェース手段と前記第２の記憶部との間の前記データアクセスに使用する前記並列動作要素を決定し、前記インタフェース指定手段に対して、使用する前記並列動作要素には有効な前記アドレスを設定し、使用しない前記並列動作要素には無効なアドレスを設定する機能を有することを特徴とするメモリシステムが提供される。
【発明の効果】
【００１０】
本発明によれば、ブロックサイズに比して小さいデータでもブロックサイズに比して大きいデータでも、書込効率を悪化させることなく記憶することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、本発明にかかるメモリシステムの最良な実施の形態を詳細に説明する。なお、これらの実施の形態により本発明が限定されるものではない。
【００１２】
（第１の実施の形態）
このメモリシステムは、不揮発性半導体記憶装置を含み、たとえば、パーソナルコンピュータなどのホスト装置の２次記憶装置（ＳＳＤ：Solid  State  Drive）として使用され、ホスト装置から書込要求が出されたデータを記憶し、またホスト装置から読出要求のあったデータを読出してホスト装置に出力する機能を有する。図１は、本発明の第１の実施の形態にかかるメモリシステムの構成の一例を示すブロック図である。このメモリシステム１０は、第１の記憶部としてのＤＲＡＭ（Dynamic  Random  Access  Memory）１１と、第２の記憶部としてのＮＡＮＤ型フラッシュメモリ（以下、ＮＡＮＤメモリという）１２と、ドライブ制御回路（図中、ＡＳＩＣと表記）１３と、を備える。
【００１３】
ＤＲＡＭ１１は、データ転送用または管理情報記録用の記憶部として使用される。具体的には、データ転送用の記憶部としては、ホスト装置から書込要求があったデータをＮＡＮＤメモリ１２に書込む前に一時的に保存したり、ホスト装置から読出要求があったデータをＮＡＮＤメモリ１２から読出して一時的に保存したりするために使用される。また、管理情報記録用の記憶部としては、ＤＲＡＭ１１およびＮＡＮＤメモリ１２に記憶されるデータの格納位置を管理するための管理情報を格納するために使用される。
【００１４】
ＮＡＮＤメモリ１２は、データ保存用の記憶部として使用される。具体的には、ホスト装置側からのデータを記憶したり、ＤＲＡＭ１１で管理される管理情報をバックアップ用に記憶したりする。この図１では、ＮＡＮＤメモリ１２が４つの並列動作要素１２０Ａ〜１２０Ｄによって構成されている場合が示されている。１つの並列動作要素１２０Ａ〜１２０Ｄは、所定のサイズの記憶容量を有する８個のチップ１２２が１つにまとめられたパッケージ１２１を２つ含んでいる。１つの並列動作要素内の２つのパッケージ１２１は、後述するようにＮＡＮＤコントローラ１３４の制御ピン１４１と入出力ピン１４２とを共用して、ドライブ制御回路１３とバスを介して並列に接続されている。ここで、各並列動作要素１２０Ａ〜１２０Ｄに接続されたバスは、データ転送時のチャネル１５Ａ〜１５Ｄとして機能する。なお、以下の説明では、各並列動作要素１２０Ａ〜１２０Ｄに接続される各バスの幅は８ｂｉｔであるものとする。
【００１５】
ドライブ制御回路１３は、ＤＲＡＭ１１とＮＡＮＤメモリ１２を制御する。この実施の形態では、ドライブ制御回路１３は、管理プログラム（ファームウェア）に基づいて、種々の処理を行うＣＰＵ（Central  Processing  Unit）１３１と、ホスト装置などの外部装置との間でデータの受け渡しを行う外部インタフェース（図中、外部ＩＦと表記）１３２と、ＤＲＡＭ１１を制御するＤＲＡＭコントローラ１３３と、ＮＡＮＤメモリ１２を制御するＮＡＮＤコントローラ１３４と、が内部バス１３５を介して接続された構成を有する。
【００１６】
ＮＡＮＤコントローラ１３４は、ＮＡＮＤメモリ１２との間でデータの受け渡しを行うＮＡＮＤインタフェース（図中、ＮＡＮＤ−ＩＦと表記）１４０と、ＮＡＮＤコントローラ１３４の動作の制御を行うＮＡＮＤコントローラ制御レジスタ１５０と、を備える。ＮＡＮＤインタフェース１４０は、ＮＡＮＤメモリ１２を構成する並列動作要素１２０Ａ〜１２０Ｄごとに制御ピン１４１と入出力（ＩＯ）ピン１４２を有し、並列動作要素１２０Ａ〜１２０Ｄとチャネル１５Ａ〜１５Ｄを介して接続される。また、ＮＡＮＤインタフェース１４０は、チップイネーブル信号出力部１４３を有し、各並列動作要素１２０Ａ〜１２０Ｄに接続されている。図１の例では、各並列動作要素１２０Ａ〜１２０Ｄのチップ１２２−０〜１２２−３に接続されるチップイネーブル信号線ＣＥ０と、チップ１２２−４〜１２２−７に接続されるチップイネーブル信号線ＣＥ１と、チップ１２２−８〜１２２−１１に接続されるチップイネーブル信号線ＣＥ２と、チップ１２２−１２〜１２２−１５に接続されるチップイネーブル信号線ＣＥ３が設けられている。
【００１７】
ここで、ＮＡＮＤメモリ１２の構成について説明する。ＮＡＮＤメモリ１２は、データ消去の単位であるブロックを基板上に複数配列して構成される。図２は、ＮＡＮＤメモリに含まれる１個のブロックの構成の一例を示す回路図である。なお、この図２において、紙面上の左右方向をＸ方向とし、紙面上のＸ方向に垂直な方向をＹ方向としている。
【００１８】
ＮＡＮＤメモリ１２の各ブロックＢＬＫは、Ｘ方向に沿って順に配列された（ｍ＋１）個（ｍは０以上の整数）のＮＡＮＤストリングＮＳを備えている。各ＮＡＮＤストリングＮＳは、Ｙ方向に隣接するメモリセルトランジスタＭＴ間で拡散領域（ソース領域またはドレイン領域）を共有してＹ方向に直列に接続された（ｎ＋１）個（ｎは０以上の整数）のメモリセルトランジスタＭＴ０〜ＭＴｎと、この（ｎ＋１）個のメモリセルトランジスタＭＴ０〜ＭＴｎの列の両端に配置される選択トランジスタＳＴ１，ＳＴ２と、を有する。
【００１９】
各メモリセルトランジスタＭＴ０〜ＭＴｎは、半導体基板上に形成された積層ゲート構造を有する電界効果型トランジスタから構成される。ここで、積層ゲート構造には、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層（浮遊ゲート電極）と、この電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲート電極と、が含まれる。メモリセルトランジスタＭＴ０〜ＭＴｎは、浮遊ゲート電極に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じて２ビット以上のデータを記憶することができる多値メモリである。なお、以下に示す実施の形態では、メモリセルトランジスタＭＴはこの多値メモリである場合を例に挙げて説明するが、１ビット（２値）を記憶するように構成した構造であってもよい。
【００２０】
ＮＡＮＤストリングＮＳを構成するメモリセルトランジスタＭＴ０〜ＭＴｎの制御ゲート電極には、それぞれワード線ＷＬ０〜ＷＬｎが接続されており、また各ＮＡＮＤストリングＮＳ中のメモリセルトランジスタＭＴｉ（ｉ＝０〜ｎ）間は、同一のワード線ＷＬｉ（ｉ＝０〜ｎ）によって共通接続されている。つまり、ブロックＢＬＫ内において同一行にあるメモリセルトランジスタＭＴｉの制御ゲート電極は、同一のワード線ＷＬｉに接続される。この同一のワード線ＷＬｉに接続される（ｍ＋１）個のメモリセルトランジスタＭＴｉは１ページとして取り扱われ、ＮＡＮＤメモリ１２では、このページがデータの書込みと読出しの最小単位となる。
【００２１】
１つのブロックＢＬＫ内の（ｍ＋１）個の選択トランジスタＳＴ１のドレインにはそれぞれビット線ＢＬ０〜ＢＬｍが接続され、ゲートには選択ゲート線ＳＧＤが共通接続されている。また、選択トランジスタＳＴ１のソースはメモリセルトランジスタＭＴ０のドレインと接続されている。同様に、１つのブロックＢＬＫ内の（ｍ＋１）個の選択トランジスタＳＴ２のソースにはソース線ＳＬが共通接続され、ゲートには選択ゲート線ＳＧＳが共通接続されている。また、選択トランジスタＳＴ２のドレインはメモリセルトランジスタＭＴｎのソースと接続されている。
【００２２】
なお、図示されていないが、１つのブロックＢＬＫ内のビット線ＢＬｊ（ｊ＝０〜ｍ）は、他のブロックＢＬＫのビット線ＢＬｊとの間で、選択トランジスタＳＴ１のドレインを共通に接続している。つまり、複数のブロックＢＬＫ内において同一列にあるＮＡＮＤストリングＮＳ間は、同一のビット線ＢＬｊによって接続される。
【００２３】
ＮＡＮＤメモリ１２では、上記したように、書込／読出の最小単位が同一のワード線ＷＬｉに接続されたメモリセルトランジスタＭＴｉからなるページであり、消去の最小単位が所定の数のページからなる１つのブロック（物理ブロック）である。また、このブロックが複数集まってプレーンを構成し、プレーンが複数集まって１つの並列動作要素１２０Ａ〜１２０Ｄを構成する。そして、この並列動作要素１２０Ａ〜１２０Ｄが複数集まって、１つのＮＡＮＤメモリ１２が構成される。図１の例では、並列動作要素の数（すなわちチャネル数）が４であり、プレーン数が２である場合を示している。なお、チップ１２２は、並列動作要素１２０Ａ〜１２０Ｄを構成するものであるが、１つのチップ１２２内にプレーンとブロックが存在している。
【００２４】
ここで、ＮＡＮＤメモリ１２を構成する各並列動作要素１２０Ａ〜１２０Ｄは、書込／読出時にノーマルモードと倍速モードのいずれかで動作することが可能な構成を有する。ノーマルモードは、データの書込／読出を１つの並列動作要素１２０Ａ〜１２０Ｄ内の１つのブロック毎に行うモードである。たとえば、１つの並列動作要素内の第１のプレーンに対応するブロックへの書込みは、第１のプレーン用のバッファにデータを１ページ分蓄積した後、指示されたブロックへページ単位の書込みが行われる。同様に、第２のプレーンに対応するブロックへの書込みは、第２のプレーン用のバッファに１ページ分のデータを蓄積した後、指示されたブロックへページ単位の書込みが行われる。なお、データの読出しも同じように１ページずつ行われる。
【００２５】
一方の倍速モードは、２個分のブロックのデータの書込／読出を１つの並列動作要素１２０Ａ〜１２０Ｄ内の２つのプレーンのそれぞれのブロックを用いて同時に行うモードである。たとえば、１つの並列動作要素に２個分のブロックのデータの書込みを行う場合では、第１のプレーン用のバッファに第１のブロックの１ページ分のデータを蓄積し、続けて第２のプレーン用のバッファに第２のブロックの１ページ分のデータを蓄積し、その後、第１および第２のプレーン用のバッファに蓄積されたデータをそれぞれ第１のプレーンの第１のブロックおよび第２のプレーンの第２のブロックに書込む（プログラムを行う）。このように、１回のプログラム時間で２ページ分のデータを書込むことができる。なお、データの読出しも同様にして行われる。
【００２６】
また、並列動作要素１２０Ａ〜１２０Ｄは、それぞれチャネルを介して複数並列してドライブ制御回路１３に接続される構成となっているため、複数並列動作要素１２０Ａ〜１２０Ｄに並行して並列動作要素にアクセスしたり、１チャネルのみにデータを転送させて並列動作要素にアクセスしたりすることが可能である。
【００２７】
そこで、この実施の形態では、図１の場合において、データの書込／読出速度とチャネルの並列度とを組み合わせることによって、以下の２種類のアクセスモードが提供されるものとする。
（１）８ビットノーマルモード
ドライブ制御回路１３に接続される４チャネルのうち１チャネルだけ動作させ、１つの並列動作要素のブロックに対して８ビット単位で読み書きを行うモード。データの書込／読出サイズの１単位はページサイズであり、消去サイズの１単位は１物理ブロックサイズである。
（２）３２ビット倍速モード
ドライブ制御回路１３に接続される４チャネルを並列で動作させ、さらに各並列動作要素の２つのプレーンを用いて倍速モードを利用して読み書きを行うモード。データの書込／読出サイズの１単位はページサイズ×４チャネル×２であり、消去サイズの１単位は８物理ブロックサイズである。
【００２８】
上記の２種類のアクセスモードのほかに、ＮＡＮＤメモリ１２に書込む際のアドレスを指定することで、ＮＡＮＤメモリ１２への書込／読出が可能となる。図３は、第１の実施の形態によるＮＡＮＤコントローラ制御レジスタの構成の一例を示す図である。このＮＡＮＤコントローラ制御レジスタ１５０は、並列度指定レジスタ１５１と、チャネル指定レジスタ１５２と、アドレス指定レジスタ１５３と、を備える。
【００２９】
並列度指定レジスタ１５１は、一度に書込／読出を行うチャネルの数、すなわち並列度を設定するレジスタである。この場合には、１チャネルか４チャネルのいずれかが設定可能な構成とする。また、ここでは、１チャネルが設定された場合には、必然的に読み書きの速度はノーマルモードとなり、４チャネルが設定された場合には、読み書きの速度は倍速モードとなるものとする。つまり、並列度指定レジスタ１５１で１チャネルが設定された場合は、８ビットノーマルモードであり、４チャネルが設定された場合は、３２ビット倍速モードとなる。
【００３０】
チャネル指定レジスタ１５２は、すべてのチャネルを同時に使用しないでアクセスする場合に使用するチャネルを設定する。この例では、並列度指定レジスタ１５１で１チャネルが設定された場合に、チャネル１５Ａ〜１５Ｄの中から書込／読出処理または消去処理を行う１つのチャネルが設定される。また、並列度指定レジスタ１５１で４チャネル１５Ａ〜１５Ｄが設定された場合には、このチャネル指定レジスタ１５２は「指定なし」となる。
【００３１】
アドレス指定レジスタ１５３は、書込／読出処理または消去処理を行う並列動作要素１２０Ａ〜１２０Ｄ上のアドレスを設定する。
【００３２】
つぎに、ＮＡＮＤコントローラ制御レジスタ１５０に設定するＣＰＵ１３１の機能について説明する。図４は、ＣＰＵの機能構成の一例を示すブロック図である。ＣＰＵ１３１は、ＤＲＡＭ１１とＮＡＮＤメモリ１２との間でデータ転送を行うデータ転送処理部１３１１と、ＤＲＡＭ１１およびＮＡＮＤメモリ１２に記憶されるデータの変更に伴って管理情報の変更や保存を行う管理情報管理部１３１２と、電源オン時などにＮＡＮＤメモリ１２に保存された管理情報に基づいて最新の管理情報を復元する管理情報復元部１３１３と、ＮＡＮＤメモリ１２に対するアクセス条件の設定をＮＡＮＤコントローラ制御レジスタ１５０に対して行う処理条件設定部１３１４と、をさらに備える。
【００３３】
ここで、処理条件設定部１３１４は、ＮＡＮＤメモリ１２に書込まれるデータの種類またはＮＡＮＤメモリ１２から読出されるデータの種類に応じて、ＮＡＮＤコントローラ制御レジスタ１５０に対する設定を行う。以下に説明する例では、ホスト装置側からアクセスを指示されたデータの場合には、３２ビット倍速モードで処理を行い、メモリシステム１０内部で生じたデータの書込／読出を行う場合には、８ビットノーマルモードで処理を行うように設定することができる。
【００３４】
８ビットノーマルモードで処理を行う場合のメモリシステム１０内部で生じたデータとして、ＮＡＮＤメモリ１２に保存するデータの格納位置を管理するための管理情報のバックアップである管理情報保存情報がある。この管理情報は、ＣＰＵ１３１の管理情報管理部１３１２によってＤＲＡＭ１１上で管理される。管理情報管理部１３１２は、ある時点における管理情報のコピーであるスナップショットと、管理情報に変更が生じる場合の変更前後の管理情報の差分情報であるログと、を管理情報保存情報としてＮＡＮＤメモリ１２に保存する。通常、メモリシステム１０が稼動中の状態にある場合には、ホスト装置側から瞬断対策として、ＤＲＡＭ１１上の管理情報をＮＡＮＤメモリ１２に退避させるためのコマンド（フラッシュキャッシュコマンド）が頻繁に発行され、このとき管理情報の更新分であるログをＮＡＮＤメモリ１２に書込む。また、電源オフ時には、ＤＲＡＭ１１上の管理情報をスナップショットとしてＮＡＮＤメモリ１２に書込む。
【００３５】
つぎに、このメモリシステム１０のデータ転送処理動作について説明する。図５は、メモリシステムにおけるデータ転送処理の一例を示す図である。この例では、ＤＲＡＭ１１とＮＡＮＤメモリ１２との間でデータ転送を行う場合を例に挙げている。まず、ＣＰＵ１３１の処理条件設定部１３１４は、ＤＲＡＭ１１とＮＡＮＤメモリ１２との間でデータ転送されるデータの種類と、ＮＡＮＤメモリ１２上でのアクセスされるアドレス（チップ１２２）とを取得する。
【００３６】
ついで、処理条件設定部１３１４は、データの種類を判定して、ＮＡＮＤコントローラ制御レジスタ１５０の並列度指定レジスタ１５１に対して並列度（「１」か「４」か）を設定する。つまり、ホスト装置側からの要求のあったデータの場合には並列度を「４」に設定し、メモリシステム１０内部で生じたデータの書込／読出の場合には並列度を「１」に設定する。また、データのアクセス先アドレスに基づいて、チャネル指定レジスタ１５２に対して、ＮＡＮＤメモリ１２の使用するチャネル（並列度が「１」の場合にはチャネルのいずれかであり、並列度が「４」の場合には「指定なし」である）を設定し、アドレス指定レジスタ１５３に対してアクセス先のアドレスを設定する（ステップＳ１１）。処理条件設定部１３１４によるＮＡＮＤコントローラ制御レジスタ１５０への設定が終了すると、データ転送処理部１３１１によるＤＲＡＭ１１とＮＡＮＤメモリ１２との間のデータ転送処理が開始される。
【００３７】
その後、ＮＡＮＤコントローラ制御レジスタ１５０は、並列度指定レジスタ１５１の値とチャネル指定レジスタ１５２の値とをＮＡＮＤインタフェース１４０に伝える（ステップＳ１２）。ＮＡＮＤインタフェース１４０は、並列度指定レジスタ１５１とチャネル指定レジスタ１５２で指定されたチャネルを制御する。そして、アドレス指定レジスタ１５３で指定されたアドレスのデータにアクセスするための制御を行う（ステップＳ１３）。これによって、ＤＲＡＭ１１とＮＡＮＤメモリ１２との間でやり取りされるデータの転送が制御される。
【００３８】
このステップＳ１２〜Ｓ１３でのＮＡＮＤコントローラ１３４によるデータアクセス制御の処理について、８ビットノーマルモードの場合と３２ビット倍速モードの場合について順に説明する。図６は、８ビットノーマルモードの場合のデータアクセス制御の処理状態を示す図であり、（ａ）はＮＡＮＤコントローラとＮＡＮＤメモリとの間のデータアクセス制御状態の概要を示す図であり、（ｂ）は、ＮＡＮＤメモリを構成する各チップへの信号の入力状態を示す図である。ここでは、並列度に「１」が設定され（すなわち、８ビットノーマルモードが設定され）、チャネルに「Ｃｈ１」（並列動作要素１２０Ｂ）が指定され、アドレスに「チップ１２２−１０」が指定された場合を例に挙げる。なお、実際には、アドレスとして、チップではなくチップ１２２（並列動作要素１２０Ａ〜１２０Ｄ）内のアドレスが指定される。
【００３９】
図６（ａ）に示されるように、ＮＡＮＤインタフェース１４０は、ＮＡＮＤコントローラ制御レジスタ１５０からの並列度指定レジスタ１５１の値とチャネル指定レジスタ１５２の値とを受け、Ｃｈ１にのみ信号が伝送されるように制御ピン１４１Ａと入出力ピン１４２Ａを制御する。また、図６（ｂ）に示されるように、ＮＡＮＤインタフェース１４０中のチップイネーブル信号出力部１４３は、アドレス指定レジスタ１５３で指定されたチップ１２２−１０内のアドレスのみに、チップイネーブル信号線ＣＥ２を介してチップイネーブル信号を供給する。これによって、ＤＲＡＭ１１とＮＡＮＤメモリ１２内の並列動作要素１２０Ｂのチップ１２２−１０内の所定のアドレスとの間で、並列なしのノーマルモードでのデータ転送が行われる。
【００４０】
図７は、３２ビット倍速モードの場合のデータアクセス制御の処理状態を示す図であり、（ａ）はＮＡＮＤコントローラとＮＡＮＤメモリとの間のデータアクセス制御状態の概要を示す図であり、（ｂ）は、ＮＡＮＤメモリを構成する各チップへの信号の入力状態を示す図である。ここでは、並列度に「４」が設定され（すなわち、３２ビット倍速モードが設定され）、チャネルに「指定なし」が指定され、アドレスに「チップ１２２−５」が指定された場合を例に挙げる。
【００４１】
図７（ａ）に示されるように、ＮＡＮＤインタフェース１４０は、ＮＡＮＤコントローラ制御レジスタ１５０からの並列度指定レジスタ１５１の値とチャネル指定レジスタ１５２の値とを受け、すべての並列動作要素１２０Ａ〜１２０Ｄに信号が伝送されるように、すべての制御ピン１４１と入出力ピン１４２を制御する。なお、この際、データの書込／読出は倍速モードで行うように、ＮＡＮＤインタフェース１４０は各並列動作要素１２０Ａ〜１２０Ｄを制御する。また、図７（ｂ）に示されるように、ＮＡＮＤインタフェース１４０中のチップイネーブル信号出力部１４３は、アドレス指定レジスタ１５３で指定されたチップ１２２−５内のアドレスのみに、チップイネーブル信号線ＣＥ１を介してチップイネーブル信号を供給する。これによって、ＤＲＡＭ１１とＮＡＮＤメモリ１２内のすべての並列動作要素１２０Ａ〜１２０Ｄのチップ１２２−５内の所定のアドレスとの間で、４並列の倍速モードでデータ転送が行われる。
【００４２】
以上のように、ＮＡＮＤコントローラ制御レジスタ１５０で指定された条件で指定されたデータの転送が終了すると、データ転送処理が終了する。
【００４３】
なお、上述した説明では、並列度指定レジスタ１５１に、チャネルの並列度に加えてデータの転送速度を含めてＮＡＮＤメモリ１２の各チャネルを制御するようにしたが、並列度指定レジスタ１５１では、チャネルの並列度のみを指定するようにし、転送速度を指定する転送速度指定レジスタを別途設けるようにしてもよい。このようにすることで、両者を別々に指定して並列度とデータの転送速度の組み合わせをさらに幅広いものとすることができる。また、上述した説明では、並列度を「１」と「４」のいずれかしか選択することができなかったが、最大チャネル数の範囲で選択可能とすることもできる。
【００４４】
また、上述した説明では、処理条件設定部１３１４は、ホスト装置側からアクセスされるデータは、３２ビット倍速モードでアクセスし、ＮＡＮＤメモリ１２内部で生じるデータは、８ビットノーマルモードでアクセスするように設定する場合を例に挙げた。しかし、数十ＧＢ以上の記憶容量を有するＮＡＮＤメモリ１２の場合、管理情報のサイズは大きくなり、その管理情報のバックアップであるスナップショットは、ブロックサイズ×２×４チャネル前後の大きさを有するが、これに対して、ログは、差分情報であるためにページサイズ前後の大きさを有することが一般的である。そこで、処理条件設定部１３１４は、ホスト側装置からアクセスされるデータと管理情報保存情報中のスナップショットの書込／読出を行う場合には、３２ビット倍速モードでアクセスし、管理情報保存情報中のログの書込／読出を行う場合には、８ｂｉｔノーマルモードでアクセスするように設定してもよい。これは、以下の実施の形態でも同様である。
【００４５】
この第１の実施の形態によれば、データの種類に応じて、ＮＡＮＤコントローラ１３４内でＮＡＮＤメモリ１２へデータアクセスする際のチャネル１５Ａ〜１５Ｄの並列度と転送速度とを並列度指定レジスタ１５１で指定し、すべてのチャネル１５Ａ〜１５Ｄを使用しない場合に使用するチャネルをチャネル指定レジスタ１５２で指定するようにした。その結果、たとえばメモリシステム１０内で生じるデータのログのように、所定のサイズよりも小さいデータの書込みを行う場合には、８ビットノーマルモードで選択された１つのチャネルを用いて並列動作要素１２０Ａ〜１２０Ｄの１つの選択されたブロックにページ単位で書込むことができ、書込効率を上げることができる。また、書換えが必要なデータの場合には、並列度を落とすことで書換えを行わない物理ブロックの無駄な消去を回避することができる。一方、ホスト装置側から指示されるデータやスナップショットのように、所定のサイズ以上のデータの書込／読出を行ったり、書換えたりする場合には、転送速度をノーマルモードの２倍とし、さらに並列度を上げる（たとえば、４並列とする）ことで、８ビットノーマルモードの場合に比して４倍の量のデータを２倍の速さで書込／読出を行うことができる。このように、アクセスするデータのサイズに応じて効率のよい書込／読出処理を行うことができ、さらに書換えの場合に無駄な消去を回避することでメモリシステム１０の寿命を延ばすことができるという効果を有する。
【００４６】
（第２の実施の形態）
第１の実施の形態では、ＮＡＮＤコントローラ制御レジスタ内の並列度指定レジスタでチャネルの並列度を指定し、チャネル指定レジスタで指定された並列度に応じて使用するチャネルを指定していた。この第２の実施の形態では、データ転送処理部によるデータ転送を行う際のアドレスの設定方法を工夫することで、ＮＡＮＤコントローラ制御レジスタ内に設定する条件の数を削減する方法について説明する。
【００４７】
図８は、第２の実施の形態によるアドレス割付方法の一例を示す図である。第１の実施の形態において、ＮＡＮＤメモリ１２を構成する並列動作要素１２０Ａ〜１２０Ｄごとに独立して物理アドレスが割付けられ、その物理アドレスの範囲が０〜５０００である場合を例に挙げる。このとき、ＣＰＵ１３１中のデータ転送処理部１３１１は、アクセスを行いたい並列動作要素１２０Ａ〜１２０Ｄに接続されるチャネルのみ上記の有効なアドレス範囲である０〜５０００の中の値をアドレスとして指定し、アクセスを行わない並列動作要素１２０Ａ〜１２０Ｄに接続されるチャネルには有効なアドレス範囲以外の数値、たとえば５００１、をアドレスとして指定する機能を有する。
【００４８】
このデータ転送処理部１３１１のアドレスの指定によって、データ転送処理時のチャネルの並列度と、使用するチャネルとが指定されることになる。その結果、ＮＡＮＤコントローラ制御レジスタ１５０には、並列度指定レジスタ１５１とチャネル指定レジスタ１５２が不要となり、アドレス指定レジスタ１５３のみ設けられていればよい。また、処理条件設定部１３１４は、データ転送処理部１３１１がアクセスするアドレスをアドレス指定レジスタ１５３のみ指定すればよい。
【００４９】
図９は、第２の実施の形態によるアドレス指定方法の一例を示す図である。なお、この例では、データ転送処理部１３１１は並列度を「１」と「４」のいずれかしか選択することができず、しかも並列度にはデータの転送速度に関する情報も含まれているものとする。つまり、並列度「１」となるようなアドレス指定がなされた場合には、８ビットノーマルモードが選択されたものとみなされ、並列度「４」となるようなアドレス指定がなされた場合には、３２ビット倍速モードが選択されたものとみなされる。なお、以下の説明では、チャネルの指定に使用されるチャネルの識別子をそれぞれＣｈ０，Ｃｈ１，Ｃｈ２，Ｃｈ３とする。
【００５０】
図９（ａ）では、データ転送処理部１３１１によるデータをアクセスする際のアドレス指示情報において、チャネルＣｈ０，Ｃｈ１，Ｃｈ３への指示に無効なアドレス（５００１）が指定され、チャネルＣｈ２への指示のみに有効なアドレスが指定されているので、並列度「１」が指定され、チャネルとして「Ｃｈ２」が指定されたものとなる。その結果、ＮＡＮＤコントローラ１３４では、チャネルＣｈ２のみを用いる並列度「１」でデータアクセス速度がノーマルモードのデータアクセス処理と判断して、処理を行う。なお、このとき、処理条件設定部１３１４は、指定されたアドレスをアドレス指定レジスタ１５３に設定する。このように、並列度「１」で処理を行う場合には、アドレス指示情報において、使用するチャネルにのみ有効なアドレス範囲のアドレスを設定し、他のチャネルには有効なアドレス範囲外のアドレスを指定すればよい。
【００５１】
また、図９（ｂ）では、データ転送処理部１３１１によるアクセス指示情報において、すべてのチャネルＣｈ０〜３に有効なアドレスが設定されているので、並列度「４」が指定され、チャネルとして「指定なし」が指定されたものとなる。その結果、ＮＡＮＤコントローラ１３４では、すべてのチャネルＣｈ０〜Ｃｈ３を用いる並列度「４」でデータアクセス速度が倍速モードのデータアクセス処理と判断して、処理を行う。また、このとき、処理条件設定部１３１４は、指定されたアドレスをアドレス指定レジスタ１５３に設定する。
【００５２】
なお、上述した説明では、データ転送処理部１３１１によるアドレスの設定の並列度の指定に、データの転送速度が含まれるようにしたが、データ転送処理部１３１１によるアドレスの設定の並列度の指定には、データの転送速度が含まれない純粋な並列度のみとし、データの転送速度はＮＡＮＤコントローラ制御レジスタ１５０に転送速度指定レジスタを別途設けて処理条件設定部１３１４によって設定されるようにしてもよい。
【００５３】
この第２の実施の形態によれば、データ転送処理部１３１１がアクセスするデータについてのアクセス指示情報中にアドレスを設定する際に、アクセスしない並列動作要素１２０Ａ〜１２０Ｄには無効なアドレス範囲の値を設定するようにしたので、ＮＡＮＤコトンローラ制御レジスタ１５０に並列度を指定する並列度指定レジスタ１５１を設ける必要がなく、メモリシステム１０の装置構成を簡略化することができるという効果を有する。
【００５４】
（第３の実施の形態）
第２の実施の形態では、各並列動作要素にたとえばそれぞれ０〜５０００までの範囲のアドレスを割付けて、データ転送処理を行わない並列動作要素に接続されるチャネルに対しては上記有効なアドレス範囲以外のアドレス値を指定することで、並列度の設定を行い、並列度指定レジスタとチャネル指定レジスタを設けない構成とした。この第３の実施の形態では、他のアドレス指定方法によって並列度の設定を行い、並列度指定レジスタとチャネル指定レジスタを設けない構成を実現する場合について説明する。
【００５５】
図１０は、第３の実施の形態によるＮＡＮＤメモリのアドレス割付方法の一例を示す図である。第２の実施の形態では、図８に示されるように、ＮＡＮＤメモリ１２を構成する並列動作要素１２０Ａ〜１２０Ｄごとにアドレス割付を行っていた。しかし、第３の実施の形態では、図１０に示されるように、並列動作要素１２０Ａ，１２０Ｂ，１２０Ｃ，１２０Ｄの先頭から順に、０，１，２，３とアドレスを割付け、以後この順でアドレスを割付けていき、ＮＡＮＤメモリ１２全体で１つのアドレスの割付けを行うようにしている。つまり、ｎを０以上の整数とし、１０進数表記でアドレスを表記すると、並列動作要素１２０Ａ（Ｃｈ０）では、アドレスが０，４，８，・・・，２ｎ，・・・となり、並列動作要素１２０Ｂ（Ｃｈ１）では、アドレスが１，５，９，・・・，２ｎ＋１，・・・となり、並列動作要素１２０Ｃ（Ｃｈ２）では、アドレスが２，６，１０，・・・，２ｎ＋２，・・・となり、並列動作要素１２０Ｄ（Ｃｈ３）では、アドレスが３，７，１１，・・・，２ｎ＋３，・・・となる。
【００５６】
このようにアドレスの割付けを行うことによって、１０進数表記で、アドレスを４で割った余りが、「０」のときは並列動作要素１２０Ａ（Ｃｈ０）を表し、「１」のときは並列動作要素１２０Ｂ（Ｃｈ１）を表し、「２」のときは並列動作要素１２０Ｃ（Ｃｈ２）を表し、「３」のときは並列動作要素１２０Ｄ（Ｃｈ３）を表すことになる。すなわち、２進数表記のアドレスの下２桁は、Ｃｈ０では「００」となり、Ｃｈ１では「０１」となり、Ｃｈ２では「１０」となり、Ｃｈ３では「１１」となる。そこで、これを、チャネルを識別するチャネル識別情報（特許請求の範囲の並列動作要素識別情報に対応）とすることができる。チャネル識別情報の有無によってチャネルの使用の有無および並列度を設定することができる。
【００５７】
つまり、データ転送処理部１３１１は、アクセスを行いたい並列動作要素１２０Ａ〜１２０Ｄのデータに対しては、そのチャネルのチャネル識別情報を含むようにアドレス指定を行い、アクセスを行わない並列動作要素１２０Ａ〜１２０Ｄに対しては、そのチャネルのチャネル識別情報を含まないようにアドレス指定を行う。具体的には、アドレスを２進数表記した場合に、アクセスを行いたい並列動作要素１２０Ａ〜１２０Ｄのデータのアドレスの下２桁は、そのチャネル（並列動作要素）を識別する値（チャネル識別情報）となり、アクセスを行わない並列動作要素１２０Ａ〜１２０Ｄのアドレスの下２桁は、そのチャネル（並列動作要素）を識別する値（チャネル識別情報）とならない値となるように指定する。
【００５８】
図１１は、第３の実施の形態によるアドレス指定方法の一例を示す図である。なお、この例では、データ転送処理部１３１１は並列度を「１」と「４」のいずれかしか選択することができず、しかも並列度にはデータの転送速度も含まれているものとする。つまり、並列度「１」となるようなアドレス指定がなされた場合には、８ビットノーマルモードが選択されたものとみなされ、並列度「４」となるようなアドレス指定がなされた場合には、３２ビット倍速モードが選択されたものとみなされる。
【００５９】
図１１（ａ）では、データ転送処理部１３１１によるアクセス指示情報において、チャネルＣｈ０，Ｃｈ１，Ｃｈ３のアドレスに無効なアドレスが指定されている。つまり、チャネルＣｈ０，Ｃｈ１，Ｃｈ３に対して指定されるそれぞれのアドレスは、本来ならば１０進数表記の場合には４で割ったときの余りがそれぞれ０，１，３でなければならないが、この場合にはすべて２となっている。その一方で、チャネルＣｈ２のみに有効なアドレスが指定されている。つまり、チャネルＣｈ２の１０進数表記のアドレスを、４で割ったときの余りが２となっている。その結果、ＮＡＮＤコントローラ１３４では、チャネルＣｈ２のみを用いる並列度「１」でデータアクセス速度がノーマルモードのデータアクセス処理と判断して処理を行う。このように、並列度「１」で処理を行う場合には、使用するチャネルのみを、そのチャネルに設定されたチャネル識別情報を含むようアドレスを設定し（すなわち、本来アクセスすべきアドレスを設定し）、他の並列動作要素にはその並列動作要素のチャネル識別情報を含まないアドレスを設定すればよい。
【００６０】
また、図１１（ｂ）では、データ転送処理部１３１１によるアクセス指示情報において、すべてのチャネルＣｈ０〜３に有効なアドレスが指定されている。つまり、すべてのチャネルＣｈ０〜Ｃｈ３に指示されたアドレスは、それぞれのチャネルＣｈ０〜Ｃｈ３で有効なチャネル識別情報を含んでいる。さらに詳細には、チャネルＣｈ０，Ｃｈ１，Ｃｈ２，Ｃｈ３のそれぞれの１０進数表記のアドレスを４で割ったときの余りが、０，１，２，３となっている。その結果、ＮＡＮＤコントローラ１３４では、すべてのチャネルＣｈ０〜Ｃｈ３を用いる並列度「４」でデータアクセス速度が倍速モードのデータアクセス処理と判断して、処理を行う。
【００６１】
なお、上述した説明では、データ転送処理部１３１１によるアドレスの設定の並列度の指定に、データの転送速度が含まれるようにしたが、データ転送処理部１３１１によるアドレスの設定の並列度の指定は、データの転送速度が含まれない純粋な並列度のみとし、データの転送速度はＮＡＮＤコントローラ制御レジスタ１５０に転送速度指定レジスタを設けて処理条件設定部１３１４によって設定されるようにしてもよい。
【００６２】
この第３の実施の形態によれば、データ転送処理部１３１１がアドレスを設定する際に、アクセスしない並列動作要素にはその並列動作要素のチャネル識別情報を含まない無効なアドレスを設定するようにしたので、ＮＡＮＤコトンローラ制御レジスタ１５０に並列度を指定する並列度指定レジスタ１５１と、使用するチャネルを指定するチャネル指定レジスタ１５２とを設ける必要がなく、メモリシステム１０の装置構成を簡略化することができるという効果を有する。
【００６３】
（第４の実施の形態）
この第４の実施の形態では、ＮＡＮＤメモリ内に並列度の低いデータを格納する専用の領域を定義する場合について説明する。
【００６４】
図１２は、ＮＡＮＤメモリ内の並列度による領域分割の一例を示す図である。この図に示されるように、ＮＡＮＤメモリ１２内に、並列度の低いデータを格納する低並列度格納領域１２１０と、並列度の高いデータを格納する高並列度格納領域１２２０とを設けている。つまり、低並列度格納領域１２１０を区切るようにアドレスを指定している。ここでは、低並列度格納領域１２１０はアドレス０〜２００までの範囲であり、高並列度格納領域１２２０はアドレス２０１〜ＸＸＸまでの範囲となる。なお、この低並列度格納領域１２１０と高並列度格納領域１２２０の境界となるアドレスは予め決められているものとする。この低並列度格納領域１２１０の具体例としては、たとえば管理情報保存情報を保存する領域、さらに具体的には管理情報保存情報中のログを保存する領域を挙げることができ、高並列度格納領域１２２０の具体例としては、ホスト装置から保存を指示されたデータを保存する領域や管理情報保存情報中のスナップショットを保存する領域を挙げることができる。
【００６５】
また、この例では、並列度が「１」と「４」のいずれかに設定される場合を示しており、並列度にはデータの転送速度も含まれているものとする。つまり、並列度「１」の低並列度格納領域１２１０へは８ビットノーマルモードの速度でアクセスされ、並列度「４」の高並列度格納領域１２２０へは３２ビット倍速モードの速度でアクセスされる。
【００６６】
このように並列度の違いによってアクセスする領域を分けることによって、ＮＡＮＤコントローラ１３４側でアドレスをデコードし、転送の並列度を認識することができる。つまり、ＮＡＮＤインタフェース１４０は、アクセス先のアドレスが０〜２００の場合には、低並列度格納領域１２１０なので、並列度「１」の８ビットノーマルモードでアクセスを行い、アクセス先のアドレスが２０１〜ＸＸＸの場合には、高並列度格納領域１２２０なので、並列度「４」の３２ビット倍速モードでアクセスを行う。
【００６７】
つぎに、このような構成のメモリシステム１０におけるデータ転送処理動作について説明する。図１３は、第４の実施の形態にかかるメモリシステムのデータ転送処理の一例を示す図である。この例では、ＤＲＡＭ１１とＮＡＮＤメモリ１２との間でデータ転送を行う場合を例に挙げている。まず、ＣＰＵ１３１の処理条件設定部１３１４は、ＤＲＡＭ１１とＮＡＮＤメモリ１２との間で転送されるデータの種類とアドレスを取得する。
【００６８】
ついで、処理条件設定部１３１４は、データの種類とアドレスに基づいて、ＮＡＮＤコントローラ制御レジスタ１５０のチャネル指定レジスタ１５２に対してアクセス先のアドレスに対応する並列動作要素１２０Ａ〜１２０Ｄを設定し、アドレス指定レジスタ１５３に対してアクセス先のアドレスを設定する（ステップＳ３１）。処理条件設定部１３１４によるＮＡＮＤコントローラ制御レジスタ１５０への設定が終了すると、データ転送処理部１３１１によるＤＲＡＭ１１とＮＡＮＤメモリ１２との間のデータ転送処理が開始される（ステップＳ３２）。
【００６９】
ついで、ＮＡＮＤコントローラ１３４のＮＡＮＤインタフェース１４０は、ＮＡＮＤコントローラ制御レジスタ１５０のチャネル指定レジスタ１５２で指定されたチャネルと、アドレス指定レジスタ１５３で指定されたアドレスとからデータアクセスを行う並列度を判断し、使用する並列動作要素１２０Ａ〜１２０Ｄを制御する（ステップＳ３２）。つまり、アドレスが０〜２００の間の場合には、アクセス先が低並列度格納領域１２１０にあるので、８ビットノーマルモードでのアクセスを行い、アドレスが２０１〜ｘｘｘの間の場合には、アクセス先が高並列度格納領域１２２０にあるので、３２ビット倍速モードでのアクセスを行う。これによって、ＤＲＡＭ１１とＮＡＮＤメモリ１２との間でやり取りされるデータの転送が制御される。そして、データのアクセスが終了すると、データ転送処理が終了する。
【００７０】
なお、ステップＳ３２では、ＮＡＮＤインタフェース１４０が並列度を判定し、ＮＡＮＤメモリ１２の各チャネルへのアクセスを制御するようにしたが、ＮＡＮＤコントローラ制御レジスタ１５０が、チャネル指定レジスタ１５２に設定されているチャネルの値と、アドレス指定レジスタ１５３に設定されているアクセス先のアドレスとをＮＡＮＤインタフェース１４０に伝え、ＮＡＮＤコントローラ制御レジスタ１５０側でチャネルを制御するようにしてもよい（ステップＳ３２’）。
【００７１】
なお、上述した説明では、並列度の指定に、データの転送速度が含まれるようにしたが、データのアクセス先の指定には、データの転送速度が含まれない純粋な並列度のみを指定するようにし、データの転送速度の設定は、ＮＡＮＤコントローラ制御レジスタ１５０に転送速度指定レジスタを別途設けて処理条件設定部１３１４によって設定するようにしてもよい。
【００７２】
この第４の実施の形態によれば、ＮＡＮＤメモリ１２をアクセスするデータの並列度の違いによって領域に分けるようにしたので、アクセス先のアドレスによって並列度を設定することができ、ＮＡＮＤコトンローラ制御レジスタ１５０に並列度を指定する並列度指定レジスタ１５１を設ける必要がなく、メモリシステム１０の装置構成を簡略化することができるという効果を有する。
【００７３】
（第５の実施の形態）
第４の実施の形態では、ＮＡＮＤメモリに低並列度格納領域と高並列度格納領域とを設ける場合を示したが、この第５の実施の形態では、ＮＡＮＤメモリ中での低並列度格納領域と高並列度格納領域の大きさを可変にすることができる構成について説明する。
【００７４】
図１４は、第５の実施の形態によるＮＡＮＤコントローラ制御レジスタの構成の一例を模式的に示す図である。このＮＡＮＤコントローラ制御レジスタ１５０は、チャネル指定レジスタ１５２とアドレス指定レジスタ１５３に加えて、低並列度のデータを格納する低並列度格納領域１２１０のアドレス領域を可変にできる低並列度格納領域指定レジスタ１５４を備えている。この低並列度格納領域指定レジスタ１５４は、ＣＰＵ１３１の処理条件設定部１３１４によって設定され、低並列度格納領域１２１０のサイズを可変にすることができる。
【００７５】
図１５は、低並列度格納領域の大きさを変えた場合の一例を示す図である。（ａ）では、低並列度格納領域指定レジスタ１５４は、低並列度格納領域１２１０をアドレス０〜２００の範囲に設定している。これに対して、（ｂ）では、低並列度格納領域指定レジスタ１５４は、低並列度格納領域１２１０をアドレス０〜３００の範囲に設定している。このように、処理条件設定部１３１４によって、低並列度格納領域指定レジスタ１５４の値を任意に設定することで、低並列度格納領域１２１０のサイズを変えることができる。
【００７６】
なお、上述した説明では、低並列度格納領域１２１０のアドレス範囲を変える低並列度格納領域指定レジスタ１５４を設ける場合を示したが、これに限定されるものではない。たとえば、任意の並列度ｓ（ｓは自然数）のデータを格納する格納領域の大きさを変える並列度格納領域設定レジスタを設けることができる。また、この第５の実施の形態におけるデータ転送処理は、第４の実施の形態と同様であるので、その説明を省略する。
【００７７】
この第５の実施の形態によれば、ある並列度のデータを格納する並列度格納領域のアドレス範囲を変える並列度格納領域設定レジスタを設けるようにしたので、ある並列度のデータを格納するのに必要な領域を任意に設定することができるという効果を有する。
【００７８】
上述した説明では、第２の記憶部としてＮＡＮＤメモリを使用したメモリシステムの場合を例に挙げて説明したが、これに限定されるものではなく、ＮＡＮＤメモリが２値を記憶可能なメモリセルトランジスタで構成される場合でなく、２ビット以上の多値を記憶可能なメモリセルトランジスタで構成されるものであってもよい。また、他の不揮発性半導体記憶装置を第２の記憶部に用いたメモリシステムの場合にも上述した実施の形態を適用することができる。また、上述した説明では、ＮＡＮＤメモリ１２でのデータの書込／読出単位をページサイズ単位とし、消去単位と管理単位をブロックサイズ単位としたが、これに限定される趣旨ではなく、それぞれ任意の単位を用いることが可能である。
【００７９】
また、上述した説明では、メモリシステムは、第１の記憶部が揮発性メモリであるＤＲＡＭ１１からなり、第２の記憶部が不揮発性メモリであるＮＡＮＤメモリ１２からなる場合を例に挙げて説明したが、これに限定されるものではない。たとえば、メモリシステムが、第１の記憶部が不揮発性メモリであり、第２の記憶部も不揮発性メモリであるような場合にも上述してきた実施の形態を適用することができる。この場合には、第１の記憶部（不揮発性メモリ）で管理される管理情報のバックアップであるスナップショットやログなどの管理情報保存情報を第２の記憶部（ＮＡＮＤメモリ）に記憶する処理は必要なくなるが、データサイズによって並列度やデータの転送速度などを可変にすることができる。
【図面の簡単な説明】
【００８０】
【図１】第１の実施の形態によるメモリシステムの構成の一例を示すブロック図である。
【図２】ＮＡＮＤメモリに含まれる１個のブロックの構成の一例を示す回路図である。
【図３】第１の実施の形態によるＮＡＮＤコントローラ制御レジスタの構成の一例を示す図である。
【図４】ＣＰＵの機能構成の一例を示すブロック図である。
【図５】メモリシステムにおけるデータ転送処理の一例を示す図である。
【図６】８ビットノーマルモードの場合のデータアクセス制御の処理状態を示す図である。
【図７】３２ビット倍速モードの場合のデータアクセス制御の処理状態を示す図である。
【図８】第２の実施の形態によるアドレス割付方法の一例を示す図である。
【図９】第２の実施の形態によるアドレス指定方法の一例を示す図である。
【図１０】第３の実施の形態によるＮＡＮＤメモリのアドレス割付方法の一例を示す図である。
【図１１】第３の実施の形態によるアドレス指定方法の一例を示す図である。
【図１２】ＮＡＮＤメモリ内の並列度による領域分割の一例を示す図である。
【図１３】第４の実施の形態にかかるメモリシステムのデータ転送処理の一例を示す図である。
【図１４】第５の実施の形態によるＮＡＮＤコントローラ制御レジスタの構成の一例を模式的に示す図である。
【図１５】低並列度格納領域の大きさを変えた場合の一例を示す図である。
【符号の説明】
【００８１】
１０…メモリシステム、１１…ＤＲＡＭ、１２…ＮＡＮＤメモリ、１３…ドライブ制御回路、１５Ａ〜１５Ｄ…チャネル、１２０Ａ〜１２０Ｄ…並列動作要素、１２２…チップ、１３３…ＤＲＡＭコントローラ、１３４…ＮＡＮＤコントローラ、１３５…内部バス、１４０…ＮＡＮＤインタフェース、１４１…制御ピン、１４２…入出力ピン、１４３…チップイネーブル信号出力部、１５０…ＮＡＮＤコトンローラ制御レジスタ、１５１…並列度指定レジスタ、１５２…チャネル指定レジスタ、１５３…アドレス指定レジスタ、１５４…低並列度格納領域指定レジスタ、１２１０…低並列度格納領域、１２２０…高並列度格納領域、１３１１…データ転送処理部、１３１２…管理情報管理部、１３１３…管理情報復元部、１３１４…処理条件設定部。
【図１】
2009211192.tif 000003
【図２】
2009211192.tif 000004
【図３】
2009211192.tif 000005
【図４】
2009211192.tif 000006
【図５】
2009211192.tif 000007
【図６】
2009211192.tif 000008
【図７】
2009211192.tif 000009
【図８】
2009211192.tif 000010
【図９】
2009211192.tif 000011
【図１０】
2009211192.tif 000012
【図１１】
2009211192.tif 000013
【図１２】
2009211192.tif 000014
【図１３】
2009211192.tif 000015
【図１４】
2009211192.tif 000016
【図１５】
2009211192.tif 000017