JP6906435B2 - Semiconductor device - Google Patents
Semiconductor device Download PDFInfo
- Publication number
- JP6906435B2 JP6906435B2 JP2017229137A JP2017229137A JP6906435B2 JP 6906435 B2 JP6906435 B2 JP 6906435B2 JP 2017229137 A JP2017229137 A JP 2017229137A JP 2017229137 A JP2017229137 A JP 2017229137A JP 6906435 B2 JP6906435 B2 JP 6906435B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- selection
- signal
- output
- bits
- 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
Landscapes
- Detection And Correction Of Errors (AREA)
Description
本開示は、半導体装置およびメモリモジュールに関し、たとえば、例えばメモリを内蔵した半導体装置に好適に利用できるものである。 The present disclosure relates to a semiconductor device and a memory module, and can be suitably used for, for example, a semiconductor device having a built-in memory.
従来から、メモリ内のデータの誤りを検出し、正しいデータに訂正することができるメモリモジュールが知られている。 Conventionally, a memory module capable of detecting an error in data in a memory and correcting it to correct data has been known.
たとえば、特許文献1には、ECC(Error Correction Code)符号化部が、メモリへの書込みデータに誤り訂正符号を付加して符号化データを生成し、第1誤り検出部は、メモリからの読出しデータに対して誤り検出訂正処理を行うことが記載されている。
For example, in
特許文献1の記載の装置では、メモリモジュール内のデータに対する処理を実行する回路およびデータを転送する配線の故障を検出することができる。
In the apparatus described in
しかしながら、特許文献1に記載の装置は、メモリモジュール内のメモリアドレスに対する処理を実行する回路およびメモリアドレスを伝送する配線の故障を検出することができないという問題がある。
However, the apparatus described in
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。 Other challenges and novel features will become apparent from the description and accompanying drawings herein.
一実施形態では、選択デコーダは、少なくとも1ビット以上のアドレスビットに基づいて、複数個のメモリモジュールに対応する複数個の選択信号のレベルを制御する。故障判定部は、複数個の選択信号のレベルに基づいて、選択デコーダが故障状態か否かを判定する。 In one embodiment, the selection decoder controls the level of a plurality of selection signals corresponding to the plurality of memory modules based on at least one or more address bits. The failure determination unit determines whether or not the selection decoder is in a failure state based on the levels of the plurality of selection signals.
一実施形態の半導体装置によれば、メモリモジュール内のメモリアドレスに対する処理を実行する回路およびメモリアドレスを伝送する配線の故障を検出することができる。 According to the semiconductor device of one embodiment, it is possible to detect a failure of a circuit that executes processing on a memory address in a memory module and a wiring that transmits the memory address.
以下、実施の形態について図面を用いて説明する。図面において同一の符号の構成要素は、同一の構成要素であるものとする。 Hereinafter, embodiments will be described with reference to the drawings. In the drawings, the components having the same reference numerals are assumed to be the same components.
[第1の実施形態]
図1は、第1の実施形態の半導体装置300の構成を表わす図である。
[First Embodiment]
FIG. 1 is a diagram showing the configuration of the
図1を参照して、この半導体装置は、N個のメモリモジュール30−1〜30−Nと、選択デコーダ303と、故障判定部304とを備える。Nは2以上の自然数である。
With reference to FIG. 1, this semiconductor device includes N memory modules 30-1 to 30-N, a
選択デコーダ303は、少なくとも1ビット以上のアドレスビットに基づいて、複数個の選択信号cen1〜cennのレベルを制御する。
The
メモリモジュール30−i(i=1〜n)は、対応する選択信号ceniが活性化レベルのときに選択されて、データの読出しおよび書き込みが可能となる。 The memory module 30-i (i = 1-n) is selected when the corresponding selection signal ceni is at the activation level, and data can be read and written.
故障判定部304は、複数個の選択信号cen1〜cennのレベルに基づいて、選択デコーダ303が故障状態か否かを判定する。
The
将来の自動運転に向けて車載半導体には安全性向上の為の機能が求められており、たとえばISO26262(機能安全)の規格に基づく設計が要求されている。この規格によれば、ハードウエアの経年劣化のようなランダム故障を想定して故障が生じた際にそれを訂正もしくは検出し危険回避処理を行うことが求められている。また、高信頼性の製品においては、放射線(α線や中性子)に対して誤動作の影響を受けやすいメモリに対してはECC機能が搭載されていることが多い。これにより、放射線に対する保持データの破壊のみならずデータに対するランダム故障については、訂正もしくは検出が可能である。一方、ECCにより訂正および誤り検出ができない非データ系の信号であるアドレスを処理する回路の故障に対しては、検出することができないという問題があった。本実施の形態によれば、複数のメモリモジュールのいずれを選択するかを指定するアドレスを処理する選択デコーダ303の故障を検出することができる。
In-vehicle semiconductors are required to have functions for improving safety for future autonomous driving. For example, a design based on the ISO26262 (functional safety) standard is required. According to this standard, when a random failure such as aged deterioration of hardware is assumed and a failure occurs, it is required to correct or detect it and perform risk avoidance processing. In addition, high-reliability products often have an ECC function for memories that are susceptible to malfunctions due to radiation (alpha rays and neutrons). As a result, it is possible to correct or detect not only the destruction of the retained data due to radiation but also the random failure of the data. On the other hand, for the failure of a circuit for processing the signals Der Ru address of non-data system that can not be corrected and the error detected by ECC, there is a problem that can not be detected. According to the present embodiment, it is possible to detect a failure of the
[参考例1の半導体装置]
図2は、参考例1の半導体装置400の構成を表わす図である。
[Semiconductor device of Reference Example 1]
FIG. 2 is a diagram showing the configuration of the
図2を参照して、この半導体装置400は、第1のメモリモジュール41と、第2のメモリモジュール42と、フラッシュメモリ350と、ECCエンコーダ21と、冗長制御回路31〜34とを備える。半導体装置400は、さらに、セレクタ51と、ECCデコーダ22と、アドレス分割器61と、選択デコーダ62と、冗長デコーダ68と、割り込み制御部201と、CPU202と、フリップフロップ(FF)71,72とを備える。
With reference to FIG. 2, the
第1のメモリモジュール41および第2のメモリモジュール42は、たとえば、半導体装置の設計環境において、ライブラリとして提供されるSRAM(Static Random Access Memory)マクロである。第1のメモリモジュール41および第2のメモリモジュール42は、それぞれ「メモリユニット」、「メモリブロック」、「メモリマクロ」という語で表わすこともできる。
The
第1のメモリモジュール41は、複数個のSRAMメモリセルを有するメモリアレイ43と、SRAMロジック回路とを備える。
The
メモリアレイ43は、正規ブロック363と、冗長ブロック364とを含む。正規ブロック363は、複数の正規メモリセル列からなる。複数の正規メモリセル列は、不良でない限り、データの書き込み箇所となる。冗長ブロック364は、1以上の冗長メモリセル列からなる。1以上の冗長メモリセル列は、正規ブロック363に含まれる複数の正規メモリセル列のうち、不良のメモリセルを有する不良メモリセル列を救済するために設けられる。1以上の冗長メモリセル列は、不良メモリセル列の代わりに、データの書き込み箇所となる。
The
第2のメモリモジュール42は、複数個のSRAMメモリセルを有するメモリアレイ44と、SRAMロジック回路とを備える。メモリアレイ44は、正規ブロック365と、冗長ブロック366とを含む。正規ブロック365は、複数の正規メモリセル列からなる。冗長ブロック366は、1以上の冗長メモリセル列からなる。
The
図3は、参考例1の第1のメモリモジュール41の構成を表わす図である。第2のメモリモジュール42の構成も、これと同様である。
FIG. 3 is a diagram showing the configuration of the
図3を参照して、第1のメモリモジュール41は、アドレス入力端子ADAと、クロック入力端子CKと、データ入出力端子DAと、メモリアレイMARYと、ワード線駆動回路WDと、データ入出力部IOと、制御部CTRLとを備える。
With reference to FIG. 3, the
アドレス入力端子ADAには、アドレス分割器61から送られる第2のアドレスビットAdd[0:N−1]が入力される。クロック入力端子CKには、クロックCLKが入力される。データ入出力端子DAには、データ信号D1[0:M]が入出力される。
The second address bit Add [0: N-1] sent from the
メモリアレイMARYは、ワード線WL0〜WLiによって選択される複数のメモリセルを有する。 The memory array MARY has a plurality of memory cells selected by the word lines WL0 to WLi.
制御部CTRLは、ラッチ回路1_0〜1_N−1で構成される一時記憶回路650と、アドレスデコーダADRCTLとを備える。ラッチ回路1_0〜1_N−1は、アドレスビットAdd[0]〜Add[N−1]をクロックCLKに同期して取り込み、内部アドレスビットAQ1[0]〜AQ1[N−1]として出力する。ラッチ回路1_0〜1_N−1は、クロックCLKのエッジが入力されるまでは、取り込んだアドレスビットAdd[0]〜Add[N−1]を保持し続ける。アドレスデコーダADRCTLは、内部アドレスビットAQ1[0]〜AQ1[N−1]に基づいてアドレスデコード信号(X0〜Xi及びY0〜Yj)を出力する。
The control unit CTRL includes a
ワード線駆動回路WDは、アドレスデコード信号のうちの行選択信号X0〜Xiに基づいて、メモリアレイMARYの対応するワード線WLを選択して駆動する。 The word line drive circuit WD selects and drives the corresponding word line WL of the memory array MARY based on the line selection signals X0 to Xi of the address decoding signals.
データ入出力部IOは、メモリアレイMARY内のワード線WLによって選択されたメモリセルのデータをデータ入出力端子DAを通じて、データ信号D1[0:M]として出力する。 The data input / output unit IO outputs the data of the memory cell selected by the word line WL in the memory array MARY as a data signal D1 [0: M] through the data input / output terminal DA.
データ入出力部IOは、メモリアレイMARY内のワード線WLによって選択されたメモリセルにデータ入出力端子DAを通じて入力されるデータ信号D1[0:M]を書き込む。 The data input / output unit IO writes the data signal D1 [0: M] input through the data input / output terminal DA to the memory cell selected by the word line WL in the memory array MARY.
再び、図2を参照して、アドレス分割器61は、CPU202から出力される(N+1)ビットのアドレス信号A[0:N]を最上位ビットである第1のアドレスビットAdd[N](上位の第2の個数のビット)と、Nビットの第2のアドレスビットAdd[0:N−1](下位の第1の個数のビット)に分割する。Nビットの第2のアドレスビットAdd[0:N−1]が、第1のメモリモジュール41および第2のメモリモジュール42に供給される。アドレス分割器61は、タイミング制御のために、第1のアドレスビットAdd[N]および第2のアドレスビットAdd[0:N−1]をラッチするラッチ回路を備える。
Again, referring to FIG. 2, the
ECCエンコーダ21は、ライトデータであるデータ信号Data[0:M]を誤り訂正検出符号化して、誤り訂正検出符号化されたデータを第1のメモリモジュール41および第2のメモリモジュール42へ出力する。具体的には、ECCエンコーダ21は、(M+1)ビットのデータ信号Data[0:M]の誤り訂正検出のためのsビットの検査ビットを生成し、検査ビットが付加された(M+s+1)ビットのデータ信号EData[0:M+s]を誤り検出訂正符号化データとして生成する。
The
検査ビットは、Xビット以下の訂正可能で、Yビット(Y>X)以下の誤り検出を可能とするコードである。たとえば、検査ビットは、SEC-DED(Single Error-Correcting Double-Error-Detecting) Code 、つまり、1ビット誤りを訂正し、かつ2ビット誤りを検出することができる誤り訂正符号とすることができる。 The inspection bit is a code that can be corrected to be X bits or less and can detect errors of Y bits (Y> X) or less. For example, the inspection bit can be a SEC-DED (Single Error-Correcting Double-Error-Detecting) Code, that is, an error correction code capable of correcting a 1-bit error and detecting a 2-bit error.
選択デコーダ62は、選択許可信号CENと、第1のアドレスビットAdd[N]に基づいて、第1の選択信号cen1のレベルと、第2の選択信号cen2のレベルとを制御する。選択デコーダ62は、選択許可信号CENが活性化レベルの「1」であり、かつ第1のアドレスビットAdd[N]が「1」のときには、第1の選択信号cen1のレベルを活性化レベルの「1」に設定するとともに、第2の選択信号cen2のレベルを非活性化レベルの「0」に設定する。選択デコーダ62は、選択許可信号CENが活性化レベルの「1」であり、かつ第1のアドレスビットAdd[N]が「0」のときには、第1の選択信号cen1のレベルを非活性化レベルの「0」に設定するとともに、第2の選択信号cen2のレベルを活性化レベルの「1」に設定する。選択デコーダ62は、選択許可信号CENが非活性化レベルの「0」のときには、第1の選択信号cen1のレベルを非活性化レベルの「0」に設定するとともに、第2の選択信号cen2のレベルを非活性化レベルの「0」に設定する。
The
フラッシュメモリ350は、正規ブロック363内に存在する不良メモリセル列を示すアドレス信号C_Add1と、正規ブロック365内に存在する不良メモリセル列を示すアドレス信号C_Add2とを記憶する。
冗長デコーダ68は、正規ブロック363内の複数の正規メモリセル列の中の不良メモリセル列のアドレス信号C_Add1をデコードして、アドレスデコード信号R1を出力する。冗長デコーダ68は、正規ブロック365内の複数の正規メモリセル列の中の不良メモリセル列のアドレス信号C_Add2をデコードして、アドレスデコード信号R2を出力する。
The
冗長制御回路31は、データの書き込み時に、アドレスデコード信号R1に従って、正規ブロック363内の不良メモリセル列の代わりに、冗長ブロック364内の冗長メモリセル列にECCエンコーダ21の出力が書き込まれるように制御する。たとえば、メモリアレイ43内の右側に冗長ブロック364が配置され、複数のデータ入出力線が、正規メモリセル列の複数のビット線と接続されている場合に、冗長制御回路31は、データの書き込み時に、不良メモリセル列のビット線と接続されているデータ入出力線およびそれよりも右側に配置されるデータ入出力線が、1つ右のビット線と接続されるように制御する。
When writing data, the
冗長制御回路32は、データの書き込み時に、アドレスデコード信号R2に従って、正規ブロック365内の不良メモリセル列の代わりに、冗長ブロック366内の冗長メモリセル列にECCエンコーダ21の出力が書き込まれるように制御する。
When writing data, the
第1のメモリモジュール41では、データの書き込み時に、第1の選択信号cen1が「1」のときに、第2のアドレスビットAdd[0:N−1]で指定される箇所に、誤り検出訂正符号化データEdata[0:M+s]が書き込まれ、第1の選択信号cen1が「0」のときに、誤り検出訂正符号化データEdata[0:M+s]が書き込まれない。第2のメモリモジュール42では、データの書き込み時に、第2の選択信号cen2が「1」のときに、第2のアドレスビットAdd[0:N−1]で指定される箇所に、誤り検出訂正符号化データEdata[0:M+s]が書き込まれ、第2の選択信号cen2が「0」のときに、誤り検出訂正符号化データEdata[0:M+s]が書き込まれない。
In the
第1のメモリモジュール41では、データの読出し時に、第1の選択信号cen1が「1」のときに、第2のアドレスビットAdd[0:N−1]で指定される箇所から、記憶されているデータ信号Q1が出力される。第1のメモリモジュール41では、データの読出し時に、第1の選択信号cen1が「0」のときに、記憶されているデータ信号Q1が出力されない。第2のメモリモジュール42では、データの読出し時に、第2の選択信号cen2が「1」のときに、第2のアドレスビットAdd[0:N−1]で指定される箇所から、記憶されているデータ信号Q2が出力される。第2のメモリモジュール42では、データの読出し時に、第2の選択信号cen2が「0」のときに、記憶されているデータ信号Q2が出力されない。
In the
冗長制御回路33は、データの読出し時に、アドレスデコード信号R1に従って、正規ブロック363内の不良メモリセル列の代わりに、冗長ブロック364内の冗長メモリセル列からデータが読み出されるように制御する。たとえば、メモリアレイ43内の右側に冗長ブロック364が配置され、複数のデータ入出力線が、正規メモリセル列の複数のビット線と接続されている場合に、冗長制御回路33は、データの読み出し時に、不良メモリセル列のビット線と接続されているデータ入出力線およびそれよりも右側に配置されるデータ入出力線が、1つ右のビット線と接続されるように制御する。
When reading data, the
冗長制御回路34は、データの読出し時に、アドレスデコード信号R2に従って、正規ブロック365内の不良メモリセル列の代わりに、冗長ブロック366内の冗長メモリセル列からデータが読み出されるように制御する。
When reading data, the
セレクタ51は、第1の選択信号cen1のレベルおよび第2の選択信号cen2のレベルに基づいて、第1のメモリモジュール41から出力されるデータ信号Q1と第2のメモリモジュール42から出力されるデータ信号Q2のうちのいずれかを選択して、ECCデコーダ22へ出力する。
The
セレクタ51は、第1の選択信号cen1のレベルが活性化レベルの「1」、かつ第2の選択信号cen2のレベルが非活性化レベルの「0」のときに、第1のメモリモジュール41から出力されるデータ信号Q1を選択して、ECCデコーダ22へ出力する。セレクタ51は、第1の選択信号cen1のレベルが非活性化レベルの「0」、かつ第2の選択信号cen2のレベルが活性化レベルの「1」のときに、第2のメモリモジュール42から出力されるデータ信号Q2を選択して、ECCデコーダ22へ出力する。セレクタ51は、第1の選択信号cen1のレベルが非活性化レベルの「0」、かつ第2の選択信号cen2のレベルが非活性化レベルの「0」のときに、第1のメモリモジュール41から出力されるデータ信号Q1および第2のメモリモジュール42から出力されるデータ信号Q2のうちのいずれかを選択して出力する。セレクタ51は、第1の選択信号cen1のレベルが活性化レベルの「1」、かつ第2の選択信号cen2のレベルが活性化レベルの「1」のときに、第1のメモリモジュール41から出力されるデータ信号Q1および第2のメモリモジュール42から出力されるデータ信号Q2のうちいずれかを選択して出力する。cen1=「1」かつcen2=「1」、およびcen1=「0」かつcen2=「0」のときにいずれを選択するかは、予め明示的に定められた方を選択する、前回選択していた方を選択する、または論理設計によってマッピングされた論理ゲートによって決まる方を選択するなどのいずれであってもよい。
The
ECCデコーダ22は、セレクタ51の出力を誤り検出訂正する。ECCデコーダ22は、セレクタ51の出力の誤りを検出すると、故障通知信号ERRORを出力する。割り込み制御部201は、故障通知信号ERRORを受信すると、CPU202に故障を検知したことを割り込み通知する。
The
CPU202は、半導体装置の全体を制御する。CPU202は、割り込み制御部201から故障の割り込み通知を受信すると、必要な処理を行なう。
The
FF71は、選択デコーダ62からセレクタ51への第1の選択信号cen1の伝送経路の途中に設けられる。FF72は、選択デコーダ62からセレクタ51への第2の選択信号cen2の伝送経路の途中に設けられる。FF71、FF72、第1のメモリモジュール41、および第2のメモリモジュール42に供給されるクロックは、同一である。
The FF71 is provided in the middle of the transmission path of the first selection signal cen1 from the
FF71は、第1の選択信号cen1がセレクタ51に送られるタイミングと、第1のメモリモジュール41からの出力Q1がセレクタ51に送られるタイミングとの同期を採るために設けられる。FF72は、第2の選択信号cen2がセレクタ51に送られるタイミングと、第2のメモリモジュール42からの出力Q2がセレクタ51に送られるタイミングとの同期を採るために設けられる。このような同期制御が必要なのは、第1のメモリモジュール41および第2のメモリモジュール42において、データ出力のために、クロックCLKの1周期分の時間が必要なためである。
The FF71 is provided to synchronize the timing at which the first selection signal cen1 is sent to the
参考例1の半導体装置400では、アドレス信号Add[N]を処理する選択デコーダ62およびそれに関連する配線の故障、およびアドレス信号C_Add1およびC_Add2を処理する冗長デコーダ68およびそれに関連する配線の故障を検出することできないという問題がある。
In the
[第2の実施形態]
図4は、第2の実施形態の半導体装置500の構成を表わす図である。
[Second Embodiment]
FIG. 4 is a diagram showing the configuration of the
この半導体装置500は、第1のメモリモジュール45と、第2のメモリモジュール46と、ECCエンコーダ21と、セレクタ51と、ECCデコーダ22と、アドレス分割器61と、選択デコーダ62と、故障判定部121と、割り込み制御部201と、CPU202と、FF71,72とを備える。
The
第2の実施形態のECCエンコーダ21、アドレス分割器61、選択デコーダ62、ECCデコーダ22、FF71,72、セレクタ51、割り込み制御部201、およびCPU202は、参考例1と同様なので、説明を繰り返さない。
Since the
第1のメモリモジュール45は、参考例1の第1のメモリモジュール41と同様に、複数個のSRAMメモリセルを有するメモリアレイと、SRAMロジック回路とを備える。第1のメモリモジュール45は、冗長列救済機能を有さないものとする。
Similar to the
第2のメモリモジュール46は、参考例1の第2のメモリモジュール42と同様に、複数個のSRAMメモリセルを有するメモリアレイと、SRAMロジック回路とを備える。第2のメモリモジュール46は、冗長列救済機能を有さないものとする。
The
故障判定部121は、第1の選択信号cen1のレベル、第2の選択信号cen2のレベル、および選択許可信号CENのレベルに基づいて、選択デコーダ62が故障か否かを判定する。故障判定部121は、選択デコーダ62が故障であると判定したときには、故障通知信号ERRORを割り込み制御部201へ出力する。
The
図5は、選択デコーダ62が正常な場合における、入力(選択許可信号CEN、アドレス信号の最上位ビットAdd[N])と、出力(第1の選択信号cen1、第2の選択信号cen2)との関係を表わす図である。
FIG. 5 shows an input (selection permission signal CEN, most significant bit Add [N] of the address signal) and an output (first selection signal cen1, second selection signal cen2) when the
選択デコーダ62は、正常な場合に、選択許可信号CENのレベルが活性化レベルの「1」であり、かつアドレス信号の最上位ビットAdd[N]が「1」のときに、第1の選択信号cen1のレベルを活性化レベルの「1」に設定するとともに、第2の選択信号cen2のレベルを非活性化レベルの「0」に設定する。選択デコーダ62は、正常な場合に、選択許可信号CENのレベルが活性化レベルの「1」であり、かつアドレス信号の最上位ビットAdd[N]が「0」のときに、第1の選択信号cen1のレベルを非活性化レベルの「0」に設定するとともに、第2の選択信号cen2のレベルを活性化レベルの「1」に設定する。選択デコーダ62は、正常な場合に、選択許可信号CENのレベルが「0」のときに、アドレス信号の最上位ビットAdd[N]に係らず、第1の選択信号cen1のレベルを非活性化レベルの「0」に設定するとともに、第2の選択信号cen2のレベルを非活性化レベルの「0」に設定する。
In the normal case, the
図6は、選択デコーダ62の故障判定手順を表わすフローチャートである。
図6を参照して、ステップS301において、選択許可信号CENのレベルが「1」のときには(YES)、処理がステップS302に進み、選択許可信号CENのレベルが「0」のときには(NO)、処理がステップS303に進む。
FIG. 6 is a flowchart showing a failure determination procedure of the
With reference to FIG. 6, in step S301, when the level of the selection permission signal CEN is “1” (YES), the process proceeds to step S302, and when the level of the selection permission signal CEN is “0” (NO), The process proceeds to step S303.
ステップS302において、第1の選択信号cen1のレベルおよび第2の選択信号cen2のレベルの両方が「1」または「0」のときには(YES)、処理がステップS305に進み、第1の選択信号cen1のレベルおよび第2の選択信号cen2のレベルのうちの一方が「1」で、他方が「0」のときには(NO)、処理がステップS304に進む。 In step S302, when both the level of the first selection signal cen1 and the level of the second selection signal cen2 are “1” or “0” (YES), the process proceeds to step S305 and the first selection signal cen1 When one of the level of and the level of the second selection signal cen2 is "1" and the other is "0" (NO), the process proceeds to step S304.
ステップS303において、第1の選択信号cen1のレベルおよび第2の選択信号cen2のレベルのうちの両方が「0」のときには(YES)、処理がステップS304に進み、第1の選択信号cen1のレベルおよび第2の選択信号cen2のレベルのうちの少なくとも1つが「1」のときには(NO)、処理がステップS305に進む。 In step S303, when both the level of the first selection signal cen1 and the level of the second selection signal cen2 are “0” (YES), the process proceeds to step S304 and the level of the first selection signal cen1. And when at least one of the levels of the second selection signal ce2 is "1" (NO), the process proceeds to step S305.
ステップS304において、故障判定部121は、選択デコーダ62が正常状態であると判定する。
In step S304, the
ステップS305において、故障判定部121は、選択デコーダ62が故障状態であると判定する。故障判定部121は、故障通知信号ERRORを割り込み制御部201へ出力する。割り込み制御部201は、故障通知信号ERRORを受信すると、CPU202に故障を通知する。
In step S305, the
なお、上記において、選択許可信号CENのレベルが「1」のときには、第1の選択信号cen1と第2の選択信号cen2のうちのいずれか一方のみが反転した場合のみ、選択デコーダ62の故障状態と判定したのは、発生頻度の高いシングル故障を検出するためである。
In the above, when the level of the selection permission signal CEN is "1", the failure state of the
以上のように、本実施の形態では、第1の選択信号cen1のレベル、第2の選択信号cen2のレベル、および選択許可信号CENのレベルに基づいて、選択デコーダ62が故障か否かを判定することができる。
As described above, in the present embodiment, it is determined whether or not the
[第3の実施形態]
図7は、第3の実施形態の半導体装置600の構成を表わす図である。
[Third Embodiment]
FIG. 7 is a diagram showing the configuration of the
この半導体装置600は、第1のメモリモジュール45と、第2のメモリモジュール46と、ECCエンコーダ21と、セレクタ149と、ECCデコーダ22と、アドレス分割器61と、選択デコーダ62と、故障判定部131と、割り込み制御部201と、CPU202と、FF71,72とを備える。
The
第3の実施形態の第1のメモリモジュール45、第2のメモリモジュール46、ECCエンコーダ21、ECCデコーダ22、アドレス分割器61、選択デコーダ62、割り込み制御部201、CPU202、およびFF71,72は、第2の実施形態と同様なので、説明を繰り返さない。
The
故障判定部131は、第2の実施形態の故障判定部121と同様にして、選択デコーダ62が故障か否かを判定する。故障判定部131は、選択デコーダ62が故障であると判定した場合に、故障検知信号ERをセレクタ149へ出力する。
The
セレクタ149は、故障検知信号ERを受信すると、第1のメモリモジュール45と第2のメモリモジュール46のうち、選択した方から出力されるデータの複数ビットのうち、X個のビットを反転させる。X個のビットは、ECCデコーダ22において誤り訂正可能なビット数の上限を超え、かつ誤り検出可能なビット数の上限以下のビット数である。検査ビットは、SEC-DED Codeの場合、X=2となる。
The
本実施の形態によれば、新たな回路を設けることなく、アドレス信号Add[N]を処理する選択デコーダ62およびそれに関連する配線の故障を検知することができる。
According to this embodiment, it is possible to detect a failure of the
[第4の実施形態]
図8は、第4の実施形態の半導体装置700の構成を表わす図である。
[Fourth Embodiment]
FIG. 8 is a diagram showing the configuration of the
この半導体装置700は、第1のメモリモジュール45と、第2のメモリモジュール46と、ECCエンコーダ21と、セレクタ141と、セレクタ142と、ECCデコーダ122と、アドレス分割器61と、選択デコーダ62と、割り込み制御部201と、CPU202と、FF73,74,75,76とを備える。
The
第4の実施形態の第1のメモリモジュール45、第2のメモリモジュール46、ECCエンコーダ21、アドレス分割器61、選択デコーダ62、割り込み制御部201、およびCPU202は、第2の実施形態と同様なので、説明を繰り返さない。
Since the
データの読み出し時に、第1のメモリモジュール45から出力されるデータを構成する複数ビットは、グループA(第1グループ)の複数のビットQaと、グループB(第2グループ)の複数のビットQbに分類される。第1のメモリモジュール45は、グループAの複数ビットQaをセレクタ141へ出力し、グループBの複数ビットQbをセレクタ142へ出力する。
When reading data, the plurality of bits constituting the data output from the
データの読み出し時に、第2のメモリモジュール46から出力されるデータを構成する複数ビットは、グループC(第1グループ)の複数のビットQcと、グループD(第2グループ)の複数のビットQdに分類される。第2のメモリモジュール46は、グループCの複数ビットQcをセレクタ141へ出力し、グループDの複数ビットQdをセレクタ142へ出力する。
When reading data, the plurality of bits constituting the data output from the
グループAの複数のビットQaの位置とグループCの複数のビットQcの位置は、同じである。グループBの複数のビットQbの位置とグループDの複数のビットQdの位置は、同じである。 The positions of the plurality of bits Qa in the group A and the positions of the plurality of bits Qc in the group C are the same. The positions of the plurality of bits Qb in the group B and the positions of the plurality of bits Qd in the group D are the same.
たとえば、グループAの複数ビットQaは、第1のメモリモジュール45から出力される複数ビットの中の奇数ビット、グループBの複数ビットQbは、第1のメモリモジュール45から出力される複数ビットの中の偶数ビットとすることができる。グループCの複数ビットQcは、第2のメモリモジュール46から出力される複数ビットの中の奇数ビット、グループDの複数ビットQdは、第2のメモリモジュール46から出力される複数ビットの中の奇数ビットとすることができる。
For example, multiple bits Qa of Group A, a plurality of bits Qb odd bits, group B of a plurality of bits output from the first memory module 4 5, a plurality of bits output from the first memory module 4 5 Can be even bits in. The multiple bit Qc of the group C is an odd number of bits among the multiple bits output from the
あるいは、グループAの複数ビットQaは、第1のメモリモジュール45から出力される複数ビットの中のMSB(Most Significant Bit)側の上位半分のビット、グループBの複数ビットQbは、第1のメモリモジュール45から出力される複数ビットの中のLSB(Least Significant Bit)側の下位半分のビットとすることができる。グループCの複数ビットQcは、第2のメモリモジュール46から出力される複数ビットの中のMSB側の上位半分のビット、グループDの複数ビットQdは、第2のメモリモジュール46から出力される複数ビットの中のLSB側の下位半分のビットとすることができる。
Alternatively, multiple bits Qa of Group A, a plurality of bits Qb in the MSB of (Most Significant Bit) side of the upper half bits in the plurality of bits output from the first memory module 4 5, group B, first it can be a LSB (Least Significant bit) side of the lower half of the bits in the plurality of bits output from the memory module 4 5. The multiple bits Qc of the group C are the upper half bits on the MSB side among the multiple bits output from the
セレクタ141は、第1の選択信号cen1のレベルが「1」、かつ第2の選択信号cen2のレベルが「0」のときに、第1のメモリモジュール45から出力されるグループAの複数のビットQaと、第2のメモリモジュール46から出力されるグループCの複数のビットQcとのうち、グループAの複数のビットQaを選択して、ECCデコーダ122へ出力する。
The
セレクタ141は、第1の選択信号cen1のレベルが「0」、かつ第2の選択信号cen2のレベルが「1」のときに、第1のメモリモジュール45から出力されるグループAの複数のビットQaと、第2のメモリモジュール46から出力されるグループCの複数のビットQcとのうち、グループCの複数のビットQcを選択して、ECCデコーダ122へ出力する。
The
セレクタ141は、第1の選択信号cen1のレベルが「0」、かつ第2の選択信号cen2のレベルが「0」のときに、第1のメモリモジュール45から出力されるグループAの複数のビットQaと、第2のメモリモジュール46から出力されるグループCの複数のビットQcのうちいずれかを出力する。
The
セレクタ141は、第1の選択信号cen1のレベルが「1」、かつ第2の選択信号cen2のレベルが「1」のときに、第1のメモリモジュール45から出力されるグループAの複数のビットQaと、第2のメモリモジュール46から出力されるグループCの複数のビットQcのうちいずれかを出力する。
The
セレクタ142は、第1の選択信号cen1のレベルが「1」、かつ第2の選択信号cen2のレベルが「0」のときに、第1のメモリモジュール45から出力されるグループBの複数のビットQbと、第2のメモリモジュール46から出力されるグループDの複数のビットQdとのうち、グループBの複数のビットQbを選択して、ECCデコーダ122へ出力する。
The
セレクタ142は、第1の選択信号cen1のレベルが「0」、かつ第2の選択信号cen2のレベルが「1」のときに、第1のメモリモジュール45から出力されるグループBの複数のビットQbと、第2のメモリモジュール46から出力されるグループDの複数のビットQdとのうち、グループDの複数のビットQdを選択して、ECCデコーダ122へ出力する。
The
セレクタ142は、第1の選択信号cen1のレベルが「0」、かつ第2の選択信号cen2のレベルが「0」のときに、第1のメモリモジュール45から出力されるグループBの複数のビットQbと、第2のメモリモジュール46から出力されるグループDの複数のビットQdのうちいずれかを出力する。
The
セレクタ142は、第1の選択信号cen1のレベルが「1」、かつ第2の選択信号cen2のレベルが「1」のときに、第1のメモリモジュール45から出力されるグループBの複数のビットQbと、第2のメモリモジュール46から出力されるグループDの複数のビットQdのうちいずれかを出力する。
The
ECCデコーダ122は、セレクタ141の出力とセレクタ142の出力とを合成したビットを誤り検出訂正する。ECCデコーダ122は、合成したビットの誤りを検出すると、故障通知信号ERRORを出力する。
The
FF73は、選択デコーダ62からセレクタ141への第1の選択信号cen1の伝送経路の途中に設けられる。FF74は、選択デコーダ62からセレクタ141への第2の選択信号cen2の伝送経路の途中に設けられる。FF75は、選択デコーダ62からセレクタ142への第1の選択信号cen1の伝送経路の途中に設けられる。FF76は、選択デコーダ62からセレクタ142への第2の選択信号cen2の伝送経路の途中に設けられる。FF73、FF74、FF75、FF76、第1のメモリモジュール45、および第2のメモリモジュール46に供給されるクロックは、同一である。
The FF73 is provided in the middle of the transmission path of the first selection signal cen1 from the
以上のような構成によって、FF73、FF74、FF75、またはFF76の故障を検出することができる。 With the above configuration, a failure of FF73, FF74, FF75, or FF76 can be detected.
たとえば、cen1=1、cen2=0の場合に、FF73が正常のときには、セレクタ141は、グループAの複数のビットQaを出力するが、FF73が故障のときには、セレクタ141が、グループAの複数のビットQaを出力するか、グループCの複数のビットQcを出力するかは不確定である。グループCの複数のビットQcが出力されたときには、ECCデコーダ122は、グループBの複数のビットQbと、グループCの複数のビットQcとを合成したビットを誤り検出訂正することによって、誤りを検出する。これによって、FF73〜FF76のいずれかに故障があったことを検出することができる。
For example, in the case of cen1 = 1 and cen2 = 0, when the FF73 is normal, the
[第5の実施形態]
図9は、第5の実施形態の半導体装置800の構成を表わす図である。
[Fifth Embodiment]
FIG. 9 is a diagram showing the configuration of the
図9を参照して、この半導体装置800は、メモリモジュール47と、ECCエンコーダ21と、冗長制御回路35,36と、ECCデコーダ22と、冗長デコーダ168と、エンコーダ151と、比較器152と、割り込み制御部201と、CPU202とを備える。
With reference to FIG. 9, the
ECCエンコーダ21、ECCデコーダ22、割り込み制御部201、およびCPU202は、参考例1と同様なので、説明を繰り返さない。
Since the
メモリモジュール47は、複数個のSRAMメモリセルを有するメモリアレイ155と、SRAMロジック回路とを備える。
The
メモリアレイ155は、正規ブロック153と、冗長ブロック154とを含む。正規ブロック153は、複数の正規メモリセル列からなる。複数の正規メモリセル列は、不良でない限り、データの書き込み箇所となる。冗長ブロック154は、1以上の冗長メモリセル列からなる。1以上の冗長メモリセル列は、正規ブロック153に含まれる複数の正規メモリセル列のうち、不良のメモリセルを有する不良メモリセル列を救済するために設けられる。1以上の冗長メモリセル列は、不良メモリセル列の代わりに、データの書き込み箇所となる。
The
冗長デコーダ168は、正規ブロック153内の複数の正規メモリセル列の中の不良メモリセル列のアドレス信号C_Addをデコードして、アドレスデコード信号R1を出力する。
The
冗長制御回路35は、データの書き込み時に、アドレスデコード信号R1に従って、正規ブロック153内の不良メモリセル列の代わりに、冗長ブロック154内の冗長メモリセル列にECCエンコーダ21の出力が書き込まれるように制御する。
When writing data, the
メモリモジュール47では、データの書き込み時に、アドレス信号Add[0:N]で指定される箇所に、誤り検出訂正符号化データEdata[0:M+s]が書き込まれる。
In the
メモリモジュール47では、データの読出し時に、アドレス信号Add[0:N]で指定される箇所から、記憶されているデータ信号Qが出力される。
When reading data, the
冗長制御回路36は、アドレスデコード信号R1に従って、正規ブロック153内の不良メモリセル列の代わりに、冗長ブロック154内の冗長メモリセル列からデータが読み出されるように制御する。
The
エンコーダ151は、アドレスデコード信号R1をエンコードして、正規ブロック153内の複数の正規メモリセル列の中の不良メモリセル列のアドレス信号C_Add′を出力する。このエンコードは、冗長デコーダ168のデコード(変換)の逆変換である。
The
比較器152は、エンコーダ151から出力されるアドレス信号C_Add′と、冗長デコーダ168に入力されるアドレス信号C_Addを比較し、不一致の場合に、故障通知信号ERRORを出力する。
The
以上の構成によって、冗長デコーダ168が故障状態のときに、アドレス信号C_Addから生成されるアドレスデコード信号R1が誤った信号となり、アドレスデコード信号R1をエンコードして得られるアドレス信号C_Add′が、アドレス信号C_Addと相違する。この相違を検出することによって、冗長デコーダ168の故障を判定することができる。
With the above configuration, when the
[第6の実施形態]
図10は、第6の実施形態の半導体装置900の構成を表わす図である。
[Sixth Embodiment]
FIG. 10 is a diagram showing the configuration of the
図10を参照して、この半導体装置900は、メモリモジュール47と、ECCエンコーダ21と、冗長制御回路35,36と、ECCデコーダ22と、冗長デコーダ168,169と、割り込み制御部201と、CPU202とを備える。
With reference to FIG. 10, the
メモリモジュール47、ECCエンコーダ21、割り込み制御部201と、CPU202は、第5の実施形態と同様なので、説明を繰り返さない。
Since the
冗長デコーダ168は、データの書込み時に、正規ブロック153内の複数の正規メモリセル列の中の不良メモリセル列のアドレス信号C_Addをデコードして、アドレスデコード信号R1を出力する。
When writing data, the
冗長制御回路35は、データの書き込み時に、アドレスデコード信号R1に従って、正規ブロック153内の不良メモリセル列の代わりに、冗長ブロック154内の冗長メモリセル列にECCエンコーダ21の出力が書き込まれるように制御する。
When writing data, the
冗長デコーダ169は、データの読み出し時に、正規ブロック153内の複数の正規メモリセル列の中の不良メモリセル列のアドレス信号C_Addをデコードして、アドレスデコード信号R2を出力する。
When reading data, the
冗長制御回路36は、データの読み出し時に、アドレスデコード信号R2に従って、正規ブロック153内の不良メモリセル列の代わりに、冗長ブロック154内の冗長メモリセル列からデータが読み出されるように制御する。
When reading data, the
ECCデコーダ22は、冗長制御回路36で読出が制御されたメモリモジュール47からの出力を誤り検出訂正する。ECCデコーダ22は、メモリモジュール47の出力の誤りを検出すると、故障通知信号ERRORを出力する。冗長デコーダ168および冗長デコーダ169のうち少なくとも1つが故障状態のため、アドレスデコード信号R1とアドレスデコード信号R2とが相違するときには、ECCデコーダ22がメモリモジュール47の出力の誤りを検出する。割り込み制御部201は、故障通知信号ERRORを受信すると、CPU202に故障を検知したことを割り込み通知する。
The
[第7の実施形態]
図11は、第7の実施形態の半導体装置1000の構成を表わす図である。
[7th Embodiment]
FIG. 11 is a diagram showing the configuration of the
図11を参照して、この半導体装置1000は、メモリモジュール161と、ECCエンコーダ221と、ECCデコーダ222と、比較器166と、割り込み制御部201と、CPU202とを備える。
With reference to FIG. 11, the
割り込み制御部201と、CPU202は、参考例1と同様なので、説明を繰り返さない。
Since the interrupt
メモリモジュール161は、複数個のSRAMセルを含むメモリアレイ162と、制御部CTRLなどのSRAMロジックとを備える。
The
メモリアレイ162は、データ信号Data[0:M]を記憶するデータ領域163と、アドレス信号Add[0:N]を記憶するアドレス領域164と、データ信号Data[0:M]とアドレス信号Add[0:N]とに基づいて生成された検査ビットを記憶する検査ビット領域165とを含む。データ領域163は、(M+1)個の列からなる。アドレス領域164は、(N+1)個の列からなる。検査ビット領域165は、S個の列からなる。
The
図12は、第7の実施形態のメモリアレイ162に記憶されるデータの構成を表わす図である。
FIG. 12 is a diagram showing the structure of data stored in the
メモリアレイ162の1行には、(M+1)ビットのデータ信号Data[0:M]と、(N+1)ビットのアドレス信号Add[0:N]と、Sビットの検査ビットとからなるビット列が記憶される。
One row of the
図3に示すような一時記憶回路650およびアドレスデコーダADRCTLからなる制御部CTRLは、メモリアレイ162へのデータの書き込み時に書き込み用のアドレス信号Add[0:N]をデコードして第1のアドレスデコード信号WRを出力する。
The control unit CTRL including the
ECCエンコーダ221は、データの書き込み時に、データ信号Data[0:M]と、書き込み用のアドレス信号Add[0:N]とからなるビット列を誤り検出訂正符号化して、Sビットの検査ビットを生成する。
When writing data, the
メモリアレイ162内の第1のアドレスデコード信号WRで指定される行の位置に、ECCエンコーダ221から出力されるデータ信号Data[0:M]と、書き込み用のアドレス信号Add[0:M]と、検査ビットとからなるビット列が書き込まれる。
At the position of the line specified by the first address decoding signal WR in the
制御部CTRLは、は、メモリアレイ162からのデータの読出し時に読出し用のアドレス信号Add[0:N]をデコードして第2のアドレスデコード信号RRを出力する。
The control unit CTRL decodes the read address signal Add [0: N] when reading the data from the
メモリアレイ162は、データの読出し時に、第2のアドレスデコード信号RRで指定される行の位置からデータData′[0:M]と、アドレスAdd′[0:N]と、検査ビットとからなるビット列を出力する。
The
ECCデコーダ222は、メモリモジュール161から出力されたビット列を誤り検出訂正復号化して、データData″[0:M]とアドレスAdd″[0:N]とを出力する。
The
比較器166は、ECCデコーダ222から出力されるアドレスAdd″[0:N]と、読出し用のアドレスAdd[0:N]とを比較する。比較器166は、不一致の場合に、故障通知信号ERRORを出力する。
The
制御部CTRLに故障がない場合に、ECCデコーダ222から出力されるアドレスAdd″[0:N]と、読出し用のアドレスAdd[0:N]とが一致する。制御部CTRLに故障が発生した結果、書き込み用のアドレスをデコードした第1のアドレスデコード信号WRと、書き込み用のアドレスと同一の読出し用のアドレスをデコードした第2のアドレスデコード信号RRとが相違する場合がある。このような場合に、ECCデコーダ222から出力されるアドレスAdd″[0:N]と、読出し用のアドレスAdd[0:N]とが不一致となる。この不一致を検出することによって、制御部CTRLの故障が検出できる。
When there is no failure in the control unit CTRL, the address Add ″ [0: N] output from the
[第8の実施形態]
図13は、第8の実施形態の半導体装置1100の構成を表わす図である。
[8th Embodiment]
FIG. 13 is a diagram showing the configuration of the
図13を参照して、この半導体装置1100は、メモリモジュール171と、ECCエンコーダ321と、ECCデコーダ322と、割り込み制御部201と、CPU202とを備える。
With reference to FIG. 13, the
割り込み制御部201と、CPU202は、参考例1と同様なので、説明を繰り返さない。
Since the interrupt
メモリモジュール171は、複数個のSRAMセルを含むメモリアレイ172と、制御部CTRLなどのSRAMロジックとを備える。
The
メモリアレイ172は、データ信号Data[0:M]を記憶するデータ領域173と、データ信号Data[0:M]とアドレス信号Add[0:N]とに基づいて生成された検査ビットを記憶する検査ビット領域174とを含む。データ領域173は、(M+1)個の列からなる。検査ビット領域174は、S個の列からなる。
The
図14は、第8の実施形態のメモリアレイ172に記憶されるデータの構成を表わす図である。
FIG. 14 is a diagram showing the structure of data stored in the
メモリアレイ172の1行には、(M+1)ビットのデータ信号Data[0:M]と、Sビットの検査ビットとからなるビット列が記憶される。
In one line of the
図3に示すような一時記憶回路650およびアドレスデコーダADRCTLからなる制御部CTRLは、メモリアレイ172へのデータの書き込み時に書き込み用のアドレスAdd[0:N]をデコードして第1のアドレスデコード信号WRを出力する。
The control unit CTRL including the
ECCエンコーダ321は、データの書き込み時に、データ信号Data[0:M]と、書き込み用のアドレス信号Add[0:N]とからなるビット列を誤り検出訂正符号化して、Sビットの検査ビットを生成する。
When writing data, the
メモリアレイ172内の第1のアドレスデコード信号WRで指定される行の位置に、ECCエンコーダ321から出力されるデータ信号Data[0:M]と、検査ビットとからなるビット列が書き込まれる。
A bit string including the data signal Data [0: M] output from the
制御部CTRLは、メモリアレイ172からのデータの読出し時に読出し用のアドレスAdd[0:N]をデコードして第2のアドレスデコード信号RRを出力する。
When reading data from the
メモリアレイ172は、データの読出し時に、第2のアドレスデコード信号RRで指定される行位置からデータData′[0:M]と、検査ビットとからなるビット列を出力する。
When reading data, the
ECCデコーダ322は、メモリモジュール171から出力されたビット列に読出し用のアドレスAdd[0:N]を付加することによって、データData′[0:M]と、アドレスAdd[0:N]と、検査ビットとからなるビット列を生成する。ECCデコーダ322は、生成したビット列を誤り検出訂正復号化して、データData″[0:M]とアドレスAdd″[0:N]とを出力する。ECCデコーダ322は、誤りを検出した場合に、故障通知信号ERRORを割り込み制御部201へ出力する。
The
制御部CTRLに故障がない場合に、ECCデコーダ322は誤りを検出しない。
制御部CTRLに故障が発生した結果、書き込み用のアドレスをデコードした第1のアドレスデコード信号WRと、書き込み用のアドレスと同一の読出し用のアドレスをデコードした第2のアドレスデコード信号RRとが相違する場合がある。このような場合、ECCデコーダ322に入力されるメモリモジュール171から読み出された検査ビットは、ECCデコーダ322に入力される読出し用のアドレスAdd[0:N]から生成されたものと相違する。よって、ECCデコーダ322は、検査ビットに基づいて、誤りを検出することができる。
If there is no failure in the control unit CTRL, the
As a result of a failure in the control unit CTRL, the first address decode signal WR that decodes the write address and the second address decode signal RR that decodes the same read address as the write address are different. May be done. In such a case, the inspection bit read from the
[参考例2]
図15は、参考例2の半導体装置1200の構成を表わす図である。図15において、データ信号Data[0:M]を処理する回路および配線は省略されている。
[Reference example 2]
FIG. 15 is a diagram showing the configuration of the
図15を参照して、この半導体装置1200は、アドレス出力機能付き第1のメモリモジュール181と、アドレス出力機能付き第2のメモリモジュール182と、アドレス分割器61と、選択デコーダ62と、ERRORセレクタ283と、FF77,78,79と、比較器184と、割り込み制御部201と、CPU202とを備える。
With reference to FIG. 15, the
アドレス分割器61、選択デコーダ62、割り込み制御部201、およびCPU202は、参考例1と同様なので、説明を繰り返さない。
Since the
アドレス出力機能付き第1のメモリモジュール181は、実施の形態2の第1のメモリモジュール45と同様に、複数個のSRAMメモリセルを有するメモリアレイと、SRAMロジック回路とを備える。
The
アドレス出力機能付き第1のメモリモジュール181およびアドレス出力機能付き第2のメモリモジュール182の各々には、アドレス分割器61から出力されたNビットの第2のアドレスビットAdd[0:N−1]が入力される。
Each of the
図16は、アドレス出力機能付き第1のメモリモジュール181の構成を表わす図である。アドレス出力機能付き第2のメモリモジュール182も、これと同様である。
FIG. 16 is a diagram showing a configuration of a
図16を参照して、アドレス出力機能付き第1のメモリモジュール181が、図3の第1のメモリモジュール41と相違する点は、アドレス出力機能付き第1のメモリモジュール181は、内部アドレスビットAQ1[0]〜AQ1[N−1](以下、AQ1と称することもある)を出力するための内部アドレス出力端子AQをさらに有することである。アドレス出力機能付き第1のメモリモジュール181は、入力されたNビットの第2のアドレスビットAdd[0:N−1]から生成された内部アドレスビットAQ1[0]〜AQ1[N−1]をアドレス出力端子AQから出力する。
With reference to FIG. 16, the
アドレス出力機能付き第2のメモリモジュール182は、入力されたNビットの第2のアドレスビットAdd[0:N−1]から生成された内部アドレスビットAQ2[0]〜AQ2[N−1](以下、AQ2と称することもある)を内部アドレス出力端子AQから出力する。
The
アドレス出力機能付き第1のメモリモジュール181では、データの書き込み時に、第1の選択信号cen1が「1」のときに、第2のアドレスビットAdd[0:N−1]で指定される箇所に、データ信号Data[0:M]が書き込まれ、第1の選択信号cen1が「0」のときに、データ信号Data[0:M]が書き込まれない。アドレス出力機能付き第1のメモリモジュール181では、データの読出し時に、第1の選択信号cen1が「1」のときに、第2のアドレスビットAdd[0:N−1]で指定される箇所から、記憶されているデータ信号Q1が出力される。アドレス出力機能付き第1のメモリモジュール181は、データの読出し時に、第1の選択信号cen1が「0」のときに、記憶されているデータ信号Q1が出力されない。アドレス出力機能付き第1のメモリモジュール181では、第1の選択信号cen1のレベルに係らず、内部アドレスビットAQ1[0]〜AQ1[N−1]を出力する。
In the
アドレス出力機能付き第2のメモリモジュール182では、データの書き込み時に、第2の選択信号cen2が「1」のときに、第2のアドレスビットAdd[0:N−1]で指定される箇所に、データ信号Data[0:M]が書き込まれ、第2の選択信号cen2が「0」のときに、データ信号Data[0:M]が書き込まれない。アドレス出力機能付き第2のメモリモジュール182では、データの読出し時に、第2の選択信号cen2が「1」のときに、第2のアドレスビットAdd[0:N−1]で指定される箇所から、記憶されているデータ信号Q2が出力される。アドレス出力機能付き第2のメモリモジュール182では、データの読出し時に、第2の選択信号cen2が「0」のときに、記憶されているデータ信号Q2が出力されない。アドレス出力機能付き第2のメモリモジュール182では、第2の選択信号cen2のレベルに係らず、内部アドレスビットAQ2[0]〜AQ2[N−1]を出力する。
In the
再び、図15を参照して、ERRORセレクタ283は、第1の選択信号cen1のレベルおよび第2の選択信号cen2のレベルに基づいて、第1のメモリモジュール181から出力される内部アドレスビットAQ1と第2のメモリモジュール182から出力される内部アドレスビットAQ2のうちのいずれかを選択して、比較器184へ出力する。
Again, with reference to FIG. 15, the
ERRORセレクタ283は、第1の選択信号cen1のレベルが活性化レベルの「1」、かつ第2の選択信号cen2のレベルが非活性化レベルの「0」のときに、第1のメモリモジュール181から出力される内部アドレスビットAQ1を選択して、比較器184へ出力する。ERRORセレクタ283は、第1の選択信号cen1のレベルが非活性化レベルの「0」、かつ第2の選択信号cen2のレベルが活性化レベルの「1」のときに、第2のメモリモジュール182から出力される内部アドレスビットAQ2を選択して、比較器184へ出力する。ERRORセレクタ283は、第1の選択信号cen1のレベルが「0」、かつ第2の選択信号cen2のレベルが「0」のときに、第1のメモリモジュール181から出力される内部アドレスビットAQ1および第2のメモリモジュール182から出力される内部アドレスビットAQ2のうちいずれかを出力する。ERRORセレクタ283は、第1の選択信号cen1のレベルが「1」、かつ第2の選択信号cen2のレベルが「1」のときに、第1のメモリモジュール181から出力される内部アドレスビットAQ1および第2のメモリモジュール182から出力される内部アドレスビットAQ2のうちいずれかを出力する。
比較器184は、ERRORセレクタ283から出力される内部アドレスビットAQ1またはAQ2と、アドレス分割器61から出力される第1のアドレスビットAdd[N]とを合成したビットと、CPU202から出力されるアドレス信号A[0:N]とを比較する。比較器184は、不一致の場合に、故障通知信号ERRORを出力する。
The
FF77は、選択デコーダ62からERRORセレクタ283への第1の選択信号cen1の伝送経路の途中に設けられる。FF78は、選択デコーダ62からERRORセレクタ283への第2の選択信号cen2の伝送経路の途中に設けられる。FF79は、アドレス分割器61から比較器184の入力への第1のアドレスビットAdd[N]の伝送経路の途中に設けられる。
The FF77 is provided in the middle of the transmission path of the first selection signal cen1 from the
FF77、FF78、FF79、アドレス出力機能付き第1のメモリモジュール181、およびアドレス出力機能付き第2のメモリモジュール182に供給されるクロックは、同一である。
The clocks supplied to the FF77, FF78, FF79, the
参考例2の半導体装置1200では、アドレス信号Add[0:N]を処理する選択デコーダ62およびそれに関連する配線の故障を検出することできないという問題がある。
The
第1の選択信号cen1のレベルと第2の選択信号cen2のレベルのうちの少なくとも一方が誤っている場合でも、第1のメモリモジュール181の出力AQ1と第2のメモリモジュール182の出力AQ2のうちのいずれかがERRORセレクタ283を介して、比較器184に入力されるからである。
Of the output AQ1 of the
[第9の実施形態]
図17は、第9の実施形態の半導体装置1300の構成を表わす図である。
[9th Embodiment]
FIG. 17 is a diagram showing the configuration of the
図17を参照して、この半導体装置1300は、アドレス出力機能付き第1のメモリモジュール181と、アドレス出力機能付き第2のメモリモジュール182と、アドレス分割器61と、選択デコーダ62と、ERRORセレクタ283と、FF77,78,79と、エンコーダ191と、比較器194と、割り込み制御部201と、CPU202とを備える。
With reference to FIG. 17, the
アドレス出力機能付き第1のメモリモジュール181、アドレス出力機能付き第2のメモリモジュール182、アドレス分割器61、選択デコーダ62、ERRORセレクタ283、FF77,78,79、割り込み制御部201、およびCPU202は、参考例2と同様なので、説明を繰り返さない。
The
エンコーダ191は、選択デコーダ62から出力される第1の選択信号cen1、第2の選択信号cen2をエンコードして、第1のアドレスビットAdd′[N]を出力する。このエンコードは、選択許可信号CEN=1のときの選択デコーダ62のデコード(変換)の逆変換である。
The
エンコーダ191は、第1の選択信号cen1が「1」、かつ第2の選択信号cen2が「0」のときに、第1のアドレスビットAdd′[N](=「1」)を出力する。エンコーダ191は、第1の選択信号cen1が「0」、かつ第2の選択信号cen2が「1」のときに、第1のアドレスビットAdd′[N](=「0」)を出力する。
The
比較器194は、ERRORセレクタ283から出力される内部アドレスビットAQ1またはAQ2と、エンコーダ191から出力される第1のアドレスビットAdd′[N]とを合成したビットと、CPU202から出力されるアドレス信号A[0:N]とを比較する。比較器194は、不一致の場合に、故障通知信号ERRORを出力する。
The
選択デコーダ62の故障によって選択デコーダ62から出力される第1の選択信号cen1のレベルと第2の選択信号cen2のレベルがともに反転したときには、エンコーダ191から出力される第1のアドレスビットAdd′[N]は、アドレスビットAdd[N]と相違することになる。この相違を検出することによって、選択デコーダ62の故障を判定することができる。
When both the level of the first selection signal cen1 output from the
[第10の実施形態]
図18は、第10の実施形態の半導体装置1400の構成を表わす図である。
[10th Embodiment]
FIG. 18 is a diagram showing the configuration of the
図18を参照して、この半導体装置1400は、アドレス出力機能付き第1のメモリモジュール181と、アドレス出力機能付き第2のメモリモジュール182と、アドレス分割器61と、選択デコーダ62と、ERRORセレクタ283とを備える。半導体装置1400は、FF77,78,79と、CGC(Clock Gating Circuit)192,193と、比較器184と、割り込み制御部201と、CPU202とを備える。
With reference to FIG. 18, the
アドレス出力機能付き第1のメモリモジュール181、アドレス出力機能付き第2のメモリモジュール182、アドレス分割器61、選択デコーダ62、ERRORセレクタ283、FF77,78,79、比較器184、割り込み制御部201、およびCPU202は、参考例2と同様なので、説明を繰り返さない。
CGC192は、第1の選択信号cen1が活性化レベル「1」のときに、第1のメモリモジュール181へクロックCLKを出力する。CGC193は、第2の選択信号cen2が活性化レベル「1」のときに、第2のメモリモジュール182へクロックCLKを出力する。
The
第1のメモリモジュール181は、第2のアドレスビットAdd[0:N−1]を受けて、クロックCLKのエッジのタイミングで、入力された第2のアドレスビットAdd[0:N−1]の最新値を取り込む。第1のメモリモジュール181は、第2のアドレスビットAdd[0:N−1]の最新値に基づき、メモリアレイMARYへのデータの書き込み、またはメモリアレイMARYからのデータの読出しを実行するとともに、第2のアドレスビットAdd[0:N−1]の最新値の内部アドレスビットAQ1を出力する。したがって、第1の選択信号cen1が「1」のときには、第1のメモリモジュール181から、第2のアドレスビットAdd[0:N−1]の最新値の内部アドレスビットが出力される。第1の選択信号cen1が「0」のときには、第1のメモリモジュール181から、第2のアドレスビットAdd[0:N−1]の以前の値の内部アドレスビットが出力される。
The
第2のメモリモジュール182は、第2のアドレスビットAdd[0:N−1]を受けて、クロックCLKのエッジのタイミングで、入力された第2のアドレスビットAdd[0:N−1]の最新値を取り込む。第2のメモリモジュール182は、第2のアドレスビットAdd[0:N−1]の最新値に基づき、メモリアレイMARYへのデータの書き込み、またはメモリアレイMARYからのデータの読出しを実行するとともに、第2のアドレスビットAdd[0:N−1]の最新値の内部アドレスビットAQ2を出力する。したがって、第2の選択信号cen2が「1」のときには、第2のメモリモジュール182から、第2のアドレスビットAdd[0:N−1]の最新値の内部アドレスビットが出力される。第2の選択信号cen2が「0」のときには、第2のメモリモジュール182から、第2のアドレスビットAdd[0:N−1]の以前の値の内部アドレスビットが出力される。
The
比較器184は、ERRORセレクタ283から出力される内部アドレスビットAQ1またはAQ2と、最上位ビットAdd[N]とを合成したビットと、CPU202から出力されるアドレス信号A[0:N]とを比較する。比較器184は、不一致の場合に、故障通知信号ERRORを出力する。
The
選択デコーダ62の故障によって、選択許可信号CENのレベルが「1」、第1の選択信号cen1のレベルが「0」、かつ第2の選択信号cen2のレベルが「0」となったときには、以下のような動作が行われる。第1のメモリモジュール181の出力AQ1は、第2のアドレスビットの以前の値(すなわち、1つ前の周期の値)の内部アドレスビットとなり、第2のメモリモジュール182の出力AQ2も第2のアドレスビットの以前の値の内部アドレスビットとなる。ERRORセレクタ283によって、第1のメモリモジュール181の出力AQ1と、第2のメモリモジュール182の出力AQ2のいずれか一方が選択されて比較器184に入力される。これによって、比較器184には、第2のアドレスビットAdd[0:N−1]の以前の値の内部アドレスビットが入力されるため、故障を検知することができる。
When the level of the selection permission signal CEN is "1", the level of the first selection signal cen1 is "0", and the level of the second selection signal cen2 is "0" due to the failure of the
[第11の実施形態]
図19は、第11の実施形態の半導体装置1500の構成を表わす図である。
[11th Embodiment]
FIG. 19 is a diagram showing the configuration of the
この半導体装置1500は、アドレス出力機能付き第1のメモリモジュール181と、アドレス出力機能付き第2のメモリモジュール182と、アドレス分割器61と、選択デコーダ62と、ECCエンコーダ21と、ERRORセレクタ283とを備える。半導体装置1500は、さらに、セレクタ141と、セレクタ142と、ECCデコーダ122と、故障判定部121と、比較器184と、FF73,74,75,76,77,78,79と、割り込み制御部301と、CPU302とを備える。
The
アドレス出力機能付き第1のメモリモジュール181と、アドレス出力機能付き第2のメモリモジュール182と、アドレス分割器61と、選択デコーダ62と、ECCエンコーダ21と、ERRORセレクタ283は、上述のいずれかの実施形態で説明したものと同様なので説明を繰り返さない。また、セレクタ141と、セレクタ142と、ECCデコーダ122と、故障判定部121と、比較器184と、FF73,74,75,76,77,78,79は、上述のいずれかの実施形態で説明したものと同様なので説明を繰り返さない。
The
故障判定部121は、選択デコーダ62が第1の故障状態と判定したときに、第1の故障通知信号ERROR1を割り込み制御部301へ出力する。第1の故障状態とは、選択許可信号CENが「1」のときに、第1の選択信号cen1と第2の選択信号cen2の一方が「1」で他方が「0」となるのが正しい場合に、第1の選択信号cen1と第2の選択信号cen2の両方が「0」または「1」となる故障である。また、選択許可信号CENが「1」のときに、第1の選択信号cen1と第2の選択信号cen2の両方が「0」となるのが正しい場合に、少なくとも1つが「1」となるような故障である。
When the
比較器184は、選択デコーダ62が第2の故障状態のため、入力される2つのアドレスが不一致となった場合に、第2の故障通知信号ERROR2を出力する。第2の故障状態とは、第1の選択信号cen1のレベルが反転するとともに、第2の選択信号cen2のレベルも反転する故障である。
The
ECCデコーダ122は、FF73,74,75,76のいずれかが故障状態の結果、誤りを検出したときには、第3の故障通知信号ERROR3を割り込み制御部301へ出力する。
When any of FF73, 74, 75, and 76 detects an error as a result of a failure state, the
割り込み制御部301は、第1の故障通知信号ERROR1、第2の故障通知信号ERROR2、および第3の故障通知信号ERROR3をCPU302に伝える。第1の故障通知信号ERROR1が最も優先度が高く、第2の故障通知信号ERROR2が次に優先度が高く、第3の故障通知信号ERROR3が優先度が最も低いものとする。
The interrupt
図20は、故障が通知されたときのCP302の処理手順を表わすフローチャートである。
FIG. 20 is a flowchart showing a processing procedure of the
図20を参照して、ステップS501において、CPU302が第1の故障通知信号ERROR1を受信したときには、処理がステップS510に進み、CPU302が第1の故障通知信号ERROR1を受信しないときには、処理がステップS502に進む。
With reference to FIG. 20, in step S501, when the
ステップS502において、CPU302が第2の故障通知信号ERROR2を受信したときには、処理がステップS507に進み、CPU302が第2の故障通知信号ERROR2を受信しないときには、処理がステップS503に進む。
In step S502, when the
ステップS503において、CPU302が第3の故障通知信号ERROR3を受信したときには、処理がステップS505に進み、CPU302が第3の故障通知信号ERROR3を受信しないときには、処理がステップS504に進む。
In step S503, when the
ステップS505において、CPU302が第3の故障通知信号ERROR3を受信したのが2回目の場合に、処理がステップS509に進み、CPU302が第3の故障通知信号ERROR3を受信したのが1回目の場合に、処理がステップS506に進む。
In step S505, when the
ステップS507において、CPU302がテストを実行する。
ステップS508において、テスト結果が良好の場合に、処理がステップS503に進み、テスト結果が不良の場合に、処理がステップS509に進む。
In step S507, the
In step S508, if the test result is good, the process proceeds to step S503, and if the test result is bad, the process proceeds to step S509.
ステップS504において、CPU302は、通常処理が実行されるように制御する。
ステップS506において、CPU302は、直前の動作を繰り返す繰り返し処理が実行されるように制御する。
In step S504, the
In step S506, the
ステップS509において、CPU302は、代替処理が実行されるように制御する。
ステップS510において、CPU302は、危険回避処理が実行されるように制御する。
In step S509,
In step S510, the
以上のように、本実施の形態では、複数種類の故障が発生する可能性がある場合に、発生した故障の種類の優先度に応じた処理を実行することができる。 As described above, in the present embodiment, when there is a possibility that a plurality of types of failures may occur, it is possible to execute processing according to the priority of the types of failures that have occurred.
[第12の実施形態]
図21は、第12の実施形態の半導体装置1600の構成を表わす図である。
[Twelfth Embodiment]
FIG. 21 is a diagram showing the configuration of the
図21を参照して、この半導体装置1600は、アドレス出力機能付き第1のメモリモジュール281と、アドレス出力機能付き第2のメモリモジュール282と、アドレス分割器61と、選択デコーダ62と、ERRORセレクタ283と、比較器284と、FF77,78,79と、割り込み制御部401と、CPU202とを備える。
With reference to FIG. 21, the
アドレス分割器61、選択デコーダ62、FF77,78,79、およびCPU202は、参考例2と同様なので、説明を繰り返さない。
Since the
アドレス出力機能付き第1のメモリモジュール281およびアドレス出力機能付き第2のメモリモジュール282は、実施の形態2の第1のメモリモジュール45と同様に、複数個のSRAMメモリセルを有するメモリアレイと、SRAMロジック回路とを備える。
The
アドレス出力機能付き第1のメモリモジュール281およびアドレス出力機能付き第2のメモリモジュール282の各々には、アドレス分割器61から出力されたNビットの第2のアドレスビットAdd[0:N−1](第1のアドレス信号)と、CPU202から直接送られるNビットのアドレスビットA[0:N−1](第2のアドレス信号)が入力される。アドレスビットA[0:N−1]は、内部アドレスビットAQ1[0:N−1]が正常か否かを調べるための期待値信号として機能する。
Each of the
アドレス出力機能付き第1のメモリモジュール281は、第1の選択信号cen1を受ける。アドレス出力機能付き第1のメモリモジュール281は、第1の選択信号cen1のレベルが活性化レベルの「1」のときに、データの読出しおよび書き込みが可能となる。アドレス出力機能付き第1のメモリモジュール281は、第1の選択信号cen1のレベルが非活性化レベルの「0」のときに、データの読出しおよび書き込みが不可能となる。
The
アドレス出力機能付き第2のメモリモジュール282は、第2の選択信号cen2を受ける。アドレス出力機能付き第2のメモリモジュール282は、第2の選択信号cen2のレベルが活性化レベルの「1」のときに、データの読出しおよび書き込みが可能となる。アドレス出力機能付き第2のメモリモジュール282は、第2の選択信号cen2のレベルが非活性化レベルの「0」のときに、データの読出しおよび書き込みが不可能となる。
The
図22は、アドレス出力機能付き第1のメモリモジュール281の構成を表わす図である。アドレス出力機能付き第2のメモリモジュール282も、これと同様である。
FIG. 22 is a diagram showing a configuration of a
図22を参照して、アドレス出力機能付き第1のメモリモジュール281が、図3の第1のメモリモジュール41と相違する点は、比較器285と、故障通知出力端子EAと、アドレス入力端子ADBと、クロック供給源888と、選択端子CNとを備える点である。
With reference to FIG. 22, the
アドレス入力端子ADBは、(N+1)ビットのアドレス信号A[0:N]のうちのNビットのアドレスビットA[0:N−1](下位の第1の個数のビット)をCPU202から直接受ける。
The address input terminal ADB directly receives the N-bit address bit A [0: N-1] (lower first number of bits) of the (N + 1) bit address signal A [0: N] from the
選択端子CNは、第1の選択信号cen1を受けて、クロック供給源888へ出力する。クロック供給源888は、第1の選択信号cen1のレベルが活性化レベルの「1」のときに、クロックCLKをアドレス出力機能付き第1のメモリモジュール281へ供給する。クロック供給源888は、第1の選択信号cen1のレベルが非活性化レベルの「0」のときに、クロックCLKをアドレス出力機能付き第1のメモリモジュール281へ供給しない。
The selection terminal CN receives the first selection signal cen1 and outputs it to the
比較器285は、アドレス入力端子ADBから送られるNビットのアドレスビットA[0:N−1]と、一時記憶回路650から出力されるNビットの内部アドレスビットAQ1[0:N−1]とを比較する。比較器285は、比較結果が不一致のときには、故障通知信号ERROR1を出力する。
The
故障通知出力端子EAは、故障通知信号ERROR1を出力する。
アドレス出力機能付き第2のメモリモジュール282は、同様にして、故障通知信号ERROR2を出力する。
The failure notification output terminal EA outputs the failure notification signal ERROR1.
The
再び、図21を参照して、ERRORセレクタ283は、第1の選択信号cen1のレベルおよび第2の選択信号cen2のレベルに基づいて、第1のメモリモジュール281から出力される故障通知信号ERROR1と第2のメモリモジュール282から出力される故障通知信号ERROR2のうちのいずれかを選択して、選択した故障通知信号を故障通知信号ERROR3として、割り込み制御部401へ出力する。
Again, with reference to FIG. 21, the
ERRORセレクタ283は、第1の選択信号cen1のレベルが活性化レベルの「1」、かつ第2の選択信号cen2のレベルが非活性化レベルの「0」のときに、第1のメモリモジュール281から出力される故障通知信号ERROR1を選択する。ERRORセレクタ283は、第1の選択信号cen1のレベルが非活性化レベルの「0」、かつ第2の選択信号cen2のレベルが活性化レベルの「1」のときに、第2のメモリモジュール282から出力される故障通知信号ERROR2を選択する。ERRORセレクタ283は、第1の選択信号cen1のレベルが「0」、かつ第2の選択信号cen2のレベルが「0」のときに、第1のメモリモジュール281から出力される故障通知信号ERROR1および第2のメモリモジュール282から出力される故障通知信号ERROR2のうちのいずれかを選択する。ERRORセレクタ283は、第1の選択信号cen1のレベルが「1」、かつ第2の選択信号cen2のレベルが「1」のときに、第1のメモリモジュール281から出力される故障通知信号ERROR1および第2のメモリモジュール282から出力される故障通知信号ERROR2のうちのいずれかを選択する。
The
比較器284は、アドレス分割器61から出力される第1のアドレスビットAdd[N]と、CPU202から直接送られる第1のアドレスビットA[N]とを比較する。比較器284は、比較結果が不一致のときに、故障通知信号ERROR4を割り込み制御部401へ出力する。
The
割り込み制御部401は、故障通知信号ERROR3または故障通知信号ERROR4を受けたときに、CPU202に故障を検知したことを割り込み通知する。
When the interrupt
本実施の形態によれば、メモリモジュール内に比較器を設けて、メモリモジュール内でアドレスの比較によって、故障判定する。これによって、従来は、メモリモジュールからアドレス信号のビット数分の信号を出力していたのに対して、本実施の形態では、メモリモジュールから1ビットの信号を出力するだけでよくなる。 According to this embodiment, a comparator is provided in the memory module, and a failure is determined by comparing addresses in the memory module. As a result, conventionally, signals corresponding to the number of bits of the address signal have been output from the memory module, but in the present embodiment, only one bit of the signal needs to be output from the memory module.
図23は、アドレス出力機能付き第1のメモリモジュール281のレイアウトを表わす図である。アドレス出力機能付き第2のメモリモジュール282も、これと同様である。
FIG. 23 is a diagram showing the layout of the
メモリモジュール281への入出力端子は、制御部CTRLの近辺に集中して配置される。入出力端子と接続する信号線の数が多いと、制御部CTRLの近辺で電流集中が起こりやすくなる。本実施の形態では、出力する信号のビット数を低減することによって、特定の箇所に多量の電流が集中して流れるのを抑制することができる。
The input / output terminals to the
[第13の実施形態]
図24は、第13の実施形態の半導体装置1700の構成を表わす図である。
[13th Embodiment]
FIG. 24 is a diagram showing the configuration of the
図24を参照して、この半導体装置1700は、アドレス出力機能付き第1のメモリモジュール381と、アドレス出力機能付き第2のメモリモジュール382と、アドレス分割器61と、選択デコーダ62と、ERRORセレクタ283と、比較器284と、FF77,78,79と、割り込み制御部401と、CPU202とを備える。
With reference to FIG. 24, the
アドレス分割器61、選択デコーダ62、FF77,78,79、およびCPU202は、参考例2と同様なので、説明を繰り返さない。ERRORセレクタ283、比較器284、および割り込み制御部401は、第12の実施形態と同様なので、説明を繰り返さない。
Since the
アドレス出力機能付き第1のメモリモジュール381およびアドレス出力機能付き第2のメモリモジュール382は、実施の形態2の第1のメモリモジュール45と同様に、複数個のSRAMメモリセルを有するメモリアレイと、SRAMロジック回路とを備える。
The
アドレス出力機能付き第1のメモリモジュール381およびアドレス出力機能付き第2のメモリモジュール382の各々には、アドレス分割器61から出力されたNビットの第2のアドレスビットAdd[0:N−1]と、テストアドレスが入力される。
Each of the
アドレス出力機能付き第1のメモリモジュール381は、第1の選択信号cen1を受ける。アドレス出力機能付き第1のメモリモジュール381は、第1の選択信号cen1のレベルが活性化レベルの「1」のときに、データの読出しおよび書き込みが可能となる。アドレス出力機能付き第1のメモリモジュール381は、第1の選択信号cen1のレベルが非活性化レベルの「0」のときに、データの読出しおよび書き込みが不可能となる。
The
アドレス出力機能付き第2のメモリモジュール382は、第2の選択信号cen2を受ける。アドレス出力機能付き第2のメモリモジュール382は、第2の選択信号cen2のレベルが活性化レベルの「1」のときに、データの読出しおよび書き込みが可能となる。アドレス出力機能付き第2のメモリモジュール382は、第2の選択信号cen2のレベルが非活性化レベルの「0」のときに、データの読出しおよび書き込みが不可能となる。
The
図25は、アドレス出力機能付き第1のメモリモジュール381の構成を表わす図である。アドレス出力機能付き第2のメモリモジュール382も、これと同様である。
FIG. 25 is a diagram showing a configuration of a
図25を参照して、アドレス出力機能付き第1のメモリモジュール381が、図3の第1のメモリモジュール41と相違する点は、比較器385と、故障通知出力端子EAと、テストアドレス入力端子TAと、セレクタ386と、クロック供給源888と、選択端子CNとを備える点である。
With reference to FIG. 25, the
テストアドレス入力端子TAには、たとえばCPU202から直接送られるNビットのテストアドレス信号TAdd[0:N−1]が入力される。たとえば、テストアドレス信号TAdd[0:N−1]は、全ビットが0の信号、あるいは全ビットが1の信号とすることができる。
For example, an N-bit test address signal TAdd [0: N-1] sent directly from the
なお、テストアドレス入力端子TAに入力されるテストアドレス信号は、Nビットのテストアドレス信号TAdd[0:N−1]に限らない。たとえば、1ビットのテストアドレス信号であってもよい。メモリモジュール381が、1ビットのテストアドレス信号を受けたときに、Nビットのテストアドレス信号を生成して、セレクタ386へ供給するものとしてもよい。
The test address signal input to the test address input terminal TA is not limited to the N-bit test address signal TAdd [0: N-1]. For example, it may be a 1-bit test address signal. Memory module 38 1, when receiving a test address signal of 1 bit, and generates a test address signal of N bits, may be supplied to the
選択端子CNは、第1の選択信号cen1を受けて、クロック供給源888へ出力する。クロック供給源888は、第1の選択信号cen1のレベルが活性化レベルの「1」のときに、クロックCLKをアドレス出力機能付き第1のメモリモジュール381へ供給する。クロック供給源888は、第1の選択信号cen1のレベルが非活性化レベルの「0」のときに、クロックCLKをアドレス出力機能付き第1のメモリモジュール381へ供給しない。
The selection terminal CN receives the first selection signal cen1 and outputs it to the
セレクタ386は、図示しない制御信号に従って、アドレス入力端子ADAから送られるNビットの第2のアドレスビットAdd[0:N−1]と、テストアドレス入力端子TAから送られるNビットのテストアドレス信号TAdd[0:N−1]のうちのいずれか選択して、選択した方をアドレスビットB[0:N−1]として、比較器385へ出力する。第2のアドレスビットAdd[0:N−1]が選択されるときには、第2のアドレスビットAdd[0:N−1]は、内部アドレスビットAQ1[0:N−1]が正常か否かを調べるための期待値信号として機能する。テストアドレス信号TAdd[0:N−1]が選択されたときには、テストアドレス信号TAdd[0:N−1]は、比較器385が正常か否かを調べるための信号として機能する。
The
比較器385は、セレクタ386から出力されるNビットのアドレスビットB[0:N−1]と、一時記憶回路650から出力されるNビットの内部アドレスビットAQ1[0:N−1]とを比較する。比較器385は、比較結果が不一致のときには、故障通知信号ERROR1を出力する。
The
故障通知出力端子EAは、故障通知信号ERROR1を出力する。
アドレス出力機能付き第2のメモリモジュール382は、同様にして、故障通知信号ERROR2を出力する。
The failure notification output terminal EA outputs the failure notification signal ERROR1.
The
本実施の形態では、テストアドレスをNビット未満とすることによって、第12の実施形態よりも、メモリモジュールの入力端子数を削減することができる。これによって、メモリモジュール周辺での配線領域を削減でき、空き領域を電源強化領域として開放できる。よって、さらに電流集中を回避することができる。また、本実施の形態では、メモリモジュール内の比較器の故障検出も可能である。 In the present embodiment, the number of input terminals of the memory module can be reduced as compared with the twelfth embodiment by setting the test address to less than N bits. As a result, the wiring area around the memory module can be reduced, and the free area can be opened as the power supply strengthening area. Therefore, it is possible to further avoid current concentration. Further, in the present embodiment, it is possible to detect a failure of the comparator in the memory module.
なお、第12の実施形態のメモリモジュールにおいても、テストアドレスを入力するテストアドレス入力端子TAと、テストアドレスTAdd[0:N−1]と、アドレスビットA[0:N−1]とを選択して、比較器へ供給するセレクタとを設けるものとしてもよい。 Also in the memory module of the twelfth embodiment, the test address input terminal TA for inputting the test address, the test address TA dd [0: N-1], and the address bit A [0: N-1] are used. It may be selected and provided with a selector to be supplied to the comparator.
[第14の実施形態]
図26は、第14の実施形態の半導体装置1800の構成を表わす図である。
[14th Embodiment]
FIG. 26 is a diagram showing the configuration of the
図26を参照して、この半導体装置1800は、アドレス出力機能付き第1のメモリモジュール481と、アドレス出力機能付き第2のメモリモジュール482と、アドレス分割器61と、選択デコーダ62と、ERROR/AQセレクタ483と、比較器284と、FF77,78,79と、割り込み制御部401と、エラーアドレス保持回路484と、CPU202とを備える。
With reference to FIG. 26, the
アドレス分割器61、選択デコーダ62、FF77,78,79、およびCPU202は、参考例2と同様なので、説明を繰り返さない。比較器284、および割り込み制御部401は、第12の実施形態と同様なので、説明を繰り返さない。
Since the
アドレス出力機能付き第1のメモリモジュール481およびアドレス出力機能付き第2のメモリモジュール482は、実施の形態2の第1のメモリモジュール45と同様に、複数個のSRAMメモリセルを有するメモリアレイと、SRAMロジック回路とを備える。
The
アドレス出力機能付き第1のメモリモジュール481およびアドレス出力機能付き第2のメモリモジュール482の各々には、アドレス分割器61から出力されたNビットの第2のアドレスビットAdd[0:N−1]と、CPU202から直接送られるNビットのアドレスビットA[0:N−1]が入力される。
Each of the
アドレス出力機能付き第1のメモリモジュール481は、第1の選択信号cen1を受ける。アドレス出力機能付き第1のメモリモジュール481は、第1の選択信号cen1のレベルが活性化レベルの「1」のときに、データの読出しおよび書き込みが可能となる。アドレス出力機能付き第1のメモリモジュール481は、第1の選択信号cen1のレベルが非活性化レベルの「0」のときに、データの読出しおよび書き込みが不可能となる。
The
アドレス出力機能付き第2のメモリモジュール482は、第2の選択信号cen2を受ける。アドレス出力機能付き第2のメモリモジュール482は、第2の選択信号cen2のレベルが活性化レベルの「1」のときに、データの読出しおよび書き込みが可能となる。アドレス出力機能付き第2のメモリモジュール482は、第2の選択信号cen2のレベルが非活性化レベルの「0」のときに、データの読出しおよび書き込みが不可能となる。
The
図27は、アドレス出力機能付き第1のメモリモジュール481の構成を表わす図である。アドレス出力機能付き第2のメモリモジュール482も、これと同様である。
FIG. 27 is a diagram showing the configuration of the
図27を参照して、アドレス出力機能付き第1のメモリモジュール481が、図22のアドレス出力機能付き第1のメモリモジュール281と相違する点は、セレクタ584を備える点である。
With reference to FIG. 27, the
セレクタ584は、一時記憶回路650から出力されるNビットの内部アドレスビットAQ1[0:N−1]と、データ入出力部IOから出力されるデータ信号D1[0:M]のうち一方を選択し、選択した信号をメモリモジュール出力データADTA1としてデータ入出力端子DAに出力する。セレクタ584は、故障通知信号ERROR1を受けないときには、データ信号D1[0:M]を選択する。セレクタ584は、故障通知信号ERROR1を受けたときには、内部アドレスビットAQ1[0:N−1]を選択する。
The
アドレス出力機能付き第2のメモリモジュール482は、故障通知信号ERROR2とメモリモジュール出力データADTA2とを出力する。
The
ERROR/AQセレクタ483は、第1の選択信号cen1のレベルおよび第2の選択信号cen2のレベルに基づいて、第1のメモリモジュール481から出力される故障通知信号ERROR1と第2のメモリモジュール482から出力される故障通知信号ERROR2のうちのいずれかを選択する。ERROR/AQセレクタ483は、選択した故障通知信号を故障通知信号ERROR3として、割り込み制御部401およびエラーアドレス保持回路484へ出力する。
The ERROR /
ERROR/AQセレクタ483は、第1の選択信号cen1のレベルおよび第2の選択信号cen2のレベルに基づいて、第1のメモリモジュール481から出力されるメモリモジュール出力データADTA1と第2のメモリモジュール482から出力されるメモリモジュール出力データADTA2のうちのいずれかを選択する。ERROR/AQセレクタ483は、選択した方をメモリモジュール出力データADTA3として、エラーアドレス保持回路484へ出力する。
The ERROR /
ERROR/AQセレクタ483は、第1の選択信号cen1のレベルが活性化レベルの「1」、かつ第2の選択信号cen2のレベルが非活性化レベルの「0」のときに、第1のメモリモジュール481から出力される故障通知信号ERROR1およびメモリモジュール出力データADTA1を選択する。
ERROR /
ERROR/AQセレクタ483は、第1の選択信号cen1のレベルが非活性化レベルの「0」、かつ第2の選択信号cen2のレベルが活性化レベルの「1」のときに、第2のメモリモジュール482から出力される故障通知信号ERROR2およびメモリモジュール出力データADTA2を選択する。
The ERROR /
ERROR/AQセレクタ483は、第1の選択信号cen1のレベルが「0」、かつ第2の選択信号cen2のレベルが「0」のときに、故障通知信号ERROR1および故障通知信号ERROR2のうちのいずれかを選択し、メモリモジュール出力データADTA1およびメモリモジュール出力データADTA2のうちのいずれかを選択する。
The ERROR /
ERROR/AQセレクタ483は、第1の選択信号cen1のレベルが「1」、かつ第2の選択信号cen2のレベルが「1」のときに、故障通知信号ERROR1および故障通知信号ERROR2のうちのいずれかを選択し、メモリモジュール出力データADTA1およびメモリモジュール出力データADTA2のうちのいずれかを選択する。
The ERROR /
エラーアドレス保持回路484は、メモリモジュール出力データADTA3を受ける。エラーアドレス保持回路484は、故障通知信号ERRO3を受けたときには、メモリモジュール出力データADTA3を保持する。なぜなら、故障通知信号ERRO3を受信したときには、メモリモジュール出力データADTA3は、内部アドレスビットAQ1[0:N−1]またはAQ2[0:N−1]を表わすからである。
The error
さらに、エラーアドレス保持回路484は、第1のアドレスビットAdd[N]を受ける。エラーアドレス保持回路484は、故障通知信号ERROR4を受けたときには、第1のアドレスビットAdd[N]を保持する。
Further, the error
本実施の形態によれば、故障通知信号が出力されたときに、故障に関係するアドレスがエラーアドレス保持回路に保持される。これによって、故障が通知されたときに、メモリBIST(Built-In Self Test)を実施して、故障に関係するアドレスを特定する作業を不要にすることができる。 According to this embodiment, when the failure notification signal is output, the address related to the failure is held in the error address holding circuit. As a result, when a failure is notified, it is possible to perform a memory BIST (Built-In Self Test) and eliminate the work of identifying an address related to the failure.
(変形例)
本開示は、上記の実施形態に限定されるものではなく、たとえば、以下のような変形例も含む。
(Modification example)
The present disclosure is not limited to the above embodiment, and includes, for example, the following modifications.
(1)メモリモジュールの数
第2〜第11の実施形態では、半導体装置が1つまたは2つのメモリモジュールを備える場合について説明したが、これに限定されるものではない。たとえば、半導体装置が、2N個のメモリモジュールを備えるものとしてもよい。
(1) Number of Memory Modules In the second to eleventh embodiments, the case where the semiconductor device includes one or two memory modules has been described, but the present invention is not limited thereto. For example, the semiconductor device may include 2 N memory modules.
アドレス分割器61は、2N個のメモリモジュールがある場合に、アドレス信号のMSB側から上位Nビットをメモリモジュールの選択のための第1のアドレスビットとし、それ以外を第2のアドレスビットとすることができる。選択デコーダは、2N個のメモリモジュールへ供給する選択信号cen1〜cen2Nを生成する。図4、図7の故障判定部121、131は、選択許可信号CEN、および選択信号cen1〜cen2Nに基づいて、選択デコーダ62の故障を判定する。図8のセレクタ141は、選択信号cen1〜cen2Nに基づいて、2N個のメモリモジュールから出力される2N個の第1グループの複数ビットのうちいずれかを選択する。図8のセレクタ142は、選択信号cen1〜cen2Nに基づいて、2N個のメモリモジュールから出力される2N個の第2グループの複数ビットのうちいずれかを選択する。図17、図18のERRORセレクタ283は、選択信号cen1〜cen2Nに基づいて、2N個のメモリモジュールから出力される2N個の内部アドレスビットのいずれかを選択して出力する。
When the
(2)第7の実施形態のECC
第7の実施形態のECCエンコーダ221、ECCデコーダ222を省略し、メモリアレイ162には、データとアドレスのみを記憶するものとしてもよい。
(2) ECC of the seventh embodiment
The
(3)メモリモジュール
第9の実施形態で説明したメモリモジュールは、選択信号が活性化されたときに動作するものとしてもよい。たとえば、選択信号が非活性化されているときには、メモリモジュール内のクロック源が、メモリモジュール内の各構成要素へのクロックの供給を停止するものとしてもよい。
(3) Memory Module The memory module described in the ninth embodiment may operate when the selection signal is activated. For example, when the selection signal is deactivated, the clock source in the memory module may stop supplying the clock to each component in the memory module.
(付記)
なお、上記の実施形態に基づき、本開示には、以下のよう発明も含まれる。
(Additional note)
Based on the above embodiments, the present disclosure also includes the following inventions.
(請求項A)
複数個の正規メモリセルと冗長メモリセルとを有するメモリアレイと、
前記複数個の正規メモリセルの中の不良メモリセルのアドレス信号をデコードして、アドレスデコード信号を出力する冗長デコーダと、
前記アドレスデコード信号に従って、前記不良メモリセルの代わりに、前記冗長メモリセルにデータが書き込まれるように制御する第1の冗長制御回路と、
前記アドレスデコード信号に従って、前記不良メモリセルの代わりに、前記冗長メモリセルからデータが読み出されるように制御する第2の冗長制御回路と、
前記アドレスデコード信号をエンコードして、アドレス信号を出力するエンコーダと、
前記冗長デコーダに入力される前記アドレス信号と、前記エンコーダから出力される前記アドレス信号とを比較する比較器とを備えた、半導体装置。
(Claim A)
A memory array having a plurality of regular memory cells and redundant memory cells,
A redundant decoder that decodes the address signal of the defective memory cell in the plurality of regular memory cells and outputs the address decoded signal, and
A first redundant control circuit that controls so that data is written to the redundant memory cell instead of the defective memory cell according to the address decoding signal.
A second redundant control circuit that controls data to be read from the redundant memory cell instead of the defective memory cell according to the address decoding signal.
An encoder that encodes the address decoding signal and outputs the address signal,
A semiconductor device including a comparator that compares the address signal input to the redundant decoder with the address signal output from the encoder.
(請求項B)
複数個の正規メモリセルと冗長メモリセルとを有するメモリアレイと、
データの書込み時に、前記複数個の正規メモリセルの中の不良メモリセルのアドレス信号をデコードして、第1のアドレスデコード信号を出力する第1の冗長デコーダと、
データの読み出し時に、前記複数個の正規メモリセルの中の不良メモリセルのアドレス信号をデコードして、第2のアドレスデコード信号を出力する第2の冗長デコーダと、
前記メモリアレイへのデータを誤り検出訂正符号化するECCエンコーダと、
データの書込み時に、前記第1のアドレスデコード信号に従って、前記不良メモリセルの代わりに、前記冗長メモリセルに前記ECCエンコーダの出力が書き込まれるように制御する第1の冗長制御回路と、
データの読み出し時に、前記第2のアドレスデコード信号に従って、前記不良メモリセルの代わりに、前記冗長メモリセルからデータが読み出されるように制御する第2の冗長制御回路と、
前記メモリアレイから出力されるデータを誤り検出訂正するするECCデコーダとを備えた、半導体装置。
(Claim B)
A memory array having a plurality of regular memory cells and redundant memory cells,
Writing data to, it decodes the address signals of the defective memory cell in said plurality of normal memory cell Le, a first redundant decoder that outputs a first address decode signal,
A second redundant decoder that decodes the address signal of the defective memory cell in the plurality of regular memory cells and outputs the second address decoded signal when reading data.
An ECC encoder that performs error detection and correction coding of data in the memory array,
When writing data, a first redundant control circuit that controls so that the output of the ECC encoder is written to the redundant memory cell instead of the defective memory cell according to the first address decoding signal.
A second redundant control circuit that controls data to be read from the redundant memory cell instead of the defective memory cell according to the second address decode signal when reading data.
A semiconductor device including an ECC decoder that detects and corrects data output from the memory array.
(請求項C)
データと、アドレスと、検査ビットとからなるビット列を記憶するメモリアレイと、
前記メモリアレイへのデータの書き込み時に書き込み用のアドレスをデコードして第1のデコード信号を出力し、前記メモリアレイからのデータの読出し時に読出し用のアドレスをデコードして第2のデコード信号を出力するアドレスデコーダと、
データの書き込み時に、データと、前記書き込み用のアドレスとからなるビット列を誤り検出訂正符号化して、検査ビットを生成するECCエンコーダとを備え、
前記メモリアレイ内の前記第1のデコード信号で指定される位置に、前記データと、前記書き込み用のアドレスと、前記検査ビットとからなるビット列が書き込まれ、
データの読出し時に、前記メモリアレイは、前記第2のデコード信号で指定される位置からデータとアドレスと検査ビットからなるビット列を出力し、
前記メモリアレイから出力されたビット列を誤り検出訂正するECCデコーダと、
前記ECCデコーダから出力されるアドレスと、前記読出し用のアドレスとを比較する比較器とを備えた、半導体装置。
(Claim C)
A memory array that stores a bit string consisting of data, addresses, and check bits,
When writing data to the memory array, the write address is decoded and the first decode signal is output, and when the data is read from the memory array, the read address is decoded and the second decode signal is output. Address decoder and
When writing data, an ECC encoder that generates an inspection bit by error-detecting, correcting, and coding a bit string consisting of the data and the writing address is provided .
A bit string including the data, the write address, and the check bit is written at the position specified by the first decode signal in the memory array.
When reading data, the memory array outputs a bit train consisting of check bits and data and address from the position specified by the second decoding signals,
An ECC decoder that detects and corrects the bit string output from the memory array,
A semiconductor device including a comparator that compares an address output from the ECC decoder with an address for reading.
(請求項D)
データと、検査ビットとからなるビット列を記憶するメモリアレイと、
前記メモリアレイへのデータの書き込み時に書き込み用のアドレスをデコードして第1のデコード信号を出力し、前記メモリアレイからのデータの読出し時に読出し用のアドレスをデコードして第2のデコード信号を出力するアドレスデコーダと、
データの書き込み時に、データと、前記書き込み用のアドレスとからなるビット列を誤り検出訂正符号化して、検査ビットを生成するECCエンコーダとを備え、
前記メモリアレイ内の前記第1のデコード信号で指定される位置に、前記データと、前記検査ビットとからなるビット列が書き込まれ、
データの読出し時に、前記メモリアレイは、前記第2のデコード信号で指定される位置からデータと検査ビットからなるビット列を出力し、
前記メモリアレイから出力されたビット列に前記読出用のアドレスを付加して誤り検出訂正するECCデコーダとを備えた、半導体装置。
(Claim D)
A memory array that stores a bit string consisting of data and check bits,
When writing data to the memory array, the write address is decoded and the first decode signal is output, and when the data is read from the memory array, the read address is decoded and the second decode signal is output. Address decoder and
When writing data, an ECC encoder that generates an inspection bit by error-detecting, correcting, and coding a bit string consisting of the data and the writing address is provided .
A bit string including the data and the inspection bit is written at a position specified by the first decode signal in the memory array.
When reading data, the memory array outputs a bit train consisting of check bits and data from the position specified by the second decoding signals,
A semiconductor device including an ECC decoder that adds an address for reading to a bit string output from the memory array to detect and correct errors.
(請求項E)
複数個のメモリモジュールを備え、前記複数個のメモリモジュールにおけるデータの格納位置を表わすアドレス信号を表わす複数ビットは、第1のアドレスビットと第2のアドレスビットとを含み、前記複数個のメモリモジュールの各々は、前記第2のアドレスビットを受けて、前記第2のアドレスビットから生成した内部アドレスビットを出力し、
前記第1のアドレスビットをデコードして、複数個の選択信号のレベルを制御する選択デコーダと、
前記複数個の選択信号のレベルに基づいて、前記選択デコーダが故障状態か否かを判定し、故障状態のときに第1の故障通知信号を出力する故障判定部と、
前記複数個の選択信号をエンコードして、アドレスビットを出力するエンコーダと、
前記複数個の選択信号のレベルに基づいて、前記複数個のメモリモジュールから出力される内部アドレスビットのいずれかを選択する第1のセレクタと、
前記第1のセレクタから出力される内部アドレスビットと、前記エンコーダから出力されるアドレスビットとを合成したビット列と、前記アドレス信号を表わす複数ビットとを比較し、不一致の場合に、第2の故障通知信号を出力する比較器と、
ライトデータを誤り検出訂正符号化するECCエンコーダとを備え、
前記複数個のメモリモジュールの各々には、対応する選択信号が活性化レベルのときに、前記誤り検出訂正符号化されたライトデータが書き込まれ、
前記複数個のメモリモジュールの各々からの出力データの複数ビットは、第1グループの複数個のビットと、第2グループの複数個のビットに分類され、
前記複数個の選択信号のレベルに基づいて、前記複数個のメモリモジュールから出力される複数個の第1グループの複数ビットのうちのいずれかを選択して出力する第2のセレクタと、
前記複数個の選択信号のレベルに基づいて、前記複数個のメモリモジュールから出力される複数個の第2グループの複数ビットのうちのいずれかを選択して出力する第3のセレクタと、
前記第2のセレクタの出力と前記第3のセレクタの出力とを合成したビット列を誤り検出訂正し、誤りが検出されたときに第3の故障通知信号を出力するECCデコーダと、
受信した故障通知信号の種類に応じた処理を実行するCPUとを備える、半導体装置。
(Claim E)
A plurality of memory modules are provided, and a plurality of bits representing an address signal representing a data storage position in the plurality of memory modules include a first address bit and a second address bit, and the plurality of memory modules include the first address bit and the second address bit. Each of the above receives the second address bit and outputs the internal address bit generated from the second address bit.
A selection decoder that decodes the first address bit to control the levels of a plurality of selection signals, and
A failure determination unit that determines whether or not the selection decoder is in a failure state based on the levels of the plurality of selection signals and outputs a first failure notification signal in the failure state.
An encoder that encodes the plurality of selection signals and outputs an address bit,
A first selector that selects one of the internal address bits output from the plurality of memory modules based on the levels of the plurality of selection signals.
A bit string obtained by synthesizing the internal address bit output from the first selector and the address bit output from the encoder is compared with a plurality of bits representing the address signal, and if they do not match, a second failure occurs. A comparator that outputs a notification signal and
Equipped with an ECC encoder that performs error detection, correction and coding of write data.
The error detection / correction encoded write data is written to each of the plurality of memory modules when the corresponding selection signal is at the activation level.
The plurality of bits of the output data from each of the plurality of memory modules are classified into a plurality of bits in the first group and a plurality of bits in the second group.
A second selector that selects and outputs any one of the plurality of bits of the plurality of first groups output from the plurality of memory modules based on the levels of the plurality of selection signals.
A third selector that selects and outputs any one of the plurality of bits of the plurality of second groups output from the plurality of memory modules based on the levels of the plurality of selection signals.
An ECC decoder that detects and corrects an error in a bit string obtained by combining the output of the second selector and the output of the third selector, and outputs a third failure notification signal when an error is detected.
A semiconductor device including a CPU that executes processing according to the type of received failure notification signal.
(請求項F)
複数個のメモリモジュールを備え、前記複数個のメモリモジュールにおけるデータの格納位置を表わすアドレス信号を表わす複数ビットは、第1のアドレスビットと第2のアドレスビットとを含み、前記複数個のメモリモジュールの各々は、前記第2のアドレスビットを受けて、前記第2のアドレスビットから生成した内部アドレスビットを出力し、
前記第1のアドレスビットをデコードして、複数個の選択信号のレベルを制御する選択デコーダと、
前記複数個の選択信号をエンコードして、アドレスビットを出力するエンコーダと、
前記複数個の選択信号のレベルに基づいて、前記複数個のメモリモジュールから出力される前記内部アドレスビットのいずれかを選択するセレクタと、
前記セレクタから出力される前記内部アドレスビットと、前記エンコーダから出力される前記アドレスビットとを合成したビット列と、前記アドレス信号を表わす前記複数ビットとを比較する比較器とを備えた、半導体装置。
(Claim F)
A plurality of memory modules are provided, and a plurality of bits representing an address signal representing a data storage position in the plurality of memory modules include a first address bit and a second address bit, and the plurality of memory modules include the first address bit and the second address bit. Each of the above receives the second address bit and outputs the internal address bit generated from the second address bit.
A selection decoder that decodes the first address bit to control the levels of a plurality of selection signals, and
An encoder that encodes the plurality of selection signals and outputs an address bit,
A selector that selects one of the internal address bits output from the plurality of memory modules based on the levels of the plurality of selection signals.
A semiconductor device including a bit string obtained by synthesizing the internal address bit output from the selector and the address bit output from the encoder, and a comparator that compares the plurality of bits representing the address signal.
(請求項G)
複数個のメモリモジュールを備え、前記複数個のメモリモジュールにおけるデータの格納位置を表わすアドレス信号を表わす複数ビットは、第1のアドレスビットと第2のアドレスビットとを含み、前記複数個のメモリモジュールの各々は、前記第2のアドレスビットを受けて、前記第2のアドレスビットから生成した内部アドレスビットを出力し、
前記第1のアドレスビットをデコードして、複数個の選択信号のレベルを制御する選択デコーダと、
各々が、クロックを受けて、対応する前記選択信号が活性化レベルのときに、対応する前記メモリモジュールへ前記クロックを出力する複数個のクロックゲートとを備え、
前記複数個のメモリモジュールの各々は、対応する前記クロックゲートから出力される前記クロックを受けると、前記第2のアドレスビットの最新値から生成される前記内部アドレスビットを出力し、
前記複数個の選択信号のレベルに基づいて、前記複数個のメモリモジュールから出力される前記内部アドレスビットのいずれかを選択するセレクタと、
前記セレクタから出力される前記内部アドレスビットと、前記第1のアドレスビットとを合成したビットと、前記アドレス信号とを比較する比較器と、
各々が、対応する前記選択信号が前記セレクタに供給される経路に設けられた複数個のフリップフロップとを備え、
前記複数個のブリップフロップ、および前記複数個のメモリモジュールには、同一のクロック信号が入力される、半導体装置。
(Claim G)
A plurality of memory modules are provided, and a plurality of bits representing an address signal representing a data storage position in the plurality of memory modules include a first address bit and a second address bit, and the plurality of memory modules include the first address bit and the second address bit. Each of the above receives the second address bit and outputs the internal address bit generated from the second address bit.
A selection decoder that decodes the first address bit to control the levels of a plurality of selection signals, and
Each comprises a plurality of clock gates that receive a clock and output the clock to the corresponding memory module when the corresponding selection signal is at the activation level.
When each of the plurality of memory modules receives the clock output from the corresponding clock gate, each of the plurality of memory modules outputs the internal address bit generated from the latest value of the second address bit.
A selector that selects one of the internal address bits output from the plurality of memory modules based on the levels of the plurality of selection signals.
A comparator that compares the internal address bit output from the selector, the bit obtained by synthesizing the first address bit, and the address signal.
Each includes a plurality of flip-flops provided in a path in which the corresponding selection signal is supplied to the selector.
A semiconductor device in which the same clock signal is input to the plurality of blip flops and the plurality of memory modules.
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 Although the invention made by the present inventor has been specifically described above based on the embodiments, the present invention is not limited to the embodiments and can be variously modified without departing from the gist thereof. Needless to say.
1_0〜1_N−1 ラッチ回路、21,221,321 ECCエンコーダ、22,122,222,322 ECCデコーダ、31,32,33,34,35,36 冗長制御回路、41,45 第1のメモリモジュール、43,44,155,162,172,MARY メモリアレイ、42,46 第2のメモリモジュール、47,161,171,30−1〜30−N メモリモジュール、51,141,142,149 セレクタ、61 アドレス分割器、62,303 選択デコーダ、71,72,73,75,76,77,78,79 FF、81,68,168,169 冗長デコーダ、121,131,304 故障判定部、151,191 エンコーダ、152,166,184,194,284,285,385 比較器、153,363,365 正規ブロック、154,364,366 冗長ブロック、163,173 データ領域、164 アドレス領域、165,174 検査ビット領域、181,281,381,481 アドレス出力機能付き第1のメモリモジュール、182,282,382,482 アドレス出力機能付き第2のメモリモジュール、183 AFBセレクタ、192,193 CGC、201,301,401 割り込み制御部、202,302 CPU、283 ERRORセレクタ、483 ERROR/AQセレクタ、484 エラーアドレス保持回路、386,584 セレクタ、300,400,500,600,700,800,900,100,1100,1200,1300,1400,1500,1600,1700,1800 半導体装置、350 フラッシュメモリ、650 一時記憶回路、888 クロック供給源、ADA,ADB アドレス入力端子、AQ 内部アドレス出力端子、CK クロック入力端子、DA データ入出力端子、EA 故障通知出力端子、WD ワード線駆動回路、IO データ入出力部、ADRCTL アドレスデコーダ、CTRL 制御部、CN 選択端子。 1_0 to 1_N-1 latch circuit, 21,221,321 ECC encoder, 22,122,222,322 ECC decoder, 31,32,33,34,35,36 redundant control circuit, 41,45 first memory module, 43,44,155,162,172 MARY memory array, 42,46 second memory module, 47,161,171,30-1-30-N memory module, 51,141,142,149 selector, 61 address Divider, 62,303 Selective Decoder, 71,72,73,75,76,77,78,79 FF, 81,68,168,169 Redundant Decoder, 121,131,304 Failure Judgment Unit, 151,191 Encoder, 152,166,184,194,284,285,385 comparer, 153,363,365 regular block, 154,364,366 redundant block, 163,173 data area, 164 address area, 165,174 inspection bit area, 181 , 281,381,481 first memory module with address output function, 182,282,382,482 second memory module with address output function, 183 AFB selector, 192,193 CGC, 201,301,401 interrupt control unit , 202, 302 CPU, 283 ERROR selector, 483 ERROR / AQ selector, 484 error address holding circuit, 386,584 selector, 300,400,500,600,700,800,900,100,1100,1200,1300,1400 , 1500, 1600, 1700, 1800 Semiconductor device, 350 flash memory, 650 temporary storage circuit, 888 clock supply source, ADA, ADB address input terminal, AQ internal address output terminal, CK clock input terminal, DA data input / output terminal, EA Failure notification output terminal, WD word line drive circuit, IO data input / output unit, ADRCTL address decoder, CTRL control unit, CN selection terminal.
Claims (9)
少なくとも1ビット以上のアドレスビットに基づいて、複数個の選択信号のレベルを制御する選択デコーダと、
対応する前記選択信号が活性化レベルのときに選択されて、データの読出しおよび書き込みが可能となる複数個のメモリモジュールと、
前記複数個の選択信号のレベルに基づいて、前記選択デコーダが故障状態か否かを判定する故障判定部と、
ライトデータを誤り検出訂正符号化するECCエンコーダとを備え、
前記複数個のメモリモジュールの各々には、対応する前記選択信号が活性化レベルのときに、前記誤り検出訂正符号化されたライトデータが書き込まれ、
前記半導体装置は、さらに、
前記複数個の選択信号のレベルに基づいて、前記複数個のメモリモジュールからの出力データのいずれかを選択するセレクタと、
前記セレクタの出力を誤り検出訂正するECCデコーダとを備え、
前記選択デコーダが前記故障状態と判定された場合に、前記セレクタは、前記選択した出力データの複数ビットのうち、第1のビット数を反転させ、前記第1のビット数は、前記ECCデコーダにおいて誤り訂正可能なビット数の上限を超え、かつ誤り検出可能なビット数の上限以下のビット数である、半導体装置。 It is a semiconductor device
A selection decoder that controls the levels of multiple selection signals based on at least one or more address bits.
A plurality of memory modules that are selected when the corresponding selection signal is at the activation level and are capable of reading and writing data.
A failure determination unit that determines whether or not the selection decoder is in a failure state based on the levels of the plurality of selection signals.
Equipped with an ECC encoder that performs error detection, correction and coding of write data.
The error detection / correction-encoded write data is written to each of the plurality of memory modules when the corresponding selection signal is at the activation level.
The semiconductor device further
A selector that selects one of the output data from the plurality of memory modules based on the levels of the plurality of selection signals.
It is equipped with an ECC decoder that detects and corrects the output of the selector by error.
When the selection decoder is determined to be in the failure state, the selector inverts the number of the first bit among the plurality of bits of the selected output data, and the number of the first bit is the number of bits in the ECC decoder. error correction can exceed the upper limit of the number of bits, and the number of the upper limit or less of bit error detectable number of bits, the semiconductor device.
少なくとも1ビット以上のアドレスビットに基づいて、複数個の選択信号のレベルを制御する選択デコーダと、
対応する前記選択信号が活性化レベルのときに選択されて、データの読出しおよび書き込みが可能となる複数個のメモリモジュールと、
前記複数個の選択信号のレベルに基づいて、前記選択デコーダが故障状態か否かを判定する故障判定部と、
ライトデータを誤り検出訂正符号化するECCエンコーダとを備え、
データの書き込み時に、前記複数個のメモリモジュールの各々には、対応する前記選択信号が活性化レベルのときに、前記誤り検出訂正符号化されたライトデータが書き込まれ、
データの読み出し時に、前記複数個のメモリモジュールの各々の出力データを構成する複数ビットは、第1グループの複数個のビットと、第2グループの複数個のビットに分類され、
前記半導体装置は、さらに、
前記複数個の選択信号のレベルに基づいて、前記複数個のメモリモジュールから出力される複数個の第1グループの複数個のビットのうちのいずれかを選択して出力する第1のセレクタと、
前記複数個の選択信号のレベルに基づいて、前記複数個のメモリモジュールから出力される複数個の第2グループの複数個のビットのうちのいずれかを選択して出力する第2のセレクタと、
前記第1のセレクタの出力と前記第2のセレクタの出力とを合成したビット列を誤り検出訂正するECCデコーダと、
各々が、対応する前記選択信号が前記第1のセレクタまたは前記第2のセレクタに供給される経路に設けられた複数個のフリップフロップとを備え、
前記複数個のフリップフロップ、および前記複数個のメモリモジュールには、同一のクロック信号が入力される、半導体装置。 It is a semiconductor device
A selection decoder that controls the levels of multiple selection signals based on at least one or more address bits.
A plurality of memory modules that are selected when the corresponding selection signal is at the activation level and are capable of reading and writing data.
A failure determination unit that determines whether or not the selection decoder is in a failure state based on the levels of the plurality of selection signals.
Equipped with an ECC encoder that performs error detection, correction and coding of write data.
At the time of writing data, the error detection / correction encoded write data is written to each of the plurality of memory modules when the corresponding selection signal is at the activation level.
When reading data, the plurality of bits constituting the output data of each of the plurality of memory modules are classified into a plurality of bits in the first group and a plurality of bits in the second group.
The semiconductor device further
Based on the level of the plurality of selection signals, a first selector for selecting and outputting one of the plurality bits of the plurality of first group output from said plurality of memory modules,
Based on the level of the plurality of selection signals, and a second selector for selecting and outputting one of the plurality bits of the plurality of the second group output from said plurality of memory modules,
An ECC decoder that detects and corrects an error in a bit string obtained by combining the output of the first selector and the output of the second selector.
Each includes a plurality of flip-flops provided in a path in which the corresponding selection signal is supplied to the first selector or the second selector.
The plurality of flip-flops, and wherein the plurality of memory modules, the same clock signal is inputted, the semiconductor device.
前記故障判定部は、前記選択デコーダが前記故障状態と判定した場合に、前記故障状態であることを通知する信号を前記CPUへ向けて出力する、請求項1または2記載の半導体装置。 Equipped with CPU
The semiconductor device according to claim 1 or 2 , wherein the failure determination unit outputs a signal notifying the failure state to the CPU when the selection decoder determines the failure state.
前記選択デコーダは、正常な状態の場合に、選択許可信号が活性化レベルのときに、前記第1の選択信号および前記第2の選択信号のいずれかを活性化レベルとし、前記選択許可信号が非活性化レベルのときに、前記第1の選択信号および前記第2の選択信号の両方を非活性化レベルとし、
前記故障判定部は、前記選択許可信号が活性化レベルのときに、前記第1の選択信号と前記第2の選択信号の両方が活性化レベル、または前記第1の選択信号と前記第2の選択信号の両方が非活性化レベルのときに、前記選択デコーダが前記故障状態であると判定する、請求項1または2記載の半導体装置。 The plurality of memory modules include a first memory module and a second memory module, and the plurality of selection signals are a first selection signal input to the first memory module and the first selection signal. It consists of a second selection signal input to two memory modules.
In a normal state, when the selection permission signal is at the activation level, the selection decoder sets either the first selection signal or the second selection signal as the activation level, and the selection permission signal sets the activation level. At the deactivation level, both the first selection signal and the second selection signal are set to the deactivation level.
When the selection permission signal is at the activation level, the failure determination unit determines that both the first selection signal and the second selection signal are at the activation level , or the first selection signal and the second selection signal. The semiconductor device according to claim 1 or 2 , wherein the selection decoder determines that the failure state is present when both of the selection signals are at the deactivation level.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/984,572 US10552261B2 (en) | 2017-06-02 | 2018-05-21 | Semiconductor device and memory module |
CN201810524038.7A CN108986862B (en) | 2017-06-02 | 2018-05-28 | Semiconductor device and memory module |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017109880 | 2017-06-02 | ||
JP2017109880 | 2017-06-02 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018206336A JP2018206336A (en) | 2018-12-27 |
JP2018206336A5 JP2018206336A5 (en) | 2020-04-23 |
JP6906435B2 true JP6906435B2 (en) | 2021-07-21 |
Family
ID=64957976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017229137A Active JP6906435B2 (en) | 2017-06-02 | 2017-11-29 | Semiconductor device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6906435B2 (en) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62146482A (en) * | 1985-12-20 | 1987-06-30 | Nec Corp | Memory module |
JP3649289B2 (en) * | 1990-06-19 | 2005-05-18 | 富士通株式会社 | Window system |
JPH04341998A (en) * | 1991-05-16 | 1992-11-27 | Nec Corp | Memory circuit |
CA2137505C (en) * | 1993-12-09 | 1999-05-04 | Young W. Lee | Multi-memory access limiting circuit for multi-memory device |
DE102006005817B4 (en) * | 2006-02-08 | 2014-06-26 | Infineon Technologies Ag | An error detection device for an address decoder and an error detection device for an address decoder |
JP2007265518A (en) * | 2006-03-28 | 2007-10-11 | Toshiba Corp | Test circuit of decoder |
JP2012073678A (en) * | 2010-09-27 | 2012-04-12 | Fujitsu Ltd | Pseudo error generator |
JP2013156821A (en) * | 2012-01-30 | 2013-08-15 | Renesas Electronics Corp | Data processor, control unit and memory control method |
JP2016042218A (en) * | 2014-08-13 | 2016-03-31 | 富士通株式会社 | Error detection device and error detection method |
JP6430194B2 (en) * | 2014-09-29 | 2018-11-28 | ルネサスエレクトロニクス株式会社 | Semiconductor memory device |
-
2017
- 2017-11-29 JP JP2017229137A patent/JP6906435B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018206336A (en) | 2018-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9148176B2 (en) | Circuits, apparatuses, and methods for correcting data errors | |
US10803971B2 (en) | Device for supporting error correction code and test method thereof | |
US6044483A (en) | Error propagation operating mode for error correcting code retrofit apparatus | |
CN108986862B (en) | Semiconductor device and memory module | |
US9734920B2 (en) | Memory test with in-line error correction code logic to test memory data and test the error correction code logic surrounding the memories | |
JP2005285270A (en) | Semiconductor device and testing method | |
US11003529B2 (en) | Encoding method and memory storage apparatus using the same | |
TWI466127B (en) | Controller of a memory device and method for accessing a memory | |
US10514980B2 (en) | Encoding method and memory storage apparatus using the same | |
TWI808098B (en) | Device for supporting error correction code and test method thereof | |
US20080082870A1 (en) | Parallel bit test device and method using error correcting code | |
EP2965205B1 (en) | Apparatus and method for controlling memory in mobile communication system | |
JP6906435B2 (en) | Semiconductor device | |
JP2018206336A5 (en) | ||
JP7107696B2 (en) | Failure detection method for semiconductor device and semiconductor memory | |
TWI509622B (en) | Fault bits scrambling memory and method thereof | |
JP2020150515A (en) | Error correction circuit and memory system | |
US10963344B2 (en) | Information processing circuitry, information processing method, and non-transitory computer readable medium | |
US20220035704A1 (en) | Error correction methods and semiconductor devices and semiconductor systems using the error correction methods and the semiconductor devices | |
US9208040B2 (en) | Repair control logic for safe memories having redundant elements | |
JP2002251898A (en) | Single event upset compensating circuit | |
JP2022043635A (en) | Memory system | |
Yang | Improving memory ECC via defective memory columns | |
JPS6279530A (en) | Error correcting and detecting device | |
JP2008234424A (en) | Memory control circuit, storage system, information processor, and memory control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200309 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200309 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210316 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210428 |
|
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: 20210601 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210629 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6906435 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |