JP5964265B2 - Semiconductor integrated circuit device - Google Patents

Semiconductor integrated circuit device Download PDF

Info

Publication number
JP5964265B2
JP5964265B2 JP2013045507A JP2013045507A JP5964265B2 JP 5964265 B2 JP5964265 B2 JP 5964265B2 JP 2013045507 A JP2013045507 A JP 2013045507A JP 2013045507 A JP2013045507 A JP 2013045507A JP 5964265 B2 JP5964265 B2 JP 5964265B2
Authority
JP
Japan
Prior art keywords
data
read
address
circuit
address signal
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.)
Active
Application number
JP2013045507A
Other languages
Japanese (ja)
Other versions
JP2014174670A (en
Inventor
一太 川平
一太 川平
阿部 進
進 阿部
阪田 健
健 阪田
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.)
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi ULSI Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi ULSI Systems Co Ltd filed Critical Hitachi ULSI Systems Co Ltd
Priority to JP2013045507A priority Critical patent/JP5964265B2/en
Publication of JP2014174670A publication Critical patent/JP2014174670A/en
Application granted granted Critical
Publication of JP5964265B2 publication Critical patent/JP5964265B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、半導体集積回路装置に関し、特にメモリ回路を内蔵した半導体集積回路装置に関する。   The present invention relates to a semiconductor integrated circuit device, and more particularly to a semiconductor integrated circuit device incorporating a memory circuit.

半導体集積回路装置を用いたシステムの安全性あるいは信頼性を向上させることが望まれている。システムの安全性あるいは信頼性を向上させるためには、部品として用いられている半導体集積回路装置に故障が発生した場合、故障発生部位を見つけ、特定することが重要である。メモリ回路を内蔵した半導体集積回路装置においては、故障発生の要因として、内蔵するメモリ回路の一部領域が正常に動作しなくなること(バッドエリア化)が挙げられる。復旧不可能な故障が発生しているかをチェックする技術が、特許文献1に開示されている。   It is desired to improve the safety or reliability of a system using a semiconductor integrated circuit device. In order to improve the safety or reliability of the system, when a failure occurs in a semiconductor integrated circuit device used as a component, it is important to find and identify the failure occurrence site. In a semiconductor integrated circuit device having a built-in memory circuit, a cause of the failure is that a partial area of the built-in memory circuit does not operate normally (to make a bad area). Patent Document 1 discloses a technique for checking whether an unrecoverable failure has occurred.

特許文献1においては、その図2にメモリ装置に搭載された設定保存ボードの構成が示されている。設定保存ボードは、2つのメモリ(101a、101b)にそれぞれ対応するエラー検出機能(102a、103a、102b、103b)が設けられた二重化メモリ部(100a、100b)を含んでいる。設定保存ボードは、二重化メモリ部のそれぞれのデータに対するエラー検出結果に基づいて、一方のメモリのデータでエラーが検出された場合に他方のメモリの対応したデータで修正するエラーチェック処理を各メモリの所定領域全体にわたって繰り返すセルフチェック部(110−112)を含んでいる。さらに、エラーチェック処理を繰り返した際の異常判定回数CNT(X)が所定回数に達した時にデータ修正不可能と判定する判定部(110)を含んでいる。   In Patent Document 1, FIG. 2 shows a configuration of a setting storage board mounted on a memory device. The setting storage board includes duplex memory units (100a, 100b) provided with error detection functions (102a, 103a, 102b, 103b) respectively corresponding to the two memories (101a, 101b). Based on the error detection result for each data in the redundant memory unit, the setting storage board performs error check processing for correcting the error with the corresponding data in the other memory when an error is detected in the data in one memory. A self-check unit (110-112) that repeats over the entire predetermined area is included. Further, a determination unit (110) that determines that the data cannot be corrected when the abnormality determination number CNT (X) when the error check process is repeated reaches a predetermined number is included.

特開2011−154593号公報JP 2011-154593 A

特許文献1に示された技術では、CPUによるアクセスが発生していない場合は、常にセルフチェック部が動作している(段落番号「0030」から「0034」参照)。そのため、消費電力の増加が懸念される。また、セルフチェック処理の際には、メモリの所定領域全体をチェック対象にしているため、ハード的な故障が、例え1箇所でもあった場合、セルフチェック処理の際のエラー要因がソフトエラーであるかハード的な故障であるかの判断をするまでに、図4から図6に示されている様な処理が必要とされる。そのため、処理時間の増大とそれに伴う消費電力の増大が懸念される。   In the technique disclosed in Patent Document 1, the self-check unit always operates when the CPU does not access (see paragraph numbers “0030” to “0034”). For this reason, there is a concern about an increase in power consumption. In addition, since the entire predetermined area of the memory is subject to check during the self-check process, if a hardware failure occurs even at one location, the error factor during the self-check process is a soft error. In order to determine whether the failure is a hardware failure, a process as shown in FIGS. 4 to 6 is required. Therefore, there is a concern about an increase in processing time and an accompanying increase in power consumption.

また、特許文献1に開示されている技術は、段落番号「0054」の記載から理解される様に、交換が可能な設定保存ボードに向けられており、半導体集積回路装置に内蔵され、交換が困難なメモリ回路については、意識されていない。   Further, as understood from the description of paragraph number “0054”, the technique disclosed in Patent Document 1 is directed to a setting storage board that can be exchanged, and is incorporated in a semiconductor integrated circuit device and can be exchanged. It is not conscious about difficult memory circuits.

本発明の目的は、消費電力の増加を低減することが可能なメモリ回路を内蔵した半導体集積回路装置を提供することにある。   An object of the present invention is to provide a semiconductor integrated circuit device incorporating a memory circuit capable of reducing an increase in power consumption.

本発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。   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.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。   Of the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows.

すなわち、半導体集積回路装置は、内部回路と内部回路によりアクセスされるメモリモジュールを具備する。メモリモジュールは、複数のメモリ回路を有し、それぞれのメモリ回路は、同じアドレスに同じデータを格納する様に、多重化されている。メモリモジュールは、それぞれのメモリ回路に対して、データの書き込みを行う際に、内部書き込みアドレス信号を供給する書き込み制御回路と、それぞれのメモリ回路に対して、データの読み出しを行う際に、内部読み出しアドレス信号を供給する読み出し制御回路とを含んでいる。また、読み出し制御回路は、少なくとも1個のメモリ回路に故障の可能性があるとき、故障可能性信号を形成する検出回路を含んでいる。故障可能性信号が形成された場合、メモリ回路のそれぞれに対し、診断データの書き込みと診断データの読み出しを実行させ、診断データの読み出しに応答して、故障可能性信号が形成されたとき、異なるアドレスにデータの書き込みを行う様に、アドレス変換を行うバッドエリア管理回路を、メモリモジュールは具備している。   That is, the semiconductor integrated circuit device includes an internal circuit and a memory module accessed by the internal circuit. The memory module has a plurality of memory circuits, and each memory circuit is multiplexed so as to store the same data at the same address. The memory module includes a write control circuit for supplying an internal write address signal when data is written to each memory circuit, and an internal read when data is read from each memory circuit. And a read control circuit for supplying an address signal. The read control circuit also includes a detection circuit that generates a failure possibility signal when there is a possibility of failure in at least one memory circuit. When the failure possibility signal is formed, each of the memory circuits is caused to execute writing of diagnostic data and reading of the diagnostic data, and different when the failure possibility signal is formed in response to the reading of the diagnostic data. The memory module includes a bad area management circuit that performs address conversion so that data is written to the address.

多重化された複数のメモリ回路のそれぞれから、データが読み出されたときに、検出回路が故障可能性信号を形成した場合、診断データの書き込みと読み出しが行われる。すなわち、故障可能性信号が形成されないときには、診断データの書き込みおよび読み出しが実行されない。そのため、診断データの書き込みおよび読み出しの回数が低減され、消費電力の増大を低減することが可能となる。また、診断データの読み出しにおいて、検出回路が故障可能性信号を形成した場合、メモリ回路内の異なるアドレスに対してデータの書き込みが行われる。これにより、メモリ回路に故障があった場合でも、救済することができ、半導体集積回路装置を継続して使用することが可能となる。   If the detection circuit forms a failure possibility signal when data is read from each of the multiplexed memory circuits, diagnostic data is written and read. That is, when the failure possibility signal is not formed, writing and reading of diagnostic data are not executed. Therefore, the number of times diagnostic data is written and read is reduced, and the increase in power consumption can be reduced. Further, when reading the diagnostic data, if the detection circuit generates a failure possibility signal, the data is written to different addresses in the memory circuit. As a result, even if there is a failure in the memory circuit, it can be remedied and the semiconductor integrated circuit device can be used continuously.

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

消費電力の増加を低減することが可能なメモリ回路を内蔵した半導体集積回路装置を提供することができる。   A semiconductor integrated circuit device incorporating a memory circuit capable of reducing an increase in power consumption can be provided.

本発明の一実施の形態に係わる半導体集積回路装置のメモリモジュールの構成を示すブロック図である。1 is a block diagram showing a configuration of a memory module of a semiconductor integrated circuit device according to an embodiment of the present invention. 本発明の一実施の形態に係わるメモリモジュールの書き込み動作を示すフロチャート図である。It is a flowchart figure which shows write-in operation | movement of the memory module concerning one embodiment of this invention. 本発明の一実施の形態に係わるメモリモジュールの読み出し動作を示すフロチャート図である。It is a flowchart which shows the read-out operation | movement of the memory module concerning one embodiment of this invention. 本発明の一実施の形態に係わるメモリモジュールの読み出し動作を示すフロチャート図である。It is a flowchart which shows the read-out operation | movement of the memory module concerning one embodiment of this invention. 本発明の一実施の形態に係わるメモリモジュールの診断動作を示すフロチャート図である。It is a flowchart which shows the diagnostic operation of the memory module concerning one embodiment of this invention. 本発明の一実施の形態に係わる読み出し制御回路の構成を示すブロック図である。It is a block diagram which shows the structure of the read-out control circuit concerning one embodiment of this invention. 本発明の一実施の形態に係わるバッドエリア管理回路の構成を示すブロック図である。It is a block diagram which shows the structure of the bad area management circuit concerning one embodiment of this invention. 本発明の一実施の形態に係わる半導体集積回路装置の構成を示すブロック図である。1 is a block diagram showing a configuration of a semiconductor integrated circuit device according to an embodiment of the present invention. 本発明の一実施の形態を説明するための説明図である。It is explanatory drawing for demonstrating one embodiment of this invention. 本発明の第2の実施の形態に係わる構成を示すブロック図である。It is a block diagram which shows the structure concerning the 2nd Embodiment of this invention. 本発明の第3の実施の形態に係わる動作を示すフロチャート図である。It is a flowchart figure which shows the operation | movement concerning the 3rd Embodiment of this invention. 本発明の第4の実施の形態に係わる構成を示すブロック図である。It is a block diagram which shows the structure concerning the 4th Embodiment of this invention. 本発明の第5の実施の形態に係わる構成を示すブロック図である。It is a block diagram which shows the structure concerning the 5th Embodiment of this invention.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部分には原則として同一の符号を付し、その繰り返しの説明は省略する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.

メモリ回路を含むメモリモジュールに関して、複数の実施の形態を以下に説明するが、各実施の形態を説明する前に、以下で説明するメモリモジュールを内蔵する半導体集積回路装置を、先ず説明する。   A plurality of embodiments will be described below with respect to a memory module including a memory circuit. Before describing each embodiment, a semiconductor integrated circuit device incorporating a memory module described below will be described first.

図7は、メモリモジュールを内蔵した半導体集積回路装置の構成を示すブロック図である。同図において、700は、複数のモジュールが1個の半導体チップに形成された半導体集積回路装置である。1個の半導体チップに形成されたモジュールとしては、後で各実施の形態で詳細に説明するメモリモジュール701、マイクロプロセッサ(以下、CPUと称する)703、その他モジュール(例えばタイマー等)702、I/Oモジュール705がある。各モジュールは、内部バス704に接続されており、この内部バス704を介して相互間でデータの転送が行われる。I/Oモジュール705は、内部バス704と半導体集積回路装置700の外部との間でデータ転送を行うインタフェース回路を含んでいる。CPU703は、図示されていないメモリに格納されたプログラムに従って動作する。プログラムに従って動作する際に、CPU703は、メモリモジュール701に対してアクセスを行い、アクセスによりデータの書き込みあるいはデータの読み出しを行う。特に制限されないが、CPU703は、メモリモジュール701に対してデータの読み出しあるいは書き込みのためのアクセスをする際に、メモリモジュール701に対してリクエスト信号706を発行する。   FIG. 7 is a block diagram showing a configuration of a semiconductor integrated circuit device incorporating a memory module. In the figure, reference numeral 700 denotes a semiconductor integrated circuit device in which a plurality of modules are formed on one semiconductor chip. As a module formed on one semiconductor chip, a memory module 701, a microprocessor (hereinafter referred to as a CPU) 703, a module (for example, a timer) 702, an I / O, which will be described in detail in each embodiment later. There is an O module 705. Each module is connected to an internal bus 704, and data is transferred between the modules via the internal bus 704. The I / O module 705 includes an interface circuit that transfers data between the internal bus 704 and the outside of the semiconductor integrated circuit device 700. The CPU 703 operates according to a program stored in a memory (not shown). When operating in accordance with the program, the CPU 703 accesses the memory module 701 and writes data or reads data by access. Although not particularly limited, the CPU 703 issues a request signal 706 to the memory module 701 when accessing the memory module 701 for reading or writing data.

リクエスト信号706は内部バス704を介してメモリモジュール701に供給される。メモリモジュール701は、リクエスト信号706を受けることにより、CPU703からのアクセス要求を知り、アクセス要求を受け付ける場合、すなわちCPU703によるデータの読み出し動作あるいは書き込み動作を許可する場合、アクノリッジ信号707を発行する。このアクノリッジ信号707は、内部バス704を介して、CPU703に伝えられる。CPU703は、アクノリッジ信号707を受けることにより、メモリモジュール701に対して読み出し動作あるいは書き込み動作を開始する。一方、メモリモジュール701からアクノリッジ信号707が供給されない場合、アクノリッジ信号707が供給されるまで、CPU703は、メモリモジュール701に対するアクセスを待機する。なお、リクエスト信号706とアクノリッジ信号707の信号経路は、内部バス704とは、別であっても良い。   The request signal 706 is supplied to the memory module 701 via the internal bus 704. The memory module 701 receives the request signal 706, knows the access request from the CPU 703, and issues an acknowledge signal 707 when accepting the access request, that is, when permitting the data read or write operation by the CPU 703. This acknowledge signal 707 is transmitted to the CPU 703 via the internal bus 704. Upon receiving the acknowledge signal 707, the CPU 703 starts a read operation or a write operation with respect to the memory module 701. On the other hand, when the acknowledge signal 707 is not supplied from the memory module 701, the CPU 703 waits for access to the memory module 701 until the acknowledge signal 707 is supplied. Note that the signal paths of the request signal 706 and the acknowledge signal 707 may be different from the internal bus 704.

(実施の形態1)
図1は、本発明の一実施の形態に係わる半導体集積回路装置700に内蔵されたメモリモジュール701(図7)の構成を示すブロック図である。メモリモジュール701は、メモリ部1、書き込み制御回路4、読み出し制御回路5、バッドエリア管理回路6および内部バスインタフェース回路(以下、内部バスIFと称する)7を具備している。メモリ部1は、特に制限されないが互いに同じ構成にされたメモリ回路2および3を含んでおり、それぞれのメモリ回路2、3は、メモリ部2b、3bとエラーチェック・コレクト回路(Error Check and Correct回路、以下ECC回路と称する)2a、3aを含んでいる。メモリ回路2および3のそれぞれのメモリ部2b、3bには、互いに同じデータが書き込まれ、メモリ回路に故障が発生していなければ、同じデータが読み出される。所謂二重化されたメモリ回路である。二重化することにより、メモリ回路の故障に対してデータの信頼性を向上させている。
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of a memory module 701 (FIG. 7) built in a semiconductor integrated circuit device 700 according to an embodiment of the present invention. The memory module 701 includes a memory unit 1, a write control circuit 4, a read control circuit 5, a bad area management circuit 6, and an internal bus interface circuit (hereinafter referred to as an internal bus IF) 7. The memory unit 1 includes memory circuits 2 and 3 which are not particularly limited but have the same configuration, and each of the memory circuits 2 and 3 includes the memory units 2b and 3b and an error check and correct circuit (Error Check and Correct circuit). Circuit, hereinafter referred to as ECC circuit) 2a and 3a. The same data is written in each of the memory sections 2b and 3b of the memory circuits 2 and 3, and the same data is read if no failure has occurred in the memory circuit. This is a so-called duplicated memory circuit. Duplexing improves data reliability against memory circuit failures.

メモリ回路2および3のそれぞれには、書き込み制御回路4から書き込まれるべきライトデータ10およびライト制御信号11が供給される。ライト制御信号11は、メモリ回路2および3のメモリ部2b、3bにおいて、書き込まれるべきアドレスを指定する内部書き込みアドレス信号と書き込み動作を指示するライトイネーブル信号を含んでいる。メモリ回路2および3には、同じライトデータ10とライト制御信号11が供給されるため、ライトイネーブル信号により書き込み動作が指示されると、互いに同じアドレス(メモリ部2b、3bのアドレス)に、同じライトデータ(以下、単にデータとも称する場合がある)が書き込まれる。また、ECC回路2aおよび3aのそれぞれは、書き込まれるべきデータ10を受け、データ10に従った誤り訂正用データを形成する。形成された誤り訂正用データは、ライト制御信号11に含まれている内部書き込みアドレス信号により指定されるアドレスに書き込まれる。すなわち、ライト制御信号11に含まれている内部書き込みアドレス信号により指定されるアドレス(メモリ部2b、3bのアドレス)には、書き込み動作により、書き込まれるべきデータ10と該データ10に従って形成された誤り訂正用データが格納される。   Each of the memory circuits 2 and 3 is supplied with write data 10 and a write control signal 11 to be written from the write control circuit 4. The write control signal 11 includes an internal write address signal designating an address to be written and a write enable signal designating a write operation in the memory units 2b and 3b of the memory circuits 2 and 3. Since the same write data 10 and write control signal 11 are supplied to the memory circuits 2 and 3, when the write operation is instructed by the write enable signal, the same address (address of the memory units 2b and 3b) is the same. Write data (hereinafter also simply referred to as data) is written. Each of the ECC circuits 2a and 3a receives the data 10 to be written, and forms error correction data according to the data 10. The formed error correction data is written at an address specified by the internal write address signal included in the write control signal 11. That is, at the address specified by the internal write address signal included in the write control signal 11 (addresses of the memory units 2b and 3b), the data 10 to be written and the error formed according to the data 10 are written by the write operation. Data for correction is stored.

メモリ回路2および3に格納されたデータ(データ10と誤り訂正用データ)は、読み出し制御回路5から、メモリ部1に供給されるリード制御信号13により、読み出される。リード制御信号13は、メモリ回路2および3に供給される内部読み出しアドレス信号と読み出し動作を指示するリードイネーブル信号を含んでいる。メモリ回路2および3のそれぞれは、リードイネーブル信号により読み出し動作が指示されると、内部読み出しアドレス信号により指定されたアドレス(メモリ部2b、3bのアドレス)からデータが出力される。出力されたデータの内、誤り訂正用データは、それぞれのメモリ回路に設けられたECC回路2aおよび3aに供給される。訂正用データに基づいて、ECC回路2a、3aのそれぞれは、出力されたデータの内、データ10に対応するデータに誤りが含まれているかのチェックを行い、誤りが含まれていないデータあるいは誤り訂正用データで訂正したデータをリードデータ12として読み出し制御回路5へ供給する。   Data (data 10 and error correction data) stored in the memory circuits 2 and 3 are read from the read control circuit 5 by a read control signal 13 supplied to the memory unit 1. The read control signal 13 includes an internal read address signal supplied to the memory circuits 2 and 3 and a read enable signal for instructing a read operation. Each of the memory circuits 2 and 3 outputs data from addresses (addresses of the memory units 2b and 3b) designated by the internal read address signal when the read operation is instructed by the read enable signal. Among the output data, error correction data is supplied to ECC circuits 2a and 3a provided in the respective memory circuits. Based on the correction data, each of the ECC circuits 2a and 3a checks whether the data corresponding to the data 10 in the output data includes an error, and the data or error that does not include the error. Data corrected by the correction data is supplied to the read control circuit 5 as read data 12.

特に制限されないが、本明細書において述べるECC回路は、データに1ビットの誤りが含まれていた場合には、その1ビットを訂正する機能を有し、2ビット以上の誤りが含まれていた場合には、訂正をすることができない。また、ECC回路2aおよび3aのそれぞれは、チェックにおいて、次の情報を形成する。すなわち、誤りがあった場合には、誤りがあったことを示す誤り情報、誤りが1ビットであり、訂正した場合は訂正したことを示す訂正情報、誤りが2ビット以上あり、訂正できない場合は訂正不可能であったことを示す訂正不可情報を形成して、出力する。特に制限されないが、もし、誤りがなければ、誤り情報、訂正情報、および訂正不可情報は形成されない。   Although not particularly limited, the ECC circuit described in this specification has a function of correcting one bit when the data includes one bit error, and includes an error of two bits or more. In some cases, it cannot be corrected. Each of the ECC circuits 2a and 3a forms the following information in the check. That is, if there is an error, error information indicating that there was an error, the error is 1 bit, if corrected, correction information indicating that the error has been corrected, if there is an error of 2 bits or more and correction is not possible Uncorrectable information indicating that correction was not possible is formed and output. Although there is no particular limitation, if there is no error, error information, correction information, and uncorrectable information are not formed.

ECC回路2aおよび3aのそれぞれからの誤り情報、訂正情報および訂正不可情報は、ECCエラー系情報14として、読み出し制御回路5に供給される。同図では1本の信号線として示されているが、ECCエラー系情報14は、ECC回路2aからのエラー系情報(誤り情報、訂正情報、訂正不可情報)とECC回路3aからのエラー系情報とを含んでいる。リードデータ12も、同様に1本の信号線で示しているが、メモリ回路2から出力されたデータとメモリ回路3から出力されたデータとを含んでいる。なお、情報は、信号線を介して送受されるので、情報は信号と読み替えることも可能である。   Error information, correction information, and uncorrectable information from each of the ECC circuits 2 a and 3 a are supplied to the read control circuit 5 as ECC error system information 14. Although shown as one signal line in the figure, the ECC error system information 14 is error system information (error information, correction information, uncorrectable information) from the ECC circuit 2a and error system information from the ECC circuit 3a. Including. Similarly, the read data 12 is indicated by one signal line, but includes data output from the memory circuit 2 and data output from the memory circuit 3. In addition, since information is transmitted / received via a signal line, information can be read as a signal.

この様に、書き込み動作においては、同じデータを2個のメモリ回路2および3に書き込み、読み出し動作においては、同じデータを2個のメモリ回路から読み出す様にして、メモリの二重化をしている。また、ECC回路を設けることにより、1ビットの誤りが含まれていた場合でも、正しいデータが出力できる様にしている。   In this manner, the same data is written to the two memory circuits 2 and 3 in the write operation, and the same data is read from the two memory circuits in the read operation, thereby duplicating the memory. Also, by providing an ECC circuit, correct data can be output even if a 1-bit error is included.

バッドエリア管理回路6は、その詳細を後で図面を用いて説明するので、ここでは概要を説明する。メモリ回路2および3のいずれかからエラー系情報が発行された場合、バッドエリア管理回路6は、メモリ回路2および3の診断を実行させる。診断を実行した結果、故障であると判断した場合、バッドエリア管理回路6は、その故障のアドレスの代替えとなるアドレスを形成し、代替えアドレスにデータ(書き込むべきデータとそれに基づいて形成された誤り訂正用データ)を書き込む様に管理する。また、診断の結果として故障と判断したアドレスに対して、その後、書き込みあるいは読み出しのアクセスが生じた場合、代替えのアドレスに対してアクセスが行われる様に、バッドエリア管理回路はアドレスの管理を実行する。特に制限されないが、バッドエリア管理回路6は、診断を実施している期間、アクセス元(図7の実施例ではCPU703)に対してアクセスを待機させる。   Since the details of the bad area management circuit 6 will be described later with reference to the drawings, the outline will be described here. When error system information is issued from either one of the memory circuits 2 and 3, the bad area management circuit 6 causes the memory circuits 2 and 3 to be diagnosed. If it is determined that a failure has occurred as a result of execution of the diagnosis, the bad area management circuit 6 forms an address as a substitute for the address of the failure, and data (data to be written and an error formed based on the data) It is managed to write correction data. In addition, when a write or read access occurs for an address that is determined to be a failure as a result of diagnosis, the bad area management circuit performs address management so that an alternative address is accessed. To do. Although not particularly limited, the bad area management circuit 6 causes the access source (the CPU 703 in the embodiment of FIG. 7) to wait for the access during the period of diagnosis.

読み出し制御回路5は、読み出し動作を実施するために、内部読み出しアドレス信号とリードイネーブル信号を、リード制御信号13としてメモリ部1に供給する。このリード制御信号13に応答して、メモリ回路2および3のそれぞれから、内部読み出しアドレス信号によって指定されたアドレス(メモリ部2b、3bのアドレス)に格納されていたデータが出力される。出力されたデータは、書き込まれたデータに対応するデータ(以下処理用データとも称する)と誤り訂正用データを含んでいる。出力された誤り訂正用データに基づいて、ECC回路2aおよび3aのそれぞれは、処理用データと誤り訂正用データに誤りが含まれているか否かをチェックする。メモリ部2bあるいは3bから出力されたデータ(処理用データと誤り訂正用データを含む)のいずれか一方に、1ビットの誤りが含まれていた場合、そのデータは、ECC回路により訂正され、訂正されたデータの内、処理用データは、読み出し制御回路5に供給される。   The read control circuit 5 supplies an internal read address signal and a read enable signal to the memory unit 1 as a read control signal 13 in order to perform a read operation. In response to the read control signal 13, the data stored in the addresses (addresses of the memory units 2b and 3b) designated by the internal read address signal are output from the memory circuits 2 and 3, respectively. The output data includes data corresponding to the written data (hereinafter also referred to as processing data) and error correction data. Based on the output error correction data, each of the ECC circuits 2a and 3a checks whether an error is included in the processing data and the error correction data. If any one of the data (including processing data and error correction data) output from the memory unit 2b or 3b contains a 1-bit error, the data is corrected and corrected by the ECC circuit. Among the data thus processed, the processing data is supplied to the read control circuit 5.

例えば、メモリ回路2内のメモリ部2bから出力されたデータは、ECC回路2aにより訂正され、訂正された処理用データが出力される。このとき、メモリ回路3内のメモリ部3bから出力されたデータに誤りが含まれていなければ、ECC回路3aによって訂正されず、処理用データとして出力される。この場合、リードデータ12は、メモリ回路2から出力された訂正された処理用データと、メモリ回路3から出力された訂正されていない処理用データを含んでいる。また、このとき、メモリ回路2内のECC回路2aからは、エラー系情報(誤りがあったことを示す誤り情報、訂正したことを示す訂正情報)が発行される。従って、この時のECCエラー系情報14は、メモリ回路2で発行されたエラー系情報を含んでいる。なお、このとき、メモリ回路3内のECC回路3aからもエラー系情報が発行され、ECCエラー系情報14に含まれる様にしても良い。この場合、ECC回路3aが発行するエラー系情報は、例えば誤りが発生していないことを示す誤り情報である。   For example, the data output from the memory unit 2b in the memory circuit 2 is corrected by the ECC circuit 2a, and the corrected processing data is output. At this time, if the data output from the memory unit 3b in the memory circuit 3 does not include an error, the data is not corrected by the ECC circuit 3a and is output as processing data. In this case, the read data 12 includes corrected processing data output from the memory circuit 2 and uncorrected processing data output from the memory circuit 3. At this time, error system information (error information indicating that there is an error, correction information indicating that the error has been corrected) is issued from the ECC circuit 2a in the memory circuit 2. Accordingly, the ECC error system information 14 at this time includes error system information issued by the memory circuit 2. At this time, error system information may also be issued from the ECC circuit 3 a in the memory circuit 3 and included in the ECC error system information 14. In this case, the error system information issued by the ECC circuit 3a is error information indicating that no error has occurred, for example.

また、ECC回路2aおよび3aのそれぞれで誤りが検出された場合には、誤りの発生、訂正の有無あるいは訂正不可を示すエラー系情報が発行され、ECCエラー系情報14として読み出し制御回路5に供給される。ECC回路2a、3aの両方で誤りが検出されなかった場合には、ECC回路2a、3aのそれぞれは、エラー系情報を発行しない。あるいは、誤りが発生していないことを示すエラー系情報を発行し、これがECCエラー系情報14として読み出し制御回路5に供給される。   Further, when an error is detected in each of the ECC circuits 2a and 3a, error system information indicating the occurrence of an error, the presence / absence of correction, or an uncorrectable error is issued and supplied to the read control circuit 5 as ECC error system information 14 Is done. If no error is detected in both of the ECC circuits 2a and 3a, each of the ECC circuits 2a and 3a does not issue error system information. Alternatively, error system information indicating that no error has occurred is issued and supplied to the read control circuit 5 as ECC error system information 14.

読み出し制御回路5は、誤りが発生していることを示す誤り情報と、訂正を実施したことを示す訂正情報あるいは訂正不可を示す訂正不可情報とを含むECCエラー系情報14を受けると、このECCエラー系情報14と訂正の必要がなかった処理用データ(上記の説明では、メモリ回路3から出力された処理用データ)を、リードECCエラー系情報15として、バッドエリア管理回路6に供給する。また、この時の内部読み出しアドレス信号を読み出しアドレス値20として、読み出し制御回路5は、バッドエリア管理回路6に供給する。バッドエリア管理回路6は、このリードECCエラー系情報15を受けると、診断データライト要求16を書き込み制御回路4に供給する。この診断データライト要求16は、供給されたリードECCエラー系情報15に含まれていた訂正の必要がなかった処理用データと、ライトイネーブル信号と、読み出しアドレス値20を含んでいる。書き込み制御回路4は、診断データライト要求16を受けると、リードECCエラー系情報15に含まれていた訂正の必要がなかった処理用データを、ライトデータ10としてメモリ部1に供給する。また、書き込み制御回路4は、読み出しアドレス値20を内部書き込み用アドレス信号としたライト制御信号11をメモリ部1に供給する。このとき、書き込み制御回路4は、ライトイネーブル信号もライト制御信号11として供給する。   When the read control circuit 5 receives the ECC error system information 14 including error information indicating that an error has occurred and correction information indicating that correction has been performed or uncorrectable information indicating that correction is not possible, the ECC The error system information 14 and the processing data that does not need to be corrected (in the above description, the processing data output from the memory circuit 3) are supplied to the bad area management circuit 6 as read ECC error system information 15. Further, the read control circuit 5 supplies the internal read address signal at this time as a read address value 20 to the bad area management circuit 6. When receiving the read ECC error system information 15, the bad area management circuit 6 supplies a diagnostic data write request 16 to the write control circuit 4. The diagnostic data write request 16 includes processing data that is included in the supplied read ECC error system information 15 that does not require correction, a write enable signal, and a read address value 20. When the write control circuit 4 receives the diagnostic data write request 16, the write control circuit 4 supplies processing data included in the read ECC error system information 15 that does not need to be corrected to the memory unit 1 as write data 10. The write control circuit 4 supplies the memory unit 1 with a write control signal 11 having the read address value 20 as an internal write address signal. At this time, the write control circuit 4 also supplies a write enable signal as the write control signal 11.

これにより、読み出しアドレス値20を内部書き込みアドレス信号として、メモリ回路2、3内のメモリ部2b、3bのそれぞれにおいて、それぞれ指定されたアドレスに、リードECCエラー系情報15に含まれていた訂正の必要がなかった処理用データが書き込まれる。すなわち、ECC回路により訂正を行ったデータが格納されていた、メモリ回路2および/あるいは3のそれぞれのアドレスに、訂正の必要がなかった処理用データが再度書き込まれる。このとき、処理用データに基づいて、それぞれのECC回路2aおよび3aでは、誤り訂正用データが生成される。生成された誤り訂正用データも、読み出しアドレス値20により指定されたアドレスに書き込まれる。すなわち、訂正を必要としなかった処理用データとそれに対応した誤り訂正用データの両方が、メモリ回路2および3のそれぞれにおいて読み出しアドレス値20により指定されたアドレスに再度書き込まれる。   As a result, the read address value 20 is used as an internal write address signal, and each of the memory units 2b and 3b in the memory circuits 2 and 3 has a correction address included in the read ECC error system information 15 at a specified address. Data for processing that was not necessary is written. In other words, the processing data that does not need to be corrected is written again to the respective addresses of the memory circuits 2 and / or 3 in which the data corrected by the ECC circuit has been stored. At this time, error correction data is generated in each of the ECC circuits 2a and 3a based on the processing data. The generated error correction data is also written at the address specified by the read address value 20. That is, both the processing data that did not require correction and the error correction data corresponding to the processing data are rewritten at the address specified by the read address value 20 in each of the memory circuits 2 and 3.

バッドエリア管理回路6は、上記した再度書き込みの後、診断結果リード要求17を読み出し制御回路5に供給する。診断結果リード要求17は、読み出しアドレス値20として通知されたアドレス信号とリードイネーブル信号とを含んでいる。   The bad area management circuit 6 supplies the diagnostic result read request 17 to the read control circuit 5 after the above-described rewriting. The diagnosis result read request 17 includes an address signal notified as a read address value 20 and a read enable signal.

読み出し制御回路5は、診断結果リード要求17を受けると、それに含まれているアドレス信号を内部読み出しアドレス信号としてメモリ部1に供給する。また、リードイネーブル信号をメモリ部1に供給する。これにより、メモリ回路2および3のそれぞれにおいて、読み出しアドレス値20に対応するアドレス信号により特定されるアドレスに格納されている処理用データと誤り訂正用データが読み出される。読み出された誤り訂正用データに基づいて処理用データおよび誤り訂正用データに誤りがないか否かのチェックが、各ECC回路2aおよび3aにおいて実施される。チェックの結果として、誤りがあり、誤りを示す誤り情報と、訂正情報あるいは訂正不可情報がECC回路2aまたは3aから読み出し制御回路5に、ECCエラー系情報14として供給された場合、読み出し制御回路5は、誤りを示す誤り情報と、訂正情報あるいは訂正不可情報をリードECCエラー系情報15としてバッドエリア管理回路6に伝える。   When receiving the diagnostic result read request 17, the read control circuit 5 supplies the memory unit 1 with the address signal included therein as an internal read address signal. Further, a read enable signal is supplied to the memory unit 1. Thereby, in each of the memory circuits 2 and 3, the processing data and the error correction data stored at the address specified by the address signal corresponding to the read address value 20 are read. Based on the read error correction data, whether or not there is an error in the processing data and the error correction data is checked in each of the ECC circuits 2a and 3a. As a result of the check, if there is an error and error information indicating the error and correction information or uncorrectable information are supplied from the ECC circuit 2a or 3a to the read control circuit 5 as the ECC error system information 14, the read control circuit 5 Transmits error information indicating an error and correction information or uncorrectable information to the bad area management circuit 6 as read ECC error system information 15.

バッドエリア管理回路6は、診断結果リード要求17を発行した後、リードECCエラー系情報15が供給されると、メモリ回路2、3内のメモリ部2b、3bのそれぞれに予め設定してある予備のメモリエリアの特定アドレスを指定するアドレス信号を形成する。この形成されたアドレス信号と、ライトイネーブル信号と、訂正の必要なしとして先に供給されていた処理用データとを含む診断データライト要求16が、書き込み制御回路4に供給される。書き込み制御回路4は、この診断データライト要求16を受けると、それに含まれているアドレス信号を内部書き込み用アドレス信号として、訂正の必要なしとして先に供給されていた処理用データを書き込み用のデータとして、メモリ部1に供給する。これにより、メモリ回路2および3のそれぞれにおいて、予備エリア内のアドレスに、訂正の必要なしとして先に供給されていた処理用データが書き込まれる。   When the read ECC error system information 15 is supplied after issuing the diagnosis result read request 17, the bad area management circuit 6 reserves preset in the memory units 2b and 3b in the memory circuits 2 and 3, respectively. An address signal for designating a specific address of the memory area is formed. A diagnostic data write request 16 including the address signal thus formed, the write enable signal, and the processing data that was previously supplied as no correction is required is supplied to the write control circuit 4. Upon receipt of this diagnostic data write request 16, the write control circuit 4 uses the address signal contained therein as an internal write address signal, and writes the processing data that has been supplied previously without the need for correction. Is supplied to the memory unit 1. As a result, in each of the memory circuits 2 and 3, the processing data that has been supplied previously is written at the address in the spare area as no correction is required.

また、この書き込みの際には、誤り訂正用データも、ECC回路2aおよび3aのそれぞれにおいて形成され、予備エリア内のアドレスに書き込まれる。このようにして、診断結果リード要求17に応答して、誤りを示す誤り情報と、訂正情報あるいは訂正不可情報が発行された場合には、メモリ回路2および3のそれぞれに予め設けられていた予備のエリアにデータが格納される。   At the time of writing, error correction data is also formed in each of the ECC circuits 2a and 3a and is written to an address in the spare area. In this way, when error information indicating an error and correction information or non-correctable information are issued in response to the diagnosis result read request 17, spare circuits provided in advance in the memory circuits 2 and 3, respectively. Data is stored in this area.

バッドエリア管理回路6は、予備のメモリエリア内のアドレスを示すアドレス信号を形成した際、この形成したアドレス信号と読み出しアドレス値20として供給されたアドレス信号とを、1対として登録するレジスタを有している。すなわち、変換前のアドレス信号と変換後のアドレス信号とを1対として登録するレジスタを有している。   When the bad area management circuit 6 forms an address signal indicating an address in the spare memory area, the bad area management circuit 6 has a register for registering the formed address signal and the address signal supplied as the read address value 20 as a pair. doing. That is, it has a register for registering the address signal before conversion and the address signal after conversion as a pair.

CPU703からメモリモジュール701へのアクセスは、内部バスIF7を介して行われる。例えば、CPU703からメモリモジュール701へ書き込みのアクセスをする場合、CPU703からメモリモジュール701へ供給される外部書き込みアドレス信号と、書き込まれるべきデータと、ライトイネーブル信号は、内部バス704を介して、内部バスIF7に供給され、内部バスIF7からライト要求23として書き込み制御回路4に供給される。すなわち、ライト要求23は、外部書き込みアドレス信号と、ライトイネーブル信号と、書き込まれるべきデータとを含んでいる。書き込み制御回路4は、供給された外部書き込みアドレス信号を書き込みアドレス値18として、バッドエリア管理回路6に供給する。バッドエリア管理回路6は、書き込みアドレス値18として供給された外部書き込みアドレス信号が、前記レジスタに登録されているか否かの確認を行う。すなわち、書き込みアドレス値18として供給された外部書き込みアドレス信号が、アドレス信号を変換する前のアドレス信号として登録されているアドレス信号と一致するか否かの確認が実行される。   Access from the CPU 703 to the memory module 701 is performed via the internal bus IF7. For example, when a write access is made from the CPU 703 to the memory module 701, an external write address signal, data to be written, and a write enable signal supplied from the CPU 703 to the memory module 701 are transmitted via the internal bus 704 to the internal bus. It is supplied to the IF 7 and supplied from the internal bus IF 7 to the write control circuit 4 as a write request 23. That is, the write request 23 includes an external write address signal, a write enable signal, and data to be written. The write control circuit 4 supplies the supplied external write address signal as the write address value 18 to the bad area management circuit 6. The bad area management circuit 6 checks whether or not the external write address signal supplied as the write address value 18 is registered in the register. That is, it is confirmed whether or not the external write address signal supplied as the write address value 18 matches the address signal registered as the address signal before the address signal is converted.

一致した場合、一致したことを示す一致信号と、一致した変換前のアドレス信号と対を構成している変換後のアドレス信号を、書き込みアドレス変換要求19として出力する。これにより、メモリ回路2および3において、故障しているアドレスではなく、メモリ回路2および3の予備のエリアにおけるアドレスに、データとECC回路により形成された誤り訂正データが書き込まれる。この場合、ライトイネーブル信号は、バッドエリア管理回路6により形成され、書き込みアドレス変換要求19の一部として供給されるようすることができる。また、書き込み制御回路4は、データセレクタを有しており、書き込まれるべきデータは、診断データライト要求16が発行されたときのみ、上記データセレクタがバッドエリア管理回路6からのデータを選択して、メモリ部1に供給する様にされている。従って、CPU703による書き込みのアクセスにおいては、上記データセレクタは、ライト要求23に含まれているデータをメモリ部1に供給する。   If they match, a match signal indicating a match and a post-conversion address signal that forms a pair with the pre-conversion address signal that matches are output as a write address conversion request 19. As a result, in the memory circuits 2 and 3, the error correction data formed by the data and the ECC circuit is written not at the failed address but at the address in the spare area of the memory circuits 2 and 3. In this case, the write enable signal is formed by the bad area management circuit 6 and can be supplied as a part of the write address conversion request 19. The write control circuit 4 has a data selector. The data to be written is selected only when the diagnostic data write request 16 is issued, and the data selector selects the data from the bad area management circuit 6. The data is supplied to the memory unit 1. Therefore, in the write access by the CPU 703, the data selector supplies the data included in the write request 23 to the memory unit 1.

一方、書き込みアドレス値18として供給された外部書き込み用アドレス信号が、アドレス信号を変換する前のアドレス信号として登録されているアドレス信号と一致しなかった場合、一致信号が書き込み制御回路4に供給されないため、書き込み制御回路4は、ライト要求23に含まれている外部書き込み用アドレス信号をメモリ部1に供給する。これにより、外部書き込み用アドレス信号によって指定されるアドレスにデータの書き込みが行われる。   On the other hand, if the external write address signal supplied as the write address value 18 does not match the address signal registered as the address signal before converting the address signal, the match signal is not supplied to the write control circuit 4. Therefore, the write control circuit 4 supplies the memory unit 1 with the external write address signal included in the write request 23. As a result, data is written to the address specified by the external write address signal.

CPU703によるメモリモジュール701へのアクセスが、読み出しの場合を次に説明する。CPU703により出力された外部読み出しアドレス信号と、リードイネーブル信号は、内部バス704を介して内部バスIF7に供給される。内部バスIF7は、供給された外部読み出しアドレス信号とリードイネーブル信号をリード要求24として、読み出し制御回路5に供給する。読み出し制御回路5は、供給された外部読み出し用アドレス信号を読み出しアドレス値20として、バッドエリア管理回路6に供給する。   Next, a case where the access to the memory module 701 by the CPU 703 is reading will be described. The external read address signal and the read enable signal output by the CPU 703 are supplied to the internal bus IF 7 via the internal bus 704. The internal bus IF 7 supplies the supplied external read address signal and read enable signal as a read request 24 to the read control circuit 5. The read control circuit 5 supplies the supplied external read address signal as a read address value 20 to the bad area management circuit 6.

バッドエリア管理回路6は、供給された読み出しアドレス値20と、上記したレジスタに登録されているアドレスの変換前のアドレス信号と比較を行う。一致した場合、一致した変換前のアドレス信号と対を構成している変換後のアドレス信号をレジスタから読み出して、バッドエリア管理回路6は、読み出しアドレス変換要求21として読み出し制御回路5に供給する。このとき、一致したことを示す一致信号も読み出しアドレス変換要求21の一部としてバッドエリア管理回路6から読み出し制御回路5へ供給される。読み出し制御回路5は、供給された読み出しアドレス変換要求21に含まれているアドレス信号(この場合には、変換後のアドレス信号)をメモリ部1に供給して、メモリ回路2、3内のメモリ部2b、3bから処理用データおよび誤り訂正用データの読み出しを行う。この場合、リードイネーブル信号は、バッドエリア管理回路6から読み出しアドレス変換要求21とともに、読み出し制御回路5に供給しても良いし、リード要求24に含まれているリードイネーブル信号を用いても良い。   The bad area management circuit 6 compares the supplied read address value 20 with the address signal before conversion of the address registered in the register. If they match, the address signal after conversion that forms a pair with the address signal before conversion that matches is read from the register, and the bad area management circuit 6 supplies the read address conversion request 21 to the read control circuit 5. At this time, a coincidence signal indicating coincidence is also supplied from the bad area management circuit 6 to the read control circuit 5 as part of the read address conversion request 21. The read control circuit 5 supplies the memory unit 1 with the address signal (in this case, the converted address signal) included in the supplied read address conversion request 21, and the memory in the memory circuits 2 and 3. The processing data and error correction data are read from the units 2b and 3b. In this case, the read enable signal may be supplied from the bad area management circuit 6 to the read control circuit 5 together with the read address conversion request 21, or the read enable signal included in the read request 24 may be used.

供給された読み出しアドレス値20と、バッドエリア管理回路6内の上記したレジスタに登録されているアドレスの変換前のアドレス信号とが一致しなかった場合、すなわち、不一致の場合、バッドエリア管理回路6からは、一致信号が読み出し制御回路5に供給されない。読み出し制御回路5は、一致信号が供給されないため、リード要求24に含まれている外部読み出し用アドレス信号とリードイネーブル信号をリード制御信号13として、メモリ部1に供給する。これにより、メモリ回路2、3内のメモリ部2b、3bのそれぞれから、処理用データと誤り訂正用データが出力される。読み出し制御回路5も、データセレクタを有しており、診断結果リード要求17が発行されていないときのみ、メモリ回路2および3からの処理用データがリードデータ25として内部バスIF7に供給するようにされている。特に制限されないが、診断結果リード要求17が発行された場合は、メモリ回路2および3から出力された処理用データは、内部バスIF7に供給されない。   When the supplied read address value 20 and the address signal before conversion of the address registered in the register in the bad area management circuit 6 do not match, that is, when they do not match, the bad area management circuit 6 The coincidence signal is not supplied to the read control circuit 5. Since the coincidence signal is not supplied, the read control circuit 5 supplies the external read address signal and the read enable signal included in the read request 24 as the read control signal 13 to the memory unit 1. As a result, processing data and error correction data are output from the memory units 2b and 3b in the memory circuits 2 and 3, respectively. The read control circuit 5 also has a data selector so that processing data from the memory circuits 2 and 3 is supplied as read data 25 to the internal bus IF 7 only when the diagnosis result read request 17 is not issued. Has been. Although not particularly limited, when the diagnosis result read request 17 is issued, the processing data output from the memory circuits 2 and 3 is not supplied to the internal bus IF7.

CPU703からの読み出しアクセスにおいて、誤り訂正用データに基づいたデータの訂正が発生した場合には、前述したように、訂正情報が発生し、前述したような診断動作が実行される。診断動作を実施している期間においては、バッドエリア管理回路6は、CPU703によるメモリモジュール701へのアクセスを待機させるために、診断中を示すビジー信号22を形成して、内部バスIF7に供給する。図1においては、リクエスト信号とアクノリッジ信号が示されていないが、上記したCPU703からメモリモジュール701へのアクセスは、リクエスト信号をCPU703が発行し、メモリモジュール701はアクノリッジ信号を発行した状態で行われる。一方、内部バスIF7は、ビジー信号22を受けると、アクノリッジ信号の発行を停止する。これにより、メモリモジュール701の診断中にアクセスされるのが防止される。すなわち、CPU703によるメモリモジュール701へのアクセスを制限される制限信号(ビジー信号22)が形成される。なお、図面においては、ビジー信号22をBUSY信号22と記載している場合もある。   In the read access from the CPU 703, when correction of data based on the error correction data occurs, correction information is generated as described above, and the diagnosis operation as described above is executed. During the period in which the diagnosis operation is being performed, the bad area management circuit 6 forms a busy signal 22 indicating that the diagnosis is being performed and supplies it to the internal bus IF 7 in order to wait for the CPU 703 to access the memory module 701. . In FIG. 1, the request signal and the acknowledge signal are not shown. However, the access from the CPU 703 to the memory module 701 is performed in a state where the CPU 703 issues the request signal and the memory module 701 issues the acknowledge signal. . On the other hand, when the internal bus IF7 receives the busy signal 22, it stops issuing an acknowledge signal. This prevents access during the diagnosis of the memory module 701. That is, a restriction signal (busy signal 22) for restricting access to the memory module 701 by the CPU 703 is formed. In the drawing, the busy signal 22 may be referred to as a BUSY signal 22 in some cases.

バッドエリア管理回路6は、同図には示されていないが複数のレジスタを有しており、これらのレジスタをアクセスするための経路が、26で示されている。また、メモリモジュール701の故障等を、CPU703に通知するために、本実施の形態では、割り込み制御を用いており、その信号がバッドエリア管理回路6から割り込み通知用信号27として示されている。割り込み通知用信号27は、内部バス704を介さずに、CPU703へ供給するため、内部バスIF7には供給されていない。   The bad area management circuit 6 has a plurality of registers (not shown in the figure), and a path for accessing these registers is indicated by 26. In this embodiment, interrupt control is used to notify the CPU 703 of a failure or the like of the memory module 701, and the signal is shown as an interrupt notification signal 27 from the bad area management circuit 6. Since the interrupt notification signal 27 is supplied to the CPU 703 without going through the internal bus 704, it is not supplied to the internal bus IF7.

本実施の形態では、ECC回路2aおよび3aにより、1ビットの誤りを訂正しても、診断動作を実行する様にしている。この様にすることにより、ソフトエラーによる故障であれば、診断動作で故障と判断される可能性が低くなり、予備のメモリエリアを用いずに、継続してメモリ回路2、3の正規領域を使うことができる。一方、ハード的な故障であれば、診断動作において、誤りを示す情報、訂正情報あるいは訂正不可情報が発生するため、予備のメモリエリアを用いる様にできる。ハード的な故障に対して予備のメモリエリアを用いるようにすることにより、ハード的なエラーとソフトエラーとが重なって、ECC回路の訂正能力を超えるようなエラーが発生するのを低減することが可能となる。また、常時診断動作を行うのではなく、ECC回路により、誤りを示す誤り情報、訂正情報、訂正不可情報が形成された場合に、診断動作が行われるため、診断回数を低減することが可能となり、消費電力の増大を低減することが可能となる。   In the present embodiment, the ECC circuits 2a and 3a execute the diagnosis operation even if a 1-bit error is corrected. In this way, if a failure is caused by a soft error, the possibility of being diagnosed as a failure by the diagnostic operation is reduced. Can be used. On the other hand, in the case of a hardware failure, information indicating an error, correction information, or uncorrectable information is generated in the diagnosis operation, so that a spare memory area can be used. By using a spare memory area for a hardware failure, it is possible to reduce the occurrence of errors that exceed the correction capability of the ECC circuit due to overlapping of hardware errors and soft errors. It becomes possible. In addition, the diagnosis operation is performed when error information, correction information, and uncorrectable information indicating an error are formed by the ECC circuit instead of performing the diagnosis operation at all times, so the number of diagnosis can be reduced. As a result, an increase in power consumption can be reduced.

上述では、診断データおよび予備エリア内のアドレスに書き込まれるデータとして、訂正の必要なしとして先に供給されていた処理用データを用いることを述べた。しかしながら、診断データおよび予備エリア内のアドレスに書き込まれるデータは、訂正されて、正しいデータとなったものでも良い。従って、この実施の形態においては、診断データおよび予備エリアに書き込まれるデータは、訂正の必要なしとして先に供給されていた処理用データだけでなく、後で図3Aおよび図3Bを用いて説明する「正しく読み出されたデータ」であれば良い。   In the above description, it has been described that the diagnostic data and the data to be written to the address in the spare area use the processing data that has been supplied previously without the need for correction. However, the diagnostic data and the data written to the address in the spare area may be corrected to become correct data. Therefore, in this embodiment, the diagnosis data and the data written in the spare area will be described later with reference to FIGS. 3A and 3B, as well as the processing data that has been supplied previously as no correction is required. Any “correctly read data” may be used.

次に、図1に示したメモリモジュールの動作を、フロチャート図を用いながら説明する。図2は、図1に示したメモリモジュール701における書き込み動作を示すフロチャート図である。図3Aおよび図3Bのそれぞれは、メモリモジュール701における読み出し動作を示すフロチャート図である。図4は、メモリモジュール701における診断動作を示すフロチャート図である。   Next, the operation of the memory module shown in FIG. 1 will be described with reference to a flowchart. FIG. 2 is a flowchart showing a write operation in the memory module 701 shown in FIG. Each of FIG. 3A and FIG. 3B is a flowchart showing a read operation in the memory module 701. FIG. 4 is a flowchart showing a diagnostic operation in the memory module 701.

図2は、図7に示したCPU703からメモリモジュール701にデータの書き込み指示(命令)があった場合のフロチャート図である。図2において、一点破線よりも上側が、CPU703による動作を示しており、一点破線の下側がメモリモジュール701の動作を示している。CPU703は、メモリモジュール701にデータを書き込むために、リクエスト信号706を内部バスIF7に供給し、アクセスする(ステップS200)。内部バスIF7は、ステップS201において、メモリ部1が診断中か否かをバッドエリア管理回路6から供給されているビジー信号22により判断する。メモリ部1が診断中であれば、バッドエリア管理回路6からビジー信号22が供給されているため、内部バスIF7は、アクノリッジ信号707の発生を待機させる(ステップS202)。これにより、CPU703は、アクノリッジ信号707が発行されるまで、メモリモジュール701へのアクセスを待機する。   FIG. 2 is a flowchart showing a data write instruction (command) from the CPU 703 shown in FIG. 7 to the memory module 701. In FIG. 2, the upper side of the dashed line indicates the operation by the CPU 703, and the lower side of the dashed line indicates the operation of the memory module 701. In order to write data to the memory module 701, the CPU 703 supplies the request signal 706 to the internal bus IF7 and accesses it (step S200). In step S201, the internal bus IF 7 determines whether or not the memory unit 1 is being diagnosed based on the busy signal 22 supplied from the bad area management circuit 6. If the memory unit 1 is under diagnosis, since the busy signal 22 is supplied from the bad area management circuit 6, the internal bus IF7 waits for the generation of the acknowledge signal 707 (step S202). Thus, the CPU 703 waits for access to the memory module 701 until the acknowledge signal 707 is issued.

ビジー信号22が、バッドエリア管理回路6で形成されていない場合、内部バスIF7は、ステップS203でアクノリッジ信号707を形成して、CPU703へメモリモジュール701の使用許可を知らせる。これに応答して、CPU703から、外部書き込みアドレス信号と書き込まれるべきデータがメモリモジュール701に供給される。供給されたデータおよび外部書き込みアドレス信号は、内部バスIF7から書き込み制御回路4に対して、ライト要求23として供給される(ステップS204)。書き込み制御回路4は、供給された外部書き込みアドレス信号を書き込みアドレス値18としてバッドエリア管理回路6に供給する(ステップS205)。   If the busy signal 22 is not formed by the bad area management circuit 6, the internal bus IF 7 forms an acknowledge signal 707 in step S 203 to notify the CPU 703 of permission to use the memory module 701. In response to this, an external write address signal and data to be written are supplied from the CPU 703 to the memory module 701. The supplied data and external write address signal are supplied from the internal bus IF 7 to the write control circuit 4 as a write request 23 (step S204). The write control circuit 4 supplies the supplied external write address signal as the write address value 18 to the bad area management circuit 6 (step S205).

バッドエリア管理回路6は、ステップS206において、供給された書き込みアドレス値18が、バッドエリア管理回路6に登録されているか否かの判断を行う。後で、図6を用いてバッドエリア管理回路6の構成を説明するが、バッドエリア管理回路6は、バッドエリア情報登録レジスタ601を有しており、バッドエリア情報登録レジスタ601に、書き込みアドレス値18に該当するアドレス信号が既に登録されているか否かの判断が行われる。バッドエリア管理回路6に、書き込みアドレス値18に該当するアドレス信号が登録されている場合、ステップS207において、バッドエリア管理回路6から書き込み制御回路4へアドレス信号が供給され、このアドレス信号が書き込み制御回路4に内部書き込みアドレス信号として設定される。一方、バッドエリア管理回路6に、書き込みアドレス値18が登録されていない場合には、ライト要求23として供給された外部書き込みアドレス信号が内部書き込みアドレス信号として書き込み制御回路4に供給され、書き込み制御回路4に設定される。   In step S206, the bad area management circuit 6 determines whether or not the supplied write address value 18 is registered in the bad area management circuit 6. The configuration of the bad area management circuit 6 will be described later with reference to FIG. 6. The bad area management circuit 6 has a bad area information registration register 601, and a write address value is stored in the bad area information registration register 601. It is determined whether an address signal corresponding to 18 has already been registered. If an address signal corresponding to the write address value 18 is registered in the bad area management circuit 6, an address signal is supplied from the bad area management circuit 6 to the write control circuit 4 in step S207, and this address signal is written control. It is set in the circuit 4 as an internal write address signal. On the other hand, when the write address value 18 is not registered in the bad area management circuit 6, the external write address signal supplied as the write request 23 is supplied to the write control circuit 4 as the internal write address signal, and the write control circuit 4 4 is set.

書き込み制御回路4は、設定された内部書き込みアドレス信号と、書き込まれるべきデータと、書き込み制御信号(ライトイネーブル信号)を、ステップS209において、メモリ部1に供給する。供給された内部書き込みアドレス信号によって指定されたメモリ回路2、3のそれぞれのアドレスに、データが書き込まれる(ステップS210)。このステップS210においては、ECC回路2aおよび3aにより、書き込まれるべきデータ(書き込み用データ)から誤り訂正用データも形成され、書き込み用データとともに、同じアドレスに書き込まれる。すなわち、メモリ回路2、3内のメモリ部2b、3bのそれぞれにおいて、同じアドレスに同じデータが書き込まれる。   The write control circuit 4 supplies the set internal write address signal, data to be written, and a write control signal (write enable signal) to the memory unit 1 in step S209. Data is written to the respective addresses of the memory circuits 2 and 3 designated by the supplied internal write address signal (step S210). In this step S210, the ECC circuits 2a and 3a also form error correction data from the data to be written (write data) and write it to the same address together with the write data. That is, the same data is written to the same address in each of the memory units 2 b and 3 b in the memory circuits 2 and 3.

次に、メモリモジュール701における読み出し動作を図3Aおよび図3Bのフロチャート図に基づいて説明する。読み出し動作は、以下に述べるステップS300からS321によって実行される。これらのステップの内、ステップS300からS309までが、図3Aに示されており、ステップS310からS321までが、図3Bに示されている。図3AのステップS309の後に、図3Bのステップ310が実行される。   Next, a read operation in the memory module 701 will be described based on the flowcharts of FIGS. 3A and 3B. The read operation is executed by steps S300 to S321 described below. Of these steps, steps S300 to S309 are shown in FIG. 3A, and steps S310 to S321 are shown in FIG. 3B. After step S309 in FIG. 3A, step 310 in FIG. 3B is executed.

図3Aにおいても、一点破線より上側は、CPU703による動作を示し、下側は、メモリモジュール701の動作を示している。図3Aにおいて、ステップS300からS303までは、図2に示したステップS200からS203までと類似している。すなわち、ステップS200からS203までは、CPU703による書き込み指示を示しているが、ステップS300からS303までは、CPU703による読み出し指示を示している。図3Aでは、読み出し動作が指示されているため、CPU703からは外部書き込みアドレス信号ではなく、外部読み出しアドレス信号が外部バスIF7に供給される。ステップS303までは、図2と類似しているので、その説明は省略する。   Also in FIG. 3A, the upper side from the one-dot broken line shows the operation by the CPU 703, and the lower side shows the operation of the memory module 701. In FIG. 3A, steps S300 to S303 are similar to steps S200 to S203 shown in FIG. That is, steps S200 to S203 indicate a write instruction by the CPU 703, but steps S300 to S303 indicate a read instruction by the CPU 703. In FIG. 3A, since the read operation is instructed, the external read address signal is supplied from the CPU 703 to the external bus IF7 instead of the external write address signal. The process up to step S303 is similar to that shown in FIG.

ステップS304において、内部バスIF7から読み出し制御回路5に、外部読み出しアドレス信号を含むリード要求24が供給される。読み出し制御回路5は、外部読み出しアドレス信号を読み出しアドレス値20として、バッドエリア管理回路6に供給する(ステップS305)。   In step S304, the read request 24 including the external read address signal is supplied from the internal bus IF7 to the read control circuit 5. The read control circuit 5 supplies the external read address signal as the read address value 20 to the bad area management circuit 6 (step S305).

バッドエリア管理回路6は、バッドエリア情報登録レジスタ601(後述する)を有しており、供給された読み出しアドレス値20に該当するアドレス信号がバッドエリア情報登録レジスタに登録されているか否かの判断を行う。該当するアドレス信号が、登録されていた場合、次にステップS307が実行される。ステップS307においては、バッドエリア管理回路6からアドレス信号が、読み出しアドレス変換要求21として出力され、読み出し制御回路5に設定される。一方、該当するアドレス信号が、バッドエリア管理回路6に登録されていない場合には、内部バスIF7からリード要求24として供給された外部読み出しアドレス信号が、ステップS308において、読み出し制御回路5に設定される。   The bad area management circuit 6 has a bad area information registration register 601 (described later), and determines whether or not an address signal corresponding to the supplied read address value 20 is registered in the bad area information registration register. I do. If the corresponding address signal is registered, step S307 is executed next. In step S 307, an address signal is output from the bad area management circuit 6 as a read address conversion request 21 and set in the read control circuit 5. On the other hand, if the corresponding address signal is not registered in the bad area management circuit 6, the external read address signal supplied as the read request 24 from the internal bus IF 7 is set in the read control circuit 5 in step S308. The

次に、読み出し制御回路5は、ステップS307あるいはS308で設定された読み出しアドレス信号と読み出し制御信号(リードイネーブル信号)をメモリ部1に供給する(ステップS309)。これにより、ステップS310において、メモリ部1内のメモリ回路2、3内のメモリ部2b、3bのそれぞれからデータが読み出される。ここで読み出されたデータは、書き込み動作において、同一のアドレスに書き込まれた処理用データと、書き込み用データに基づいて形成された誤り訂正用データの2種類のデータである。   Next, the read control circuit 5 supplies the read address signal and the read control signal (read enable signal) set in step S307 or S308 to the memory unit 1 (step S309). Thereby, in step S310, data is read from each of the memory units 2b and 3b in the memory circuit 2 and 3 in the memory unit 1. The data read here is two types of data, that is, processing data written to the same address and error correction data formed based on the writing data in the writing operation.

メモリ回路2および3に設けられたECC回路2aおよび3aのそれぞれにおいて、ステップS310で読み出された処理用データと誤り訂正用データとを用いて、誤りの有無を示す誤り情報、訂正した場合には訂正情報、訂正不可能な場合には訂正不可情報を含むECCエラー系情報14が形成され、読み出し制御回路5に供給される。読み出し制御回路5は、ECC回路2aおよび3aから供給されるECCエラー系情報14に基づいて、ステップS311で、データの復旧が可能か否かの判断を行う。すなわち、ECC回路2aおよび3aの両方から、2ビット以上のエラーで訂正不可であることを示す訂正不可情報を含むECCエラー系情報14が供給された場合、データの復旧は不可能となる。この場合には、次にステップS319を実施する。   In each of the ECC circuits 2a and 3a provided in the memory circuits 2 and 3, error information indicating the presence / absence of an error is corrected using the processing data and error correction data read in step S310. ECC error system information 14 including correction information, and in the case where correction is impossible, is provided to the read control circuit 5. Based on the ECC error system information 14 supplied from the ECC circuits 2a and 3a, the read control circuit 5 determines whether or not data recovery is possible in step S311. That is, when the ECC error system information 14 including uncorrectable information indicating that correction is impossible due to an error of 2 bits or more is supplied from both of the ECC circuits 2a and 3a, data recovery is impossible. In this case, step S319 is performed next.

ステップS319では、読み出し制御回路5からバッドエリア管理回路6に対して、データ復旧不可の通知を、リードECC系エラー情報15として通知する。この通知を受けて、バッドエリア管理回路6は、ステップS320において、データ復旧不可を表す割り込み信号を形成し、重度障害の割り込み通知信号27として、CPU703に伝える。本実施の形態では、ステップS320の後のステップS321において、復旧不可能なデータを、読み出し制御回路5から、リードデータ25として内部バスIF7へ供給するようにしている。この様にすることにより、復旧不可能なデータをCPU703において、分析することが可能となるが、必ずしも、ステップS320の後にステップ321を実施しなくても良い。   In step S 319, the read control circuit 5 notifies the bad area management circuit 6 that data recovery is impossible as read ECC error information 15. In response to this notification, the bad area management circuit 6 forms an interrupt signal indicating that data recovery is impossible in step S320, and transmits the interrupt signal to the CPU 703 as an interrupt notification signal 27 for a severe failure. In the present embodiment, in step S321 after step S320, unrecoverable data is supplied from the read control circuit 5 to the internal bus IF7 as read data 25. In this way, data that cannot be recovered can be analyzed by the CPU 703, but step 321 need not necessarily be performed after step S320.

ステップS311で、復旧不可能なデータではないと判断した場合、メモリ回路2および3のそれぞれから読み出されたデータの内、正しく読み出されたデータが、ステップS312で、読み出し制御回路5に取り込まれる。ここで、正しく読み出されたデータ(あるいは正しく読み出せたデータ)とは、次の3種類に分類される。   If it is determined in step S311 that the data is not unrecoverable, the data read correctly from the data read from each of the memory circuits 2 and 3 is taken into the read control circuit 5 in step S312. It is. Here, correctly read data (or correctly read data) is classified into the following three types.

分類(1):ECC回路2aおよび3aの両方でエラーなしを示すECCエラー系情報14(誤りを示す誤り情報が含まれていない)が形成された場合には、メモリ回路2および3からの読み出されたデータが正しく読み出されたデータである。分類(2):ECC回路2aまたは3aのいずれか一方でエラーありを示すECCエラー系情報14が形成され、他方ではエラーなしを示すECCエラー系情報14が形成された場合には、エラーなしを示すECCエラー系情報14(誤りを示す誤り情報が含まれていない)を出力しているECC回路を有するメモリ回路から出力されているデータが正しく読み出されたデータである。分類(3):少なくとも1つのECC回路から1ビットエラーの訂正を示しているECCエラー系情報14(誤りを示す誤り情報と訂正を実施した旨を示す訂正情報を含む)が形成されている場合、そのECCエラー系情報14を形成しているECC回路を有するところのメモリ回路から出力されているデータが、正しく読み出されたデータである。メモリモジュールから出力するデータは1つであるため、正しいデータが2つある場合には、いずれか1つのデータが、読み出し制御回路5によって選択されるようにすれば良い。   Classification (1): When ECC error system information 14 (no error information indicating an error) indicating no error is formed in both of the ECC circuits 2a and 3a, reading from the memory circuits 2 and 3 is performed. The output data is data that has been read correctly. Classification (2): When either one of the ECC circuits 2a or 3a has the ECC error system information 14 indicating that there is an error and the other has formed the ECC error system information 14 indicating that there is no error, no error is indicated. The data output from the memory circuit having the ECC circuit that outputs the ECC error system information 14 (not including error information indicating an error) is correctly read data. Classification (3): When ECC error system information 14 (including error information indicating an error and correction information indicating that correction is performed) indicating correction of a 1-bit error is formed from at least one ECC circuit The data output from the memory circuit having the ECC circuit forming the ECC error system information 14 is the data read correctly. Since there is one data output from the memory module, when there are two correct data, any one of the data may be selected by the read control circuit 5.

読み出し制御回路5においては、ステップS312の後で、故障発生の特定のために、ステップS313からS316を実施する。先ず、メモリ回路から供給されているECCエラー系情報14から、メモリ回路2においてエラーが発生したのかを、ステップS313で判断する。メモリ回路2においてエラーが発生している場合には、ステップS314で、メモリ回路2でエラーが発生している誤り情報と、発生しているエラーを訂正したのか2ビット以上で訂正不可能なのかを示す情報(訂正情報あるいは訂正不可情報)とをECCエラー系情報14として取り込む。次に、ステップS315において、メモリ回路3においてエラーが発生したのかを判断し、ステップS316において、メモリ回路3でエラーが発生している情報(誤り情報)と、発生しているエラーを訂正したのか、2ビット以上で訂正不可能なのかを示す情報(訂正情報あるいは訂正不可情報)とをECCエラー系情報14として取り込む。   In the read control circuit 5, steps S313 to S316 are performed after step S312 in order to identify the occurrence of a failure. First, it is determined in step S313 whether an error has occurred in the memory circuit 2 from the ECC error system information 14 supplied from the memory circuit. If an error has occurred in the memory circuit 2, in step S314, the error information in which the error has occurred in the memory circuit 2 and whether the error has been corrected or cannot be corrected with 2 bits or more. (Correction information or uncorrectable information) indicating the error information 14 is taken in as ECC error system information 14. Next, in step S315, it is determined whether an error has occurred in the memory circuit 3. In step S316, information in which an error has occurred in the memory circuit 3 (error information) and whether the error has been corrected have been corrected. Information (correction information or uncorrectable information) indicating whether correction is impossible with 2 bits or more is taken in as ECC error system information 14.

ステップS317において、読み出し制御回路5は、メモリ回路2および3のいずれかでエラーが発生したかを、メモリ回路2および3のそれぞれから取り込んだECCエラー系情報14により判断する。メモリ回路2および3のいずれかでエラーが発生していた場合には、ステップS318を実行する。ステップS318では、ステップS314およびステップS316で取り込んだECCエラー系情報14をリードECCエラー系情報15として、バッドエリア管理回路6に供給する。また、ステップS311で「正しく読み出されたデータ」と判定されたデータも、バッドエリア管理回路6にリードECCエラー系情報15として供給する。また、「正しく読み出されたデータ」と判定されたデータは、次のステップS321で、リードデータ25として、内部バスIF7を介して、CPU703へ供給される。   In step S317, the read control circuit 5 determines whether an error has occurred in either of the memory circuits 2 and 3 based on the ECC error system information 14 fetched from each of the memory circuits 2 and 3. If an error has occurred in either of the memory circuits 2 and 3, step S318 is executed. In step S318, the ECC error system information 14 fetched in steps S314 and S316 is supplied to the bad area management circuit 6 as read ECC error system information 15. Further, the data determined as “correctly read data” in step S 311 is also supplied to the bad area management circuit 6 as read ECC error system information 15. The data determined as “correctly read data” is supplied to the CPU 703 via the internal bus IF 7 as the read data 25 in the next step S321.

ECC回路2aおよび3aの両方が、エラーなしを示した場合には、ステップS321が実行される。ステップS321では、いずれかのメモリ回路から読み出されたデータが、リードデータ25として、内部バスIF7へ供給され、CPU703に供給される。   When both the ECC circuits 2a and 3a indicate no error, step S321 is executed. In step S321, data read from any of the memory circuits is supplied as read data 25 to the internal bus IF7 and supplied to the CPU 703.

図4には、メモリモジュール701における診断動作を示すフロチャートが示されている。バッドエリア管理回路6は、読み出し制御回路5からリードECCエラー系情報15によってエラーの発生が通知されるまで、ステップS400で待機する。エラーの発生が通知されると、ステップS401をバッドエリア管理回路6は実施する。   FIG. 4 shows a flowchart showing a diagnostic operation in the memory module 701. The bad area management circuit 6 stands by in step S400 until the occurrence of an error is notified by the read ECC error system information 15 from the read control circuit 5. When the occurrence of an error is notified, the bad area management circuit 6 performs step S401.

ステップS401において、バッドエリア管理回路6は、リードECCエラー系情報15と正しく読み出されたデータとを取り込む。また、このとき、読み出しアドレス値20を取り込み、エラーの発生したアドレスを、バッドエリア管理回路6は、この読み出しアドレス値20から把握する。リードECCエラー系情報15は、図3Aおよび図3Bで説明したように、メモリ回路2および3のそれぞれにおいて発生したエラーの状況を含んでいる。すなわち、本実施の形態においては、メモリ回路2および3のそれぞれにおいて、エラーが発生しているかを示す情報(誤り情報)、1ビットエラーで訂正されているかを示す訂正情報、2ビット以上のエラーで訂正不可を示す訂正不可情報が、バッドエリア管理回路6に供給される。   In step S401, the bad area management circuit 6 takes in the read ECC error system information 15 and correctly read data. At this time, the read address value 20 is fetched, and the bad area management circuit 6 grasps the address where the error has occurred from the read address value 20. As described with reference to FIGS. 3A and 3B, the read ECC error system information 15 includes the status of an error that has occurred in each of the memory circuits 2 and 3. That is, in the present embodiment, information indicating whether an error has occurred in each of the memory circuits 2 and 3 (error information), correction information indicating whether the error has been corrected by a 1-bit error, error of 2 bits or more Thus, uncorrectable information indicating uncorrectable is supplied to the bad area management circuit 6.

次に、ステップS402において、バッドエリア管理回路6は、故障の診断を実施することをメモリモジュールの外部に通知するために、ビジー信号22を発生する。次のステップS403において、バッドエリア管理回路6は、診断のための書き込みアドレス信号と診断のために書き込まれるべきデータとを形成する。ここで、書き込みアドレス信号は、ステップS401において取り込んだ読み出しアドレス値20を用い、書き込むべきデータとして、同じくステップS401において取り込んだところの正しく読み出されたデータを用いる。正しく読み出されたデータを、診断用の書き込みデータとして用いることにより、診断の結果として故障が発生していないと判断した場合に書き込み回数の増加を防ぐことができ、消費電力の低減に寄与できる。上記の様にして形成された書き込みアドレス信号と書き込まれるべきデータは、このステップにおいて、バッドエリア管理回路6から書き込み制御回路4へ供給される。   Next, in step S402, the bad area management circuit 6 generates a busy signal 22 in order to notify the outside of the memory module that failure diagnosis is to be performed. In the next step S403, the bad area management circuit 6 forms a write address signal for diagnosis and data to be written for diagnosis. Here, the read address value 20 fetched in step S401 is used as the write address signal, and the correctly read data fetched in step S401 is used as the data to be written. By using correctly read data as write data for diagnosis, it is possible to prevent an increase in the number of times of writing when it is determined that no failure has occurred as a result of diagnosis, thereby contributing to a reduction in power consumption. . The write address signal and data to be written formed as described above are supplied from the bad area management circuit 6 to the write control circuit 4 in this step.

書き込み制御回路4は、ステップS404において、供給された書き込みアドレス信号と書き込むべきデータを、メモリ回路2および3のそれぞれに供給し、書き込み制御信号(ライトイネーブル信号)を発生する。これにより、メモリ回路2および3のそれぞれにおいて、供給された書き込みアドレス信号(内部書き込みアドレス信号)により指定されたアドレス(診断対象アドレス)に対して、診断用の書き込みデータの書き込み動作が実施される。メモリ回路2および3内のそれぞれのECC回路2aおよび3aは、診断用の書き込みデータに基づいた誤り訂正用データを形成する。形成された誤り訂正用データは、書き込まれるべきデータとともに、それぞれのメモリ回路2、3内のメモリ部2b、3bのアドレスに書き込まれる。   In step S404, the write control circuit 4 supplies the supplied write address signal and data to be written to each of the memory circuits 2 and 3, and generates a write control signal (write enable signal). Thereby, in each of the memory circuits 2 and 3, the write operation of the write data for diagnosis is performed at the address (diagnosis target address) designated by the supplied write address signal (internal write address signal). . The ECC circuits 2a and 3a in the memory circuits 2 and 3 form error correction data based on the diagnostic write data. The formed error correction data is written to the addresses of the memory units 2b and 3b in the respective memory circuits 2 and 3 together with the data to be written.

ステップS404の後に、バッドエリア管理回路6は、読み出し制御回路5に対して診断結果リード要求17を、ステップS405において供給する。診断結果リード要求17は、ステップS401において取り込んだ読み出しアドレス値20を含んでいる。読み出し制御回路5は、診断結果リード要求17を受けることにより、メモリ回路2および3のそれぞれにおいて、読み出しアドレス値20で指定されるアドレスからデータの読み出しを行う。この時、同じアドレスに格納されている誤り訂正用データも読み出される。   After step S404, the bad area management circuit 6 supplies a diagnostic result read request 17 to the read control circuit 5 in step S405. The diagnosis result read request 17 includes the read address value 20 fetched in step S401. Upon receiving the diagnosis result read request 17, the read control circuit 5 reads data from the address specified by the read address value 20 in each of the memory circuits 2 and 3. At this time, the error correction data stored at the same address is also read.

読み出されたデータ(誤り訂正用データと処理用データ)とを、ECC回路2aおよび3aが受け、誤りの検出と訂正が行われる。ECC回路2aおよび3aのそれぞれは、それを含むメモリ回路において、故障が発生しているか否かを示す誤り情報と、1ビットエラーで訂正したことを示す訂正情報あるいは2ビット以上のエラーで訂正不可を示す訂正不可情報を、ECCエラー系情報14として、読み出し制御回路5に供給する。   The read data (error correction data and processing data) is received by the ECC circuits 2a and 3a, and errors are detected and corrected. Each of the ECC circuits 2a and 3a cannot be corrected by error information indicating whether or not a failure has occurred in the memory circuit including the ECC circuits and correction information indicating that the error has been corrected by a 1-bit error or an error of 2 bits or more. Is supplied to the read control circuit 5 as ECC error system information 14.

読み出し制御回路5は、メモリ回路2および3のそれぞれから供給されるECCエラー系情報14に基づいて、メモリ回路2および/あるいは3において故障が発生しているか否かの判断を、ステップS406において行う。この時の判断は、例えばメモリ回路2および3の少なくとも一方から、故障が発生していることを示す情報が供給された場合、メモリ回路に故障が発生していると判断する。この判断動作は、診断結果リード要求17に応答して行われるため、診断結果リード要求17が供給された場合のみ、上記例示した様な判断動作を行う。   In step S406, the read control circuit 5 determines whether or not a failure has occurred in the memory circuits 2 and / or 3 based on the ECC error system information 14 supplied from the memory circuits 2 and 3, respectively. . In this determination, for example, when information indicating that a failure has occurred is supplied from at least one of the memory circuits 2 and 3, it is determined that a failure has occurred in the memory circuit. Since this determination operation is performed in response to the diagnosis result read request 17, the determination operation as illustrated above is performed only when the diagnosis result read request 17 is supplied.

ステップS406において、故障は発生していないと判断された場合、ステップS402で発生していたビジー信号22の発生を、バッドエリア管理回路6は停止する(ステップS411)。言い換えれば、ステップS402でアサートしたビジー信号22を、ステップS411でネゲートする。これにより、メモリモジュール701は、CPU703からリクエスト信号が供給されたとき、アクノリッジ信号を発生することになり、CPU703によるメモリモジュール701へのアクセスが可能となる。   If it is determined in step S406 that no failure has occurred, the bad area management circuit 6 stops the generation of the busy signal 22 generated in step S402 (step S411). In other words, the busy signal 22 asserted in step S402 is negated in step S411. Thus, when a request signal is supplied from the CPU 703, the memory module 701 generates an acknowledge signal, and the CPU 703 can access the memory module 701.

ステップS406において、故障が発生していると判断された場合には、次にステップS407が実行される。バッドエリア管理回路6は、後で図6を用いて説明するがバッドエリア情報登録レジスタ601を有している。このバッドエリア情報登録レジスタ601には、それぞれアドレスを変換する前のアドレス信号と変換後のアドレス信号を対とした複数対のアドレス情報が格納されている。言い換えるならば、複数対のアドレス情報を有するアドレス変換テーブルが、バッドエリア管理回路6に設けられている。特に制限されないが、本実施の形態においては、アドレス変換テーブルに格納できるアドレス情報の数には制限がある。また、ステップS406において故障と判断されたところのアドレスに代わるアドレスが、メモリ回路2および3のそれぞれにおいて、予備のエリア内に予め用意されている。   If it is determined in step S406 that a failure has occurred, then step S407 is executed. The bad area management circuit 6 has a bad area information registration register 601 as will be described later with reference to FIG. The bad area information registration register 601 stores a plurality of pairs of address information, each paired with an address signal before address conversion and an address signal after conversion. In other words, an address conversion table having a plurality of pairs of address information is provided in the bad area management circuit 6. Although not particularly limited, in the present embodiment, the number of address information that can be stored in the address conversion table is limited. In addition, an address in place of the address determined as a failure in step S406 is prepared in advance in the spare area in each of the memory circuits 2 and 3.

バッドエリア管理回路6は、故障と判断されたアドレスに代わる予備エリア内のアドレスを指定するアドレス信号を形成し、故障と判断されたアドレスを指定するアドレス信号を変換前のアドレス信号、予備エリア内のアドレスを指定するアドレス信号を変換後のアドレス信号とし、これらのアドレス信号を対として、アドレス変換テーブルに登録する(ステップS409)。このステップS409の登録動作を行う前に、有限な数を格納するアドレス変換テーブルの登録状況をステップS407で確認する。すなわち、ステップS407において、バッドエリア管理回路6は、アドレス変換テーブルに格納されているアドレス信号の数が、有限な数を超えていないかの確認を行う。有限な数を超えていた場合、次にステップS408が実行される。   The bad area management circuit 6 forms an address signal for designating an address in the spare area in place of the address determined to be faulty, and converts the address signal for designating the address judged to be faulty into the address signal before conversion in the spare area An address signal designating the address of the address is used as an address signal after conversion, and these address signals are registered as a pair in the address conversion table (step S409). Before performing the registration operation in step S409, the registration status of the address conversion table storing a finite number is confirmed in step S407. That is, in step S407, the bad area management circuit 6 confirms whether the number of address signals stored in the address conversion table exceeds a finite number. If it exceeds the finite number, step S408 is executed next.

ステップS408では、バッドエリア管理回路6内のアドレス変換テーブルへの登録数が、有限値を超えているため、新たな登録が困難となる。そのため、このステップでは、バッドエリア管理回路6が、メモリモジュール701の外部に設けられたCPU703に対して、割り込み信号を発生し、メモリモジュール701に重要な障害が発生している旨を通知する。本実施の形態においては、バッドエリアとして登録可能な数を超えたバッドエリアを検出した旨を通知する割り込み信号を、バッドエリア管理回路6が形成する。   In step S408, since the number of registrations in the address conversion table in the bad area management circuit 6 exceeds a finite value, new registration becomes difficult. Therefore, in this step, the bad area management circuit 6 generates an interrupt signal to notify the CPU 703 provided outside the memory module 701 that an important failure has occurred in the memory module 701. In the present embodiment, the bad area management circuit 6 generates an interrupt signal for notifying that a bad area exceeding the number that can be registered as bad areas has been detected.

アドレス変換テーブルに登録する数を超えていない場合、ステップS407の次に、ステップS409が実施され、上記したように、アドレス変換テーブルに、変換前のアドレス信号として故障のアドレス信号が登録され、予備のエリアを指定するアドレス信号が変換後のアドレス信号として登録される。これにより、予備のエリア内にアドレスが確保されたので、次回の読み出し動作に備えて、ステップS410で、正しく読み出せたデータ(ステップS403参照)を変換後のアドレス信号が指定する予備エリア内のアドレスに格納する。   If the number to be registered in the address conversion table has not been exceeded, step S409 is performed after step S407, and as described above, a fault address signal is registered in the address conversion table as an address signal before conversion, An address signal designating the area is registered as an address signal after conversion. As a result, since an address is secured in the spare area, in preparation for the next read operation, in the spare area designated by the converted address signal in step S410, the data correctly read (see step S403) is designated. Store at address.

すなわち、バッドエリア管理回路6は、正しく読み出せたデータと、アドレス変換テーブルに格納した変換後のアドレス信号とを書き込み制御回路4に供給する。この場合、変換後のアドレス信号と正しく読み出せたデータは、診断データライト要求16として、バッドエリア管理回路6から書き込む制御回路4に供給される。書き込み制御回路4は、供給された変換後のアドレス信号で指定されるところのメモリ回路2および3のそれぞれの予備エリア内のアドレスに、正しく読み出せたデータの書き込みを行う。この場合も、ECC回路により、誤り訂正用データは形成され、予備エリア内の同じアドレスに書き込まれる。結果として、メモリ回路2および3のそれぞれの予備エリア内のアドレスに、正しく読み出せたデータと同じデータが格納される。その後、上記したステップS411が実行される。   That is, the bad area management circuit 6 supplies the write control circuit 4 with the data that has been read correctly and the converted address signal stored in the address conversion table. In this case, the converted address signal and correctly read data are supplied as a diagnostic data write request 16 from the bad area management circuit 6 to the control circuit 4 to be written. The write control circuit 4 writes the correctly read data to the addresses in the respective spare areas of the memory circuits 2 and 3 specified by the supplied converted address signal. Also in this case, the error correction data is formed by the ECC circuit and written to the same address in the spare area. As a result, the same data as the correctly read data is stored in the addresses in the respective spare areas of the memory circuits 2 and 3. Thereafter, step S411 described above is executed.

なお、バッドエリア管理回路6は、ステップS401とステップS406の2回で、リードECCエラー系情報15を受けることになる。ステップS401でリードECCエラー系情報15を受けているのか、ステップS406でリードECCエラー系情報15を受けているのかの判断は、例えば、診断結果リード要求17を発行した後であれば、リードECCエラー系情報15を受けたステップは、ステップS406であると判断すれば良い。   The bad area management circuit 6 receives the read ECC error system information 15 twice in steps S401 and S406. Whether the read ECC error system information 15 is received in step S401 or the read ECC error system information 15 is received in step S406 is, for example, after issuing the diagnosis result read request 17, the read ECC. The step that received the error system information 15 may be determined to be step S406.

図5は、本発明に係わるメモリモジュールの構成を示すブロック図である。図5には、メモリモジュール701のメモリ部1の構成と読み出し制御回路5の構成が示されている。メモリ部1は、図1で述べた様に、メモリ回路2および3を有する。それぞれのメモリ回路2、3は、ECC回路2a、3aを有している。書き込み制御回路4からのライトデータとライト制御信号は、データライト信号としてメモリ回路2および3に共通に供給される。ライト制御信号は、内部書き込みアドレス信号と、ライトイネーブル信号を含んでいる。これにより、メモリ回路2および3のそれぞれにおいて、内部書き込みアドレス信号によって指定された同じアドレスへ、同じデータが書き込まれる。また、ECC回路2aおよび3aにより形成された誤り訂正用データも、内部書き込みアドレス信号によって指定された同じアドレスに書き込まれる。なお、図5では、メモリ部2b、3bは省略されている。   FIG. 5 is a block diagram showing the configuration of the memory module according to the present invention. FIG. 5 shows the configuration of the memory unit 1 of the memory module 701 and the configuration of the read control circuit 5. The memory unit 1 has memory circuits 2 and 3 as described in FIG. Each of the memory circuits 2 and 3 has ECC circuits 2a and 3a. Write data and a write control signal from the write control circuit 4 are commonly supplied to the memory circuits 2 and 3 as a data write signal. The write control signal includes an internal write address signal and a write enable signal. Thereby, in each of the memory circuits 2 and 3, the same data is written to the same address designated by the internal write address signal. Further, the error correction data formed by the ECC circuits 2a and 3a is also written to the same address designated by the internal write address signal. In FIG. 5, the memory units 2b and 3b are omitted.

メモリ回路2および3には、読み出し制御回路5からリード制御信号が共通に供給される。リード制御信号は、内部読み出しアドレス信号とリードイネーブル信号を有している。これにより、読み出し動作においては、メモリ回路2および3のそれぞれにおいて、内部読み出しアドレス信号により指定される同じアドレスからデータが読み出される。メモリ回路2および3のそれぞれにおいて、アドレスには、処理に用いるために書き込まれた処理用データと該データに基づいてECC回路により形成された誤り訂正用データとが格納されている。読み出された処理用データと誤り訂正用データは、それぞれのメモリ回路に設けられたECC回路に供給され、処理用データおよび/あるいは誤り訂正用データにエラー(誤り)が存在するか否かの確認が、ECC回路により行われ、処理用データはリードデータ12として出力される。もし、エラーが存在している場合には、ECC回路により訂正されてから出力される。   A read control signal is commonly supplied from the read control circuit 5 to the memory circuits 2 and 3. The read control signal has an internal read address signal and a read enable signal. Thus, in the read operation, data is read from the same address designated by the internal read address signal in each of the memory circuits 2 and 3. In each of the memory circuits 2 and 3, the address stores processing data written for use in processing and error correction data formed by the ECC circuit based on the data. The read processing data and error correction data are supplied to an ECC circuit provided in each memory circuit, and whether or not an error (error) exists in the processing data and / or error correction data. The confirmation is performed by the ECC circuit, and the processing data is output as read data 12. If there is an error, it is output after being corrected by the ECC circuit.

本実施の形態においては、前述したように、ECC回路2aおよび3aは、1ビットエラーの訂正ができ、2ビット以上のエラーが存在する場合には、エラーである旨を通知するものとして説明している。すなわち、各ECC回路は、確認により、エラーが存在しているか否かの誤り情報と、エラーが存在する場合、1ビットエラーで訂正したことを示す訂正情報と、2ビット以上のエラーが存在する場合、2ビット以上のエラーで訂正不可を示す訂正不可情報をECCエラー系情報14として出力する。   In the present embodiment, as described above, the ECC circuits 2a and 3a are described as those that can correct a 1-bit error and notify that an error is present when an error of 2 bits or more exists. ing. That is, as a result of confirmation, each ECC circuit includes error information indicating whether or not an error exists, correction information indicating that the error has been corrected when there is an error, and an error of 2 or more bits. In this case, uncorrectable information indicating uncorrectable with an error of 2 bits or more is output as ECC error system information 14.

各ECC回路は、メモリ回路に対応している。すなわち、ECC回路2aは、メモリ回路2に設けられ、メモリ回路2における読み出しデータにエラーが存在しないかの確認を行い、ECCエラー系情報14を出力する。このとき、2ビット以上のエラーが存在しなければ、訂正したデータあるいは訂正していないデータ(エラーが存在していない場合)も出力する。同様に、ECC回路3aは、メモリ回路3に設けられ、メモリ回路3における読み出しデータにエラーが存在しないかの確認を行い、ECCエラー系情報14を出力する。このとき、2ビット以上のエラーが存在しなければ、訂正したデータあるいは訂正していないデータ(エラーが存在していない場合)も出力する。   Each ECC circuit corresponds to a memory circuit. That is, the ECC circuit 2 a is provided in the memory circuit 2, checks whether there is an error in the read data in the memory circuit 2, and outputs ECC error system information 14. At this time, if there is no error of 2 bits or more, corrected data or uncorrected data (when no error exists) is also output. Similarly, the ECC circuit 3 a is provided in the memory circuit 3, checks whether there is an error in the read data in the memory circuit 3, and outputs ECC error system information 14. At this time, if there is no error of 2 bits or more, corrected data or uncorrected data (when no error exists) is also output.

図面が複雑になるのを避けるために、図1では、リードデータ12およびECCエラー系情報14を、それぞれ1本の信号線で示した。しかしながら、2個のメモリ回路2、3からの信号がメモリ部1から読み出し制御回路5に供給されるため、図5に示されている様に、それぞれ2本のリードデータ12とECCエラー系情報14が、メモリ部1から読み出し制御回路5に供給される。すなわち、メモリ回路2からのリードデータ12とECCエラー系情報14と、メモリ回路3からのリードデータ12とECCエラー系情報14が、読み出し制御回路5に供給される。   In order to avoid the complexity of the drawing, in FIG. 1, the read data 12 and the ECC error system information 14 are each shown by one signal line. However, since the signals from the two memory circuits 2 and 3 are supplied from the memory unit 1 to the read control circuit 5, as shown in FIG. 5, the two read data 12 and the ECC error system information 14 is supplied from the memory unit 1 to the read control circuit 5. That is, the read data 12 and the ECC error system information 14 from the memory circuit 2 and the read data 12 and the ECC error system information 14 from the memory circuit 3 are supplied to the read control circuit 5.

図5には、読み出し制御回路5の主要部が示されている。すなわち、ECCエラー判定回路500と読み出しセレクタ501が示されている。読み出しセレクタ501は、メモリ回路2および3のそれぞれからのリードデータ12を受け、ECCエラー判定回路500からの選択信号によって、いずれかを選択する。ECCエラー判定回路500は、メモリ回路2および3のそれぞれから、ECCエラー系情報14を受け、例えば、これらを纏めた信号をリードECCエラー系情報15として形成し、バッドエリア管理回路6に供給する。   FIG. 5 shows a main part of the read control circuit 5. That is, an ECC error determination circuit 500 and a read selector 501 are shown. The read selector 501 receives the read data 12 from each of the memory circuits 2 and 3 and selects one of them according to a selection signal from the ECC error determination circuit 500. The ECC error determination circuit 500 receives the ECC error system information 14 from each of the memory circuits 2 and 3, for example, forms a signal in which these are collected as read ECC error system information 15, and supplies it to the bad area management circuit 6. .

ECC回路2a、3aのそれぞれにより、メモリ回路2、3においてエラーが発生しているか否かを示すECCエラー系情報14が形成され、ECCエラー判定回路500によって、ECC回路2a、3aからのECCエラー系情報14に基づいたリードECCエラー系情報15が形成される。ECC回路2a、3aのそれぞれは、訂正可能なエラー、例えばソフトエラー等の一時的なエラーであっても、誤りを示す誤り情報を形成する。すなわち、ECCエラー系情報14は、メモリ回路2、3において、一時的にエラーを発生している場合も形成される。従って、ECC回路2a、3aにより形成されるECCエラー系情報14は、メモリ回路2、3が故障している可能性を示す故障可能性情報と見なすことができる。   Each of the ECC circuits 2a and 3a forms ECC error system information 14 indicating whether or not an error has occurred in the memory circuits 2 and 3, and the ECC error determination circuit 500 generates an ECC error from the ECC circuits 2a and 3a. Read ECC error system information 15 based on the system information 14 is formed. Each of the ECC circuits 2a and 3a forms error information indicating an error even if it is a correctable error, for example, a temporary error such as a soft error. That is, the ECC error system information 14 is formed even when an error has occurred temporarily in the memory circuits 2 and 3. Therefore, the ECC error system information 14 formed by the ECC circuits 2a and 3a can be regarded as failure possibility information indicating a possibility that the memory circuits 2 and 3 are broken.

一方、リードECCエラー系情報15は、ECC回路2a、3aからのECCエラー系情報14に基づいて形成されているため、メモリ回路2、3を含むメモリ部1に一時的にエラーが発生している場合にも形成される。従って、リードECCエラー系情報15は、複数のメモリ回路を含むメモリ部1のうちの少なくとも1個のメモリ回路が故障している可能性を示す故障可能性情報と見なすことができる。本実施の形態においては、故障可能性情報であるリードECCエラー系情報15は、ECCエラー判定回路500により形成されるため、故障可能性情報を形成する検出回路は、ECCエラー判定回路500により構成されていると見なすことができる。また、故障可能性情報は、信号線を介してバッドエリア管理回路6に供給されるため、故障可能性信号と見なすことができる。   On the other hand, since the read ECC error system information 15 is formed based on the ECC error system information 14 from the ECC circuits 2a and 3a, an error occurs temporarily in the memory unit 1 including the memory circuits 2 and 3. Also formed when. Therefore, the read ECC error system information 15 can be regarded as failure possibility information indicating a possibility that at least one memory circuit of the memory unit 1 including a plurality of memory circuits has failed. In the present embodiment, the read ECC error system information 15 that is failure possibility information is formed by the ECC error determination circuit 500. Therefore, the detection circuit that forms failure possibility information is configured by the ECC error determination circuit 500. Can be considered. Further, since the failure possibility information is supplied to the bad area management circuit 6 via the signal line, it can be regarded as a failure possibility signal.

バッドエリア管理回路6は、リードECCエラー系情報15を確認することにより、いずれのメモリ回路でエラーが発生しているのか、訂正可能なのか等を判断することができる。これを、レジスタ等を用いて、CPU703に知らせることができる。   By checking the read ECC error system information 15, the bad area management circuit 6 can determine in which memory circuit an error has occurred and whether it can be corrected. This can be notified to the CPU 703 using a register or the like.

また、ECCエラー判定回路500は、メモリ回路2、3から出力されているリードデータの内、正しく読み出せたデータが、読み出しセレクタ501によって選択されるように選択信号を形成する。正しく読み出せたデータを選択する基準は、一例をステップS311で説明した。例えば、ステップS311で述べた分類(2)に合致する様な、ECCエラー系情報14がメモリ回路2、3から供給された場合、エラーなしを示しているECCエラー系情報14を出力しているメモリ回路からのリードデータ12が、読み出しセレクタ501により選択される。選択されたリードデータは、正しく読み出されたデータとして、先に述べた診断動作のための書き込みデータおよび/あるいは内部バスIF7を介してメモリモジュールの外へ出力されるデータとなる。   The ECC error determination circuit 500 forms a selection signal so that the read selector 501 selects the correctly read data among the read data output from the memory circuits 2 and 3. An example of the criteria for selecting data that has been read correctly has been described in step S311. For example, when the ECC error system information 14 that matches the classification (2) described in step S311 is supplied from the memory circuits 2 and 3, the ECC error system information 14 indicating no error is output. Read data 12 from the memory circuit is selected by the read selector 501. The selected read data is written data for the above-described diagnosis operation and / or data output to the outside of the memory module via the internal bus IF 7 as correctly read data.

本実施の形態においては、読み出し制御回路5に、ECCエラー判定回路500が設けられている。しかしながら、ECCエラー判定回路500は、読み出し制御回路5とは、別に設けても良い。この場合には、読み出し制御回路5とは別に設けられたECCエラー判定回路500から、セレクト信号が読み出し制御回路5に供給され、リードECCエラー系情報15の内、ECCエラー系情報14に基づいた情報が、バッドエリア管理回路6に供給される。バッドエリア管理回路6に供給される正しく読み出せたデータは、読み出し制御回路5から出力されることになる。   In the present embodiment, an ECC error determination circuit 500 is provided in the read control circuit 5. However, the ECC error determination circuit 500 may be provided separately from the read control circuit 5. In this case, a select signal is supplied to the read control circuit 5 from an ECC error determination circuit 500 provided separately from the read control circuit 5, and based on the ECC error system information 14 in the read ECC error system information 15. Information is supplied to the bad area management circuit 6. The correctly read data supplied to the bad area management circuit 6 is output from the read control circuit 5.

図6は、バッドエリア管理回路6の構成を示すブロック図である。バッドエリア管理回路6は、RAM診断内容登録レジスタ600とバッドエリア情報登録レジスタ601とを有している。同図には示されていないが、RAM診断内容登録レジスタ600およびバッドエリア情報登録レジスタ601のそれぞれは、制御回路を有している。それぞれに含まれている制御回路とレジスタ(RAM診断内容登録レジスタ600、バッドエリア情報登録レジスタ601)との協働により、次のように動作する。なお、RAM診断内容登録レジスタ600およびバッドエリア情報登録レジスタ601のそれぞれは、複数のレジスタを有している。   FIG. 6 is a block diagram showing the configuration of the bad area management circuit 6. The bad area management circuit 6 includes a RAM diagnosis content registration register 600 and a bad area information registration register 601. Although not shown in the figure, each of the RAM diagnostic content registration register 600 and the bad area information registration register 601 has a control circuit. The following operations are performed in cooperation with the control circuits and registers (RAM diagnostic content registration register 600, bad area information registration register 601) included in each. Each of the RAM diagnosis content registration register 600 and the bad area information registration register 601 has a plurality of registers.

RAM診断内容登録レジスタ600は、読み出し制御回路5からリードECCエラー系情報15と読み出しアドレス値20を受け、レジスタに、リードECCエラー系情報15に含まれている情報と読み出しアドレス値20とを格納し、保持する。リードECCエラー系情報15は、先にも述べた様に、正しく読み出せたデータと、メモリ回路2、3のそれぞれにおいてエラーがあるか否かを示す誤り情報、エラーがあった場合に1ビットエラーで訂正したことを示す訂正情報、エラーがあった場合で2ビット以上のエラーで訂正不可を示す訂正不可情報を含んでいる。   The RAM diagnosis content registration register 600 receives the read ECC error system information 15 and the read address value 20 from the read control circuit 5, and stores the information included in the read ECC error system information 15 and the read address value 20 in the register. And hold. As described above, the read ECC error system information 15 includes correctly read data, error information indicating whether or not there is an error in each of the memory circuits 2 and 3, and 1 bit when there is an error. It includes correction information indicating that the error has been corrected, and uncorrectable information indicating that correction is not possible with an error of 2 bits or more when there is an error.

RAM診断内容登録レジスタ600は、リードECCエラー系情報15の供給に応答して、ビジー信号22を形成して、内部バスIF7へ供給する。また、レジスタ(保持回路)に保持された読み出しアドレス値20および正しく読み出せたデータとに基づいて、診断データライト要求16を形成し、書き込み制御回路4に供給する。これにより、メモリ回路2、3へ診断用アドレス信号と診断用のデータが供給され、メモリ回路2、3のそれぞれにおいて書き込み動作が開始される。診断用のデータが書き込まれるので、診断動作が開始されるとも見なせる。   In response to the supply of the read ECC error system information 15, the RAM diagnostic content registration register 600 forms the busy signal 22 and supplies it to the internal bus IF7. Further, a diagnostic data write request 16 is formed based on the read address value 20 held in the register (holding circuit) and correctly read data, and is supplied to the write control circuit 4. As a result, the diagnostic address signal and the diagnostic data are supplied to the memory circuits 2 and 3, and the write operation is started in each of the memory circuits 2 and 3. Since the diagnostic data is written, it can be considered that the diagnostic operation is started.

診断データライト要求16を供給した後で、RAM診断内容登録レジスタ600は、診断結果リード要求17を形成して、読み出し制御回路5へ供給する。供給後、RAM診断内容登録レジスタ600は、所定時間待機状態になる。なお、診断結果リード要求17を形成する際には、レジスタに格納されている読み出しアドレス値20が、診断の際の読み出しアドレス信号として用いられる。   After supplying the diagnostic data write request 16, the RAM diagnostic content registration register 600 forms a diagnostic result read request 17 and supplies it to the read control circuit 5. After the supply, the RAM diagnostic content registration register 600 is in a standby state for a predetermined time. When the diagnosis result read request 17 is formed, the read address value 20 stored in the register is used as a read address signal for diagnosis.

RAM診断内容登録レジスタ600は、待機状態にあるときに、読み出し制御回路5からリードECCエラー系情報15が供給されると、バッドエリア情報登録レジスタ601に対してバッドエリア情報登録指示を発行する。このバッドエリア情報登録指示は、診断動作で故障と判断したアドレス値と、このアドレス値が故障のアドレス値として有効であることを示す有効情報を含んでいる。ここで、診断動作で故障と判断したアドレスは、レジスタに格納されているところの読み出しアドレス値20である。また、有効情報は、このアドレス値が故障であることの正当性を示す情報である。   The RAM diagnosis content registration register 600 issues a bad area information registration instruction to the bad area information registration register 601 when the read ECC error system information 15 is supplied from the read control circuit 5 in the standby state. This bad area information registration instruction includes an address value determined as a failure in the diagnostic operation and valid information indicating that this address value is valid as a failure address value. Here, the address determined as a failure in the diagnostic operation is the read address value 20 stored in the register. The valid information is information indicating the validity of this address value being a failure.

バッドエリア情報登録指示を発行した後、バッドエリア情報登録レジスタ601から、RAM診断内容登録レジスタ600へ、アドレスの変換後のアドレス信号(図では変換先アドレス値と記載)が供給された場合、RAM診断内容登録レジスタ600は、レジスタに保持されているところの正しく読み出せたデータと変換後のアドレス信号とを含む診断データライト要求16を形成する。この形成された診断データライト要求16は、書き込み制御回路4に供給され、更にメモリ回路2、3のそれぞれに供給される。これにより、メモリ回路2、3のそれぞれに予備のエリアとして設けられていたアドレス(変換後のアドレス信号によって指定されるアドレス)に正しく読み出せたデータが書き込まれる。なお、この書き込みにおいては、ECC回路により形成された誤り訂正データも、同じアドレスに書き込まれる。変換後のアドレスに、正しく読み出せたデータの書き込みが終了することにより、診断動作は終了する。   After issuing the bad area information registration instruction, if an address signal after address conversion (described as a conversion destination address value in the figure) is supplied from the bad area information registration register 601 to the RAM diagnosis content registration register 600, the RAM The diagnostic content registration register 600 forms a diagnostic data write request 16 including correctly read data held in the register and the converted address signal. The formed diagnostic data write request 16 is supplied to the write control circuit 4 and further supplied to each of the memory circuits 2 and 3. As a result, the correctly read data is written to the address (address specified by the converted address signal) provided as a spare area in each of the memory circuits 2 and 3. In this writing, error correction data formed by the ECC circuit is also written at the same address. When the writing of correctly read data is finished at the converted address, the diagnostic operation is finished.

RAM診断内容登録レジスタ600は、もし、変換後のアドレス信号を受ける前に、バッドエリア情報登録レジスタ601からバッドエリア登録上限割り込み信号を受けた場合、RAM診断内容登録レジスタ600は、重度の障害が発生したものと判断し、ビジー信号22の形成を中止する。   If the RAM diagnostic content registration register 600 receives a bad area registration upper limit interrupt signal from the bad area information registration register 601 before receiving the converted address signal, the RAM diagnostic content registration register 600 has a serious failure. It is determined that it has occurred and the formation of the busy signal 22 is stopped.

次に、バッドエリア情報登録レジスタ601について、説明する。バッドエリア情報登録レジスタ601は、上記したバッドエリア情報登録指示の供給に応答して、その動作を開始する。バッドエリア情報登録レジスタ601は、アドレス変換テーブルとして機能する複数組のレジスタを有している。1組のレジスタは、変換前のアドレス値を保持する変換前レジスタと、それと対をなし、変換後のアドレス値を保持する変換後レジスタと、変換前レジスタに故障のアドレスを示すアドレス値が格納されていることを示す有効ビットを持つ有効レジスタとを含んでいる。バッドエリア情報登録指示が供給されることにより、バッドエリア情報登録レジスタ601は、バッドエリア情報登録指示に含まれているアドレス値(読み出しアドレス値20)が、アドレス変換テーブルを構成する複数組のレジスタにおける変換後レジスタのそれぞれに格納されている変換後アドレス値と、一致しないかの確認を行う。   Next, the bad area information registration register 601 will be described. The bad area information registration register 601 starts its operation in response to the supply of the bad area information registration instruction. The bad area information registration register 601 has a plurality of sets of registers that function as an address conversion table. A pair of registers is paired with a pre-conversion register that holds an address value before conversion, a post-conversion register that holds an address value after conversion, and an address value that indicates a fault address is stored in the pre-conversion register And a valid register having a valid bit indicating that the When the bad area information registration instruction is supplied, the bad area information registration register 601 has a plurality of sets of registers in which the address value (read address value 20) included in the bad area information registration instruction constitutes an address conversion table. The post-conversion address value stored in each post-conversion register in FIG.

一致しない場合、複数組のレジスタのそれぞれの有効ビットを確認し、有効ビットが有効を示していない1組のレジスタを特定し、特定したレジスタ組の変換前レジスタに、バッドエリア情報登録指示に含まれているアドレス値を格納し、予備のエリアにおけるアドレスを示すアドレス値を生成して、特定したレジスタ組の変換後レジスタに格納する。また、バッドエリア情報登録指示に含まれているアドレス値を、変換前レジスタに格納する際に、バッドエリア情報登録指示に含まれている有効情報を、有効レジスタの有効ビットに格納する。これにより、アドレス変換テーブルへ、バッドエリア情報登録指示に含まれているアドレス値が登録され、変換前のアドレス値がアドレス変換テーブルに供給された際に、それと対をなす変換後のアドレス値がアドレス変換テーブルから出力される。   If they do not match, check the valid bits of each of the multiple sets of registers, identify one set of registers for which the valid bits do not indicate validity, and include them in the pre-conversion register of the specified register set in the bad area information registration instruction The stored address value is stored, an address value indicating the address in the spare area is generated, and stored in the post-conversion register of the specified register set. When the address value included in the bad area information registration instruction is stored in the pre-conversion register, the valid information included in the bad area information registration instruction is stored in the valid bit of the valid register. As a result, when the address value included in the bad area information registration instruction is registered in the address conversion table and the address value before conversion is supplied to the address conversion table, the address value after conversion that is paired with the address value is converted to the address conversion table. Output from the address translation table.

一方、バッドエリア情報登録指示に含まれているアドレス値が、変換後レジスタに格納されているアドレス値と一致した場合、予備のエリアにおけるアドレスに故障が発生していることになる。そのため、この場合には、予備のエリアにおける新たなアドレスを指定する新たなアドレス値を生成し、変換後レジスタに新たなアドレス値を格納する。   On the other hand, if the address value included in the bad area information registration instruction matches the address value stored in the post-conversion register, a failure has occurred in the address in the spare area. Therefore, in this case, a new address value designating a new address in the spare area is generated, and the new address value is stored in the post-conversion register.

また、有効ビットを確認するときに、有効ビットが有効を示していないレジスタ組を特定できなかった場合は、アドレス変換テーブルを構成する複数組のレジスタの全てに、アドレス値が格納されていると考えられる。言い換えるならば、バッドエリア登録上限に達していることになる。従って、この場合に、バッドエリア情報登録レジスタ601は、上記したバッドエリア登録上限割り込みを発生して、重度な障害が発生していることを通知する。なお、本実施の形態では、変換後アドレス信号は発生するようにしているが、予め変換後レジスタのそれぞれに変換後のアドレス値として予備のエリアにおけるアドレスを指定するアドレス値を格納しておいても良い。   Also, when checking the valid bit, if the register set for which the valid bit does not indicate validity cannot be specified, the address value is stored in all of the plurality of registers constituting the address conversion table. Conceivable. In other words, the bad area registration upper limit has been reached. Therefore, in this case, the bad area information registration register 601 generates the above-described bad area registration upper limit interrupt to notify that a serious failure has occurred. In this embodiment, a post-conversion address signal is generated, but an address value for designating an address in a spare area is stored in advance in each post-conversion register as an address value after conversion. Also good.

メモリ部1に対する読み出し動作においては、読み出し制御回路5に供給された読み出しアドレス信号は、読み出しアドレス値20として、読み出し制御回路5からバッドエリア管理回路6に供給される。この読み出しアドレス値20は、バッドエリア情報登録レジスタ601に供給され、アドレス変換テーブルを構成する複数組のレジスタにおける変換前レジスタに格納されているアドレス値と比較される。この比較により一致した場合には、一致した変換前アドレス値を格納した変換前レジスタと対をなす変換後レジスタに格納されているアドレス値を含む読み出しアドレス変換要求21が、バッドエリア情報登録レジスタ601により形成され、読み出し制御回路5に供給される。これにより、予備のエリアからデータの読み出しが行われる。一致しない場合には、例えば、変換不要を示す読み出しアドレス変換要求21が形成され、読み出し制御回路5は、内部バスIF7から供給された読み出しアドレス信号に従った読み出し動作を行う。   In the read operation for the memory unit 1, the read address signal supplied to the read control circuit 5 is supplied from the read control circuit 5 to the bad area management circuit 6 as a read address value 20. The read address value 20 is supplied to the bad area information registration register 601 and compared with the address value stored in the pre-conversion register in a plurality of sets of registers constituting the address conversion table. When the comparison results in a match, the read address conversion request 21 including the address value stored in the post-conversion register that forms a pair with the pre-conversion register storing the matched pre-conversion address value is sent to the bad area information registration register 601. And is supplied to the read control circuit 5. As a result, data is read from the spare area. If they do not match, for example, a read address conversion request 21 indicating that conversion is not required is formed, and the read control circuit 5 performs a read operation according to the read address signal supplied from the internal bus IF 7.

メモリ部1に対する書き込み動作においても同様に、書き込み制御回路4に供給された書き込みアドレス信号は、書き込みアドレス値18として、書き込み制御回路4からバッドエリア管理回路6に供給される。この書き込みアドレス値18は、バッドエリア情報登録レジスタ601に供給され、アドレス変換テーブルを構成する複数組のレジスタにおける変換前レジスタに格納されているアドレス値と比較される。この比較により一致した場合には、一致した変換前アドレス値を格納した変換前レジスタと対をなす変換後レジスタに格納されているアドレス値を含む書き込みアドレス変換要求19が、バッドエリア情報登録レジスタ601により形成され、書き込み制御回路4に供給される。これにより、予備のエリアへのデータの書き込みが行われる。一致しない場合には、例えば、変換不要を示す書き込みアドレス変換要求19が形成され、書き込み制御回路4は、内部バスIF7から供給された書き込みしアドレス信号に従った書き込み動作を行う。   Similarly, in the write operation to the memory unit 1, the write address signal supplied to the write control circuit 4 is supplied from the write control circuit 4 to the bad area management circuit 6 as a write address value 18. The write address value 18 is supplied to the bad area information registration register 601 and compared with the address value stored in the pre-conversion register in a plurality of sets of registers constituting the address conversion table. If the comparison results in a match, the write address conversion request 19 including the address value stored in the post-conversion register that forms a pair with the pre-conversion register storing the matched pre-conversion address value is sent to the bad area information registration register 601. And supplied to the write control circuit 4. As a result, data is written to the spare area. If they do not match, for example, a write address conversion request 19 indicating that conversion is not required is formed, and the write control circuit 4 performs a write operation according to the write address signal supplied from the internal bus IF 7.

リードECCエラー系情報15が、メモリ回路2および3の両方において、2ビット以上のエラーであり、訂正不可であることを示す訂正不可情報であった場合、RAM診断内容登録レジスタ600は、データ復旧不可を表す割り込み信号(図ではデータ復旧不可割り込みと記載)を形成し、割り込み通知用信号27としてCPU703に伝える。特に制限されないが、RAM診断内容登録レジスタ600とバッドエリア情報登録レジスタ601とは、レジスタアクセスパス26を介して内部バスIF7と接続されている。これにより、内部バスIF7を介して、CPU703によりRAM診断内容登録レジスタ600とバッドエリア情報登録レジスタ601内のレジスタにアクセスし、レジスタに設定されているデータを読み出したり、データの設定を行うことが可能とされている。   When the read ECC error system information 15 is an uncorrectable information indicating that the error is not less than 2 bits in both the memory circuits 2 and 3 and cannot be corrected, the RAM diagnostic content registration register 600 performs data recovery. An interrupt signal indicating the impossibility (denoted as a data recovery impossible interrupt in the figure) is formed and transmitted to the CPU 703 as the interrupt notification signal 27. Although not particularly limited, the RAM diagnostic content registration register 600 and the bad area information registration register 601 are connected to the internal bus IF 7 via the register access path 26. As a result, the CPU 703 accesses the registers in the RAM diagnosis content registration register 600 and the bad area information registration register 601 via the internal bus IF7, and reads data set in the registers or sets data. It is possible.

図8は、アドレス変換を説明するための説明図である。図8の(A)には、本実施の形態におけるメモリ部1のアドレス空間が示されている。メモリ部1は、16進数で0x0000から0xFFFCまでのアドレス空間を有している。このアドレス空間の内、16進数で0xFFF0から〜0xFFFCまでが予備のメモリ領域(エリア)に割り当てられている。また、同図において破線から右側にはECC回路により形成された誤り訂正データが格納される訂正用データ領域が設けられている。特に制限されないが、1回のアクセスで、書き込まれるべきデータ(書き込み用データ)は、4バイト(1バイトは8ビット)で、この書き込み用データに基づいて形成された誤り訂正用データは1バイトである。この様に、予備のエリアあるいは通常のエリアにおいて、一つのアドレス(例えば16進数で0xFFEC)に書き込み用データと誤り訂正用データが格納される。なお、メモリ回路2および3は、二重化されているため、それぞれのメモリ回路2、3がメモリ部1と同じアドレス空間を有している。   FIG. 8 is an explanatory diagram for explaining address translation. FIG. 8A shows the address space of the memory unit 1 in the present embodiment. The memory unit 1 has an address space from 0x0000 to 0xFFFC in hexadecimal. Of this address space, hexadecimal numbers from 0xFFF0 to 0xFFFC are allocated to spare memory areas (areas). In the figure, a correction data area for storing error correction data formed by the ECC circuit is provided on the right side of the broken line. Although not particularly limited, the data to be written (write data) in one access is 4 bytes (1 byte is 8 bits), and the error correction data formed based on this write data is 1 byte. It is. In this way, in the spare area or the normal area, the write data and the error correction data are stored in one address (for example, 0xFFEC in hexadecimal). Since the memory circuits 2 and 3 are duplicated, each of the memory circuits 2 and 3 has the same address space as the memory unit 1.

図8の(B)には、図8の(A)において、アドレス:0x1000(16進数)とアドレス:0x4000(16進数)のそれぞれにおいて、故障が発生している場合を示している。この場合には、アドレス変換テーブルを構成する複数組のレジスタの内の1組のレジスタに、変換前のアドレス値として0x1000(16進数)が格納され、同じ組のレジスタに、変換後のアドレス値として0xFFF4(16進数)が格納される。また、別のレジスタ組に、変換前のアドレス値として0x4000(16進数)が格納され、同じ組のレジスタに、変換後のアドレス値として0xFFF0(16進数)が格納される。これにより、読み出し動作および書き込み動作で、CPU703からメモリモジュール701へのアクセスにおいて、故障のアドレス:0x1000(16進数)あるいは0x4000(16進数)がCPU703により与えられた場合、予備のエリアにあるアドレス:0xFFF4(16進数)あるいは0x4000(16進数)がアクセスされることになる。   FIG. 8B shows a case where a failure has occurred in each of address: 0x1000 (hexadecimal number) and address: 0x4000 (hexadecimal number) in FIG. 8A. In this case, 0x1000 (hexadecimal) is stored as an address value before conversion in one set of a plurality of registers constituting the address conversion table, and an address value after conversion is stored in the same set of registers. 0xFFF4 (hexadecimal number) is stored. Further, 0x4000 (hexadecimal number) is stored as an address value before conversion in another register set, and 0xFFF0 (hexadecimal number) is stored as an address value after conversion in the same set of registers. As a result, when the CPU 703 gives a failure address: 0x1000 (hexadecimal number) or 0x4000 (hexadecimal number) in the access to the memory module 701 by the read operation and the write operation, the address in the spare area: 0xFFF4 (hexadecimal number) or 0x4000 (hexadecimal number) is accessed.

図8の(C)は、図8の(B)と類似しているので、相違点を説明する。故障診断で、アドレス:0x1000(16進数)に故障を発見し、アドレス変換テーブルに、変換前のアドレスとして、0x1000(16進数)を登録し、変換後のアドレスとして、0xFFF4(16進数)を登録した。登録後の読み出し動作あるいは書き込み動作で、アドレス:0x1000(16進数)をアクセスしたとき、エラーが生じた。この場合、アドレス変換テーブルの働きにより、アクセスは予備のエリアにあるアドレス:0xFFF4(16進数)に対して行われる。この場合には、変換後のアドレス値が、アドレス変換テーブルを構成する変換後レジスタに格納されているか否かの確認を行い、格納されている場合には、変換後レジスタに新たなアドレス値である0xFFF8(16進数)を格納する。この様にすることにより、予備として設けたエリアに故障が生じても、予備のエリアにおける新たなアドレス:0xFFF8(16進数)へアクセスすることができ、故障の回避をすることができる。   Since FIG. 8C is similar to FIG. 8B, the differences will be described. In failure diagnosis, a failure is found at address 0x1000 (hexadecimal number), 0x1000 (hexadecimal number) is registered as the address before conversion in the address conversion table, and 0xFFF4 (hexadecimal number) is registered as the address after conversion. did. An error occurred when the address 0x1000 (hexadecimal number) was accessed in the read operation or write operation after registration. In this case, due to the function of the address conversion table, access is made to the address: 0xFFF4 (hexadecimal number) in the spare area. In this case, it is checked whether or not the converted address value is stored in the post-conversion register that forms the address conversion table. If so, the new address value is stored in the post-conversion register. A certain 0xFFF8 (hexadecimal number) is stored. In this way, even if a failure occurs in the spare area, the new address: 0xFFF8 (hexadecimal number) in the spare area can be accessed, and the failure can be avoided.

アドレス変換テーブルを、複数組のレジスタで構成することを述べたが、メモリ回路によりアドレス変換テーブルを構成しても良い。   Although it has been described that the address conversion table includes a plurality of sets of registers, the address conversion table may be configured by a memory circuit.

本実施の形態によれば、メモリ部1へのアクセスの際であって、故障の可能性がある場合に、故障診断が実施される。そのため、故障診断の回数を低減することが可能となり、消費電力の増大を低減することが可能となる。また、故障と判断した場合、故障と判断したアドレスを、予備エリアにあるアドレスへ置換する。そのため、故障が発生してもメモリモジュールを交換する必要はなく、継続してメモリモジュールを使用することが可能となる。ECC回路により、訂正可能であっても、故障診断が実施される。そのため、ソフトエラーとハード的な故障とを区別することが可能となり、ソフトエラーとハード的な故障とが重なることを低減することが可能となり、より信頼度の高い半導体集積回路装置を提供することが可能となる。さらに、アドレス変換テーブルの変換後アドレスと故障アドレスとの比較を行う様にすれば、予備のエリアにおける故障も回避することが可能となり、信頼性のより高い半導体集積回路装置を提供することが可能となる。   According to the present embodiment, failure diagnosis is performed when there is a possibility of failure when accessing the memory unit 1. Therefore, it is possible to reduce the number of times of failure diagnosis, and it is possible to reduce an increase in power consumption. When it is determined that there is a failure, the address determined as a failure is replaced with an address in the spare area. Therefore, even if a failure occurs, it is not necessary to replace the memory module, and the memory module can be used continuously. Even if correction is possible by the ECC circuit, failure diagnosis is performed. Therefore, it is possible to distinguish between a soft error and a hardware failure, and it is possible to reduce the overlap between the soft error and the hardware failure, and to provide a semiconductor integrated circuit device with higher reliability. Is possible. Furthermore, if the post-conversion address in the address translation table is compared with the failure address, failure in the spare area can be avoided, and a highly reliable semiconductor integrated circuit device can be provided. It becomes.

(実施の形態2)
図9は、本発明に係わる他の実施の形態の構成を示すブロック図である。図9には、メモリ部904と読み出し制御回路905のブロックが示されている。図5におけるメモリ部1が、図9のメモリ部904に変更され、図5における読み出し制御回路5が、図9の読み出し制御回路905に変更される。
(Embodiment 2)
FIG. 9 is a block diagram showing the configuration of another embodiment according to the present invention. FIG. 9 shows a block of the memory unit 904 and the read control circuit 905. The memory unit 1 in FIG. 5 is changed to the memory unit 904 in FIG. 9, and the read control circuit 5 in FIG. 5 is changed to the read control circuit 905 in FIG.

本実施の形態においては、メモリ部904に、3個以上の奇数個のメモリ回路が設けられる。同図では、奇数個のメモリ回路として3個のメモリ回路900、901、902が設けられている。これらのメモリ回路900、901、902のそれぞれには、内部バスIF7から、ライトデータとライト制御信号が、共通に供給される。ライト制御信号は、アドレス信号とライトイネーブル信号を含んでいる。これにより、3個のメモリ回路900、901、902のそれぞれには、同じアドレスに同じ書き込み用データが書き込まれる。また、アドレス信号とリードイネーブル信号を含むリード制御信号が、3個のメモリ回路900、901、902に対して共通に供給される。これにより、それぞれのメモリ回路900、901、902の同じアドレスからデータが読み出される。従って、メモリ回路900、901、902は、多重化されていることになる。   In this embodiment, the memory portion 904 is provided with an odd number of three or more memory circuits. In the figure, three memory circuits 900, 901, and 902 are provided as an odd number of memory circuits. Write data and a write control signal are commonly supplied from the internal bus IF 7 to each of the memory circuits 900 901 902. The write control signal includes an address signal and a write enable signal. Thus, the same write data is written to the same address in each of the three memory circuits 900, 901, and 902. In addition, a read control signal including an address signal and a read enable signal is commonly supplied to the three memory circuits 900, 901, and 902. As a result, data is read from the same address in each of the memory circuits 900, 901, and 902. Therefore, the memory circuits 900, 901, and 902 are multiplexed.

メモリ回路900、901、902のそれぞれから読み出されたデータは、リード系信号として、読み出し制御回路905に供給される。読み出し制御回路905は、メモリ回路900、901、902のそれぞれから供給されるリード系信号を受けるデータ不一致判定回路903を有している。データ不一致判定回路903は、リード系信号の間で不一致が発生しているかを判定する。例えば、1個のメモリ回路902からのリード系信号が残りの2個のメモリ回路900、901からのリード系信号と異なる場合、データ不一致判定回路は、多数決の論理に従い、残り2個のメモリ回路900、901からのリード系信号が正しく読み出されたデータと判定し、出力する。また、不一致したことを示す不一致信号を、データ不一致判定回路903は形成する。   Data read from each of the memory circuits 900, 901, and 902 is supplied to the read control circuit 905 as a read system signal. The read control circuit 905 includes a data mismatch determination circuit 903 that receives read-related signals supplied from the memory circuits 900, 901, and 902, respectively. The data mismatch determination circuit 903 determines whether or not a mismatch occurs between the read signals. For example, when the read system signal from one memory circuit 902 is different from the read system signals from the remaining two memory circuits 900 and 901, the data mismatch determination circuit follows the majority logic and the remaining two memory circuits The read system signals 900 and 901 are determined to be correctly read data and output. In addition, the data mismatch determination circuit 903 forms a mismatch signal indicating that there is a mismatch.

データ不一致判定回路903から出力される不一致信号と正しく読み出されたデータとが、図5に示したリードECCエラー系情報15と見なされる。また、図4に示した診断動作においては、読み出し動作のときの不一致信号に応答して、ステップS401が開始される。この診断動作のステップS404で、メモリ部904に書き込まれるべき診断データは多数決の論理で正しいと判定したデータ(正しく読み出されたデータ)を用いる。すなわち、データ不一致判定回路903からのリードデータが、診断動作の時の書き込みデータとされる。診断動作のステップS406においても、データ不一致信号が形成された場合、このデータ不一致信号により、図6に示したRAM診断内容登録レジスタ600の動作を開始させる。   The mismatch signal output from the data mismatch determination circuit 903 and the correctly read data are regarded as the read ECC error system information 15 shown in FIG. In the diagnosis operation shown in FIG. 4, step S401 is started in response to the mismatch signal at the time of the read operation. In step S404 of the diagnosis operation, the data determined to be correct by the majority logic (data read correctly) is used as the diagnosis data to be written in the memory unit 904. That is, the read data from the data mismatch determination circuit 903 is used as the write data at the time of the diagnostic operation. Also in step S406 of the diagnostic operation, when a data mismatch signal is formed, the operation of the RAM diagnostic content registration register 600 shown in FIG. 6 is started by this data mismatch signal.

この実施の形態によれば、各メモリ回路900、901、903にECC回路を設ける必要がなくなり、メモリモジュールの高速化を図ることが可能となる。すなわち、奇数個のメモリ回路を用いることにより、多数決の論理で、正しく読み出されたデータを推定することが可能となる。また、データ不一致判定回路903において、ビット単位で3個のメモリ回路からのリード系信号を比較するため、ビットの位置が異なれば、2つのメモリ回路で異なる値を出力しても、エラーの訂正をすることが可能となる。   According to this embodiment, it is not necessary to provide an ECC circuit in each of the memory circuits 900, 901, and 903, and the speed of the memory module can be increased. That is, by using an odd number of memory circuits, it is possible to estimate correctly read data with the majority logic. In addition, since the data mismatch determination circuit 903 compares the read system signals from the three memory circuits in bit units, if the bit positions are different, even if different values are output by the two memory circuits, error correction is performed. It becomes possible to do.

この実施の形態においては、メモリ回路900、901、902が、一時的にエラーを発生しているときも、不一致信号が形成される。従って、不一致信号は、リードECCエラー系情報15と同様に、メモリ部904において少なくとも1個のメモリ回路が故障している可能性があることを示す故障可能性信号と見なすことができる。この場合、データ不一致判定回路903が、読み出し動作において、故障の可能性を検出する回路(故障検出回路)を構成していると見なすことができる。なお、読み出し制御回路905は、図5と同様に、主要部のみが、図9に示されている。   In this embodiment, a mismatch signal is formed even when the memory circuits 900, 901, and 902 temporarily generate errors. Therefore, similarly to the read ECC error system information 15, the mismatch signal can be regarded as a failure possibility signal indicating that there is a possibility that at least one memory circuit in the memory unit 904 has failed. In this case, it can be considered that the data mismatch determination circuit 903 constitutes a circuit (failure detection circuit) that detects the possibility of failure in the read operation. Note that only the main part of the read control circuit 905 is shown in FIG. 9, as in FIG.

(実施の形態3)
図6に示したRAM診断内容登録レジスタ600に、次のレジスタが追加される。この実施の形態においては、例えば、1個のアドレスに対して、ECC回路によって複数回のエラー検出が行われる。追加されるレジスタは、ECC回路によってエラーとして検出される回数の上限値を設定するエラー上限レジスタ(図示せず)と、ECC回路によってエラーなしとして検出される回数の上限値を設定する許容上限レジスタ(図示せず)である。
(Embodiment 3)
The following registers are added to the RAM diagnostic content registration register 600 shown in FIG. In this embodiment, for example, error detection is performed a plurality of times by an ECC circuit for one address. The added registers are an error upper limit register (not shown) for setting the upper limit value of the number of times detected as an error by the ECC circuit, and an allowable upper limit register for setting the upper limit value of the number of times detected as no error by the ECC circuit. (Not shown).

エラー上限レジスタと許容上限レジスタは、レジスタアクセス用パス26に接続され、CPU703により、それぞれのレジスタに値を設定できる様にされる。これらのエラー上限レジスタと許容上限レジスタを設けたことに対応して、バッドエリア情報登録レジスタ601には、診断動作において、ECC回路がエラーとして判定した回数をカウントする故障カウンタ(図示せず)と、診断動作において、ECC回路によりエラーが検出されなかった回数をカウントするパスカウンタ(図示せず)とが設けられる。   The error upper limit register and the allowable upper limit register are connected to the register access path 26 so that the CPU 703 can set values in the respective registers. Corresponding to the provision of these error upper limit register and allowable upper limit register, the bad area information registration register 601 includes a failure counter (not shown) that counts the number of times the ECC circuit has determined as an error in the diagnostic operation. A path counter (not shown) is provided for counting the number of times that no error is detected by the ECC circuit in the diagnostic operation.

上記したエラー上限レジスタ、許容上限レジスタ、故障カウンタおよびパスカウンタを設けた構成の動作を次に説明する。図10は、この実施の形態の動作を示すフロチャート図である。図10に示したステップS1001からS1013は、図4に示したステップS403からS410の代わりに実行される。すなわち、図4に示したステップS402の次に、図10に示したステップ(S1001からS1013)が実行される。図10に示したステップS1000は、図4に示したステップS400からS402を含んでいるものと理解されたい。   The operation of the configuration provided with the above error upper limit register, allowable upper limit register, failure counter and pass counter will be described next. FIG. 10 is a flowchart showing the operation of this embodiment. Steps S1001 to S1013 shown in FIG. 10 are executed instead of steps S403 to S410 shown in FIG. That is, steps (S1001 to S1013) shown in FIG. 10 are executed after step S402 shown in FIG. It should be understood that step S1000 shown in FIG. 10 includes steps S400 to S402 shown in FIG.

まず、初期設定としてステップS1000よりも以前のステップ(S9999)において、CPU703によって、上記したエラー上限レジスタおよび許容上限レジスタのそれぞれに数値を設定する。後の説明で理解されると思うが、1個のアドレスに対するECC回路を用いた診断は、それぞれのレジスタに設定された数値だけ実行される。言い換えるならば、エラー上限レジスタに設定された数値だけ、エラーの発生が検出されれば、1つのアドレスに対する診断動作は終了する。同様に、許容上限レジスタに設定された数値だけ、エラーなしが検出されれば、そのアドレスに対する診断動作は終了する。   First, as an initial setting, in step (S9999) prior to step S1000, the CPU 703 sets numerical values in each of the error upper limit register and the allowable upper limit register. As will be understood later, the diagnosis using the ECC circuit for one address is executed only for the numerical value set in each register. In other words, if the occurrence of an error is detected by the numerical value set in the error upper limit register, the diagnostic operation for one address is completed. Similarly, if no error is detected by the numerical value set in the allowable upper limit register, the diagnostic operation for that address is completed.

図10において、ステップS1001は、1個のアドレスに対する診断動作を開始する前の初期ステップである。このステップS1001において、上記した故障カウンタおよびパスカウンタのそれぞれは、それぞれの状態がクリアされる。次のステップS1002は、図4のステップS403とS404を含むステップであり、正しく読み出されたデータが診断のためのデータとして、1個の対象アドレスに書き込まれる。ステップS1003は、図4のステップS405を含むステップであり、上記した対象アドレスから、診断のために書き込んだデータとそれに基づいて形成された誤り訂正用データが、このステップで読み出される。ステップS1004は、図4のステップS406を含むステップである。このステップS1004において、対象アドレスから読み出されたデータを基にしてECC回路がエラーの有無(誤り情報)と、エラーの種類(1ビットエラーで訂正したことを示す訂正情報、2ビット以上のエラー発生で訂正不可を示す訂正不可情報)を判定する。   In FIG. 10, step S1001 is an initial step before the diagnostic operation for one address is started. In step S1001, the respective states of the failure counter and the pass counter described above are cleared. The next step S1002 is a step including steps S403 and S404 in FIG. 4, and correctly read data is written to one target address as data for diagnosis. Step S1003 is a step including step S405 of FIG. 4, and data written for diagnosis and error correction data formed based on the data are read out from the target address described above. Step S1004 is a step including step S406 of FIG. In step S1004, based on the data read from the target address, the ECC circuit indicates the presence / absence of an error (error information) and the type of error (correction information indicating that the error has been corrected with a 1-bit error, an error of 2 bits or more Uncorrectable information indicating that correction is not possible due to occurrence) is determined.

ステップS1004で、エラーが有りと判定した場合、ステップS1005において、上記した故障カウンタの値をインクリメントする。一方、ステップS1004で、エラーは無いと判定した場合、ステップS1006において、上記したパスカウンタの値をインクリメントする。次にステップS1007において、故障カウンタの値と上記したエラー上限レジスタに設定されている値との比較が行われる。この比較において、エラー上限レジスタに設定されている値よりも、故障カウンタの値が小さい場合、次にステップS1012が実行される。ステップS1012においては、パスカウンタの値と上記した許容上限レジスタに設定されている値との比較が行われる。許容上限レジスタに設定されている値が、パスカウンタの値よりも大きい場合、ステップS1002に戻る。これにより、ECC回路によりエラーとして判定された回数が、エラー上限レジスタに設定されている回数に達するまで、あるいはECC回路によりエラー無しと判定された回数が、許容上限レジスタに設定されている回数に達するまで、1個の対象アドレスに対して診断データの書き込み、読み出し、ECC回路による判定が繰り返される。   If it is determined in step S1004 that there is an error, the value of the failure counter described above is incremented in step S1005. On the other hand, if it is determined in step S1004 that there is no error, the value of the above-described pass counter is incremented in step S1006. In step S1007, the failure counter value is compared with the value set in the error upper limit register. In this comparison, when the value of the failure counter is smaller than the value set in the error upper limit register, step S1012 is executed next. In step S1012, the value of the pass counter is compared with the value set in the allowable upper limit register. When the value set in the allowable upper limit register is larger than the value of the pass counter, the process returns to step S1002. As a result, the number of times determined as an error by the ECC circuit reaches the number set in the error upper limit register, or the number determined as no error by the ECC circuit becomes the number set in the allowable upper limit register. Until it reaches, the diagnosis data is written to and read from one target address, and the determination by the ECC circuit is repeated.

ステップS1007において、故障カウンタの値がエラー上限レジスタに設定されている値(数値)よりも大きくなった場合、ステップS1008からS1011が実行される。ここで、ステップS1008は、図4のステップS407と同じ処理を行い、ステップS1009は、図4のステップS408と同じ処理を行う。また、ステップS1010は、図4のステップS409と同じ処理を行い、ステップ1011は、図4のステップS410と同じ処理を行う。ステップS1012において、パスカウンタの値が許容上限レジスタに設定されている値(数値)を超えたと判定された場合、次にステップS1013が実行される。ステップS1009およびステップ1011が終了したときも、次にステップS1013が実行される。ステップS1013において、1個のアドレスに対して診断が終了した旨を示す情報が形成される。このステップの後に図4に示したステップS411が実行される。   In step S1007, when the value of the failure counter becomes larger than the value (numerical value) set in the error upper limit register, steps S1008 to S1011 are executed. Here, step S1008 performs the same processing as step S407 in FIG. 4, and step S1009 performs the same processing as step S408 in FIG. Further, step S1010 performs the same process as step S409 in FIG. 4, and step 1011 performs the same process as step S410 in FIG. If it is determined in step S1012 that the value of the pass counter has exceeded the value (numerical value) set in the allowable upper limit register, step S1013 is executed next. When step S1009 and step 1011 are completed, step S1013 is executed next. In step S1013, information indicating that diagnosis has been completed for one address is formed. After this step, step S411 shown in FIG. 4 is executed.

この実施の形態によれば、1個の対象アドレスに対して複数回の診断が行われる。故障が、例えばソフトエラーにより発生しているのであれば、時間の経過によりエラーの発生は消滅する可能性がある。そのため、複数回の診断を繰り返すことにより、エラー無しと判定されるようになる。一方、故障がハード的に発生しているので有れば、複数回の診断を繰り返しても、エラー無しの判定には到達しないと考えられる。従って、この実施の形態によれば、故障の原因がハード的な原因かソフト的な原因かを特定して、対応することが可能となる。また、エラー上限レジスタと許容上限レジスタを別々に設けたことにより、信頼性を考慮して、それぞれに設定される上限の数値を変えることも可能である。もちろん、この2個のレジスタは、1個の上限レジスタに変更しても良い。この場合には、上限レジスタに、エラー発生の許容回数とエラー無しの許容回数が設定され、ステップS1007とS1012のそれぞれにおいて、上限レジスタの値が、故障カウンタとパスカウンタと比較される。この様にすることにより、半導体集積回路装置の小型化を図ることが可能となる。   According to this embodiment, a plurality of diagnoses are performed for one target address. If the failure occurs due to, for example, a soft error, the occurrence of the error may disappear over time. Therefore, it is determined that there is no error by repeating the diagnosis a plurality of times. On the other hand, if the failure occurs in hardware, it is considered that the determination of no error is not reached even if the diagnosis is repeated a plurality of times. Therefore, according to this embodiment, it is possible to identify and deal with whether the cause of the failure is a hardware cause or a software cause. In addition, by providing the error upper limit register and the allowable upper limit register separately, it is possible to change the upper limit value set for each in consideration of reliability. Of course, these two registers may be changed to one upper limit register. In this case, the allowable number of error occurrences and the allowable number of no errors are set in the upper limit register, and the values of the upper limit register are compared with the failure counter and the pass counter in steps S1007 and S1012, respectively. By doing so, it is possible to reduce the size of the semiconductor integrated circuit device.

(実施の形態4)
図11は、本発明に係わるバッドエリア管理回路の他の構成を示すブロック図である。同図に示したバッドエリア管理回路6は、図6に示したバッドエリア管理回路と類似しているので、相違点のみを説明する。
(Embodiment 4)
FIG. 11 is a block diagram showing another configuration of the bad area management circuit according to the present invention. Since the bad area management circuit 6 shown in the figure is similar to the bad area management circuit shown in FIG. 6, only the differences will be described.

この実施の形態においては、電気的に書き込み可能な不揮発性メモリ1102が、バッドエリア管理回路6に設けられる。本実施の形態では、フラッシュメモリが電気的に書き込み可能な不揮発性メモリ1102として用いられている。フラッシュメモリ1102は、フラッシュインタフェース回路(図では、フラッシュI/Fと記載している)1101を介してバッドエリア情報登録レジスタ601に接続されている。バッドエリア情報登録レジスタ601が有するアドレス変換テーブルにアドレスを登録すると、その登録したアドレスは、フラッシュインタフェース回路1101により、フラッシュメモリ1102にコピーされる。また、電源の投入に応答して、フラッシュインタフェース回路1101は、フラッシュメモリ1102に格納されているアドレスを、アドレス変換テーブルへ登録する。   In this embodiment, an electrically writable nonvolatile memory 1102 is provided in the bad area management circuit 6. In this embodiment mode, a flash memory is used as the electrically writable nonvolatile memory 1102. The flash memory 1102 is connected to the bad area information registration register 601 via a flash interface circuit (indicated as a flash I / F in the figure) 1101. When an address is registered in the address conversion table of the bad area information registration register 601, the registered address is copied to the flash memory 1102 by the flash interface circuit 1101. In response to power-on, the flash interface circuit 1101 registers the address stored in the flash memory 1102 in the address conversion table.

この実施の形態によれば、アドレス変換テーブルは、高速に動作する揮発性のレジスタにより構成することが可能であり、メモリモジュールの高速化を図ることができる。一方、電源投入の際には、フラッシュメモリ1102からアドレス変換テーブルに登録されるべきアドレスが、揮発性のレジスタに供給されて、保持される。そのため、電源遮断後に電源を投入した場合、診断動作においてアドレス変換テーブルへのアドレス登録を減らすことができる。その結果として、メモリモジュールの高速化を図ることが可能となる。   According to this embodiment, the address conversion table can be composed of volatile registers that operate at high speed, and the speed of the memory module can be increased. On the other hand, when the power is turned on, the address to be registered in the address conversion table from the flash memory 1102 is supplied to the volatile register and held. Therefore, when the power is turned on after the power is turned off, the address registration in the address conversion table can be reduced in the diagnostic operation. As a result, it is possible to increase the speed of the memory module.

(実施の形態5)
図12は、本発明に係わるバッドエリア管理回路6に設けられるレジスタの構成を示すブロック図である。本実施の形態では、バッドエリア管理回路6に複数の状態レジスタ1200から1204が設けられる。状態レジスタ1200〜1204のそれぞれは、レジスタアクセス用パス26に接続されている。各状態レジスタは、レジスタアクセス用パス26を介してCPU703によりアクセスできるようにされている。状態レジスタ1200〜1204には、メモリモジュールの状態を示す情報が格納され、CPU703によって読み出すことが可能とされる。例えば、状態レジスタ1200には、リードECCエラー系情報15に含まれている情報の内、メモリ回路2に関する情報(誤り情報、訂正情報、訂正不可情報)が格納される。状態レジスタ1201には、リードECCエラー系情報15に含まれている情報の内、メモリ回路3に関する情報(誤り情報、訂正情報、訂正不可情報)が格納される。
(Embodiment 5)
FIG. 12 is a block diagram showing a configuration of a register provided in the bad area management circuit 6 according to the present invention. In the present embodiment, the bad area management circuit 6 is provided with a plurality of status registers 1200 to 1204. Each of the status registers 1200 to 1204 is connected to the register access path 26. Each status register can be accessed by the CPU 703 via the register access path 26. Information indicating the state of the memory module is stored in the status registers 1200 to 1204 and can be read out by the CPU 703. For example, the status register 1200 stores information related to the memory circuit 2 (error information, correction information, uncorrectable information) among the information included in the read ECC error system information 15. The status register 1201 stores information (error information, correction information, uncorrectable information) regarding the memory circuit 3 among the information included in the read ECC error system information 15.

この実施の形態によれば、メモリモジュールの状態をCPU703が確認することができ、故障の解析を容易化することが可能となる。   According to this embodiment, the CPU 703 can confirm the state of the memory module, and the failure analysis can be facilitated.

(実施の形態6)
バッドエリア管理回路6に、1ビットエラーを許可する許可レジスタが設けられる。この許可レジスタは、レジスタアクセス用パス26を介して、その値が設定できるようにされる。この許可レジスタに1ビットエラーを許可する情報をCPU703によって設定する。1ビットエラーを許可する情報を設定することにより、メモリ回路2および3のそれぞれにおいて、1個のアドレスに格納されるデータに1ビットの誤りが含まれていても、アドレス変換テーブルには、そのアドレスを指定するアドレス値は登録されない。これにより、アドレス変換テーブルに登録される数の低減を図ることが可能となる。この場合、アドレス変換テーブルに登録されないので、予備のエリアの消費についても低減を図ることが可能となり、例えば2ビット以上のエラーに対する救済を多くすることが可能となる。
(Embodiment 6)
The bad area management circuit 6 is provided with a permission register that permits a 1-bit error. The permission register can be set through the register access path 26. The CPU 703 sets information for permitting a 1-bit error in this permission register. By setting information that permits a 1-bit error, even if a 1-bit error is included in data stored in one address in each of the memory circuits 2 and 3, the address conversion table includes Address values that specify addresses are not registered. This makes it possible to reduce the number registered in the address conversion table. In this case, since it is not registered in the address conversion table, it is possible to reduce the consumption of the spare area, and for example, it is possible to increase the relief for errors of 2 bits or more.

図4のステップS406において、エラーを有していると判定された場合、図4の実施の形態では、次にステップS407が実施される。本実施の形態においては、ステップS407を実行する前に、許可レジスタに許可を表す情報が設定されているかを確認するステップAS1(図示せず)が追加される。また、この確認するステップAS1で、許可を表す情報が設定されていると判定した場合には、リードECCエラー系情報15に含まれるメモリ回路2および3のエラー情報を確認するステップAS2(図示せず)が追加される。ステップAS2では、メモリ回路2および3からのエラー情報が、2ビット以上のエラーで訂正不可を表す情報が含まれているかを確認する。2ビット以上のエラーで訂正不可を表す情報が含まれている場合は、図4に示したステップS409を実行し、アドレス変換テーブルへの登録を行う。これに対して、2ビット以上のエラーで訂正不可を表す情報が含まれていない場合には、次にステップS411を実行する。また、ステップAS1で、許可レジスタに、許可を表す情報が登録されていないと判断した場合には、次に図4のステップS407が実行される。   If it is determined in step S406 in FIG. 4 that there is an error, in the embodiment in FIG. 4, step S407 is performed next. In the present embodiment, step AS1 (not shown) for confirming whether information indicating permission is set in the permission register is added before executing step S407. If it is determined in step AS1 to confirm that information indicating permission is set, step AS2 (not shown) for confirming error information of the memory circuits 2 and 3 included in the read ECC error system information 15 is shown. ) Is added. In step AS2, it is confirmed whether the error information from the memory circuits 2 and 3 includes information indicating an uncorrectable error with an error of 2 bits or more. When information indicating that correction is not possible due to an error of 2 bits or more is included, step S409 shown in FIG. 4 is executed, and registration in the address conversion table is performed. On the other hand, when information indicating that correction is not possible due to an error of 2 bits or more is not included, step S411 is executed next. If it is determined in step AS1 that information indicating permission is not registered in the permission register, step S407 in FIG. 4 is executed next.

(実施の形態7)
図4に示したステップS404からS406が削除され、ステップS403とステップS407との間に、2回の診断ステップ(診断用のデータの書き込み、読み出し、エラー判定)が追加される。1回目の診断ステップでは、正しく読み出されたデータに対してビット反転した診断用のデータが作成され、対象のアドレスに書き込まれる。次に、書き込まれたデータを読み出し、リードECCエラー系情報15に基づいてエラーの有無を判断し、判断結果を一時的に保持しておく。2回目の診断ステップでは、正しく読み出されたデータを対象のアドレスに書き込む。その後で、対象のアドレスからデータの読み出しを行い、リードECCエラー系情報15に基づいてエラーの有無を判断する。保存しておいた1回目の判断結果と2回目の判断結果のいずれかで、エラーであることを示す結果があった場合、その対象のアドレスをアドレス変換テーブルに登録して、予備のエリアにあるアドレスに代替えする様に、図4のステップS407からS411を実行する。これに対して、1回目の判断結果と2回目の判断結果のいずれもが、エラーであることを示す結果を含んでいない場合には、アドレス変換テーブルへの登録をせずに、次にステップS411を実行する。
(Embodiment 7)
Steps S404 to S406 shown in FIG. 4 are deleted, and two diagnostic steps (writing of diagnostic data, reading, and error determination) are added between steps S403 and S407. In the first diagnostic step, diagnostic data in which bits are inverted with respect to correctly read data is created and written to a target address. Next, the written data is read, the presence / absence of an error is determined based on the read ECC error system information 15, and the determination result is temporarily held. In the second diagnosis step, correctly read data is written to the target address. Thereafter, data is read from the target address, and the presence or absence of an error is determined based on the read ECC error system information 15. If there is a result indicating an error in either the first judgment result or the second judgment result that has been saved, the target address is registered in the address conversion table and stored in the spare area. Steps S407 to S411 in FIG. 4 are executed so as to substitute for a certain address. In contrast, if neither the first determination result nor the second determination result includes a result indicating an error, the next step is not registered in the address conversion table. S411 is executed.

1回目の診断ステップで、正しく読み出されたデータをビット反転させて形成させたデータを診断用の書き込みデータとして用いる様にした。これにより、1回目の診断ステップでは、その前の書き込み動作の時とはビット反転したデータが書き込まれることになる。これにより、対象のアドレスにおける各ビットが診断用のデータにおける各ビットに追従して変化しているかを確認することができ、診断の誤りを低減し、信頼性の向上を図ることができる。なお、2回目の診断ステップで正しく読み出されたデータを書き込むようにしているので、2回目にビット反転した診断用のデータを書き込むのに比べて、書き込み回数の低減を図ることが可能となる。   In the first diagnosis step, data formed by bit-inverting correctly read data is used as write data for diagnosis. As a result, in the first diagnosis step, data that is bit-inverted compared to the previous write operation is written. As a result, it is possible to check whether each bit in the target address changes following each bit in the diagnostic data, thereby reducing diagnostic errors and improving reliability. Since the data read out correctly in the second diagnostic step is written, it is possible to reduce the number of times of writing compared to writing the diagnostic data bit-inverted in the second time. .

以上本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、各実施の形態を、相互に組み合わせても良いし、ECC回路は2ビット以上のエラーに対して訂正可能なECC回路であっても良い。   Although the invention made by the inventor has been specifically described based on the above embodiment, the present invention is not limited to the above embodiment, and various modifications can be made without departing from the scope of the invention. For example, the embodiments may be combined with each other, and the ECC circuit may be an ECC circuit that can correct an error of 2 bits or more.

1 メモリ部
2、3 メモリ回路
4 書き込み制御回路
5 読み出し制御回路
6 バッドエリア管理回路
7 内部バスIF
700 半導体集積回路装置
701 メモリモジュール
703 CPU
DESCRIPTION OF SYMBOLS 1 Memory part 2, 3 Memory circuit 4 Write control circuit 5 Read control circuit 6 Bad area management circuit 7 Internal bus IF
700 Semiconductor Integrated Circuit Device 701 Memory Module 703 CPU

Claims (10)

1個の半導体チップに形成された内部回路と前記内部回路に接続されたメモリモジュールとを含む半導体集積回路装置であって、
前記メモリモジュールは、
互いに同じデータが書き込まれる複数のメモリ回路と、
供給されるアドレス信号を内部読み出しアドレス信号として、前記複数のメモリ回路へ供給する読み出し制御回路であって、前記内部読み出しアドレス信号により、前記複数のメモリ回路のそれぞれからデータが読み出されたとき、前記複数のメモリ回路のうちの少なくとも1個に故障の可能性がある場合、故障可能性信号を形成する検出回路を含む読み出し制御回路と、
供給されるアドレス信号を内部書き込みアドレス信号として、前記複数のメモリ回路へ供給する書き込み制御回路と、
前記故障可能性信号の形成に応答して、前記内部読み出しアドレス信号をアドレス信号として前記書き込み制御回路へ供給し、前記複数のメモリ回路へデータの書き込みを指示し、前記読み出し制御回路に対して、故障可能性信号が形成されたときの内部読み出しアドレス信号に基づく読み出しを指示するバッドエリア管理回路と、
を具備し、
前記バッドエリア管理回路は、前記読み出しの指示により、前記複数のメモリ回路のそれぞれからデータが読み出されたときに、前記検出回路が故障可能性信号を形成した場合、故障可能性信号が形成されたときの内部読み出しアドレス信号を、それとは異なるアドレスを指定する第1アドレス信号へ変換し、前記書き込み制御回路へ供給し、前記複数のメモリ回路に対してデータの書き込みを指示する、半導体集積回路装置。
A semiconductor integrated circuit device including an internal circuit formed in one semiconductor chip and a memory module connected to the internal circuit,
The memory module is
A plurality of memory circuits to which the same data is written;
A read control circuit that supplies the supplied address signal as an internal read address signal to the plurality of memory circuits, and when data is read from each of the plurality of memory circuits by the internal read address signal, A read control circuit including a detection circuit for forming a failure possibility signal when at least one of the plurality of memory circuits has a possibility of failure;
A write control circuit for supplying the supplied address signal to the plurality of memory circuits as an internal write address signal;
In response to the formation of the failure possibility signal, the internal read address signal is supplied to the write control circuit as an address signal, and data write is instructed to the plurality of memory circuits. A bad area management circuit for instructing reading based on an internal read address signal when a failure possibility signal is formed;
Comprising
The bad area management circuit generates a failure possibility signal when the detection circuit forms a failure possibility signal when data is read from each of the plurality of memory circuits according to the read instruction. A semiconductor integrated circuit that converts the internal read address signal into a first address signal that designates an address different from the internal read address signal, supplies the first address signal to the write control circuit, and instructs the plurality of memory circuits to write data apparatus.
請求項1記載の半導体集積回路装置において、
前記バッドエリア管理回路は、メモリ回路から正しく読み出されたデータを保持する保持回路を有し、前記保持回路に保持されたデータが、前記第1アドレス信号により指定されるアドレスへ書き込むデータとされる、半導体集積回路装置。
The semiconductor integrated circuit device according to claim 1.
The bad area management circuit has a holding circuit that holds data correctly read from the memory circuit, and the data held in the holding circuit is data to be written to an address specified by the first address signal. A semiconductor integrated circuit device.
請求項2記載の半導体集積回路装置において、
前記バッドエリア管理回路は、変換前のアドレス信号と変換後の第1アドレス信号とを、それぞれ対として、複数対を保持するアドレス変換テーブルを有し、
第1アドレス信号への変換に際し、前記内部読み出しアドレス信号に相当するアドレス信号が、変換前のアドレス信号として、前記アドレス変換テーブルに保持されていないとき、第1アドレス信号を生成し、前記内部読み出しアドレス信号に相当するアドレス信号と生成した第1アドレス信号とを対として、前記アドレス変換テーブルに保持させる、半導体集積回路装置。
The semiconductor integrated circuit device according to claim 2.
The bad area management circuit has an address conversion table that holds a plurality of pairs, each pair of the address signal before conversion and the first address signal after conversion,
When an address signal corresponding to the internal read address signal is not held in the address conversion table as an address signal before conversion in the conversion to the first address signal, a first address signal is generated and the internal read is performed. A semiconductor integrated circuit device that stores an address signal corresponding to an address signal and a generated first address signal as a pair in the address conversion table.
請求項3記載の半導体集積回路装置において、
前記メモリモジュールは、前記内部回路で形成された外部書き込みアドレス信号を受け、書き込みアドレス信号を出力するインタフェース回路を具備し、
前記バッドエリア管理回路は、前記アドレス変換テーブルに格納されている変換前のアドレス信号と前記書き込みアドレス信号との一致を検出し、一致する場合、一致した変換前のアドレス信号と対をなす変換後の第1アドレス信号を、前記書き込み制御回路に供給し、変換後の第1アドレス信号によって指定されるアドレスにデータの書き込みが行われる様にする、半導体集積回路装置。
The semiconductor integrated circuit device according to claim 3.
The memory module includes an interface circuit that receives an external write address signal formed by the internal circuit and outputs a write address signal;
The bad area management circuit detects a match between the address signal before conversion stored in the address conversion table and the write address signal, and if they match, the bad address management circuit forms a pair with the matched address signal before conversion. The first address signal is supplied to the write control circuit, and data is written to the address specified by the converted first address signal.
請求項4記載の半導体集積回路装置において、
前記インタフェース回路は、前記内部回路で形成された外部読み出しアドレス信号を受け、読み出しアドレス信号を出力し、
前記バッドエリア管理回路は、前記アドレス変換テーブルに格納されている変換前のアドレス信号と、前記読み出しアドレス信号との一致を検出し、一致する場合、一致した変換前のアドレス信号と対をなす変換後の第1アドレス信号を、前記読み出し制御回路へ供給し、変換後の第1アドレス信号によって指定されるアドレスからデータが読み出される様にする、半導体集積回路装置。
The semiconductor integrated circuit device according to claim 4.
The interface circuit receives an external read address signal formed by the internal circuit and outputs a read address signal;
The bad area management circuit detects a match between the address signal before conversion stored in the address conversion table and the read address signal, and in the case of a match, a conversion that forms a pair with the matching address signal before the conversion A semiconductor integrated circuit device that supplies a subsequent first address signal to the read control circuit so that data is read from an address specified by the converted first address signal.
請求項5記載の半導体集積回路装置において、
前記複数のメモリ回路のそれぞれは、
供給される内部読み出しアドレス信号によって指定されるアドレスに、データと該データに基づいて形成された訂正用データとを保持するメモリ部と、
内部読み出しアドレス信号に応答して、読み出し動作が行われたとき、読み出されたデータと訂正用データとによりデータのチェックを行い、データを訂正するとき、訂正情報を出力するECC回路と、
を具備し、
前記検出回路は、前記複数のメモリ回路におけるECC回路からの訂正情報を受け、前記故障可能性信号を形成する、半導体集積回路装置。
The semiconductor integrated circuit device according to claim 5.
Each of the plurality of memory circuits includes
A memory unit that holds data and correction data formed based on the data at an address specified by the supplied internal read address signal;
An ECC circuit that, when a read operation is performed in response to an internal read address signal, checks the data with the read data and correction data, and outputs correction information when correcting the data;
Comprising
The semiconductor integrated circuit device, wherein the detection circuit receives correction information from an ECC circuit in the plurality of memory circuits and forms the failure possibility signal.
請求項6記載の半導体集積回路装置において、
前記複数のメモリ回路のそれぞれにおけるECC回路は、訂正用データによりデータを訂正することが不可能な場合、訂正不可を示す訂正不可情報を出力し、
前記検出回路は、前記複数のメモリ回路のそれぞれにおけるECC回路から、訂正不可情報が供給された場合、故障信号を形成し、前記バッドエリア管理回路に供給する、半導体集積回路装置。
The semiconductor integrated circuit device according to claim 6.
When the ECC circuit in each of the plurality of memory circuits cannot correct the data with the correction data, it outputs uncorrectable information indicating uncorrectable,
The semiconductor integrated circuit device, wherein when the uncorrectable information is supplied from the ECC circuit in each of the plurality of memory circuits, the detection circuit forms a failure signal and supplies the failure signal to the bad area management circuit.
請求項7記載の半導体集積回路装置において、
前記内部回路は、マイクロプロセッサを含み、
前記バッドエリア管理回路は、前記故障可能性信号の形成に応答して、前記インタフェース回路へビジー信号を供給し、前記インタフェース回路は、ビジー信号に応答して、前記マイクロプロセッサに前記メモリモジュールへのアクセスを制限する制御信号を形成する、半導体集積回路装置。
The semiconductor integrated circuit device according to claim 7,
The internal circuit includes a microprocessor;
The bad area management circuit supplies a busy signal to the interface circuit in response to forming the failure possibility signal, and the interface circuit responds to the busy signal to the microprocessor to the memory module. A semiconductor integrated circuit device for forming a control signal for restricting access.
請求項8記載の半導体集積回路装置において、
前記バッドエリア管理回路は、前記マイクロプロセッサにより、アクセス可能なレジスタを具備し、
前記レジスタには、前記ECC回路からの訂正情報および訂正不可情報が、保持される、半導体集積回路装置。
The semiconductor integrated circuit device according to claim 8.
The bad area management circuit includes a register accessible by the microprocessor;
A semiconductor integrated circuit device, wherein the register holds correction information and uncorrectable information from the ECC circuit.
請求項5記載の半導体集積回路装置において、
前記複数のメモリ回路は、奇数個のメモリ回路であり、
前記検出回路は、内部読み出しアドレス信号に応答して、前記奇数個のメモリ回路のそれぞれから読み出されたデータを受け、読み出されたデータ間で相違があるとき、前記故障可能性信号を形成する、半導体集積回路装置。
The semiconductor integrated circuit device according to claim 5.
The plurality of memory circuits is an odd number of memory circuits;
The detection circuit receives data read from each of the odd number of memory circuits in response to an internal read address signal, and forms the failure possibility signal when there is a difference between the read data A semiconductor integrated circuit device.
JP2013045507A 2013-03-07 2013-03-07 Semiconductor integrated circuit device Active JP5964265B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013045507A JP5964265B2 (en) 2013-03-07 2013-03-07 Semiconductor integrated circuit device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013045507A JP5964265B2 (en) 2013-03-07 2013-03-07 Semiconductor integrated circuit device

Publications (2)

Publication Number Publication Date
JP2014174670A JP2014174670A (en) 2014-09-22
JP5964265B2 true JP5964265B2 (en) 2016-08-03

Family

ID=51695860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013045507A Active JP5964265B2 (en) 2013-03-07 2013-03-07 Semiconductor integrated circuit device

Country Status (1)

Country Link
JP (1) JP5964265B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019211927A1 (en) * 2018-05-01 2019-11-07 三菱電機株式会社 Memory diagnosis device and memory diagnosis method
JP7485877B2 (en) 2022-08-10 2024-05-17 Necプラットフォームズ株式会社 Information processing system, processing method, and program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5622293A (en) * 1979-07-30 1981-03-02 Fujitsu Ltd Control system for replacement memory
JPS6024493B2 (en) * 1980-06-23 1985-06-13 日本電信電話株式会社 Memory control method
JPH01282659A (en) * 1988-05-10 1989-11-14 Nec Corp Majority decision circuit with error corection writing function
JPH0644144A (en) * 1992-07-23 1994-02-18 Mitsubishi Electric Corp Semiconductor disk device
JPH11249969A (en) * 1997-10-09 1999-09-17 Matsushita Electric Ind Co Ltd Address conversion circuit and address conversion system
JP5331018B2 (en) * 2010-01-22 2013-10-30 株式会社日立製作所 Solid state drive device and mirror configuration reconfiguration method

Also Published As

Publication number Publication date
JP2014174670A (en) 2014-09-22

Similar Documents

Publication Publication Date Title
KR101374455B1 (en) Memory errors and redundancy
JP4918824B2 (en) Memory controller and memory control method
US8650440B2 (en) Processor based system having ECC based check and access validation information means
US6941493B2 (en) Memory subsystem including an error detection mechanism for address and control signals
US8140940B2 (en) Method and apparatus for controlling memory
JPH03198135A (en) Fault tolerant memory system and method of operating the same
JP6282482B2 (en) Programmable circuit device and configuration information restoration method
JP2013196393A (en) Arithmetic processing unit and control method of arithmetic processing unit
JP2001249911A (en) Data transfer method and data processing system
JP5964265B2 (en) Semiconductor integrated circuit device
JP5099342B2 (en) Component mounting board for PLC
WO2003073285A2 (en) Memory subsystem including an error detection mechanism for address and control signals
US9043655B2 (en) Apparatus and control method
US11768731B2 (en) System and method for transparent register data error detection and correction via a communication bus
JP2001290710A (en) Device for detecting data error
JPWO2012046343A1 (en) Memory module redundancy method, storage processing device, and data processing device
JP7379932B2 (en) Control device, user program execution control method, and system program
JP2005309580A (en) Storage control system and boot control system
JP6193112B2 (en) Memory access control device, memory access control system, memory access control method, and memory access control program
US10379971B2 (en) Single and double chip space
JP2009176094A (en) Transfer device, control method thereof, and information processing apparatus
JP5632804B2 (en) Control device with bus diagnostic function
JP2009116978A (en) Semiconductor storage device
JP2022148854A (en) Storage device
JP2015001774A (en) Semiconductor integrated circuit and processing method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160518

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160629

R150 Certificate of patent or registration of utility model

Ref document number: 5964265

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150