引数に再送フラグを有するコマンドにより制御され、受信した前記コマンドに対して規定時間内にレスポンスを送信する送信部と、ビットエラーを検出するエラー検出部と、を具備するメモリデバイスであって、前記コマンドを認識できない場合、レスポンスを返さないことにより、コマンドが実行されなかったことを示し、且つコマンドを実行せず、前記コマンドを認識できた場合において、コマンドの引数に含まれる前記再送フラグがセットされている場合、コマンドを実行中であれば正常なレスポンスを返して、実行中の処理を継続していることを示し、前記コマンドを認識でき、且つコマンドを実行していない場合、前記再送フラグの値に関わらず、コマンドが実行可能と判定した場合、正常なレスポンスを返して、コマンドを実行することを示し、コマンドが実行不可能と判定した場合、エラーレスポンスを返して、コマンドが実行できなかったことを示すことを特徴とするメモリデバイス。引数に再送フラグを有するコマンドを発生し、発生された前記コマンドをメモリデバイスに送信するコマンド発生部と、前記メモリデバイスからのレスポンスが規定時間内に認識できない場合、タイムアウトを検出する検出手段と、を具備するホストコントローラであって、最初のコマンドを送信する場合、前記再送フラグをクリアしてコマンドを送信し、前記検出手段によりタイムアウトが検出された場合、前記再送フラグをセットして、前記最初のコマンドと同一のコマンドを前記メモリデバイスに再送し、最初のコマンド又は再送コマンドのいずれかに対応して正常なレスポンスを受信した場合、そのコマンドは正しく実行されたと認識し、前記再送コマンドに対して前記検出手段によりタイムアウトが検出された場合、コマンドを再送しても実行できなかったことをホストに割り込みで通知することを特徴とするホストコントローラ。引数に再送フラグを有するコマンドを発生し、発生された前記コマンドをデバイスに送信するホストコントローラと、前記ホストコントローラからの前記コマンドを受信し、前記コマンドを認識できた場合規定時間内にレスポンスを前記ホストコントローラに返して前記コマンドを実行し、前記コマンドを認識できない場合、又はコマンドが実行できる状態にない場合、レスポンスを返さないことにより、コマンドが実行されなかったことを示すメモリデバイスと、を具備し、前記ホストコントローラは、前記メモリデバイスからのレスポンスが前記規定時間内に認識できない場合、タイムアウトを検出する検出手段をさらに有し、最初のコマンドを送信する場合、前記再送フラグをクリアしてコマンドを送信し、前記検出手段によりタイムアウトが検出された場合、前記再送フラグをセットして、前記最初のコマンドと同一のコマンドを前記デバイスに再送し、前記最初のコマンド又は再送コマンドのいずれかに対応して正常なレスポンスを受信した場合、そのコマンドは正しく実行されたと認識し、再送コマンドに対して前記検出手段によりタイムアウトが検出された場合、コマンドを再送しても実行できなかったことをホストに割り込みで通知することを特徴とするメモリシステム。前記再送フラグは、少なくとも1ビットにより構成されていることを特徴とする請求項1乃至3のいずれかに記載のメモリシステム。前記ホストコントローラは、ダイレクトメモリアクセスDMA回路を有し、前記DMA回路は、システムメモリに記憶されたディスクリプタの記述に基づき、データを転送することを特徴とする請求項2又は3に記載のメモリシステム。コマンドレスポンスシーケンスにエラーが発生した場合においても、データ転送の中断を防止して、データの転送効率を向上することが可能なメモリシステムを提供しようとするものである。本実施形態によれば、メモリデバイスは、引数に再送フラグを有するコマンドにより制御され、受信した前記コマンドに対して規定時間内にレスポンスを送信する送信部と、ビットエラーを検出するエラー検出部と、を具備するメモリデバイスであって、前記コマンドを認識できない場合、レスポンスを返さないことにより、コマンドが実行されなかったことを示し、且つコマンドを実行せず、前記コマンドを認識できた場合において、コマンドの引数に含まれる前記再送フラグがセットされている場合、コマンドを実行中であれば正常なレスポンスを返して、実行中の処理を継続していることを示し、前記コマンドを認識でき、且つコマンドを実行していない場合、前記再送フラグの値に関わらず、コマンドが実行可能と判定した場合、正常なレスポンスを返して、コマンドを実行することを示し、コマンドが実行不可能と判定した場合、エラーレスポンスを返して、コマンドが実行できなかったことを示すことを特徴とする。バスインターフェースを用いたホストとデバイス間のコミュニケーション方法として、ホストがデバイスにコマンドを送信し、デバイスからのレスポンスを受信してコマンドがデバイスにより受け付けられたかを確認する方法が取られている。あるいは、特定のリードライトコマンドなどを用いてデータ転送が実施されたり、ノイズなどによる伝送中のエラーの検出のためCRCコードを用いたエラー検出が用いられたりしている。ノイズの発生状況が同一の環境で、ノイズによるビットエラーの発生確率が同一である場合においても、バスの転送速度が高速化するに従って、ビットエラーが発生する時間間隔は短くなっていく。このため、例えば数秒から数分に1ビットの割合でビットエラーが発生することが予想される。したがって、高速バスにおいては、プロトコルの再送機能をサポートすることが重要となる。従来のコマンドプロトコルでは、ビットエラーを含む何らかのエラーが発生した場合、ホストが一旦転送をアボートコマンドで停止させ、再度コマンドをリトライ実行する必要があった。このため、データ転送の中断が発生し、転送効率が低下するといい問題があった。特に、ハードウェアによるDMADirectMemoryAccess転送を実施しているときに、この様なノイズによる中断が発生すると、ホストドライバによる処理が必要となり、DMAの効果が薄れてしまうという問題がある。また、高速バスによるデータ伝送において、ノイズなどにより発生する転送エラーについても同様な問題があり、データ転送中にノイズによりビットエラーが発生すると、データ転送をいったん中断して、データ転送のリトライ制御をホストが行う必要があり、高速バスにおいては、このオーバーヘッドが無視できなくなる。以下、実施の形態について、図面を参照して説明する。図1は、本実施形態に係るメモリシステムを概略的に示している。本実施形態は、コマンドの引数に再送フラグを設け、最初のコマンドに対応してエラーが発生した場合、ホストコントローラが再送フラグをセットして、最初のコマンドと同一のコマンドを再送するシーケンスを設けている。これにより、データ転送中にノイズによるエラーが発生した場合においても、メモリカード15やSDIOカード16は、データ転送の中断を防止して、データの転送効率の低下を防止可能としている。図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カードの間のデータ転送に必要な情報をリストにしたものである。ディスクリプタテーブル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メモリカード15やSDIOカード16は、SDホストコントローラ14から供給されるコマンドにより制御され、受信したコマンドに対して、予め設定された規定時間内にレスポンスをSDホストコントローラ14に返すように設定されている。SDメモリカード15は、例えばCPU15a、RAM15b、ROM15c、バッファBUF15d、インターフェースI/F15e、NANDメモリのインターフェースNI/F15f、NANDメモリNAND15gにより構成されている。CPU15は、引数に再送フラグを有するコマンドにより制御され、受信したコマンドに対して規定時間内にレスポンスを送信する。さらに、CPU15は、ビットエラーを検出する。SDホストコントローラ14のレジスタセット33は、例えば図示せぬSDコマンド発生部、レスポンス部、バッファデータポート部、ホストコントロール部、割り込みコントロール部、ADMA部など、複数の部分に分類されている。SDコマンドの発行に必要な情報、例えばコマンド番号、コマンドモード、及びアーギュメントやデータ転送に必要な情報ブロック長、ブロック数は、レジスタセット33のSDコマンド発生部に設定される。SDコマンド発生部は、これらの情報が設定されることにより、SDカードに対してコマンドを発行する。このコマンドに応じてSDカードから供給されるレスポンスは、レジスタセット33内のレスポンス部で受信される。ADMA34は、CPU12を介さずに、SDカードとシステムメモリ13間において、データを転送する回路である。このADMA34は、システムメモリ13上のディスクリプタテーブル22に記載された内容に従ってデータ転送を実行する。タイマ35は、タイムアウトエラーを検出するものである。例えばコマンドが発行されてから予め設定された規定時間、又はクロック数以上経過した内にレスポンスを受信できない場合、タイマ35がタイムアウトエラーを検出する。再送フラグが0に設定されたコマンドに対するレスポンスタイムアウトエラーを検出する場合、ホストCPU12には通知されず、直接SDホストコントローラ14が再送フラグを1に設定した同じコマンドを発行する。また、再送フラグが1に設定されたコマンドに対するレスポンスタイムアウトエラーを検出する場合、ホストCPU12に割り込みで通知され、ホストドライバによって処理される。上記再送フラグが0に設定されたコマンドに対するレスポンスタイムアウトエラーの場合でも、ホストドライバでコマンドを再送することは可能であるが、性能は低下する。再送コマンドにおいて、再度レスポンスタイムアウトエラーを検出する場合、転送は中断されて、ホストドライバでエラー処理が行われる。図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上に転送リストとしてのディスクリプタを作成することにより、DMAの実行が可能となる。図3は、本実施形態に係るディスクリプタを示している。このディスクリプタは、システムメモリ13のディスクリプタテーブル22内に作成される。本実施形態のディスクリプタは、従来のディスクリプタを拡張するものであり、階層構造により構成されている。本実施形態のディスクリプタを用いることにより、ADMAによるシステムメモリ13とSDメモリカード15間のデータ転送を、完全にハードウェアにより実行可能としている。したがって、データ転送中にホストCPU12に割り込みを行う必要がなくなる。メモリ書き込みエラーなどの処理要求は割り込みで通知されるが、発生確率が非常に小さいので問題はない。図3に示すように、第1ディスクリプタは、複数の第2ディスクリプタへのポインタの集まりによって構成されている。各第2ディスクリプタは、第3ディスクリプタと第4ディスクリプタのペアで構成される。第3ディスクリプタの内容は、SDコマンドを発行するための情報により構成されている。すなわち、第3ディスクリプタの内容は、例えばコマンド番号CommandNumber、コマンドモードCommandmode、引数Argument、データ転送に必要な情報としてのブロック長BlockLength、ブロック数BlockCountにより構成されている。コマンドモードは、例えばリード/ライトを示すものである。この第3ディスクリプタをSDホストコントローラ14のレジスタセット33のうち、SDコマンド発生部に書き込むことにより、1つのSDコマンドが発行される。第4ディスクリプタの内容は、システムメモリ13上の各データの位置を示すアドレスAddressと、データ長を示すレングスlengthとにより構成され、断片的に配置された複数のデータの集まりを示している。第1乃至第4ディスクリプタは、それぞれ属性情報Attを有している。各属性情報Attは、例えばディクスリプタの種類を識別するための情報、及びディスクリプタの終了位置を示す終了ビットを含んでいる。尚、第3ディスクリプタは、フォーマットが他のディスクリプタと相違するため、属性情報Attは、少なくとも先頭のコマンド番号に対応して設けてもよい。図4は、ADMA34の概略構成を示している。ADMA34は、システムアドレス制御部34a、データバッファ34b、SDコマンド制御部34c、及びバッファメモリ34dを有している。システムアドレス制御部34aは、システムメモリ13のアドレスを管理する。具体的には、システムメモリ13に記憶された第1乃至第4のディスクリプタの読み込みを管理する。すなわち、システムアドレス制御部34aは、先ず、システムメモリ13から第1ディスクリプタIntegrateddescriptorの先頭アドレスの内容、つまり、第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コマンドを発生する。バッファメモリ34bは、メモリライトの場合、システムアドレス制御部34aにより指定されたシステムメモリ13上のデータを読み込み、供給されたデータを一時的に保持する。データバッファ34bに保持されたデータは、発行されたSDコマンドに同期してSDメモリカード15に転送される。また、バッファメモリ34dは、メモリリードの場合、発行されたSDコマンドに同期してメモリデバイスとしてのSDメモリカード15から読み込んだデータを一時的に保持し、システムアドレス制御部34aにより指定されたシステムメモリ13上の位置にデータを転送する。このようにバッファメモリ34dは、異なる周波数で動作するシステムメモリ13と、メモリカード15、又はSDIOカード16間のデータの受け渡しを行う働きをする。図5は、SDホストコントローラ14から発行されるコマンドと、SDメモリカード15から出力されるレスポンスの一例を示すものであり、図5aはコマンドの例を示し、図5bはレスポンスの例を示している。図5aに示すコマンドパケットは、コマンド番号51、引数52、引数によって決まる付加情報53、CRCなどのエラー検出情報54を含んでいる。引数の一部として、例えば1ビットの再送フラグ52aが割り当てらいれている。再送フラグは、0の場合、最初に発生されたコマンドを示し、1の場合、再送コマンドであることを意味し、最初に発生したコマンドと同じコマンドであることを示している。図5bに示すレスポンスパケットは、エラーステータス情報55、付加情報56、CRCなどのエラー検出情報57を含んでいる。エラーステータス情報55は、レスポンスを受信した場合のエラー情報である。レスポンスを受信できなかった場合もエラーの一つであるが、これはSDホストコントローラ14のタイマ35によりタイムアウトエラーとして検出される。タイマは、特定の時間または特定のクロック数でタイムアウトの検出を制御する。上記構成において、SDホストコントローラ14とSDメモリカード15のコマンド及びレスポンスについて説明する。図6は、SDホストコントローラ14のコマンド発行シーケンスを示している。SDホストコントローラ14は、最初にコマンドを発行する場合、引数52の再送フラグ52aをクリアした状態、すなわち0を設定した状態でコマンドを発生し、デバイスとしての例えばSDメモリカード15に送信するS11。コマンドを発生した後、SDメモリカード15からのレスポンスを待つS12。すなわち、SDホストコントローラ14は、コマンド発生後、レスポンスを待ち、タイマ35に予め設定された規定時間を経過した状態においてレスポンスを受信できない場合、SDホストコントローラ14は、タイムアウトかどうかを判別するS12。レスポンスのタイムアウトをデータのタイムアウトに比べて短い時間に設定することにより、レスポンスが受信できなかった場合のロスタイムを減らすことができる。SDホストコントローラ14は、タイムアウト前にレスポンスを受信した場合S13、レスポンスに含まれるエラーステータス情報55に基づき、エラーが有るかどうかを判別するS14。この結果、エラーが無い場合、正常動作と判断する。このため、例えばデータ転送コマンドの場合は、データ転送を開始できる。また、ステップS14において、レスポンスに含まれるエラーステータス情報55がエラーを示す場合、ホストはコマンド送信エラーとして、コマンドの発行タイミングやコマンド引数が間違っていたと解釈する。これはノイズによるエラーではなく、ホストのプログラムの修正が必要となる。一方、ステップS12において、レスポンスのタイムアウトを検出した場合、SDホストコントローラ14は、コマンドの引数52の再送フラグ52aを1に設定し、前回と同じコマンドを発行するS15。コマンドを再送した場合、再びSDメモリカード15からのレスポンスを待つS16。この結果、タイマ35に設定された規定時間内にレスポンスを受信できた場合S17、SDホストコントローラ14は、エラーステータス情報55に基づき、エラーが有るかどうかを判別するS18。この結果、エラーが無い場合、正常動作と判断する。ステップS16において、レスポンスのタイムアウトを検出した場合、SDホストコントローラ14は、コマンド送信エラーとされる。このように、最初のコマンド発行に対して、ノイズなどにより、SDメモリカード15などのデバイスがコマンドを認識できなかった場合や、SDホストコントローラ14がレスポンスを受信できなかった場合、再送フラグ52aをセットするとともに、前回のコマンドと同一の内容のコマンドを再発行することができる。このため、ノイズなどにより、SDメモリカード15などのデバイスがコマンドを認識できなかった場合や、SDホストコントローラ14がレスポンスを受信できなかった場合のエラーを救済することができる。図7は、デバイスのコマンド処理シーケンスの一例を示している。SDメモリカード15などのデバイスは、コマンドを受信した場合S21、そのコマンドにCRCエラーが発生しているかどうかを判別するS22。この結果、CRCエラーが発生している場合、コマンド番号を特定できないため、認識不可能なコマンドとして無視し、デバイスはレスポンスを返さない。したがって、この場合、SDホストコントローラ14のタイマ35は、規定時間経過後、タイムアウトエラーを出力する。一方、判別の結果、CRCが正常である場合、コマンドの引数52に含まれた再送フラグ52aの状態が確認されるS23。すなわち、再送フラグが1であるかどうかが判別される。SDホストコントローラ14から最初にコマンドが発行される場合、再送フラグは、リセットされ、0が設定されている。再送フラグが0である場合、通常のコマンド処理シーケンスに移行され、受信したコマンドが実行可能であるかどうかが判別されるS26。すなわち、コマンドは、コマンド番号とデバイスの状態によって実行可能かどうかが決定される。この判別の結果、コマンドが実行可能ではない場合と判別された場合、デバイスは、SDホストコントローラ14にレスポンスを返さずに終了する。この場合、SDホストコントローラ14は、タイマ35に予め設定された時間を経過してもデバイスからレスポンスを受けることが出来ないため、タイマ35はタイムアウトエラーを出力する。一方、ステップS26において、コマンドが実行可能であると判別された場合、引数が正しいかどうか正当性が判別されるS27。この判別の結果、引数が正しい場合、デバイスは、SDホストコントローラ14に正常レスポンスを返しS28、コマンドを実行するS29。また、ステップS27において、引数が正しくない場合、デバイスは、SDホストコントローラ14にエラーレスポンスを返すS30。但し、引数が正しいかどうかの正当性検査に時間がかかる場合、検査結果を待たずに、正常レスポンスを返すことも可能である。間違った引数で正常レスポンスを返した場合、メモリアクセスエラーなどの別なエラー要因が発生することで引数の間違いを知らせることが可能である。引数の間違いは、本実施形態におけるコマンドの再送対象ではなく、ホストドライバが正しい引数を設定するように修正すべきものである。さらに、前記ステップS23において、再送フラグが1である場合、デバイスが最初の直前のコマンドを認識できなかったか、デバイスが最初のコマンドに対してレスポンスを返したが、SDホストコントローラ14がレスポンスを正しく受信できなかった場合である。再送フラグが1である場合、デバイスはコマンドを実行中かどうか確認するS24。つまり、デバイスがステップS28において、最初のコマンドに対してレスポンスを返したが、ホストコントローラ14がレスポンスを正しく受信できなかった場合、最初のコマンドは正しく認識されているため、最初のコマンドが実行されている可能性がある。このため、デバイスは最初のコマンドが実行中かどうかを確認する。この結果、コマンドを実行中の場合、そのまま実行中の処理が継続され、デバイスからSDホストコントローラ14に正常レスポンスが返されるS25。また、ステップS24において、デバイスがコマンドを実行中ではないと判別された場合、制御がステップS26に移行され、前述した動作が行われる。再送されたコマンドに対して、レスポンスエラー引数が正当ではない場合、又はレスポンスタイムアウトを検出した場合、SDホストコントローラ14は、例えばCPU12に割り込みを発生させてエラーがあったことを伝える。また、コマンドが実行不可能と判定された場合、エラーレスポンスを返して、コマンドが実行できなかったことを示してもよい。上記実施形態によれば、コマンドの引数52に再送フラグ52aを設け、最初のコマンドに対応して、デバイスにおいて、エラーが発生した場合、SDホストコントローラ14は再送フラグを1にセットして、最初のコマンドと同一のコマンドを再送する。また、デバイスは、再送フラグが0である場合や、再送フラグが1である場合で、最初のコマンドに対応する処理が実行中ではない場合、コマンド処理が実行可能であるかどうかを判別し、実行可能である場合、コマンド処理を実行している。このように、同一コマンドを2回発行可能とするシーケンスを用いることにより、ノイズなどにより、デバイスが最初のコマンドを認識できなかった場合や、SDホストコントローラ14がデバイスからのレスポンスを受信できなかった場合においても、コマンドを再送することによりエラーを救済することが可能である。したがって、CPU12の割り込みを回避し、データ転送を中断する必要がないため、データ転送効率を向上することができる。しかも、デバイスは、再送フラグの内容を判別することにより、送られてきたコマンドが最初のコマンドであるか、再送コマンドであるかを判別することができる。さらに、再送コマンドである場合、最初のコマンドに応じて処理が実行中かどうかを判別し、実行中である場合は、その動作を継続させている。このため、データ転送の中断を防止して、データの転送効率の低下を防止することが可能であるとともに、コマンドの再実行を防止することができ、コマンド処理の高速化を図ることができる。したがって、ADMA34の実行中において、ノイズによるビットエラーが発生した場合においても、ADMA34の動作を中断することなく実行することが可能である。ADMA34が、例えば3Gbps程度の高速なデータ転送を実行している場合、数秒に1ビットの割合でビットエラーが発生する可能性がある。しかし、本実施形態によれば、コマンドを再送することにより、データ転送を中断することなく、実行することが可能であり、データ転送の高速化を図ることが可能である。また、本実施形態によるコマンド再送は、同一コマンドを再送すれば良いため、ハードウェア化が容易であり、ホストドライバを介さずにADMAがコマンド再送を行うことが可能である。尚、再送フラグは、1ビットにより構成されている場合について説明したが、これに限定されるものではない。例えば再送フラグを複数ビットにより構成したり、カウンタにより構成したりすることにより、複数回コマンドを再送することが可能となる。また、上記実施形態は、ADMAを用いてデータ転送を行う場合について説明した。しかし、これに限定されるものではなく、他の転送方法を用いることも可能である。この場合において、コマンドの送信時にエラーが発生した場合、上記のように、同一コマンドを再送し、データの再送は、周知の方法により実行すればよい。その他、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。