JP2010181990A - Data processor - Google Patents

Data processor Download PDF

Info

Publication number
JP2010181990A
JP2010181990A JP2009023275A JP2009023275A JP2010181990A JP 2010181990 A JP2010181990 A JP 2010181990A JP 2009023275 A JP2009023275 A JP 2009023275A JP 2009023275 A JP2009023275 A JP 2009023275A JP 2010181990 A JP2010181990 A JP 2010181990A
Authority
JP
Japan
Prior art keywords
memory
patrol
error
data
circuit
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.)
Withdrawn
Application number
JP2009023275A
Other languages
Japanese (ja)
Inventor
Hiromichi Yamada
弘道 山田
Kesami Hagiwara
今朝己 萩原
Yuichi Ishiguro
雄一 石黒
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009023275A priority Critical patent/JP2010181990A/en
Publication of JP2010181990A publication Critical patent/JP2010181990A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To use a common memory patrol circuit for a plurality of memories in a data processor. <P>SOLUTION: The data processor includes a memory patrol circuit (4) for periodically performing read-access to a memory (2) which performs error correction to read data, and outputs the data according to control of a CPU (1), and for supporting maintenance to the data that the memory holds. The memory patrol circuit is connected to the memory through a bus (SBUS) to which the CPU is connected, and the memory patrol circuit is not closely coupled to the memory by one to one correspondence. The range of a patrol operation by the memory patrol circuit is determined on the basis of setting of the CPU, and when the notification of an error is received from the memory, the address of the data related to the error is stored in the storage circuit (41) of the memory patrol circuit, and an error flag is set to an error flag storage region (44), for example, or interruption is requested to the CPU. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、読み出しデータに対するエラー検出及び訂正機能付のメモリに対するデータリカバリ機能を備えたデータプロセッサに係り、例えば自動車の制御システムに適用して有効な技術に関する。   The present invention relates to a data processor having a data recovery function for a memory with an error detection and correction function for read data, and relates to a technique effective when applied to, for example, an automobile control system.

データプロセッサ(以下単に「マイクロコンピュータ」又は「マイコン」とも称する)は、家電製品、AV機器、携帯電話、自動車、産業機械等の機器に組み込まれ、メモリに記憶されているプログラムにしたがって処理を行うことで、それぞれの機器の制御を行う半導体集積回路である。   A data processor (hereinafter also simply referred to as “microcomputer” or “microcomputer”) is incorporated in devices such as home appliances, AV devices, mobile phones, automobiles, and industrial machines, and performs processing according to programs stored in a memory. Thus, the semiconductor integrated circuit controls each device.

マイコンは、機器に組み込まれて利用されるというその性質上、機器の制御を行うために必要な性能を備え、かつ、安価であることが要求される。さらに、動作保証される使用条件の下で、正常に動作するという信頼性に対する要求も強い。   The microcomputer is required to have a performance necessary for controlling the device and to be inexpensive because of its nature of being incorporated in the device and used. Furthermore, there is a strong demand for reliability to operate normally under operating conditions where operation is guaranteed.

近年、機器制御の複雑化・高度化に伴って中央処理装置(CPU)が処理するデータ量が増大し、マイコンに内蔵されるメモリ容量が増加している。一方、製造プロセスの微細化とマイコンの電源の低電圧化に伴って、記憶素子の電荷が中性子線などの影響で一時的に反転するソフトエラーが問題となってきている。特にメモリは微細であるため、他の素子に比べてソフトエラーの影響を受けやすい。メモリの記憶データの中には、機器の制御に直接影響する重要なデータがあり、ソフトエラーの影響を受けにくくすることが望まれる。   In recent years, with the complexity and sophistication of device control, the amount of data processed by the central processing unit (CPU) has increased, and the memory capacity built in the microcomputer has increased. On the other hand, with the miniaturization of the manufacturing process and the lower voltage of the power source of the microcomputer, a soft error in which the charge of the memory element is temporarily reversed due to the influence of neutron rays or the like has become a problem. In particular, since the memory is fine, it is more susceptible to soft errors than other elements. Among the data stored in the memory, there is important data that directly affects the control of the device, and it is desirable to make it less susceptible to soft errors.

従来から用いられているメモリの高信頼化技術としてECC(Error Correcting Code)がある。ECCは本来のデータにエラー訂正コードを付加して記憶しておくことにより、1ビットエラーが生じた場合でも元の正しいデータを復元して出力することができ、2ビットエラーが生じた場合には復元はできないがエラーがあることを検出することができる技術である。   There is ECC (Error Correcting Code) as a highly reliable technology of a memory used conventionally. The ECC stores an error correction code added to the original data and stores it, so that even if a 1-bit error occurs, the original correct data can be restored and output. When a 2-bit error occurs Is a technology that cannot be restored but can detect errors.

訂正不可能なメモリの2ビットエラーを生じにくくする技術としてメモリパトロールがある。機器制御のためのメモリアクセスとは別に、ECC機能を有するメモリ(以下単に「ECCメモリ」とも称す)をアドレス順に読み出して1ビットエラーを検出したら訂正したデータを書き戻すというものである。メモリを1ビットエラーが存在する状態のままにしておくと、同じアドレスの別のビットにエラーが生じることによって2ビットエラーとなる可能性があるが、メモリパトロールによって1ビットエラーを訂正しておくことによって2ビットエラーの発生確率を小さくすることができる。メモリパトロールは大きくCPUがソフトウエアで実行する方法と専用のハードウエアで実行する方法の2つがある。CPUに処理負荷をかけないという点で後者が望ましい。   There is a memory patrol as a technique that makes it difficult to generate a two-bit error in an uncorrectable memory. Apart from memory access for device control, a memory having an ECC function (hereinafter also simply referred to as “ECC memory”) is read in the order of addresses, and when a 1-bit error is detected, the corrected data is written back. If the memory is left in a state where a 1-bit error exists, an error may occur in another bit at the same address, which may result in a 2-bit error. However, the 1-bit error is corrected by memory patrol. As a result, the probability of occurrence of a 2-bit error can be reduced. There are two types of memory patrols: a method in which the CPU executes with software and a method in which the CPU executes with dedicated hardware. The latter is desirable because it does not put a processing load on the CPU.

特許文献1には、リードが主で殆ど書き換えが行われない第1メモリ領域と、常にリードとライトが行われる第2メモリ領域とに対するメモリパトロールの頻度を変更可能にするメモリパトロール制御技術について記載がある。当該文献によれば、メモリパトロール回路はメモリと密に結合されている。   Patent Document 1 describes a memory patrol control technique that can change the frequency of memory patrol for a first memory area that is mainly read and hardly rewritten and a second memory area that is always read and written. There is. According to this document, the memory patrol circuit is tightly coupled with the memory.

特開平6−324952号公報JP-A-6-324952

メモリパトロールがECCメモリと密に結合している場合には、メモリパトロールを行いたいメモリごとにメモリパトロール回路を設けることが必要がある。即ち、CPU等が接続される共通バスに対して夫々のメモリは固有のメモリパトロール回路を介して接続される。近年のマイコンでは内蔵メモリの個数が増える傾向に有り、例えばマルチコアではCPUごとにメモリを持ち、周辺モジュールの中にも例えば通信用データをメモリに持つものもある。このようにマイコンに内蔵されるメモリの数と種類が増え、メモリパトロールを実施したいメモリが複数になっていくと、メモリごとにメモリパトロール機能を持たせたのではハードウエア規模と設計工数が大きくなってしまう。   When the memory patrol is tightly coupled with the ECC memory, it is necessary to provide a memory patrol circuit for each memory to be subjected to memory patrol. That is, each memory is connected to a common bus to which a CPU or the like is connected via a unique memory patrol circuit. Recent microcomputers tend to increase the number of built-in memories. For example, multi-cores have a memory for each CPU, and some peripheral modules have, for example, communication data in the memory. As the number and types of memories built into the microcomputer increase and the number of memories that you want to perform memory patrol increases, the memory scale and design man-hours increase if each memory has a memory patrol function. turn into.

本発明の目的は、複数のECCメモリに対して共通のメモリパトロール回路を用いることができるデータプロセッサを提供することにある。   An object of the present invention is to provide a data processor that can use a common memory patrol circuit for a plurality of ECC memories.

本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。   The following is a brief description of an outline of typical inventions disclosed in the present application.

すなわち、データプロセッサは、読み出しデータに対して誤り訂正を行って出力するメモリをCPUの制御に従って定期的にリードアクセスすることによって前記メモリが保持するデータに対するメンテナンスを支援するメモリパトロール回路を有する。メモリパトロール回路はCPUが接続するバスを介してメモリに接続され、メモリに対して一対一対応の密結合とはされていない。メモリパトロール回路によるパトロール動作の範囲はCPUの設定によって決まり、前記メモリからエラーの通知を受取ったときは当該エラーに係るデータのアドレスをメモリパトロール回路の記憶回路に保持すると共に、例えばエラーフラグ格納領域にエラーフラグをセットし、或いはCPUに割り込みを要求する。CPUは、エラーフラグまたは割り込み等によってエラーの発生を認識することにより、記憶回路が保持するエラーに係るアドレスを用いてメモリリードを行い、リードデータを当該アドレスに書き込むことによって、メモリに記憶された誤りデータを正しいデータに置き換えることができる。メモリパトロール回路はメモリに密結合されず、且つ、パトロールのアドレス範囲はCPUによってプログラマブルに指定可能にされるから、複数のメモリに対して共通のメモリパトロール回路を用いることができる。   That is, the data processor has a memory patrol circuit that supports maintenance of data held in the memory by periodically performing read access to the memory that performs error correction on the read data and outputs the data under the control of the CPU. The memory patrol circuit is connected to the memory via a bus connected to the CPU, and is not tightly coupled to the memory in a one-to-one correspondence. The range of the patrol operation by the memory patrol circuit is determined by the setting of the CPU. When an error notification is received from the memory, the address of the data related to the error is held in the memory circuit of the memory patrol circuit, for example, an error flag storage area An error flag is set in the above or an interrupt is requested to the CPU. The CPU recognizes the occurrence of the error by an error flag or an interrupt, etc., performs a memory read using the address related to the error held by the storage circuit, and writes the read data to the address to store the data in the memory. Error data can be replaced with correct data. The memory patrol circuit is not tightly coupled to the memory, and the address range of the patrol is programmable by the CPU, so that a common memory patrol circuit can be used for a plurality of memories.

本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。   The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.

すなわち、複数のメモリに対してエラーデータをリカバリするための制御を、共通のメモリパトロール回路で行うことができる。   That is, control for recovering error data for a plurality of memories can be performed by a common memory patrol circuit.

図1は本発明に係るデータプロセッサの第1の実施の形態を示すブロック図である。FIG. 1 is a block diagram showing a first embodiment of a data processor according to the present invention. 図2はメモリパトロール回路のレジスタ構成を例示する説明図である。FIG. 2 is an explanatory diagram illustrating the register configuration of the memory patrol circuit. 図3はメモリパトロール回路によるメモリパトロール動作の処理フローを例示するフローチャートである。FIG. 3 is a flowchart illustrating a processing flow of the memory patrol operation by the memory patrol circuit. 図4は本発明に係るデータプロセッサの第2の実施の形態を示すブロック図である。FIG. 4 is a block diagram showing a second embodiment of the data processor according to the present invention. 図5は本発明に係るデータプロセッサの第3の実施の形態を示すブロック図である。FIG. 5 is a block diagram showing a third embodiment of the data processor according to the present invention. 図6は本発明に係るデータプロセッサの第4の実施の形態を示すブロック図である。FIG. 6 is a block diagram showing a fourth embodiment of the data processor according to the present invention. 図7は本発明に係るデータプロセッサの第5の実施の形態を示すブロック図である。FIG. 7 is a block diagram showing a fifth embodiment of the data processor according to the present invention. 図8は本発明に係るデータプロセッサを適用した自動車電子制御装置を搭載した自動車のブロック図である。FIG. 8 is a block diagram of an automobile equipped with an automobile electronic control device to which the data processor according to the present invention is applied.

1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
1. First, an outline of a typical embodiment of the invention disclosed in the present application will be described. Reference numerals in the drawings referred to in parentheses in the outline description of the representative embodiments merely exemplify what are included in the concept of the components to which the reference numerals are attached.

〔1〕本発明の代表的な実施の形態に係るデータプロセッサ(DPU1〜DPU3)は、プログラムを実行するCPU(1)と、前記CPUのアドレス空間に配置されデータの読み出しと書き込みが行われる単数又は複数のメモリ(2)と、前記CPUによって制御されるメモリパトロール回路(4)とを有する。前記メモリは、書き込み動作において書き込みデータからエラー訂正コードを生成してデータと共に記憶し、読み出し動作において読み出したデータとエラー訂正コードを用いて読み出しデータに対する誤り訂正を行って出力する誤り検出及び訂正機能を備える。前記メモリパトロール回路は、前記CPUによって書き込み及び読み出し可能にされた記憶回路(41〜45)と、前記記憶回路を参照して前記メモリの読み出し制御を行うパトロール制御回路(47〜50)と、を有する。前記記憶回路は、前記CPUにより前記メモリの読み出し範囲がプログラマブルに指定されると共に、CPUにより参照可能なエラーフラグ格納領域(45)を有する。前記パトロール制御回路は、前記CPUからパトロール動作の開始が指示されると、前記記憶回路に指定された前記メモリのアドレスに対して読出し動作を指示し、これによって当該メモリからエラーの有無を受取り、エラーがあったときは当該エラーに係るデータのアドレスを前記記憶回路に保持すると共に、前記エラーフラグ格納領域にエラーフラグ(ERR)をセットする。   [1] A data processor (DPU1 to DPU3) according to a typical embodiment of the present invention includes a CPU (1) that executes a program and a single that is arranged in the address space of the CPU and that reads and writes data. Or it has a plurality of memories (2) and a memory patrol circuit (4) controlled by the CPU. The memory has an error detection and correction function for generating an error correction code from write data in a write operation and storing it together with the data, and performing error correction on the read data using the data and error correction code read in a read operation and outputting the data. Is provided. The memory patrol circuit includes: a memory circuit (41 to 45) that is writable and readable by the CPU; and a patrol control circuit (47 to 50) that performs read control of the memory with reference to the memory circuit. Have. The memory circuit has an error flag storage area (45) that can be referred to by the CPU while the read range of the memory is programmable by the CPU. When the patrol control circuit is instructed to start a patrol operation by the CPU, the patrol control circuit instructs a read operation to the address of the memory specified in the storage circuit, thereby receiving the presence or absence of an error from the memory, When there is an error, the address of the data related to the error is held in the storage circuit, and an error flag (ERR) is set in the error flag storage area.

CPUは、エラーフラグによってエラーの発生を認識することにより、記憶回路が保持するエラーに係るアドレスを用いてメモリリードを行い、リードデータを当該アドレスに書き込むことによって、メモリに記憶された誤りデータを正しいデータに置き換えることができる。メモリパトロール回路はメモリに密結合されず、且つ、パトロールのアドレス範囲はCPUによってプログラマブルに指定可能にされるから、複数のメモリに対して共通のメモリパトロール回路を用いることができる。   The CPU recognizes the occurrence of the error by the error flag, performs a memory read using the address related to the error held by the storage circuit, and writes the read data to the address to thereby store the error data stored in the memory. Can be replaced with correct data. The memory patrol circuit is not tightly coupled to the memory, and the address range of the patrol is programmable by the CPU, so that a common memory patrol circuit can be used for a plurality of memories.

〔2〕(パトロールイネーブル)項1のデータプロセッサにおいて、例えば前記記憶回路はパトロールイネーブルビット(PE)を有し、CPUが前記パトロールイネーブルビットをセットすることにより前記パトロール動作が開始可能にされ、前記パトロール制御回路が前記パトロールイネーブルビットをリセットすることにより前記パトロール動作が停止可能にされる。   [2] (Patrol enable) In the data processor of item 1, for example, the storage circuit has a patrol enable bit (PE), and the patrol operation can be started by the CPU setting the patrol enable bit. The patrol operation can be stopped by the patrol control circuit resetting the patrol enable bit.

〔3〕(ポーリングによるエラー認識)項1のデータプロセッサにおいて、前記CPUは、例えばポーリングによって前記エラーフラグ格納領域を参照し、エラーフラグがセットされていることを条件に、前記エラーに係るデータのアドレスを前記記憶回路から読み出し、当該アドレス情報を用いて前記メモリをリードし、リードデータを当該アドレスに書き戻す処理を行なう。   [3] (Error recognition by polling) In the data processor according to item 1, the CPU refers to the error flag storage area by polling, for example, and sets the error flag on the condition that the error flag is set. An address is read from the storage circuit, the memory is read using the address information, and read data is written back to the address.

〔4〕(割り込みによるエラー通知)項1のデータプロセッサにおいて、前記パトロール制御回路は、例えば前記エラーがあった場合にその旨のエラー割り込み(54)を前記CPUに要求すると共に、次のパトロール動作の開始を抑制する。CPUにエラーの発生を割り込みによって通知して、データリカバリのための処理に移行することも可能である。   [4] (Error notification by interruption) In the data processor according to item 1, the patrol control circuit requests, for example, an error interrupt (54) to that effect from the CPU when there is an error, and performs the next patrol operation. Suppress the start of. It is also possible to notify the CPU of the occurrence of an error by an interrupt and shift to processing for data recovery.

〔5〕(割り込み応答処理)項4のデータプロセッサにおいて、例えば前記CPUは、前記エラー割り込みに応答して、前記エラーに係るデータのアドレスを前記記憶回路から読み出し、当該アドレス情報を用いて前記メモリをリードし、リードデータを当該アドレスに書き戻す処理を行なう。   [5] (Interrupt response processing) In the data processor according to item 4, for example, the CPU reads an address of data related to the error from the storage circuit in response to the error interrupt, and uses the address information to read the memory And read back the read data to the address.

〔6〕(パトロール周期の設定)項1のデータプロセッサにおいて、例えば前記記憶回路は周期情報の記憶領域(43)を有する。前記制御回路は、CPUによって設定された周期情報に従って前記パトロール動作によるメモリのリード動作の間隔を制御する。   [6] (Setting of Patrol Period) In the data processor according to item 1, for example, the storage circuit has a storage area (43) for period information. The control circuit controls the interval of the memory read operation by the patrol operation according to the period information set by the CPU.

〔7〕項1のデータプロセッサ(DPU2,DPU3)は、例えば前記メモリを複数個有する。前記パトロール制御回路は、読出し動作の指示に応答して前記メモリが出力するエラー信号の論理和信号によって、当該メモリからエラーの有無を受取る。   [7] The data processor (DPU2, DPU3) of item 1 includes a plurality of the memories, for example. The patrol control circuit receives the presence / absence of an error from the memory according to a logical sum signal of an error signal output from the memory in response to a read operation instruction.

〔8〕項7のデータプロセッサ(DPU3)において、前記複数個のメモリは例えばバスブリッジ回路(1200)で接続された異なるバスの夫々に接続されておいる。   [8] In the data processor (DPU 3) described in [7], the plurality of memories are connected to different buses connected by a bus bridge circuit (1200), for example.

〔9〕(CPUへの割り込み通知)
本発の別の観点によるデータプロセッサ(DPU1〜DPU3)は、プログラムを実行するCPUと、前記CPUのアドレス空間に配置されデータの読み出しと書き込みが行われる単数又は複数のメモリと、前記CPUによって制御されるメモリパトロール回路とを有する。前記メモリは、書き込み動作において書き込みデータからエラー訂正コードを生成してデータと共に記憶し、読み出し動作において読み出したデータとエラー訂正コードを用いて読み出しデータに対する誤り訂正を行って出力する誤り検出及び訂正機能を備える。前記メモリパトロール回路は、前記CPUによって書き込み及び読み出し可能にされた記憶回路と、前記記憶回路を参照して前記メモリの読み出し制御を行うパトロール制御回路と、を有する。前記記憶回路は、前記CPUにより前記メモリの読み出し範囲がプログラマブルに指定される。前記パトロール制御回路は、前記CPUからパトロール動作の開始が指示されると、前記記憶回路に指定された前記メモリのアドレスに対して読出し動作を指示し、これによって当該メモリからエラーの有無を受取り、エラーがあったときは当該エラーに係るデータのアドレスを前記記憶回路に保持すると共に、当該エラーに係る割込みを前記CPUに要求する。
[9] (Interrupt notification to CPU)
The data processors (DPU1 to DPU3) according to another aspect of the present invention are a CPU that executes a program, one or a plurality of memories that are arranged in the address space of the CPU and read and write data, and are controlled by the CPU. A memory patrol circuit. The memory detects and corrects an error by generating an error correction code from write data in a write operation and storing it together with the data, and performing error correction on the read data using the data and error correction code read in a read operation Is provided. The memory patrol circuit includes a storage circuit that can be written and read by the CPU, and a patrol control circuit that performs read control of the memory with reference to the storage circuit. In the memory circuit, a read range of the memory is specified in a programmable manner by the CPU. When the patrol control circuit is instructed to start a patrol operation by the CPU, the patrol control circuit instructs a read operation to the address of the memory specified in the storage circuit, thereby receiving the presence or absence of an error from the memory, When there is an error, the address of the data related to the error is held in the storage circuit, and an interrupt related to the error is requested to the CPU.

〔10〕(書き戻し機能付きメモリ)本発明の更に別の観点によるデータプロセッサ(DPU4,DPU5)は、プログラムを実行するCPU(1)と、前記CPUのアドレス空間に配置されデータの読み出しと書き込みが行われる単数又は複数のメモリと、前記CPUによって制御されるメモリパトロール回路(4)とを有する。前記メモリ(1600)は、書き込み動作において書き込みデータからエラー訂正コードを生成してデータと共に記憶し、読み出し動作において読み出したデータとエラー訂正コードを用いて読み出しデータに対する誤り訂正を行って出力する誤り検出及び訂正機能を備えたメモリ部(2)と、前記読み出しデータに対する誤り訂正を行ったとき当該訂正されたデータをメモリ部に書き戻す書き戻し制御部(1601)とを有する。前記メモリパトロール回路は、前記CPUによって書き込み及び読み出し可能にされた記憶回路と、前記記憶回路を参照して前記メモリの読み出し制御を行うパトロール制御回路と、を有する。前記記憶回路は、前記CPUにより前記メモリの読み出し範囲がプログラマブルに指定されると共に、CPUにより参照可能なエラーフラグ格納領域を有する。前記パトロール制御回路は、前記CPUからパトロール動作の開始が指示されると、前記記憶回路に指定された前記メモリのアドレスに対して読出し動作を指示し、これによって当該メモリからエラーの有無を受取り、エラーがあったときは当該エラーに係るデータのアドレスを前記記憶回路に保持すると共に、前記エラーフラグ格納領域にエラーフラグをセットする。   [10] (Memory with write-back function) A data processor (DPU4, DPU5) according to still another aspect of the present invention includes a CPU (1) for executing a program, and reading and writing of data arranged in the address space of the CPU. And a memory patrol circuit (4) controlled by the CPU. The memory (1600) generates an error correction code from the write data in the write operation and stores it together with the data, and performs error correction on the read data using the read data and the error correction code in the read operation and outputs the error detection code. And a memory unit (2) having a correction function and a write-back control unit (1601) for writing back the corrected data to the memory unit when error correction is performed on the read data. The memory patrol circuit includes a storage circuit that can be written and read by the CPU, and a patrol control circuit that performs read control of the memory with reference to the storage circuit. The memory circuit has an error flag storage area that can be referred to by the CPU while the read range of the memory is programmable by the CPU. When the patrol control circuit is instructed to start a patrol operation by the CPU, the patrol control circuit instructs a read operation to the address of the memory specified in the storage circuit, thereby receiving the presence or absence of an error from the memory, When there is an error, the address of data relating to the error is held in the storage circuit, and an error flag is set in the error flag storage area.

〔11〕(パトロールイネーブル)項10のデータプロセッサにおいて、例えば前記記憶回路はパトロールイネーブルビットを有し、CPUが前記パトロールイネーブルビットをセットすることにより前記パトロール動作が開始可能にされ、前記パトロール制御回路が前記パトロールイネーブルビットをリセットすることにより前記パトロール動作が停止可能にされる。   [11] (Patrol enable) In the data processor according to item 10, for example, the storage circuit has a patrol enable bit, and the patrol operation can be started when the CPU sets the patrol enable bit, and the patrol control circuit The patrol operation can be stopped by resetting the patrol enable bit.

〔12〕(パトロール周期の設定)項10のデータプロセッサにおいて、例えば前記記憶回路は周期情報の記憶領域を有する。前記制御回路は、CPUによって設定された周期情報に従って前記パトロール動作によるメモリのリード動作の間隔を制御する。   [12] (Patrol cycle setting) In the data processor according to item 10, for example, the storage circuit has a storage region for cycle information. The control circuit controls the interval of the memory read operation by the patrol operation according to the period information set by the CPU.

〔13〕項10のデータプロセッサは例えば前記メモリを複数個有する。前記パトロール制御回路は、読出し動作の指示に応答して前記メモリが出力するエラー信号の論理和信号によって、当該メモリからエラーの有無を受取る。   [13] The data processor according to item 10 includes, for example, a plurality of the memories. The patrol control circuit receives the presence / absence of an error from the memory according to a logical sum signal of an error signal output from the memory in response to a read operation instruction.

〔14〕項13のデータプロセッサにおいて、例えば前記複数個のメモリはバスブリッジ回路で接続された異なるバスの夫々に接続されている。   [14] In the data processor of item 13, for example, the plurality of memories are connected to different buses connected by a bus bridge circuit.

2.実施の形態の詳細
実施の形態について更に詳述する。
2. Details of Embodiments Embodiments will be further described in detail.

図1には本発明に係るデータプロセッサが例示される。同図に示されるデータプロセッサDPU1は、例えば相補型MOS集積回路製造技術によって単結晶シリコンのような1個の半導体基板に形成される。   FIG. 1 illustrates a data processor according to the present invention. The data processor DPU1 shown in the figure is formed on a single semiconductor substrate such as single crystal silicon by, for example, complementary MOS integrated circuit manufacturing technology.

データプロセッサDPU1は、プログラムをフェッチして実行する中央処理装置(CPU)1、前記プログラムの保持や前記CPUのワーク領域などに用いられるメモリ(MRY)2、メモリパトロール回路(MRYPTRL)4、バスマスタ選択回路(BMSLC)5、及び図示を省略する周辺回路やアクセラレータなどその他の回路ユニットを有する。   The data processor DPU1 is a central processing unit (CPU) 1 that fetches and executes a program, a memory (MRY) 2 that is used for holding the program and a work area of the CPU, a memory patrol circuit (MRYPTRL) 4, and a bus master selection The circuit (BMSLC) 5 and other circuit units such as a peripheral circuit (not shown) and an accelerator are included.

SBUSは、コマンド及びアドレスバス(BCMD,ADR)30、リードデータバス(RDAT)31、及びライトデータバス(WDAT)32から成る、システムバスSBUSである。   SBUS is a system bus SBUS including a command and address bus (BCMD, ADR) 30, a read data bus (RDAT) 31, and a write data bus (WDAT) 32.

CPU1はプログラムに従ってメモリ2などをアクセスしてデータ処理を行なう。メモリパトロール回路4はCPU1による設定にしたがってメモリ2を読み出してエラー検出処理を行う。バスマスタ選択回路5はシステムバスSBUSのバスマスタとしてCPU1又はメモリパトロール回路4の選択を行う。   The CPU 1 accesses the memory 2 etc. according to the program and performs data processing. The memory patrol circuit 4 reads the memory 2 according to the setting by the CPU 1 and performs error detection processing. The bus master selection circuit 5 selects the CPU 1 or the memory patrol circuit 4 as the bus master of the system bus SBUS.

メモリ2はコマンド・アドレスバス30からコマンド及びアドレス20が供給されることによって動作され、書き込み動作では書き込みデータ22が与えられる、読み出し動作では読み出しデータ21を出力する。メモリ2はECC機能を備え、書き込み動作では書き込みデータに基づいてエラーチェックコードを生成し、データと共にエラーチェックコードをメモリアレイに格納する。読み出し動作では、メモリアレイから読み出したエラーチェックコードを用いて読み出しデータの誤りを検出し、誤りがあればこれを訂正して読み出しデータ21を出力する。誤り訂正は例えば1ビット誤りに対して有効とされ、2ビット以上の誤りに対して訂正機能を有しない。CPU1からの読み出しアクセスに際して読み出しデータに誤りがあったときメモリ2はエラー信号23をCPU1に返す。メモリパトロール回路4からの読み出しアクセスに際して読み出しデータに誤りがあったときメモリ2はエラー信号24をメモリパトロール回路4に返す。メモリ2はコマンドに含まれるアクセス要求元IDによってCPU1からのアクセスかメモリパトロール回路4からのアクセスかに応じて、エラー信号23を出力すべきかエラー信号24を出力すべきかを判別する。   The memory 2 is operated by being supplied with a command and an address 20 from the command / address bus 30, and is supplied with write data 22 in a write operation and outputs read data 21 in a read operation. The memory 2 has an ECC function. In the write operation, an error check code is generated based on the write data, and the error check code is stored in the memory array together with the data. In the read operation, an error in the read data is detected using the error check code read from the memory array, and if there is an error, this is corrected and the read data 21 is output. Error correction is effective, for example, for 1-bit errors and does not have a correction function for errors of 2 bits or more. When there is an error in the read data during the read access from the CPU 1, the memory 2 returns an error signal 23 to the CPU 1. When there is an error in the read data during the read access from the memory patrol circuit 4, the memory 2 returns an error signal 24 to the memory patrol circuit 4. The memory 2 determines whether to output the error signal 23 or the error signal 24 according to whether the access is from the CPU 1 or the memory patrol circuit 4 according to the access request source ID included in the command.

CPU1は、アクセスを行う場合、コマンド及びアドレス10を出力し、リードアクセスの場合にはリードデータ11を読み込み、ライトアクセスの場合にはライトデータ信号12を出力する。メモリパトロール回路4がリードアクセスを行う場合、コマンド及びアドレス40を出力する。バスマスタ選択回路5は、CPU2が出力するコマンド及びアドレス10かメモリパトロール回路4が出力するコマンド及びアドレス40かのいずれかを選択してシステムバスSBUSのコマンドおよびアドレス30に出力する。   The CPU 1 outputs a command and an address 10 when performing access, reads read data 11 when performing read access, and outputs a write data signal 12 when performing write access. When the memory patrol circuit 4 performs read access, a command and an address 40 are output. The bus master selection circuit 5 selects either the command output from the CPU 2 and the address 10 or the command output from the memory patrol circuit 4 and the address 40 and outputs the selected command to the command and address 30 of the system bus SBUS.

CPU1はメモリパトロール回路4が備えるレジスタをメモリ2と同様にリード・ライトアクセス可能である。即ち、CPU1が出力するコマンド及びアドレス10をコマンド及びアドレス51としてメモリパトロール回路4が入力し、リードアクセスの場合にはメモリパトロール回路4はリードデータ52を出力し、これをCPU1がリードデータ11として読み込み、ライトアクセスの場合にはCPU1はライトデータ12を出力し、これがライトデータ53としてメモリパトロール回路4のレジスタに書き込まれる。   The CPU 1 can perform read / write access to the registers included in the memory patrol circuit 4 in the same manner as the memory 2. That is, the memory patrol circuit 4 inputs the command and address 10 output from the CPU 1 as the command and address 51, and in the case of read access, the memory patrol circuit 4 outputs read data 52, which is read by the CPU 1 as read data 11. In the case of read or write access, the CPU 1 outputs write data 12, which is written as write data 53 in the register of the memory patrol circuit 4.

メモリパトロール回路4はレジスタとして、転送アドレスレジスタ(MPATAR)41、転送回数レジスタ(MPATCR)42、転送周期レジスタ(MPATPR)43、コントロールレジスタ(MPACR)44、及びフラグレジスタ(MPAFR)45を持つ。これらのレジスタは前述の如くCPU1によって読み出しと書き込みを行うことができる。リード・ライト制御回路(RDWRCNT)46はシステムバスSBUSからレジスタ41〜45へのリードおよびライトの制御を行う。転送制御回路(TRCMDC)47はメモリパトロールのためのアクセスコマンドの制御を行う。転送制御回路47は、転送を開始するとコマンド470を出力し、コマンド470は転送アドレスレジスタ41からのアドレス信号410と共にバスマスタ選択回路5に入力される。CPU1によってシステムバスSBUSが使用中でなければバスマスタ選択回路5がメモリパトロール回路4からのコマンド470及びアドレス信号410を選択し、これによって、メモリ2の読み出しが行われる。読み出しが終わるとメモリパトロール回路4は1回の転送を完了する。メモリ2から読み出されたデータに誤りがあった場合、メモリ2はエラー信号24をメモリパトロール回路4に出力する。エラー検出回路(ERRDTC)48でエラーが検出されると、シーケンス制御回路(SQNSCNT)50がメモリパトロールの動作を中断して、フラグレジスタ45にエラー発生を示すエラーフラグをセットし、転送アドレスレジスタ41にはエラーを発生したアドレスを保持させ、割り込み発生回路49にCPU1に信号54でエラー割り込みを発生させる。エラー割り込みが発生されたCPU1は、例えば、メモリパトロール回路4の転送アドレスレジスタ41をリードし、リードしたメモリアドレスを用いてメモリ2をリードし、リードしたデータをメモリに書き戻す操作を行う。即ち、CPU1はメモリパトロール回路4によるメモリパトロールで1ビットエラーを生じたメモリデータをメモリ2から読み出し、読み出すときにメモリのエラー検出訂正機能によって訂正されて読み出されたデータが当該アドレスに書き戻す。これによって、メモリ2上で1ビットエラーが訂正される。CPU1がメモリ2をアクセスした場合にエラーが発生した場合には、エラー信号24とは別のエラー信号23がCPU1に供給される。このエラー信号を受取ったとき、CPU1は例えば上記信号23の活性化に応答して上記同様の割り込み処理により当該エラーに係るメモリアドレスをリードし、リードデータを書き戻す処理を行なえばよい。   The memory patrol circuit 4 includes a transfer address register (MPATAR) 41, a transfer count register (MPATCR) 42, a transfer cycle register (MPATPR) 43, a control register (MPACR) 44, and a flag register (MPAFR) 45 as registers. These registers can be read and written by the CPU 1 as described above. A read / write control circuit (RDWRCNT) 46 controls reading and writing from the system bus SBUS to the registers 41 to 45. A transfer control circuit (TRCMDC) 47 controls an access command for memory patrol. The transfer control circuit 47 outputs a command 470 when the transfer is started, and the command 470 is input to the bus master selection circuit 5 together with the address signal 410 from the transfer address register 41. If the system bus SBUS is not in use by the CPU 1, the bus master selection circuit 5 selects the command 470 and the address signal 410 from the memory patrol circuit 4, thereby reading out the memory 2. When the reading is completed, the memory patrol circuit 4 completes one transfer. If there is an error in the data read from the memory 2, the memory 2 outputs an error signal 24 to the memory patrol circuit 4. When an error is detected by the error detection circuit (ERRTC) 48, the sequence control circuit (SQNSCNT) 50 interrupts the memory patrol operation, sets an error flag indicating the occurrence of an error in the flag register 45, and transfers the address register 41. The address where the error occurred is held, and the interrupt generation circuit 49 causes the CPU 1 to generate an error interrupt with the signal 54. For example, the CPU 1 in which the error interrupt is generated reads the transfer address register 41 of the memory patrol circuit 4, reads the memory 2 using the read memory address, and writes back the read data to the memory. That is, the CPU 1 reads from the memory 2 memory data in which a 1-bit error has occurred during memory patrol by the memory patrol circuit 4, and when the data is read, the data corrected by the error detection and correction function of the memory is written back to the address. . As a result, the 1-bit error is corrected on the memory 2. If an error occurs when the CPU 1 accesses the memory 2, an error signal 23 different from the error signal 24 is supplied to the CPU 1. When this error signal is received, the CPU 1 may perform a process of reading the memory address related to the error and writing back the read data by the same interrupt process in response to the activation of the signal 23, for example.

図2にはメモリパトロール回路4のレジスタ構成が例示される。   FIG. 2 illustrates a register configuration of the memory patrol circuit 4.

転送アドレスレジスタ(MPATAR)41は、例えば32ビットのレジスタで、バイトを単位とするアドレス情報を保持する。転送アドレスレジスタ41にはCPU1によって転送開始アドレスが設定され、メモリパトロール回路4によってメモリ2のリードが行われる度に、転送アドレスレジスタ41の値は図示を省略する演算器によって次のアドレス値にインクリメントされる。   The transfer address register (MPATAR) 41 is a 32-bit register, for example, and holds address information in units of bytes. A transfer start address is set in the transfer address register 41 by the CPU 1, and each time the memory 2 is read by the memory patrol circuit 4, the value of the transfer address register 41 is incremented to the next address value by an arithmetic unit (not shown). Is done.

転送回数レジスタ(MPATCR)42は32ビットのレジスタで、転送回数を保持する。CPU1によって転送回数が設定され、メモリパトロール回路4によってメモリ2のリードが行われると、転送回数レジスタ42の値は図示を省略するアドレス演算器によって値が1減少される。シーケンス制御回路50は例えば転送回数レジスタ42の値が0になるまでメモリパトロール動作を繰り返す。   The transfer count register (MPATCR) 42 is a 32-bit register and holds the transfer count. When the transfer count is set by the CPU 1 and the memory 2 is read by the memory patrol circuit 4, the value of the transfer count register 42 is decremented by 1 by an address calculator (not shown). For example, the sequence control circuit 50 repeats the memory patrol operation until the value of the transfer count register 42 becomes zero.

転送周期レジスタ(MPATPR)43は16ビットのレジスタであり、メモリパトロール回路4によるメモリ2のリード動作の間隔がCPU1によってシステムバスSBUSの同期クロックサイクル数で設定される。   The transfer cycle register (MPATPR) 43 is a 16-bit register, and the interval between read operations of the memory 2 by the memory patrol circuit 4 is set by the CPU 1 by the number of synchronous clock cycles of the system bus SBUS.

コントロールレジスタ(MPACR)44は8ビットのレジスタで、ビット0のPE(パトロールイネーブル)はメモリパトロール動作を許可するか否かを示す制御ビットである。0はメモリパトロール動作を実行せず、1はメモリパトロール動作を実行することを指示する。ビット3のIE(インタラプトイネーブル)は信号24で検出されるエラーが発生した場合にCPU1に対するメモリパトロールエラー割り込みの発生を許可するか否かを示す制御ビットである。0は割り込みを発生せず、1は割り込みを発生することを指示する。ビット2のEIE(エンドインタラプトイネーブル)はパトロールが終了した場合にCPU1に対するメモリパトロール終了割り込みの発生を許可するか否かをしめす制御ビットである。0は割り込みを発生せず、1は割り込みを発生することを指示する。ビット5、4のTS(トランスファサイズ)[1:0]は転送サイズ(リードデータのサイズ)を設定する。00はバイト(8ビット)、01はワード(16ビット)、10はロングワード(32ビット)、11は予約である。ビット7、6、1は予約ビットで、書き込みは行えず、読み出すと常に0が読み出される。   A control register (MPACR) 44 is an 8-bit register, and a PE (Patrol Enable) bit 0 is a control bit indicating whether or not to permit a memory patrol operation. 0 indicates that the memory patrol operation is not performed, and 1 indicates that the memory patrol operation is performed. The IE (interrupt enable) of bit 3 is a control bit indicating whether or not to permit generation of a memory patrol error interrupt to the CPU 1 when an error detected by the signal 24 occurs. 0 indicates that no interrupt is generated, and 1 indicates that an interrupt is generated. A bit 2 EIE (end interrupt enable) is a control bit that indicates whether or not to permit generation of a memory patrol end interrupt to the CPU 1 when patrol is completed. 0 indicates that no interrupt is generated, and 1 indicates that an interrupt is generated. The TS (transfer size) [1: 0] of bits 5 and 4 sets the transfer size (read data size). 00 is a byte (8 bits), 01 is a word (16 bits), 10 is a long word (32 bits), and 11 is a reservation. Bits 7, 6, and 1 are reserved bits and cannot be written, and 0 is always read when read.

フラグレジスタ(MPAFR)45は8ビットのレジスタで、ビット0のTE(トランスファエンド)は転送終了フラグである。転送回数レジスタ(MPATCR)42の値が0になるとTEに1がセットされる。ビット1のERRはエラーフラグである。メモリパトロール回路4によるによるメモリ2の読み出しで信号24によるエラーの発生が検出されると、ERRに1がセットされる。   A flag register (MPAFR) 45 is an 8-bit register, and TE (transfer end) of bit 0 is a transfer end flag. When the value of the transfer count register (MPATCR) 42 becomes 0, 1 is set to TE. ERR of bit 1 is an error flag. When the occurrence of an error due to the signal 24 is detected in the reading of the memory 2 by the memory patrol circuit 4, ERR is set to 1.

信号24により読出しエラーが通知された場合におけるメモリパトロール回路4の動作とCPU1のデータ処理動作との関係は以下の通りとされる。例えば、信号24によって読み出しエラーが通知されたときメモリパトロール回路4がCPU1に割り込みを要求する場合には、シーケンス制御回路50は割り込み要求と共にパトロールイネーブルPEをディスエーブルとし、メモリパトロール動作を中断する。この間にCPU1がエラーに係るメモリデータの読み出し及び書き戻しを行い、最後にパトロールイネーブルPEをイネーブルにセットして、メモリパトロール回路4のメモリパトロール動作を再開可能にする。   The relationship between the operation of the memory patrol circuit 4 and the data processing operation of the CPU 1 when a read error is notified by the signal 24 is as follows. For example, when the memory patrol circuit 4 requests an interrupt from the CPU 1 when a read error is notified by the signal 24, the sequence control circuit 50 disables the patrol enable PE together with the interrupt request, and interrupts the memory patrol operation. During this time, the CPU 1 reads and writes back the memory data related to the error, and finally sets the patrol enable PE to be enabled so that the memory patrol operation of the memory patrol circuit 4 can be resumed.

信号24によって読み出しエラーが通知されたときメモリパトロール回路4がCPU1に割り込みを要求しない場合には、CPU1は適宜のタイミングでエラーフラグERRを監視する処理を行なう。また、メモリパトロール回路4はエラーに係るアドレスを、図示を省略するFIFOメモリなどに逐次蓄積する処理を併せて行ない、メモリパトロール動作は中断しない。ポーリング等によってCPU1がエラーフラグERRのセット状態を検出することにより、図示を省略するFIFOメモリが保持するエラーに係るメモリアドレスを用いて、メモリデータの読み出し及び書き戻しを行って、エラーに係るデータのリカバリを行う。   If the memory patrol circuit 4 does not request an interrupt from the CPU 1 when a read error is notified by the signal 24, the CPU 1 performs processing for monitoring the error flag ERR at an appropriate timing. Further, the memory patrol circuit 4 performs a process of sequentially accumulating addresses related to errors in a FIFO memory (not shown) or the like, and the memory patrol operation is not interrupted. When the CPU 1 detects the set state of the error flag ERR by polling or the like, the memory data is read and written back using the memory address related to the error held in the FIFO memory (not shown), and the data related to the error Perform recovery.

図3にメモリパトロール回路4によるメモリパトロール動作の処理フローが例示される。リセットによりレジスタ41〜45の初期化が行われる(1000)。コントロールレジスタ44とフラグレジスタ45は全ビット0にされる。リセットが解除されると、メモリパトロール条件の検出が行われる(1001)。パトロール条件EXEは図の式に従って演算される。記号“&”は論理積である。その条件によれば、コントロールレジスタのPE=1、且つフラグレジスタのTE=0、且つフラグレジスタのERR=0、且つカウンタCNT≧MPATPRにより、EXE=1となる。前記カウンタCNTはリセットおよびメモリパトロールにおける転送開始で0にリセットされ、その他の場合はシステムバスクロックの周期毎に値1を加算していく。ここではカウンタCNTは便宜上、シーケンス制御回路50が備える。   FIG. 3 illustrates a processing flow of the memory patrol operation by the memory patrol circuit 4. The registers 41 to 45 are initialized by reset (1000). The control register 44 and flag register 45 are all set to 0. When the reset is released, the memory patrol condition is detected (1001). The patrol condition EXE is calculated according to the formula in the figure. The symbol “&” is a logical product. According to the conditions, PE = 1 of the control register, TE = 0 of the flag register, ERR = 0 of the flag register, and EXE = 1 because of the counter CNT ≧ MPATPR. The counter CNT is reset to 0 at the start of transfer in the reset and memory patrol, and in other cases, the value 1 is added every cycle of the system bus clock. Here, the counter CNT is provided in the sequence control circuit 50 for convenience.

ステップ1002の判別でパトロール条件EXE=1が検出されなければパトロール条件検出動作(1001)に戻り、パトロール条件EXE=1が検出されると次のステップ1003に進む。ステップ1003ではカウンタCNTを0にクリアし、メモリ2のリードを実行する。メモリリードの結果、信号24に基づいてエラー判定が行われ(1004)、エラーが発生した場合にはステップ1005に進み、発生しなかった場合にはステップ1008に進む。   If the patrol condition EXE = 1 is not detected in step 1002, the process returns to the patrol condition detecting operation (1001). If the patrol condition EXE = 1 is detected, the process proceeds to the next step 1003. In step 1003, the counter CNT is cleared to 0, and the memory 2 is read. As a result of the memory read, an error determination is made based on the signal 24 (1004). If an error has occurred, the process proceeds to step 1005, and if not, the process proceeds to step 1008.

ステップ1005では、フラグレジスタMPAFRのERRが1にセットされる。次に、コントロールレジスタのIEが1の場合はCPU1に信号54にてエラー割り込みが発生され(1007)、0の場合は発生されずにステップ1001に戻る。   In step 1005, ERR of the flag register MPAFR is set to 1. Next, when the IE of the control register is 1, an error interrupt is generated by the signal 54 to the CPU 1 (1007), and when it is 0, the process returns to step 1001 without being generated.

ステップ1008ではレジスタ更新操作が行われる。転送アドレスレジスタ(MPATAR)にコントロールレジスタ(MPACR)のTSに設定された転送サイズに対応した値が加算される。バイトの場合は1、ワードの場合は2、ロングワードの場合は4となる。転送回数レジスタ(MPATCR)は値を1つ減らす。次の判定処理1009では転送回数レジスタ(MPATCR)の値が0かどうかの判定が行われ、0でなければステップ1001に戻る。0の場合は、フラグレジスタ(MPAFR)のTEを1にセットする(1010)。次の判定処理1011で、コントロールレジスタのEIEが1の場合は信号55によってメモリパトロールの終了割り込みを発生させ(1012)、0の場合は発生させずにステップ1001に戻る。   In step 1008, a register update operation is performed. A value corresponding to the transfer size set in the TS of the control register (MPACR) is added to the transfer address register (MPATAR). 1 for bytes, 2 for words, 4 for longwords. The transfer count register (MPATCR) decrements by one. In the next determination process 1009, it is determined whether or not the value of the transfer count register (MPATCR) is 0. If not 0, the process returns to step 1001. In the case of 0, TE of the flag register (MPAFR) is set to 1 (1010). In the next determination processing 1011, if the EIE of the control register is 1, a memory patrol end interrupt is generated by the signal 55 (1012), and if it is 0, the process returns to step 1001 without generating it.

図4には本発明に係るデータプロセッサの第2の実施の形態が示される。図4のデータプロセッサDPU2は、図1のデータプロセッサDPU1に対して、メモリ9を追加し、論理回路(ORLGC)1100を追加した点が相違され、その他の点は図1と同様であり、その詳細な説明は省略する。   FIG. 4 shows a second embodiment of the data processor according to the present invention. The data processor DPU2 of FIG. 4 is different from the data processor DPU1 of FIG. 1 in that a memory 9 is added and a logic circuit (ORLGC) 1100 is added, and the other points are the same as in FIG. Detailed description is omitted.

メモリ9もメモリ2と同様にエラー検出機能と1ビットのエラー訂正機能を備える。メモリ9にはコマンド及びアドレスバス30からコマンド及びアドレス信号90が供給され、ライトデータバス32からライトデータ92が供給され、リードデータ91はリードバス31に出力される。CPU1とメモリパトロール回路4はメモリ2と同様にメモリ9のアクセスも可能である。CPU1からのリードアクセスにおいてメモリ9がリードデータに対するエラーを検出すると、エラー信号93をCPU1に出力し、メモリパトロール回路4からのリードアクセスにおいてメモリ9がリードデータに対するエラーを検出すると、エラー信号94を出力する。エラー信号93はメモリ2からのエラー信号23に対応され、エラー信号94はメモリ2からのエラー信号24に対応される。エラー信号94とエラー信号24は論理回路1100で論理和が採られ、これによる論理和信号1101がエラー検出回路48に供給され、これによってメモリパトロール回路4はメモリ2,9に対するリードアクセスに伴ってデータエラーが生じたことを検出することができる。   Similarly to the memory 2, the memory 9 has an error detection function and a 1-bit error correction function. A command and address signal 90 is supplied from the command and address bus 30 to the memory 9, write data 92 is supplied from the write data bus 32, and read data 91 is output to the read bus 31. Similarly to the memory 2, the CPU 1 and the memory patrol circuit 4 can access the memory 9. When the memory 9 detects an error with respect to the read data in the read access from the CPU 1, an error signal 93 is output to the CPU 1. When the memory 9 detects an error with respect to the read data in the read access from the memory patrol circuit 4, the error signal 94 is output. Output. The error signal 93 corresponds to the error signal 23 from the memory 2, and the error signal 94 corresponds to the error signal 24 from the memory 2. The error signal 94 and the error signal 24 are logically summed by the logic circuit 1100, and the resulting logical sum signal 1101 is supplied to the error detection circuit 48, whereby the memory patrol circuit 4 accompanies read access to the memories 2 and 9. It is possible to detect that a data error has occurred.

この例によれば、メモリパトロール回路4はCPU1からの設定に従って2個のメモリ2,9に対してメモリパトロール動作を行うことができる。1個のメモリパトロール回路4がメモリパトロールの対象とするメモリの数は2個に限定されず、3個以上であっても同じである。CPU1は夫々のメモリからエラー信号を入力し、論理回路はそれぞれのメモリからエラー信号を入力すればよい。   According to this example, the memory patrol circuit 4 can perform a memory patrol operation on the two memories 2 and 9 according to the setting from the CPU 1. The number of memories to be subject to memory patrol by one memory patrol circuit 4 is not limited to two, and the same is true even if there are three or more. The CPU 1 may input an error signal from each memory, and the logic circuit may input an error signal from each memory.

図5には本発明に係るデータプロセッサの第3の実施の形態が示される。図5のデータプロセッサDPU3は、図4のデータプロセッサDPU2に対して、システムバスSBUSにバスブリッジ回路(BRDG)1200を介して接続されたローカルバスLBUSを有し、メモリ9に代えてローカルバスLBUSにメモリ1300を追加した点が相違され、その他の点は図1、図4と同様であり、その詳細な説明は省略する。   FIG. 5 shows a third embodiment of the data processor according to the present invention. The data processor DPU3 of FIG. 5 has a local bus LBUS connected to the system bus SBUS via a bus bridge circuit (BRDG) 1200 with respect to the data processor DPU2 of FIG. The point that the memory 1300 is added is different, and the other points are the same as those in FIGS. 1 and 4, and the detailed description thereof is omitted.

ローカルバスLBUSはコマンド及びアドレスバス(BCMD・ADR)1400、リードデータバス(RDAT)1401、ライトデータバス(WDAT)1402を有し、ブリッジ回路1200は、システムバスSBUSから供給されるコマンド及びアドレス信号1201、ライトデータ1203をローカルバスLBUSにコマンド及びアドレス信号1204、ライトデータ1206として伝達し、ローカルバスLBUSから供給されるリードデータ1205をシステムバスSBUSにリードデータ1202として供給する。   The local bus LBUS includes a command and address bus (BCMD / ADR) 1400, a read data bus (RDAT) 1401, and a write data bus (WDAT) 1402. The bridge circuit 1200 receives command and address signals supplied from the system bus SBUS. 1201 and write data 1203 are transmitted as command and address signals 1204 and write data 1206 to the local bus LBUS, and read data 1205 supplied from the local bus LBUS is supplied as read data 1202 to the system bus SBUS.

メモリ1300もメモリ2と同様にエラー検出機能と1ビットのエラー訂正機能を備える。メモリ1300にはコマンド及びアドレスバス1400からコマンド及びアドレス信号1301が供給され、ライトデータバス1402からライトデータ1303が供給され、リードデータ1302はリードバス1401に出力される。CPU1とメモリパトロール回路4はメモリ2と同様にメモリ1300のアクセスも可能である。CPU1からのリードアクセスにおいてメモリ1300がリードデータに対するエラーを検出すると、エラー信号1303をCPU1に出力し、メモリパトロール回路4からのリードアクセスにおいてメモリ1300がリードデータに対するエラーを検出すると、エラー信号1304を出力する。エラー信号1303はメモリ2からのエラー信号23に対応され、エラー信号1304はメモリ2からのエラー信号24に対応される。エラー信号1304とエラー信号1304は論理回路1100で論理和が採られ、これによる論理和信号1101がエラー検出回路48に供給され、これによってメモリパトロール回路4はメモリ2,1300に対するリードアクセスに伴ってデータエラーが生じたことを検出することができる。   Similar to the memory 2, the memory 1300 has an error detection function and a 1-bit error correction function. A command and address signal 1301 is supplied from the command and address bus 1400 to the memory 1300, write data 1303 is supplied from the write data bus 1402, and read data 1302 is output to the read bus 1401. Similarly to the memory 2, the CPU 1 and the memory patrol circuit 4 can access the memory 1300. When the memory 1300 detects an error for the read data in the read access from the CPU 1, the error signal 1303 is output to the CPU 1. When the memory 1300 detects the error for the read data in the read access from the memory patrol circuit 4, the error signal 1304 is output. Output. The error signal 1303 corresponds to the error signal 23 from the memory 2, and the error signal 1304 corresponds to the error signal 24 from the memory 2. The error signal 1304 and the error signal 1304 are logically summed by the logic circuit 1100, and the resulting logical sum signal 1101 is supplied to the error detection circuit 48, whereby the memory patrol circuit 4 accompanies read access to the memories 2 and 1300. It is possible to detect that a data error has occurred.

この例によれば、メモリパトロール回路4はCPU1からの設定に従ってバスブリッジ回路1200を挟んだ別々のバスに結合される2個のメモリ2,1300に対してメモリパトロール動作を行うことができる。1個のメモリパトロール回路4がメモリパトロールの対象とする各バスSBUS,LBUSに接続するメモリの数はそれぞれ1個に限定されず、夫々のバスにおいて2個以上であっても同じである。CPU1は夫々のメモリからエラー信号を入力し、論理回路はそれぞれのメモリからエラー信号を入力すればよい。   According to this example, the memory patrol circuit 4 can perform a memory patrol operation on the two memories 2 and 1300 coupled to different buses sandwiching the bus bridge circuit 1200 according to the setting from the CPU 1. The number of memories that one memory patrol circuit 4 connects to each of the buses SBUS and LBUS targeted for memory patrol is not limited to one, and the same is true even if there are two or more memories in each bus. The CPU 1 may input an error signal from each memory, and the logic circuit may input an error signal from each memory.

図6には本発明に係るデータプロセッサの第4の実施の形態が示される。図6のデータプロセッサDPU4は、図1のデータプロセッサDPU1に対して、誤りデータの書換え機能を持つメモリ(MRYCR)1600を採用した点が相違される。以下その相違点について詳細に説明する。   FIG. 6 shows a fourth embodiment of the data processor according to the present invention. The data processor DPU 4 in FIG. 6 is different from the data processor DPU 1 in FIG. 1 in that a memory (MRYCR) 1600 having a function of rewriting error data is employed. The differences will be described in detail below.

メモリ1600は、メモリ部としてのメモリ(MRY)200と共に、バスSBUSとメモリ2の間に配置された誤りデータの書き換え制御を行う書き戻し制御部(CRCT)1601を持つ。誤りデータの書き戻し制御部1601は、アドレスバッファ(ABUF)1700、アドレス選択回路(ADRSLC)7、データバッファ(DBUF)1800、ライトデータ選択回路(WDSLC)8を有する。   The memory 1600 includes a memory (MRY) 200 as a memory unit and a write-back control unit (CRCT) 1601 that performs rewrite control of error data arranged between the bus SBUS and the memory 2. The error data write-back control unit 1601 includes an address buffer (ABUF) 1700, an address selection circuit (ADRSLC) 7, a data buffer (DBUF) 1800, and a write data selection circuit (WDSLC) 8.

コマンドおよびアドレスによってメモリ1600のリードアクセスが指示されると、コマンド及びアドレスバス30から供給されるコマンド及びアドレス20をアドレスバッファ1700が記憶すると共に、アドレス選択回路7がコマンド及びアドレス20を信号71としてメモリ2に供給し、これによってメモリ2はメモリアレイからそのアドレスに対応するデータとエラーチェックコードを読み出し、それを用いてエラーチェックを行う。エラーがなければリードデータをそのまま、1ビットエラーがあればその誤りを訂正し他データを、リードデータ21としてリードデータバス31に出力する。リードデータ2はデータバッファ1800にも供給されて保持される。CPU1からのリードアクセスにおいてメモリ2のリードデータに1ビットエラーが検出されるとエラー信号23が出力され、メモリパトロール回路4からのリードアクセスにおいてメモリ2のリードデータに1ビットエラーが検出されるとエラー信号24が出力される。エラー信号23又は24が出力されたとき、信号25が出力されて、データバッファ1800が保持しているデータをライトデータ選択回路8に選択させ、且つ、アドレスバッファ1700が保持しているコマンド及びアドレスをアドレス選択回路8に選択させる。これにより、リードデータのエラーが訂正されてデータバッファ1800に保持されていたデータが、メモリ2の対応するアドレスに書き戻される。このようにしてメモリ1600における誤りデータの書換え機能が実現される。   When read access to the memory 1600 is instructed by the command and address, the address buffer 1700 stores the command and address 20 supplied from the command and address bus 30, and the address selection circuit 7 uses the command and address 20 as a signal 71. The data is supplied to the memory 2, whereby the memory 2 reads out the data corresponding to the address and the error check code from the memory array, and performs error check using them. If there is no error, the read data is left as it is. If there is a 1-bit error, the error is corrected, and other data is output to the read data bus 31 as read data 21. Read data 2 is also supplied to and held in the data buffer 1800. When a 1-bit error is detected in the read data of the memory 2 in the read access from the CPU 1, an error signal 23 is output, and when a 1-bit error is detected in the read data of the memory 2 in the read access from the memory patrol circuit 4. An error signal 24 is output. When the error signal 23 or 24 is output, the signal 25 is output to cause the write data selection circuit 8 to select the data held in the data buffer 1800, and the command and address held in the address buffer 1700. Is selected by the address selection circuit 8. As a result, the error in the read data is corrected and the data held in the data buffer 1800 is written back to the corresponding address in the memory 2. In this manner, the error data rewriting function in the memory 1600 is realized.

コマンドおよびアドレスによってメモリ1600のライトアクセスが指示されると、コマンド及びアドレスバス30から供給されるコマンド及びアドレス20をアドレス選択回路7が信号71としてメモリ2に供給し、ライトデータバス32から供給されるライトデータ22をライトデータ選択回路8がライトデータ81としてメモリ2に拒給することにより、メモリに対する書き込みが行われる。メモリパトロール回路4は図1と同様に構成される。   When write access to the memory 1600 is instructed by the command and address, the command and address 20 supplied from the command and address bus 30 are supplied to the memory 2 as the signal 71 by the address selection circuit 7 and supplied from the write data bus 32. When the write data selection circuit 8 rejects the write data 22 as write data 81 to the memory 2, writing to the memory is performed. The memory patrol circuit 4 is configured in the same manner as in FIG.

これによりメモリ2のリードデータに誤りがあったときCPU1の割り込み処理で誤り訂正データをメモリ2の対応アドレスに書き戻す処理を行なうことを要しない。誤りデータの書き換え回路(CRCT)1601はメモリ2と密結合されるが、誤りデータの書換え機能を持つ複数のメモリ(MRYCR)1600に対するメモリパトロール制御に一つのメモリパトロール回路4を配置すれば済む。   As a result, when there is an error in the read data of the memory 2, it is not necessary to perform the process of writing the error correction data back to the corresponding address of the memory 2 by the interrupt process of the CPU1. The error data rewriting circuit (CRCT) 1601 is tightly coupled to the memory 2, but only one memory patrol circuit 4 may be arranged for memory patrol control for a plurality of memories (MRYCR) 1600 having an error data rewriting function.

図7には本発明に係るデータプロセッサの第5の実施の形態が示される。図7のデータプロセッサDPU5は、図5のデータプロセッサDPU1におけるメモリ2を図6の誤りデータの書換え機能を持つ複数のメモリ(MRYCR)1600に置き換えた点が相違される。その他の構成は図5及び図6と同様であるからその詳細な説明は省略する。この構成の場合もCPU1とメモリパトロール回路4は、メモリ1600とメモリ1300をアクセスすることができ、複数のメモリのエラー信号をメモリパトロール回路4に供給することができる。   FIG. 7 shows a fifth embodiment of the data processor according to the present invention. The data processor DPU 5 of FIG. 7 is different in that the memory 2 in the data processor DPU 1 of FIG. 5 is replaced with a plurality of memories (MRYCR) 1600 having the error data rewriting function of FIG. Since other configurations are the same as those in FIGS. 5 and 6, detailed description thereof will be omitted. Also in this configuration, the CPU 1 and the memory patrol circuit 4 can access the memory 1600 and the memory 1300, and can supply error signals of a plurality of memories to the memory patrol circuit 4.

図8は本発明に係るデータプロセッサを適用した例として自動車電子制御装置を示す。自動車1500において、エンジン1501を電子制御する制御装置1502内に参照符号1503で示される本発明を適用したデータプロセッサが搭載される。データプロセッサ1503は前記データプロセッサDPU1〜DPU5の何れであってもよい。   FIG. 8 shows an automobile electronic control apparatus as an example to which the data processor according to the present invention is applied. In an automobile 1500, a data processor to which the present invention indicated by reference numeral 1503 is applied is mounted in a control device 1502 for electronically controlling an engine 1501. The data processor 1503 may be any of the data processors DPU1 to DPU5.

上述のように、本発明に係るデータプロセッサDPU1〜DPU5によれば、データプロセッサが内蔵するエラー検出訂正機能を有するメモリ(ECCメモリ)2のデータエラーをCPU1とは別にメモリパトロール回路4で検出し、CPU1がメモリパトロール回路4からエラーが発生したアドレスを読み出すことによってメモリ2のエラーを訂正することができる。   As described above, according to the data processors DPU1 to DPU5 according to the present invention, the memory patrol circuit 4 detects a data error in the memory (ECC memory) 2 having an error detection and correction function built in the data processor separately from the CPU1. The CPU 1 can correct the error in the memory 2 by reading the address where the error has occurred from the memory patrol circuit 4.

メモリパトロール回路4はECCメモリ2と密に結合せず、CPU1がメモリアクセスを行うバスに接続して使用されるため、パトロール対象のメモリが複数の場合にも1つのメモリパトロール回路4で対応することができる。   The memory patrol circuit 4 is not tightly coupled to the ECC memory 2 and is used by being connected to a bus that the CPU 1 performs memory access. Therefore, even when there are a plurality of memories to be patroled, one memory patrol circuit 4 can cope with it. be able to.

以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。   Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof.

例えば、メモリのエラーに対するデータ書き戻し操作をCPUが行う場合、その処理の開始は割り込みまたはポーリングに限定されず、予め決まったタイミングで定期的に行うようにしてもよい。また、その処理の開始は割り込みまたはポーリングの何れか一方のみに限定してもよい。データプロセッサはマルチCPUの構成であってもよい。データリカバリは特定の一つ、又は、そのとき負荷が最も小さいCPUが行えばよい。   For example, when the CPU performs a data write-back operation for a memory error, the start of the process is not limited to interruption or polling, but may be performed periodically at a predetermined timing. Further, the start of the processing may be limited to only one of interruption and polling. The data processor may have a multi-CPU configuration. Data recovery may be performed by a specific one or a CPU with the smallest load at that time.

DPU1 データプロセッサ
1 中央処理装置(CPU)
2 メモリ(MRY)
4 メモリパトロール回路(MRYPTRL)
SBUS システムバス
30 アドレスバス(BCMD,ADR)
31 リードデータバス(RDAT)
32 ライトデータバス(WDAT)
41 転送アドレスレジスタ(MPATAR)
42 転送回数レジスタ(MPATCR)
43 転送周期レジスタ(MPATPR)
44 コントロールレジスタ(MPACR)
45 フラグレジスタ(MPAFR)
46 リード・ライト制御回路(RDWRCNT)
47 転送制御回路(TRCMDC)
48 エラー検出回路(ERRDTC)
50 シーケンス制御回路(SQNSCNT)
PE パトロールイネーブル
IE インタラプトイネーブル
EIE エンドインタラプトイネーブル
TS トランスファサイズ
TE トランスファエンド
ERR エラーフラグ
DPU2 データプロセッサ
1100 論理回路(ORLGC)
9 メモリ
93 エラー信号
94 エラー信号
DPU3 データプロセッサ
LBUS ローカルバス
1300 メモリ
1200 ブリッジ回路
1303 エラー信号
1304 エラー信号
DPU4 データプロセッサ
1600 メモリ
1601 書き戻し制御部(CRCT)
1700 アドレスバッファ(ABUF)
7 アドレス選択回路(ADRSLC)
1800 データバッファ(DBUF)
8 ライトデータ選択回路(WDSLC)
DPU5 データプロセッサ
1500 自動車
1502 電子制御装置
1503 データプロセッサ
DPU1 Data processor 1 Central processing unit (CPU)
2 Memory (MRY)
4 Memory patrol circuit (MRYPTRL)
SBUS system bus 30 address bus (BCMD, ADR)
31 Read data bus (RDAT)
32 Write data bus (WDAT)
41 Transfer address register (MPATAR)
42 Transfer count register (MPATCR)
43 Transfer cycle register (MPATPR)
44 Control register (MPACR)
45 Flag register (MPAFR)
46 Read / Write Control Circuit (RDWRCNT)
47 Transfer control circuit (TRCMDC)
48 Error detection circuit (ERRTC)
50 Sequence control circuit (SQNSCNT)
PE Patrol Enable IE Interrupt Enable EIE End Interrupt Enable TS Transfer Size TE Transfer End ERR Error Flag DPU2 Data Processor 1100 Logic Circuit (ORLGC)
9 Memory 93 Error signal 94 Error signal DPU3 Data processor LBUS Local bus 1300 Memory 1200 Bridge circuit 1303 Error signal 1304 Error signal DPU4 Data processor 1600 Memory 1601 Write-back controller (CRCT)
1700 Address buffer (ABUF)
7 Address selection circuit (ADRSLC)
1800 Data buffer (DBUF)
8 Write data selection circuit (WDSLC)
DPU5 data processor 1500 automobile 1502 electronic control unit 1503 data processor

Claims (14)

プログラムを実行するCPUと、前記CPUのアドレス空間に配置されデータの読み出しと書き込みが行われる単数又は複数のメモリと、前記CPUによって制御されるメモリパトロール回路とを有し、
前記メモリは、書き込み動作において書き込みデータからエラー訂正コードを生成してデータと共に記憶し、読み出し動作において読み出したデータとエラー訂正コードを用いて読み出しデータに対する誤り訂正を行って出力する誤り検出及び訂正機能を備え、
前記メモリパトロール回路は、前記CPUによって書き込み及び読み出し可能にされた記憶回路と、前記記憶回路を参照して前記メモリの読み出し制御を行うパトロール制御回路と、を有し、
前記記憶回路は、前記CPUにより前記メモリの読み出し範囲がプログラマブルに指定されると共に、CPUにより参照可能なエラーフラグ格納領域を有し、
前記パトロール制御回路は、前記CPUからパトロール動作の開始が指示されると、前記記憶回路に指定された前記メモリのアドレスに対して読出し動作を指示し、これによって当該メモリからエラーの有無を受取り、エラーがあったときは当該エラーに係るデータのアドレスを前記記憶回路に保持すると共に、前記エラーフラグ格納領域にエラーフラグをセットする、データプロセッサ。
A CPU that executes a program, a memory or a plurality of memories that are arranged in an address space of the CPU and that reads and writes data, and a memory patrol circuit that is controlled by the CPU;
The memory detects and corrects an error by generating an error correction code from write data in a write operation and storing it together with the data, and performing error correction on the read data using the data and error correction code read in a read operation With
The memory patrol circuit includes a memory circuit that is writable and readable by the CPU, and a patrol control circuit that performs read control of the memory with reference to the memory circuit,
The memory circuit has an error flag storage area that can be referred to by the CPU while the read range of the memory is programmable by the CPU.
When the patrol control circuit is instructed to start a patrol operation by the CPU, the patrol control circuit instructs a read operation to the address of the memory specified in the storage circuit, thereby receiving the presence or absence of an error from the memory, A data processor that holds an address of data relating to an error in the storage circuit and sets an error flag in the error flag storage area when an error occurs.
前記記憶回路はパトロールイネーブルビットを有し、CPUが前記パトロールイネーブルビットをセットすることにより前記パトロール動作が開始可能にされ、前記パトロール制御回路が前記パトロールイネーブルビットをリセットすることにより前記パトロール動作が停止可能にされる、請求項1記載のデータプロセッサ。   The memory circuit has a patrol enable bit, and the patrol operation can be started by the CPU setting the patrol enable bit, and the patrol operation is stopped by the patrol control circuit resetting the patrol enable bit. The data processor of claim 1, enabled. 前記CPUは、ポーリングによって前記エラーフラグ格納領域を参照し、エラーフラグがセットされていることを条件に、前記エラーに係るデータのアドレスを前記記憶回路から読み出し、当該アドレス情報を用いて前記メモリをリードし、リードデータを当該アドレスに書き戻す処理を行なう、請求項1記載のデータプロセッサ。   The CPU refers to the error flag storage area by polling, reads the address of the data related to the error from the storage circuit on condition that the error flag is set, and uses the address information to store the memory. The data processor according to claim 1, wherein a process of reading and reading back the read data to the address is performed. 前記パトロール制御回路は、前記エラーがあった場合にその旨のエラー割り込みを前記CPUに要求すると共に、次のパトロール動作の開始を抑制する、請求項1記載のデータプロセッサ。   The data processor according to claim 1, wherein when there is an error, the patrol control circuit requests an error interrupt to that effect from the CPU and suppresses the start of the next patrol operation. 前記CPUは、前記エラー割り込みに応答して、前記エラーに係るデータのアドレスを前記記憶回路から読み出し、当該アドレス情報を用いて前記メモリをリードし、リードデータを当該アドレスに書き戻す処理を行なう、請求項4記載のデータプロセッサ。   In response to the error interrupt, the CPU reads the address of the data related to the error from the storage circuit, reads the memory using the address information, and writes the read data back to the address. The data processor according to claim 4. 前記記憶回路は周期情報の記憶領域を有し、
前記制御回路は、CPUによって設定された周期情報に従って前記パトロール動作によるメモリのリード動作の間隔を制御する、請求項1記載のデータプロセッサ。
The storage circuit has a storage area for periodic information;
The data processor according to claim 1, wherein the control circuit controls an interval of a memory read operation by the patrol operation according to period information set by a CPU.
前記メモリを複数個有し、前記パトロール制御回路は、読出し動作の指示に応答して前記メモリが出力するエラー信号の論理和信号によって、当該メモリからエラーの有無を受取る、請求項1記載のデータプロセッサ。   2. The data according to claim 1, further comprising: a plurality of the memories, wherein the patrol control circuit receives the presence / absence of an error from the memory according to a logical sum signal of an error signal output from the memory in response to a read operation instruction. Processor. 前記複数個のメモリはバスブリッジ回路で接続された異なるバスの夫々に接続された、請求項7記載のデータプロセッサ。   8. The data processor according to claim 7, wherein the plurality of memories are connected to different buses connected by a bus bridge circuit. プログラムを実行するCPUと、前記CPUのアドレス空間に配置されデータの読み出しと書き込みが行われる単数又は複数のメモリと、前記CPUによって制御されるメモリパトロール回路とを有し、
前記メモリは、書き込み動作において書き込みデータからエラー訂正コードを生成してデータと共に記憶し、読み出し動作において読み出したデータとエラー訂正コードを用いて読み出しデータに対する誤り訂正を行って出力する誤り検出及び訂正機能を備え、
前記メモリパトロール回路は、前記CPUによって書き込み及び読み出し可能にされた記憶回路と、前記記憶回路を参照して前記メモリの読み出し制御を行うパトロール制御回路と、を有し、
前記記憶回路は、前記CPUにより前記メモリの読み出し範囲がプログラマブルに指定され、
前記パトロール制御回路は、前記CPUからパトロール動作の開始が指示されると、前記記憶回路に指定された前記メモリのアドレスに対して読出し動作を指示し、これによって当該メモリからエラーの有無を受取り、エラーがあったときは当該エラーに係るデータのアドレスを前記記憶回路に保持すると共に、当該エラーに係る割込みを前記CPUに要求する、データプロセッサ。
A CPU that executes a program; a memory or a plurality of memories that are arranged in the address space of the CPU and that reads and writes data; and a memory patrol circuit that is controlled by the CPU;
The memory detects and corrects an error by generating an error correction code from write data in a write operation and storing it together with the data, and performing error correction on the read data using the data and error correction code read in a read operation With
The memory patrol circuit includes a storage circuit that is writable and readable by the CPU, and a patrol control circuit that performs read control of the memory with reference to the storage circuit,
In the memory circuit, a read range of the memory is specified by the CPU in a programmable manner,
When the patrol control circuit is instructed to start a patrol operation by the CPU, the patrol control circuit instructs a read operation to the address of the memory specified in the storage circuit, thereby receiving the presence or absence of an error from the memory, A data processor that holds an address of data related to the error in the storage circuit and requests an interrupt related to the error to the CPU when there is an error.
プログラムを実行するCPUと、前記CPUのアドレス空間に配置されデータの読み出しと書き込みが行われる単数又は複数のメモリと、前記CPUによって制御されるメモリパトロール回路とを有し、
前記メモリは、書き込み動作において書き込みデータからエラー訂正コードを生成してデータと共に記憶し、読み出し動作において読み出したデータとエラー訂正コードを用いて読み出しデータに対する誤り訂正を行って出力する誤り検出及び訂正機能を備えたメモリ部と、前記読み出しデータに対する誤り訂正を行ったとき当該訂正されたデータをメモリ部に書き戻す書き戻し制御部とを有し、
前記メモリパトロール回路は、前記CPUによって書き込み及び読み出し可能にされた記憶回路と、前記記憶回路を参照して前記メモリの読み出し制御を行うパトロール制御回路と、を有し、
前記記憶回路は、前記CPUにより前記メモリの読み出し範囲がプログラマブルに指定されると共に、CPUにより参照可能なエラーフラグ格納領域を有し、
前記パトロール制御回路は、前記CPUからパトロール動作の開始が指示されると、前記記憶回路に指定された前記メモリのアドレスに対して読出し動作を指示し、これによって当該メモリからエラーの有無を受取り、エラーがあったときは当該エラーに係るデータのアドレスを前記記憶回路に保持すると共に、前記エラーフラグ格納領域にエラーフラグをセットする、データプロセッサ。
A CPU that executes a program, a memory or a plurality of memories that are arranged in an address space of the CPU and that reads and writes data, and a memory patrol circuit that is controlled by the CPU;
The memory detects and corrects an error by generating an error correction code from write data in a write operation and storing it together with the data, and performing error correction on the read data using the data and error correction code read in a read operation And a write-back control unit that writes the corrected data back to the memory unit when error correction is performed on the read data,
The memory patrol circuit includes a memory circuit that is writable and readable by the CPU, and a patrol control circuit that performs read control of the memory with reference to the memory circuit,
The memory circuit has an error flag storage area that can be referred to by the CPU while the read range of the memory is programmable by the CPU.
When the patrol control circuit is instructed to start a patrol operation by the CPU, the patrol control circuit instructs a read operation to the address of the memory specified in the storage circuit, thereby receiving the presence or absence of an error from the memory, A data processor that holds an address of data relating to an error in the storage circuit and sets an error flag in the error flag storage area when an error occurs.
前記記憶回路はパトロールイネーブルビットを有し、CPUが前記パトロールイネーブルビットをセットすることにより前記パトロール動作が開始可能にされ、前記パトロール制御回路が前記パトロールイネーブルビットをリセットすることにより前記パトロール動作が停止可能にされる、請求項10記載のデータプロセッサ。   The memory circuit has a patrol enable bit, and the patrol operation can be started by the CPU setting the patrol enable bit, and the patrol operation is stopped by the patrol control circuit resetting the patrol enable bit. 11. A data processor according to claim 10, enabled. 前記記憶回路は周期情報の記憶領域を有し、
前記制御回路は、CPUによって設定された周期情報に従って前記パトロール動作によるメモリのリード動作の間隔を制御する、請求項10記載のデータプロセッサ。
The storage circuit has a storage area for periodic information;
11. The data processor according to claim 10, wherein the control circuit controls an interval of a memory read operation by the patrol operation in accordance with period information set by a CPU.
前記メモリを複数個有し、前記パトロール制御回路は、読出し動作の指示に応答して前記メモリが出力するエラー信号の論理和信号によって、当該メモリからエラーの有無を受取る、請求項10記載のデータプロセッサ。   11. The data according to claim 10, comprising a plurality of the memories, wherein the patrol control circuit receives presence / absence of an error from the memory according to a logical sum signal of an error signal output from the memory in response to a read operation instruction. Processor. 前記複数個のメモリはバスブリッジ回路で接続された異なるバスの夫々に接続された、請求項13記載のデータプロセッサ。   14. The data processor according to claim 13, wherein the plurality of memories are connected to different buses connected by a bus bridge circuit.
JP2009023275A 2009-02-04 2009-02-04 Data processor Withdrawn JP2010181990A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009023275A JP2010181990A (en) 2009-02-04 2009-02-04 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009023275A JP2010181990A (en) 2009-02-04 2009-02-04 Data processor

Publications (1)

Publication Number Publication Date
JP2010181990A true JP2010181990A (en) 2010-08-19

Family

ID=42763549

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009023275A Withdrawn JP2010181990A (en) 2009-02-04 2009-02-04 Data processor

Country Status (1)

Country Link
JP (1) JP2010181990A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012168674A (en) * 2011-02-14 2012-09-06 Nec Computertechno Ltd Mirroring restoration device and mirroring restoration method
JP2015082234A (en) * 2013-10-23 2015-04-27 株式会社デンソー Electronic control device and electric power steering device using the same
JP2015103054A (en) * 2013-11-26 2015-06-04 株式会社デンソー Electronic control device and electrically-driven power steering device using the same device
CN106707159A (en) * 2015-11-17 2017-05-24 联创汽车电子有限公司 BLDC (brushless direct current) motor fault diagnosis system
US10719396B2 (en) 2018-03-19 2020-07-21 Toshiba Memory Corporation Memory system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012168674A (en) * 2011-02-14 2012-09-06 Nec Computertechno Ltd Mirroring restoration device and mirroring restoration method
JP2015082234A (en) * 2013-10-23 2015-04-27 株式会社デンソー Electronic control device and electric power steering device using the same
JP2015103054A (en) * 2013-11-26 2015-06-04 株式会社デンソー Electronic control device and electrically-driven power steering device using the same device
CN106707159A (en) * 2015-11-17 2017-05-24 联创汽车电子有限公司 BLDC (brushless direct current) motor fault diagnosis system
US10719396B2 (en) 2018-03-19 2020-07-21 Toshiba Memory Corporation Memory system

Similar Documents

Publication Publication Date Title
JP6021241B2 (en) Data processing system with error detection of peripheral device configuration information
US7328365B2 (en) System and method for providing error check and correction in memory systems
CN103930878B (en) Method, Apparatus and system for memory verification
TWI553650B (en) Method, apparatus and system for handling data error events with a memory controller
US7246269B1 (en) Efficient memory check architecture and method
JP2008134736A (en) Electronic equipment
JP2008139908A (en) Memory control device, computer system and data reproducing and recording device
EP2770507B1 (en) Memory circuits, method for accessing a memory and method for repairing a memory
JP6713740B2 (en) Memory module
US20190033367A1 (en) System, Apparatus And Method For Functional Testing Of One Or More Fabrics Of A Processor
JP2010500699A (en) Allowable bit errors for each sector in the memory device
JP2010181990A (en) Data processor
US20150046759A1 (en) Semiconductor integrated circuit device
JP2008033890A (en) Microcomputer system
US20160179611A1 (en) Low overhead error checking and correction apparatus and method
JP2016143422A (en) Configuring serial devices
JP5099342B2 (en) Component mounting board for PLC
US10613872B2 (en) Memory system with simulated memory process
JP2013238926A (en) Signal processing circuit and test apparatus using the same
CN106201336B (en) Apparatus having write back buffer and related method
TWI833476B (en) Memory control device and operation method threrof
JP2021033623A (en) Control apparatus, user program execution control method, and system program
JP6130735B2 (en) Microcontroller and error detection method
CN117349057A (en) Electronic device for managing corrected errors and operating method of electronic device
JP3171615B2 (en) Data transfer retry control method

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100527

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120501