JP2010181990A - Data processor - Google Patents
Data processor Download PDFInfo
- 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
Links
Images
Abstract
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メモリ領域とに対するメモリパトロールの頻度を変更可能にするメモリパトロール制御技術について記載がある。当該文献によれば、メモリパトロール回路はメモリと密に結合されている。
メモリパトロールが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. 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
〔3〕(ポーリングによるエラー認識)項1のデータプロセッサにおいて、前記CPUは、例えばポーリングによって前記エラーフラグ格納領域を参照し、エラーフラグがセットされていることを条件に、前記エラーに係るデータのアドレスを前記記憶回路から読み出し、当該アドレス情報を用いて前記メモリをリードし、リードデータを当該アドレスに書き戻す処理を行なう。
[3] (Error recognition by polling) In the data processor according to
〔4〕(割り込みによるエラー通知)項1のデータプロセッサにおいて、前記パトロール制御回路は、例えば前記エラーがあった場合にその旨のエラー割り込み(54)を前記CPUに要求すると共に、次のパトロール動作の開始を抑制する。CPUにエラーの発生を割り込みによって通知して、データリカバリのための処理に移行することも可能である。
[4] (Error notification by interruption) In the data processor according to
〔5〕(割り込み応答処理)項4のデータプロセッサにおいて、例えば前記CPUは、前記エラー割り込みに応答して、前記エラーに係るデータのアドレスを前記記憶回路から読み出し、当該アドレス情報を用いて前記メモリをリードし、リードデータを当該アドレスに書き戻す処理を行なう。
[5] (Interrupt response processing) In the data processor according to
〔6〕(パトロール周期の設定)項1のデータプロセッサにおいて、例えば前記記憶回路は周期情報の記憶領域(43)を有する。前記制御回路は、CPUによって設定された周期情報に従って前記パトロール動作によるメモリのリード動作の間隔を制御する。
[6] (Setting of Patrol Period) In the data processor according to
〔7〕項1のデータプロセッサ(DPU2,DPU3)は、例えば前記メモリを複数個有する。前記パトロール制御回路は、読出し動作の指示に応答して前記メモリが出力するエラー信号の論理和信号によって、当該メモリからエラーの有無を受取る。
[7] The data processor (DPU2, DPU3) of
〔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
〔12〕(パトロール周期の設定)項10のデータプロセッサにおいて、例えば前記記憶回路は周期情報の記憶領域を有する。前記制御回路は、CPUによって設定された周期情報に従って前記パトロール動作によるメモリのリード動作の間隔を制御する。
[12] (Patrol cycle setting) In the data processor according to
〔13〕項10のデータプロセッサは例えば前記メモリを複数個有する。前記パトロール制御回路は、読出し動作の指示に応答して前記メモリが出力するエラー信号の論理和信号によって、当該メモリからエラーの有無を受取る。
[13] The data processor according to
〔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
メモリ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
CPU1は、アクセスを行う場合、コマンド及びアドレス10を出力し、リードアクセスの場合にはリードデータ11を読み込み、ライトアクセスの場合にはライトデータ信号12を出力する。メモリパトロール回路4がリードアクセスを行う場合、コマンド及びアドレス40を出力する。バスマスタ選択回路5は、CPU2が出力するコマンド及びアドレス10かメモリパトロール回路4が出力するコマンド及びアドレス40かのいずれかを選択してシステムバスSBUSのコマンドおよびアドレス30に出力する。
The
CPU1はメモリパトロール回路4が備えるレジスタをメモリ2と同様にリード・ライトアクセス可能である。即ち、CPU1が出力するコマンド及びアドレス10をコマンド及びアドレス51としてメモリパトロール回路4が入力し、リードアクセスの場合にはメモリパトロール回路4はリードデータ52を出力し、これをCPU1がリードデータ11として読み込み、ライトアクセスの場合にはCPU1はライトデータ12を出力し、これがライトデータ53としてメモリパトロール回路4のレジスタに書き込まれる。
The
メモリパトロール回路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
図2にはメモリパトロール回路4のレジスタ構成が例示される。
FIG. 2 illustrates a register configuration of the
転送アドレスレジスタ(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
転送回数レジスタ(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
転送周期レジスタ(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
コントロールレジスタ(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)
フラグレジスタ(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
信号24により読出しエラーが通知された場合におけるメモリパトロール回路4の動作とCPU1のデータ処理動作との関係は以下の通りとされる。例えば、信号24によって読み出しエラーが通知されたときメモリパトロール回路4がCPU1に割り込みを要求する場合には、シーケンス制御回路50は割り込み要求と共にパトロールイネーブルPEをディスエーブルとし、メモリパトロール動作を中断する。この間にCPU1がエラーに係るメモリデータの読み出し及び書き戻しを行い、最後にパトロールイネーブルPEをイネーブルにセットして、メモリパトロール回路4のメモリパトロール動作を再開可能にする。
The relationship between the operation of the
信号24によって読み出しエラーが通知されたときメモリパトロール回路4がCPU1に割り込みを要求しない場合には、CPU1は適宜のタイミングでエラーフラグERRを監視する処理を行なう。また、メモリパトロール回路4はエラーに係るアドレスを、図示を省略するFIFOメモリなどに逐次蓄積する処理を併せて行ない、メモリパトロール動作は中断しない。ポーリング等によってCPU1がエラーフラグERRのセット状態を検出することにより、図示を省略するFIFOメモリが保持するエラーに係るメモリアドレスを用いて、メモリデータの読み出し及び書き戻しを行って、エラーに係るデータのリカバリを行う。
If the
図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
ステップ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
ステップ1005では、フラグレジスタMPAFRのERRが1にセットされる。次に、コントロールレジスタのIEが1の場合はCPU1に信号54にてエラー割り込みが発生され(1007)、0の場合は発生されずにステップ1001に戻る。
In
ステップ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
図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
この例によれば、メモリパトロール回路4はCPU1からの設定に従って2個のメモリ2,9に対してメモリパトロール動作を行うことができる。1個のメモリパトロール回路4がメモリパトロールの対象とするメモリの数は2個に限定されず、3個以上であっても同じである。CPU1は夫々のメモリからエラー信号を入力し、論理回路はそれぞれのメモリからエラー信号を入力すればよい。
According to this example, the
図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
ローカルバス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
メモリ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
この例によれば、メモリパトロール回路4はCPU1からの設定に従ってバスブリッジ回路1200を挟んだ別々のバスに結合される2個のメモリ2,1300に対してメモリパトロール動作を行うことができる。1個のメモリパトロール回路4がメモリパトロールの対象とする各バスSBUS,LBUSに接続するメモリの数はそれぞれ1個に限定されず、夫々のバスにおいて2個以上であっても同じである。CPU1は夫々のメモリからエラー信号を入力し、論理回路はそれぞれのメモリからエラー信号を入力すればよい。
According to this example, the
図6には本発明に係るデータプロセッサの第4の実施の形態が示される。図6のデータプロセッサDPU4は、図1のデータプロセッサDPU1に対して、誤りデータの書換え機能を持つメモリ(MRYCR)1600を採用した点が相違される。以下その相違点について詳細に説明する。
FIG. 6 shows a fourth embodiment of the data processor according to the present invention. The
メモリ1600は、メモリ部としてのメモリ(MRY)200と共に、バスSBUSとメモリ2の間に配置された誤りデータの書き換え制御を行う書き戻し制御部(CRCT)1601を持つ。誤りデータの書き戻し制御部1601は、アドレスバッファ(ABUF)1700、アドレス選択回路(ADRSLC)7、データバッファ(DBUF)1800、ライトデータ選択回路(WDSLC)8を有する。
The
コマンドおよびアドレスによってメモリ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
コマンドおよびアドレスによってメモリ1600のライトアクセスが指示されると、コマンド及びアドレスバス30から供給されるコマンド及びアドレス20をアドレス選択回路7が信号71としてメモリ2に供給し、ライトデータバス32から供給されるライトデータ22をライトデータ選択回路8がライトデータ81としてメモリ2に拒給することにより、メモリに対する書き込みが行われる。メモリパトロール回路4は図1と同様に構成される。
When write access to the
これによりメモリ2のリードデータに誤りがあったときCPU1の割り込み処理で誤り訂正データをメモリ2の対応アドレスに書き戻す処理を行なうことを要しない。誤りデータの書き換え回路(CRCT)1601はメモリ2と密結合されるが、誤りデータの書換え機能を持つ複数のメモリ(MRYCR)1600に対するメモリパトロール制御に一つのメモリパトロール回路4を配置すれば済む。
As a result, when there is an error in the read data of the
図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
図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
上述のように、本発明に係るデータプロセッサ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
メモリパトロール回路4はECCメモリ2と密に結合せず、CPU1がメモリアクセスを行うバスに接続して使用されるため、パトロール対象のメモリが複数の場合にも1つのメモリパトロール回路4で対応することができる。
The
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。 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 データプロセッサ
2 Memory (MRY)
4 Memory patrol circuit (MRYPTRL)
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
9
1700 Address buffer (ABUF)
7 Address selection circuit (ADRSLC)
1800 Data buffer (DBUF)
8 Write data selection circuit (WDSLC)
Claims (14)
前記メモリは、書き込み動作において書き込みデータからエラー訂正コードを生成してデータと共に記憶し、読み出し動作において読み出したデータとエラー訂正コードを用いて読み出しデータに対する誤り訂正を行って出力する誤り検出及び訂正機能を備え、
前記メモリパトロール回路は、前記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 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.
前記メモリは、書き込み動作において書き込みデータからエラー訂正コードを生成してデータと共に記憶し、読み出し動作において読み出したデータとエラー訂正コードを用いて読み出しデータに対する誤り訂正を行って出力する誤り検出及び訂正機能を備え、
前記メモリパトロール回路は、前記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からパトロール動作の開始が指示されると、前記記憶回路に指定された前記メモリのアドレスに対して読出し動作を指示し、これによって当該メモリからエラーの有無を受取り、エラーがあったときは当該エラーに係るデータのアドレスを前記記憶回路に保持すると共に、前記エラーフラグ格納領域にエラーフラグをセットする、データプロセッサ。 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 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.
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)
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 |
-
2009
- 2009-02-04 JP JP2009023275A patent/JP2010181990A/en not_active Withdrawn
Cited By (5)
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 |