JP2006031235A - 情報処理装置、外部装置、ホスト装置、及び通信方法 - Google Patents
情報処理装置、外部装置、ホスト装置、及び通信方法 Download PDFInfo
- Publication number
- JP2006031235A JP2006031235A JP2004207028A JP2004207028A JP2006031235A JP 2006031235 A JP2006031235 A JP 2006031235A JP 2004207028 A JP2004207028 A JP 2004207028A JP 2004207028 A JP2004207028 A JP 2004207028A JP 2006031235 A JP2006031235 A JP 2006031235A
- Authority
- JP
- Japan
- Prior art keywords
- data
- external device
- memory card
- state
- host device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
【課題】ホスト装置の接続された一方の外部装置から他の外部装置へのデータ転送を高速化する。
【解決手段】ホストデバイス10と複数のメモリカード20とが信号線DIOを共有して接続されている。ホストデバイス10は、メモリ間通信を行う際、転送先メモリカード20Aに転送コマンドを出力する。また、ホストデバイス10は、転送元メモリカード20Bもリードコマンドを出力する。転送先メモリカード20Aは、転送元メモリカード20Bのデータリードに同期してデータライトを行う。転送先メモリカード20Aと転送元メモリカード20Bは、信号線DIOを共有しているので、データリードのタイミングとデータライトのタイミングとを同期させるとメモリカード間のデータ転送ができる。
【選択図】図6
【解決手段】ホストデバイス10と複数のメモリカード20とが信号線DIOを共有して接続されている。ホストデバイス10は、メモリ間通信を行う際、転送先メモリカード20Aに転送コマンドを出力する。また、ホストデバイス10は、転送元メモリカード20Bもリードコマンドを出力する。転送先メモリカード20Aは、転送元メモリカード20Bのデータリードに同期してデータライトを行う。転送先メモリカード20Aと転送元メモリカード20Bは、信号線DIOを共有しているので、データリードのタイミングとデータライトのタイミングとを同期させるとメモリカード間のデータ転送ができる。
【選択図】図6
Description
本発明は、情報処理装置、外部装置、ホスト装置、及び通信方法に関し、特に、ホスト装置のデータ伝送用の信号線を共有して装着される複数のメモリカード等の外部装置とを備える情報処理装置、このような情報処理装置に用いられる外部装置、ホスト装置、及び外部装置とホスト装置との間の通信方法に関する。
従来より、ホスト装置に接続される外部装置として、いわゆるメモリカードと呼ばれるリムーバブルなカード型のメモリが知られている。メモリカードの一つであるメモリスティック(登録商標)は、内蔵するフラッシュメモリに静止画像データ、動画像データ、音声データ、音楽データ等の各種デジタルデータを格納することができる。このメモリスティック等のメモリカードは、ホスト装置としての例えば情報携帯端末、デスクトップ型コンピュータ、ノート型コンピュータ、携帯電話機、オーディオ装置、ディジタルカメラ、ビデオカメラ、その他の家電装置などの電子機器に装着される外部装置である外部記憶メディアとして機能する。
ホストデバイスはメモリカードに記録されたデータの読み書きを行う。従来のメモリカード60とホストデバイス70を図10に示す。ホストデバイス70は、ホスト側インターフェース74を介してメモリカード60と接続される。この場合、具体的には、ホストデバイス70側に設けられたメモリカードスロットにメモリカード60が装着されることにより端子や接続ピン等が電気的及び機械的に接続されるものである。レジスタ75は、メモリカード60の内部状態、メモリカード60のコマンド動作のパラメータ、メモリカード60の管理情報などを記録する。ホストコントローラ73は、レジスタ75に記録された情報を元にメモリカード60を制御する。データ処理部76は、ホストコントローラ73の指示に従ってデータに所定の処理を施す。挿抜検出回路72は、ホストデバイス70にメモリカード60が装着されたことを信号線XINSの電圧の変化により検出する。ホストデバイス70側の信号線XINSにはプルアップ抵抗R1が設けられており、メモリカードが挿入されていないときには信号線XINSは“Highレベル”になっている。一方、信号線XINSに接続されるメモリカード60側の端子は接地されている。従って、メモリカード60を挿入すると、信号線XINSは“Lowレベル”になることにより、挿抜検出回路72は、信号線XINSのレベルの変化によってメモリカード60の挿入及び抜去を検出することができる。
ホストデバイス70は、メモリカード60に対してコマンドを発行する。メモリコントローラ62は、ホストデバイス70から受けたコマンドのパラメータやメモリカード60の内部状態、メモリカード60の管理情報などをレジスタ64に記録する。カードコントローラ62は、レジスタ64に記録した情報を参照しながらメモリ65の読み書き及びホストデバイス70との通信制御を行う。
ホストデバイス70とメモリカード60とは、3本の信号線CLK,BS,DIOを用いて通信をしている。信号線CLKはクロックを供給し、信号線BSはバスの状態を示し、信号線DIOをデータの送受信に用いられる。信号線BSの状態には、状態0〜状態3の4つの状態が存在し、ライトプロトコルの場合、状態0では通信をせず、状態1ではプロトコル上のコマンドに相当するコードを送信し、状態2ではデータステートと呼ばれホストデバイス70がメモリカード60にデータを送信し、状態3ではメモリカード60のプロトコル処理状態を受信する。また、リードプロトコルでは、状態2でメモリカード60のプロトコル処理状態を受信し、状態3でメモリカード60からホストデバイス70にデータを送信する。
ホストデバイス70とメモリカード60との間で一対多の通信を行う場合、ホストデバイス70には、メモリカード60と同じ数のホスト側インターフェース74を備える必要がある。ホスト側インターフェース74とメモリ側インターフェース63が一対一で接続されている。このホストデバイス70は、2のホスト側インターフェース74−1,74−2を備え、2つのメモリカード60−1,60−2と接続されている。
しかしながら、図10に示すシステムでは、一方のメモリカード60−1から他方のメモリカード60−2にデータ転送を行う際にホストデバイス70を経由する必要があり、高速にデータ転送を行うことができなかった。
本発明は、このような実情に鑑み、ホスト装置に接続された一方の外部装置からホスト装置に接続された他の外部装置へデータ転送を高速化するホスト装置、外部装置、情報処理装置及びホスト装置と外部装置との間の通信方法を提供することを目的とする。
本発明にかかる情報処理装置は、ホスト装置と、ホスト装置のデータ伝送用の信号線を共有して装着される複数の外部装置とを備える情報処理装置であって、ホスト装置は、ホスト装置に装着された外部装置に対して、データ読出コマンドによりデータ送信状態に制御し、データ書込コマンドによりデータ書込状態に制御し、データ転送コマンドにより他の外部装置との間でのデータ転送状態に制御する制御手段を有し、データ転送コマンドによりデータ転送状態に制御された外部装置は、データ読出コマンドによりデータが読み出された外部装置からのデータを書き込み、データ書込コマンドによりデータが書き込まれる外部装置にデータを読み出す。
本発明にかかる外部装置は、ホスト装置のデータ伝送用の信号線を共有して装着される外部装置であって、ホスト装置から出力されるデータ読出コマンドにより、データ読出状態となり、データ書込コマンドによりデータ書込状態となり、データ転送コマンドにより他の外部装置との間でデータの転送を行う転送状態となり、データ転送状態では、読出コマンドによりデータが読み出される他の外部装置からのデータを書き込み、書込コマンドによりデータが書き込まれる他の外部装置にデータを読み出す。
本発明にかかるホスト装置は、データ伝送用の信号線を共有する複数の外部装置が装着されるホスト装置であって、外部装置に記録されたデータを信号線に読み出させるデータ読出コマンド、信号線に出力されたデータを外部装置に書込ませるデータ書込コマンド、及び外部装置間のデータ転送をさせる転送コマンドを出力する制御手段を備え、制御手段は、ある外部装置に転送コマンドを出力したのちに他の外部装置に書込コマンドを出力する、又は、ある外部装置に転送コマンドを出力したのちに他の外部装置に読出コマンドを出力して、外部装置のデータ読み出しと外部装置のデータ書き込みとを同期させる。
本発明にかかる通信方法は、ホスト装置と、ホスト装置のデータ伝送用の信号線を共有して装着される複数の外部装置との通信方法であって、ホスト装置に装着された外部装置を他の外部装置との間でデータ転送を行うデータ転送状態にする工程と、ホスト装置に装着された他の外部装置をデータ書込状態にする工程と、他の外部装置のデータ書き込みに同期して外部装置がデータ読み出しを行うデータ転送工程とを有する。
本発明によれば、ホスト装置に接続されたある外部装置にデータ読出コマンドを出力してデータ送信状態にし、ホスト装置に接続された他の外部装置にデータ転送コマンドを出力してデータ転送状態にする。データ転送状態となった外部装置は、データ送信状態となった外部装置のデータ送信に同期してデータを書き込む。ホスト装置に接続された外部装置は、データ伝送用の信号線を共有しているので、データを送信するタイミングとデータを書き込むタイミングとを同期させると外部装置間のデータ転送ができる。
また、本発明によれば、ホスト装置に接続された外部装置にデータ書込コマンドを出力してデータ書込状態にし、ホスト装置に接続された他の外部装置にデータ転送コマンドを出力してデータ転送状態にすることもできる。この場合、データ転送状態となった外部装置は、データ書込状態となった外部装置のデータ書込に同期してデータを読み出す。このように、データ書込に同期してデータ読出を行うと、外部装置間のデータ転送ができる。
さらに、本発明によれば、データ転送状態にある外部装置が他のメモリ装置のデータ読出若しくはデータ書込に同期させているため、他の外部装置が既存の通信規格に準拠していればよい。
本発明は、ホスト装置としてのホストデバイスと、ホストデバイスに制御される外部装置としてのメモリカードと、メモリカード制御システムとしての情報処理装置とに適用される。
以下、図面を参照して本発明を適用したメモリカード、ホストデバイス、及びメモリカード制御システムについて説明する。本発明を適用したホストデバイスとメモリカードとは、一対多の通信(マルチ通信)を行う。マルチ通信では、複数のメモリカードがホストデバイスから出力された一組の信号線を共有する。信号線を共有していることにより、あるメモリカードが出力したデータはこの信号線に接続された全てのメモリカードに伝送される。本発明を適用したメモリカード制御システムでは、これを利用してホストデバイスを経由せずにメモリカードからメモリカードへ直接データを転送する。
図1は、ホストデバイス10及びメモリカード20の外観を示す。ホストデバイス10は、メモリカード20を装着する複数の装着部(いわゆるメモリカードスロット)11を備えている。図1の例では、ホストデバイス10側に4つの装着部11a,11b,11c,11dが設けられ、これらの装着部11a〜11dに同時に4つまでのメモリカード20a〜20dを装着することができる。メモリカード20にはホストデバイス10との電気的接続を行うための接続端子(図示せず)が設けられ、ホストデバイス10の装着部(メモリカードスロット)11には、メモリカード20の各接続端子と電気的接続を行うためのコネクタ(図示せず)が設けられている。装着部11にメモリカード20を挿入すると、装着部10内の上記コネクタの接点とメモリカード20の上記接続端子とが電気的に接続され、ホストデバイス10の各信号線とメモリカード20の各端子とが接続状態となる。装着部10からメモリカード20を抜き出すとホストデバイス10からメモリカード20との電気的接続が遮断される。
ホストデバイス10にメモリカード20を装着することにより接続状態となる信号線としては、図2に示すように、データ伝送のための信号線CLK(クロック),BS(バスステート),DIO(データ入出力)と、メモリカード20の装着あるいは挿抜を検出するための信号線XINSが挙げられる。なお、メモリカードとしては、この他にも接続端子として例えば電源端子を有しカード装着時に電源供給線が接続されるようになっていてもよいが、本発明の要旨には関係しないため図示せず説明を省略する。
ここで、複数のメモリカード20の間では、データ伝送のための信号線CLK,BS,DIOを共有しており、ホストデバイス10から出力された信号CLK,BS,DIOは全てのメモリカード20に出力される。また、本発明の第1の実施の形態では、メモリカードの挿抜を検出するための信号線XINSは、各メモリカード毎に独立に設けられている。すなわち、図2のN個のメモリカード20−1,20−2,・・・,20−Nは、それぞれ独立のカード挿抜検出用の信号線XINS1,XINS2,...,XINSNを介してホストデバイス10に接続されるようになっている。
図3は、ホストデバイス10及びメモリカード20の具体的な構成例を示すブロック回路図である。この図3において、ホストデバイス10のホスト側送受信回路12には、複数、例えばN個のメモリカード20−1,・・・,20−Nの挿抜をそれぞれ独立に検出するための信号線XINS1,...,XINSNが接続され、各メモリカード20−1,・・・,20−Nのメモリ側送受信回路21−1,・・・,21−Nには、カード装着時にそれぞれ対応する信号線XINS1,...,XINSNが接続されるようになっている。ホスト側送受信回路12は、メモリカード20−1,・・・,20−Nの挿抜検出をそれぞれ独立に行うことができる。すなわち、各信号線XINS1,...,XINSNにはそれぞれプルアップ抵抗R1が設けられており、メモリカード20が挿入されていない信号線XINSは“Highレベル”になっている。
一方、メモリカード20には、信号線XINSの接続端子にプルダウン抵抗R2が設けられている。メモリカード20を挿入すると、信号線XINSは、プルダウン抵抗R2によって“Lowレベル”になる。ホスト側送受信回路12は、N個の各信号線XINS1,...,XINSNの内の“Lowレベル”になった信号線XINSにメモリカード20が装着されたことを検出する。ホストデバイス10のホスト側送受信回路12は、このような信号線XINS1,...,XINSNのレベルの変化によってメモリカード20−1,・・・,20−Nの挿入及び抜去状態を検出する。
本実施の形態におけるホストデバイス10のホスト側送受信回路12は、信号線XINSを用いて複数のメモリカードを識別するための識別子を割り当てるようにしている。信号線XINSを用いて識別子の割り当てが完了すると、信号線CLK,BS,DIOを用いたデータの送受信を開始することができる。
図4を参照して、識別子の割当処理を説明する。この図4の例では、ホストデバイス10側の1つの装着部(メモリカードスロット)に対して装着されたメモリカートに着目して動作を説明しているが、複数の装着部のいずれについてもメモリカードの装着時には同様な処理が行われることは勿論である。まず、メモリカード20がホストデバイス10に装着されると(ステップS11)、メモリカード20のプルダウン抵抗により、対応する信号線XINSが“Lowレベル”に変化する(ステップS12)。ホストコントローラ13は、複数の信号線XINS1,...,XINSNの内の“Lowレベル”に変化した信号線XINSに対応するスロット(装着部)へのメモリカード20の挿入を検出し(ステップS13)、ホスト側インターフェース14の信号線CLKにカード装着確認信号としてのクロック信号を出力させる(ステップS14)。
メモリカード20は、メモリ側インターフェース23によって信号線CLKから出力されるクロック信号を検出し識別子要求状態に遷移する。識別子要求状態において、メモリ側送受信回路21は、信号線XINSを使用して識別子の要求信号をホストデバイス10に送信する(ステップS15)。
ホストデバイス10は、ホスト側送受信回路12によって識別子の要求信号を受信すると、メモリカード20に識別子を割り当てるための割当信号を生成して(ステップS16)、信号線XINSを使用して識別子の割当信号をメモリ側送受信回路21に出力する(ステップS17)。ホストデバイス10及びメモリカード20は、識別子の割当処理が完了すると、接続状態に遷移する。接続状態では、信号線CLK(クロック),BS(バスステート),DIO(データ入出力)を用いてデータの送受信を含む通信処理を行うことができる。
上述したように、メモリカード20とホストデバイス10との通信の形態が決定し、かつ、識別子の割当が終了すると、メモリカード20とホストデバイス10とが通信可能状態に遷移する。通信可能状態では、信号線CLK(クロック),BS(バスステート),DIO(データ入出力)を用いて通信を行う。
図5を参照してホストデバイス10とメモリカード20との通信手順を説明する。以下、ホストデバイス10がメモリカード20に記録されたデータを読み出す処理をデータリードと記し、ホストデバイス10がメモリカード20にデータを書き込む処理をデータライトと記す。メモリカード20の通信手順は、データのリード時とデータのライト時で異なる。
メモリカード20の通信は、信号線DIOによってデータを送受信し、信号線BSが示すバスステートによって信号線DIOで伝送されるデータを識別している。バスステートは、図5に示すように、状態0,状態1,状態2,状態3の順に信号線BSが反転するごとに変化する。
データのリード時では、状態1でホストデバイス10からメモリカード20にリードコマンド(読出コマンド)を出力する。このコマンドは、先頭部分にダミーデータが付加され、終端部分に識別子が付加されている。識別子は、メモリカード20のアドレスである。コマンドを受信したメモリカード20は、自己に割り当てられた識別子とデータに付加された識別子とを比較して自身宛てに発行されたコマンドを判断する。リードコマンドを受信したメモリカード20は、状態2に遷移する。状態2はハンドシェイク期間である。メモリカード20は、読み出されるデータが転送可能になるまで、ビジー信号を返し、データが転送可能になるとレディー信号を返す。状態3では、メモリカード20からホストデバイス10へのデータ転送を行う。
一方、データのライト時では、状態1でホストデバイス10からメモリカード20にライトコマンド(書込コマンド)を出力する。状態2がデータ転送期間となる。状態2では、ホストデバイス10からメモリカード20へのデータ転送を行う。状態3は、ハンドシェイク期間である。メモリカード20は、通信を正常終了できるか判断する。メモリカード20は、初めビジー信号を返し、通信が終了できる状態になるとレディー信号を返す。
このように、メモリカード20は、リードコマンドによりメモリに記録したデータを信号線DIOに出力し、ライトコマンドにより信号線DIOで伝送されたデータをメモリに記録する。本発明を適用したメモリカード20には、さらに、転送コマンドによりメモリカードとメモリカードとの間のデータの転送(以下、メモリ間転送と記す)を実現する。メモリ間通信では、転送元のメモリカードのデータリードと、転送先のメモリカードのデータライトのタイミングを同期させる。データリードとデータライトとを同期させることにより、特定のメモリカードから特定のメモリカードへの通信を可能としている。
図6は、メモリ間通信のタイミングチャートである。メモリ間通信は、主に、2パケットの通信から構成される。1つ目のパケットをコマンド制御パケットと記し、2つ目のパケットをデータ転送パケット記す。パケットは、メモリカードの通信の単位である。バスステートが状態0〜状態3に遷移する間を1パケットと呼ぶ。
1つ目のパケットをコマンド制御パケットと記す。コマンド制御パケットは、メモリ間通信の1〜3つのフェーズに対応する。フェーズ1では、ホストデバイス10が転送先メモリカード20Aに伝送コマンドを送信する。伝送コマンドの終端部分には、識別子が挿入されている。識別子は、転送先メモリカード20Aのアドレスを示している。
フェーズ2では、ホストコマンド10がメモリカード20Aに転送コマンド、及びメモリカード20Bの識別子を出力する。メモリカード20Aは、転送元メモリカード20Bの識別子をパラメータレジスタに設定し、受信要求状態に遷移する。受信要求状態に遷移した転送先メモリカード20Aは、転送元メモリカード20Bのデータリードを待機する。メモリカード20Aは、転送元メモリカード20Bのデータリードに同期してデータライトを行う。
フェーズ3は、ハンドシェイク期間である。転送先メモリカード20Aは、通信を正常終了できるか判断する。転送先メモリカード20Aは、初めホストデバイス10にビジー信号を返し、通信が終了できる状態になるとレディー信号を返す。フェーズ3でコマンド制御パケットが終了する。
データ転送パケットは、メモリ間通信のフェーズ4〜フェーズ6に対応する。フェーズ4では、転送元メモリカード20Bに伝送コマンドを出力する。伝送コマンドは、リードコマンドである。
フェーズ5は、ハンドシェイク期間である。リードコマンドを受信した転送元メモリカードは、読み出されるデータが転送可能になるまで、ビジー信号を返し、データが転送可能になるとレディー信号を返す。
フェーズ6は、データの転送期間である。フェーズ6において、転送元メモリカード20Bのデータリードと転送先メモリカード20Aのデータライトとが同期する。メモリカード20は、信号線DIOを共有しているので、転送元メモリカード20Bから出力されたデータはホストデバイスを経由することなく転送先メモリカード20Aに転送される。
また、メモリ間通信では、一度の通信で全てのデータが転送されるとは限らない、この場合、データ転送パケットを繰り返し行う。すなわち、転送先メモリカード20Aは、バスステートが状態3になる度に信号線DIOに出力されたデータを受信する。転送先メモリカード20Aは、メモリカードが受信完了状態になるまでこの処理を繰り返す。
このメモリ間通信では、転送元のメモリカード20Bは、図5に示すリード時と同じ手順で動作する。すなわち、転送元のメモリカードは、リードコマンドを受信すると(状態1)、レディー信号を出力し(状態2)、データをリードする(状態3)。この処理は、ホストデバイスとの間の通信で使用される機能である。そのため、転送元メモリカードが従来のメモリカードであっても、転送先メモリカードがメモリ間通信の機能を備えていれば、本発明を適用したメモリ間通信が実行可能である。
次いで、メモリ間通信における信号のやり取りを図7のシーケンス図に従って説明する。メモリ間通信では、まず、ホストデバイス10が転送先メモリカード20Aのパラメータレジスタに転送元メモリカード20Bの識別子を設定する。次いで、ホストデバイス10は、転送先メモリカード20Aにデータ転送コマンドを出力する。転送先メモリカード20Aは、コマンドレジスタにデータ転送コマンドを設定し、受信要求状態に遷移する。
次いで、ホストデバイス10は、転送元メモリカード20Bのコマンドレジスタにリードコマンド出力する。転送元メモリカード20Bは、コマンドレジスタにリードコマンドを設定する。リードコマンドは、メモリカード20の基本的なコマンドであり、メモリ間通信の機能を備えたメモリカードであっても、メモリ間通信の機能を備えないメモリカードであっても実行することができる。
ホストデバイス10は、転送元メモリカード20Bのステータスレジスタを読み出す。ステータスレジスタは、転送元メモリカード20Bの状態を格納している。転送元メモリカード20Bの状態としては、データ送信要求状態、データ送信完了状態、コマンド実行不能状態、コマンド実行エラー状態などがある。転送元メモリカード20Bがコマンド実行不能状態やコマンド実行エラー状態であるとき、ホストデバイス10は、メモリ間転送をエラー終了する。
一方、転送元メモリカード20Bがデータ送信要求状態やデータ送信完了状態であるとき、ホストデバイス10は、転送先メモリカード20Aのステータスレジスタを読み出す。このステータスレジスタは、転送先メモリカード20Aの状態を格納している。転送先メモリカードの状態としては、データ受信要求状態、データ受信完了状態、コマンド実行不能状態、コマンド実行エラー状態などがある。
転送先メモリカード20Aがデータ受信要求状態であるとき、転送先メモリカード20Aは転送元メモリカード20Bのデータリードに同期してデータライトを行う。これにより、メモリ間転送が行われる。一方、転送先メモリカード20Aがコマンド実行不能状態またはコマンド実行エラー状態であるとき、ホストデバイス10は、メモリ間転送をエラー終了する。
以後、転送先メモリカード20Aと転送元メモリカード20Bは、全てのデータを転送するまで、データ転送パケットを繰り返す。データの転送を完了すると、転送先メモリカード20Aは自身のステータスレジスタを受信完了状態に設定し、転送元メモリカード20Bは自身のステータスレジスタを送信完了状態に設定する。メモリカードのステータスレジスタが完了状態になると、ホストデバイス10は、メモリ間転送を正常終了させる。
これまで、データリードのタイミングにデータライトのタイミングを同期させる例について説明した。逆に、データライトのタイミングにデータリードのタイミングを同期させてもメモリ間転送が可能である。以下、この例を説明する。
図8は、メモリ間通信のタイミングチャートである。メモリ間通信では、2パケットかの通信から構成される。1つ目のパケットをコマンド制御パケットと記し、2つ目のパケットをデータ転送パケットと記す。パケットは、メモリカードの通信の単位である。バスステートが状態0〜状態3に遷移する期間を1パケットと呼ぶ。
1つ目のパケットをコマンド制御パケットと記す。コマンド制御パケットは、メモリ間通信1〜3のフェーズに対応する。フェーズ1では、ホストデバイス10が転送元メモリカード20Cに伝送コマンドを送信する。伝送コマンドの終端部分には、識別子が挿入されている。識別子は、転送元メモリカード20Cのアドレスを示している。
フェーズ2では、ホストコマンド10が転送元メモリカード20Cに転送コマンド、及び転送先メモリカード20Dの識別子を出力する。転送コマンドには、転送先メモリカード20Dの識別子が含まれる。転送コマンドを受けた転送元メモリカード20Cは、転送先メモリカード20Dの識別子をパラメータレジスタに設定し、送信要求状態に遷移する。送信要求状態に遷移した転送元メモリカード20Cは、転送先メモリカード20Dのデータライトに同期してデータリードを行う。
フェーズ3は、ハンドシェイク期間である。転送元メモリカード20Cは、通信を正常に終了できるか判断する。転送元メモリカード20Cは、初めホストデバイス10にビジー信号を返し、通信が終了できる状態になるとレディー信号を返す。フェーズ3でコマンド制御パケットが終了する。
データ転送パケットは、メモリ間通信のフェーズ4〜フェーズ6に対応する。フェーズ4では、転送元メモリカード20Dに伝送コマンドを出力する。伝送コマンドは、ライトコマンドである。
フェーズ5は、データ転送期間である。フェーズ5において、転送元メモリカード20Cのデータリードと転送先メモリカード20Dのデータライトが同期する。メモリカード20は、信号線DIOを共有しているので、転送元メモリカード20Cから出力されたデータはホストデバイス10を経由することなく転送先メモリカード20Dに転送される。
フェーズ6は、ハンドシェイク期間である。ライトコマンドを受信した転送元メモリカード20Dは、転送されたデータの書き込みが完了するまで、ビジー信号を返し、データの書き込みが完了するとレディー信号を返す。
また、メモリ間通信では、一度の通信で全てのデータが転送されるとは限らない、この場合、データ転送パケットを繰り返し行う。すなわち、転送元メモリカード20Cは、バスステートが状態2になる度に信号線DIOにデータを出力する。転送元メモリカード20Cは、メモリカードが送信完了状態になるまでこの処理を繰り返す。
このメモリ間通信では、転送先のメモリカード20Dは、図5に示すリード時と同じ手順で動作する。そのため、転送先メモリカードが従来のメモリカードであってもメモリ間通信が実行可能である。
次いで、メモリ間通信における信号のやり取りを図9のシーケンス図に従って説明する。まず、ホストデバイス10は、転送元メモリカード20Cのパラメータレジスタに転送先メモリカード20Dの識別子を設定する。次いで、ホストデバイス10は、転送元メモリカード20Cのコマンドレジスタにデータ転送コマンドを設定する。データ転送コマンドは、メモリ間転送の機能を備えたメモリカードしか実行することができない。
次いで、ホストデバイス10は、転送先メモリカード20Dのコマンドレジスタにライトコマンドを出力する。転送先メモリカード20Dは、コマンドレジスタにライトコマンドを設定する。ライトコマンドは、メモリカード20の基本的なコマンドであり、メモリ間転送の機能を備えたメモリカードであっても、メモリ間転送の機能を備えないメモリカードであっても実行することができる。
ホストデバイス10は、転送元メモリカードの20Cのステータスレジスタを読み出す。ステータスレジスタは、転送元メモリカード20Cの状態を格納している。転送元メモリカード20Cの状態としては、データ送信要求状態、データ送信完了状態、コマンドの実行不能状態、コマンド実行エラー状態などがある。転送元メモリカード20Cがコマンドの実行不能状態やコマンド実行エラー状態であるとき、ホストデバイスは、カード間転送をエラー終了する。
一方、転送元メモリカード20Cがデータ送信要求状態やデータ送信完了状態であるとき、ホストデバイス10は、転送先メモリカード20Dのステータスレジスタを読み出す。ステータスレジスタには、転送先メモリカード20Dの状態を格納している。転送先メモリカード20Dの状態としては、データ受信要求状態、データ受信完了状態、コマンド実行不能状態、コマンド実行エラー状態などがある。
転送先メモリカード20Dがデータ受信要求状態であるとき、転送元メモリカード20Cは転送先メモリカード20Dのデータライトに同期してデータリードを行う。これにより、メモリ間転送が行われる。一方、転送先メモリカード20Dがコマンド実行不能状態、コマンド実行エラー状態であるとき、ホストデバイス10は、メモリ間転送をエラー終了する。
以後、転送元メモリカード20Cと転送先メモリカード20Dは、全てのデータを転送するまで、データ転送パケットを繰り返す。データの転送を完了すると、転送元メモリカード20Cは自身のステータスレジスタを送信完了状態に設定し、転送先メモリカード20Dは自身のステータスレジスタを受信完了状態に設定する。メモリカードのステータスレジスタが完了状態になると、ホストデバイス10は、メモリ間転送を正常終了させる。
以上説明したように、本発明を適用したホストデバイスは、複数のメモリカードの装着部を備え、複数のメモリカードを一組の信号線に接続している。ホストデバイスは、信号線に接続されたメモリカードのステータスを確認し、両方のメモリカードの通信可能な状態であれば、データの転送を開始させる。このホストデバイスでは、メモリカードが信号線を共有しているため、ホストデバイスを経由せずにメモリカードからメモリカードへ直接データを転送することができる。
また、信号線DIOは、ホストデバイスにも接続されている。ホストデバイスは、メモリ間通信でやり取りされるデータを受信することもできる。
さらに、データ転送元またはデータ転送先のどちらか一方のメモリカードがメモリ間通信機能を備えていなくとも、メモリカード同士でデータ転送をすることができる。
10 ホストデバイス、11 装着部、12 ホスト側送受信回路、13 ホストコントローラ、14 ホスト側インターフェース、15 レジスタ、20 メモリカード、21メモリ側送受信回路、22 メモリコントローラ、23 メモリ側インターフェース、24 レジスタ、25 メモリ
Claims (8)
- ホスト装置と、上記ホスト装置のデータ伝送用の信号線を共有して装着される複数の外部装置とを備える情報処理装置であって、
上記ホスト装置は、
該ホスト装置に装着された外部装置に対して、データ読出コマンドによりデータ送信状態に制御し、データ書込コマンドによりデータ書込状態に制御し、データ転送コマンドにより他の外部装置との間でのデータ転送状態に制御する制御手段を有し、
上記データ転送コマンドによりデータ転送状態に制御された外部装置は、上記データ読出コマンドによりデータが読み出された外部装置からのデータを書き込み、上記データ書
込コマンドによりデータが書き込まれる外部装置にデータを読み出すこと
を特徴とする情報処理装置。 - 上記データ伝送用の信号線は、上記ホスト装置のデータを転送するデータバス、データの伝送状態を示すバスステート線、及びデータ伝送の同期をとるためのクロック信号線を有し、
上記バスステート線の信号が示すバスステートに応じて上記外部装置に対するデータの書き込み、読み出しが制御され、
上記データ読出コマンドにより外部装置からデータが読み出されるバスステートで、上記データ転送コマンドによりデータ転送状態に制御された外部装置にデータ書き込みが行われ、
上記データ書込コマンドにより外部装置にデータが書き込まれるバスステートで、上記データ転送コマンドによりデータ転送状態に制御された外部装置からデータが読み出されることを特徴とする請求項1記載の情報処理装置。 - 上記データ読出コマンド及び上記データ書込コマンドは、既存の通信規格に準拠したコマンドであること
を特徴とする請求項1記載の情報処理装置。 - 上記外部装置は、メモリカードであることを特徴とする請求項1記載の情報処理装置。
- ホスト装置のデータ伝送用の信号線を共有して装着される外部装置であって、
該ホスト装置から出力されるデータ読出コマンドによりデータ読出状態となり、データ書込コマンドによりデータ書込状態となり、データ転送コマンドにより他の外部装置との間でデータの転送を行う転送状態となり、
上記データ転送状態では、上記読出コマンドによりデータが読み出される他の外部装置からのデータを書き込み、上記書込コマンドによりデータが書き込まれる他の外部装置にデータ読み出すこと
を特徴とする外部装置。 - データ伝送用の信号線を共有する複数の外部装置が装着されるホスト装置であって、
上記外部装置に記録されたデータを上記信号線に読み出させるデータ読出コマンド、上記信号線に出力されたデータを上記外部装置に書込ませるデータ書込コマンド、及び外部装置間のデータ転送をさせる転送コマンドを出力する制御手段を備え、
上記制御手段は、ある外部装置に転送コマンドを出力したのちに他の外部装置に書込コマンドを出力する、又は、ある外部装置に転送コマンドを出力したのちに他の外部装置に読出コマンドを出力して、上記外部装置のデータ読み出しと外部装置のデータ書き込みとを同期させる
ことを特徴とするホスト装置。 - ホスト装置と、上記ホスト装置のデータ伝送用の信号線を共有して装着される複数の外部装置との通信方法であって、
上記ホスト装置に装着された外部装置を他の外部装置との間でデータ転送を行うデータ転送状態にする工程と、
上記ホスト装置に装着された他の外部装置をデータ書込状態にする工程と、
上記他の外部装置のデータ書き込みに同期して上記外部装置がデータ読み出しを行うデータ転送工程と
を有することを特徴とする通信方法。 - ホスト装置と、上記ホスト装置のデータ伝送用の信号線を共有して装着される複数の外部装置との通信方法であって、
上記ホスト装置に装着された外部装置を他の外部装置との間でデータ転送を行うデータ転送状態にする工程と、
上記ホスト装置に装着された他の外部装置をデータ読出状態にする工程と、
上記他の外部装置のデータ読み出しに同期して上記外部装置がデータ書き込みを行うデータ転送工程とを有することを特徴とする通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004207028A JP2006031235A (ja) | 2004-07-14 | 2004-07-14 | 情報処理装置、外部装置、ホスト装置、及び通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004207028A JP2006031235A (ja) | 2004-07-14 | 2004-07-14 | 情報処理装置、外部装置、ホスト装置、及び通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006031235A true JP2006031235A (ja) | 2006-02-02 |
Family
ID=35897529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004207028A Withdrawn JP2006031235A (ja) | 2004-07-14 | 2004-07-14 | 情報処理装置、外部装置、ホスト装置、及び通信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006031235A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014010708A (ja) * | 2012-06-29 | 2014-01-20 | Toshiba Corp | メモリシステム |
JP2014016734A (ja) * | 2012-07-06 | 2014-01-30 | Toshiba Corp | メモリシステム |
JP2014016733A (ja) * | 2012-07-06 | 2014-01-30 | Toshiba Corp | メモリシステム |
-
2004
- 2004-07-14 JP JP2004207028A patent/JP2006031235A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014010708A (ja) * | 2012-06-29 | 2014-01-20 | Toshiba Corp | メモリシステム |
JP2014016734A (ja) * | 2012-07-06 | 2014-01-30 | Toshiba Corp | メモリシステム |
JP2014016733A (ja) * | 2012-07-06 | 2014-01-30 | Toshiba Corp | メモリシステム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4799417B2 (ja) | ホストコントローラ | |
JP4843747B2 (ja) | スレーブ装置間での直接データ転送 | |
JP2007011788A (ja) | メモリカード及びそのホスト機器 | |
CN105468548B (zh) | 串行外围接口的通信 | |
CN107908589B (zh) | I3c验证从设备、主从设备的通信验证系统及方法 | |
JPH1083375A (ja) | Scsiシステム | |
CN104834619B (zh) | 一种i2c总线电路、实现方法以及电子设备 | |
KR20040011103A (ko) | 카드 삽입 인식에 의한 데이터 전송 상태 자동 설정 장치및 방법 | |
JPH1153306A (ja) | データ処理装置、外部記憶装置、データ処理システム及びデータ伝送方法 | |
JP4588427B2 (ja) | メモリシステムおよびホストとメモリカードとの間のデータ伝送速度設定方法 | |
JP4198167B2 (ja) | アダプタ装置、データ伝送システム | |
JPWO2002069127A1 (ja) | 記憶媒体制御方法、記憶媒体制御装置、および記憶媒体アダプタ | |
JP2006031235A (ja) | 情報処理装置、外部装置、ホスト装置、及び通信方法 | |
EP2725499A1 (en) | Method for assigning dynamically an identifier to a slave device in I2C data bus | |
CN112559402B (zh) | 一种基于fpga的pci从接口控制电路及fpga | |
KR101816895B1 (ko) | 섀시형 통신 장비를 위한 관리용 시리얼 버스 | |
JP2006024143A (ja) | 情報処理装置、外部装置、ホスト装置、及び通信方法 | |
KR101260313B1 (ko) | 전자장치 및 그 데이터 송수신방법과, 슬레이브 장치 및복수의 장치 간의 통신방법 | |
JP4431768B2 (ja) | 携帯型電子装置、読み出し方法及び書き込み方法 | |
JP2004078402A (ja) | データ転送制御装置、電子機器、プログラム及び電子機器の製造方法 | |
KR20130009536A (ko) | 메모리 제어 장치 및 방법 | |
US20070131767A1 (en) | System and method for media card communication | |
CN113961496A (zh) | 通信电路系统、方法、芯片以及存储介质 | |
CN103365811A (zh) | 电子装置和主机确定方法 | |
CN216014148U (zh) | 一种服务器和服务器背板 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20071002 |