JP2006350881A - Memory card controller and memory card control system - Google Patents
Memory card controller and memory card control system Download PDFInfo
- Publication number
- JP2006350881A JP2006350881A JP2005178771A JP2005178771A JP2006350881A JP 2006350881 A JP2006350881 A JP 2006350881A JP 2005178771 A JP2005178771 A JP 2005178771A JP 2005178771 A JP2005178771 A JP 2005178771A JP 2006350881 A JP2006350881 A JP 2006350881A
- Authority
- JP
- Japan
- Prior art keywords
- command
- memory card
- time
- timeout
- control 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.)
- Pending
Links
Images
Abstract
Description
本発明は、タイムアウト処理時間が異なる複数のコマンドを有するメモリーカードを制御するメモリーカード制御装置およびシステムに関するものである。 The present invention relates to a memory card control apparatus and system for controlling a memory card having a plurality of commands with different timeout processing times.
近年、パーソナルコンピュータ、シリコンオーディオプレーヤー、デジタルカメラ、携帯電話等の様々な携帯型電子機器が開発され、これらの電子機器のリムーバブル記憶デバイスの1つとしてメモリーカードが多く用いられている。メモリーカードとしては、PCカード、および、SD(Secure Digital)メモリーカード(登録商標)が知られている。 In recent years, various portable electronic devices such as personal computers, silicon audio players, digital cameras, and mobile phones have been developed, and a memory card is often used as one of the removable storage devices of these electronic devices. As the memory card, a PC card and an SD (Secure Digital) memory card (registered trademark) are known.
このSDメモリーカード(登録商標)は音楽データなどのコンテンツの著作権保護を目的としたセキュリティ機能を有しており、SDメモリーカード(登録商標)に記憶した音楽データをその不正コピーなどから保護することができる。 This SD memory card (registered trademark) has a security function for the purpose of protecting the copyright of contents such as music data, and protects the music data stored in the SD memory card (registered trademark) from unauthorized copying. be able to.
一般に、このようなセキュリティ機能付きメモリーカードは、カード内にコントローラと、ユーザーが自由にアクセス可能なデータ記憶領域であるユーザーデータエリアと、セキュリティ機能に守られたデータ記憶領域であるセキュアエリアが設けられている。 Generally, such a memory card with a security function includes a controller, a user data area that is a data storage area that a user can freely access, and a secure area that is a data storage area protected by the security function. It has been.
パソコンからセキュアエリアへのアクセス方式として、特許文献1に記載されているメモリーカード制御装置によるダイレクトコマンド実行手段が一例として挙げられる。
As an example of a method for accessing a secure area from a personal computer, direct command execution means by a memory card control device described in
SDメモリーカード(登録商標)のコマンド処理時間は、SD Memory Card Physical Specificationによって最大処理時間が規定されており、メモリーカード制御装置で、あらかじめ設定されている一意のタイムアウト処理時間で、タイムアウト処理を実行すれば良かった。
近年、ICカード機能を内蔵したメモリーカード(smartSDカード)が発表され、前記メモリーカードに対応したメモリーカード制御装置およびシステムの供給が求められてきた。しかしながら、ICカード機能のコマンド処理時間は一意の値ではなく、あらかじめ一意のタイムアウト処理時間が設定されている従来のメモリーカード制御装置では、設定されているタイムアウト処理時間を越えてしまい、ICカード機能を内蔵したメモリーカードのタイムアウト処理に対応することができない問題点があった。 In recent years, a memory card (smart SD card) incorporating an IC card function has been announced, and there has been a demand for supply of a memory card control device and system corresponding to the memory card. However, the command processing time of the IC card function is not a unique value. In the conventional memory card control device in which a unique timeout processing time is set in advance, the set timeout processing time is exceeded, and the IC card function There was a problem that it was not possible to handle timeout processing of memory cards with built-in memory.
本発明は、ホスト装置がコマンドタイムアウト処理時間を任意に設定できるメモリーカード制御装置およびメモリーカード制御システムを提供することを目的とする。 An object of the present invention is to provide a memory card control device and a memory card control system in which a host device can arbitrarily set a command timeout processing time.
本発明のメモリーカード制御装置は、メモリーカードを制御する装置であって、ホスト装置がメモリーカードへのアクセスのために発行するコマンドと当該コマンドに対応するタイムアウト処理時間情報とを含むコマンドブロックを受信する手段と、受信したコマンドブロックに従って、コマンドで指定された要求に対応する動作をメモリーカードに実行させるために必要な1つ以上の動作コマンドをメモリーカードに発行し、タイムアウト処理時間内にコマンド処理が終了するかを確認するコマンド実行手段と、を備える。 The memory card control device of the present invention is a device for controlling a memory card, and receives a command block including a command issued by the host device for accessing the memory card and time-out processing time information corresponding to the command. And one or more operation commands required to cause the memory card to execute an operation corresponding to the request specified by the command in accordance with the received command block and the command processing within the timeout processing time. Command execution means for confirming whether or not the process ends.
本発明のメモリーカード制御装置およびメモリーカード制御システムは、メモリーカードで任意に規定される最大処理時間に応じてホスト装置が自由にタイムアウト処理時間を設定可能な装置およびシステムを提供することにより、メモリーカードの最大処理時間を自由に規定できる利点がある。 A memory card control device and a memory card control system according to the present invention provide a device and a system in which a host device can freely set a timeout processing time according to a maximum processing time arbitrarily defined by a memory card. There is an advantage that the maximum processing time of the card can be freely defined.
以下、図面を参照して本発明の実施の形態について説明する。 Embodiments of the present invention will be described below with reference to the drawings.
(実施の形態1)
図1には、本発明の実施の形態1によるメモリーカード制御装置の構成を示すブロック図である。図1において、ホスト装置110は例えばパーソナルコンピュータなどのデータ処理装置であり、本実施の形態では、メモリーカード制御装置120はUSB(Universal Serial Bus)デバイスとして実現されており、USBケーブル117を介してホスト装置110に接続される。
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of a memory card control apparatus according to
メモリーカード制御装置120には、ホスト装置110から発行されるコマンドを処理するためのコントローラLSI121と、メモリーカード130を装着するためのメモリーカードスロット125が備えられ、メモリーカードバス124を介してコントローラLSI121とメモリーカード130が電気的に接続されている。
The memory
コントローラLSI121には、ホスト装置110がメモリーカード130のアクセスのために発行するコマンドと当該コマンドに対応するタイムアウト処理時間情報とを含むコマンドブロックを受信するためのコマンドブロック受信手段122と、受信したコマンドブロックに従ってコマンドを解釈および実行して当該コマンドで指定された要求に対応する動作をメモリーカード130に実行させるために必要な1つ以上の動作コマンドをメモリーカード130に発行し、タイムアウト処理時間内にコマンド処理が終了するかを確認するコマンド実行手段123を備える。
The
次に、図2には本実施の形態において用いられるタイムアウト処理時間情報を含むコマンドブロック構造の一例が示されている。 Next, FIG. 2 shows an example of a command block structure including timeout processing time information used in this embodiment.
オペレーションコード(OPERATION CODE)は、ホスト装置110がメモリーカード130に実行させたい動作を示すコマンドコードである。タイムアウト時間(TIME OUT)は、オペレーションコード処理に必要な最大タイムアウト時間を示しており、本実施の形態では、タイムアウト時間=100msec×TIME OUT、を一例として示している。物理ブロックアドレス(LOGICAL BLOCK ADDRESS)は、オペレーションコードがメモリーカード130内のデータを読み書きするコマンドを指定している場合、メモリーカード130内の論理アドレスを示す。転送長情報(TRANSFER LENGTH)は、オペレーションコードがメモリーカード内のデータを読み書きするコマンドを指定している場合、その読み書きするデータ転送長を示している。
The operation code (OPERATION CODE) is a command code indicating an operation that the
次に、図3には本実施の形態において用いられるコマンド実行手段123の動作の一例を示すフローチャートが示されている。S110のコマンドブロック受信にてコマンドブロック受信手段121でのコマンドブロック受信が実行され、S121のコマンドブロック解釈で、ホスト装置110から受信したコマンドに対応するメモリーカード130の動作コマンドへの変換、及びメモリーカード130への動作コマンド発行を行う。この時、1つ以上の動作コマンドの発行が必要となる場合もある。続いて、S124にてタイムアウト時間で設定された時間内にメモリーカード130が動作コマンドの処理を完了したかどうかの確認を行い、パス(Pass)の場合(Yes)は正常終了し、NGの場合(No)はタイムアウトエラー処理を実行する。
Next, FIG. 3 shows a flowchart showing an example of the operation of the command execution means 123 used in this embodiment. The command
以上の構成によって、メモリーカード制御装置120のタイムアウト処理時間を、ホスト装置110がコマンドブロック毎に任意に設定することを可能とする。
With the above configuration, the
(実施の形態2)
図4は、実施の形態2におけるコマンドブロック構造の一例を示す図である。実施の形態1に対して、タイムアウト処理時間を変更するかどうかを示すフラグ情報を含むコマンドブロック構造が示されている。なお、メモリーカード制御装置の構成は、図1に示した実施の形態1の構成と同様とする。
(Embodiment 2)
FIG. 4 is a diagram illustrating an example of a command block structure according to the second embodiment. A command block structure including flag information indicating whether or not to change the timeout processing time is shown for the first embodiment. The configuration of the memory card control device is the same as that of the first embodiment shown in FIG.
タイムアウトフラグ(TIME OUT Flag)は、タイムアウト時間をTIME OUTで指定された時間とするか、メモリーカード制御装置120であらかじめ設定されている一意の時間とするかを選択するフラグ情報である。
The time-out flag (TIME OUT Flag) is flag information for selecting whether the time-out time is a time specified by TIME OUT or a unique time preset in the memory
TIME OUTが“00”の時にはタイムアウト時間をメモリーカード制御装置120であらかじめ設定されている一意の時間とすることとすれば、タイムアウトフラグはTIME OUTの設定値で代用することも可能である。
If the timeout time is set to a unique time preset in the memory
図5には、図4に示したタイムアウト処理時間を変更するかどうかを示すフラグ情報を含むコマンドブロック構造を受信した場合のコマンド実行手段123の動作の一例が示されるフローチャートである。S110のコマンドブロック受信にてコマンドブロック受信手段122でのコマンドブロック受信が実行され、S121のコマンドブロック解釈で、ホスト装置110から受信したコマンドに対応するメモリーカード130の動作コマンドへの変換、及びメモリーカード130への動作コマンド発行を行う。この時、2つ以上の動作コマンドの発行が必要となる場合もある。続いて、S123にてタイムアウトフラグを確認し、TIME OUT Flag=“1”の場合、S124に分岐しTIME OUTの設定時間内で終了確認されたか否かを判断し、TIME OUT で設定された時間内にメモリーカード130が動作コマンドの処理を完了したかどうかの確認を行い、パス(Pass)の場合(Yes)は正常終了し、NGの場合(No)はタイムアウトエラー処理を実行する。
FIG. 5 is a flowchart showing an example of the operation of the
S123の実行で、TIME OUT Flag=“0”の場合、S125に分岐しメモリーカード制御装置の規定タイムアウト時間内で終了確認されたか否かを判断し、メモリーカード制御装置120で任意に設定されている規定タイムアウト時間内でメモリーカード130が動作コマンドの処理を完了したかどうかの確認を行い、パス(Pass)の場合(Yes)は正常終了し、NGの場合(No)はタイムアウトエラー処理を実行する。
In the execution of S123, if TIME OUT Flag = “0”, the process branches to S125 to determine whether or not the termination has been confirmed within the specified timeout time of the memory card control device, and is arbitrarily set by the memory
以上の構成によって、メモリーカード制御装置120であらかじめ設定されているタイムアウト処理時間を変更する必定がある場合に限って、メモリーカード制御装置120のタイムアウト処理時間を、ホスト装置110がコマンドブロック毎に任意に設定することを可能とする。
With the above configuration, the
(実施の形態3)
図6には、本発明の実施の形態3において用いられるタイムアウト処理時間情報を含むダイレクトコマンドブロック構造の一例が示されている。なお、メモリーカード制御装置の構成は、図1に示した実施の形態1の構成と同様とする。
(Embodiment 3)
FIG. 6 shows an example of a direct command block structure including timeout processing time information used in
オペレーションコード(OPERATION CODE)は、コマンドブロックがダイレクトコマンドブロックであることを示すコードが格納される。コマンドインデックス(COMMAND INDEX)は、ホスト装置110がメモリーカード130に実行させたい動作を直接指定する動作コマンドが格納される。サブコマンド(SUB COMMAND)は前述の動作コマンドのタイプを示すパラメータである。動作コマンドのタイプは、
・データなしコマンド:メモリーカード130との間のデータ転送が一切不要な動作コマンド
・リードデータありコマンド:メモリーカード130からのデータ読み出しを伴う動作コマンド
・ライトデータありコマンド:メモリーカード130へ書き込むべきライトデータを伴う動作コマンド
の3種類がある。
The operation code (OPERATION CODE) stores a code indicating that the command block is a direct command block. The command index (COMMAND INDEX) stores an operation command that directly designates an operation that the
Command without data: Operation command that does not require any data transfer to / from the
アーギュメント情報(COMMAND ARGUMENT)は、当該動作コマンドに関するアドレス情報などの変数を示す。TIME OUTは、前述のコマンドインデックスで指定された動作コマンド処理に必要な最大タイムアウト時間を示しており、本実施の形態では、タイムアウト時間=100msec×TIME OUTを一例として示している。転送長情報(TRANSFER LENGTH)は、コマンドインデックスで指定された動作コマンドがメモリーカード内のデータを読み書きするコマンドを指定している場合、その読み書きするデータ転送長を示している。 The argument information (COMMAND ARGUMENT) indicates variables such as address information related to the operation command. TIME OUT indicates the maximum timeout time required for the operation command processing specified by the command index described above. In this embodiment, timeout time = 100 msec × TIME OUT is shown as an example. The transfer length information (TRANSFER LENGTH) indicates the data transfer length to be read / written when the operation command specified by the command index specifies a command to read / write data in the memory card.
次に、図7には本実施の形態において用いられるコマンド実行手段123の動作の一例が示されるフローチャートである。S210のダイレクトコマンドブロック受信にてコマンドブロック受信手段122でのダイレクトコマンドブロック受信が実行され、S221で受信したコマンドインデックス、アーギュメント情報のメモリーカード130への発行を行う。続いて、S224にて前述のタイムアウト時間で設定された時間内にメモリーカード130が当該動作コマンドの処理を完了したかどうかの確認を行い、パス(Pass)の場合(Yes)は正常終了し、NGの場合(No)はタイムアウトエラー処理を実行する。
Next, FIG. 7 is a flowchart showing an example of the operation of the command execution means 123 used in this embodiment. Upon receiving the direct command block in S210, the command
以上の構成によって、ホスト装置110がメモリーカード130に実行させたい動作を直接指定する動作コマンドを発行できることによって、メモリーカード130の動作コマンド仕様が変更された場合でも、ホスト装置110が発行するダイレクトコマンドブロックを変更することによって対応でき、且つ、メモリーカード制御装置120のタイムアウト処理時間を、ホスト装置110がコマンドブロック毎に任意に設定することを可能とする。
With the above configuration, the
(実施の形態4)
図8には、本発明の実施の形態4によるタイムアウト処理時間を変更するかどうかを示すフラグ情報を含むダイレクトコマンドブロック構造の一例が示されている。なお、メモリーカード制御装置の構成は、図1に示した実施の形態1の構成と同様とする。
(Embodiment 4)
FIG. 8 shows an example of a direct command block structure including flag information indicating whether to change the timeout processing time according to the fourth embodiment of the present invention. The configuration of the memory card control device is the same as that of the first embodiment shown in FIG.
タイムアウトフラグ(TIME OUT Flag)は、タイムアウト時間をTIME OUT設定時間とするか、メモリーカード制御装置であらかじめ設定されている一意の時間とするかを選択するフラグ情報である。 The time-out flag (TIME OUT Flag) is flag information for selecting whether the time-out time is a TIME OUT set time or a unique time set in advance by the memory card control device.
TIME OUTが“00”の時にはタイムアウト時間をメモリーカード制御装置であらかじめ設定されている一意の時間とすることとすれば、タイムアウトフラグはTIME OUTの設定値で代用することも可能である。 If the time-out time is set to a unique time preset in the memory card control device when TIME OUT is “00”, the time-out flag can be substituted with the set value of TIME OUT.
図9は、前述のタイムアウト処理時間を変更するかどうかを示すフラグ情報を含むダイレクトコマンドブロック構造を受信した場合のコマンド実行手段122の動作の一例が示されるフローチャートである。S210のダイレクトコマンドブロック受信にてコマンドブロック受信手段110でのコマンドブロック受信が実行され、S221で受信したコマンドインデックス、アーギュメント情報のメモリーカード130への発行を行う。続いて、S222にてタイムアウトフラグを確認し、TIME OUT Flag=“1”の場合、S223に分岐し、TIME OUTの設定時間内で終了確認が行なわれ、TIME OUTで設定された時間内にメモリーカード130が前記動作コマンドの処理を完了したかどうかの確認を行い、パス(Pass)の場合(Yes)は正常終了し、NGの場合はタイムアウトエラー処理を実行する。
FIG. 9 is a flowchart showing an example of the operation of the command execution means 122 when a direct command block structure including flag information indicating whether or not to change the timeout processing time is received. The command
S222の実行で、TIME OUT Flag=“0”の場合、S224に分岐し、メモリーカード制御装置120の規定タイムアウト時間内で終了確認が行なわれ、メモリーカード制御装置120で任意に設定されている規定タイムアウト時間内でメモリーカード130が当該動作コマンドの処理を完了したかどうかの確認を行い、パス(Pass)の場合(Yes)は正常終了し、NGの場合(No)はタイムアウトエラー処理を実行する。
When TIME OUT Flag = “0” in the execution of S222, the process branches to S224, the end confirmation is performed within the specified timeout time of the memory
以上の構成によって、ホスト装置110がメモリーカード130に実行させたい動作を直接指定する動作コマンドを発行できることによって、メモリーカード130の動作コマンド仕様が変更された場合でも、ホスト装置110が発行するダイレクトコマンドブロックを変更することによって対応でき、且つ、メモリーカード制御装置120であらかじめ設定されているタイムアウト処理時間を変更する必定がある場合に限って、メモリーカード制御装置120のタイムアウト処理時間を、ホスト装置110がコマンドブロック毎に任意に設定することを可能とする。
With the above configuration, the
(実施の形態5)
図10には、本発明の実施の形態5に係るメモリーカード制御システムの構成が示されており、図11にそのシーケンス図の一例を示す。
(Embodiment 5)
FIG. 10 shows the configuration of a memory card control system according to
このメモリーカード制御システムは、ホスト装置210と、ホスト装置210にメモリーカード230を接続するためのメモリーカード制御装置220とから構成されている。ホスト装置210は例えばパーソナルコンピュータなどのデータ処理装置であり、メモリーカード用アプリケーションソフト211、ファイルシステム212、独自コマンドドライバ213、USBマスストレージクラスドライバ214、USBドライバ215、USBコントローラ216が備えられている。本実施の形態では、メモリーカード制御装置220はUSB(Universal Serial Bus)デバイスとして実現されており、USBケーブル217を介してホスト装置210のUSBコントローラ216に接続される。
This memory card control system includes a
アプリケーションソフト211は、ユーザーの操作に応じてメモリーカード230をアクセスするためのコマンドブロックを生成し、ファイルシステム212、及び独自コマンドドライバ213に対してコマンドブロックを発行する。
The
例えばWindows(登録商標)OSが標準でサポートしているコマンドブロックの場合、ファイルシステム212に対してコマンドブロックを発行する。この場合のタイムアウト処理時間は、メモリーカード制御装置220であらかじめ設定されている一意の時間となる。
For example, in the case of a command block supported by the Windows (registered trademark) OS as a standard, the command block is issued to the
独自コマンドを発行する場合は、独自コマンドブロックを発行し、本実施の形態の場合、コマンドブロックにタイムアウト情報を含む。図2が、独自コマンドドライバ213に発行されるコマンドブロックの一例である。
When issuing a unique command, a unique command block is issued. In this embodiment, timeout information is included in the command block. FIG. 2 is an example of a command block issued to the
独自コマンドドライバ213は、アプリケーションソフト211から発行されるコマンドブロックを受信し、USBマスストレージクラスドライバ214へコマンドブロックを伝達するのと同時に、タイマーを起動し、USBマスストレージクラスドライバからのACK(positive acknowledgement)信号の返答を待つ。コマンドブロックにて指定されたタイムアウト時間を経過してもACK返信が無い場合は、アプリケーションソフトに対してタイムアウトエラーを返答する。
The
タイムアウト時間内にACK返答があった場合は、アプリケーションソフトに対してコマンド正常終了を返答する。 If an ACK response is received within the timeout period, a command normal end response is returned to the application software.
USBマスストレージクラスドライバ214、USBドライバ215、USBコントローラ216はファイルシステム212、及び、独自コマンドドライバ213から発行されるコマンドブロックをメモリーカード制御装置220へ伝達し、メモリーカード制御装置220からのNAK(negative acknowledgement)返答、ACK返答をファイルシステム212、及び独自コマンドドライバ213へ伝達する。
The USB mass
メモリーカード制御装置220は受信したコマンドブロックを解釈し、メモリーカード230の動作コマンドへの変換、及びメモリーカード230への動作コマンド発行を行う。
The memory
また、メモリーカード230がコマンド処理のためにBusy(ビジー)中の場合、USBコントローラ216に対してNAK返答を行う。更に、メモリーカード230のコマンド処理が完了しReady(レディー)になったことを検知し、USBコントローラ216に対してACK返答を行う。この場合、メモリーカード制御装置220は、この動作コマンドの処理中はタイムアウト時間処理を実施しない。
If the
コマンドブロックに、実施の形態3で示したダイレクトコマンドブロックを用いることも可能である。 It is also possible to use the direct command block shown in the third embodiment for the command block.
更に、実施の形態2で示したタイムアウトフラグ情報を含むコマンドブロックを用いることも可能であり、その場合、タイムアウトフラグ情報に従って、メモリーカード制御装置220は、独自コマンドブロックを受信した時のタイムアウト時間処理の実施の有無を判断する。
Furthermore, it is also possible to use a command block including timeout flag information shown in the second embodiment. In this case, the memory
以上の構成によって、メモリーカード制御装置220のタイムアウト処理時間を、ホスト装置210のアプリケーションソフト211と独自コマンドドライバ213がコマンドブロック毎に任意に設定することを可能とする。
With the above configuration, the timeout processing time of the memory
(実施の形態6)
図12には、本発明の実施の形態6に係るメモリーカード制御システムのそのシーケンス図の一例を示す。なお、メモリーカード制御装置の構成は、図10に示した実施の形態5の構成と同様とする。
(Embodiment 6)
FIG. 12 shows an example of a sequence diagram of the memory card control system according to the sixth embodiment of the present invention. The configuration of the memory card control apparatus is the same as that of the fifth embodiment shown in FIG.
アプリケーションソフト211が、ユーザーの操作に応じてメモリーカード230をアクセスするためのコマンドブロックを生成し、独自コマンドドライバ213に対してタイムアウト情報を含むコマンドブロックを発行した場合、独自コマンドドライバ213は、アプリケーションソフトから発行されるコマンドブロックを受信し、タイムアウト延長ステート移行コマンドをUSBマスストレージクラスドライバ214、USBドライバ215、USBコントローラ216を通じてメモリーカード制御装置220に発行する。メモリーカード制御装置220は、タイムアウト延長ステートへ移行し、独自コマンドドライバ213に対してACK返信を行う。
When the
タイムアウト延長コマンドに対するメモリーカード制御装置220からのACK返信を受けて、独自コマンドドライバ213はアプリケーションソフト210から受信したコマンドブロックをUSBマスストレージクラスドライバ214、USBドライバ215、USBコントローラ216を通じてメモリーカード制御装置220に発行し、コマンドブロックに含まれているタイムアウト情報に従って、タイマーを起動する。
Upon receiving an ACK response from the memory
メモリーカード制御装置220は受信したコマンドブロックを解釈し、メモリーカード230の動作コマンドへの変換、及びメモリーカード230への動作コマンド発行を行う。
The memory
メモリーカード230がコマンド処理中で、Busy状態であっても、タイムアウト延長ステートの状態にある場合は、メモリーカード制御装置は、独自コマンドドライバ213に対してACK返信を行う。
Even if the
独自コマンドドライバ213は、メモリーカードがBusyかReadyかを判別するためのBusy判別コマンドを発行し、メモリーカード制御装置220は、メモリーカードの状態を独自コマンドドライバ213に対してレスポンス返信する。
The
メモリーカード230がBusy状態の時はBusyレスポンスを返信し、メモリーカード230がReady状態になった時にReadyレスポンスを返信する。
When the
独自コマンドドライバ213はメモリーカード制御装置220からのレスポンス返信がReadyになるか、タイムアウト時間が経過するまでBusyチェックコマンドを発行してポーリングを行う。
The
独自コマンドドライバ213がタイムアウト時間内にReadyのレスポンス返信を受けた場合は、アプリケーションソフト211に正常コマンド終了を伝えてアプリケーションソフト213のコマンド処理を終了させる。更に、独自コマンドドライバ213はメモリーカード制御装置220に対してタイムアウト延長ステート復帰コマンドを発行し、メモリーカード制御装置220は、タイムアウト延長ステートから通常ステートへ復帰し、独自コマンドドライバ213に対してACK返信を行う。
When the
独自コマンドドライバ213のタイマーがタイムアウト時間オーバーとなった場合は、アプリケーションソフト211にタイムアウトエラーを伝えてアプリケーションソフト211のエラー処理を実行し、更に、独自コマンドドライバ213はメモリーカード制御装置220に対してタイムアウト延長ステート復帰コマンドを発行し、メモリーカード制御装置220は、タイムアウト延長ステートから通常ステートへ復帰し、独自コマンドドライバ213に対してACK返信を行う。
When the timer of the
コマンドブロックに、実施の形態3で示したダイレクトコマンドブロックを用いることも可能である。 It is also possible to use the direct command block shown in the third embodiment for the command block.
更に、実施の形態2で示したタイムアウトフラグ情報を含むコマンドブロックを用いることも可能であり、その場合、タイムアウトフラグ情報に従って、独自ドライバ213はタイムアウト延長ステート移行コマンドの発行、及びタイマー起動の実施の有無を判断する。
Furthermore, it is also possible to use a command block including timeout flag information described in the second embodiment. In this case, according to the timeout flag information, the
以上の構成によって、USBマスストレージクラスドライバ214、USBドライバ215、USBコントローラ216がタイムアウト時間処理を独自に実行していた場合でも、USBマスストレージクラスドライバ214、USBドライバ215、USBコントローラ216のタイムアウト設定時間の制限を受けることなく、メモリーカード制御装置220のタイムアウト処理時間を、ホスト装置210のアプリケーションソフト211と独自コマンドドライバ213がコマンドブロック毎に任意に設定することを可能とする。
With the above configuration, even when the USB mass
本発明にかかるメモリーカード制御装置およびメモリーカード制御システムは、メモリーカードで任意に規定される最大処理時間に応じてホスト装置が自由にタイムアウト処理時間を設定可能な装置およびシステムを提供することにより、メモリーカードの最大処理時間を自由に規定できる利点を有し、コマンドによりタイムアウト処理時間が異なるメモリーカードを制御する各種装置、機器およびシステムに有用である。 A memory card control device and a memory card control system according to the present invention provide a device and a system in which a host device can freely set a timeout processing time according to a maximum processing time arbitrarily defined by a memory card. This has the advantage that the maximum processing time of the memory card can be freely defined, and is useful for various devices, devices, and systems that control memory cards with different timeout processing times according to commands.
110、210 ホスト装置
117,217 USBケーブル
120、220 メモリーカード制御装置
121、221 コントローラLSI
122、222 コマンドブロック受信手段
123、223 コマンド実行手段
124、224 メモリーカードバス
125、225 メモリーカードスロット
130、230 メモリーカード
211 メモリーカード用アプリケーションソフト
212 ファイルシステム
213 独自コマンドドライバ
214 USBマスストレージクラスドライバ
215 USBドライバ
216 USBコントローラ
110, 210 Host device 117, 217
122, 222 Command block reception means 123, 223 Command execution means 124, 224 Memory card bus 125, 225
Claims (10)
ホスト装置が前記メモリーカードへのアクセスのために発行するコマンドと当該コマンドに対応するタイムアウト処理時間情報とを含むコマンドブロックを受信する手段と、
前記受信したコマンドブロックに従って、前記コマンドで指定された要求に対応する動作を前記メモリーカードに実行させるために必要な1つ以上の動作コマンドを前記メモリーカードに発行し、前記タイムアウト処理時間内に前記コマンド処理が終了するかを確認するコマンド実行手段と、を備えるメモリーカード制御装置。 A device that controls memory cards with different timeout processing times depending on the command,
Means for receiving a command block including a command issued by the host device for accessing the memory card and time-out processing time information corresponding to the command;
In accordance with the received command block, one or more operation commands required to cause the memory card to execute an operation corresponding to the request specified by the command are issued to the memory card, and the time is within the timeout processing time. A memory card control device comprising: command execution means for confirming whether command processing is completed.
前記コマンド実行手段は、
前記フラグ情報がタイムアウト処理時間を変更する必要があることを示す場合に、前記コマンドで指定された要求に対応する動作を前記メモリーカードに実行させるために必要な1つ以上の動作コマンドを前記メモリーカードに発行し、前記タイムアウト処理時間内に前記コマンド処理が終了するかを確認する手段と、
前記フラグ情報がタイムアウト処理時間を変更する必要が無いことを示す場合に、あらかじめ設定されているタイムアウト時間で処理を実行する手段と、を含むことを特徴とする請求項1記載のメモリーカード制御装置。 The timeout processing time information includes flag information indicating whether the timeout processing time needs to be changed,
The command execution means includes
When the flag information indicates that it is necessary to change the timeout processing time, one or more operation commands necessary for causing the memory card to execute an operation corresponding to the request specified by the command are stored in the memory. Means for issuing to a card and confirming whether the command processing is completed within the timeout processing time;
2. The memory card control device according to claim 1, further comprising means for executing processing at a preset timeout time when the flag information indicates that it is not necessary to change the timeout processing time. .
ホスト装置が前記メモリーカードへのアクセスのために発行する、前記メモリーカードが実行すべき動作を直接指定する動作コマンドと当該コマンドに対応するタイムアウト処理時間情報とを含むダイレクトコマンドブロックを受信する手段と、
前記受信したダイレクトコマンドブロックに含まれる前記動作コマンドを前記メモリーカードに発行し、前記タイムアウト処理時間内に前記コマンド処理が終了するかを確認するダイレクトコマンド実行手段と、を備えるメモリーカード制御装置。 A device that controls memory cards with different timeout processing times depending on the command,
Means for receiving a direct command block, which is issued by the host device for accessing the memory card and includes an operation command for directly specifying an operation to be executed by the memory card and time-out processing time information corresponding to the command; ,
A memory card control device comprising: direct command execution means for issuing the operation command included in the received direct command block to the memory card and confirming whether the command processing is completed within the timeout processing time.
前記ダイレクトコマンド実行手段は、
前記フラグ情報がタイムアウト処理時間を変更する必要があることを示す場合に、前記受信したダイレクトコマンドブロックに含まれる前記動作コマンドを前記メモリーカードに発行し、前記タイムアウト処理時間内に前記コマンド処理が終了するかを確認する手段と、
前記フラグ情報がタイムアウト処理時間を変更する必要が無いことを示す場合に、あらかじめ設定されているタイムアウト時間で処理を実行する手段と、を含むことを特徴とする請求項3記載のメモリーカード制御装置。 The timeout processing time information includes flag information indicating whether the timeout processing time needs to be changed,
The direct command execution means includes
When the flag information indicates that the timeout processing time needs to be changed, the operation command included in the received direct command block is issued to the memory card, and the command processing is completed within the timeout processing time. A means of confirming,
4. The memory card control device according to claim 3, further comprising means for executing processing at a preset timeout time when the flag information indicates that it is not necessary to change the timeout processing time. .
前記アプリケーションソフトは、ユーザーの操作に応じて前記メモリーカードへ発行するコマンドと、前記メモリーカードが前記コマンド処理に必要なタイムアウト処理時間情報とを含むコマンドブロックを発行するコマンドブロック発行手段を含み、
前記ドライバーソフトは、前記コマンドブロック発行手段から発行されたコマンドブロックを受信する手段と、受信した前記コマンドを前記メモリーカード制御装置に発行するコマンド発行手段と、前記コマンドブロックで指定されたタイムアウト処理時間でタイムアウト設定時間を管理するタイマーとを含み、
前記メモリーカード制御装置は、前記コマンドを受信する手段と、前記コマンドで指定された要求に対応する動作を前記メモリーカードに実行させるために必要な1つ以上の動作コマンドを前記メモリーカードに発行するコマンド実行手段とを備え、
前記ドライバーソフトは、前記タイマーが前記タイムアウト処理時間を越えたことを検出したときに、前記アプリケーションソフトへタイムアウトエラーを通知する手段を備えることを特徴とするメモリーカード制御システム。 A system including application software, driver software, and a memory card control device that controls memory cards with different timeout processing times according to commands,
The application software includes command block issuing means for issuing a command block including a command issued to the memory card according to a user operation and time-out processing time information necessary for the command processing by the memory card,
The driver software includes a means for receiving a command block issued from the command block issuing means, a command issuing means for issuing the received command to the memory card control device, and a timeout processing time designated by the command block. And a timer for managing the timeout setting time in
The memory card control device issues means for receiving the command and one or more operation commands required to cause the memory card to execute an operation corresponding to the request specified by the command. Command execution means,
The memory card control system, wherein the driver software comprises means for notifying the application software of a timeout error when the timer detects that the timer has exceeded the timeout processing time.
前記アプリケーションソフトは、ユーザーの操作に応じて前記メモリーカードへ発行する、前記メモリーカードが実行すべき動作を直接指定する動作コマンドと、前記メモリーカードが前記コマンド処理に必要なタイムアウト処理時間情報とを含むダイレクトコマンドブロックを発行するダイレクトコマンドブロック発行手段を含み、
前記ドライバーソフトは、前記ダイレクトコマンドブロック発行手段から発行されたダイレクトコマンドブロックを受信する手段と、受信した前記ダイレクトコマンドブロックに含まれる前記動作コマンドを前記メモリーカード制御装置に発行するコマンド発行手段と、前記ダイレクトコマンドブロックで指定されたタイムアウト処理時間でタイムアウト設定時間を管理するタイマーとを含み、
前記メモリーカード制御装置は、前記ダイレクトコマンドブロックを受信する手段と、前記受信したダイレクトコマンドブロックに含まれる前記動作コマンドを前記メモリーカードに発行する動作コマンド発行手段とを備え、
前記ドライバーソフトは、前記タイマーが前記タイムアウト処理時間を越えたことを検出したときに、前記アプリケーションソフトへタイムアウトエラーを通知する手段を備えることを特徴とするメモリーカード制御システム。 A system including application software, driver software, and a memory card control device that controls memory cards with different timeout processing times according to commands,
The application software issues an operation command that is issued to the memory card in response to a user operation and directly specifies an operation to be executed by the memory card, and time-out processing time information that the memory card requires for the command processing. Including a direct command block issuing means for issuing a direct command block including:
The driver software includes means for receiving a direct command block issued from the direct command block issuing means, command issuing means for issuing the operation command included in the received direct command block to the memory card control device, A timer for managing a timeout setting time with a timeout processing time specified in the direct command block,
The memory card control device comprises means for receiving the direct command block, and operation command issuing means for issuing the operation command included in the received direct command block to the memory card,
The memory card control system, wherein the driver software comprises means for notifying the application software of a timeout error when the timer detects that the timer has exceeded the timeout processing time.
前記コマンドブロックで指定されたタイムアウト処理時間が前記メモリーカード制御装置であらかじめ設定されているタイムアウト時間より長い場合は、フラグ情報をタイムアウト時間無制限とし、短い場合は、タイムアウト時間は前記メモリーカード制御装置にあらかじめ設定されているタイムアウト時間のフラグ情報とし、
前記メモリーカード制御装置は、前記フラグ情報に従ってタイムアウト処理時間を無制限にする、あるいは、あらかじめ設定されているタイムアウト時間処理を行うことを特徴とする請求項5または請求項6に記載のメモリーカード制御システム。 The driver software is preset in the memory card control device and a determination means for determining whether the timeout processing time specified in the command block is longer than the timeout time preset in the memory card control device. Means for setting flag information indicating whether the timeout period needs to be changed,
If the time-out processing time specified in the command block is longer than the time-out time preset in the memory card control device, the flag information is set to unlimited time-out time, and if it is short, the time-out time is set in the memory card control device. As flag information of timeout time set in advance,
7. The memory card control system according to claim 5, wherein the memory card control device makes a timeout processing time unlimited according to the flag information, or performs a preset timeout time processing. 8. .
前記アプリケーションソフトは、ユーザーの操作に応じて前記メモリーカードへ発行するコマンドと、前記メモリーカードが前記コマンド処理に必要なタイムアウト処理時間情報とを含むコマンドブロックを発行するコマンドブロック発行手段を含み、
前記ドライバーソフトは、前記コマンドブロック発行手段から発行されたコマンドブロックを受信する手段と、前記メモリーカード制御装置をタイムアウト延長ステートへ移行させるタイムアウト延長ステート移行コマンド発行手段と、受信した前記コマンドを前記メモリーカード制御装置に発行するコマンド発行手段と、前記コマンドブロックで指定されたタイムアウト処理時間でタイムアウト設定時間を管理するタイマーと、メモリーカードがビジー中かどうかを判別するビジー判別コマンド発行手段と、前記メモリーカード制御装置をタイムアウト延長ステートから通常ステートへと復帰させるタイムアウト延長ステート復帰コマンド発行手段とを含み、
前記メモリーカード制御装置は、前記タイムアウト延長ステート移行手段と、前記コマンドで指定された要求に対応する動作を前記メモリーカードに実行させるために必要な1つ以上の動作コマンドを前記メモリーカードに発行する動作コマンド発行手段と、タイムアウト延長ステート移行中は、前記動作コマンドがビジー中であっても、コマンド完了を通知するコマンド完了応答手段と、前記動作コマンド発行手段によって前記メモリーカードがビジー状態であるかどうかを判別するビジー状態判別手段と、前記タイムアウト延長ステート復帰手段とを含み、
前記ドライバーソフトは、前記ビジー判別コマンド発行手段によってメモリーカードがビジー中かどうかの判別し、前記タイマーが前記タイムアウト処理時間を越えたことを検出したときに、ドライバーソフトがアプリケーションソフトへタイムアウトエラーを通知する手段を備えることを特徴とするメモリーカード制御システム。 A system including application software, driver software, and a memory card control device that controls memory cards with different timeout processing times according to commands,
The application software includes command block issuing means for issuing a command block including a command issued to the memory card in response to a user operation and time-out processing time information necessary for the command processing by the memory card,
The driver software includes means for receiving a command block issued from the command block issuing means, time-out extended state transition command issuing means for shifting the memory card control device to a time-out extended state, and receiving the received command in the memory. A command issuing means for issuing to the card control device, a timer for managing the timeout setting time by the timeout processing time specified in the command block, a busy determining command issuing means for determining whether the memory card is busy, and the memory A timeout extension state return command issuing means for returning the card control device from the timeout extension state to the normal state;
The memory card control device issues to the memory card at least one operation command necessary for causing the memory card to execute an operation corresponding to the request specified by the command and the timeout extension state transition means. Whether the memory card is busy by the operation command issuing means and the command completion response means for notifying the completion of the command and the operation command issuing means even when the operation command is busy during the transition to the timeout extended state. Busy state determination means for determining whether or not, and timeout extension state return means,
The driver software determines whether the memory card is busy by the busy determination command issuing means, and when the timer detects that the timeout processing time has been exceeded, the driver software notifies the application software of a timeout error. A memory card control system comprising: means for performing
前記アプリケーションソフトは、ユーザーの操作に応じて前記メモリーカードが実行すべき動作を直接指定する動作コマンドと、前記メモリーカードが前記コマンド処理に必要なタイムアウト処理時間情報とを含むダイレクトコマンドブロックを発行するダイレクトコマンドブロック発行手段を含み、
前記ドライバーソフトは、前記ダイレクトコマンドブロック発行手段から発行されたダイレクトコマンドブロックを受信する手段と、前記メモリーカード制御装置をタイムアウト延長ステートへ移行させるタイムアウト延長ステート移行コマンド発行手段と、受信したダイレクトコマンドブロックに含まれる前記動作コマンドを前記メモリーカード制御装置に発行するコマンド発行手段と、前記ダイレクトコマンドブロックで指定されたタイムアウト処理時間でタイムアウト設定時間を管理するタイマーと、メモリーカードがビジー中かどうかを判別するビジー判別コマンド発行手段と、前記メモリーカード制御装置をタイムアウト延長ステートから通常ステートへと復帰させるタイムアウト延長ステート復帰コマンド発行手段とを含み、
前記メモリーカード制御装置は、前記タイムアウト延長ステート移行手段と、前記ダイレクトコマンドブロックを受信する手段と、前記受信したダイレクトコマンドブロックに含まれる前記動作コマンドを前記メモリーカードに発行する動作コマンド発行手段と、タイムアウト延長ステート移行中は、前記動作コマンドがビジー中であっても、コマンド完了を通知するコマンド完了応答手段と、前記動作コマンド発行手段によって前記メモリーカードがビジー状態であるかどうかを判別するビジー状態判別手段と、前記タイムアウト延長ステート復帰手段とを含み、
前記ドライバーソフトは、前記ビジー判別コマンド発行手段によってメモリーカードがビジー中かどうかの判別し、前記タイマーが前記タイムアウト処理時間を越えたことを検出したときに、前記アプリケーションソフトへタイムアウトエラーを通知する手段を備えたことを特徴とするメモリーカード制御システム。 A system including application software, driver software, and a memory card control device that controls memory cards with different timeout processing times according to commands,
The application software issues a direct command block including an operation command that directly designates an operation to be executed by the memory card according to a user operation and time-out processing time information necessary for the command processing by the memory card. Including direct command block issuing means,
The driver software includes a means for receiving a direct command block issued from the direct command block issuing means, a timeout extended state transition command issuing means for shifting the memory card control device to a timeout extended state, and the received direct command block. A command issuing means for issuing the operation command included in the memory card control device to the memory card control device, a timer for managing a timeout setting time in a timeout processing time specified in the direct command block, and determining whether the memory card is busy Busy determination command issuing means, and timeout extension state return command issuing means for returning the memory card control device from the timeout extension state to the normal state,
The memory card control device includes the timeout extension state transition means, means for receiving the direct command block, and operation command issuing means for issuing the operation command included in the received direct command block to the memory card; During the transition to the time-out extended state, even when the operation command is busy, a command completion response means for notifying the completion of the command and a busy state for determining whether the memory card is busy by the operation command issuing means Determining means, and timeout extension state return means,
The driver software determines whether the memory card is busy by the busy determination command issuing means, and notifies the application software of a timeout error when detecting that the timer has exceeded the timeout processing time. A memory card control system characterized by comprising:
前記コマンドブロックで指定されたタイムアウト処理時間が前記メモリーカード制御装置であらかじめ設定されているタイムアウト時間より長い場合は、フラグ情報をタイムアウト時間無制限とし、短い場合は、タイムアウト時間は前記メモリーカード制御装置にあらかじめ設定されているタイムアウト時間のフラグ情報とし、
前記メモリーカード制御装置は、前記フラグ情報に従ってタイムアウト処理時間を無制限にする、あるいは、あらかじめ設定されているタイムアウト時間処理を行うことを特徴とする請求項8または請求項9に記載のメモリーカード制御システム。 The driver software is preset in the memory card control device and a determination means for determining whether the timeout processing time specified in the command block is longer than the timeout time preset in the memory card control device. Means for setting flag information indicating whether the timeout period needs to be changed,
If the time-out processing time specified in the command block is longer than the time-out time preset in the memory card control device, the flag information is set to unlimited time-out time, and if it is short, the time-out time is set in the memory card control device. As flag information of timeout time set in advance,
10. The memory card control system according to claim 8, wherein the memory card control device makes a timeout process time unlimited according to the flag information, or performs a preset timeout time process. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005178771A JP2006350881A (en) | 2005-06-20 | 2005-06-20 | Memory card controller and memory card control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005178771A JP2006350881A (en) | 2005-06-20 | 2005-06-20 | Memory card controller and memory card control system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006350881A true JP2006350881A (en) | 2006-12-28 |
Family
ID=37646613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005178771A Pending JP2006350881A (en) | 2005-06-20 | 2005-06-20 | Memory card controller and memory card control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006350881A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009211162A (en) * | 2008-02-29 | 2009-09-17 | Toshiba Corp | Information processor and start control method |
JP2014116712A (en) * | 2012-12-07 | 2014-06-26 | Jr East Mechatronics Co Ltd | Reader/writer device |
-
2005
- 2005-06-20 JP JP2005178771A patent/JP2006350881A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009211162A (en) * | 2008-02-29 | 2009-09-17 | Toshiba Corp | Information processor and start control method |
JP2014116712A (en) * | 2012-12-07 | 2014-06-26 | Jr East Mechatronics Co Ltd | Reader/writer device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3641230B2 (en) | Apparatus and method for controlling a memory card | |
JP4538027B2 (en) | Semiconductor device | |
JP4544188B2 (en) | Drive configuration program | |
KR100781926B1 (en) | Computer system and control method of the same | |
KR20160049200A (en) | Method for operating data storage device, mobile computing device having the same, and method of the mobile computing device | |
US7797398B2 (en) | Communication system, and peripheral device having trigger generating device and computer program product that monitors whether a trigger has been generated | |
JPH1153485A (en) | Computer system, storage device, conversion system and storage medium | |
JP2008547068A (en) | USB-SD storage device having a plurality of DMA channels, storage method thereof and recording medium | |
KR100440972B1 (en) | Apparatus and method for establishing data transfer mode by card insertion identification | |
JP3641239B2 (en) | Apparatus and method for controlling a memory card | |
JP4622770B2 (en) | COMMUNICATION SYSTEM, INFORMATION PROCESSING DEVICE, PERIPHERAL DEVICE, AND COMMUNICATION METHOD | |
JP2006350881A (en) | Memory card controller and memory card control system | |
US20070198460A1 (en) | USB storage system and control method thereof | |
US20040054859A1 (en) | Mouse device capable of storing data | |
KR101260313B1 (en) | Electric apparatus and data sending/receiving method thereof and slave apparatus and communication method between the plural number of apparatuses | |
JP5010065B2 (en) | Microcomputer | |
JP4793798B2 (en) | Microcomputer | |
JP2012068808A (en) | Portable storage device | |
EP1818793A1 (en) | USB storage system and control method thereof | |
CN101354631B (en) | External connection storage apparatus | |
US20040255068A1 (en) | Method and apparatus for control of another device through an ide bus | |
JP5359309B2 (en) | Electronics | |
KR100953268B1 (en) | Usb device for supports an automatic safety remove using capacitance | |
JP4952355B2 (en) | Information processing device | |
US20070234030A1 (en) | Controller interface ownership changing system and method |