デバイスに対しコマンド発行を制御するレジスタセットと、システムメモリをアクセスするダイレクトメモリアクセスDMA回路を有し、システムメモリ、及びメモリデバイス間の転送を制御するホストコントローラと、前記システムメモリ上に記憶され、複数の第2ディスクリプタを示す複数のポインタの集まりで構成された第1ディスクリプタと、前記複数の第2ディスクリプタのそれぞれを構成し、前記ホストコントローラの前記レジスタセットを介して前記メモリデバイスのコマンド発行に必要な情報としてコマンド番号、コマンド動作モード、引数と、データ転送に必要な情報としてブロック長、ブロック数の情報を含む第3ディスクリプタと、前記複数の第2ディスクリプタのそれぞれを構成し、前記システムメモリ上に配置された複数のデータのアドレスと大きさの情報を含む第4ディスクリプタとを具備し、前記DMA回路は、前記第1ディスクリプタの先頭を起点として前記第2ディスクリプタを構成する前記第3ディスクリプタの内容を前記レジスタセットに設定し、前記第4ディスクリプタの内容に従って前記システムメモリと前記ホストコントローラ間のデータを転送することを特徴とするメモリシステム。前記システムメモリは、ホストドライバを保持し、前記ホストドライバは、転送情報を含むディスクリプタを作成し、前記DMA回路の起動のみを指示する機能を有し、割り込みによって再度起動され、次のデータ転送の起動または、エラー処理を行うことを特徴とする請求項1記載のメモリシステム。前記DMA回路は、前記システムメモリのアドレスを制御し、前記各ディスクリプタを読み出すシステムアドレス制御部と、前記システムメモリから読み出された前記第3ディスクリプタの内容を前記ホストコントローラの前記レジスタセットに設定するSDコマンド制御部と、前記システムメモリ又は前記メモリデバイスから読み出されたデータを保持するデータバッファとを具備することを特徴とする請求項2記載のメモリシステム。前記ホストコントローラは、前記第1ディスクリプタ内の複数のポインタを全てアクセスした場合、データ転送の終了を示す割り込み信号を発生することを特徴とする請求項3記載のメモリシステム。前記第1乃至第4ディスクリプタのそれぞれは、ディクスリプタの種類を識別するための情報、及びディスクリプタの終了位置を示す情報を含む属性情報を有することを特徴とする請求項4記載のメモリシステム。デバイスに対しコマンド発行を制御するレジスタセットと、システムメモリをアクセスするダイレクトメモリアクセスDMA回路を有し、システムメモリ、及びメモリデバイス間の転送を制御するホストコントローラであって、前記システムメモリ上に記憶され、複数の第2ディスクリプタを示す複数のポインタの集まりで構成された第1ディスクリプタと、前記複数の第2ディスクリプタのそれぞれを構成し、前記ホストコントローラの前記レジスタセットを介して前記メモリデバイスのコマンド発行に必要な情報としてコマンド番号、コマンド動作モード、引数と、データ転送に必要な情報としてブロック長、ブロック数の情報を含む第3ディスクリプタと、前記複数の第2ディスクリプタのそれぞれを構成し、前記システムメモリ上に配置された複数のデータのアドレスと大きさの情報を含む第4ディスクリプタとの読み込みが可能であり、前記DMA回路は、前記第1ディスクリプタの先頭を起点として前記第2ディスクリプタを構成する前記第3ディスクリプタの内容を前記レジスタセットに設定し、前記第4ディスクリプタの内容に従って前記システムメモリからデータを読み込み転送することを特徴とするホストコントローラ。前記システムメモリは、ホストドライバを保持し、前記ホストドライバは、転送情報を含むディスクリプタを作成し、前記DMA回路の起動のみを指示する機能を有し、割り込みによって再度起動され、次のデータ転送の起動または、エラー処理を行うことを特徴とする請求項6記載のホストコントローラ。前記DMA回路は、前記システムメモリのアドレスを制御し、前記各ディスクリプタを読み出すシステムアドレス制御部と、前記システムメモリから読み出された前記第3ディスクリプタの内容を前記ホストコントローラの前記レジスタセットに設定するSDコマンド制御部と、前記システムメモリから読み出されたデータを保持するデータバッファとを具備することを特徴とする請求項7記載のホストコントローラ。前記第1ディスクリプタ内の複数のポインタを全てアクセスした場合、データ転送の終了を示す割り込み信号を発生することを特徴とする請求項8記載のホストコントローラ。前記第1乃至第4ディスクリプタのそれぞれは、ディクスリプタの種類を識別するための情報、及びディスクリプタの終了位置を示す情報を含む属性情報を有することを特徴とする請求項9記載のホストコントローラ。データ転送中にホストドライバの処理が必要であった部分をDMAで処理可能にすることにより、データ転送を高効率に実施することが可能なホストコントローラ及びメモリシステムを提供する。実施形態に係るメモリシステムによれば、ホストコントローラは、デバイスに対しコマンド発行を制御するレジスタセットと、システムメモリをアクセスするダイレクトメモリアクセスDMA回路を有し、システムメモリ、及びメモリデバイス間の転送を制御する。第1ディスクリプタは、前記システムメモリ上に記憶され、複数の第2ディスクリプタを示す複数のポインタの集まりで構成されている。第3ディスクリプタは、前記複数の第2ディスクリプタのそれぞれを構成し、前記ホストコントローラの前記レジスタセットを介して前記メモリデバイスのコマンド発行に必要な情報としてコマンド番号、コマンド動作モード、引数と、データ転送に必要な情報としてブロック長、ブロック数の情報を含んでいる。第4ディスクリプタは、前記複数の第2ディスクリプタのそれぞれを構成し、前記システムメモリ上に配置された複数のデータのアドレスと大きさの情報を含んでいる。前記DMA回路は、前記第1ディスクリプタの先頭を起点として前記第2ディスクリプタを構成する前記第3ディスクリプタの内容を前記レジスタセットに設定し、前記第4ディスクリプタの内容に従って前記システムメモリと前記ホストコントローラ間のデータを転送する。ホスト機器に設けられたシステムメモリは、ページングにより管理されているため、システムメモリ上のデータはページ単位で断片的に管理されている。メモリカードに対するデータのリード/ライトを効率良く行うため、ホストコントローラはDMAを有し、DMAはページ単位で管理されたデータ転送を可能としている。すなわち、システムメモリ上に断片化されたデータは、データ転送リストとしてのディスクリプタを用いることにより、DMA転送が可能とされている。しかし、従来のDMAは、ページの境界において新たなシステムアドレスを生成するために割り込みを発生していた。このため、CPUの動作が乱されていた。これを解消するため、ADMAが開発された。AMDAは、SDカードの1つのリードライトコマンドに対応して、ページングによりシステムメモリ上に断片的に配置されたデータ領域に対してデータ転送を行う機能を有している。このため、ADMAは、システムメモリ上にあるディスクリプタを読み込むことで、CPUに対する割り込みなしにホストコントローラとシステムメモリ間のデータ転送を制御している。ホストドライバは、ホストコントローラ内のレジスタセットを設定することにより、メモリカードへのコマンドの発行を制御し、ホストコントローラとメモリカード間のデータ転送を制御し、CPUに対する割り込みを使用していた。従来のように、バス性能が低い場合には、このような方法で問題はなかった。しかし、近時、バスの性能が向上し、高速なデータ転送が可能となるに従い、ホストドライバの処理がオーバーヘッドとして現れるという問題がある。メモリカードの領域は必ずしも連続的に使用することができないため、複数のメモリコマンドに分割する必要がある。ホストドライバがメモリカードへのコマンドの発行を制御する方式では、データ転送の途中でホストCPUに割り込みを発生させ、ホストドライバを実行させる必要があり、割り込みに応答するまでにある程度の時間がかかる。このため、高速バスを使用してもドライバ処理の待ち時間が影響して性能を低下させてしまう問題があった。以下、実施の形態について、図面を参照して説明する。下記の説明の中のADMAは、本提案による改良版ADMAを示す。図1は、本実施形態に係るメモリシステムを概略的に示している。本実施形態は、システムメモリのデータ転送を可能とするディスクリプタを拡張し、複数のSDコマンドをDMA転送中にホストコントローラによって発行可能とすることにより、ホストドライバの処理によるオーバーヘッドを低減する。図1に示すシステムコントローラ11は、CPU12、システムメモリ13、及びSDホストコントローラ14とのインタフェースを制御する。システムメモリ13は、ホストドライバ21、ディスクリプタテーブル22、及びデータ23を記憶する。これらホストドライバ21、ディスクリプタテーブル22、及びデータ23を記憶するために必要な領域は、オペレーティングシステムOSによってシステムメモリ13上に確保される。ホストドライバ21は、例えばSDホストコントローラ14用のOS固有のドライバであり、CPU12により実行される。ホストドライバ21は、後述するADMAを実行する前に、ディスクリプタテーブル22を生成する。このディスクリプタテーブル22は、システムメモリ13とSDカードの間のデータ転送に必要な情報をリストにしたものであり、SDホストコントローラ14が解釈可能なフォーマットで記述されている。ディスクリプタテーブル22の構造については後述する。SDホストコントローラ14は、SDコマンドを用いて、システムメモリ13とSDカード間のデータ転送を双方向で行う機能を有している。SDホストコントローラ14は、主としてシステムバスインターフェースI/F回路31、メモリカードI/F回路32、複数のレジスタを含むレジスタセット33、ADMA34、タイマ35により構成されている。システムバスI/F回路31は、システムバスを介してシステムコントローラ11に接続される。メモリカードI/F回路32は、図示せぬSDバスインタフェースを介してSDカード、例えばSDメモリカード15、SDIOカード16に接続可能とされている。SDバスインタフェースは、従来の4ビットタイプには限定されず、LVDS方式を用いたUHSIIなどにも適用可能である。UHSIIでは、コマンドはパケット形式で送られる。SDホストコントローラ14のレジスタセット33は、例えば図示せぬSDコマンド発生部、レスポンス部、バッファデータポート部、ホストコントロール部、割り込みコントロール部、ADMA部など、複数の部分に分類されている。SDコマンドの発行に必要な情報、例えばコマンド番号、コマンドモード、及びアーギュメントやデータ転送に必要な情報ブロック長、ブロック数は、レジスタセット33のSDコマンド発生部に設定される。SDコマンド発生部は、これらの情報が設定されることにより、SDカードに対してコマンドを発行する。このコマンドに応じてSDカードから供給されるレスポンスは、レジスタセット33内のレスポンス部で受信される。ADMA34は、CPU12を介さずに、SDカードとシステムメモリ13間において、データを転送する回路である。このADMA34は、システムメモリ13上のディスクリプタテーブル22に記載された内容に従ってデータ転送を実行する。タイマ35は、タイムアウトエラーを検出するものである。例えばリードコマンドが発行されてから終了するまでに設定された時間内にリードコマンドの動作が完了しない場合、タイマ35がタイムアウトエラーを検出する。このタイムアウトエラーは、ホストCPU12に割り込みで通知され、ホストドライバによって処理される。図2は、システムメモリ13のページング管理とSD物理アドレスの関係の例を示している。システムメモリ13はページングにより、例えば4kByte毎の小領域単位で管理される。ホストCPU12が実行するアプリケーションからは、ホストCPU12で管理されるページング機能によって、論理アドレスによりシステムメモリ13がアクセスされる。このため、論理アドレスシステムメモリマップに示すように、データは連続したアドレス領域に配置されているように見える。しかし、システムメモリ13に実際に記録されるデータの位置は、任意であり、物理アドレスシステムメモリマップに示すように断片的である。これらデータは、アドレスとデータ長lengthにより管理されている。データ長は可変である。また、システムメモリ13に記憶されたデータの物理アドレスと論理アドレスの関係は、図示せぬページテーブルで管理される。一方、SDメモリカード13に記憶されるデータは、例えば512Byte~数MByteのページ単位ブロック単位に管理されており、システムメモリ13と完全に独立している。このため、システムメモリ13上のデータをSDメモリカード15に記憶させる場合、SD物理アドレスメモリマップに示すように、システムメモリ13上のデータは、システムメモリ13上とは異なるサイズにより記憶される。SDメモリカード15内のデータは、コマンド毎に指定される連続的な記憶領域に保持され、コマンドにより指定されたアドレスを有しており、データ長は可変であり別なコマンドで指定される。DMA転送は、物理アドレスによって直接システムメモリ13をアクセスする。このため、システムメモリ13上に転送リストとしてのディスクリプタを作成することにより、ADMAの実行が可能となる。図3は、本実施形態に係るディスクリプタを示している。このディスクリプタは、システムメモリ13のディスクリプタテーブル22内に作成される。本実施形態のディスクリプタは、従来のディスクリプタを拡張するものであり、階層構造により構成されている。本実施形態のディスクリプタを用いることにより、ADMAによるシステムメモリ13とSDメモリカード15間のデータ転送を、完全にハードウェアにより実行可能としている。したがって、データ転送中にホストCPU12に割り込みを行う必要がなくなる。エラー処理要求は割り込みで通知されるが、発生確率が非常に小さいので問題はない。図3に示すように、第1ディスクリプタは、複数の第2ディスクリプタへのポインタの集まりによって構成されている。各第2ディスクリプタは、第3ディスクリプタと第4ディスクリプタのペアで構成される。第3ディスクリプタの内容は、SDコマンドを発行するための情報により構成されている。すなわち、第3ディスクリプタの内容は、例えばコマンド番号、コマンドモード、引数、データ転送に必要な情報としてのブロック長、ブロック数により構成されている。コマンドモードは、例えばリード/ライトを示すものである。この第3ディスクリプタをSDホストコントローラ14のレジスタセット33のうち、SDコマンド発生部に書き込むことにより、1つのSDコマンドが発行される。第4ディスクリプタの内容は、システムメモリ13上の各データの位置を示すアドレスと、データ長を示すレングスlengthとにより構成され、断片的に配置された複数のデータの集まりを示している。第3ディスクリプタは、1つのリードライトコマンドに対応しているため、SDメモリカードのある1つの連続領域を指定できる。図2に示すように、複数領域が分かれている場合、それぞれの領域に対して第3ディスクリプタが必要となる。また、各第3ディスクリプタと同じデータ転送長になるように対応する第4ディスクリプタがプログラムされる。第1乃至第4ディスクリプタは、それぞれ属性情報Attを有している。各属性情報Attは、例えばディクスリプタの種類を識別するための情報、及びディスクリプタの終了位置を示す終了ビットを含んでいる。尚、第3ディスクリプタは、フォーマットが他のディスクリプタと相違するため、属性情報Attは、少なくもと先頭のコマンド番号に対応して設けてもよいし、他のディスクリプタと同様に各ライン毎に持っていても良い。図4は、ADMA34の概略構成を示している。ADMA34は、システムアドレス制御部34a、データバッファ34b、SDコマンド制御部34c、及びバッファメモリ34dを有している。システムアドレス制御部34aは、システムメモリ13のアドレスを管理する。具体的には、システムメモリ13に記憶された第1乃至第4のディスクリプタの読み込みを管理する。すなわち、システムアドレス制御部34aには、初期値として、第1ディスクリプタIntegrateddescriptorの先頭アドレスが設定されている。これによりシステムメモリ13から第1ディスクリプタIntegrateddescriptorの情報を読み出すことができる。第1ディスクリプタには複数の第2ディスクリプタのポインタが書かれているため、各ポインタの指し示す第2ディスクリプタのアドレスを読み込み、このアドレスに従って第2ディスクリプタを読み込む。つまり、第2ディスクリプタを構成する第3ディスクリプタとしてのSDコマンドディスクリプタをSDコマンド制御部34cに転送する。さらに、第2ディスクリプタを構成する第4ディスクリプタに記述されたデータのアドレス、及びデータ長を順次読み込み、このアドレス及びデータ長に従って、メモリライト時は、システムメモリ13からデータを読み出し、データバッファ34bに転送する。メモリリード時は、データバッファ34bからシステムメモリ13にデータを転送する。これらの動作を実行するため、システムアドレス制御部34aは、第1ディスクリプタIntegratedDescriptorの先頭アドレス、第2ディスクリプタPartialDescriptorのポインタ、データのアドレス及びデータ長を保持するため、複数のレジスタ34a_1~34a_4、及びこれらレジスタの出力信号を選択するマルチプレクサMPX34a_5を有している。SDコマンド制御部34cは、SDコマンド発生部に値を設定するためのレジスタアドレスを順次発生するとともに、第3ディスクリプタとしてのSDCommandDescriptorに含まれるレジスタ設定情報をホストコントローラ14のレジスタセット33のうちSDコマンド発生部に順次設定する。レジスタセット33のSDコマンド発生部は、レジスタの設定が完了するとSDコマンドを発行する。バッファメモリ34dは、メモリライトの場合、システムアドレス制御部34aにより指定されたシステムメモリ13上のデータを読み込み、供給されたデータを一時的に保持する。データバッファ34bに保持されたデータは、発行されたSDコマンドに同期してSDメモリカード15に転送される。また、バッファメモリ34dは、メモリリードの場合、発行されたSDコマンドに同期してメモリデバイスとしてのSDメモリカード15から読み込んだデータを一時的に保持し、システムアドレス制御部34aにより指定されたシステムメモリ13上の位置にデータを転送する。上記構成において、図5を参照して拡張ディスクリプタを用いたADMA34の動作について説明する。ホストドライバ21は、システムメモリ13とSDメモリカード15との間でデータ転送を行うため、図3に示すような拡張ディクスリプタをシステムメモリ13上に作成する。第1ディスクリプタの先頭アドレスは、ホストドライバ21により、システムアドレス制御部34aのレジスタ34a_1に設定される。この後、ホストドライバ21により、AMDA34が起動されると、システムアドレス制御部34aは、レジスタ34a_1に保持された第1ディスクリプタの先頭アドレスに基づき、第1ディスクリプタの先頭に記載された第2ディスクリプタポインタPartialDescriptorPointerを読み込み、レジスタ34a_2に保持する。ST11。次いで、第2ディスクリプタポインタが示す場所にある第2ディスクリプタがシステムアドレス制御部34aにより読み込まれるST12。第2ディクスリプタの先頭に記述された第3ディスクリプタSDCommandDescriptorは、SDコマンド制御部34cに供給される。SDコマンド制御部34cは、第3ディスクリプタに記述されているデータをSDホストコントローラ14のレジスタセット33を構成するSDコマンド発生部に書き込む。すると、SDコマンド発生部によりSDメモリカード15に対してマンドが発行されるST13。続いて、システムアドレス制御部34aにより、第4ディスクリプタが読み込まれる。システムアドレス制御部34aは、第4ディスクリプタに記述されているアドレス、及びデータ長をそれぞれレジスタ34a_3とレジスタ34a_4に保持する。システムアドレス制御部34aは、メモリライトの場合、レジスタ34a_3のアドレスを先頭アドレスとしてシステムメモリ13からデータを読み出しデータバッファ34bに転送する。また、システムアドレス制御部34aは、メモリリードの場合、レジスタ34a_3のアドレスを先頭アドレスとして、システムメモリ13にデータバッファ34bのデータを書き込むST14。メモリライトの場合、データバッファ34b内において、システムメモリ13から供給された断片的なデータが連続したデータとされる。第4ディスクリプタは、アドレスとデータ長のペアで構成される複数のデータで構成され、ADMAは順次これを繰り返しシステムメモリとデータバッファ34b間のデータ転送を行う。この後、ADMAは、データバッファ34bに保持されたデータをSDメモリカード15に転送するST15。発行したコマンドリード/ライトコマンドに同期して、ADMAはシステムメモリ13上のデータをアクセスし、データバッファ34bを介して両者のデータ転送は同期をとりながら実行される。総データ転送量は、メモリデバイス側もシステムメモリ側も、どちらも同じ値に設定されていなければならない。1つの第2ディスクリプタに基づくデータの転送が完了すると、全ての第1ディスクリプタの実行が終了したかどうかが判別されるST16。この結果、全ての第1ディスクリプタの実行が終了していない場合、制御がステップST12に移行され、第1ディスクリプタに記述されたPartialDescriptorPointerに従って、次の第2ディスクリプタが読み込まれ、上記の動作が実行されるST16-ST12。各ディスクリプタには前記属性情報Attの中の終了ビットが設けられており、この終了ビットにより、ディスクリプタプログラムの終了位置を指定することができる。次の第2ディスクリプタに対応して、第3ディスクリプタがSDホストコントローラ14のレジスタに設定されると、SDコマンドが発行され、第4ディスクリプタに従ってデータが転送される。例えばメモリリードの場合、最終データがデータバッファ34bに読み込まれた後、次の第3ディスクリプタを読み込んでおくことにより、システムメモリへのDMA転送中に、次の転送のSDコマンドを発行することも可能である。この場合、コマンド発行時間が見えなくなるため、一層高速動作が可能となる。一方、第1ディスクリプタに記述された内容の全てが実行された場合、SDホストコントローラ14は、ADMA完了割り込みを発生するST17。これにより、CPU12ホストドラバ21は、ADMAの処理が正常終了したことを知ることができる。エラーが発生しなかった場合、ホストCPU12は、ADMAの起動から終了まで転送に関わる必要がないため、ホストドライバによる性能低下は発生しない。また、データ転送中に次のディスクリプタを準備することができるため、ディスクリプタ作成時間は、転送性能に影響しない。ホストドライバ21は、転送が完了するとファイルシステムに対して、情報を更新するように指示する。これによりSDメモリカードに転送されたデータは確定する。上記実施形態によれば、システムメモリ13とSDメモリカード15との間でデータ転送を行うため、ホストドライバ21により、システムメモリ13内に拡張ディスクリプタが生成される。この拡張ディスクリプタは、第2ディスクリプタの位置を示すポインタの集合としての第1ディスクリプタを含む。ホストドライバ21により、ADMA34が起動されると、第1ディスクリプタの先頭アドレスの内容に基づき、順次第2ディスクリプタの内容がADMA34に取り込まれ、ADMA34により第2ディスクリプタに記述された第3、第4ディスクリプタの内容に従って、システムメモリ13とSDメモリカード15との間でデータ転送が実行される。このため、ホストドライバ21は、ADMA34によるデータ転送中、データ転送に何ら関与しない。したがって、ADMA34により高速なデータ転送が可能となる。また、ADMA34は、起動後、第3ディスクリプタをレジスタセット33のSDコマンド発生部に設定することによりコマンドを発生させ、システムメモリ13とSDメモリカード15間のデータ転送を、ADMA34によって、ハードウェアのみにより実行可能としている。したがって、ホストドライバ21を介在する場合に比べて格段に高速化することが可能である。さらに、データ転送中にホストドライバを動作させるためには、通常割り込みによって起動される。したがって、割り込み応答時間が無視できないとデータ転送性能の低下を引き起こしてしまう。しかし、本方式を用いることにより、そのような性能低下を回避することができる。尚、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。