JP2004287541A - 不揮発性メモリのアクセス制御システム - Google Patents
不揮発性メモリのアクセス制御システム Download PDFInfo
- Publication number
- JP2004287541A JP2004287541A JP2003075714A JP2003075714A JP2004287541A JP 2004287541 A JP2004287541 A JP 2004287541A JP 2003075714 A JP2003075714 A JP 2003075714A JP 2003075714 A JP2003075714 A JP 2003075714A JP 2004287541 A JP2004287541 A JP 2004287541A
- Authority
- JP
- Japan
- Prior art keywords
- nonvolatile memory
- access control
- command
- cpu
- writing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1433—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】システム作成者が改竄防止を必要とする情報の書き込みを自由にでき、かつ当該情報の改竄を確実に防止できる不揮発性メモリのアクセス制御システムを提供する。
【解決手段】ブートROMに格納したシステム初期化のためのプログラムに従ってCPUが不揮発性メモリ6上に書き換え禁止領域を設定し、かつ当該書き換え禁止領域上に設定した書き込み済みフラグFに従ってアクセス制御回路が書き換え許可/禁止の制御を行う。
【選択図】 図2
【解決手段】ブートROMに格納したシステム初期化のためのプログラムに従ってCPUが不揮発性メモリ6上に書き換え禁止領域を設定し、かつ当該書き換え禁止領域上に設定した書き込み済みフラグFに従ってアクセス制御回路が書き換え許可/禁止の制御を行う。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、不揮発性メモリのアクセス制御システムに関するものである。
【0002】
【従来の技術】
ある従来技術によれば、課金情報、残金情報などを記憶するための不揮発性メモリに特定アドレスの書き込み回数制限回路を設けることで、ICカードの不正使用を防止する(特許文献1参照)。
【0003】
他の従来技術によれば、不揮発性メモリ上にデータとプログラムとを混在させ得るように、特定アドレス領域のみデータの書き換えを可能とし、プログラム格納のための他のアドレス領域ではハードウェアにて書き換えを禁止する(特許文献2参照)。
【0004】
【特許文献1】
特開平8−329208号公報
【特許文献2】
特開平11−110287号公報
【0005】
【発明が解決しようとする課題】
例えば携帯電話において音楽、映画などの有料コンテンツの配信を受ける場合には、ユーザID及びパスワードといった個人認証情報が必要である。また、暗号化されたコンテンツを復号するためには鍵情報が必要である。これらの情報を不揮発性メモリに格納して利用する場合には、その改竄を防止するセキュリティ対策が重要である。
【0006】
ところが、上記特定アドレスの書き込み回数制限回路を不揮発性メモリに設ける従来技術では、システム作成者が改竄防止を必要とする情報の書き込みに失敗した場合に、再書き込みが不能になるおそれがある。
【0007】
本発明の目的は、システム作成者が改竄防止を必要とする情報の書き込みを自由にでき、かつ当該情報の改竄を確実に防止できる不揮発性メモリのアクセス制御システムを提供することにある。
【0008】
【課題を解決するための手段】
上記目的を達成するため、本発明は、ブートROMに格納したシステム初期化のためのプログラムに従ってCPUが不揮発性メモリ上に書き換え禁止領域を設定し、かつ当該書き換え禁止領域上に設定した書き込み済みフラグに従ってアクセス制御回路が書き換え許可/禁止の制御を行うこととしたものである。
【0009】
具体的に説明すると、本発明は、不揮発性メモリと、システム初期化のためのプログラムを格納したブートROMと、不揮発性メモリへのコマンドを発行するためのCPUと、当該CPUからコマンドを受け取って不揮発性メモリへのアクセスを制御するためのアクセス制御回路とを備えた構成を採用し、CPUは、システムの電源起動ごとに、ブートROMに格納したシステム初期化のためのプログラムを実行することにより不揮発性メモリ上に書き換え禁止領域を、当該書き換え禁止領域上に書き込み済みフラグをそれぞれ1回だけ設定するように動作し、アクセス制御回路は、書き込み済みフラグの状態を確認するまでは不揮発性メモリの如何なる書き込みも認めず、書き込み済みフラグの状態を確認した後は、当該書き込み済みフラグが書き換え禁止を示さなければ書き換え禁止領域への書き込みを何度でも許可するが、当該書き込み済みフラグに書き換え禁止を設定した後は書き換え禁止領域への書き込みを一切認めないこととしたものである。
【0010】
【発明の実施の形態】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。
【0011】
図1は、本発明に係る不揮発性メモリのアクセス制御システムの全体構成例を示している。図1の不揮発性メモリのアクセス制御システム1において、2はCPU、3はSRAM、4はブートROM、5はアクセス制御回路、6は不揮発性メモリ、7はシステムバスである。CPU2、SRAM3及びブートROM4は、システムバス7に接続されている。アクセス制御回路5は、不揮発性メモリ6とシステムバス7との間に介在する。SRAM3は、プログラム又はデータを格納するためのメモリである。ブートROM4は、システム初期化のためのプログラムを格納したメモリである。不揮発性メモリ6は、例えばフラッシュメモリである。CPU2は、SRAM3に格納したプログラム又はブートROM4に格納したプログラムを実行することにより、不揮発性メモリ2へのアクセスのためのコマンドを発行する。アクセス制御回路5は、CPU2からコマンドを受け取って不揮発性メモリ6へのアクセスを制御するための回路である。
【0012】
図2は、図1中の不揮発性メモリ6の内部構成を示している。不揮発性メモリ6は、例えばアドレス0000hから7FFFhまでの書き換え可能領域と、アドレス8000hからFFFFhまでの書き換え禁止領域とに分割される(hは16進数表記:以下同じ)。更に、書き換え禁止領域上の例えばアドレスFFF0hで指定される1バイト中に1ビットの書き込み済みフラグFが設定される。以下の説明では、不揮発性メモリ6の初期状態では全ビットの値が「1」であるものとする。したがって、書き込み済みフラグFの初期値も「1」である。ここでは、「F=1」が書き換え許可を、「F=0」が書き換え禁止をそれぞれ示すものとする。
【0013】
図3は、図1中のアクセス制御回路5の内部構成を示している。図3のアクセス制御回路5は、レジスタファイル10と、コマンド解析部20と、ライト/リード信号発行部30とを備えている。レジスタファイル10は、書き換え禁止領域アドレスレジスタ11と、書き換え禁止領域アドレスマスクレジスタ12と、書き換え禁止セクタアドレスレジスタ13と、書き込み済みフラグアドレスレジスタ14と、書き込み済みフラグビットレジスタ15と、書き込み済みフラグチェックコマンドレジスタ16と、レジスタステートマシン17とを有するものである。コマンド解析部20は、CPU2からシステムバス7を介して受け取ったコマンドを、レジスタファイル10を参照しながら解析する。ライト/リード信号発行部30は、コマンド解析部20での解析結果に従って不揮発性メモリ6の書き込み(ライト)/読み出し(リード)/消去(イレーズ)のための信号を発行する。特に不揮発性メモリ6上の書き込み済みフラグFを含む1バイトにアクセスする場合には、ライト/リード信号発行部30は、書き込み済みフラグアドレスレジスタ14と、書き込み済みフラグチェックコマンドレジスタ16とを参照する。
【0014】
図1中のCPU2は、システムの電源起動ごとに、ブートROM4に格納したシステム初期化のためのプログラムを実行することにより不揮発性メモリ6上に書き換え禁止領域を、当該書き換え禁止領域上に書き込み済みフラグFをそれぞれ1回だけ設定するように動作する。図2の例に従えば、書き換え禁止領域アドレスレジスタ11に8000hが、書き換え禁止領域アドレスマスクレジスタ12に7FFFhがそれぞれ設定される。また、書き込み済みフラグアドレスレジスタ14にFFF0hが、書き込み済みフラグビットレジスタ15に3hがそれぞれ設定される。
【0015】
図3のアクセス制御回路5は、CPU2から書き込み済みフラグチェックコマンドが与えられて書き込み済みフラグFの状態を確認するまでは不揮発性メモリ6の如何なる書き込みも認めず、書き込み済みフラグFの状態を確認した後は、当該書き込み済みフラグFが書き換え許可(F=1)を示す限りは書き換え禁止領域への書き込みを何度でも許可するが、当該書き込み済みフラグFに書き換え禁止(F=0)を設定した後は書き換え禁止領域への書き込みを一切認めないように動作する。したがって、システム作成者が改竄防止を必要とする情報の書き込みを自由にでき、かつ当該情報の改竄を確実に防止できる。
【0016】
図3中のコマンド解析部20は、CPU2から受け取ったコマンドが不揮発性メモリ6の書き込み又は消去を示し、その書き込み先又は消去先が不揮発性メモリ6の書き換え禁止領域であり、かつ書き込み済みフラグFが書き換え禁止(F=0)を示す場合には、CPU2から受け取ったコマンドをライト/リード信号発行部30に伝達しないように動作する。
【0017】
図4は、図3中のレジスタステートマシン17の動作を示している。レジスタステートマシン17は初期状態として、状態1にある。状態1においてCPU2により書き換え禁止領域アドレスレジスタ11が設定されると、状態2に遷移する。設定されなければ状態1を保つ。状態2において書き換え禁止領域アドレスマスクレジスタ12が設定されると、状態3に遷移する。設定されなければ状態2を保つ。状態3において書き換え禁止セクタアドレスレジスタ13が設定されると、状態4に遷移する。設定されなければ状態3を保つ。状態4において書き込み済みフラグアドレスレジスタ14が設定されると、状態5に遷移する。設定されなければ状態4を保つ。状態5において書き込み済みフラグビットレジスタ15が設定されると、状態6に遷移する。設定されなければ状態5を保つ。
【0018】
状態6になって始めて、書き込み済みフラグチェックコマンドレジスタ16はシステムバス7からの書き込みを受け付ける。書き込み済みフラグチェックコマンドレジスタ16に書き込み済みフラグFの状態確認実行のためのコマンドが設定されると、書き込み済みフラグチェックコマンドレジスタ16はそれをライト/リード信号発行部30に伝え、ライト/リード信号発行部30は書き込み済みフラグアドレスレジスタ14に設定されたアドレスのデータを不揮発性メモリ6よりリードする。コマンド解析部20は、リードしたデータのうち書き込み済みフラグビットレジスタ15で示されるビットの値を書き込み済みフラグFとして保持する。
【0019】
レジスタステートマシン17を状態1から状態6へ遷移させ、かつ書き込み済みフラグチェックコマンドを発行することによりコマンド解析部20に書き込み済みフラグFを保持させる上記処理は、ブートROM4に格納したシステム初期化のためのプログラムをCPU2が実行することにより達成される。これらの処理が全て完了するまでは、システムバス7から不揮発性メモリ6への如何なる書き込み、消去をもコマンド解析部20により禁止する。
【0020】
書き込み済みフラグFをチェックした後のライト/消去の可否判断はコマンド解析部20で行う。具体的には、書き込み済みフラグFが書き込み許可(F=1)を示すなら、コマンド解析部20は、書き換え禁止領域アドレスレジスタ11と書き換え禁止領域アドレスマスクレジスタ12とによって示される不揮発性メモリ6の書き換え禁止領域への書き込み、書き換え禁止セクタアドレスレジスタ13によって設定されるセクタの消去、不揮発性メモリ6上の全領域のイレーズのいずれをも許可する。したがって、システム作成者は、自分で不揮発性メモリ6上の書き込み済みフラグFを「0」に書き換えるまでは、改竄防止を必要とする情報の書き換え禁止領域への書き込みを自由にできる。しかし、システム作成者が不揮発性メモリ6上の書き込み済みフラグFを「0」に書き換えた後は、コマンド解析部20は、書き換え禁止領域への如何なる書き込み、消去も許可しない。なお、不揮発性メモリ6上の書き込み済みフラグFのコピーをコマンド解析部20が常に保持することとすれば、書き込み済みフラグチェックコマンドの発行回数を削減できる。
【0021】
図5は、図1中の不揮発性メモリ6のコマンドの例を示している。この不揮発性メモリ6は、ライト及びイレーズにそれぞれ特別なコマンド列を必要とするフラッシュメモリである。図5中のADRSはCPU2が発行するアドレスを、DATAはCPU2が発行するデータをそれぞれ表す。
【0022】
図5の上段に示すように、ライトコマンドにおいては、1サイクル目にアドレス555h/データAAhが、2サイクル目にアドレス2AAh/データ55hが、3サイクル目にアドレス555h/データA0hがそれぞれ入力された場合に、4サイクル目に入力されたアドレスWAに4サイクル目に入力されたデータWDをライトするように決められている。
【0023】
図5の中段に示すように、セクタイレーズコマンドにおいては、1サイクル目に555h/データAAhが、2サイクル目にアドレス2AAh/データ55hが、3サイクル目にアドレス555h/データ80hが、4サイクル目にアドレス555h/データAAhが、5サイクル目にアドレス2AAh/データ55hが、6サイクル目にデータ30hがそれぞれ入力された場合に、6サイクル目にデータ30hとともに入力されるアドレスSAで指定されたセクタのイレーズを行うように決められている。
【0024】
図5の下段に示すように、チップイレーズコマンドにおいては、5サイクル目まではセクタイレーズコマンドと同様であり、6サイクル目にアドレス555h/データ10hが入力された場合に、不揮発性メモリ6上の全領域のイレーズを行うように決められている。
【0025】
図6は、図3中のコマンド解析部20の動作を示している。コマンド解析部20は初期状態として、状態1にある。状態1においてシステムバス7よりアドレス555h/データAAhが入力されると、状態2に遷移する。それ以外の入力がなされた場合には状態1を保持する。状態2においてアドレス2AAh/データ55hが入力されると、状態3に遷移する。それ以外の入力がなされた場合には状態1に遷移する。
【0026】
状態3においてアドレス555h/データA0hが入力されると、状態4.1に遷移する。状態4.1は、システムバス7より正常なライトコマンドが入力されたことを表す状態である。状態4.1においては、その次に入力されたアドレスWAが書き換え禁止領域アドレスレジスタ11及び書き換え禁止領域アドレスマスクレジスタ12により設定された不揮発性メモリ6の書き換え禁止領域に相当するかどうかをコマンド解析部20が判断する。禁止領域に相当する場合には、そのアドレスへのライトは行わない。禁止領域に相当しない場合にはそのアドレスへのデータWDのライトを行う。
【0027】
状態3においてアドレス555h/データ80hが入力されると、状態4.2に遷移する。それ以外の入力がなされた場合には状態1に遷移する。状態4.2においてアドレス555h/データAAhが入力されると、状態5に遷移する。それ以外の入力がなされた場合には状態1に遷移する。状態5においてアドレス2AAh/データ55hが入力されると、状態6に遷移する。それ以外の入力がなされた場合には状態1に遷移する。
【0028】
状態6においてアドレス555h/データ10hが入力されると、それはチップイレーズを表す。不揮発性メモリ6上の書き込み済みフラグFが書き換え許可(F=1)を示す限り、コマンド解析部20は不揮発性メモリ6へのチップイレーズコマンドの発行を行う。しかしながら、不揮発性メモリ6上の書き込み済みフラグFを「0」に書き換えた後には当該不揮発性メモリ6のチップイレーズは禁止するので、コマンド解析部20は不揮発性メモリ6へのイレーズコマンドの発行を行わない。
【0029】
状態6においてデータ30hが入力されると、それはセクタイレーズを表す。よって、そのときに入力されたセクタアドレスSAが書き換え禁止セクタアドレスレジスタ13に設定されたセクタアドレスと異なる場合には、これに対応するセクタイレーズコマンドをコマンド解析部20が不揮発性メモリ6に発行する。書き換え禁止セクタアドレスレジスタ13に設定されたセクタアドレスと同一の場合には、そのセクタのイレーズは禁止するので、コマンド解析部20は不揮発性メモリ6へのコマンド発行を行わない。状態6においてそれ以外の入力がなされた場合には、状態1に遷移する。
【0030】
コマンド解析部20では全コマンドが正常に入力され、かつCPU2がライトしようとするアドレス、又はCPU2がイレーズしようとするセクタアドレスが禁止領域でないと判明してから、それまで溜め込んでおいた全てのコマンドを最初から順次ライト/リード信号発行部30に与える。したがって、ライト/リード信号発行部30へはアクセスの許可されたコマンドしか入力されないので、ライト/リード信号発行部30は、コマンド解析部20より入力される全てのアドレス/データをそのまま不揮発性メモリ6へ出力することができる。
【0031】
以上のとおり、システムバス7より入力されたアドレス/データをアクセス制御回路5にて解析し、アクセスを許可した場合にのみ不揮発性メモリ6へのライト/イレーズを行う。
【0032】
詳細に言うと、コマンド解析部20は、CPU2から受け取った全てのコマンドを解析し、受け取ったコマンド列が不揮発性メモリ6のライト又はセクタイレーズを示し、そのライト先又はイレーズ先が書き換え禁止領域であり、かつ書き込み済みフラグFが書き換え禁止を示す場合には、CPU2から受け取ったコマンド列を不揮発性メモリ6に一切伝達しない。また、コマンド解析部20は、CPU2から受け取ったコマンド列が不揮発性メモリ6のチップイレーズを示し、かつ書き込み済みフラグFが書き換え禁止を示す場合には、CPU2から受け取ったコマンド列を不揮発性メモリ6に一切伝達しないのである。
【0033】
なお、図1中のブートROM4のプログラムを差し替えることで図2中のレジスタファイル10の設定変更を実現すれば、不揮発性メモリ6上の書き換え禁止領域の設定をシステム毎に任意に変更できる。例えば、書き換え禁止領域アドレスレジスタ11に4000hを、書き換え禁止領域アドレスマスクレジスタ12に3FFFhをそれぞれ設定すれば、アドレス4000hから7FFFhまでの領域を書き換え禁止領域に設定することができる。
【0034】
図7は、図1中の不揮発性メモリ6の他の内部構成を示している。ここでは、不揮発性メモリ6上に有用なデータを置かない未使用領域としてダミーセクタが設けられ、例えばアドレス0010hがダミーバイトと定められる。
【0035】
この場合、コマンド解析部20は、CPU2から受け取ったコマンド列が不揮発性メモリ6のライトを示し、そのライト先が書き換え禁止領域であり、かつ書き込み済みフラグFが書き換え禁止を示す場合には、ダミーバイトに対して書き込みを行うように制御する。また、CPU2から受け取ったコマンド列が不揮発性メモリ6のセクタイレーズを示し、そのイレーズ先が書き換え禁止領域であり、かつ書き込み済みフラグFが書き換え禁止を示す場合には、ダミーセクタに対して書き込みを行うようにコマンド解析部20が制御する。また、CPU2から受け取ったコマンド列が不揮発性メモリ6のチップイレーズを示し、かつ書き込み済みフラグFが書き換え禁止を示す場合にも、ダミーセクタに対して書き込みを行うようにコマンド解析部20が制御する。
【0036】
このようにコマンド解析部20は、システムバス7より図5に示すアドレス/データを入力された都度、これをライト/リード信号発行部30に出力しながら、書き換え可能領域のライト/イレーズの場合にはライト先/イレーズ先を変更せず、書き換え禁止領域のライト/イレーズの場合にはライト先/イレーズ先を変更することでライト/イレーズのシーケンスを完了する。つまり、書き換え可能領域中の一部を犠牲にするだけで、コマンド解析部20がコマンド列を一時的に溜め込んでおく図2の場合に比べて、不揮発性メモリ6のアクセス速度が向上するのである。
【0037】
最後に、書き換え禁止領域中の情報を改竄しようとした者にペナルティを与えることができる構成を図8及び図9に示す。
【0038】
図8は、図3中のコマンド解析部20の内部構成図である。図8において、21はコマンド出力部、22はライト/消去コマンド検出部、23はイレーズコマンド発行部である。コマンド出力部21は、通常はCPU2からシステムバス7を介して受け取ったコマンドをそのままライト/リード信号発行部30へ供給する。ライト/消去コマンド検出部22は、書き換え禁止領域に対するライト/イレーズコマンドを検知し、かつ書き込み済みフラグFが書き換え禁止(F=0)を示す場合には、その旨をイレーズコマンド発行部23に伝える。これに応答して、イレーズコマンド発行部23は、図3中の書き換え禁止セクタアドレスレジスタ13に設定されたセクタアドレス以外の全てのセクタに対するイレーズコマンド発行命令をコマンド出力部21に与える。コマンド出力部21は、この命令に従って各セクタイレーズコマンドを発行する。これにより、改竄を防止しつつ、改竄を試みた者にペナルティを与えるように書き換え可能領域中の有用な情報が消去される。
【0039】
図9は、図3中のコマンド解析部20の他の内部構成図である。図9では、図8中のイレーズコマンド発行部23が書き込み済みフラグオーバーライト部24に置き換えられている。この書き込み済みフラグオーバーライト部24は、書き換え禁止領域に対するライト/イレーズコマンドを検知し、かつ書き込み済みフラグFが書き換え禁止(F=0)を示す旨をライト/消去コマンド検出部22から伝えられた場合には、図3中の書き込み済みフラグチェックコマンドレジスタ16に基づく状態確認実行により取得した書き込み済みフラグFと同じ値(=0)をライトデータとするように、全領域ライト命令をコマンド出力部21に与える。コマンド出力部21は、この命令に従って全領域ライトコマンドを発行する。これにより、改竄を試みた者にペナルティを与えるように、不揮発性メモリ6上の全データが書き込み済みフラグFと同じ値(=0)に書き換えられる。しかも、書き込み済みフラグFそのものは依然として書き換え禁止(F=0)を示すので、以後の書き込みも受け付けられない。
【0040】
なお、不揮発性メモリ6の初期状態で全ビットの値が「0」であるなら、「F=0」が書き換え許可を、「F=1」が書き換え禁止をそれぞれ示すものとすればよい。
【0041】
また、本発明はEEPROMなどの他の種類の不揮発性メモリにも適用可能である。
【0042】
【発明の効果】
以上説明してきたとおり、本発明によれば、ブートROMに格納したシステム初期化のためのプログラムに従ってCPUが不揮発性メモリ上に書き換え禁止領域を設定し、かつ当該書き換え禁止領域上に設定した書き込み済みフラグに従ってアクセス制御回路が書き換え許可/禁止の制御を行うこととしたので、システム作成者が改竄防止を必要とする情報の書き込みを自由にでき、かつ当該情報の改竄を確実に防止できる不揮発性メモリのアクセス制御システムを提供できる。
【図面の簡単な説明】
【図1】本発明に係る不揮発性メモリのアクセス制御システムの全体構成例を示すブロック図である。
【図2】図1中の不揮発性メモリの内部構成図である。
【図3】図1中のアクセス制御回路の内部構成図である。
【図4】図3中のレジスタステートマシンの動作を示す状態遷移図である。
【図5】図1中の不揮発性メモリのコマンド例を示す図である。
【図6】図3中のコマンド解析部の動作を示す状態遷移図である。
【図7】図1中の不揮発性メモリの他の内部構成図である。
【図8】図3中のコマンド解析部の内部構成図である。
【図9】図3中のコマンド解析部の他の内部構成図である。
【符号の説明】
1 不揮発性メモリのアクセス制御システム
2 CPU
3 SRAM
4 ブートROM
5 アクセス制御回路
6 不揮発性メモリ
7 システムバス
10 レジスタファイル
11 書き換え禁止領域アドレスレジスタ
12 書き換え禁止領域アドレスマスクレジスタ
13 書き換え禁止セクタアドレスレジスタ
14 書き込み済みフラグアドレスレジスタ
15 書き込み済みフラグビットレジスタ
16 書き込み済みフラグチェックコマンドレジスタ
17 レジスタステートマシン
20 コマンド解析部
21 コマンド出力部
22 ライト/消去コマンド検出部
23 イレーズコマンド発行部
24 書き込み済みフラグオーバーライト部
30 ライト/リード信号発行部
F 書き込み済みフラグ
【発明の属する技術分野】
本発明は、不揮発性メモリのアクセス制御システムに関するものである。
【0002】
【従来の技術】
ある従来技術によれば、課金情報、残金情報などを記憶するための不揮発性メモリに特定アドレスの書き込み回数制限回路を設けることで、ICカードの不正使用を防止する(特許文献1参照)。
【0003】
他の従来技術によれば、不揮発性メモリ上にデータとプログラムとを混在させ得るように、特定アドレス領域のみデータの書き換えを可能とし、プログラム格納のための他のアドレス領域ではハードウェアにて書き換えを禁止する(特許文献2参照)。
【0004】
【特許文献1】
特開平8−329208号公報
【特許文献2】
特開平11−110287号公報
【0005】
【発明が解決しようとする課題】
例えば携帯電話において音楽、映画などの有料コンテンツの配信を受ける場合には、ユーザID及びパスワードといった個人認証情報が必要である。また、暗号化されたコンテンツを復号するためには鍵情報が必要である。これらの情報を不揮発性メモリに格納して利用する場合には、その改竄を防止するセキュリティ対策が重要である。
【0006】
ところが、上記特定アドレスの書き込み回数制限回路を不揮発性メモリに設ける従来技術では、システム作成者が改竄防止を必要とする情報の書き込みに失敗した場合に、再書き込みが不能になるおそれがある。
【0007】
本発明の目的は、システム作成者が改竄防止を必要とする情報の書き込みを自由にでき、かつ当該情報の改竄を確実に防止できる不揮発性メモリのアクセス制御システムを提供することにある。
【0008】
【課題を解決するための手段】
上記目的を達成するため、本発明は、ブートROMに格納したシステム初期化のためのプログラムに従ってCPUが不揮発性メモリ上に書き換え禁止領域を設定し、かつ当該書き換え禁止領域上に設定した書き込み済みフラグに従ってアクセス制御回路が書き換え許可/禁止の制御を行うこととしたものである。
【0009】
具体的に説明すると、本発明は、不揮発性メモリと、システム初期化のためのプログラムを格納したブートROMと、不揮発性メモリへのコマンドを発行するためのCPUと、当該CPUからコマンドを受け取って不揮発性メモリへのアクセスを制御するためのアクセス制御回路とを備えた構成を採用し、CPUは、システムの電源起動ごとに、ブートROMに格納したシステム初期化のためのプログラムを実行することにより不揮発性メモリ上に書き換え禁止領域を、当該書き換え禁止領域上に書き込み済みフラグをそれぞれ1回だけ設定するように動作し、アクセス制御回路は、書き込み済みフラグの状態を確認するまでは不揮発性メモリの如何なる書き込みも認めず、書き込み済みフラグの状態を確認した後は、当該書き込み済みフラグが書き換え禁止を示さなければ書き換え禁止領域への書き込みを何度でも許可するが、当該書き込み済みフラグに書き換え禁止を設定した後は書き換え禁止領域への書き込みを一切認めないこととしたものである。
【0010】
【発明の実施の形態】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。
【0011】
図1は、本発明に係る不揮発性メモリのアクセス制御システムの全体構成例を示している。図1の不揮発性メモリのアクセス制御システム1において、2はCPU、3はSRAM、4はブートROM、5はアクセス制御回路、6は不揮発性メモリ、7はシステムバスである。CPU2、SRAM3及びブートROM4は、システムバス7に接続されている。アクセス制御回路5は、不揮発性メモリ6とシステムバス7との間に介在する。SRAM3は、プログラム又はデータを格納するためのメモリである。ブートROM4は、システム初期化のためのプログラムを格納したメモリである。不揮発性メモリ6は、例えばフラッシュメモリである。CPU2は、SRAM3に格納したプログラム又はブートROM4に格納したプログラムを実行することにより、不揮発性メモリ2へのアクセスのためのコマンドを発行する。アクセス制御回路5は、CPU2からコマンドを受け取って不揮発性メモリ6へのアクセスを制御するための回路である。
【0012】
図2は、図1中の不揮発性メモリ6の内部構成を示している。不揮発性メモリ6は、例えばアドレス0000hから7FFFhまでの書き換え可能領域と、アドレス8000hからFFFFhまでの書き換え禁止領域とに分割される(hは16進数表記:以下同じ)。更に、書き換え禁止領域上の例えばアドレスFFF0hで指定される1バイト中に1ビットの書き込み済みフラグFが設定される。以下の説明では、不揮発性メモリ6の初期状態では全ビットの値が「1」であるものとする。したがって、書き込み済みフラグFの初期値も「1」である。ここでは、「F=1」が書き換え許可を、「F=0」が書き換え禁止をそれぞれ示すものとする。
【0013】
図3は、図1中のアクセス制御回路5の内部構成を示している。図3のアクセス制御回路5は、レジスタファイル10と、コマンド解析部20と、ライト/リード信号発行部30とを備えている。レジスタファイル10は、書き換え禁止領域アドレスレジスタ11と、書き換え禁止領域アドレスマスクレジスタ12と、書き換え禁止セクタアドレスレジスタ13と、書き込み済みフラグアドレスレジスタ14と、書き込み済みフラグビットレジスタ15と、書き込み済みフラグチェックコマンドレジスタ16と、レジスタステートマシン17とを有するものである。コマンド解析部20は、CPU2からシステムバス7を介して受け取ったコマンドを、レジスタファイル10を参照しながら解析する。ライト/リード信号発行部30は、コマンド解析部20での解析結果に従って不揮発性メモリ6の書き込み(ライト)/読み出し(リード)/消去(イレーズ)のための信号を発行する。特に不揮発性メモリ6上の書き込み済みフラグFを含む1バイトにアクセスする場合には、ライト/リード信号発行部30は、書き込み済みフラグアドレスレジスタ14と、書き込み済みフラグチェックコマンドレジスタ16とを参照する。
【0014】
図1中のCPU2は、システムの電源起動ごとに、ブートROM4に格納したシステム初期化のためのプログラムを実行することにより不揮発性メモリ6上に書き換え禁止領域を、当該書き換え禁止領域上に書き込み済みフラグFをそれぞれ1回だけ設定するように動作する。図2の例に従えば、書き換え禁止領域アドレスレジスタ11に8000hが、書き換え禁止領域アドレスマスクレジスタ12に7FFFhがそれぞれ設定される。また、書き込み済みフラグアドレスレジスタ14にFFF0hが、書き込み済みフラグビットレジスタ15に3hがそれぞれ設定される。
【0015】
図3のアクセス制御回路5は、CPU2から書き込み済みフラグチェックコマンドが与えられて書き込み済みフラグFの状態を確認するまでは不揮発性メモリ6の如何なる書き込みも認めず、書き込み済みフラグFの状態を確認した後は、当該書き込み済みフラグFが書き換え許可(F=1)を示す限りは書き換え禁止領域への書き込みを何度でも許可するが、当該書き込み済みフラグFに書き換え禁止(F=0)を設定した後は書き換え禁止領域への書き込みを一切認めないように動作する。したがって、システム作成者が改竄防止を必要とする情報の書き込みを自由にでき、かつ当該情報の改竄を確実に防止できる。
【0016】
図3中のコマンド解析部20は、CPU2から受け取ったコマンドが不揮発性メモリ6の書き込み又は消去を示し、その書き込み先又は消去先が不揮発性メモリ6の書き換え禁止領域であり、かつ書き込み済みフラグFが書き換え禁止(F=0)を示す場合には、CPU2から受け取ったコマンドをライト/リード信号発行部30に伝達しないように動作する。
【0017】
図4は、図3中のレジスタステートマシン17の動作を示している。レジスタステートマシン17は初期状態として、状態1にある。状態1においてCPU2により書き換え禁止領域アドレスレジスタ11が設定されると、状態2に遷移する。設定されなければ状態1を保つ。状態2において書き換え禁止領域アドレスマスクレジスタ12が設定されると、状態3に遷移する。設定されなければ状態2を保つ。状態3において書き換え禁止セクタアドレスレジスタ13が設定されると、状態4に遷移する。設定されなければ状態3を保つ。状態4において書き込み済みフラグアドレスレジスタ14が設定されると、状態5に遷移する。設定されなければ状態4を保つ。状態5において書き込み済みフラグビットレジスタ15が設定されると、状態6に遷移する。設定されなければ状態5を保つ。
【0018】
状態6になって始めて、書き込み済みフラグチェックコマンドレジスタ16はシステムバス7からの書き込みを受け付ける。書き込み済みフラグチェックコマンドレジスタ16に書き込み済みフラグFの状態確認実行のためのコマンドが設定されると、書き込み済みフラグチェックコマンドレジスタ16はそれをライト/リード信号発行部30に伝え、ライト/リード信号発行部30は書き込み済みフラグアドレスレジスタ14に設定されたアドレスのデータを不揮発性メモリ6よりリードする。コマンド解析部20は、リードしたデータのうち書き込み済みフラグビットレジスタ15で示されるビットの値を書き込み済みフラグFとして保持する。
【0019】
レジスタステートマシン17を状態1から状態6へ遷移させ、かつ書き込み済みフラグチェックコマンドを発行することによりコマンド解析部20に書き込み済みフラグFを保持させる上記処理は、ブートROM4に格納したシステム初期化のためのプログラムをCPU2が実行することにより達成される。これらの処理が全て完了するまでは、システムバス7から不揮発性メモリ6への如何なる書き込み、消去をもコマンド解析部20により禁止する。
【0020】
書き込み済みフラグFをチェックした後のライト/消去の可否判断はコマンド解析部20で行う。具体的には、書き込み済みフラグFが書き込み許可(F=1)を示すなら、コマンド解析部20は、書き換え禁止領域アドレスレジスタ11と書き換え禁止領域アドレスマスクレジスタ12とによって示される不揮発性メモリ6の書き換え禁止領域への書き込み、書き換え禁止セクタアドレスレジスタ13によって設定されるセクタの消去、不揮発性メモリ6上の全領域のイレーズのいずれをも許可する。したがって、システム作成者は、自分で不揮発性メモリ6上の書き込み済みフラグFを「0」に書き換えるまでは、改竄防止を必要とする情報の書き換え禁止領域への書き込みを自由にできる。しかし、システム作成者が不揮発性メモリ6上の書き込み済みフラグFを「0」に書き換えた後は、コマンド解析部20は、書き換え禁止領域への如何なる書き込み、消去も許可しない。なお、不揮発性メモリ6上の書き込み済みフラグFのコピーをコマンド解析部20が常に保持することとすれば、書き込み済みフラグチェックコマンドの発行回数を削減できる。
【0021】
図5は、図1中の不揮発性メモリ6のコマンドの例を示している。この不揮発性メモリ6は、ライト及びイレーズにそれぞれ特別なコマンド列を必要とするフラッシュメモリである。図5中のADRSはCPU2が発行するアドレスを、DATAはCPU2が発行するデータをそれぞれ表す。
【0022】
図5の上段に示すように、ライトコマンドにおいては、1サイクル目にアドレス555h/データAAhが、2サイクル目にアドレス2AAh/データ55hが、3サイクル目にアドレス555h/データA0hがそれぞれ入力された場合に、4サイクル目に入力されたアドレスWAに4サイクル目に入力されたデータWDをライトするように決められている。
【0023】
図5の中段に示すように、セクタイレーズコマンドにおいては、1サイクル目に555h/データAAhが、2サイクル目にアドレス2AAh/データ55hが、3サイクル目にアドレス555h/データ80hが、4サイクル目にアドレス555h/データAAhが、5サイクル目にアドレス2AAh/データ55hが、6サイクル目にデータ30hがそれぞれ入力された場合に、6サイクル目にデータ30hとともに入力されるアドレスSAで指定されたセクタのイレーズを行うように決められている。
【0024】
図5の下段に示すように、チップイレーズコマンドにおいては、5サイクル目まではセクタイレーズコマンドと同様であり、6サイクル目にアドレス555h/データ10hが入力された場合に、不揮発性メモリ6上の全領域のイレーズを行うように決められている。
【0025】
図6は、図3中のコマンド解析部20の動作を示している。コマンド解析部20は初期状態として、状態1にある。状態1においてシステムバス7よりアドレス555h/データAAhが入力されると、状態2に遷移する。それ以外の入力がなされた場合には状態1を保持する。状態2においてアドレス2AAh/データ55hが入力されると、状態3に遷移する。それ以外の入力がなされた場合には状態1に遷移する。
【0026】
状態3においてアドレス555h/データA0hが入力されると、状態4.1に遷移する。状態4.1は、システムバス7より正常なライトコマンドが入力されたことを表す状態である。状態4.1においては、その次に入力されたアドレスWAが書き換え禁止領域アドレスレジスタ11及び書き換え禁止領域アドレスマスクレジスタ12により設定された不揮発性メモリ6の書き換え禁止領域に相当するかどうかをコマンド解析部20が判断する。禁止領域に相当する場合には、そのアドレスへのライトは行わない。禁止領域に相当しない場合にはそのアドレスへのデータWDのライトを行う。
【0027】
状態3においてアドレス555h/データ80hが入力されると、状態4.2に遷移する。それ以外の入力がなされた場合には状態1に遷移する。状態4.2においてアドレス555h/データAAhが入力されると、状態5に遷移する。それ以外の入力がなされた場合には状態1に遷移する。状態5においてアドレス2AAh/データ55hが入力されると、状態6に遷移する。それ以外の入力がなされた場合には状態1に遷移する。
【0028】
状態6においてアドレス555h/データ10hが入力されると、それはチップイレーズを表す。不揮発性メモリ6上の書き込み済みフラグFが書き換え許可(F=1)を示す限り、コマンド解析部20は不揮発性メモリ6へのチップイレーズコマンドの発行を行う。しかしながら、不揮発性メモリ6上の書き込み済みフラグFを「0」に書き換えた後には当該不揮発性メモリ6のチップイレーズは禁止するので、コマンド解析部20は不揮発性メモリ6へのイレーズコマンドの発行を行わない。
【0029】
状態6においてデータ30hが入力されると、それはセクタイレーズを表す。よって、そのときに入力されたセクタアドレスSAが書き換え禁止セクタアドレスレジスタ13に設定されたセクタアドレスと異なる場合には、これに対応するセクタイレーズコマンドをコマンド解析部20が不揮発性メモリ6に発行する。書き換え禁止セクタアドレスレジスタ13に設定されたセクタアドレスと同一の場合には、そのセクタのイレーズは禁止するので、コマンド解析部20は不揮発性メモリ6へのコマンド発行を行わない。状態6においてそれ以外の入力がなされた場合には、状態1に遷移する。
【0030】
コマンド解析部20では全コマンドが正常に入力され、かつCPU2がライトしようとするアドレス、又はCPU2がイレーズしようとするセクタアドレスが禁止領域でないと判明してから、それまで溜め込んでおいた全てのコマンドを最初から順次ライト/リード信号発行部30に与える。したがって、ライト/リード信号発行部30へはアクセスの許可されたコマンドしか入力されないので、ライト/リード信号発行部30は、コマンド解析部20より入力される全てのアドレス/データをそのまま不揮発性メモリ6へ出力することができる。
【0031】
以上のとおり、システムバス7より入力されたアドレス/データをアクセス制御回路5にて解析し、アクセスを許可した場合にのみ不揮発性メモリ6へのライト/イレーズを行う。
【0032】
詳細に言うと、コマンド解析部20は、CPU2から受け取った全てのコマンドを解析し、受け取ったコマンド列が不揮発性メモリ6のライト又はセクタイレーズを示し、そのライト先又はイレーズ先が書き換え禁止領域であり、かつ書き込み済みフラグFが書き換え禁止を示す場合には、CPU2から受け取ったコマンド列を不揮発性メモリ6に一切伝達しない。また、コマンド解析部20は、CPU2から受け取ったコマンド列が不揮発性メモリ6のチップイレーズを示し、かつ書き込み済みフラグFが書き換え禁止を示す場合には、CPU2から受け取ったコマンド列を不揮発性メモリ6に一切伝達しないのである。
【0033】
なお、図1中のブートROM4のプログラムを差し替えることで図2中のレジスタファイル10の設定変更を実現すれば、不揮発性メモリ6上の書き換え禁止領域の設定をシステム毎に任意に変更できる。例えば、書き換え禁止領域アドレスレジスタ11に4000hを、書き換え禁止領域アドレスマスクレジスタ12に3FFFhをそれぞれ設定すれば、アドレス4000hから7FFFhまでの領域を書き換え禁止領域に設定することができる。
【0034】
図7は、図1中の不揮発性メモリ6の他の内部構成を示している。ここでは、不揮発性メモリ6上に有用なデータを置かない未使用領域としてダミーセクタが設けられ、例えばアドレス0010hがダミーバイトと定められる。
【0035】
この場合、コマンド解析部20は、CPU2から受け取ったコマンド列が不揮発性メモリ6のライトを示し、そのライト先が書き換え禁止領域であり、かつ書き込み済みフラグFが書き換え禁止を示す場合には、ダミーバイトに対して書き込みを行うように制御する。また、CPU2から受け取ったコマンド列が不揮発性メモリ6のセクタイレーズを示し、そのイレーズ先が書き換え禁止領域であり、かつ書き込み済みフラグFが書き換え禁止を示す場合には、ダミーセクタに対して書き込みを行うようにコマンド解析部20が制御する。また、CPU2から受け取ったコマンド列が不揮発性メモリ6のチップイレーズを示し、かつ書き込み済みフラグFが書き換え禁止を示す場合にも、ダミーセクタに対して書き込みを行うようにコマンド解析部20が制御する。
【0036】
このようにコマンド解析部20は、システムバス7より図5に示すアドレス/データを入力された都度、これをライト/リード信号発行部30に出力しながら、書き換え可能領域のライト/イレーズの場合にはライト先/イレーズ先を変更せず、書き換え禁止領域のライト/イレーズの場合にはライト先/イレーズ先を変更することでライト/イレーズのシーケンスを完了する。つまり、書き換え可能領域中の一部を犠牲にするだけで、コマンド解析部20がコマンド列を一時的に溜め込んでおく図2の場合に比べて、不揮発性メモリ6のアクセス速度が向上するのである。
【0037】
最後に、書き換え禁止領域中の情報を改竄しようとした者にペナルティを与えることができる構成を図8及び図9に示す。
【0038】
図8は、図3中のコマンド解析部20の内部構成図である。図8において、21はコマンド出力部、22はライト/消去コマンド検出部、23はイレーズコマンド発行部である。コマンド出力部21は、通常はCPU2からシステムバス7を介して受け取ったコマンドをそのままライト/リード信号発行部30へ供給する。ライト/消去コマンド検出部22は、書き換え禁止領域に対するライト/イレーズコマンドを検知し、かつ書き込み済みフラグFが書き換え禁止(F=0)を示す場合には、その旨をイレーズコマンド発行部23に伝える。これに応答して、イレーズコマンド発行部23は、図3中の書き換え禁止セクタアドレスレジスタ13に設定されたセクタアドレス以外の全てのセクタに対するイレーズコマンド発行命令をコマンド出力部21に与える。コマンド出力部21は、この命令に従って各セクタイレーズコマンドを発行する。これにより、改竄を防止しつつ、改竄を試みた者にペナルティを与えるように書き換え可能領域中の有用な情報が消去される。
【0039】
図9は、図3中のコマンド解析部20の他の内部構成図である。図9では、図8中のイレーズコマンド発行部23が書き込み済みフラグオーバーライト部24に置き換えられている。この書き込み済みフラグオーバーライト部24は、書き換え禁止領域に対するライト/イレーズコマンドを検知し、かつ書き込み済みフラグFが書き換え禁止(F=0)を示す旨をライト/消去コマンド検出部22から伝えられた場合には、図3中の書き込み済みフラグチェックコマンドレジスタ16に基づく状態確認実行により取得した書き込み済みフラグFと同じ値(=0)をライトデータとするように、全領域ライト命令をコマンド出力部21に与える。コマンド出力部21は、この命令に従って全領域ライトコマンドを発行する。これにより、改竄を試みた者にペナルティを与えるように、不揮発性メモリ6上の全データが書き込み済みフラグFと同じ値(=0)に書き換えられる。しかも、書き込み済みフラグFそのものは依然として書き換え禁止(F=0)を示すので、以後の書き込みも受け付けられない。
【0040】
なお、不揮発性メモリ6の初期状態で全ビットの値が「0」であるなら、「F=0」が書き換え許可を、「F=1」が書き換え禁止をそれぞれ示すものとすればよい。
【0041】
また、本発明はEEPROMなどの他の種類の不揮発性メモリにも適用可能である。
【0042】
【発明の効果】
以上説明してきたとおり、本発明によれば、ブートROMに格納したシステム初期化のためのプログラムに従ってCPUが不揮発性メモリ上に書き換え禁止領域を設定し、かつ当該書き換え禁止領域上に設定した書き込み済みフラグに従ってアクセス制御回路が書き換え許可/禁止の制御を行うこととしたので、システム作成者が改竄防止を必要とする情報の書き込みを自由にでき、かつ当該情報の改竄を確実に防止できる不揮発性メモリのアクセス制御システムを提供できる。
【図面の簡単な説明】
【図1】本発明に係る不揮発性メモリのアクセス制御システムの全体構成例を示すブロック図である。
【図2】図1中の不揮発性メモリの内部構成図である。
【図3】図1中のアクセス制御回路の内部構成図である。
【図4】図3中のレジスタステートマシンの動作を示す状態遷移図である。
【図5】図1中の不揮発性メモリのコマンド例を示す図である。
【図6】図3中のコマンド解析部の動作を示す状態遷移図である。
【図7】図1中の不揮発性メモリの他の内部構成図である。
【図8】図3中のコマンド解析部の内部構成図である。
【図9】図3中のコマンド解析部の他の内部構成図である。
【符号の説明】
1 不揮発性メモリのアクセス制御システム
2 CPU
3 SRAM
4 ブートROM
5 アクセス制御回路
6 不揮発性メモリ
7 システムバス
10 レジスタファイル
11 書き換え禁止領域アドレスレジスタ
12 書き換え禁止領域アドレスマスクレジスタ
13 書き換え禁止セクタアドレスレジスタ
14 書き込み済みフラグアドレスレジスタ
15 書き込み済みフラグビットレジスタ
16 書き込み済みフラグチェックコマンドレジスタ
17 レジスタステートマシン
20 コマンド解析部
21 コマンド出力部
22 ライト/消去コマンド検出部
23 イレーズコマンド発行部
24 書き込み済みフラグオーバーライト部
30 ライト/リード信号発行部
F 書き込み済みフラグ
Claims (9)
- 不揮発性メモリと、
システム初期化のためのプログラムを格納したブートROMと、
前記不揮発性メモリへのコマンドを発行するためのCPUと、
前記CPUからコマンドを受け取って前記不揮発性メモリへのアクセスを制御するためのアクセス制御回路とを備え、
前記CPUは、システムの電源起動ごとに、前記ブートROMに格納したシステム初期化のためのプログラムを実行することにより前記不揮発性メモリ上に書き換え禁止領域を、当該書き換え禁止領域上に書き込み済みフラグをそれぞれ1回だけ設定するように動作し、
前記アクセス制御回路は、前記書き込み済みフラグの状態を確認するまでは前記不揮発性メモリの如何なる書き込みも認めず、前記書き込み済みフラグの状態を確認した後は、前記書き込み済みフラグが書き換え禁止を示さなければ前記書き換え禁止領域への書き込みを何度でも許可するが、前記書き込み済みフラグに書き換え禁止を設定した後は前記書き換え禁止領域への書き込みを一切認めないことを特徴とする不揮発性メモリのアクセス制御システム。 - 請求項1記載のアクセス制御システムにおいて、
前記アクセス制御回路は、前記CPUから受け取ったコマンドを解析するためのコマンド解析部を有し、
前記コマンド解析部は、前記CPUから受け取ったコマンドが前記不揮発性メモリの書き込み又は消去を示し、その書き込み先又は消去先が前記不揮発性メモリの書き換え禁止領域であり、かつ前記書き込み済みフラグが書き換え禁止を示す場合には、前記CPUから受け取ったコマンドを前記不揮発性メモリに伝達しないことを特徴とするアクセス制御システム。 - 請求項2記載のアクセス制御システムにおいて、
前記コマンド解析部は、前記不揮発性メモリの書き込み又は消去に特別なコマンド列を必要とする場合には、前記CPUから受け取った全てのコマンドを解析し、当該コマンド列が前記不揮発性メモリの書き込み又は消去を示し、その書き込み先又は消去先が前記不揮発性メモリの書き換え禁止領域であり、かつ前記書き込み済みフラグが書き換え禁止を示す場合には、前記CPUから受け取ったコマンド列を前記不揮発性メモリに一切伝達しないことを特徴とするアクセス制御システム。 - 請求項2記載のアクセス制御システムにおいて、
前記コマンド解析部は、前記不揮発性メモリの全消去に特別なコマンド列を必要とする場合には、前記CPUから受け取った全てのコマンドを解析し、当該コマンド列が前記不揮発性メモリの全消去を示し、かつ前記書き込み済みフラグが書き換え禁止を示す場合には、前記CPUから受け取ったコマンド列を前記不揮発性メモリに一切伝達しないことを特徴とするアクセス制御システム。 - 請求項1記載のアクセス制御システムにおいて、
前記不揮発性メモリ上に有用なデータを置かない未使用領域が設けられ、
前記アクセス制御回路は、前記CPUから受け取ったコマンドを解析するためのコマンド解析部を有し、
前記コマンド解析部は、前記CPUから受け取ったコマンドが前記不揮発性メモリの書き込み又は消去を示し、その書き込み先又は消去先が前記不揮発性メモリの書き換え禁止領域であり、かつ前記書き込み済みフラグが書き換え禁止を示す場合には、前記不揮発性メモリの未使用領域に対して書き込み又は消去を行うように制御することを特徴とするアクセス制御システム。 - 請求項5記載のアクセス制御システムにおいて、
前記コマンド解析部は、前記不揮発性メモリの書き込み又は消去に特別なコマンド列を必要とする場合には、前記CPUから受け取った全てのコマンドを解析し、当該コマンド列が前記不揮発性メモリの書き込み又は消去を示し、その書き込み先又は消去先が前記不揮発性メモリの書き換え禁止領域であり、かつ前記書き込み済みフラグが書き換え禁止を示す場合には、前記不揮発性メモリの未使用領域に対して書き込み又は消去を行うように制御することを特徴とするアクセス制御システム。 - 請求項5記載のアクセス制御システムにおいて、
前記コマンド解析部は、前記不揮発性メモリの全消去に特別なコマンド列を必要とする場合には、前記CPUから受け取った全てのコマンドを解析し、当該コマンド列が前記不揮発性メモリの全消去を示し、かつ前記書き込み済みフラグが書き換え禁止を示す場合には、前記不揮発性メモリの未使用領域に対して全消去を行うように制御することを特徴とするアクセス制御システム。 - 請求項1記載のアクセス制御システムにおいて、
前記アクセス制御回路は、前記不揮発性メモリ上の書き換え禁止領域に対する書き込み又は消去を検知し、かつ前記書き込み済みフラグが書き換え禁止を示す場合には、前記不揮発性メモリ上の書き換え禁止領域を除く領域中のデータを消去するように制御することを特徴とするアクセス制御システム。 - 請求項1記載のアクセス制御システムにおいて、
前記アクセス制御回路は、前記不揮発性メモリ上の書き換え禁止領域に対する書き込み又は消去を検知し、かつ前記書き込み済みフラグが書き換え禁止を示す場合には、前記不揮発性メモリ上の全データを前記書き込み済みフラグと同じ値に書き換えるように制御することを特徴とするアクセス制御システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003075714A JP2004287541A (ja) | 2003-03-19 | 2003-03-19 | 不揮発性メモリのアクセス制御システム |
US10/799,609 US20040186947A1 (en) | 2003-03-19 | 2004-03-15 | Access control system for nonvolatile memory |
CNA2004100287883A CN1532713A (zh) | 2003-03-19 | 2004-03-18 | 非易失性存储器的存取控制*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003075714A JP2004287541A (ja) | 2003-03-19 | 2003-03-19 | 不揮発性メモリのアクセス制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004287541A true JP2004287541A (ja) | 2004-10-14 |
Family
ID=32984790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003075714A Pending JP2004287541A (ja) | 2003-03-19 | 2003-03-19 | 不揮発性メモリのアクセス制御システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20040186947A1 (ja) |
JP (1) | JP2004287541A (ja) |
CN (1) | CN1532713A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010007675A1 (ja) * | 2008-07-17 | 2010-01-21 | Necディスプレイソリューションズ株式会社 | 電子機器および不正書き換え抑制方法 |
CN102737587A (zh) * | 2011-04-07 | 2012-10-17 | 精工爱普生株式会社 | 电光学装置的控制装置、电光学装置以及电子设备 |
JP2016015020A (ja) * | 2014-07-02 | 2016-01-28 | 株式会社デンソー | マイクロコンピュータ及びセキュリティ設定システム |
JP2017041145A (ja) * | 2015-08-20 | 2017-02-23 | 株式会社ソシオネクスト | プロセッサ及びプロセッサシステム |
JP2021018595A (ja) * | 2019-07-19 | 2021-02-15 | キヤノン株式会社 | 情報処理装置、その制御方法およびプログラム |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006209371A (ja) * | 2005-01-27 | 2006-08-10 | Toshiba Corp | 制御装置 |
US8656487B2 (en) * | 2005-09-23 | 2014-02-18 | Intel Corporation | System and method for filtering write requests to selected output ports |
US20080270652A1 (en) * | 2007-04-30 | 2008-10-30 | Jeffrey Kevin Jeansonne | System and method of tamper-resistant control |
JP2012234334A (ja) * | 2011-04-28 | 2012-11-29 | Toshiba Corp | メモリ装置 |
CN103594113B (zh) * | 2013-11-13 | 2016-08-17 | 无锡普雅半导体有限公司 | 一种防止存储器芯片内部存储单元上下电被改写电路结构 |
CN112417528A (zh) * | 2019-08-23 | 2021-02-26 | 雅特力科技(重庆)有限公司 | 用来管理支持数据存储的安全程序库的方法与电子装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5610981A (en) * | 1992-06-04 | 1997-03-11 | Integrated Technologies Of America, Inc. | Preboot protection for a data security system with anti-intrusion capability |
US5835594A (en) * | 1996-02-09 | 1998-11-10 | Intel Corporation | Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage |
US5778070A (en) * | 1996-06-28 | 1998-07-07 | Intel Corporation | Method and apparatus for protecting flash memory |
US6363487B1 (en) * | 1998-03-16 | 2002-03-26 | Roxio, Inc. | Apparatus and method of creating a firewall data protection |
JP4475709B2 (ja) * | 1999-11-15 | 2010-06-09 | 株式会社ルネサステクノロジ | マイクロコンピュータ |
JP3561211B2 (ja) * | 2000-06-27 | 2004-09-02 | 株式会社東芝 | 情報処理装置および不揮発性記憶装置の書き換え制御方法 |
US6976136B2 (en) * | 2001-05-07 | 2005-12-13 | National Semiconductor Corporation | Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller |
US7281125B2 (en) * | 2001-08-24 | 2007-10-09 | Lenovo (Singapore) Pte. Ltd. | Securing sensitive configuration data remotely |
-
2003
- 2003-03-19 JP JP2003075714A patent/JP2004287541A/ja active Pending
-
2004
- 2004-03-15 US US10/799,609 patent/US20040186947A1/en not_active Abandoned
- 2004-03-18 CN CNA2004100287883A patent/CN1532713A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010007675A1 (ja) * | 2008-07-17 | 2010-01-21 | Necディスプレイソリューションズ株式会社 | 電子機器および不正書き換え抑制方法 |
JP4729771B2 (ja) * | 2008-07-17 | 2011-07-20 | Necディスプレイソリューションズ株式会社 | 電子機器および不正書き換え抑制方法 |
CN102737587A (zh) * | 2011-04-07 | 2012-10-17 | 精工爱普生株式会社 | 电光学装置的控制装置、电光学装置以及电子设备 |
JP2016015020A (ja) * | 2014-07-02 | 2016-01-28 | 株式会社デンソー | マイクロコンピュータ及びセキュリティ設定システム |
JP2017041145A (ja) * | 2015-08-20 | 2017-02-23 | 株式会社ソシオネクスト | プロセッサ及びプロセッサシステム |
JP2021018595A (ja) * | 2019-07-19 | 2021-02-15 | キヤノン株式会社 | 情報処理装置、その制御方法およびプログラム |
JP7401215B2 (ja) | 2019-07-19 | 2023-12-19 | キヤノン株式会社 | 情報処理装置、その制御方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20040186947A1 (en) | 2004-09-23 |
CN1532713A (zh) | 2004-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3734408B2 (ja) | 半導体記憶装置 | |
US8281411B2 (en) | Security memory device and method for making same | |
KR100456734B1 (ko) | 반도체장치및전자기기 | |
JP3891539B2 (ja) | 半導体装置およびその制御装置 | |
US9390278B2 (en) | Systems and methods for code protection in non-volatile memory systems | |
US7979630B2 (en) | Data protection for non-volatile semiconductor memory block using block protection flags | |
US6453397B1 (en) | Single chip microcomputer internally including a flash memory | |
US8607061B2 (en) | Flash device security method utilizing a check register | |
JP2001014871A (ja) | 不揮発性半導体記憶装置 | |
JP2004287541A (ja) | 不揮発性メモリのアクセス制御システム | |
JP4678083B2 (ja) | メモリ装置およびメモリアクセス制限方法 | |
JP2010193013A (ja) | 暗号鍵保護方法及び半導体記憶装置 | |
TW550807B (en) | Semiconductor memory device | |
WO2001061503A1 (en) | Nonvolatile memory | |
JPH08110937A (ja) | 携帯可能なデータ担体 | |
JP2001109666A (ja) | 不揮発性半導体記憶装置 | |
CN114153376A (zh) | 安全闪存控制器 | |
KR100341424B1 (ko) | 마이크로컴퓨터 | |
JP2005234957A (ja) | フラッシュメモリにおけるデータアクセス制御方法、データアクセス制御プログラム | |
JP2003203012A (ja) | マイクロコンピュータ装置 | |
JP3028567B2 (ja) | Eeprom内蔵マイクロコンピュータ | |
JP2002007372A (ja) | 半導体装置 | |
JPH03296842A (ja) | データ書き込み方法およびicカード | |
JP2611851B2 (ja) | Rom読み出し禁止回路 | |
JPH11203206A (ja) | 不揮発性メモリのセキュリティ回路 |