"所定のページサイズをアクセス単位とするフラッシュメモリチップを有し、複数の前記フラッシュメモリチップを含むことが可能なメモリモジュールと、前記メモリモジュールに対して前記所定のページサイズを超えるページサイズをアクセス単位としてデータを書き込む場合に、前記データ及びアドレスを含む共通信号に含まれない独立のメモリ制御信号を前記各フラッシュメモリチップのそれぞれに供給し、前記各フラッシュメモリチップの同一アドレスにデータを書き込むように制御するコントローラとを具備するデータ記憶装置。前記コントローラは、前記メモリ制御信号として前記各フラッシュメモリチップのそれぞれに対応する各データストローブ信号を生成し、前記各フラッシュメモリチップのそれぞれに供給するように構成されている請求項1に記載のデータ記憶装置。前記コントローラは、前記メモリ制御信号として前記各フラッシュメモリチップのそれぞれに対応し、トグルサイクルの異なる各データストローブ信号を生成し、前記各フラッシュメモリチップのそれぞれに供給するように構成されている請求項1または請求項2のいずれか1項に記載のデータ記憶装置。前記コントローラは、前記メモリ制御信号として前記各フラッシュメモリチップのそれぞれに対応する各データストローブ信号を生成し、前記データを前記フラッシュメモリチップのチップ数に応じて分割し、前記分割されたデータ毎に対応する前記データストローブ信号を割り当てることで、前記各フラッシュメモリチップの同一アドレスに前記分割されたデータを書き込むように制御するように構成されている請求項1から請求項3のいずれか1項に記載のデータ記憶装置。前記コントローラは、前記各フラッシュメモリチップのそれぞれに対して前記アクセス単位のデータを分割した分割データを書き込む場合に、前記メモリモジュールから前記アクセス単位でデータを読み出すことを前提とした前記分割データの書き込み順序を決定するように構成されている請求項1から請求項4のいずれか1項に記載のデータ記憶装置。前記コントローラは、前記メモリ制御信号として前記各フラッシュメモリチップのそれぞれに対応する各チップイネーブル信号を生成し、前記各フラッシュメモリチップのそれぞれに供給するように構成されている請求項1に記載のデータ記憶装置。前記コントローラは、前記所定のページサイズを超えるページサイズに基づいて、前記各フラッシュメモリチップのチップ数を決定し、前記チップ数に基づいて前記独立のメモリ制御信号を生成するように構成されている請求項1から請求項6のいずれか1項に記載のデータ記憶装置。前記コントローラは、前記各フラッシュメモリチップのそれぞれに対して前記アクセス単位のデータを分割した分割データを書き込む場合に、前記各フラッシュメモリチップのページ領域の空き領域には所定のデータを書き込むように構成されている請求項1から請求項7のいずれか1項に記載のデータ記憶装置。所定のページサイズをアクセス単位とするフラッシュメモリチップを有し、複数の前記フラッシュメモリチップを含むことが可能なメモリモジュールに対してデータを書き込み、読み出すデータ記憶装置に適用するメモリ制御装置であって、前記メモリモジュールに対して前記所定のページサイズを超えるページサイズをアクセス単位としてデータを書き込む場合に、前記データ及びアドレスを含む共通信号に含まれない独立のメモリ制御信号を前記各フラッシュメモリチップのそれぞれに供給し、前記各フラッシュメモリチップの同一アドレスにデータを書き込むように制御するコントローラを具備するメモリ制御装置。所定のページサイズをアクセス単位とするフラッシュメモリチップを有し、複数の前記フラッシュメモリチップを含むことが可能なメモリモジュールに対してデータを書き込み、読み出すデータ記憶装置に適用するメモリ制御方法であって、前記メモリモジュールに対して前記所定のページサイズを超えるページサイズをアクセス単位としてデータを書き込む場合に、前記データ及びアドレスを含む共通信号に含まれない独立のメモリ制御信号を生成し、前記各フラッシュメモリチップのそれぞれに前記各メモリ制御信号を供給し、前記各フラッシュメモリチップの同一アドレスにデータを書き込むように制御するメモリ制御方法。SSDでは、1個のフラッシュメモリflashmemoryチップに対して、物理ページと呼ばれるアクセス単位が採用されている。ここで、物理ページサイズに対して1個のフラッシュメモリチップのページ容量が小さい場合には、複数個のフラッシュメモリチップにデータを分散して書き込む制御が必要となる。しかしながら、単に複数個のフラッシュメモリチップに対して、物理ページ単位のデータを書き込む場合に、チップ毎の書き込み制御が必要となるため書き込み時間が増大し、SSDの動作性能が低下することになる。本発明の目的は、複数のフラッシュメモリチップに対して、物理ページ単位のデータを1回のアクセスで書き込む制御を実現することにより、書き込み時間の少ない動作性能の優れたデータ記憶装置を提供することにある。実施形態によれば、データ記憶装置は、所定のページサイズをアクセス単位とするフラッシュメモリチップを有するメモリモジュールと、コントローラとを具備する。前記メモリモジュールは、複数の前記フラッシュメモリチップを含むことが可能な構成である。前記コントローラは、前記メモリモジュールに対して前記所定のページサイズを超えるページサイズをアクセス単位としてデータを書き込む場合に、前記データ及びアドレスを含む共通信号に含まれない独立のメモリ制御信号を前記各フラッシュメモリチップのそれぞれに供給し、前記各フラッシュメモリチップの同一アドレスにデータを書き込むように制御する。以下図面を参照して、各実施形態を説明する。[データ記憶装置の構成]図1は、各実施形態に係るデータ記憶装置の構成を示すブロック図である。図1に示すように、データ記憶装置はSSDsolidstatedriveであり、SSDコントローラ10と、NAND型フラッシュメモリモジュール以下、フラッシュメモリモジュール30と、ブートROMreadonlymemory40とを有する。フラッシュメモリモジュール30はSSDのデータ記憶媒体であり、例えばチャネル単位またはパッケージ単位での外付け接続が可能である。フラッシュメモリモジュール30は、本実施形態では便宜的に、図2に示すように、チャネル単位として2個のフラッシュメモリチップ31、32の接続が可能な構成である。各フラッシュメモリチップ31、32はそれぞれ、2プレーンPlane0Plane1として論理的に分割されたメモリ領域310,320を有する。また、各フラッシュメモリチップ31、32はそれぞれ、キャッシュ領域DataCache311,321を含む。ブートROM40は、SSDの内部バス11に外付け接続されて、SSDの電源起動時にマイクロプロセッサCPU17の動作に必要なソフトウェアを供給する。ブートROM40からのソフトウェアは、CPU17の内部メモリまたはDRAMdynamicrandomaccessmemory18に転送されて格納される。このブートROM40により、SSDは、ホストシステムコンピュータによりアクセスが可能な状態となる。SSDコントローラ10は、内部バス11、CPU17及びDRAM18以外に、ホストインターフェースホストI/F12と、バッファ管理モジュール13と、フラッシュメモリコントローラ14と、入出力インターフェース入出力I/F19とを有する。CPU17は、SSDコントローラ10の全体的制御を実行する。DRAM18は、バッファメモリまたはCPU17がアクセスするメインメモリとして動作し、論理/物理変換テーブルやホストシステムから転送されるデータなどを保持する。ホストI/F12は、ホストデバイス50とSSDコントローラ10間でのデータ、コマンド、アドレスの転送を制御する。ホストデバイス50からは、論理アドレスLBA:logicblockaddressによりアクセスされる。ホストデバイス50は、ホストシステムコンピュータに含まれる例えばSATASerialATA規格のインターフェースコントローラである。バッファ管理モジュール13はDRAM18を制御し、ホストI/F12とバッファメモリDRAM18間のデータ転送を制御する。また、バッファ管理モジュール13は、フラッシュメモリコントローラ14とバッファメモリDRAM18間のデータ転送を制御する。フラッシュメモリコントローラ14は、コマンド管理モジュール15と、フラッシュメモリアクセスコントローラ以下、メモリアクセスコントローラと表記する16とを含む。コマンド管理モジュール15は、CPU17により設定されるライトコマンドやリードコマンドの実行を管理するコマンド管理処理や、論物変換テーブルなどを管理するテーブル管理処理を実行する。コマンド管理モジュール15は、データの書き込み動作時にはライトコマンドをメモリアクセスコントローラ16に発行する。また、コマンド管理モジュール15は、データの読み出し動作時にはリードコマンドをメモリアクセスコントローラ16に発行する。メモリアクセスコントローラ16はチャネル毎に設けられており、フラッシュメモリモジュール30に対してデータのリード/ライト動作の制御及びデータ転送制御を実行する。メモリアクセスコントローラ16は、データフローコントローラ20と、コマンドシーケンサ21とを含む。データフローコントローラ20は、フラッシュメモリモジュール30とバッファメモリDRAM18とのデータ転送をバッファ管理モジュール13とハンドシェークしながら制御するインターフェースコントローラである。データフローコントローラ20は、データの書き込み動作時には、バッファ管理モジュール13に対してライトデータの転送要求を行なう。バッファ管理モジュール13は、当該転送要求に応じてDRAM18に格納されているデータをデータフローコントローラ20に転送する。データフローコントローラ20は、バッファ管理モジュール13からのデータを入出力I/F19のデータパス100に出力する。コマンドシーケンサ21は、フラッシュメモリモジュール30に含まれる複数のフラッシュメモリチップここでは2つのチップ31、32の選択や、フラッシュメモリチップをアクセスするためのコマンドを発行する。コマンドシーケンサ21は、図2に示すように、フラッシュメモリチップ31、32をアクセスするための各種のメモリ制御信号を生成し、入出力I/F19の制御信号パス110~114に送出する。[第1の実施形態]以下、図2から図5を参照して、第1の実施形態に係るフラッシュメモリの制御動作を説明する。図2は、本実施形態のメモリアクセスコントローラ16の要部を示すブロック図である。メモリアクセスコントローラ16において、データフローコントローラ20は、ライト動作時にバッファ管理モジュール13からのデータIOデータと表記する場合があるを入出力I/F19のデータパス100に転送する。コマンドシーケンサ21は、各種のメモリ制御信号を生成し、入出力I/F19の制御信号パス110~114に送出する。メモリ制御信号には、コマンドラッチイネーブルCLECommandLatchEnable、チップイネーブルCEChipEnable、ライトイネーブルWEWriteEnable、及びアドレスラッチイネーブルALEAddressLatchEnableが含まれる。なお、メモリ制御信号には、レディ/ビジーRBReadyorBusyも含まれる図5を参照。メモリ制御信号には、リード動作時に、第1のフラッシュメモリチップ31に供給されるリードイネーブルReadEnable、RE0nとするが含まれる。また、ライト動作時には、第1のフラッシュメモリチップ31に供給されるデータストローブdatastrobe、DQS0とするがある。データストローブDQS0は、リード動作時には、第1のフラッシュメモリチップ31から出力される。また、メモリ制御信号には、リード動作時に、第2のフラッシュメモリチップ32に供給されるリードイネーブルReadEnable、RE1nとするが含まれる。ライト動作時には、第2のフラッシュメモリチップ32に供給されるデータストローブdatastrobe、DQS1とするがある。データストローブDQS1は、リード動作時には、第2のフラッシュメモリチップ32から出力される。コマンドシーケンサ21は、RE/DQS生成器210、セレクタ211,212、レジスタ213及びCLE/ALE/CE/WE生成器214を有する。RE/DQS生成器210は、前述のリードイネーブルRE0n,RE1nを生成する。また、RE/DQS生成器210は、前述のデータストローブDQS0,DQS1を生成する。CLE/ALE/CE/WE生成器214は、前述したコマンドラッチイネーブルCLE、アドレスラッチイネーブルALE、チップイネーブルCE、及びライトイネーブルWEを生成する。レジスタ213は、CPU17から通知される接続チップ数を示す値が設定される。この接続チップ数は、後述するように、1回のアクセスでデータをフラッシュメモリモジュール30に書き込む場合の物理ページのサイズMに基づいて、CPU17により算出される値である。コマンドシーケンサ21は、ライト動作時に、レジスタ213に設定される接続チップ数ここでは2に応じて、セレクタ211,212により第1及び第2のフラッシュメモリチップ31,32のそれぞれに対して同時にデータストローブDQS0,DQS1を供給する。また、コマンドシーケンサ21は、リード動作時に、レジスタ213に設定される接続チップ数2に応じて、セレクタ211,212により第1及び第2のフラッシュメモリチップ31,32のそれぞれに対して同時にリードイネーブルRE0n,RE1nを供給する。一方、SSDの基本動作では、CPU17は、接続チップ数1をレジスタ213に設定する。これにより、コマンドシーケンサ21は、ライト動作時に、第1または第2のフラッシュメモリチップ31,32のいずれかに対して、データストローブDQS0,DQS1のいずれかを供給する。また、コマンドシーケンサ21は、リード動作時に、第1または第2のフラッシュメモリチップ31,32のいずれかに対して、リードイネーブルRE0n,RE1nのいずれかを供給する。メモリ制御動作次に、図3のフローチャート及び図4のタイミングチャートを参照して、ライト動作時のメモリアクセスコントローラ16の動作を説明する。ライト動作時には、コマンド管理モジュール15はCPU17からの命令に従って、ライトコマンドをメモリアクセスコントローラ16に発行する。データフローコントローラ20は、バッファメモリDRAM18のデータIOデータをバッファ管理モジュール13を経由し、受領し、入出力I/F19のデータパス100に転送する。入出力I/F19は、データパス100を介してライトデータであるデータをフラッシュメモリモジュール30に出力する。フラッシュメモリモジュール30は、コマンドシーケンサ21から出力されて、入出力I/F19の制御信号パス110~114を介して供給されるメモリ制御信号によりデータを格納する。本実施形態では、図3に示すように、コマンドシーケンサ21は、フラッシュメモリモジュール30に含まれるフラッシュメモリチップのチップ数に応じてメモリ制御信号を切り替える制御を実行するブロック203。メモリアクセスコントローラ16は、コマンドシーケンサ21のレジスタ213に設定される接続チップ数が1の場合には、基本ライト動作を実行するブロック200のNO。基本ライト動作の場合には、コマンドシーケンサ21は、セレクタ212を制御してRE/DQS生成器210により生成されるデータストローブDQS0を、1つのフラッシュメモリチップ31に対して供給するブロック201。また、コマンドシーケンサ21は、データストローブDQS0以外のメモリ制御信号制御信号パス110を、1つのフラッシュメモリチップ31に対して供給する。図4B~Dは、基本ライト動作のタイミングチャートである。なお、図4Aは、基本ライト動作および後述する本実施形態のライト動作のタイミング用のクロック信号CLKである。図4BはチップイネーブルCEnである。また、図4Dはデータフローコントローラ20から出力されるライト用のデータIOデータ100である。IOデータには、ユーザデータ1~2N以外にコマンドCMD及びアドレスADRが含まれている。また、図4において、IOデータにおいて斜線で示す部分は無効なデータ期間であることを示す後述する図5、8、9においても同様である。基本ライト動作では、図4C,Dに示すように、メモリアクセスコントローラ16は、コマンドシーケンサ21により生成されるデータストローブDQS0の立ち上がり、立下りの両エッジが、データフローコントローラ20から出力されるデータの真中に来るように調整する。データフローコントローラ20から出力されるデータは、フラッシュメモリチップ31のキャッシュ領域DataCache311に送出される。ここで、コマンド管理モジュール15により発行されるライトコマンドの物理ページのサイズMバイトとするが、1つのフラッシュメモリチップ31のNバイトより大きい場合例えばM=2Nバイトを想定する。即ち、フラッシュメモリチップ31,32はそれぞれ、ライト動作のアクセス単位である物理ページのサイズがNバイトとする。基本ライト動作では、図4Dに示すように、メモリアクセスコントローラ16は、コマンドフェーズ、アドレスフェーズ、及び書き込み時間WT1において、フラッシュメモリチップ31の物理ページサイズNバイト単位で2単位分の制御を実行することになるブロック202。要するに、基本ライト動作では、物理ページサイズがNバイトより大きいサイズMバイトのデータの場合には、1つのフラッシュメモリチップ31の異なるアドレスに分散されて書き込まれる。この場合、Nバイト単位で2単位分の書き込み時間WT1が必要となる。一方、メモリアクセスコントローラ16は、コマンドシーケンサ21のレジスタ213に設定される接続チップ数が2の場合には、本実施形態のライト動作を実行するブロック200のYES,203。コマンドシーケンサ21は、セレクタ212を制御してRE/DQS生成器210により生成されるデータストローブDQS0,DQS1を、2つのフラッシュメモリチップ31,32のそれぞれに対して供給するブロック204。また、コマンドシーケンサ21は、データストローブDQS0,DQS1以外のメモリ制御信号制御信号パス110を、2つのフラッシュメモリチップ31に対して供給する。ここで、SSDとして接続すべきフラッシュメモリチップ数の決定方法について説明する。本実施形態のSSDでは、ライト動作またはリード動作のアクセス単位である1物理ページのサイズとして、Mバイトが設定されているものとする。一方、フラッシュメモリモジュール30として接続可能な1個のフラッシュメモリチップ31または32の1物理ページのサイズは、NバイトN<Mとする。CPU17は、接続チップ数をZとして、式Z=M/Nから接続チップ数Zを算出する。CPU17は、算出した接続チップ数ZここではZ=2をコマンドシーケンサ21のレジスタ213に設定する。CPU17の算出決結果Zが整数値ではない場合やNバイトのチップが複数準備できない場合の実現方法については、後述の[物理ページサイズとフラッシュメモリチップの使用方法]で示す。図4E~Hは、本実施形態のライト動作のタイミングチャートである。図4EはチップイネーブルCEnである。また、図4Hはデータフローコントローラ20から出力されるライト用のデータIOデータである。コマンドシーケンサ21は、レジスタ213に設定された接続チップ数が2の場合に、セレクタ212を制御して、RE/DQS生成器210により生成されるデータストローブDQS0,DQS1を、2つのフラッシュメモリチップ31,32のそれぞれに対して供給する。また、コマンドシーケンサ21は、データストローブDQS0,DQS1以外のメモリ制御信号制御信号パス110を、2つのフラッシュメモリチップ31,32のそれぞれに対して供給する。具体的には、図4F,Gに示すように、RE/DQS生成器210は、基本ライト動作時と同様のトグルサイクルでデータストローブDQS0,DQS1を生成する。コマンドシーケンサ21は、トグル回数をカウントして、データストローブDQS0,DQS1を前半と後半に分けて出力する。従って、図4F,Hに示すように、フラッシュメモリチップ31に対しては、1物理ページサイズMバイトの前半の物理ページのデータが書き込まれる。一方、図4G,Hに示すように、フラッシュメモリチップ32に対しては、1物理ページサイズMバイトの後半の物理ページのデータが書き込まれる。この場合、データフローコントローラ20は、基本ライト動作時と同様の処理で、書き込み用のデータIOデータをフラッシュメモリチップ31,32のそれぞれに対して供給する。以上のようにして、フラッシュメモリチップの1物理ページサイズNバイトより大きい物理ページのサイズM=2Nバイトのデータを、1回のアクセスで、2つのフラッシュメモリチップ31,32に書き込む。この場合、メモリアクセスコントローラ16は、フラッシュメモリチップ31,32の同一アドレスに、1物理ページサイズMバイトの前半と後半のデータを書き込むように制御するブロック205。従って、本実施形態のライト動作では、図4Hに示すように、Nバイト単位で1単位分の書き込み時間WT2で、Nバイト単位で2単位分の物理ページサイズM=2Nバイトのデータを書き込むことができる。これに対して、前述したように、基本ライト動作では、Nバイト単位で2単位分の書き込み時間WT1が必要である図4Dを参照。図5は、リード動作時のメモリアクセスコントローラ16の動作を説明するためのタイミングチャートである。リード動作時には、コマンド管理モジュール15はCPU17からの命令に従って、リードコマンドをメモリアクセスコントローラ16に発行する。図5B~Fは、基本リード動作のタイミングチャートである。なお、図5Aは、基本リード動作および後述する本実施形態のリード動作のタイミング用のクロック信号CLKである。図5BはチップイネーブルCEnである。図5Cはレディ/ビジーRBである。図5DはリードイネーブルRE0nである。図5EはデータストローブDQS0であり、リード動作時には第1のフラッシュメモリチップ31から出力される。図5Fは第1のフラッシュメモリチップ31から出力されるリードデータIOデータである。メモリアクセスコントローラ16は、コマンドシーケンサ21のレジスタ213に設定される接続チップ数が1の場合には、基本リード動作を実行する。基本リード動作では、コマンドシーケンサ21は、セレクタ211を制御してRE/DQS生成器210により生成されるリードイネーブルRE0nを、1つのフラッシュメモリチップ31に対して供給する。メモリアクセスコントローラ16は、フラッシュメモリチップ31からデータストローブDQS0及びリードデータIOデータを受け取る。即ち、基本リード動作では、図5Fに示すように、メモリアクセスコントローラ16は、コマンドフェーズ、アドレスフェーズ、及び読み出し時間RT1において、フラッシュメモリチップ31の物理ページサイズNバイト単位で2単位分の制御を実行することになる。従って、基本リード動作では、物理ページサイズがフラッシュメモリチップ31のNバイトより大きいサイズMバイトのデータの場合には、Nバイト単位で2単位分の読み出し時間RT1が必要となる。図5G~Mは、本実施形態のリード動作のタイミングチャートである。本実施形態のリード動作では、前述のライト動作と同様に、フラッシュメモリチップの1物理ページサイズNバイトより大きい物理ページのサイズM=2Nバイトのデータを、1回のアクセスで、2つのフラッシュメモリチップ31,32の同一アドレスから読み出す。この場合、コマンドシーケンサ21は、トグル回数をカウントして、リードイネーブルRE0n,RE1nを前半と後半に分けて出力する。以上のように本実施形態によれば、フラッシュメモリモジュール30に含まれるフラッシュメモリチップの物理サイズに依存することなく、1物理ページのサイズが大きいデータを、複数のフラッシュメモリチップを使用して、1回のアクセスで書き込み、または読み出すことができる。換言すれば、複数のフラッシュメモリチップに対して1回のアクセスで書き込み動作および読み出し動作を実行できるため、アクセス性能が低下することなく、1物理ページサイズを増大させることができる。変形例図4I~Kは、本実施形態の変形例に関するライト動作のタイミングチャートである。本変形例のメモリアクセスコントローラ16では、RE/DQS生成器210は、トグルサイクルが異なるデータストローブDQS0,DQS1を生成する。具体的には、図4I,Jに示すように、RE/DQS生成器210は、立上り、立下りのエッジを2サイクル間隔でトグルさせるデータストローブDQS0,DQS1を生成する。コマンドシーケンサ21は、レジスタ213に設定された接続チップ数が2の場合に、セレクタ212を制御して、RE/DQS生成器210により生成されるデータストローブDQS0,DQS1を出力する。入出力I/F19は、制御信号パス112,114を介してデータストローブDQS0,DQS1を、2つのフラッシュメモリチップ31,32のそれぞれに対して供給する。一方、本変形例では、データフローコントローラ20は、Mバイトの1物理ページサイズのデータIOデータ100をソートsortして、一定の順番に出力するように制御する。ここで、Mバイトのデータを、前半ページと後半ページに分けて、Nバイトのフラッシュメモリチップを2つ利用して処理するとする。このようなメモリアクセスコントローラ16の制御により、図4Kに示すように、第1のフラッシュメモリチップ31には、前半ページの1つ目のデータ、2つ目のデータ02、3つ目のデータ03、という順番で書き込まれる。一方、第2のフラッシュメモリチップ32には、後半ページの1つ目のデータ、2つ目のデータ12、3つ目のデータ13、という順番で書き込まれる。即ち、データフローコントローラ20は、ライト動作時には、入出力I/F19のデータパス100に対して、前半ページの1つ目のデータ、後半ページの1つ目のデータ、前半ページの2つ目のデータ、後半ページの2つ目のデータ、、前半ページのN番目のデータ0N、後半ページのN番目のデータという順番で出力するように制御する。以上のようにして、本変形例の方法においても、フラッシュメモリチップの1物理ページサイズNバイトより大きい物理ページのサイズM=2Nバイトのデータを、1回のアクセスで、2つのフラッシュメモリチップ31,32に書き込むことができる。一方、図5N~Rは、本変形例に関するリード動作のタイミングチャートである。本変形例のリード動作では、RE/DQS生成器210により生成されるリードイネーブルRE0n,RE1nのタイミングは、本実施形態のリード動作時のタイミング図5I,Kを参照と同じである。本変形例のリード動作においても、前述のライト動作と同様に、フラッシュメモリチップの1物理ページサイズNバイトより大きい物理ページのサイズM=2Nバイトのデータを、1回のアクセスで2つのフラッシュメモリチップ31,32の同一アドレスから読み出すことが可能である。また、本変形例のリード動作では、分割ページ単位でページ毎にデータを読み出すことも可能である。なお、本実施形態及び変形例において、ライト動作時のタイミングは、データストローブDQS0,DQS1の両エッジを使用するトグル制御方法が採用されているが、これに限ることなく、一般的なライトイネーブルWEを使用する制御方法も適用可能である。[第2の実施形態]図6は、第2の実施形態に関するメモリアクセスコントローラ16の要部を示すブロック図である。なお、SSD全体の構成は、前述の図1に示すものと同様であるため、機能や動作の説明を省略する。前述したように、メモリアクセスコントローラ16は、チャネル毎に設けられている。図6は、メモリアクセスコントローラ16に含まれるチャネル毎のコマンドシーケンサ21ch0~21chn、入出力I/F19、及びフラッシュメモリモジュール30ch0~30chnの周辺構成を示す図である。なお、各チャネルのメモリアクセスコントローラ16の動作は同一であるため、本実施形態は、便宜的にチャネルchnのメモリアクセスコントローラ16について説明する。本実施形態のコマンドシーケンサ21chnは、メモリ制御信号に含まれるチップイネーブルCEnを複数ここでは2のチップイネーブルCE0n,CE1nに分割して出力するチップイネーブルCE生成器60を有する。さらに、コマンドシーケンサ21chnは、メモリ制御信号として、コマンドラッチイネーブルCLE、アドレスラッチイネーブルALE、リードイネーブルREn、ライトイネーブルWEn、及びデータストローブDQSを生成するCLE/ALE/RE/WE/DQS生成器61を有する。また、コマンドシーケンサ21chnは、レディ/ビジーRBを出力する。ここでは、便宜的に、コマンドシーケンサ21chnは、入出力I/F19の制御信号パス600に、コマンドラッチイネーブルCLE、ライトイネーブルWEn及びアドレスラッチイネーブルALEを出力する。また、コマンドシーケンサ21chnは、リードイネーブルREnを制御信号パス610に出力する。さらに、コマンドシーケンサ21chnは、チップイネーブルCE0n,CE1nをそれぞれ、制御信号パス620,621に出力する。メモリ制御動作図1及び図2を参照して前述したように、ライト動作時には、コマンド管理モジュール15はCPU17からの命令に従って、ライトコマンドをメモリアクセスコントローラ16に発行する。データフローコントローラ20は、バッファ管理モジュール13からのデータIOデータを、入出力I/F19のデータパス100に転送する。入出力I/F19は、データパス100を介してライトデータであるデータをフラッシュメモリモジュール30chnに出力する。図7は、本実施形態のCE制御、及び2チップのフラッシュメモリチップ31,32に対するライト動作時におけるアクセスの概要を示す図である。本実施形態のSSDでは、ライト動作またはリード動作のアクセス単位である1物理ページのサイズとして、32KバイトM=32Kバイトが設定されているものとする。ここで、フラッシュメモリモジュール30chnには、1物理ページのサイズが32Kバイトのフラッシュメモリチップが接続されている場合を想定する。この場合には、メモリアクセスコントローラ16が、図7A~Dに示すように、チップイネーブルCEn、コマンドラッチイネーブルCLEなどのメモリ制御信号、及び32KバイトのライトデータWdatを出力することにより、フラッシュメモリチップには32KバイトのデータWdatが格納される。一方、フラッシュメモリモジュール30chnに接続されるフラッシュメモリチップ31または32の1物理ページのサイズが16KバイトN=M/2である場合には、そのままの状態ではライト動作は不可能となる。そこで、本実施形態では、1物理ページのサイズが16Kバイトの各フラッシュメモリチップ31,32を使用し、コマンドシーケンサ21chnは、チップイネーブルCEnを2分割したチップイネーブルCE0n,CE1nを出力する。このため、入出力I/F19には、チップイネーブルCE1nを転送するための制御信号パス621が追加となる。即ち、図7E~Iに示すように、コマンドシーケンサ21chnから出力されるチップイネーブルCE0nが供給されるフラッシュメモリチップ31には、32KバイトのライトデータWdatの前半部分である16KバイトのデータW1が格納される。また、コマンドシーケンサ21chnから出力されるチップイネーブルCE1nが供給されるフラッシュメモリチップ32には、32KバイトのライトデータWdatの後半部分である16KバイトのデータW2が格納される。以上のようにして本実施形態によれば、チップイネーブルCEnを2分割するCE制御により、16Kバイトのフラッシュメモリチップを2チップ分使用することで、32Kバイトのライトアクセスが可能になる。換言すれば、チップイネーブルの制御信号パスを追加するだけで、チャネル毎のフラッシュメモリチップ数を増大した場合でも、1回のアクセスで各フラッシュメモリチップに対するライト動作を実行できる。即ち、フラッシュメモリチップ数を増大した場合でも、コマンド、アドレスフェーズ、プログラムprogramのプロセスを追加する必要は無いため、ライト動作時間を大幅に短縮化できる。ここで、プログラムとは、フラッシュメモリ30のチップ内部への書き込み動作中であることを示す。図8は、図7E~Iに示すライト動作の制御を具体的に説明するためのタイミングチャートであり、特に図7のCmd80hからの拡大図に相当する。ここでは、1物理ページ分32Kバイトのデータを、フラッシュメモリチップ31,32に書き込む場合である。図8Hは、図6で図示していないが、コマンドシーケンサ21chnに含まれる生成器61により生成されるデータストローブDQSの出力タイミングである。メモリアクセスコントローラ16は、チップイネーブルCE0n、ライトイネーブルWEn及びデータストローブDQSに応じて、1物理ページ分32Kバイトのデータの中で前半部分である16KバイトのデータD0-DN1をフラッシュメモリチップ31に格納する。さらに、メモリアクセスコントローラ16は、チップイネーブルCE1n及びデータストローブDQSに応じて、1物理ページ分32Kバイトのデータの中で後半部分である16KバイトのデータDN1-D2Nをフラッシュメモリチップ32に格納する。ここで、図8Hに示すように、チップイネーブルCE0n,CE1nの切り替え時800に、メモリアクセスコントローラ16は、生成器61により生成されるデータストローブDQSの出力タイミングを調整する。これにより、特に周波数が高くなった場合でも、チップイネーブルCEとデータストローブDQSとのセットアップ/ホールドSetupHold調整を実現することができる。なお、データストローブDQSの出力タイミングの調整は特別の制御回路ではなく、コマンドシーケンサ21chnによりチップイネーブルCE0n,CE1nの切り替え時に同期して実行するように制御する。リード動作図9A~Jは、本実施形態のリード動作のタイミングチャートである。ここでは、前述のライト動作と同様に、1物理ページ分32Kバイトのデータをフラッシュメモリチップ31,32から読み出す場合である。リード動作の場合には、メモリアクセスコントローラ16は、チップイネーブルCE0n及びリードイネーブルREnに応じて、1物理ページ分32Kバイトのデータの中で前半部分である16KバイトのデータD0-DN1をフラッシュメモリチップ31から読み出す。また、メモリアクセスコントローラ16は、チップイネーブルCE1n及びリードイネーブルREnに応じて、1物理ページ分32Kバイトのデータの中で後半部分である16KバイトのデータDN1-D2Nをフラッシュメモリチップ32から読み出す。リード動作の場合には、図9Hに示すように、チップイネーブルCE0n,CE1nの切り替え時900に、フラッシュメモリチップ31,32から出力されるデータストローブDQSの出力タイミングが調整されることになる。なお、本実施形態において、チップイネーブルCEとデータストローブDQSとのセットアップ/ホールド調整は、データストローブDQSをデイレーDelayさせる方法でなくてもよい。例えば、別の方法として、2つのチップイネーブルCE0n,CE1nとデータストローブDQS間のタイミングを満たすように、チップイネーブル制御CE制御を行なう方法でもよい。具体的には、チップイネーブルCE生成器60の内部回路において、倍速クロックを作成して反転クロックからチップイネーブルの出力を調整する。[物理ページサイズとフラッシュメモリチップの使用方法]第1及び第2の実施形態は、2つのフラッシュメモリチップを使用して、フラッシュメモリチップの1物理ページより大きいサイズの1物理ページのデータを書き込むアクセス方法について説明している。図10~図14は、2つのフラッシュメモリチップ便宜的にチップ1,2と表記するを組み合わせて使用する使用方法の具体例を説明するための図である。ここで、図10A~図14Aはそれぞれ、1回のアクセスで書き込むために必要な物理ページのサイズここでは16Kバイトを意味している。以下、第1から第5の使用方法の具体例を説明する。第1の使用方法は、図10B,Cに示すように、チップ1,2の物理ページサイズはいずれも同じサイズここでは10Kバイトの場合で、チップ1,2を順番に使用する方法である。具体的には、チップ1に10Kバイトのデータを書き込み、チップ2に残りの6Kバイトのデータを書き込む。この場合、チップ2の未使用領域1000には、4Kバイトのゼロ0padを書き込む。第2の使用方法は、図11B,Cに示すように、チップ1,2の物理ページサイズはいずれも同じサイズ10Kバイトの場合で、チップ1,2の同容量を使用する方法である。具体的には、チップ1に8Kバイトのデータを書き込み、チップ2に残りの8Kバイトのデータを書き込む。この場合、チップ1,2の各未使用領域1001には、2Kバイトのゼロ0padを書き込む。第3の使用方法は、図12B,Cに示すように、チップ1,2の物理ページサイズはいずれも同じサイズ10Kバイトの場合で、チップ1,2の排他的使用を行なう方法である。具体的には、チップ1に10Kバイトのデータを書き込み、チップ2にも10Kバイトのデータを書き込む。この場合、チップ1,2の4Kバイト分のデータ1002は、重複利用のデータとして書き込まれる。リード動作時には、チップ1のデータ1002を利用する。第4の使用方法は、図13B,Cに示すように、チップ1,2の物理ページサイズが異なるサイズの場合で、必要な物理ページのサイズ16Kバイトを確保する方法である。具体的には、チップ1に10Kバイトのデータを書き込み、チップ2には6Kバイトのデータを書き込む。第5の使用方法は、図14B,Cに示すように、チップ1,2の物理ページサイズは同一サイズ8Kバイトの場合で、必要な物理ページのサイズ16Kバイトを確保する方法である。具体的には、チップ1,2のいずれにも8Kバイトのデータを書き込む。以上要するに、フラッシュメモリチップのサイズに依存しない物理ページ単位のアクセスが可能なメモリ制御を実現することができる。従って、SSDに使用するフラッシュメモリチップのサイズ的制限を緩和できるため、SSDコントローラ10の設計上の制約をが緩和することが可能となる。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。"