JPH11296392A - 1チップマイクロコンピュータ - Google Patents
1チップマイクロコンピュータInfo
- Publication number
- JPH11296392A JPH11296392A JP10097287A JP9728798A JPH11296392A JP H11296392 A JPH11296392 A JP H11296392A JP 10097287 A JP10097287 A JP 10097287A JP 9728798 A JP9728798 A JP 9728798A JP H11296392 A JPH11296392 A JP H11296392A
- Authority
- JP
- Japan
- Prior art keywords
- data
- ecc
- user data
- eeprom
- ecc 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Microcomputers (AREA)
- Detection And Correction Of Errors (AREA)
- Read Only Memory (AREA)
Abstract
担を軽減することができるとともに、ECCデータに基
づくEEPROM書き込み時間の増加がなく、かつ、メ
モリ容量を削減できる1チップマイクロコンピュータを
提供する。 【解決手段】 開示される1チップマイクロコンピュー
タは、ユーザデータからECCデータを生成するための
プログラムを格納したファームROM5と、EEPRO
M8に対するユーザデータとECCデータとの書き込み
を制御するEEPROM制御回路7とを備え、CPU2
がユーザデータからファームROM5のプログラムによ
って生成したECCデータともとのユーザデータとを、
EEPROM制御回路7の制御に応じてEEPROM8
のユーザデータ領域83とECCデータ領域84とに格
納し、ユーザデータ領域83のユーザデータとECCデ
ータ領域84のECCデータとを読み出して誤り訂正の
処理を順次行うように構成されいる。
Description
Correction Code )データを内部的に生成、付加するこ
とが可能な1チップマイクロコンピュータに関する。
Programmable Read Only Memory )はデータの消去,書
き換えが可能なメモリ(電気的に一括して消去可能なフ
ラッシュEEPROMを含む)であって、1チップマイ
クロコンピュータ等において、プログラムの格納用等と
して多く用いられている。EEPROMにおける保持デ
ータの信頼性を向上するためには、ユーザデータにEC
Cデータを付加して記録し、読み出されたユーザデータ
についてECCデータを用いて誤り訂正を行うことが有
効である。従来、このようなECCデータの付加は、ユ
ーザデータから専用のソフトウエアを使用してECCデ
ータを生成して、ユーザデータとともにEEPROMに
格納することによって行われていた。例えば、自動車の
エンジン制御などに使用される1チップマイクロコンピ
ュータは、制御プログラムによってエンジンの回転数や
燃料噴射などの重要な制御を行っている。この制御プロ
グラムを記憶しているROM(Read Only Memory)の内
容がなんらかの理由によって変化した場合、1チップマ
イクロコンピュータは異常な処理を行うことになるの
で、危険な状態を招きかねない。そのため、ユーザがR
OMにユーザデータ(プログラムなど)を記憶させると
き、ECCデータを付加して記憶させておいて、1チッ
プマイクロコンピュータがユーザデータを読み出したと
き1ビットの誤りであれば訂正して処理し、2ビット以
上の誤りであれば異常表示を行うなどの処理を行うよう
にしている。
(プログラム)にバグが発見されたとき、自動車メーカ
は、販売済みの自動車を回収して1チップマイクロコン
ピュータを交換する作業が必要になる。この場合、RO
MをマスクROMなどのような書き換え不可能なROM
で構成していると、自動車メーカは1チップマイクロコ
ンピュータを含むエンジン制御ユニットごと交換しなけ
ればならないが、そうすると、ユニット代だけでなく、
取り替えコストもかかるので、莫大な損失を受けること
になる。そこで、1チップマイクロコンピュータのRO
MをEEPROMで構成しておけば、自動車メーカはエ
ンジン制御ユニットのコネクタを介してプログラムを書
き換えるだけで済むので、バグ対応費用を大幅に低減で
きる。
CCデータの生成・付加方法の説明図である。以下、図
20を参照して、従来技術を説明する。まず、ユーザは
ECCデータ作成のために、所定のプログラムを作成す
る(同図(a)101)。いま、ユーザデータ102と
して、00000H〜0FFFFHまでのデータを入力
したものとする。ユーザは、作成されたプログラムによ
って、ユーザデータ102に基づいて専用のソフトウエ
アを用いてECCデータを生成する(同図(a)10
3)。これによって、ECCデータ104として、10
000H〜14FFFHまでのデータが生成される。次
に、ユーザデータ102にECCデータ104を付加し
て、書き込みデータ105として00000H〜14F
FFHまでのデータを生成し、図示されないマイクロコ
ンピュータに内蔵するEEPROMに対する書き込み
(同図(a)106)を行う。この際におけるデータの
書き込みは、専用のライタまたはオンボード書き込みに
よって実行される。同図20(b)は、EEPROM上
のアドレスマップを示したものであって、ユーザデータ
として、00000H〜0FFFFHが割り当てられ、
ECCデータとして、10000H〜14FFFHが割
り当てられている。ECCデータのボリュームは、16
ビットデータの場合5ビット必要であり、このため、同
図(b)に示すようなデータ領域が必要になる。
来のECCデータの生成・付加方法にあっては、ユーザ
データの処理とは別にECCデータを生成するようにし
ていたため、ユーザデータを基にECCデータを生成す
る専用ソフトウエアが必要である、という問題があっ
た。また、ECCデータは、ユーザデータの後のアドレ
スにマッピングされるため、00000H〜0FFFF
Hのユーザデータに加えて、ECCデータとして100
00H〜14FFFHのデータを書き込むので、このた
め、書き込み時間が約30パーセント増加するという問
題があった。さらに、ECCデータによって書き込みデ
ータが全体として約30パーセント増加するため、シス
テム全体の外部メモリ容量を約30パーセント増加しな
ければならないという問題があった。
生成回路を、1チップマイクロコンピュータに内蔵した
構成も既に知られている。近年において、1チップマイ
クロコンピュータのデータバスの幅は増加する傾向にあ
り、従来、8ビット幅であったものが、32ビット幅や
64ビット幅に変わりつつある。そこでECCデータの
生成回路を論理回路で構成すると、データバス幅が増加
するのに伴って、回路規模は指数関数的に増加し、半導
体チップに占める面積が増加する。EEPROMを1チ
ップマイクロコンピュータのプログラム格納用に用いる
場合、ECCデータの生成回路は、プログラムを格納す
る際にのみ使用するものであって、プログラム実行時に
は使用されない回路である。それにもかかわらず、回路
規模の大きいECCデータの生成回路を内蔵すること
は、1チップマイクロコンピュータのコストパフォーマ
ンスを悪化させる原因になる。
ものであって、ECCデータ作成時におけるユーザの作
業負担を軽減することができるとともに、ECCデータ
に基づくEEPROM書き込み時間の増加がなく、か
つ、メモリ容量を削減できる1チップマイクロコンピュ
ータを提供することを目的としている。
に、請求項1記載の発明は、ユーザデータと該ユーザデ
ータに対応するECCデータとを格納するEEPROM
を備え、該ユーザデータとECCデータとから誤り訂正
を行ったユーザデータを発生するように構成されている
1チップマイクロコンピュータに係り、ユーザデータか
らECCデータを生成するためのプログラムを格納した
記憶手段と、上記EEPROMに対するユーザデータと
ECCデータとの書き込みを制御する制御手段とを備
え、CPUがユーザデータから該記憶手段のプログラム
によって生成したECCデータともとのユーザデータと
を、上記制御手段の制御に応じて上記EEPROMのユ
ーザデータ領域とECCデータ領域とに格納し、該ユー
ザデータ領域のユーザデータとECC領域のECCデー
タとを読み出して誤り訂正の処理を順次行うように構成
されてなることを特徴としている。
載の1チップマイクロコンピュータに係り、外部から上
記CPUの内部レジスタへ順次所定量のユーザデータを
格納するステップと、上記EEPROM内のユーザデー
タレジスタへ上記所定量ずつユーザデータを転送するス
テップと、上記CPUが格納されている所定量のユーザ
データからECCデータを生成するステップと、上記E
EPROM内のECCデータレジスタへ該ECCデータ
を転送するステップと、該ユーザデータレジスタのユー
ザデータとECCデータレジスタのECCデータとを、
それぞれ上記EEPROMの同じアドレスのユーザデー
タ領域とECCデータ領域とに書き込むステップとを順
次実行し、該EEPROMの同じアドレスのユーザデー
タとECCデータとを読み出して誤り訂正の処理を順次
行うように構成されていることを特徴としている。
載の1チップマイクロコンピュータに係り、外部から上
記制御手段内のユーザデータスタックレジスタに所定量
のユーザデータを格納するステップと、外部から上記C
PUの内部レジスタへ所定量のユーザデータを格納する
ステップと、最初の処理サイクルにおいて、最初のアド
レスのユーザデータを上記制御手段内のユーザデータレ
ジスタに転送するステップと、該ユーザデータレジスタ
のユーザデータを上記EEPROM内のユーザデータ領
域に格納するステップとを実行し、次の処理サイクル以
降において、上記CPUが前回の処理サイクルで格納さ
れている所定量のユーザデータからECCデータを生成
するステップと、上記制御手段内のECCデータスタッ
クレジスタに該ECCデータを転送するステップと、上
記EEPROM内のユーザデータレジスタにユーザデー
タを転送するとともにECCデータレジスタに該ECC
データを転送するステップと、EEPROMのECCデ
ータ領域に対する書き込みアドレスを−1するステップ
と、上記ユーザデータレジスタのユーザデータとECC
データレジスタのECCデータとを、それぞれ上記EE
PROMのユーザデータ領域とECCデータ領域とに書
き込むステップとを繰り返して実行し、最後の処理サイ
クルにおいて、上記CPUが前回の処理サイクルにおい
て格納されている所定量のユーザデータからECCデー
タを生成するステップと、制御手段内のECCデータス
クックレジスタに該ECCデータを転送するステップ
と、上記EEPROM内のECCデータレジスタに該E
CCデータを転送するステップと、上記EEPROM内
のECCデータ領域に対する書き込みアドレスを−1す
るステップと、該ECCデータレジスタのECCデータ
を上記EEPROMのECCデータ領域に書き込むステ
ップとを実行し、該EEPROMの同じアドレスのユー
ザデータとECCデータとを読み出して誤り訂正の処理
を順次行うように構成されていることを特徴としてい
る。
載の1チップマイクロコンピュータに係り、外部から上
記制御手段内のユーザデータスタックレジスタに所定量
のユーザデータを格納するステップと、外部から上記C
PUの内部レジスタへ所定量のユーザデータを格納する
ステップと、最初の処理サイクルにおいて、最初のアド
レスのユーザデータを上記制御手段内のユーザデータレ
ジスタに転送するステップと、該ユーザデータレジスタ
のユーザデータを上記EEPROM内のユーザデータ領
域に格納するステップとを実行し、次の処理サイクル以
降において、上記CPUが前回の処理サイクルで格納さ
れている所定量のユーザデータからECCデータを生成
するステップと、上記制御手段内のECCデータスタッ
クレジスタに該ECCデータを転送するステップと、上
記EEPROM内のユーザデータレジスタにユーザデー
タを転送するとともにECCデータレジスタに該ECC
データを転送するステップと、上記ユーザデータレジス
タのユーザデータとECCデータレジスタのECCデー
タとを、それぞれ上記EEPROMのユーザデータ領域
とECCデータ領域とに書き込むステップとを繰り返し
て実行し、最後の処理サイクルにおいて、上記CPUが
前回の処理サイクルにおいて格納されている所定量のユ
ーザデータからECCデータを生成するステップと、制
御手段内のECCデータスクックレジスタに該ECCデ
ータを転送するステップと、上記EEPROM内のEC
Cデータレジスタに該ECCデータを転送するステップ
と、該ECCデータレジスタのECCデータを上記EE
PROMのECCデータ領域に書き込むステップとを実
行し、該EEPROMのユーザデータと該ユーザデータ
のアドレスに+1したアドレスのECCデータとを読み
出して誤り訂正の処理を順次行うように構成されている
ことを特徴としている。
載の1チップマイクロコンピュータに係り、外部から上
記制御手段内のスタックレジスタへ順次所定量のユーザ
データを転送するステップと、上記CPUの内部レジス
タへ順次所定量のユーザデータを格納するステップと、
該所定量のユーザデータをEEPROM内のユーザデー
タレジスタに転送するステップと、上記スタックレジス
タのユーザデータを該スタックアドレスに対応するRA
M領域に格納するステップとを実行するとともに、上記
CPUが該RAM領域のデータからECCデータを生成
するステップと、該ECCデータをEEPROM内のE
CCデータレジスタに転送するステップとを繰り返して
実行し、上記制御手段から上記EEPROMのユーザデ
ータ領域のアドレスとECCデータ領域のアドレスとを
出力するステップと、上記ユーザデータレジスタのユー
ザデータとECCデータレジスタのECCデータとをE
EPROMのユーザデータ領域とECCデータ領域のそ
れぞれの指定アドレスに格納するステップとを繰り返し
て実行し、該EEPROMの同じアドレスのユーザデー
タとECCデータとを読み出して誤り訂正の処理を順次
行うように構成されていることを特徴としている。
ザデータと該ユーザデータに対応するECCデータとを
格納するEEPROMを備え、該ユーザデータとECC
データとから誤り訂正を行ったユーザデータを発生する
ように構成されている1チップマイクロコンピュータに
係り、ユーザデータからECCデータを生成するための
プログラムを内蔵し、該プログラムを用いて入力ユーザ
データから対応するECCデータを生成する処理を装置
内部において行うようにしたことを特徴としている。
載の発明に係る1チップマイクロコンピュータであっ
て、外部から順次所定量のユーザデータを入力して、上
記CPUが順次該所定量のユーザデータからECCデー
タを生成し、上記ユーザデータと対応するECCデータ
とを、それぞれ上記EEPROMの同じアドレスのユー
ザデータ領域とECCデータ領域とに書き込むととも
に、該EEPROMの同じアドレスのユーザデータとE
CCデータとを読み出して誤り訂正の処理を順次行うよ
うに構成されていることを特徴としている。
載の発明に係る1チップマイクロコンピュータであっ
て、外部から順次所定量のユーザデータを入力して、上
記CPUが順次該所定量のユーザデータから1処理サイ
クル後までにECCデータを生成し、上記ユーザデータ
と対応する1処理サイクル後のECCデータとを、それ
ぞれ上記EEPROMのユーザデータ領域と−1したア
ドレスのECCデータ領域とに書き込むとともに、該E
EPROMの同じアドレスのユーザデータとECCデー
タとを読み出して誤り訂正の処理を順次行うように構成
されていることを特徴としている。
載の発明に係る1チップマイクロコンピュータであっ
て、外部から順次所定量のユーザデータを入力して、上
記CPUが順次該所定量のユーザデータから1処理サイ
クル後までにECCデータを生成し、上記ユーザデータ
と対応する1処理サイクル後のECCデータとを、それ
ぞれ上記EEPROMの同じアドレスのユーザデータ領
域とECCデータ領域とに書き込むとともに、該EEP
ROMのユーザデータと+1したアドレスのECCデー
タとを読み出して誤り訂正の処理を順次行うように構成
されていることを特徴としている。
記載の発明に係る1チップマイクロコンピュータであっ
て、外部から順次所定量のユーザデータを入力して、上
記CPUが逐次該所定量のユーザデータからECCデー
タを生成するとともに、次のユーザデータの入力時まで
にECCデータの生成を終了しないときは無効データを
出力し、上記ユーザデータと対応する有効なECCデー
タとを、それぞれ上記EEPROMの同じアドレスのユ
ーザデータ領域とECCデータ領域とに書き込むととも
に、該EEPROMの同じアドレスのユーザデータとE
CCデータとを読み出して誤り訂正の処理を順次行うよ
うに構成されていることを特徴としている。
入力して、CPUが内部プログラムに基づいて順次、所
定量のユーザデータからECCデータを生成して、ユー
ザデータと対応するECCデータとを、それぞれEEP
ROMのユーザデータ領域とECCデータ領域とに格納
するようにしたので、外部的にECCデータを生成して
付加する場合と比べて、ユーザの負担が大幅に減少する
とともに、ECCデータ作成のために、作成したECC
データを一旦格納する外部メモリを必要としないので、
システム的に装置のコストを低減することができ、さら
に、EEPROMに対して、ユーザデータとECCデー
タとを同時に書き込むので、ECCデータを外部メモリ
から書き込む場合と比べて、EEPROMに対するデー
タ書き込み時間を低減することができる。
の実施の形態について説明する。説明は、実施例を用い
て具体的に行なう。図1は、この発明の一実施例である
1チップマイクロコンピュータの電気的構成を示す図、
図2は、EEPROM制御回路の構成例を示す図、図3
は、データラッチ選択制御回路の構成例を示す図、図4
は、書き込み信号生成回路の構成例を示す図、図5は、
書き込み信号生成回路の動作タイミングを示す図、図
6,図7は、この例の第1の動作例を示すフローチャー
ト、図8は、第1の動作例における書き込み時のタイミ
ングチャート、図9,図10は、この例の第2の動作例
を示すフローチャート、図11は、書き込み時ECCア
ドレスをシフトする場合のタイミングチャート、図12
は、書き込み時ECCアドレスをシフトする場合のEE
PROMアドレス生成回路の構成例を示す図、図13,
図14は、この例の第3の動作例を示すフローチャー
ト、図15は、読み出し時ECCアドレスをシフトする
場合のタイミングチャート、図16は、読み出し時EC
Cアドレスをシフトする場合のEEPROMアドレス生
成回路の構成例を示す図、図17,図18は、この例の
第4の動作例を示すフローチャート、図19は、第4の
動作例における書き込み時のタイミングチャートであ
る。この例の1チップマイクロコンピュータは、図1に
示すように、入出力ポート1と、CPU(Central Proc
essing Unit )2と、アドレスバス3と、データバス4
と、ファームROM5と、RAM(Random Access Memo
ry)6と、EEPROM制御回路7と、EEPROM8
と、誤り訂正回路9と、データ選択回路10とから概略
構成されている。
入出力を行う複数の端末ポートからなっている。CPU
2は、プログラムによって与えられる命令の解釈と実行
を制御することによって、この例の1チップマイクロコ
ンピュータの全体の動作を制御する。アドレスバス3
は、この例の1チップマイクロコンピュータの各部の間
で、アドレス信号を転送する。データバス4は16ビッ
ト幅からなり、この例の1チップマイクロコンピュータ
の各部の間で、データ信号を転送する。ファームROM
5は、1チップマイクロコンピュータの動作に必要なフ
ァームウエア(マイクロプログラム)を格納するもので
あって、この例の場合は特にECCデータ生成用プログ
ラムを収容している。RAM6は、主としてCPU2の
作業領域として用いられる随時読み出し書き込みメモリ
である。
8の書き込み,読み出しを制御するものであって、後述
する内容を有するとともに、データスタックのために、
ユーザデータスタックレジスタ71とECCデータスタ
ックレジスタ72とを有している。EEPROM8は、
電気的手段によって情報の書き込み,消去が可能な固定
記憶素子であって、データ書き込みのために、ユーザデ
ータレジスタ81とECCデータレジスタ82とを有す
るとともに、データ格納のために、ユーザデータ領域8
3とECCデータ領域84とを有している。なお、EE
PROM8は、通常のEEPROMとフラッシュEEP
ROMのいずれでもよい。誤り訂正回路9は、データに
付加されているECCデータによって、データの誤りを
検出して訂正する。データ選択回路10は、32ビット
からなる誤り訂正回路9の出力を上位16ビットと下位
16ビットとに分割して、交互にデータバス4に転送す
る。
2に示すように、アドレスバス11と、データバス12
と、データラッチ選択制御回路13と、アドレスnのデ
ータラッチ14と、アドレスn+2のデータラッチ15
と、ECCのデータラッチ16と、書き込み信号生成回
路17と、EEPROMアドレス生成回路18とを含ん
で構成されている。ここでは、外部からのユーザデータ
のアドレスnを基準に説明する。アドレスバス11は、
アドレスバス3の一部であって、アドレス信号を転送す
る。データバス12は、データバス4の一部であって、
データ信号を転送する。データラッチ選択制御回路13
は、データバス12上のデータを、アドレスnのデータ
ラッチ14,アドレスn+2のデータラッチ15,EC
Cのデータラッチ16において選択的にラッチするため
の制御信号DL1,DL2,DL3を、アドレスバス1
1の情報に従って発生するものであって、その構成は後
述する。アドレスnのデータラッチ14は、制御信号D
L1がアクティブのとき、データバス12上のアドレス
nとn+1の2バイト(16ビット)のデータをラッチ
するものであって、アドレスのビット1が“0”のと
き、データをラッチしてEEPROM8のメモリセルへ
出力する。
御信号DL2がアクティブのとき、データバス12上の
アドレスn+2とn+3の2バイト(16ビット)のデ
ータをラッチするものであって、アドレスのビット1が
“1”のとき、データをラッチしてEEPROM8のメ
モリセルへ出力する。ECCのデータラッチ16は、制
御信号DL3がアクティブのとき、データバス12上の
下位6ビットのデータをラッチするものであって、EC
Cアドレスが出力されたとき、データをラッチしてEE
PROM8のメモリセルへ出力する。
ス11の情報とデータバス12の情報とから、EEPR
OM8に対する書き込み開始を制御するための書き込み
セット信号と、書き込み終了を制御するための書き込み
リセット信号とを発生するものであって、その構成は後
述する。EEPROMアドレス生成回路18は、アドレ
スバス11の情報からEEPROM8に対するアドレス
を生成するものであって、アドレスバス11のビット2
〜15を、EEPROM8のデータ領域(ユーザメモ
リ)用のアドレスデコーダ(不図示)を介して、EEP
ROM8のデータ領域のアドレス0〜13として与え、
アドレスバス11のビット2〜15をディクリメント回
路(不図示)とEEPROM8のECCデータ領域のア
ドレスデコーダ(不図示)を介して、EEPROM8の
ECCデータ領域のアドレス0〜13として与える。な
お、このようなアドレスの変換を行うのは、アドレス信
号がバイト単位(8ビット)であるのに対して、EEP
ROM8の32ビットの入出力データに対応する対応す
るアドレスとしては、最下位の2ビットが不要なためで
ある。なお、アドレスnのデータラッチ14とアドレス
n+2のデータラッチ15は、データが16ビット幅な
ので、外部のアドレスnに対しては、それぞれn,n+
1と、n+2,n+3のアドレスのデータをラッチす
る。
示すように、アドレスバス131と、ノア回路132
と、インバータ133と、ノア回路134とを含んで構
成されている。アドレスバス131は、アドレスバス1
1の一部であって、アドレス信号を転送する。ノア回路
132は、EEPROM8のデータ領域を表すアドレス
バスのビット1と、ECCデータ領域を示すアドレスバ
ス131のビット16とがインアクティブのとき、アド
レスnのデータラッチ14に対する制御信号DL1を出
力する。インバータ133とノア回路134は、EEP
ROM8のデータ領域を表すアドレスバスのビット1が
アクティブで、ECCデータ領域を示すアドレスバス1
31のビット16とがインアクティブのとき、アドレス
n+2のデータラッチ15に対する制御信号DL2を出
力する。一方、アドレスバス131のビット16がアク
ティブのときは、ECCのデータラッチ16に対する制
御信号DL3を出力する。
ように、アドレスバス171と、データバス172と、
アドレスデコーダ173と、FF(Flip Flop )174
と、FF175と、インバータ176と、アンド回路1
77とを含んで構成されている。書き込み信号生成回路
17の動作は、図5のタイミングチャートによって示さ
れる。アドレスバス171は、アドレスバス11の一部
であって、アドレス信号を転送する。データバス172
はデータバス12の一部であって、データ信号を転送す
る。アドレスデコーダ173は、CPU2の出力したア
ドレスバス171上のアドレスが、EEPROM8に対
する書き込み信号の生成を指示する、予め設定されてい
る特定のアドレスと一致したことを検出したとき、アド
レス一致信号を出力する。FF174とFF175は、
アドレス一致信号が出力されたとき、それぞれデータバ
ス172のデータビット0とデータビット1をラッチす
る。これによって、データビット1に応じて書き込みリ
セット信号が出力され、データビット0が出力されたと
き、書き込みリセット信号が出力されていないことを条
件として、アンド回路177から書き込みセット信号が
出力される。EEPROM8では、書き込みセット信号
によって書き込みパルスを立ち上げ、書き込みリセット
信号によって書き込みパルスを立ち下げることによっ
て、書き込みパルスがアクティブの期間にユーザデータ
とECCデータの書き込みを行う。
例の第1の動作例を説明する。この第1の動作例は、E
EPROM8の書き込みが遅いため、書き込みパルス幅
内でECCデータを生成できる場合の処理方法を示して
いる。ユーザデータを収容した外部のファイル(不図
示)における、ユーザデータの最初のアドレスと最後の
アドレスとが予め指定されているものとする。最初のア
ドレスから入出力ポート1へユーザデータを入力し(ス
テップS1)、データバス4を介してCPU2の内部レ
ジスタ群21へユーザデータを格納する(ステップS
2)処理を繰り返すことによって、4バイトデータを格
納した(ステップS3)後、内部レジスタ群21からデ
ータバス4を介してEEPROM制御回路7内のユーザ
データスタックレジスタ71へユーザデータを転送し
(ステップS4)、さらにEEPROM8内のユーザデ
ータレジスタ81にユーザデータを転送する(ステップ
S5)。
したECC生成プログラムを読み出して実行することに
よって、格納した4バイトデータによってECCデータ
を生成し(ステップS6)、データバス4を介してEE
PROM制御回路7内のECCデータスタックレジスタ
72へECCデータを転送し(ステップS7)、さらに
EEPROM8内のECCデータレジスタ82へECC
データを転送する(ステップS8)。そして、EEPR
OM制御回路7からEEPROM8へ書き込みセット信
号を与える(ステップS9)ことによって、ユーザデー
タレジスタ81のユーザデータとECCデータレジスタ
82のECCデータとを、それぞれEEPROM8のユ
ーザデータ領域83とECCデータ領域84に書き込む
処理を、4バイトデータのすべてのデータ書き込みが終
了するまで繰り返して行い(ステップS10)、書き込
み終了時、EEPROM8へ書き込みリセット信号を与
える(ステップS11)。4バイトデータの処理を終了
したとき、ユーザデータのアドレスを+4して(ステッ
プS13)、再びステップS5,S8から処理を繰り返
し、最後のアドレスになった(ステップS12)とき処
理を終了する。
は、図8に例示されるようになる。すなわち、最初、ポ
ート1から4バイトのユーザデータを書き込みデータ
(データ0〜データ3)として入力することによって、
このデータがデータバス4に連続して出力されている。
これを所定のタイミングでEEPROM8内のユーザデ
ータレジスタ81に転送し、さらにCPU2においてデ
ータ0〜データ3からのECCデータの生成が終了し
て、EEPROM8内のECCデータレジスタ82に転
送されたとき、書き込みパルスを発生して、EEPRO
M8に書き込む。EEPROM8のデータを読み出すと
きは、同一アドレスからユーザデータとECCデータと
を読み出すことによって、対応するユーザデータ部分と
ECCデータ部分とを読み出すことができるので、誤り
訂正回路9ではこれによって誤り訂正の処理を行うこと
ができる。
参照して、この例の第2の動作例について説明する。こ
の第2の動作例は、EEPROM8の書き込みが速いた
め、書き込みパルス幅内でECCデータを生成できない
場合であって、書き込み時ECCアドレスをシフトする
場合の処理方法を示している。ユーザデータを収容した
外部のファイル(不図示)における、ユーザデータの最
初のアドレスと最後のアドレスとが予め指定されてい
る。最初のアドレスから入出力ポート1へユーザデータ
を入力し(ステップP1)、データバス4を介してEE
PROM制御回路7内のユーザデータスタックレジスタ
71へユーザデータを転送し(ステップP2)、さらに
入力されたデータをデータバス4を介してCPU2の内
部レジスタ群21へ格納する(ステップP3)処理を繰
り返すことによって、4バイトデータを格納した(ステ
ップP4)後、この4バイトデータが最初のアドレスに
対応するものであった(ステップP5)ときは、ユーザ
データスタックレジスタ71からEEPROM8内のユ
ーザデータレジスタ81へユーザデータを転送し(ステ
ップP6)、EEPROM制御回路7からEEPROM
8へ書き込みセット信号を出力して(ステップP7)、
EEPROM8に対する書き込みを行って、書き込みが
終了した(ステップP8)とき、EEPROM制御回路
7からEEPROM8へ書き込みリセット信号を出力し
(ステップP9)、次にアドレスを+4して(ステップ
P10)、再びステップP1に戻って、外部からの4バ
イトデータの入力から繰り返して実行する。
最初のアドレスに対応するものでなく(ステップP
5)、最終のアドレスに対応するものでない(ステップ
P11)ときは、CPU2が前回の処理サイクルで格納
されている4バイトデータからECCデータを生成して
(ステップP12)、データバス4を介してEEPRO
M制御回路7内のECCデータスタックレジスタ72へ
ECCデータを転送し(ステップP13)、EEPRO
M8内のユーザデータレジスタ81へユーザデータスタ
ックレジスタ71からユーザデータを転送し、ECCデ
ータレジスタ82へECCデータスタックレジスタ72
からECCデータを転送し(ステップP14)、EEP
ROM8のECCデータ領域のアドレスを−1シフトし
(ステップP15)、EEPROM8への書き込みセッ
ト信号を出力して(ステップP16)、EEPROM8
のユーザデータ領域83にユーザデータレジスタ81か
らユーザデータを書き込み、ECCデータ領域84にE
CCデータレジスタ82からECCデータの書き込みを
行う。そして書き込みが終了した(ステップP17)と
き、EEPROM8への書き込みリセット信号を出力し
(P18)、ステップP10に戻って、アドレスを+4
シフトして(ステップP10)、再びステップP1に戻
って、外部からの4バイトデータの入力から繰り返して
実行する。ステップP11において、最後のアドレスに
なったときは、CPU2が格納した4バイトデータから
ECCデータを生成し(ステップP19)、データバス
4を介してEEPROM制御回路7内のECCデータス
タックレジスタ72へECCデータを転送し(ステップ
P20)、EEPROM8内のECCデータレジスタ8
2へECCデータを転送し(ステップP21)、EEP
ROM8のECCデータ領域84のアドレスを−1シフ
トし(ステップP22)、EEPROM8への書き込み
セット信号を出力して(ステップP23)ECCデータ
の書き込みを行う。そして書き込みが終了した(ステッ
プP24)とき、処理を終了する。
合の各データの書き込みタイミングは、図11に例示さ
れるようになる。すなわち、ポート1から4バイトから
なるページ単位に、ユーザデータを、ページアドレス
0,1,2,…,n,…,最終アドレスの順にEEPR
OM8内のユーザデータレジスタ81に転送するととも
に、これに基づいて1サイクル遅れて生成された対応す
るECCデータを、順次1アドレスずつシフトしてEE
PROM8のECCデータレジスタ82に転送し、書き
込みパルスに応じて、それぞれEEPROM8のユーザ
データ領域83とECCデータ領域84に書き込む。誤
り訂正処理のためにEEPROM8のデータを読み出す
ときは、EEPROM8の同一アドレスから、ユーザデ
ータと、ECCデータとを読み出すことによって、対応
するユーザデータ部分とECCデータ部分とを同時に読
み出すことができる。
合の、EEPROM制御回路7における、EEPROM
アドレス生成回路18は、図12に示すように、アドレ
スバス181と、ディクリメント回路182とを含んで
構成されている。アドレスバス181は、アドレスバス
11の一部であって、アドレス信号を転送する。ディク
リメント回路182は、アドレスバス181のアドレス
から1減算して出力する。EEPROM8へは、32ビ
ットのユーザデータと、6ビットのECCデータとを同
時に書き込むので、アドレスバス181のビット2〜1
5を、EEPROM8のユーザデータ領域83の書き込
みアドレスとして、EEPROM8のアドレス0〜13
に与え、アドレスバス181のビット2〜15を、ディ
クリメント回路182を介して1を減算して、EEPR
OM8のECCデータ領域84の書き込み用として、E
EPROM8のアドレス0〜13に与える。このような
変換を行うのは、アドレス信号がバイト単位(8ビッ
ト)であるのに対して、EEPROM8の32ビットの
入出力データに対応する対応するアドレスとしては、最
下位の2ビットが不要なためである。
を参照して、この例の第3の動作例について説明する。
この第3の動作例は、EEPROM8の書き込みが速い
ため、書き込みパルス幅内でECCデータを生成できな
い場合であって、読み出し時ECCアドレスをシフトす
る場合の処理方法を示している。ユーザデータを収容し
た外部の20イル(不図示)における、ユーザデータの
最初のアドレスと最後のアドレスとが予め指定されてい
る。最初のアドレスから入出力ポート1へユーザデータ
を入力し(ステップR1)、データバス4を介してEE
PROM制御回路7内のユーザデータスタックレジスタ
71へユーザデータを転送し(ステップR2)、さらに
入力されたデータをデータバス4を介してCPU2の内
部レジスタ群21へ格納する(ステップR3)処理を繰
り返すことによって、4バイトデータを格納した(ステ
ップR4)後、この4バイトデータが最初のアドレスに
対応するものであった(ステップR5)ときは、ユーザ
データスタックレジスタ71からEEPROM8内のユ
ーザデータレジスタ81へユーザデータを転送し(ステ
ップR6)、EEPROM制御回路7からEEPROM
8へ書き込みセット信号を出力して(ステップR7)、
EEPROM8に対する書き込みを行って、書き込みが
終了した(ステップR8)とき、EEPROM制御回路
7からEEPROM8へ書き込みリセット信号を出力し
(ステップR9)、次にアドレスを+4して(ステップ
R10)、再びステップR1に戻って、外部からの4バ
イトデータの入力から繰り返して実行する。
最初のアドレスに対応するものでなく(ステップR
5)、最終のアドレスに対応するものでない(ステップ
R11)ときは、CPU2が格納した4バイトデータか
らECCデータを生成して(ステップR12)、データ
バス4を介してEEPROM制御回路7内のECCデー
タスタックレジスタ72へECCデータを転送し(ステ
ップR13)、EEPROM8内のユーザデータレジス
タ81へユーザデータスタックレジスタ71からユーザ
データを転送し、ECCデータレジスタ82へECCデ
ータスタックレジスタ72からECCデータを転送し
(ステップR14)、EEPROM8への書き込みセッ
ト信号を出力して(ステップR15)、EEPROM8
のユーザデータ領域83にユーザデータレジスタ81か
らユーザデータを書き込み、ECCデータ領域84にE
CCデータ領域82からECCデータの書き込みを行
う。そして書き込みが終了した(ステップR16)と
き、EEPROM8への書き込みリセット信号を出力し
(R17)、ステップR10に戻って、アドレスを+4
シフトして(ステップR10)、再びステップR1に戻
って、外部からの4バイトデータの入力から繰り返して
実行する。ステップR11において、最後のアドレスに
なったときは、CPU2が格納した4バイトデータから
ECCデータを生成し(ステップR18)、データバス
4を介してEEPROM制御回路7内のECCデータス
タックレジスタ72へECCデータを転送し(ステップ
P19)、EEPROM8内のECCデータレジスタ8
2へECCデータを転送し(ステップR20)、EEP
ROM8への書き込みセット信号を出力して(ステップ
R21)ECCデータの書き込みを行う。そして書き込
みが終了した(ステップR22)とき、処理を終了す
る。
合の各データの書き込みタイミングは、図15に例示さ
れるようになる。すなわち、ポート1から4バイトから
なるページ単位に、ユーザデータを、ページアドレス
0,1,2,…,n,…,最終アドレスの順にEEPR
OM8内のユーザデータレジスタ81に転送するととも
に、これに基づいて1サイクル遅れて生成された対応す
るECCデータを、順次EEPROM8のユーザデータ
レジスタ81に転送し、書き込みパルスに応じて、それ
ぞれEEPROM8の同一アドレスのユーザデータ領域
83とECCデータ領域84に書き込む。したがって、
この場合は、ページアドレスnのユーザデータに対応す
るECCデータは、ECCデータ領域84のアドレスn
+1に書き込まれる。誤り訂正処理のためにEEPRO
M8のデータを読み出すときは、EEPROM8のユー
ザデータ領域83のアドレスnと、ECCデータ領域8
4のアドレスn+1とを読み出すことによって、対応す
るユーザデータ部分とECCデータ部分とを同時に読み
出すことができる。
合の、EEPROM制御回路7における、EEPROM
アドレス生成回路18Aは、図16に示すように、アド
レスバス183と、ディクリメント回路184とを含ん
で構成されている。アドレスバス183は、アドレスバ
ス11の一部であって、アドレス信号を転送する。ディ
クリメント回路184は、アドレスバス183のアドレ
スから1減算して出力する。EEPROM8からは、3
2ビットのユーザデータと、6ビットのECCデータと
を同時に読み出す必要があるので、アドレスバス183
のビット2〜15を、EEPROM8のユーザデータ領
域83の読み出しアドレスとして、EEPROM8のア
ドレス0〜13に与え、アドレスバス183のビット2
〜15を、ディクリメント回路184を介して1を減算
して、EEPROM8のECCデータ領域84の読み出
し用として、EEPROM8のアドレス0〜13に与え
る。このような変換を行うのは、アドレス信号がバイト
単位(8ビット)であるのに対して、EEPROM8の
32ビットの入出力データに対応する対応するアドレス
としては、最下位の2ビットが不要なためである。
て、この例の第4の動作例について説明する。この第4
の動作例は、EEPROM8の書き込みが速いため、書
き込みパルス幅内でECCデータを生成できない場合
に、EEPROM8のECCデータ領域側に、ファーム
ROM5のプログラムに基づくCPU2の処理によっ
て、書き込みアドレスをインクリメントする、書き込み
アドレスインクリメンタの機能を設ける際の処理方法を
示している。ユーザデータを収容した外部のファイル
(不図示)における、ユーザデータの最初のアドレスと
最後のアドレスとが予め指定されている。最初のアドレ
スから入出力ポート1へユーザデータを入力して(ステ
ップQ1)、データバス4を介してEEPROM制御回
路7内のユーザデータスタックレジスタ71へユーザデ
ータを転送するとともに(ステップQ2)、入出力ポー
ト1からのユーザデータをデータバス4を介してCPU
2の内部レジスタ群21へ格納する(ステップQ3)処
理を繰り返すことによって、4バイトデータを格納した
(ステップQ4)後、ユーザデータスタックレジスタ7
1から4バイトデータをEEPROM8内のユーザデー
タレジスタ81へ転送する(ステップQ5)。
タをEEPROM8内のユーザデータレジスタ81へ転
送したとき、内部レジスタ群21からデータバス4を介
してユーザデータスタックレジスタ71に対応するアド
レスのRAM6の領域へ4バイトデータを格納する(ス
テップQ6)。そして、データバス4を介してユーザデ
ータスタックアドレスが示すRAM6の領域から4バイ
トデータを読み出してCPU2へ転送する(ステップQ
7)。これによってCPU2は、4バイトデータからE
CCデータを生成して(ステップQ8)、データバス4
を介してEEPROM制御回路7内の対応するアドレス
のECCデータスタックレジスタ72へECCデータを
転送し(ステップQ9)、さらにEEPROM8内のE
CCデータレジスタ82へECCデータを転送して、ス
タックアドレスをディクリメントする(ステップQ1
1)処理を繰り返して行う。そして、EEPROM制御
回路7からEEPROM8のユーザデータ領域83とE
CCデータ領域84のアドレスを出力し(ステップQ1
2)、EEPROM8への書き込みセット信号を出力し
て(ステップQ13)書き込みを行い、書き込み完了
(ステップQ14)時、書き込みリセット信号を出力し
て(ステップQ15)書き込みを終了する処理を、アド
レスを4インクリメントし(ステップQ17)ながら繰
り返し実行する。ユーザデータが最終アドレスになった
(ステップQ16)とき、ECCデータスタックレジス
タ72からEEPROM8内のECCデータレジスタ8
2へECCデータを転送して、転送終了した(ステップ
Q18)とき、書き込みセット信号を出力して(ステッ
プQ19)EEPROM8のECCデータ領域84に対
する書き込みを行って、書き込みが完了した(ステップ
Q20)とき、書き込みリセット信号を出力する(ステ
ップQ21)処理を、ECCデータ領域84の最終アド
レスになる(ステップQ22)まで行って、処理を終了
する。
タイミングは、図19に例示されるようになる。すなわ
ち、ポート1からユーザデータを、4バイトからなるペ
ージ単位に、ページアドレス0,1,2,…,n,…,
最終アドレスの順にEEPROM8内のユーザデータレ
ジスタ81に転送するとともに、これに基づいて生成さ
れたECCデータを、生成された時点で順次EEPRO
M8のECCデータレジスタ82に転送する。ユーザデ
ータは書き込みパルスに応じてそのままEEPROM8
のユーザデータ領域83に書き込まれるが、ECCデー
タに対しては、最初に生成されたECCアドレス0への
書き込み(1),(2)は、ECCデータ生成の遅れに
基づくディフォルト値なので書き込みは行われず、次の
ECCアドレス0への書き込み以降のデータが、書き込
みパルスに応じて、EEPROM8の所定のアドレスの
ECCデータ領域84に書き込まれる。
Cデータの生成が、次のECCデータの書き込みのため
のアドレスのインクリメントまでに間に合わなかったと
きは、CPU2はディフォルト値を出力し、EEPRO
M制御回路7は、この場合は、EEPROM8のECC
領域84への書き込みを行わないようにする。ディフォ
ルト値としては、例えば最初のECCデータが生成され
るまではオール1を用い、以後は、前回のECCデータ
をそのままディフォルト値として出力する。誤り訂正処
理のためにEEPROM8のデータを読み出すときは、
同一アドレスから、ユーザデータと、ECCデータとを
読み出すことによって、対応するユーザデータ部分とE
CCデータ部分とを読み出すことができる。
を作成する際に、外部のソフトウエアによる処理を行う
のでなく、1チップマイクロコンピュータの内部のソフ
トウエアによって処理を行うので、外部からECCデー
タを書き込む必要がなく、外部からの書き込みデータ量
が少なくなり、したがって、書き込みデータを転送する
際のエラーが減少し、データの信頼性を向上することが
できる。さらにこの場合、EEPROMに対して外部か
ら書き込むデータ量が減少することによって、データの
書き込み時間が減少し、生産性が向上する。EEPRO
Mにデータ書き込む外部装置の実装メモリは、ECCデ
ータの分を必要とせず、書き込もうとするユーザデータ
の分だけあればよいので、この外部装置のコストの負担
が少ない。
してきたが、具体的な構成はこの実施例に限られたもの
ではなく、この発明の要旨を逸脱しない範囲の設計の変
更等があってもこの発明に含まれる。例えば、この発明
の適用は、1チップマイクロコンピュータに限られるも
のでなく、EEPROMを内蔵してプログラムを外部的
に格納するコンピュータに対して、一般的に応用可能な
のもである。
よれば、EEPROMにECCデータを付加したデータ
からなるプログラムを格納して、プログラム読み出し時
誤り訂正を行う1チップマイクロコンピュータ等におい
て、1チップマイクロコンピュータ等の内部でECCデ
ータを生成するようにしたので、外部的にECCデータ
を生成して付加する場合と比べて、ユーザの負担が大幅
に減少する。また、ECCデータ作成のために、作成し
たECCデータを一旦格納する外部メモリを必要としな
いので、システム的に装置のコストを低減できる。さら
に、EEPROMに対して、ユーザデータとECCデー
タとを同時に書き込むので、ECCデータを外部メモリ
から書き込む場合と比べて、EEPROMに対するデー
タ書き込み時間を低減することができる。
論理回路で構成したECCデータ生成回路で行う場合と
異なり、ECCデータの生成用のファームROMを追加
するだけでよいので、回路規模が大幅に増加することが
なく、1チップマイクロコンピュータのチップサイズを
増大させることもない。また、ECCデータの生成処理
は、プログラム格納時にのみ動作し、通常のプログラム
実行時には、ECCデータの生成処理のファームROM
は動作しない。また、プログラム実行時には、論理回路
で構成した誤り訂正回路を用いて誤りの検出と訂正の処
理を行うので、通常のプログラム処理速度を低下させる
ことはない。
込む場合、RAMに比べて数100倍〜数1000倍の
書き込み時間を必要とする。この発明では、外部から受
け取るユーザデータを複数バイトまとめてEEPROM
に書き込んだり、複数バイトのユーザデータとECCデ
ータとをまとめてEEPROMに書き込むようにしたの
で、ユーザデータを高速に受信でき、また書き込み時間
を利用してECCデータを計算することが同時並行的に
処理可能になる。
ンピュータの電気的構成を示す図である。
る。
ある。
る。
図である。
ートである。
ートである。
チャートを示す図である。
ートである。
ャートである。
のタイミングチャートを示す図である。
のEEPROMアドレス生成回路の構成例を示す図であ
る。
す図である。
す図(2) である。
のタイミングチャートを示す図である。
のEEPROMアドレス生成回路の構成例を示す図であ
る。
ャートである。
ャートである。
グチャートを示す図である。
生成・付加方法を説明するための説明図である。
Claims (10)
- 【請求項1】 ユーザデータと該ユーザデータに対応す
るECCデータとを格納するEEPROMを備え、該ユ
ーザデータとECCデータとから誤り訂正を行ったユー
ザデータを発生するように構成されている1チップマイ
クロコンピュータにおいて、 ユーザデータからECCデータを生成するためのプログ
ラムを格納した記憶手段と、前記EEPROMに対する
ユーザデータとECCデータとの書き込みを制御する制
御手段とを備え、CPUがユーザデータから該記憶手段
のプログラムによって生成したECCデータともとのユ
ーザデータとを、前記制御手段の制御に応じて前記EE
PROMのユーザデータ領域とECCデータ領域とに格
納し、該ユーザデータ領域のユーザデータとECC領域
のECCデータとを読み出して誤り訂正の処理を順次行
うように構成されてなることを特徴とする1チップマイ
クロコンピュータ。 - 【請求項2】 外部から前記CPUの内部レジスタへ順
次所定量のユーザデータを格納するステップと、前記E
EPROM内のユーザデータレジスタへ前記所定量ずつ
ユーザデータを転送するステップと、前記CPUが格納
されている所定量のユーザデータからECCデータを生
成するステップと、前記EEPROM内のECCデータ
レジスタへ該ECCデータを転送するステップと、該ユ
ーザデータレジスタのユーザデータとECCデータレジ
スタのECCデータとを、それぞれ前記EEPROMの
同じアドレスのユーザデータ領域とECCデータ領域と
に書き込むステップとを順次実行し、 該EEPROMの同じアドレスのユーザデータとECC
データとを読み出して誤り訂正の処理を順次行うように
構成されていることを特徴とする請求項1記載の1チッ
プマイクロコンピュータ。 - 【請求項3】 外部から前記制御手段内のユーザデータ
スタックレジスタに所定量のユーザデータを格納するス
テップと、外部から前記CPUの内部レジスタへ所定量
のユーザデータを格納するステップと、最初の処理サイ
クルにおいて、最初のアドレスのユーザデータを前記制
御手段内のユーザデータレジスタに転送するステップ
と、該ユーザデータレジスタのユーザデータを前記EE
PROM内のユーザデータ領域に格納するステップとを
実行し、次の処理サイクル以降において、前記CPUが
前回の処理サイクルで格納されている所定量のユーザデ
ータからECCデータを生成するステップと、前記制御
手段内のECCデータスタックレジスタに該ECCデー
タを転送するステップと、前記EEPROM内のユーザ
データレジスタにユーザデータを転送するとともにEC
Cデータレジスタに該ECCデータを転送するステップ
と、EEPROMのECCデータ領域に対する書き込み
アドレスを−1するステップと、前記ユーザデータレジ
スタのユーザデータとECCデータレジスタのECCデ
ータとを、それぞれ前記EEPROMのユーザデータ領
域とECCデータ領域とに書き込むステップとを繰り返
して実行し、 最後の処理サイクルにおいて、前記CPUが前回の処理
サイクルにおいて格納されている所定量のユーザデータ
からECCデータを生成するステップと、制御手段内の
ECCデータスクックレジスタに該ECCデータを転送
するステップと、前記EEPROM内のECCデータレ
ジスタに該ECCデータを転送するステップと、前記E
EPROM内のECCデータ領域に対する書き込みアド
レスを−1するステップと、該ECCデータレジスタの
ECCデータを前記EEPROMのECCデータ領域に
書き込むステップとを実行し、 該EEPROMの同じアドレスのユーザデータとECC
データとを読み出して誤り訂正の処理を順次行うように
構成されていることを特徴とする請求項1記載の1チッ
プマイクロコンピュータ。 - 【請求項4】 外部から前記制御手段内のユーザデータ
スタックレジスタに所定量のユーザデータを格納するス
テップと、外部から前記CPUの内部レジスタへ所定量
のユーザデータを格納するステップと、最初の処理サイ
クルにおいて、最初のアドレスのユーザデータを前記制
御手段内のユーザデータレジスタに転送するステップ
と、該ユーザデータレジスタのユーザデータを前記EE
PROM内のユーザデータ領域に格納するステップとを
実行し、次の処理サイクル以降において、前記CPUが
前回の処理サイクルで格納されている所定量のユーザデ
ータからECCデータを生成するステップと、前記制御
手段内のECCデータスタックレジスタに該ECCデー
タを転送するステップと、前記EEPROM内のユーザ
データレジスタにユーザデータを転送するとともにEC
Cデータレジスタに該ECCデータを転送するステップ
と、前記ユーザデータレジスタのユーザデータと前記E
CCデータレジスタのECCデータとを、それぞれ前記
EEPROMのユーザデータ領域とECCデータ領域と
に書き込むステップとを繰り返して実行し、 最後の処理サイクルにおいて、前記CPUが前回の処理
サイクルにおいて格納されている所定量のユーザデータ
からECCデータを生成するステップと、制御手段内の
ECCデータスクックレジスタに該ECCデータを転送
するステップと、前記EEPROM内のECCデータレ
ジスタに該ECCデータを転送するステップと、該EC
CデータレジスタのECCデータを前記EEPROMの
ECCデータ領域に書き込むステップとを実行し、該E
EPROMのユーザデータと該ユーザデータのアドレス
に+1したアドレスのECCデータとを読み出して誤り
訂正の処理を順次行うように構成されていることを特徴
とする請求項1記載の1チップマイクロコンピュータ。 - 【請求項5】 外部から前記制御手段内のスタックレジ
スタへ順次所定量のユーザデータを転送するステップ
と、前記CPUの内部レジスタへ順次所定量のユーザデ
ータを格納するステップと、該所定量のユーザデータを
EEPROM内のユーザデータレジスタに転送するステ
ップと、前記スタックレジスタのユーザデータを該スタ
ックアドレスに対応するRAM領域に格納するステップ
とを実行するとともに、前記CPUが該RAM領域のデ
ータからECCデータを生成するステップと、該ECC
データをEEPROM内のECCデータレジスタに転送
するステップとを繰り返して実行し、 前記制御手段から前記EEPROMのユーザデータ領域
のアドレスとECCデータ領域のアドレスとを出力する
ステップと、前記ユーザデータレジスタのユーザデータ
とECCデータレジスタのECCデータとをEEPRO
Mのユーザデータ領域とECCデータ領域のそれぞれの
指定アドレスに格納するステップとを繰り返して実行
し、該EEPROMの同じアドレスのユーザデータとE
CCデータとを読み出して誤り訂正の処理を順次行うよ
うに構成されていることを特徴とする請求項1記載の1
チップマイクロコンピュータ。 - 【請求項6】 ユーザデータと該ユーザデータに対応す
るECCデータとを格納するEEPROMを備え、該ユ
ーザデータとECCデータとから誤り訂正を行ったユー
ザデータを発生するように構成されている1チップマイ
クロコンピュータにおいて、ユーザデータからECCデ
ータを生成するためのプログラムを内蔵し、該プログラ
ムを用いて入力ユーザデータから対応するECCデータ
を生成する処理を装置内部において行うようにしたこと
を特徴とする1チップマイクロコンピュータ。 - 【請求項7】 外部から順次所定量のユーザデータを入
力して、前記CPUが順次該所定量のユーザデータから
ECCデータを生成し、前記ユーザデータと対応するE
CCデータとを、それぞれ前記EEPROMの同じアド
レスのユーザデータ領域とECCデータ領域とに書き込
むとともに、該EEPROMの同じアドレスのユーザデ
ータとECCデータとを読み出して誤り訂正の処理を順
次行うように構成されていることを特徴とする請求項6
記載の1チップマイクロコンピュータ。 - 【請求項8】 外部から順次所定量のユーザデータを入
力して、前記CPUが順次該所定量のユーザデータから
1処理サイクル後までにECCデータを生成し、前記ユ
ーザデータと対応する1処理サイクル後のECCデータ
とを、それぞれ前記EEPROMのユーザデータ領域と
−1したアドレスのECCデータ領域とに書き込むとと
もに、該EEPROMの同じアドレスのユーザデータと
ECCデータとを読み出して誤り訂正の処理を順次行う
ように構成されていることを特徴とする請求項6記載の
1チップマイクロコンピュータ。 - 【請求項9】 外部から順次所定量のユーザデータを入
力して、前記CPUが順次該所定量のユーザデータから
1処理サイクル後までにECCデータを生成し、前記ユ
ーザデータと対応する1処理サイクル後のECCデータ
とを、それぞれ前記EEPROMの同じアドレスのユー
ザデータ領域とECCデータ領域とに書き込むととも
に、該EEPROMのユーザデータと+1したアドレス
のECCデータとを読み出して誤り訂正の処理を順次行
うように構成されていることを特徴とする請求項6記載
の1チップマイクロコンピュータ。 - 【請求項10】 外部から順次所定量のユーザデータを
入力して、前記CPUが逐次該所定量のユーザデータか
らECCデータを生成するとともに、次のユーザデータ
の入力時までにECCデータの生成を終了しないときは
無効データを出力し、前記ユーザデータと対応する有効
なECCデータとを、それぞれ前記EEPROMの同じ
アドレスのユーザデータ領域とECCデータ領域とに書
き込むとともに、該EEPROMの同じアドレスのユー
ザデータとECCデータとを読み出して誤り訂正の処理
を順次行うように構成されていることを特徴とする請求
項6記載の1チップマイクロコンピュータ。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09728798A JP3230485B2 (ja) | 1998-04-09 | 1998-04-09 | 1チップマイクロコンピュータ |
US09/286,973 US6604214B1 (en) | 1998-04-09 | 1999-04-06 | One-chip microcomputer capable of internally producing ECC data |
KR1019990012535A KR100323236B1 (ko) | 1998-04-09 | 1999-04-09 | Ecc데이터를 내부적으로 생성할 수 있는 원칩마이크로컴퓨터 |
DE19916120A DE19916120A1 (de) | 1998-04-09 | 1999-04-09 | Ein-Chip-Mikrocomputer, der ECC-Daten intern erzeugen kann |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09728798A JP3230485B2 (ja) | 1998-04-09 | 1998-04-09 | 1チップマイクロコンピュータ |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001108991A Division JP3544951B2 (ja) | 2001-04-06 | 2001-04-06 | 1チップマイクロコンピュータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11296392A true JPH11296392A (ja) | 1999-10-29 |
JP3230485B2 JP3230485B2 (ja) | 2001-11-19 |
Family
ID=14188303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09728798A Expired - Fee Related JP3230485B2 (ja) | 1998-04-09 | 1998-04-09 | 1チップマイクロコンピュータ |
Country Status (4)
Country | Link |
---|---|
US (1) | US6604214B1 (ja) |
JP (1) | JP3230485B2 (ja) |
KR (1) | KR100323236B1 (ja) |
DE (1) | DE19916120A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6941505B2 (en) | 2000-09-12 | 2005-09-06 | Hitachi, Ltd. | Data processing system and data processing method |
WO2011081240A1 (ko) * | 2009-12-28 | 2011-07-07 | (주) 인디링스 | 버퍼 없이 에러를 검출하고 정정하는 컨트롤러 및 그 컨트롤러의 동작 방법 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7380131B1 (en) | 2001-01-19 | 2008-05-27 | Xilinx, Inc. | Copy protection without non-volatile memory |
US7191339B1 (en) * | 2001-09-10 | 2007-03-13 | Xilinx, Inc. | System and method for using a PLD identification code |
KR100645058B1 (ko) * | 2004-11-03 | 2006-11-10 | 삼성전자주식회사 | 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법 |
US7464241B2 (en) * | 2004-11-22 | 2008-12-09 | Intel Corporation | Memory transaction burst operation and memory components supporting temporally multiplexed error correction coding |
US20060218467A1 (en) * | 2005-03-24 | 2006-09-28 | Sibigtroth James M | Memory having a portion that can be switched between use as data and use as error correction code (ECC) |
US7716497B1 (en) | 2005-06-14 | 2010-05-11 | Xilinx, Inc. | Bitstream protection without key storage |
TWI385666B (zh) | 2007-05-25 | 2013-02-11 | Realtek Semiconductor Corp | 適用於快閃記憶體之資料結構、及其資料寫入方法及資料讀取方法 |
US8924819B2 (en) * | 2009-01-23 | 2014-12-30 | Macronix International Co., Ltd. | Memory device and operation method thereof |
TWI404067B (zh) * | 2009-02-27 | 2013-08-01 | Macronix Int Co Ltd | 記憶體裝置及其操作方法 |
US8427193B1 (en) | 2010-12-07 | 2013-04-23 | Xilinx, Inc. | Intellectual property core protection for integrated circuits |
US8386990B1 (en) | 2010-12-07 | 2013-02-26 | Xilinx, Inc. | Unique identifier derived from an intrinsic characteristic of an integrated circuit |
US8418006B1 (en) | 2010-12-07 | 2013-04-09 | Xilinx, Inc. | Protecting a design for an integrated circuit using a unique identifier |
US9684559B1 (en) * | 2014-04-25 | 2017-06-20 | Altera Corporation | Methods and apparatus for storing error correction information on a memory controller circuit |
KR20170143084A (ko) | 2016-06-17 | 2017-12-29 | 에스케이하이닉스 주식회사 | 반도체장치 및 반도체시스템 |
TWI680375B (zh) * | 2018-08-23 | 2019-12-21 | 慧榮科技股份有限公司 | 具有分散式信箱架構的多處理器系統及其處理器錯誤檢查方法 |
KR20200092036A (ko) * | 2019-01-24 | 2020-08-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01201736A (ja) | 1988-02-08 | 1989-08-14 | Mitsubishi Electric Corp | マイクロコンピュータ |
DE3833300A1 (de) | 1988-09-30 | 1990-04-05 | Claude Marchand | Chromatographiesaeulen-abschlusseinrichtung |
US5293388A (en) * | 1990-11-13 | 1994-03-08 | Hewlett-Packard Company | Compression/decompress with ECC data flow architecture |
JPH0729395A (ja) | 1993-06-25 | 1995-01-31 | Mitsubishi Electric Corp | Eeprom装置 |
JPH1089217A (ja) * | 1996-09-17 | 1998-04-07 | Honda Motor Co Ltd | 車両用盗難防止装置 |
US6026014A (en) * | 1996-12-20 | 2000-02-15 | Hitachi, Ltd. | Nonvolatile semiconductor memory and read method |
TW407234B (en) * | 1997-03-31 | 2000-10-01 | Hitachi Ltd | Semiconductor memory device, non-volatile semiconductor memory device and data reading method thereof |
US6145069A (en) * | 1999-01-29 | 2000-11-07 | Interactive Silicon, Inc. | Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices |
-
1998
- 1998-04-09 JP JP09728798A patent/JP3230485B2/ja not_active Expired - Fee Related
-
1999
- 1999-04-06 US US09/286,973 patent/US6604214B1/en not_active Expired - Lifetime
- 1999-04-09 DE DE19916120A patent/DE19916120A1/de not_active Ceased
- 1999-04-09 KR KR1019990012535A patent/KR100323236B1/ko not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6941505B2 (en) | 2000-09-12 | 2005-09-06 | Hitachi, Ltd. | Data processing system and data processing method |
WO2011081240A1 (ko) * | 2009-12-28 | 2011-07-07 | (주) 인디링스 | 버퍼 없이 에러를 검출하고 정정하는 컨트롤러 및 그 컨트롤러의 동작 방법 |
KR101139187B1 (ko) | 2009-12-28 | 2012-04-26 | (주)인디링스 | 버퍼 없이 에러를 검출하고 정정하는 컨트롤러 및 그 컨트롤러의 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR100323236B1 (ko) | 2002-02-19 |
JP3230485B2 (ja) | 2001-11-19 |
DE19916120A1 (de) | 1999-10-28 |
KR19990083088A (ko) | 1999-11-25 |
US6604214B1 (en) | 2003-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3230485B2 (ja) | 1チップマイクロコンピュータ | |
JPS5855528B2 (ja) | アドレス発生装置 | |
US6546517B1 (en) | Semiconductor memory | |
JPS6259822B2 (ja) | ||
US20090271593A1 (en) | Patching device for patching rom code, method for patching rom code, and electronic device utilizing the same | |
JP3544951B2 (ja) | 1チップマイクロコンピュータ | |
US20100146224A1 (en) | Request processing device, request processing system, and access testing method | |
JPH0969064A (ja) | 外部メモリーシステム | |
JPH04162300A (ja) | 半導体メモリ | |
US6363469B1 (en) | Address generation apparatus | |
JPH08115268A (ja) | メモリ回路装置 | |
JPH10312307A (ja) | コンピュータシステムに適用するエミュレータ | |
JPS6142304B2 (ja) | ||
JPS59170943A (ja) | プログラム修正ロ−ド方式 | |
CN115390769A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
KR20000074229A (ko) | 차량의 엔진 이씨유에서의 프로그램 다운 로딩장치 | |
JPS60214043A (ja) | パイプライン制御回路 | |
JP3177975B2 (ja) | 1チップマイクロコンピュータ | |
JPS61288243A (ja) | コンペアアンドスワツプ命令処理方式 | |
CN111858429A (zh) | 一种axi4转avalon总线的方法、装置、终端及存储介质 | |
JPS59110098A (ja) | デ−タ記憶装置の誤り訂正装置 | |
JPH0955077A (ja) | Icメモリカード | |
JPH11194975A (ja) | メモリシステム | |
JPH06149559A (ja) | ワンチップマイクロコンピュータ | |
JPH03130996A (ja) | Eepromの初期設定方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080914 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080914 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090914 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090914 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100914 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100914 Year of fee payment: 9 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100914 Year of fee payment: 9 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120914 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120914 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130914 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |