JP2014035673A - 半導体記憶装置及び方法 - Google Patents
半導体記憶装置及び方法 Download PDFInfo
- Publication number
- JP2014035673A JP2014035673A JP2012177009A JP2012177009A JP2014035673A JP 2014035673 A JP2014035673 A JP 2014035673A JP 2012177009 A JP2012177009 A JP 2012177009A JP 2012177009 A JP2012177009 A JP 2012177009A JP 2014035673 A JP2014035673 A JP 2014035673A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- memory
- error
- data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
【課題】半導体記憶装置の動作の不安定要因に対応しつつ低消費電力化を実現する。
【解決手段】半導体記憶装置1は、第1のメモリ部22の動作環境とデータ誤り率との対応関係を示すメモリ特性保持部16を記憶するための動作環境情報記憶部11と、第1のメモリ部22に格納されるデータに基づいて、データのビットの誤りを段階的に訂正する第1のエラー訂正部20および第2のエラー訂正部30と、アクセス回数保持部17、温度情報保持部18、データ保持期間保持部19に保持される各パラメータとメモリ特性保持部16とを比較して、アクセス対象となるメモリのデータの誤り率を推定する誤り率推定部12と、推定される誤り率に基づいて、第2のエラー訂正部30への電源供給を、エラー訂正段階に応じて制御する電源供給制御部13とを含む。
【選択図】図1
【解決手段】半導体記憶装置1は、第1のメモリ部22の動作環境とデータ誤り率との対応関係を示すメモリ特性保持部16を記憶するための動作環境情報記憶部11と、第1のメモリ部22に格納されるデータに基づいて、データのビットの誤りを段階的に訂正する第1のエラー訂正部20および第2のエラー訂正部30と、アクセス回数保持部17、温度情報保持部18、データ保持期間保持部19に保持される各パラメータとメモリ特性保持部16とを比較して、アクセス対象となるメモリのデータの誤り率を推定する誤り率推定部12と、推定される誤り率に基づいて、第2のエラー訂正部30への電源供給を、エラー訂正段階に応じて制御する電源供給制御部13とを含む。
【選択図】図1
Description
本発明は、誤り訂正機能を有する半導体記憶装置に関し、特に、消費電力を制御するための技術に関する。
不揮発性メモリなどを備える半導体記憶装置は、メモリに記憶されるデータの信頼性を高めるため、誤り訂正など様々な技術が用いられている。このような誤り訂正技術とともに、低消費電力化のための技術も開発されている。
例えば、半導体記憶装置は、複数種類の誤り訂正技術を用いて、段階的に誤り訂正技術を適用する。特開2009−80651号公報(特許文献1)は、誤り訂正能力を損なうことなく消費電力および回路規模を低減するために、段階的に誤り訂正技術を適用する技術を開示する。特許文献1に記載された技術によると、半導体記憶装置は、誤り訂正処理の結果、全ての読み出しデータに誤りが存在しない場合は、以降の段階の誤り訂正処理を実行しないことにより、低消費電力化を実現する。特開2009−211209号公報(特許文献2)は、フラッシュメモリ等の不良ビットのあるメモリに、誤り訂正技術を適用する場合に、誤り訂正能力の異なる複数種類の訂正符号化を行う技術を開示する。特開2009−59422号公報は(特許文献3)は、フラッシュメモリにおいて、消費電力を削減するための誤り訂正技術を開示する。
しかし、半導体記憶装置の動作が不安定となる要因は、様々なものがある。そのため、半導体記憶装置に保持されるデータは、これら様々な要因によりデータが反転する恐れがある。そのため、これら半導体記憶装置の動作が不安定となる要因に対応しつつ、低消費電力化を実現する半導体記憶装置が必要とされている。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施形態に従う半導体記憶装置は、メモリの動作環境とデータ誤り率との対応関係を示す、1種類以上の動作環境情報を記憶するための記憶部と、メモリに格納されるデータに基づいて、データのビットの誤りを訂正するための複数の誤り訂正機能を有するエラー訂正部と、メモリの動作環境を示す動作環境パラメータを取得し、動作環境情報と、動作環境パラメータに基づいて、アクセス対象となるメモリのデータの誤り率を推定する推定部と、推定される誤り率に基づいて、誤り訂正に使用する誤り訂正機能を選択し、選択した誤り訂正機能を実現する回路へ電源供給する制御部とを含む。
一実施形態に従う半導体記憶装置によると、省電力化を実現しつつ、半導体記憶装置が保持するデータの信頼性を向上させることができる。
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
<構成>
図1は、半導体記憶装置1の構成を示すブロック図である。
図1は、半導体記憶装置1の構成を示すブロック図である。
図1に示すように、半導体記憶装置1は、制御部10と、第1のエラー訂正部20と、第2のエラー訂正部30とを含む。
制御部10は、動作環境情報記憶部11と、誤り率推定部12と、電源供給制御部13と、メモリアクセス制御部14とを含み、半導体記憶装置1の動作環境に応じて、後述する第2のエラー訂正部30への電源供給を制御する。
動作環境情報記憶部11は、メモリにより構成され、半導体記憶装置1の動作環境を示す各種パラメータを保持する。動作環境情報記憶部11は、メモリ特性保持部16と、アクセス回数保持部17と、温度情報保持部18と、データ保持期間保持部19とを含む。
メモリ特性保持部16は、第1のメモリ部22および第2のメモリ部32のメモリの特性を保持する。メモリの特性とは、メモリの動作環境と、メモリのデータ誤り率との対応関係を示すものである。メモリの動作環境とは、メモリへのアクセス回数、メモリにおけるデータ保持期間、メモリの動作温度などである。メモリの特性の詳細は、後述する。
アクセス回数保持部17は、半導体記憶装置1が読み出しまたは書き込みするデータを保持する第1のメモリ部22などのメモリの各アドレスと、そのアドレスへのアクセス回数とを対応づけて格納する。アクセス回数保持部17では、メモリへのアクセス回数を、メモリのライン単位で管理する。
温度情報保持部18は、半導体記憶装置1の動作温度を保持する。図示しない温度センサが第1のメモリ部22の動作温度を測定しており、この温度センサの出力値が温度情報保持部18に逐次格納される。
データ保持期間保持部19は、第1のメモリ部22などのメモリの各アドレスと、そのアドレスにおいてデータが保持されている保持期間とを対応づけて格納する。データ保持期間保持部19では、メモリにおけるデータの保持期間を、メモリのライン単位で管理する。
誤り率推定部12は、メモリ特性保持部16に格納されるメモリの特性と、アクセス回数保持部17、温度情報保持部18、データ保持期間保持部19に格納される各パラメータ(メモリの動作環境)とに基づいて、第1のメモリ部22におけるデータの誤り率を推定し、推定結果を出力する。例えば、誤り率推定部12は、データの誤り率を推定し、「高い」「低い」のいずれかを電源供給制御部13へ出力する。
電源供給制御部13は、誤り率推定部12が出力する誤り率の推定値に基づいて、第2のエラー訂正部30への電源供給を制御する。電源供給制御部13は、例えば、誤り率推定部12が出力する出力結果が、誤り率が「高い」であれば、第2のエラー訂正部30へ電源を供給し、誤り率が「低い」であれば、第2のエラー訂正部30への電源供給を停止する。
メモリアクセス制御部14は、図示しない外部からのデータ書き込み要求またはデータ読み出し要求に応じて、第1のメモリ部22へのデータの書き込み動作(ライト)、および、第1のメモリ部22からのデータの読み出し動作(リード)を制御する。メモリアクセス制御部14は、第1のメモリ部22に含まれるメモリセルアレイへアクセスするため、アクセス対象のメモリアドレスを示すアドレス信号を行デコータおよび列デコーダへ出力する。また、メモリアクセス制御部14は、第1のメモリ部22および第2のメモリ部32に含まれるメモリセルへアクセスするためのワードライン、ビットライン、センスアンプ等を活性化させるための各種信号を出力する。メモリアクセス制御部14は、第1のメモリ部22への書き込みデータを、1ビット誤り訂正部21および2ビット誤り訂正部31へ出力する。メモリアクセス制御部14は、第1のメモリ部22からの読み出しデータを受け付ける。また、メモリアクセス制御部14は、後述する第1のエラー訂正部20および第2のエラー訂正部30における誤り判定の結果を受け付けて、訂正不能の誤りの場合に、エラーを表示するための処理を行う。
第1のエラー訂正部20は、1ビット誤り訂正部21第1のメモリ部221ビット誤り判定部23を含み、半導体記憶装置1において読み出しまたは書き込みするデータを保持する。第1のエラー訂正部20は、保持するデータの信頼性を高めるため、誤り訂正機能を有する。
1ビット誤り訂正部21は、第1のメモリ部22への書き込みデータに基づいて、1ビットの誤りを訂正するためのECC(Error-Correcting Code)ビットを生成する。
第1のメモリ部22は、不揮発性メモリなどにより構成され、アドレスごとに、半導体記憶装置1への書き込みデータと、この書き込みデータに対応して1ビット誤り訂正部21で生成されたECCビットとを対応づけて保持する。図1では、第1のメモリ部22での保持内容を、記憶データ及びECCビット24A、記憶データ及びECCビット24B、・・として示している。
1ビット誤り判定部23は、第1のメモリ部22で保持されるECCビットに基づいて、第1のメモリ部22で保持されるデータに誤りがあるか判定する。1ビット誤り判定部23は、データに誤りがあると判定し、ECCビットにより1ビットの訂正が可能である場合は、訂正後のデータを、1ビット誤り訂正部21へ出力する。1ビット誤り判定部23は、第1のメモリ部22から読みだしたデータを、メモリアクセス制御部14へ出力する。また、1ビット誤り判定部23は、誤り判定の結果を、メモリアクセス制御部14へ出力する。
第2のエラー訂正部30は、2ビット誤り訂正部31と、第2のメモリ部32と、2ビット誤り判定部33を含み、第1のエラー訂正部20と比較して、より強力な誤り訂正機能を発揮する。第1のエラー訂正部20では、1ビットの誤り訂正と2ビットの誤り検出が可能であるのに対し、第2のエラー訂正部30では、2ビットの誤り訂正と3ビットの誤り検出が可能である。
2ビット誤り訂正部31は、メモリアクセス制御部14から出力される書き込みデータに基づいて、2ビットの誤りを訂正するためのECCビットを生成する。
第2のメモリ部32は、不揮発性メモリなどにより構成され、第1のメモリ部22のアドレスごとに、書き込みデータと、この書き込みデータに対応して2ビット誤り訂正部31で生成されたECCビットとを対応づけて保持する。図1では、第2のメモリ部32での保持内容を、ECCビット34A、ECCビット34B、・・として示している。
2ビット誤り判定部33は、第2のメモリ部32で保持されるECCビットに基づいて、第1のメモリ部22で保持されるデータに誤りがあるか判定する。2ビット誤り判定部33は、データに誤りがあると判定し、ECCビットにより2ビットの訂正が可能である場合は、訂正後のデータを、2ビット誤り訂正部31へ出力する。2ビット誤り判定部33は、誤り判定の結果を、メモリアクセス制御部14へ出力する。
上記構成を備えることで、半導体記憶装置1は、不揮発性メモリなどのメモリの動作状況や、動作環境に基づいて、メモリで保持されるデータが誤る確率を推定し、誤る確率が高い場合に、第2のエラー訂正部30のデータ訂正機能を発揮させる。一方、半導体記憶装置1は、メモリで保持されるデータが誤る確率が低い場合は、第2のエラー訂正部30への電源供給を制限する。これにより、半導体記憶装置1は、メモリの動作状況や、動作環境に応じて、誤り訂正機能を過剰に使用することなく動作することができ、低消費電力化を実現する。
<データ>
次に、図2等を参照し、メモリ特性保持部16において保持される、第1のメモリ部22のメモリ特性について説明する。
次に、図2等を参照し、メモリ特性保持部16において保持される、第1のメモリ部22のメモリ特性について説明する。
図2は、第1のメモリ部22へのアクセス回数とデータ誤り率との対応関係を示す図である。メモリは、アクセス回数が増えるにつれて劣化し、データの保持能力が低下する。図2に示すように、メモリのあるアドレスに対するアクセス回数の累計が増えてくるにつれて、データの誤り率が高まる。そのため、頻繁にアクセスされるアドレスにおいては、保持されるデータの信頼性が低下する。
図3は、第1のメモリ部22の動作温度とデータ誤り率との対応関係を示す図である。図3に示すように、メモリは、動作に適した温度帯があり、この温度帯よりも低温か高温であると、メモリに保持されるデータの誤り率が高まる。
図4は、第1のメモリ部22のデータの保持期間とデータ誤り率との対応関係を示す図である。保持期間とは、メモリへのアクセスが最後になされてから経過した時間である。図4に示すように、メモリにおいて、長期間アクセスがされないと、保持されるデータが反転する可能性が高まる。
<動作>
次に、図5等を参照し、半導体記憶装置1の動作について説明する。本実施形態では、半導体記憶装置1は、メモリアクセス制御部14が、外部から第1のメモリ部22への書き込み要求または第1のメモリ部22からの読み出し要求を受けることで動作を開始する。メモリアクセス制御部14は、アクセス先のメモリのラインを指定して、誤り率推定部12へ制御信号を出力し、誤り率推定部12に、アクセス先のラインにおける、第1のメモリ部22の誤り率の推定を開始させる。
次に、図5等を参照し、半導体記憶装置1の動作について説明する。本実施形態では、半導体記憶装置1は、メモリアクセス制御部14が、外部から第1のメモリ部22への書き込み要求または第1のメモリ部22からの読み出し要求を受けることで動作を開始する。メモリアクセス制御部14は、アクセス先のメモリのラインを指定して、誤り率推定部12へ制御信号を出力し、誤り率推定部12に、アクセス先のラインにおける、第1のメモリ部22の誤り率の推定を開始させる。
<誤り率推定部12の誤り率の推定動作>
図5は、誤り率推定部12の動作を示すフローチャートである。
図5は、誤り率推定部12の動作を示すフローチャートである。
ステップS51において、誤り率推定部12は、温度情報保持部18から、第1のメモリ部22の動作温度を読み出すとともに、メモリ特性保持部16から、第1のメモリ部22の動作温度とデータ誤り率との対応関係を示すメモリ特性に関する情報を読み出す。誤り率推定部12は、読みだした動作温度と、メモリ特性に関する情報とを比較して、第1のメモリ部22の動作温度に応じたデータ誤り率を取得する。
ステップS53において、誤り率推定部12は、データ保持期間保持部19から、アクセス先のメモリのラインのデータ保持期間(最後にアクセスされてから経過した時間)を読みだすとともに、メモリ特性保持部16から、第1のメモリ部22のデータの保持期間とデータ誤り率との対応関係を示すメモリ特性に関する情報を読み出す。誤り率推定部12は、読みだしたデータ保持期間と、メモリ特性に関する情報とを比較して、第1のメモリ部22のデータの保持期間に応じたデータ誤り率を取得する。
ステップS55において、誤り率推定部12は、アクセス回数保持部17から、アクセス先のメモリのラインのアクセス回数を読みだすとともに、メモリ特性保持部16から、第1のメモリ部22のアクセス回数とデータ誤り率との対応関係を示すメモリ特性に関する情報を読み出す。誤り率推定部12は、読みだしたアクセス回数と、メモリ特性に関する情報とを比較して、第1のメモリ部22へのアクセス回数に応じたデータ誤り率を取得する。
ステップS57において、誤り率推定部12は、ステップS51、ステップS53、ステップS55で取得した各データ誤り率のうち、最も大きなデータ誤り率の値を、所定の閾値(0〜100%の間の値。閾値は、保持するデータの信頼性について、半導体記憶装置1が要求される要件に応じて定められる)と比較する。誤り率推定部12は、比較対象とするデータ誤り率の値が所定の閾値を上回る場合に、データ誤り率が「高い」と判定し、乗算後のデータ誤り率が所定の閾値以下の場合に、データ誤り率が「低い」と判定する。ステップS57において、データ誤り率について、誤り率推定部12が「高い」と判定する場合、誤り率推定部12は、ステップS59へ処理を進める。ステップS57において、データ誤り率について、誤り率推定部12が「低い」と判定する場合、誤り率推定部12は、ステップS63へ処理を進める。
誤り率推定部12がデータ誤り率を「高い」と判定する場合を説明する。ステップS59において、誤り率推定部12は、電源供給制御部13に対し制御信号を出力し、電源供給制御部13が第2のエラー訂正部30に電源を供給するよう指示する。電源供給制御部13は、この誤り率推定部12からの指示を受けて、第2のエラー訂正部30へ電源を供給する。また、電源供給制御部13は、制御信号をメモリアクセス制御部14へ出力することで、第2のエラー訂正部30へ電源を供給していることをメモリアクセス制御部14へ通知する。
ステップS61において、誤り率推定部12は、アクセス先のメモリのラインのアクセス回数を更新し、更新後の値を、アクセス回数保持部17に格納する。
誤り率推定部12がデータ誤り率を「低い」と判定する場合を説明する。ステップS63において、誤り率推定部12は、電源供給制御部13に対し制御信号を出力し、電源供給制御部13が第2のエラー訂正部30に電源を供給しないよう指示する。この誤り率推定部12からの指示を受けて、電源供給制御部13は、第2のエラー訂正部30への電源供給を停止する。これにより、第2のエラー訂正部30は、動作を停止する。また、電源供給制御部13は、制御信号をメモリアクセス制御部14へ出力することで、第2のエラー訂正部30への電源供給を停止させたことをメモリアクセス制御部14へ通知する。
ステップS65において、誤り率推定部12は、アクセス先のメモリのラインのアクセス回数を更新し、更新後の値を、アクセス回数保持部17に格納する。
<メモリアクセス制御部14によるメモリアクセスおよびデータ訂正動作>
次に、図6等を用いて半導体記憶装置1のメモリアクセス制御部14の動作について説明する。図6は、メモリアクセス制御部14によるメモリアクセスおよびエラー訂正の制御を示す図である。
次に、図6等を用いて半導体記憶装置1のメモリアクセス制御部14の動作について説明する。図6は、メモリアクセス制御部14によるメモリアクセスおよびエラー訂正の制御を示す図である。
ステップS71において、メモリアクセス制御部14は、誤り率推定部12が誤り率を推定した結果、電源供給制御部13が第2のエラー訂正部30への電源供給をしているか、電源供給を停止しているかの通知を受けて、第2のエラー訂正部30への電源供給の有無を判定する。メモリアクセス制御部14は、第2のエラー訂正部30へ電源供給されていると判定した場合、ステップS73へ処理を進め、第2のエラー訂正部30への電源供給が停止されていると判定した場合、後述する「S2」へと処理を進める。
<第2のエラー訂正部30への電源供給がある場合>
ステップS73において、メモリアクセス制御部14は、外部からのメモリアクセスが、書き込み(ライト)動作であるか、読みこみ(リード)動作であるか判定する。メモリアクセス制御部14は、書き込み動作と判定する場合、処理をステップS75へ進める。メモリアクセス制御部14は、読みこみ動作と判定される場合、ステップS81およびステップS91の処理を実行する。
ステップS73において、メモリアクセス制御部14は、外部からのメモリアクセスが、書き込み(ライト)動作であるか、読みこみ(リード)動作であるか判定する。メモリアクセス制御部14は、書き込み動作と判定する場合、処理をステップS75へ進める。メモリアクセス制御部14は、読みこみ動作と判定される場合、ステップS81およびステップS91の処理を実行する。
<第1のメモリ部22への書き込み動作時>
ステップS75において、メモリアクセス制御部14は、書き込み対象となるメモリのラインについて、データ保持期間保持部19の記憶内容をクリアする。
ステップS75において、メモリアクセス制御部14は、書き込み対象となるメモリのラインについて、データ保持期間保持部19の記憶内容をクリアする。
ステップS77において、メモリアクセス制御部14は、第1のエラー訂正部20および第2のエラー訂正部30へ書き込みデータを出力する。第1のエラー訂正部20は、書き込みデータをメモリアクセス制御部14から受け付けて、1ビット誤り訂正部21がECCビットを生成し、第1のメモリ部22が、書き込みデータと、1ビット誤り訂正部21が生成したECCビットとを対応づけて記憶する。第2のエラー訂正部30は、書き込みデータをメモリアクセス制御部14から受け付けて、2ビット誤り訂正部31がECCビットを生成し、第2のメモリ部32が、2ビット誤り訂正部31が生成したECCビットを記憶する。
<第1のメモリ部22からの読み出し動作時>
次に、メモリアクセス制御部14が第1のメモリ部22からデータを読み出す場合の半導体記憶装置1の動作について説明する。
次に、メモリアクセス制御部14が第1のメモリ部22からデータを読み出す場合の半導体記憶装置1の動作について説明する。
ステップS81において、メモリアクセス制御部14は、アクセス先のアドレスに基づいて、第1のメモリ部22にアクセスし、指定されたアドレスに格納される記憶データ及びECCビット24を読みだす。1ビット誤り判定部23は、読みだされた記憶データ及びECCビット24のECCビットに基づいて、1ビット誤り訂正および2ビット誤り検出処理を実行する。
ステップS83において、1ビット誤り判定部23は、ECCビットを用いた誤り検出の結果、1ビットの誤りの場合、ステップS85へ処理を進めるとともに、1ビットの誤りがあることをメモリアクセス制御部14へ通知する。メモリアクセス制御部14は、ステップS99へ処理を進めて、1ビットの誤りがある旨を表示するためのエラー処理を実行する。ステップS83において、1ビット誤り判定部23は、2ビット以上の誤りと判定すると、2ビット以上の誤りがあることをメモリアクセス制御部14へ通知する。メモリアクセス制御部14は、ステップS99へ処理を進めて、2ビット以上の誤りがある旨を表示するためのエラー処理を実行する。ステップS83において、1ビット誤り判定部23による誤り検出の結果、誤りがない場合、第1のメモリ部22の読み出しデータがメモリアクセス制御部14へ出力される。
ステップS85において、1ビット誤り判定部23は、1ビットの誤り訂正を行う。
また、メモリアクセス制御部14は、2ビット誤り検出にも対応した処理を実行する。
また、メモリアクセス制御部14は、2ビット誤り検出にも対応した処理を実行する。
ステップS91において、メモリアクセス制御部14は、第2のメモリ部32から、アクセス先のアドレスに基づいて、第1のメモリ部22のデータに対応するECCビット34を読みだす。
ステップS93において、2ビット誤り判定部33は、誤り訂正処理を実行する。2ビット誤り判定部33は、ECCビット34に基づいて、2ビット誤り訂正および3ビット誤り検出処理を実行する。ステップS93において、誤りがないと判定される場合は、2ビット誤り判定部33からメモリアクセス制御部14へ、誤りがないことの通知がなされて処理を終える。ステップS93において、2ビット誤り判定部33によるECCビット34を用いた誤り検出の結果、2ビット以下の誤りと判定されると、ステップS95へ処理を進める。ステップS93において、3ビット以上の誤りがあると判定される場合は、2ビット誤り判定部33は、3ビット以上の誤りがあることをメモリアクセス制御部14へ通知する。メモリアクセス制御部14は、ステップS99へ処理を進めて、3ビット以上の誤りがある旨を表示するためのエラー処理を実行する。
<第2のエラー訂正部30への電源供給が停止される場合の動作>
次に、ステップS71において、第2のエラー訂正部30への電源供給が停止される場合について、説明する。図7は、第2のエラー訂正部30への電源供給が停止される場合の半導体記憶装置1の動作を示すフローチャートである。
次に、ステップS71において、第2のエラー訂正部30への電源供給が停止される場合について、説明する。図7は、第2のエラー訂正部30への電源供給が停止される場合の半導体記憶装置1の動作を示すフローチャートである。
ステップS101において、メモリアクセス制御部14は、外部からのメモリアクセスが、書き込み(ライト)動作であるか、読みこみ(リード)動作であるか判定する。メモリアクセス制御部14は、書き込み動作と判定する場合、処理をステップS121へ進める。メモリアクセス制御部14は、読みこみ動作と判定される場合、ステップS111へ処理を進める。
<読みこみ動作時>
ステップS111において、メモリアクセス制御部14は、アクセス先のアドレスに基づいて、第1のメモリ部22にアクセスし、指定されたアドレスに格納される記憶データ及びECCビット24を読みだす。1ビット誤り判定部23は、読みだされた記憶データ及びECCビット24のECCビットに基づいて、1ビット誤り訂正および2ビット誤り検出処理を実行する。
ステップS111において、メモリアクセス制御部14は、アクセス先のアドレスに基づいて、第1のメモリ部22にアクセスし、指定されたアドレスに格納される記憶データ及びECCビット24を読みだす。1ビット誤り判定部23は、読みだされた記憶データ及びECCビット24のECCビットに基づいて、1ビット誤り訂正および2ビット誤り検出処理を実行する。
ステップS113において、1ビット誤り判定部23は、ECCビットを用いた誤り検出の結果、誤りがない場合は、読みだしたデータをメモリアクセス制御部14へ出力する。1ビット誤り判定部23は、ECCビットを用いた誤り検出の結果、2ビット以上の誤りがある場合、2ビット以上の誤りがあることをメモリアクセス制御部14へ通知してステップS115へ処理を進める。ステップS115において、メモリアクセス制御部14は、2ビット以上の誤りがある旨を表示するためのエラー処理を実行する。
ステップS113において、1ビット誤り判定部23は、ECCビットを用いた誤り検出の結果、1ビットの誤りの場合、ステップS117へ処理を進めるとともに、1ビットの誤りがあることをメモリアクセス制御部14へ通知する。
ステップS121において、メモリアクセス制御部14は、アクセス先のアドレスに対応するデータ保持期間保持部19の記憶内容をクリアする。
ステップS123において、1ビット誤り判定部23は、1ビットの誤り訂正後のデータを、1ビット誤り訂正部21へ出力して、1ビット誤り訂正部21に、誤り訂正後のデータに基づくECCビットを生成させる。1ビット誤り訂正部21は、生成されたECCビットと、誤り訂正後のデータを、第1のメモリ部22へ格納する。1ビット誤り判定部23は、誤り訂正後のデータをメモリアクセス制御部14へ出力する。
<書き込み動作時>
ステップS101において、外部からのメモリアクセスが書き込みと判定される場合、メモリアクセス制御部14は、ステップS121へ処理を進める。
ステップS101において、外部からのメモリアクセスが書き込みと判定される場合、メモリアクセス制御部14は、ステップS121へ処理を進める。
ステップS121において、メモリアクセス制御部14は、アクセス先のアドレスに対応するデータ保持期間保持部19の記憶内容をクリアする。
ステップS123において、メモリアクセス制御部14は、1ビット誤り訂正部21へ書き込みデータを出力する。1ビット誤り訂正部21は、書き込みデータに基づいてECCビットを生成し、書き込みデータと、生成したECCビットを、アクセス先のアドレスに対応するように、第1のメモリ部22へ格納する。
<変形例>
上記の実施形態の説明では、誤り率推定部12は、温度情報、データ保持期間、メモリアクセス回数と、メモリ特性保持部16に記憶されるメモリ特性に関する情報とを比較して、最もデータ誤り率の高いものに基づいて、データ誤り率を「高い」か「低い」かに判定するものと説明した。
上記の実施形態の説明では、誤り率推定部12は、温度情報、データ保持期間、メモリアクセス回数と、メモリ特性保持部16に記憶されるメモリ特性に関する情報とを比較して、最もデータ誤り率の高いものに基づいて、データ誤り率を「高い」か「低い」かに判定するものと説明した。
これに限らず、例えば、温度情報、データ保持期間、メモリアクセス回数のそれぞれのパラメータに応じて、誤り率が得られるが、これら各パラメータについて、誤り率を「高い」か「低い」かに判定するための閾値を設定することとしてもよい。この場合、誤り率推定部12は、各パラメータについて、誤り率と閾値とを比較する。この結果、例えば、いずれかのパラメータについて誤り率が閾値を上回れば、誤り率を「高い」と判定してもよい。
また、誤り率推定部12は、温度情報、データ保持期間、メモリアクセス回数のそれぞれのパラメータに応じて得られる誤り率を乗算し、乗算後の値をデータ誤り率の推定値として算出することとしてもよい。このようにして得られる推定値に応じて、メモリアクセス制御部14は、第1のエラー訂正部20および第2のエラー訂正部30への電源供給を制御することとしてもよい。
このように各実施形態について説明してきたが、これら実施形態を組み合わせてもよいことはいうまでもない。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
1 半導体記憶装置、10 制御部、11 動作環境情報記憶部、12 誤り率推定部、13 電源供給制御部、14 メモリアクセス制御部、16 メモリ特性保持部、17 アクセス回数保持部、18 温度情報保持部、19 データ保持期間保持部、20 第1のエラー訂正部、21 1ビット誤り訂正部、22 第1のメモリ部、23 1ビット誤り判定部、24 記憶データ及びECCビット、30 第2のエラー訂正部、31 2ビット誤り訂正部、32 第2のメモリ部、33 2ビット誤り判定部、34 ECCビット。
Claims (7)
- メモリの動作環境とデータ誤り率との対応関係を示す、1種類以上の動作環境情報を記憶するための記憶部と、
前記メモリに格納されるデータに基づいて、前記データのビットの誤りを訂正するための複数の誤り訂正機能を有するエラー訂正部と、
前記メモリの動作環境を示す動作環境パラメータを取得し、前記動作環境情報と、前記動作環境パラメータとに基づいて、アクセス対象となるメモリのデータの誤り率を推定する推定部と、
前記推定される誤り率に基づいて、誤り訂正に使用する前記誤り訂正機能を選択し、選択した前記誤り訂正機能を実現する回路へ電源供給する制御部とを含む、
半導体記憶装置。 - 前記エラー訂正部は、
前記誤り訂正機能を実行するための、1ビットのエラーを訂正する1ビット訂正部と、
前記誤り訂正機能を実行するための、2ビットのエラーを訂正する2ビット訂正部とを含み、
前記制御部は、前記誤り率が所定の閾値よりも大きい場合は、前記1ビット訂正部および前記2ビット訂正部を選択して前記1ビット訂正部および前記2ビット訂正部へ電源を供給し、前記誤り率が所定の閾値に満たない場合は、前記2ビット訂正部を選択せず前記2ビット訂正部への電源供給を停止する、
請求項1記載の半導体記憶装置。 - 前記推定部は、前記メモリのアクセス対象となる各ラインについて、前記動作環境情報に基づいて前記誤り率を推定し、
前記制御部は、前記推定部が推定する、ラインごとの前記誤り率に基づいて、各ラインへのアクセス時の前記誤り訂正機能への電源供給を制御する、
請求項1記載の半導体記憶装置。 - 前記記憶部は、前記メモリへのアクセス回数を、前記動作環境情報として記憶するためのものであり、
前記推定部は、前記動作環境パラメータとして、前記メモリへのアクセス回数を取得する、
請求項1記載の半導体記憶装置。 - 前記記憶部は、前記メモリの動作温度を、前記動作環境情報として記憶するためのものであり、
前記推定部は、前記動作環境パラメータとして、前記メモリの動作温度を取得する、
請求項1記載の半導体記憶装置。 - 前記記憶部は、前記メモリのデータ保持期間を、前記動作環境情報として記憶するためのものであり、
前記推定部は、前記動作環境パラメータとして、前記メモリのデータ保持期間を取得する、
請求項1記載の半導体記憶装置。 - 半導体記憶装置における電源供給制御の方法であって、
前記半導体記憶装置は、メモリの動作環境とデータ誤り率との対応関係を示す、1種類以上の動作環境情報を記憶するための記憶部と、前記メモリに格納されるデータに基づいて、前記データのビットの誤りを訂正するための複数の誤り訂正機能を有するエラー訂正部とを含み、
前記方法は、前記半導体記憶装置が、
前記メモリの動作環境を示す動作環境パラメータを取得し、前記動作環境情報と、前記動作環境パラメータとに基づいて、アクセス対象となるメモリのデータの誤り率を推定するステップと、
前記推定される誤り率に基づいて、誤り訂正に使用する前記誤り訂正機能を選択し、選択した誤り訂正機能へ電源供給するステップとを含む、方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012177009A JP2014035673A (ja) | 2012-08-09 | 2012-08-09 | 半導体記憶装置及び方法 |
US13/957,615 US20140047301A1 (en) | 2012-08-09 | 2013-08-02 | Semiconductor memory device and a method therein |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012177009A JP2014035673A (ja) | 2012-08-09 | 2012-08-09 | 半導体記憶装置及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014035673A true JP2014035673A (ja) | 2014-02-24 |
Family
ID=50067143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012177009A Pending JP2014035673A (ja) | 2012-08-09 | 2012-08-09 | 半導体記憶装置及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20140047301A1 (ja) |
JP (1) | JP2014035673A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9761326B2 (en) | 2015-07-29 | 2017-09-12 | Toshiba Memory Corporation | Memory system and memory control method |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102244618B1 (ko) * | 2014-02-21 | 2021-04-26 | 삼성전자 주식회사 | 플래시 메모리 시스템 및 플래시 메모리 시스템의 제어 방법 |
TWI545581B (zh) * | 2014-04-15 | 2016-08-11 | 群聯電子股份有限公司 | 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元 |
US9778983B2 (en) | 2015-08-06 | 2017-10-03 | Nxp B.V. | Integrated circuit device and method for reducing SRAM leakage |
US10223197B2 (en) | 2015-08-06 | 2019-03-05 | Nxp B.V. | Integrated circuit device and method for applying error correction to SRAM memory |
US10437666B2 (en) | 2015-08-06 | 2019-10-08 | Nxp B.V. | Integrated circuit device and method for reading data from an SRAM memory |
US9846612B2 (en) * | 2015-08-11 | 2017-12-19 | Qualcomm Incorporated | Systems and methods of memory bit flip identification for debugging and power management |
US10872009B2 (en) * | 2018-02-08 | 2020-12-22 | Micron Technology, Inc. | Mitigating a voltage condition of a memory cell in a memory sub-system |
US11327551B2 (en) | 2019-02-14 | 2022-05-10 | Micron Technology, Inc. | Methods and apparatus for characterizing memory devices |
KR20210092986A (ko) * | 2020-01-17 | 2021-07-27 | 삼성전자주식회사 | 스토리지 컨트롤러, 이를 포함하는 스토리지 시스템 및 스토리지 컨트롤러의 동작 방법 |
US11694017B2 (en) * | 2020-07-15 | 2023-07-04 | Micron Technology, Inc. | Temperature-based on board placement of memory devices |
US11656937B2 (en) * | 2020-08-25 | 2023-05-23 | Micron Technology, Inc. | Techniques for error detection and correction in a memory system |
US11670394B2 (en) * | 2021-08-18 | 2023-06-06 | Nxp B.V. | Temperature exposure detection based on memory cell retention error rate |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010277687A (ja) * | 2010-07-29 | 2010-12-09 | Toshiba Corp | 半導体記憶装置およびその制御方法 |
WO2012058328A1 (en) * | 2010-10-27 | 2012-05-03 | Sandforce, Inc. | Adaptive ecc techniques for flash memory based data storage |
JP2012123880A (ja) * | 2010-12-10 | 2012-06-28 | Toshiba Corp | 半導体記憶装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1776699A1 (en) * | 2004-08-02 | 2007-04-25 | Koninklijke Philips Electronics N.V. | Data storage and replay apparatus |
US8095851B2 (en) * | 2007-09-06 | 2012-01-10 | Siliconsystems, Inc. | Storage subsystem capable of adjusting ECC settings based on monitored conditions |
US8429492B2 (en) * | 2007-11-30 | 2013-04-23 | Marvell World Trade Ltd. | Error correcting code predication system and method |
JP5166074B2 (ja) * | 2008-02-29 | 2013-03-21 | 株式会社東芝 | 半導体記憶装置、その制御方法、および誤り訂正システム |
JP2010287271A (ja) * | 2009-06-10 | 2010-12-24 | Panasonic Corp | 誤り訂正方法、及びデータ再生装置 |
-
2012
- 2012-08-09 JP JP2012177009A patent/JP2014035673A/ja active Pending
-
2013
- 2013-08-02 US US13/957,615 patent/US20140047301A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010277687A (ja) * | 2010-07-29 | 2010-12-09 | Toshiba Corp | 半導体記憶装置およびその制御方法 |
WO2012058328A1 (en) * | 2010-10-27 | 2012-05-03 | Sandforce, Inc. | Adaptive ecc techniques for flash memory based data storage |
JP2012123880A (ja) * | 2010-12-10 | 2012-06-28 | Toshiba Corp | 半導体記憶装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9761326B2 (en) | 2015-07-29 | 2017-09-12 | Toshiba Memory Corporation | Memory system and memory control method |
Also Published As
Publication number | Publication date |
---|---|
US20140047301A1 (en) | 2014-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014035673A (ja) | 半導体記憶装置及び方法 | |
US10498367B2 (en) | Progressive effort decoder architecture | |
US8593855B2 (en) | Semiconductor memory device | |
US9250990B2 (en) | Use of error correction pointers to handle errors in memory | |
KR100842680B1 (ko) | 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템 | |
US8213229B2 (en) | Error control in a flash memory device | |
US20170345489A1 (en) | Solid state storage device using state prediction method | |
US12033705B2 (en) | Memory system, control method thereof, and program | |
KR20100006344A (ko) | 불휘발성 메모리 장치 및 메모리 시스템 및 그것의 관리방법 | |
KR20180089104A (ko) | 메모리 모듈, 이를 포함하는 메모리 시스템 및 이의 에러 정정 방법 | |
TW201637019A (zh) | 讀取電壓準位估測方法、記憶體儲存裝置及記憶體控制電路單元 | |
KR20150073109A (ko) | 데이터 저장 디바이스 및 그 데이터 유지 방법 | |
JP2007157316A (ja) | リフレッシュ電流消耗を最小化する半導体メモリ装置及びその駆動方法 | |
KR20170116384A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US10804935B2 (en) | Techniques for reducing latency in the detection of uncorrectable codewords | |
JP2010067098A (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
US20230185473A1 (en) | Memory device and memory system performing error check and scrub operation | |
JP2012146129A (ja) | メモリアクセス制御装置 | |
US11605427B2 (en) | Memory device with write pulse trimming | |
JP2010092574A (ja) | フラッシュファイルシステムの誤り訂正機能 | |
KR20140042362A (ko) | 반도체 장치 및 그 동작 방법 | |
KR20190014744A (ko) | 에러 정정 회로 및 이를 포함하는 메모리 시스템 | |
US8751730B2 (en) | Serial interface flash memory apparatus and writing method for status register thereof | |
US20190147936A1 (en) | Memory device and operating method thereof | |
US10521134B2 (en) | Memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150202 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160105 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160607 |