(57)【要約】【課題】メモリセルの保持電流が基準電流以上（データの誤りが発生しない）の場合において、消費電流の発生を削減する。【解決手段】メモリセルが正しいデータを保持できなくなる限界を示す第１基準電流と、第１基準電流より基準値を高くした第２基準電流とを切り替えていずれか一方を基準電流として、メモリセルの保持電流と前記基準電流とを比較することによってデータを読み出すメモリセルアレイ１と、メモリセルアレイ１から読み出されたデータの誤り検出を行う誤り検出回路２と、保持電流が第２基準電流を下回るまで、所定の期間毎にデータの誤り検出を行うように誤り検出回路２を制御する制御部（ホスト機器４、誤り検出動作要求回路５）と、誤り検出回路２が誤りを検出した場合、メモリセルアレイ１より読み出されたデータに対して誤り訂正処理を施す誤り訂正回路３と、を備える。【選択図】図１
2012174191.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルが正しいデータを保持できなくなる限界を示す第１基準電流と、前記第１基準電流より基準値を高くした第２基準電流とを切り替えていずれか一方を基準電流として、前記メモリセルの保持電流と前記基準電流とを比較することによってデータを読み出すメモリセルアレイと、
前記メモリセルアレイから読み出されたデータの誤り検出を行う誤り検出回路と、
前記保持電流が前記第２基準電流を下回るまで、所定の期間毎に前記データの誤り検出を行うように前記誤り検出回路を制御する制御部と、
前記誤り検出回路が誤りを検出した場合、前記メモリセルアレイより読み出されたデータに対して誤り訂正処理を施す誤り訂正回路と、を備える半導体記憶装置。
【請求項２】
前記制御部は、前記基準電流として、前記データの誤り検出を行う場合に前記第２基準電流を選択させ、前記データの誤り検出を行わない場合に前記第１基準電流を選択させるように前記メモリセルアレイを制御することを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記保持電流が前記第２基準電流を下回るタイミングは、前記データの誤り検出の結果、誤りが検出されたときであることを特徴とする請求項２記載の半導体記憶装置。
【請求項４】
前記誤り検出回路は、前記メモリセルアレイが有する全てのメモリセルについてデータの誤りの検出を行うことを特徴とする請求項１乃至３のいずれか１項に記載の半導体記憶装置。
【請求項５】
前記制御部は、前記データの誤り検出を行うことを指示する誤り検出要求信号を生成し、
前記誤り検出回路は、前記誤り検出要求信号に応じて、前記データの誤り検出を実施し、
前記誤り検出要求信号に応じて、前記第１基準電流と前記第２基準電流とを切り替えて基準電流を生成する基準電流生成回路をさらに備えることを特徴とする請求項１乃至４のいずれか１項に記載の半導体記憶装置。
【請求項６】
前記所定の間隔は、前記保持電流が前記第２基準電流から前記第１基準電流へ変化する期間と同様または短い期間から設定されることを特徴とする請求項１乃至５のいずれか１項に記載の半導体記憶装置。
【請求項７】
前記第２基準電流は、外部から変更し得る構成となっていることを特徴とする請求項１乃至６のいずれか１項に記載の半導体記憶装置。
【請求項８】
メモリセルが保持する保持電流と基準電流とを比較することによってデータを読み出すメモリセルアレイと、前記データの誤りを検出する誤り検出回路とを有する半導体記憶装置の誤り訂正方法であって、
メモリセルが正しいデータを保持できなくなる限界を示す第１基準電流と、前記第１基準電流より基準値を高くした第２基準電流とを切り替えていずれか一方を基準電流として生成し、
前記保持電流が前記第２基準電流を下回るまで、所定の期間毎に前記データの誤り検出を行うように前記誤り検出回路を制御する誤り訂正方法。
【請求項９】
前記基準電流として、前記データの誤り検出を行う場合に前記第２基準電流を選択させ、前記データの誤り検出を行わない場合に前記第１基準電流を選択させるように前記メモリセルアレイを制御することを特徴とする請求項８記載の誤り訂正方法。
【請求項１０】
前記保持電流が前記第２基準電流を下回るタイミングは、前記データの誤り検出の結果、誤りが検出されたときであることを特徴とする請求項９記載の誤り訂正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体記憶装置に関し、特にＥＣＣ回路を用いて誤り訂正を行う記憶装置およびその誤り訂正方法に関する。
【背景技術】
【０００２】
半導体記憶装置の分野において、高精度、大容量化に伴い、メモリデータの誤り発生率が増加しており、これを解決する技術として、誤り訂正（ＥＣＣ）が存在する。
ＥＣＣは、メモリに誤り訂正用ビットを新たに付加し、データビットを読み出すと共に誤り訂正用ビットを読み出し、値を演算することでデータに誤りがあるかを検出し、誤りがある場合はデータを正しい値に訂正する動作を行う。
【０００３】
しかし、メモリデータを読み出す度に誤り訂正を実施すると、毎回誤り訂正回路を動作させる為、その分消費電流が増加する。
また、誤り訂正用ビットは、付加するビット数が多いほど誤り訂正の精度が向上するが、その分データ量が増えるためメモリの読み出しにかかる消費電流が増加する。
よって、半導体記憶装置において、誤り訂正（ＥＣＣ）の精度を保ちつつ消費電力を抑える技術が望まれている。
【０００４】
従来技術として、例えば特許文献１には、ＮＡＮＤメモリを使用した制御システムにおいて、誤り訂正回路の付加に伴う、誤り訂正にかかる処理時間および消費電力増大の抑制を目的とした技術が開示されている。特許文献１は、メモリより読み出されたデータの誤り検出を行う誤り検出回路と、誤り検出実施後のデータを取り込み、誤り検出処理の結果に応じて、読み出されたデータに対して誤り訂正処理を施す誤り訂正機能を有する制御装置を搭載することで、読み出されたデータの誤りが検出された場合は、読み出されたデータを取り込んで誤り訂正処理を施し、誤りが検出されなかった場合は、誤り訂正を実施しないという技術である。
【０００５】
図８は、従来技術の制御システム構成例である。図８の制御システム１０は、ＮＡＮＤメモリ（チップ）１１と、そのコントローラ（ＮＡＮＤメモリ制御装置）１２と、を有して構成されている。この制御システム１０は、外部装置としてのホスト機器１００に接続（内蔵もしくは装着）されている。
【０００６】
たとえば、ＮＡＮＤメモリ１１には誤り検出回路１１ｂを、そのコントローラ１２にはＥＣＣ回路１２ａを、それぞれ設ける。ページコピー動作において、コピー元Ｐａより読み出したページデータの誤りが誤り検出回路１１ｂによって検出された場合には、その読み出したページデータをコントローラ１２に転送し、ＥＣＣ回路１２ａによる誤り訂正処理を行った後、メモリセルアレイのコピー先Ｐｂにコピーする。これに対し、誤りが検出されない場合には、コントローラ１２に転送することなく、その読み出したページデータをメモリセルアレイのコピー先Ｐｂにそのままコピーする。
【０００７】
従来技術は、ページコピー動作およびリード動作において、誤り訂正処理が不能と判断される場合にのみ、ＮＡＮＤメモリからのデータをコントローラに転送し、誤り訂正処理を行うようにしている。これにより、簡易な誤り訂正回路での処理による誤り訂正が可能な場合の、無駄なＮＡＮＤメモリからコントローラへのデータの転送および誤り訂正処理を省略できるようになり、データの転送および誤り訂正処理にかかる時間の短縮が可能となるとともに、データの転送および誤り訂正処理に要する消費電力をも削減することができる技術である。
【０００８】
図９は、従来技術のページコピー動作にかかるコマンドシーケンスを示すものである。
従来技術は、メモリデータを読み出す度に誤り検出を実施し、誤り検出の結果によって誤り訂正するか判断する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００９−３０１１９４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
図１０に、従来技術における時間軸に対するメモリセルが保持している電流値の変化と、誤り検出回路とＥＣＣ回路の動作状態を示す。図１０（ａ）は、メモリセルが保持している電流値の変化を示すグラフであり、縦軸が電流値、横軸が時間を表す。
メモリセルの保持電流とは、メモリ内の各ビットセルが保持している電流であり、基準電流とは、メモリセルが１または０どちらの値を保持しているか判別する基準となる電流値である。
メモリセルは、１が書き込まれると基準電流よりも高い電流値を保持し、その電流値はディスターブや保持抜けなどの経年劣化によって時間経過と共に減少し、保持電流が基準電流を下回ると、このメモリセルからは０が読み出され、データが壊れた状態になる。
【００１１】
図１０（ｂ）は、誤り検出回路とＥＣＣ回路の動作状態を示すタイミングチャートであり、横軸は上記（ａ）の時間軸と等しい。誤り検出回路はメモリの読み出し時に毎回動作し、ＥＣＣ回路は、メモリセルの保持電流が基準電流を下回ってから初めて動作し始める。
【００１２】
通常において、メモリデータに誤りが発生するのは、ディスターブや保持抜けなどの経年劣化によってメモリセルの保持電流が減少し、基準電流を下回ることが原因である。よって、メモリセルの保持電流が基準電流以上である場合、データ誤りは殆ど発生しない。
【００１３】
すなわち、従来技術は、誤り訂正が必要か不要かに関わらずメモリデータ読み出し実施の際に誤り検出処理を常に実施する技術であり、メモリセルの保持電流が基準電流以上（データの誤りが発生しない）の場合においても誤り検出回路が動作するため、無駄な消費電流が発生するという問題がある。
【課題を解決するための手段】
【００１４】
本発明に係る半導体記憶装置の一態様は、メモリセルアレイ、誤り検出回路、制御部、及び誤り訂正回路を備える。メモリセルアレイは、メモリセルが正しいデータを保持できなくなる限界を示す第１基準電流と、第１基準電流より基準値を高くした第２基準電流とを切り替えていずれか一方を基準電流として、メモリセルの保持電流と基準電流とを比較することによってデータを読み出す。誤り検出回路は、メモリセルアレイから読み出されたデータの誤り検出を行う。制御部（例えば、図１に示すホスト機器と誤り検出動作要求回路）は、メモリセルの保持電流が第２基準電流を下回るまで、所定の期間毎にデータの誤り検出を行うように誤り検出回路を制御する。誤り訂正回路は、誤り検出回路が誤りを検出した場合、メモリセルアレイより読み出されたデータに対して誤り訂正処理を施す。このような構成により、メモリセルの保持電流が第２基準電流を下回るまで、言い換えるとデータの誤りが発生しない期間において、誤り検出回路を、所定の間隔で繰り返し動作させる。これにより、誤り検出回路の動作回数が削減できるため、半導体記憶装置の消費電力を削減することを可能にする。
【００１５】
また、本発明に係る半導体記憶装置の誤り訂正方法の一態様は、メモリセルが保持する保持電流と基準電流とを比較することによってデータを読み出すメモリセルアレイと、データの誤りを検出する誤り検出回路とを有する半導体記憶装置に適用されるものである。この誤り訂正方法では、メモリセルが正しいデータを保持できなくなる限界を示す第１基準電流と、第１基準電流より基準値を高くした第２基準電流とを切り替えていずれか一方を基準電流として生成し、保持電流が第２基準電流を下回るまで、所定の期間毎にデータの誤り検出を行うように誤り検出回路を制御する。
【発明の効果】
【００１６】
本発明によれば、半導体記憶装置が消費する電力を削減することが可能になる。特に、メモリセルの保持電流が基準電流以上の場合に、消費電流の発生を削減することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態による半導体記憶装置の構成例である。
【図２】図１における誤り検出動作要求回路５内の構成例である。
【図３】図１におけるメモリセルアレイ１内の構成例である。
【図４】本発明の実施形態におけるメモリデータ読み出し動作のフローチャートである。
【図５】本発明の実施形態におけるメモリデータ読み出し動作のうち、メモリデータ読み出し動作のフローチャートである。
【図６】本発明の実施形態におけるメモリデータ読み出し動作のうち、誤り検出動作のフローチャートである。
【図７】本発明の実施形態における時間軸に対するメモリセルの保持電流の傾向と、誤り検出回路とＥＣＣ回路の動作状態を示すタイムチャートである。
【図８】従来技術の制御システム構成例である。
【図９】従来技術のページコピー動作にかかるコマンドシーケンスを示すものである。
【図１０】従来技術における時間軸に対するメモリセルの保持電流の傾向と、誤り検出回路とＥＣＣ回路の動作状態を示すタイムチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。各図面において同一の構成または機能を有する構成要素および相当部分には、同一の符号を付し、その説明は省略する。
【００１９】
本発明は、メモリセルアレイ、誤り検出回路、ＥＣＣ回路、及びその制御機構を備える半導体記憶装置に適用される。メモリセルアレイは、メモリセルの保持電流と基準電流を比較することによって、データを読み出すことを前提とする。
本発明では、複数の基準電流を用い、データの誤りを検出する場合と、データの誤りを検出しない場合とに用いる基準電流を使い分けることによって、消費電力の削減を図る。例えば、半導体記憶装置として、次のような機能を実現するメモリセルアレイ、誤り検出回路、制御部、及び誤り訂正回路（ＥＣＣ回路）を少なくとも含む構成例により実現する。例えば、各構成要素は概略次の機能を実現する。
【００２０】
メモリセルアレイは、メモリセルが正しいデータを保持できなくなる限界を示す第１基準電流と、第１基準電流より基準値を高くした第２基準電流とを切り替えていずれか一方を基準電流として生成し、メモリセルの保持電流と基準電流とを比較することによってデータを読み出す。メモリセルアレイは、基準電流の切り替えを制御部からの制御信号に応じて実施する。
誤り検出回路は、メモリセルアレイから読み出されたデータの誤り検出を行う。
制御部は、保持電流が第２基準電流を下回るまで、所定の期間毎にデータの誤り検出を行うように誤り検出回路を制御する。また、制御部は、基準電流として、データの誤り検出を行う場合に第２基準電流を選択させ、データの誤り検出を行わない場合に第１基準電流を選択させるようにメモリセルアレイを制御する。
誤り訂正回路は、誤り検出回路が誤りを検出した場合、メモリセルアレイより読み出されたデータに対して誤り訂正処理を施す。
以下、図面を参照して、上述した機能を実現する具体的な構成例を説明する。
【００２１】
（実施形態１）
図１は、本発明の実施形態における半導体記憶装置の構成例である。本発明の半導体記憶装置は、データの書き込みおよび読み出しが可能なメモリセルアレイ１と、メモリセルアレイ１より読み出されたデータの誤り検出を行う誤り検出回路２と、メモリセルアレイ１より読み出されたデータに対して誤り訂正処理を施すＥＣＣ回路（誤り訂正回路）３と、メモリデータの書き込みおよび読み出しを処理し、各回路の動作を制御するホスト機器４と、ホスト機器４を介して誤り検出回路２及びメモリセルアレイ１を制御する誤り検出動作要求回路５によって構成される。ここで、ホスト機器４と、誤り検出動作要求回路５とは、上述した制御部を構成する。
【００２２】
メモリセルアレイ１は、ホスト機器４からの誤り検出動作要求信号Ｎ４と読み出しデータ選択信号Ｎ５を入力とし、メモリデータＮ１を誤り検出回路２とＥＣＣ回路３とホスト機器４に出力する。
誤り検出回路２は、メモリセルアレイ１からのメモリデータＮ１とホスト機器４からの誤り検出動作要求信号Ｎ４を入力とし、ＥＣＣ動作要求信号Ｎ２をＥＣＣ回路３とホスト機器４に出力する。
【００２３】
メモリデータＮ１は、実際にプログラム上で使用する実データと、ＥＣＣ動作時に誤り訂正を実施する為のＥＣＣ訂正用ビットデータと、誤り検出動作時に誤り検出を実施する為の誤り検出用ビットデータを含む。
ＥＣＣ回路３は、メモリセルアレイ１からのメモリデータＮ１と誤り検出回路２からのＥＣＣ動作要求信号Ｎ２を入力とし、ＥＣＣ回路による誤り訂正後のメモリデータＮ３をホスト機器４に出力する。
【００２４】
ホスト機器４は、メモリセルアレイ１からのメモリデータＮ１と誤り検出回路２からのＥＣＣ動作要求信号Ｎ２とＥＣＣ回路３からのＥＣＣ回路による誤り訂正後のメモリデータＮ３と誤り検出動作要求回路５からの誤り検出動作タイミング信号Ｎ７を入力とし、誤り検出動作要求信号Ｎ４を誤り検出回路２とメモリセルアレイ１に出力し、読み出しデータ選択信号Ｎ５をメモリセルアレイ１に出力し、誤り検出タイミングの生成要求信号Ｎ６を誤り検出動作要求回路５に出力する。
【００２５】
誤り検出動作要求回路５は、誤り検出タイミングの生成要求信号Ｎ６を入力とし、誤り検出動作タイミング信号Ｎ７をホスト機器４に出力する。
【００２６】
図２は、図１における誤り検出動作要求回路５の構成例である。
誤り検出動作要求回路５は、誤り検出動作を実施する所定の間隔を生成する回路であり、本実施形態では所定の間隔の生成にカウンタ回路を用いる。
ホスト機器４からの命令を受け取りカウントの開始／停止を制御するカウント開始制御回路５ａと、カウント動作を実施するカウンタ回路５ｂと、カウンタ回路５ｂから出力されたカウント値を受け取り、カウント値が所定の間隔に達したら誤り検出動作タイミング信号Ｎ７をホスト機器４に出力するカウント値の判別回路５ｃによって構成される。
【００２７】
ここで、カウンタ回路５ｂの回路構成は、周知である一般的な回路であり説明を省略する。
カウント開始制御回路５ａは、ホスト機器４からの誤り検出タイミングの生成要求信号Ｎ６を入力とし、カウンタ制御信号Ｎ５０をカウンタ回路５ｂに出力する。
カウンタ回路５ｂは、カウント開始制御回路５ａからのカウンタ制御信号Ｎ５０を入力とし、カウント値Ｎ５１をカウント値の判別回路５ｃに出力する。
カウント値の判別回路５ｃは、カウンタ回路５ｂからのカウント値Ｎ５１を入力とし、誤り検出動作タイミング信号Ｎ７をホスト機器４に出力する。例えば、カウント値の判別回路５ｃは、カウント値が予め保持する閾値と比較し、カウント値が閾値と一致したときに、誤り検出動作タイミングＮ７をレベル「１」へ設定し、出力する。
【００２８】
図３は、図１におけるメモリセルアレイ１の構成例である。
メモリセルアレイ１は、誤り検出動作要求信号Ｎ４によって基準電流を出力するリファレンス電流生成回路１ａと、書き込まれたデータを保持するメモリセル１ｂと、メモリセル１ｂに保持されたデータを増幅し、メモリデータＮ１にデータ出力するセンスアンプ１ｃを有する。
本実施形態における基準電流の切り替え方法は、ゲート幅の違う電流経路を２経路用意し、誤り検出動作要求信号Ｎ４によって電流の経路を選択できるようにする事により、基準電流を誤り検出動作時に切り替えられるものとする。
【００２９】
またメモリセル１ｂでは、実際にプログラム上で使用する実データに加えＥＣＣ訂正用ビットデータと誤り検出用ビットデータを保持しており、必要なデータのみ読み出すよう読み出しデータ選択信号Ｎ５によって制御される。
【００３０】
リファレンス電流生成回路１ａは、周知である一般的なカレントミラー回路を基本構成とし、ホスト機器４からの誤り検出動作要求信号Ｎ４によって、通常のメモリデータの読み出し動作の際はメモリセルが正しいデータを保持できなくなる限界を示す基準電流（第１基準電流）を選択する（Ａ）の経路を取り、誤り検出を実施する際は正しいデータを保持できなくなる前のある一定のマージンを持った基準電流（第２基準電流）を選択する（Ｂ）の経路を取り、メモリセルの書き込み／消去状態を判別する基準電流Ｎ１０の経路としてセンスアンプ１ｃと接続する。
【００３１】
メモリセル１ｂは、ホスト機器４からの読み出しデータ選択信号Ｎ５を入力とし、メモリセルの保持電流Ｎ１１の経路をセンスアンプ１ｃと接続する。
センスアンプ１ｃは、リファレンス電流生成回路１ａからの基準電流Ｎ１０とメモリセル１ｂからのメモリセルの保持電流Ｎ１１を入力とし、基準電流Ｎ１０とメモリセルの保持電流Ｎ１１を比較することによって判別したメモリデータＮ１を誤り検出回路２とＥＣＣ回路３とホスト機器４に出力する。
【００３２】
図４は、本発明の実施形態におけるメモリデータ読み出しおよび誤り検出動作時のフローチャートである。図１から図３を参照しながら、その動作を説明する。
【００３３】
ステップＳ０：まず、当該半導体記憶装置を搭載している半導体チップを動作させていない期間中にメモリセルのデータが保持抜けしている可能性がある為、誤り検出動作要求回路５は、起動直後に誤り検出処理を実施するよう、誤り検出動作タイミング信号Ｎ７のレベルを「１」にする。
【００３４】
ステップＳ１：ここでは、ホスト機器４は、誤り検出動作要求回路５から出力されている誤り検出動作タイミング信号Ｎ７のレベルを確認する。
本実施形態では、当該記憶装置の通常動作（メモリデータの読み出し動作）を繰り返している期間中（誤り検出動作タイミング信号Ｎ７がレベル「０」の期間）は、誤り検出動作を実施しない。この期間では、誤り検出を実施する間隔を誤り検出動作要求回路５によってカウントし、カウントが完了したら、当該記憶装置の通常動作に割り込んで（誤り検出動作タイミング信号Ｎ７をレベル「１」にし、割り込みを指示する）誤り検出動作を実施する。
【００３５】
具体的には、誤り検出動作要求回路５は、誤り検出を実施する間隔のカウント中、すなわち当該記憶装置の通常動作期間は誤り検出動作タイミング信号Ｎ７のレベルを「０」にし、起動直後、あるいは誤り検出を実施する間隔のカウントが完了したら誤り検出動作タイミング信号Ｎ７のレベルを「１」にする。
【００３６】
誤り検出動作タイミング信号Ｎ７のレベルが「０」の場合はステップＳ２のメモリデータの読み出し動作へ遷移し、レベルが「１」の場合はステップＳ３の誤り検出動作へ遷移する。
但し、当該記憶装置の起動後の初回は、ステップＳ０にて誤り検出動作タイミング信号Ｎ７がレベル「１」となっているため、自動的にステップＳ３へ遷移する。
この遷移を実施するため、ホスト機器４は、誤り検出動作タイミング信号Ｎ７に基づいて、誤り検出動作要求信号Ｎ４を設定し、メモリセルアレイ１と誤り検出回路２とに出力する。例えば、誤り検出動作要求信号Ｎ４が「０」の場合、メモリデータの読み出し動作（ステップＳ２）を実施し、誤り検出動作要求信号Ｎ４が「１」の場合、誤り検出動作（ステップＳ３）を実施するように設定する。メモリセルアレイ１は、誤り検出動作要求信号Ｎ４に応じて基準電流を選択することになる。誤り検出回路２は、誤り検出動作要求信号Ｎ４が「１」のときに誤り検出動作を実施することになる。
【００３７】
ステップＳ２：誤り検出動作タイミング信号Ｎ７のレベルが「０」の場合、言い換えるとホスト機器４が、誤り検出動作要求信号Ｎ４のレベルを「０」に設定した場合は、当該記憶装置の通常動作（メモリデータの読み出し動作）を実施する。以下に、ステップＳ２の詳細フローを説明する。
【００３８】
ステップＳ２１：事前の誤り検出結果によって誤り検出回路２からＥＣＣ動作要求信号Ｎ２が出力されている。誤り検出回路２がデータの誤りを検出するまでは、ＥＣＣ動作要求信号Ｎ２は、「０」が設定されている。
ホスト機器４は、ＥＣＣ動作要求信号Ｎ２によって、ＥＣＣ回路３のＥＣＣ動作の要否を判断する。ホスト機器４は、ＥＣＣ動作要求信号Ｎ２に応じて、読み出しデータ選択信号Ｎ５を設定し、メモリセルアレイ１へ出力する。例えば、ここではＥＣＣ動作要求信号Ｎ２と読み出しデータ選択信号Ｎ５のレベルを一致されるものとする。
メモリセルアレイ１は、読み出しデータ選択信号Ｎ５に応じて、読み出すデータを選択する。
具体的には、ＥＣＣ動作要求信号Ｎ２のレベルが「０」の場合はステップＳ２２のメモリセルアレイ１から実データのみの読み出し動作に遷移し、レベルが「１」の場合はステップＳ２３のメモリセルアレイ１から実データとＥＣＣ訂正用ビットデータの読み出し動作に遷移する。
【００３９】
ステップＳ２２：ＥＣＣ動作要求信号Ｎ２のレベルが「０」の場合、ＥＣＣ動作を実施しないため、ホスト機器４は読み出しデータ選択信号Ｎ５によって実データのみ読み出すようメモリセルアレイ１に命令し、読み出したデータをメモリデータＮ１としてホスト機器４へ出力する。
【００４０】
ステップＳ２３：ＥＣＣ動作要求信号Ｎ２のレベルが「１」の場合、ＥＣＣ動作を実施するため、ホスト機器４は読み出しデータ選択信号Ｎ５によって実データとＥＣＣ訂正用ビットデータを読み出すようメモリセルアレイ１に命令し、読み出したデータをメモリデータＮ１としてＥＣＣ回路３へ出力する。
ステップＳ２４：ＥＣＣ回路３はメモリデータＮ１を受け取ると、周知の手法に従ってＥＣＣ動作を実施し、誤りを訂正したメモリデータＮ３をホスト機器４へ出力する。
【００４１】
ステップＳ２５：ホスト機器４はステップＳ２２で出力するメモリデータＮ１あるいは、ステップＳ２４で出力するメモリデータＮ３の内、出力されたデータを、データ選択信号Ｎ５（あるいは、ＥＣＣ動作要求信号Ｎ２）に応じて選択して受け取る。
ステップＳ２６：誤り検出動作要求回路５は、誤り検出を実施する間隔のカウントが完了していない場合はステップＳ２７に遷移し、カウントが完了している場合はステップＳ２８に遷移する。
【００４２】
ステップＳ２７：誤り検出動作要求回路５は、誤り検出を実施する間隔のカウントが完了していない場合、当該記憶装置の通常動作を続けるので、誤り検出動作タイミング信号Ｎ７のレベルは「０」のままとし、ホスト機器４へ出力する。
ステップＳ２８：誤り検出動作要求回路５は、誤り検出を実施する間隔のカウントが完了している場合、誤り検出動作に移行する為、誤り検出動作タイミング信号Ｎ７のレベルを「１」にし、ホスト機器４へ出力する。
ホスト機器４は、ステップＳ２７またはＳ２８において出力された誤り検出動作タイミング信号Ｎ７に応じて、ステップＳ１以降の処理を繰り返す。
【００４３】
ステップＳ３：誤り検出動作タイミング信号Ｎ７のレベルが「１」の場合、言い換えるとホスト機器４が、誤り検出動作要求信号Ｎ４のレベルを「１」に設定した場合は、誤り検出動作を実施する。以下に、ステップＳ３の詳細フローを説明する。
【００４４】
ステップＳ３１：ＥＣＣ動作要求信号Ｎ２に応じて、ホスト機器４は読み出しデータ選択信号Ｎ５によってメモリ全領域の実データとＥＣＣ訂正用ビットデータと誤り検出用ビットデータを読み出すようメモリセルアレイ１に命令する。メモリセルアレイ１は、読み出しデータ選択信号Ｎ５に応じて、読み出したデータをメモリデータＮ１として誤り検出回路２に出力する。この時、リファレンス電流生成回路１ａから出力されるメモリデータの読み出し基準電流を誤り検出動作要求信号Ｎ４によって第１基準電流から第２基準電流に切り替えてデータを読み出す。
【００４５】
ステップＳ３２：誤り検出回路２はメモリセルアレイ１から出力されたメモリデータＮ１を受け取り、周知の手法に従って誤り検出動作を実施する。誤り検出回路２は、誤り検出動作要求信号Ｎ４のレベルが「１」の場合、この動作を実施する。
ステップＳ３３：誤り検出回路２は、メモリセルアレイ１から読み出したメモリデータＮ１に誤りが検出されなければ、ステップＳ３４へ遷移し、誤りが検出されれば、ステップＳ３５に遷移する。
ステップＳ３４：ステップＳ３３において誤りが検出されなければ、誤り検出回路２は、ＥＣＣ動作要求信号Ｎ２のレベルを「０」にする。
【００４６】
ステップＳ３５：ステップＳ３３において誤りが検出されれば、誤り検出回路２は、ＥＣＣ動作要求信号Ｎ２のレベルを「１」にする。
ステップＳ３６：ホスト機器４は、誤り検出動作が完了し、誤りが検出されなかった場合、次回の誤り検出動作タイミング生成の為に誤り検出タイミングの生成要求信号Ｎ６のレベルを「１」にし、誤り検出動作要求回路５によるカウント動作を開始させる。
また、誤り検出動作要求回路５は、当該記憶装置の通常動作に戻る為に、誤り検出動作タイミング信号Ｎ７のレベルを「０」にし、ステップＳ１に遷移する。
【００４７】
ステップＳ３７：ホスト機器４は、誤りが検出された場合、以降は誤り検出動作要求回路５を動作させる必要は無いので、誤り検出タイミングの生成要求信号Ｎ６のレベルを「０」にし、誤り検出動作要求回路５によるカウント動作を実施しない。
また、誤り検出動作要求回路５は、当該記憶装置の通常動作に戻る為に、誤り検出動作タイミング信号Ｎ７のレベルを「０」にし、ステップＳ１に遷移する。
【００４８】
図７に、本発明の実施形態における時間軸に対するメモリセルが保持している電流値の変化と、誤り検出回路とＥＣＣ回路の動作状態を示す。
図７（ａ）は、メモリセルが保持している電流値の変化を示すグラフであり、縦軸が電流値、横軸が時間を表す。図７（ｂ）は、誤り検出回路とＥＣＣ回路の動作状態を示すタイミングチャートであり、横軸は図７（ａ）の時間軸と等しい。
【００４９】
図７は、本実施形態において、まず当該半導体記憶装置を搭載している半導体チップを動作させていない期間中に、メモリセルのデータが保持抜けしている可能性がある為、起動直後に誤り検出処理を実施し（図７の（ア））、その後は間隔（期間Ｂ）で実施することを示している。
図１における誤り検出動作タイミング信号Ｎ７は、この期間Ｂのタイミングで出力される。
誤り検出を実施する間隔（期間Ｂ）は、メモリセルの評価結果から、保持電流が減少する時間のばらつきを考慮し、最も早く保持電流が第２基準電流から第１基準電流に到達するまでの間隔（期間Ａ）以内に設定する。
【００５０】
すなわち、本実施形態は、当該半導体記憶装置の起動直後にまず誤り検出回路２によって誤り検出を実施し、その後メモリセルの保持電流が第２基準電流を下回るまで間隔（期間Ｂ）で誤り検出を繰り返し、メモリセルの保持電流が第２基準電流を下回った以降はＥＣＣ回路３を動作させ、メモリデータに対する誤り訂正処理を行う。ここで、メモリセルの保持電流が第２基準電流を下回るタイミングは、誤り検出回路２によって、データの誤りが検出されるときとなる。
【００５１】
よって、メモリセルの保持電流が第２基準電流以上（メモリデータの誤りが発生しない）の場合において、間隔（期間Ｂ）が通常のメモリデータ読み出しの頻度に対して誤り検出回路の動作頻度が十分に少なくなるように設定すれば、従来技術におけるメモリデータを読み出す度に誤り検出動作を実施するよりも、誤り検出回路を動作させている期間が短くなり、消費電流の削減を行うことができる。例えば、間隔（期間Ｂ）は、保持電流が第２基準電流から第１基準電流へ変化する間隔（期間Ａ）と同様または短い期間から設定される。
【００５２】
誤り検出を実施する間隔（期間Ｂ）は、図１における誤り検出動作要求回路５によって実現可能な間隔に定められるが、例えば３秒に１回誤り検出を行う場合、誤り検出回路を動作させている期間（１ＭＢのメモリサイズの場合、１バイトの読み出し時間が３０ｎｓとして、誤り検出動作する期間は約３０ｍｓ程度）は、メモリデータの読み出し動作期間（全体の動作期間に対し５０％の期間メモリデータの読み出し動作をしている場合、メモリデータの読み出し動作期間は１．５秒）に比べ非常に短い期間である。
【００５３】
また、第２基準電流を高く設定すれば、保持電流がマージンをとった値から基準値に到達するまでの間隔（期間Ａ）が長くなり、その分誤り検出を実施する間隔（期間Ｂ）を長く設定することが可能になり、より消費電流が抑えられるが、その分ＥＣＣ回路動作開始タイミングの精度は低下する。このため、第２基準電流は、当該半導体記憶装置を搭載する環境等によって最適な間隔（期間Ａ及びＢ）を決定すれば最も有効である。従って、当該半導体記憶装置を搭載する環境等によって最適な間隔（期間Ａ及びＢ）に変更し得るように構成されていることが好ましい。
【００５４】
これにより、メモリセルの保持電流が第２基準電流以上（メモリデータの誤りが発生しない）の場合に、メモリデータの読み出し頻度よりも十分に少なく且つ所定の間隔にて誤り検出回路を動作させることが可能となる。また、メモリセルの保持電流が第２基準電流を下回るタイミング、言い換えると、メモリセルの保持電流が第１基準電流を下回る（メモリデータの誤りが発生する）直前の状態まで、所定の間隔で誤り検出回路を動作させることを繰り返し、第１基準電流を下回る直前の状態に達した以降はＥＣＣ回路を動作させることが可能となる。その結果、誤り訂正の精度を保ちつつ、従来技術の問題を解決する事が出来る。
【００５５】
また、誤り検出動作において誤りが検出された以降の動作について、本実施形態では常にＥＣＣ回路を動作させるとしているが、読み出し時に毎回誤り検出を実施し、検出結果によってＥＣＣ回路の動作要否を判別する方法をとってもよい。
【００５６】
１）本発明は、従来技術の問題点である誤り訂正が必要か不要かに関わらず、メモリデータ読み出し実施の際に誤り検出処理を常に実施することによる無駄な消費電流を無くす事が出来る。
その理由は、メモリセルの保持電流が第２基準電流以上（メモリデータの誤りが発生しない）の際に、誤り検出を、読み出したメモリデータに対して毎回実施する方法から、期間Ｂの間隔でメモリ全領域に対し実施する方法に変更し、誤り検出を実施する間隔が通常のメモリデータ読み出しの頻度に対して誤り検出回路の動作頻度が十分に少なくなるように設定することにより、誤り検出回路を動作させている期間が短くなり、無駄な消費電流を削減するためである。
【００５７】
２）本発明は、従来技術に比べて読み出し時間が高速化できる。
その理由は、誤り検出動作は期間Ｂの間隔で定期的にメモリ全領域に対し実施しているので、メモリデータ読み出し時は誤り検出を実施する必要が無いためである。
【００５８】
その他の実施形態
半導体記憶装置を搭載する環境等によって最適な間隔（期間Ａ及びＢ）に変更し得るように構成するため、例えば、カウント値の判別回路５ｃは、期間Ｂを変更し得る構成としてもよい。例えば、カウント値と比較する閾値を、外部から変更できるように構成する。あるいは、リファレンス電流生成回路１ａは、第２基準電流の値を外部から変更できるように構成する。
また、上記実施形態では、基準電流として、第１基準電流と第２基準電流との二つの基準電流を用いたが、３以上の基準電流を用いることを排除するものではない。
例えば、第一基準電流と第二基準電流の間に第３基準電流を設ける構成とする。この場合、初めはメモリセルの保持電流が第２基準電流を下回るまで、期間Ｂを広く設定して誤り検出を繰り返し、誤りが検出されたら、次は第３基準電流を下回るまで、期間Ｂを狭く設定して誤り検出を繰り返す。このような構成により、誤り検出のタイミングを減らすことができる。
【００５９】
以上のように、本発明に係る好適な実施形態によれば、メモリセルアレイがメモリセルの保持電流と基準電流を比較してデータを読み出し、誤り検出回路が読み出されたデータの誤り検出を行い、ＥＣＣ回路が検出されたデータの誤り訂正処理を施す半導体記憶装置において、消費電力を削減することを可能にする。これは、基準電流として、メモリセルが正しいデータを保持できなくなる限界を示す第１基準電流と、正しいデータを保持できなくなる前のある一定のマージンを持った第２基準電流とを切り替えて用い、誤り検出動作を実施することにより実現する。
【００６０】
具体的には、制御部（ホスト機器及び誤り検出動作要求回路）によって、誤り検出回路が、全てのメモリセルに対して誤り検出動作を保持電流が第２基準電流を下回るまで所定の間隔（例えば、期間Ｂ）で誤り検出動作を繰り返し実施するように制御する。このとき、制御部は、メモリセルアレイ（基準電流生成回路）が、通常動作では、第１基準電流を選択し、誤り検出動作では、第２基準電流を選択するように、基準電流の切り替えを制御する。
所定の間隔は、保持電流が第２基準電流から第１基準電流まで変化する期間と同等もしくは短い期間であり、且つ通常のメモリデータ読み出しの頻度に対して誤り検出回路の動作頻度が十分に少なくなるように設定することが好ましい。
【００６１】
なお、本発明は上記に示す実施形態に限定されるものではない。本発明の範囲において、上記実施形態の各要素を、当業者であれば容易に考えうる内容に変更、追加、変換することが可能である。
【符号の説明】
【００６２】
１      メモリセルアレイ
２      誤り検出回路
３      ＥＣＣ回路
４      ホスト機器
５      誤り検出動作要求回路
１ａ    リファレンス電流生成回路
１ｂ    メモリセル
１ｃ    センスアンプ
５ａ    カウント開始制御回路
５ｂ    カウンタ
５ｃ    カウント値の判別回路
Ｎ１    メモリデータ
Ｎ２    ＥＣＣ動作要求信号
Ｎ３    ＥＣＣ回路による誤り訂正後のメモリデータ
Ｎ４    誤り検出動作要求信号
Ｎ５    読み出しデータ選択信号
Ｎ６    誤り検出タイミングの生成要求信号
Ｎ７    誤り検出動作タイミング信号
Ｎ１０  メモリセルの書き込み／消去状態を判別する基準電流経路
Ｎ１１  メモリセルの保持電流経路
Ｎ５０  カウンタ制御信号
Ｎ５１  カウント値
【図１】
2012174191.tif 000003
【図２】
2012174191.tif 000004
【図３】
2012174191.tif 000005
【図４】
2012174191.tif 000006
【図５】
2012174191.tif 000007
【図６】
2012174191.tif 000008
【図７】
2012174191.tif 000009
【図８】
2012174191.tif 000010
【図９】
2012174191.tif 000011
【図１０】
2012174191.tif 000012