(57)【要約】【課題】ホスト装置の接続された一方の外部装置から他の外部装置へのデータ転送を高速化する。【解決手段】ホストデバイス１０と複数のメモリカード２０とが信号線ＤＩＯを共有して接続されている。ホストデバイス１０は、メモリ間通信を行う際、転送先メモリカード２０Ａに転送コマンドを出力する。また、ホストデバイス１０は、転送元メモリカード２０Ｂもリードコマンドを出力する。転送先メモリカード２０Ａは、転送元メモリカード２０Ｂのデータリードに同期してデータライトを行う。転送先メモリカード２０Ａと転送元メモリカード２０Ｂは、信号線ＤＩＯを共有しているので、データリードのタイミングとデータライトのタイミングとを同期させるとメモリカード間のデータ転送ができる。【選択図】図６
2006031235.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置と、上記ホスト装置のデータ伝送用の信号線を共有して装着される複数の外部装置とを備える情報処理装置であって、
上記ホスト装置は、
該ホスト装置に装着された外部装置に対して、データ読出コマンドによりデータ送信状態に制御し、データ書込コマンドによりデータ書込状態に制御し、データ転送コマンドにより他の外部装置との間でのデータ転送状態に制御する制御手段を有し、
上記データ転送コマンドによりデータ転送状態に制御された外部装置は、上記データ読出コマンドによりデータが読み出された外部装置からのデータを書き込み、上記データ書
込コマンドによりデータが書き込まれる外部装置にデータを読み出すこと
を特徴とする情報処理装置。
【請求項２】
上記データ伝送用の信号線は、上記ホスト装置のデータを転送するデータバス、データの伝送状態を示すバスステート線、及びデータ伝送の同期をとるためのクロック信号線を有し、
上記バスステート線の信号が示すバスステートに応じて上記外部装置に対するデータの書き込み、読み出しが制御され、
上記データ読出コマンドにより外部装置からデータが読み出されるバスステートで、上記データ転送コマンドによりデータ転送状態に制御された外部装置にデータ書き込みが行われ、
上記データ書込コマンドにより外部装置にデータが書き込まれるバスステートで、上記データ転送コマンドによりデータ転送状態に制御された外部装置からデータが読み出されることを特徴とする請求項１記載の情報処理装置。
【請求項３】
上記データ読出コマンド及び上記データ書込コマンドは、既存の通信規格に準拠したコマンドであること
を特徴とする請求項１記載の情報処理装置。
【請求項４】
上記外部装置は、メモリカードであることを特徴とする請求項１記載の情報処理装置。
【請求項５】
ホスト装置のデータ伝送用の信号線を共有して装着される外部装置であって、
該ホスト装置から出力されるデータ読出コマンドによりデータ読出状態となり、データ書込コマンドによりデータ書込状態となり、データ転送コマンドにより他の外部装置との間でデータの転送を行う転送状態となり、
上記データ転送状態では、上記読出コマンドによりデータが読み出される他の外部装置からのデータを書き込み、上記書込コマンドによりデータが書き込まれる他の外部装置にデータ読み出すこと
を特徴とする外部装置。
【請求項６】
データ伝送用の信号線を共有する複数の外部装置が装着されるホスト装置であって、
上記外部装置に記録されたデータを上記信号線に読み出させるデータ読出コマンド、上記信号線に出力されたデータを上記外部装置に書込ませるデータ書込コマンド、及び外部装置間のデータ転送をさせる転送コマンドを出力する制御手段を備え、
上記制御手段は、ある外部装置に転送コマンドを出力したのちに他の外部装置に書込コマンドを出力する、又は、ある外部装置に転送コマンドを出力したのちに他の外部装置に読出コマンドを出力して、上記外部装置のデータ読み出しと外部装置のデータ書き込みとを同期させる
ことを特徴とするホスト装置。
【請求項７】
ホスト装置と、上記ホスト装置のデータ伝送用の信号線を共有して装着される複数の外部装置との通信方法であって、
上記ホスト装置に装着された外部装置を他の外部装置との間でデータ転送を行うデータ転送状態にする工程と、
上記ホスト装置に装着された他の外部装置をデータ書込状態にする工程と、
上記他の外部装置のデータ書き込みに同期して上記外部装置がデータ読み出しを行うデータ転送工程と
を有することを特徴とする通信方法。
【請求項８】
ホスト装置と、上記ホスト装置のデータ伝送用の信号線を共有して装着される複数の外部装置との通信方法であって、
上記ホスト装置に装着された外部装置を他の外部装置との間でデータ転送を行うデータ転送状態にする工程と、
上記ホスト装置に装着された他の外部装置をデータ読出状態にする工程と、
上記他の外部装置のデータ読み出しに同期して上記外部装置がデータ書き込みを行うデータ転送工程とを有することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、外部装置、ホスト装置、及び通信方法に関し、特に、ホスト装置のデータ伝送用の信号線を共有して装着される複数のメモリカード等の外部装置とを備える情報処理装置、このような情報処理装置に用いられる外部装置、ホスト装置、及び外部装置とホスト装置との間の通信方法に関する。
【背景技術】
【０００２】
従来より、ホスト装置に接続される外部装置として、いわゆるメモリカードと呼ばれるリムーバブルなカード型のメモリが知られている。メモリカードの一つであるメモリスティック（登録商標）は、内蔵するフラッシュメモリに静止画像データ、動画像データ、音声データ、音楽データ等の各種デジタルデータを格納することができる。このメモリスティック等のメモリカードは、ホスト装置としての例えば情報携帯端末、デスクトップ型コンピュータ、ノート型コンピュータ、携帯電話機、オーディオ装置、ディジタルカメラ、ビデオカメラ、その他の家電装置などの電子機器に装着される外部装置である外部記憶メディアとして機能する。
【０００３】
ホストデバイスはメモリカードに記録されたデータの読み書きを行う。従来のメモリカード６０とホストデバイス７０を図１０に示す。ホストデバイス７０は、ホスト側インターフェース７４を介してメモリカード６０と接続される。この場合、具体的には、ホストデバイス７０側に設けられたメモリカードスロットにメモリカード６０が装着されることにより端子や接続ピン等が電気的及び機械的に接続されるものである。レジスタ７５は、メモリカード６０の内部状態、メモリカード６０のコマンド動作のパラメータ、メモリカード６０の管理情報などを記録する。ホストコントローラ７３は、レジスタ７５に記録された情報を元にメモリカード６０を制御する。データ処理部７６は、ホストコントローラ７３の指示に従ってデータに所定の処理を施す。挿抜検出回路７２は、ホストデバイス７０にメモリカード６０が装着されたことを信号線ＸＩＮＳの電圧の変化により検出する。ホストデバイス７０側の信号線ＸＩＮＳにはプルアップ抵抗Ｒ１が設けられており、メモリカードが挿入されていないときには信号線ＸＩＮＳは“Ｈｉｇｈレベル”になっている。一方、信号線ＸＩＮＳに接続されるメモリカード６０側の端子は接地されている。従って、メモリカード６０を挿入すると、信号線ＸＩＮＳは“Ｌｏｗレベル”になることにより、挿抜検出回路７２は、信号線ＸＩＮＳのレベルの変化によってメモリカード６０の挿入及び抜去を検出することができる。
【０００４】
ホストデバイス７０は、メモリカード６０に対してコマンドを発行する。メモリコントローラ６２は、ホストデバイス７０から受けたコマンドのパラメータやメモリカード６０の内部状態、メモリカード６０の管理情報などをレジスタ６４に記録する。カードコントローラ６２は、レジスタ６４に記録した情報を参照しながらメモリ６５の読み書き及びホストデバイス７０との通信制御を行う。
【０００５】
ホストデバイス７０とメモリカード６０とは、３本の信号線ＣＬＫ，ＢＳ，ＤＩＯを用いて通信をしている。信号線ＣＬＫはクロックを供給し、信号線ＢＳはバスの状態を示し、信号線ＤＩＯをデータの送受信に用いられる。信号線ＢＳの状態には、状態０〜状態３の４つの状態が存在し、ライトプロトコルの場合、状態０では通信をせず、状態１ではプロトコル上のコマンドに相当するコードを送信し、状態２ではデータステートと呼ばれホストデバイス７０がメモリカード６０にデータを送信し、状態３ではメモリカード６０のプロトコル処理状態を受信する。また、リードプロトコルでは、状態２でメモリカード６０のプロトコル処理状態を受信し、状態３でメモリカード６０からホストデバイス７０にデータを送信する。
【０００６】
ホストデバイス７０とメモリカード６０との間で一対多の通信を行う場合、ホストデバイス７０には、メモリカード６０と同じ数のホスト側インターフェース７４を備える必要がある。ホスト側インターフェース７４とメモリ側インターフェース６３が一対一で接続されている。このホストデバイス７０は、２のホスト側インターフェース７４−１，７４−２を備え、２つのメモリカード６０−１，６０−２と接続されている。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、図１０に示すシステムでは、一方のメモリカード６０−１から他方のメモリカード６０−２にデータ転送を行う際にホストデバイス７０を経由する必要があり、高速にデータ転送を行うことができなかった。
【０００８】
本発明は、このような実情に鑑み、ホスト装置に接続された一方の外部装置からホスト装置に接続された他の外部装置へデータ転送を高速化するホスト装置、外部装置、情報処理装置及びホスト装置と外部装置との間の通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明にかかる情報処理装置は、ホスト装置と、ホスト装置のデータ伝送用の信号線を共有して装着される複数の外部装置とを備える情報処理装置であって、ホスト装置は、ホスト装置に装着された外部装置に対して、データ読出コマンドによりデータ送信状態に制御し、データ書込コマンドによりデータ書込状態に制御し、データ転送コマンドにより他の外部装置との間でのデータ転送状態に制御する制御手段を有し、データ転送コマンドによりデータ転送状態に制御された外部装置は、データ読出コマンドによりデータが読み出された外部装置からのデータを書き込み、データ書込コマンドによりデータが書き込まれる外部装置にデータを読み出す。
【００１０】
本発明にかかる外部装置は、ホスト装置のデータ伝送用の信号線を共有して装着される外部装置であって、ホスト装置から出力されるデータ読出コマンドにより、データ読出状態となり、データ書込コマンドによりデータ書込状態となり、データ転送コマンドにより他の外部装置との間でデータの転送を行う転送状態となり、データ転送状態では、読出コマンドによりデータが読み出される他の外部装置からのデータを書き込み、書込コマンドによりデータが書き込まれる他の外部装置にデータを読み出す。
【００１１】
本発明にかかるホスト装置は、データ伝送用の信号線を共有する複数の外部装置が装着されるホスト装置であって、外部装置に記録されたデータを信号線に読み出させるデータ読出コマンド、信号線に出力されたデータを外部装置に書込ませるデータ書込コマンド、及び外部装置間のデータ転送をさせる転送コマンドを出力する制御手段を備え、制御手段は、ある外部装置に転送コマンドを出力したのちに他の外部装置に書込コマンドを出力する、又は、ある外部装置に転送コマンドを出力したのちに他の外部装置に読出コマンドを出力して、外部装置のデータ読み出しと外部装置のデータ書き込みとを同期させる。
【００１２】
本発明にかかる通信方法は、ホスト装置と、ホスト装置のデータ伝送用の信号線を共有して装着される複数の外部装置との通信方法であって、ホスト装置に装着された外部装置を他の外部装置との間でデータ転送を行うデータ転送状態にする工程と、ホスト装置に装着された他の外部装置をデータ書込状態にする工程と、他の外部装置のデータ書き込みに同期して外部装置がデータ読み出しを行うデータ転送工程とを有する。
【発明の効果】
【００１３】
本発明によれば、ホスト装置に接続されたある外部装置にデータ読出コマンドを出力してデータ送信状態にし、ホスト装置に接続された他の外部装置にデータ転送コマンドを出力してデータ転送状態にする。データ転送状態となった外部装置は、データ送信状態となった外部装置のデータ送信に同期してデータを書き込む。ホスト装置に接続された外部装置は、データ伝送用の信号線を共有しているので、データを送信するタイミングとデータを書き込むタイミングとを同期させると外部装置間のデータ転送ができる。
【００１４】
また、本発明によれば、ホスト装置に接続された外部装置にデータ書込コマンドを出力してデータ書込状態にし、ホスト装置に接続された他の外部装置にデータ転送コマンドを出力してデータ転送状態にすることもできる。この場合、データ転送状態となった外部装置は、データ書込状態となった外部装置のデータ書込に同期してデータを読み出す。このように、データ書込に同期してデータ読出を行うと、外部装置間のデータ転送ができる。
【００１５】
さらに、本発明によれば、データ転送状態にある外部装置が他のメモリ装置のデータ読出若しくはデータ書込に同期させているため、他の外部装置が既存の通信規格に準拠していればよい。
【発明を実施するための最良の形態】
【００１６】
本発明は、ホスト装置としてのホストデバイスと、ホストデバイスに制御される外部装置としてのメモリカードと、メモリカード制御システムとしての情報処理装置とに適用される。
【００１７】
以下、図面を参照して本発明を適用したメモリカード、ホストデバイス、及びメモリカード制御システムについて説明する。本発明を適用したホストデバイスとメモリカードとは、一対多の通信（マルチ通信）を行う。マルチ通信では、複数のメモリカードがホストデバイスから出力された一組の信号線を共有する。信号線を共有していることにより、あるメモリカードが出力したデータはこの信号線に接続された全てのメモリカードに伝送される。本発明を適用したメモリカード制御システムでは、これを利用してホストデバイスを経由せずにメモリカードからメモリカードへ直接データを転送する。
【００１８】
図１は、ホストデバイス１０及びメモリカード２０の外観を示す。ホストデバイス１０は、メモリカード２０を装着する複数の装着部（いわゆるメモリカードスロット）１１を備えている。図１の例では、ホストデバイス１０側に４つの装着部１１ａ，１１ｂ，１１ｃ，１１ｄが設けられ、これらの装着部１１ａ〜１１ｄに同時に４つまでのメモリカード２０ａ〜２０ｄを装着することができる。メモリカード２０にはホストデバイス１０との電気的接続を行うための接続端子（図示せず）が設けられ、ホストデバイス１０の装着部（メモリカードスロット）１１には、メモリカード２０の各接続端子と電気的接続を行うためのコネクタ（図示せず）が設けられている。装着部１１にメモリカード２０を挿入すると、装着部１０内の上記コネクタの接点とメモリカード２０の上記接続端子とが電気的に接続され、ホストデバイス１０の各信号線とメモリカード２０の各端子とが接続状態となる。装着部１０からメモリカード２０を抜き出すとホストデバイス１０からメモリカード２０との電気的接続が遮断される。
【００１９】
ホストデバイス１０にメモリカード２０を装着することにより接続状態となる信号線としては、図２に示すように、データ伝送のための信号線ＣＬＫ（クロック），ＢＳ（バスステート），ＤＩＯ（データ入出力）と、メモリカード２０の装着あるいは挿抜を検出するための信号線ＸＩＮＳが挙げられる。なお、メモリカードとしては、この他にも接続端子として例えば電源端子を有しカード装着時に電源供給線が接続されるようになっていてもよいが、本発明の要旨には関係しないため図示せず説明を省略する。
【００２０】
ここで、複数のメモリカード２０の間では、データ伝送のための信号線ＣＬＫ，ＢＳ，ＤＩＯを共有しており、ホストデバイス１０から出力された信号ＣＬＫ，ＢＳ，ＤＩＯは全てのメモリカード２０に出力される。また、本発明の第１の実施の形態では、メモリカードの挿抜を検出するための信号線ＸＩＮＳは、各メモリカード毎に独立に設けられている。すなわち、図２のＮ個のメモリカード２０−１，２０−２，・・・，２０−Ｎは、それぞれ独立のカード挿抜検出用の信号線ＸＩＮＳ１，ＸＩＮＳ２，．．．，ＸＩＮＳＮを介してホストデバイス１０に接続されるようになっている。
【００２１】
図３は、ホストデバイス１０及びメモリカード２０の具体的な構成例を示すブロック回路図である。この図３において、ホストデバイス１０のホスト側送受信回路１２には、複数、例えばＮ個のメモリカード２０−１，・・・，２０−Ｎの挿抜をそれぞれ独立に検出するための信号線ＸＩＮＳ１，．．．，ＸＩＮＳＮが接続され、各メモリカード２０−１，・・・，２０−Ｎのメモリ側送受信回路２１−１，・・・，２１−Ｎには、カード装着時にそれぞれ対応する信号線ＸＩＮＳ１，．．．，ＸＩＮＳＮが接続されるようになっている。ホスト側送受信回路１２は、メモリカード２０−１，・・・，２０−Ｎの挿抜検出をそれぞれ独立に行うことができる。すなわち、各信号線ＸＩＮＳ１，．．．，ＸＩＮＳＮにはそれぞれプルアップ抵抗Ｒ１が設けられており、メモリカード２０が挿入されていない信号線ＸＩＮＳは“Ｈｉｇｈレベル”になっている。
【００２２】
一方、メモリカード２０には、信号線ＸＩＮＳの接続端子にプルダウン抵抗Ｒ２が設けられている。メモリカード２０を挿入すると、信号線ＸＩＮＳは、プルダウン抵抗Ｒ２によって“Ｌｏｗレベル”になる。ホスト側送受信回路１２は、Ｎ個の各信号線ＸＩＮＳ１，．．．，ＸＩＮＳＮの内の“Ｌｏｗレベル”になった信号線ＸＩＮＳにメモリカード２０が装着されたことを検出する。ホストデバイス１０のホスト側送受信回路１２は、このような信号線ＸＩＮＳ１，．．．，ＸＩＮＳＮのレベルの変化によってメモリカード２０−１，・・・，２０−Ｎの挿入及び抜去状態を検出する。
【００２３】
本実施の形態におけるホストデバイス１０のホスト側送受信回路１２は、信号線ＸＩＮＳを用いて複数のメモリカードを識別するための識別子を割り当てるようにしている。信号線ＸＩＮＳを用いて識別子の割り当てが完了すると、信号線ＣＬＫ，ＢＳ，ＤＩＯを用いたデータの送受信を開始することができる。
【００２４】
図４を参照して、識別子の割当処理を説明する。この図４の例では、ホストデバイス１０側の１つの装着部（メモリカードスロット）に対して装着されたメモリカートに着目して動作を説明しているが、複数の装着部のいずれについてもメモリカードの装着時には同様な処理が行われることは勿論である。まず、メモリカード２０がホストデバイス１０に装着されると（ステップＳ１１）、メモリカード２０のプルダウン抵抗により、対応する信号線ＸＩＮＳが“Ｌｏｗレベル”に変化する（ステップＳ１２）。ホストコントローラ１３は、複数の信号線ＸＩＮＳ１，．．．，ＸＩＮＳＮの内の“Ｌｏｗレベル”に変化した信号線ＸＩＮＳに対応するスロット（装着部）へのメモリカード２０の挿入を検出し（ステップＳ１３）、ホスト側インターフェース１４の信号線ＣＬＫにカード装着確認信号としてのクロック信号を出力させる（ステップＳ１４）。
【００２５】
メモリカード２０は、メモリ側インターフェース２３によって信号線ＣＬＫから出力されるクロック信号を検出し識別子要求状態に遷移する。識別子要求状態において、メモリ側送受信回路２１は、信号線ＸＩＮＳを使用して識別子の要求信号をホストデバイス１０に送信する（ステップＳ１５）。
【００２６】
ホストデバイス１０は、ホスト側送受信回路１２によって識別子の要求信号を受信すると、メモリカード２０に識別子を割り当てるための割当信号を生成して（ステップＳ１６）、信号線ＸＩＮＳを使用して識別子の割当信号をメモリ側送受信回路２１に出力する（ステップＳ１７）。ホストデバイス１０及びメモリカード２０は、識別子の割当処理が完了すると、接続状態に遷移する。接続状態では、信号線ＣＬＫ（クロック），ＢＳ（バスステート），ＤＩＯ（データ入出力）を用いてデータの送受信を含む通信処理を行うことができる。
【００２７】
上述したように、メモリカード２０とホストデバイス１０との通信の形態が決定し、かつ、識別子の割当が終了すると、メモリカード２０とホストデバイス１０とが通信可能状態に遷移する。通信可能状態では、信号線ＣＬＫ（クロック），ＢＳ（バスステート），ＤＩＯ（データ入出力）を用いて通信を行う。
【００２８】
図５を参照してホストデバイス１０とメモリカード２０との通信手順を説明する。以下、ホストデバイス１０がメモリカード２０に記録されたデータを読み出す処理をデータリードと記し、ホストデバイス１０がメモリカード２０にデータを書き込む処理をデータライトと記す。メモリカード２０の通信手順は、データのリード時とデータのライト時で異なる。
【００２９】
メモリカード２０の通信は、信号線ＤＩＯによってデータを送受信し、信号線ＢＳが示すバスステートによって信号線ＤＩＯで伝送されるデータを識別している。バスステートは、図５に示すように、状態０，状態１，状態２，状態３の順に信号線ＢＳが反転するごとに変化する。
【００３０】
データのリード時では、状態１でホストデバイス１０からメモリカード２０にリードコマンド（読出コマンド）を出力する。このコマンドは、先頭部分にダミーデータが付加され、終端部分に識別子が付加されている。識別子は、メモリカード２０のアドレスである。コマンドを受信したメモリカード２０は、自己に割り当てられた識別子とデータに付加された識別子とを比較して自身宛てに発行されたコマンドを判断する。リードコマンドを受信したメモリカード２０は、状態２に遷移する。状態２はハンドシェイク期間である。メモリカード２０は、読み出されるデータが転送可能になるまで、ビジー信号を返し、データが転送可能になるとレディー信号を返す。状態３では、メモリカード２０からホストデバイス１０へのデータ転送を行う。
【００３１】
一方、データのライト時では、状態１でホストデバイス１０からメモリカード２０にライトコマンド（書込コマンド）を出力する。状態２がデータ転送期間となる。状態２では、ホストデバイス１０からメモリカード２０へのデータ転送を行う。状態３は、ハンドシェイク期間である。メモリカード２０は、通信を正常終了できるか判断する。メモリカード２０は、初めビジー信号を返し、通信が終了できる状態になるとレディー信号を返す。
【００３２】
このように、メモリカード２０は、リードコマンドによりメモリに記録したデータを信号線ＤＩＯに出力し、ライトコマンドにより信号線ＤＩＯで伝送されたデータをメモリに記録する。本発明を適用したメモリカード２０には、さらに、転送コマンドによりメモリカードとメモリカードとの間のデータの転送（以下、メモリ間転送と記す）を実現する。メモリ間通信では、転送元のメモリカードのデータリードと、転送先のメモリカードのデータライトのタイミングを同期させる。データリードとデータライトとを同期させることにより、特定のメモリカードから特定のメモリカードへの通信を可能としている。
【００３３】
図６は、メモリ間通信のタイミングチャートである。メモリ間通信は、主に、２パケットの通信から構成される。１つ目のパケットをコマンド制御パケットと記し、２つ目のパケットをデータ転送パケット記す。パケットは、メモリカードの通信の単位である。バスステートが状態０〜状態３に遷移する間を１パケットと呼ぶ。
【００３４】
１つ目のパケットをコマンド制御パケットと記す。コマンド制御パケットは、メモリ間通信の１〜３つのフェーズに対応する。フェーズ１では、ホストデバイス１０が転送先メモリカード２０Ａに伝送コマンドを送信する。伝送コマンドの終端部分には、識別子が挿入されている。識別子は、転送先メモリカード２０Ａのアドレスを示している。
【００３５】
フェーズ２では、ホストコマンド１０がメモリカード２０Ａに転送コマンド、及びメモリカード２０Ｂの識別子を出力する。メモリカード２０Ａは、転送元メモリカード２０Ｂの識別子をパラメータレジスタに設定し、受信要求状態に遷移する。受信要求状態に遷移した転送先メモリカード２０Ａは、転送元メモリカード２０Ｂのデータリードを待機する。メモリカード２０Ａは、転送元メモリカード２０Ｂのデータリードに同期してデータライトを行う。
【００３６】
フェーズ３は、ハンドシェイク期間である。転送先メモリカード２０Ａは、通信を正常終了できるか判断する。転送先メモリカード２０Ａは、初めホストデバイス１０にビジー信号を返し、通信が終了できる状態になるとレディー信号を返す。フェーズ３でコマンド制御パケットが終了する。
【００３７】
データ転送パケットは、メモリ間通信のフェーズ４〜フェーズ６に対応する。フェーズ４では、転送元メモリカード２０Ｂに伝送コマンドを出力する。伝送コマンドは、リードコマンドである。
【００３８】
フェーズ５は、ハンドシェイク期間である。リードコマンドを受信した転送元メモリカードは、読み出されるデータが転送可能になるまで、ビジー信号を返し、データが転送可能になるとレディー信号を返す。
【００３９】
フェーズ６は、データの転送期間である。フェーズ６において、転送元メモリカード２０Ｂのデータリードと転送先メモリカード２０Ａのデータライトとが同期する。メモリカード２０は、信号線ＤＩＯを共有しているので、転送元メモリカード２０Ｂから出力されたデータはホストデバイスを経由することなく転送先メモリカード２０Ａに転送される。
【００４０】
また、メモリ間通信では、一度の通信で全てのデータが転送されるとは限らない、この場合、データ転送パケットを繰り返し行う。すなわち、転送先メモリカード２０Ａは、バスステートが状態３になる度に信号線ＤＩＯに出力されたデータを受信する。転送先メモリカード２０Ａは、メモリカードが受信完了状態になるまでこの処理を繰り返す。
【００４１】
このメモリ間通信では、転送元のメモリカード２０Ｂは、図５に示すリード時と同じ手順で動作する。すなわち、転送元のメモリカードは、リードコマンドを受信すると（状態１）、レディー信号を出力し（状態２）、データをリードする（状態３）。この処理は、ホストデバイスとの間の通信で使用される機能である。そのため、転送元メモリカードが従来のメモリカードであっても、転送先メモリカードがメモリ間通信の機能を備えていれば、本発明を適用したメモリ間通信が実行可能である。
【００４２】
次いで、メモリ間通信における信号のやり取りを図７のシーケンス図に従って説明する。メモリ間通信では、まず、ホストデバイス１０が転送先メモリカード２０Ａのパラメータレジスタに転送元メモリカード２０Ｂの識別子を設定する。次いで、ホストデバイス１０は、転送先メモリカード２０Ａにデータ転送コマンドを出力する。転送先メモリカード２０Ａは、コマンドレジスタにデータ転送コマンドを設定し、受信要求状態に遷移する。
【００４３】
次いで、ホストデバイス１０は、転送元メモリカード２０Ｂのコマンドレジスタにリードコマンド出力する。転送元メモリカード２０Ｂは、コマンドレジスタにリードコマンドを設定する。リードコマンドは、メモリカード２０の基本的なコマンドであり、メモリ間通信の機能を備えたメモリカードであっても、メモリ間通信の機能を備えないメモリカードであっても実行することができる。
【００４４】
ホストデバイス１０は、転送元メモリカード２０Ｂのステータスレジスタを読み出す。ステータスレジスタは、転送元メモリカード２０Ｂの状態を格納している。転送元メモリカード２０Ｂの状態としては、データ送信要求状態、データ送信完了状態、コマンド実行不能状態、コマンド実行エラー状態などがある。転送元メモリカード２０Ｂがコマンド実行不能状態やコマンド実行エラー状態であるとき、ホストデバイス１０は、メモリ間転送をエラー終了する。
【００４５】
一方、転送元メモリカード２０Ｂがデータ送信要求状態やデータ送信完了状態であるとき、ホストデバイス１０は、転送先メモリカード２０Ａのステータスレジスタを読み出す。このステータスレジスタは、転送先メモリカード２０Ａの状態を格納している。転送先メモリカードの状態としては、データ受信要求状態、データ受信完了状態、コマンド実行不能状態、コマンド実行エラー状態などがある。
【００４６】
転送先メモリカード２０Ａがデータ受信要求状態であるとき、転送先メモリカード２０Ａは転送元メモリカード２０Ｂのデータリードに同期してデータライトを行う。これにより、メモリ間転送が行われる。一方、転送先メモリカード２０Ａがコマンド実行不能状態またはコマンド実行エラー状態であるとき、ホストデバイス１０は、メモリ間転送をエラー終了する。
【００４７】
以後、転送先メモリカード２０Ａと転送元メモリカード２０Ｂは、全てのデータを転送するまで、データ転送パケットを繰り返す。データの転送を完了すると、転送先メモリカード２０Ａは自身のステータスレジスタを受信完了状態に設定し、転送元メモリカード２０Ｂは自身のステータスレジスタを送信完了状態に設定する。メモリカードのステータスレジスタが完了状態になると、ホストデバイス１０は、メモリ間転送を正常終了させる。
【００４８】
これまで、データリードのタイミングにデータライトのタイミングを同期させる例について説明した。逆に、データライトのタイミングにデータリードのタイミングを同期させてもメモリ間転送が可能である。以下、この例を説明する。
【００４９】
図８は、メモリ間通信のタイミングチャートである。メモリ間通信では、２パケットかの通信から構成される。１つ目のパケットをコマンド制御パケットと記し、２つ目のパケットをデータ転送パケットと記す。パケットは、メモリカードの通信の単位である。バスステートが状態０〜状態３に遷移する期間を１パケットと呼ぶ。
【００５０】
１つ目のパケットをコマンド制御パケットと記す。コマンド制御パケットは、メモリ間通信１〜３のフェーズに対応する。フェーズ１では、ホストデバイス１０が転送元メモリカード２０Ｃに伝送コマンドを送信する。伝送コマンドの終端部分には、識別子が挿入されている。識別子は、転送元メモリカード２０Ｃのアドレスを示している。
【００５１】
フェーズ２では、ホストコマンド１０が転送元メモリカード２０Ｃに転送コマンド、及び転送先メモリカード２０Ｄの識別子を出力する。転送コマンドには、転送先メモリカード２０Ｄの識別子が含まれる。転送コマンドを受けた転送元メモリカード２０Ｃは、転送先メモリカード２０Ｄの識別子をパラメータレジスタに設定し、送信要求状態に遷移する。送信要求状態に遷移した転送元メモリカード２０Ｃは、転送先メモリカード２０Ｄのデータライトに同期してデータリードを行う。
【００５２】
フェーズ３は、ハンドシェイク期間である。転送元メモリカード２０Ｃは、通信を正常に終了できるか判断する。転送元メモリカード２０Ｃは、初めホストデバイス１０にビジー信号を返し、通信が終了できる状態になるとレディー信号を返す。フェーズ３でコマンド制御パケットが終了する。
【００５３】
データ転送パケットは、メモリ間通信のフェーズ４〜フェーズ６に対応する。フェーズ４では、転送元メモリカード２０Ｄに伝送コマンドを出力する。伝送コマンドは、ライトコマンドである。
【００５４】
フェーズ５は、データ転送期間である。フェーズ５において、転送元メモリカード２０Ｃのデータリードと転送先メモリカード２０Ｄのデータライトが同期する。メモリカード２０は、信号線ＤＩＯを共有しているので、転送元メモリカード２０Ｃから出力されたデータはホストデバイス１０を経由することなく転送先メモリカード２０Ｄに転送される。
【００５５】
フェーズ６は、ハンドシェイク期間である。ライトコマンドを受信した転送元メモリカード２０Ｄは、転送されたデータの書き込みが完了するまで、ビジー信号を返し、データの書き込みが完了するとレディー信号を返す。
【００５６】
また、メモリ間通信では、一度の通信で全てのデータが転送されるとは限らない、この場合、データ転送パケットを繰り返し行う。すなわち、転送元メモリカード２０Ｃは、バスステートが状態２になる度に信号線ＤＩＯにデータを出力する。転送元メモリカード２０Ｃは、メモリカードが送信完了状態になるまでこの処理を繰り返す。
【００５７】
このメモリ間通信では、転送先のメモリカード２０Ｄは、図５に示すリード時と同じ手順で動作する。そのため、転送先メモリカードが従来のメモリカードであってもメモリ間通信が実行可能である。
【００５８】
次いで、メモリ間通信における信号のやり取りを図９のシーケンス図に従って説明する。まず、ホストデバイス１０は、転送元メモリカード２０Ｃのパラメータレジスタに転送先メモリカード２０Ｄの識別子を設定する。次いで、ホストデバイス１０は、転送元メモリカード２０Ｃのコマンドレジスタにデータ転送コマンドを設定する。データ転送コマンドは、メモリ間転送の機能を備えたメモリカードしか実行することができない。
【００５９】
次いで、ホストデバイス１０は、転送先メモリカード２０Ｄのコマンドレジスタにライトコマンドを出力する。転送先メモリカード２０Ｄは、コマンドレジスタにライトコマンドを設定する。ライトコマンドは、メモリカード２０の基本的なコマンドであり、メモリ間転送の機能を備えたメモリカードであっても、メモリ間転送の機能を備えないメモリカードであっても実行することができる。
【００６０】
ホストデバイス１０は、転送元メモリカードの２０Ｃのステータスレジスタを読み出す。ステータスレジスタは、転送元メモリカード２０Ｃの状態を格納している。転送元メモリカード２０Ｃの状態としては、データ送信要求状態、データ送信完了状態、コマンドの実行不能状態、コマンド実行エラー状態などがある。転送元メモリカード２０Ｃがコマンドの実行不能状態やコマンド実行エラー状態であるとき、ホストデバイスは、カード間転送をエラー終了する。
【００６１】
一方、転送元メモリカード２０Ｃがデータ送信要求状態やデータ送信完了状態であるとき、ホストデバイス１０は、転送先メモリカード２０Ｄのステータスレジスタを読み出す。ステータスレジスタには、転送先メモリカード２０Ｄの状態を格納している。転送先メモリカード２０Ｄの状態としては、データ受信要求状態、データ受信完了状態、コマンド実行不能状態、コマンド実行エラー状態などがある。
【００６２】
転送先メモリカード２０Ｄがデータ受信要求状態であるとき、転送元メモリカード２０Ｃは転送先メモリカード２０Ｄのデータライトに同期してデータリードを行う。これにより、メモリ間転送が行われる。一方、転送先メモリカード２０Ｄがコマンド実行不能状態、コマンド実行エラー状態であるとき、ホストデバイス１０は、メモリ間転送をエラー終了する。
【００６３】
以後、転送元メモリカード２０Ｃと転送先メモリカード２０Ｄは、全てのデータを転送するまで、データ転送パケットを繰り返す。データの転送を完了すると、転送元メモリカード２０Ｃは自身のステータスレジスタを送信完了状態に設定し、転送先メモリカード２０Ｄは自身のステータスレジスタを受信完了状態に設定する。メモリカードのステータスレジスタが完了状態になると、ホストデバイス１０は、メモリ間転送を正常終了させる。
【００６４】
以上説明したように、本発明を適用したホストデバイスは、複数のメモリカードの装着部を備え、複数のメモリカードを一組の信号線に接続している。ホストデバイスは、信号線に接続されたメモリカードのステータスを確認し、両方のメモリカードの通信可能な状態であれば、データの転送を開始させる。このホストデバイスでは、メモリカードが信号線を共有しているため、ホストデバイスを経由せずにメモリカードからメモリカードへ直接データを転送することができる。
【００６５】
また、信号線ＤＩＯは、ホストデバイスにも接続されている。ホストデバイスは、メモリ間通信でやり取りされるデータを受信することもできる。
【００６６】
さらに、データ転送元またはデータ転送先のどちらか一方のメモリカードがメモリ間通信機能を備えていなくとも、メモリカード同士でデータ転送をすることができる。
【図面の簡単な説明】
【００６７】
【図１】ホストデバイス及びメモリカードの外観を示す図である。
【図２】ホストデバイスとメモリカードとの接続関係を示す図である。
【図３】ホストデバイスとメモリカードの具体的な構成を示すブロック回路図である。
【図４】識別子の割当処理を説明する図である。
【図５】ホストデバイスとメモリカードとの間のデータリード及びデータライトの手順を説明する図である。
【図６】転送先メモリカードが転送コマンドを受けたときのメモリ間通信の手順を示すタイミングチャートである。
【図７】転送先メモリカードが転送コマンドを受けたときのメモリ間通信の手順を示すシーケンス図である。
【図８】転送元メモリカードが転送コマンドを受けたときのメモリ間通信の手順を示すタイミングチャートである。
【図９】転送元メモリカードが転送コマンドを受けたときのメモリ間通信の手順を示すシーケンス図である。
【図１０】従来のホストデバイス及びメモリカードの構成を示す図である。
【符号の説明】
【００６８】
１０  ホストデバイス、１１  装着部、１２  ホスト側送受信回路、１３  ホストコントローラ、１４  ホスト側インターフェース、１５  レジスタ、２０  メモリカード、２１メモリ側送受信回路、２２  メモリコントローラ、２３  メモリ側インターフェース、２４  レジスタ、２５  メモリ
【図１】
2006031235.tif 000003
【図２】
2006031235.tif 000004
【図３】
2006031235.tif 000005
【図４】
2006031235.tif 000006
【図５】
2006031235.tif 000007
【図６】
2006031235.tif 000008
【図７】
2006031235.tif 000009
【図８】
2006031235.tif 000010
【図９】
2006031235.tif 000011
【図１０】
2006031235.tif 000012