(57)【特許請求の範囲】
【請求項１】
ホスト装置による少なくともデータの読出しに係るデータアクセスが可能とされた記憶媒体が内蔵されるか又は着脱可能に装着され、該記憶媒体に対してＳＣＳＩ規格にてデータアクセスを行う複数の記憶デバイスと、
前記記憶デバイス毎に機能的に独立して設けられ、前記データアクセスの内容を特定する主制御コマンドであるＳＣＳＩコマンドを前記ホスト装置から受信して解析する主制御コマンド解析ステップと、該ＳＣＳＩコマンドの解析内容を反映したデータであるＳＣＳＩデータへのアクセスを前記記憶デバイスとの間で行うデータアクセスステップと、データアクセス結果を示すＳＣＳＩステータスを前記ホスト装置に送信するステータス送信ステップとをこの順序で実行する制御ステップユニットを単位として前記記憶デバイスにおけるＳＣＳＩ規格の基での前記データアクセスの制御を行うとともに、時系列的に先行するＳＣＳＩ規格の基でのデータアクセスに係る制御ステップユニットの実行中は該制御ステップユニットの実行が完了するまで後続のＳＣＳＩ規格の基でのデータアクセスに係る制御ステップユニットの実行を待機させるアクセス制御デバイスと、
前記ホスト装置と該ホスト装置が指定するアクセス制御デバイスとの間において前記制御ステップユニットを実行するために、前記ＳＣＳＩコマンド、前記ＳＣＳＩデータ及び前記ＳＣＳＩステータスのうち少なくとも前記ＳＣＳＩコマンドと前記ＳＣＳＩステータスとを転送要素として含むアクセス関連情報の相互転送を、前記ホスト装置が複数の前記アクセス制御デバイスをポーリングする形式にてＵＳＢ規格に基づくシリアル通信により実行するとともに、対象となるアクセス制御デバイスが互いに異なる制御ステップユニットのアクセス関連情報を構成する前記転送要素の組をそれら組間での該転送要素の時系列的な混在を許容した形でＵＳＢ規格に基づいてデータ転送処理するシリアル通信部と、を備え、
前記アクセス制御デバイスは、前記シリアル通信部との間で前記転送要素を送受信する転送要素送受信部と、該転送要素をなす前記ＳＣＳＩコマンドを解釈してその内容に応じたデータアクセスを前記記憶デバイスに対して行う制御実行主体とからなり、
前記転送要素送受信部が前記記憶デバイスに一対一に対応する形で複数設けられ、
前記制御実行主体は、同一の記憶デバイスに対応した転送要素送受信部に対しては、時系列的に先行する前記制御ステップユニットのアクセス関連情報を構成する一連の転送要素の送受信が完了するまで、後続の制御ステップユニットのアクセス関連情報を構成する転送要素の送受信を待機させる一方、互いに異なる記憶デバイスに対応した転送要素送受信部に対しては、一つの記憶デバイスの制御ステップユニットに係る各転送要素の送受信処理期間のインターバルを利用して、他の記憶デバイスの制御ステップユニットに属する転送要素の送受信処理を行うことにより、各記憶デバイス間でのそれら制御ステップユニットの並列処理を許容するものであることを特徴とする記憶制御装置。
【請求項２】
前記記憶デバイスは、前記ホスト装置によるデータの書き込み、消去及び読出しが可能とされた記憶媒体が着脱可能に装着されるとともに、該記憶媒体として、記憶内容が電気的に書き換え可能であって、外部からのリセット信号を受けても当該記憶内容を保持するとともに、その記憶領域が複数の書き換え単位ブロックに分割され、該書き換え単位ブロックを単位とする形で記憶内容の消去及び書き込みが可能とされた不揮発性メモリを使用する請求項１に記載の記憶制御装置。
【請求項３】
複数の前記転送要素送受信部にて単一の前記制御実行主体が共用化されてなる請求項１に記載の記憶制御装置。
【請求項４】
複数の前記転送要素送受信部と前記シリアル通信部とが専用ＩＣに集積されてなる請求項１ないし請求項３のいずれか１項に記載の記憶制御装置。
【請求項５】
前記シリアル通信部は、前記ホスト装置からのシリアル通信バスを接続する通信バス接続端子と、前記シリアル通信バスと前記転送要素送受信部との間の前記転送要素の転送通信処理を実行する通信制御部とを備え、該通信制御部は、前記通信バス接続端子に接続される前記通信処理のプロトコルエンジン部と、該プロトコルエンジン部にＦＩＦＯメモリからなる制御用の双方向エンドポイントを介して接続され、前記転送通信処理の制御を司る制御指令部とを備え、
複数の前記転送要素送受信部が、それぞれ前記プロトコルエンジン部に対し、ＦＩＦＯメモリからなる該プロトコルエンジン部への入力用エンドポイントと、ＦＩＦＯメモリからなる該プロトコルエンジン部からの出力用エンドポイントとを介して入出力経路が分離された形で接続され、
前記通信制御部は、前記ホスト装置側から、前記データアクセスの対象となる転送要素送受信部の特定情報と、該転送要素送受信部に対応するエンドポイントの特定情報とを受信して、各転送要素送受信部をターゲットデバイスとしてポーリングすることにより、データアクセス先となる前記記憶デバイスとデータ送受信の方向とを特定するものである請求項１ないし請求項４のいずれか１項に記載の記憶制御装置。
【請求項６】
単一の前記通信制御部が複数の前記転送要素送受信部にて共用化され、該通信制御部の１つの前記プロトコルエンジン部に、各々独立した前記入力用エンドポイント及び前記出力用エンドポイントの組を介して各転送要素送受信部が並列接続されてなる請求項５に記載の記憶制御装置。
【請求項７】
複数の前記転送要素送受信部に対応する形で独立した複数の前記通信制御部が設けられ、各転送要素送受信部が対応する通信制御部に前記入力用エンドポイント及び出力用エンドポイントの組を介して接続される一方、各通信制御部の前記プロトコルエンジン部は、ハブ回路を介して単一の前記通信バス接続端子に集約接続されてなる請求項５に記載の記憶制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶制御装置に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ（ＰＣ）等のホスト装置によるデータの読み出しや書き込みに係るデータアクセスが可能なフラッシュメモリ等の複数の記憶媒体を内蔵している又は装着可能な記憶制御装置が普及している。例えば、フラッシュメモリ等を搭載したカード型の記憶媒体には、コンパクトフラッシュ（登録商標）、スマートメディア（登録商標）、メモリースティック（登録商標）、ＳＤメモリーカード（登録商標）など様々な種類があるが、これらを装着可能な複数のスロットを備え、それぞれの記憶媒体に対してデータの読み出しや書き込みに係るデータアクセスが可能なマルチスロットタイプの記憶制御装置が実用化されている。
【０００３】
ところで、上記のような記憶制御装置は、マルチメディアの普及によりデータ転送容量が飛躍的に増大した背景から、ＰＣとの間のデータ伝送をシリアル通信にて行うことが一般化している。しかしながら、データアクセスのための制御には、複数記憶媒体の取り扱いが容易、といった観点から、パラレル通信用周辺機器の調停／アクセス制御にて使用されていた方式を引き継いだ機器も数多く存在する。
【０００４】
該方式とは、具体的には以下のようなアクセス制御デバイスを用いるものである。すなわち、該アクセス制御デバイスは、データアクセスの内容を特定する主制御コマンドをＰＣ（ホスト装置）から受信して解析する主制御コマンド解析ステップと、該主制御コマンドの解析内容を反映したデータアクセスを記憶デバイスとの間で行うデータアクセスステップと、データアクセス結果を示すステータスをホスト装置に送信するステータス送信ステップとをこの順序で実行する制御ステップユニットを単位として記憶デバイスにおけるデータアクセスの制御を行う。
【０００５】
つまり、ＰＣ側からどのようなアクセスであるかを特定するコマンド（例えば、読出し、書き込み、消去、メディアの有無確認など）が発行され、アクセス制御デバイスではそのコマンドの内容を解析し、対応するアクセス制御を行うとともに、アクセス制御が完了すればその結果に係るステータスをＰＣ側に返す、という一連の動作（制御ステップユニット）を１セットとしてアクセス制御が実行されるのである。そして、時系列的に先行するデータアクセスに係る制御ステップユニットの実行中は、該制御ステップユニットの実行が完了するまで後続のデータアクセスに係る制御ステップユニットの実行を待機させる。この方式は、ＳＣＳＩ（Small Computer System Interface）規格にて既に一般化されているものである。
【０００６】
一方、周辺機器接続用のシリアル通信方式として近年、ＵＳＢ（Universal
Serial Bus）が広く用いられている。これは、ＰＣに接続される複数の周辺機器のうち、通信先（ターゲット）となるものをポーリングにより特定し、データの送受信を行うものである。記憶制御装置をＵＳＢ機器として構成しておけば、データの読み書きや消去といったデータアクセスをシリアル通信により実行することができる。ＵＳＢ周辺機器として構成された記憶制御装置に、前述のＳＣＳＩ方式によるアクセス制御デバイスを組み込む場合、ＰＣは、このアクセス制御デバイスをターゲットとして、ポーリングによるシリアル通信を行うことになる（以下、このようなタイプの記憶制御装置をＵＳＢ／ＳＣＳＩ型記憶制御装置とも称する）。
【０００７】
そして、マルチスロットタイプの記憶制御装置を上記ＵＳＢ／ＳＣＳＩ型記憶制御装置として構成する場合、従来は、記憶媒体を個別に装着するための複数のスロットを、１つのアクセス制御デバイスに集約的に接続したハードウェア構成が採用されていた。
【０００８】
【特許文献１】特開２００５−１０７８７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、上記従来の構成であると、シリアル通信のターゲットとしてポーリングできるアクセス制御デバイスが１つだけであり、前述のごとく、時系列的に先行するデータアクセスに係る制御ステップユニットの実行中は、該制御ステップユニットの実行が完了するまで後続のデータアクセスに係る制御ステップユニットの実行が待機させられる。従って、１つのアクセス制御デバイスに接続された複数のスロット間でＰＣ側からのデータアクセスが競合した場合、個々のデータアクセスの制御ステップユニットは、アクセス先となるスロットが異なるにも拘わらず、順次的にしか処理することができない。例えばあるスロットにおいて、コマンド解析処理などのため、実際にデータの読み書きアクセスが行なわれていない空き時間が生じても、そのスロットでの制御ステップユニットが完全に終わるまでは、他のスロットでの制御ステップユニットの実行に移行できない。その結果、上記の空き時間は完全なデッドタイムとなり、制御効率がすこぶる悪い欠点がある。この問題は、読み書き速度の遅いフラッシュメモリ等が記憶媒体となる場合はより顕著となる。
【００１０】
本発明は、複数の記憶媒体を内蔵しているか、又は装着可能に構成された記憶制御装置において、複数の記憶媒体へのアクセス競合が生じた場合も、各記憶媒体毎に不要なアクセス待ち時間が生じにくく、ひいては迅速なデータアクセスを可能とすることを目的とする。
【課題を解決するための手段及び発明の効果】
【００１１】
上記課題を解決するため、本発明の記憶制御装置は、
ホスト装置による少なくともデータの読出しに係るデータアクセスが可能とされた記憶媒体が内蔵されるか又は着脱可能に装着され、該記憶媒体に対してＳＣＳＩ規格にてデータアクセスを行う複数の記憶デバイスと、
前記記憶デバイス毎に機能的に独立して設けられ、前記データアクセスの内容を特定する主制御コマンドであるＳＣＳＩコマンドを前記ホスト装置から受信して解析する主制御コマンド解析ステップと、該ＳＣＳＩコマンドの解析内容を反映したデータであるＳＣＳＩデータへのアクセスを前記記憶デバイスとの間で行うデータアクセスステップと、データアクセス結果を示すＳＣＳＩステータスを前記ホスト装置に送信するステータス送信ステップとをこの順序で実行する制御ステップユニットを単位として前記記憶デバイスにおけるＳＣＳＩ規格の基での前記データアクセスの制御を行うとともに、時系列的に先行するＳＣＳＩ規格の基でのデータアクセスに係る制御ステップユニットの実行中は該制御ステップユニットの実行が完了するまで後続のＳＣＳＩ規格の基でのデータアクセスに係る制御ステップユニットの実行を待機させるアクセス制御デバイスと、
前記ホスト装置と該ホスト装置が指定するアクセス制御デバイスとの間において前記制御ステップユニットを実行するために、前記ＳＣＳＩコマンド、前記ＳＣＳＩデータ及び前記ＳＣＳＩステータスのうち少なくとも前記ＳＣＳＩコマンドと前記ＳＣＳＩステータスとを転送要素として含むアクセス関連情報の相互転送を、前記ホスト装置が複数の前記アクセス制御デバイスをポーリングする形式にてＵＳＢ規格に基づくシリアル通信により実行するとともに、対象となるアクセス制御デバイスが互いに異なる制御ステップユニットのアクセス関連情報を構成する前記転送要素の組をそれら組間での該転送要素の時系列的な混在を許容した形でＵＳＢ規格に基づいてデータ転送処理するシリアル通信部と、を備え、
前記アクセス制御デバイスは、前記シリアル通信部との間で前記転送要素を送受信する転送要素送受信部と、該転送要素をなす前記ＳＣＳＩコマンドを解釈してその内容に応じたデータアクセスを前記記憶デバイスに対して行う制御実行主体とからなり、
前記転送要素送受信部が前記記憶デバイスに一対一に対応する形で複数設けられ、
前記制御実行主体は、同一の記憶デバイスに対応した転送要素送受信部に対しては、時系列的に先行する前記制御ステップユニットのアクセス関連情報を構成する一連の転送要素の送受信が完了するまで、後続の制御ステップユニットのアクセス関連情報を構成する転送要素の送受信を待機させる一方、互いに異なる記憶デバイスに対応した転送要素送受信部に対しては、一つの記憶デバイスの制御ステップユニットに係る各転送要素の送受信処理期間のインターバルを利用して、他の記憶デバイスの制御ステップユニットに属する転送要素の送受信処理を行うことにより、各記憶デバイス間でのそれら制御ステップユニットの並列処理を許容するものであることを特徴とする。
【００１２】
上記本発明によると、アクセス制御デバイスは、記憶デバイス毎に機能的に独立して設けられていることから、それぞれの記憶デバイスに対する制御ステップユニットの実行を独立して行うことができ、他の記憶デバイスに対する制御ステップユニットの実行を待機させることがない。これにより、シリアル通信部は、対象となるアクセス制御デバイスが互いに異なる制御ステップユニットのアクセス関連情報を構成する転送要素の組をそれら組間での該転送要素の時系列的な混在を許容した形で転送処理することができる。その結果、ホスト装置によるそれぞれの記憶媒体に対しての迅速なデータアクセスが可能となる。
【００１３】
次に、本発明の記憶制御装置において、
記憶デバイスは、ホスト装置によるデータの書き込み、消去及び読出しが可能とされた記憶媒体が着脱可能に装着されるとともに、該記憶媒体として、記憶内容が電気的に書き換え可能であって、外部からのリセット信号を受けても当該記憶内容を保持するとともに、その記憶領域が複数の書き換え単位ブロックに分割され、該書き換え単位ブロックを単位とする形でのみ記憶内容の消去及び書き替えが可能とされた不揮発性メモリを使用するように構成することができる。
【００１４】
記憶媒体として上記のような不揮発性メモリを使用する場合、書き換え単位ブロック毎でしか消去ないし書き込みができないことから、書き込み、書き換え、あるいは消去といったメモリ記憶状態の変更を伴うデータアクセスには相当の時間が必要である。例えば、１つの書き換え単位ブロック内の一部のデータのみを書き換えたい場合でも、そのブロック全体の記憶内容を一旦ＲＡＭに退避させ、該ＲＡＭ上でデータの書き換えないし消去を行って、再び不揮発性メモリの元のブロックに書き戻す処理が必要である。そのため、従来の構成であると、複数の記憶デバイスに対してアクセス制御デバイスが共通であることから、時系列的に先行するデータアクセスに係る制御ステップユニットの実行中は該制御ステップユニットの実行が完了するまで後続のデータアクセスに係る制御ステップユニットの実行を待機させることになり、複数の上記のような不揮発性メモリへのデータアクセスの競合が生じた場合、全てのデータアクセスが完了するまでの待ち時間が非常に長くなる。
【００１５】
しかしながら、上記本発明の如く、対象となるアクセス制御デバイスが互いに異なる制御ステップユニットのアクセス関連情報を構成する転送要素の組をそれら組間での該転送要素の時系列的な混在を許容した形で転送処理することができる構成であれば、ホスト装置によるそれぞれの上記のような不揮発性メモリに対しての迅速なデータアクセスが可能となる。すなわち、上記のような不揮発性メモリを使用する場合にこそ、本発明を適用する意義が大きい。なお、上記のような不揮発性メモリとしては、例えばフラッシュメモリを挙げることができる。
【００１６】
アクセス制御デバイスは、具体的には、シリアル通信部との間で転送要素を送受信する転送要素送受信部と、該転送要素をなす主制御コマンドを解釈してその内容に応じたデータアクセスを記憶デバイスに対して行う制御実行主体とからなり、
転送要素送受信部が記憶デバイスに一対一に対応する形で複数設けられ、
制御実行主体は、同一の記憶デバイスに対応した転送要素送受信部に対しては、時系列的に先行する制御ステップユニットのアクセス関連情報を構成する一連の転送要素の送受信が完了するまで、後続の制御ステップユニットのアクセス関連情報を構成する転送要素の送受信を待機させる一方、互いに異なる記憶デバイスに対応した転送要素送受信部に対しては、一つの記憶デバイスの制御ステップユニットに係る各転送要素の送受信処理期間のインターバルを利用して、他の制御ステップユニットに属する転送要素の送受信処理を行うことにより、各記憶デバイス間でのそれら制御ステップユニットの並列処理を許容するものであるように構成することができる。
【００１７】
本発明の採用により、制御実行主体は、互いに異なる記憶デバイスに対応した転送要素送受信部に対しては、１の記憶デバイスの制御ステップユニットに係る各転送要素の送受信処理期間のインターバルを利用して、他の制御ステップユニットに属する転送要素の送受信処理を行うことで、各記憶デバイス間でのそれら制御ステップユニットの並列処理が可能となる。従って、ある記憶デバイスの制御ステップユニットの実行途上で空き時間（インターバル）が生じた場合、制御実行主体は、その空き時間を、他の記憶デバイスの制御ステップユニットの実行に充当でき、ホスト装置によるそれぞれの記憶媒体に対しての迅速なデータアクセスが可能となる。制御実行主体はＣＰＵにて構成できる。
【００１８】
ここで、本発明の記憶制御装置は、複数の転送要素送受信部にて単一の制御実行主体が共用化されてなるように構成することができる。これによれば、複数の転送要素受信部にて送受信される転送要素をなす主制御コマンドの解釈やデータアクセス制御処理の実行が単一の制御実行主体により為されるので、装置の構成を簡略化することができる。
【００１９】
また、本発明の記憶制御装置は、複数の転送要素送受信部とシリアル通信部とが専用ＩＣに集積されてなるように構成することができる。これによれば、ホスト装置と対象となる記憶デバイスとの間で送受信を担うものを専用ＩＣに集積するので、装置の構成を簡略化することができる。
【００２０】
次に、本発明の記憶制御装置は、シリアル通信部が、ホスト装置からのシリアル通信バスを接続する通信バス接続端子と、シリアル通信バスと転送要素送受信部との間の転送要素の転送通信処理を実行する通信制御部とを備え、該通信制御部が、通信バス接続端子に接続される通信処理のプロトコルエンジン部と、該プロトコルエンジン部にＦＩＦＯメモリからなる制御用の双方向エンドポイントを介して接続され、転送通信処理の制御を司る制御指令部とを備えたものとして構成できる。そして、複数の転送要素送受信部は、それぞれプロトコルエンジン部に対し、ＦＩＦＯメモリからなる該プロトコルエンジン部への入力用エンドポイントと、ＦＩＦＯメモリからなる該プロトコルエンジン部からの出力用エンドポイントとを介して入出力経路が分離された形で接続することができる。また、通信制御部は、ホスト装置側から、データアクセスの対象となる転送要素送受信部の特定情報と、該転送要素送受信部に対応するエンドポイントの特定情報とを受信して、各転送要素送受信部をターゲットデバイスとしてポーリングすることにより、データアクセス先となる記憶デバイスとデータ送受信の方向とを特定するものであるように構成することができる。
【００２１】
上記のシリアル通信部の構成はＵＳＢ規格に準じたものであり、個々の記憶デバイス毎に転送要素送受信部を設けることで、各記憶デバイスにおける制御ステップユニットの上記の並列処理が可能となる。さらに、送受信のデータバッファとなるエンドポイントが送信側と受信側とで独立して設けられ、ポーリング時にいずれのエンドポイントを指定するかによって、データの転送方向も容易に特定することができる。
【００２２】
この場合、単一の通信制御部を複数の転送要素送受信部にて共用化し、該通信制御部の１つのプロトコルエンジン部に、各々独立した入力用エンドポイント及び出力用エンドポイントの組を介して各転送要素送受信部が並列接続する構成が可能である。このようにすると、１つのプロトコルエンジン部に各転送要素送受信部が並列接続され、また、各転送要素送受信部にて制御実行主体が共用化されることで、装置の構成を簡略化することができる。特に、１つのプロトコルエンジン部に、各々独立した入力用エンドポイント及び出力用エンドポイントの組を介して各転送要素送受信部を並列接続した構造は、モノリシックＩＣとして構成することも容易であり、本発明の記憶制御装置の主要部をなすハードウェアをワンチップ化できるので、装置の小形化及び低廉化に大きく貢献する。
【００２３】
一方、上記とは対照的に、複数の転送要素送受信部に対応する形で独立した複数の通信制御部を設けることも可能である。この場合、各転送要素送受信部を、対応する通信制御部に入力用エンドポイント及び出力用エンドポイントの組を介して接続する一方、各通信制御部のプロトコルエンジン部は、ハブ回路を介して単一の通信バス接続端子に集約接続されてなるように構成することができる。これによれば、記憶デバイスの増設あるいは削減の設計変更を行う際に、転送要素送受信部と通信制御部との対を増設ないし削減することで簡単に対応できる利点がある。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施形態を、図面を参照しながら説明する。
＜第１実施形態＞
図１は、第１実施形態に係る記憶制御装置１Ａの電気的構成を表すブロック図である。記憶制御装置１Ａは、各構成を制御するためのＣＰＵ１０１と、ＣＰＵ１０１が実行するプログラム及びそれに必要なデータを記憶しているＲＯＭ１０２と、ＣＰＵ１０１がプログラムを実行する際に作業領域として利用されるＲＡＭ１０３と、ＵＳＢ規格に基づくデータ転送を制御する第１ＡＳＩＣ（ＵＳＢ系）２Ａと、各スロット６１〜６４にそれぞれ挿入される各外部メモリ７１〜７４に対するデータの読出しや書き込みに係るデータアクセスを制御する第２ＡＳＩＣ（外部メモリ系）５と、がバス（アドレスバス１０４、データバス１０５）を介して接続されている。
【００２５】
第２ＡＳＩＣ（外部メモリ系）５は、各スロット６１〜６４に挿入された各外部メモリ（記憶媒体）７１〜７４に対してデータアクセスを行う外部メモリ入出力制御部（記憶デバイス）５１〜５４を備える。ここで、各スロット６１〜６４に着脱可能に装着される各外部メモリ７１〜７４は、例えば、コンパクトフラッシュ（登録商標）、スマートメディア（登録商標）、メモリースティック（登録商標）、ＳＤメモリーカード（登録商標）など、ＰＣによるデータの書き込み、書き換え、消去、読出し、メディア装着確認等のデータアクセスが可能なフラッシュメモリを搭載したカード型記憶メディアである。なお、記憶デバイスとしては、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の読出し専用の記憶媒体からデータの読出しを行うドライブ装置や、内蔵されたハードディスクに対してデータの読出しや書き込み等を行うドライブ装置などを用いることもできる。
【００２６】
フラッシュメモリは、メモリ記憶値が「１」と「０」との間で二値切替え可能とされたメモリセルの集合からなる主メモリブロック（各サイズは、例えば１ｋバイト以上１００ｋバイト以下）を複数備えている。そして、消去モードにおいては主メモリブロック内の全メモリセルを一括して「１」とする形でのみ消去処理が可能であり、書込モードにあっては、主メモリブロック５ｆ内の任意のメモリセルを「１」から「０」へ変更する処理は可能であって、「０」から「１」へ変更する処理は不能である。
【００２７】
図１３は、フラッシュメモリのメモリセルと、その動作原理を模式的に示すものである。該メモリセル２００はＭＯＳトランジスタ構造を有し、シリコン基板上に薄いトンネル酸化膜２０８を介してフローティングゲート２０３とコントロールゲート２０２とを積層形成したものである。フローティングゲート２０３とコントロールゲート２０２との間には、トンネル酸化膜２０８よりも厚い絶縁酸化膜２０９が介挿されており、フローティングゲート２０３は周囲を絶縁体で取り囲まれた形になっている。
【００２８】
書き込み時にはワード線２０１を介してコントロールゲート２０２に書き込み用制御電圧（例えば＋約１２Ｖ）を印加しつつ、接地されたソース２０５に対し、ドレイン２０６に書き込みバイアス電圧（例えば＋約７Ｖ）を印加すると、ソース／ドレイン間で電荷が移動するとともに、その一部がトンネル効果によって、トンネル酸化膜２０８を隔てたフローティングゲート２０３側に注入される。読み出し時は、コントロールゲート２０２に書き込み時よりも低い読出し用制御電圧（例えば約５Ｖ）を印加し、ドレイン２０６に接続されたビット線２０４に読出しバイアス電圧（例えば＋１Ｖ）を印加する。もし、フローティングゲート２０３に電荷が注入されていれば、該電荷による電界によりチャネルが開いてソース／ドレイン間に電流が流れ、ビット線２０４の入力は低インピーダンス（この場合の記憶値を「０」と定義するのが一般的である）となる。他方、フローティングゲート２０３に電荷が注入されていなければチャネルが閉じてソース／ドレイン間電流は遮断され、ビット線２０４の入力は高インピーダンス（この場合の記憶値を「１」と定義するのが一般的である）となる。コントロールゲート２０２への印加電圧がゼロになっても、絶縁体に囲まれたフローティングゲート２０３の電荷注入状態は保持されるので、上記記憶状態を保つことができる。
【００２９】
一方、消去処理は、トンネル酸化膜２０８に対し書込み時とは逆向きの電界勾配を付与することにより、フローティングゲート２０３中の電荷をソース２０５側へ引き抜くことにより行う。フローティングゲート２０３中の残留電荷はデータエラーに直結するので、確実に電荷を引き抜くため、コントロールゲート２０２に書き込み時と逆極性の消去用制御電圧（−約９Ｖ）を印加するのに加え、ソース２０５に対してもコントロールゲート２０２側と逆極性の消去用バイアス電圧（＋約６Ｖ）を印加する。
【００３０】
ソース２０５は、書き込み時には接地されているから、消去時には接地から消去用電源へと接続を切り替えなければならない。もしもソース２０５がメモリセル２００毎に独立して消去用電源への切替えが可能となっていれば、書き込みと同様、消去もビット単位での処理が可能となる。しかし、この構造の場合、各メモリセル２００のソース２０５をアイソレートさせた基板構造が必要となり、また、消去用電源と接地との切替え用の配線も引き回さなければならず、メモリセル２００当たりの基板占有面積が大幅に増加するので、高集積化には明らかに不利となる。そこで、フラッシュメモリの場合は、大容量化を図るために、図１４に示すように、メモリセル２００を１ｋバイト以上１００ｋバイト以下の範囲でブロック（本発明でいう主メモリブロック５ｆ）にまとめるとともにソース２０５を共通結線し、ブロック内の全てのメモリセル２００を一括して接地２０７と消去用電源３０８との間で切り替える構造としている。その結果、フラッシュメモリでは主メモリブロック５ｆの単位でしか消去ができないのである。なお、フローティングゲート２０３への電荷の注入（つまり、記憶値を「１」から「０」へ変更すること）はメモリセル（ビット）単位で行えるが、フローティングゲート２０３からの電荷の抜き取りは、ブロック単位での消去時にしか行えない。従って、ビット単位処理の組み合わせとなるデータの書き込みに際しては、記憶値を「１」から「０」へビットダウンすることのみが可能であり、その逆、つまり、記憶値を「０」から「１」へビットアップすることは構造上不可能である。また、この原理からも明らかなように、データの書き換えは、一旦ブロック消去を行って、新たにデータを書き込む２段階の処理が必要である（つまり、ＲＡＭのような一括上書きによる書き換えは不可能である）。
【００３１】
図１の説明に戻り、第１ＡＳＩＣ（ＵＳＢ系）２Ａには、各外部メモリ入出力制御部５１〜５４に対応して設けられたＳＣＳＩコマンド・データ・ステータス送受信部（以下、単に「送受信部」という；転送要素送受信部）４１〜４４と、ＵＳＢ端子（通信バス接続端子）１０に接続されたＵＳＢプロトコルエンジン（プロトコルエンジン部）２０と、転送通信処理の制御を司るＵＳＢコントロール部（制御指令部）３０と、が集積されてなる。
【００３２】
ここで、ＵＳＢプロトコルエンジン（プロトコルエンジン部）２０と、ＵＳＢコントロール部（制御指令部）３０とで構成される部分が請求項でいう通信制御部に該当し、また、この通信制御部と、ＵＳＢ端子（通信バス接続端子）１０とで構成される部分がシリアル通信部に該当する。
【００３３】
ＵＳＢコントロール部３０は、ＵＳＢプロトコルエンジン２０にＦＩＦＯメモリからなる制御用の双方向エンドポイントを介して接続されている。また、それぞれの送受信部４１〜４４は、ＵＳＢプロトコルエンジン２０に対し、ＦＩＦＯメモリからなるＵＳＢプロトコルエンジン２０への入力用エンドポイントと、ＦＩＦＯメモリからなるＵＳＢプロトコルエンジン２０からの出力用エンドポイントとを介して入出力経路が分離された形で接続されている。
【００３４】
ＵＳＢプロトコルエンジン２０とＵＳＢコントロール部３０とで構成される通信制御部は、ＰＣ側から、対象となる送受信部４１〜４４の特定情報と、該送受信部４１〜４４に対応するエンドポイントの特定情報とを受信して、各送受信部４１〜４４をターゲットデバイスとしてポーリングすることにより、データアクセス先となる外部メモリ入出力制御部５１〜５４とデータ送受信の方向とを特定する。
【００３５】
このように、記憶制御装置１Ａでは、単一のＵＳＢプロトコルエンジン２０が複数の送受信部４１〜４４にて共用化され、ＵＳＢプロトコルエンジン２０に、各々独立した入力用エンドポイント及び出力用エンドポイントの組を介して各送受信部４１〜４４が並列接続されてなる。
【００３６】
送受信部（転送要素送受信部）４１〜４４は、ＵＳＢプロトコルエンジン２０との間で転送要素を送受信するものである。ここで、転送要素とは、ＰＣとの間でＵＳＢバスを介してやり取りされる、データアクセスの内容を特定するＳＣＳＩコマンド（主制御コマンド）、該ＳＣＳＩコマンドに特定された内容のデータアクセスに伴うＳＣＳＩデータ、データアクセス結果を示すＳＣＳＩステータスを指す。
【００３７】
また、送受信部４１〜４４は、図３に示すように、コントロールレジスタ８１（図４参照）、ステータスレジスタ８２（図５参照）、ＳＣＳＩコマンドバッファ８３、ＳＣＳＩステータスバッファ８４、ＳＣＳＩデータＤＭＡアドレスレジスタ８５、ＳＣＳＩデータＤＭＡカウントレジスタ８６を有する。これらの詳細については後述する。
【００３８】
ＣＰＵ１０１は、対象となる送受信部４１〜４４が受信したＳＣＳＩコマンドを解析する主制御コマンド解析ステップと、該ＳＣＳＩコマンドに特定された内容のデータアクセスを対象となる外部メモリ入出力制御部５１〜５４との間で行うデータアクセスステップと、データアクセス結果を示すＳＣＳＩステータスを送受信部４１〜４４に送信させるステータス送信ステップと、をこの順序で実行する。このように、ＣＰＵ１０１は、主制御コマンド解析ステップ、データアクセスステップ、ステータス送信ステップをこの順序で実行される制御ステップユニットを処理の単位としてデータアクセスの制御を行う。
【００３９】
また、ＣＰＵ１０１は、同一の外部メモリ入出力制御部（５１〜５４）に対しては、時系列的に先行する制御ステップユニットの処理中は後続の制御ステップユニットの処理を待機させる。他方、異なる外部メモリ入出力制御部（５１〜５４）に対しては、一方の外部メモリ入出力制御部（５１〜５４）に係る制御ステップユニットの処理期間のインターバルを利用した割り込み処理により、他方の外部メモリ入出力制御部（５１〜５４）に係る制御ステップユニットの処理を実行する。その結果、各外部メモリ入出力制御部（５１〜５４）間で、各々制御ステップユニットの並列処理が可能となっている。
【００４０】
本発明のアクセス制御デバイスとは、各送受信部（転送要素送受信部）４１〜４４とＣＰＵ（制御実行主体）１０１とで構成される部分を指す。すなわち、ＣＰＵ１０１は、複数の送受信部４１〜４４により共用化されているものの、各外部メモリ入出力制御部５１〜５４に対応する処理を独立して行うことから、各送受信部（転送要素送受信部）４１〜４４は、ＣＰＵ（制御実行主体）１０１と協働して、各外部メモリ入出力制御部５１〜５４に対応した、機能的には独立した４つのアクセス制御デバイスを構成している。
【００４１】
記憶制御装置１Ａの動作について説明する。記憶制御装置１Ａは、ＰＣからＵＳＢケーブルを介して供給される電源（バスパワー）により動作し、各スロット６１〜６４にそれぞれ挿入された各外部メモリ７１〜７４に対してＰＣからのデータアクセスが可能となる。図７に、データアクセスの流れを説明する図を示す。なお、図では、ＰＣ側で、第１スロット６１に対してデータの読出し（リード）のＳＣＳＩコマンドを発行した直後に、第２スロット６２に対してデータの読出し（リード）のＳＣＳＩコマンドを発行した場合を示している。
【００４２】
まず、第１スロット６１に関してのみ説明する。ＰＣからデータの読出し（リード）のＳＣＳＩコマンドが発行されると、このＳＣＳＩコマンドは、ＵＳＢバス上をデータとして伝送し、ＵＳＢプロトコルエンジン２０により対象となる第１送受信部（第１ＳＣＳＩコマンド・データ・ステータス送受信部）４１へと届けられる。第１送受信部４１がＳＣＳＩコマンドを受け取ると、ＣＰＵ１０１は、そのＳＣＳＩコマンドを解析して、第１スロット６１に挿入された第１外部メモリ７１からデータを読出すように第１外部メモリ入出力制御部５１を制御する。読み出されたデータ（ＳＣＳＩデータ）は、ＣＰＵ１０１により第１送受信部４１から送出され、ＵＳＢバス上をデータとして伝送し、ＰＣに届けられる。ＳＣＳＩデータの送出が完了すると、ＣＰＵ１０１は、データアクセス結果を示すＳＣＳＩステータスを第１送受信部４１から送出する。送出されたＳＣＳＩステータスは、ＵＳＢバス上をデータとして伝送し、ＰＣに届けられる。
【００４３】
これにより、ＣＰＵ１０１において、第１スロット６１に関する制御ステップユニットの１単位が完了する。また、この制御ステップユニットの１単位が完了する間に、ＵＳＢバス上をＳＣＳＩコマンド、ＳＣＳＩデータ、ＳＣＳＩステータスの転送要素がこの順に伝送する。なお、これらの転送要素の組をアクセス関連情報という（ＳＣＳＩデータがない場合もあり得る。）。
【００４４】
ここで、ＳＣＳＩコマンド、ＳＣＳＩデータ、ＳＣＳＩステータスは、ＵＳＢバス上を伝送される（なお、伝送される情報として見るとき、コマンド、データ及びステータスは、いずれもデータビットの組み合わせにより構成される点で実態としては同一であり、広義にはいずれも「データ」とみなすことができる。しかし、本発明では混乱を避けるため、記憶デバイスへの読み書きあるいは消去の対象となる情報のみ「データ」と称する）。ＳＣＳＩコマンドはＰＣからデバイスへと伝送し、ＳＣＳＩステータスはデバイスからＰＣへと伝送する。ＳＣＳＩデータは、その有無や伝送方向、大きさがＳＣＳＩコマンド毎に定義されており、ＳＣＳＩコマンドを解釈することによってこれらの情報を得ることができる。
【００４５】
次に、第１スロット６１に対する処理と第２スロット６２に対する処理との関係について説明する。ＰＣ側から、第１スロット６１に対してデータの読出し（リード）のＳＣＳＩコマンドが発行された直後に、第２スロット６２に対してデータの読出し（リード）のＳＣＳＩコマンドが発行された場合、ＣＰＵ１０１は、上述の通り、異なる外部メモリ入出力制御部５１、５２に対して制御ステップユニットの並列処理が可能であることから、第１スロット６１に係る制御ステップユニットの処理の途中であっても第２スロット６２に係る制御ステップユニットの処理を行うことができる。そのため、ＰＣ側からは、第１スロット６１に対するＳＣＳＩコマンドをＵＳＢバス上に伝送した後に、それに係るＳＣＳＩステータスの受け取りを待つことなく、第２スロット６２に対するＳＣＳＩコマンドをＵＳＢバス上に伝送させることができる。
【００４６】
このようにして、ＵＳＢバス上では、第１スロット６１に係る制御ステップユニットに伴う転送要素（ＳＣＳＩコマンド、ＳＣＳＩデータ、ＳＣＳＩステータス）と、第２スロット６２に係る制御ステップユニットに伴う転送要素（ＳＣＳＩコマンド、ＳＣＳＩデータ、ＳＣＳＩステータス）とを、時系列的に混在した形で伝送することが可能となる。これにより、ＵＳＢバス上においていずれの転送要素の転送も行っていない空白期間（インターバル）を有効に利用することができ、第１スロット６１に挿入された第１外部メモリ７１と第２スロット６２に挿入された第２外部メモリ７２に対してＰＣからの迅速なデータアクセスが実現する。特に、外部メモリ７１、７２が、フラッシュメモリのごとく、書き込みや消去のアクセスに長時間を要する記憶媒体にて構成されている場合、複数の外部メモリ７１、７２への書込／消去の処理効率を飛躍的に高めることが可能となる。
【００４７】
参考のため、図１０に、フラッシュメモリ等の外部メモリを装着可能な複数のスロットを備える記憶制御装置の従来構成例を示す。この記憶制御装置は、複数のスロットを備える外部メモリ入出力制御部（記憶デバイス）と、ＰＣから受け取ったＳＣＳＩコマンドを解析し、それに基づいて外部メモリ入出力制御部に対してデータアクセスを行い、データアクセス結果を示すステータスをＰＣに返すＳＣＳＩコマンド・データ・ステータス送受信部と、当該送受信部をターゲットデバイスとしてこれらの動作に伴うデータ等をＰＣとの間で相互転送するＵＳＢコントローラ（ＵＳＢプロトコルエンジンとＵＳＢコントロール部）と、を備える。
【００４８】
しかしながら、かかる構成の記憶制御装置では、以下のような問題がある。すなわち、図１１に示すように、ＳＣＳＩコマンド・データ・ステータス送受信部は、ＰＣから受け取ったＳＣＳＩコマンドを解析し、それに基づいて外部メモリ入出力制御部に対してデータアクセスを行い、データアクセス結果を示すステータスをＰＣに返すまでの処理を１つの単位として行うものであるため、例えば、第１スロットに対するコマンドを受け取ってからステータスを返すまでの間、他のスロットに対するコマンドを受け取ることはできない。そのため、ＰＣ側で、第１スロットに対するコマンドを発行した直後に第２スロットに対するコマンドを発行したとしても、ＵＳＢバスに空きが存在するにも関わらず、前回のステータスの伝送が終わるまで第２スロットに対するコマンドを待機させなければならなくなる。
【００４９】
例えば、ＰＣ側から、第１スロットに対してデータの読出し（リード）のＳＣＳＩコマンドが発行された直後に、第２スロットに対してデータの読出し（リード）のＳＣＳＩコマンドが発行された場合、ＣＰＵは、先行する第１スロットに係る制御ステップユニットの処理中は後続の第２スロットに係る制御ステップユニットを処理できない。そのため、ＵＳＢバス上において、第１スロットに係る制御ステップユニットに伴う各転送要素（ＳＣＳＩコマンド、ＳＣＳＩデータ、ＳＣＳＩステータス）の間に間隔が空いたとしても、他の転送要素が入り込むことができず、時間的な無駄が多くなってしまう。これは、上述した図７に示す本発明の場合と差が歴然である。
【００５０】
記憶制御装置１Ａのより具体的な動作について、図６のフローチャートを用いて説明する。なお、以下の説明では、１つのスロットに対する処理についてのみ行っている。複数のスロットに対しては、当該処理が割り込み処理により並列して行われる。
【００５１】
ＣＰＵ１０１は、ＰＣからＵＳＢケーブルを介して供給される電源（バスパワー）によりＯＮされると（Ｓ１）、第１ＡＳＩＣ（ＵＳＢ系）２Ａからの割り込みを許可する状態となる（Ｓ２）。第１ＡＳＩＣ（ＵＳＢ系）２Ａでは、ＰＣ側からＵＳＢバス上を伝送してきたＳＣＳＩコマンドを、ＵＳＢプロトコルエンジン２０及びＵＳＢコントロール部３０の動作によって、対象となる送受信部４１〜４４へ振り分ける。なお、ここではまだ、ＳＣＳＩコマンドを受け取ったことを示すレスポンスを返さない。
【００５２】
送受信部４１〜４４は、ＳＣＳＩコマンドを受け取ると、ステータスレジスタ８２の「コマンド受信完了」bitを１にし、ＣＰＵ１０１に割り込みを掛ける。この場合、ＣＰＵ１０１は、ステータスレジスタ８２を参照することで何のための割り込みなのかを把握することができる。また、受け取ったＳＣＳＩコマンドは、ＳＣＳＩコマンドバッファ８３に格納される。
【００５３】
ＣＰＵ１０１は、割り込みがあると（Ｓ３：YES）、送受信部４１〜４４が受け取ったＳＣＳＩコマンドの解釈を行う（Ｓ５）。すなわち、ＣＰＵ１０１は、送受信部４１〜４４のステータスレジスタ８２を参照し、送受信部４１〜４４がＳＣＳＩコマンドを受け取ったことを知ると、ＳＣＳＩコマンドバッファ８３からＳＣＳＩコマンドを取得して、それを解釈する。これにより、ＣＰＵ１０１は、ＳＣＳＩデータの有無や伝送方向、大きさを把握する。
【００５４】
ＣＰＵ１０１は、ＳＣＳＩコマンドの解釈によって、ＳＣＳＩデータが無いと把握した場合（例えば、Test Unit Readyコマンドの場合）およびＳＣＳＩデータの伝送方向がデバイス→ＰＣ（送信）であると把握した場合（例えば、Readコマンドの場合）には（Ｓ６：YES）、送受信部４１〜４４のコントロールレジスタ８１の「コマンド受付完了」bitと「ステータスレジスタクリア」bitに１を書き込む（Ｓ７）。
【００５５】
送受信部４１〜４４は、Ｓ７で「コマンド受付完了」bitに１が書き込まれた時点で、ＰＣに対してＳＣＳＩコマンドを受け取ったことを示すレスポンスを返す。ここで、ＰＣ側は、レスポンスを受け取ると、ＳＣＳＩデータが無い場合には次がＳＣＳＩステータスの受信で、ＳＣＳＩデータの伝送方向がデバイス→ＰＣである場合には次がＳＣＳＩデータの受信であるので、デバイス待ちの状態に遷移する。
【００５６】
他方、ＣＰＵ１０１は、ＳＣＳＩコマンドの解釈によって、ＳＣＳＩデータの伝送方向がＰＣ→デバイス（受信）であると把握した場合（例えば、Writeコマンドの場合）には（Ｓ６：NO）、ＰＣからのＳＣＳＩデータを受信する準備をする（Ｓ８）。具体的には、ＲＡＭ１０３上に受信に必要な領域を確保し、その先頭アドレスをＳＣＳＩデータＤＭＡアドレスレジスタ８５に書き込み、受信するバイト数をＳＣＳＩデータＤＭＡカウントレジスタ８６に書き込む。その後、送受信部４１〜４４のコントロールレジスタ８１の「コマンド受付完了」bitと「ステータスレジスタクリア」bitに１を書き込む（Ｓ９）。
【００５７】
送受信部４１〜４４は、Ｓ９で「コマンド受付完了」bitに１が書き込まれた時点で、ＰＣに対してＳＣＳＩコマンドを受け取ったことを示すレスポンスを返す。ここで、ＰＣ側は、レスポンスを受け取ると、デバイス側でＳＣＳＩコマンドを解釈してＳＣＳＩデータを受け取る準備が出来たと認識して、ＳＣＳＩデータの送信を開始する。
【００５８】
そして、送受信部４１〜４４は、ＳＣＳＩデータＤＭＡカウントレジスタ８６が０になった時点で、ステータスレジスタ８２の「データ受信完了」bitを１にし、ＣＰＵに割り込みを掛ける。
【００５９】
ＣＰＵ１０１は、割り込みがあると（Ｓ１０：YES）、送受信部４１〜４４のコントロールレジスタ８１の「データ受取完了」bitと「ステータスレジスタクリア」bitに１を書き込んで、ＳＣＳＩデータの受信を完了する（Ｓ１１：YES）。ここで、ＰＣ側は、ＳＣＳＩデータがデバイスに到達されたことが通知され、次がＳＣＳＩステータスの受信であるので、デバイス待ちの状態に遷移する。
【００６０】
Ｓ７およびＳ１１（YES）の後には、ＣＰＵ１０１は、ＳＣＳＩコマンドを実行する（Ｓ１２）。例えばTest
Unit Readyコマンドなら、外部メモリ７１〜７４が挿入されているか否かを判断する。例えばReadコマンドなら、外部メモリ７１〜７４からデータを読み出す。例えばWriteコマンドなら、この時点で書き込むべきデータをＰＣから受け取っているので（上述のＳ８〜Ｓ１１）、それを外部メモリ７１〜７４に書き込む。
【００６１】
次に、ＣＰＵ１０１は、ＳＣＳＩデータの伝送方向がデバイス→ＰＣ（送信）である場合（例えば、Readコマンドの場合）には（Ｓ１３：YES）、読み出したデータをＰＣへ送信する準備をする（Ｓ１４）。具体的には、ＲＡＭ１０３上に送信に必要な領域を確保して読み出したデータを格納するとともに、その先頭アドレスをＳＣＳＩデータＤＭＡアドレスレジスタ８５に書き込み、受信するバイト数をＳＣＳＩデータＤＭＡカウントレジスタ８６に書き込む。そして、送受信部４１〜４４のコントロールレジスタ８１の「データ送信開始」bitに１を書き込む。
【００６２】
送受信部４１〜４４は、Ｓ１４で「データ送信開始」bitに１が書き込まれた時点で、ＰＣへＳＣＳＩデータの転送を開始する。そして、送受信部４１〜４４は、ＳＣＳＩデータの転送が終わったら、ステータスレジスタ８２の「データ送信完了」bitを１にし、ＣＰＵに割り込みを掛ける。
【００６３】
ＣＰＵ１０１は、割り込みがあると（Ｓ１５：YES）、ＳＣＳＩデータの転送が終わったことを把握するので、送受信部４１〜４４のコントロールレジスタ８１の「ステータスレジスタクリア」bitに１を書き込んで、ＳＣＳＩデータの送信を完了する（Ｓ１６：YES）。
【００６４】
Ｓ１３（NO）およびＳ１６（YES）の後には、ＣＰＵ１０１は、ＳＣＳＩステータスの送信を開始する（Ｓ１７）。具体的には、ＣＰＵ１０１は、上記処理の中で、ＰＣに返すべきステータスを既に決定しているので、そのステータスをＳＣＳＩステータスバッファ８４に書き込み、送受信部４１〜４４のコントロールレジスタ８１の「ステータス送信開始」bitに１を書き込んで、ＳＣＳＩステータスの送信を開始する。
【００６５】
送受信部４１〜４４は、Ｓ１７で「ステータス送信開始」bitに１が書き込まれた時点で、ＰＣへＳＣＳＩステータスの送信を開始する。そして、送受信部４１〜４４は、ＰＣ側からＳＣＳＩステータスを受け取ったレスポンスを受けると、ステータスレジスタ８２の「ステータス送信完了」bitを１にし、ＣＰＵに割り込みを掛ける。
【００６６】
ＣＰＵ１０１は、割り込みがあると（Ｓ１８：YES）、ＳＣＳＩステータスの送信が終わったことを把握するので、送受信部４１〜４４のコントロールレジスタ８１の「ステータスレジスタクリア」bitに１を書き込んで、ＳＣＳＩデータの送信を完了する（Ｓ１９：YES）。これにより、送受信部４１〜４４のステータスレジスタ８２がクリアされて、元の状態に戻る。
【００６７】
以上の処理では、ＳＣＳＩデータに関して、ＣＰＵ１０１のメインメモリであるＲＡＭ１０３に対してＤＭＡ（ダイレクト・メモリ・アクセス）転送を行っているが、これに限らず、他のメモリを設けてそこに格納するようにしても良い。また、以上の処理では、ＳＣＳＩコマンド・ＳＣＳＩステータスに関して、第１ＡＳＩＣ（ＵＳＢ系）２Ａ内のレジスタに格納しているが、ＳＣＳＩデータと同様に、ＤＭＡ転送を適用することも可能である。
【００６８】
以上の記憶制御装置１Ａは、図８に示すように、ＰＣ側で「ＵＳＢ複合デバイス」として認識され、その下層に各外部メモリ入出力制御部５１〜５４に対応する複数の「ＵＳＢ大容量記憶装置デバイス」が認識されることになる。これに対して、従来の記憶制御装置（図１０参照）は、図１２に示すように、ＰＣ側で単一の「ＵＳＢ大容量記憶装置デバイス」と認識される。
【００６９】
＜第２実施形態＞
第２実施形態に係る記憶制御装置１Ｂについて説明する。以下、主に第１実施形態に係る記憶制御装置１Ａと異なる箇所について述べ、重複する箇所については同番号を付して説明を省略する。
【００７０】
図２は、第２実施形態に係る記憶制御装置１Ｂの電気的構成を表すブロック図である。記憶制御装置１Ｂは、第１ＡＳＩＣ（ＵＳＢ系）２Ｂが上述の第１実施形態に係る第１ＡＳＩＣ（ＵＳＢ系）２Ａと異なっている。第１ＡＳＩＣ（ＵＳＢ系）２Ｂでは、複数のＳＣＳＩコマンド・データ・ステータス送受信部４１〜４４に対応する形で、独立した複数の通信制御部（すなわち、ＵＳＢプロトコルエンジン２１〜２４とＵＳＢコントロール部３１〜３４とで構成される各組）が設けられている。各ＵＳＢプロトコルエンジン２１〜２４は、対応する送受信部４１〜４４が入力用エンドポイント及び出力用エンドポイントの組を介して接続される一方、ＵＳＢハブ回路１５を介して単一のＵＳＢ端子１５に集約接続されている。
【００７１】
ここで、ＵＳＢプロトコルエンジン２１〜２４は上述の第１実施形態に係るＵＳＢプロトコルエンジン２０と、ＵＳＢコントロール部３１〜３４は上述の第１実施形態に係るＵＳＢコントロール部３０と同じ機能を有する。これによれば、ＵＳＢハブ回路１５は、ＳＣＳＩコマンド、ＳＣＳＩデータ、ＳＣＳＩステータスの転送要素を、ＵＳＢプロトコルエンジン２１〜２４の特定情報に基づいて、対象となる送受信部４１〜４４が属するＵＳＢプロトコルエンジン２１〜２４へと振り分ける。ＵＳＢプロトコルエンジン２１〜２４へと振り分けられた転送要素は、それに属する送受信部４１〜４４へと届けられる。
【００７２】
以上の構成によっても、上述の第１実施形態に係る記憶制御装置１Ａと同様に、複数の送受信部（転送要素送受信部）４１〜４４と、各外部メモリ入出力制御部５１〜５４に対応する処理を独立して行うＣＰＵ（制御実行主体）１０１と、を有することから（本発明のアクセス制御デバイス）、図７に示す如く、ＵＳＢバス上に、１のスロット（６１〜６４）に係る制御ステップユニットに伴う転送要素（ＳＣＳＩコマンド、ＳＣＳＩデータ、ＳＣＳＩステータス）と、他のスロット（６１〜６４）に係る制御ステップユニットに伴う転送要素（ＳＣＳＩコマンド、ＳＣＳＩデータ、ＳＣＳＩステータス）と、を時系列的に混在した形で伝送させることができ、これにより、各スロット（６１〜６４）に挿入された外部メモリ７１〜７４に対してＰＣから迅速なデータアクセスを行うことができる。
【００７３】
以上の記憶制御装置１Ｂは、図９に示すように、ＰＣ側で「汎用ＵＳＢハブ」として認識され、その下層に各外部メモリ入出力制御部５１〜５４に対応する複数の「ＵＳＢ大容量記憶装置デバイス」が認識されることになる。
【００７４】
以上、本発明の実施形態について説明したが、本発明はこれらの形式に限定されるものではなく、これらに具現された発明と同一性の範囲内において適宜変更して実施し得る。
【図面の簡単な説明】
【００７５】
【図１】第１実施形態に係る記憶制御装置の電気的構成を表すブロック図
【図２】第２実施形態に係る記憶制御装置の電気的構成を表すブロック図
【図３】ＳＣＳＩコマンド・データ・ステータス送受信部の説明図
【図４】コントロールレジスタの説明図
【図５】ステータスレジスタの説明図
【図６】ＳＣＳＩコマンド・データ・ステータス送受信部が行う処理を表すフローチャート
【図７】本発明の記憶制御装置によるデータアクセスの説明図
【図８】第１実施形態に係る記憶制御装置のホスト装置側の認識例
【図９】第２実施形態に係る記憶制御装置のホスト装置側の認識例
【図１０】従来の記憶制御装置の電気的構成を表すブロック図
【図１１】従来の記憶制御装置によるデータアクセスの説明図
【図１２】従来の記憶制御装置のホスト装置側の認識例
【図１３】フラッシュメモリのメモリセルと動作原理を模式的に示す図
【図１４】メモリブロックの構成を模式的に示す図
【符号の説明】
【００７６】
１Ａ、１Ｂ  記憶制御装置
２Ａ、２Ｂ  第１ＡＳＩＣ（ＵＳＢ系）
１０  ＵＳＢ端子（通信バス接続端子）
２０  ＵＳＢプロトコルエンジン（プロトコルエンジン部）
３０  ＵＳＢコントロール部（制御指令部）
４１〜４４  ＳＣＳＩコマンド・データ・ステータス送受信部（転送要素送受信部）
５  第２ＡＳＩＣ（外部メモリ系）
５１〜５４  外部メモリ入出力制御部（記憶デバイス）
６１〜６４  スロット
７１〜７４  外部メモリ（記憶媒体）
８１  コントロールレジスタ
８２  ステータスレジスタ
８３  ＳＣＳＩコマンドバッファ
８４  ＳＣＳＩステータスバッファ
８５  ＳＣＳＩデータＤＭＡアドレスレジスタ
８６  ＳＣＳＩデータＤＭＡカウントレジスタ
１０１  ＣＰＵ（制御実行主体）
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  アドレスバス
１０５  データバス
【図１】
0004539864.tif 000002
【図２】
0004539864.tif 000003
【図３】
0004539864.tif 000004
【図４】
0004539864.tif 000005
【図５】
0004539864.tif 000006
【図６】
0004539864.tif 000007
【図７】
0004539864.tif 000008
【図８】
0004539864.tif 000009
【図９】
0004539864.tif 000010
【図１０】
0004539864.tif 000011
【図１１】
0004539864.tif 000012
【図１２】
0004539864.tif 000013
【図１３】
0004539864.tif 000014
【図１４】
0004539864.tif 000015