JP2006178867A - フラッシュメモリを用いたcpuシステム、フラッシュメモリ保護回路およびそのフラッシュメモリ保護方法 - Google Patents

フラッシュメモリを用いたcpuシステム、フラッシュメモリ保護回路およびそのフラッシュメモリ保護方法 Download PDF

Info

Publication number
JP2006178867A
JP2006178867A JP2004373628A JP2004373628A JP2006178867A JP 2006178867 A JP2006178867 A JP 2006178867A JP 2004373628 A JP2004373628 A JP 2004373628A JP 2004373628 A JP2004373628 A JP 2004373628A JP 2006178867 A JP2006178867 A JP 2006178867A
Authority
JP
Japan
Prior art keywords
flash memory
address
cpu
access
write
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
JP2004373628A
Other languages
English (en)
Inventor
Tetsuya Morita
哲也 森田
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 Saitama Ltd
Original Assignee
NEC Saitama Ltd
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 Saitama Ltd filed Critical NEC Saitama Ltd
Priority to JP2004373628A priority Critical patent/JP2006178867A/ja
Publication of JP2006178867A publication Critical patent/JP2006178867A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】フラッシュメモリの誤った書換えや意図せぬ特殊モードへの遷移を未然に防止し、フラッシュメモリに格納されるデータの保護を容易に実現できるようにする。
【解決手段】CPU1からのフラッシュメモリ3へのアクセス制御がメモリコントローラ2を介して行われるCPUシステムにおいて、前記フラッシュメモリ3に対して前記CPU1が実行するライトアクセスの指定アドレスが、前記フラッシュメモリ3のデータバス幅の境界と一致しない場合に発生するミスアラインによるライトアクセスを禁止するアクセス禁止手段(転送アドレス監視部4,ORゲート5)設けることを特徴とする。
【選択図】 図1

Description

本発明は、フラッシュメモリを用いたCPUシステム、フラッシュメモリ保護回路およびそのフラッシュメモリ保護方法に関し、特にフラッシュメモリによる誤動作を防止したCPUシステム、フラッシュメモリ保護回路およびそのフラッシュメモリ保護方法に関する。
一般的に、フラッシュメモリは、書込みがビット単位で可能であるが、消去が全ビットあるいはブロック単位(まとまったビット数の単位)で行う、電気的消去および書込可能な不揮発性メモリである。このフラッシュメモリによる誤動作を防止する方法を説明する前に,他の不揮発性メモリの誤動作防止方法について説明する。
この不揮発性メモリの誤書込を防止した中央処理装置(CPU)システムとして、特許文献1に示されたシステムがある。このCPUシステムは、制御プログラムの記憶手段として、電気的消去および書込可能な不揮発性メモリ(EEPROM:Electrically Erasable and Programmable Read Only Memory)を用いている。このCPUシステムは、EEPROMのライトイネーブル信号WEにノイズが重畳したり、CPUが暴走した場合に、誤ってEEPROMの内容を書き換えてしまうことを防止している。
図4はこのCPUシステムのブロック図である。このCPUシステムは、中央処理装置(CPU)1a、EEPROM3a、アドレスデコーダ6、誤書込防止回路7、リセット回路8から構成される。CPU1aとEEPROM3a間にデータバス11、アドレスバス12が接続される。
このCPU1aにより指定されるEEPROM3aのアドレスに制御プログラムなどが書き込まれる。また、CPU1aは、16ビットのアドレス情報をアドレスバス12を介してEEPROM3aおよびアドレスデコーダ6に供給している。また、CPU1aは、8ビットの書込データD0〜D7をデータバス11を介してEEPROM3aに出力すると共に、1ビットの書込データD0を誤書込防止回路7に出力している。
CPU1aがEEPROM3aのデータを書き換える場合には、16進法で表される初期アドレスを出力すると共に、書込データD0として論理ハイ(レベル)を出力して、EEPROM3aを書込可能な状態に設定する。その後、所定アドレスに書込データを書き込む。
アドレスデコーダ6は、CPU1aからEEPROM3aを指定するアドレスが入力されると、チップセレクト信号14aを論理ロウに立ち下げる。またそれと同時に、EEPROM3aへの書込開始に入力される開始アドレスに対応してアドレスデコーダ6の書込許可ポートP1からの出力信号41を論理ロウに立ち下げる。誤書込防止回路7は、図に示すように、インバートNAND31,32およびラッチ回路33から構成される。インバートNAND31は、アドレスデコーダ6の書込許可ポートからの出力と書込要求信号との論理積をイネーブル信号としてラッチ回路33に出力する。
ラッチ回路33は、イネーブル信号が論理ロウに立ち下がると、最下位データD0の出力を保持し、またその反転出力である状態制御信号をインバートNAND32に出力する。ここでインバートNAND32は、状態制御信号と書込要求信号との論理積を書込許可信号19aとしてEEPROM3aのライトイネーブル信号WEに入力する。
ラッチ回路33は、最初論理ハイに保持されると書込不可能となるが、最下位データD0より出力される論理ロウを保持すると、EEPROM3aを書込可能状態に設定できる。また、誤書込防止回路7は、この書込可能状態で書込要求信号16aが論理ロウに立ち下がった場合にのみ書込データD0〜D7をEEPROM3aへの書込を許可する。また、リセット回路8は、CPU1a、EEPROM3aのリセット端子およびラッチ回路33のクリア端子にリセット信号42を供給し、CPU1a、EEPROM3aを初期化すると共に、ラッチ回路33の状態制御信号を論理ハイに立ち上げる。
まず、電源が論理ハイに立ち上がると、ラッチ回路33からの状態制御信号が論理ハイとなり、EEPROM3aを書込不可能とする。CPU1aは、データバス11を介してデータをEEPROM3aに出力すると、書込要求信号16aを論理ロウに立ち下げ、誤書込防止回路7のインバートNAND31,32に出力する。この時、アドレスデコーダ6には、書込開始アドレスが入力されていないので、インバートNAND31の他端に入力される信号は論理ハイであり、ラッチ回路33から出力される状態制御信号も論理ハイのままである。
これにより、インバートNAND32に論理ロウの書込要求信号16aが入力される場合にも状態制御信号が論理ハイであるので、EEPROM3aへの書込許可信号19aは論理ハイのままである。従って、CPU1aの誤動作により誤ってEEPROM3aのアドレスが指定され、書込要求信号16aが出力されたとしても、書込アドレスの前に書込開始アドレスが設定されていない場合には、EEPROM3aへの書込が禁止され、誤書き込みを回避することができる。
一方、ラッチ回路33からの状態制御信号が論理ロウである書込許可期間の場合には、CPU1aに指定されたEEPROM3aのデータを書き換えることができる。すなわち、CPU1aの書込開始アドレスをアドレスデコーダ6に出力し、アドレスデコーダ6の書込許可ポートの信号を論理ロウに立ち下げ、ラッチ回路33に入力される最下位ビットデータD0を論理ロウに立ち下げる。この際、書込要求信号が論理ロウに立ち下ると、ラッチ回路33に入力されるイネーブル信号が論理ロウに立ち下ることにより、ラッチ回路33から出力される状態制御信号が論理ロウにラッチされて書き込み許可状態になる。
この従来技術は、EEPROM3aへの誤書き込みを回避してはいるが、フラッシュメモリの問題を解決していない。フラッシュメモリは、バイト単位での書き込み制御が出来ず、データバス幅が16ビットのデバイスでもライトイネーブル(WE*)端子は1つである。そのため、フラッシュメモリのライトアクセスが行われた場合は、データバスに示される全てのデータを有効として扱うことになる。また、フラッシュメモリを制御するためのコマンドは、データバスのLSB側8ビットに示された値に従い、制御されることが一般的である。
図5は、一般的なフラッシュメモリが配置されたCPUシステムの構成を示すブロック図である。このCPUシステムは、CPUのメモリ空間内に特定のコマンドシーケンスを有するフラッシュメモリが配置された構成である。このCPUシステムは、CPU1、メモリコントローラ2a、フラッシュメモリ3から構成され、CPU1とフラッシュメモリ3間にデータバス11、アドレスバス12が接続される。CPU1からバスアクセスの転送方向(リード/ライト)を示すリード/ライト信号13が、メモリコントローラ2aに接続される。
メモリコントローラ2aは、チップイネーブル信号14、アウトプットイネーブル信号15又はライトイネーブル信号16の各ストローブ信号を生成し、チップイネーブル信号14、アウトプットイネーブル信号15、ライトイネーブル信号16はフラッシュメモリ3の各端子へ接続する。
また、図6は、16ビットデータを16ビットメモリの偶数番地及び、奇数番地へ転送した場合のデータ位置を示す配置図である。この場合、フラッシュメモリ3のバス幅が16ビット(16ビットメモリ)であり、CPU1により実行されるバスアクセスのアドレスバス下位4ビット[A3−A0]が1番地を示し、16ビットデータのライトアクセスが実行された場合のタイミングチャートを図7に示す。
CPU1からフラッシュメモリ3へのアクセスはメモリコントローラ2を介して行われる。この時、図7に示すように、CPU1が実行するバスアクセスのリード/ライト信号13及び、アドレスバス12の下位4ビット、メモリコントローラ2により生成されたフラッシュメモリのチップイネーブル信号14が転送アドレス監視部4へも入力される。メモリコントローラ2は、フラッシュメモリ3に対するバスアクセスを検出するとチップイネーブル信号14、アウトプットイネーブル信号15又はライトイネーブル信号16の各ストローブ信号を生成し、フラッシュメモリ3の各端子へ供給する。
この構成において、CPU1の誤動作やソフトウェアによる不用意なアドレス算出などにより、フラッシュメモリ3に対してCPU1が実行するライトアクセスの指定アドレスにより出力データ配列が、フラッシュメモリ3のデータビット配列と一致しない場合がある。(フラッシュメモリ3のデータバス幅の境界が一致しない場合がある。)これは、フラッシュメモリ3のデータバス幅が16ビットであるため、その境界は0,2,4のように偶数番地となるが、1,3,5のような奇数番地へのアクセスが発生した場合にはミスアラインが発生することになる。
例えば、図6に示す通り、転送したい16ビットデータをaabb(Hex)とした場合、aa(Hex)が16ビットメモリのLSB側、bb(Hex)が16ビットメモリのMSB側に相当するため、2回のライトアクセスが発生する。偶数番地である場合は、
上位8ビットにaa(Hex)が示され、下位8ビットに有効データbb(Hex)が示されるので、問題はない。しかし、奇数番地へのアクセスでは、1回目のライトアクセスではデータバスの上位8ビットに不定データ、下位8ビットに有効データであるaa(Hex)が示される。同様に、2回目のライトアクセスではデータバスの上位8ビットに有効データであるbb(Hex)、下位8ビットに不定データが示される。これらの場合にはミスアラインが発生する。
特開平4−274539号
このようにCPUのメモリ空間内に特定のコマンドシーケンスを有するフラッシュメモリを用いた従来のCPUシステムは、図4に示すような誤書込防止回路を用いたとしてもフラッシュメモリのミスアライン問題は解決されない。すなわち、フラッシュメモリを用いた従来のCPUシステムには、次のような問題がある。
その問題点は、CPUの誤動作やソフトウェアによる不用意なアドレス算出などにより、フラッシュメモリに対して前記CPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しない場合に発生するミスアラインにより、ソフトウェアが意図せぬ不定なデータが書き込まれる恐れがあるということである。仮に、この不定なデータがフラッシュメモリの構造や能力情報を読み出すための特殊モードへ遷移させるコマンドと一致した場合には、以降のリードアクセスに対して構造や能力情報を示すデータが出力される。従って、本来出力されるべきフラッシュメモリへ格納されている有効なデータが出力されないことになる。
例えば、フラッシュメモリにCPUの起動用プログラムが格納されている構成で、ミスアラインにより不定データが書き込まれ、特殊モードへ遷移してしまったとする。この場合には、CPUをリセットし、再起動を試みても起動用プログラムデータを読み出すことが出来ず、再起動も不可能な状態に陥る恐れがある。
本発明の主な目的は、フラッシュメモリの誤った書換えや意図せぬ特殊モードへの遷移を未然に防止出来るようにしたフラッシュメモリを用いたCPUシステム、フラッシュメモリ保護回路およびそのフラッシュメモリ保護方法を提供することにある。
本発明の構成は、フラッシュメモリと,中央処理装置(CPU)と、このCPUからの前記フラッシュメモリへのアクセス制御を行うメモリコントローラとを備えたCPUシステムにおいて、前記フラッシュメモリに対して前記CPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しないアドレスを禁止するアクセス禁止手段を設け、前記指定アドレスのミスアラインによるアクセスを禁止したことを特徴とする。
本発明において、アクセス禁止手段が、フラッシュメモリに対してCPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しないアドレスを監視する転送アドレス監視手段と、この転送アドレス監視手段が前記一致しないアドレスを検出したとき前記フラッシュメモリへのアクセスを禁止するゲート手段とを備えることができ、また、転送アドレス監視手段が、フラッシュメモリに対してCPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しないアドレスを設定する禁止条件設定部と、この禁止条件設定部のアドレスとCPUが実行するライトアクセスの指定アドレスとを所定タイミングで比較し一致しないアドレスを出力する条件比較部とを含むことができ、さらに、所定タイミングが、CPUが実行するライトアクセス時で、かつメモリコントローラからの出力がチップイネーブルである時であることができる。
本発明の他の構成は、CPUからメモリコントローラを介してフラッシュメモリのアクセス制御が行われるフラッシュメモリ保護回路において、前記フラッシュメモリに対して前記CPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しないアドレスを禁止するアクセス禁止手段を有することを特徴とする。
本発明において、アクセス禁止手段が、フラッシュメモリに対して前記CPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しないアドレスを監視する転送アドレス監視手段と、この転送アドレス監視手段が前記一致しないアドレスを検出したとき前記フラッシュメモリへのアクセスを禁止するゲート手段とを備えることができ、また、転送アドレス監視手段が、フラッシュメモリのデータバス幅の境界ビットと一致しないアドレスを設定する禁止条件設定部と、この禁止条件設定部のアドレスとCPUが実行するライトアクセスの指定アドレスとを所定タイミングで比較し一致しないアドレスを出力する条件比較部とを含むことができ、さらに、転送アドレス監視手段が、禁止条件設定部の禁止条件と一致したライトアクセスが発生した時にエラーとしてCPUに出力するエラー生成部を含むことができる。
本発明のさらに他の構成は、CPUからのフラッシュメモリへのアクセス制御がメモリコントローラを介して行われるCPUシステムのフラッシュメモリ保護方法において、前記フラッシュメモリに対して前記CPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しないアドレスを禁止し、前記指定アドレスのミスアラインによるアクセスを禁止し、前記ミスアライン発生時の不正なライトアクセスを防止することを特徴とする。
本発明において、バイト単位の書き込み制御が不可能なメモリ領域に対して、ミスアライン発生時に不正なライトアクセスを防止することができ、また、フラッシュメモリに対して前記CPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しない禁止条件と一致したライトアクセス発生時にライトイネーブルをマスクし、前記ライトアクセスを無効とすることができ、さらに、フラッシュメモリのデータデータビットの配列と一致しない禁止条件と一致したライトアクセス発生時にCPUに対して、転送エラーが発生したことを通知することができる。
以上説明したように、本発明によれば、フラッシュメモリに対してCPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しない場合のデータの書き込みを無効としているので、フラッシュメモリの誤った書換えや意図せぬ特殊モードへの遷移を未然に防止し、フラッシュメモリに格納されるデータの保護を容易に実現できるという効果がある。
次に図面により本発明の実施形態を説明する。図1は本発明の一実施形態のCPUシステムのブロック図である。この図1のように、本実施形態は、CPU1、メモリコントローラ2、フラッシュメモリ3、転送アドレス監視部4、および2入力ORゲート5から構成される。これらCPU1とフラッシュメモリ3との間にデータバス11、アドレスバス12が接続される。
図1において、CPU1からフラッシュメモリ3へのアクセスはメモリコントローラ2を介して行われる。この時、CPU1が実行するバスアクセスの転送方向(リード/ライト)を示すリード/ライト信号13及び、アドレスバス12の下位4ビット、メモリコントローラ2により生成されたフラッシュメモリのチップイネーブル信号14が転送アドレス監視部4へも入力される。転送アドレス監視部4は、CPU1が実行するアクセスがライトアクセスであった場合、指定アドレスがフラッシュメモリ3のデータバス幅の境界と一致しているか否かを監視ている。この転送アドレス監視部4の出力が、一致していない場合にはWE*マスク信号18をハイレベルに遷移させる。このWE*マスク信号18は、ライトイネーブル信号16と共に2入力ORゲート5に入力され、2入力ORゲート5の出力は、フラッシュメモリ3へのライトイネーブル信号19として入力する。従って、ハイレベルに遷移したWE*マスク信号18により、ライトイネーブル信号19が無効となる。転送アドレス監視部4は、同時に、転送エラー信号17を生成し、フラッシュメモリ3に対するライトアクセスに異常が発生したことをCPU1に通知する。
なお、転送アドレス監視部4は、フラッシュメモリ3のデータバス幅の境界と一致しないアドレスがアクセス禁止条件となる。例えば
・8ビット幅の場合、バイト単位のアドレス毎にデータバスの境界があるため、禁止条件無し。
・16ビット幅の場合、データ[A3−A0]の最下位ビットであるA0が”1”であるアドレス=1,3,5,7,9,B,D,F番地(奇数番地)が禁止条件となる。
・32ビット幅の場合、データ[A3−A0]の下位2ビットであるA1とA0が”00”以外である。アドレス=1,2,3,5,6,7,9,A,B,D,E,F番地が禁止条件となる。許可条件は0,4,8,C番地へのアクセスである。
この様に本実施形態によれば、CPUのメモリ空間内に特定のコマンドシーケンスを有するフラッシュメモリが配置されたCPUシステムにおいて、フラッシュメモリの誤った書換えや意図せぬ特殊モードへの遷移を未然に防止し、フラッシュメモリに格納されるデータの保護を容易に実現することができる。
その理由は、CPUの誤動作やソフトウェアによる不用意なアドレス算出などにより、フラッシュメモリに対してCPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しない場合を検出することが出来る。従って、メモリのデータバス幅の境界で一致しない場合に発生するミスアラインにより、ソフトウェアが意図せぬデータの書き込みを無効とするからである。
本発明の一実施例は図1と同様であり、CPUのメモリ空間内に特定のコマンドシーケンスを有するフラッシュメモリが配置されたCPUシステムである。また、転送アドレス監視部4の内部構成が図2のブロック図に示される。
図1において、CPU1により実行されるバスアクセスの転送方向(リード/ライト)信号(R/W*)13及びアドレスバス12はメモリコントローラ2に入力される。メモリコントローラ2は、フラッシュメモリ3に対するバスアクセスを検出するとチップイネーブル信号(CE*)14、アウトプットイネーブル信号(OE*)15又はライトイネーブル信号(WE*)16の各ストローブ信号を生成する。これらチップイネーブル信号15、アウトプットイネーブル信号16はフラッシュメモリ3の各端子へ接続される。ライトイネーブル信号16は、2入力ORゲート5の一方に入力され、2入力ORゲート5の他方の入力には転送アドレス監視部4から出力されるWE*マスク信号が接続される。2入力ORゲート5の出力信号19がフラッシュメモリ3へ接続される。バスアクセスの転送方向(リード/ライト)信号13及び、アドレスバス12の下位4ビット、メモリコントローラ2により生成されたフラッシュメモリ3のチップイネーブル信号14は転送アドレス監視部4へも接続される。また、CPU1に対してバスアクセスの異常を通知する信号として、転送アドレス監視部4から出力される転送エラー信号17がCPU1に接続される。
転送アドレス監視部4は、図2のように、条件比較部21、禁止条件設定部22、エラー生成部23から構成される。CPU1により出力されるバスアクセスの転送方向(リード/ライト)信号13及び、アドレスバス12の下位4ビット[A3−A0]、メモリコントローラ2により生成されたフラッシュメモリのチップイネーブル信号14は条件比較部21に接続され、条件比較部21には禁止条件設定部22に予め設定された条件も入力される。条件比較部21の比較結果は、WE*マスク信号として、2入力ORゲート5に入力されると同時に、エラー生成部23に通知される。エラー生成部23は、WE*マスク信号に従い、バスアクセスの異常が通知された場合には転送エラー信号17を生成し、CPU1へバスアクセスの異常を通知する。
次に本発明の実施例の動作を説明する。図1、図2の構成において、フラッシュメモリ3のバス幅が16ビット(16ビットメモリ)であり、CPU1により実行されるバスアクセスのアドレスバス下位4ビット[A3−A0]が1番地を示し、16ビットデータのライトアクセスが実行された場合のタイミングチャートを図3に示す。
図1において、CPU1がライトバスアクセスを実行した場合、ライトアクセスを示した転送方向(リード/ライト)信号13及び、アドレスバス12はメモリコントローラ2に入力される。メモリコントローラ2は、アドレスバス12に示された値がフラッシュメモリ3に割り当てられたアドレスであることを検出すると、チップイネーブル信号14及びライトイネーブル信号16を生成する。チップイネーブル信号16はフラッシュメモリ3のCE*端子へ接続され、ライトイネーブル信号16は、2入力ORゲート5の一方に入力される。この時、転送方向(リード/ライト)信号13及び、アドレスバス12の下位4ビット[A3−A0]、チップイネーブル信号16は転送アドレス監視部4へも入力される。
図2及び図3において、転送アドレス監視部4に接続された転送方向(リード/ライト)信号13及びアドレスバス12の下位4ビット[A3−A0]、チップイネーブル信号16は条件比較部21に入力される。また、禁止条件設定部22は、バスアクセスの禁止条件として、CPU1が実行するフラッシュメモリ3に対するライトアクセスの指定アドレスが、フラッシュメモリ3のデータバス幅の境界と一致しない場合を予め設定している。それは、即ち、チップイネーブル信号16がアクティブであること、転送方向(リード/ライト)信号13がライトを示していること、アドレスバスの下位4ビット[A3−A0]が奇数を示していることを条件比較部21で比較される。条件比較部21の比較結果はWE*マスク信号18として、2入力ORゲート5の一方に入力されると同時に、エラー生成部23に通知される。
図3において、フラッシュメモリ3のバス幅が16ビットであり、CPU1により実行されるライトバスアクセスのアドレスバス下位4ビット[A3−A0]が1番地を示し、16ビットデータのライトアクセスが実行された場合、禁止条件設定部22に設定されたバスアクセスの禁止条件と一致する。この場合には、WE*マスク信号18はハイレベルへ遷移する。2入力ORゲート5の一方であるWE*マスク信号18がハイレベルとなったことにより、2入力ORゲート5のもう一方の入力であるメモリコントローラ2出力のライトイネーブル信号16に因らず、2入力ORゲート5の出力であるフラッシュメモリ3への入力のライトイネーブル信号19はハイレベルが維持され、バスアクセスが禁止される。
また、エラー生成部23は、WE*マスク信号18がハイレベルに遷移したことを受け、バスアクセスの異常が通知されたことを検出し、転送エラー信号17を生成する。この転送エラー信号17はCPU1へ入力され、CPU1が実行しているバスアクセスを転送エラーとして終了する。これにより、条件比較部21の比較結果は不一致となり、WE*マスク信号18は初期状態であるロウレベルに戻り、転送エラー信号17も解除される。
なお、エラー生成部23はWE*マスク信号のハイ信号を検出すると、CPUのバスアクセスを終了させるための転送エラー信号(パルス)を生成する。ソフトウェアの作り次第なのでエラー処理については明記しないが、CPUはバスアクセスの異常終了によりALM又はERR表示や書き込みの再試行などエラー処理(数回の再試行でALM又はERR表示など)を起動することが可能となります。このエラー処理により、システム(バスアクセス)に異常が発生したことを操作者や上位装置などの外部に通知することができる。
本実施例によれば、CPUのメモリ空間内に特定のコマンドシーケンスを有するフラッシュメモリが配置されたCPUシステムにおいて、フラッシュメモリの誤った書換えや意図せぬ特殊モードへの遷移を未然に防止し、フラッシュメモリに格納されるデータの保護を容易に実現することができる。
本発明では、フラッシュメモリについて説明したが、バイト単位の書き込み制御が不可能なメモリ領域では同様な問題が想定される。そのため、フラッシュメモリのチップイネーブル信号に代わり、バイト単位の制御が不可能なメモリ領域、例えば、SDRAMやSRAMなどの選択を示すチップイネーブル信号を比較条件とすることにより、SDRAMやSRAMなどに適用することも考えられる。
この場合にも、そのメモリ領域に対してCPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、フラッシュメモリのデータビットの配列と一致しない場合に発生するミスアラインによるライトアクセスを無効とすることが可能となる。従って、誤った書換えを未然に防止することができる。
本発明の第1の実施形態を説明するCPUシステムのブロック図である。 図1の転送アドレス監視部4を説明するブロック図である。 図1の動作を説明するタイミングチャートである。 従来例のEEPROMを用いたCPUシステムのブロック図である。 従来例のフラッシュメモリを用いたCPUシステムのブロック図である。 図5の動作を説明するデータ構成図である。 図5の動作を説明するタイミングチャートである。
符号の説明
1 CPU
2,2a メモリコントローラ
3 フラッシュメモリ
3a EEPROM
4 転送アドレス監視部
5 ORゲート
6 アドレスデコーダ
7 誤書込防止回路
8 リセット回路
11 データバス
12 アドレスバス
13 転送方向信号
14 チップイネーブル信号
14a チップセレクト信号
15 アウトプットイネーブル信号
16,19 ライトネーブル信号
16a 書込要求信号
17 転送エラー信号
18 WE*マスク信号
21 条件比較部
22 禁止条件設定部
23 エラー生成部
31,32 インバートNAND
33 ラッチ回路
41 書込許可信号
42 リセット信号

Claims (13)

  1. フラッシュメモリと,中央処理装置(CPU)と、このCPUからの前記フラッシュメモリへのアクセス制御を行うメモリコントローラとを備えたCPUシステムにおいて、前記フラッシュメモリに対して前記CPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しないアドレスを禁止するアクセス禁止手段を設け、前記指定アドレスのミスアラインによるアクセスを禁止したことを特徴とするフラッシュメモリを用いたCPUシステム。
  2. アクセス禁止手段が、フラッシュメモリに対してCPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しないアドレスを監視する転送アドレス監視手段と、この転送アドレス監視手段が前記一致しないアドレスを検出したとき前記フラッシュメモリへのアクセスを禁止するゲート手段とを備える請求項1記載のフラッシュメモリを用いたCPUシステム。
  3. 転送アドレス監視手段が、フラッシュメモリに対してCPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しないアドレスを設定する禁止条件設定部と、この禁止条件設定部のアドレスと前記CPUが実行するライトアクセスの指定アドレスとを所定タイミングで比較し一致しないアドレスを出力する条件比較部とを含む請求項2記載のフラッシュメモリを用いたCPUシステム。
  4. 所定タイミングが、CPUが実行するライトアクセス時で、かつメモリコントローラからの出力がチップイネーブルである時である請求項3または4記載のフラッシュメモリを用いたCPUシステム。
  5. 転送アドレス監視手段が、禁止条件設定部の禁止条件と一致したライトアクセスが発生した時にエラーとしてCPUに出力するエラー生成部を含む請求項3または4記載のフラッシュメモリを用いたCPUシステム。
  6. CPUからメモリコントローラを介してフラッシュメモリのアクセス制御が行われるフラッシュメモリ保護回路において、前記フラッシュメモリに対して前記CPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しないアドレスを禁止するアクセス禁止手段を有し、前記指定アドレスのミスアラインによるライトアクセスを禁止することを特徴とするフラッシュメモリ保護回路。
  7. アクセス禁止手段が、フラッシュメモリに対してCPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しないアドレスを監視する転送アドレス監視手段と、この転送アドレス監視手段が前記一致しないアドレスを検出したとき前記フラッシュメモリへのアクセスを禁止するゲート手段とを備える請求項6記載のフラッシュメモリ保護回路。
  8. 転送アドレス監視手段が、フラッシュメモリに対してCPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しないアドレスを設定する禁止条件設定部と、この禁止条件設定部のアドレスとCPUが実行するライトアクセスの指定アドレスとを所定タイミングで比較し一致しないアドレスを出力する条件比較部とを含む請求項6記載のフラッシュメモリ保護回路。
  9. 転送アドレス監視手段が、禁止条件設定部の禁止条件と一致したライトアクセスが発生した時にエラーとしてCPUに出力するエラー生成部を含む請求項6,7または8記載のフラッシュメモリ保護回路。
  10. CPUからのフラッシュメモリへのアクセス制御がメモリコントローラを介して行われるCPUシステムのフラッシュメモリ保護方法において、前記フラッシュメモリに対して前記CPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しないアドレスを禁止し、前記指定アドレスのミスアラインによるアクセスを禁止したことを特徴とするフラッシュメモリ保護方法。
  11. バイト単位の書き込み制御が不可能なメモリ領域に対して、ミスアライン発生時に不正なライトアクセスを防止する請求項10記載のフラッシュメモリ保護方法。
  12. フラッシュメモリに対してCPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しない禁止条件と一致したライトアクセス発生時にライトイネーブルをマスクし、前記ライトアクセスを無効とする請求項10または11記載のフラッシュメモリ保護方法。
  13. フラッシュメモリに対してCPUが実行するライトアクセスの指定アドレスにより出力されるデータ配列が、前記フラッシュメモリのデータビットの配列と一致しない禁止条件と一致したライトアクセス発生時に前記CPUに対して、転送エラーが発生したことを通知する請求項10,11または12記載のフラッシュメモリ保護方法。
JP2004373628A 2004-12-24 2004-12-24 フラッシュメモリを用いたcpuシステム、フラッシュメモリ保護回路およびそのフラッシュメモリ保護方法 Pending JP2006178867A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004373628A JP2006178867A (ja) 2004-12-24 2004-12-24 フラッシュメモリを用いたcpuシステム、フラッシュメモリ保護回路およびそのフラッシュメモリ保護方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004373628A JP2006178867A (ja) 2004-12-24 2004-12-24 フラッシュメモリを用いたcpuシステム、フラッシュメモリ保護回路およびそのフラッシュメモリ保護方法

Publications (1)

Publication Number Publication Date
JP2006178867A true JP2006178867A (ja) 2006-07-06

Family

ID=36732921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004373628A Pending JP2006178867A (ja) 2004-12-24 2004-12-24 フラッシュメモリを用いたcpuシステム、フラッシュメモリ保護回路およびそのフラッシュメモリ保護方法

Country Status (1)

Country Link
JP (1) JP2006178867A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012171110A (ja) * 2011-02-17 2012-09-10 Seiko Epson Corp 画像データ処理装置、記録装置及び画像データ処理方法
CN114546084A (zh) * 2022-01-28 2022-05-27 山东云海国创云计算装备产业创新中心有限公司 一种基板管理控制器复位方法、系统、存储介质及设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05113933A (ja) * 1991-10-23 1993-05-07 Fujitsu Ltd メモリ保護方法
JPH08179993A (ja) * 1994-12-22 1996-07-12 Hitachi Ltd データプロセッサ及びこれを利用するデータ処理システム
JPH08212138A (ja) * 1995-02-08 1996-08-20 Ricoh Co Ltd 情報処理装置
JPH1078919A (ja) * 1996-09-05 1998-03-24 Nec Eng Ltd 不正アクセス防止装置
JPH10207768A (ja) * 1996-09-30 1998-08-07 Cummins Engine Co Inc エンジン動作中におけるフラッシュ・メモリにアクセスするための方法および装置
JPH11143789A (ja) * 1997-11-05 1999-05-28 Fanuc Ltd バストレース装置
JP2002014737A (ja) * 2000-06-29 2002-01-18 Fujitsu Ltd 処理装置、集積回路、および集積回路パッケージ
JP2002268915A (ja) * 2001-03-06 2002-09-20 Hewlett Packard Co <Hp> 非整列メモリアクセスを監視するシステムおよび方法
JP2003233534A (ja) * 2002-02-07 2003-08-22 Hitachi Ltd メモリシステム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05113933A (ja) * 1991-10-23 1993-05-07 Fujitsu Ltd メモリ保護方法
JPH08179993A (ja) * 1994-12-22 1996-07-12 Hitachi Ltd データプロセッサ及びこれを利用するデータ処理システム
JPH08212138A (ja) * 1995-02-08 1996-08-20 Ricoh Co Ltd 情報処理装置
JPH1078919A (ja) * 1996-09-05 1998-03-24 Nec Eng Ltd 不正アクセス防止装置
JPH10207768A (ja) * 1996-09-30 1998-08-07 Cummins Engine Co Inc エンジン動作中におけるフラッシュ・メモリにアクセスするための方法および装置
JPH11143789A (ja) * 1997-11-05 1999-05-28 Fanuc Ltd バストレース装置
JP2002014737A (ja) * 2000-06-29 2002-01-18 Fujitsu Ltd 処理装置、集積回路、および集積回路パッケージ
JP2002268915A (ja) * 2001-03-06 2002-09-20 Hewlett Packard Co <Hp> 非整列メモリアクセスを監視するシステムおよび方法
JP2003233534A (ja) * 2002-02-07 2003-08-22 Hitachi Ltd メモリシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012171110A (ja) * 2011-02-17 2012-09-10 Seiko Epson Corp 画像データ処理装置、記録装置及び画像データ処理方法
CN114546084A (zh) * 2022-01-28 2022-05-27 山东云海国创云计算装备产业创新中心有限公司 一种基板管理控制器复位方法、系统、存储介质及设备

Similar Documents

Publication Publication Date Title
US5793774A (en) Flash memory controlling system
JP5535547B2 (ja) セキュアメモリインターフェース
US7117328B2 (en) Non-volatile data storage system and data storaging method
US5892826A (en) Data processor with flexible data encryption
JP3875621B2 (ja) 不揮発性半導体記憶装置
US5826007A (en) Memory data protection circuit
US20070174573A1 (en) Nonvolatile memory system
US7692984B2 (en) System and method for initiating a bad block disable process in a non-volatile memory
US7421534B2 (en) Data protection for non-volatile semiconductor memory using block protection flags
US20060129791A1 (en) Secure booting apparatus and method
JP4312272B2 (ja) 内部メモリへのアクセスを制限するマイクロコントローラ
JPH1050078A (ja) 電気的に消去およびプログラムが可能なリード・オンリ・メモリの消去およびプログラミング保護方法および装置
US6883075B2 (en) Microcontroller having embedded non-volatile memory with read protection
JP2000268584A (ja) 不揮発性半導体記憶装置およびその製造方法
JP5730034B2 (ja) 半導体装置
TW202022878A (zh) 資料處理系統與資料處理方法
WO2001061503A1 (en) Nonvolatile memory
JP2006178867A (ja) フラッシュメモリを用いたcpuシステム、フラッシュメモリ保護回路およびそのフラッシュメモリ保護方法
US6813191B2 (en) Microcomputer with nonvolatile memory protected against false erasing or writing
US11281576B2 (en) Memory device
US7890721B2 (en) Implementation of integrated status of a protection register word in a protection register array
JP2021144553A (ja) センサ装置
JP2010079686A (ja) データ処理装置、メモリ制御回路およびメモリ制御方法
JP2003203012A (ja) マイクロコンピュータ装置
JP4118023B2 (ja) メモリ制御回路

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070124

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080619

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090915

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100302