JP5964265B2 - Semiconductor integrated circuit device - Google Patents
Semiconductor integrated circuit device Download PDFInfo
- 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
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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.
特許文献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.
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部分には原則として同一の符号を付し、その繰り返しの説明は省略する。 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,
リクエスト信号706は内部バス704を介してメモリモジュール701に供給される。メモリモジュール701は、リクエスト信号706を受けることにより、CPU703からのアクセス要求を知り、アクセス要求を受け付ける場合、すなわちCPU703によるデータの読み出し動作あるいは書き込み動作を許可する場合、アクノリッジ信号707を発行する。このアクノリッジ信号707は、内部バス704を介して、CPU703に伝えられる。CPU703は、アクノリッジ信号707を受けることにより、メモリモジュール701に対して読み出し動作あるいは書き込み動作を開始する。一方、メモリモジュール701からアクノリッジ信号707が供給されない場合、アクノリッジ信号707が供給されるまで、CPU703は、メモリモジュール701に対するアクセスを待機する。なお、リクエスト信号706とアクノリッジ信号707の信号経路は、内部バス704とは、別であっても良い。
The
(実施の形態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
メモリ回路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
メモリ回路2および3に格納されたデータ(データ10と誤り訂正用データ)は、読み出し制御回路5から、メモリ部1に供給されるリード制御信号13により、読み出される。リード制御信号13は、メモリ回路2および3に供給される内部読み出しアドレス信号と読み出し動作を指示するリードイネーブル信号を含んでいる。メモリ回路2および3のそれぞれは、リードイネーブル信号により読み出し動作が指示されると、内部読み出しアドレス信号により指定されたアドレス(メモリ部2b、3bのアドレス)からデータが出力される。出力されたデータの内、誤り訂正用データは、それぞれのメモリ回路に設けられたECC回路2aおよび3aに供給される。訂正用データに基づいて、ECC回路2a、3aのそれぞれは、出力されたデータの内、データ10に対応するデータに誤りが含まれているかのチェックを行い、誤りが含まれていないデータあるいは誤り訂正用データで訂正したデータをリードデータ12として読み出し制御回路5へ供給する。
Data (
特に制限されないが、本明細書において述べる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回路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
この様に、書き込み動作においては、同じデータを2個のメモリ回路2および3に書き込み、読み出し動作においては、同じデータを2個のメモリ回路から読み出す様にして、メモリの二重化をしている。また、ECC回路を設けることにより、1ビットの誤りが含まれていた場合でも、正しいデータが出力できる様にしている。
In this manner, the same data is written to the two
バッドエリア管理回路6は、その詳細を後で図面を用いて説明するので、ここでは概要を説明する。メモリ回路2および3のいずれかからエラー系情報が発行された場合、バッドエリア管理回路6は、メモリ回路2および3の診断を実行させる。診断を実行した結果、故障であると判断した場合、バッドエリア管理回路6は、その故障のアドレスの代替えとなるアドレスを形成し、代替えアドレスにデータ(書き込むべきデータとそれに基づいて形成された誤り訂正用データ)を書き込む様に管理する。また、診断の結果として故障と判断したアドレスに対して、その後、書き込みあるいは読み出しのアクセスが生じた場合、代替えのアドレスに対してアクセスが行われる様に、バッドエリア管理回路はアドレスの管理を実行する。特に制限されないが、バッドエリア管理回路6は、診断を実施している期間、アクセス元(図7の実施例ではCPU703)に対してアクセスを待機させる。
Since the details of the bad
読み出し制御回路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
例えば、メモリ回路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
また、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
読み出し制御回路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
これにより、読み出しアドレス値20を内部書き込みアドレス信号として、メモリ回路2、3内のメモリ部2b、3bのそれぞれにおいて、それぞれ指定されたアドレスに、リードECCエラー系情報15に含まれていた訂正の必要がなかった処理用データが書き込まれる。すなわち、ECC回路により訂正を行ったデータが格納されていた、メモリ回路2および/あるいは3のそれぞれのアドレスに、訂正の必要がなかった処理用データが再度書き込まれる。このとき、処理用データに基づいて、それぞれのECC回路2aおよび3aでは、誤り訂正用データが生成される。生成された誤り訂正用データも、読み出しアドレス値20により指定されたアドレスに書き込まれる。すなわち、訂正を必要としなかった処理用データとそれに対応した誤り訂正用データの両方が、メモリ回路2および3のそれぞれにおいて読み出しアドレス値20により指定されたアドレスに再度書き込まれる。
As a result, the read
バッドエリア管理回路6は、上記した再度書き込みの後、診断結果リード要求17を読み出し制御回路5に供給する。診断結果リード要求17は、読み出しアドレス値20として通知されたアドレス信号とリードイネーブル信号とを含んでいる。
The bad
読み出し制御回路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
バッドエリア管理回路6は、診断結果リード要求17を発行した後、リードECCエラー系情報15が供給されると、メモリ回路2、3内のメモリ部2b、3bのそれぞれに予め設定してある予備のメモリエリアの特定アドレスを指定するアドレス信号を形成する。この形成されたアドレス信号と、ライトイネーブル信号と、訂正の必要なしとして先に供給されていた処理用データとを含む診断データライト要求16が、書き込み制御回路4に供給される。書き込み制御回路4は、この診断データライト要求16を受けると、それに含まれているアドレス信号を内部書き込み用アドレス信号として、訂正の必要なしとして先に供給されていた処理用データを書き込み用のデータとして、メモリ部1に供給する。これにより、メモリ回路2および3のそれぞれにおいて、予備エリア内のアドレスに、訂正の必要なしとして先に供給されていた処理用データが書き込まれる。
When the read ECC
また、この書き込みの際には、誤り訂正用データも、ECC回路2aおよび3aのそれぞれにおいて形成され、予備エリア内のアドレスに書き込まれる。このようにして、診断結果リード要求17に応答して、誤りを示す誤り情報と、訂正情報あるいは訂正不可情報が発行された場合には、メモリ回路2および3のそれぞれに予め設けられていた予備のエリアにデータが格納される。
At the time of writing, error correction data is also formed in each of the
バッドエリア管理回路6は、予備のメモリエリア内のアドレスを示すアドレス信号を形成した際、この形成したアドレス信号と読み出しアドレス値20として供給されたアドレス信号とを、1対として登録するレジスタを有している。すなわち、変換前のアドレス信号と変換後のアドレス信号とを1対として登録するレジスタを有している。
When the bad
CPU703からメモリモジュール701へのアクセスは、内部バスIF7を介して行われる。例えば、CPU703からメモリモジュール701へ書き込みのアクセスをする場合、CPU703からメモリモジュール701へ供給される外部書き込みアドレス信号と、書き込まれるべきデータと、ライトイネーブル信号は、内部バス704を介して、内部バスIF7に供給され、内部バスIF7からライト要求23として書き込み制御回路4に供給される。すなわち、ライト要求23は、外部書き込みアドレス信号と、ライトイネーブル信号と、書き込まれるべきデータとを含んでいる。書き込み制御回路4は、供給された外部書き込みアドレス信号を書き込みアドレス値18として、バッドエリア管理回路6に供給する。バッドエリア管理回路6は、書き込みアドレス値18として供給された外部書き込みアドレス信号が、前記レジスタに登録されているか否かの確認を行う。すなわち、書き込みアドレス値18として供給された外部書き込みアドレス信号が、アドレス信号を変換する前のアドレス信号として登録されているアドレス信号と一致するか否かの確認が実行される。
Access from the
一致した場合、一致したことを示す一致信号と、一致した変換前のアドレス信号と対を構成している変換後のアドレス信号を、書き込みアドレス変換要求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
一方、書き込みアドレス値18として供給された外部書き込み用アドレス信号が、アドレス信号を変換する前のアドレス信号として登録されているアドレス信号と一致しなかった場合、一致信号が書き込み制御回路4に供給されないため、書き込み制御回路4は、ライト要求23に含まれている外部書き込み用アドレス信号をメモリ部1に供給する。これにより、外部書き込み用アドレス信号によって指定されるアドレスにデータの書き込みが行われる。
On the other hand, if the external write address signal supplied as the
CPU703によるメモリモジュール701へのアクセスが、読み出しの場合を次に説明する。CPU703により出力された外部読み出しアドレス信号と、リードイネーブル信号は、内部バス704を介して内部バスIF7に供給される。内部バスIF7は、供給された外部読み出しアドレス信号とリードイネーブル信号をリード要求24として、読み出し制御回路5に供給する。読み出し制御回路5は、供給された外部読み出し用アドレス信号を読み出しアドレス値20として、バッドエリア管理回路6に供給する。
Next, a case where the access to the
バッドエリア管理回路6は、供給された読み出しアドレス値20と、上記したレジスタに登録されているアドレスの変換前のアドレス信号と比較を行う。一致した場合、一致した変換前のアドレス信号と対を構成している変換後のアドレス信号をレジスタから読み出して、バッドエリア管理回路6は、読み出しアドレス変換要求21として読み出し制御回路5に供給する。このとき、一致したことを示す一致信号も読み出しアドレス変換要求21の一部としてバッドエリア管理回路6から読み出し制御回路5へ供給される。読み出し制御回路5は、供給された読み出しアドレス変換要求21に含まれているアドレス信号(この場合には、変換後のアドレス信号)をメモリ部1に供給して、メモリ回路2、3内のメモリ部2b、3bから処理用データおよび誤り訂正用データの読み出しを行う。この場合、リードイネーブル信号は、バッドエリア管理回路6から読み出しアドレス変換要求21とともに、読み出し制御回路5に供給しても良いし、リード要求24に含まれているリードイネーブル信号を用いても良い。
The bad
供給された読み出しアドレス値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
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
バッドエリア管理回路6は、同図には示されていないが複数のレジスタを有しており、これらのレジスタをアクセスするための経路が、26で示されている。また、メモリモジュール701の故障等を、CPU703に通知するために、本実施の形態では、割り込み制御を用いており、その信号がバッドエリア管理回路6から割り込み通知用信号27として示されている。割り込み通知用信号27は、内部バス704を介さずに、CPU703へ供給するため、内部バスIF7には供給されていない。
The bad
本実施の形態では、ECC回路2aおよび3aにより、1ビットの誤りを訂正しても、診断動作を実行する様にしている。この様にすることにより、ソフトエラーによる故障であれば、診断動作で故障と判断される可能性が低くなり、予備のメモリエリアを用いずに、継続してメモリ回路2、3の正規領域を使うことができる。一方、ハード的な故障であれば、診断動作において、誤りを示す情報、訂正情報あるいは訂正不可情報が発生するため、予備のメモリエリアを用いる様にできる。ハード的な故障に対して予備のメモリエリアを用いるようにすることにより、ハード的なエラーとソフトエラーとが重なって、ECC回路の訂正能力を超えるようなエラーが発生するのを低減することが可能となる。また、常時診断動作を行うのではなく、ECC回路により、誤りを示す誤り情報、訂正情報、訂正不可情報が形成された場合に、診断動作が行われるため、診断回数を低減することが可能となり、消費電力の増大を低減することが可能となる。
In the present embodiment, the
上述では、診断データおよび予備エリア内のアドレスに書き込まれるデータとして、訂正の必要なしとして先に供給されていた処理用データを用いることを述べた。しかしながら、診断データおよび予備エリア内のアドレスに書き込まれるデータは、訂正されて、正しいデータとなったものでも良い。従って、この実施の形態においては、診断データおよび予備エリアに書き込まれるデータは、訂正の必要なしとして先に供給されていた処理用データだけでなく、後で図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
図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
ビジー信号22が、バッドエリア管理回路6で形成されていない場合、内部バスIF7は、ステップS203でアクノリッジ信号707を形成して、CPU703へメモリモジュール701の使用許可を知らせる。これに応答して、CPU703から、外部書き込みアドレス信号と書き込まれるべきデータがメモリモジュール701に供給される。供給されたデータおよび外部書き込みアドレス信号は、内部バスIF7から書き込み制御回路4に対して、ライト要求23として供給される(ステップS204)。書き込み制御回路4は、供給された外部書き込みアドレス信号を書き込みアドレス値18としてバッドエリア管理回路6に供給する(ステップS205)。
If the
バッドエリア管理回路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
書き込み制御回路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
次に、メモリモジュール701における読み出し動作を図3Aおよび図3Bのフロチャート図に基づいて説明する。読み出し動作は、以下に述べるステップS300からS321によって実行される。これらのステップの内、ステップS300からS309までが、図3Aに示されており、ステップS310からS321までが、図3Bに示されている。図3AのステップS309の後に、図3Bのステップ310が実行される。
Next, a read operation in the
図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
ステップS304において、内部バスIF7から読み出し制御回路5に、外部読み出しアドレス信号を含むリード要求24が供給される。読み出し制御回路5は、外部読み出しアドレス信号を読み出しアドレス値20として、バッドエリア管理回路6に供給する(ステップS305)。
In step S304, the read
バッドエリア管理回路6は、バッドエリア情報登録レジスタ601(後述する)を有しており、供給された読み出しアドレス値20に該当するアドレス信号がバッドエリア情報登録レジスタに登録されているか否かの判断を行う。該当するアドレス信号が、登録されていた場合、次にステップS307が実行される。ステップS307においては、バッドエリア管理回路6からアドレス信号が、読み出しアドレス変換要求21として出力され、読み出し制御回路5に設定される。一方、該当するアドレス信号が、バッドエリア管理回路6に登録されていない場合には、内部バスIF7からリード要求24として供給された外部読み出しアドレス信号が、ステップS308において、読み出し制御回路5に設定される。
The bad
次に、読み出し制御回路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
メモリ回路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
ステップ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
ステップ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
分類(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
読み出し制御回路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
ステップ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
ECC回路2aおよび3aの両方が、エラーなしを示した場合には、ステップS321が実行される。ステップS321では、いずれかのメモリ回路から読み出されたデータが、リードデータ25として、内部バスIF7へ供給され、CPU703に供給される。
When both the
図4には、メモリモジュール701における診断動作を示すフロチャートが示されている。バッドエリア管理回路6は、読み出し制御回路5からリードECCエラー系情報15によってエラーの発生が通知されるまで、ステップS400で待機する。エラーの発生が通知されると、ステップS401をバッドエリア管理回路6は実施する。
FIG. 4 shows a flowchart showing a diagnostic operation in the
ステップS401において、バッドエリア管理回路6は、リードECCエラー系情報15と正しく読み出されたデータとを取り込む。また、このとき、読み出しアドレス値20を取り込み、エラーの発生したアドレスを、バッドエリア管理回路6は、この読み出しアドレス値20から把握する。リードECCエラー系情報15は、図3Aおよび図3Bで説明したように、メモリ回路2および3のそれぞれにおいて発生したエラーの状況を含んでいる。すなわち、本実施の形態においては、メモリ回路2および3のそれぞれにおいて、エラーが発生しているかを示す情報(誤り情報)、1ビットエラーで訂正されているかを示す訂正情報、2ビット以上のエラーで訂正不可を示す訂正不可情報が、バッドエリア管理回路6に供給される。
In step S401, the bad
次に、ステップS402において、バッドエリア管理回路6は、故障の診断を実施することをメモリモジュールの外部に通知するために、ビジー信号22を発生する。次のステップS403において、バッドエリア管理回路6は、診断のための書き込みアドレス信号と診断のために書き込まれるべきデータとを形成する。ここで、書き込みアドレス信号は、ステップS401において取り込んだ読み出しアドレス値20を用い、書き込むべきデータとして、同じくステップS401において取り込んだところの正しく読み出されたデータを用いる。正しく読み出されたデータを、診断用の書き込みデータとして用いることにより、診断の結果として故障が発生していないと判断した場合に書き込み回数の増加を防ぐことができ、消費電力の低減に寄与できる。上記の様にして形成された書き込みアドレス信号と書き込まれるべきデータは、このステップにおいて、バッドエリア管理回路6から書き込み制御回路4へ供給される。
Next, in step S402, the bad
書き込み制御回路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
ステップS404の後に、バッドエリア管理回路6は、読み出し制御回路5に対して診断結果リード要求17を、ステップS405において供給する。診断結果リード要求17は、ステップS401において取り込んだ読み出しアドレス値20を含んでいる。読み出し制御回路5は、診断結果リード要求17を受けることにより、メモリ回路2および3のそれぞれにおいて、読み出しアドレス値20で指定されるアドレスからデータの読み出しを行う。この時、同じアドレスに格納されている誤り訂正用データも読み出される。
After step S404, the bad
読み出されたデータ(誤り訂正用データと処理用データ)とを、ECC回路2aおよび3aが受け、誤りの検出と訂正が行われる。ECC回路2aおよび3aのそれぞれは、それを含むメモリ回路において、故障が発生しているか否かを示す誤り情報と、1ビットエラーで訂正したことを示す訂正情報あるいは2ビット以上のエラーで訂正不可を示す訂正不可情報を、ECCエラー系情報14として、読み出し制御回路5に供給する。
The read data (error correction data and processing data) is received by the
読み出し制御回路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
ステップ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
ステップ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
バッドエリア管理回路6は、故障と判断されたアドレスに代わる予備エリア内のアドレスを指定するアドレス信号を形成し、故障と判断されたアドレスを指定するアドレス信号を変換前のアドレス信号、予備エリア内のアドレスを指定するアドレス信号を変換後のアドレス信号とし、これらのアドレス信号を対として、アドレス変換テーブルに登録する(ステップS409)。このステップS409の登録動作を行う前に、有限な数を格納するアドレス変換テーブルの登録状況をステップS407で確認する。すなわち、ステップS407において、バッドエリア管理回路6は、アドレス変換テーブルに格納されているアドレス信号の数が、有限な数を超えていないかの確認を行う。有限な数を超えていた場合、次にステップS408が実行される。
The bad
ステップS408では、バッドエリア管理回路6内のアドレス変換テーブルへの登録数が、有限値を超えているため、新たな登録が困難となる。そのため、このステップでは、バッドエリア管理回路6が、メモリモジュール701の外部に設けられたCPU703に対して、割り込み信号を発生し、メモリモジュール701に重要な障害が発生している旨を通知する。本実施の形態においては、バッドエリアとして登録可能な数を超えたバッドエリアを検出した旨を通知する割り込み信号を、バッドエリア管理回路6が形成する。
In step S408, since the number of registrations in the address conversion table in the bad
アドレス変換テーブルに登録する数を超えていない場合、ステップ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
なお、バッドエリア管理回路6は、ステップS401とステップS406の2回で、リードECCエラー系情報15を受けることになる。ステップS401でリードECCエラー系情報15を受けているのか、ステップS406でリードECCエラー系情報15を受けているのかの判断は、例えば、診断結果リード要求17を発行した後であれば、リードECCエラー系情報15を受けたステップは、ステップS406であると判断すれば良い。
The bad
図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
メモリ回路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
本実施の形態においては、前述したように、ECC回路2aおよび3aは、1ビットエラーの訂正ができ、2ビット以上のエラーが存在する場合には、エラーである旨を通知するものとして説明している。すなわち、各ECC回路は、確認により、エラーが存在しているか否かの誤り情報と、エラーが存在する場合、1ビットエラーで訂正したことを示す訂正情報と、2ビット以上のエラーが存在する場合、2ビット以上のエラーで訂正不可を示す訂正不可情報をECCエラー系情報14として出力する。
In the present embodiment, as described above, the
各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
図面が複雑になるのを避けるために、図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
図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
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エラー系情報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
バッドエリア管理回路6は、リードECCエラー系情報15を確認することにより、いずれのメモリ回路でエラーが発生しているのか、訂正可能なのか等を判断することができる。これを、レジスタ等を用いて、CPU703に知らせることができる。
By checking the read ECC
また、ECCエラー判定回路500は、メモリ回路2、3から出力されているリードデータの内、正しく読み出せたデータが、読み出しセレクタ501によって選択されるように選択信号を形成する。正しく読み出せたデータを選択する基準は、一例をステップS311で説明した。例えば、ステップS311で述べた分類(2)に合致する様な、ECCエラー系情報14がメモリ回路2、3から供給された場合、エラーなしを示しているECCエラー系情報14を出力しているメモリ回路からのリードデータ12が、読み出しセレクタ501により選択される。選択されたリードデータは、正しく読み出されたデータとして、先に述べた診断動作のための書き込みデータおよび/あるいは内部バスIF7を介してメモリモジュールの外へ出力されるデータとなる。
The ECC
本実施の形態においては、読み出し制御回路5に、ECCエラー判定回路500が設けられている。しかしながら、ECCエラー判定回路500は、読み出し制御回路5とは、別に設けても良い。この場合には、読み出し制御回路5とは別に設けられたECCエラー判定回路500から、セレクト信号が読み出し制御回路5に供給され、リードECCエラー系情報15の内、ECCエラー系情報14に基づいた情報が、バッドエリア管理回路6に供給される。バッドエリア管理回路6に供給される正しく読み出せたデータは、読み出し制御回路5から出力されることになる。
In the present embodiment, an ECC
図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
RAM診断内容登録レジスタ600は、読み出し制御回路5からリードECCエラー系情報15と読み出しアドレス値20を受け、レジスタに、リードECCエラー系情報15に含まれている情報と読み出しアドレス値20とを格納し、保持する。リードECCエラー系情報15は、先にも述べた様に、正しく読み出せたデータと、メモリ回路2、3のそれぞれにおいてエラーがあるか否かを示す誤り情報、エラーがあった場合に1ビットエラーで訂正したことを示す訂正情報、エラーがあった場合で2ビット以上のエラーで訂正不可を示す訂正不可情報を含んでいる。
The RAM diagnosis
RAM診断内容登録レジスタ600は、リードECCエラー系情報15の供給に応答して、ビジー信号22を形成して、内部バスIF7へ供給する。また、レジスタ(保持回路)に保持された読み出しアドレス値20および正しく読み出せたデータとに基づいて、診断データライト要求16を形成し、書き込み制御回路4に供給する。これにより、メモリ回路2、3へ診断用アドレス信号と診断用のデータが供給され、メモリ回路2、3のそれぞれにおいて書き込み動作が開始される。診断用のデータが書き込まれるので、診断動作が開始されるとも見なせる。
In response to the supply of the read ECC
診断データライト要求16を供給した後で、RAM診断内容登録レジスタ600は、診断結果リード要求17を形成して、読み出し制御回路5へ供給する。供給後、RAM診断内容登録レジスタ600は、所定時間待機状態になる。なお、診断結果リード要求17を形成する際には、レジスタに格納されている読み出しアドレス値20が、診断の際の読み出しアドレス信号として用いられる。
After supplying the diagnostic data write
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
バッドエリア情報登録指示を発行した後、バッドエリア情報登録レジスタ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
RAM診断内容登録レジスタ600は、もし、変換後のアドレス信号を受ける前に、バッドエリア情報登録レジスタ601からバッドエリア登録上限割り込み信号を受けた場合、RAM診断内容登録レジスタ600は、重度の障害が発生したものと判断し、ビジー信号22の形成を中止する。
If the RAM diagnostic
次に、バッドエリア情報登録レジスタ601について、説明する。バッドエリア情報登録レジスタ601は、上記したバッドエリア情報登録指示の供給に応答して、その動作を開始する。バッドエリア情報登録レジスタ601は、アドレス変換テーブルとして機能する複数組のレジスタを有している。1組のレジスタは、変換前のアドレス値を保持する変換前レジスタと、それと対をなし、変換後のアドレス値を保持する変換後レジスタと、変換前レジスタに故障のアドレスを示すアドレス値が格納されていることを示す有効ビットを持つ有効レジスタとを含んでいる。バッドエリア情報登録指示が供給されることにより、バッドエリア情報登録レジスタ601は、バッドエリア情報登録指示に含まれているアドレス値(読み出しアドレス値20)が、アドレス変換テーブルを構成する複数組のレジスタにおける変換後レジスタのそれぞれに格納されている変換後アドレス値と、一致しないかの確認を行う。
Next, the bad area
一致しない場合、複数組のレジスタのそれぞれの有効ビットを確認し、有効ビットが有効を示していない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
メモリ部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
メモリ部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
リードECCエラー系情報15が、メモリ回路2および3の両方において、2ビット以上のエラーであり、訂正不可であることを示す訂正不可情報であった場合、RAM診断内容登録レジスタ600は、データ復旧不可を表す割り込み信号(図ではデータ復旧不可割り込みと記載)を形成し、割り込み通知用信号27としてCPU703に伝える。特に制限されないが、RAM診断内容登録レジスタ600とバッドエリア情報登録レジスタ601とは、レジスタアクセスパス26を介して内部バスIF7と接続されている。これにより、内部バスIF7を介して、CPU703によりRAM診断内容登録レジスタ600とバッドエリア情報登録レジスタ601内のレジスタにアクセスし、レジスタに設定されているデータを読み出したり、データの設定を行うことが可能とされている。
When the read ECC
図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
図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
図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
本実施の形態においては、メモリ部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
メモリ回路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
データ不一致判定回路903から出力される不一致信号と正しく読み出されたデータとが、図5に示したリードECCエラー系情報15と見なされる。また、図4に示した診断動作においては、読み出し動作のときの不一致信号に応答して、ステップS401が開始される。この診断動作のステップS404で、メモリ部904に書き込まれるべき診断データは多数決の論理で正しいと判定したデータ(正しく読み出されたデータ)を用いる。すなわち、データ不一致判定回路903からのリードデータが、診断動作の時の書き込みデータとされる。診断動作のステップS406においても、データ不一致信号が形成された場合、このデータ不一致信号により、図6に示したRAM診断内容登録レジスタ600の動作を開始させる。
The mismatch signal output from the data
この実施の形態によれば、各メモリ回路900、901、903にECC回路を設ける必要がなくなり、メモリモジュールの高速化を図ることが可能となる。すなわち、奇数個のメモリ回路を用いることにより、多数決の論理で、正しく読み出されたデータを推定することが可能となる。また、データ不一致判定回路903において、ビット単位で3個のメモリ回路からのリード系信号を比較するため、ビットの位置が異なれば、2つのメモリ回路で異なる値を出力しても、エラーの訂正をすることが可能となる。
According to this embodiment, it is not necessary to provide an ECC circuit in each of the
この実施の形態においては、メモリ回路900、901、902が、一時的にエラーを発生しているときも、不一致信号が形成される。従って、不一致信号は、リードECCエラー系情報15と同様に、メモリ部904において少なくとも1個のメモリ回路が故障している可能性があることを示す故障可能性信号と見なすことができる。この場合、データ不一致判定回路903が、読み出し動作において、故障の可能性を検出する回路(故障検出回路)を構成していると見なすことができる。なお、読み出し制御回路905は、図5と同様に、主要部のみが、図9に示されている。
In this embodiment, a mismatch signal is formed even when the
(実施の形態3)
図6に示したRAM診断内容登録レジスタ600に、次のレジスタが追加される。この実施の形態においては、例えば、1個のアドレスに対して、ECC回路によって複数回のエラー検出が行われる。追加されるレジスタは、ECC回路によってエラーとして検出される回数の上限値を設定するエラー上限レジスタ(図示せず)と、ECC回路によってエラーなしとして検出される回数の上限値を設定する許容上限レジスタ(図示せず)である。
(Embodiment 3)
The following registers are added to the RAM diagnostic
エラー上限レジスタと許容上限レジスタは、レジスタアクセス用パス26に接続され、CPU703により、それぞれのレジスタに値を設定できる様にされる。これらのエラー上限レジスタと許容上限レジスタを設けたことに対応して、バッドエリア情報登録レジスタ601には、診断動作において、ECC回路がエラーとして判定した回数をカウントする故障カウンタ(図示せず)と、診断動作において、ECC回路によりエラーが検出されなかった回数をカウントするパスカウンタ(図示せず)とが設けられる。
The error upper limit register and the allowable upper limit register are connected to the
上記したエラー上限レジスタ、許容上限レジスタ、故障カウンタおよびパスカウンタを設けた構成の動作を次に説明する。図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
図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
この実施の形態においては、電気的に書き込み可能な不揮発性メモリ1102が、バッドエリア管理回路6に設けられる。本実施の形態では、フラッシュメモリが電気的に書き込み可能な不揮発性メモリ1102として用いられている。フラッシュメモリ1102は、フラッシュインタフェース回路(図では、フラッシュI/Fと記載している)1101を介してバッドエリア情報登録レジスタ601に接続されている。バッドエリア情報登録レジスタ601が有するアドレス変換テーブルにアドレスを登録すると、その登録したアドレスは、フラッシュインタフェース回路1101により、フラッシュメモリ1102にコピーされる。また、電源の投入に応答して、フラッシュインタフェース回路1101は、フラッシュメモリ1102に格納されているアドレスを、アドレス変換テーブルへ登録する。
In this embodiment, an electrically writable
この実施の形態によれば、アドレス変換テーブルは、高速に動作する揮発性のレジスタにより構成することが可能であり、メモリモジュールの高速化を図ることができる。一方、電源投入の際には、フラッシュメモリ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
(実施の形態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
この実施の形態によれば、メモリモジュールの状態をCPU703が確認することができ、故障の解析を容易化することが可能となる。
According to this embodiment, the
(実施の形態6)
バッドエリア管理回路6に、1ビットエラーを許可する許可レジスタが設けられる。この許可レジスタは、レジスタアクセス用パス26を介して、その値が設定できるようにされる。この許可レジスタに1ビットエラーを許可する情報をCPU703によって設定する。1ビットエラーを許可する情報を設定することにより、メモリ回路2および3のそれぞれにおいて、1個のアドレスに格納されるデータに1ビットの誤りが含まれていても、アドレス変換テーブルには、そのアドレスを指定するアドレス値は登録されない。これにより、アドレス変換テーブルに登録される数の低減を図ることが可能となる。この場合、アドレス変換テーブルに登録されないので、予備のエリアの消費についても低減を図ることが可能となり、例えば2ビット以上のエラーに対する救済を多くすることが可能となる。
(Embodiment 6)
The bad
図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
(実施の形態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
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
700 Semiconductor
Claims (10)
前記メモリモジュールは、
互いに同じデータが書き込まれる複数のメモリ回路と、
供給されるアドレス信号を内部読み出しアドレス信号として、前記複数のメモリ回路へ供給する読み出し制御回路であって、前記内部読み出しアドレス信号により、前記複数のメモリ回路のそれぞれからデータが読み出されたとき、前記複数のメモリ回路のうちの少なくとも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アドレス信号により指定されるアドレスへ書き込むデータとされる、半導体集積回路装置。 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.
前記バッドエリア管理回路は、変換前のアドレス信号と変換後の第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.
前記メモリモジュールは、前記内部回路で形成された外部書き込みアドレス信号を受け、書き込みアドレス信号を出力するインタフェース回路を具備し、
前記バッドエリア管理回路は、前記アドレス変換テーブルに格納されている変換前のアドレス信号と前記書き込みアドレス信号との一致を検出し、一致する場合、一致した変換前のアドレス信号と対をなす変換後の第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.
前記インタフェース回路は、前記内部回路で形成された外部読み出しアドレス信号を受け、読み出しアドレス信号を出力し、
前記バッドエリア管理回路は、前記アドレス変換テーブルに格納されている変換前のアドレス信号と、前記読み出しアドレス信号との一致を検出し、一致する場合、一致した変換前のアドレス信号と対をなす変換後の第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.
前記複数のメモリ回路のそれぞれは、
供給される内部読み出しアドレス信号によって指定されるアドレスに、データと該データに基づいて形成された訂正用データとを保持するメモリ部と、
内部読み出しアドレス信号に応答して、読み出し動作が行われたとき、読み出されたデータと訂正用データとによりデータのチェックを行い、データを訂正するとき、訂正情報を出力する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.
前記複数のメモリ回路のそれぞれにおける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.
前記内部回路は、マイクロプロセッサを含み、
前記バッドエリア管理回路は、前記故障可能性信号の形成に応答して、前記インタフェース回路へビジー信号を供給し、前記インタフェース回路は、ビジー信号に応答して、前記マイクロプロセッサに前記メモリモジュールへのアクセスを制限する制御信号を形成する、半導体集積回路装置。 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.
前記バッドエリア管理回路は、前記マイクロプロセッサにより、アクセス可能なレジスタを具備し、
前記レジスタには、前記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.
前記複数のメモリ回路は、奇数個のメモリ回路であり、
前記検出回路は、内部読み出しアドレス信号に応答して、前記奇数個のメモリ回路のそれぞれから読み出されたデータを受け、読み出されたデータ間で相違があるとき、前記故障可能性信号を形成する、半導体集積回路装置。 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.
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)
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)
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 |
-
2013
- 2013-03-07 JP JP2013045507A patent/JP5964265B2/en active Active
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 |