(57)【要約】【課題】チップ占有面積の増大及び消費電力増大を生ずることなく、比較的容易にオンチップのＥＥＰＲＯＭのリードアクセスを高速化することができるデータ処理装置を提供する。【解決手段】データ処理装置にオンチップされた前記不揮発性メモリには、不揮発性メモリセルのアレイ（１０）からロウアドレス系選択動作でビット線に読み出されたデータの全部又は一部をラッチするプリリードキャッシュ部（１５）と、プリリードキャッシュ部にラッチされたデータの一部をカラム系選択動作で選択する選択回路（１６）とを設け、プリリードキャッシュ部にラッチされたデータのアドレス情報を保持し、保持したアドレス情報と同一のアドレス情報による不揮発性メモリに対するリードアクセスに際してプリリードキャッシュ部への新たなデータのラッチを抑制すると共に、プリリードキャッシュ部にラッチされているデータを前記選択部に選択させる制御を行う。【選択図】図５
2012038385.tif 000002
【特許請求の範囲】
【請求項１】
命令を実行する中央処理装置と、電気的に書き換え可能であってランダムアクセス可能な不揮発性メモリと、前記不揮発性メモリのリードアクセスを高速化するメモリ制御ロジックと、を１個の半導体基板に有するデータ処理装置であって、
前記不揮発性メモリは、不揮発性メモリセルのアレイからロウアドレス系選択動作でビット線に読み出されたデータの全部又は一部をラッチするプリリードキャッシュ部と、プリリードキャッシュ部にラッチされたデータの一部をカラム系選択動作で選択する選択回路とを有し、
前記メモリ制御ロジックは、プリリードキャッシュ部にラッチされたデータのアドレス情報を保持し、保持したアドレス情報と同一のアドレス情報による不揮発性メモリに対するリードアクセスに際してプリリードキャッシュ部への新たなデータのラッチを抑制すると共に、プリリードキャッシュ部にラッチされているデータを前記選択部に選択させる、データ処理装置。
【請求項２】
前記プリリードキャッシュ部は、ビット線に読み出されたデータの全部又は一部をラッチするセンスラッチ回路と、前記センスラッチ回路の入力段に配置された入力ゲート回路と、前記センスラッチ回路の出力段に配置された出力ゲート回路を有する、請求項１記載のデータ処理装置。
【請求項３】
前記不揮発性メモリに入力されて不揮発性メモリセルに書きこまれるライトデータを暗号化し、不揮発性メモリセルから読み出されて外部に出力されるリードデータを復号する暗号化復号回路を更に有する、請求項２記載のデータ処理装置。
【請求項４】
前記プリリードキャッシュ部は、ビット線に読み出されたデータの全部又は一部をラッチする第１センスラッチ回路と、前記第１センスラッチ回路の入力段に配置された第１入力ゲート回路と、前記第１センスラッチ回路の出力段に配置された第１出力ゲート回路と、ビット線に読み出されたデータの全部又は一部をラッチする第２センスラッチ回路と、前記第２センスラッチ回路の入力段に配置された第２入力ゲート回路と、前記第２センスラッチ回路の出力段に配置された第２出力ゲート回路とを有し、
前記メモリ制御ロジックは、リード動作においてプリリードキャッシュ部にラッチされたデータのアドレス情報に続くアドレス情報を連続的に生成するアドレスカウンタを備え、初期値を基点に順次前記アドレスカウンタで生成されるアドレス情報を用いて交互にロウアドレス系選択動作で第１センスラッチ回路と第２センスラッチ回路にリードデータをラッチさせ、一方の入力ゲート回路を介する一方のセンスラッチ回路へのリードデータのラッチ動作に並行して他方のセンスラッチ回路が保持するデータを他方の出力ゲート回路を介して外部に出力させる、請求項１記載のデータ処理装置。
【請求項５】
前記プリリードキャッシュ部は、ビット線に読み出されたデータの全部又は一部をラッチする第１センスラッチ回路と、前記第１センスラッチ回路の入力段に配置された第１入力ゲート回路と、前記第１センスラッチ回路の出力段に配置された第１出力ゲート回路と、ビット線に読み出されたデータの全部又は一部をラッチする第２センスラッチ回路と、前記第２センスラッチ回路の入力段に配置された第２入力ゲート回路と、前記第２センスラッチ回路の出力段に配置された第２出力ゲート回路とを有し、
前記メモリ制御ロジックは、プログラムリード動作においてプリリードキャッシュ部にラッチしたプログラムのアドレス情報を保持し、保持したプログラムのアドレス情報と同一のアドレス情報による不揮発性メモリに対するプログラムリードアクセスに際してプリリードキャッシュ部の第1センスラッチ回路への新たなプログラムのラッチを抑制すると共に、プリリードキャッシュ部にラッチされているプログラムを前記選択部に選択させる制御信号を生成し、また、データリード動作においてプリリードキャッシュ部にラッチしたデータのアドレス情報を保持し、保持したデータのアドレス情報と同一のアドレス情報による不揮発性メモリに対するデータリードアクセスに際してプリリードキャッシュ部の第２センスラッチ回路への新たなデータのラッチを抑制すると共に、プリリードキャッシュ部にラッチされているデータを前記選択部に選択させる、請求項１記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電気的に書き換え可能であってランダムアクセス可能な不揮発性メモリを有する半導体集積回路化されたデータ処理装置に関し、例えばシングルチップのマイクロコンピュータに適用して有効な技術に関する。
【背景技術】
【０００２】
電気的に書き換え可能であってランダムアクセス可能な不揮発性メモリとしてＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）がある。ＥＥＰＲＯＭは例えばＥＥＰＲＯＭに接続されるデータバスの並列ビット数が２バイトならばデータの書き換えは２バイト若しくはその整数倍程度を単位とする消去及び書き込み動作によって行うことができる。
【０００３】
このＥＥＰＲＯＭに対するリードアクセスの高速化を図る技術として連想記憶を適用したキャッシュメモリを採用することができる。
【０００４】
また、大きな記憶容量を持つストレージデバイスとしてのフラッシュメモリのような電気的に書き換え可能な不揮発性メモリの書き換えは、２５６バイトのような消去単位である消去ブロックのデータをセンスラッチに読み出してから消去ブロックを消去し、センスラッチ上の退避データと書き換え対象の数バイトのデータとの論理和演算などを行って、その演算結果を当該消去ブロックに書き戻すことによって行う。
【０００５】
このフラッシュメモリに対するリードアクセスの高速化を図る場合にも上記同様にキャッシュメモリを適用することができる。そのほかに、特許文献１，２に記載される不揮発性メモリセルから読み出されたデータをＳＲＡＭからなる複数のページバッファに蓄積し、複数のページバッファに蓄積されたデータを外部に出力するようにして、連続リード動作を高速化する技術が提供されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２８５３１３号公報
【特許文献２】特開２００６−２８６１７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながらＥＥＰＲＯＭのリードアクセスの高速化のために連想記憶によるキャッシュメモリを採用する場合には、チップ占有面積の増大、消費電力増大、更には秘匿データを扱うシステムでは秘匿データをＥＥＰＲＯＭとは異なるデバイスにも一次的に保持することになってセキュリティの低下も免れない、などの問題点のあることが本発明者によって明らかにされた。また、ＥＥＰＲＯＭに特許文献１，２に記載されたページバッファを用いる構造を採用する場合には、ページバッファの追加や、ページバッファに対する制御ロジックという比較的大規模なロジックも追加しなければならず、上記同様に、チップ占有面積の増大及び消費電力増大という問題点が依然として残ることが明らかにされた。
【０００８】
本発明の目的は、チップ占有面積の増大及び消費電力増大を生ずることなく、比較的容易にオンチップのＥＥＰＲＯＭのリードアクセスを高速化することができるデータ処理装置を提供することにある。
【０００９】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１１】
すなわち、データ処理装置にオンチップされた前記不揮発性メモリには、不揮発性メモリセルのアレイからロウアドレス系選択動作でビット線に読み出されたデータの全部又は一部をラッチするプリリードキャッシュ部と、プリリードキャッシュ部にラッチされたデータの一部をカラム系選択動作で選択する選択回路とを設け、プリリードキャッシュ部にラッチされたデータのアドレス情報を一時的に保持し、保持したアドレス情報と同一のアドレス情報による不揮発性メモリに対するリードアクセスに際してプリリードキャッシュ部への新たなデータのラッチを抑制すると共に、プリリードキャッシュ部にラッチされているデータを前記選択部に選択させる制御を行う。
【００１２】
その制御は、メモリ制御回路を介して行えばよく、また、プリリードキャッシュ部に対するデータラッチ動作又はデータ出力動作の制御であるからその制御は比較的簡素であり、規模の大きな制御ロジックを必要としない。その上、不揮発性ロジックに追加すべきプリリードキャッシュ部の論理規模は最大でもロウアドレス系選択動作でビット線に読み出されたデータの全部をラッチ可能な規模であればよく、不揮発性メモリ側の論理規模の増加を小さく抑えることができる。
【発明の効果】
【００１３】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１４】
すなわち、チップ占有面積の増大及び消費電力増大を生ずることなく、比較的容易にオンチップのＥＥＰＲＯＭのリードアクセスを高速化することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は本発明の一実施の形態に係るマイクロコンピュータを例示するブロック図である。
【図２】図２はＥＥＰＲＯＭの構成を例示するブロック図である。
【図３】図３はメモリコントローラの一例を示すブロック図である。
【図４】図４はタイミングジェネレータからプリリードキャッシュ部への制御信号の流れを例示する説明図である。
【図５】図５はプリリードキャッシュ部の構成を例示するブロック図である。
【図６】図６はアドレスラッチにラッチされているブロックアドレスと異なるブロックアドレスのデータについてリードアクセスされる場合の動作を例示するタイミングチャートである。
【図７】図７はアドレスラッチにラッチされているブロックアドレスと同じブロックアドレスのデータについてリードアクセスされる場合の動作を例示するタイミングチャートである。
【図８】図８はプリリードキャッシュ部にラッチした８バイトのデータが順次２バイト単位で連続してプリリードキャッシュ部からシステムバスに読み出される動作を例示するタイミングチャートである。
【図９】図９はプリリードキャッシュ部にラッチした８バイトのデータの一部のアドレスＡｍ＋４，Ａｍ＋６のデータだけをプリリードキャッシュ部からシステムバスに読み出す動作を例示するタイミングチャートである。
【図１０】図１０はプリリードキャッシュ部にラッチした８バイトのデータが２バイト単位でプリリードキャッシュ部からシステムバスに読み出される順番がアドレス順になっていない場合を例示するタイミングチャートである。
【図１１】図１１はＣＰＵがＥＥＰＲＯＭをアクセスしてデータ処理を行うときのＥＥＰＲＯＭに対するアクセス形態を例示する説明図である。
【図１２】図１２はセルフキャッシュ機能を追加したＥＥＰＲＯＭを採用したデータ処理装置を例示するブロック図である。
【図１３】図１３は図１２のセルフキャッシュ動作タイミングを例示するタイミングチャートである。
【図１４】図１４はデータとプログラムを分離してラッチするプリリードキャッシュ部を備えたＥＥＰＲＯＭを採用したデータ処理装置のブロック図である。
【発明を実施するための形態】
【００１６】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１７】
〔１〕＜プリリードキャッシュとメモリ制御ロジック＞
本発明の代表的な実施の形態に係るデータ処理装置（１）は、命令を実行する中央処理装置（５）と、電気的に書き換え可能であってランダムアクセス可能な不揮発性メモリ（３）と、前記不揮発性メモリのリードアクセスを高速化するメモリ制御ロジック（２，２Ａ、２Ｂ）と、を１個の半導体基板に有する。前記不揮発性メモリは、不揮発性メモリセルのアレイからロウアドレス系選択動作でビット線に読み出されたデータの全部又は一部をラッチするプリリードキャッシュ部（１５，１５Ａ，１５Ｂ）と、プリリードキャッシュ部にラッチされたデータの一部をカラム系選択動作で選択する選択回路とを有する。前記メモリ制御ロジックは、プリリードキャッシュ部にラッチされたデータのアドレス情報を保持し、保持したアドレス情報と同一のアドレス情報による不揮発性メモリに対するリードアクセスに際してプリリードキャッシュ部への新たなデータのラッチを抑制すると共に、プリリードキャッシュ部にラッチされているデータを前記選択部に選択させる。
【００１８】
前記メモリ制御ロジックによる制御は、プリリードキャッシュ部に対するデータラッチ動作又はデータ出力動作の制御であるからその制御は比較的簡素であり、規模の大きな制御ロジックを必要としない。その上、不揮発性ロジックに追加すべきプリリードキャッシュ部の論理規模は最大でもロウアドレス系選択動作でビット線に読み出されたデータの全部をラッチ可能な規模であればよく、不揮発性メモリ側の論理規模の増加を小さく抑えることができる。
【００１９】
〔２〕＜プリリードキャッシュ＞
項１のデータ処理装置において、前記プリリードキャッシュ部は、ビット線に読み出されたデータの全部又は一部をラッチするセンスラッチ回路（３２）と、前記センスラッチ回路の入力段に配置された入力ゲート回路（３０）と、前記センスラッチ回路の出力段に配置された出力ゲート回路（３１）を有する。
【００２０】
プリリードキャッシュ部をセンスラッチ回路とゲート回路で構成することによってその回路規模を小さくすることが容易になる。
【００２１】
〔３〕＜暗号化復号回路＞
項２のデータ処理装置は更に、前記不揮発性メモリに入力されて不揮発性メモリセルに書きこまれるライトデータを暗号化し、不揮発性メモリセルから読み出されて外部に出力されるリードデータを復号する暗号化復号回路（１７）を有する。
【００２２】
不揮発性メモリの外部に連想記憶形式のキャッシュメモリを設けて、復号した秘匿データを一次的に蓄積するシステム構成に比べて、秘匿データを不揮発性メモリの外部に保持させる期間が短くなり、秘匿データに対するセキュリティ性の向上に資することができる。
【００２３】
〔４〕＜連続セルフキャッシュ＞
項１のデータ処理装置において、前記プリリードキャッシュ部（１５Ａ）は、ビット線に読み出されたデータの全部又は一部をラッチする第１センスラッチ回路（４２）と、前記第１センスラッチ回路の入力段に配置された第１入力ゲート回路（４０）と、前記第１センスラッチ回路の出力段に配置された第１出力ゲート回路（４４）と、ビット線に読み出されたデータの全部又は一部をラッチする第２センスラッチ回路（４３）と、前記第２センスラッチ回路の入力段に配置された第２入力ゲート回路（４１）と、前記第２センスラッチ回路の出力段に配置された第２出力ゲート回路（４５）と、を有する。前記メモリ制御ロジック（２Ａ）は、リード動作においてプリリードキャッシュ部にラッチされたデータのアドレス情報に続くアドレス情報を連続的に生成するアドレスカウンタを備え、初期値を基点に順次前記アドレスカウンタで生成されるアドレス情報を用いて交互にロウアドレス系選択動作で第１センスラッチ回路と第２センスラッチ回路にリードデータをラッチさせ、一方の入力ゲート回路を介する一方のセンスラッチ回路へのリードデータのラッチ動作に並行して他方のセンスラッチ回路が保持するデータを他方の出力ゲート回路を介して外部に出力させる。
【００２４】
これにより、メモリ制御ロジックは不揮発性メモリに対する連続リードアクセスの高速化を中央処理装置に負担をかけずに実現することができる。
【００２５】
〔５〕＜データとプログラムの分離キャッシュ＞
項１のデータ処理装置において、前記プリリードキャッシュ部（１５Ｂ）は、ビット線に読み出されたデータの全部又は一部をラッチする第１センスラッチ回路（６２）と、前記第１センスラッチ回路の入力段に配置された第１入力ゲート回路（６０）と、前記第１センスラッチ回路の出力段に配置された第１出力ゲート回路（６４）と、ビット線に読み出されたデータの全部又は一部をラッチする第２センスラッチ回路（６３）と、前記第２センスラッチ回路の入力段に配置された第２入力ゲート回路（６１）と、前記第２センスラッチ回路の出力段に配置された第２出力ゲート回路（６５）とを有する。前記メモリ制御ロジック（２Ｂ）は、プログラムリード動作においてプリリードキャッシュ部にラッチしたプログラムのアドレス情報を保持し、保持したプログラムのアドレス情報と同一のアドレス情報による不揮発性メモリに対するプログラムリードアクセスに際してプリリードキャッシュ部の第1センスラッチ回路への新たなプログラムのラッチを抑制すると共に、プリリードキャッシュ部にラッチされているプログラムを前記選択部に選択させる制御信号を生成し、また、データリード動作においてプリリードキャッシュ部にラッチしたデータのアドレス情報を保持し、保持したデータのアドレス情報を保持し、保持したデータアドレス情報と同一のアドレス情報による不揮発性メモリに対するデータリードアクセスに際してプリリードキャッシュ部の第２センスラッチ回路への新たなデータのラッチを抑制すると共に、プリリードキャッシュ部にラッチされているデータを前記選択部に選択させる。
【００２６】
これにより、メモリ制御ロジックは不揮発性メモリに対するプログラムのリードアクセスとデータのリードアクセスを偏りなく高速化することができ、これを中央処理装置に負担をかけずに実現することができる。
【００２７】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００２８】
《実施の形態１》
図１には本発明の一実施の形態に係るマイクロコンピュータ（マイクロプロセッサ）が例示される。マイクロコンピュータ（ＭＣＵ）１は本発明に係るデータ処理装置（データ処理システム）の一例であり、特に制限されないが、単結晶シリコンのような１個の半導体基板にＣＭＯＳ集積回路製造技術によって形成される。
【００２９】
マイクロコンピュータ１は、夫々システムバス９に接続された、プログラムを実行する中央処理装置（ＣＰＵ）５、中央処理装置５のワーク領域などに用いられるワークメモリとしてのＲＡＭ４、中央処理装置５のデータ処理の一部を負担するアクセラレータ（ＡＣＣＬ）６、中央処理装置５が実行するプログラムなどを格納する電気的に書き換え不可能な不揮発性メモリであるマスクＲＯＭのようなＲＯＭ３ｍ、ＣＰＵ５のデータ処理に利用されるデータなどを電気的に書き換え可能に記憶する不揮発性メモリとしてのＥＥＰＲＯＭ３、ＥＥＰＲＯＭ３のプリリードキャッシュ機能を制御するメモリ制御ロジック（ＭＣＬＧＣ）２、外部入出力回路（ＥＸＩＯ）７、及びアナログ回路（ＡＮＬＧ）８を有する。
【００３０】
マイクロコンピュータ１は、特に制限されないが、ＩＣカードマイコンに適用されるマイクロコンピュータであり、秘匿性のあるデータを用いた認証処理などに用いられ、例えば、携帯電話機の使用者認証やＩＣカードの使用者認証などに適用される。
【００３１】
図２にはＥＥＰＲＯＭ３の構成が例示される。ＥＥＰＲＯＭ３は伝記的な消去及び書き込み動作によって書き換え可能な不揮発性メモリセルがアレイ上に配置されたメモリマット（ＭＭＡＴ）１０を有する。不揮発性メモリセルは、特に制限されないが、シリコン基板上に設けたｐ型ウェル領域に、情報記憶に用いるＭＯＳ型のメモリトランジスタ部と、前記メモリトランジスタ部を選択するＭＯＳ型の選択トランジスタ部とを有して成る。メモリトランジスタ部は、ソース線に接続するソース線接続電極としてのｎ型拡散層（ｎ型不純物領域）、電荷蓄積性絶縁膜（例えばシリコン窒化膜）、電荷蓄積性絶縁膜の上下に配置された絶縁膜（例えば酸化シリコン膜）、及び書込み処理・消去処理時に高電圧を印加するためのメモリゲート電極（例えばｎ型ポリシリコン層）を有する。前記選択トランジスタ部は、ビット線に接続するビット線接続電極としてのｎ型拡散層（ｎ型不純物領域）、ゲート絶縁膜（例えば酸化シリコン膜）、コントロールゲート電極（例えばｎ型ポリシリコン層）、前記コントロールゲート電極とメモリゲート電極を絶縁する絶縁膜（例えば酸化シリコン膜）を有する。例えば不揮発性メモリセルに対する消去は電荷蓄積性絶縁膜から電子を放出させ、書き込みはホットエレクトロンによって電荷蓄積性絶縁膜に電子を注入することによって行われる。この種のメモリセルについての詳細はＷＯ２００３／０１２８７８号公報に記載がある。
【００３２】
不揮発性メモリセルの選択端子が接続されるワード線はアドレス信号ＡＤＲをデコードして選択信号を生成するＸコーダ（ＸＤＥＣ）１１から出力される選択信号を用いて駆動され、ソース線はＸコーダ（ＸＤＥＣ）１１から出力される選択信号を用いて駆動される。ビット線、ソース線、及びワード線の駆動電圧はチャージポンプ回路（ＣＨＧＰＭＰ)１３で生成される高電圧によって与えられる。ビット線はＹセレクタ（ＹＳＥＬ）１２によって選択され、その選択はＹＺデコーダ（ＹＺＤＥＣ）１４がアドレス信号ＡＤＲをデコードして生成するＹ選択信号によって行う。ここで、ワード線によって選択されるメモリセルが特に制限されないが、６４バイトとされる。Ｙセレクタ１２は６４バイトから８バイトを選択する。
【００３３】
Ｙセレクタ１２で選択された８バイトのリードデータはプリリードキャッシュ部（ＰＲＣＣＨ）１５の一時的に蓄積される。プリリードキャッシュ部（ＰＲＣＣＨ）１５に蓄積された８バイトのリードデータは、Ｚセレクタ（ＺＳＥＬ）１５によって例えば２バイト選択される。その選択はＹＺデコーダ１４がアドレス信号ＡＤＲをデコードして生成するＺ選択信号によって行う。ここでアドレス信号ＡＤＲは、Ｘデコーダ１１によるワード線やソース線の選択信号を生成するためのＸアドレス信号、Ｙ選択信号を生成するためのＹアドレス信号、及びＺ選択信号を生成するためのＺアドレス信号を含む。Ｚセレクタ１６で選択されたリードデータは暗号化復号回路（ＣＲＥＮＣＲ）１７で復号され、入出力回路（ＩＯ）１８からシステムバス９に出力される。ＤＡＴはシステムバス９のデータを意味する。
【００３４】
システムバス９から入出力回路１８に与えられる２バイトの書き込みデータは暗号化復号回路１７で暗号化され、暗号化された２バイトの書き込みデータはＺセレクタ１６及びＹセレクタ１２を介して選択されたビット線に与えられ、そのとき選択されたワード線のメモリセルに書き込まれる。特に図示はしないが、書き込みの前に行う消去は8バイトの消去ブロック単位で行うようになっており、消去の前に消去対象ブロックのデータをラッチし、ラッチした８バイトのデータを２バイトの書き込みデータと論理輪演算を行い、その結果を、消去後の８バイトの消去ブロックに書き戻すという処理を行う。消去も２バイト単位で行う場合にはラッチデータと書き込みデータの論理輪演を行うことを要しない。
【００３５】
読み出し動作、消去動作、及び書き込み動作のための内部タイミングの生成はタイミングジェネレータ（ＴＧＮＲ）１９が行う。タイミングジェネレータ１９はシステムバス９からアクセス制御信号ＣＮＴを受け、更に、メモリコントローラ（ＭＣＮＴ）２０からプリリードキャッシュ動作のための制御信号ＥＥＰ＿ａｃ，ＣＣＨ＿ａｃ，ＷＡＩＴ＿ｃｎを受ける。
【００３６】
図３にはメモリコントローラ２０の一例が示される。メモリコントローラ２０は、遅延回路（ＤＬＹ）２１、アドレスラッチ回路２２、アドレス比較回路（ＡＣＭＰ）２３及びアドレスデコーダ（ＡＤＥＣ）２４を有する。アドレスデコーダ２４はアドレス信号ＡＤＲの上位側（ＡＤＲ＿ＥＥＰ）をデコードし、ＥＥＰＲＯＭのアクセスが選択されているか否かを判別する。ＥＥＰＲＯＭアクセスの指示を検出すると制御信号ＥＥＰ＿ａｃがローレベルにされる。制御信号ＥＥＰ＿ａｃのローレベル期間は、特に制限されないが、クロック信号ＣＬＫの1サイクルとされる。アドレスラッチ回路２２は、制御信号ＥＥＰ＿ａｃがローレベルにアサートされたときデータブロックのアドレス（ＡＤＲ＿ＢＬＫ）をラッチする。データブロックはここでは８バイトとされ、そのサイズはプリリードキャッシュ部１５がラッチするデータサイズに相当する。データブロックのアドレス（ＡＤＲ＿ＢＬＫ）はアドレス信号ＡＤＲの一部であり、この実施の形態に従えば、アドレス信号ＡＤＲの最下位ビットをバイトアドレスとすると、アドレス信号ＡＤＲの最下位側３ビット以外のアドレス信号になる。アドレス比較回路２３はアクセスサイクルにしたがってシステムバス９から供給される新たなアドレス信号ＡＤＲ＿ＢＬＫとアドレスラッチ回路２２に既にラッチされているアドレス信号との比較結果を制御信号ＣＣＨ＿ａｃとして出力する。比較一致の状態ではローレベルを出力し、比較不一致の状態ではハイレベルを出力する。制御信号ＣＣＨ＿ａｃがハイレベルにされている状態とは、新たなアドレス信号ＡＤＲ＿ＢＬＫがラッチされているアドレス信号と同じブロックアドレスであることを意味する。要するに、プリリードキャッシュ部１５に保持された８バイトのデータのブロックアドレスと同じブロックアドレスであることを意味する。遅延回路２１は制御信号ＥＥＰ＿ａｃの立ち上がりエッジで制御信号ＣＣＨ＿ａｃがハイレベルであることを条件にウェイトサイクルの挿入サイクル数分だけ制御信号ＷＡＩＴ＿ｃｎをローレベルに変化させる。ここではウェイトサイクルの挿入サイクル数はクロック信号ＣＬＫの２サイクルとし、メモリマット１０からシステムバス９へのデータ読み出しサイクルに３サイクル要し、プリリードキャッシュ部１５からシステムバス９へのデータ読み出しには１サイクルで済むものとする。
【００３７】
図４にはタイミングジェネレータ１９からプリリードキャッシュ部１５への制御信号の流れが例示される。前記制御信号ＥＥＰ＿ａｃ，ＣＣＨ＿ａｃ，ＷＡＩＴ＿ｃｎを受けるタイミングジェネレータ１９はプリリードキャッシュ部１５にタイミング制御信号ｃｃｈ＿ａｃを出力する。
【００３８】
図５にはプリリードキャッシュ部１５の構成が例示される。プリリードキャッシュ部１５は、Ｙセレクタ１２で選択された８バイトのデータをラッチするセンスラッチ回路（ＳＬＡＴ）３２と、センスラッチ回路３２の入力段に配置された入力ゲート回路３０と、センスラッチ回路３２の出力段に配置された出力ゲート回路３１を有する。入力ゲート回路３０と出力ゲート回路３１はタイミング制御信号ｃｃｈ＿ａｃによってその入出力動作が相補的に制御され、ハイレベルのときは入力ゲート回路３０の入出力動作が可能にされ、出力ゲート回路３１の入出力動作が不可能にされ、ローレベルのときはその逆の状態に制御される。
【００３９】
なお、図５にはメモリマット１０の構成が例示され、１ページが８ブロックから構成され、１ブロックが８バイトから構成される。
【００４０】
図６にはアドレスラッチ２２にラッチされているブロックアドレスと異なるブロックアドレスのデータについてリードアクセスされる場合の動作タイミングチャートが例示される。異なるブロックアアドレスＡｍが供給されると制御信号ＣＣＨ＿ａｃがハイレベルに反転され、これに応答してタイミング信号ｃｃｈ＿ａｃがハイレベルに反転され、これによって入力ゲート３０が入出力動作可能にされ、出力ゲート３１が入出力動作不可能にされる。制御信号ＥＥＰ＿ａｃの立ち上がりに同期して制御信号ＷＡＩＴ＿ｃｎが２サイクルだけローレベルにされることによって、タイミングジェネレータ１９にウェイトサイクルが２サイクル挿入される。この間にメモリマット１０から読み出されたリードデータがプリリードキャッシュ部１５に８バイトラッチされ、クロック信号ＣＬＫの次のクロックサイクルで１サイクルの期間だけタイミング信号ｃｃｈ＿ａｃがローレベルにされることにより、プリリードキャッシュ部１５にラッチされた８バイトのリードデータの内、２バイトがＺセレクタ１６で選択され、選択されたデータＤＡＴがシステムバス９に出力される。
【００４１】
図７にはアドレスラッチ２２にラッチされているブロックアドレスと同じブロックアドレスのデータについてリードアクセスされる場合の動作タイミングチャートが例示される。図６のタイミングに引き続いて、既にラッチされているブロックアドレスと同じブロックアアドレスＡｍが供給されると制御信号ＣＣＨ＿ａｃがローレベルに反転され、これに応答してタイミング信号ｃｃｈ＿ａｃがローレベルに反転され、これによって入力ゲート３０が入出力動作不可能可能にされ、出力ゲート３１が入出力動作可能にされる。制御信号ＣＣＨ＿ａｃがローレベルであるから制御信号ＥＥＰ＿ａｃが立ち上がっても制御信号ＷＡＩＴ＿ｃｎによるウェイトサイクルの挿入は指示されず、タイミングジェネレータ１９はクロック信号ＣＬＫの次の１クロックサイクルで、既にプリリードキャッシュ部１５にラッチされている８バイトのリードデータの内、２バイトをＺセレクタ１６で選択させ、選択されたデータＤＡＴがシステムバス９に出力される。
【００４２】
図８乃至図１０にはプリリードキャッシュ部１５にラッチされている８バイトのリードデータの読み出し動作形態のいくつかが例示される。
【００４３】
図８においてはプリリードキャッシュ部１５にラッチした８バイトのデータが順次２バイト単位で連続してプリリードキャッシュ部１５からシステムバス９に読み出される。別のブロックアドレスＡｎのリードアクセスがあったときはプリリードキャッシュ部１５の保持データはブロックアドレスＡｎのブロックデータに置き換えられる。
【００４４】
図９においては、プリリードキャッシュ部１５にラッチした８バイトのデータの一部のアドレスＡｍ＋４，Ａｍ＋６のデータだけをプリリードキャッシュ部１５からシステムバス９に読み出される。異なるブロックアドレスＡｎのリードアクセスがあったときはプリリードキャッシュ部１５の保持データはブロックアドレスＡｎのブロックデータに置き換えられる。
【００４５】
図１０においてはプリリードキャッシュ部１５にラッチした８バイトのデータが２バイト単位でプリリードキャッシュ部１５からシステムバス９に読み出される順番がアドレス順になっていない。このように、プリリードキャッシュ部１５に保持データの範囲内であれば、読み出し順序はアドレス順でなくてもプリリードキャッシュ部１５からの読み出しが可能である。
【００４６】
図１１にはＣＰＵ５がＥＥＰＲＯＭをアクセスしてデータ処理を行うときのＥＥＰＲＯＭに対するアクセス形態が例示される。例えばＣＰＵがＲＯＭ３ｍのプログラムを実行し、その処理として、代表的に示されたバイトコードのリード、及び暗号鍵のリードがあるとする。それら処理を行うために必要なデータはＥＥＰＲＯＭ３に格納されている。例えばバイトコードがアドレスＤｍに、暗号鍵がアドレスＤｍ＋４に格納されている場合、双方のバイトコードと暗号鍵は８バイトの同一ブロックアドレスに含まれるから、バイトコードの次に暗号鍵をリードするときはプリリードキャッシュ部１５からクロック信号ＣＬＫに１サイクルで読み出すことができる。
【００４７】
上記実施の形態１で説明したマイクロコンピュータによれば以下の作用効果を得る。
【００４８】
（１）＜プリリードキャッシュとメモリ制御ロジック＞
ＥＥＰＲＯＭ３のプリリードキャッシュ機能はプリリードキャッシュ部１５に対するデータラッチ動作又はデータ出力動作の制御であるからその制御は比較的簡素であり、規模の大きな制御ロジックを必要としない。その上、追加すべきプリリードキャッシュ部の論理規模は最大でもロウアドレス系選択動作でビット線に読み出されたデータの全部をラッチ可能な規模であればよく、ＥＥＰＲＯＭ全体の論理規模に比べて増加は小さく抑えられる。したがって、チップ占有面積の増大及び消費電力増大を生ずることなく、比較的容易にオンチップのＥＥＰＲＯＭのリードアクセスを高速化することができる。
【００４９】
（２）＜プリリードキャッシュ＞
プリリードキャッシュ部１５をセンスラッチ回路３２とゲート回路３０，３１で構成することによってその回路規模を小さくすることが容易になる。
【００５０】
（３）＜暗号化復号回路＞
ＥＥＰＲＯＭの外部に連想記憶形式のキャッシュメモリを設けて、復号した秘匿データを一次的に蓄積するシステム構成に比べて、秘匿データをＥＥＰＲＯＭの外部に保持させる期間が短きなり、秘匿データに対するセキュリティ性の向上に資することができる。
【００５１】
《実施の形態２》
図１２には連続してセルフキャッシュ機能を追加したＥＥＰＲＯＭを採用したデータ処理装置が例示される。ここでは、プリリードキャッシュ部が２個のセンスラッチを備えたＥＥＰＲＯＭを示す。セルフキャッシュ機能とはプリリードキャッシュ部１５Ａのセンスラッチをバンク構成とし、一方のセンスラッチに８バイトのリードデータを格納した後、先に次の８バイトのデータを他方のセンスラッチに先読みすることによって、途切れることなく連続リード動作を可能にする機能である。
【００５２】
図２乃至図５の構成に対して、プリリードキャッシュ部１５Ａは、Ｙセレクタ１２で選択された８バイトのデータをラッチする第１センスラッチ回路（ＳＬＡＴ１）４２と、前記第１センスラッチ回路４２の入力段に配置された第１入力ゲート回路４０と、前記第１センスラッチ回路４２の出力段に配置された第１出力ゲート回路４４と、Ｙセレクタ１２で選択された８バイトのデータをラッチする第２センスラッチ回路４３と、前記第２センスラッチ回路４３の入力段に配置された第２入力ゲート回路４１と、前記第２センスラッチ回路４３の出力段に配置された第２出力ゲート回路４５と、を有する。
【００５３】
入力ゲート回路４０と出力ゲート回路４４はタイミング制御信号ｃｃｈ＿ａｃ１、ｃｃｈ＿ａｃ２によってその入出力動作が制御される。入力ゲート回路４１と出力ゲート回路４５はタイミング制御信号ｃｃｈ＿ａｃ３，ｃｃｈ＿ａｃ４によってその入出力動作が相補的に制御される。
【００５４】
メモリ制御ロジック２Ａはメモリコントローラ２０Ａのほかにアドレスカウンタ（ＡＣＵＮＴ）５０を備える。メモリコントローラ２０Ａはアドレスラッチ回路２２を２個備え、クロック信号ＣＬＫの４サイクル毎に交互に切り換えて利用される。アドレスカウンタ５０は、ブロックアドレス信号ＡＤＲ＿ＢＬＫをクロック信号ＣＬＫの３サイクル毎にインクリメントして先読みアドレスＡＤＲ＿ｃａを生成すると共に、インクリメント毎にキャッシュ入力タイミング信号ＣＣＨ１＿ａｃ，ＣＣＨ２＿ａｃを交互に選択レベルとする。
【００５５】
タイミングジェネレータ１９Ａは前記制御信号ＡＤＲ＿ｃａ，ＣＣＨ１＿ａｃ，ＣＣＨ２＿ａｃ，ＥＥＰ＿ａｃ，ＣＣＨ＿ａｃ，ＷＡＩＴ＿ｃｎを入力してタイミング信号ｃｃｈ＿ａｃ１、ｃｃｈ＿ａｃ２，ｃｃｈ＿ａｃ３，ｃｃｈ＿ａｃ４を生成するロジックを有する。このロジックは、特に制限されないが、図１３の動作タイミングを満足するように構成される。要するに、初期値を基点に順次前記アドレスカウンタ５０で生成されるアドレスＡＤＲ＿ｃａを用いて交互に第１センスラッチ回路４２と第２センスラッチ回路４３にリードデータをラッチさせ、一方の入力ゲート回路４０（４１）を介する一方のセンスラッチ回路４２（４３）へのリードデータのラッチ動作に並行して他方のセンスラッチ回路４３（４２）が保持するデータを他方の出力ゲート回路４５（４４）を介して外部に出力させる。尚、タイミングジェネレータ１９Ａのロジックは、セルフキャッシュモードが指定されていないときは図２乃至図５の構成と同じ制御を行う。
【００５６】
実施の形態２によれば、ＥＥＰＲＯＭ３Ａに対する連続リードアクセスの高速化を中央処理装置５に負担をかけずに実現することができる。
【００５７】
《実施の形態３》
図１４にはデータとプログラムを分離してラッチするプリリードキャッシュ部１５Ｂを有するＥＥＰＲＯＭを採用したデータ処理装置が例示される。プリリードキャッシュ部１５Ｂは、Ｙセレクタ１２で選択された８バイトのプログラムをラッチする第１センスラッチ回路（ＳＬＡＴＰ）６２と、前記第１センスラッチ回路６２の入力段に配置された第１入力ゲート回路６０と、前記第１センスラッチ回路６２の出力段に配置された第１出力ゲート回路６４と、Ｙセレクタ１２で選択された８バイトのデータをラッチする第２センスラッチ回路（ＳＬＡＴＤ）６３と、前記第２センスラッチ回路６３の入力段に配置された第２入力ゲート回路６１と、前記第２センスラッチ回路６３の出力段に配置された第２出力ゲート回路６５と、を有する。
【００５８】
メモリ制御ロジック２Ｂはメモリコントローラ２０Ｂを有し、このメモリコントローラ２０Ｂは実施の形態１で説明しメモリコントローラ２０に対し、ＣＰＵ５が出力するアクセスストローブ信号ＰＦ／ＤＡに応ずる制御信号ＣＮＴ＿ｐｄを出力する機能が付加されている。ＣＰＵ５はプログラムフェッチの場合にはハイレベル、データアクセスの場合にはローレベルにされるアクセスストローブ信号ＰＦ／ＤＡを出力し、前記制御信号ＣＮＴ＿ａｄは、特に制限されないが、アクセスストローブ信号ＰＦ／ＤＡと同じ論理値の信号とされる。メモリコントローラ２０Ｂは、制御信号ＣＮＴ＿ａｄと共に前記メモリコントローラ２０が出力するのと同じ前記制御信号ＥＥＰ＿ａｃ，ＣＣＨ＿ａｃ，ＷＡＩＴ＿ｃｎをタイミングジェネレータ１９Ｂに供給する。タイミングジェネレータ１９Ｂはプログラムフェッチの場合にはタイミング制御信号ｃｃｈｐ＿ａｃを用いて入力ゲート回路６０と出力ゲート回路６４を実施の形態１のタイミング信号ｃｃｈ＿ａｃと同様に制御する。また、タイミングジェネレータ１９Ｂはデータアクセスの場合にはタイミング制御信号ｃｃｈｄ＿ａｃを用いて入力ゲート回路６１と出力ゲート回路６５を実施の形態１のタイミング信号ｃｃｈ＿ａｃと同様に制御する。要するに、プログラムリード動作におけるプログラムアドレス情報を保持し、保持したプログラムアドレス情報と同一のアドレス情報によるＥＥＰＲＯＭ３Ｂに対するプログラムリードアクセスに際してプリリードキャッシュ部１５Ｂの第1センスラッチ回路６２への新たなプログラムのラッチを抑制すると共に、プリリードキャッシュ部１５ＢにラッチされているプログラムをＺセレクタ１６に選択させ、また、データリード動作におけるデータアドレス情報を保持し、保持したデータアドレス情報と同一のアドレス情報によるＥＥＰＲＯＭ３Ｂに対するデータリードアクセスに際してプリリードキャッシュ部１５Ｂの第２センスラッチ回路６３への新たなデータのラッチを抑制すると共に、プリリードキャッシュ部にラッチ１５ＢされているデータをＺセレクタ１６に選択させる。
【００５９】
これにより、ＥＥＰＲＯＭ３Ｂに対するプログラムのリードアクセスとデータのリードアクセスを偏りなく高速化することができる。
【００６０】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００６１】
例えば、マイクロコンピュータに搭載される回路モジュールは上記実施の形態に限定されず適宜変更可能である。マイクロコンピュータはＩＣカード用のマイクロコンピュータに限定され、種々の機器組み込み用とのマイクロコンピュータに広くて適用することができる。
【００６２】
また、カラム系選択はＹセレクタとＺセレクタを用いる構成に限定されない。また、プリリードキャッシュ部に格納するデータは８バイトに限定されない。ワード線選択によってビット線に読みだされる全部のデータ、例えば図１に従えば６４バイトのデータであってもよい。この場合には、プリリードキャッシュ部の後段に、６４バイトから２バイトを選択するＹセレクタを配置すればよい。
【００６３】
また、不揮発性メモリは暗号化復号回路を備えることは必須ではない。
【符号の説明】
【００６４】
１  マイクロコンピュータ（ＭＣＵ）
９  システムバス
５  中央処理装置（ＣＰＵ）
４  ＲＡＭ
６  アクセラレータ（ＡＣＣＬ）
３ｍ  ＲＯＭ
３，３Ａ，３Ｂ  ＥＥＰＲＯＭ
２，２Ａ，２Ｂ  メモリ制御ロジック（ＭＣＬＧＣ）
７  外部入出力回路（ＥＸＩＯ）
８  アナログ回路（ＡＮＬＧ）
１０  メモリマット（ＭＭＡＴ）
１１  Ｘコーダ（ＸＤＥＣ）
１３  チャージポンプ回路（ＣＨＧＰＭＰ)
１２  Ｙセレクタ（ＹＳＥＬ）
１４  ＹＺデコーダ（ＹＺＤＥＣ）
１５  プリリードキャッシュ部（ＰＲＣＣＨ）
１６  Ｚセレクタ（ＺＳＥＬ）
１７  暗号化復号回路（ＣＲＥＮＣＲ）
１８  入出力回路（ＩＯ）
１９、１９Ａ，１９Ｂ  タイミングジェネレータ（ＴＧＮＲ）
２０、２０Ａ，２０Ｂ  メモリコントローラ（ＭＣＮＴ）
２１  遅延回路（ＤＬＹ）
２２  アドレスラッチ回路
２３  アドレス比較回路（ＡＣＭＰ）
２４  アドレスデコーダ（ＡＤＥＣ）
３２  センスラッチ回路（ＳＬＡＴ）
３０  入力ゲート回路
３１  出力ゲート回路
【図１】
2012038385.tif 000003
【図２】
2012038385.tif 000004
【図３】
2012038385.tif 000005
【図４】
2012038385.tif 000006
【図５】
2012038385.tif 000007
【図６】
2012038385.tif 000008
【図７】
2012038385.tif 000009
【図８】
2012038385.tif 000010
【図９】
2012038385.tif 000011
【図１０】
2012038385.tif 000012
【図１１】
2012038385.tif 000013
【図１２】
2012038385.tif 000014
【図１３】
2012038385.tif 000015
【図１４】
2012038385.tif 000016
【手続補正書】
【提出日】平成23年6月7日(2011.6.7)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
不揮発性メモリセルの選択端子が接続されるワード線はアドレス信号ＡＤＲをデコードして選択信号を生成するＸデコーダ（ＸＤＥＣ）１１から出力される選択信号を用いて駆動され、ソース線はＸデコーダ（ＸＤＥＣ）１１から出力される選択信号を用いて駆動される。ビット線、ソース線、及びワード線の駆動電圧はチャージポンプ回路（ＣＨＧＰＭＰ)１３で生成される高電圧によって与えられる。ビット線はＹセレクタ（ＹＳＥＬ）１２によって選択され、その選択はＹＺデコーダ（ＹＺＤＥＣ）１４がアドレス信号ＡＤＲをデコードして生成するＹ選択信号によって行う。ここで、ワード線によって選択されるメモリセルが特に制限されないが、６４バイトとされる。Ｙセレクタ１２は６４バイトから８バイトを選択する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
Ｙセレクタ１２で選択された８バイトのリードデータはプリリードキャッシュ部（ＰＲＣＣＨ）１５の一時的に蓄積される。プリリードキャッシュ部（ＰＲＣＣＨ）１５に蓄積された８バイトのリードデータは、Ｚセレクタ（ＺＳＥＬ）１６によって例えば２バイト選択される。その選択はＹＺデコーダ１４がアドレス信号ＡＤＲをデコードして生成するＺ選択信号によって行う。ここでアドレス信号ＡＤＲは、Ｘデコーダ１１によるワード線やソース線の選択信号を生成するためのＸアドレス信号、Ｙ選択信号を生成するためのＹアドレス信号、及びＺ選択信号を生成するためのＺアドレス信号を含む。Ｚセレクタ１６で選択されたリードデータは暗号化復号回路（ＣＲＥＮＣＲ）１７で復号され、入出力回路（ＩＯ）１８からシステムバス９に出力される。ＤＡＴはシステムバス９のデータを意味する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００６１
【補正方法】変更
【補正の内容】
【００６１】
例えば、マイクロコンピュータに搭載される回路モジュールは上記実施の形態に限定されず適宜変更可能である。マイクロコンピュータはＩＣカード用のマイクロコンピュータに限定されず、種々の機器組み込み用とのマイクロコンピュータに広くて適用することができる。