JP4936746B2 - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP4936746B2
JP4936746B2 JP2006062650A JP2006062650A JP4936746B2 JP 4936746 B2 JP4936746 B2 JP 4936746B2 JP 2006062650 A JP2006062650 A JP 2006062650A JP 2006062650 A JP2006062650 A JP 2006062650A JP 4936746 B2 JP4936746 B2 JP 4936746B2
Authority
JP
Japan
Prior art keywords
signal
data
error
sense amplifier
error correction
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.)
Expired - Fee Related
Application number
JP2006062650A
Other languages
English (en)
Other versions
JP2007241625A (ja
Inventor
恭彦 帯刀
将史 武藤
栄二 佐久間
司 大石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2006062650A priority Critical patent/JP4936746B2/ja
Priority to US11/651,075 priority patent/US7779333B2/en
Publication of JP2007241625A publication Critical patent/JP2007241625A/ja
Application granted granted Critical
Publication of JP4936746B2 publication Critical patent/JP4936746B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

この発明は、半導体装置に関し、より特定的には、ECC(Error Checking and Correcting)機能を搭載したマイコン混載の半導体装置に関する。
半導体メモリにおいて、ソフトエラーやリテンション不良で書き込まれたデータに対して誤ったデータが読み出された場合に、ECCを用いて読出データを訂正することが従来から行なわれていた。半導体メモリにECCを適用している例としては、たとえば非特許文献1がある。また、読出しデータに誤りが存在した場合に活性化される誤り検出信号を出力する手法として、以下のような従来技術がある。
従来のメモリアクセス制御装置は、データと誤り検出・訂正コードとが記憶される記憶モジュールと、その記憶モジュールから読み出されるデータの誤りを検出/訂正する誤り検出・訂正回路と、その誤り検出・訂正回路によって訂正されたデータを保持する機構とを備える。当該メモリアクセス制御装置は、読出データを直接処理装置へ転送するモードでの処理の際に誤り検出・訂正回路が読み出したデータのエラーを検出した場合、エラー発生を処理装置に通知し、保持されている訂正済みのデータを処理装置に転送する(たとえば、特許文献1参照)。
従来のエラー検出・訂正システムは、データメモリおよびチェックビットメモリから読み出されるデータおよびチェックビットに基づきエラーシンドロームを生成するシンドローム生成手段と、生成されたシンドロームに基づきデータメモリから読み出されたデータのエラーを検出するエラー検出手段と、シンドロームラッチおよびデータラッチにそれぞれ一時記憶されたシンドロームおよびデータに基づいてエラーを訂正するエラー訂正手段と、エラー検出手段のエラー検出出力をデータ読出しの再試行指示信号として与える手段とを備える(たとえば、特許文献2参照)。
従来の記憶装置のリトライリード制御方式は、主記憶制御部によって制御される主記憶装置のリードデータにエラーを検出した際に実行されるリトライリードアクセスの制御方式に関する。主記憶制御部は、リトライリードアクセス時にアドレスバッファを参照し、該当するアドレスが存在する時には、通常のリトライリードアクセスとは区別されるリトライリードアクセスを発行する。主記憶装置は、通常とは異なるリトライリードアクセスを認識した時に、メモリを起動することなく、データバッファによって訂正されたリードデータを主記憶制御部に送り返す(たとえば、特許文献3参照)。
H.Davis 他,「オンチップ誤り訂正回路を備えた70nsワード幅の1MビットROM(A 70-ns word-wide 1-Mbit ROM with on-chip error-correction circuits」),IEEE J.Solid−State Circuits,vol.20,pp.958−963,1985年 特開平9−134314号公報 特公平6−70775号公報 特開平3−41537号公報
特許文献1および3に記載の従来技術では、訂正なしのデータをラッチするデータラッチと訂正後のデータをラッチするデータラッチとを別々に設けており、エラー検出結果に応じてセレクタでこれらを切換える構成を有する。したがって、特にワイドバス構成を採用する場合に、回路規模が著しく増大するという問題点がある。
特許文献2に記載の従来技術では、ラッチから訂正データを出力する3ステートバッファとデータメモリからの出力とを排他的に制御しており、データバスに2つの経路が存在している。したがって、特にワイドバス構成を採用する場合に、配線が混んで回路規模が著しく増大する可能性がある。
それゆえに、この発明の目的は、ECC機能を搭載しても回路規模が著しく増大しない半導体装置を提供することである。
この発明による半導体装置は、データ信号およびパリティ信号を記憶するメモリセルアレイと、記憶されているデータ信号およびパリティ信号を読み出すセンスアンプと、読み出されたデータ信号およびパリティ信号を受けてデータ信号に含まれるエラーを訂正するエラー訂正回路と、エラー訂正回路から出力される出力データ信号を取り込んでデータバスに出力するメモリモジュールインターフェイス回路とを備える。エラー訂正回路は、読み出されたデータ信号とパリティ信号とを組み合わせてシンドローム信号を生成するシンドローム生成部と、シンドローム信号からデータ信号の誤りビットを特定するデコード部と、デコード部の出力信号に基づいてデータ信号のエラーを訂正するエラー訂正部とを含む。メモリモジュールインターフェイス回路は、出力データ信号を取り込むタイミングを与えるデータバッファ取込クロック信号、およびデータ信号に誤りが含まれているかどうか判定するタイミングを与える誤り検出信号判定クロック信号を生成するデータ取込クロック生成部と、データバッファ取込クロック信号に応答して出力データ信号を取り込むデータバッファとを含む。半導体装置は、データ信号に誤りが含まれているかどうかを検出する誤り検出部と、センスアンプの動作を活性化するセンスアンプ活性化信号を生成するセンスアンプ活性化信号生成部とをさらに備え、誤り検出信号判定クロック信号が変化した時点で誤り検出信号が活性化されているとき、データバッファ取込クロックおよびセンスアンプ活性化信号を所定時間遅延させる。誤り検出部は、シンドローム信号の論理和をとることにより、データ信号に誤りが含まれているかどうかを示す誤り検出信号を出力する論理和段と、誤り検出信号をバッファリングし、バッファリングされた誤り検出信号をデータ取込クロック生成部およびセンスアンプ活性化信号生成部に出力するバッファ段とを含む。
この発明によれば、ECC機能を搭載しても回路規模が著しく増大しない。
以下、この発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
図1は、この発明の実施の形態を説明する背景としてのフラッシュメモリ内蔵マイコン100の構成を示した概略図である。
図1を参照して、フラッシュメモリ内蔵マイコン100は、フラッシュメモリモジュール1と、CPU(Central Processing Unit)2と、RAM(Random Access Memory)3と、DMA(Direct Memory Access)コントローラ4と、データバス5と、フラッシュメモリモジュールI/F(Interface)回路6とを備える。フラッシュメモリモジュール1は、フラッシュメモリモジュールI/F回路6を介してデータバス5に接続されている。フラッシュメモリモジュール1は、CPU2、RAM3およびDMAコントローラ4等とデータバス5を共有している。
フラッシュメモリモジュール1は、センスアンプ(S/A)群7と、メモリセルアレイ8と、エラー訂正回路11とを含む。センスアンプ群7は、データ信号を読み出すセンスアンプSA0〜SA63と、パリティ信号を読み出すセンスアンプSAP0〜SAP6とを含む。メモリセルアレイ8は、データ信号を記憶するメモリアレイM0〜M63と、パリティ信号を記憶するメモリアレイMP0〜MP6とを含む。
センスアンプSA0〜SA63は、ビット線BL0〜BL63を介して、メモリアレイM0〜M63にそれぞれ接続されている。センスアンプSA0〜SA63は、データ信号D0〜D63をエラー訂正回路11にそれぞれ出力する。センスアンプSAP0〜SAP6は、ビット線BLP0〜BLP6を介して、メモリアレイMP0〜MP6にそれぞれ接続されている。センスアンプSAP0〜SAP6は、パリティ信号P0〜P6をエラー訂正回路11にそれぞれ出力する。エラー訂正回路11は、データ信号D0〜D63およびパリティ信号P0〜P6を受けて、データ信号D0〜D63に含まれるエラーが訂正された出力データ信号Dout0〜Dout63をフラッシュメモリモジュールI/F回路6に出力する。
フラッシュメモリモジュールI/F回路6は、データ取込クロック生成部9と、データバスドライバ10と、データバッファ15と、レジスタ16とを含む。データバッファ15は、データ取込クロック生成部9から出力されるデータバッファ取込クロックCLKdに同期して、出力データ信号Dout0〜Dout63を一時的に保持する。レジスタ16は、データ取込クロック生成部9から出力されるレジスタ取込クロックCLKrに同期して、データバッファ15の出力信号を一時的に保持する。
データ取込クロック生成部9は、CPU2を制御するCPUクロックCLKcpuに基づいて、データバッファ取込クロックCLKdおよびレジスタ取込クロックCLKrを生成する。データバスドライバ10は、レジスタ16の出力信号を受けるとともに、データバスドライバ活性化信号DBSに応じてデータバス5を駆動する。
フラッシュメモリモジュール1からデータ等を読み出す経路について説明する。
センスアンプ群7は、メモリセルアレイ8からのデータの読出しを行なう。データ等の読出し時には、フラッシュメモリモジュール1に入力されるアドレス信号に従って、図示しないワード線およびコラム選択線を介して1つのメモリセルが選択される。選択されたメモリセルは、対応するビット線を介してセンスアンプ群7に接続される。
図2は、図1のセンスアンプ群7におけるセンスアンプS/Aの構成の一例を示した回路図である。
図2を参照して、センスアンプS/Aは、カレントミラー型のセンスアンプ部70と、インバータ81,82と、PチャネルMOSトランジスタ83と、ラッチ回路90,95とを含む。センスアンプ部70は、PチャネルMOSトランジスタ71,72と、NチャネルMOSトランジスタ73,74,75とを含む。ラッチ回路90は、互いに環状に接続されているインバータ91,92を含む。ラッチ回路95は、互いに環状に接続されているインバータ96,97を含む。
PチャネルMOSトランジスタ71は、電源電圧Vddを与える電源ノードとノードN1との間に接続され、ゲートがノードN2に接続されている。PチャネルMOSトランジスタ72は、電源ノードとノードN2との間に接続され、ゲートがノードN2に接続されている。NチャネルMOSトランジスタ73は、ノードN1とノードN3との間に接続され、ゲートがビット線BLに接続されている。ビット線BLは、抵抗値Rの抵抗を介して電源ノードに接続されている。NチャネルMOSトランジスタ74は、ノードN2とノードN3との間に接続され、ゲートに基準電圧Vrefが印加される。
NチャネルMOSトランジスタ75は、ノードN3と接地ノードとの間に接続され、ゲートにセンスアンプ活性化信号SAAを受ける。センスアンプ活性化信号SAAは、センスアンプS/Aの動作を活性化または非活性化する信号であって、インバータ81,92,97およびPチャネルMOSトランジスタ83にも供給される。インバータ81は、ノードN1とラッチ回路90との間に接続されている。PチャネルMOSトランジスタ83は、ラッチ回路90とラッチ回路95との間に接続されている。インバータ82は、ラッチ回路95と出力端子TRとの間に接続されている。
センスアンプS/Aの動作について説明する。
フラッシュメモリでは、選択されたメモリセルが流す電流がある一定値より多いか少ないかによって、当該メモリセルに蓄えられた情報が1であるか0であるかを判別する。図2に示したセンスアンプS/Aの回路構成では、センスアンプ活性化信号SAAがHレベル(論理ハイ)の期間中に(Vdd−Vref)/Rより電流が少ないと0、多いと1と判定される。この判定結果を受けて、センスアンプS/Aの出力端子TRより、対応するHレベルまたはLレベル(論理ロー)のデータが出力される。センスアンプS/Aは、センスアンプ活性化信号SAAがLレベルになったところで、その時点の出力データをラッチ回路95に保持する。
センスアンプ群7から出力される信号は、ECCによってデータの誤りを検出・訂正するエラー訂正回路11に入力される。ECCとは、Mビットのデータ信号に対してNビットのパリティ信号を追加し、(M+N)ビットの信号の中にデータが反転している誤りのビットがあった場合にこれを訂正する技術である。具体的には、Mビットのデータ信号に対して1ビットの誤り訂正を行なう場合、
Figure 0004936746
の関係を満たすビット数のパリティ信号をNビット追加する必要がある。一例として、4ビットのデータ信号D3〜D0に3ビットのパリティ信号P2〜P0を付加した計7ビットの信号に対して1ビットのエラー訂正を行なうエラー訂正回路の動作を説明する。ここで、パリティ信号P2〜P0は、
D0 xor D2 xor P0 xor P2=0 (21)
D1 xor D2 xor P1 xor P2=0 (22)
D3 xor P0 xor P1 xor P2=0 (23)
の関係を満たすように、
P2=D0 xor D2 xor D3 (31)
P1=D0 xor D1 xor D3 (32)
P0=D1 xor D2 xor D3 (33)
と決めておく。なお、xorは排他的論理和を意味する。半導体メモリの任意のアドレスにデータを書き込むとき、式(31)〜(33)に従ってデータ信号D3〜D0からパリティ信号P2〜P0を生成し、当該アドレスのパリティビット空間にパリティビットを書き込む。書き込まれた信号を読み出すとき、たとえばデータ信号D2が反転して誤ったデータが読み出されエラー訂正回路11に入力される場合を次図を用いて説明する。
図3は、図1のエラー訂正回路11の具体的な構成の一例を示した回路図である。
図3を参照して、エラー訂正回路11は、シンドロームを生成するシンドローム生成部12と、シンドロームから誤っているビットを特定するデコード部13と、誤りビットを反転して訂正を行なうエラー訂正部14とを含む。
シンドローム生成部12は、XOR回路121〜123を含む。XOR回路121〜123は、以下の式(41)〜(43)を満たすようにシンドロームS0〜S2をそれぞれ生成する。
S0=P2 xor P0 xor D2 xor D0 (41)
S1=P2 xor P1 xor D2 xor D1 (42)
S2=P2 xor P1 xor P0 xor D3 (43)
仮に、データ信号D0〜D3およびパリティ信号P0〜P2がすべて誤りなく読み出されていれば、式(41)〜(43)より、シンドロームS0〜S2は全て0となる。しかし、データ信号D2が誤って反転して読み出された場合、シンドロームS0〜S2は、S0=1,S1=1,S2=0となる。デコード部13は、当該シンドロームS0〜S2に基づいて誤りビットを特定する。
デコード部13は、AND回路131〜134を含む。AND回路131は、シンドロームS0とシンドロームS1,S2の反転信号との論理積を出力する。AND回路132は、シンドロームS1とシンドロームS0,S2の反転信号との論理積を出力する。AND回路133は、シンドロームS0,S1とシンドロームS2の反転信号との論理積を出力する。AND回路134は、シンドロームS2とシンドロームS0,S1の反転信号との論理積を出力する。
上記のAND回路131〜134の構成により、データ信号D2が誤って反転して読み出された場合、AND回路132のみが「1」を出力し、AND回路131,133,134は「0」を出力する。この結果に基づいて、エラー訂正部14は、データ信号D2を反転して誤りを訂正する。
エラー訂正部14は、XOR回路141〜144を含む。XOR回路141は、データ信号D0とAND回路131の出力信号との排他的論理和である出力データ信号Dout0を出力する。XOR回路142は、データ信号D1とAND回路132の出力信号との排他的論理和である出力データ信号Dout1を出力する。XOR回路143は、データ信号D2とAND回路133の出力信号との排他的論理和である出力データ信号Dout2を出力する。XOR回路144は、データ信号D3とAND回路134の出力信号との排他的論理和である出力データ信号Dout3を出力する。
上記のようにして、エラー訂正回路11は、誤りが訂正された出力データ信号Dout0〜Dout3を出力する。半導体メモリに上記のようなECCによるエラー訂正回路を搭載することによって、ソフトエラーやリテンション不良によるデータ誤りの訂正が可能となり、半導体メモリの信頼性が向上する。
再び図1を参照して、フラッシュメモリモジュールI/F回路6は、出力データ信号Dout0〜Dout63を受ける。出力データ信号Dout0〜Dout63は、データバッファ15、レジスタ16などを経て、データバス5に出力される。フラッシュメモリ内蔵マイコン100の動作について次図を用いて説明する。
図4は、図1のフラッシュメモリ内蔵マイコン100の動作を説明するための波形図である。
図4を参照して、時刻t1,t3,t5において、アドレスラッチ信号ADLが立上がる。リードサイクルRcyc1N(時刻t1〜t3)では読み出されるデータに誤りがなく、リードサイクルRcyc2E(時刻t3〜t5)では読み出されるデータに誤りが存在するものと仮定する。
リードサイクルRcyc1N,Rcyc2Eのいずれにおいても、センスアンプ活性化信号SAAの立上がり/立下がりを受けて、センスアンプ群7でデータ信号D63〜D0およびパリティ信号P6〜P0が生成される。この後、データに含まれる誤りが訂正された出力データ信号Dout63〜Dout0がエラー訂正回路11のエラー訂正部14から出力される。
リードサイクルRcyc2Eでは読み出すデータ(RD2A)に誤りが存在するため、出力データ信号Dout63〜Dout0が確定する際にエラー訂正による遅延DLYが余分にかかる。そのため、時刻t4後の時刻t5まで待たないと、データバッファ取込クロックCLKdに同期してデータ(RD2B)を取り込むことができない。
リードサイクルRcyc1Nでは読み出すデータ(RD1)に誤りがないため、時刻t2において既に出力データ信号Dout63〜Dout0が確定している。しかし、時刻t2の時点では出力データ信号Dout63〜Dout0が正しいのか誤っているのかが判明していないため、誤っている場合に備えて、結局は遅延DLYを見込んだ時刻t3まで待ってからデータ(RD1)を取り込む必要がある。
以上のように、図1のフラッシュメモリ内蔵マイコン100では、メモリセルのデータを読み出すアクセス経路にエラー訂正回路11が挿入されている。フラッシュメモリ内蔵マイコン100は、センスアンプ群7で読み出されるデータ信号D63〜D0およびパリティ信号P6〜P0をエラー訂正回路11に出力する。エラー訂正回路11では、シンドロームの生成、誤りビットの特定、および誤りビットの訂正を順次実行する。
上記のような構成のため、フラッシュメモリ内蔵マイコン100では、誤り訂正前のデータ入力が遷移してから訂正が実行されるまでの期間、当該データが誤っているのか正しいのか不明である。ゆえに、エラー訂正回路11のデータ入力が遷移してからエラー訂正が実行されるまでの時間を見込んで待った後に、確定した出力データ信号を取り込む必要が生じる。その結果、実際にデータが誤っているか否かに関わらず、メモリのアドレスアクセスにエラー訂正回路11での遅延が上乗せされる形となっていた。
特に、オンチップのメモリでは、データの転送レートを高くするために、データバス5のバス幅を大きくとることが行なわれる。その場合、エラー訂正回路11においてシンドローム生成部12のXOR回路が多入力となり、シンドロームのビット数も増える。この結果、デコード部13のAND回路もより多入力となるので、エラー訂正回路11での遅延が一層大きくなる。
近年、半導体チップの動作周波数は向上している。このことを考えると、実際にデータが誤っているか否かに関わらず、必ずエラー訂正回路11での遅延を見込んでアドレスアクセスを規定しなければならない状況では、半導体チップを含むシステムのパフォーマンスに及ぼす影響は大きい。
以下の実施の形態では、前述の発明の目的を達成するとともに、アドレスアクセスの規定においてエラー訂正回路での遅延を常に見込む必要のないフラッシュメモリ内蔵マイコンの構成および動作について詳述する。
[実施の形態1]
図5は、この発明の実施の形態1によるフラッシュメモリ内蔵マイコン100Aの構成を示した概略図である。
図5を参照して、実施の形態1のフラッシュメモリ内蔵マイコン100Aは、論理和段17、バッファ段18、およびセンスアンプ活性化信号生成部20が付加され、フラッシュメモリモジュールI/F回路6がフラッシュメモリモジュールI/F回路6Aに置き換えられた点において、図1のフラッシュメモリ内蔵マイコン100と異なる。したがって、図1と重複する部分の説明は、ここでは繰り返さない。
フラッシュメモリモジュールI/F回路6Aは、データ取込クロック生成部9がデータ取込クロック生成部9Aに置き換えられた点において、フラッシュメモリモジュールI/D回路6と異なる。データ取込クロック生成部9Aは、データ信号D0〜D63に誤りが含まれているかどうかを検出する誤り検出信号EDSを受ける。
なお、図5のフラッシュメモリ内蔵マイコン100Aでは、フラッシュメモリモジュール1の構成要素のうちエラー訂正回路11のみを図示している。エラー訂正回路11は、シンドローム生成部12と、デコード部13と、エラー訂正部14とを含み、64ビットのデータ信号D0〜D63に対して1ビットの誤り訂正を行なうものとする。このとき、式(11)により、7ビットのパリティ信号P0〜P6が必要とされる。
論理和段17は、シンドローム生成部12から出力されるシンドロームS0〜S6の論理和をとることにより、誤り検出信号EDSを生成する。誤り検出信号EDSは、シンドローム生成部12に入力するデータ信号D0〜D63に1つでも誤りが含まれる場合にHレベル、誤りがない場合にLレベルとなる。バッファ段18は、誤り検出信号EDSをバッファリングし、それをデータ取込クロック生成部9A、センスアンプ活性化信号生成部20およびCPU2に出力する。
誤り検出信号EDSの確定は、エラー訂正回路11において誤り訂正後の出力データ信号Dout0〜Dout63が確定するよりも早い。なぜなら、誤り検出信号EDSはシンドロームS0〜S6が論理和段17およびバッファ段18のみを経て確定するのに対し、誤り訂正後の出力データ信号が確定するのはシンドロームS0〜S6がデコード部13を通過して誤りビットが特定された後となるからである。デコード部13におけるAND回路の段数は、論理和段17とバッファ段18とを合わせた段数より多い。
上記により、実施の形態1のフラッシュメモリ内蔵マイコン100Aは、誤り検出信号EDSの論理値を参照すれば、誤り訂正後の出力データ信号が確定する前に、誤り訂正が行なわれるかどうかを予め知ることができる。
具体的には、フラッシュメモリ内蔵マイコン100Aは、リードサイクル内のある時点で誤り検出信号EDSがHレベルであるか、または前リードサイクルの誤り検出信号EDSがHレベルだったのが現リードサイクルではLレベルに変化した時のみ、センスアンプ活性化信号SAAに1ウェイトWTを挿入する。これにより、出力データ信号に誤りがあった場合にのみ、誤り訂正後の出力データ信号が確定するのを待ってから出力データ信号の取込みを行なうようにできる。
データ取込クロック生成部9Aは、CPUクロックCLKcpuおよび誤り検出信号EDSに基づいて、データバッファ取込クロックCLKdおよびレジスタ取込クロックCLKrの生成タイミングを調整する。センスアンプ活性化信号生成部20は、CPUクロックCLKcpuおよび誤り検出信号EDSに基づいて、センスアンプ活性化信号SAAの生成タイミングを調整する。
図1のフラッシュメモリ内蔵マイコン100は、ECCによってエラー訂正を実際に行なうか否かに関わらず、エラー訂正を行なうことに起因する遅延分を見込んでデータの取込みを遅らせていた。これに対し、実施の形態1のフラッシュメモリ内蔵マイコン100Aは、読み出されるデータに誤りが存在した時のみウェイトWTを挿入してデータを取り直すため、データの転送レートの低下を抑制することができる。このようなフラッシュメモリ内蔵マイコン100Aの動作について次図を用いて説明する。
図6は、図5のフラッシュメモリ内蔵マイコン100Aの動作を説明するための波形図である。
図6を参照して、時刻t1〜t5の各時点において、アドレスラッチ信号ADLが立上がる。リードサイクルRcyc1N(時刻t1〜t2),Rcyc3N(時刻t3〜t4),Rcyc4N(時刻t4〜t5)では読み出されるデータに誤りがなく、リードサイクルRcyc2E(時刻t2〜t3)では読み出されるデータに誤りが存在するものと仮定する。
リードサイクルRcyc1N〜Rcyc4Nのいずれにおいても、センスアンプ活性化信号SAAの立上がり/立下がりを受けて、センスアンプ群7でデータ信号D63〜D0およびパリティ信号P6〜P0が生成される。この後、データに含まれる誤りが訂正された出力データ信号Dout63〜Dout0がエラー訂正回路11のエラー訂正部14から出力される。
(1)リードサイクルRcyc1N〜Rcyc2E
リードサイクルRcyc1Nでは、誤りのないデータ(RD1)が読み出される。この場合、時刻t2において、データ取込クロック生成部9Aは、CPUクロックCLKcpuの立下がりエッジに同期するように、データバッファ取込クロックCLKdの立上がりエッジを発生させる。これを受けて、データバッファ15は、エラー訂正回路11のエラー訂正部14からのデータ(RD1)を取り込む。
データ取込クロック生成部9Aは、上記データバッファ取込クロックCLKdの立上がりエッジの次のCPUクロックCLKcpuの立上がりエッジに同期するように、誤り検出信号判定クロックCLKeの立上がりエッジを発生させる。誤り検出信号判定クロックCLKeの立上がりエッジ時点で誤り検出信号EDSがLレベルであるため、データ取込クロック生成部9Aは、引き続き、CPUクロックCLKcpuの立下がりエッジに同期するように、レジスタ取込クロックCLKrの立上がりエッジを発生させる。
レジスタ取込クロックCLKrの立上がりエッジを受けて、レジスタ16はデータバッファ15の出力信号を取り込む。以上のように、読み出されるデータに誤りのないリードサイクルRcyc1Nの場合、エラー訂正回路11を経由することによる遅延はエラー訂正部14でのゲート遅延のみとなるため、データ信号のエラー訂正を行なわない場合と同等のアクセスタイムとなる。
(2)リードサイクルRcyc2E〜Rcyc3N
リードサイクルRcyc2Eでは、誤りのあるデータ(RD2A)が読み出される。この場合も、上記のリードサイクルRcyc1N〜Rcyc2Eの場合と同様に、データバッファ15は、時刻t3でのデータバッファ取込クロックCLKdの立上がりエッジを受けて、エラー訂正回路11からの出力データ信号Dout63〜Dout0を取り込む。ただし、このときの出力データ信号Dout63〜Dout0は、誤りが訂正される前のデータ(RD2A)であるため、誤りを含んでいる。
データ取込クロック生成部9Aは、上記データバッファ取込クロックCLKdの立上がりエッジの次のCPUクロックCLKcpuの立上がりエッジに同期するように、誤り検出信号判定クロックCLKeの立上がりエッジを発生させる。誤り検出信号判定クロックCLKeの立上がりエッジ時点で誤り検出信号EDSがHレベルであるため、この時点でデータバッフ15に取り込まれた出力データ信号Dout63〜Dout0が誤っていることが分かる。
そこで、データ取込クロック生成部9Aは、次のCPUクロックCLKcpuの立下がりエッジに同期するように、データバッファ取込クロックCLKdの立上がりエッジを再度発生させる。再度のデータバッファ取込クロックCLKdの立上がりエッジを受けて、データバッファ15は、誤り訂正後のデータ(RD2B)をエラー訂正回路11のエラー訂正部14から取り直す。この結果、それ以降のレジスタ取込クロックCLKrの発生も順次遅延させられる。
上記において、誤り訂正後のデータ(RD2B)をエラー訂正部14からデータバッファ15に取り込んでいる間にリードサイクルRcyc3Nでセンスアンプ活性化信号SAAが活性化されてしまうと、出力データ信号の値が変わってしまいリードサイクルRcyc2Eの出力データ信号が取り込めなくなる。そこで、センスアンプ活性化信号生成部20は、センスアンプ活性化信号SAAの生成時にCPUクロックCLKcpu1サイクル分のウェイトWTを挿入する。これにより、リードサイクルRcyc2Eの出力データ信号の再取込みを妨げないようにしている。
(3)リードサイクルRcyc3N〜Rcyc4N
リードサイクルRcyc3N,Rcyc4Nでは、再び誤りのないデータ信号が読み出される。この場合、フラッシュメモリ内蔵マイコン100Aの動作は、基本的にリードサイクルRcyc1Nの場合と同様である。ただし、リードサイクルRcyc3Nでは、リードサイクルRcyc3Nの読出しデータ自体に誤りはないもののリードサイクルRcyc2Eで誤りがあったことによる影響が残る。この影響を回避するフラッシュメモリ内蔵マイコン100Aの動作について以下に説明する。
時刻t4において、データ取込クロック生成部9Aは、CPUクロックCLKcpuの立下がりエッジに同期するように、データバッファ取込クロックCLKdの立上がりエッジを発生させる。これを受けて、データバッファ15は、リードサイクルRcyc2Eのデータ読出し時に誤りビットを反転して訂正されていたデータ(RD2B)に代わり、新たに誤りのない出力データ信号Dout63〜Dout0を取り込もうとする。
しかし、この時点ではデコード部13からリードサイクルRcyc2Eにおける誤りビットを特定した信号が出力されているため、データバッファ15に取り込まれる出力データ信号は誤訂正されたデータ(RD3E)となる。その後、誤り検出信号EDSがHレベルからLレベルに変化し、デコード部13からリードサイクルRcyc2Eにおける誤りビットを特定した信号が出力されなくなると、誤訂正されたデータ(RD3E)は誤りのないデータ(RD3N)に遷移する。
したがって、データ取込クロック生成部9Aは、この誤りのないデータ(RD3N)が最終的に取り込まれるように、データバッファ取込クロックCLKdの立上がりエッジを再度発生させる。再度のデータバッファ取込クロックCLKdの立上がりエッジを受けて、データバッファ15は、誤りのないデータ(RD3N)をエラー訂正回路11のエラー訂正部14から取り直す。
上記において、誤りのないデータ(RD3N)をエラー訂正部14からデータバッファ15に取り込んでいる間にリードサイクルRcyc4Nでセンスアンプ活性化信号SAAが活性化されてしまうと、出力データ信号の値が変わってしまいリードサイクルRcyc3Nの出力データ信号が取り込めなくなる。そこで、センスアンプ活性化信号生成部20は、リードサイクルRcyc3Nの場合と同様に、センスアンプ活性化信号SAAの生成時にCPUクロックCLKcpu1サイクル分のウェイトWTを挿入する。
以上のように、実施の形態1のフラッシュメモリ内蔵マイコン100Aは、エラー検出時を含む3サイクル内では、次の第1または第2の場合にのみデータを取り込む。第1の場合は、あるリードサイクルの誤り検出信号判定クロックCLKeの立上がりエッジ時点で、誤り検出信号EDSがHレベルのときである。第2の場合は、前リードサイクルと現リードサイクルとで誤り検出信号判定クロックCLKeの立上がりエッジ時点における誤り検出信号EDSがHレベルからLレベルに変化したときである。
上記の第1または第2の場合、フラッシュメモリ内蔵マイコン100Aは、データ取込クロック生成部9Aでデータバッファ取込クロックCLKdの立上がりエッジを再度発生させるとともに、センスアンプ活性化信号生成部20でのセンスアンプ活性化信号SAA発生時にCPUクロックCLKcpu1サイクル分のウェイトWTを挿入する。
すなわち、実施の形態1のフラッシュメモリ内蔵マイコンは、ECCを用いたエラー訂正回路を搭載した半導体メモリを混載したSoC(System on a Chip)であって、読み出されるデータに誤りが存在した場合に活性化される誤り検出信号を出力する回路を設けており、データ誤りが検出されたときおよび誤り検出信号EDSがLレベルに変化したときにはウェイトを挿入してデータの再取込みを行なうように構成されている。
つまり、フラッシュメモリ内蔵マイコン100Aは、誤り検出信号判定クロックCLKeが変化した時点で誤り検出信号EDSが活性化されているとき、または、前リードサイクルと現リードサイクルとで誤り検出信号判定クロックCLKeの変化時における誤り検出信号EDSがHレベルからLレベルに変化したときに、データバッファ取込クロックCLKdおよびセンスアンプ活性化信号SAAを所定時間だけ遅延させる。
図1のフラッシュメモリ内蔵マイコン100は、エラーが発生したか否かに関わらず、エラー訂正にかかる遅延時間を見込んでデータバッファ15へのデータの取込みを全リードサイクルについて遅らせていた。これに対し、実施の形態1のフラッシュメモリ内蔵マイコン100Aは、ECCによる誤り訂正が起こる頻度が低ければウェイトWTの挿入の頻度もそれにともなって低くなるため、ECC訂正によるシステムパフォーマンスの低下を抑えることができる。
また、実施の形態1のフラッシュメモリ内蔵マイコン100Aは、データラッチが1組であり、訂正後データのバスと訂正前データのバスとが並走する箇所もないので、回路の占有面積の点でも有利である。
[実施の形態2]
実施の形態1のフラッシュメモリ内蔵マイコン100Aでは、現リードサイクルでの読出しデータに誤りがなくても、前リードサイクルの読出しデータに誤りがあれば、データの取込み時に1ウェイトWTを挿入していた。そのため、誤ったデータを読み出したリードサイクルが1サイクル単発で起こっただけだったとしても、2サイクルのリードサイクルにわたってウェイトWTの挿入を行なう必要があった。
上記に対し、実施の形態2のフラッシュメモリ内蔵マイコン100Bは、以下で説明するように、読み出されるデータに誤りがあった場合にのみ、その誤ったデータの取込み時にウェイトWTを挿入する構成を有する。これにより、実施の形態1のフラッシュメモリ内蔵マイコン100Aよりも、データ誤りによるデータ転送レートの低下をさらに抑えることが可能となる。
図7は、この発明の実施の形態2によるフラッシュメモリ内蔵マイコン100Bの構成を示した概略図である。
図7を参照して、実施の形態2のフラッシュメモリ内蔵マイコン100Bは、ECC活性化信号発生回路21が付加された点において、実施の形態1のフラッシュメモリ内蔵マイコン100Aと異なる構成を有する。したがって、図1と重複する部分の説明は、ここでは繰り返さない。
なお、図7のフラッシュメモリ内蔵マイコン100Bでは、実施の形態1と同じく、フラッシュメモリモジュール1の構成要素のうちエラー訂正回路11のみを図示している。エラー訂正回路11は、実施の形態1と同じく、シンドローム生成部12と、デコード部13と、エラー訂正部14とを含み、64ビットのデータ信号D0〜D63に対して1ビットの誤り訂正を行なうものとする。このとき、式(11)により、7ビットのパリティ信号P0〜P6が必要とされる。
論理和段17は、シンドローム生成部12から出力されるシンドロームS0〜S6の論理和をとることにより、誤り検出信号EDSを生成する。誤り検出信号EDSは、シンドローム生成部12に入力するデータ信号D0〜D63に1つでも誤りが含まれる場合にHレベル、誤りがない場合にLレベルとなる。バッファ段18は、誤り検出信号EDSをバッファリングし、それをECC活性化信号発生回路21に出力する。
ECC活性化信号発生回路21は、遅延素子22,23と、NAND回路24と、フリップフロップ回路25とを含む。NAND回路24は、センスアンプ活性化信号SAAと遅延素子23を通過したセンスアンプ活性化信号SAAの反転信号とを受けて、フリップフロップ回路25のECCリセット信号/ECCEN_RSTを出力する。センスアンプ活性化信号SAAは、実施の形態1の図5で示したセンスアンプ活性化信号生成部20により生成される。
フリップフロップ回路25は、ECCクロック信号ECCEN_CLKに同期するように、誤り検出信号EDSを入力し、デコード部13にECC回路活性化信号ECCAを出力する。ECCクロック信号ECCEN_CLKは、センスアンプ活性化信号SAAを遅延素子22によって遅延させることにより得られる。
デコード部13は、AND回路1301〜1363を含む。AND回路1301〜1363は、シンドロームS0〜S6またはその反転信号とECC回路活性化信号ECCAとの論理積を出力する。エラー訂正部14は、XOR回路1401〜1463を含む。XOR回路1401〜1463は、データ信号D0〜D63とAND回路1301〜1363の出力信号との排他的論理和である出力データ信号Dout0〜Dout63をそれぞれ出力する。
上記のように、実施の形態2のフラッシュメモリ内蔵マイコン100Bは、ECC活性化信号発生回路21が付加され、エラー訂正回路11のデコード部13にECC活性化信号発生回路21で生成されたECC活性化信号ECCAが入力される点で、実施の形態1のフラッシュメモリ内蔵マイコン100Aと異なる。フラッシュメモリ内蔵マイコン100Bは、ECC活性化信号ECCAがLレベルの時、シンドローム生成部12から出力されるシンドロームS0〜S6の値によらずデータ訂正を行なわない。
ECC活性化信号発生回路21は、センスアンプ活性化信号SAAの立上がりエッジからワンショットパルスでECCリセット信号/ECCEN_RSTを活性化し、これによりECC回路活性化信号ECCAを非活性とする。また、ECC活性化信号発生回路21は、センスアンプ活性化信号SAAを遅延させて得たECCクロック信号ECCEN_CLKの立下がりエッジで誤り検出信号EDSを取り込む。以上のようなフラッシュメモリ内蔵マイコン100Bの動作について次図を用いて説明する。
図8は、図7のフラッシュメモリ内蔵マイコン100Bの動作を説明するための波形図である。
図8を参照して、時刻t1〜t4,t6の各時点において、アドレスラッチ信号ADLが立上がる。実施の形態1と同様に、リードサイクルRcyc1N(時刻t1〜t2),Rcyc3N(時刻t3〜t4),Rcyc4N(時刻t4〜t6)では読み出されるデータに誤りがなく、リードサイクルRcyc2E(時刻t2〜t3)では読み出されるデータに誤りが存在するものと仮定する。
リードサイクルRcyc1N〜Rcyc4Nのいずれにおいても、センスアンプ活性化信号SAAの立上がり/立下がりを受けて、センスアンプ群7でデータ信号D63〜D0およびパリティ信号P6〜P0が生成される。この後、データに含まれる誤りが訂正された出力データ信号Dout63〜Dout0がエラー訂正回路11のエラー訂正部14から出力される。
(1)リードサイクルRcyc1N〜Rcyc2E
リードサイクルRcyc1Nでは、誤りのないデータ(RD1)が読み出される。リードサイクルRcyc1N〜Rcyc2Eでのデータ取込み動作は、以下のECCリセット信号/ECCEN_RST,ECCクロック信号ECCEN_CLK等の変化を除き、実施の形態1と基本的には同様の動作でデータの取込みが行なわれる。
リードサイクルRcyc1Nでは、センスアンプ活性化信号SAAの立上がりエッジを受けて、ECCリセット信号/ECCEN_RSTが立下がる。このときECC回路活性化信号ECCAは活性化していないため、ECC回路活性化信号ECCAに変化はない。
その後、センスアンプ活性化信号SAAの立下がりエッジを受けて、ECCクロック信号ECCEN_CLKが立上がる。しかし、リードサイクルRcyc1Nでは誤りのないデータ(RD1)が読み出されるため、ECC回路活性化信号ECCAは立上がらない。
(2)リードサイクルRcyc2E〜Rcyc3N
リードサイクルRcyc2Eでは、誤りのあるデータ(RD2A)が読み出される。リードサイクルRcyc2E〜Rcyc3Nでのデータ取込み動作は、以下のように、ECC回路活性化信号ECCAがフラッシュメモリモジュールI/F回路6Aのデータバッファ15およびレジスタ16でのデータ取込みに重なる形で活性化されるため、実施の形態1と基本的には同様の動作でデータの取込みが行なわれる。
リードサイクルRcyc2Eでは、リードサイクルRcyc1Nと同様に、センスアンプ活性化信号SAAの立上がりエッジを受けて、ECCリセット信号/ECCEN_RSTが立下がる。このときECC回路活性化信号ECCAは活性化していないため、ECC回路活性化信号ECCAに変化はない。
その後、センスアンプ活性化信号SAAの立下がりエッジを受けて、ECCクロック信号ECCEN_CLKが立上がる。リードサイクルRcyc2Eでは誤りのあるデータ(RD2A)が読み出されるため、ECCクロック信号ECCEN_CLKの立下がりエッジを受けてECC回路活性化信号ECCAが活性化する。
(3)リードサイクルRcyc3N〜Rcyc4N
リードサイクルRcyc3N,Rcyc4Nでは、再び誤りのないデータ信号が読み出される。この場合、フラッシュメモリ内蔵マイコン100Bの動作は、基本的にリードサイクルRcyc1Nの場合と同様である。ただし、リードサイクルRcyc3Nでは、リードサイクルRcyc3Nの読出しデータ自体に誤りはないもののリードサイクルRcyc2Eで誤りがあったことによる影響が残る。この影響を回避するフラッシュメモリ内蔵マイコン100Bの動作について以下に説明する。
リードサイクルRcyc2E〜Rcyc3Nにおいて、データバッファ15は、再度のデータバッファ取込クロックCLKdの立上がりエッジを受けて、誤り訂正後のデータ(RD2B)をエラー訂正回路11のエラー訂正部14から取り直す。
上記の後、リードサイクルRcyc3NでウェイトWTが挿入されたセンスアンプ活性化信号SAAの立上がりエッジを受けて、ECCリセット信号/ECCEN_RSTが立下がる。このとき、ECC回路活性化信号ECCAが活性化されているため、ECCリセット信号/ECCEN_RSTの立下がりエッジを受けて、ECC回路活性化信号ECCAがHレベルからLレベルに変化する。すなわち、ECC活性化信号ECCAを保持するフリップフロップ回路25は、センスアンプ活性化信号SAAの立上がりエッジから形成されたワンショットパルスを受けてリセットされることになる。
このECCリセットの結果、フラッシュメモリモジュールI/F回路6Aのデータバッファ15に取り込まれる出力データ信号Dout63〜Dout0は、リードサイクルRcyc2Eにおける一旦訂正済みのデータ(RD2B)から、リードサイクルRcyc2Eでの誤りを含んだ訂正されないままのデータ(RD2A)に戻る。しかし、この時には既にリードサイクルRcyc2Eの訂正後のデータ(RD2B)はデータバッファ15によって取込み済みとなっているため、フラッシュメモリ内蔵マイコン100Bの動作上に問題は生じない。その後、リードサイクルRcyc3Nで読み出されるデータ(RD3)は誤りを含まないため、時刻t4のタイミングでそのまま取り込むことができる。
以上のように、実施の形態2のフラッシュメモリ内蔵マイコンは、ECCを用いたエラー訂正回路を搭載した半導体メモリを混載したSoCであって、読み出されるデータに誤りが存在した場合に活性化される誤り検出信号を出力する回路と、エラー訂正の活性化/非活性化を制御する端子を有するエラー訂正回路とを搭載した半導体メモリを備える。当該半導体メモリは、誤り検出信号の論理値によらず、一旦エラー訂正回路を非活性として、その後確定した誤り検出信号の論理値がHレベルである場合にのみウェイトを挿入してデータの再取込みを行なうように構成されている。
実施の形態1のフラッシュメモリ内蔵マイコン100Aでは、誤りを含むリードサイクルのデータを取り込んだ次のリードサイクルにおいて、仮にそのリードサイクルで誤りのないデータが読み出されていても、CPUクロック1サイクル分のウェイトWTを挿入する必要があった。なぜなら、読み出されたデータに誤りがないことがエラー訂正回路11のデコーダ出力に反映されるまでの遅延時間を見込んで待ってからでないと、正しいデータがデータバッファに到達しないからである。
これに対し、実施の形態2のフラッシュメモリ内蔵マイコン100Bは、センスアンプ活性化信号SAAの立上がりエッジが来るごとに、ECC回路活性化信号ECCAがHレベルに活性化されていればLレベルにリセットする。これにより、センスアンプ活性化信号SAAの立上がりエッジが来るごとに、いったんエラー訂正を行なわずにエラー訂正回路11からデータを出力する状態に遷移させる。
データバッファ15がデータを取り込んだ後、フリップフロップ回路25は、誤り検出信号EDSを受けて、HレベルまたはLレベルのECC回路活性化信号ECCAを出力する。誤り検出信号EDSがLレベルの状態でデータの再取込みを行なう場合には、エラー訂正されていなデータがデータバッファ15に到達する。誤り検出信号EDSがHレベルの状態でデータの再取込みを行なう場合には、エラー訂正後のデータがデータバッファ15に到達する。
また、実施の形態2のフラッシュメモリ内蔵マイコン100Bは、実施の形態1と同じく、データラッチが1組であり、訂正後データのバスと訂正前データのバスとが並走する箇所もないので、回路の占有面積の点でも有利である。
なお、本発明のフラッシュメモリモジュール1で用いられるメモリセルアレイ8の種類は、フラッシュメモリに限られるわけではなく、フラッシュメモリ以外の不揮発性メモリであってもよく、さらにはSRAM等の揮発性メモリであっても構わない。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本発明は、一例として、ECCを搭載したメモリ、ECCを搭載したメモリを混載したメモリ内蔵マイコン等のSoCに適用される。
この発明の実施の形態を説明する背景としてのフラッシュメモリ内蔵マイコン100の構成を示した概略図である。 図1のセンスアンプ群7におけるセンスアンプS/Aの構成の一例を示した回路図である。 図1のエラー訂正回路11の具体的な構成の一例を示した回路図である。 図1のフラッシュメモリ内蔵マイコン100の動作を説明するための波形図である。 この発明の実施の形態1によるフラッシュメモリ内蔵マイコン100Aの構成を示した概略図である。 図5のフラッシュメモリ内蔵マイコン100Aの動作を説明するための波形図である。 この発明の実施の形態2によるフラッシュメモリ内蔵マイコン100Bの構成を示した概略図である。 図7のフラッシュメモリ内蔵マイコン100Bの動作を説明するための波形図である。
符号の説明
1 フラッシュメモリモジュール、2 CPU、3 RAM、4 DMAコントローラ、5 データバス、6,6A フラッシュメモリモジュールI/F回路、7 センスアンプ群、8 メモリセルアレイ、9,9A データ取込クロック生成部、10 データバスドライバ、11 エラー訂正回路、12 シンドローム生成部、13 デコード部、14 エラー訂正部、15 データバッファ、16 レジスタ、17 論理和段、18 バッファ段、20 センスアンプ活性化信号生成部、21 ECC活性化信号発生回路、22,23 遅延素子、24 NAND回路、25 フリップフロップ回路、70 センスアンプ部、81,82,91,92,96,97 インバータ、71,72,83 PチャネルMOSトランジスタ、90,95 ラッチ回路、73,74,75 NチャネルMOSトランジスタ、100,100A,100B フラッシュメモリ内蔵マイコン、121〜123,141〜144,1401〜1463 XOR回路、131〜134,1301〜1363 AND回路。

Claims (8)

  1. データ信号およびパリティ信号を記憶するメモリセルアレイと、
    前記記憶されているデータ信号およびパリティ信号を読み出すセンスアンプと、
    前記読み出されたデータ信号およびパリティ信号を受けて前記データ信号に含まれるエラーを訂正するエラー訂正回路と、
    前記エラー訂正回路から出力される出力データ信号を取り込んでデータバスに出力するメモリモジュールインターフェイス回路とを備え、
    前記エラー訂正回路は、
    前記読み出されたデータ信号とパリティ信号とを組み合わせてシンドローム信号を生成するシンドローム生成部と、
    前記シンドローム信号から前記データ信号の誤りビットを特定するデコード部と、
    前記デコード部の出力信号に基づいて前記データ信号のエラーを訂正するエラー訂正部とを含み、
    前記メモリモジュールインターフェイス回路は、
    前記出力データ信号を取り込むタイミングを与えるデータバッファ取込クロック信号、および前記データ信号に誤りが含まれているかどうか判定するタイミングを与える誤り検出信号判定クロック信号を生成するデータ取込クロック生成部と、
    前記データバッファ取込クロック信号に応答して前記出力データ信号を取り込むデータバッファとを含み、
    前記データ信号に誤りが含まれているかどうかを検出する誤り検出部と、
    前記センスアンプの動作を活性化するセンスアンプ活性化信号を生成するセンスアンプ活性化信号生成部とをさらに備え、
    前記誤り検出信号判定クロック信号が変化した時点で前記誤り検出信号が活性化されているとき、前記データバッファ取込クロックおよび前記センスアンプ活性化信号を所定時間遅延させ、
    前記誤り検出部は、
    前記シンドローム信号の論理和をとることにより、前記データ信号に誤りが含まれているかどうかを示す誤り検出信号を出力する論理和段と、
    前記誤り検出信号をバッファリングし、前記バッファリングされた誤り検出信号を前記データ取込クロック生成部および前記センスアンプ活性化信号生成部に出力するバッファ段とを含む、半導体装置。
  2. 前記半導体装置は、前記誤り検出信号判定クロック信号が変化した時点で前記誤り検出信号が活性化されているとき、前記データバッファ取込クロックを前記所定時間後に発生させることで前記センスアンプ活性化信号を前記所定時間遅延させる、請求項1に記載の半導体装置。
  3. 前記半導体装置は、前リードサイクルと現リードサイクルとで前記誤り検出信号判定クロック信号の変化時における前記誤り検出信号が活性状態から非活性状態に変化したとき、前記データバッファ取込クロックおよび前記センスアンプ活性化信号を前記所定時間遅延させる、請求項1に記載の半導体装置。
  4. 前記半導体装置は、前リードサイクルと現リードサイクルとで前記誤り検出信号判定クロック信号の変化時における前記誤り検出信号が活性状態から非活性状態に変化したとき、前記エラー訂正部がエラー訂正を完了した後に前記データバッファ取込クロックを発生させることで前記センスアンプ活性化信号を前記所定時間遅延させる、請求項3に記載の半導体装置。
  5. 前記データ取込クロック生成部は、前記センスアンプ活性化信号に同期するように前記データバッファの出力信号を取り込むタイミングを与えるレジスタ取込クロック信号を生成し、
    前記メモリモジュールインターフェイス回路は、前記レジスタ取込クロック信号に応答して前記データバッファからの出力信号を取り込むレジスタをさらに含む、請求項1に記載の半導体装置。
  6. 前記センスアンプ活性化信号に応答して、前記誤り検出信号を入力し、かつ前記デコード部の動作を制御するエラー訂正活性化信号を前記デコード部に出力するエラー訂正活性化信号発生回路をさらに備え、
    前記エラー訂正活性化信号発生回路は、前記センスアンプ活性化信号が活性化されたとき、前記誤り検出信号および前記センスアンプ活性化信号に基づいて、前記エラー訂正部の活性化および非活性化を制御するエラー訂正活性化信号を前記デコード部に出力し、前記デコード部は、前記エラー訂正活性化信号が非活性化されて入力された場合に前記エラー訂正部を非活性化する信号を出力する、請求項1に記載の半導体装置。
  7. 前記エラー訂正活性化信号発生回路は、前記センスアンプ活性化信号を前記所定時間遅延させた信号に同期して前記誤り検出信号を取り込み、前記デコード部に前記エラー訂正活性化信号を出力し、前記センスアンプ活性化信号に同期してリセットされるフリップフロップ回路を含む、請求項に記載の半導体装置。
  8. 前記所定時間は、前記データ取込クロック生成部および前記センスアンプ活性化信号生成部の動作を制御する制御クロック信号の1クロックに相当する、請求項1〜のいずれかに記載の半導体装置。
JP2006062650A 2006-03-08 2006-03-08 半導体装置 Expired - Fee Related JP4936746B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006062650A JP4936746B2 (ja) 2006-03-08 2006-03-08 半導体装置
US11/651,075 US7779333B2 (en) 2006-03-08 2007-01-09 Semiconductor memory having embedded microcomputer with ECC function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006062650A JP4936746B2 (ja) 2006-03-08 2006-03-08 半導体装置

Publications (2)

Publication Number Publication Date
JP2007241625A JP2007241625A (ja) 2007-09-20
JP4936746B2 true JP4936746B2 (ja) 2012-05-23

Family

ID=38535045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006062650A Expired - Fee Related JP4936746B2 (ja) 2006-03-08 2006-03-08 半導体装置

Country Status (2)

Country Link
US (1) US7779333B2 (ja)
JP (1) JP4936746B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7562285B2 (en) 2006-01-11 2009-07-14 Rambus Inc. Unidirectional error code transfer for a bidirectional data link
TW200820231A (en) * 2006-10-31 2008-05-01 Sunplus Technology Co Ltd Error code correction device with high memory utilization efficiency
US7760476B2 (en) * 2007-06-07 2010-07-20 Atmel Corporation Threshold voltage method and apparatus for ESD protection
JP2009104757A (ja) * 2007-10-02 2009-05-14 Panasonic Corp 半導体記憶装置
US8190973B2 (en) * 2007-12-21 2012-05-29 Arm Limited Apparatus and method for error correction of data values in a storage device
JP5363460B2 (ja) * 2008-07-30 2013-12-11 パナソニック株式会社 誤り訂正機能付きコントローラ、誤り訂正機能付き記憶装置、及び誤り訂正機能付きシステム
JP5278441B2 (ja) * 2008-12-04 2013-09-04 富士通株式会社 記憶装置および故障診断方法
KR101062755B1 (ko) * 2009-07-29 2011-09-06 주식회사 하이닉스반도체 Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법
US8589759B2 (en) * 2010-10-01 2013-11-19 Hamilton Sundstrand Corporation RAM single event upset (SEU) method to correct errors
JP6341795B2 (ja) 2014-08-05 2018-06-13 ルネサスエレクトロニクス株式会社 マイクロコンピュータ及びマイクロコンピュータシステム
KR102324769B1 (ko) 2015-06-29 2021-11-10 삼성전자주식회사 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US10048877B2 (en) * 2015-12-21 2018-08-14 Intel Corporation Predictive memory maintenance
US10431301B2 (en) 2017-12-22 2019-10-01 Micron Technology, Inc. Auto-referenced memory cell read techniques
US10566052B2 (en) 2017-12-22 2020-02-18 Micron Technology, Inc. Auto-referenced memory cell read techniques
GB2577120B (en) * 2018-09-14 2022-06-01 Siemens Ind Software Inc Error detection within an integrated circuit chip
US10795767B2 (en) 2018-12-26 2020-10-06 M31 Technology Corporation Error correcting system shared by multiple memory devices
US11373725B2 (en) * 2020-06-25 2022-06-28 Micron Technology, Inc. Error correction code circuits having one-to-one relationships with input/output pads and related apparatuses and methods
KR20230056315A (ko) * 2021-10-20 2023-04-27 삼성전자주식회사 멀티 레벨 신호 수신을 위한 수신기 및 이를 포함하는 메모리 장치
CN114327258B (zh) * 2021-11-30 2023-08-15 苏州浪潮智能科技有限公司 一种固态硬盘处理方法、系统、设备及计算机存储介质
JP7660717B2 (ja) * 2022-02-24 2025-04-11 チャンシン メモリー テクノロジーズ インコーポレイテッド データ誤り訂正回路およびデータ伝送回路

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0670775B2 (ja) 1986-11-12 1994-09-07 株式会社日立製作所 エラ−検出・訂正システム
JPH0341537A (ja) 1989-07-10 1991-02-22 Fujitsu Ltd 記憶装置のリトライリード制御方式
JPH05108491A (ja) * 1991-10-18 1993-04-30 Nec Corp 情報処理装置
JP3534917B2 (ja) 1995-11-08 2004-06-07 株式会社日立製作所 メモリアクセス制御方法
JP4021991B2 (ja) * 1998-06-10 2007-12-12 沖電気工業株式会社 メモリ制御システム
US6370668B1 (en) * 1999-07-23 2002-04-09 Rambus Inc High speed memory system capable of selectively operating in non-chip-kill and chip-kill modes
US7283380B1 (en) * 2001-08-03 2007-10-16 Netlogic Microsystems, Inc. Content addressable memory with selective error logging
US7051264B2 (en) * 2001-11-14 2006-05-23 Monolithic System Technology, Inc. Error correcting memory and method of operating same
JP2005086683A (ja) * 2003-09-10 2005-03-31 Fanuc Ltd 誤り復号回路、データバス制御方法、及びデータバスシステム
JP4237109B2 (ja) * 2004-06-18 2009-03-11 エルピーダメモリ株式会社 半導体記憶装置及びリフレッシュ周期制御方法
US7340668B2 (en) * 2004-06-25 2008-03-04 Micron Technology, Inc. Low power cost-effective ECC memory system and method
US6965537B1 (en) * 2004-08-31 2005-11-15 Micron Technology, Inc. Memory system and method using ECC to achieve low power refresh
US7151264B2 (en) * 2004-12-21 2006-12-19 Ranco Incorporated Of Delaware Inline air handler system and associated method of use

Also Published As

Publication number Publication date
JP2007241625A (ja) 2007-09-20
US7779333B2 (en) 2010-08-17
US20070226597A1 (en) 2007-09-27

Similar Documents

Publication Publication Date Title
JP4936746B2 (ja) 半導体装置
CN111433849B (zh) 用于存储器装置的连续写入操作的间隙检测
US6678860B1 (en) Integrated circuit memory devices having error checking and correction circuits therein and methods of operating same
US7681106B2 (en) Error correction device and methods thereof
US7051264B2 (en) Error correcting memory and method of operating same
KR100383501B1 (ko) 인터페이스 회로
JP5086709B2 (ja) データ入出力エラー検出機能を有する半導体メモリ装置
US8300482B2 (en) Data transfer circuit and semiconductor memory device including the same
US11003240B2 (en) Systems and methods for frequency mode detection and implementation
US7299400B2 (en) Error correction circuit
US9166625B2 (en) Circuits, integrated circuits, and methods for interleaved parity computation
US20110246857A1 (en) Memory system and method
US7656322B2 (en) Semiconductor memory device having error correction function
US10319455B2 (en) Semiconductor device
US11275650B2 (en) Systems and methods for performing a write pattern in memory devices
US11264078B2 (en) Metastable resistant latch
US11804251B2 (en) Ghost command suppression in a half-frequency memory device
JP4602246B2 (ja) 半導体集積回路
CN115705264A (zh) 与执行训练操作相关的半导体系统和电子器件
CN110574110A (zh) 动态终止边缘控制
CN103038829B (zh) 用以使由于纠错而引起的老化相关的性能退化最小化的nand存储器控制器中的动态缓冲管理
US6967882B1 (en) Semiconductor memory including static memory
US12451207B2 (en) Semiconductor devices for detecting defects in error correction circuits, and methods of performing test mode operations
TW202530989A (zh) 用於測試錯誤校正電路的半導體系統
JP2011229051A (ja) 誤り検出回路及び集積回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090203

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120111

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: 20120214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120221

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4936746

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees