JP4178809B2 - 外部接続機器及びホスト機器 - Google Patents

外部接続機器及びホスト機器 Download PDF

Info

Publication number
JP4178809B2
JP4178809B2 JP2002045252A JP2002045252A JP4178809B2 JP 4178809 B2 JP4178809 B2 JP 4178809B2 JP 2002045252 A JP2002045252 A JP 2002045252A JP 2002045252 A JP2002045252 A JP 2002045252A JP 4178809 B2 JP4178809 B2 JP 4178809B2
Authority
JP
Japan
Prior art keywords
bit
data
host device
control command
bus
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.)
Expired - Fee Related
Application number
JP2002045252A
Other languages
English (en)
Other versions
JP2003241908A5 (ja
JP2003241908A (ja
Inventor
秀明 坂東
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.)
Sony Corp
Original Assignee
Sony 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
Priority to JP2002045252A priority Critical patent/JP4178809B2/ja
Application filed by Sony Corp filed Critical Sony Corp
Priority to KR1020037013463A priority patent/KR100987205B1/ko
Priority to DE60317771T priority patent/DE60317771T2/de
Priority to US10/474,915 priority patent/US7051128B2/en
Priority to EP03706966A priority patent/EP1477902B1/en
Priority to CNB038001640A priority patent/CN1297915C/zh
Priority to PCT/JP2003/001800 priority patent/WO2003071437A1/ja
Publication of JP2003241908A publication Critical patent/JP2003241908A/ja
Publication of JP2003241908A5 publication Critical patent/JP2003241908A5/ja
Priority to US11/361,897 priority patent/US7318113B2/en
Application granted granted Critical
Publication of JP4178809B2 publication Critical patent/JP4178809B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Table Equipment (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータ等に接続されるICメモリ装置等の外部接続機器、並びに、この外部接続機器が接続されるホスト機器に関するものである。
【0002】
【従来の技術】
従来より、いわゆるメモリスティック(商標)と呼ばれるリムーバルなICメモリ装置が知られている。
【0003】
メモリスティックは、内部にフラッシュメモリを有しており、静止画像データ、動画像データ、音声データ、音楽データ等の各種デジタルデータを格納することができる。このメモリスティックは、例えば、情報携帯端末、デスクトップ型コンピュータ、ノート型コンピュータ、携帯電話機、オーディオ装置、家電装置等々のホスト機器の外部記憶メディアとして機能する。
【0004】
【発明が解決しようとする課題】
このようなICメモリ装置では、所定のインタフェースを介して、ホスト機器側から動作が制御されている。
【0005】
しかしながら、フラッシュメモリのアクセス速度は遅い。そのため、ホスト機器とICメモリ装置との間のデータ転送シーケンスを短縮するには、ICメモリ装置側から処理の終了等を通知する割り込み要求を規定することが有効となる。
【0006】
本発明は、外部接続機器からホスト機器に対して効率的に割り込み信号を与えて、ホスト機器と外部接続機器とのデータ転送処理時間を短縮することができる外部接続機器、ホスト機器並びに通信方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明は、バスステート信号とデータ信号とクロック信号をパラレルに転送するバスを介してホスト機器に接続される外部接続機器において、上記ホスト機器との間で上記バスのデータバスを介してデータ信号の双方向通信を行うデータ通信手段と、上記バスのステートを示すバスステート信号を上記ホスト機器から受信するバスステート信号受信手段と、上記データ通信手段により受信される上記データ信号に含まれる動作制御コマンドに応じて当該外部接続機器の動作制御をするコントローラとを備え、上記データ通信手段は、上記バスステート信号受信手段により上記ホスト機器から受信した上記バスステート信号のステートが当該外部接続機器から上記ホスト機器への割り込みを受け付けるステートとされているときに、上記データ通信手段により上記ホスト機器から受信して上記コントローラへ与えられた上記データ信号に含まれる動作制御コマンドに基づき発生する各割り込み要因の内容を割り込み要因毎に示す情報を各ビットに割り当てたパラレルデータをデータバスを介して上記ホスト機器へ送信することを特徴とする。
【0008】
本発明にかかる外部接続機器では、バスステート信号のステートが当該外部接続機器からホスト機器への割り込みを受け付けるステートとされているときに、上記ホスト機器からコントローラへ与えられた動作制御コマンドに基づき発生する割り込み要因の内容を割り込み要因毎に示す情報を各ビットに割り当てたパラレルデータを割り込み信号として、データバスを介して上記ホスト機器へ送信する。
【0009】
また、本発明は、バスステート信号とデータ信号とクロック信号をパラレルに転送するバスを介して外部接続機器が接続されるホスト機器において、上記外部接続機器との間で上記バスのデータバスを介してデータ信号の双方向通信を行うデータ通信手段と、上記バスのステートを示すバスステート信号を上記外部接続機器へ送信するバスステート信号送信手段と、上記外部接続機器の動作制御をする制御コマンドを上記データ信号に含めて発行するコントローラとを備え、上記データ通信手段は、上記バスステート信号のステートが上記外部接続機器から当該ホスト機器への割り込みを受け付けるステートとされているときに、当該ホスト機器から上記外部接続機器へ与えられた動作制御コマンドに基づき発生する割り込み要因の内容を示す情報を割り込み要因毎に各ビットに割り当てたパラレルデータを、データバスを介して上記外部接続機器から受信するホスト機器ことを特徴とする。
【0010】
本発明にかかるホスト機器では、バスステート信号のステートが外部接続機器から当該ホスト機器への割り込みを受け付けるステートとされているときに、当該ホスト機器から上記外部接続機器へ与えられた動作制御コマンドに基づき発生する割り込み要因の内容を割り込み要因毎に示す情報を各ビットに割り当てたパラレルデータを割り込み信号として、データバスを介して上記外部接続機器から受信する。
【0011】
【発明の実施の形態】
以下、本発明の実施の形態として、本発明を適用したリムーバルな小型ICメモリ装置、並びに、この小型ICメモリ装置を外部記憶メディアとして用いるデータ処理装置について説明する。
【0012】
なお、本発明の実施の形態として説明する小型ICメモリ装置のことを、以下、メモリカードと呼ぶものとする。また、このメモリカードが接続されるデータ処理装置のことを、ホスト機器と呼ぶものとする。
【0013】
アウトライン
図1に、ホスト機器及びメモリカードの外観斜視図を示す。
【0014】
メモリカード1は、内部に不揮発性の半導体メモリ(ICメモリ)を有しており、静止画像データ、動画像データ、音声データ、音楽データ等の各種デジタルデータを格納することができる。このメモリカード1は、例えば、情報携帯端末、デスクトップ型コンピュータ、ノート型コンピュータ、携帯電話機、オーディオ装置、家電装置等々のホスト機器2の外部記憶メディアとして機能する。メモリカード1は、ホスト機器2に設けられているスロット3に挿入された状態で使用される。メモリカード1のスロット3に対する挿入及び抜出は、ユーザが自在に行うことができる。そのため、例えば、あるホスト機器に挿入されていたメモリカード1を抜き出して、他のホスト機器に挿入することもでき、異なるホスト機器間のデータのやり取りに用いることが可能である。
【0015】
メモリカード1及びホスト機器2は、4ビットパラレルデータ,クロック信号,バスステート信号の6つの信号を転送する6線式半2重パラレルプロトコルを用いたパラレルインタフェースでデータの転送を行う。
【0016】
外観
図2は、本発明の実施の形態のメモリカード1を表面側から見た斜視図であり、図3は、本発明の実施の形態のメモリカード1を裏面側から見た斜視図である。
【0017】
メモリカード1は、主面(表面1a及び裏面1b)が略長方形とされた薄板形状となっている。メモリカード1は、主面の長手方向の長さが約50mm、主面の短辺方向の長さが約21.45mm、厚さが約2.8mmとなっている。また、メモリカード1は、主面が、表面1aと裏面1bとに区別される。裏面1bの長手方向の一端には、10個の平面電極(接続端子群4)が、短辺方向に一列に並んで設けられている。また、電極と電極との各間には、裏面1bから垂直に立ち上がったガード5が設けられ、接続端子への接触防止が図られている。また、メモリカード1の裏面1bには、誤消去禁止用のスライドスイッチ6が設けられている。
【0018】
また、ホスト機器2のスロット3は、以上のような形状のメモリカード1に対応した凹状の形状となっていて、メモリカード1が挿入可能である。さらに、このスロット3は、メモリカード1が挿入されたときには、このメモリカード1が脱落しないように保持することができる。また、スロット3には、メモリカード1の10個の平面電極に対応した位置に、10個の接点が設けられている。そのため、メモリカード1が接続端子群4の方向からスロット内部に差し込まれることにより(図2のX方向にメモリカード1が差し込まれることにより)、これらのスロット3内の接点と、メモリカード1の各接続端子とが電気的に接続されることとなる。
【0019】
本実施の形態のメモリカードのブロック構成
図4に、メモリカード1の内部ブロック構成図を示す。
【0020】
メモリカード1は、パラレルインタフェース回路(I/F)12と、レジスタ回路13と、データバッファ回路14と、ECC回路15と、メモリI/Fコントローラ16と、不揮発性半導体メモリ17と、発振制御回路18とを備えて構成される。
【0021】
パラレルI/F回路12は、6線式半2重パラレル方式のデータ転送プロトコルを用いて、ホスト機器2との間でデータの転送を行う回路である。
【0022】
レジスタ回路13は、例えば、ホスト機器から転送されるメモリI/Fコントローラ16に対する動作制御コマンド(以下、この動作制御コマンドのことをコントロールコマンドと呼ぶ。)、メモリカード1内の内部状態、コントロールコマンドを実行する際に必要な諸処のパラメータ、不揮発性半導体メモリ17内のファイル管理情報等を記憶する回路である。このレジスタ回路13は、ホスト機器2及びメモリI/Fコントローラ16の両者からアクセスされる。なお、ホスト機器2は、本メモリカードのデータ転送プロトコル上で規定される転送プロトコルコマンド(以下、TPC(Transfer Protocol Command)という。)を用いて、レジスタ回路13に対してアクセスを行う。すなわち、レジスタ回路13に格納されるコントロールコマンドや各種パラメータに対してホスト機器2が書き込みや読み出しをする場合には、TPCを用いて行う。
【0023】
データバッファ回路14は、不揮発性半導体メモリ17へ書き込まれるデータ、並びに、不揮発性半導体メモリ17から読み出されたデータを、一時的に保存するメモリ回路である。すなわち、ホスト機器2から不揮発性半導体メモリ17へデータが書き込まれる場合には、書き込み対象データがホスト機器2からデータバッファ回路14へデータ転送プロトコルに従って転送され、その後、データバッファ回路14に格納されている書き込み対象データをメモリI/Fコントローラ16が不揮発性半導体メモリ17に書き込む。また、不揮発性半導体メモリ17からホスト機器2へデータが読み出される場合には、メモリI/Fコントローラ16が不揮発性半導体メモリ17から読み出し対象データを読み出して一旦データバッファ回路14に格納し、その後、その読み出し対象データがデータ転送プロトコルに従ってデータバッファ回路14からホスト機器2へ転送される。なお、データバッファ回路14は、所定のデータ書き込み単位(例えば、フラッシュメモリのページサイズと同一の512バイト)分のデータ容量を有している。なお、ホスト機器2は、TPCを用いて、データバッファ回路14に対してアクセスを行う。すなわち、データバッファ回路14に格納されるデータに対して、ホスト機器2が書き込みや読み出しをする場合には、TPCを用いて行う。
【0024】
ECC回路15は、不揮発性半導体メモリ17へ書き込まれるデータに対して誤り訂正コード(ECC)を付加する。また、ECC回路15は、不揮発性半導体メモリ17から読み出したデータに付加されている誤り訂正コードに基づき、この読み出したデータに対する誤り訂正処理を行う。例えば、誤り訂正コードは、512バイトのデータ単位に対して3バイト分付加される。
【0025】
メモリI/Fコントローラ16は、レジスタ回路13内に格納されているコントロールコマンドに従い、データバッファ14と不揮発性半導体メモリ17との間のデータのやり取りの制御、不揮発性半導体メモリ17のデータのセキュリティ管理の制御、メモリカード1のその他のファンクションの制御、並びに、レジスタ回路13内に格納されているデータの更新処理等を行う。
【0026】
不揮発性半導体メモリ17は、例えば、NAND型のフラッシュメモリ等の不揮発性の半導体メモリである。不揮発性半導体メモリ17の容量は、例えば16Mバイト、32Mバイト、64Mバイト、128Mバイトである。不揮発性半導体メモリ17は、消去ブロック単位が、例えば16Kバイトである。また、読み書き単位がページと呼ばれ、上記のデータバッファ回路14と同一の512バイトである。
【0027】
発振制御回路18は、本メモリカード1内の動作クロックを発生する。
【0028】
メモリカード1の接続端子には、VSS端子、VCC端子、DATA0端子、DATA1端子、DATA2端子、DATA3端子、BS端子、CLK端子、INS端子が設けられている。なお、VSS端子は2つ設けられているので、メモリカード1には、合計10個の接続端子が設けられていることとなる。また、ホスト機器2側にも同様の接続端子が設けられている。
【0029】
VSS端子は、VSS(基準0ボルト電圧)が接続される。このVSS端子は、ホスト機器側のグランドとメモリカード側のグランドとを接続し、ホスト機器とメモリカードとの0ボルト基準電位を一致させる。VCC端子は、電源電圧(VCC)がホスト機器から供給される。
【0030】
DATA0端子は、メモリカード1とホスト機器2との間に転送される4ビットパラレルデータのうちの最下位ビットのデータ信号(DATA0)が入出力される。DATA1端子は、メモリカード1とホスト機器2との間に転送される4ビットパラレルデータのうちの下位から2ビット目のデータ信号(DATA1)が入出力される。DATA2端子は、メモリカード1とホスト機器2との間に転送される4ビットパラレルデータのうちの下位から3ビット目のデータ信号(DATA2)が入出力される。DATA3端子は、メモリカード1とホスト機器2との間に転送される4ビットパラレルデータのうちの下位から4ビット目のデータ信号(DATA3)が入出力される。
【0031】
BS端子は、バスステート信号がホスト機器からメモリカードへ入力される。CLK端子は、クロック信号がホスト機器2から入力される。INS端子は、メモリカードがスロットに挿入されているか、或いは、挿入されていないかを、ホスト機器2が判断するための挿入/抜出検出に用いられる。メモリカード1のINS端子はグランドに接続されており、ホスト機器2のINS端子は抵抗を介してプルアップされている。
【0032】
メモリカードとホスト機器間のインタフェース機能の構成
図5に、本実施の形態のメモリカード1とホスト機器2との間のデータ伝送をするためのインタフェースの機能構成図を示す。
【0033】
ホスト機器2のインタフェース機能は、ファイルマネージャ31と、TPCインタフェース32と、パラレルインタフェース33とから構成される。また、メモリカード1のインタフェース機能は、パラレルインタフェース33と、レジスタ35と、データバッファ36と、メモリコントローラ37と、メモリ38とから構成される。
【0034】
ファイルマネージャ31は、ホスト機器のオペレーションシステム上で、メモリカード1内に格納されているファイル、並びに、ホスト機器の他のメディアに格納されているファイルの管理を行う。ファイルマネージャ31は、ホスト機器2内のコントローラ等により実現される機能である。
【0035】
TPCインタフェース32は、ファイルマネージャ31の下位レイヤとなる。TPCインタフェース32は、本インタフェースの特有のコマンド(TPC:Transfer Protocol Command)が規定されたデータ転送プロトコルにより、メモリカード1内のレジスタ35及びデータバッファ36へアクセスを行う。このTPCインタフェース32は、ホスト機器2内のコントローラ等により実現される機能である。
【0036】
パラレルインタフェース33,34は、TPCインタフェース32の下位レイヤとなり、本インタフェースシステムの物理階層である。パラレルインタフェース33,34は、4ビットパラレルデータ,クロック,バスステート信号の6つの信号を転送するデータ転送プロトコルである6線式半2重パラレルプロトコルに従い、データ転送を行う。パラレルインタフェース33,34は、パラレルインタフェース回路12により実現される機能である。
【0037】
レジスタ35は、ホストから転送されたコントロールコマンド、メモリカードの内部状態、メモリ38にアクセスするデータのアドレス、コントロールコマンドを実行する際に必要な諸処のパラメータ、メモリ内のファイル管理情報等を格納する。レジスタ35は、メモリカード1のレジスタ回路13上に実現される機能である。
【0038】
データバッファ36は、メモリ38へ書き込まれるデータ、並びに、メモリ38から読み出されたデータを、一時的に保存するバッファ領域である。データバッファ36は、メモリカード1のデータバッファ回路14上に実現される機能である。
【0039】
メモリコントローラ37は、レジスタ35内に格納されているコマンド並びに各種情報に従い、データバッファ36とメモリ38との間のデータの読み出し、書き込み、消去、並びに、レジスタ35内の各種情報の更新等の制御を行う。メモリコントローラ37は、ホスト機器2上のメモリI/Fコントローラ16により実現される機能である。
【0040】
メモリ38は、データのメモリ領域であり、メモリコントローラ37を通して独自のモデルとして仮想化されている。メモリ38は、メモリカード1上の不揮発性半導体メモリ17により実現される機能である。
【0041】
以上のような構成のホスト機器及びメモリカードでは、ファイルマネージャ31に管理されている他のメディアに格納されているデータを、上記パラレルインタフェース33,34を介してメモリ38に転送することができる。また、メモリ38に格納されているデータを、上記パラレルインタフェース33,34を介してファイルマネージャに管理されている他のメディアに転送することができる。
【0042】
データ転送プロトコル
次に、本実施の形態のメモリカード1とホスト機器2との間のデータ転送プロトコルについて説明する。
【0043】
メモリカード1及びホスト機器2のデータ転送プロトコルの特徴としては、4つのバスステートを定義して伝送データの転送方向及び属性を識別すること、ホスト機器2からメモリカード1のレジスタ回路13及びデータバッファ回路14に対してTPCを用いてアクセスを行うこと、コントロールコマンドを用いてホスト機器2がメモリカード1の動作制御をすること、CRC(Cyclic Redundancy Check codes)を用いてメモリカード1とホスト機器2との間の転送データのエラー検出を行うこと、メモリカード1からホスト機器2への割り込み信号(INT信号)を規定していること等がある。
【0044】
メモリカード1とホスト機器2とは、図6に示すように、バスステート信号(BS),4本のパラレルデータ信号,クロック信号(SCLK)の6本の信号で接続されている。
【0045】
パラレルデータ信号は、メモリカード1とホスト機器2との間を転送されるデータ信号である。パラレルデータ信号は、4ビット幅のパラレルデータ(DATA[3:0])を伝送し、バスステート信号により規定されるステートに従い、そのパラレルデータ(DATA[3:0])の転送方向及び属性が変化する。
【0046】
バスステート信号は、パラレルデータ信号のステート、並びに、各ステートにおけるパラレルデータ信号の転送開始タイミングを規定する信号である。このバスステート信号は、ホスト機器2からメモリカード2へ転送される。ステートは、パケット通信が行われない1つのステート(BS0)と、パケット通信中の3つのステート(BS1〜BS3)との合計4つのステートに区分される。バスステート信号は、HighとLowとの切り換えタイミングで、BS0からBS3まで順番にステートを切り換えていく。
【0047】
クロック信号は、パラレルデータ信号及びバスステート信号のクロックである。クロック信号は、ホスト機器からメモリカードへ転送される。クロック信号は、パケット通信中の3つのステート(BS1〜BS3)時には必ず出力される。
【0048】
各ステートでの通信内容は、図7に示すようになる。
【0049】
BS0は、パラレルデータ信号のラインに、メモリカード1からホスト機器2への割り込み信号(INT信号)が転送可能なステートである。INT信号は、クロックに対して非同期に転送される。BS0では、パケット通信は行われない。BS0を示すバスステート信号の信号レベルはLowで表される。なお、このINT信号には、メモリカード1の動作状態が反映されるが、その内容については後述する。
【0050】
BS1は、パラレルデータ信号のラインに、TPCが転送されるステートである。BS1を示すバスステートの信号レベルはHighで表される。TPCは、ホスト機器2からメモリカード1へ転送される。TPCは、ホスト機器2がメモリカード1のレジスタ回路13及びデータバッファ回路14にアクセスするためのコマンドである。TPCには、データバッファ回路14に対するデータの書き込み処理又は読み出し処理を行うコマンド、レジスタ回路13に対するデータの書き込み処理又は読み出し処理を行うコマンド、メモリI/Fコントローラ16に与えるコントロールコマンドをレジスタ回路13に書き込む処理を行うコマンド等がある。TPC及びコントロールコマンドの具体的な内容については後述する。
【0051】
BS2及びBS3では、ホスト機器2からメモリカード1へデータを転送するライト系パケットと、メモリカード1からホスト機器2へデータを転送するリード系パケットとで、パラレルデータ信号上に転送されるパラレルデータ(DATA[3:0])の転送方向及び属性が異なる。そのパケットの種類がライト系パケットかリード系パケットかは、BS1で転送されるTPCの内容によって決定される。
【0052】
図8にライト系パケットのタイミングチャートを示し、ライト系パケット時のBS2,BS3の内容について説明をする。
【0053】
ライト系パケット時のBS2では、パラレルデータ信号上の転送データが、レジスタ回路13やデータバッファ回路14への書き込み対象データ及びこの書き込み対象データのCRCとなる。BS2では、パラレルデータ信号上の転送データが、ホスト機器2からメモリカード1へ転送される。
【0054】
ライト系パケット時のBS3では、パラレルデータ信号上の転送データが、メモリカード1から発生されるビジー(BSY)信号及びレディー(RDY)信号となる。ライト系パケット時のBS3では、パラレルデータ信号上のビジー信号及びレディー信号が、メモリカード1からホスト機器2へ転送される。ライト系パケット時のBS3では、BS1及びBS2でホスト機器2からメモリカード1へ転送されたTPC及び転送データに対する処理が行われる。メモリカード1は、そのTPC及び転送データに対する処理を行っている最中(つまり、まだ処理が完了しない場合)には、ホスト機器2に対してビジー信号を送出する。そして、メモリカード1は、その処理が完了するとホスト機器2に対してレディー信号を送出する。ビジー信号及びレディー信号は、4本のパラレルデータ信号のうち、最下位ビット(DATA0)の信号ラインのみに転送される。ビジー信号は、最下位ビット(DATA0)の信号ラインをhighレベルの状態にする信号である。レディー信号は、最下位ビット(DATA0)の信号ラインを、highレベルとlowレベルとを1クロックごとに交互に繰り返す状態とする信号である。このように、ビジー信号及びレディー信号を伝送することによって、データが転送されていないライト系パケット時のBS3のタイミングでのメモリカード1とホスト機器2とのハンドシェイクを確立することができる。
【0055】
図9にリード系パケットのタイミングチャートを示し、リード系パケット時のBS2,BS3の内容について説明をする。
【0056】
リード系パケット時のBS2では、パラレルデータ信号上の転送データが、メモリカード1から発生されるビジー信号及びレディー信号となる。リード系パケット時のBSでは、BS1でホスト機器2からメモリカード1へ転送されたTPCに応じて、メモリカード1がデータの転送準備を行う。メモリカード1は、TPCに対するデータの転送準備中(つまり、まだ転送準備が完了していない場合)には、ホスト機器2に対してビジー信号を送出する。そして、メモリカード1は、その転送準備が完了すると、ホスト機器2に対してレディー信号を送出する。このように、ビジー信号とレディー信号とを伝送することによって、データが転送されていないリード系パケットのBS2におけるメモリカード1とホスト機器2とのハンドシェイクを確立することができる。
【0057】
リード系パケット時のBS3では、パラレルデータ信号上の転送データが、レジスタ回路13やデータバッファ回路14からの読み出し対象データ及びこの読み出し対象データのCRCとなる。BS3は、パラレルデータ信号上の転送データが、メモリカード1からホスト機器2へ転送される。
【0058】
図10にBS2,BS3で発生されるビジー信号及びレディー信号の詳細なタイミングチャートを示す。この図10に示すように、ビジー信号及びレディー信号は、4本のパラレルデータ信号のうち、最下位ビット(DATA0)の信号ラインのみに転送される。他のビット(DATA1〜3)は、lowレベルとされている。ホスト機器2は、DATA0に伝送された信号のみを受信し、他のビットの信号は無視する。最下位ビット(DATA0)は、従来の3線式半2重プロトコルを用いたメモリカードのシリアルデータの伝送ラインに対応している。従って、本メモリカード1は、従来のメモリカードと互換性を有している。
【0059】
BS0のINT信号
つぎに、バスステートがBS0の際にメモリカード1からホスト機器2へ転送されるINT信号について説明をする。
【0060】
メモリカード1には不揮発性半導体メモリ17としてフラッシュメモリが用いられている。フラッシュメモリに対するアクセス時間は、メモリカード1とホスト機器2との間のデータの転送時間と比較して非常に長くなる。そのため、ホスト機器2側のデータ処理シーケンスを短縮するには、データ転送プロトコル上、メモリカード1側から処理の終了等を通知する割り込み要求を規定することが有効となる。つまり、メモリカード1からの割り込み要求を規定することによって、フラッシュメモリに対するアクセス中、ホスト機器2側のCPUの処理を他の処理に開放することができる。
【0061】
BS0では、メモリカード1に何らかの割り込み要求が発生すると、メモリカード1が、割り込み信号(INT信号)をホスト機器2に転送する。INT信号は、クロック信号には同期せずに、メモリカード1から出力される。BS0時に、パラレルデータ(DATA[3:0])の信号ラインのいずれかのビットが、highレベルとされたときには、メモリカード1側から割り込み要求が発生したことを示す。また、パラレルデータ(DATA[3:0])のいずれのビットもlowレベルのときには、メモリカード1は処理の実行中で、割り込み要求がないことを示す。
【0062】
ここで、メモリカード1から発生する割り込みの要因には、複数のものが存在する。例えば、メモリカード1に与えられたコントロールコマンドに対する動作制御が終了したことをホスト機器2に伝達するための割り込み、メモリカード1に与えられたコントロールコマンドに対して動作制御を行った際にエラーが発生したことをホスト機器2に伝達するための割り込み、ホスト機器2に対してアクセスを要求する割り込み、メモリカード1から与えられたコントロールコマンドが実行不可能であることをホスト機器2に対して伝達するための割り込み、等々がある。
【0063】
メモリカード1では、以上のような各割り込みの各要因を、パラレルデータ(DATA[3:0])の各ビットに対して割り当て、発生した割り込みの要因に応じてhighレベルとするラインを変化させている。すなわち、メモリカード1で発生した割り込みの内容に応じて、BS0時にhighレベルとなるビット位置が異なるINT信号が、メモリカード1から発生される。
【0064】
ホスト機器2は、BS0時には、パラレルデータ(DATA[3:0])の各ビットのレベルを監視することによって、メモリカード1から割り込み要求があったことを検出するとともに、どのビット位置のレベルがhighとなっているかを検出し、メモリカード1の割り込みの要因も同時に検出する。
【0065】
これに対して、従来のメモリカードシステムでは、メモリカード側からホスト側へ、単に割り込み要求があるかないかのみを通知している。そのため、メモリカードから割り込み要求があったとしても、ホスト側がその要求と同時に割り込み要因を確認することはできず、必ず、パケット通信を確立してメモリカード側に割り込み要因を読み出さなければならなかった。これに対して、本発明の実施の形態のメモリカード1及びホスト機器2では、データラインが4ビットであることを利用し、各ビットに対して割り込みの各要因を割り当てているので、割り込み要求と同時にその要因もホスト機器2が確認することができる。
【0066】
従って、本実施の形態では、メモリカード1からの割り込み要求が発生した場合、ホスト機器2がその要求内容を確認するためのパケット通信を行わなくてもよくなる。つまり、メモリカード1とホスト機器2との間のデータ転送シーケンスの実行時間を短くすることができる。
【0067】
なお、本実施の形態では、メモリカード1のINT信号は、コントロールコマンドに基づく動作状態が反映するINTレジスタに格納されている各ビット値となっている。INTレジスタは、レジスタ回路13内のステータスレジスタ群内に設けられている。メモリカード1のパラレルインタフェース回路12は、バスステート信号がBS0を示しているときに、このINTレジスタの各ビット値を参照し、そのビット値が有効(1)となっていれば、そのビットに対応するデータラインをhighレベルにドライブし、そのビット値が無効(0)となっていれば、そのビット値に対応するデータラインをlowレベルにドライブする。このINTレジスタの具体的な内容、並びに、INTレジスタの各値とパラレルデータ(DATA[3:0])との関係については、つぎのレジスタ回路の項で説明をする。
【0068】
レジスタ回路
つぎに、レジスタ回路13について説明をする。
【0069】
レジスタ回路13は、複数の内部レジスタにより構成されている。レジスタ回路13内の内部レジスタは、その用途に応じて、以下の1〜5に分類される。
1 メモリカード1のステータス等が格納されるステータスレジスタ群
2 コマンドの実行等のために用いられるパラメータが、格納されるパラメータレジスタ群
3 フラッシュメモリの各ページ毎に設けられ、各ページの管理データ等が格納されるエキストラデータレジスタ群
4 上記1,2,3の各レジスタに対するアクセス位置を特定するためのアドレスが格納されるレジスタアドレスレジスタ
5 ホスト機器2から与えられたコントロールコマンドが格納されるコマンドレジスタ
【0070】
(ステータスレジスタ群)
ステータスレジスタ群には、図11に示すように、INTレジスタ、ステータスレジスタ、タイプレジスタ、カテゴリレジスタ、クラスレジスタの5つの内部レジスタがある。ステータスレジスタ群内の各内部レジスタは、メモリI/Fコントローラ16により格納している値が更新される。ステータスレジスタ群内の各内部レジスタは、ホスト機器2からはREAD_REG_TPC(READ_REG_TPCは、TPCの中の一つのコマンドであり、その詳細は後述する。)でアクセスが可能であり、ホスト機器2からは読み出し専用となっている。また、ステータスレジスタ群内の各内部レジスタは、8ビット分のビット値が格納可能であり、それぞれにアドレスが設定されている。
【0071】
・INTレジスタ
INTレジスタは、メモリカード1の動作状態が設定されるレジスタである。このINTレジスタ内の値は、ホスト機器2からメモリカード1に与えられたコントロールコマンドに対する動作結果に応じて、メモリI/Fコントローラ16によって更新される。INTレジスタは、図12に示すように、8ビットのレジスタである。INTレジスタには、8ビットのうち、最下位ビット(D0)と上位3ビット(D5〜D7)とに、動作状態が設定されている。なお、残りのビットは、リザーブとなっている。
【0072】
INTレジスタのビットD7は、CED(Command End)ビットである。CEDビットは、EX_SET_CMD_TPC又はSET_CMD_TPC(TPCのなかの1つのコマンドである。詳細は後述する。)によりセットされたコントロールコマンドの実行が終了したことを示すビットである。なお、ここでいう実行の終了とは、その実行が正常に終了したかエラー終了したかに関わらず、実行が終了したことを示すものである。CEDビットは、EX_SET_CMD_TPC又はSET_CMD_TPCによるコントロールコマンドのセット時及び初期状態の時に、メモリI/Fコントローラ16によってビット値が無効(0)とされ、EX_SET_CMD_TPC又はSET_CMD_TPCによるコントロールコマンドの実行が終了したときにメモリI/Fコントローラ16によってビット値が有効(1)とされる。
【0073】
INTレジスタのビットD6は、ERR(Error)ビットである。ERRビットは、EX_SET_CMD_TPC又はSET_CMD_TPCによりセットされたメモリアクセスコマンド(コントロールコマンド)及びセキュリティコマンド(コントロールコマンド)を実行した結果、その実行にエラーが発生したことを示すビットである。ERRビットは、エラーが発生するとメモリI/Fコントローラ16によってビット値が有効(1)とされ、新たなEX_SET_CMD_TPC又はSET_CMD_TPCによりコントロールコマンドがセットされるかあるいはエラー状態が解除されるとメモリI/Fコントローラ16によってビット値が無効(0)とされる。
【0074】
INTレジスタのビットD5は、BREQ/PRG(Buffer Request /Progress)ビットである。BREQ/PRGビットは、EX_SET_CMD_TPC又はSET_CMD_TPCによりセットされたメモリアクセスコマンド(コントロールコマンド)及びセキュリティコマンド(コントロールコマンド)を実行した結果、その実行によって発生するホスト機器2に対するデータバッファ回路14へのアクセス要求、並びに、不揮発性半導体メモリ17の内部消去処理やフォーマット処理を実行した場合におけるその進行状況を示すビットである。例えば、不揮発性半導体メモリ17に対する書き込み命令があった場合におけるデータバッファ回路14に対するデータの書き込み要求、不揮発性半導体メモリ17からのデータの読み出し命令があった場合におけるデータバッファ回路14からのデータの読み出し要求、セキュリティデータの受信要求等があることを示すビットである。BREQ/PRGビットは、各要求が発生したときメモリI/Fコントローラ16によってビット値が有効(1)とされ、ホスト機器2によりその要求に対するTPCによるアクセスが発生した場合にメモリI/Fコントローラ16によりビット値が無効(0)とされる。また、BREQ/PRGビットは、フォーマットや消去の進行状況に応じて、メモリI/Fコントローラ16によってビット値が更新される。
【0075】
INTレジスタのビットD0は、CMDNK(Command Nack)ビットである。CMDNKビットは、EX_SET_CMD_TPC又はSET_CMD_TPCによりセットされたコマンドが実行できないことを示すビットである。EX_SET_CMD_TPC又はSET_CMD_TPCによりセットされたコントロールコマンドが実行できないときにメモリI/Fコントローラ16によりビット値が有効(1)とされ、EX_SET_CMD_TPC又はSET_CMD_TPCによりセットされたコントロールコマンドが実行できるときにビット値が無効(0)とされる。
【0076】
INTレジスタには、以上のようなビットが設定されている。このことによって、INTレジスタ内の各ビットの値の組み合わせにより、直前のコントロールコマンドに対するメモリカード1の動作状態として、図13に示すような動作状態を表すことができる。
【0077】
すなわち、CED=1,ERR=0,BREQ/PRG=0,CMDNK=0である場合には、与えられたコントロールコマンドの実行が正常終了したという動作状態を示すこととなる。CED=1,ERR=1,BREQ/PRG=0,CMDNK=0である場合には、与えられたコントロールコマンドの実行がエラー終了したという動作状態を示すこととなる。CED=0,ERR=0,BREQ/PRG=1,CMDNK=0である場合には、与えられたコントロールコマンドの実行が正常に行われており、ホスト機器2に対してアクセス要求をしているという動作状態を示すこととなる。CED=0,ERR=1,BREQ/PRG=1,CMDNK=0である場合には、与えられたコントロールコマンドの実行にエラーが発生しており、ホスト機器2に対してアクセス要求をしているという動作状態を示すこととなる。CED=0,ERR=0,BREQ/PRG=0,CMDNK=0である場合には、与えられたコントロールコマンドの実行中であるという動作状態を示すこととなる。CED=0,ERR=1,BREQ/PRG=0,CMDNK=0である場合には、不揮発性半導体メモリ17の消去実行中又はフォーマット中であるという動作状態を示すこととなる。CED=1,ERR=0,BREQ/PRG=0,CMDNK=1である場合には、与えられたコントロールコマンドの実行が不可能であるという動作状態を示すこととなる。
【0078】
なお、INTレジスタ内の各ビットは、EX_SET_CMD_TPC又はSET_CMD_TPCにより新たなコントロールコマンドがセットされたときには、その値は、メモリI/Fコントローラ16によって初期状態(全てのビット値が0の状態)とされる。
【0079】
・INTレジスタとINT信号との関係
ここで、上述したようにこのINTレジスタ内の各ビット(CED,ERR,BREQ/PRG,CMDNK)は、その値がINT信号に反映される。メモリカード1のパラレルインタフェース回路12は、ステートがBS0のときに、このINTレジスタの各ビットの値(CED,ERR,BREQ/PRG,CMDNK)に応じて、パラレルデータ(DATA[3:0])の各データラインをhighレベル又はlowレベルにドライブする。INTレジスタの各ビットと、パラレルデータの各ラインの関係は以下の通りである。
DATA0:CED
DATA1:ERR
DATA2:BREQ/PRG
DATA3:CMDNK
【0080】
パラレルインタフェース回路12は、ステートがBS0である期間中に常にINTレジスタ内の値を参照しており、INTレジスタ内のビットの値が有効(1)であれば対応するデータラインをhighレベル(1)にドライブし、無効であれば対応するデータラインをlow(0)にドライブする。ホスト機器2では、ステートがBS0である期間中には、パラレルデータ(DATA[3:0])の各データラインのレベルを監視して、メモリカード1からの割り込み要求があるか否かを判断する。ホスト機器2は、メモリカード1から割り込み要求があった場合には、すなわち、いずれかのデータラインがlowレベルからhighレベルへ変化したと判断した場合には、どのデータラインのレベルがhighとなっているかを検出し、上述の図13に示した動作状態を検出する。そして、ホスト機器2は、検出した動作状態に応じて、対応する処理を行う。
【0081】
(パラメータレジスタ群)
パラメータレジスタ群内には、図14に示すように、システムパラメータレジスタ、データカウント/セキュリティパラメータレジスタ、データアドレス/レビジョンナンバーレジスタ、TPCパラメータレジスタ、コマンドパラメータレジスタの各内部レジスタが設けられている。パラメータレジスタ群内の各内部レジスタは、ホスト機器2により格納している値が更新され、メモリI/Fコントローラ16がコントロールコマンドを実行する際に、その値が参照される。パラメータレジスタ群内の各内部レジスタは、ホスト機器2からはWRITE_REG_TPC,EX_SET_CMD_TPC(TPCの一つ。詳細については後述する。)でアクセスが可能である。また、パラメータレジスタ群内の各内部レジスタは、8ビット分ごとにアドレスが設定されている。
【0082】
・データカウント/セキュリティパラメータレジスタ
データカウント/セキュリティパラメータレジスタは、ホスト機器2からメモリカード1に与えられたメモリアクセスコマンド(コントロールコマンド)を実行する際に必要となるデータ数が格納される。例えば、不揮発性半導体メモリ17からデータを読み出す際における読み出しデータのデータサイズ、不揮発性半導体メモリ17に対してデータを書き込む際における書き込みデータのデータサイズ等が設定される。また、データカウント/セキュリティパラメータレジスタは、セキュリティコマンド(コントロールコマンド)を実行する際に必要となる各種設定値が格納される。このデータカウント/セキュリティパラメータレジスタのサイズは、16ビットであり、8ビット単位で2つのアドレスが設定されている。
【0083】
・データアドレス/レビジョンナンバーレジスタ
データアドレス/レビジョンナンバーレジスタは、ホスト機器2からメモリカード1に与えられたメモリアクセスコマンド(コントロールコマンド)を実行する際に必要となる不揮発性半導体メモリ17上のアドレスが格納される。例えば、不揮発性半導体メモリ17からデータを読み出す際における読み出し位置の先頭アドレス、不揮発性半導体メモリ17に対してデータを書き込む際における書き込み位置の先頭アドレス等が設定される。また、データカウント/セキュリティパラメータレジスタは、セキュリティコマンド(コントロールコマンド)を実行する際に必要となるリビジョン番号が格納される。このデータカウント/セキュリティパラメータレジスタのサイズは、32ビットであり、8ビット単位で4つのアドレスが設定されている。
【0084】
なお、上記データカウント/セキュリティパラメータレジスタ及びデータアドレス/レビジョンナンバーレジスタは、メモリアクセスコマンド(コントロールコマンド)のうちの、READ_DATA, READ_INFO, WRITE_DATA, WRITE_INFO等の実行時に参照されることとなる。また、上記データカウント/セキュリティパラメータレジスタ及びデータアドレス/レビジョンナンバーレジスタは、TPCの中のWRITE_REG_TPC, EX_SET_CMD_TPCによりデータが書き込まれることとなる。なお、これらのコントロールコマンドの内容については、詳細を後述する。
【0085】
(レジスタアドレスレジスタ)
レジスタアドレスレジスタは、ホスト機器2が、上記のステータスレジスタ群及びパラメータレジスタ群に対してTPCを用いてアクセスする際に、アクセスするレジスタの先頭アドレス並びにデータ長を予め設定をしておくレジスタである。
【0086】
上記のステータスレジスタ群及びパラメータレジスタ群に対しては、WRITE_REG_TPC(TPCのうちの一つ。詳細は後述する。)でデータの書き込みが可能であり、READ_REG_TPC(TPCのうちの一つ。詳細は後述する。)でデータの読み出しが可能である。しかしながら、これらWRITE_REG_TPC, READ_REG_TPCには、レジスタ位置を特定する情報が引数として含まれていない。従って、ホスト機器2は、これらのWRITE_REG_TPC, READ_REG_TPCを用いてレジスタに対してアクセスを行う場合には、予め、このレジスタアドレスレジスタに対して、ステータスレジスタ群及びパラメータレジスタ群のアドレス及びデータ長を設定する。そして、WRITE_REG_TPC, READ_REG_TPCが与えられた場合、メモリI/Fコントローラ16は、このレジスタアドレスレジスタに格納されている情報を参照して、各コマンドに対応する処理を行う。なお、このレジスタアドレスレジスタに対してレジスタアドレス及びデータ長を格納するTPCは、SET_R_W_REG_ADRS_TPC(詳細後述)である。
【0087】
(コマンドレジスタ)
コマンドレジスタは、ホスト機器2から与えられるコントロールコマンドを格納するレジスタである。メモリI/Fコントローラ16は、このコマンドレジスタに格納されたコントロールコマンドに応じて、各種の動作制御を行う。このコマンドレジスタに対してコントロールコマンドを格納するTPCは、SET_CMD_TPC,EX_SET_CMD_TPC(詳細後述)である。
【0088】
TPC
つぎに、TPC(Transfer Protocol Command)について説明をする。
【0089】
TPCは、本メモリカード1及びホスト機器2のデータ転送プロトコル上で規定されているコマンドである。TPCは、ホスト機器2が、メモリカード1内のレジスタ回路13及びデータバッファ回路14に対してアクセスをする際に用いられる。TPCは、バスステート信号が、BS1のタイミングでホスト機器2からメモリカード1へ転送される。以下、このTPCのコード内容と、その具体的な動作内容について説明する。
【0090】
以下に、TPCの一例を示す。
READ_LONG_DATA_TPC
READ_SHORT_DATA_TPC
READ_REG_TPC
GET_INT_TPC
WRITE_LONG_DATA_TPC
WRITE_SHORT_DATA_TPC
WRITE_REG_TPC
SET_R_W_REG_ADRS_TPC
SET_CMD_TPC
EX_SET_CMD_TPC
【0091】
READ_LONG_DATA_TPCは、データバッファ回路14から512バイトのデータを読み出す命令である。すなわち、データバッファ回路14内に格納されている全データをホスト機器2へ転送する命令である。READ_LONG_DATA_TPCは、リード系の命令である。すなわち、BS1でREAD_LONG_DATA_TPCがホスト機器2からメモリカード1へ発行されると、BS3でデータバッファ回路14内の512バイト分データがメモリカード1からホスト機器2へ転送される。
【0092】
READ_SHORT_DATA_TPCは、TPCパラメータレジスタで設定されているデータ長のデータを、データバッファ回路14から読み出す命令である。すなわち、データバッファ回路14内に格納されている所定量のデータをホスト機器2へ転送する命令である。READ_SHORT_DATA_TPCは、リード系の命令である。すなわち、BS1でREAD_SHORT_DATA_TPCがホスト機器2からメモリカード1へ発行されると、BS3でデータバッファ回路14内の所定バイト分データがメモリカード1からホスト機器2へ転送される。
【0093】
READ_REG_TPCは、アドレスが設定されているレジスタの値を読み出す命令である。アドレスが設定されているレジスタは、ステータスレジスタ群、パラメータレジスタ群及びエキストラレジスタ群の各内部レジスタである。読み出されるレジスタのアドレス位置(先頭アドレス及びデータ長)は、レジスタアドレスレジスタに格納されている値である。つまり、レジスタ内の値を参照する場合には、予めレジスタアドレスレジスタに対して目的のアドレス位置を書き込んでおく必要がある。このレジスタアドレスレジスタにアドレス位置を書き込むTPCは、SET_R_W_REG_ADRS_TPCである。READ_REG_TPCは、リード系の命令である。すなわち、BS1でREAD_REG_TPCがホスト機器2からメモリカード1へ発行されると、目的のレジスタ内の所定ビット分データがBS3でメモリカード1からホスト機器2へ転送される。
【0094】
GET_INT_TPCは、ステータスレジスタ群の内部レジスタであるINTレジスタの値(8ビット分の値)を読み出す命令である。このGET_INT_TPCは、上記のREAD_REG_TPCのようにレジスタアドレスレジスタに対してアドレス位置を格納することなくINTレジスタの値を読み出す。GET_INT_TPCは、リード系の命令である。すなわち、BS1でGET_INT_TPCがホスト機器2からメモリカード1へ発行されると、BS3でINTレジスタ内の8ビット分データがメモリカード1からホスト機器2へ転送される。
【0095】
WRITE_LONG_DATA_TPCは、データバッファ回路14に対して12バイトのデータを書き込む命令である。すなわち、データバッファ回路14の全データを、ホスト機器2からデータバッファ回路14へ転送する命令である。WRITE_LONG_DATA_TPCは、ライト系の命令である。すなわち、BS1でWRITE_LONG_DATA_TPCがホスト機器2からメモリカード1へ発行されると、データバッファ回路14に書き込む512バイト分データがBS2でホスト機器2からメモリカード1へ転送される。
【0096】
WRITE_SHORT_DATA_TPCは、TPCパラメータレジスタで設定されているデータ長のデータを、データバッファ回路14に対して書き込む命令である。すなわち、所定量のデータを、ホスト機器2からデータバッファ回路14内に転送する命令である。WRITE_SHORT_DATA_TPCは、ライト系の命令である。すなわち、BS1でWRITE_SHORT_DATA_TPCがホスト機器2からメモリカード1へ発行されると、データバッファ回路14に書き込む所定バイト分データがBS2でホスト機器2からメモリカード1へ転送される。
【0097】
WRITE_REG_TPCは、アドレスが設定されているレジスタの値を読み出す命令である。アドレスが設定されているレジスタは、ステータスレジスタ群、パラメータレジスタ群及びエキストラレジスタ群の各内部レジスタであるが、ホスト機器2により書き込み可能なのはパラメータレジスタ群及びエキストラレジスタ群である。書き込むレジスタのアドレス位置(先頭アドレス及びデータ長)は、レジスタアドレスレジスタに格納されている値である。つまり、レジスタ内に対して値を書き込む場合には、予めレジスタアドレスレジスタに対して目的のアドレス位置を書き込んでおく必要がある。このレジスタアドレスレジスタにアドレス位置を書き込むTPCは、SET_R_W_REG_ADRS_TPCである。WRITE_REG_TPCは、ライト系の命令である。すなわち、BS1でWRITE_REG_TPCがホスト機器2からメモリカード1へ発行されると、目的のレジスタ内に書き込むデータがBS2でホスト機器2からメモリカード1へ転送される。
【0098】
SET_R_W_REG_ADRS_TPCは、READ_REG_TPC,WRITE_REG_TPCでアクセスするレジスタのアドレス位置を、レジスタアドレスレジスタの格納する命令である。SET_R_W_REG_ADRS_TPCは、ライト系の命令である。すなわち、BS1でSET_R_W_REG_ADRS_TPCがホスト機器2からメモリカード1へ発行されると、レジスタアドレスレジスタに書き込むデータがBS2でホスト機器2からメモリカード1へ転送される。
【0099】
SET_CMD_TPCは、メモリI/Fコントローラ16に対する動作命令であるコントロールコマンドを、コマンドレジスタに格納する命令である。SET_CMD_TPCによりコマンドレジスタ内にコントロールコマンドが格納されると、メモリI/Fコントローラ16は、このコントロールコマンドに従った動作制御を行う。動作内容としては、例えば、メモリに対する動作制御、メモリ以外の各ファンクションに対する動作又はデータのセキュリティに関する動作などである。また、コントロールコマンドの動作内容によっては、パラメータレジスタ内に格納されている値を参照して、動作が行われる場合がある。この場合には、SET_CMD_TPCを発行する前のパケットで予め上記のWRITE_REG_TPCを用いて、パラメータレジスタ内の所定の内部レジスタに対して値を書き込んでおく必要がある。SET_CMD_TPCは、ライト系の命令である。すなわち、BS1でSET_CMD_TPCがホスト機器2からメモリカード1へ発行されると、コマンドレジスタに書き込まれるコントロールコマンドのコードがBS2でホスト機器2からメモリカード1へ転送される。
【0100】
EX_SET_CMD_TPCは、データカウント/セキュリティパラメータレジスタ及びデータアドレス/レビジョンナンバーレジスタに対してデータを格納すると同時に、コマンドレジスタに対してコントロールコマンドを格納する命令である。EX_SET_CMD_TPCによりコントロールコマンドとしてメモリアクセスコマンドが転送される場合には、データカウント/セキュリティパラメータレジスタには、不揮発性半導体メモリ17に対してアクセスするデータのデータ量が格納され、データアドレス/レビジョンナンバーレジスタには、不揮発性半導体メモリ17のデータアドレスが格納されることとなる。また、EX_SET_CMD_TPCによりコントロールコマンドとしてセキュリティコマンドが転送される場合には、データカウント/セキュリティパラメータレジスタには、セキュリティ管理用のパラメータが格納され、データアドレス/レビジョンナンバーレジスタには、セキュリティ管理用のリビジョンナンバが格納されることとなる。このEX_SET_CMD_TPCによってコントロールコマンドを転送した場合には、メモリI/Fコントローラ16がそのコントロールコマンドを実行する前に、データカウント/セキュリティパラメータレジスタ及びデータアドレス/レビジョンナンバーレジスタに対して転送データが格納される。
【0101】
EX_SET_CMD_TPCは、ライト系の命令である。すなわち、BS1でEX_SET_CMD_TPCがホスト機器2からメモリカード1へ発行されると、コントロールコマンドのコード等がBS2でホスト機器2からメモリカード1へ転送される。
ここで、EX_SET_CMD_TPCと同一のデータ転送動作は、SET_CMD_TPCを用いても実現できる。しかしながら、パラメータレジスタ群内の内部レジスタに格納されている値を参照して動作制御をするコントロールコマンドを転送する場合、例えば、READ_DATA,READ_INFO,WRITE_DATA,WRITE_INFO等のコントロールコマンドを転送する場合、その参照されるデータを予めパラメータレジスタに転送しておかなければならない。すなわち、SET_CMD_TPCを実行する前に、SET_R_W_REG_ADRS及びWRITE_REG_TPCを転送しておかなければならない。
【0102】
これに対して、EX_SET_CMD_TPCを用いた場合には、予めWRITE_REG_TPCを用いてデータカウント/セキュリティパラメータレジスタ及びデータアドレス/レビジョンナンバーレジスタにデータを格納しなくてもよい。つまり、SET_CMD_TPCを用いれば3パケット必要となるデータ転送動作を、EX_SET_CMD_TPCであれば1パケットのみで実現することができる。
【0103】
従って、EX_SET_CMD_TPCを用いてコントロールコマンドを転送すれば、SET_R_W_REG_ADRS及びWRITE_REG_TPCを転送するパケットシーケンスを実行しなくてもよく、処理の高速化を図ることができる。
【0104】
図15に、SET_CMD_TPCを実行した場合のホスト機器2からメモリカード1へ転送する具体的な転送データ例を示す。図16に、EX_SET_CMD_TPCを実行した場合のホスト機器2からメモリカード1へ転送する具体的な転送データ例を示す。この図15及び図16に示す転送データは、BS2時に転送されることとなる。
【0105】
SET_CMD_TPCを実行した場合の転送データは、1バイトのコマンドコードと、2バイトのCRCとなる。1バイトのコマンドコードは、メモリI/Fコントローラ16に対して実行させるコントロールコマンドを特定するコードである。コマンドコードは、コマンドレジスタに格納される。
【0106】
EX_SET_CMD_TPCを実行した場合の転送データは、1バイトのコマンドコードと、2バイトのカウント/セキュリティパラメータデータと、2バイトのアドレス/レビジョンナンバーデータと、2バイトのCRCとなる。カウント/セキュリティパラメータデータは、データカウント/セキュリティパラメータレジスタに格納されるデータである。アドレス/レビジョンナンバーデータは、データアドレス/レビジョンナンバーレジスタに格納されるデータである。
【0107】
図15及び図16に示すように、SET_CMD_TPCの転送データは、EX_SET_CMD_TPCの転送データの方がデータ長が長くなる。従って、ホスト機器2は、データカウント/セキュリティパラメータレジスタ及びデータアドレス/レビジョンナンバーレジスタを参照せずに実行することができるコマンドコードを転送する場合には、EX_SET_CMD_TPCではなく、SET_CMD_TPCを用いた方がより短いパケットとなる。従って、TPCのコマンドセットとして、SET_CMD_TPCとEX_ SET_CMD_TPCとを設定しておき、転送するコントロールコマンドに応じて適応的に選択することによって、より処理を高速化することができる。
【0108】
コントロールコマンド
つぎに、コントロールコマンドについて説明をする。
【0109】
コントロールコマンドは、ホスト機器2から、メモリカード1のメモリI/Fコントローラ16に対して与えられる動作制御命令である。コントロールコマンドは、ホスト機器2からTPCのSET_CMD_TPC或いはEX_SET_CMD_TPCによりメモリカード1内のコマンドレジスタに格納される。メモリI/Fコントローラ16は、コマンドレジスタ内にコントロールコマンドが格納されると、そのコントロールコマンドに対応した動作制御を実行する。そして、その動作制御の実行とともにINTレジスタ内の各値を適宜更新する。
【0110】
コントロールコマンドは、メモリアクセスコマンド、ファンクションコマンド及びセキュリティコマンドの3つの種類に分類される。メモリアクセスコマンドは、メモリカード1上の不揮発性半導体メモリ17に対してアクセスを行うコマンドである。ファンクションコマンドは、メモリカード1上の各ファンクションに対してアクセスを行うコマンドである。セキュリティコマンドは、著作権保護に必要なセキュリティ機能を実現するためのコマンドである。
【0111】
メモリアクセスコマンドには、例えば、不揮発性半導体メモリ17からデータバッファ回路14へデータを読み出すコマンド、データバッファ回路14から不揮発性半導体メモリ17へデータを書き込むコマンド、不揮発性半導体メモリ17上のデータを消去するコマンド等がある。
【0112】
ファンクションコマンドには、例えば、本メモリカード1を工場出荷状態に戻すフォーマットコマンドやメモリカード1の発振器18の動作を停止させるスリープコマンド等がある。
【0113】
セキュリティコマンドには、例えば、本メモリカード1の固有のIDを読み出すコマンド、コンテンツ鍵にかかっている鍵に対する操作を行うコマンド、乱数を発生するコマンド等がある。
【0114】
ここでは、メモリアクセスコマンドの一例を図17に示す。
【0115】
メモリアクセスコマンドには、図17に示すように、READ_DATA, WRITE_DATA, READ_INFO, READ_ATRB, STOP, ERASE等がある。
【0116】
READ_DATAは、不揮発性半導体メモリ17のユーザエリアの指定アドレスからデータを連続的に、読み出していく命令である。メモリI/Fコントローラ16は、このREAD_DATAが与えられると、データアドレス/レビジョンナンバーレジスタに格納されているアドレスを参照し、不揮発性半導体メモリ17上のこのアドレスに対してアクセスを行い、このアドレスからデータを読み出していく。読み出したデータは、一旦データバッファ回路14へ転送する。メモリI/Fコントローラ16は、データバッファ回路14の一杯となると、すなわち、512バイト分データを読み出すと、INTレジスタのBREQ/PRGビットを有効(1)とし、ホスト機器2に対して転送要求の割り込みを発行する。そして、ホスト機器2によってデータバッファ回路14内のデータが読み出されると、続くデータを不揮発性半導体メモリ17からデータバッファ回路14へ転送していく。メモリI/Fコントローラ16は、データカウント/セキュリティパラメータレジスタに格納されているデータ数分データを読み出すまで、以上の処理を繰り返す。そして、エラーが発生せずに最後までデータを読み出すと、INTレジスタのCMDビットを有効(1)とし、処理を終了する。また、処理の途中でエラーが発生した場合には、INTレジスタのCMDビットを有効(1)とするとともに、ERRビットを有効(1)として処理を終了する。
【0117】
WRITE_DATAは、データバッファ回路14に格納されているデータを、不揮発性半導体メモリ17のユーザエリアの指定アドレスからデータを連続的に記録していく命令である。メモリI/Fコントローラ16は、WRITE_DATAが与えられると、データアドレス/レビジョンナンバーレジスタに格納されているアドレスを参照し、不揮発性半導体メモリ17上のこのアドレスに対してアクセスを行い、このアドレスからデータを書き込んでいく。書き込むデータは、データバッファ回路14に格納されているデータである。メモリI/Fコントローラ16は、データバッファ回路14内が空となると、すなわち、512バイト分データを書き込むと、INTレジスタのBREQ/PRGビットを有効(1)とし、ホスト機器2に対して転送要求の割り込みを発行する。そして、ホスト機器2によってデータバッファ回路14内にデータが書き込まれると、続くデータをデータバッファ回路14から不揮発性半導体メモリ17へ書き込んでいく。メモリI/Fコントローラ16は、データカウント/セキュリティパラメータレジスタに格納されているデータ数分データを書き込むまで、以上の処理を繰り返す。そして、エラーが発生せずにデータを最後まで書き込むと、INTレジスタのCMDビットを有効(1)とし、処理を終了する。また、処理の途中でエラーが発生した場合には、INTレジスタのCMDビットを有効(1)とするとともに、ERRビットを有効(1)として処理を終了する。
【0118】
READ_INFOは、不揮発性半導体メモリ17のシステムエリアのインフォメーションブックエリアの指定アドレスからデータを連続的に、読み出していく命令である。メモリI/Fコントローラ16の処理手順は、READ_DATAと同一である。
【0119】
WRITE_INFOは、不揮発性半導体メモリ17のシステムエリアのインフォメーションブックエリアの指定アドレスに対してデータを連続的に、書き込んでいく命令である。メモリI/Fコントローラ16の処理手順は、WRITE_DATAと同一である。
【0120】
READ_ATRBは、不揮発性半導体メモリ17からアトリビュート情報を読み出す命令である。メモリI/Fコントローラ16は、このREAD_ATRBが与えられると、不揮発性半導体メモリ17内のアトリビュート情報を読み出して、データバッファ回路14に転送する。
【0121】
STOPは、READ_DATA, WRITE_DATA,READ_INFO, WRITE_INFO, READ_ATRBの処理の実行を途中で終了する命令である。メモリI/Fコントローラ16は、STOPが与えられると、READ_DATA, WRITE_DATA,READ_INFO, WRITE_INFO, READ_ATRBの実行処理を停止する。
【0122】
ERASEは、ユーザエリアの指定アドレスからデータを消去する命令である。メモリI/Fコントローラ16は、ERASEが与えられると、データアドレス/レビジョンナンバーレジスタに格納されているアドレスを参照して、このアドレスに示された格納位置から、データカウント/セキュリティパラメータレジスタに格納されているデータ数分、不揮発性半導体メモリ17上のデータを消去する。
【0123】
変形例
以上本発明の実施の形態として、本発明を適用したリムーバルなメモリカード、並びに、このメモリカードを外部記憶メディアとして用いるホスト機器について説明をした。しかしながら、本発明は、このようなメモリカードに適用することを限定するものではない。例えば、本発明を、ホスト機器の外部接続装置として、カメラ装置を適用してもよい。この場合、メモリI/Fコントローラ16は、カメラ装置の動作制御を行うこととなり、また、コントロールコマンドにも、カメラ制御用のコマンドがセットされることとなる。
【0124】
【発明の効果】
本発明では、バスステート信号のステートが外部接続機器からホスト機器への割り込みを受け付けるステートとされているときに、上記ホスト機器から上記外部接続機器のコントローラへ与えられた動作制御コマンドに基づき発生する割り込み要因の内容を割り込み要因毎に示す情報を各ビットに割り当てたパラレルデータを、上記外部接続機器から上記ホスト機器へ与える割り込み信号として、データバスを介して転送する。
【0125】
このことにより、本発明では、割り込み信号を参照することによって、外部接続機器の発生している割り込み要因をホスト機器が判断することができる。そのため、ホスト機器は、割り込み信号を受信したのちに外部接続機器と通信して割り込み要因を確認することなく、すぐにその割り込み要因に応じた対応を行うことが可能となる。従って、本発明では、外部接続機器側に割り込み要求があった場合にデータ転送シーケンスを短縮することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態のホスト機器及びメモリカードの外観斜視図である。
【図2】メモリカードを表面側から見た斜視図である。
【図3】メモリカードを裏面側から見た斜視図である。
【図4】メモリカードの内部ブロック構成図である。
【図5】メモリカードとホスト機器との間のデータ伝送をするためのインタフェース機能の構成図である。
【図6】メモリカードとホスト機器との間に転送される信号について説明をするための図である。
【図7】各ステートでの通信内容を説明するための図である。
【図8】ライト系パケットの転送時のパラレルデータ、バスステート及びクロックのタイミングチャートである。
【図9】リード系パケットの転送時のパラレルデータ、バスステート及びクロックのタイミングチャートである。
【図10】ライト系パケット及びリード系パケットの転送時のビジー信号及びレディー信号のタイミングチャートである。
【図11】ステータスレジスタ群を構成する内部レジスタを示す図である。
【図12】INTレジスタ内のビット内容を示す図である。
【図13】INTレジスタ内の各ビット値に対応するメモリカードの動作状態を示す図である。
【図14】パラメータレジスタ群を構成する内部レジスタを示す図である。
【図15】 SET_CMD_TPC時の転送データを示す図である。
【図16】 EX_SET_CMD_TPC時の転送データを示す図である。
【図17】コントロールコマンドの一例を示す図である。
【符号の説明】
1 メモリカード、2 ホスト機器、12 パラレルインタフェース回路、13 レジスタ回路、14 データバッファ回路、16 メモリI/Fコントローラ、17 不揮発性半導体メモリ

Claims (23)

  1. バスステート信号とデータ信号とクロック信号をパラレルに転送するバスを介してホスト機器に接続される外部接続機器において、
    上記ホスト機器との間で上記バスのデータバスを介してデータ信号の双方向通信を行うデータ通信手段と、
    上記バスのステートを示すバスステート信号を上記ホスト機器から受信するバスステート信号受信手段と、
    上記データ通信手段により受信される上記データ信号に含まれる動作制御コマンドに応じて当該外部接続機器の動作制御をするコントローラとを備え、
    上記データ通信手段は、上記バスステート信号受信手段により上記ホスト機器から受信した上記バスステート信号のステートが当該外部接続機器から上記ホスト機器への割り込みを受け付けるステートとされているときに、上記データ通信手段により上記ホスト機器から受信して上記コントローラへ与えられた上記データ信号に含まれる動作制御コマンドに基づき発生する割り込み要因の内容を割り込み要因毎に示す情報を各ビットに割り当てたパラレルデータをデータバスを介して上記ホスト機器へ送信する外部接続機器。
  2. 上記データ通信手段は、上記割り込み要因の内容を割り込み要因毎に示す情報として、ホスト機器から上記コントローラへ与えられた動作制御コマンドに基づき動作制御したときの本機器の動作状態を示す、上記動作制御コマンドの実行が終了した動作状態を示す1ビットの情報であるCEDビットと、上記動作制御コマンドの実行がエラーとなった動作状態を示す1ビットの情報であるERRビットと、上記動作制御コマンドを実行した結果上記ホスト機器から当該外部接続機器へのアクセスを受け付ける動作状態を示す1ビットの情報であるBREQ / PRGビットと、上記動作制御コマンドの実行が不可能である動作状態を示す1ビットの情報であるCMDNKビットとを含む動作状態情報を各ビットに割り当てたパラレルデータを上記データバスを介して上記ホスト機器へ送信することを特徴とする請求項1記載の外部接続機器。
  3. 上記動作状態情報が格納されるレジスタを備え、
    上記コントローラは、上記データ通信手段により上記ホスト機器から受信して与えられた上記データ信号に含まれる動作制御コマンドを実行し、その実行による当該外部接続機器の動作状態に基づき上記レジスタ内の動作状態情報を更新し、
    上記データ通信手段は、上記バスステート信号受信手段により上記ホスト機器から受信した上記バスステート信号のステートが当該外部接続機器から上記ホスト機器への割り込みを受け付けるステートとされているときに、上記レジスタに格納されている上記動作状態情報を上記各ビットに割り当てたパラレルデータパラレルデータを、上記データバスを介して上記ホスト機器へ送信する請求項記載の外部接続機器。
  4. 上記バスは、少なくとも4ビットのパラレルデータを伝送し、
    上記データ通信手段は、上記CEDビット、上記ERRビット、上記BREQ/PRGビット及び上記CMDNKビットを、4ビットのパラレルデータとして上記データバスを介して上記ホスト機器へ送信する請求項記載の外部接続機器。
  5. 上記データ通信手段は、上記ホスト機器から与えられる上記バスの伝送クロックと非同期に、上記CEDビット、上記ERRビット、上記BREQ/PRGビット及び上記CMDNKビットを伝送する請求項記載の外部接続機器。
  6. 上記コントローラは、上記動作制御コマンドの実行が正常に終了したときには、CEDビットを有効,ERRビットを無効,BREQ/PRGビットを無効,CMDNKビットを無効とする請求項記載の外部接続機器。
  7. 上記コントローラは、上記動作制御コマンドの実行にエラーが発生したときには、CEDビットを有効,ERRビットを有効,BREQ/PRGビットを無効,CMDNKビットを無効とする請求項記載の外部接続機器。
  8. 上記コントローラは、上記動作制御コマンドの実行が正常に行われ、且つ、上記ホスト機器から当該外部接続機器へのアクセスを受け付けるときには、CEDビットを無効,ERRビットを無効,BREQ/PRGビットを有効,CMDNKビットを無効とする請求項記載の外部接続機器。
  9. 上記コントローラは、上記動作制御コマンドの実行にエラーが生じており、且つ、上記ホスト機器から当該外部接続機器へのアクセスを受け付けるときには、CEDビットを無効,ERRビットを有効,BREQ/PRGビットを有効,CMDNKビットを無効とする請求項記載の外部接続機器。
  10. 上記コントローラは、上記動作制御コマンドの実行中であるときには、CEDビットを無効,ERRビットを無効,BREQ/PRGビットを無効,CMDNKビットを無効とする請求項記載の外部接続機器。
  11. 上記コントローラは、上記動作制御コマンドの実行が不可能であるときには、CEDビットを有効,ERRビットを無効,BREQ/PRGビットを無効,CMDNKビットを有効とする請求項記載の外部接続機器。
  12. バスステート信号とデータ信号とクロック信号をパラレルに転送するバスを介して外部接続機器が接続されるホスト機器において、
    上記外部接続機器との間で上記バスのデータバスを介してデータ信号の双方向通信を行うデータ通信手段と、
    上記バスのステートを示すバスステート信号を上記外部接続機器へ送信するバスステート信号送信手段と、
    上記外部接続機器の動作制御をする制御コマンドを上記データ信号に含めて発行するコントローラとを備え、
    上記データ通信手段は、上記バスステート信号のステートが上記外部接続機器から当該ホスト機器への割り込みを受け付けるステートとされているときに、当該ホスト機器から上記外部接続機器へ与えられた動作制御コマンドに基づき発生する割り込み要因の内容を割り込み要因毎に示す情報を各ビットに割り当てたパラレルデータを、データバスを介して上記外部接続機器から受信するホスト機器。
  13. 上記データ通信手段は、割り込み要因の内容を割り込み要因毎に示す情報として、当該ホスト機器から上記コントローラへ与えられた動作制御コマンドに基づき動作制御したときの当該ホスト機器の動作状態を示す動作状態情報を各ビットに割り当てたパラレルデータを、上記データバスを介して上記外部接続機器から受信する請求項12記載のホスト機器。
  14. 上記動作状態情報には、上記動作制御コマンドの実行が終了した動作状態を示す1ビットの情報であるCEDビットと、上記動作制御コマンドの実行がエラーとなった動作状態を示す1ビットの情報であるERRビットと、上記動作制御コマンドを実行した結果当該ホスト機器から上記外部接続機器へのアクセスを受け付ける動作状態を示す1ビットの情報であるBREQ / PRGビットと、上記動作制御コマンドの実行が不可能である動作状態を示す1ビットの情報であるCMDNKビットとが含まれている請求項13記載のホスト機器。
  15. 上記バスは、少なくとも4ビットのパラレルデータを伝送し、
    上記データ通信手段は、上記CEDビット、上記ERRビット、上記BREQ/PRGビット及び上記CMDNKビットを、4ビットのパラレルデータとして上記データバスを介して上記外部接続機器から受信する請求項14記載のホスト機器。
  16. 上記データ通信手段は、当該ホスト機器から上記外部接続機器へ与える上記バスの伝送クロックと非同期に、上記CEDビット、上記ERRビット、上記BREQ/PRGビット及び上記CMDNKビットを受信する請求項15記載のホスト機器。
  17. 上記コントローラは、CEDビットが有効,ERRビットが無効,BREQ/PRGビットが無効,CMDNKビットが無効であるときには、上記動作制御コマンドの実行が正常に終了したと判断する請求項15記載のホスト機器。
  18. 上記コントローラは、CEDビットが有効,ERRビットが有効,BREQ/PRGビットが無効,CMDNKビットが無効であるときには、上記動作制御コマンドの実行にエラーが発生したと判断する請求項15記載のホスト機器。
  19. 上記コントローラは、CEDビットが無効,ERRビットが無効,BREQ/PRGビットが有効,CMDNKビットが無効であるときには、上記動作制御コマンドの実行が正常に行われ、且つ、当該ホスト機器から上記外部接続機器へのアクセスを受け付けていると判断する請求項15記載のホスト機器。
  20. 上記コントローラは、CEDビットが無効,ERRビットが有効,BREQ/PRGビットが有効,CMDNKビットが無効であるときには、上記動作制御コマンドの実行にエラーが生じており、且つ、当該ホスト機器から上記外部接続機器へのアクセスを受け付けていると判断する請求項15記載のホスト機器。
  21. 上記コントローラは、CEDビットが無効,ERRビットが無効,BREQ/PRGビットが無効,CMDNKビットが無効であるときには、上記動作制御コマンドの実行中であるときと判断する請求項15記載のホスト機器。
  22. 上記コントローラは、CEDビットが有効,ERRビットが無効,BREQ/PRGビットが無効,CMDNKビットが有効であるときには、上記動作制御コマンドの実行が不可能であると判断する請求項15記載のホスト機器。
  23. バスステート信号とデータ信号とクロック信号をパラレルに転送するバスを介してホスト機器と外部接続機器との間で双方向通信を行う通信方法であって、
    上記ホスト機器から送信されるバスステート信号を上記外部接続機器において受信するステップと、
    上記外部接続機器において受信した上記バスステート信号のステートが上記外部接続機器から上記ホスト機器への割り込みを受け付けるステートとされているときに、上記ホスト機器から上記外部接続機器へ与えられた動作制御コマンドに基づき発生する割り込み要因の内容を割り込み要因毎に示す情報を各ビットに割り当てたパラレルデータを、上記外部接続機器から上記ホスト機器へ送信するステップとから構成される通信方法。
JP2002045252A 2002-02-21 2002-02-21 外部接続機器及びホスト機器 Expired - Fee Related JP4178809B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2002045252A JP4178809B2 (ja) 2002-02-21 2002-02-21 外部接続機器及びホスト機器
DE60317771T DE60317771T2 (de) 2002-02-21 2003-02-19 Externe verbindungseinrichtung, host-einrichtung und datenkommunikationssystem
US10/474,915 US7051128B2 (en) 2002-02-21 2003-02-19 System and method for data bus communication system between external card connection device and host device
EP03706966A EP1477902B1 (en) 2002-02-21 2003-02-19 External connection device, host device, and data communication system
KR1020037013463A KR100987205B1 (ko) 2002-02-21 2003-02-19 외부 접속 기기, 호스트 기기 및 데이터 통신 시스템
CNB038001640A CN1297915C (zh) 2002-02-21 2003-02-19 外部连接设备、主设备及数据通信***
PCT/JP2003/001800 WO2003071437A1 (fr) 2002-02-21 2003-02-19 Dispositif de connexion externe, dispositif hote et systeme de communication de donnees
US11/361,897 US7318113B2 (en) 2002-02-21 2006-02-24 System and method communication system for reading or writing data to register between external card connection device and host device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002045252A JP4178809B2 (ja) 2002-02-21 2002-02-21 外部接続機器及びホスト機器

Publications (3)

Publication Number Publication Date
JP2003241908A JP2003241908A (ja) 2003-08-29
JP2003241908A5 JP2003241908A5 (ja) 2005-06-16
JP4178809B2 true JP4178809B2 (ja) 2008-11-12

Family

ID=27750574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002045252A Expired - Fee Related JP4178809B2 (ja) 2002-02-21 2002-02-21 外部接続機器及びホスト機器

Country Status (7)

Country Link
US (2) US7051128B2 (ja)
EP (1) EP1477902B1 (ja)
JP (1) JP4178809B2 (ja)
KR (1) KR100987205B1 (ja)
CN (1) CN1297915C (ja)
DE (1) DE60317771T2 (ja)
WO (1) WO2003071437A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005222201A (ja) * 2004-02-04 2005-08-18 Matsushita Electric Ind Co Ltd メモリアクセス装置、及び半導体メモリカード
WO2005081891A2 (en) 2004-02-23 2005-09-09 Lexar Media, Inc. Secure compact flash
US7664902B1 (en) * 2004-03-16 2010-02-16 Super Talent Electronics, Inc. Extended SD and microSD hosts and devices with USB-like high performance packetized interface and protocol
KR100909364B1 (ko) 2007-02-06 2009-07-24 삼성전자주식회사 시스템 클록의 노출을 차단하는 메모리 컨트롤러와 그 방법
US7870305B2 (en) * 2007-03-09 2011-01-11 Microsoft Corporation Proxy association for devices
US8064205B2 (en) * 2008-05-19 2011-11-22 Dell Products, Lp Storage devices including different sets of contacts
US20100030962A1 (en) * 2008-08-04 2010-02-04 Sherif Sirageldin Storage facility for data handling devices
TW201145034A (en) * 2010-06-01 2011-12-16 Etron Technology Inc System of realizing multi-port storages based on a UASP protocol of a USB specification version 3.0 and method thereof
JP5673949B2 (ja) * 2011-03-18 2015-02-18 大日本印刷株式会社 内部状態に応じたフォーマット処理を実行できる半導体記憶装置及び半導体記憶装置のフォーマット処理方法
JP5694101B2 (ja) * 2011-09-20 2015-04-01 株式会社東芝 メモリ・デバイス、ホスト・デバイス
USD758372S1 (en) * 2013-03-13 2016-06-07 Nagrastar Llc Smart card interface
USD729808S1 (en) 2013-03-13 2015-05-19 Nagrastar Llc Smart card interface
US9888283B2 (en) 2013-03-13 2018-02-06 Nagrastar Llc Systems and methods for performing transport I/O
USD759022S1 (en) 2013-03-13 2016-06-14 Nagrastar Llc Smart card interface
US9647997B2 (en) 2013-03-13 2017-05-09 Nagrastar, Llc USB interface for performing transport I/O
USD780763S1 (en) 2015-03-20 2017-03-07 Nagrastar Llc Smart card interface
USD864968S1 (en) 2015-04-30 2019-10-29 Echostar Technologies L.L.C. Smart card interface

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5416945A (en) * 1977-07-08 1979-02-07 Nippon Telegr & Teleph Corp <Ntt> Signal transmission system
JPS5614329A (en) * 1979-07-16 1981-02-12 Nec Corp Data processing system
US5805844A (en) * 1996-10-07 1998-09-08 Gustin; Jay W. Control circuit for an interface between a PCI bus and a module bus
JPH117505A (ja) * 1997-06-17 1999-01-12 Fujitsu Ltd カード型記憶媒体
IT1308343B1 (it) * 1999-02-03 2001-12-11 St Microelectronics Srl Procedimento per arbitrare priorita' di interruzione tra periferichein un sistema basato su microprocessore
US6618789B1 (en) * 1999-04-07 2003-09-09 Sony Corporation Security memory card compatible with secure and non-secure data processing systems
JP2001265714A (ja) * 2000-01-13 2001-09-28 Sony Computer Entertainment Inc インターフェイス装置及びそれを備えた情報処理システム
JP2001202254A (ja) * 2000-01-21 2001-07-27 Yaskawa Electric Corp マイクロプロセッサシステム

Also Published As

Publication number Publication date
CN1297915C (zh) 2007-01-31
US7318113B2 (en) 2008-01-08
EP1477902B1 (en) 2007-11-28
JP2003241908A (ja) 2003-08-29
DE60317771T2 (de) 2008-12-04
US20060143312A1 (en) 2006-06-29
KR100987205B1 (ko) 2010-10-12
EP1477902A4 (en) 2006-09-06
CN1507590A (zh) 2004-06-23
KR20040086502A (ko) 2004-10-11
EP1477902A1 (en) 2004-11-17
WO2003071437A1 (fr) 2003-08-28
US20040172488A1 (en) 2004-09-02
US7051128B2 (en) 2006-05-23
DE60317771D1 (de) 2008-01-10

Similar Documents

Publication Publication Date Title
KR100986884B1 (ko) 외부 접속 기기, 호스트 기기 및 데이터 통신 시스템
JP4178809B2 (ja) 外部接続機器及びホスト機器
US7318117B2 (en) Managing flash memory including recycling obsolete sectors
TWI475385B (zh) 程式化記憶胞與資料讀取方法、記憶體控制器與儲存裝置
US7177975B2 (en) Card system with erase tagging hierarchy and group based write protection
TW201118877A (en) Flash memory device, data storage system, and operation method of a data storage system
TWI451248B (zh) 資料保護方法、記憶體控制器與記憶體儲存裝置
US20030009607A1 (en) Method and system for programming a peripheral flash memory via an ide bus
KR20030039598A (ko) 유에스비기반의 이동형 저장장치 및 그 제어방법
US20080046608A1 (en) Low-Power Extended USB Flash Device Without Polling
TWI472927B (zh) 資料串分派與傳送方法、記憶體控制器與記憶體儲存裝置
TW201329712A (zh) 資料處理方法、記憶體控制器與記憶體儲存裝置
TWI430104B (zh) 資料串分派與傳送方法、記憶體控制器與記憶體儲存裝置
TWI521345B (zh) 回應讀取方法及資料傳輸系統
EP2245527B1 (en) Integration of secure data transfer applications for generic io devices
CN101443739B (zh) 数据存储装置及其初始化方法
CN103116470A (zh) 存储器储存装置、存储器控制器及数据串传送与识别方法
TWI705330B (zh) 資料儲存裝置以及參數改寫方法
CN113010450A (zh) 一种存储碎片整理的方法及装置
JP2005100446A (ja) 情報伝送システム及び情報伝送方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040916

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080623

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080805

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080818

R151 Written notification of patent or utility model registration

Ref document number: 4178809

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130905

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees