[go: up one dir, main page]

JP2004086353A - Firmware write control method and card device to which the write control method is applied - Google Patents

Firmware write control method and card device to which the write control method is applied Download PDF

Info

Publication number
JP2004086353A
JP2004086353A JP2002243976A JP2002243976A JP2004086353A JP 2004086353 A JP2004086353 A JP 2004086353A JP 2002243976 A JP2002243976 A JP 2002243976A JP 2002243976 A JP2002243976 A JP 2002243976A JP 2004086353 A JP2004086353 A JP 2004086353A
Authority
JP
Japan
Prior art keywords
register
card
firmware
host device
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002243976A
Other languages
Japanese (ja)
Inventor
Hideyori Tanuma
田沼 英順
Yasunari Akaike
赤池 康成
Tetsushi Ota
太田 哲史
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002243976A priority Critical patent/JP2004086353A/en
Publication of JP2004086353A publication Critical patent/JP2004086353A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • H04W12/47Security arrangements using identity modules using near field communication [NFC] or radio frequency identification [RFID] modules

Landscapes

  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】カード装置への不揮発性メモリの実装後にその不揮発性メモリに対するファームウェアの書き込みまたは書き換えを安全に実行する仕組みを実現する。
【解決手段】ファームウェアの制御無しでホスト装置1と通信可能なカード装置10内のカードインタフェース部21内に設けられたフラッシュROMレジスタ211を利用することにより、フラッシュメモリ30の実装後において、カード装置10内のフラッシュメモリ30にファームウェアを書き込むことが出来る。さらに、カードインタフェース部21内にはフラッシュメモリ30の内容が誤って或いは作為的に書き換えられることを防止するための機構としてアクセスプロテクトレジスタ212が用意されており、ホスト装置1によるファームウェアの書き込み動作は、アクセスプロテクトレジスタ212にホスト装置1によってセットされたコードデータが予め決められた正当な値である場合にのみ許可される。
【選択図】 図1
A mechanism for safely executing writing or rewriting of firmware in a nonvolatile memory after mounting the nonvolatile memory in a card device is realized.
A flash memory device includes a flash ROM register provided in a card interface unit of a card device capable of communicating with a host device without controlling a firmware. Firmware can be written to the flash memory 30 in the memory 10. Furthermore, an access protect register 212 is provided in the card interface unit 21 as a mechanism for preventing the contents of the flash memory 30 from being erroneously or intentionally rewritten. Is permitted only when the code data set by the host device 1 in the access protection register 212 is a predetermined valid value.
[Selection diagram] Fig. 1

Description

【0001】
【発明の属する技術分野】
本発明はファームウェア書き込み制御方法および同書き込み制御方法が適用されるカード装置に関する。
【0002】
【従来の技術】
近年、パーソナルコンピュータ、PDA、カメラ、携帯電話等の様々な携帯型電子機器が開発されている。これら電子機器においては、リムーバブル記憶デバイスの1つであるメモリカードが多く用いられている。代表的なメモリカードとしては、例えば、PCMCIAカード(PCカード)が知られている。
【0003】
メモリカードは携帯型電子機器から自由にアクセスすることが出来る。また、ユーザデータの読み出しおよび書き込みに保護機能を設けたメモリカードも知られている(特開平7−200767号公報)。
【0004】
メモリカードとしては、上述のPCMCIAカード(PCカード)の他に、それよりも更に小型のSD(Secure Digital)メモリカードも知られている。SDメモリカードは不揮発性メモリを内蔵する切手サイズのメモリカードであり、小型化、容量、および高速化の要求に見合うように特に設計されている。
【0005】
また、最近では、SDメモリカードの応用製品として、例えば無線通信カードなどのSDIOカードが規格化され、各社から新規カードデバイスとして設計、開発、販売が開始されようとしている。SDIOカードは、そのカード内に内蔵された不揮発性メモリに格納されているファームウェアに従って、例えば無線通信等の所定の周辺デバイスとしての機能を実行する。
【0006】
【発明が解決しようとする課題】
しかし、SDIOカードの製造に際しては、次のような問題がある。
【0007】
すなわち、通常は、カードデバイスの製造に際しては、そのカードデバイスに搭載する部品についてはその実装前に部品単体で必要なデータの書き込みが行われた後にカードに実装される。
【0008】
しかし、もしそのカードデバイスのパッケージング後の検査において書き込みデータにエラーが検出された場合には、その部品の取り外しおよびデータの書き直しといったいわゆる後戻り工程が必要となる。SDIOカードは非常に小型のカードであるので、パッケージング後の部品の取り外し等の作業には多くの時間を要することとなる。
【0009】
特に、SDIOカードにおいてはファームウェアを格納した不揮発性メモリを搭載することが必要であるので、パッケージング後の検査においてファームウェアの一部にでもエラーが検出されると、その不揮発性メモリ自体を取り外してファームウェアを書き直すといった作業が必要となり、結果的に製造コストの増大を招くことになる。
【0010】
本発明は上述の事情を考慮してなされたもので、カード装置への不揮発性メモリの実装後にその不揮発性メモリに対するファームウェアの書き込みまたは書き換えを安全に実行することが可能なファームウェア書き込み制御方法およびカード装置を提供することを目的とする。
【0011】
【課題を解決するための手段】
上述の課題を解決するため、本発明は、ホスト装置に取り外し自在に装着されるカード装置内に設けられた不揮発性メモリに、前記カード装置に所定の機能を実行させるためのファームウェアを書き込むためのファームウェア書き込み制御方法であって、前記カード装置内には、前記ファームウェアの制御無しで前記ホスト装置と通信可能なカードインタフェース部が設けられており、前記カード装置の前記カードインタフェース部内に設けられた第1のレジスタに前記ホスト装置によってセットされたコードデータが予め決められた正当な値であるか否かを判定するステップと、前記判定結果に応じて、前記不揮発性メモリを前記ホスト装置からアクセスするために前記カードインタフェース部内に設けられた第2のレジスタを介して実行される前記ホスト装置による前記不揮発性メモリへのファームウェアの書き込み動作を、許可又は禁止するステップとを具備することを特徴とする。
【0012】
このファームウェア書き込み制御方法においては、カード装置への不揮発性メモリの実装後にその不揮発性メモリに対するファームウェアの書き込みまたは書き換えを安全に実行することが可能となる。
【0013】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
図1には、本発明の一実施形態に係るカード装置10とそれを装着して使用可能なホスト装置1との関係が示されている。以下では、カード装置10としてSDIOカードを使用する場合を例示して説明する。
【0014】
SDIOカード10は、例えばパーソナルコンピュータ、PDA、カメラ、携帯電話等の各種ホスト装置1に設けられたSDカードスロット2に着脱自在に装着して使用されるカードデバイスである。ホスト装置1には、SDIOカード10を制御するホストコントローラ11が設けられている。SDIOカード10とホストコントローラ11との通信は、全てホストコントローラ11からのコマンドによって制御される。
【0015】
ホストコントローラ11とSDIOカード10との間を接続するSDバス50は、6本の通信線(データDAT0−3,コマンドCMD,クロックCLK)と3本の電源供給線(VDD,VSS,VSS)を含む。これに対応して、SDメモリカード10には、4本のデータピン[DAT0−3]、コマンドピン[CMD]、クロック信号ピン[CLK]、電源ピン[VDD]、2つのグランドピン[VSS]が設けられている。
【0016】
SDIOカード10は、例えば、無線通信カード、LANカード、またはGPSカード等として機能する。以下では、Bluetooth(R)規格の近距離無線通信カード(Bluetoothカード)として実現した場合を想定することとする。
【0017】
SDIOカード10には、図示のように、LSI20、フラッシュメモリ30、およびRF・アンテナ部40が実装されている。
【0018】
LSI20は、SDIO制御部21とベースバンドコア22とMPU23とを1チップ化したLSIである。フラッシュメモリ30は、SDIOカード10の動作を規定するファームウェアおよびホスト装置1にカードを認識させるためのカード属性情報等の記憶のために用いられる不揮発性メモリである。フラッシュメモリ30のデータ入出力端子およびアドレス入力端子はそれぞれLSI20に直接接続されている。
【0019】
フラッシュメモリ30に格納されたファームウェアは、MPU23によって実行される。MPU23がファームウェアを実行することにより、SDIOカード10はBluetoothカードとして機能することが出来る。
【0020】
SDIO制御部21はホストコントローラ11と通信するためのカードインタフェースである。このSDIO制御部21はファームウェアの制御無しで、すなわちMPU23の制御無しで、ホストコントローラ11と通信できるように構成されている。すなわち、SDIO制御部21にはカード識別動作等のために使用される共通ファンクションレジスタとして幾つかのレジスタが内蔵されており、ホスト装置1は、ホストコントローラ11およびSDバス50を介してSDIOカード10に動作コマンド(SDコマンド)を送信するだけで、SDIO制御部21内の所望の共通ファンクションレジスタにアクセスすることが出来る。
【0021】
本実施形態においては、フラッシュメモリ30へのファームウェアおよびカード属性情報の書き込みは、フラッシュメモリ30をSDIOカード10に実装した後に行われる。すなわち、ラッシュメモリ30へのファームウェアおよびカード属性情報の書き込みは、SDIOカード10の全ての部品実装およびパッケージングが完了した後に、ホスト装置1による制御によって実行される。この書き込み動作はSDIOカード10の工場出荷前に実行されるものである。もちろんSDIOカード10の出荷後においても、ユーザは、ホスト装置1によって実行される専用のプログラムを用いて、SDIOカード10のフラッシュメモリ30に格納されているファームウェアを書き換えることが出来る。
【0022】
このようなフラッシュメモリ30の実装後におけるファームウェアの書き込み/更新を実現するため、SDIO制御部21の共通ファンクションレジスタ内には、フラッシュROMアクセスレジスタ211およびアクセスプロテクトレジスタ212が設けられている。
【0023】
フラッシュROMアクセスレジスタ211は、ホスト装置1からフラッシュメモリ30をアクセスするために設けられたフラッシュROM制御用レジスタである。ホスト装置1は、フラッシュROMアクセスレジスタ211をアクセスするためのSDコマンドをSDバス50を介してSDIOカード10に発行することにより、フラッシュROMアクセスレジスタ211にコマンドや書き込みデータをセットする。これにより、ホスト装置1による制御で、フラッシュメモリ30へのファームウェアおよびカード属性情報の書き込み動作を実行する事が出来る。
【0024】
アクセスプロテクトレジスタ212は、フラッシュメモリ30をそれに対するアクセスから保護するために設けられたレジスタである。フラッシュROMアクセスレジスタ211を介したフラッシュメモリ30に対するアクセスは、予め決められたコードデータがホスト装置1によってアクセスプロテクトレジスタ212にセットされた場合にのみ許可される。
【0025】
MPU23はフラッシュメモリ30に格納されたファームウェアを実行することにより、ベースバンドコア22と共同して、近距離無線通信に必要な動作を実行する。
【0026】
次に、図2および図3を参照して、フラッシュメモリ30にファームウェアを書き込む動作について説明する。
【0027】
図2はフラッシュメモリ30にファームウェアを書き込むための基本手順を示しており、また図3はフラッシュROMアクセスレジスタ211の構成を示している。
【0028】
図3に示されているように、フラッシュROMアクセスレジスタ211は、ホスト装置1からリード・ライト可能な8bit幅の1個のデータレジスタ(リード動作時はFlash Memory Data Read Register、ライト動作時はFlash Memory Data Write Registerとして機能する)と、ホスト装置1からそれぞれリード・ライト可能な8bit幅の3個のアドレスレジスタ(下位8bitのアドレス設定に用いられるFlash Memory Lower Adress Register、中位8bitのアドレス設定に用いられるFlash Memory Middle Adress Register、上位8bitのアドレス設定に用いられるFlash Memory High Adress Register)とから構成されている。データレジスタは8bit幅のデータ線を介してフラッシュメモリ30のデータ入出力端子に直接的に接続され、また3個のアドレスレジスタは24bit幅のアドレス線を介してフラッシュメモリ30のアドレス入力端子に直接的に接続されている。
【0029】
以下、図2のフローチャートを参照して、SDIOカード10のパッケージング後において、フラッシュメモリ30に何も書き込まれていない状態からファームウェアおよびカード属性情報を書き込むための基本手順について説明する。
【0030】
SDIOカード10がホスト装置1のSDカードスロット2に装着されると(ステップS11)、ホストコントローラ11によって初期電源電圧がSDIOカード10に印加され、これによりSDIOカード10は初期化動作可能となる。ファームウェア書込み/更新プログラム12は、ホストコントローラ11を介してSDIOカード10に初期化用のSDコマンドを発行することにより、SDIOカード10を初期化する(ステップS12)。このとき、LSI20内で動作しているのはSDIO制御部21のみである。
【0031】
次いで、ファームウェア書込み/更新プログラム12は、初期化が完了したかどうかをSDIO制御部21からのレスポンスで確認する(ステップS13)。初期化完了後、フラッシュROMレジスタ211(データレジスタおよびアドレスレジスタ)へのアクセスが可能となる。ファームウェア書込み/更新プログラム12はフラッシュROMレジスタ211にアクセスする(ステップS14)。このフラッシュROMレジスタ211へのアクセスもSDコマンドによって行われる。ファームウェア書込み/更新プログラム12は、フラッシュROMレジスタ211にアクセスして、フラッシュROMレジスタ211に書込みコマンド(消去コマンドおよびプログラムコマンド)およびアドレス、さらには書き込みデータをセットすることによってフラッシュメモリ30の書き込み動作を制御し、フラッシュメモリ30にファームウェアを書き込む(ステップS14,S15)。
【0032】
以上が基本手順である。SDIO制御部21は初期印加電源電圧だけで動作し、ベースバンドコア22、MPU23の動作、またはフラッシュメモリ30に存在すべきファームウェアの動作を一切必要としない。またフラッシュROMレジスタ211のデータレジスタおよびアドレスレジスタからフラッシュメモリ30へはアドレス、データが直接的に接続されているため、コマンド発行及び書き込みデータのセットというフラッシュEEPROMにデータを書き込むための通常の手順をホスト装置1がフラッシュROMレジスタ211を用いて行うだけで、フラッシュメモリ30の制御をSDIOカード10が挿入されたホスト装置1側から行うことができる。
【0033】
このように、SDIOカード10のパッケージング後に、そのSDIOカード10に搭載されたフラッシュメモリ30にファームウェアを書き込むことができるので、上述した後戻り工程の発生を防止することが可能となる。また、SDIOカード10の出荷後においても、上記と同様の基本手順でファームウェアの書き込みを行うことにより、SDIOカード10のファームウェアの更新を行うことも出来る。
【0034】
なお、上述の基本手順のみではフラッシュROMレジスタ211のアドレスがわかってしまえば容易に読み出しや書きこみが行えてしまう。したがって製品出荷後に偶然のアクセスや解析によりファームウェアやカード属性情報の破壊や、書き換えが行われてしまう可能性がある。そこで、本実施形態においては、フラッシュメモリ30へのアクセスを容易にはできないようにするための保護手段としてアクセスプロテクトレジスタ212が設けられており、このアクセスプロテクトレジスタ212に所定のコードデータがセットされない限り、フラッシュROMレジスタ211を介したフラッシュメモリ30へのアクセスを禁止している。
【0035】
アクセスプロテクトレジスタ212の構成を図4に示す。アクセスプロテクトレジスタ212は、アクセス認証用の32bitのコードデータをセットできるようにするために、それぞれ8bit幅の4個のレジスタ(Protect Register<07:00>、Protect Register<15:08>、Protect Register<23:16>、Protect Register<31:24>)から構成されている。これら4個のレジスタは互いに異なるアドレスが割り当てられており、これら4個のレジスタそれぞれにセットされるデータの組み合わせからなる合計32bitのコードデータが予め決められた正当な値であるか否かが判定される。
【0036】
正当な値のコードデータがセットされない限り、フラッシュROMレジスタ211の使用は無効化され、そのフラッシュROMレジスタ211を介したフラッシュメモリ30へのアクセスは禁止される。これは、例えば、図5に示すように、フラッシュROMレジスタ211のデータレジスタ211aおよびアドレスレジスタ211bそれぞれとフラッシュメモリ30との間に配置されたフラッシュROM制御用インタフェース300内にゲート回路301を設け、このゲート回路301によってデータレジスタ211aおよびアドレスレジスタ211bそれぞれとフラッシュメモリ30のデータ入出力端子DATAおよびアドレス入力端子ADDRとの間を接続または非接続するという構成によって実現することが出来る。フラッシュROM制御用インタフェース300は、フラッシュメモリ30の制御端子CONTにライトイネーブル信号、アウトプットイネーブル信号等の制御信号を供給するためのメモリコントローラである。
【0037】
正当な値のコードデータがアクセスプロテクトレジスタ212にセットされた場合、ゲート回路301はオンし、データレジスタ211aおよびアドレスレジスタ211bそれぞれとフラッシュメモリ30のデータ入出力端子DATAおよびアドレス入力端子ADDRとの間を接続する。これにより、データレジスタ211aおよびアドレスレジスタ211bが有効となり、これらレジスタを介したフラッシュメモリ30のアクセスが許可される。
【0038】
正当な値のコードデータがアクセスプロテクトレジスタ212にセットされない限りは、データレジスタ211aおよびアドレスレジスタ211bは有効にならず、フラッシュメモリ30のアクセスは禁止される。この場合、たとえホスト装置1が当該レジスタをリードしたとしても“0”しか読むことが出来ない。
【0039】
以下、図6のフローチャートを参照して、アクセスプロテクトレジスタ212を利用したアクセス認証を追加した場合における書き込み処理の手順を説明する。
【0040】
SDIOカード10がホスト装置1のSDカードスロット2に装着されると(ステップS21)、ホストコントローラ11によって初期電源電圧がSDIOカード10に印加され、これによりSDIOカード10は初期化動作可能となる。ファームウェア書込み/更新プログラム12は、ホストコントローラ11を介してSDIOカード10に初期化用のSDコマンドを発行することにより、SDIOカード10を初期化する(ステップS22)。このとき、LSI20内で動作しているのはSDIO制御部21のみである。
【0041】
次いで、ファームウェア書込み/更新プログラム12は、初期化が完了したかどうかをSDIO制御部21からのレスポンスで確認する(ステップS23)。
【0042】
初期化が完了するとこの時点で共通ファンクション(ファンクション番号0番)レジスタのアクセスが可能となる。ただしフラッシュROMレジスタ211はこの段階では保護状態のレジスタとなっており、当該レジスタをリードしても“0”が読めるだけである。ファームウェア書込み/更新プログラム12は、アクセスプロテクトレジスタ212を構成する4個のレジスタそれぞれを順次アクセスし、予め決められた32bitの所定のコードデータ(KEYコード)をアクセスプロテクトレジスタ212にセットする(ステップS24)。
【0043】
SDIO制御部21内では、コードデータが正しい値であるかどうかが判別される(ステップS25)。この判別処理は、例えば、正しいコードデータ値とアクセスプロテクトレジスタ212にセットされたコードデータ値とを比較する回路をSDIO制御部21内に設けること等によって実現される。
【0044】
アクセスプロテクトレジスタ212に正しいコードデータ値がセットされた場合、ゲート回路301がオンすることにより、SDIO制御部21内のフラッシュROMレジスタ211と直結のアドレス、データ線が有効になり、フラッシュメモリ30のアクセスが許可される。
【0045】
ファームウェア書込み/更新プログラム12は、フラッシュROMレジスタ211にアクセスして、フラッシュROMレジスタ211に書込みコマンド(消去コマンドおよびプログラムコマンド)およびアドレス、さらに書き込みデータをセットすることによってフラッシュメモリ30の書き込み動作を制御し、フラッシュメモリ30にファームウェアを書き込む(ステップS26,S27)。
【0046】
アクセスプロテクトレジスタ212は1つのレジスタでも実現可能である。しかし、8ビットのデータの場合にはアクセスを可能にするコードデータの値が解析される恐れもある。さらに容易に特定できないようにするためにも32ビット(複数レジスタ)にすることが好ましい。この場合、アドレスの異なる複数のレジスタにセットされるデータの組み合わせをコードデータの値とし、それが正しいがどうかを判別することにより、各レジスタとそれにセットされる値との関係をも考慮したアクセス認証が可能となる。
【0047】
また、SDIOカード10の出荷後においても、上記と同様の手順で、SDIOカード10のファームウェアの更新を行うことが出来る。さらに、フラッシュメモリ30に何も書かれていないSDIOカード10であることを確認するために、図7のフローチャートに示すように、上述のステップS23とS24との間に、当該SDIOカード10が正常動作しているかどうかを判断するステップ100を追加してもよい。
【0048】
なお、アクセスプロテクトレジスタ212に加え、さらに、フラッシュメモリ30の書き込み保護を行うためのライトプロテクトレジスタを設けることが好ましい。この場合、アクセスプロテクトレジスタ212に正しいコードデータがセットされた段階では、フラッシュメモリ30に対して許可されるアクセスはリードオンリーとなり、ライトプロテクトレジスタに特定のライトプロテクト解除データがセットされた段階でフラッシュメモリ30に対するライトアクセスが許可される。
【0049】
SDIO制御部21の共通ファンクションレジスタ内には、上述のフラッシュROMレジスタを構成するデータレジスタおよびアドレスレジスタと上述のアクセスプロテクトレジスタに加え、図8に示すように、ライトプロテクトレジスタ(Write Protect)も設けられることになる。
【0050】
図9に示すように、ホスト装置1によってライトプロテクトレジスタ401にセットされる特定のライトプロテクト解除データは、フラッシュROM制御用インタフェース300内のライトイネーブル回路(WE回路)302に対して、ライトイネーブル信号の発生を許可する信号として供給される。これにより、フラッシュメモリ30のライトプロテクトを解除することが出来る。
【0051】
以下、図10のフローチャートを参照して、アクセスプロテクトレジスタ212を利用したアクセス認証の他にライトプロテクトレジスタによる書き込み保護を利用した場合における書き込み処理の手順を説明する。
【0052】
SDIOカード10がホスト装置1のSDカードスロット2に装着されると(ステップS31)、ホストコントローラ11によって初期電源電圧がSDIOカード10に印加され、これによりSDIOカード10は初期化可能となる。ファームウェア書込み/更新プログラム12は、ホストコントローラ11を介してSDIOカード10に初期化用のSDコマンドを発行することにより、SDIOカード10を初期化する(ステップS32)。このとき、LSI20内で動作しているのはSDIO制御部21のみである。
【0053】
次いで、ファームウェア書込み/更新プログラム12は、初期化が完了したかどうかをSDIO制御部21からのレスポンスで確認する(ステップS33)。
【0054】
初期化が完了するとこの時点で共通ファンクション(ファンクション番号0番)レジスタのアクセスが可能となる。ただしフラッシュROMレジスタ211はこの段階では保護状態のレジスタとなっており、当該レジスタをリードしても“0”が読めるだけである。ファームウェア書込み/更新プログラム12は、アクセスプロテクトレジスタ212を構成する4個のレジスタそれぞれを順次アクセスし、予め決められた32bitの所定のコードデータ(KEYコード)をアクセスプロテクトレジスタ212にセットする(ステップS34)。
【0055】
SDIO制御部21内では、コードデータが正しい値であるかどうかが判別される(ステップS35)。この判別処理は、例えば、正しいコードデータ値とアクセスプロテクトレジスタ212にセットされたコードデータ値とを比較する回路をSDIO制御部21内に設けること等によって実現される。
【0056】
アクセスプロテクトレジスタ212に正しいコードデータ値がセットされた場合、ゲート回路301がオンすることにより、SDIO制御部21内のフラッシュROMレジスタ211と直結のアドレス、データ線が有効になり、フラッシュメモリ30のアクセスが許可される。ただし、フラッシュメモリ30はライトプロテクトされているので、フラッシュメモリ30はリードオンリー状態となる。
【0057】
ファームウェア書込み/更新プログラム12は、ライトプロテクトレジスタにライトプロテクト解除用のデータをセットすることにより、フラッシュメモリ30に対するライトプロテクトを解除する(ステップS36,S37)。この後、ファームウェア書込み/更新プログラム12は、フラッシュROMレジスタ211にアクセスして、フラッシュROMレジスタ211に書込みコマンド(消去コマンドおよびプログラムコマンド)およびアドレス、さらに書き込みデータをセットすることによってフラッシュメモリ30の書き込み動作を制御し、フラッシュメモリ30にファームウェアを書き込む(ステップS38,S39)。
【0058】
以上のように、本実施形態によれば、ファームウェアの制御無しでホスト装置1と通信可能なSDIO制御部21内に設けられたフラッシュROMレジスタ211を利用することにより、フラッシュメモリ30の実装後に、ホスト装置1による制御で、SDIOカード10内のフラッシュメモリ30にファームウェアを書き込むことが出来る。特に、SDIO制御部21内に設けられたアクセスプロテクトレジスタ212、さらにはライトプロテクトレジスタを併用することで、SDIOカード10のパッケージング後におけるファームウェアの書き込み/更新を許容しつつ、SDIOカード10をその不用意なアクセス等に起因するファームウェアの破壊等から保護することが出来る。
【0059】
【発明の効果】
以上詳述した如く本発明によれば、カード装置への不揮発性メモリの実装後にその不揮発性メモリに対するファームウェアの書き込みまたは書き換えを安全に実行することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るカード装置とそれを装着して使用可能なホスト装置との関係を示すブロックブロック図。
【図2】同実施形態におけるファームウェア書き込み動作の手順を示すフローチャート。
【図3】同実施形態におけるフラッシュROMアクセスレジスタの構成を示す図。
【図4】同実施形態におけるアクセスプロテクトレジスタの構成を示す図。
【図5】同実施形態においてアクセスプロテクトレジスタを用いてフラッシュROMアクセスレジスタの使用を制限するための構成例を示すブロック図。
【図6】同実施形態におけるファームウェア書き込み動作の手順の第2の例を示すフローチャート。
【図7】同実施形態におけるファームウェア書き込み動作の手順の第3の例を示すフローチャート。
【図8】同実施形態におけるライトプロテクトレジスタの構成を示す図。
【図9】同実施形態においてライトプロテクトレジスタを用いてフラッシュメモリを書き込み保護するための構成例を示すブロック図。
【図10】同実施形態におけるファームウェア書き込み動作の手順の第4の例を示すフローチャート。
【符号の説明】
1…ホスト装置
10…SDIOカード
11…ホストコントローラ
21…SDIO制御部
22…ベースバンドコア
23…MPU
211…フラッシュROMアクセスレジスタ
212…アクセスプロテクトレジスタ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a firmware write control method and a card device to which the write control method is applied.
[0002]
[Prior art]
In recent years, various portable electronic devices such as personal computers, PDAs, cameras, and mobile phones have been developed. In these electronic devices, a memory card, which is one of the removable storage devices, is often used. For example, a PCMCIA card (PC card) is known as a typical memory card.
[0003]
The memory card can be freely accessed from a portable electronic device. A memory card provided with a protection function for reading and writing user data is also known (Japanese Patent Laid-Open No. 7-200767).
[0004]
As the memory card, in addition to the above-described PCMCIA card (PC card), an even smaller SD (Secure Digital) memory card is known. The SD memory card is a stamp-size memory card having a built-in nonvolatile memory, and is specially designed to meet demands for miniaturization, capacity, and high speed.
[0005]
Recently, SDIO cards such as wireless communication cards have been standardized as application products of SD memory cards, and designs, developments, and sales of new card devices are starting to be started by various companies. The SDIO card performs a function as a predetermined peripheral device such as wireless communication, for example, according to firmware stored in a nonvolatile memory built in the card.
[0006]
[Problems to be solved by the invention]
However, there are the following problems when manufacturing an SDIO card.
[0007]
That is, when manufacturing a card device, usually, necessary data is written by itself for the components mounted on the card device before mounting, and then mounted on the card.
[0008]
However, if an error is detected in the write data in the inspection after packaging of the card device, a so-called retrace process such as removal of the component and rewriting of data is required. Since the SDIO card is a very small card, it takes a lot of time to remove components after packaging.
[0009]
In particular, since an SDIO card needs to be equipped with a non-volatile memory storing firmware, if an error is detected even in a part of the firmware in the inspection after packaging, the non-volatile memory itself is removed. Work such as rewriting the firmware is required, resulting in an increase in manufacturing cost.
[0010]
The present invention has been made in view of the above circumstances, and has a firmware write control method and a card capable of safely executing writing or rewriting of firmware in a nonvolatile memory after mounting the nonvolatile memory in a card device. It is intended to provide a device.
[0011]
[Means for Solving the Problems]
In order to solve the above-mentioned problems, the present invention provides a nonvolatile memory provided in a card device detachably mounted on a host device, for writing firmware for causing the card device to execute a predetermined function. A firmware writing control method, wherein a card interface unit capable of communicating with the host device without control of the firmware is provided in the card device, and a card interface unit provided in the card interface unit of the card device is provided. Determining whether the code data set by the host device in one register is a predetermined valid value; and accessing the non-volatile memory from the host device according to the determination result Via a second register provided in the card interface unit The firmware of the write operation to the nonvolatile memory by the host apparatus, characterized by comprising a step of enabling or disabling.
[0012]
According to this firmware write control method, it is possible to safely execute the writing or rewriting of the firmware in the nonvolatile memory after the nonvolatile memory is mounted on the card device.
[0013]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 shows a relationship between a card device 10 according to an embodiment of the present invention and a host device 1 which can be used by mounting it. Hereinafter, a case where an SDIO card is used as the card device 10 will be described as an example.
[0014]
The SDIO card 10 is a card device that is used by being removably mounted in an SD card slot 2 provided in various host devices 1 such as a personal computer, a PDA, a camera, and a mobile phone. The host device 1 is provided with a host controller 11 for controlling the SDIO card 10. All communication between the SDIO card 10 and the host controller 11 is controlled by a command from the host controller 11.
[0015]
The SD bus 50 connecting the host controller 11 and the SDIO card 10 has six communication lines (data DAT0-3, command CMD, clock CLK) and three power supply lines (VDD, VSS, VSS). Including. Correspondingly, the SD memory card 10 has four data pins [DAT0-3], a command pin [CMD], a clock signal pin [CLK], a power supply pin [VDD], and two ground pins [VSS]. Is provided.
[0016]
The SDIO card 10 functions as, for example, a wireless communication card, a LAN card, a GPS card, or the like. In the following, it is assumed that this is realized as a short-range wireless communication card (Bluetooth card) of the Bluetooth (R) standard.
[0017]
As shown, the SDIO card 10 has an LSI 20, a flash memory 30, and an RF / antenna unit 40 mounted thereon.
[0018]
The LSI 20 is an LSI in which the SDIO control unit 21, the baseband core 22, and the MPU 23 are integrated into one chip. The flash memory 30 is a non-volatile memory used for storing firmware defining the operation of the SDIO card 10 and card attribute information for causing the host device 1 to recognize the card. The data input / output terminal and the address input terminal of the flash memory 30 are directly connected to the LSI 20, respectively.
[0019]
The firmware stored in the flash memory 30 is executed by the MPU 23. When the MPU 23 executes the firmware, the SDIO card 10 can function as a Bluetooth card.
[0020]
The SDIO control unit 21 is a card interface for communicating with the host controller 11. The SDIO control unit 21 is configured to be able to communicate with the host controller 11 without controlling the firmware, that is, without controlling the MPU 23. That is, the SDIO control unit 21 incorporates several registers as common function registers used for a card identification operation and the like, and the host device 1 communicates with the SDIO card 10 via the host controller 11 and the SD bus 50. By simply transmitting an operation command (SD command) to the SDIO control unit 21, a desired common function register in the SDIO control unit 21 can be accessed.
[0021]
In the present embodiment, writing of firmware and card attribute information to the flash memory 30 is performed after the flash memory 30 is mounted on the SDIO card 10. That is, the writing of the firmware and the card attribute information to the rush memory 30 is executed under the control of the host device 1 after all the component mounting and packaging of the SDIO card 10 are completed. This writing operation is performed before the SDIO card 10 is shipped from the factory. Of course, even after shipment of the SDIO card 10, the user can rewrite the firmware stored in the flash memory 30 of the SDIO card 10 using a dedicated program executed by the host device 1.
[0022]
A flash ROM access register 211 and an access protect register 212 are provided in a common function register of the SDIO control unit 21 in order to realize writing / updating of firmware after mounting the flash memory 30 as described above.
[0023]
The flash ROM access register 211 is a flash ROM control register provided for accessing the flash memory 30 from the host device 1. The host device 1 sets a command or write data in the flash ROM access register 211 by issuing an SD command for accessing the flash ROM access register 211 to the SDIO card 10 via the SD bus 50. Thereby, under the control of the host device 1, the operation of writing the firmware and the card attribute information to the flash memory 30 can be executed.
[0024]
The access protect register 212 is a register provided to protect the flash memory 30 from accessing the flash memory 30. Access to the flash memory 30 via the flash ROM access register 211 is permitted only when predetermined code data is set in the access protection register 212 by the host device 1.
[0025]
The MPU 23 executes an operation necessary for short-range wireless communication in cooperation with the baseband core 22 by executing firmware stored in the flash memory 30.
[0026]
Next, an operation of writing firmware in the flash memory 30 will be described with reference to FIGS.
[0027]
FIG. 2 shows a basic procedure for writing firmware in the flash memory 30, and FIG. 3 shows a configuration of the flash ROM access register 211.
[0028]
As shown in FIG. 3, the flash ROM access register 211 is a single 8-bit wide data register (Flash Memory Data Read Register during a read operation, and Flash during a write operation) that can be read and written from the host device 1. A memory data write register) and three address registers each having a width of 8 bits that can be read and written from the host device 1 (a flash memory lower address register used for setting the lower 8 bits of the address, and a middle 8 bits of the address setting). Flash Memory Middle Address Register used, Flash Memory High Adr used for address setting of upper 8 bits ess Register). The data register is directly connected to the data input / output terminal of the flash memory 30 via an 8-bit data line, and the three address registers are directly connected to the address input terminal of the flash memory 30 via a 24-bit address line. Connected.
[0029]
Hereinafter, a basic procedure for writing firmware and card attribute information from a state where nothing has been written to the flash memory 30 after packaging the SDIO card 10 will be described with reference to the flowchart of FIG.
[0030]
When the SDIO card 10 is inserted into the SD card slot 2 of the host device 1 (step S11), an initial power supply voltage is applied to the SDIO card 10 by the host controller 11, whereby the SDIO card 10 can be initialized. The firmware write / update program 12 initializes the SDIO card 10 by issuing an SD command for initialization to the SDIO card 10 via the host controller 11 (step S12). At this time, only the SDIO control unit 21 operates in the LSI 20.
[0031]
Next, the firmware writing / updating program 12 confirms whether or not the initialization has been completed by a response from the SDIO control unit 21 (step S13). After the initialization is completed, the flash ROM register 211 (data register and address register) can be accessed. The firmware write / update program 12 accesses the flash ROM register 211 (Step S14). Access to the flash ROM register 211 is also performed by an SD command. The firmware write / update program 12 accesses the flash ROM register 211 and sets a write command (erase command and program command) and an address in the flash ROM register 211, and further sets the write data to execute the write operation of the flash memory 30. Then, the firmware is written in the flash memory 30 (steps S14 and S15).
[0032]
The above is the basic procedure. The SDIO control unit 21 operates only with the initially applied power supply voltage, and does not require any operation of the baseband core 22, the MPU 23, or the operation of firmware to be present in the flash memory 30. Since the address and data are directly connected to the flash memory 30 from the data register and the address register of the flash ROM register 211, the normal procedure for writing data to the flash EEPROM, such as issuing a command and setting write data, is performed. Only by the host device 1 using the flash ROM register 211, the control of the flash memory 30 can be performed from the host device 1 side in which the SDIO card 10 is inserted.
[0033]
As described above, since the firmware can be written in the flash memory 30 mounted on the SDIO card 10 after the packaging of the SDIO card 10, it is possible to prevent the occurrence of the above-described return step. Further, even after the SDIO card 10 is shipped, the firmware of the SDIO card 10 can be updated by writing the firmware in the same basic procedure as described above.
[0034]
Note that if the address of the flash ROM register 211 is known only by the above-described basic procedure, reading and writing can be easily performed. Therefore, there is a possibility that firmware or card attribute information may be destroyed or rewritten by accidental access or analysis after the product is shipped. Therefore, in the present embodiment, an access protect register 212 is provided as protection means for preventing access to the flash memory 30 from being easily performed, and predetermined code data is not set in the access protect register 212. Access to the flash memory 30 via the flash ROM register 211 is prohibited.
[0035]
FIG. 4 shows the configuration of the access protect register 212. The access protect register 212 has four registers each having a width of 8 bits (Protect Register <07:00>, Protect Register <15:08>, Protect Register) so that 32-bit code data for access authentication can be set. <23:16>, Protect Register <31:24>). Different addresses are assigned to these four registers, and it is determined whether or not a total of 32 bits of code data, which is a combination of data set in each of these four registers, is a predetermined valid value. Is done.
[0036]
Unless code data having a valid value is set, use of the flash ROM register 211 is invalidated, and access to the flash memory 30 via the flash ROM register 211 is prohibited. For example, as shown in FIG. 5, a gate circuit 301 is provided in a flash ROM control interface 300 arranged between each of the data register 211a and the address register 211b of the flash ROM register 211 and the flash memory 30. The gate circuit 301 can be realized by a configuration in which each of the data register 211a and the address register 211b is connected or disconnected between the data input / output terminal DATA and the address input terminal ADDR of the flash memory 30. The flash ROM control interface 300 is a memory controller for supplying control signals such as a write enable signal and an output enable signal to the control terminal CONT of the flash memory 30.
[0037]
When code data having a valid value is set in the access protect register 212, the gate circuit 301 is turned on, and the gate circuit 301 is turned on between the data register 211a and the address register 211b and the data input / output terminal DATA and address input terminal ADDR of the flash memory 30. Connect. As a result, the data register 211a and the address register 211b become valid, and access to the flash memory 30 via these registers is permitted.
[0038]
Unless code data having a valid value is set in the access protect register 212, the data register 211a and the address register 211b are not enabled, and access to the flash memory 30 is prohibited. In this case, even if the host device 1 reads the register, only “0” can be read.
[0039]
Hereinafter, the procedure of the writing process when the access authentication using the access protection register 212 is added will be described with reference to the flowchart of FIG.
[0040]
When the SDIO card 10 is inserted into the SD card slot 2 of the host device 1 (step S21), an initial power supply voltage is applied to the SDIO card 10 by the host controller 11, whereby the SDIO card 10 can be initialized. The firmware write / update program 12 initializes the SDIO card 10 by issuing an SD command for initialization to the SDIO card 10 via the host controller 11 (step S22). At this time, only the SDIO control unit 21 operates in the LSI 20.
[0041]
Next, the firmware writing / updating program 12 checks whether or not the initialization has been completed, based on a response from the SDIO control unit 21 (step S23).
[0042]
When the initialization is completed, the common function (function number 0) register can be accessed at this point. However, the flash ROM register 211 is in a protected state at this stage, and reading this register can only read “0”. The firmware write / update program 12 sequentially accesses each of the four registers constituting the access protection register 212, and sets predetermined 32-bit predetermined code data (KEY code) in the access protection register 212 (step S24). ).
[0043]
In the SDIO control unit 21, it is determined whether or not the code data is a correct value (step S25). This determination process is realized by, for example, providing a circuit in the SDIO control unit 21 for comparing a correct code data value with a code data value set in the access protection register 212.
[0044]
When the correct code data value is set in the access protect register 212, the gate circuit 301 is turned on, so that the address and data lines directly connected to the flash ROM register 211 in the SDIO control unit 21 become valid. Access is allowed.
[0045]
The firmware write / update program 12 controls the write operation of the flash memory 30 by accessing the flash ROM register 211 and setting a write command (erase command and program command), an address, and write data in the flash ROM register 211. Then, the firmware is written to the flash memory 30 (steps S26 and S27).
[0046]
The access protect register 212 can be realized by a single register. However, in the case of 8-bit data, the value of code data enabling access may be analyzed. It is preferable to use 32 bits (a plurality of registers) in order to make it difficult to easily specify. In this case, a combination of data set in a plurality of registers having different addresses is used as a code data value, and it is determined whether or not the code data is correct, so that access is performed in consideration of a relationship between each register and a value set in the register. Authentication becomes possible.
[0047]
Even after the SDIO card 10 is shipped, the firmware of the SDIO card 10 can be updated in the same procedure as described above. Further, in order to confirm that the SDIO card 10 has nothing written in the flash memory 30, as shown in the flowchart of FIG. Step 100 of determining whether or not it is operating may be added.
[0048]
It is preferable to provide a write protect register for performing write protection of the flash memory 30 in addition to the access protect register 212. In this case, when the correct code data is set in the access protection register 212, the access permitted to the flash memory 30 is read-only, and when the specific write protection release data is set in the write protection register, the flash memory is reset. Write access to the memory 30 is permitted.
[0049]
As shown in FIG. 8, a write protect register (Write Protect) is provided in the common function register of the SDIO control unit 21 in addition to the data register and the address register constituting the flash ROM register and the access protect register. Will be done.
[0050]
As shown in FIG. 9, specific write protection release data set in the write protection register 401 by the host device 1 is transmitted to a write enable circuit (WE circuit) 302 in the flash ROM control interface 300 by a write enable signal. Is supplied as a signal that permits the occurrence of As a result, the write protection of the flash memory 30 can be released.
[0051]
Hereinafter, with reference to the flowchart of FIG. 10, a description will be given of a procedure of a write process in a case where write protection using a write protect register is used in addition to access authentication using the access protect register 212.
[0052]
When the SDIO card 10 is inserted into the SD card slot 2 of the host device 1 (step S31), an initial power supply voltage is applied to the SDIO card 10 by the host controller 11, whereby the SDIO card 10 can be initialized. The firmware write / update program 12 initializes the SDIO card 10 by issuing an SD command for initialization to the SDIO card 10 via the host controller 11 (step S32). At this time, only the SDIO control unit 21 operates in the LSI 20.
[0053]
Next, the firmware writing / updating program 12 confirms whether or not the initialization has been completed by a response from the SDIO control unit 21 (step S33).
[0054]
When the initialization is completed, the common function (function number 0) register can be accessed at this point. However, the flash ROM register 211 is in a protected state at this stage, and reading this register can only read “0”. The firmware writing / updating program 12 sequentially accesses each of the four registers constituting the access protection register 212, and sets predetermined code data (KEY code) of 32 bits in the access protection register 212 (step S34). ).
[0055]
In the SDIO control unit 21, it is determined whether or not the code data is a correct value (step S35). This determination process is realized by, for example, providing a circuit in the SDIO control unit 21 for comparing a correct code data value with a code data value set in the access protection register 212.
[0056]
When the correct code data value is set in the access protect register 212, the gate circuit 301 is turned on, so that the address and data lines directly connected to the flash ROM register 211 in the SDIO control unit 21 become valid. Access is allowed. However, since the flash memory 30 is write-protected, the flash memory 30 is in a read-only state.
[0057]
The firmware writing / updating program 12 releases the write protection to the flash memory 30 by setting data for releasing the write protection in the write protection register (steps S36 and S37). Thereafter, the firmware write / update program 12 accesses the flash ROM register 211 and sets a write command (erase command and program command) and an address in the flash ROM register 211, and further sets the write data, thereby writing the flash memory 30. The operation is controlled and the firmware is written in the flash memory 30 (steps S38 and S39).
[0058]
As described above, according to the present embodiment, by using the flash ROM register 211 provided in the SDIO control unit 21 that can communicate with the host device 1 without controlling the firmware, after the flash memory 30 is mounted, The firmware can be written into the flash memory 30 in the SDIO card 10 under the control of the host device 1. In particular, by using the access protect register 212 provided in the SDIO control unit 21 and the write protect register together, the SDIO card 10 can be written / updated after the SDIO card 10 is packaged, and the SDIO card 10 can be used. It is possible to protect against destruction of firmware due to inadvertent access or the like.
[0059]
【The invention's effect】
As described above in detail, according to the present invention, it is possible to safely execute the writing or rewriting of firmware in the nonvolatile memory after the nonvolatile memory is mounted on the card device.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a relationship between a card device according to an embodiment of the present invention and a host device which can be used by mounting the card device.
FIG. 2 is an exemplary flowchart illustrating the procedure of a firmware write operation in the embodiment.
FIG. 3 is an exemplary view showing a configuration of a flash ROM access register in the embodiment.
FIG. 4 is an exemplary view showing a configuration of an access protection register according to the embodiment;
FIG. 5 is an exemplary block diagram showing a configuration example for restricting use of a flash ROM access register by using an access protect register in the embodiment;
FIG. 6 is an exemplary flowchart illustrating a second example of the procedure of a firmware write operation in the embodiment.
FIG. 7 is an exemplary flowchart illustrating a third example of the procedure of a firmware write operation in the embodiment.
FIG. 8 is a diagram showing a configuration of a write protect register in the embodiment.
FIG. 9 is a block diagram showing a configuration example for write-protecting the flash memory using the write protect register in the embodiment.
FIG. 10 is an exemplary flowchart illustrating a fourth example of the procedure of a firmware write operation in the embodiment.
[Explanation of symbols]
1. Host device
10. SDIO card
11 Host controller
21 SDIO control unit
22 ... Baseband core
23 ... MPU
211: Flash ROM access register
212: Access protect register

Claims (12)

ホスト装置に取り外し自在に装着されるカード装置内に設けられた不揮発性メモリに、前記カード装置に所定の機能を実行させるためのファームウェアを書き込むためのファームウェア書き込み制御方法であって、
前記カード装置内には、前記ファームウェアの制御無しで前記ホスト装置と通信可能なカードインタフェース部が設けられており、
前記カード装置の前記カードインタフェース部内に設けられた第1のレジスタに前記ホスト装置によってセットされたコードデータが予め決められた正当な値であるか否かを判定するステップと、
前記判定結果に応じて、前記不揮発性メモリを前記ホスト装置からアクセスするために前記カードインタフェース部内に設けられた第2のレジスタを介して実行される前記ホスト装置による前記不揮発性メモリへのファームウェアの書き込み動作を、許可又は禁止するステップとを具備することを特徴とするファームウェア書き込み制御方法。
A firmware write control method for writing firmware for causing the card device to execute a predetermined function to a nonvolatile memory provided in a card device detachably mounted on a host device, comprising:
In the card device, a card interface unit capable of communicating with the host device without control of the firmware is provided,
Determining whether the code data set by the host device in a first register provided in the card interface unit of the card device is a predetermined valid value,
According to the result of the determination, the host device executes a firmware update to the nonvolatile memory by the host device, which is executed through a second register provided in the card interface unit in order to access the nonvolatile memory from the host device. A step of permitting or inhibiting a write operation.
前記第1のレジスタは互いにアドレスが異なる複数のレジスタから構成されており、
前記判定ステップは、
前記ホスト装置によって前記複数のレジスタにそれぞれセットされる複数のデータの組み合わせから構成されるコードデータの値が予め決められた正当な値であるか否かを判定するステップを含むことを特徴とする請求項1記載のファームウェア書き込み制御方法。
The first register includes a plurality of registers having different addresses from each other,
The determining step includes:
A step of determining whether or not a value of code data composed of a combination of a plurality of data respectively set in the plurality of registers by the host device is a predetermined valid value. The firmware write control method according to claim 1.
前記カード装置には、前記不揮発性メモリへの書き込みを禁止するライトプロテクト機能が設けられており、
前記カード装置の前記カードインタフェース部内に設けられた第3のレジスタに前記ホスト装置によって所定のデータがセットされた場合、前記ライトプロテクト機能を解除するステップをさらに具備することを特徴とする請求項1記載のファームウェア書き込み制御方法。
The card device is provided with a write protect function for inhibiting writing to the nonvolatile memory,
2. The method according to claim 1, further comprising the step of releasing the write protect function when predetermined data is set in a third register provided in the card interface unit of the card device by the host device. The described firmware writing control method.
前記第2のレジスタは、前記不揮発性メモリのデータ入出力端子およびアドレス入力端子にそれぞれ結合されたデータレジスタおよびアドレスレジスタを含むことを特徴とする請求項1記載のファームウェア書き込み制御方法。2. The firmware write control method according to claim 1, wherein said second register includes a data register and an address register respectively coupled to a data input / output terminal and an address input terminal of said nonvolatile memory. ホスト装置に取り外し自在に装着可能に構成され、不揮発性メモリに格納されたファームウェアに従って動作するカード装置において、
前記ファームウェアの制御無しで前記ホスト装置と通信可能なカードインタフェース部と、
前記カード装置の前記カードインタフェース部内に設けられた第1のレジスタに前記ホスト装置によってセットされたコードデータが予め決められた正当な値であるか否かを判定する手段と、
前記判定結果に応じて、前記不揮発性メモリを前記ホスト装置からアクセスするために前記カードインタフェース部内に設けられた第2のレジスタを介して実行される前記ホスト装置による前記不揮発性メモリへのファームウェアの書き込み動作を、許可又は禁止する手段とを具備することを特徴とするカード装置。
In a card device that is configured to be removably attachable to a host device and operates according to firmware stored in a nonvolatile memory,
A card interface unit capable of communicating with the host device without control of the firmware,
Means for determining whether the code data set by the host device in a first register provided in the card interface unit of the card device is a predetermined valid value,
According to the result of the determination, the host device executes a firmware update to the nonvolatile memory by the host device, which is executed through a second register provided in the card interface unit in order to access the nonvolatile memory from the host device. A card device comprising: means for permitting or prohibiting a writing operation.
前記第1のレジスタは互いにアドレスが異なる複数のレジスタから構成されており、
前記判定手段は、
前記ホスト装置によって前記複数のレジスタにそれぞれセットされる複数のデータの組み合わせから構成されるコードデータの値が予め決められた正当な値であるか否かを判定する手段を含むことを特徴とする請求項5記載のカード装置。
The first register includes a plurality of registers having different addresses from each other,
The determining means includes:
Means for determining whether a value of code data composed of a combination of a plurality of data respectively set in the plurality of registers by the host device is a predetermined valid value or not. The card device according to claim 5.
前記不揮発性メモリへの書き込みを禁止するために前記不揮発性メモリをライトプロテクトするライトプロテクト手段と、
前記カードインタフェース部内に設けられた第3のレジスタに前記ホスト装置によって所定のデータがセットされた場合、前記ライトプロテクト手段によるライトプロテクトを解除する手段とをさらに具備することを特徴とする請求項5記載のカード装置。
Write protection means for write-protecting the non-volatile memory to prohibit writing to the non-volatile memory;
6. The system according to claim 5, further comprising: means for canceling write protection by said write protection means when predetermined data is set by said host device in a third register provided in said card interface unit. The card device according to the above.
前記第2のレジスタは、前記不揮発性メモリのデータ入出力端子およびアドレス入力端子にそれぞれ結合されたデータレジスタおよびアドレスレジスタを含むことを特徴とする請求項5記載のカード装置。6. The card device according to claim 5, wherein the second register includes a data register and an address register respectively coupled to a data input / output terminal and an address input terminal of the nonvolatile memory. ホスト装置に装着可能なカード装置内に設けられた不揮発性メモリに、前記カード装置に所定の機能を実行させるためのファームウェアを書き込むためのファームウェア書き込み制御方法であって、
前記カード装置内には、前記ファームウェアの制御無しで前記ホスト装置と通信可能なカードインタフェース部が設けられており、
前記ホスト装置に、前記不揮発性メモリへのアクセスを可能にするためのコードデータを、前記カード装置の前記カードインタフェース部内に設けられた第1のレジスタにセットさせるコードデータ設定ステップと、
前記ホスト装置に、前記不揮発性メモリを前記ホスト装置からアクセスするために前記カードインタフェース部内に設けられた第2のレジスタに前記不揮発性メモリをアクセスするためのコマンドおよび書き込みデータをセットさせることにより、前記第2のレジスタを介した前記不揮発性メモリへのファームウェアの書き込み動作を前記ホスト装置に実行させるステップとを具備することを特徴とするファームウェア書き込み制御方法。
A firmware write control method for writing firmware for causing the card device to execute a predetermined function to a nonvolatile memory provided in a card device attachable to a host device,
In the card device, a card interface unit capable of communicating with the host device without control of the firmware is provided,
A code data setting step of causing the host device to set code data for enabling access to the nonvolatile memory to a first register provided in the card interface unit of the card device;
By causing the host device to set a command and write data for accessing the nonvolatile memory in a second register provided in the card interface unit to access the nonvolatile memory from the host device, Causing the host device to execute an operation of writing firmware to the nonvolatile memory via the second register.
前記第1のレジスタは互いにアドレスが異なる複数のレジスタから構成されており、
前記コードデータ設定ステップは、
前記ホスト装置に、前記コードデータを構成する複数のデータを前記複数のレジスタにそれぞれセットさせるステップを含むことを特徴とする請求項9記載のファームウェア書き込み制御方法。
The first register includes a plurality of registers having different addresses from each other,
The code data setting step includes:
10. The firmware write control method according to claim 9, further comprising the step of causing the host device to set a plurality of data constituting the code data in the plurality of registers.
前記カード装置には、前記不揮発性メモリへの書き込みを禁止するライトプロテクト機能が設けられており、
前記ホスト装置に、前記ライトプロテクト機能を解除するためのデータを前記カード装置の前記カードインタフェース部内に設けられた第3のレジスタにセットさせるステップをさらに具備することを特徴とする請求項9記載のファームウェア書き込み制御方法。
The card device is provided with a write protect function for inhibiting writing to the nonvolatile memory,
10. The method according to claim 9, further comprising the step of causing the host device to set data for releasing the write protect function in a third register provided in the card interface unit of the card device. Firmware writing control method.
前記第2のレジスタは、前記不揮発性メモリのデータ入出力端子およびアドレス入力端子にそれぞれ結合されたデータレジスタおよびアドレスレジスタを含むことを特徴とする請求項9記載のファームウェア書き込み制御方法。10. The firmware write control method according to claim 9, wherein said second register includes a data register and an address register respectively coupled to a data input / output terminal and an address input terminal of said nonvolatile memory.
JP2002243976A 2002-08-23 2002-08-23 Firmware write control method and card device to which the write control method is applied Pending JP2004086353A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002243976A JP2004086353A (en) 2002-08-23 2002-08-23 Firmware write control method and card device to which the write control method is applied

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002243976A JP2004086353A (en) 2002-08-23 2002-08-23 Firmware write control method and card device to which the write control method is applied

Publications (1)

Publication Number Publication Date
JP2004086353A true JP2004086353A (en) 2004-03-18

Family

ID=32052601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002243976A Pending JP2004086353A (en) 2002-08-23 2002-08-23 Firmware write control method and card device to which the write control method is applied

Country Status (1)

Country Link
JP (1) JP2004086353A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490193B2 (en) 2005-06-13 2009-02-10 Samsung Electronics Co., Ltd Flash memory devices with MMC interfaces and methods of operating the same
JP2013229920A (en) * 2010-06-28 2013-11-07 Huawei Device Co Ltd Wireless internet access device, sd control chip, and method for data communication
JP2017518558A (en) * 2014-04-08 2017-07-06 マイクロン テクノロジー, インク. Apparatus and method for securing an access protection scheme
JP2020149615A (en) * 2019-03-15 2020-09-17 株式会社バッファロー Equipment management systems, network equipment, management equipment, and programs

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490193B2 (en) 2005-06-13 2009-02-10 Samsung Electronics Co., Ltd Flash memory devices with MMC interfaces and methods of operating the same
JP2013229920A (en) * 2010-06-28 2013-11-07 Huawei Device Co Ltd Wireless internet access device, sd control chip, and method for data communication
JP2017518558A (en) * 2014-04-08 2017-07-06 マイクロン テクノロジー, インク. Apparatus and method for securing an access protection scheme
US11030122B2 (en) 2014-04-08 2021-06-08 Micron Technology, Inc. Apparatuses and methods for securing an access protection scheme
US11809335B2 (en) 2014-04-08 2023-11-07 Lodestar Licensing Group, Llc Apparatuses and methods for securing an access protection scheme
JP2020149615A (en) * 2019-03-15 2020-09-17 株式会社バッファロー Equipment management systems, network equipment, management equipment, and programs
JP7280483B2 (en) 2019-03-15 2023-05-24 株式会社バッファロー Device management system, network device, management device, and program

Similar Documents

Publication Publication Date Title
US10747299B2 (en) Card and host apparatus
US7558110B2 (en) IC module and cellular phone
US5687346A (en) PC card and PC card system with dual port ram and switchable rewritable ROM
US6188602B1 (en) Mechanism to commit data to a memory device with read-only access
US8190840B2 (en) Memory devices with data protection
US9245634B2 (en) Initialization of flash storage via an embedded controller
KR100524988B1 (en) Multimedia card apparatus capable of interfacing USB host and interfacing method of the same
US6587916B2 (en) Microcomputer with built-in programmable nonvolatile memory
US5928336A (en) PC card and peripheral device
US6453397B1 (en) Single chip microcomputer internally including a flash memory
US8316200B2 (en) Microcomputer, electronic instrument, and flash memory protection method
US20050182858A1 (en) Portable memory device with multiple I/O interfaces
JP5041980B2 (en) Data processing circuit and communication portable terminal device
JP2003132305A (en) Apparatus and method for controlling a memory card
KR20040044913A (en) Memory card and its initial setting method
JP4678083B2 (en) Memory device and memory access restriction method
JP2004086353A (en) Firmware write control method and card device to which the write control method is applied
US20040186947A1 (en) Access control system for nonvolatile memory
JPH07175725A (en) Semiconductor memory device
JP4053245B2 (en) Semiconductor memory device that can prevent unauthorized use
JP2006236200A (en) Card-like storage device and its host device
US6889299B1 (en) Semiconductor integrated circuit
JP2021144553A (en) Sensor device
JP7589584B2 (en) Circuit device and electronic device
JP2007115187A (en) Portable electronic device and IC card

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060418