JPWO2005057400A1 - 電子装置、その制御方法、ホスト装置及びその制御方法 - Google Patents
電子装置、その制御方法、ホスト装置及びその制御方法 Download PDFInfo
- Publication number
- JPWO2005057400A1 JPWO2005057400A1 JP2005516088A JP2005516088A JPWO2005057400A1 JP WO2005057400 A1 JPWO2005057400 A1 JP WO2005057400A1 JP 2005516088 A JP2005516088 A JP 2005516088A JP 2005516088 A JP2005516088 A JP 2005516088A JP WO2005057400 A1 JPWO2005057400 A1 JP WO2005057400A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- block size
- command
- host device
- response
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 139
- 230000004044 response Effects 0.000 claims abstract description 270
- 230000005540 biological transmission Effects 0.000 claims description 43
- 238000012546 transfer Methods 0.000 abstract description 61
- 238000013461 design Methods 0.000 abstract description 21
- 238000004891 communication Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 10
- 238000010276 construction Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000006386 memory function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Computer And Data Communications (AREA)
- Credit Cards Or The Like (AREA)
- Communication Control (AREA)
Abstract
Description
また従来から、PDA等のホスト装置がICカードにデータを転送し、ICカードのフラッシュメモリに記憶する機能が実用化されている。
ところが、汎用のICカードは様々なホスト装置に装着可能である。ホスト装置は汎用の種々のICカード(いずれのICカードも同一の規格に従う。)を装着可能である。それ故に、ホスト装置によっては、ICカードのデータバッファの容量を読み出すことなく又は間違った値を読み出して、ICカードのデータバッファの容量よりも大きいブロックサイズを設定してしまう場合がある。
ホスト装置は、ブロックサイズの設定コマンドに対するレスポンスとしてエラー情報を受信した場合、データバッファの容量以下の大きさのブロックサイズの設定コマンドを新たに送信する必要がある。
マルチブロック転送は、複数のデータブロックを断続的に送るため、大量のデータを高速で転送するのに効果的である。
しかし、このプロトコルに従ったデータ転送において、例えばコマンドにエラーがあった場合(例えばコマンドが、ICカードが処理できないようなデータをホスト装置から送信するコマンドである場合)、ICカードはすぐにエラー情報をレスポンスとして返せない。そのため、無駄に多量のデータが転送されてしまうという問題があった。
本発明は、ブロックサイズの設定コマンドの種類に関わらず、ブロックサイズの設定に関するエラー情報を所定のタイミングでホスト装置に送る電子装置、その制御方法、それに対応するホスト装置及びその制御方法を提供することを目的とする。
本発明は、ホスト装置の設計を複雑にすることなく、ブロックサイズの設定に関するエラー情報をホスト装置に送る電子装置、その制御方法、ホスト装置及びその制御方法を提供することを目的とする。
本発明は、電子装置の送受信用のデータバッファのオーバーフローを未然に防ぐ電子装置、その制御方法、ホスト装置及びその制御方法を提供することを目的とする。
本発明は、汎用のホスト装置と汎用の電子装置とを互換性をもって組み合わせ可能な電子装置、その制御方法、ホスト装置及びその制御方法を提供することを目的とする。
本発明の1つの観点による電子装置は、ホスト装置からのコマンドを受信し前記ホスト装置へレスポンスを送信するコマンド/レスポンス線と、前記ホスト装置との間で前記コマンド/レスポンス線を通じてコマンド及びレスポンスを送受信した後必要に応じてコマンドに応じたデータを送受信するデータ線とに接続され、前記データが所定以上の長さを有する場合はそのデータを前記ホスト装置から指定されたブロックサイズのデータブロックに分割して送受信するインターフェース部、前記データを格納するデータバッファ、前記インターフェース部が、前記ホスト装置からデータブロックのブロックサイズを指定するコマンドを受信した場合、そのブロックサイズの情報を記憶する記憶部、を有し、前記インターフェース部は、前記ホスト装置から前記データブロックのブロックサイズの情報を含むデータを前記データ線で送信するというコマンド(以下、「ブロックサイズ設定コマンド」と呼ぶ。)を受信し、そのブロックサイズが前記データバッファの容量よりも大きい場合前記ブロックサイズ設定コマンドと所定の関係にある1つの時点でそのブロックサイズに応じることが出来ないというエラー情報を含むレスポンスを送信する。
これらの発明は、ホスト装置と電子装置(例えばICカード)とがコマンド−レスポンス−データを順に送信するというプロトコルに従って、ホスト装置がブロックサイズの設定データを送信した場合にも、電子装置がそのブロックサイズの設定データを受け入れられない場合に、ホスト装置にエラー情報を送信する電子装置及びその制御方法を実現できるという作用を有する。
これらの発明は、ホスト装置の設計を複雑にすることなく、ブロックサイズの設定に関するエラー情報を所定のタイミングでホスト装置に送る電子装置及びその制御方法を実現する。
これらの発明によれば、第1のブロックサイズ設定コマンドに対しても、第2のブロックサイズ設定コマンドと同様に、その後の所定のコマンドに対するレスポンスの中で、ブロックサイズ設定コマンドに対する可否を応える。ホスト装置は、送信するブロックサイズの設定コマンドの種類にかかわらず、ブロックサイズに関するエラー情報を一定のタイミングで受信することが出来る。
これらの発明は、ホスト装置の設計を複雑にすることなく、ブロックサイズの設定に関するエラー情報をホスト装置に送る電子装置及びその制御方法を実現する。
本発明によれば、ブロックサイズの設定コマンドの種類に関わらず、ブロックサイズの設定に関するエラー情報を所定のタイミングでホスト装置に送る電子装置、その制御方法、それに対応するホスト装置及びその制御方法を実現できるという有利な効果が得られる。
本発明によれば、ICカードの送受信用のデータバッファのオーバーフローを未然に防ぐ電子装置、その制御方法、それに対応するホスト装置及びその制御方法を実現できるという有利な効果が得られる。
本発明によれば、汎用のホスト装置と汎用の電子装置とを互換性をもって組み合わせ可能な電子装置、その制御方法、ホスト装置及びその制御方法を実現できるという有利な効果が得られる。
102 ICカード
111 インターフェース部
112 エラー情報生成部
113 データバッファ
114 機能モジュール
121 ブロックサイズ記憶部
122 バッファ容量記憶部
123 比較部
124 レスポンス生成部
図面の一部又は全部は、図示を目的とした概要的表現により描かれており、必ずしもそこに示された要素の実際の相対的大きさや位置を忠実に描写しているとは限らないことは考慮願いたい。
図1〜5を参照して、本発明の実施の形態1の電子装置(本発明においてはICカードである。)、その制御方法、ホスト装置及びその制御方法を説明する。図1は、本発明の実施の形態1のICカードの構成を示すブロック図である。
実施の形態1において、ホスト装置101は、ICカード102の挿入スロットを有するPDA(Personal Digital Assistants)である。
コマンド/レスポンス線131、データ線132、クロック線133は、ハードワイヤ以外にも互いに異なる周波数による電磁波伝送、超音波伝送を含むことができる。
ホスト装置101とICカード102とは、ホスト装置101をマスターとしICカード102をスレーブとするマスター/スレーブ方式の通信を行う。
エラー情報生成部112は、ホスト装置101が決定したブロックサイズを記憶するブロックサイズ記憶部121、データバッファ113のサイズを記憶するバッファ容量記憶部122、ブロックサイズとバッファ容量を比較する比較部123を有する。
インターフェース部111は、ホスト装置101に送信するレスポンスを生成するレスポンス生成部124を有する。
ICカード102のインターフェース部111は、データ線132を介して、ホスト装置101から送信されたデータを受信し、又はICカード内のデータをホスト装置101に送信する。
コマンド/レスポンス線131及びデータ線132を介して、ホスト装置101とICカード102とが通信する時、クロック線133を介してホスト装置101からICカード102にクロックが送られる。
バッファ容量記憶部122は、データバッファ113の容量を記憶するレジスタである。
レスポンス生成部124は、比較結果に基づいて、バッファ容量記憶部122に書き込まれているデータバッファ113の容量よりも、ブロックサイズ記憶部121に書き込まれているブロックサイズのほうが大きい場合に、ホスト装置101に送信するレスポンスにエラー情報を含める。
データバッファ113は、データブロックを一時的に格納するレジスタである。
機能モジュール114は、例えばフラッシュメモリと無線通信機能とを搭載した機能モジュールである。
但し、コマンド201が第1のブロックサイズ設定コマンドの場合、破線で示すブロックサイズの設定データ203はホスト装置からICカードに送信されない(詳細は後述する)。コマンド201が第2のブロックサイズ設定コマンドの場合のみ、ブロックサイズの設定データ203はホスト装置からICカードに送信される。
ホスト装置101は、1データブロックのブロックサイズを決定すると、ブロックサイズの設定データを含む第1のブロックサイズ設定コマンドを送信する(ステップ301、図2の201)。
ホスト装置101は、レスポンス202を受信する(ステップ305)。
ホスト装置101は、1データブロックのブロックサイズを決定すると、第2のブロックサイズ設定コマンドを送信する(ステップ401、図2の201)。
データバッファ113のサイズがブロックサイズ未満であれば、レスポンス生成部124はエラー情報を含めてレスポンスを生成する。インターフェース部111はそのエラー情報を含めたレスポンスを送信する(ステップ504、図2の205)。この場合はICカード102はホスト装置101にn個のデータブロック206を送信しない。
データバッファ113のサイズがブロックサイズ以上であれば、エラー情報無しのレスポンスを生成し、ホスト装置に送信する(ステップ505、図2の205)。ICカードはデータブロックをホスト装置に送信する(ステップ508、図2の206)。
ICカード102は、ICカードのデータバッファ容量の送信要求指令コマンドを受信する(ステップ512)と、バッファ容量記憶部122に格納されているデータバッファ113の容量をホスト装置101に送信する(ステップ513)。
このような場合であっても、ICカード102は、実際にデータブロックを送受信する前に、ホスト装置にブロックサイズがデータバッファの容量よりも大きいというエラー情報を通知することができる。本発明のICカード102は、データバッファ113がオーバーフローを起こすことを未然に防ぐことができる。
この場合、ICカードは、ホスト装置の設定したブロックサイズが内蔵するデータバッファの容量よりも大きい場合に、マルチブロック転送の実行コマンドに対するレスポンスにエラー情報を含めてホスト装置に送信する。ICカードは、ホスト装置からデータブロックが送られてきた場合はそれを受け付けない。
ホスト装置は、マルチブロック転送の実行コマンドのレスポンスにエラー情報が含まれていたら、データブロックをICカードに送信しない。ホスト装置は、ICカードのデータバッファ容量を問い合わせて、新たなブロックサイズを設定する。
図6〜9を用いて、実施の形態2の電子装置(本発明においてはICカードである。)、その制御方法、ホスト装置及びその制御方法を説明する。実施の形態2が実施の形態1と違うところは、ブロックサイズがデータバッファ113の容量よりも大きいというエラー情報をホスト装置に送信するタイミングである。それ以外の点においては、実施の形態1と同一である。
ホスト装置101がブロックサイズの設定に使用するコマンドは、実施の形態1と同様に2種類(「第1のブロックサイズ設定コマンド」及び「第2のブロックサイズ設定コマンド」)ある。
ICカード102のインターフェース部111は、第1のブロックサイズ設定コマンドを受信する(ステップ302)。ICカード102のブロックサイズ記憶部121は、ホスト装置101が設定したブロックサイズを格納する(ステップ303)。
データバッファ113のサイズがブロックサイズ未満であれば、レスポンス生成部124はエラー情報を含めてレスポンスを生成する。インターフェース部111はレスポンスを送信する(ステップ504、図2の202)。データバッファ113のサイズがブロックサイズ以上であれば、エラー情報無しのレスポンスを生成し、ホスト装置に送信する(ステップ505、図2の202)。
図8(b)は、実施の形態2においての第2のブロックサイズ設定コマンドの次にホスト装置から送られてきたコマンドに対するレスポンスである。図8(b)の次のコマンドのレスポンスは、次のコマンド(第2のブロックサイズ設定コマンドの次に送られてきたコマンド)に関するレスポンス801と前のコマンド(第2のブロックサイズ設定コマンド)に関するレスポンス802の両方が含まれている。前のコマンドのレスポンス802には、ブロックサイズの設定に対するAck情報又はエラー情報が含まれる。
ICカードのインターフェース部111は、第2のブロックサイズ設定コマンドを受信する(ステップ402)。ICカード102は、レスポンスをホスト装置101に送信する(ステップ403、図2の202)。
ICカードはブロックサイズの設定データ203を受信する(ステップ406)。ICカード102のブロックサイズ記憶部121は、ホスト装置101が設定したブロックサイズを格納する(ステップ407)。
レスポンス生成部124は、データバッファ113のサイズがブロックサイズ以上であれば、Ack情報を生成する(ステップ701)。データバッファ113のサイズがブロックサイズ未満であれば、エラー情報を生成する(ステップ702)。
ICカード102は、ICカード102のデータバッファ容量の送信要求指令コマンドを受信する(ステップ512)と、バッファ容量記憶部122に格納されているデータバッファ113の容量をホスト装置101に送信する(ステップ513)。
また従来から、PDA等のホスト装置がICカードにデータを転送し、ICカードのフラッシュメモリに記憶する機能が実用化されている。
ところが、汎用のICカードは様々なホスト装置に装着可能である。ホスト装置は汎用の種々のICカード(いずれのICカードも同一の規格に従う。)を装着可能である。それ故に、ホスト装置によっては、ICカードのデータバッファの容量を読み出すことなく又は間違った値を読み出して、ICカードのデータバッファの容量よりも大きいブロックサイズを設定してしまう場合がある。
ホスト装置は、ブロックサイズの設定コマンドに対するレスポンスとしてエラー情報を受信した場合、データバッファの容量以下の大きさのブロックサイズの設定コマンドを新たに送信する必要がある。
マルチブロック転送は、複数のデータブロックを断続的に送るため、大量のデータを高速で転送するのに効果的である。
しかし、このプロトコルに従ったデータ転送において、例えばコマンドにエラーがあった場合(例えばコマンドが、ICカードが処理できないようなデータをホスト装置から送信するコマンドである場合)、ICカードはすぐにエラー情報をレスポンスとして返せない。そのため、無駄に多量のデータが転送されてしまうという問題があった。
本発明は、ブロックサイズの設定コマンドの種類に関わらず、ブロックサイズの設定に関するエラー情報を所定のタイミングでホスト装置に送る電子装置、その制御方法、それに対応するホスト装置及びその制御方法を提供することを目的とする。
本発明は、ホスト装置の設計を複雑にすることなく、ブロックサイズの設定に関するエラー情報をホスト装置に送る電子装置、その制御方法、ホスト装置及びその制御方法を提供することを目的とする。
本発明は、電子装置の送受信用のデータバッファのオーバーフローを未然に防ぐ電子装置、その制御方法、ホスト装置及びその制御方法を提供することを目的とする。
本発明は、汎用のホスト装置と汎用の電子装置とを互換性をもって組み合わせ可能な電子装置、その制御方法、ホスト装置及びその制御方法を提供することを目的とする。
本発明の1つの観点による電子装置は、ホスト装置からのコマンドを受信し前記ホスト装置へレスポンスを送信するコマンド/レスポンス線と、前記ホスト装置との間で前記コマンド/レスポンス線を通じてコマンド及びレスポンスを送受信した後必要に応じてコマンドに応じたデータを送受信するデータ線とに接続され、前記データが所定以上の長さを有する場合はそのデータを前記ホスト装置から指定されたブロックサイズのデータブロックに分割して送受信するインターフェース部、前記データを格納するデータバッファ、前記インターフェース部が、前記ホスト装置からデータブロックのブロックサイズを指定するコマンドを受信した場合、そのブロックサイズの情報を記憶する記憶部、を有し、前記インターフェース部は、前記ホスト装置から前記データブロックのブロックサイズの情報を含むデータを前記データ線で送信するというコマンド(以下、「ブロックサイズ設定コマンド」と呼ぶ。)を受信し、そのブロックサイズが前記データバッファの容量よりも大きい場合前記ブロックサイズ設定コマンドと所定の関係にある1つの時点でそのブロックサイズに応じることが出来ないというエラー情報を含むレスポンスを送信する。
これらの発明は、ホスト装置と電子装置(例えばICカード)とがコマンド−レスポンス−データを順に送信するというプロトコルに従って、ホスト装置がブロックサイズの設定データを送信した場合にも、電子装置がそのブロックサイズの設定データを受け入れられない場合に、ホスト装置にエラー情報を送信する電子装置及びその制御方法を実現できるという作用を有する。
これらの発明は、ホスト装置の設計を複雑にすることなく、ブロックサイズの設定に関するエラー情報を所定のタイミングでホスト装置に送る電子装置及びその制御方法を実現する。
これらの発明によれば、第1のブロックサイズ設定コマンドに対しても、第2のブロックサイズ設定コマンドと同様に、その後の所定のコマンドに対するレスポンスの中で、ブロックサイズ設定コマンドに対する可否を応える。ホスト装置は、送信するブロックサイズの設定コマンドの種類にかかわらず、ブロックサイズに関するエラー情報を一定のタイミングで受信することが出来る。
これらの発明は、ホスト装置の設計を複雑にすることなく、ブロックサイズの設定に関するエラー情報をホスト装置に送る電子装置及びその制御方法を実現する。
本発明によれば、ブロックサイズの設定コマンドの種類に関わらず、ブロックサイズの設定に関するエラー情報を所定のタイミングでホスト装置に送る電子装置、その制御方法、それに対応するホスト装置及びその制御方法を実現できるという有利な効果が得られる。
本発明によれば、ICカードの送受信用のデータバッファのオーバーフローを未然に防ぐ電子装置、その制御方法、それに対応するホスト装置及びその制御方法を実現できるという有利な効果が得られる。
本発明によれば、汎用のホスト装置と汎用の電子装置とを互換性をもって組み合わせ可能な電子装置、その制御方法、ホスト装置及びその制御方法を実現できるという有利な効果が得られる。
図1〜5を参照して、本発明の実施の形態1の電子装置(本発明においてはICカードである。)、その制御方法、ホスト装置及びその制御方法を説明する。図1は、本発明の実施の形態1のICカードの構成を示すブロック図である。
実施の形態1において、ホスト装置101は、ICカード102の挿入スロットを有するPDA(Personal Digital Assistants)である。
コマンド/レスポンス線131、データ線132、クロック線133は、ハードワイヤ以外にも互いに異なる周波数による電磁波伝送、超音波伝送を含むことができる。
ホスト装置101とICカード102とは、ホスト装置101をマスターとしICカード102をスレーブとするマスター/スレーブ方式の通信を行う。
エラー情報生成部112は、ホスト装置101が決定したブロックサイズを記憶するブロックサイズ記憶部121、データバッファ113のサイズを記憶するバッファ容量記憶部122、ブロックサイズとバッファ容量を比較する比較部123を有する。
インターフェース部111は、ホスト装置101に送信するレスポンスを生成するレスポンス生成部124を有する。
ICカード102のインターフェース部111は、データ線132を介して、ホスト装置101から送信されたデータを受信し、又はICカード内のデータをホスト装置101に送信する。
コマンド/レスポンス線131及びデータ線132を介して、ホスト装置101とICカード102とが通信する時、クロック線133を介してホスト装置101からICカード102にクロックが送られる。
バッファ容量記憶部122は、データバッファ113の容量を記憶するレジスタである。
レスポンス生成部124は、比較結果に基づいて、バッファ容量記憶部122に書き込まれているデータバッファ113の容量よりも、ブロックサイズ記憶部121に書き込まれているブロックサイズのほうが大きい場合に、ホスト装置101に送信するレスポンスにエラー情報を含める。
データバッファ113は、データブロックを一時的に格納するレジスタである。
機能モジュール114は、例えばフラッシュメモリと無線通信機能とを搭載した機能モジュールである。
但し、コマンド201が第1のブロックサイズ設定コマンドの場合、破線で示すブロックサイズの設定データ203はホスト装置からICカードに送信されない(詳細は後述する)。コマンド201が第2のブロックサイズ設定コマンドの場合のみ、ブロックサイズの設定データ203はホスト装置からICカードに送信される。
ホスト装置101は、1データブロックのブロックサイズを決定すると、ブロックサイズの設定データを含む第1のブロックサイズ設定コマンドを送信する(ステップ301、図2の201)。
ホスト装置101は、レスポンス202を受信する(ステップ305)。
ホスト装置101は、1データブロックのブロックサイズを決定すると、第2のブロックサイズ設定コマンドを送信する(ステップ401、図2の201)。
データバッファ113のサイズがブロックサイズ未満であれば、レスポンス生成部124はエラー情報を含めてレスポンスを生成する。インターフェース部111はそのエラー情報を含めたレスポンスを送信する(ステップ504、図2の205)。この場合はICカード102はホスト装置101にn個のデータブロック206を送信しない。
データバッファ113のサイズがブロックサイズ以上であれば、エラー情報無しのレスポンスを生成し、ホスト装置に送信する(ステップ505、図2の205)。ICカードはデータブロックをホスト装置に送信する(ステップ508、図2の206)。
ICカード102は、ICカードのデータバッファ容量の送信要求指令コマンドを受信する(ステップ512)と、バッファ容量記憶部122に格納されているデータバッファ113の容量をホスト装置101に送信する(ステップ513)。
このような場合であっても、ICカード102は、実際にデータブロックを送受信する前に、ホスト装置にブロックサイズがデータバッファの容量よりも大きいというエラー情報を通知することができる。本発明のICカード102は、データバッファ113がオーバーフローを起こすことを未然に防ぐことができる。
この場合、ICカードは、ホスト装置の設定したブロックサイズが内蔵するデータバッファの容量よりも大きい場合に、マルチブロック転送の実行コマンドに対するレスポンスにエラー情報を含めてホスト装置に送信する。ICカードは、ホスト装置からデータブロックが送られてきた場合はそれを受け付けない。
ホスト装置は、マルチブロック転送の実行コマンドのレスポンスにエラー情報が含まれていたら、データブロックをICカードに送信しない。ホスト装置は、ICカードのデータバッファ容量を問い合わせて、新たなブロックサイズを設定する。
図6〜9を用いて、実施の形態2の電子装置(本発明においてはICカードである。)、その制御方法、ホスト装置及びその制御方法を説明する。実施の形態2が実施の形態1と違うところは、ブロックサイズがデータバッファ113の容量よりも大きいというエラー情報をホスト装置に送信するタイミングである。それ以外の点においては、実施の形態1と同一である。
ホスト装置101がブロックサイズの設定に使用するコマンドは、実施の形態1と同様に2種類(「第1のブロックサイズ設定コマンド」及び「第2のブロックサイズ設定コマンド」)ある。
ICカード102のインターフェース部111は、第1のブロックサイズ設定コマンドを受信する(ステップ302)。ICカード102のブロックサイズ記憶部121は、ホスト装置101が設定したブロックサイズを格納する(ステップ303)。
データバッファ113のサイズがブロックサイズ未満であれば、レスポンス生成部124はエラー情報を含めてレスポンスを生成する。インターフェース部111はレスポンスを送信する(ステップ504、図2の202)。データバッファ113のサイズがブロックサイズ以上であれば、エラー情報無しのレスポンスを生成し、ホスト装置に送信する(ステップ505、図2の202)。
図8(b)は、実施の形態2においての第2のブロックサイズ設定コマンドの次にホスト装置から送られてきたコマンドに対するレスポンスである。図8(b)の次のコマンドのレスポンスは、次のコマンド(第2のブロックサイズ設定コマンドの次に送られてきたコマンド)に関するレスポンス801と前のコマンド(第2のブロックサイズ設定コマンド)に関するレスポンス802の両方が含まれている。前のコマンドのレスポンス802には、ブロックサイズの設定に対するAck情報又はエラー情報が含まれる。
ICカードのインターフェース部111は、第2のブロックサイズ設定コマンドを受信する(ステップ402)。ICカード102は、レスポンスをホスト装置101に送信する(ステップ403、図2の202)。
ICカードはブロックサイズの設定データ203を受信する(ステップ406)。ICカード102のブロックサイズ記憶部121は、ホスト装置101が設定したブロックサイズを格納する(ステップ407)。
レスポンス生成部124は、データバッファ113のサイズがブロックサイズ以上であれば、Ack情報を生成する(ステップ701)。データバッファ113のサイズがブロックサイズ未満であれば、エラー情報を生成する(ステップ702)。
ICカード102は、ICカード102のデータバッファ容量の送信要求指令コマンドを受信する(ステップ512)と、バッファ容量記憶部122に格納されているデータバッファ113の容量をホスト装置101に送信する(ステップ513)。
図面の一部又は全部は、図示を目的とした概要的表現により描かれており、必ずしもそこに示された要素の実際の相対的大きさや位置を忠実に描写しているとは限らないことは考慮願いたい。
102 ICカード
111 インターフェース部
112 エラー情報生成部
113 データバッファ
114 機能モジュール
121 ブロックサイズ記憶部
122 バッファ容量記憶部
123 比較部
124 レスポンス生成部
Claims (16)
- ホスト装置からのコマンドを受信し前記ホスト装置へレスポンスを送信するコマンド/レスポンス線と、前記ホスト装置との間で前記コマンド/レスポンス線を通じてコマンド及びレスポンスを送受信した後必要に応じてコマンドに応じたデータを送受信するデータ線とに接続され、前記データが所定以上の長さを有する場合はそのデータを前記ホスト装置から指定されたブロックサイズのデータブロックに分割して送受信するインターフェース部、
前記データを格納するデータバッファ、
前記インターフェース部が、前記ホスト装置からデータブロックのブロックサイズを指定するコマンドを受信した場合、そのブロックサイズの情報を記憶する記憶部、
を有し、
前記インターフェース部は、前記ホスト装置から前記データブロックのブロックサイズの情報を含むデータを前記データ線で送信するというコマンド(以下、「ブロックサイズ設定コマンド」と呼ぶ。)を受信し、そのブロックサイズが前記データバッファの容量よりも大きい場合前記ブロックサイズ設定コマンドと所定の関係にある1つの時点でそのブロックサイズに応じることが出来ないというエラー情報を含むレスポンスを送信することを特徴とする電子装置。 - 前記所定の関係にある1つの時点が前記ホスト装置から所定以上の長さを有するデータを分割して生成した前記ブロックサイズのデータブロックを実際に送信し又は受信するというコマンドを受信した時点であって、
前記コマンドのレスポンスに前記エラー情報を含めて送信し且つ前記ホスト装置から分割されたデータブロックが送信された場合にはそれを受け付けないことを特徴とする請求項1に記載の電子装置。 - 前記所定の関係にある1つの時点が前記ブロックサイズ設定コマンドの次に前記ホスト装置から送信されたコマンドを受信した時点であって、
前記コマンドに対応するレスポンスに前記エラー情報を含めたレスポンスを付加して送信することを特徴とする請求項1に記載の電子装置。 - 前記インターフェース部は、前記ホスト装置から前記データブロックのブロックサイズの情報を含むコマンドを前記コマンド/レスポンス線を通じて受信し、そのブロックサイズが前記データバッファの容量よりも大きい場合、
その後前記ホスト装置から所定以上の長さを有するデータを分割して生成した前記ブロックサイズのデータブロックを実際に送信し又は受信するというコマンドを受信した時に、そのコマンドに対してそのブロックサイズに応じることが出来ないというエラー情報を含むレスポンスを送信し、且つ前記ホスト装置から分割されたデータブロックが送信された場合にはそれを受け付けず、又は、
その次に前記ホスト装置から送信されたコマンドに対応するレスポンスに、ブロックサイズを指定するコマンドに対する応答がエラーであるという情報を付加して送信する、
ことを特徴とする請求項1に記載の電子装置。 - 電子装置がICカードであることを特徴とする請求項1に記載の電子装置。
- 電子装置にコマンドを送信し前記電子装置からレスポンスを受信するコマンド/レスポンス線と、前記電子装置との間で前記コマンド/レスポンス線を通じてコマンド及びレスポンスを送受信した後必要に応じてコマンドに応じたデータを送受信するデータ線とに接続され、前記データが所定以上の長さを有する場合はそのデータを分割して生成した所定のブロックサイズのデータブロックを送受信し前記電子装置にそのブロックサイズを指定するコマンドを送信するインターフェース部を有し、
前記インターフェース部は、前記データブロックのブロックサイズの情報を含むデータを前記データ線で送信するというブロックサイズ設定コマンドを前記電子装置に送信しそのデータを送信した後、前記ブロックサイズ設定コマンドと所定の関係にある1つの時点に前記電子装置から前記データブロックのブロックサイズの指定値に応じることが出来ないというエラー情報を含むレスポンスが送られてきた場合、前記電子装置にそのデータバッファのデータ容量を問い合わせるコマンドを送信し、それに対するレスポンスに基づいて前記電子装置のデータバッファの容量以下で新たなブロックサイズを決定し前記電子装置に新たなブロックサイズを指定するコマンドを送信することを特徴とするホスト装置。 - 前記所定の関係にある1つの時点が所定以上の長さを有するデータを前記ブロックサイズに分割して実際に送信し又は受信するというコマンドを前記電子装置に送信した時点であることを特徴とする請求項6に記載のホスト装置。
- 前記所定の関係にある1つの時点が前記ブロックサイズ設定コマンドの次に前記電子装置にコマンドを送信した時点であることを特徴とする請求項6に記載のホスト装置。
- ホスト装置から所定以上の長さを有するデータを複数のデータブロックに分割して送受信する場合における、各データブロックのブロックサイズの情報を含むデータをデータ線で送信するというブロックサイズ設定コマンドをコマンド/レスポンス線を通じて受信し、前記コマンド/レスポンス線を通じてそれに対するレスポンスを送信し、その後そのデータを受信する受信ステップと、
前記ブロックサイズが内蔵するデータバッファの容量よりも大きいか否かを判断する判断ステップと、
前記ブロックサイズ設定コマンドと所定の関係にある1つの時点で前記ブロックサイズに応じることが出来ないというエラー情報を含むレスポンスを送信するエラー情報送信ステップと、
を有することを特徴とする電子装置の制御方法。 - 前記所定の関係にある1つの時点が前記ホスト装置から所定以上の長さを有するデータを分割して生成した前記ブロックサイズのデータブロックを実際に送信し又は受信するというコマンドを受信した時点であって、
前記コマンドのレスポンスに前記エラー情報を含めて送信し且つ前記ホスト装置から分割されたデータブロックが送信された場合にはそれを受け付けないことを特徴とする請求項9に記載の電子装置の制御方法。 - 前記所定の関係にある1つの時点が前記ブロックサイズ設定コマンドの次に前記ホスト装置から送信されたコマンドを受信した時点であって、
前記コマンドに対応するレスポンスに前記エラー情報を含めたレスポンスを付加して送信することを特徴とする請求項9に記載の電子装置の制御方法。 - 前記ホスト装置から前記データブロックのブロックサイズの情報を含むコマンドを前記コマンド/レスポンス線を通じて受信するステップを更に有し、前記判断ステップにおいてそのブロックサイズが前記データバッファの容量よりも大きいと判断した場合、
その後前記ホスト装置から所定以上の長さを有するデータを分割して生成した前記ブロックサイズのデータブロックを実際に送信し又は受信するというコマンドを受信した時に、そのコマンドに対してそのブロックサイズに応じることが出来ないというエラー情報を含むレスポンスを送信し、且つ前記ホスト装置から分割されたデータブロックが送信された場合にはそれを受け付けず、又は、
その次に前記ホスト装置から送信されたコマンドに対応するレスポンスに、ブロックサイズを指定するコマンドに対する応答がエラーであるという情報を付加して送信する、
ことを特徴とする請求項9に記載の電子装置の制御方法。 - 電子装置がICカードであることを特徴とする請求項9に記載の電子装置の制御方法。
- 所定以上の長さを有するデータを複数のデータブロックに分割して送受信する場合における、各データブロックのブロックサイズの情報を含むデータをデータ線で送信するというブロックサイズ設定コマンドをコマンド/レスポンス線を通じて電子装置に送信し、前記コマンド/レスポンス線を通じてそれに対するレスポンスを受信し、その後そのデータを送信する送信ステップと、
前記ブロックサイズ設定コマンドと所定の関係にある1つの時点でそのブロックサイズに応じることが出来ないというエラー情報を含むレスポンスを受信した場合、前記電子装置にそのデータバッファのデータ容量を問い合わせるコマンドを送信するステップと、
それに対するレスポンスに基づいて前記電子装置のデータバッファの容量以下で新たなブロックサイズを決定し、前記電子装置に新たなブロックサイズを指定するコマンドを送信する送信ステップと、
を有することを特徴とするホスト装置の制御方法。 - 前記所定の関係にある1つの時点が所定以上の長さを有するデータを前記ブロックサイズに分割して実際に送信し又は受信するというコマンドを前記電子装置に送信した時点あることを特徴とする請求項14に記載のホスト装置の制御方法。
- 前記所定の関係にある1つの時点が前記ブロックサイズ設定コマンドの次に前記電子装置にコマンドを送信した時点であることを特徴とする請求項14に記載のホスト装置の制御方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003410840 | 2003-12-09 | ||
JP2003410840 | 2003-12-09 | ||
PCT/JP2004/017724 WO2005057400A1 (ja) | 2003-12-09 | 2004-11-29 | 電子装置、その制御方法、ホスト装置及びその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2005057400A1 true JPWO2005057400A1 (ja) | 2007-12-13 |
JP4452690B2 JP4452690B2 (ja) | 2010-04-21 |
Family
ID=34674957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005516088A Active JP4452690B2 (ja) | 2003-12-09 | 2004-11-29 | 電子装置、その制御方法、ホスト装置及びその制御方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7774508B2 (ja) |
EP (1) | EP1701244B1 (ja) |
JP (1) | JP4452690B2 (ja) |
CN (1) | CN100437456C (ja) |
TW (1) | TW200529244A (ja) |
WO (1) | WO2005057400A1 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100826065B1 (ko) * | 2004-03-31 | 2008-04-29 | 마츠시타 덴끼 산교 가부시키가이샤 | 메모리카드 및 메모리카드 시스템 |
US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
US7490197B2 (en) | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
JP4896450B2 (ja) | 2005-06-30 | 2012-03-14 | 株式会社東芝 | 記憶装置 |
CN101203867B (zh) * | 2005-07-05 | 2010-05-19 | 松下电器产业株式会社 | 读出数据长度的指定方法 |
US8914557B2 (en) * | 2005-12-16 | 2014-12-16 | Microsoft Corporation | Optimizing write and wear performance for a memory |
KR100884239B1 (ko) * | 2007-01-02 | 2009-02-17 | 삼성전자주식회사 | 메모리 카드 시스템 및 그것의 백그라운드 정보 전송 방법 |
JP2009110609A (ja) * | 2007-10-31 | 2009-05-21 | Hitachi Ltd | ストリームデータ転送制御機構 |
US8631203B2 (en) | 2007-12-10 | 2014-01-14 | Microsoft Corporation | Management of external memory functioning as virtual cache |
US8032707B2 (en) | 2008-09-15 | 2011-10-04 | Microsoft Corporation | Managing cache data and metadata |
US9032151B2 (en) | 2008-09-15 | 2015-05-12 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
US7953774B2 (en) | 2008-09-19 | 2011-05-31 | Microsoft Corporation | Aggregation of write traffic to a data store |
US9754648B2 (en) | 2012-10-26 | 2017-09-05 | Micron Technology, Inc. | Apparatuses and methods for memory operations having variable latencies |
US9740485B2 (en) | 2012-10-26 | 2017-08-22 | Micron Technology, Inc. | Apparatuses and methods for memory operations having variable latencies |
US9734097B2 (en) | 2013-03-15 | 2017-08-15 | Micron Technology, Inc. | Apparatuses and methods for variable latency memory operations |
US9563565B2 (en) | 2013-08-14 | 2017-02-07 | Micron Technology, Inc. | Apparatuses and methods for providing data from a buffer |
US9727493B2 (en) | 2013-08-14 | 2017-08-08 | Micron Technology, Inc. | Apparatuses and methods for providing data to a configurable storage area |
US10365835B2 (en) | 2014-05-28 | 2019-07-30 | Micron Technology, Inc. | Apparatuses and methods for performing write count threshold wear leveling operations |
JP6833364B2 (ja) * | 2016-07-01 | 2021-02-24 | 株式会社東芝 | Icカード、および、icカード処理装置 |
US10795836B2 (en) | 2017-04-17 | 2020-10-06 | Microsoft Technology Licensing, Llc | Data processing performance enhancement for neural networks using a virtualized data iterator |
GB2612658B (en) * | 2022-03-10 | 2023-12-13 | Nordic Semiconductor Asa | Method and apparatus for radio communications |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61228549A (ja) * | 1985-04-02 | 1986-10-11 | Ricoh Co Ltd | デ−タ転送方法 |
JPH0337540A (ja) | 1989-07-04 | 1991-02-18 | Toshiba Corp | ナトリウム漏洩検出装置 |
JPH0337540U (ja) * | 1989-08-16 | 1991-04-11 | ||
JPH09171545A (ja) * | 1995-12-20 | 1997-06-30 | Fujitsu Ltd | Icカード,icカード読み取り/書き込み装置,icカード読み取り/書き込み装置用上位装置及びicカードシステム並びにicカードシステムにおけるマルチベンダ対応方法 |
JP3565967B2 (ja) * | 1995-12-21 | 2004-09-15 | 富士通株式会社 | Icカード読み取り/書き込み装置及びicカードシステム |
JPH1027231A (ja) * | 1996-07-10 | 1998-01-27 | Matsushita Electric Ind Co Ltd | Icカード |
US6006289A (en) * | 1996-11-12 | 1999-12-21 | Apple Computer, Inc. | System for transferring data specified in a transaction request as a plurality of move transactions responsive to receipt of a target availability signal |
JP3728366B2 (ja) * | 1997-05-13 | 2005-12-21 | 株式会社ルネサステクノロジ | Icカード |
FR2772535B1 (fr) * | 1997-12-11 | 2000-12-15 | Micropross | Interface de communication avec une carte a puce synchrone et dispositif equipe d'une telle interface |
JPH11298450A (ja) * | 1998-04-08 | 1999-10-29 | Nec Corp | シリアルデータ転送コントローラ |
JP3190895B2 (ja) * | 1998-10-02 | 2001-07-23 | エヌイーシーマイクロシステム株式会社 | 通信エラー自動修復システム |
JP2002342256A (ja) * | 2001-05-14 | 2002-11-29 | Hitachi Ltd | データプロセッサ及びデータテーブルの更新方法 |
JP3914398B2 (ja) * | 2001-05-22 | 2007-05-16 | 日本電産サンキョー株式会社 | Icカードリーダライタの通信方法 |
CN1430179A (zh) * | 2001-12-11 | 2003-07-16 | 松下电器产业株式会社 | Ic卡及其数据处理方法 |
JP2003345674A (ja) * | 2002-05-29 | 2003-12-05 | Matsushita Electric Ind Co Ltd | 入出力装置 |
KR100887901B1 (ko) * | 2002-06-26 | 2009-03-12 | 주식회사 히타치엘지 데이터 스토리지 코리아 | 광디스크 장치에서의 기록속도 가변방법 |
-
2004
- 2004-11-29 US US10/582,084 patent/US7774508B2/en active Active
- 2004-11-29 WO PCT/JP2004/017724 patent/WO2005057400A1/ja active Application Filing
- 2004-11-29 JP JP2005516088A patent/JP4452690B2/ja active Active
- 2004-11-29 CN CNB2004800366493A patent/CN100437456C/zh not_active Expired - Fee Related
- 2004-11-29 EP EP04820138.8A patent/EP1701244B1/en active Active
- 2004-12-08 TW TW093137911A patent/TW200529244A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US20070145151A1 (en) | 2007-06-28 |
TW200529244A (en) | 2005-09-01 |
EP1701244B1 (en) | 2015-04-01 |
WO2005057400A1 (ja) | 2005-06-23 |
JP4452690B2 (ja) | 2010-04-21 |
CN100437456C (zh) | 2008-11-26 |
EP1701244A4 (en) | 2008-12-24 |
CN1890624A (zh) | 2007-01-03 |
US7774508B2 (en) | 2010-08-10 |
EP1701244A1 (en) | 2006-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4452690B2 (ja) | 電子装置、その制御方法、ホスト装置及びその制御方法 | |
KR20110010707A (ko) | 슬레이브 디바이스 사이에서 직접 데이터를 전송하는 방법 | |
JPWO2004036440A1 (ja) | Icカード、データ転送装置、データ転送方法及びデータ転送方法のプログラム | |
KR100944892B1 (ko) | 버스 시스템 및 버스 인터페이스 | |
US20060236001A1 (en) | Direct memory access controller | |
JP2007259274A (ja) | 再送制御回路、送信装置、再送制御方法及び再送制御プログラム | |
CN114006787A (zh) | 数据传输方法、设备以及计算机可读存储介质 | |
JP2006270469A (ja) | 通信データ制御装置 | |
KR100787220B1 (ko) | 읽기 동작 및 쓰기 동작이 동시에 가능한 디바이스를구비한 전자장치 및 그 방법 | |
KR100736902B1 (ko) | 복수의 프로세서에 의한 메모리 공유 방법 및 장치 | |
CN113709061A (zh) | 一种报文转发的方法和电路 | |
KR101345437B1 (ko) | 칩들간의 통신을 위한 인터페이스 장치 및 방법 | |
US20110110383A1 (en) | Network interface controller capable of sharing buffers and buffer sharing method | |
CN118363901B (zh) | PCIe设备、电子组件及电子设备 | |
KR100974914B1 (ko) | 스마트 카드에 적합한 디엠에이를 이용한 유에스비 데이터 전송 방법 | |
JP2006201878A (ja) | マイクロコンピュータ | |
JP2005141677A (ja) | Icカード用通信ライブラリ及びicカード | |
JP2005110019A (ja) | シリアル通信システム | |
JP4624252B2 (ja) | データパケット転送装置、データパケット転送方法、及び、データパケット転送プログラム | |
CN118567560A (zh) | 存储帧数据的方法、芯片和电子设备 | |
CN116501268A (zh) | 应用于ddr phy的数据读取方法 | |
JP2008134892A (ja) | 集積回路装置 | |
KR20050107159A (ko) | 시스템의 직렬 인터페이스 버스를 위한 버스 컨트롤러 | |
KR20080012654A (ko) | 멀티미디어 데이터 처리 장치 및 처리 방법 | |
KR20000067174A (ko) | 인터아이씨의 제너럴콜 어크날리지장치및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090519 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090721 |
|
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: 20100105 |
|
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: 20100201 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130205 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140205 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140205 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150205 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |