JP2008276650A - Control command generator, information processor, electronic equipment, and program - Google Patents

Control command generator, information processor, electronic equipment, and program Download PDF

Info

Publication number
JP2008276650A
JP2008276650A JP2007121799A JP2007121799A JP2008276650A JP 2008276650 A JP2008276650 A JP 2008276650A JP 2007121799 A JP2007121799 A JP 2007121799A JP 2007121799 A JP2007121799 A JP 2007121799A JP 2008276650 A JP2008276650 A JP 2008276650A
Authority
JP
Japan
Prior art keywords
command
control
information
type
standard
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
Application number
JP2007121799A
Other languages
Japanese (ja)
Inventor
Shinsuke Kubota
慎介 久保田
Mineyoshi Otake
峰敬 大竹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007121799A priority Critical patent/JP2008276650A/en
Publication of JP2008276650A publication Critical patent/JP2008276650A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a control command generator, an information processor and electronic equipment, capable of simplifying processing for issuing a command even when various specifications are mixed. <P>SOLUTION: This control command generator for generating a control command to a storage device includes a command table registered with a plurality of pieces of command setting information, in every block corresponding to a class of the control command, and a command information setting part for controlling the issuing of the control command based on the setting information of a control register, by assigning a table index corresponding to the block, and by setting the command setting information of the block specified by the table index in the control register of a controller for accessing the storage device. Each command information includes command assigning information for assigning a class of the control command, and parameter information for assigning a control sequence type corresponding to the control command. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、制御コマンド生成装置、情報処理装置、電子機器及びプログラムに関する。   The present invention relates to a control command generation device, an information processing device, an electronic device, and a program.

近年、パーソナルコンピュータやその周辺機器(例えばプリンタ装置、スキャナ装置又は複合機)に限らず、携帯電話機、携帯情報端末(Personal Digital Assistant:PDA)やオーディオプレーヤ等の携帯型の情報機器、ロボット装置、デジタルカメラ、ビデオカメラ、全地球測位システム(Global Positioning System:GPS)装置、テレビ受信装置、プロジェクタ等の電子機器に、データストレージ用途にフラッシュメモリカードが使用される機会が多くなっている。   In recent years, not only personal computers and peripheral devices (for example, printer devices, scanner devices, or multifunction devices), but also portable information devices such as mobile phones, personal digital assistants (PDAs) and audio players, robot devices, There are increasing opportunities for flash memory cards to be used for data storage applications in electronic devices such as digital cameras, video cameras, global positioning system (GPS) devices, television receivers, projectors and the like.

フラッシュメモリカードには、その用途に応じて、種々の規格、バージョンが規定されている。例えば動画データ、静止画データ又は音楽データを携帯するために可搬性に優れ、大容量のフラッシュメモリとして、MMC(MultiMediaCard)規格、SD(Secure Digital)規格に準拠したフラッシュメモリカード、又はSDIO(SD Input/Output)規格に準拠したI/Oデバイスがある。また、例えば携帯機器や家庭用電化製品の小型化により小型のコネクタ形状や高速なデータ転送が可能なHDD装置として、CE−ATA(Consumer Electronics-AT Attachment)規格に準拠した記憶装置がある。   Various standards and versions are defined for flash memory cards according to their applications. For example, it has excellent portability for carrying moving image data, still image data, or music data. As a large-capacity flash memory, a flash memory card conforming to the MMC (MultiMediaCard) standard, SD (Secure Digital) standard, or SDIO (SD There are I / O devices that conform to the Input / Output standard. In addition, for example, as a HDD device capable of a small connector shape and high-speed data transfer due to miniaturization of portable devices and household electric appliances, there is a storage device compliant with CE-ATA (Consumer Electronics-AT Attachment) standard.

このように、携帯型のデータストレージ用途は今後もますます広がり、用途に応じた最適な規格が順次策定されていく傾向にある。   In this way, portable data storage applications will continue to expand in the future, and there is a tendency that optimum standards corresponding to the applications will be developed sequentially.

このようなフラッシュメモリカード等にアクセスするためには、その規格で規定されたコマンド(制御コマンド)を発行することで実現される。フラッシュメモリカードにアクセスするためにコマンドを発行する技術については、例えば特許文献1に開示されている。特許文献1には、コマンドの使用の追加や変更に対して対処が容易なデータプロセッサが開示されている。
特開2002−342256号公報
Access to such a flash memory card or the like is realized by issuing a command (control command) defined by the standard. A technique for issuing a command to access a flash memory card is disclosed in Patent Document 1, for example. Patent Document 1 discloses a data processor that can easily cope with additions and changes in the use of commands.
JP 2002-342256 A

特許文献1に開示された技術では、データプロセッサのインタフェース動作において、インタフェース制御対象機器の動作を制御するための第1の制御情報と、該インタフェース制御対象の機器との間のインタフェース動作を制御するための第2の制御情報とを対応させて、それぞれ別個に定義するようにしている。そのため、特許文献1に開示された技術では、インタフェース制御対象機器にアクセスするためのコマンドや機能や動作に追加や変更があったときに第1又は第2の制御情報を修正できるようにしている。   In the technique disclosed in Patent Document 1, in the interface operation of the data processor, the first control information for controlling the operation of the interface control target device and the interface operation between the interface control target device are controlled. Therefore, the second control information is defined separately in correspondence with each other. Therefore, in the technique disclosed in Patent Document 1, the first or second control information can be corrected when a command, a function, or an operation for accessing the interface control target device is added or changed. .

しかしながら、特許文献1の技術であっても、上記のようなフラッシュメモリカードをアクセスするためのコマンドの種類が多く、コマンドを発行するたびにコマンドの種類を判定する必要がある。従って、特許文献1に開示された技術では、コマンドの種類の判定種類が多くなり、制御の複雑化又はプログラムコードの冗長化を招くという問題がある。特に、フラッシュメモリカードをアクセスするためのコマンドには、互いに互換性のあるMMC規格やSD規格等の種々の規格が策定されている上に、各規格におけるバージョンの相違も判別する必要がある。このため、コマンドの種類の判別処理が複雑化し、結果的にフラッシュメモリカードへのアクセスのパフォーマンスを低下させる。   However, even with the technique of Patent Document 1, there are many types of commands for accessing the flash memory card as described above, and it is necessary to determine the type of command every time a command is issued. Therefore, the technique disclosed in Patent Document 1 has a problem in that there are many types of determination of command types, resulting in complicated control or redundant program code. In particular, various commands such as the MMC standard and the SD standard that are compatible with each other are established for the command for accessing the flash memory card, and it is also necessary to determine the version difference in each standard. This complicates command type determination processing, resulting in a decrease in access performance to the flash memory card.

本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、種々の規格が混在してもコマンド発行の処理を簡素化できる制御コマンド生成装置、情報処理装置、電子機器及びプログラムを提供することにある。   The present invention has been made in view of the technical problems as described above, and an object of the present invention is to provide a control command generation apparatus and an information processing apparatus that can simplify command issuing processing even if various standards are mixed. To provide an apparatus, an electronic device, and a program.

上記課題を解決するために本発明は、
記憶装置に対する制御コマンドを生成するための制御コマンド生成装置であって、
前記制御コマンドの種別に対応したブロック毎に複数のコマンド設定情報が登録されたコマンドテーブルと、
ブロックに対応したテーブルインデックスを指定し、該テーブルインデックスにより特定されるブロックのコマンド設定情報を、前記記憶装置にアクセスするための制御装置の制御レジスタに設定することで該制御レジスタの設定情報に基づく前記制御コマンドを発行する制御を行うコマンド情報設定部とを含み、
各コマンド設定情報が、
前記制御コマンドの種類を指定するコマンド指定情報と、前記制御コマンドに対応した制御シーケンスタイプを指定するパラメータ情報とを含む制御コマンド生成装置に関係する。
In order to solve the above problems, the present invention
A control command generation device for generating a control command for a storage device,
A command table in which a plurality of command setting information is registered for each block corresponding to the type of the control command;
Based on the setting information of the control register by designating the table index corresponding to the block and setting the command setting information of the block specified by the table index in the control register of the control device for accessing the storage device A command information setting unit that performs control to issue the control command,
Each command setting information
The present invention relates to a control command generating apparatus including command specifying information for specifying a type of the control command and parameter information for specifying a control sequence type corresponding to the control command.

本発明においては、予めコマンド設定情報が登録されたコマンドテーブルを用意し、コマンドテーブルの中からテーブルインデックスを指定することで、複雑なフォーマットで種々の制御コマンドのコマンド設定情報が取り出される。従って、本発明によれば、複雑なフォーマットで種々の制御コマンドが存在した場合でも、制御コマンド毎に必要なパラメータ情報を収集して制御コマンドの生成処理を行う必要がなくなり、制御コマンドの生成処理の簡素化を図ることができる。   In the present invention, a command table in which command setting information is registered in advance is prepared, and by specifying a table index from the command table, command setting information of various control commands is extracted in a complicated format. Therefore, according to the present invention, even when various control commands exist in a complicated format, it is not necessary to collect necessary parameter information for each control command and perform control command generation processing. Can be simplified.

また本発明に係る制御コマンド生成装置では、
前記各コマンド設定情報が、前記制御コマンドの種類を指定するための前記コマンド指定情報としてのコマンドインデックスと前記パラメータ情報との組み合わせごとに設けられ、
前記テーブルインデックスと前記コマンドインデックスとが異なってもよい。
In the control command generating device according to the present invention,
Each command setting information is provided for each combination of the command index and the parameter information as the command designation information for designating the type of the control command,
The table index and the command index may be different.

本発明においては、テーブルインデックスの番号とコマンドインデックスの番号とを揃える必要がない。従って、本発明によれば、テーブルインデックスを把握しておけば、コマンド設定情報が登録されるブロックを新規に追加したり変更したりしても、制御コマンドの生成処理が複雑化することがなくなる。   In the present invention, it is not necessary to align the table index number and the command index number. Therefore, according to the present invention, if the table index is grasped, even if a block in which command setting information is registered is newly added or changed, the generation process of the control command is not complicated. .

また本発明に係る制御コマンド生成装置では、
前記複数のコマンド設定情報は、
第1の規格で規定された制御コマンドに対応したコマンド設定情報と、第2の規格で規定された制御コマンドに対応したコマンド設定情報とを含むことができる。
In the control command generating device according to the present invention,
The plurality of command setting information includes:
Command setting information corresponding to the control command specified by the first standard and command setting information corresponding to the control command specified by the second standard can be included.

本発明によれば、複数の規格が混在し、各規格毎に制御コマンドが複雑に規定されている場合であっても、コマンドテーブルのテーブルインデックスを指定するだけでよいので、制御コマンドの生成処理を大幅に簡素化でき、結果として記憶装置へのアクセスのパフォーマンスの低下も防止できる。   According to the present invention, even when a plurality of standards are mixed and control commands are complicatedly defined for each standard, it is only necessary to specify the table index of the command table. As a result, it is possible to prevent the performance of access to the storage device from being deteriorated.

また本発明に係る制御コマンド生成装置では、
前記各コマンド設定情報が、
前記制御コマンドの種類を指定するための前記コマンド指定情報としてのコマンドインデックスと、前記パラメータ情報としてのレスポンスタイプとを含み、
前記レスポンスタイプが、
前記制御コマンドに対応する前記記憶装置からのレスポンスシーケンスを指定する情報であってもよい。
In the control command generating device according to the present invention,
Each command setting information is
Including a command index as the command designation information for designating the type of the control command, and a response type as the parameter information,
The response type is
Information specifying a response sequence from the storage device corresponding to the control command may be used.

また本発明に係る制御コマンド生成装置では、
前記各コマンド設定情報のコマンド指定情報及び前記パラメータ情報が格納される順番が、当該コマンド指定情報及び前記パラメータ情報が設定される前記制御装置の制御レジスタを特定するアドレスの順番と同じであってもよい。
In the control command generating device according to the present invention,
The order in which the command designation information and the parameter information in each command setting information are stored is the same as the order of addresses specifying the control registers of the control device in which the command designation information and the parameter information are set. Good.

また本発明に係る制御コマンド生成装置では、
前記各コマンド設定情報のコマンド指定情報及び前記パラメータ情報の各情報のビットの並びが、当該情報が設定される前記制御装置の制御レジスタのビットフィールドの並びと同じであってもよい。
In the control command generating device according to the present invention,
The sequence of bits of the command designation information of the command setting information and the information of the parameter information may be the same as the sequence of bit fields of the control register of the control device in which the information is set.

上記のいずれかの発明によれば、コマンド設定情報の各情報に対して加工処理やビット操作を行うことなく、制御装置の制御レジスタにそのまま設定できる。従って、制御コマンドの生成処理の簡素化を図ることができる。   According to any one of the above inventions, it is possible to set the information of the command setting information as it is in the control register of the control device without performing any processing or bit operation. Therefore, the control command generation process can be simplified.

また本発明に係る制御コマンド生成装置では、
前記コマンド情報設定部が、
前記記憶装置の規格又はバージョンの種類を判別し、その判別結果に基づいて前記テーブルインデックスを指定することができる。
In the control command generating device according to the present invention,
The command information setting unit
The type of the storage device standard or version can be determined, and the table index can be designated based on the determination result.

本発明によれば、規格やバージョンが混在する制御コマンドの生成処理を簡素化できる。   According to the present invention, it is possible to simplify the process of generating a control command in which standards and versions are mixed.

また本発明に係る制御コマンド生成装置では、
前記コマンドテーブルが、
MMC(MultiMediaCard)規格、SD(Secure Digital)規格、SDIO(SD Input/Output)規格、又はCE−ATA(Consumer Electronics-AT Attachment)規格に準拠した制御コマンドのコマンドインデックス及びレスポンスタイプと、コマンドの種類を指定するコマンドタイプ情報とを含むことができる。
In the control command generating device according to the present invention,
The command table is
Command index and response type of control commands conforming to MMC (MultiMediaCard) standard, SD (Secure Digital) standard, SDIO (SD Input / Output) standard, or CE-ATA (Consumer Electronics-AT Attachment) standard, and command type And command type information for designating.

本発明によれば、市場に流通するMMC規格、SD規格、SDIO規格のみならずCE−ATA規格の制御コマンドの生成処理を簡素化できる。   According to the present invention, it is possible to simplify the generation process of the control command of the CE-ATA standard as well as the MMC standard, SD standard, and SDIO standard distributed in the market.

また本発明は、
記憶装置にアクセスするための情報処理装置であって、
制御レジスタを有し、該制御レジスタの設定情報に基づいて前記記憶装置にアクセスするための制御コマンドを発行する制御装置と、
前記制御装置の制御レジスタに対して前記コマンド設定情報を設定する上記のいずれか記載の制御コマンド生成装置とを含む情報処理装置に関係する。
The present invention also provides
An information processing apparatus for accessing a storage device,
A control device having a control register and issuing a control command for accessing the storage device based on setting information of the control register;
The present invention relates to an information processing apparatus including the control command generation apparatus according to any one of the above that sets the command setting information in a control register of the control apparatus.

本発明によれば、種々の規格が混在してもコマンド発行の処理を簡素化できる制御コマンド生成装置が適用された情報処理装置を提供できる。   According to the present invention, it is possible to provide an information processing apparatus to which a control command generating apparatus capable of simplifying command issuing processing even when various standards are mixed is applied.

また本発明は、
前記記憶装置と、
上記記載の情報処理装置とを含む電子機器に関係する。
The present invention also provides
The storage device;
The present invention relates to an electronic device including the information processing apparatus described above.

本発明によれば、種々の規格が混在してもコマンド発行の処理を簡素化できる制御コマンド生成装置が適用された電子機器を提供できる。   According to the present invention, it is possible to provide an electronic device to which a control command generation device that can simplify command issuing processing even if various standards are mixed.

また本発明は、
記憶装置に対する制御コマンドの種別に対応したブロック毎に複数のコマンド設定情報が登録されたコマンドテーブルに対して、ブロックに対応したテーブルインデックスを指定する手段と、
前記テーブルインデックスにより特定されるブロックのコマンド設定情報を、前記記憶装置にアクセスするための制御装置の制御レジスタを設定することで前記制御レジスタの設定情報に基づく前記制御コマンドを発行する制御を行う手段としてコンピュータを機能させ、
各コマンド設定情報が、
前記制御コマンドの種類を指定するコマンド指定情報と、前記制御コマンドに対応した制御シーケンスタイプを指定するパラメータ情報とを含むプログラムに関係する。
The present invention also provides
Means for designating a table index corresponding to a block with respect to a command table in which a plurality of command setting information is registered for each block corresponding to the type of control command for the storage device;
Means for controlling the command setting information of the block specified by the table index to issue the control command based on the setting information of the control register by setting the control register of the control device for accessing the storage device Function as a computer
Each command setting information
The present invention relates to a program including command designation information for designating a type of the control command and parameter information for designating a control sequence type corresponding to the control command.

また本発明に係るプログラムでは、
前記各コマンド設定情報が、前記制御コマンドの種類を指定するための前記コマンド指定情報としてのコマンドインデックスと前記パラメータ情報との組み合わせごとに設けられ、
前記テーブルインデックスと前記コマンドインデックスとが異なってもよい。
In the program according to the present invention,
Each command setting information is provided for each combination of the command index and the parameter information as the command designation information for designating the type of the control command,
The table index and the command index may be different.

また本発明に係るプログラムでは、
前記複数のコマンド設定情報は、
第1の規格で規定された制御コマンドに対応したコマンド設定情報と、第2の規格で規定された制御コマンドに対応したコマンド設定情報とを含むことができる。
In the program according to the present invention,
The plurality of command setting information includes:
Command setting information corresponding to the control command specified by the first standard and command setting information corresponding to the control command specified by the second standard can be included.

また本発明に係るプログラムでは、
前記各コマンド設定情報が、
前記制御コマンドの種類を指定するための前記コマンド指定情報としてのコマンドインデックスと、前記パラメータ情報としてのレスポンスタイプとを含み、
前記レスポンスタイプが、
前記制御コマンドに対応する前記記憶装置からのレスポンスシーケンスを指定する情報であってもよい。
In the program according to the present invention,
Each command setting information is
Including a command index as the command designation information for designating the type of the control command, and a response type as the parameter information,
The response type is
Information specifying a response sequence from the storage device corresponding to the control command may be used.

また本発明に係るプログラムでは、
前記各コマンド設定情報のコマンド指定情報及び前記パラメータ情報が格納される順番が、当該コマンド指定情報及び前記パラメータ情報が設定される前記制御装置の制御レジスタを特定するアドレスの順番と同じであってもよい。
In the program according to the present invention,
The order in which the command designation information and the parameter information in each command setting information are stored is the same as the order of addresses specifying the control registers of the control device in which the command designation information and the parameter information are set. Good.

また本発明に係るプログラムでは、
前記各コマンド設定情報のコマンド指定情報及び前記パラメータ情報の各情報のビットの並びが、当該情報が設定される前記制御装置の制御レジスタのビットフィールドの並びと同じであってもよい。
In the program according to the present invention,
The sequence of bits of the command designation information of the command setting information and the information of the parameter information may be the same as the sequence of bit fields of the control register of the control device in which the information is set.

また本発明に係るプログラムでは、
前記記憶装置の規格又はバージョンの種類を判別し、その判別結果に基づいて前記テーブルインデックスを指定することができる。
In the program according to the present invention,
The type of the storage device standard or version can be determined, and the table index can be designated based on the determination result.

また本発明に係るプログラムでは、
前記コマンドテーブルが、
MMC(MultiMediaCard)規格、SD(Secure Digital)規格、SDIO(SD Input/Output)規格、又はCE−ATA(Consumer Electronics-AT Attachment)規格に準拠した制御コマンドのコマンドインデックス及びレスポンスタイプと、コマンドの種類を指定するコマンドタイプ情報とを含むことができる。
In the program according to the present invention,
The command table is
Command index and response type of control commands conforming to MMC (MultiMediaCard) standard, SD (Secure Digital) standard, SDIO (SD Input / Output) standard, or CE-ATA (Consumer Electronics-AT Attachment) standard, and command type And command type information for designating.

上記のいずれかの発明によれば、種々の規格が混在してもコマンド発行の処理を簡素化できる、記憶装置に対して制御コマンドを生成するためのプログラムを提供できる。   According to any one of the above inventions, it is possible to provide a program for generating a control command for a storage device, which can simplify command issuing processing even if various standards are mixed.

以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の必須構成要件であるとは限らない。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The embodiments described below do not unduly limit the contents of the present invention described in the claims. Also, not all of the configurations described below are essential constituent requirements of the present invention.

1. 情報処理装置
図1に、本実施形態における情報処理装置が適用された電子機器の構成例のブロック図を示す。
1. Information Processing Device FIG. 1 is a block diagram showing a configuration example of an electronic apparatus to which the information processing device according to this embodiment is applied.

図1の構成を有する電子機器としては、例えばパーソナルコンピュータ、その周辺機器(例えばプリンタ装置、スキャナ装置又は複合機)、携帯電話機、携帯情報端末、オーディオプレーヤ、ロボット装置、デジタルカメラ、ビデオカメラ、GPS装置、テレビ受信装置、プロジェクタ等がある。   Examples of the electronic device having the configuration shown in FIG. 1 include a personal computer, peripheral devices (for example, a printer device, a scanner device, or a multifunction device), a mobile phone, a portable information terminal, an audio player, a robot device, a digital camera, a video camera, and a GPS. Devices, television receivers, projectors, and the like.

電子機器10は、情報処理装置としてのホストシステム100と、メモリカード(広義には記憶装置)200とを含み、ホストシステム100とメモリカード200とがカードバス20を介して接続されている。電子機器10では、メモリカード200に対する制御コマンドを発行することにより、メモリカード200にデータを書き込んだり、メモリカード200からデータを読み出したりすることができる。メモリカード200は、例えばフラッシュメモリカード、I/OデバイスやHDD装置であってもよい。   The electronic device 10 includes a host system 100 as an information processing device and a memory card (storage device in a broad sense) 200, and the host system 100 and the memory card 200 are connected via a card bus 20. The electronic device 10 can write data to the memory card 200 or read data from the memory card 200 by issuing a control command to the memory card 200. The memory card 200 may be, for example, a flash memory card, an I / O device, or an HDD device.

ホストシステム100は、中央演算処理装置(Central Processing Unit:CPU)110、メモリ120及びカードコントローラ130を含む。CPU110、メモリ120及びカードコントローラ130は、システムバス122を介して接続されている。従って、CPU110は、システムバス122を介してメモリ120又はカードコントローラ130にアクセスできる。そして、CPU110が、メモリ120に格納されたプログラムを読み込んで該プログラムに対応した処理を実行することにより、メモリカード200に対して制御コマンドを発行する制御を行う制御コマンド生成装置としての機能を実現する。カードコントローラ130とメモリカード200とは、カードバス20を介して接続され、CPU110が、カードコントローラ130からメモリカード200に対して発行する制御コマンドを生成する制御を行う。メモリカード200を「デバイス」と定義すると、カードコントローラ130はホスト側を制御する「ホストコントローラ」と定義することができる。   The host system 100 includes a central processing unit (CPU) 110, a memory 120, and a card controller 130. The CPU 110, the memory 120, and the card controller 130 are connected via a system bus 122. Therefore, the CPU 110 can access the memory 120 or the card controller 130 via the system bus 122. The CPU 110 reads the program stored in the memory 120 and executes a process corresponding to the program, thereby realizing a function as a control command generation device that performs control to issue a control command to the memory card 200. To do. The card controller 130 and the memory card 200 are connected via the card bus 20, and the CPU 110 performs control to generate a control command issued from the card controller 130 to the memory card 200. When the memory card 200 is defined as “device”, the card controller 130 can be defined as “host controller” for controlling the host side.

カードバス20は、転送クロックCLKが伝送されるクロックライン、制御コマンドCMD及びレスポンスが伝送されるコマンドライン、例えば4ビット(又は8ビット)の転送データDAT0−DAT3が伝送されるデータラインを有する。本実施形態では、カードコントローラ130が、転送クロックCLKに同期してコマンドCMDを発行する。そして、転送クロックCLKに同期して例えば4ビットの転送データDAT0−DAT3が送受信される。また、コマンドCMDの種類によっては、メモリカード200が制御コマンドCMDに対するレスポンスとして、例えばコマンドラインを用いてレスポンスを返すことができる。   The card bus 20 has a clock line for transmitting a transfer clock CLK, a command line for transmitting a control command CMD and a response, for example, a data line for transmitting 4-bit (or 8-bit) transfer data DAT0 to DAT3. In the present embodiment, the card controller 130 issues a command CMD in synchronization with the transfer clock CLK. Then, for example, 4-bit transfer data DAT0 to DAT3 is transmitted / received in synchronization with the transfer clock CLK. Further, depending on the type of command CMD, the memory card 200 can return a response using, for example, a command line as a response to the control command CMD.

以下では、メモリカード200がSD規格に準拠したフラッシュメモリカードであり、カードバス20にはSD規格に準拠したシーケンスで制御コマンドやレスポンス、転送データの送受信が行われるものとする。   In the following, it is assumed that the memory card 200 is a flash memory card conforming to the SD standard, and control commands, responses, and transfer data are transmitted / received to / from the card bus 20 in a sequence conforming to the SD standard.

図2に、本実施形態における制御コマンドの説明図を示す。   FIG. 2 is an explanatory diagram of control commands in the present embodiment.

制御コマンドは、例えば48ビット長のデータであり、スタートビット「0」、カードコントローラ130によりセットされる転送ビット「1」に続き、45ビットのコマンドデータ、エンドビット「1」で構成されている。コマンドデータの末尾の7ビットは、CRC(Cyclic Redundancy Check)データである。コマンドデータは、コマンド、アドレス情報やパラメータ情報を含むことができ、図2のような構造のデータがコマンドラインを伝送される。   The control command is, for example, 48-bit data, and is composed of a start bit “0”, a transfer bit “1” set by the card controller 130, 45-bit command data, and an end bit “1”. . The last 7 bits of the command data are CRC (Cyclic Redundancy Check) data. The command data can include command, address information, and parameter information, and data having a structure as shown in FIG. 2 is transmitted through the command line.

なお、メモリカード200は、例えば転送ビットに「0」を設定することで、上記のコマンドラインを介してレスポンスをカードコントローラ130に返信できる。   Note that the memory card 200 can return a response to the card controller 130 via the command line by setting “0” in the transfer bit, for example.

図3に、図1のカードコントローラ130の構成例のブロック図を示す。   FIG. 3 shows a block diagram of a configuration example of the card controller 130 of FIG.

カードコントローラ130は、制御インタフェース(InterFace:I/F)回路132、FIFO(First-In First-Out)I/F回路134、コントローラ制御レジスタ部136、クロック制御部138、制御ロジック部140を含む。制御ロジック部140は、コマンドシーケンサ142、データシーケンサ144を含む。   The card controller 130 includes a control interface (InterFace: I / F) circuit 132, a first-in first-out (FIFO) I / F circuit 134, a controller control register unit 136, a clock control unit 138, and a control logic unit 140. The control logic unit 140 includes a command sequencer 142 and a data sequencer 144.

制御I/F回路132は、システムバス122を介してCPU110やメモリ120との間で送受信される制御信号や制御データのインタフェース処理を行う。CPU110は、制御I/F回路132を介してコントローラ制御レジスタ部136の各制御レジスタに制御データを設定できる。   The control I / F circuit 132 performs interface processing of control signals and control data transmitted / received to / from the CPU 110 and the memory 120 via the system bus 122. The CPU 110 can set control data in each control register of the controller control register unit 136 via the control I / F circuit 132.

FIFOI/F回路134は、システムバス122を介してCPU110やメモリ120との間で送受信される制御信号や制御データのインタフェース処理を行う。システムバス122を介してメモリ120から読み出されたデータは、FIFOI/F回路134においてバッファリングされた後、制御ロジック部140に供給される。また、メモリカード200から読み出されたデータは、FIFOI/F回路134においてバッファリングされた後に、システムバス122を介してCPU110又はメモリ120に出力される。   The FIFO I / F circuit 134 performs interface processing of control signals and control data transmitted / received to / from the CPU 110 and the memory 120 via the system bus 122. Data read from the memory 120 via the system bus 122 is buffered in the FIFO I / F circuit 134 and then supplied to the control logic unit 140. Data read from the memory card 200 is buffered in the FIFO I / F circuit 134 and then output to the CPU 110 or the memory 120 via the system bus 122.

コントローラ制御レジスタ部136は、1又は複数の制御レジスタを有し、各制御レジスタにはカードコントローラ130を制御するための制御データが設定される。コントローラ制御レジスタ部136の各制御レジスタに設定された制御データに対応した制御信号に基づいて、カードコントローラ130の各部が制御される。   The controller control register unit 136 has one or a plurality of control registers, and control data for controlling the card controller 130 is set in each control register. Each unit of the card controller 130 is controlled based on a control signal corresponding to the control data set in each control register of the controller control register unit 136.

クロック制御部138は、カードコントローラ130の各部にクロックを供給すると共に、カードバス20を構成するクロックラインに転送クロックCLKを出力する制御を行う。   The clock control unit 138 supplies a clock to each unit of the card controller 130 and controls to output a transfer clock CLK to a clock line configuring the card bus 20.

コマンドシーケンサ142は、コントローラ制御レジスタ部136の制御レジスタの制御データに基づいて、カードバス20を構成するコマンドラインを介してメモリカード200に対してコマンドを発行する制御を行う。   The command sequencer 142 performs control to issue a command to the memory card 200 via the command line constituting the card bus 20 based on the control data of the control register of the controller control register unit 136.

データシーケンサ144は、コントローラ制御レジスタ部136の制御レジスタの制御データに基づいて、カードバス20を構成するデータラインを介してメモリカード200との間でデータを送受信する制御を行う。   The data sequencer 144 performs control to transmit / receive data to / from the memory card 200 via the data line constituting the card bus 20 based on the control data of the control register of the controller control register unit 136.

図4に、図3のコントローラ制御レジスタ部136の構成の概要を示す。   FIG. 4 shows an outline of the configuration of the controller control register unit 136 shown in FIG.

コントローラ制御レジスタ部136は、コマンド指定レジスタ150、引数設定レジスタ152、コマンドタイプ設定レジスタ154、レスポンス指定レジスタ156、転送タイプ設定レジスタ158、転送カウント数設定レジスタ160を含むことができる。コントローラ制御レジスタ部136のコマンド指定レジスタ150、引数設定レジスタ152、コマンドタイプ設定レジスタ154、レスポンス指定レジスタ156、転送タイプ設定レジスタ158及び転送カウント数設定レジスタ160の各制御レジスタにはアドレスが割り当てられており、例えば該アドレスをインクリメント(又は所定のアドレス値を加算)するだけ各制御レジスタに順番にアクセスできるようになっている。   The controller control register unit 136 can include a command specification register 150, an argument setting register 152, a command type setting register 154, a response specification register 156, a transfer type setting register 158, and a transfer count number setting register 160. Addresses are assigned to the control registers of the command specification register 150, argument setting register 152, command type setting register 154, response specification register 156, transfer type setting register 158, and transfer count number setting register 160 of the controller control register unit 136. For example, each control register can be accessed in order by incrementing the address (or adding a predetermined address value).

CPU110は、システムバス122を介して、メモリカード200に対して発行するコマンドの種類を指定するコマンド指定情報と該コマンドのパラメータであるパラメータ情報とをコントローラ制御レジスタ部136に設定することができる。パラメータ情報は、引数情報、コマンドタイプ情報、レスポンス指定情報、転送タイプ情報、転送カウント数情報を含むことができる。   The CPU 110 can set command designation information for designating the type of command issued to the memory card 200 and parameter information, which is a parameter of the command, in the controller control register unit 136 via the system bus 122. The parameter information can include argument information, command type information, response designation information, transfer type information, and transfer count information.

コマンド指定情報は、コマンド指定レジスタ150に設定される。コマンド指定レジスタ150に設定されたコマンド指定情報に基づいて、制御信号cmd_indexが出力される。制御信号cmd_indexにより指定されるコマンドインデックスが、SD規格におけるコマンド(例えばSD Specifications, Part 1, Physical Layer Specification Version 2.00, May 9, 2006, 4.7.4 Detailed Command Descriptionを参照)のインデックスとなる。例えば制御信号cmd_indexにより指定されるコマンドインデックスが「0」を指定するとき、カードコントローラ130は、メモリカード200に対して、アイドルステートに遷移させるコマンドCMD0を発行する制御を行う。   Command designation information is set in the command designation register 150. Based on the command designation information set in the command designation register 150, the control signal cmd_index is output. A command index specified by the control signal cmd_index is an index of a command in the SD standard (see, for example, SD Specifications, Part 1, Physical Layer Specification Version 2.00, May 9, 2006, 4.7.4 Detailed Command Description). For example, when the command index specified by the control signal cmd_index specifies “0”, the card controller 130 controls the memory card 200 to issue a command CMD0 for making a transition to the idle state.

パラメータ情報のうち引数情報は、引数設定レジスタ152に設定される。引数設定レジスタ152に設定された引数情報に基づいて、制御信号argが出力される。制御信号argにより指定される引数情報が、SD規格におけるコマンドの引数となる。制御信号argにより指定される引数を用いて、カードコントローラ130は、メモリカード200に対して、上記の引数を有する例えばコマンドCMD2(コマンドインデックスが例えば「2」)を発行する制御を行う。   Of the parameter information, the argument information is set in the argument setting register 152. Based on the argument information set in the argument setting register 152, the control signal arg is output. The argument information specified by the control signal arg becomes an argument of the command in the SD standard. Using the argument specified by the control signal arg, the card controller 130 controls the memory card 200 to issue, for example, the command CMD2 (command index is “2”, for example) having the above argument.

パラメータ情報のうちコマンドタイプ情報が、コマンドタイプ設定レジスタ154に設定される。コマンドタイプ設定レジスタ154に設定されたコマンドタイプ情報に基づいて、制御信号typeが出力される。コマンドタイプ情報は、停止コマンドやSD規格等のACMD等のコマンド種類を指定する情報であって、コマンドに対応した制御シーケンスを指定する情報である。   Of the parameter information, command type information is set in the command type setting register 154. A control signal type is output based on the command type information set in the command type setting register 154. The command type information is information for specifying a command type such as a stop command or ACMD such as SD standard, and is information for specifying a control sequence corresponding to the command.

パラメータ情報のうちレスポンス指定情報が、レスポンス指定レジスタ156に設定される。レスポンス指定レジスタ156に設定されたレスポンス指定情報に基づいて、制御信号respが出力される。制御信号respにより指定されるレスポンス指定情報が、コマンドのレスポンスタイプとなる。レスポンスタイプは、レスポンスの有無だけでなく、レスポンスがある場合のレスポンスシーケンスの種類を特定する情報である。ここで、例えばSD規格においてR1以外のレスポンスタイプが指定される場合であっても、シーケンスがR1と実質的に同じであるR6やR7のレスポンスタイプをR1として指定すればよい。例えば制御信号respにより指定されるレスポンス指定情報が「R1b」を指定(コマンドインデックスが例えば「7」)するとき、カードコントローラ130は、メモリカード200に対して、例えばメモリカード200がビジー状態となるレスポンスを受け取る、例えばコマンドCMD7を発行する制御を行う。   Of the parameter information, response designation information is set in the response designation register 156. Based on the response designation information set in the response designation register 156, the control signal resp is output. The response designation information designated by the control signal resp is the command response type. The response type is information that specifies not only the presence / absence of a response but also the type of response sequence when there is a response. Here, for example, even when a response type other than R1 is specified in the SD standard, a response type of R6 or R7 whose sequence is substantially the same as R1 may be specified as R1. For example, when the response designation information designated by the control signal resp designates “R1b” (command index is “7”, for example), the card controller 130 is in a busy state with respect to the memory card 200, for example. A control for receiving a response, for example, issuing a command CMD7 is performed.

パラメータ情報のうち転送タイプが、転送タイプ設定レジスタ158に設定される。転送タイプ設定レジスタ158に設定された転送タイプ情報に基づいて、制御信号tran_typeが出力される。制御信号tran_typeにより指定される転送タイプ情報が、SD規格におけるコマンドの転送タイプとなる。転送タイプ情報は、Single転送、Muliple転送、Stream転送、Infinite転送の他、転送方向や制御コマンドCMD12を伴うか否かの情報を含む。   Of the parameter information, the transfer type is set in the transfer type setting register 158. Based on the transfer type information set in the transfer type setting register 158, the control signal tran_type is output. Transfer type information specified by the control signal tran_type is a command transfer type in the SD standard. The transfer type information includes information on whether or not a transfer command and a control command CMD12 are involved, in addition to single transfer, multiple transfer, stream transfer, and infinite transfer.

パラメータ情報のうち転送カウント数情報が、転送カウント数設定レジスタ160に設定される。転送カウント数設定レジスタ160に設定された転送カウント数に基づいて、制御信号cntが出力される。制御信号cntにより指定される転送カウント数に基づいて、カードコントローラ130は、メモリカード200との間のデータ転送を繰り返す。   Of the parameter information, transfer count number information is set in the transfer count number setting register 160. Based on the transfer count set in the transfer count setting register 160, the control signal cnt is output. Based on the transfer count specified by the control signal cnt, the card controller 130 repeats data transfer with the memory card 200.

カードコントローラ130は、図4に示すようなコントローラ制御レジスタ部136の各制御レジスタの制御データを用いて、メモリカード200に対して制御コマンドを発行することができる。   The card controller 130 can issue a control command to the memory card 200 using the control data of each control register of the controller control register unit 136 as shown in FIG.

図5に、図1のメモリカード200の構成例のブロック図を示す。   FIG. 5 shows a block diagram of a configuration example of the memory card 200 of FIG.

メモリカード200は、カードI/F回路210、カードI/F制御回路220、カード制御レジスタ部230、メモリI/F回路240、メモリコア部250を含む。   The memory card 200 includes a card I / F circuit 210, a card I / F control circuit 220, a card control register unit 230, a memory I / F circuit 240, and a memory core unit 250.

カードI/F回路210は、カードバス20を伝送される信号のインタフェース処理を行う。カードI/F制御回路220は、カードI/F回路210を制御してカードバス20に信号を出力する制御を行ったり、カードバス20からの信号を入力する制御を行ったりする。   The card I / F circuit 210 performs interface processing of signals transmitted through the card bus 20. The card I / F control circuit 220 controls the card I / F circuit 210 to output a signal to the card bus 20 and performs control to input a signal from the card bus 20.

カード制御レジスタ部230は、複数の制御レジスタを有する。例えば、カード制御レジスタ部230は、動作条件レジスタ(Operation Conditions Resister:OCR)、カード識別レジスタ(Card IDentification register:CID)、カード特性データレジスタ(Card-Specific Data register:CSD)、相対カードアドレスレジスタ(Relative Card Address register:RCA)、ドライバステージレジスタ(Driver Stage Register:DSR)、SDコンフィギュレーションレジスタ(SD Configuration Register:SCR)、SDステータスレジスタ(SD Status Register:SSR)、カードステータスレジスタ(Card Status Register:CSR)等を含む。カードI/F制御回路220は、カード制御レジスタ部230の設定データに基づいてメモリカード200の各部を制御すると共に、その制御結果をカード制御レジスタ部230に格納する制御を行う。   The card control register unit 230 has a plurality of control registers. For example, the card control register unit 230 includes an operation conditions register (OCR), a card identification register (CID), a card-specific data register (CSD), a relative card address register (CSD) Relative Card Address Register (RCA), Driver Stage Register (Driver Stage Register: DSR), SD Configuration Register (SD Configuration Register: SCR), SD Status Register (SD Status Register: SSR), Card Status Register (Card Status Register: CSR). The card I / F control circuit 220 controls each unit of the memory card 200 based on the setting data of the card control register unit 230 and controls to store the control result in the card control register unit 230.

メモリI/F回路240は、カードI/F制御回路220の制御により、メモリコア部250のメモリ素子にデータを書き込んだり、メモリコア部250のメモリ素子からデータを読み出したりする制御を行う。   The memory I / F circuit 240 performs control of writing data to the memory element of the memory core unit 250 and reading data from the memory element of the memory core unit 250 under the control of the card I / F control circuit 220.

メモリコア部250は、複数のメモリ素子を有する。メモリI/F回路240は、予め割り当てられたアドレスに対応したメモリ素子からデータを読み出したり、該アドレスに対応したメモリ素子にデータを書き込んだりすることができる。   The memory core unit 250 has a plurality of memory elements. The memory I / F circuit 240 can read data from a memory element corresponding to a previously assigned address or write data to a memory element corresponding to the address.

2. 制御コマンド生成装置
本実施形態におけるホストシステム100は、図5に示す構成のメモリカード200に対し、カードバス20を介して制御コマンドを発行することでメモリカード200へのアクセスを行う。このような制御コマンドを生成する制御は、ホストシステム100のCPU110及びメモリ120によって行われる。従って、本実施形態における制御コマンド生成装置の機能は、ホストシステム100のCPU110及びメモリ120により実現される。
2. Control Command Generating Device The host system 100 in this embodiment accesses the memory card 200 by issuing a control command to the memory card 200 having the configuration shown in FIG. Control for generating such a control command is performed by the CPU 110 and the memory 120 of the host system 100. Therefore, the function of the control command generation device in this embodiment is realized by the CPU 110 and the memory 120 of the host system 100.

図6に、本実施形態における制御コマンド生成装置の構成の概要を示す。   FIG. 6 shows an outline of the configuration of the control command generation device according to this embodiment.

本実施形態における制御コマンド生成装置300は、コマンドテーブル310と、コマンド情報設定部320とを含む。コマンドテーブル310には、各ブロックが、記憶装置としてのメモリカード200に対して発行する制御コマンドの種別に対応した複数のブロックを有し、ブロック毎にコマンド設定情報が登録されている。従って、コマンドテーブル310には、ブロック毎に登録された複数のコマンド設定情報が予め登録されている。各コマンド設定情報は、制御コマンドの種類を指定するコマンド指定情報と、制御コマンドに対応した制御シーケンスタイプを指定するパラメータ情報とを含む。より具体的には、各コマンド設定情報が、コマンド指定情報としてのコマンドインデックスと、パラメータ情報としてのレスポンスタイプとを含み、レスポンスタイプが、制御コマンドに対応するメモリカード200(記憶装置)からのレスポンスシーケンスを指定する情報である。   The control command generation device 300 in the present embodiment includes a command table 310 and a command information setting unit 320. In the command table 310, each block has a plurality of blocks corresponding to the types of control commands issued to the memory card 200 as a storage device, and command setting information is registered for each block. Therefore, a plurality of command setting information registered for each block is registered in advance in the command table 310. Each command setting information includes command designation information for designating the type of control command and parameter information for designating a control sequence type corresponding to the control command. More specifically, each command setting information includes a command index as command designation information and a response type as parameter information, and the response type is a response from the memory card 200 (storage device) corresponding to the control command. Information specifying a sequence.

各ブロックには、テーブルインデックスが割り当てられている。コマンド情報設定部320は、ブロックに対応したテーブルインデックスを指定し、該テーブルインデックスにより特定されるブロックのコマンド設定情報を、カードコントローラ130(記憶装置にアクセスするための制御装置)の制御レジスタに設定することで該制御レジスタの設定情報に基づく制御コマンドを発行する制御を行う。   A table index is assigned to each block. The command information setting unit 320 designates a table index corresponding to the block, and sets the command setting information of the block specified by the table index in the control register of the card controller 130 (control device for accessing the storage device). As a result, control for issuing a control command based on the setting information of the control register is performed.

コマンドテーブル310の機能は、図1のメモリ120によって実現される。コマンド情報設定部320の機能は、図1のCPU110及びメモリ120によって実現される。即ち、メモリ120に格納されたプログラムを読み込んだCPU110が該プログラムに対応した処理を実行することでコマンド情報設定部320の機能を実現する。   The function of the command table 310 is realized by the memory 120 of FIG. The function of the command information setting unit 320 is realized by the CPU 110 and the memory 120 of FIG. In other words, the CPU 110 that has read the program stored in the memory 120 executes processing corresponding to the program, thereby realizing the function of the command information setting unit 320.

コマンド情報設定部320は、コマンド情報抽出部322と、コマンド発行制御部324とを含むことができる。コマンド情報抽出部322は、テーブルインデックスを指定してコマンドテーブル310から該テーブルインデックスに対応するブロックのコマンド設定情報を抽出する。コマンド発行制御部324は、コマンド情報抽出部322により抽出されたコマンド設定情報を、そのままカードコントローラ130のコントローラ制御レジスタ部136の制御レジスタに設定する。こうすることで、コマンド情報設定部320は、カードコントローラ130の制御レジスタの設定情報に基づく制御コマンドを発行する制御を行うことができる。   The command information setting unit 320 can include a command information extraction unit 322 and a command issue control unit 324. The command information extraction unit 322 specifies a table index and extracts command setting information of a block corresponding to the table index from the command table 310. The command issue control unit 324 sets the command setting information extracted by the command information extraction unit 322 as it is in the control register of the controller control register unit 136 of the card controller 130. By doing so, the command information setting unit 320 can perform control to issue a control command based on the setting information of the control register of the card controller 130.

このように、予め登録されたコマンドテーブル310の中からテーブルインデックスを指定することで、複雑なフォーマットで種々の制御コマンドが存在した場合でも、制御コマンド毎に必要なパラメータ情報を収集して制御コマンドの生成処理を行う必要がなくなる。   In this way, by specifying a table index from the command table 310 registered in advance, even when various control commands exist in a complicated format, necessary parameter information is collected for each control command and the control command is collected. Need not be generated.

図7に、図6のコマンドテーブル310の構成の概要を示す。   FIG. 7 shows an outline of the configuration of the command table 310 of FIG.

図7に示すように、コマンドテーブル310の各ブロックにはテーブルインデックスが割り当てられている。そして、ブロック毎に、コマンドのコマンド設定情報が登録される。   As shown in FIG. 7, a table index is assigned to each block of the command table 310. Then, command setting information of commands is registered for each block.

図7では、例えばテーブルインデックス「0」に対応するブロックに、SD規格の制御コマンドCMD0を発行するためのコマンド設定情報が登録されている。同様に、例えばテーブルインデックス「1」に対応するブロックに、SD規格の制御コマンドCMD1を発行するためのコマンド設定情報が登録されている。また、同様に、例えばテーブルインデックス「3」に対応するブロックに、MMC規格の制御コマンドCMD3を発行するためのコマンド設定情報が登録され、テーブルインデックス「4」に対応するブロックに、SD規格の制御コマンドCMD3を発行するためのコマンド設定情報が登録される。   In FIG. 7, for example, command setting information for issuing an SD standard control command CMD0 is registered in a block corresponding to the table index “0”. Similarly, command setting information for issuing an SD standard control command CMD1 is registered in a block corresponding to the table index “1”, for example. Similarly, command setting information for issuing an MMC standard control command CMD3 is registered in the block corresponding to the table index “3”, for example, and the SD standard control is registered in the block corresponding to the table index “4”. Command setting information for issuing the command CMD3 is registered.

そして、図7に示すように、テーブルインデックスとコマンドインデックスとが異なることが望ましい。即ち、テーブルインデックスの番号とコマンドインデックスの番号とを揃える必要がない。こうすることで、テーブルインデックスを把握しておけば、コマンド設定情報が登録されるブロックを新規に追加したり変更したりしても、制御コマンドの生成処理が複雑化することがなくなる。   As shown in FIG. 7, it is desirable that the table index and the command index are different. That is, it is not necessary to align the table index number and the command index number. In this way, if the table index is known, the control command generation process will not be complicated even if a block in which command setting information is registered is newly added or changed.

更に、コマンドテーブル310には、種々の規格の制御コマンドのコマンド設定情報が混在して各テーブルに登録されていてもよい。即ち、第1の規格で規定された制御コマンドに対応したコマンド設定情報と、第2の規格で規定された制御コマンドに対応したコマンド設定情報とを含むことが望ましい。図7に示すように例えばSD規格の制御コマンド、SD規格と下位互換のMMC規格の制御コマンド等の他、更にSDIO規格の制御コマンドやCE−ATA規格の制御コマンドが混在することが望ましい。こうすることで、複数の規格のうちいずれかの規格の制御コマンドを発行するために、テーブルインデックスを指定するだけでよいので、従来の制御コマンドの生成処理に比べて処理の簡素化やプログラムコード量の削減を図ることができる。   Further, command setting information of control commands of various standards may be mixed in the command table 310 and registered in each table. That is, it is desirable to include command setting information corresponding to the control command specified by the first standard and command setting information corresponding to the control command specified by the second standard. As shown in FIG. 7, for example, it is desirable to mix SDIO standard control commands and CE-ATA standard control commands in addition to SD standard control commands, MMC standard control commands that are backward compatible with the SD standard, and the like. In this way, it is only necessary to specify a table index in order to issue a control command of any one of a plurality of standards, so the processing can be simplified and the program code compared to conventional control command generation processing. The amount can be reduced.

図8に、図7のコマンドテーブルの各ブロックに登録されるコマンド設定情報の一例を示す。   FIG. 8 shows an example of command setting information registered in each block of the command table of FIG.

各ブロックには、コマンド設定情報が登録される。そして、各コマンド設定情報は、コマンド指定情報としてのコマンドインデックスとパラメータ情報との組み合わせごとに設けられる。各ブロックには、コマンドインデックスの他に、コマンド引数情報、コマンドタイプ(コマンドタイプ情報)、レスポンスタイプ、レスポンスデータポインタ、転送タイプ情報、転送カウント数情報が登録される。レスポンスデータポインタは、メモリカード200からのレスポンスのデータが格納されるメモリ120の記憶領域を指定する情報である。レスポンスデータポインタを除く、コマンド指定情報及びパラメータ情報は、そのままコントローラ制御レジスタ部136の各制御レジスタに設定される。   Command setting information is registered in each block. Each command setting information is provided for each combination of a command index as command designation information and parameter information. In addition to the command index, command argument information, command type (command type information), response type, response data pointer, transfer type information, and transfer count information are registered in each block. The response data pointer is information that designates a storage area of the memory 120 in which response data from the memory card 200 is stored. Command designation information and parameter information excluding the response data pointer are set in the respective control registers of the controller control register unit 136 as they are.

ここで、各コマンド設定情報のコマンド指定情報及びパラメータ情報が格納される順番が、当該コマンド指定情報及びパラメータ情報が設定されるカードコントローラ130のコントローラ制御レジスタ部136の制御レジスタを特定するアドレスの順番と同じであることが望ましい。また、各コマンド設定情報のコマンド指定情報及びパラメータ情報の各情報のビットの並びが、当該情報が設定されるカードコントローラ130のコントローラ制御レジスタ部136の制御レジスタのビットフィールドの並びと同じであることが望ましい。   Here, the order in which the command designation information and parameter information of each command setting information are stored is the order of the addresses that specify the control registers of the controller control register unit 136 of the card controller 130 in which the command designation information and parameter information are set. It is desirable to be the same. In addition, the order of bits of the command specification information and parameter information of each command setting information is the same as the order of bit fields of the control register of the controller control register unit 136 of the card controller 130 in which the information is set. Is desirable.

こうすることで、図8の各情報は、レスポンスデータポインタを除き、加工処理やビット操作を行うことなく、図4のコントローラ制御レジスタ部136の各制御レジスタにそのまま設定できる。従って、制御コマンドの生成処理の簡素化を図ることができる。   By doing so, each piece of information in FIG. 8 can be set as it is in each control register of the controller control register unit 136 in FIG. 4 without performing any processing or bit operation except for the response data pointer. Therefore, the control command generation process can be simplified.

3. ホストシステムの動作例
次に、本実施形態におけるホストシステム100の動作例について説明する。
3. Operation Example of Host System Next, an operation example of the host system 100 in the present embodiment will be described.

図9に、図1のホストシステム100の処理例のフロー図を示す。   FIG. 9 shows a flowchart of a processing example of the host system 100 of FIG.

図1に示すメモリ120に図9の処理を実行するためのプログラムが格納されており、CPU110がメモリ120からプログラムを読み出して該プログラムに対応した処理を実行することで、CPU110がカードコントローラ130を制御して図9の処理が行われるようになっている。また図9では、所与の第1の処理(例えばメモリカード200に格納されたデータが必要な情報処理)と所与の第2の処理(例えばメモリカード200から読み出したデータを用いた情報処理)との間で、ホストシステム100が制御コマンドの発行処理を行うものとする。   A program for executing the processing of FIG. 9 is stored in the memory 120 shown in FIG. 1, and the CPU 110 reads the program from the memory 120 and executes processing corresponding to the program, whereby the CPU 110 The process of FIG. 9 is performed under control. Further, in FIG. 9, given first processing (for example, information processing that requires data stored in the memory card 200) and given second processing (for example, information processing using data read from the memory card 200). The host system 100 performs processing for issuing control commands.

まず、CPU110は、メモリ120から読み出したプログラムを実行することで第1の処理を行う(ステップS10)。   First, the CPU 110 performs a first process by executing a program read from the memory 120 (step S10).

次に、CPU110は、制御コマンドの発行処理を行う(ステップS11)。より具体的には、メモリ120に格納されたコマンドテーブルに対してテーブルインデックスを指定し、該テーブルインデックスで指定されたブロックのコマンド設定情報をカードコントローラ130のコントローラ制御レジスタ部136の各制御レジスタに設定する。そして、CPU110は、制御コマンドの発行指示(コマンドGo)を行うことで、カードバス20を介してコントローラ制御レジスタ部136の制御レジスタの内容に対応した制御コマンドが出力される。   Next, the CPU 110 performs control command issuance processing (step S11). More specifically, a table index is designated for the command table stored in the memory 120, and command setting information of the block designated by the table index is stored in each control register of the controller control register unit 136 of the card controller 130. Set. Then, the CPU 110 issues a control command issuance instruction (command Go), whereby a control command corresponding to the content of the control register of the controller control register unit 136 is output via the card bus 20.

カードコントローラ130は、制御コマンドの発行後、当該制御コマンドに対応した制御シーケンスでメモリカード200との間でクロックライン、コマンドライン及びデータラインの制御を行い、当該制御コマンドの終了をCPU110に対して割り込み通知する。更にカードコントローラ130は、カードバス20を介したメモリカード200との間のデータ転送の終了をCPU110に対して割り込み通知する。カードコントローラ130は、例えばメモリカード200から読み出したデータを順次メモリ120に格納する制御を行う。   After issuing the control command, the card controller 130 controls the clock line, command line, and data line with the memory card 200 in a control sequence corresponding to the control command, and notifies the CPU 110 of the end of the control command. Notify interrupt. Furthermore, the card controller 130 notifies the CPU 110 of the end of data transfer with the memory card 200 via the card bus 20. For example, the card controller 130 performs control to sequentially store data read from the memory card 200 in the memory 120.

ステップS11に続いて、CPU110は、カードコントローラ130からの制御コマンドの終了割り込みを監視しており(ステップS12)、制御コマンドの終了割り込みが通知されると、カードコントローラ130からの転送終了割り込みを監視する(ステップS13)。   Subsequent to step S11, the CPU 110 monitors a control command end interrupt from the card controller 130 (step S12), and when notified of the control command end interrupt, monitors the transfer end interrupt from the card controller 130. (Step S13).

その後、CPU110は、ステップS13において転送終了が通知されると、CPU110は、メモリ120に格納されたメモリカード200からの読み出しデータを用いて第2の処理を行い(ステップS14)、一連の処理を終了する(エンド)。   Thereafter, when the CPU 110 is notified of the end of transfer in step S13, the CPU 110 performs a second process using read data from the memory card 200 stored in the memory 120 (step S14), and performs a series of processes. End (end).

図10に、図9の制御コマンド発行処理の処理例のフロー図を示す。   FIG. 10 shows a flowchart of a processing example of the control command issue processing of FIG.

メモリ120に図10の処理を実行するためのプログラムが格納されており、CPU110がメモリ120からプログラムを読み出して該プログラムに対応した処理を実行することで、CPU110がカードコントローラ130を制御して図10の処理が行われるようになっている。   A program for executing the processing of FIG. 10 is stored in the memory 120, and the CPU 110 reads out the program from the memory 120 and executes processing corresponding to the program, whereby the CPU 110 controls the card controller 130 to execute the processing. Ten processes are performed.

CPU110は、メモリカード200のカード規格とそのバージョンの判別処理を行う(ステップS20)。この判別処理は、例えば電源投入後のメモリカード200の初期化シーケンスで行われる。これは、カード規格やバージョンに応じて制御コマンドの種類(パラメータ情報やレスポンスシーケンス等)が異なるからである。   The CPU 110 performs a determination process for the card standard of the memory card 200 and its version (step S20). This determination processing is performed, for example, in an initialization sequence of the memory card 200 after power is turned on. This is because the type of control command (parameter information, response sequence, etc.) differs depending on the card standard and version.

ステップS20において規格とバージョンが判別すると、判別した規格とバージョンとに基づいて発行したい制御コマンドに対応したテーブルインデックスをメモリ120のコマンドテーブルに対して指定し、CPU110は、上述のようにカードコントローラ130に対して制御コマンドを発行する制御を行い(ステップS21)、一連の処理を終了する(エンド)。   When the standard and version are determined in step S20, a table index corresponding to a control command to be issued is specified for the command table in the memory 120 based on the determined standard and version, and the CPU 110, as described above, specifies the card controller 130. Is controlled to issue a control command (step S21), and a series of processing ends (end).

図11に、図10のカード規格及びバージョンの判別処理例のフロー図を示す。   FIG. 11 shows a flowchart of an example of the card standard and version discrimination process of FIG.

メモリ120に図11の処理を実行するためのプログラムが格納されており、CPU110がメモリ120からプログラムを読み出して該プログラムに対応した処理を実行することで、CPU110がカードコントローラ130を制御して図11の処理が行われるようになっている。即ち、カード規格やバージョンを判別する目的で、制御コマンドの発行処理が行われる。図11の制御コマンドの発行の度に、上述のようにコマンドテーブルを用いた発行制御が行われる。   A program for executing the processing of FIG. 11 is stored in the memory 120, and the CPU 110 reads out the program from the memory 120 and executes processing corresponding to the program, whereby the CPU 110 controls the card controller 130 to execute the processing. 11 processes are performed. That is, control command issuance processing is performed for the purpose of discriminating the card standard and version. Every time the control command in FIG. 11 is issued, issue control using the command table is performed as described above.

まず、CPU110は、制御コマンドCMD5を発行する制御を行う(ステップS25)。制御コマンドCMD5は、SDIO規格で規定された制御コマンドである。制御コマンドCMD5に対してメモリカード200からレスポンスがあるとき(ステップS26:Y)、CPU110は、メモリカード200の規格をSDIO規格と判断し(ステップS27)、一連の処理終了する(エンド)。   First, the CPU 110 performs control to issue a control command CMD5 (step S25). The control command CMD5 is a control command defined by the SDIO standard. When there is a response from the memory card 200 to the control command CMD5 (step S26: Y), the CPU 110 determines that the standard of the memory card 200 is the SDIO standard (step S27), and ends a series of processing (end).

ステップS26において、制御コマンドCMD5に対してメモリカード200からレスポンスがないとき(ステップS26:N)、CPU110は、SD規格の制御コマンドCMD8を発行する制御を行う(ステップS30)。制御コマンドCMD8は、カードコントローラ130の電源情報等のメモリカードインタフェース条件を問い合わせるコマンドである。制御コマンドCMD8に対してメモリカード200からレスポンスがあるとき(ステップS31:Y)、CPU110は、メモリカード200の規格及びバージョンをSD2.0規格と判断し(ステップS32)、一連の処理を終了する(エンド)。   In step S26, when there is no response from the memory card 200 to the control command CMD5 (step S26: N), the CPU 110 performs control to issue an SD standard control command CMD8 (step S30). The control command CMD8 is a command for inquiring about a memory card interface condition such as power supply information of the card controller 130. When there is a response from the memory card 200 to the control command CMD8 (step S31: Y), the CPU 110 determines that the standard and version of the memory card 200 are SD 2.0 standards (step S32), and ends a series of processing. (End).

次に、ステップS31において、制御コマンドCMD8に対してメモリカード200からレスポンスがないとき(ステップS31:N)、CPU110が、制御コマンドACMD41を発行する制御を行う(ステップS33)。制御コマンドACMD41は、動作条件レジスタを読み出し、カードコントローラ130が大容量カードをサポートしているか否かを通知するコマンドである。制御コマンドACMD41に対してメモリカード200からレスポンスがあるとき(ステップS34:Y)、CPU110は、SCRレジスタを読み出して(ステップS35)、バージョン情報を取り出し、SD1.X規格(SD1.0規格かSD1.10規格)を判別して(ステップS36)、一連の処理を終了する(エンド)。   Next, in step S31, when there is no response from the memory card 200 to the control command CMD8 (step S31: N), the CPU 110 performs control to issue the control command ACMD41 (step S33). The control command ACMD41 is a command for reading the operation condition register and notifying whether or not the card controller 130 supports a large capacity card. When there is a response from the memory card 200 to the control command ACMD41 (step S34: Y), the CPU 110 reads out the SCR register (step S35), extracts version information, SD1. The X standard (SD 1.0 standard or SD 1.10 standard) is discriminated (step S36), and a series of processing ends (end).

ステップS34において、制御コマンドACMD41に対してメモリカード200からレスポンスがないとき(ステップS34:N)、CPU110は、CSDレジスタを読み出して(ステップS37)、バージョン情報を取り出し、MMC規格のバージョンを判別して(ステップS38)、一連の処理を終了する(エンド)。   In step S34, when there is no response from the memory card 200 to the control command ACMD41 (step S34: N), the CPU 110 reads the CSD register (step S37), extracts version information, and determines the version of the MMC standard. (Step S38), and a series of processing ends (end).

図12に、図10の制御コマンドの発行処理例のフロー図を示す。   FIG. 12 is a flowchart of an example of the control command issuance process of FIG.

メモリ120に図12の処理を実行するためのプログラムが格納されており、CPU110がメモリ120からプログラムを読み出して該プログラムに対応した処理を実行することで、CPU110がカードコントローラ130を制御して図12の処理が行われるようになっている。上位アプリケーションからのコマンド発行指示があると、図12の処理が行われる。   A program for executing the processing of FIG. 12 is stored in the memory 120, and the CPU 110 reads out the program from the memory 120 and executes processing corresponding to the program, whereby the CPU 110 controls the card controller 130 to execute the processing. 12 processes are performed. When there is a command issuance instruction from the host application, the processing of FIG. 12 is performed.

CPU110は、上位アプリケーションからの指示で発行したい制御コマンドに対応したコマンドテーブルのテーブルインデックスを指定し(ステップS40)、該テーブルインデックスにより特定されるブロックのコマンド設定情報の中からコマンドインデックスをコントローラ制御レジスタ部136のコマンド指定レジスタ150に設定する(ステップS41)。   The CPU 110 designates the table index of the command table corresponding to the control command to be issued in accordance with an instruction from the upper application (step S40), and the command index is selected from the command setting information of the block specified by the table index. The command designation register 150 of the unit 136 is set (step S41).

次に、CPU110は、該テーブルインデックスにより特定されるブロックのコマンド設定情報の中から引数情報をコントローラ制御レジスタ部136の引数設定レジスタ152に設定し、コマンドタイプをコントローラ制御レジスタ部136のコマンドタイプ設定レジスタ154に設定し、レスポンスタイプをコントローラ制御レジスタ部136のレスポンス指定レジスタ156に設定する(ステップS42)。また、CPU110は、転送タイプ情報を転送タイプ設定レジスタ158に設定すると共に、転送カウント数情報を転送カウント数設定レジスタ160に設定する。   Next, the CPU 110 sets argument information in the argument setting register 152 of the controller control register unit 136 from the command setting information of the block specified by the table index, and sets the command type in the command type setting of the controller control register unit 136. The response type is set in the register 154, and the response type is set in the response designation register 156 of the controller control register 136 (step S42). The CPU 110 sets transfer type information in the transfer type setting register 158 and sets transfer count number information in the transfer count number setting register 160.

次に、CPU110は、カードコントローラ130のコントローラ制御レジスタ部136の図示しない制御コマンド発行指示レジスタをアクセスして制御コマンドの発行指示を行い(ステップS44)、一連の処理を終了する(エンド)。   Next, the CPU 110 accesses a control command issue instruction register (not shown) of the controller control register 136 of the card controller 130 to issue a control command (step S44), and ends a series of processes (END).

図13に、図1のカードコントローラ130のドライバ部の構成の概要を示す。   FIG. 13 shows an outline of the configuration of the driver unit of the card controller 130 of FIG.

図13のドライバ部が、図3のカードコントローラ130に内蔵される。ドライバ部は、クロックラインを駆動して転送クロックCLKを出力するドライバと、コマンドラインに接続される第1の入出力ドライバと、データラインに接続される第2の入出力ドライバとを含む。   The driver unit shown in FIG. 13 is built in the card controller 130 shown in FIG. The driver unit includes a driver that drives the clock line and outputs the transfer clock CLK, a first input / output driver connected to the command line, and a second input / output driver connected to the data line.

第1の入出力ドライバは、コマンドシーケンサ142によって制御されコマンドラインを駆動して制御コマンドを出力する出力ドライバと、コマンドラインを介して入力されるレスポンスを受信するための入力ドライバとを含む。コントローラ制御レジスタ部136の制御レジスタの内容に基づいてコマンドシーケンサ142によって生成された制御コマンドが、第1の入出力ドライバの出力ドライバによりコマンドラインに出力される。そして、該制御コマンドに対応してメモリカード200から出力されたレスポンスが、第1の入出力ドライバの入力ドライバで受信される。   The first input / output driver includes an output driver that is controlled by the command sequencer 142 and drives a command line to output a control command, and an input driver that receives a response input via the command line. A control command generated by the command sequencer 142 based on the contents of the control register of the controller control register unit 136 is output to the command line by the output driver of the first input / output driver. The response output from the memory card 200 in response to the control command is received by the input driver of the first input / output driver.

第2の入出力ドライバは、データシーケンサ144によって制御されデータラインを駆動して転送データを出力する出力ドライバと、データラインを介して入力される転送データを受信するための入力ドライバとを含む。コントローラ制御レジスタ部136の制御レジスタの内容に基づいてFIFOI/F回路134からのデータをデータシーケンサ144の制御に基づいて、転送データとして第2の入出力ドライバの出力ドライバによりデータラインに出力される。そして、メモリカード200から出力されたレスポンスが、第1の入出力ドライバの入力ドライバで受信される。   The second input / output driver includes an output driver that is controlled by the data sequencer 144 and drives the data line to output the transfer data, and an input driver that receives the transfer data input through the data line. Based on the contents of the control register of the controller control register 136, the data from the FIFO I / F circuit 134 is output to the data line as transfer data by the output driver of the second input / output driver based on the control of the data sequencer 144. . The response output from the memory card 200 is received by the input driver of the first input / output driver.

図14に、本実施形態におけるコマンドテーブルに登録されるコマンド設定情報の具体例を示す。   FIG. 14 shows a specific example of command setting information registered in the command table in the present embodiment.

コマンドテーブルは、複数のブロックを有し、各ブロックにはテーブルインデックスが割り当てられ、コマンド設定情報が登録されている。従って、テーブルインデックスに基づいてブロックのコマンド設定情報を特定できる。図14では、コマンド設定情報として、コマンドインデックス、コマンドタイプ情報、レスポンスタイプ、引数転送サイズ、転送タイプが登録され、各項目の表記はSD規格の仕様書に従っている。コマンドタイプ情報は、ACMDか否かを示す情報と、停止コマンドか否かを示す情報とを含む。   The command table has a plurality of blocks, a table index is assigned to each block, and command setting information is registered. Therefore, the command setting information of the block can be specified based on the table index. In FIG. 14, a command index, command type information, response type, argument transfer size, and transfer type are registered as command setting information, and the notation of each item follows the specifications of the SD standard. The command type information includes information indicating whether it is ACMD and information indicating whether it is a stop command.

このように、コマンドテーブルは、MMC(MultiMediaCard)規格、SD(Secure Digital)規格、SDIO(SD Input/Output)規格、又はCE−ATA(Consumer Electronics-AT Attachment)規格に準拠したコマンドのコマンドインデックス及びレスポンスタイプと、コマンドの種類を指定するコマンドタイプ情報とを含むことができる。また、テーブルインデックスの番号とコマンドインデックスの番号とが異なっている。更に、同一規格であってもバージョンが異なれば制御コマンドが異なる場合には、新たにブロックを追加することが望ましい。こうすることで、規格やそのバージョン毎に制御コマンドに必要なパラメータ情報を取り出す必要がなくなり、テーブルインデックスを指定すればよいので制御コマンドの生成処理を大幅に簡素化できる。   As described above, the command table includes command indexes of commands conforming to the MMC (MultiMediaCard) standard, SD (Secure Digital) standard, SDIO (SD Input / Output) standard, or CE-ATA (Consumer Electronics-AT Attachment) standard. A response type and command type information for specifying the type of command can be included. Also, the table index number and the command index number are different. Furthermore, it is desirable to add a new block if the control command is different if the versions are different even if they are the same standard. By doing so, it is not necessary to extract parameter information necessary for the control command for each standard or version, and it is only necessary to specify a table index, so that the control command generation process can be greatly simplified.

図15に、テーブルインデックスとして「0」を指定したときのカードコントローラ130の動作例のタイミング図を示す。   FIG. 15 shows a timing diagram of an operation example of the card controller 130 when “0” is designated as the table index.

なお、図15では、コマンドシーケンサ142のステートとデータシーケンサ144のステートも図示している。   15 also shows the state of the command sequencer 142 and the state of the data sequencer 144.

テーブルインデックス「0」は、図14において制御コマンドCMD0に対応する。そのため、テーブルインデックス「0」のコマンド設定情報がそのまま設定されたカードコントローラ130は、レスポンス無しタイプで制御コマンドの発行のみのシーケンスでカードバス20を制御する。   The table index “0” corresponds to the control command CMD0 in FIG. For this reason, the card controller 130 in which the command setting information of the table index “0” is set as it is controls the card bus 20 in a sequence in which no response is issued and only a control command is issued.

図16に、テーブルインデックスとして「3」を指定したときのカードコントローラ130の動作例のタイミング図を示す。   FIG. 16 shows a timing diagram of an operation example of the card controller 130 when “3” is designated as the table index.

なお、図16では、コマンドシーケンサ142のステートとデータシーケンサ144のステートも図示している。   In FIG. 16, the state of the command sequencer 142 and the state of the data sequencer 144 are also illustrated.

テーブルインデックス「3」は、図14においてレスポンス有りタイプの制御コマンドCMD3に対応する。そのため、テーブルインデックス「3」のコマンド設定情報がそのまま設定されたカードコントローラ130は、制御コマンドの発行後、該制御コマンドに対応したレスポンスを受け取るシーケンスを経て制御コマンドの発行処理を終了する。   The table index “3” corresponds to the control command CMD3 with a response in FIG. Therefore, the card controller 130 in which the command setting information of the table index “3” is set as it is, after issuing the control command, ends the control command issuing process through a sequence of receiving a response corresponding to the control command.

図17に、テーブルインデックスとして「9」を指定したときのカードコントローラ130の動作例のタイミング図を示す。   FIG. 17 shows a timing chart of an operation example of the card controller 130 when “9” is designated as the table index.

なお、図17では、コマンドシーケンサ142のステートとデータシーケンサ144のステートも図示している。   In FIG. 17, the state of the command sequencer 142 and the state of the data sequencer 144 are also illustrated.

テーブルインデックス「9」は、図14においてビジー有りR1レスポンスを有する制御コマンドCMD7に対応する。そのため、テーブルインデックス「9」のコマンド設定情報がそのまま設定されたカードコントローラ130は、制御コマンドの発行後、メモリカード200からビジー状態が通知され、該制御コマンドに対応したレスポンスを受け取るシーケンスを経て制御コマンドの発行処理を終了する。   The table index “9” corresponds to the control command CMD7 having a busy R1 response in FIG. Therefore, the card controller 130 in which the command setting information of the table index “9” is set as it is is controlled through a sequence in which a busy state is notified from the memory card 200 after the control command is issued and a response corresponding to the control command is received. Terminates command issue processing.

以上のように、本実施形態では、種々の制御コマンドの生成に必要なコマンド設定情報をテーブルインデックスで特定するようにしたので、規格やバージョンが異なる種々のコマンド設定情報を一括してコマンドテーブルに登録できるようにした。そして、テーブルインデックスを指定してやれば、複雑な制御コマンドの生成処理を簡素化できる。   As described above, in this embodiment, the command setting information necessary for generating various control commands is specified by the table index. Therefore, various command setting information with different standards and versions are collectively stored in the command table. Enabled to register. If a table index is designated, the complicated control command generation process can be simplified.

なお、本発明は上述した実施の形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。本実施形態におけるメモリカードは、フラッシュメモリカードに限定されるものではない。本実施形態におけるメモリカードに代えて、I/Oデバイス、HDD装置、DVD装置、又は光ディスク装置であってもよい。   The present invention is not limited to the above-described embodiment, and various modifications can be made within the scope of the gist of the present invention. The memory card in the present embodiment is not limited to a flash memory card. Instead of the memory card in the present embodiment, an I / O device, an HDD device, a DVD device, or an optical disk device may be used.

更に、コマンド設定情報は上述の実施形態において説明したものに限定されるものではなく、例えばSD規格と同様の思想に基づく規格やSD規格を発展させた規格の制御コマンドのコマンドインデックスやそのパラメータ情報、例えばMMC規格と同様の思想に基づく規格やMMC規格を発展させた規格の制御コマンドのコマンドインデックスやそのパラメータ情報、例えばSDIO規格と同様の思想に基づく規格やSDIO規格を発展させた規格の制御コマンドのコマンドインデックスやそのパラメータ情報、例えばCE−ATA規格と同様の思想に基づく規格やCE−ATA規格を発展させた規格の制御コマンドのコマンドインデックスやそのパラメータ情報にも本発明は適用できる。   Further, the command setting information is not limited to that described in the above-described embodiment. For example, a command index of a control command of a standard based on the same idea as the SD standard or a standard developed from the SD standard and its parameter information. For example, a command index of a control command of a standard based on a concept similar to the MMC standard or a standard developed from the MMC standard and its parameter information, for example, a standard control based on a standard similar to the SDIO standard or a standard developed based on the SDIO standard The present invention can also be applied to the command index of a command and its parameter information, for example, the command index of a control command of a standard based on the same idea as the CE-ATA standard and the standard developed from the CE-ATA standard, and its parameter information.

また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。   In the invention according to the dependent claims of the present invention, a part of the constituent features of the dependent claims can be omitted. Moreover, the principal part of the invention according to one independent claim of the present invention may be made dependent on another independent claim.

本実施形態における情報処理装置が適用された電子機器の構成例のブロック図。The block diagram of the example of composition of the electronic equipment to which the information processor in this embodiment was applied. 本実施形態における制御コマンドの説明図。Explanatory drawing of the control command in this embodiment. 図1のカードコントローラの構成例のブロック図。The block diagram of the structural example of the card controller of FIG. 図3のコントローラ制御レジスタ部の構成の概要を示す図。The figure which shows the outline | summary of a structure of the controller control register part of FIG. 図1のメモリカードの構成例のブロック図。The block diagram of the structural example of the memory card of FIG. 本実施形態における制御コマンド生成装置の構成の概要を示す図。The figure which shows the outline | summary of a structure of the control command production | generation apparatus in this embodiment. 図6のコマンドテーブルの構成の概要を示す図。The figure which shows the outline | summary of a structure of the command table of FIG. 図7のコマンドテーブルの各ブロックに登録されるコマンド設定情報の一例を示す図。The figure which shows an example of the command setting information registered into each block of the command table of FIG. 図1のホストシステムの処理例のフロー図。FIG. 2 is a flowchart of a processing example of the host system in FIG. 1. 図9の制御コマンド発行処理の処理例のフロー図。FIG. 10 is a flowchart of a process example of a control command issue process in FIG. 9. 図10のカード規格及びバージョンの判別処理例のフロー図。FIG. 11 is a flowchart of an example of card standard and version discrimination processing in FIG. 10. 図10の制御コマンドの発行処理例のフロー図。FIG. 11 is a flowchart of an example of control command issuance processing in FIG. 10. 図1のカードコントローラのドライバ部の構成の概要を示す図。The figure which shows the outline | summary of a structure of the driver part of the card controller of FIG. 本実施形態におけるコマンドテーブルに登録されるコマンド設定情報の具体例を示す図。The figure which shows the specific example of the command setting information registered into the command table in this embodiment. テーブルインデックスとして「0」を指定したときのカードコントローラの動作例のタイミング図。The timing diagram of the operation example of a card controller when "0" is designated as a table index. テーブルインデックスとして「3」を指定したときのカードコントローラの動作例のタイミング図。The timing diagram of the operation example of a card controller when "3" is designated as a table index. テーブルインデックスとして「9」を指定したときのカードコントローラの動作例のタイミング図。The timing diagram of the operation example of a card controller when "9" is designated as a table index.

符号の説明Explanation of symbols

10 電子機器、 20 カードバス、 100 ホストシステム、 110 CPU、
120 メモリ、 122 システムバス、 130 カードコントローラ、
132 制御I/F回路、 134 FIFOI/F回路、
136 コントローラ制御レジスタ部、 138 クロック制御部、
140 制御ロジック部、 142 コマンドシーケンサ、
144 データシーケンサ、 150 コマンド指定レジスタ、
152 引数設定レジスタ、 154 コマンドタイプ設定レジスタ、
156 レスポンス指定レジスタ、 158 転送タイプ設定レジスタ、
160 転送カウント数設定レジスタ、 200 メモリカード、
210 カードI/F回路、 220 カードI/F制御回路、
230 カード制御レジスタ部、 240 メモリI/F回路、
250 メモリコア部、 300 制御コマンド生成装置、
310 コマンドテーブル、 320 コマンド情報設定部、
322 コマンド情報抽出部、 324 コマンド発行制御部
10 electronic equipment, 20 card bus, 100 host system, 110 CPU,
120 memory, 122 system bus, 130 card controller,
132 control I / F circuit, 134 FIFO I / F circuit,
136 Controller control register part, 138 Clock control part,
140 control logic, 142 command sequencer,
144 Data sequencer, 150 Command specification register,
152 Argument setting register, 154 Command type setting register,
156 Response designation register, 158 Transfer type setting register,
160 transfer count setting register, 200 memory card,
210 card I / F circuit, 220 card I / F control circuit,
230 card control register section, 240 memory I / F circuit,
250 memory core unit, 300 control command generation device,
310 command table, 320 command information setting section,
322 Command information extraction unit, 324 Command issue control unit

Claims (18)

記憶装置に対する制御コマンドを生成するための制御コマンド生成装置であって、
前記制御コマンドの種別に対応したブロック毎に複数のコマンド設定情報が登録されたコマンドテーブルと、
ブロックに対応したテーブルインデックスを指定し、該テーブルインデックスにより特定されるブロックのコマンド設定情報を、前記記憶装置にアクセスするための制御装置の制御レジスタに設定することで該制御レジスタの設定情報に基づく前記制御コマンドを発行する制御を行うコマンド情報設定部とを含み、
各コマンド設定情報が、
前記制御コマンドの種類を指定するコマンド指定情報と、前記制御コマンドに対応した制御シーケンスタイプを指定するパラメータ情報とを含むことを特徴とする制御コマンド生成装置。
A control command generation device for generating a control command for a storage device,
A command table in which a plurality of command setting information is registered for each block corresponding to the type of the control command;
Based on the setting information of the control register by designating the table index corresponding to the block and setting the command setting information of the block specified by the table index in the control register of the control device for accessing the storage device A command information setting unit that performs control to issue the control command,
Each command setting information
A control command generation device comprising: command designation information for designating a type of the control command; and parameter information for designating a control sequence type corresponding to the control command.
請求項1において、
前記各コマンド設定情報が、前記制御コマンドの種類を指定するための前記コマンド指定情報としてのコマンドインデックスと前記パラメータ情報との組み合わせごとに設けられ、
前記テーブルインデックスと前記コマンドインデックスとが異なることを特徴とする制御コマンド生成装置。
In claim 1,
Each command setting information is provided for each combination of the command index and the parameter information as the command designation information for designating the type of the control command,
The control command generation device, wherein the table index and the command index are different.
請求項1又は2において、
前記複数のコマンド設定情報は、
第1の規格で規定された制御コマンドに対応したコマンド設定情報と、第2の規格で規定された制御コマンドに対応したコマンド設定情報とを含むことを特徴とする制御コマンド生成装置。
In claim 1 or 2,
The plurality of command setting information includes:
A control command generation device, comprising: command setting information corresponding to a control command specified by the first standard; and command setting information corresponding to a control command specified by the second standard.
請求項1乃至3のいずれかにおいて、
前記各コマンド設定情報が、
前記制御コマンドの種類を指定するための前記コマンド指定情報としてのコマンドインデックスと、前記パラメータ情報としてのレスポンスタイプとを含み、
前記レスポンスタイプが、
前記制御コマンドに対応する前記記憶装置からのレスポンスシーケンスを指定する情報であることを特徴とする制御コマンド生成装置。
In any one of Claims 1 thru | or 3,
Each command setting information is
Including a command index as the command designation information for designating the type of the control command, and a response type as the parameter information,
The response type is
A control command generation device, characterized in that the control command generation device is information specifying a response sequence from the storage device corresponding to the control command.
請求項1乃至4のいずれかにおいて、
前記各コマンド設定情報のコマンド指定情報及び前記パラメータ情報が格納される順番が、当該コマンド指定情報及び前記パラメータ情報が設定される前記制御装置の制御レジスタを特定するアドレスの順番と同じであることを特徴とする制御コマンド生成装置。
In any one of Claims 1 thru | or 4,
The order in which the command designation information and the parameter information of each command setting information are stored is the same as the order of the addresses that specify the control registers of the control device in which the command designation information and the parameter information are set. A control command generation device.
請求項1乃至5のいずれかにおいて、
前記各コマンド設定情報のコマンド指定情報及び前記パラメータ情報の各情報のビットの並びが、当該情報が設定される前記制御装置の制御レジスタのビットフィールドの並びと同じであることを特徴とする制御コマンド生成装置。
In any one of Claims 1 thru | or 5,
A control command characterized in that the order of bits of command information of each command setting information and the information of parameter information is the same as the order of bit fields of a control register of the control device in which the information is set Generator.
請求項1乃至6のいずれかにおいて、
前記コマンド情報設定部が、
前記記憶装置の規格又はバージョンの種類を判別し、その判別結果に基づいて前記テーブルインデックスを指定することを特徴とする制御コマンド生成装置。
In any one of Claims 1 thru | or 6.
The command information setting unit
A control command generation device characterized by discriminating a type of a standard or a version of the storage device and designating the table index based on the discrimination result.
請求項1乃至7のいずれかにおいて、
前記コマンドテーブルが、
MMC(MultiMediaCard)規格、SD(Secure Digital)規格、SDIO(SD Input/Output)規格、又はCE−ATA(Consumer Electronics-AT Attachment)規格に準拠した制御コマンドのコマンドインデックス及びレスポンスタイプと、コマンドの種類を指定するコマンドタイプ情報とを含むことを特徴とする制御コマンド生成装置。
In any one of Claims 1 thru | or 7,
The command table is
Command index and response type of control commands conforming to MMC (MultiMediaCard) standard, SD (Secure Digital) standard, SDIO (SD Input / Output) standard, or CE-ATA (Consumer Electronics-AT Attachment) standard, and command type And a command type information for designating a control command.
記憶装置にアクセスするための情報処理装置であって、
制御レジスタを有し、該制御レジスタの設定情報に基づいて前記記憶装置にアクセスするための制御コマンドを発行する制御装置と、
前記制御装置の制御レジスタに対して前記コマンド設定情報を設定する請求項1乃至8のいずれか記載の制御コマンド生成装置とを含むことを特徴とする情報処理装置。
An information processing apparatus for accessing a storage device,
A control device having a control register and issuing a control command for accessing the storage device based on setting information of the control register;
An information processing apparatus comprising: the control command generation apparatus according to claim 1, wherein the command setting information is set in a control register of the control apparatus.
前記記憶装置と、
請求項9記載の情報処理装置とを含むことを特徴とする電子機器。
The storage device;
An electronic apparatus comprising the information processing apparatus according to claim 9.
記憶装置に対する制御コマンドの種別に対応したブロック毎に複数のコマンド設定情報が登録されたコマンドテーブルに対して、ブロックに対応したテーブルインデックスを指定する手段と、
前記テーブルインデックスにより特定されるブロックのコマンド設定情報を、前記記憶装置にアクセスするための制御装置の制御レジスタを設定することで前記制御レジスタの設定情報に基づく前記制御コマンドを発行する制御を行う手段としてコンピュータを機能させ、
各コマンド設定情報が、
前記制御コマンドの種類を指定するコマンド指定情報と、前記制御コマンドに対応した制御シーケンスタイプを指定するパラメータ情報とを含むことを特徴とするプログラム。
Means for designating a table index corresponding to a block for a command table in which a plurality of command setting information is registered for each block corresponding to a type of control command for the storage device;
Means for controlling the command setting information of the block specified by the table index to issue the control command based on the setting information of the control register by setting the control register of the control device for accessing the storage device Function as a computer
Each command setting information
A program comprising command designation information for designating a type of the control command and parameter information for designating a control sequence type corresponding to the control command.
請求項11において、
前記各コマンド設定情報が、前記制御コマンドの種類を指定するための前記コマンド指定情報としてのコマンドインデックスと前記パラメータ情報との組み合わせごとに設けられ、
前記テーブルインデックスと前記コマンドインデックスとが異なることを特徴とするプログラム。
In claim 11,
Each command setting information is provided for each combination of the command index and the parameter information as the command designation information for designating the type of the control command,
The program in which the table index and the command index are different.
請求項11又は12において、
前記複数のコマンド設定情報は、
第1の規格で規定された制御コマンドに対応したコマンド設定情報と、第2の規格で規定された制御コマンドに対応したコマンド設定情報とを含むことを特徴とするプログラム。
In claim 11 or 12,
The plurality of command setting information includes:
A program comprising command setting information corresponding to a control command defined in the first standard and command setting information corresponding to a control command defined in the second standard.
請求項11乃至13のいずれかにおいて、
前記各コマンド設定情報が、
前記制御コマンドの種類を指定するための前記コマンド指定情報としてのコマンドインデックスと、前記パラメータ情報としてのレスポンスタイプとを含み、
前記レスポンスタイプが、
前記制御コマンドに対応する前記記憶装置からのレスポンスシーケンスを指定する情報であることを特徴とするプログラム。
In any of claims 11 to 13,
Each command setting information is
Including a command index as the command designation information for designating the type of the control command, and a response type as the parameter information,
The response type is
A program characterized by being information specifying a response sequence from the storage device corresponding to the control command.
請求項11乃至14のいずれかにおいて、
前記各コマンド設定情報のコマンド指定情報及び前記パラメータ情報が格納される順番が、当該コマンド指定情報及び前記パラメータ情報が設定される前記制御装置の制御レジスタを特定するアドレスの順番と同じであることを特徴とするプログラム。
In any one of Claims 11 thru | or 14.
The order in which the command designation information and the parameter information of each command setting information are stored is the same as the order of the addresses that specify the control registers of the control device in which the command designation information and the parameter information are set. A featured program.
請求項11乃至15のいずれかにおいて、
前記各コマンド設定情報のコマンド指定情報及び前記パラメータ情報の各情報のビットの並びが、当該情報が設定される前記制御装置の制御レジスタのビットフィールドの並びと同じであることを特徴とするプログラム。
In any of claims 11 to 15,
A program characterized in that the command designation information of each command setting information and the bit sequence of each information of the parameter information are the same as the bit field sequence of the control register of the control device in which the information is set.
請求項11乃至16のいずれかにおいて、
前記記憶装置の規格又はバージョンの種類を判別し、その判別結果に基づいて前記テーブルインデックスを指定することを特徴とするプログラム。
In any of claims 11 to 16,
A program for discriminating the type of the storage device standard or version and designating the table index based on the discrimination result.
請求項11乃至17のいずれかにおいて、
前記コマンドテーブルが、
MMC(MultiMediaCard)規格、SD(Secure Digital)規格、SDIO(SD Input/Output)規格、又はCE−ATA(Consumer Electronics-AT Attachment)規格に準拠した制御コマンドのコマンドインデックス及びレスポンスタイプと、コマンドの種類を指定するコマンドタイプ情報とを含むことを特徴とするプログラム。
In any of claims 11 to 17,
The command table is
Command index and response type of control commands conforming to MMC (MultiMediaCard) standard, SD (Secure Digital) standard, SDIO (SD Input / Output) standard, or CE-ATA (Consumer Electronics-AT Attachment) standard, and command type And a command type information for designating a program.
JP2007121799A 2007-05-02 2007-05-02 Control command generator, information processor, electronic equipment, and program Pending JP2008276650A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007121799A JP2008276650A (en) 2007-05-02 2007-05-02 Control command generator, information processor, electronic equipment, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007121799A JP2008276650A (en) 2007-05-02 2007-05-02 Control command generator, information processor, electronic equipment, and program

Publications (1)

Publication Number Publication Date
JP2008276650A true JP2008276650A (en) 2008-11-13

Family

ID=40054504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007121799A Pending JP2008276650A (en) 2007-05-02 2007-05-02 Control command generator, information processor, electronic equipment, and program

Country Status (1)

Country Link
JP (1) JP2008276650A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170505A (en) * 2010-02-17 2011-09-01 Mitsubishi Electric Corp Semiconductor disk device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170505A (en) * 2010-02-17 2011-09-01 Mitsubishi Electric Corp Semiconductor disk device

Similar Documents

Publication Publication Date Title
US7325104B2 (en) Storage device using interleaved memories to control power consumption
JP4799417B2 (en) Host controller
JP4896450B2 (en) Storage device
US9563368B2 (en) Embedded multimedia card and method of operating the same
TW525188B (en) Information-processing apparatus, information-processing method, memory card and program storage medium
US7739449B2 (en) Memory card authentication system, capacity switching-type memory card host device, capacity switching-type memory card, storage capacity setting method, and storage capacity setting program
US8150452B2 (en) Providing a connection between a memory medium of a mobile device and an external device
US7496703B2 (en) Virtual IDE card reader with PCI express interface
TWI537737B (en) Method and system for transferring high-speed data within a portable device
JP2009070255A (en) Card type peripheral device
JP2007233800A (en) Transfer system changeover circuit in interface circuit
US20070079015A1 (en) Methods and arrangements to interface a data storage device
KR101375797B1 (en) Multi media card with high storage capacity
JP2002073522A (en) Memory card bridge
US20110072168A1 (en) Data transfer system with different operating modes
US11144305B2 (en) Method for updating IC firmware
US7377432B2 (en) Interface converting apparatus
US20070174516A1 (en) Adaptor
KR101258529B1 (en) Memory card system, Memory card and method of performing application program thereof
JP2008276650A (en) Control command generator, information processor, electronic equipment, and program
US8239601B2 (en) Integrated data accessing system having control apparatus for multi-directional data transmission
US20080282014A1 (en) Card reading apparatus for multi-directional data transmission
JP2007226380A (en) Nonvolatile memory card
US20180336147A1 (en) Application processor including command controller and integrated circuit including the same
US20080074299A1 (en) Electrical signal converting system