JP2003223362A - メモリ保護回路 - Google Patents

メモリ保護回路

Info

Publication number
JP2003223362A
JP2003223362A JP2002020189A JP2002020189A JP2003223362A JP 2003223362 A JP2003223362 A JP 2003223362A JP 2002020189 A JP2002020189 A JP 2002020189A JP 2002020189 A JP2002020189 A JP 2002020189A JP 2003223362 A JP2003223362 A JP 2003223362A
Authority
JP
Japan
Prior art keywords
data
processor
circuit
memory
control register
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
Application number
JP2002020189A
Other languages
English (en)
Other versions
JP3918089B2 (ja
Inventor
Yasuhiro Kasuga
康弘 春日
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2002020189A priority Critical patent/JP3918089B2/ja
Publication of JP2003223362A publication Critical patent/JP2003223362A/ja
Application granted granted Critical
Publication of JP3918089B2 publication Critical patent/JP3918089B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】不揮発性メモリに格納されているシステム情報
を保護するため、該メモリに対する非正常なアクセスを
排除するメモリ保護回路にある。 【解決手段】メモリ保護回路10は、プロセッサ2から
のアクセスが正常であるか、あるいは非正常であるかを
判定するフラグ制御回路12と、不揮発性メモリ1に対
するアクセスの許可あるいは不許可を指示する許可フラ
グ11と、許可フラグ11の状態によってアクセスを制
御するメモリ制御回路9と、を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、メモリ保護に関
し、特に、不揮発性メモリに格納されたBIOSなどの
システム情報が非正常なアクセスによって、更新あるい
は破壊されることを防ぐメモリ保護回路に関する。
【0002】
【従来の技術】メモリ保護には、さまざまな方式があ
る。例えば、ソフトウェア手段とハードウェア手段とを
組み合わせて、メモリへのアクセスを2段構えにする。
ソフトウェア見えのレジスタにアクセス許可フラグを設
け、ソフトウェア手段で該許可フラグをアクセス許可
(イネーブル)にしてからメモリにアクセスし、アクセ
ス終了後にアクセス禁止(ディセーブル)に戻す処理を
追加して、非正常なメモリアクセスを排除する。つま
り、単にメモリにアクセスが発生しても、許可フラグが
イネーブルでない限りそのアクセスが無効となり、予期
せぬ非正常なアクセスからシステム情報を保護すること
ができる。
【0003】この従来技術の構成を示す図10を参照し
て説明する。システム情報が格納される不揮発性メモリ
1は、プロセッサ2からプロセッサ制御回路3を通して
アクセスされる。プロセッサ制御回路3には、プロセッ
サ2からのアドレス/コマンドを格納するアドレス/コ
マンドバッファ4と、ライトデータを格納するライトデ
ータバッファ5と、プロセッサ2へのリードデータを格
納するリードデータバッファ6と、アドレスとコマンド
をデコードするデコーダ7と、リードデータバッファ6
に格納するリードデータを選択するデータセレクタ8
と、不揮発性メモリ1に対する非正常アクセスを防止す
るメモリ保護回路18と、メモリ保護回路18に含まれ
るアクセスを許可/不許可する許可フラグ11と、不揮
発性メモリ1へのアクセスを制御するメモリ制御回路1
0と、より構成される。
【0004】このプロセッサ制御回路3の動作の流れを
図11を参照して説明する。まず不揮発性メモリ1への
アクセスを許可するために許可フラグ11にライトを行
う(ステップ301)。このとき、ライトデータはイネ
ーブルを設定するデータである。続いて、許可フラグ1
1をリードしてイネーブルに設定されていることを確認
する(ステップ302)。イネーブルの確認後、不揮発
性メモリ1へのアクセスを開始し(ステップ303)、
アクセスが終了すると(ステップ304のyes)、再
び許可フラグへライトを行い、許可フラグ11にディセ
ーブルを設定する(ステップ305)。
【0005】この一連の動作を図10及び図11を援用
して更に具体的に説明すると、プロセッサ2は許可フラ
グ11へのライトを行う(ステップ301)ために、ア
ドレスとコマンドおよびライトデータを出力し、アドレ
スとコマンドは、アドレス/コマンドバッファ4に、ラ
イトデータはライトデータバッファ5に、それぞれ格納
される。デコーダ7によりアドレスとコマンドはデコー
ドされ、許可フラグ11へのライトで、かつライトデー
タがイネーブルを示していれば、許可フラグ11をイネ
ーブルに設定する。続けて、プロセッサ2は、許可フラ
グ11へのリードを行う(ステップ302)ために、ア
ドレスとコマンドを出力する。アドレスとコマンドは、
アドレス/コマンドバッファ4に格納され、デコーダ7
によりデコードされる。デコード結果が許可フラグ11
へのリードならば、データセレクタ8は、許可フラグ1
1からのデータを選択してリードデータバッファ6に格
納し、プロセッサ2に返送する。その後、プロセッサ2
は不揮発性メモリ1へのアクセス(ステップ303)を
開始する。ライトアクセスであれば、アドレスとコマン
ドをアドレス/コマンドバッファ4に、ライトデータを
ライトデータバッファ5に格納する。アドレスとコマン
ドをデコーダ7でデコードした結果、不揮発性メモリ1
へのライトであればメモリ制御回路10にライトアクセ
スを通知する。ここで許可フラグ11がイネーブルにな
っているので、メモリ制御回路10は、不揮発性メモリ
1に対してライトを行い、ライトデータバッファ5から
ライトデータを出力する。一連のアクセスが終了すると
(ステップ304のyes)、プロセッサ2は許可フラ
グ11をディセーブルにするためのライトを行い、同様
な手順で許可フラグ11をディセーブルに設定する(ス
テップ305)。
【0006】以上で説明したように許可フラグ11とい
う非正常なアクセスの抑止手段を設けて、直接システム
情報へのアクセスができないようにしている。しかし、
許可フラグ11が、プロセッサからのライト動作で更新
されるため、プログラムが原因の、イネーブルとディセ
ーブルの切り替え制御ミスあるいは暴走による許可フラ
グ11の非正常な更新が発生すると、この抑止手段が外
れ、システム情報へのアクセスが可能となってしまう。
【0007】更に、従来技術の特開平3−278255
号公報によれば、メモリに対するアクセスをイネーブル
あるいはディセーブルにするデータの保持手段を設け
て、該保持手段をイネーブルにした次のサイクルのメモ
リアクセスをイネーブルにし、該サイクルの終わりで、
該データをディセーブルにし、メモリアクセスを不許可
する発明が説明されている。この発明では、プログラム
の非正常な動作で、該保持手段をイネーブル状態にする
データ書き込みが行われても、正常な書き込みと判定さ
れるのでメモリ保護が十分機能しない。
【0008】
【発明が解決しようとする課題】コンピュータシステム
において、OSなど有償のシステム情報を不揮発性メモ
リ等のAC電源を落としても消失しない記憶素子に保持
している場合、システム情報の破壊あるいは消失によ
り、システムそのものの立ち上げができなくなることが
ある。記憶素子そのものあるいはその他ハードウェアの
故障により、システム情報が破壊あるいは消失すること
はあるが、ソフトウェアのプログラムミスによる誤動作
または意図的あるいは偶発的な侵入などの非正常なアク
セスによってシステム情報を破壊することもある。その
ため、メモリに対する非正常なアクセスによるシステム
情報の破壊を防ぐ保護機能を設ける。
【0009】従来の保護機能は、保護される領域あるい
は保護される対象にアクセスする手続き内に入り込まれ
る非正常な事態を想定していない。しかし、この非正常
な事態が、作為あるいは偶発または外乱によって生じた
とき、保護対象が破壊されることが発生する。
【0010】そこで、アクセス手続きに、ソフトウェア
見えのレジスタを設けて、該レジスタをアクセスの許可
フラグとして機能させて、許可フラグが許可状態のと
き、アクセスできるようにすることの外に、所定のレジ
スタに設定されているデータを演算回路で処理した演算
結果と、該データを正常なソフトウェアのアクセス手段
が読み取って演算処理を施した結果と、を比較して一致
したとき、許可フラグを許可状態に設定する。つまり、
ソフトウェアのアクセス手段が出力する期待値と、許可
フラグ側のハードウェア手段が出力する期待値と、が一
致することで、メモリのアクセス手続きが正常に作動し
ていることを保証する。
【0011】この発明の目的は、不揮発性メモリに格納
されているシステム情報を保護するため、該メモリに対
する非正常なアクセスを排除するメモリ保護回路にあ
る。
【0012】
【課題を解決するための手段】そのため、この発明の、
システム情報を格納する不揮発性メモリと、不揮発性メ
モリにアクセスして、システム情報をリードライトする
プロセッサと、前記プロセッサから不揮発性メモリへの
アクセスを制御するプロセッサ制御回路と、を備え、前
記プロセッサ制御回路が、不揮発性メモリへのアクセス
に対してメモリを保護するメモリ保護回路と、プロセッ
サから送付されるアドレスあるいはコマンドを受け付け
るアドレス/コマンドバッファと、プロセッサから送付
されるライトデータを受け付けるライトデータバッファ
と、アドレス/コマンドバッファのデータをデコードす
るデコーダと、前記デコーダの出力によって、前記メモ
リ保護回路または不揮発性メモリの出力のいずれか一つ
を選択するデータセレクタと、前記データセレクタの出
力を受け取るリードバッファと、前記デコーダからのア
ドレス及びコマンド並びに前記メモリ保護回路によっ
て、不揮発性メモリに対するリードライトを実施するメ
モリ制御回路と、を備えてメモリ保護を実施するメモリ
保護回路において、前記メモリ保護回路が、プロセッサ
からのアクセスが正常かあるいは非正常かを判定するフ
ラグ制御回路と、前記メモリ制御回路に対して、前記不
揮発性メモリに対するアクセスを許可あるいは不許可に
する許可フラグと、を備え、てなることを特徴とする。
【0013】更に、前記フラグ制御回路は、プロセッサ
からライトデータバッファを通じて送付される初期値あ
るいは演算処理結果のデータを一時記憶する一時バッフ
ァと、プロセッサからの前記データを記憶する制御レジ
スタと、前記制御レジスタのデータあるいは前記一時バ
ッファのデータを選択するセレクタと、前記制御レジス
タのデータを演算処理する演算回路と、前記演算回路の
出力データとプロセッサからの演算処理結果データとを
比較して、一致しているとき、前記許可フラグを許可状
態にし、前記制御レジスタを前記セレクタを通じて前記
演算回路出力データで更新し、不一致のとき、前記許可
フラグの状態を変更せずに前記制御レジスタのデータを
前記セレクタを通じて再格納する比較回路と、を備える
ことを特徴とする。
【0014】更に、前記演算回路は、前記制御レジスタ
のデータに対して、所定値を加算する回路であることを
特徴とする。
【0015】更に、前記演算回路は、前記制御レジスタ
のデータに対して、シフト演算を施す回路であることを
特徴とする。
【0016】更に、前記フラグ制御回路は、プロセッサ
からライトデータバッファを通じて送付される初期値あ
るいは演算処理結果のデータを一時記憶する一時バッフ
ァと、プロセッサからの前記初期値のデータを記憶する
制御レジスタと、前記制御レジスタのデータあるいは前
記一時バッファのデータを選択するセレクタと、前記制
御レジスタのデータを演算処理する演算回路と、前記演
算回路の出力データとプロセッサからの演算処理結果デ
ータとを比較して、一致しているとき、前記許可フラグ
を許可状態に設定し、前記制御レジスタを前記セレクタ
を通じて前記演算回路出力データで更新し、不一致のと
き、前記許可フラグの状態を変更せずに前記制御レジス
タのデータを前記セレクタを通じて再格納する比較回路
と、プロセッサによってアクセス回数のデータが設定さ
れ,前記不揮発性メモリに対するアクセス毎に減算され
て、前記データが「0」に達したとき、前記許可フラグ
を不許可状態にするカウンタと、を備えることを特徴と
する。
【0017】更に、前記演算処理結果データは、プロセ
ッサが前記制御レジスタから読み出したデータに対し
て、前記不揮発性メモリに対する正常なアクセス処理の
一部をなす演算処理で得られる結果データであることを
特徴とする。
【0018】
【発明の実施の形態】この発明の実施の形態について図
面を参照して説明する。この発明の第1の実施の形態を
示す図1を用いて説明する。システム情報が格納される
不揮発性メモリ1はプロセッサ2からプロセッサ制御部
3を通してアクセスされる。プロセッサ制御部3には、
プロセッサ2からのアドレス/コマンドを格納するアド
レス/コマンドバッファ4と、ライトデータを格納する
ライトデータバッファ5と、プロセッサへのリードデー
タを格納するリードデータバッファ6と、アドレスとコ
マンドをデコードするデコーダ7と、リードデータを選
択するデータセレクタ8と、不揮発性メモリ1へのアク
セスを制御するメモリ制御回路9と、不揮発性メモリ1
のメモリ保護回路10と、を備える。メモリ保護回路1
0は、不揮発性メモリ1へのアクセスを許可/禁止する
許可フラグ11と、許可フラグ11の許可状態及び不許
可状態を制御するフラグ制御回路12と、を有する。
【0019】更に、フラグ制御回路12の構成を示す図
2を参照すると、フラグ制御回路12には、プロセッサ
2から設定される初期値や演算処理結果のデータを設定
する制御レジスタ121と、制御レジスタ121へのラ
イトデータを一旦保持する一時バッファ122と、制御
レジスタ121のデータに演算を行う演算回路125
と、演算回路125の出力データと一時バッファ122
にあるプロッセサ2の演算処理結果データとを比較する
比較回路124と、制御レジスタ121に設定するデー
タを選択するセレクタ123と、を有する。
【0020】次に、この第1の実施の形態の動作につい
て、処理の流れを示す図3(a)及び図3(b)を参照
して説明する。まず、プロセッサ2によるプロセッサ制
御回路3の動作を示す図3(a)を参照すると、制御レ
ジスタ121の初期値のデータを確認するために制御レ
ジスタ121をリードする(ステップ201)。プロセ
ッサ2は、リードした制御レジスタ121の初期値のデ
ータに対して演算処理を実行する(ステップ202
A)。演算結果データをライトデータとして、一時バッ
ファ122を通じて制御レジスタ121にライトを行う
(ステップ203)。更に、正常に処理が行われて、許
可フラグ11が許可状態であることを確認するために、
許可フラグ11をリードする(ステップ204)。ここ
から、不揮発性メモリ1へのアクセスを開始し(ステッ
プ205)、アクセスが終了すると(ステップ206の
yes)、許可フラグ11へライトを行って、許可フラ
グ11をディセーブルに設定する(ステップ207)。
【0021】一方、フラグ制御回路12の動作を示す図
3(b)を参照すると、制御レジスタ121のデータを
リードする(ステップ251)。リードしたデータを演
算回路125で処理する(252A)。この演算回路1
25の出力データと一時バッファ122にあるデータと
を比較回路124で比較する(ステップ253)。比較
結果を許可フラグ11に設定する(ステップ254)。
図3(b)のステップ251からステップ254は、図
3(a)のステップ203が実行される段階におけるフ
ラグ制御回路12の動作である。
【0022】この第1の実施の形態の全体動作を図1と
図2と図3(a)と図3(b)に沿って、具体的に説明
する。プロセッサ2は、制御レジスタ121のリードを
行う(ステップ201)ためにアドレスとコマンドを出
力する。アドレスとコマンドは、プロセッサ制御回路3
のアドレス/コマンドバッファ4に格納され、デコーダ
7にてデコードされる。デコード結果が制御レジスタ1
21のリードのコマンドであるならば、データセレクタ
8は制御レジスタ121のデータを選択してリードデー
タバッファ6に格納し、プロセッサ2に返送する。プロ
セッサ2は、返送された制御レジスタ121のデータの
演算処理を行う(ステップ202A)。
【0023】ステップ202Aにおけるプロセッサ2の
演算処理を、ここでは+1の加算を想定する。制御レジ
スタ121の初期値であるデータが、0X000000
00ならば、演算結果データは0X00000001と
なる。プロセッサ2は、この演算結果データを一時バッ
ファ122を通じて制御レジスタ121にライトする
(ステップ203)。このライトのアドレスとコマンド
は、アドレス/コマンドバッファ4に、ライトデータ
(演算結果データ)はライトデータバッファ5に、それ
ぞれ格納される。アドレスとコマンドをデコーダ7でデ
コードした結果、制御レジスタ121へのライトなら
ば、ライトデータバッファ5に格納されたライトデータ
は、一時バッファ122を通じて制御レジスタ121に
格納される。
【0024】一方、制御レジスタ121のデータは、演
算回路125にて演算処理が行われる。ここでは、制御
レジスタ121の初期値のデータ0X00000000
であるから、演算回路125の出力データは、0X00
000001となる。一時バッファ122に格納された
プロセッサ2の演算処理結果データと、演算回路125
の出力データとは、比較回路124にて比較される。こ
こでは、どちらのデータも0X00000001となる
ので、比較結果は一致となり、許可フラグ11をイネー
ブルの許可状態に設定する。更に、セレクタ123は、
一時バッファ122のデータを選択して、制御レジスタ
121を更新する。ここでは、一時バッファ122のデ
ータは、0X00000001なので、制御レジスタ1
21が0X00000001に更新され、次のアクセス
に対する初期値のデータとして使用される。
【0025】次に、比較回路124の結果が不一致の場
合、許可フラグ11の状態は、変更されず不許可状態
(ディセーブル)を保ち、セレクタ123は制御レジス
タ121のデータを選択するので制御レジスタ121の
データは、そのまま再格納される。その後、プロセッサ
2は、制御レジスタ121への書き込み処理が正しく行
われたことを確認するために許可フラグ11をリードす
る(ステップ204)。
【0026】プロセッサ2からのアドレスとコマンド
は、アドレス/コマンドバッファ4に格納され、デコー
ダ7にてデコードされる。デコード結果が許可フラグ1
1のリードならば、データセレクタ8は、許可フラグ1
1を選択してリードデータバッファ6に格納し、プロセ
ッサ2に返送される。プロセッサ2は、許可フラグ11
がイネーブルになっていることを確認した後、不揮発性
メモリ1へのアクセスを開始する(ステップ205)。
アドレス/コマンドバッファ4のアドレスとコマンドが
ライトアクセスならば、ライトデータをライトデータバ
ッファ5に格納し、アドレスとコマンドをデコーダ7に
てデコードする。デコード結果が不揮発性メモリ1への
アクセスならば、メモリ制御回路9に通知し、メモリ制
御回路9は、許可フラグ11がイネーブルなので、不揮
発性メモリ1にアクセスを行う。リードアクセスなら
ば、データセレクタ8は不揮発性メモリ1からのリード
データを選択してリードデータバッファ6に格納して、
プロセッサ2に返送する。ライトアクセスならば、ライ
トデータバッファ5のライトデータを不揮発性メモリ1
に出力して、ライトを実行する。
【0027】一連のアクセスが終了すると(ステップ2
06のyes)、プロセッサ2は、許可フラグ11へデ
ィセーブルを設定するためにライトを行う(ステップ2
07)。プロセッサ2が、出力したアドレスとコマンド
をアドレス/コマンドバッファ4に、ライトデータをラ
イトデータバッファ5に、それぞれ格納し、アドレスと
コマンドをデコーダ7でデコードする。デコードの結
果、許可フラグ11へのライトで、許可フラグ11が不
許可状態(ディセーブル)を示していれば、許可フラグ
11をディセーブルに更新する。なお、許可フラグ11
へのライトは、不許可状態(ディセーブル)への設定の
みが可能で、許可状態(イネーブル)への設定は、プロ
セッサ2から直接設定することはできない。
【0028】この発明の目的を逸脱しない範囲で、不揮
発性メモリ1の内容を破壊しないということであれば、
第1の実施の形態をリードアクセスに限り許可フラグ1
1の状態が許可状態あるいは不許可状態に関わらず、リ
ードアクセスを許可するように変更することができるこ
とは明らかである。
【0029】次に、第2の実施の形態を図面を参照して
説明する。第1の実施の形態における図1のメモリ保護
回路10のフラグ制御回路12を、第2の実施の形態の
図4のメモリ保護回路13では、フラグ制御回路14に
変更する。フラグ制御回路14の構成を示す図5を参照
すると、演算処理にシフト回路126を採用する点で、
第1の実施の形態の演算回路125と異なる。シフト演
算は、例えば、制御レジスタ121のデータを0X00
000001として、演算を左1ビットシフトとすると
演算結果は0X00000010となる。また、右1ビ
ットシフトでもよい。このシフト演算に対応して、プロ
セッサ2における演算処理がシフト処理に変更され、図
6(a)のステップ202Bの「プロセッサでシフト処
理」と、図6(b)のステップ252Bの「シフト回路
で処理」と、にそれぞれ変更される。その他の構成及び
動作は、第1の実施の形態における図1,図2,図3
(a),図3(b)のそれぞれ対応するものに同じであ
る。
【0030】次に、第3の実施の形態を図面を参照して
説明する。第1の実施の形態におけるメモリ保護回路1
0が第3の実施の形態では、メモリ保護回路15に変更
される。メモリ保護回路10では、図3及び図6のステ
ップ207に示すように、不揮発性メモリ1へのアクセ
スが終了した毎に、許可フラグ11を不許可状態のディ
セーブルに設定するため、プロセッサ2が許可フラグ1
1に直接ライトを行っていた。メモリ保護回路15で変
更される点は、図3及び図6のステップ207に示す許
可フラグ11への直接書き込みを一切無くすために、不
揮発性メモリ1へのアクセス回数のカウンタ127を設
け、規定回数のアクセスが終了すると、自動的に許可フ
ラグ11を不許可状態のディセーブルに変更する。
【0031】上述の変更点を図8を用いて説明する。メ
モリ保護回路15のフラグ制御回路16は、制御レジス
タ121と、一時バッファ122と、セレクタ123
と、比較回路124と、演算回路125と、に加え、不
揮発性メモリ1へのアクセス回数をカウントするカウン
タ127を備える。カウンタ127は、プロセッサ1か
ら、アクセス回数に相当するデータが初期値として設定
され、不揮発性メモリ1に対するアクセス毎に、減算さ
れて、「0」に達したとき、許可フラグ11をディセー
ブルの不許可状態にする作用を有する。
【0032】第3の実施の形態の動作を動作を図9
(a)及び図9(b)を参照して説明する。まず、制御
レジスタ121の初期値のデータを確認するために制御
レジスタ121をリードする(ステップ201)。プロ
セッサ2は、リードした制御レジスタ121のデータに
対して演算処理を実行する(ステップ202A)。演算
結果をライトデータとして、一時バッファ122を通じ
て制御レジスタ121にライトを行う(ステップ20
3)。更に、正常に処理が行われたことを確認するため
に、許可フラグ11をリードする(ステップ204)。
続いて不揮発性メモリ1へのアクセス回数をカウンタ1
27にライトする(ステップ204A)。ここから不揮
発性メモリ1へのアクセスを開始する(ステップ20
5)。不揮発性メモリ1へのアクセスが発生するたびに
カウンタをデクリメントし、規定回数に達したかを判定
し、カウンタ127が「0」に達すると(ステップ20
6のA)、許可フラグ11をディセーブルに更新する
(ステップ207)。
【0033】このカウンタ127の動作はハードウェア
でなされ、カウンタ127の動作を示す図9(b)を参
照すると、カウンタ127はプロセッサ2からアクセス
される度に、設定されているアクセス回数を減算する
(ステップ261)。カウンタ127が所定のアクセス
回数に達して、カウント値「0」に達すると、許可フラ
グ11をディセーブルの不許可状態にする(ステップ2
62)。
【0034】第3の実施の形態の動作の全体を図7と図
8と図9(a)と図9(b)に沿って、具体的に説明す
る。プロセッサ2は、制御レジスタ121のリードを行
う(ステップ201)ためにアドレスとコマンドを出力
する。アドレスとコマンドはアドレス/コマンドバッフ
ァ4に格納され、デコーダ7にてデコードされる。デコ
ード結果が制御レジスタ121のリードの場合、データ
セレクタ8は制御レジスタ121のデータを選択して、
リードデータバッファ6に格納し、プロセッサ2に返送
する。プロセッサ2は、読み出した制御レジスタ121
のデータに演算処理を行う(ステップ202A)。プロ
セッサ2は、この演算処理結果データを制御レジスタ1
21に一時バッファ122を通じてライトする(ステッ
プ203)。このライトのアドレスとコマンドは、アド
レス/コマンドバッファ4に、ライトデータである演算
処理結果データはライトデータバッファ5に、それぞれ
格納される。アドレスとコマンドをデコーダ7でデコー
ドした結果、制御レジスタ121へのライトの場合、ラ
イトデータバッファ5に格納されたライトデータは、一
時バッファ122に格納される。一方、制御レジスタ1
21のデータは、演算回路125にて演算が行われる。
一時バッファ122に格納された演算処理結果データ
と、演算回路125の出力データと、を比較回路124
にて比較する。比較結果が一致すれば、許可フラグ設定
信号で許可フラグ11をイネーブルの許可状態に設定す
る。
【0035】更に、セレクタ123は、一時バッファ1
22のデータを選択し、制御レジスタ121を更新す
る。もし、比較回路124の結果が不一致の場合、許可
フラグ11の状態は変更されず、不許可状態のディセー
ブルのままとなり、セレクタ123は、制御レジスタ1
21のデータを選択するので、制御レジスタ121へデ
ータが書き戻されて、そのままのデータが再格納され
る。その後、プロセッサ2は、制御レジスタ121への
書き込み処理が正常に行われたことを確認するために許
可フラグ11をリードする(ステップ204)。プロセ
ッサ2からのアドレスとコマンドは、アドレス/コマン
ドバッファ4に格納され、デコーダ7にてデコードされ
る。デコード結果が許可フラグ11のリードならば、デ
ータセレクタ123は、許可フラグ11の状態の値を選
択してリードデータバッファ6に格納し、プロセッサ2
に返送する。
【0036】続いて、プロセッサ2は、カウンタ127
に不揮発性メモリ1へのアクセス回数をライトする(ス
テップ204A)。アドレスとコマンドはアドレス/コ
マンドバッファ4に、ライトデータはライトデータバッ
ファ5に、それぞれ格納され、アドレスとコマンドは、
デコーダ7にてデコードされる。デコード結果がカウン
タ127へのライトの場合、ライトデータバッファ5の
ライトデータが初期値のデータとしてカウンタ127に
設定される。該データは不揮発性メモリ1に対するアク
セス回数である。ここから、プロセッサ2は、不揮発性
メモリ1へのアクセスを開始する(ステップ205)。
アドレスとコマンドは、アドレス/ コマンドバッファ
4に、ライトアクセスの場合は、ライトデータをライト
データバッファ5に、それぞれ格納し、アドレスとコマ
ンドをデコーダ7にてデコードする。デコード結果が不
揮発性メモリ1へのアクセスの場合、メモリ制御回路9
に通知し、メモリ制御回路9は許可フラグ11が許可状
態のイネーブルなので、不揮発性メモリ1にアクセスを
行う。リードアクセスの場合、データセレクタ8は、不
揮発性メモリ1からのリードデータを選択してリードデ
ータバッファ6に格納して、プロセッサ2に返送する。
ライトアクセスの場合、ライトデータバッファ5のライ
トデータを不揮発性メモリ1に出力してライトを実行す
る。
【0037】カウンタ127の動作は、図9(b)を参
照すると、不揮発性メモリ1へのアクセスが発生する度
に、カウンタ127は、1ずつディクリメントを行い
(ステップ261)、規定回数に達するとカウント値が
「0」となり、許可フラグ11をディセーブルに更新す
る(ステップ262)。プロセッサ2は、許可フラグ1
1を許可状態のイネーブルにも、不許可状態のディセー
ブルにも直接設定することはできない。
【0038】
【発明の効果】ソフトウェアの非正常なアクセスからシ
ステム情報を保護するために、単にソフトウェア見えの
レジスタへのライトによりアクセスを許可/不許可する
のではなく、メモリ保護回路及びプロセッサの双方で個
別に演算処理した結果によって、許可状態にするか、あ
るいは不許可状態にするか、を判定する処理を挿入する
ことにより、正常なアクセスであることを保証する。
【0039】更に、不揮発性メモリに対する予定のアク
セス回数を予めカウンタに設定し、アクセスの度に制御
レジスタに対して、データを正常に演算処理された結果
データに基づいて、アクセスを実行し、要求されるアク
セス回数を書き込む制御を受けるので、非正常なアクセ
スを取り除くことができる。
【0040】更に、プログラム処理だけで非正常なアク
セスを防止するには、チェックを多重に行う必要があ
り、その分、プログラムが複雑になってしまうが、この
発明では、基本的にリード1回とライト1回でチェック
されるので、プログラムを簡単にできる。
【図面の簡単な説明】
【図1】この発明の第1の実施の形態2を示す図であ
る。
【図2】図1のフラグ制御回路の細部を示す図である。
【図3】第1の実施の形態の動作を示す図で、分図
(a)はプロセッサの動作を、分図(b)はフラグ制御
回路の動作を、それぞれ示す図である。
【図4】この発明の第2の実施の形態2を示す図であ
る。
【図5】図4のフラグ制御回路の細部を示す図である。
【図6】第2の実施の形態の動作を示す図で、分図
(a)はプロセッサの動作を、分図(b)はフラグ制御
回路の動作を、それぞれ示す図である。
【図7】この発明の第3の実施の形態2を示す図であ
る。
【図8】図7のフラグ制御回路の細部を示す図である。
【図9】第3の実施の形態の動作を示す図で、分図
(a)はプロセッサの動作を、分図(b)はフラグ制御
回路の動作を、それぞれ示す図である。
【図10】従来技術のメモリ保護回路の構成を示す図で
ある。
【図11】図10の動作を示す図である。
【符号の説明】
1 不揮発性メモリ 2 プロセッサ 3 プロセッサ制御回路 4 アドレス/コマンドバッファ 5 ライトデータバッファ 6 リードデータバッファ 7 デコーダ 8 データセレクタ 9 メモリ制御回路 10 メモリ保護回路 11 許可フラグ 12 フラグ制御回路 13 メモリ保護回路 14 フラグ制御回路 15 メモリ保護回路 16 フラグ制御回路 121 制御レジスタ 122 一時バッファ 123 セレクタ 124 比較回路 125 演算回路 126 シフト回路 127 カウンタ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 システム情報を格納する不揮発性メモリ
    と、不揮発性メモリにアクセスして、システム情報をリ
    ードライトするプロセッサと、前記プロセッサから不揮
    発性メモリへのアクセスを制御するプロセッサ制御回路
    と、を備え、 前記プロセッサ制御回路が、 不揮発性メモリへのアクセスに対してメモリを保護する
    メモリ保護回路と、 プロセッサから送付されるアドレスあるいはコマンドを
    受け付けるアドレス/コマンドバッファと、 プロセッサから送付されるライトデータを受け付けるラ
    イトデータバッファと、 アドレス/コマンドバッファのデータをデコードするデ
    コーダと、 前記デコーダの出力によって、前記メモリ保護回路また
    は不揮発性メモリの出力のいずれか一つを選択するデー
    タセレクタと、 前記データセレクタの出力を受け取るリードバッファ
    と、 前記デコーダからのアドレス及びコマンド並びに前記メ
    モリ保護回路によって、不揮発性メモリに対するリード
    ライトを実施するメモリ制御回路と、 を備えてメモリ保護を実施するメモリ保護回路におい
    て、 前記メモリ保護回路が、 プロセッサからのアクセスが正常かあるいは非正常かを
    判定するフラグ制御回路と、 前記メモリ制御回路に対して、前記不揮発性メモリに対
    するアクセスを許可あるいは不許可にする許可フラグ
    と、 を備え、 てなることを特徴とするメモリ保護回路。
  2. 【請求項2】 前記フラグ制御回路は、 プロセッサからライトデータバッファを通じて送付され
    る初期値あるいは演算処理結果のデータを一時記憶する
    一時バッファと、 プロセッサからの前記データを記憶する制御レジスタ
    と、 前記制御レジスタのデータあるいは前記一時バッファの
    データを選択するセレクタと、 前記制御レジスタのデータを演算処理する演算回路と、 前記演算回路の出力データとプロセッサからの演算処理
    結果データとを比較して、一致しているとき、前記許可
    フラグを許可状態にし、前記制御レジスタを前記セレク
    タを通じて前記演算回路出力データで更新し、不一致の
    とき、前記許可フラグの状態を変更せずに前記制御レジ
    スタのデータを前記セレクタを通じて再格納する比較回
    路と、 を備えることを特徴とする請求項1記載のメモリ保護回
    路。
  3. 【請求項3】 前記演算回路は、 前記制御レジスタのデータに対して、所定値を加算する
    回路であることを特徴とする請求項2記載のメモリ保護
    回路。
  4. 【請求項4】 前記演算回路は、 前記制御レジスタのデータに対して、シフト演算を施す
    回路であることを特徴とする請求項2記載のメモリ保護
    回路。
  5. 【請求項5】 前記フラグ制御回路は、 プロセッサからライトデータバッファを通じて送付され
    る初期値あるいは演算処理結果のデータを一時記憶する
    一時バッファと、 プロセッサからの前記初期値のデータを記憶する制御レ
    ジスタと、 前記制御レジスタのデータあるいは前記一時バッファの
    データを選択するセレクタと、 前記制御レジスタのデータを演算処理する演算回路と、 前記演算回路の出力データとプロセッサからの演算処理
    結果データとを比較して、一致しているとき、前記許可
    フラグを許可状態に設定し、前記制御レジスタを前記セ
    レクタを通じて前記演算回路出力データで更新し、不一
    致のとき、前記許可フラグの状態を変更せずに前記制御
    レジスタのデータを前記セレクタを通じて再格納する比
    較回路と、 プロセッサによってアクセス回数のデータが設定され,
    前記不揮発性メモリに対するアクセス毎に減算されて、
    前記データが「0」に達したとき、前記許可フラグを不
    許可状態にするカウンタと、 を備えることを特徴とする請求項1記載のメモリ保護回
    路。
  6. 【請求項6】 前記演算処理結果データは、 プロセッサが前記制御レジスタから読み出したデータに
    対して、前記不揮発性メモリに対する正常なアクセス処
    理の一部をなす演算処理で得られる結果データであるこ
    とを特徴とする請求項2及び請求項5記載のメモリ保護
    回路。
JP2002020189A 2002-01-29 2002-01-29 メモリ保護回路 Expired - Fee Related JP3918089B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002020189A JP3918089B2 (ja) 2002-01-29 2002-01-29 メモリ保護回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002020189A JP3918089B2 (ja) 2002-01-29 2002-01-29 メモリ保護回路

Publications (2)

Publication Number Publication Date
JP2003223362A true JP2003223362A (ja) 2003-08-08
JP3918089B2 JP3918089B2 (ja) 2007-05-23

Family

ID=27743758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002020189A Expired - Fee Related JP3918089B2 (ja) 2002-01-29 2002-01-29 メモリ保護回路

Country Status (1)

Country Link
JP (1) JP3918089B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100927975B1 (ko) * 2007-08-29 2009-11-24 주식회사 안철수연구소 메모리에서의 데이터 보호 방법
JP2012174123A (ja) * 2011-02-23 2012-09-10 Fujitsu Semiconductor Ltd 誤書き込み防止回路および半導体装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100927975B1 (ko) * 2007-08-29 2009-11-24 주식회사 안철수연구소 메모리에서의 데이터 보호 방법
JP2012174123A (ja) * 2011-02-23 2012-09-10 Fujitsu Semiconductor Ltd 誤書き込み防止回路および半導体装置

Also Published As

Publication number Publication date
JP3918089B2 (ja) 2007-05-23

Similar Documents

Publication Publication Date Title
US7444668B2 (en) Method and apparatus for determining access permission
JP4584044B2 (ja) 半導体装置
US8234476B2 (en) Information processing apparatus and method of updating stack pointer
US20170032126A1 (en) Information processing device, controller and method of controlling information processing device
TW201821998A (zh) 記憶體保護邏輯
JP2001256460A (ja) 1チップマイクロコンピュータ及びそれを用いたicカード
US20060090053A1 (en) Program-controlled unit
JPH10228421A (ja) メモリアクセス制御回路
US20060112246A1 (en) Program-controlled unit
JP2007249933A (ja) データ処理装置内コンテンツへのアクセス管理
EP1763761A1 (en) Digital signal controller secure memory partitioning
KR20040048664A (ko) 컴퓨터 시스템의 바이오스 보안 유지방법
JPH03276337A (ja) マイクロコントローラ
JPH11272828A (ja) 集積回路を有するチップカ―ド
JP4294503B2 (ja) 動作モード制御回路、動作モード制御回路を含むマイクロコンピュータ及びそのマイクロコンピュータを利用した制御システム
JP2010009454A (ja) 情報処理装置
JP3918089B2 (ja) メモリ保護回路
JP2008040585A (ja) マイクロコンピュータ
US20060080519A1 (en) Program-controlled unit
JP2010282499A (ja) コンピュータシステム、情報保護方法およびプログラム
JP4865064B2 (ja) 半導体装置
US8924672B2 (en) Device with processing unit and information storage
TW201324155A (zh) 快閃記憶體儲存系統及其資料保護方法
JP2011150457A (ja) 情報処理装置およびメモリアクセス制御方法
JP4978181B2 (ja) メモリ装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060126

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: 20070116

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070129

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees