(57)【要約】【課題】データの読み出し時間を短縮して高速読み出しを可能とし、しかも高信頼性を保持し得る半導体メモリおよびメモリシステムを提供する。【解決手段】メモリセルアレイ１１ａと、パリティ用セルアレイ１１ｂと、ラッチ機能付きのセンスアンプ１４ａと、パリティ用センスアンプ１４ｂと、読み出しサイクル毎にセンスアンプ出力データの誤り検出を行い、誤りを検出した場合には誤り訂正後のデータを生成するとともに誤り検出フラグを生成してチップ外部に出力する誤り検出・訂正回路１６と、誤り検出フラグにより制御され、誤り訂正後のデータおよびセンスアンプから出力される誤り訂正前のデータを選択し、メモリ出力としてチップ外部に出力するセレクタ１７とを具備する。センスアンプは、誤り検出フラグを受けた場合には、新しく検知増幅した本体データをラッチしないで従前から検知増幅していた本体のデータのラッチを継続する。【選択図】      図１
2007149222.tif 000002
【特許請求の範囲】
【請求項１】
複数ビットの本体データを単位として記憶するメモリセルアレイと、
前記本体データに対応するパリティデータを前記メモリセルアレイと同じロウアドレスに記憶するパリティ用セルアレイと、
システムクロックおよびアドレスに基づいて前記メモリセルアレイから読み出された本体データをラッチし、誤り検出フラグを受けた場合には新しい本体データをラッチしないで従前の本体データのラッチを継続するセンスアンプと、
前記システムクロックおよびアドレスに基づいて前記パリティ用セルアレイから読み出されたパリティデータを検知増幅するパリティ用センスアンプと、
読み出しサイクル毎に前記センスアンプの出力データおよびパリティ用センスアンプの出力データに基づいてシンドローム計算を行い、複数ビットの計算結果データを出力するシンドローム計算回路と、
前記センスアンプの出力データおよびシンドローム計算回路の出力データに基づいて誤り検出を行い、誤りを検出した場合には誤り訂正後のデータを生成するとともに所要の誤り検出時間後に前記誤り検出フラグを生成し、当該誤り検出フラグを前記センスアンプに供給するとともにチップ外部に出力する誤り検出・訂正回路と、
前記誤り検出フラグにより制御され、前記誤り検出・訂正回路により生成された誤り訂正後のデータおよび前記センスアンプから出力される誤り訂正前のデータを選択し、メモリ出力としてチップ外部に出力するセレクタと、
を具備することを特徴とする半導体メモリ。
【請求項２】
請求項１記載の半導体メモリと、
前記半導体メモリにアドレスを供給してデータの読み出し制御を行い、前記半導体メモリの出力データを取り込む機能を有し、前記誤り検出フラグを受けた場合には、前記半導体メモリにメモリエラーが生じたことを認識し、前回供給したアドレスに対するメモリ出力データが誤りデータであると判定し、既に取り込んだメモリ出力データを捨てて１サイクル後の誤り訂正後のメモリ出力データを取り込むように制御する機能を有するＣＰＵと、
を具備することを特徴とするメモリシステム。
【請求項３】
複数ビットの本体データを単位として記憶するメモリセルアレイと、
前記本体データに対応するパリティデータを前記メモリセルアレイと同じロウアドレスに記憶するパリティ用セルアレイと、
システムクロックおよびアドレスに基づいて前記メモリセルアレイから読み出された本体データをラッチし、半導体メモリ外部から供給される誤り検出フラグを受けた場合には新しい本体データをラッチしないで従前の本体データのラッチを継続するセンスアンプと、
前記システムクロックおよびアドレスに基づいて前記パリティ用セルアレイから読み出されたパリティデータを検知増幅するパリティ用センスアンプとを具備し、
前記センスアンプの出力データおよびパリティセンスアンプの出力データを外部に出力することを特徴とする半導体メモリ。
【請求項４】
請求項３記載の半導体メモリと、
前記半導体メモリの読み出しサイクル毎に前記センスアンプの出力データおよびパリティ用センスアンプの出力データに基づいてシンドローム計算を行い、複数ビットの計算結果データを出力するシンドローム計算回路と、
前記センスアンプの出力データおよびシンドローム計算回路の出力データに基づいて誤り検出を行い、誤りを検出した場合には誤り訂正後のデータを生成するとともに所要の誤り検出時間後に前記誤り検出フラグを生成し、当該誤り検出フラグを前記センスアンプに供給するとともにチップ外部に出力する誤り検出・訂正回路と、
前記誤り検出フラグにより制御され、前記誤り検出・訂正回路により生成された誤り訂正後のデータおよび前記センスアンプから出力される誤り訂正前のデータを選択し、メモリ出力としてチップ外部に出力するセレクタと、
前記半導体メモリにアドレスを供給してデータの読み出し制御を行い、前記セレクタの出力を取り込む機能を有し、前記誤り検出フラグを受けた場合には、前記半導体メモリにメモリエラーが生じたことを認識し、前回供給したアドレスに対するメモリ出力データが誤りデータであると判定し、既に取り込んだメモリ出力データを捨てて１サイクル後の誤り訂正後のメモリ出力データを取り込むように制御する機能を有するＣＰＵと、
を具備することを特徴とするメモリシステム。
【請求項５】
前記ＣＰＵは、前記既に取り込んだメモリ出力データを捨てて誤り訂正後のメモリ出力データを取り込むように制御する際、さらに次のアドレスの出力を止め、前記半導体メモリにメモリエラー出力が生じたアドレスの次のアドレス（現在のアドレス）を前記半導体メモリに再エントリーして再読み出しを行うように制御することを特徴とする請求項２または４記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリおよびメモリシステムに係り、特にＥＣＣ（Error Correction Code）を搭載したメモリの高速読み出しシステムに関するもので、例えばメモリ混載マイコン等のメモリシステムに使用されるものである。
【背景技術】
【０００２】
半導体メモリあるいはメモリ混載マイコンの加工技術の微細化や加工工程の偶発的な欠陥によって、メモリ部が不良品となってしまう場合がある。市場でメモリ部の高信頼性が求められる場合には、一般的にＥＣＣ機能を搭載したメモリを使用する。ＥＣＣ機能搭載メモリは、メモリのエラーを訂正して読み出しデータを正しいデータに補正する冗長パスおよび冗長回路が必須となる。ＥＣＣ機能搭載メモリにおいて、メモリにデータを書く場合は、書き込みデータの他に誤り訂正分のパリティデータ（パリティビット）を生成して書き込む。また、データを読み出す場合は、書き込みデータとパリティデータを読み出し、さらに冗長回路で誤り訂正した後の最終データを出力する。この時の読み出し時間は、ＥＣＣ機能を搭載していないメモリに対して誤り訂正分の冗長パス分が余分に掛かり、読み出し時間の増大、ひいてはシステム全体の最高動作周波数の低下をきたす要因になっている。
【０００３】
例えば32ビットの読み出しデータに対して１ビット誤りを検出して１ビット補正を行う従来のＥＣＣ機能搭載メモリは、読み出しアドレス入力後、センスアンプのI/O（入出力）端子の32ビット出力とＥＣＣパリティ補正用の6ビット出力の計38ビットが出力される。シンドローム回路は、上記38ビット出力が入力し、６ビットのシンドローム出力(A〜F)を生成する。誤り検出・訂正回路は、上記6ビットのシンドローム出力とセンスアンプの32ビット出力が入力し、１ビット誤り１ビット補正した32ビットデータを出力する。
【０００４】
メモリのエラーは読み出し毎に発生しているわけでは無く、その発生確率は極めて低い値であり、メモリ容量や使用条件によりばらつく。それにも拘らず従来のＥＣＣ機能搭載メモリメモリにおいては、読み出し毎に、セルアレイの読み出しデータがシンドローム計算回路および誤り検出・訂正回路のパスを経由するので、このパスの遅延分だけ読み出しアクセスが低速になり、システム全体のパフォーマンスを低下させる原因になっている。
【０００５】
なお、一般的に、メモリの製造に際して不良選別の検査過程においては、ＥＣＣ機能を使用しないで、エラー訂正用のパリティビットの検査を行うことによって、メモリの初期不良品は市場に出回ることはない。
【０００６】
なお、特許文献１には、ＥＣＣ機能を搭載した不揮発性の半導体メモリにおいて、シンドローム生成と同時に訂正前の読み出しデータを出力させるとともに、シンドローム生成後に誤りがあったか否かを示すエラー状況信号を出力して、外部からの要求の有無に応じて訂正済みの読み出しデータを出力させる点が開示されている。
【特許文献１】特開２０００−３０５８６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は前記した従来の問題点を解決すべくなされたもので、データの読み出し時間を短縮し、しかも高信頼性を保持し得る半導体メモリおよびメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の態様に係る半導体メモリは、複数ビットの本体データを単位として記憶するメモリセルアレイと、前記本体データに対応するパリティデータを前記メモリセルアレイと同じロウアドレスに記憶するパリティ用セルアレイと、システムクロックおよびアドレスに基づいて前記メモリセルアレイから読み出された本体データをラッチし、誤り検出フラグを受けた場合には新しい本体データをラッチしないで従前の本体データのラッチを継続するセンスアンプと、前記システムクロックおよびアドレスに基づいて前記パリティ用セルアレイから読み出されたパリティデータを検知増幅するパリティ用センスアンプと、読み出しサイクル毎に前記センスアンプの出力データおよびパリティ用センスアンプの出力データに基づいてシンドローム計算を行い、複数ビットの計算結果データを出力するシンドローム計算回路と、前記センスアンプの出力データおよびシンドローム計算回路の出力データに基づいて誤り検出を行い、誤りを検出した場合には誤り訂正後のデータを生成するとともに所要の誤り検出時間後に前記誤り検出フラグを生成し、当該誤り検出フラグを前記センスアンプに供給するとともにチップ外部に出力する誤り検出・訂正回路と、前記誤り検出フラグにより制御され、前記誤り検出・訂正回路により生成された誤り訂正後のデータおよび前記センスアンプから出力される誤り訂正前のデータを選択し、メモリ出力としてチップ外部に出力するセレクタとを具備する。
【０００９】
本発明の第２の態様に係るメモリシステムは、本発明の第１の態様に係る半導体メモリと、前記半導体メモリにアドレスを供給してデータの読み出し制御を行い、前記半導体メモリの出力データを取り込む機能を有し、前記誤り検出フラグを受けた場合には、前記半導体メモリにメモリエラーが生じたことを認識し、前回供給したアドレスに対するメモリ出力データが誤りデータであると判定し、既に取り込んだメモリ出力データを捨てて１サイクル後の誤り訂正後のメモリ出力データを取り込むように制御する機能を有するＣＰＵとを具備する。
【００１０】
本発明の第３の態様に係る半導体メモリは、複数ビットの本体データを単位として記憶するメモリセルアレイと、前記本体データに対応するパリティデータを前記メモリセルアレイと同じロウアドレスに記憶するパリティ用セルアレイと、システムクロックおよびアドレスに基づいて前記メモリセルアレイから読み出された本体データをラッチし、半導体メモリ外部から供給される誤り検出フラグを受けた場合には新しい本体データをラッチしないで従前の本体データのラッチを継続するセンスアンプと、前記システムクロックおよびアドレスに基づいて前記パリティ用セルアレイから読み出されたパリティデータを検知増幅するパリティ用センスアンプとを具備し、前記センスアンプの出力データおよびパリティセンスアンプの出力データを外部に出力する。
【００１１】
本発明の第４の態様に係るメモリシステムは、本発明の第３の態様に係る半導体メモリと、前記半導体メモリの読み出しサイクル毎に前記センスアンプの出力データおよびパリティ用センスアンプの出力データに基づいてシンドローム計算を行い、複数ビットの計算結果データを出力するシンドローム計算回路と、前記センスアンプの出力データおよびシンドローム計算回路の出力データに基づいて誤り検出を行い、誤りを検出した場合には誤り訂正後のデータを生成するとともに所要の誤り検出時間後に前記誤り検出フラグを生成し、当該誤り検出フラグを前記センスアンプに供給するとともにチップ外部に出力する誤り検出・訂正回路と、前記誤り検出フラグにより制御され、前記誤り検出・訂正回路により生成された誤り訂正後のデータおよび前記センスアンプから出力される誤り訂正前のデータを選択的に導出し、メモリ出力としてチップ外部に出力するセレクタと、前記半導体メモリにアドレスを供給してデータの読み出し制御を行い、前記セレクタの出力を取り込む機能を有し、前記誤り検出フラグを受けた場合には、前記半導体メモリにメモリエラーが生じたことを認識し、前回供給したアドレスに対するメモリ出力データが誤りデータであると判定し、既に取り込んだメモリ出力データを捨てて１サイクル後の誤り訂正後のメモリ出力データを取り込むように制御する機能を有するＣＰＵとを具備する。
【発明の効果】
【００１２】
本発明の半導体メモリおよびメモリシステムによれば、データの読み出し時間を短縮して高速読み出しを可能とし、しかも高信頼性を保持し得る。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の実施形態を説明する。この説明に際して、全図にわたり共通する部分には共通する参照符号を付す。
【００１４】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係る半導体メモリおよびそれを用いたメモリシステムを示すブロック図であり、本例では、半導体メモリにおいて３２ビットの読み出しデータに対して１ビット誤り検出・１ビット補正を行う読み出し系ブロックを示している。
【００１５】
図１に示すメモリシステムにおいて、半導体メモリ１０はＥＣＣ機能を搭載したフラッシュ(FLASH) メモリであり、２０はＣＰＵである。フラッシュメモリ１０は、従来のＥＣＣ機能搭載フラッシュメモリと比べて、（１）セレクタ１７が付加されており、センスアンプ出力データ（誤り訂正前のデータ）とＥＣＣを利用した誤り訂正後のデータをセレクタ１７によって切り換え選択する点と、（２）誤り検出・訂正回路１６から誤り検出フラグ、例えば、メモリエラーがあった場合にはHiレベル、ない場合にはLowレベルを出力し、この誤り検出フラグをメモリ外部のＣＰＵ２０に出力するとともに、誤り検出フラグによりセレクタ１７およびラッチ機能付きのセンスアンプ１４ａを制御する点が異なる。ラッチ機能付きのセンスアンプは、例えば３２−ＩＯを有するセンスアンプ・ラッチ回路である。
【００１６】
即ち、ＥＣＣ機能搭載メモリ１０において、メモリセルアレイ１１ａは、複数ビット、本例では３２ビットの本体データを単位として記憶し、パリティ用セルアレイ１１ｂ（図ではパリティアレイと表記する）は、本体データに対応するパリティ補正用のデータ（本例では６ビットのパリティデータ）を記憶する。
【００１７】
ロウ(Row)デコーダ１２、カラムデコーダ１３ａおよびパリティ用カラムデコーダ１３ｂは、メモリチップ外部（ＣＰＵ２０）から入力するアドレス(Address)信号によりメモリセルアレイ１１ａとパリティ用セルアレイ１１ｂのメモリセルを選択する。この際、同じロウアドレスによりメモリセルアレイ１１ａとパリティ用セルアレイ１１ｂを選択する。
【００１８】
センスアンプ１４ａは、メモリセルアレイ１１ａから読み出された本体データを検知増幅してラッチし、別途供給される誤り検出フラグを受けた場合にはデータのラッチを継続するように制御される。例えば６−ＩＯを有するパリティ用センスアンプ１４ｂは、パリティアレイ１１ｂから読み出された６ビットのパリティデータを検知増幅する。
【００１９】
シンドローム計算回路１５は、センスアンプ１４ａの出力データおよびパリティ用センスアンプ１４ｂの出力データに基づいてシンドローム計算を行い、計算結果を６ビットのデータ(A〜F)として出力する。
【００２０】
誤り検出・訂正回路１６は、センスアンプ１４ａの出力データおよびシンドローム計算回路１５の出力データに基づいて誤り検出を行い、誤りを検出した場合には誤り訂正後のデータを生成する機能を有するとともに誤り検出フラグを生成し、当該誤り検出フラグをセンスアンプ１４ａに供給するとともにメモリチップ外部のＣＰＵ２０に出力する。
【００２１】
セレクタ１７は、誤り検出・訂正回路１６により生成された誤り訂正後のデータおよびセンスアンプ１４ａから出力される誤り訂正前のデータが入力し、誤り検出フラグに応じて２入力を選択して出力する。この場合、通常はセンスアンプ１４ａから出力される誤り訂正前のデータを選択してＣＰＵ２０に出力し、誤り検出フラグを受けた場合には誤り検出・訂正回路１６により生成された誤り訂正後のデータを選択してＣＰＵ２０に出力する。
【００２２】
ＣＰＵ２０は、ＥＣＣ機能搭載フラッシュメモリ１０を制御してデータの書き込み／読み出しを行うものであり、誤り検出フラグを受けると後述するような制御を行う。
【００２３】
図２（ａ）および図２（ｂ）は、図１のＥＣＣ機能搭載メモリの読み出し動作例（メモリエラー無し／エラー有りの場合）を示すタイミングチャートである。読み出し時に、アドレス入力（例えばアドレスA_n）がシステムクロックで確定すると、読み出し動作が始まり、システムクロックの活性化タイミングから所要の読み出し時間を経てアドレスA_nのデータがセンスアンプ１４ａから32ビットの出力として読み出される。この際、センスアンプ１４ａの32ビットの出力と、パリティ用センスアンプ１４ｂの6ビットの出力の計38ビットが出力される。シンドローム計算回路１５は、38ビットのデータを受けて計算し、６ビットのシンドローム出力(A〜F)を生成する。
【００２４】
そして、誤り検出・訂正回路１６は、センスアンプ１４ａの32ビット出力（読み出しデータ）とシンドローム計算回路１５の6ビット出力とを受けて、読み出しデータに対して１ビット誤り・１ビット補正を行う。ここで、センスアンプ出力に対する誤り検出／訂正は、メモリエラーの有無に拘らず、常に行われる。
【００２５】
図２（ａ）に示すように、誤り検出・訂正回路１６で１ビット誤りを検出しなかった場合、つまりメモリエラーが無い場合には、誤り検出フラグがLowレベルであり、セレクタ１７はセンスアンプ出力（３２Bit-IO）を選択してメモリ出力Dout_nとする。この際、誤り検出・訂正回路１６で誤り検出・訂正を行わずにセンスアンプ出力を直接に選択するので高速読み出しが可能となり、システムクロックの周波数を従来よりも高くすることが可能となる。なお、独自の内部クロックでセンスアンプ出力を直接に取り込み、内部クロック周期でデータを保持することができる。
【００２６】
これに対して、図２（ｂ）に示すように、誤り検出・訂正回路１６で１ビット誤りを検出して１ビット補正した32ビットデータを出力する場合、つまりメモリエラー有りの場合には、システムクロックの活性化タイミングから所要の読み出し時間を経て読み出されるセンスアンプ出力Sout_nに対する誤り誤り検出／訂正処理に伴って、誤り検出に時間、つまりシステムクロックの１サイクル期間以上がかかる。そして、誤り検出フラグが成立（Hiレベル）するまでに遅れ(delay)が生じる。この場合のメモリ出力Dout_nおよびセンスアンプ出力データSout_nは、それぞれ誤りデータDout_n:NG,Sout_n:NGである。そして、誤り検出フラグのHiレベルにより、誤り検出・訂正回路１６による誤り訂正後のデータDout_n ECCnを選択するようにセレクタ１７を切り換え制御するとともに、ＣＰＵ２０から供給された次のアドレスA_n+1に対するセンスアンプ出力データSout_n+1をセンスアンプ１４ａがラッチしないように制御する。また、誤り検出フラグが出力されるタイミングでは既に次のアドレスA_n+1に切り替わっているので、ＣＰＵ２０は、誤り検出フラグのHiレベルによりメモリエラー有りと認識し、前回のアドレスA_nに対するメモリ出力Dout_nが誤りデータDout_n:NGと判断し、既に取り込んだDout_n:NGデータを捨てて誤り訂正後のデータDout_n ECCnを取り込む（再読み出しする）ように制御する。この際、ＣＰＵ２０は、さらに次のアドレスA_n+2の出力を止め、メモリエラー出力が生じたアドレスA_nの次のアドレス（現在のアドレス）A_n+1を再エントリーする。これは、ウエイト命令を発行したのと同じ動作となる。
【００２７】
これにより、メモリ１０は、再エントリーされたアドレスA_n+1に対する読み出しを行う。以降、順次進むアドレスに対して上記したような動作が行われる。つまり、誤り検出フラグがHiレベルになると、ＣＰＵ２０は、高速読み出しされた誤データ出力Dout_n:NGを捨て、誤り検出・訂正回路１６による低速の誤り訂正後のデータDout_n ECCnを選択するが、これによる出力遅れは最小限の１クロック（システムクロック）分のみのペナルティとなる。
【００２８】
図３は、図１中のＥＣＣ機能搭載メモリ１０に対する書き込み動作時の書き込みデータの流れを簡単に示している。メモリにデータを書く場合は、書き込みデータを検査ビット発生回路３１に取り込んで誤り訂正分のパリティデータ（パリティビット）を生成し、書き込みデータをメモリセルアレイ１１ａに書き込むとともにパリティビットをパリティ用セルアレイ１１ｂに書き込む。
【００２９】
上記したように図１中に示す半導体メモリによれば、高信頼性が求められているＥＣＣ機能搭載メモリにおいて発生頻度が非常に低いメモリのエラー訂正のために読み出し毎にエラー訂正の冗長パスを経由する点を改善することができる。即ち、メモリ不良の頻度が極めて低いという前提に立てば、通常の正常データに対してはメモリチップ内の冗長パスを経由しないバイパス経路（センスアンプ出力を直接に出力する経路）のデータを選択し、極く希に発生する不良データに対しては、誤り訂正後のデータ（メモリチップ内の冗長パスを経由したデータ）を読み出す。これにより、冗長パス経由（計算）時間を短縮でき、高速読み出しが可能となる。この際、１サイクルのウエイト期間のペナルティが発生するが、システム全体の最高動作周波数が向上するので、図１に示すメモリシステム全体のパフォーマンスを向上させることができる。
【００３０】
＜第２の実施形態＞
図４は、本発明の第２の実施形態に係るフラッシュメモリ１０ａを用いたメモリシステムを示している。このメモリシステムは、図１乃至図３を参照して前述した第１の実施形態に係るメモリシステムと比べて、フラッシュメモリ１０ａの構成が異なる。つまり、シンドローム計算回路１５、誤り検出・訂正回路１６、セレクタ１７はメモリチップとは別の半導体チップ（本例ではＣＰＵチップ）内に搭載されている。フラッシュメモリ１０ａは、32ビット分の本体データ出力と６ビット分のパリティデータ出力をＣＰＵ２０ａに出力し、センスアンプ１４ａに誤り検出・訂正回路１６から入力する誤り検出フラグによりラッチ動作を制御する。
【００３１】
このような構成により、フラッシュメモリ１０ａの構成が簡素化できる。また、シンドローム計算回路１５などをＣＰＵチップ（または別のＩＰチップ）内に搭載することによって、設計仕様に柔軟に対応できる。また、誤り検出フラグ（メモリエラー判定フラグ）に対しても細かなタイミング調整の対応が可能となる。
【図面の簡単な説明】
【００３２】
【図１】本発明の第１の実施形態に係る半導体メモリおよびそれを用いたメモリシステムを示すブロック図。
【図２】図１のＥＣＣ機能搭載メモリの読み出し動作例を示すタイミングチャート。
【図３】図１中のＥＣＣ機能搭載メモリに対する書き込み動作時の書き込みデータの流れを簡単に示す図。
【図４】本発明の第２の実施形態に係るフラッシュメモリを用いたメモリシステムを示すブロック図。
【符号の説明】
【００３３】
１０…ＥＣＣ機能搭載フラッシュメモリ、１１ａ…メモリセルアレイ、１１ｂ…パリティ用セルアレイ、１２…ロウデコーダ、１３…カラムデコーダ、１４ａ…センスアンプ、１４ｂ…パリティ用センスアンプ、１５…シンドローム計算回路、１６…誤り検出・訂正回路、１７…セレクタ、２０…ＣＰＵ。
【図１】
2007149222.tif 000003
【図２】
2007149222.tif 000004
【図３】
2007149222.tif 000005
【図４】
2007149222.tif 000006