説明

メモリカード

【課題】セキュアトークンの処理期間を示すビジー信号やライトエラー信号をデータ端子上に出力可能とし、ホスト及びメモリカードのCPUの負担を軽減するとともに、これらの消費電力を低減することが可能なメモリカードを提供する。
【解決手段】 制御部7は、不揮発性メモリ2を制御する。複数のデータ端子DAT0〜3、及びコマンド端子CMDは、ホスト10に接続され、ホストとデータ、及びコマンドを授受する。バッファメモリは、データを一次的に記憶する。制御部7は、転送ブロック数が定義されたブロックライトコマンドオペレーションによるバッファメモリのフル状態を、ライトビジー期間を示すライトビジー信号として複数のデータ端子の第1のデータ端子に出力し、ブロックライトコマンドにより発行されたトークンを受け、ライトビジー期間を示すライトビジー信号をトークン処理の終了時まで第1のデータ端子に出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えばNAND型フラッシュメモリのような不揮発性メモリを有するメモリカードに係り、特にホストとのインタフェースに関する。
【背景技術】
【0002】
例えばSDTMメモリカードのコマンドは、コマンドモードをスイッチして未定義のコマンドコードに新たなコマンドを拡張して定義できる。例えばこの拡張されたコマンドモードとして、Mobile Commerce Extension規格にセキュアトークンを運ぶリード/ライトコマンドが定義されている。
【0003】
拡張定義されたコマンドとしてのブロックライトオペレーションコマンド(CMD35)において、SDメモリカードはバッファメモリが満杯となったことを示すフル状態をビジー信号としてホストとの間に接続された信号線(以下、インタフェース信号線と称す)上に出力できる。しかし、拡張コマンドにより運ばれたセキュアトークンの認証処理期間を示すビジー信号は、インタフェース信号線上に出力することができない。したがって、ホストはセキュアトークンの処理終了を知るため、セキュアトークンのステータスリード(CMD36)を繰り返す必要がある。
【0004】
また、転送ブロック数を引数(argument)に定義していないブロックライトオペレーション(CMD25)は、ブロックの転送終了時に、ストップコマンド(CMD12)を発行し、ライトオペレーションを停止する。ホストは、バッファメモリがフル状態であるビジー期間に、ストップコマンドを発行することができる。また、SDメモリカードは、ストップコマンドの後に、NAND型フラッシュメモリ(以下、NANDメモリと称す)に対するライト処理期間を示すビジー信号を、バッファメモリがフル状態であるビジー信号に続けてインタフェース信号線上に出力できる。しかしながら、SDメモリカードは、NANDメモリへのライト処理においてエラーが発生した場合、エラーステータスを示すライトエラー信号をインタフェース信号線上に出力することができない。したがって、ホストはデータが正常にNANDメモリへ書き込まれたかどうかを知るため、ブロックライトオペレーションのステータスリード(CMD13)を発行しなければならない。
【0005】
このように、現状のSDメモリカード規格(例えば非特許文献1参照)において、セキュアトークンの処理期間を示すビジー信号をインタフェース信号線上に出力することができないため、以下のような問題が生じている。
【0006】
セキュアトークンは、相互認証処理におけるチャレンジとレスポンスを繰り返すため、その署名検証、署名生成処理等に非常に長い時間のビジー待ちが発生する場合が多い。上記ステータスリードは、ホストCPUにおいて、ソフトウェアのループになる。このため、ポーリングによるCPUの負荷が増大するとともに、消費電力が増加する。
【0007】
また、SDメモリカードにおいて、インタフェース部のI/Oバッファトランジスタが長時間動作するため、消費電力が増大する。
【0008】
さらに、現状のSDメモリカード規格において、転送ブロック数を引数に定義していないブロックライトオペレーションにおいて、NANDメモリへのライト処理結果としてライトエラー信号をインタフェース信号線上に出力することができない。このため、ホストは、NANDメモリに対するマルチブロックデータライトオペレーションの度にライト結果のステータスリードオペレーションを行わなければならない。したがって、データライトのスループットが低下し、ホストのCPUの負荷が増大する一因となっている。
【非特許文献1】SD Specifications Part 1, Physical Layer Simplified Specification Version 2.0, September 25, 2006, SD Group (Matsushita Electric Industrial Co., Ltd. (Panasonic), SanDisk Corporation, Toshiba Corporation) Technical Committee SD Card Association.
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、セキュアトークンの処理期間を示すビジー信号やライトエラー信号をデータ端子上に出力可能とし、ホストCPUの負担を軽減するとともに、ホスト及びメモリカードの消費電力を低減することが可能なメモリカードを提供しようとするものである。
【課題を解決するための手段】
【0010】
本発明のメモリカードの第1の態様は、不揮発性メモリと、前記不揮発性メモリを制御する制御部と、ホストに接続され、ホストとデータ、及びコマンドを授受する複数のデータ端子、コマンド端子と、前記データを一次的に記憶するバッファメモリとを具備し、前記制御部は、転送ブロック数が定義されたブロックライトコマンドオペレーションによる前記バッファメモリのフル状態を、ライトビジー期間を示すライトビジー信号として前記複数のデータ端子の第1のデータ端子に出力し、前記ブロックライトコマンドにより発行されたトークンを受け、前記ライトビジー期間を示すライトビジー信号をトークン処理の終了時まで前記第1のデータ端子に出力することを特徴とする。
【0011】
本発明のメモリカードの第2の態様は、不揮発性メモリと、前記不揮発性メモリを制御する制御部と、ホストに接続され、ホストとデータ、及びコマンドを授受する複数のデータ端子、コマンド端子と、前記データを一次的に記憶するバッファメモリとを具備し、前記制御部は、転送ブロック数が定義されたブロックライトコマンドオペレーションによる前記バッファメモリのフル状態を、ライトビジー期間を示すライトビジー信号として前記複数のデータ端子うち第1のデータ線に出力し、前記ブロックライトコマンドにより発行されたトークンを受け、前記トークン処理期間を示すビジー信号を前記複数のデータ端子のうち第2のデータ端子に出力することを特徴とする。
【0012】
本発明のメモリカードの第3の態様は、不揮発性メモリと、前記不揮発性メモリを制御する制御部と、ホストに接続され、ホストとデータ、及びコマンドを授受する複数のデータ端子、コマンド端子と、前記データを一次的に記憶するバッファメモリとを具備し、前記制御部は、転送ブロック数が定義されたブロックライトコマンドオペレーションによる前記バッファメモリのフル状態を、ライトビジー期間を示すライトビジー信号として前記複数のデータ端子のうち第1のデータ端子に出力し、前記ブロックライトコマンドにより発行されたトークンを受け、前記ライトビジー期間を示すライトビジー信号をトークン処理の終了時まで前記第1のデータ端子に出力し、前記トークン処理期間を示すビジー信号を前記複数のデータ端子のうち第2のデータ端子に出力することを特徴とする。
【0013】
本発明のメモリカードの第4の態様は、不揮発性メモリと、前記不揮発性メモリを制御する制御部と、ホストに接続され、ホストとデータ、及びコマンドを授受する複数のデータ端子、コマンド端子と、前記データを一次的に記憶するバッファメモリとを具備し、前記制御部は、転送ブロック数が定義されていないブロックライトコマンドオペレーションにおいて、ストップコマンド後にライトエラーステータスを示すライトエラー信号として前記複数のデータ端子のうち第1のデータ端子へ出力することを特徴とする。
【発明の効果】
【0014】
本発明によれば、セキュアトークンの処理期間を示すビジー信号やライトエラー信号をデータ端子上に出力可能とし、ホストCPUの負担を軽減するとともに、ホスト及びメモリカードの消費電力を低減することが可能なメモリカードを提供できる。
【発明を実施するための最良の形態】
【0015】
以下、本発明の実施の形態について、図面を参照して説明する。
【0016】
図1は、ホストとメモリカードのインタフェース接続を模式的に示している。
【0017】
SDメモリカード1と、ホストデバイス(以下、ホストと称す)10は、複数のインタフェース信号線11により接続されている。インタフェース信号線11は、4本のデータ信号線DAT0、DAT1、DAT2、DAT3、コマンド信号線CMD及びクロック信号線CLKにより構成されている。データ信号線DAT0、DAT1、DAT2、DAT3、及びコマンド信号線CMDは双方向であり、ハイ・インピーダンス状態がある。このため、データ信号線DAT0、DAT1、DAT2、DAT3とコマンド信号線CMDは複数のプルアップ抵抗12により電源に接続されている。
【0018】
尚、SDメモリカード1はホスト10に接続端子を介して接続されている。即ち、データ信号線DAT0、DAT1、DAT2、DAT3、コマンド信号線CMD、及びクロック信号線CLKは、それぞれSDメモリカード及びホストのデータ端子、コマンド端子、クロック端子に接続されている。
【0019】
ホスト10は、SDメモリカード1をアクセスするためのハードウェア及びソフトウェア(システム)を備えている。このホスト10は、SDメモリカード1に対して、データリード、データライト、データ消去等のアクセスを行う。
【0020】
SDメモリカード1は、ホスト10に接続されたとき、電源が供給されて動作し、ホスト10からのアクセスに応じた処理を行う。例えばデータリード、データライト、データ消去等のアクセスでは、物理アドレスと論理アドレスのマッピング、ECCエラー訂正、NANDメモリへのアクセス、といった処理を行う。
【0021】
図2は、各実施形態が適用されるSDメモリカード1の一例を示している。このSDメモリカード1は、NANDメモリ(NAND型フラッシュメモリ)2及びコントローラ3を有している。コントローラ3は、メモリインタフェース部4、ホストインタフェース部5、バッファメモリ6、CPU7、ROM(Read Only Memory)8、及びRAM(Random Access Memory)9を有している。
【0022】
メモリインタフェース部4は、コントローラ3とNANDメモリ2との間のインタフェース処理を行う。ホストインタフェース部5は、コントローラ3とホスト10との間のインタフェース処理を行う。
【0023】
バッファメモリ6は、ホスト10から送られてくるデータをNANDメモリ2へ書き込む際、一定量(例えば1ページ分)のデータを一時的に記憶したり、NANDメモリ2から読み出されるデータをホスト10へ送り出す際に、一定量のデータを一時的に記憶したりする。
【0024】
CPU7は、メモリカード1全体の動作を司るものである。このCPU7は、例えばSDメモリカード1に電源が供給された場合、ROM8に格納されているファームウェア(制御プログラム)に従って処理を開始する。即ち、CPU7は、処理に必要な各種テーブル(管理データ)をRAM9上に作成したり、ホスト10からのライトコマンド、リードコマンド、消去コマンドを受けてNANDメモリ2上の該当領域をアクセスしたり、NANDメモリ2をアクセスするにあたってホストからの論理アドレスと物理アドレスとを変換したり、バッファメモリ6を通じてデータ転送処理を制御したりする。
【0025】
ROM8は、CPU7により使用される制御プログラムなどを格納するメモリである。RAM9は、CPU7の作業エリアとして使用され、各種のテーブル等を記憶する揮発性メモリである。
【0026】
図3は、本発明のAPDU転送タイミングを示す図である。
【0027】
Mobile Commerce Extension規格で使用するセキュアトークンは、ISO/IEC7816で定義されたAPDU(Application Protocol Data Unit)25でカプセル化される。APDUのヘッダにはSTL(Secure Token Length)フィールドがあり、このSTLフィールドによりAPDU25の長さを示している。
【0028】
APDU25は、拡張定義されたマルチブロックライトコマンド(CMD35)21のデータブロック23でホスト10から転送される。このマルチブロックライトコマンド21に対して、SDメモリカード1は、レスポンス22を返し、バッファメモリ6のビジー状態を示すビジー信号24を出力する。
【0029】
APDU処理期間26は、SDメモリカード1がセキュアトークンの認証処理等を実行する時間を示している。
【0030】
各実施形態において、SDメモリカード1は、APDU処理期間26を示すビジー信号38をインタフェース信号線に出力する。上記ビジー信号38の出力機能を以下の実施形態において説明する。
【0031】
(第1の実施形態)
図4は、第1の実施形態を示すものであり、図1、図2に示すホスト10とSDメモリカード1のインタフェースをとるホストインタフェース部5の構成を示している。図4において、図1、図2と同一部分には同一符号を付す。
【0032】
図4に示すホストインタフェース部5において、インタフェース信号線11のうち、データ信号線DAT0〜DAT3は、図示せぬ複数のトランジスタにより構成された入力バッファ31をそれぞれ介して図2に示すバッファメモリ6に接続されている。
【0033】
ステータスレジスタ(SR)37は、バッファメモリ6のビジー状態を示すビジー信号、及びNANDメモリ2への書き込み(ライト)処理状態を示すライトビジー信号、APDUでカプセル化されたセキュアトークンの処理ステータス(APDUビジー信号)等を保持する。
【0034】
ライトビジーレジスタ(WBR)36は、ステータスレジスタ37に保持されたNANDメモリ2にデータが書き込まれていることを示すライトビジー信号のコピーを保持している。
【0035】
論理回路34は、ライトビジーレジスタ36の出力信号とステータスレジスタ37から出力されるAPDUビジー信号38の一方を選択して出力する。
【0036】
論理回路35は、ステータスレジスタ37の出力信号とバッファメモリ6の出力データのうちの一方を選択して出力する。すなわち、ステータスリードの場合、ステータスレジスタ37の出力信号が選択され、データリードの場合、バッファメモリ6の出力データが選択される。
【0037】
論理回路35の出力信号のうち1つは、前記論理回路34の出力信号とともに、論理回路33に供給される。この論理回路33の出力信号及び論理回路35の残りの出力信号は、例えばトライステートバッファにより構成された出力バッファ32を介してデータ信号線DAT0〜DAT3のそれぞれに供給される。
【0038】
上記構成において、ホスト10から供給される書き込み(ライト)データは、入力バッファ31を通ってバッファメモリ6へ書き込まれる。バッファメモリ6がフル状態になった時、あるいはストップコマンド(CMD12)の発行によるNANDメモリ2へのライト処理中に、ライトビジーレジスタ36からビジー信号が出力される。このビジー信号は、論理回路34、33を通って、出力バッファ32の1つに供給され、この出力バッファ32からインタフェース信号線11のデータ信号線DAT0に出力される。
【0039】
また、第1の実施形態は、次の機能を有している。
【0040】
APDUでカプセル化されたセキュアトークンの処理ステータス(ビジーステータス)はステータスレジスタ37に保持されている。このステータスレジスタ37から出力されるAPDU処理期間を示すビジー信号38及びライトビジーレジスタ36から出力されるビジー信号は論理回路34に供給される。この論理回路34は、ビジー信号を延長する機能を有しており、ライトビジー信号がAPDUビジー信号38分延長される。延長されたビジー信号は、出力バッファ32からデータ信号線DAT0に出力される。
【0041】
図5は、第1の実施形態に係るAPDUビジー信号38の出力タイミングを示している。バッファメモリ6のビジー信号24に続けて、APDU処理期間26を示すAPDUビジー信号38がデータ信号線DAT0に出力される。
【0042】
論理回路34は、バッファメモリ6のビジー信号24が終了とAPDU処理期間26を示すAPDUビジー信号38を切れ目なく出力する。すなわち、データ信号線DAT0のレベル31は、バッファメモリ6のビジー信号24の発生に応じてハイレベルからローレベルとなり、バッファメモリ6のビジー信号24が解除された際、データ信号線DAT0のレベルをローレベルのまま、APDU処理期間26を示すAPDUビジー信号38に応じてローレベルとする必要がある。すなわち、図5に示すように、データ信号線DAT0のレベルが、バッファメモリ6のビジー信号24が解除された際、破線で示すように、一時的にハイレベルとならないようにする必要がある。このため、論理回路34は、例えばセットリセット型ラッチ回路を含んでいる。このラッチ回路はバッファメモリ6のビジー信号24の発生に応じてセットされ、APDU処理期間26を示すAPDUビジー信号38の終了に応じてリセットされる。
【0043】
尚、この論理回路34の実装は、これに限定されるものではなく、例えばCPU7によって、入力が選択的に切り替えられるセレクタ回路によっても構成できる。また、論理回路33,35も論理回路34と同様に、例えばセレクタ回路によって構成できる。
【0044】
上記第1の実施形態によれば、拡張定義したブロックライトコマンドによりAPDUでカプセル化したセキュアトークンの発行に対して、バッファメモリ6がフル状態であることを示すビジー信号24を、APDU処理期間を示すビジー信号38の終了まで延長し、この延長されたビジー信号をデータ信号線DAT0に出力している。このため、ホスト10は、従来のように、APDU処理期間中、ステータスリードのためのポーリングを行う必要がなく、APDU処理期間が終了したとき、すなわち、ビジー信号38の非アクティブに応じて通常の割込み処理を行うだけで済む。したがって、ステータスリードのためのポーリングによるCPUの負荷増大を抑制することができ、消費電力を低減できる。
【0045】
また、ポーリングの必要がないため、SDメモリカード1において、ホストインタフェース部5の入力バッファや、出力バッファのポーリング期間分の消費電力の削減することができる。
【0046】
さらに、従来の機能を有するホストのファームウェアに対しても、ポーリングを繰り返す必要がなく、APDU処理期間が終了した際、1回ポーリングを行うだけでよい。このため、従来の機能を有するホストにおいても、上記と同等の効果を得ることができる。
【0047】
(第2の実施形態)
図6は、第2の実施形態に係るSDメモリカードのホストインタフェース部5の構成を示している。図6において、図4と同一部分には同一符号を付す。
【0048】
第1の実施形態は、拡張定義したブロックライトコマンドによりAPDUでカプセル化したセキュアトークンの発行に対して、バッファメモリ6がフル状態であることを示すビジー信号24を、APDU処理期間を示すビジー信号38の終了まで延長し、この延長されたビジー信号をデータ信号線DAT0に出力した。
【0049】
これに対して、第2の実施形態は、バッファメモリ6がフル状態であることを示すビジー信号24をデータ信号線DAT0に出力し、APDU処理期間を示すビジー信号38、あるいは通常のブロックライトオペレーションにおいて、強制的に書き込みをストップさせたときのライトエラーステータスとしての例えばエラー信号をデータ信号線DAT0以外の例えばデータ信号線DAT1に出力するものである。
【0050】
また、第2の実施形態において、データ信号線DAT1にビジー信号38やエラー信号を出力する機能は、ホスト10により、使用又は不使用が設定可能とされている。
【0051】
図6において、ステータスレジスタ37に保持されたAPDUビジー信号38及びNANDメモリ2のライトエラーステータスとしてのライトエラー信号41は、論理回路42に供給される。ビジーエラー出力能力レジスタ(BEOR)43は、APDUビジー信号とライトエラー信号をデータ信号線DAT1に出力するか、しないかを設定するデータを保持している。このビジーエラー出力能力レジスタ43は、例えば図示せぬSDカードコンフィグレーションレジスタ(SCR)にマッピングされている。
【0052】
このビジーエラー出力能力レジスタ43のリセット後、又はSDメモリカード初期化後の値は、ディスエーブルとされている。また、ビジーエラー出力能力レジスタ(BEOR)43をイネーブルとする場合、SDメモリカードのイニシャライズ時に、例えばレジスタライトコマンドを用いてビジーエラー出力能力レジスタ(BEOR)43に所定のデータが書き込まれる。
【0053】
ステータスレジスタ37に保持されたAPDUビジー信号38及びライトエラー信号41は、論理回路42に供給される。論理回路42はAPDUビジー信号38とライトエラー信号41の一方を選択する。論理回路42の出力信号とビジーエラー出力能力レジスタ43から出力されるビジーエラー出力イネーブル信号は、論理回路44に供給される。この論理回路44は、ビジーエラー出力イネーブル信号が真の時、論理回路42の出力信号を出力するゲート回路である。この論理回路44の出力信号は、前記論理回路35から出力されるデータ信号の1つとともに論理回路45に供給される。この論理回路45は、論理回路44の出力信号と論理回路35から出力される1つのデータ信号の一方を選択する。この論理回路45の出力端は、出力バッファ32を介してデータ信号線DAT1に接続されている。これら論理回路42,44,45は、例えばセレクタ回路によって構成できる。
【0054】
尚、ビジーエラー出力能力レジスタ43は、APDUビジー出力能力ビットとライトエラー出力能力ビットを独立にする実装形態もある。この場合は(図示していないが)、APDUビジー出力能力ビット出力はAPDUビジー信号38をゲート(論理回路44に相当)し、ライトエラー出力能力ビット出力はライトエラー信号41をゲート(論理回路44に相当)することになる。これらの出力は論理回路42の入力となり、どちらか一方が選択され、論理回路42の出力は論理回路45の入力となる。
【0055】
次に、図7に示すタイミング図を参照して第2の実施形態の動作について説明する。
【0056】
第1の実施形態と同様に、ホスト10からのライトデータは、入力バッファ31を通ってバッファメモリ6へ書き込まれる。バッファメモリ6がフル状態となった時、あるいはストップコマンド(CMD12)の発行によるNANDメモリ2へのライト処理中に、ライトビジーレジスタ36からビジー信号24が出力される。このビジー信号24は、論理回路33、及び出力バッファ32を通ってデータ信号線DAT0に供給される。
【0057】
なお、ライトビジーレジスタ36は、ステータスレジスタ37内に保持されたバッファメモリ6のビジーステータスを示すビジー信号及びNANDメモリ2へのライト処理ビジーステータスを示すビジー信号がコピーされている。
【0058】
また、図示せぬステータスリードコマンド(CMD36,CMD13)によりステータスレジスタ37からリードされたステータスデータは、論理回路35を通り、出力バッファ32からデータ信号線DAT0〜DAT3に出力される。この際、データ信号線DAT0から出力されるステータスデータは、論理回路45を介して出力バッファ32に供給される。
【0059】
一方、APDUでカプセル化されたセキュアトークンの処理ステータス(ビジーステータス)はステータスレジスタ37に保持されている。ステータスレジスタ37からAPDU処理期間を示すビジー信号38が出力される。
【0060】
また、転送ブロック数を引数に定義していないブロックライトコマンド(CMD25)の場合、前述したように、ブロックの転送終了時に、ストップコマンド(CMD12)によりライトオペレーションを停止する。ストップコマンドによるNANDメモリ2のライト処理ステータスもステータスレジスタ37に保持されている。このステータスレジスタ37からライトエラー信号41が出力される。
【0061】
ビジーエラー出力能力レジスタ43がオン状態(イネーブル)にセットされている場合、論理回路44は、論理回路42で選択されたAPDUビジー信号38又はライトエラー信号41を出力する。この論理回路44の出力信号は、論理回路45及び出力バッファ32を通り、データ信号線DAT1に供給される。このため、図7に示すように、データ信号線DAT1は、APDUビジー信号38が選択されている場合、APDUビジー信号38に対応してローレベルとなり、ホスト10は、データ信号線DAT1の信号レベルからSDメモリカード1がAPDU処理状態であることを知ることができる。
【0062】
図7に示すように、第2の実施形態は、データ信号線DAT0にバッファメモリ6のビジー信号24が出力され、これに続いて、データ信号線DAT1にAPDU処理期間26を示すビジー信号30が出力される。すなわち、バッファメモリ6のビジー信号24は、第1の実施形態と同様にデータ信号線DAT0に出力されるのに対して、APDU処理期間26を示すビジー信号30は、データ信号線DAT1に出力される。
【0063】
図8は、転送ブロック数を引数に定義していないブロックライトコマンド(CMD25)が発行された場合において、前述したエラーステータスの出力タイミングを示す図である。このタイミング図は、第2の実施形態及び後述する第3の実施形態に共通である。
【0064】
図8に示すように、バッファメモリ4のビジー信号24に続いて、ホスト10によりストップコマンド(CMD12)が発行されると、ライトビジーレジスタ36は、NANDメモリ2のライトビジー信号51を出力する。このライトビジー信号51は、論理回路33、出力バッファ32を通ってデータ信号線DAT0に出力される。すなわち、バッファメモリ4のビジー信号24に続くストップコマンド(CMD12)の後、ビジー信号24がライトビジー信号51の終了まで延長され、この間、データ信号線DAT0がアクティブ状態(ローレベル)に保持される。
【0065】
NANDメモリ2のライト処理ステータスであるライトエラー信号41は、延長されたビジー信号が非アクティブ(ローレベルからハイレベル)になる前に出力される。このライトエラー信号41の出力タイミングは、延長されたビジー信号がローレベルからハイレベルとなる例えば2クロック前に出力される。このように設定することにより、ホストは、延長されたビジー信号の立ち上がり(ローレベルからハイレベル)のタイミングでライトエラー信号41を確実に取り込むことができる。
【0066】
ライトエラー信号41は、論理回路42、44、45、出力バッファ32を通ってデータ信号線DAT1に出力される。
【0067】
なお、ストップコマンド(CMD12)はビジー信号24の期間に発行され、そのレスポンス(RSP)がSDメモリカード1からホスト10に返される。
【0068】
上記第2の実施形態によれば、バッファメモリ6のビジー信号をデータ信号線DAT0に出力し、拡張定義したブロックライトコマンドによりAPDUでカプセル化したセキュアトークンを発行において、APDUビジー信号をデータ信号線DAT0とは別のデータ信号線DAT1に出力している。このため、ホスト10は、セキュアトークンの処理ステータスのリードコマンド発行を繰り返す必要がなく、データ信号線DAT1のビジー信号が非アクティブを示すハイレベルとなったとき、割込み処理を行うだけになる。したがって、ポーリングを繰り返す必要がないため、CPUの負担を軽減できるとともに、消費電力を低減できる。さらに、ホストインタフェース部5の入力バッファ31、出力バッファ32を構成するトランジスタの消費電力を削減することも可能である。
【0069】
また、バッファメモリ6のビジー信号とAPDU処理のビジー信号は独立に出力されるため、ホスト10において、これらの割込みイベント処理を独立にプログラムできる利点がある。
【0070】
さらに、転送ブロック数を引数に定義していないブロックライトオペレーションにおいて、バッファメモリ4のビジー信号24に続くストップコマンド(CMD12)の後、ビジー信号24がライトビジー信号51の終了まで延長され、この間、データ信号線DAT0がアクティブ状態(ローレベル)に保持される。また、NANDメモリ2のエラーステータスとしてのライトエラー信号41は、データ信号線DAT0が非アクティブ状態となる直前(例えば2クロック前)に、データ信号線DAT1に出力される。このため、ホスト10は、マルチブロックデータライトオペレーションの度に行う必要であったライト結果のステータスリードを実行することなく、ライトエラー信号41に基づき、必要な処理を行うことができる。したがって、データライトスループットを向上することができる。しかも、ホスト10のCPUの負荷を軽減し、消費電力を低減できるという優れた効果を得ることができる。
【0071】
また、ビジーエラー出力能力レジスタ43は、従来のホストに対してディスエーブルとされ、第2の実施形態の機能を不能にしている。したがって、従来のホストに対しては、従来通りのビジー信号を出力するため、何ら悪影響を及ぼすことがない。
【0072】
(第3の実施形態)
図9は、第3の実施形態に係るSDメモリカードのホストインタフェース部5の構成を示している。図9において、図4、図6と同一部分には同一符号を付す。
【0073】
第3の実施形態は、第1、第2の実施形態を組み合わせたものである。すなわち、図9において、ライトビジーレジスタ36の出力信号とステータスレジスタ37から出力されるAPDUビジー信号38は論理回路34に供給される。論理回路34は、これらの一方を選択して出力する。
【0074】
論理回路35は、ステータスレジスタ37の出力信号とバッファメモリ6の出力データのうちの一方を選択して出力する。論理回路35の出力信号のうち1つは、前記論理回路34の出力信号とともに、論理回路33に供給される。この論理回路33の出力信号は出力バッファ32を介してデータ信号線DAT0に供給される。
【0075】
また、ステータスレジスタ37に保持されたAPDUビジー信号38及びライトエラー信号41は、論理回路42に供給される。論理回路42はAPDUビジー信号38とライトエラー信号41の一方を選択する。論理回路42の出力信号とビジーエラー出力能力レジスタ43から出力されるビジーエラー出力イネーブル信号は、論理回路44に供給される。この論理回路44は、ビジーエラー出力イネーブル信号が真の時、論理回路42の出力信号を出力するゲート回路である。この論理回路44の出力信号は、前記論理回路35から出力されるデータ信号の1つとともに論理回路45に供給される。この論理回路45は、論理回路44の出力信号と論理回路35から出力される1つのデータ信号の一方を選択する。この論理回路45の出力端は、出力バッファ32を介してデータ信号線DAT1に接続されている。
【0076】
次に、第3の実施形態の動作について説明する。
【0077】
ホスト10から供給されるライトデータは、入力バッファ31を通ってバッファメモリ6に書き込まれる。バッファメモリ6がフル状態になった時と、ストップコマンド(CMD12)の発行によるNANDメモリ2へのライト処理中に、ライトビジーレジスタ36からビジー信号が出力される。このビジー信号はリードデータとビジー信号を選択する論理回路33、及び出力バッファ32を通り、データ信号線DAT0に出力される。
【0078】
ステータスリードコマンド(CMD36,CMD13)によりステータスレジスタ37からリードされるステータスデータは、論理回路35を通り、出力バッファト32からデータ信号線DAT0〜DAT3に供給される。
【0079】
一方、APDUでカプセル化されたセキュアトークンの処理ステータス(ビジーステータス)はステータスレジスタ37に保持されている。このステータスレジスタ37からAPDUビジー信号38が出力される。
【0080】
APDUビジー信号38出力とライトビジーレジスタ36から出力されるビジー信号は、論理回路34に供給される。この論理回路34は、前述したように、ビジー出力延長回路を有し、ライトビジー信号がAPDUビジー信号38分延長する。すなわち、論理回路34は、ライトビジー信号がアクティブ状態から非アクティブ状態となり、APDUビジー信号38が非アクティブ状態からアクティブ状態となる際、論理回路34の出力信号を連続してローレベルに保持する。
【0081】
このように、論理回路34により延長されたビジー信号は、出力バッファト32からデータ信号線DAT0に出力される。
【0082】
なお、第3の実施形態は、以下に記すようにAPDUビジー信号を、データ信号線DAT1にも出力することができる。
【0083】
また、転送ブロック数を引数に定義していないブロックライトコマンド(CMD25)の場合、前述したように、ブロックの転送終了時に、ストップコマンド(CMD12)によりライトオペレーションを停止する。ストップコマンド(CMD12)によるNANDメモリ2のライト処理ステータスもステータスレジスタ37に保持されている。このステータスレジスタ37からライトエラー信号41が出力される。
【0084】
ビジーエラー出力能力レジスタ43がオン状態(イネーブル)にセットされている場合、論理回路44は、論理回路42で選択されたAPDUビジー信号38又はライトエラー信号41を出力する。この論理回路42の出力信号は、論理回路45及び出力バッファ32を通り、データ信号線DAT1信号線に供給される。
【0085】
図10は、第3の実施形態に係るAPDUビジー割込み信号の出力タイミングを示す図である。
【0086】
図10に示すように、バッファメモリ6のビジー信号24に続けて、APDU処理期間26を示すビジー信号38がデータ信号線DAT0に出力され、且つAPDU処理期間26を示すビジー信号38がデータ信号線DAT1にも出力される。すなわち、データ信号線DAT0に、バッファメモリ6のビジー信号24にAPDU処理期間26分を延長したビジー信号31が出力される。また、APDU処理期間26を示すビジー信号38が、データ信号線DAT1に出力される。
【0087】
エラーステータスとしてのライトエラー信号の出力は、図8を用いて説明した通りである。
【0088】
上記第3の実施形態によれば、第1、第2の実施形態と同様の効果を得ることができる。
【0089】
しかも、第3の実施形態によれば、比較的小規模な回路構成により、高機能のSDメモリカードを実現することができる。
【0090】
本発明は、上記各実施形態に限定されるものではなく、発明の要旨を変えない範囲において種々変形実施可能なことは勿論である。
【図面の簡単な説明】
【0091】
【図1】ホストとメモリカードのインタフェース接続を模式的に示す構成図。
【図2】各実施形態が適用されるSDメモリカード1の一例を示す構成図。
【図3】本発明のAPDU転送タイミングを示す図。
【図4】第1の実施形態を示す構成図。
【図5】第1の実施形態の動作を示すタイミング図。
【図6】第2の実施形態を示す構成図。
【図7】第2の実施形態の動作を示すタイミング図。
【図8】第2、第3の実施形態の動作を示すタイミング図。
【図9】第3の実施形態を示す構成図。
【図10】第3の実施形態の動作を示すタイミング図。
【符号の説明】
【0092】
1…SDメモリカード、2…NANDメモリ、3…コントローラ、5…ホストインタフェース部、6…バッファメモリ、7…CPU、10…ホスト、DAT0〜DAT3…データ信号線、36…ライトビジーレジスタ、37…ステータスレジスタ、33、34、35、42、44、45…論理回路。

【特許請求の範囲】
【請求項1】
不揮発性メモリと、
前記不揮発性メモリを制御する制御部と、
ホストに接続され、ホストとデータ、及びコマンドを授受する複数のデータ端子、コマンド端子と、
前記データを一次的に記憶するバッファメモリとを具備し、
前記制御部は、
転送ブロック数が定義されたブロックライトコマンドオペレーションによる前記バッファメモリのフル状態を、ライトビジー期間を示すライトビジー信号として前記複数のデータ端子の第1のデータ端子に出力し、
前記ブロックライトコマンドにより発行されたトークンを受け、前記ライトビジー期間を示すライトビジー信号をトークン処理の終了時まで前記第1のデータ端子に出力することを特徴とするメモリカード。
【請求項2】
不揮発性メモリと、
前記不揮発性メモリを制御する制御部と、
ホストに接続され、ホストとデータ、及びコマンドを授受する複数のデータ端子、コマンド端子と、
前記データを一次的に記憶するバッファメモリとを具備し、
前記制御部は、
転送ブロック数が定義されたブロックライトコマンドオペレーションによる前記バッファメモリのフル状態を、ライトビジー期間を示すライトビジー信号として前記複数のデータ端子うち第1のデータ線に出力し、
前記ブロックライトコマンドにより発行されたトークンを受け、前記トークン処理期間を示すビジー信号を前記複数のデータ端子のうち第2のデータ端子に出力することを特徴とするメモリカード。
【請求項3】
不揮発性メモリと、
前記不揮発性メモリを制御する制御部と、
ホストに接続され、ホストとデータ、及びコマンドを授受する複数のデータ端子、コマンド端子と、
前記データを一次的に記憶するバッファメモリとを具備し、
前記制御部は、
転送ブロック数が定義されたブロックライトコマンドオペレーションによる前記バッファメモリのフル状態を、ライトビジー期間を示すライトビジー信号として前記複数のデータ端子のうち第1のデータ端子に出力し、
前記ブロックライトコマンドにより発行されたトークンを受け、前記ライトビジー期間を示すライトビジー信号をトークン処理の終了時まで前記第1のデータ端子に出力し、前記トークン処理期間を示すビジー信号を前記複数のデータ端子のうち第2のデータ端子に出力することを特徴とするメモリカード。
【請求項4】
不揮発性メモリと、
前記不揮発性メモリを制御する制御部と、
ホストに接続され、ホストとデータ、及びコマンドを授受する複数のデータ端子、コマンド端子と、
前記データを一次的に記憶するバッファメモリとを具備し、
前記制御部は、
転送ブロック数が定義されていないブロックライトコマンドオペレーションにおいて、ストップコマンド後にライトエラーステータスを示すライトエラー信号として前記複数のデータ端子のうち第1のデータ端子へ出力することを特徴とするメモリカード。
【請求項5】
前記制御部は、データの出力能力を切り替えるデータを保持するレジスタを有し、このレジスタがイネーブルを示すデータを保持している場合、前記第2のデータ端子に信号を出力することを特徴とする請求項3又は4記載のメモリカード。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2009−86988(P2009−86988A)
【公開日】平成21年4月23日(2009.4.23)
【国際特許分類】
【出願番号】特願2007−255450(P2007−255450)
【出願日】平成19年9月28日(2007.9.28)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】