JP2016153928A - 記憶装置およびその制御方法 - Google Patents

記憶装置およびその制御方法 Download PDF

Info

Publication number
JP2016153928A
JP2016153928A JP2015031177A JP2015031177A JP2016153928A JP 2016153928 A JP2016153928 A JP 2016153928A JP 2015031177 A JP2015031177 A JP 2015031177A JP 2015031177 A JP2015031177 A JP 2015031177A JP 2016153928 A JP2016153928 A JP 2016153928A
Authority
JP
Japan
Prior art keywords
data
address
alternative
error
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
Application number
JP2015031177A
Other languages
English (en)
Inventor
安田 昌生
Masao Yasuda
昌生 安田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2015031177A priority Critical patent/JP2016153928A/ja
Publication of JP2016153928A publication Critical patent/JP2016153928A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】継続的に動作しつつソフトエラーの影響を抑制することができる記憶装置を得る。【解決手段】記憶装置を、データ保存手段1と、誤り訂正手段2と、エラーカウント手段3と、代替データ保存手段4と、データ選択手段5を備える構成とする。データ保存手段1は、入力される制御信号に基づいてデータの保存および出力を行う。誤り訂正手段2は、データ保存手段1からの出力データにエラーがある場合に誤り訂正データを生成する。エラーカウント手段3は、同一のアドレスで誤り訂正を行ったエラー回数をカウントする。代替データ保存手段4は、エラー回数があらかじめ設定された回数を超えたときに、制御信号が出力を指定したアドレスを代替アドレスとして保存する。データ選択手段5は、代替アドレスからの出力を指定されたときに、データ保存手段1に保存されているデータに代えて保存している誤り訂正データを出力する。【選択図】 図1

Description

本発明は記憶装置に関するものであり、特に半導体記憶装置の信頼性向上に関するものである。
情報処理装置の重要性の高まりとともに、情報処理装置は、高い処理能力と高可用性が要求されるようになっている。また、装置の設置面積の抑制や消費電力の低減のため、情報処理装置を構成するハードウェア量の増大は抑制されていることが望ましい。
情報処理装置では高速でデータの読み書きが可能な記憶装置として、SRAM(Static Random Access Memory)が使用されることが多い。動作している間、情報処理装置は、SRAMでのデータの読み書きを継続的に行う。また、SRAMは、情報処理装置の動作上、重要なハードウェアの1つであるため、安定して稼働することが要求される。しかし、SRAMでは、経年劣化によるメモリセルの故障のような物理的な不具合から動作不良が生じ得る。
また、SRAMではデータの反転のようなソフトエラーも生じ得るため、安定動作のためにはソフトエラーに対する対策も必要である。ソフトエラーへの対策としては、例えば、ECC(Error Correcting Code)による1ビットの誤り訂正が行われる。しかし、ECCによるソフトエラーの誤り訂正を行ったとしても、メモリセルの不良が発生した状態でソフトエラーが発生すると、ECCによる誤り訂正で対応しきれない可能性がある。SRAMにおいて誤り訂正が機能しない場合には、情報処理装置全体の動作の停止につながる恐れがある。そのため、SRAMのような半導体記憶装置では、メモリセルの一部に不良が発生した際でも継続的に動作することが望ましく、対応する技術の開発が行われている。半導体記憶装置において、メモリセルの一部に不良が発生した際でも、継続的に動作を行うための技術としては、例えば、特許文献1のような技術が開示されている。
特許文献1は、エラーが発生した際に代替領域においてデータの読み書きを行う機能を有する半導体記憶装置に関するものである。特許文献1の半導体記憶装置は、ECCによる誤り訂正回路を備えている。特許文献1の半導体記憶装置は、起動時または外部からの制御信号に基づいて、試験動作を行うことで同一アドレスでの誤り訂正の発生回数を計数している。特許文献1の半導体記憶装置は、誤り訂正の発生回数が所定の回数になったときに欠陥が生じていると判断し、該当するアドレスを含むブロックを別の空き領域に複製する。特許文献1の半導体記憶装置は、欠陥と判断したアドレスを含むブロックへのアクセスが要求されたときに代替ブロックのアドレスへの変換することにより動作を行う。特許文献1では、そのような動作を行うことで欠陥の生じている箇所へのアクセスを回避することができるとしている。
また、特許文献2には、代替領域においてデータの読み書きを行う機能を有する不揮発性の半導体記憶装置が開示されている。特許文献2の半導体記憶装置は、記憶情報のエラーの検出および訂正を行うメモリコントローラを備えている。メモリコントローラは、所定の時間ごとまたは電源投入時に、記憶領域のデータのエラーの検出および訂正を行う。メモリコントローラは、エラー訂正を行った回数を計数し、エラー訂正が所定回数を超えたときに記憶するデータ領域の変更を行っている。特許文献2では、時間経過によるデータ変化を検出し、データ変化の著しい領域から他のデータ領域に変えることでデータの信頼性を確保することができるとしている。
特開平04−98342号公報 特開2011−18371号公報
しかしながら、特許文献1の技術は次のような点で十分ではない。特許文献1の半導体装置は、起動時または外部からの制御信号の入力時に、試験動作を行いエラーの発生回数を計測している。そのため、情報処理装置の動作時にデータの読み書きを継続している間には、エラーの発生回数を計測することができない。そのため、継続的に動作を行いつつエラーの影響を抑制する技術としては十分ではない。また、特許文献1の半導体装置はブロックごと他の領域に変更するので、エラーが発生したときのための代替領域をブロック単位であらかじめ用意しておく必要がある。そのため、装置が大型化する可能性がある。
また、特許文献2の半導体装置は所定の時間ごとまたは電源投入時に、記憶領域のデータのエラー訂正回数の計測を行っている。そのため、特許文献2の半導体装置も情報処理装置の動作時にデータの読み書きを継続している間には、エラーの発生回数を計測することができない。よって、特許文献2の技術は、頻繁に読み書きが行われるSRAMのような記憶装置において、継続的に動作を行いつつエラーの影響を抑制する技術としては十分ではない。
本発明は、動作を継続しつつエラーの影響を抑制することが可能な記憶装置を得ることを目的としている。
上記の課題を解決するため、本発明の記憶装置は、データ保存手段と、誤り訂正手段と、エラーカウント手段と、代替データ保存手段と、データ選択手段を備えている。データ保存手段は、入力される制御信号に基づいてデータの保存および出力を行う。誤り訂正手段は、出力を要求する制御信号に基づいてデータ保存手段から出力データとして出力されるデータの所定のエラーの有無を検知し、所定のエラーがある場合に出力データの誤り訂正を行って誤り訂正データを生成する。エラーカウント手段は、誤り訂正手段が、同一のアドレスからの出力データに対して誤り訂正を行った回数をエラー回数としてカウントする。代替データ保存手段は、エラー回数があらかじめ設定された回数を超えたときに、制御信号が出力を指定したアドレスを代替アドレスとして、誤り訂正データとを関連づけて保存する。データ選択手段は、制御信号によって、代替アドレスからデータの出力を指定されたときに、データ保存手段に保存されているデータに代えて代替データ保存手段に保存している誤り訂正データを出力する。
本発明の記憶装置の制御方法は、入力される制御信号に基づいてデータを通常データとして保存する。本発明の記憶装置の制御方法は、出力を要求する制御信号に基づいて出力データとして出力される通常データの所定のエラーの有無を検知し、所定のエラーがある場合に出力データの誤り訂正を行って誤り訂正データを生成する。本発明の記憶装置の制御方法は、同一のアドレスからの出力データに対して誤り訂正を行った回数をエラー回数としてカウントする。本発明の記憶装置の制御方法は、エラー回数があらかじめ設定された回数を超えたときに、制御信号が出力を指定したアドレスを代替アドレスとして、誤り訂正データと関連づけて保存する。本発明の記憶装置の制御方法は、制御信号によって、代替アドレスからデータの出力を指定されたときに、通常データに代えて誤り訂正データを出力する。
本発明によると、動作を継続しつつエラーの影響を抑制することができる。
本発明の第1の実施形態の構成の概要を示す図である。 本発明の第2の実施形態の構成の概要を示す図である。 本発明の第2の実施形態の構成の一部を示す図である。 本発明の第2の実施形態の構成の一部を示す図である。 本発明の第2の実施形態の動作フローを示す図である。 本発明の第2の実施形態の動作フローを示す図である。
(第1の実施形態)
本発明の第1の実施形態について図を参照して詳細に説明する。図1は、本実施形態の記憶装置の構成の概要を示したものある。
本実施形態の記憶装置は、データ保存手段1と、誤り訂正手段2と、エラーカウント手段3と、代替データ保存手段4と、データ選択手段5を備えている。データ保存手段1は、入力される制御信号に基づいてデータの保存および出力を行う。誤り訂正手段2は、出力を要求する制御信号に基づいてデータ保存手段1から出力データとして出力されるデータの所定のエラーの有無を検知し、所定のエラーがある場合に出力データの誤り訂正を行って誤り訂正データを生成する。エラーカウント手段3は、誤り訂正手段2が、同一のアドレスからの出力データに対して誤り訂正を行った回数をエラー回数としてカウントする。代替データ保存手段4は、エラー回数があらかじめ設定された回数を超えたときに、制御信号が出力を指定したアドレスを代替アドレスとして、誤り訂正データとを関連づけて保存する。データ選択手段5は、制御信号によって、代替アドレスからデータの出力を指定されたときに、データ保存手段1に保存されているデータに代えて代替データ保存手段4に保存している誤り訂正データを出力する。
本実施形態の記憶装置では、誤り訂正手段2がデータ保存手段1から出力データとして出力されるデータの所定のエラーの有無を検知し、誤り訂正を行って誤り訂正データを生成している。また、エラーカウント手段3が同一のアドレスでの誤り訂正の回数をカウントし、あらかじめ設定された回数を超えたときに、代替データ保存手段4が誤り訂正データを代替アドレスと関連づけて保存している。代替アドレスからデータの出力を指定されたときに、データ選択手段5によって、代替データ保存手段4に保存している誤り訂正データの出力が行われる。すなわち、本実施形態の記憶装置は、同一のアドレスでの誤り訂正の回数があらかじめ設定された回数超えたときに、誤り訂正が行われたデータを誤り訂正データとして自装置に保存している。また、本実施形態の記憶装置は、再度、同じアドレスからの出力を指定されたときに、保存している誤り訂正データの出力を行っている。このように本実施形態の記憶装置は、誤り訂正の回数が多いアドレスのデータについて誤り訂正済みデータを保存し、保存した誤り訂正済みのデータからの出力を行うのでエラーの影響を抑制することができる。また、本実施形態の記憶装置は、通常の出力動作の際に生成された誤り訂正データを、代替のデータとして用いているので、エラーチェック等の動作を通常の動作とは別に行う必要はない。そのため、本実施形態の記憶装置は、エラーチェック等のために通常の動作を停止する必要はない。その結果、本実施形態の記憶装置は、動作を継続しつつエラーの影響を抑制することができる。
(第2の実施形態)
本発明の第2の実施形態について図を参照して詳細に説明する。図2は、本実施形態の記憶装置の構成の概要を示したものである。
本実施形態の記憶装置は、記憶部10と、エラー訂正部20と、エラーカウント部30と、代替データ記憶部40と、セレクタ50を備えている。
記憶部10は、入力されたデータを記憶する機能を有する。本実施形態の記憶部10は、SRAM(Static Random Access Memory)として形成されている。記憶部10は、他の半導体記憶素子を用いて形成されていてもよい。記憶部10は、入力されたデータを指定されたアドレスに書き込みを行って保存する。記憶装置には、記憶装置が備えられた情報処理装置等から制御信号およびデータが送られてくる。データの書き込みに関する信号として、データの書き込み先を示すライトアドレス信号WA、記憶部10に保存するデータで構成されるライトデータ信号WDおよび書き込みを要求する信号であるライトイネーブル信号WEが記憶部10に入力される。
また、記憶部10は、読み出しを要求する信号を受け取ると、指定されたアドレスのデータをデータ信号S11としセレクタ50に出力する。データの読み出しに関する信号として、データを読み出す元となるアドレスを示すリードアドレス信号RAおよび読み出しを要求する信号であるリードイネーブル信号REが記憶部10に入力される。本実施形態の記憶部10は、第1の実施形態のデータ保存手段1に相当する。
エラー訂正部20は、データのエラーの有無のチェックおよびエラーが生じたデータの誤り訂正を行う機能を有する。エラー訂正部20は、入力されたデータのECCエラーの有無をチェックする。エラーを検出した場合には、データ訂正部20は、誤り訂正を行って誤り訂正データを生成する。
エラー訂正部20は、セレクタ50から入力されたデータまたは誤り訂正を行った誤り訂正データを出力信号S13として出力する。エラー訂正部20から出力されたデータは、記憶装置が備えられている情報処理装置等に送られる。エラーを検出しなかった場合には、データ訂正部20は、データを変更する処理を行わずに、セレクタ50から入力されたデータをそのまま出力する。
また、エラー検出をしたときに、エラー訂正部20は、誤り訂正データとECCエラーを検知した情報を、エラーカウント部30に誤り訂正データ信号S22およびエラー検知信号S21として送る。本実施形態のエラー訂正部20は、第1の実施形態の誤り訂正手段2に相当する。
エラーカウント部30の詳細な構成について図3を参照して説明する。図3は、エラーカウント部30の構成の概要を示したものである。図3に示すように、エラーカウント部30は、アドレス比較部31と、エラーアドレス管理部32と、誤り訂正データ記憶部33と、データ切替判定部34と、閾値記憶部35を備えている。エラーカウント部30のアドレス比較部31には、情報処理装置等から記憶装置に送られてくるリードアドレス信号RAが入力される。
アドレス比較部31は、送られてきた誤り訂正データに対応するアドレスがエラーアドレスとして保存されているものと一致するかを判断する機能を有する。アドレス比較部31は、エラー検知信号S21を受け取ったときに、誤り訂正データ信号S22の誤り訂正データに対応するリードアドレス信号RAのアドレスがエラーアドレス管理部32に保存されているエラーアドレスと一致するかを確認する。
リードアドレスと保存されているアドレスが一致する場合は、アドレス比較部31は、エラーアドレス管理部32のエラー回数を1増加させる。保存されているエラーアドレスと一致しなかった場合には、アドレス比較部31は、受け取ったリードアドレスをエラーアドレスとしてエラーアドレス管理部32に保存し、エラー回数を1に設定する。
エラーアドレス管理部32は、エラーアドレスとエラーアドレスごとの異常の発生回数を保存する機能を有する。エラーアドレス管理部32には、エラーアドレスとエラー発生回数が関連付けられて保存されている。また、エラーアドレス管理部32は、アドレス有効フラグの情報を保存している。エラーアドレス有効フラグは、保存されているエラーアドレスが存在するかを示す情報である。アドレス比較部31は、エラーアドレス有効フラグを参照し、フラグが有効なときのみリードアドレスとエラーアドレスの比較を行う。エラーアドレス有効フラグが無効であるときは、比較を行わなくてよいのでアドレス比較部31の処理量を低減することができる。
本実施形態のエラーアドレス管理部32は、複数のエラーアドレスを保存する機能を有する。また、エラーアドレス管理部32に保存されるエラーアドレスを1つにして装置の構成を簡略化してもよい。
誤り訂正データ記憶部33は、誤り訂正データを保存する機能を有する。誤り訂正データ記憶部33は、エラー訂正部20から誤り訂正データ信号S22として送られてくる誤り訂正データを保存する。また、誤り訂正データ記憶部33は、データ切替判定部34がエラーが所定の回数を超えたと判断したときに、保存している誤り訂正データを誤り訂正データ信号S32として代替データ記憶部40に送る。
データ切替判定部34は、エラーの発生回数を基に代替データである誤り訂正データの出力への切り替えの要否を判断する機能を有する。データ切替判定部34は、エラーが発生した際に、エラーアドレス管理部32に保存されたエラー回数と閾値記憶部35に保存されている閾値を比較する。エラー回数が閾値を超えたときに、データ切替判定部34は、代替データへの切り替えが必要であることを示す情報を代替データ記憶部40にデータ切替判定信号S31として送る。また、データ切替判定部34は、誤りデータ記憶部33に保存されている誤り訂正データを代替データ記憶部40に誤り訂正データ信号S32として送るように制御する。
閾値記憶部35は、データ切替判定部34が代替データへの切り替えの要否を判断する際に用いる、エラー回数の閾値の情報を保存する機能を有する。エラー回数の閾値の情報は、あらかじめ設定されて保存されている。
代替データ記憶部40の詳細な構成について図4を参照して説明する。図4は、代替データ記憶部40の構成の概要を示したものである。代替データ記憶部40は、代替データ制御部41と、リードデータ制御部42と、セレクタ43と、代替データ保存部44と、代替アドレス管理部45を備えている。代替データ制御部41には、ライトアドレス信号WAおよびライトイネーブル信号WEが入力される。リードデータ制御部42には、リードアドレス信号RAおよびリードイネーブル信号REが入力される。また、セレクタ43にはライトデータ信号WDが入力される。
本実施形態のアドレス比較部31およびエラーアドレス管理部32は、第1の実施形態のエラーカウント手段3に相当する。
代替データ制御部41は、代替データの保存に関する制御を行う機能を有する。代替データ制御部41は、エラー回数が閾値を超えているアドレスへのデータの書き込みを要求するライトイネーブル信号WEを受けとったときに、受け取ったデータを代替データとして代替データ保存部44に保存する。代替データ制御部41は、ライトイネーブル信号WEを受け取ると、代替アドレス管理部45を参照して有効な代替データあるかを示す代替データ有効フラグを確認する。代替データ有効フラグが有効であるとき、代替データ制御部41は、ライトアドレス信号WAがデータの書き込み先として示すライトアドレスが代替アドレス管理部45に保存されているアドレスと一致するかを確認する。ライトアドレスと代替アドレス管理部45に保存されているアドレスが一致した場合には、代替データ制御部41は、ライトデータ信号WDとして受け取ったデータを代替データ保存部44に保存するようにセレクタ43を制御する。
また、代替データ制御部41は、データ切替判定信号S31を受け取ったときに、誤り訂正データ信号S32として送られてくる誤り訂正データを代替データ保存部44に代替データとして保存する。データ切替判定信号S31を受け取ったときに、代替データ制御部41は、代替アドレス管理部45を参照して、受け取ったエラーアドレスが保存されているアドレスと一致するかを確認する。一致する場合は、代替データ制御部41は、一致したアドレスのデータを受け取った誤り訂正データに更新する。一致しない場合には、代替データ制御部41は、代替アドレス管理部45にエラーアドレスを代替アドレスとして保存する。また、代替データ制御部41は、受け取った誤り訂正データを代替データ保存部44に保存するようにセレクタ43を制御する。また、代替データ制御部41は、代替アドレス管理部45の代替データ有効フラグが無効であったときは、代替データ有効フラグを有効に設定する。
リードデータ制御部42は、代替データの出力に関する制御を行う機能を有する。リードデータ制御部42は、エラー回数が閾値を超えているアドレスからの読み出しを要求する信号を受けた際に、代替データを出力するように制御する。リードデータ制御部42は、データの読み出しを要求するリードイネーブル信号REを受け取ったときに、リードアドレス信号RAに示されるリードアドレスが代替アドレス管理部45に保存されているアドレスと一致するかを確認する。リードアドレスが代替アドレス管理部45に保存されているアドレスと一致とき、代替アドレス管理部45は、代替データの出力を示す信号をリードデータ選択信号S41としてセレクタ50に送る。また、代替アドレス管理部45は、代替データ保存部44を制御してリードアドレスに対応する代替データを代替データ信号S42としてセレクタ50に送る。
セレクタ43は、代替データ制御部41の制御に基づいて、入力されたデータを選択して代替データ保存部44に出力する機能を有する。セレクタ43は、ライトデータ信号WDとして送られてくるライトデータと、誤り訂正データ信号S32として送られてくる誤り訂正データのいずれかを代替データ保存部44に出力する。ライトデータ信号WDとして送られてくるライトデータは、記憶装置が備えられた情報処理装置等から新たに送られてくるデータである。また、誤り訂正データは、エラーカウント部30から送られてくるデータである。
代替データ保存部44は、代替データを保存する機能を有する。また、代替データ保存部44は、リードデータ制御部42から送られてくる制御信号に基づいて、保存している代替データを出力する機能を有する。代替データ保存部44は、セレクタ43から入力されたデータを代替アドレス管理部45に保存された代替アドレスと関連づけて保存する。また、代替データ保存部44は、リードデータ制御部42から送られてくる制御信号に基づいて、保存している代替データを代替データ信号S42としてセレクタ50に出力する。
代替アドレス管理部45は、代替データが保存されているアドレスを代替アドレスとして保存する機能を有する。代替アドレス管理部45に保存されている代替アドレスと、代替データ保存部44に保存されている代替データは、互いに関連付けられている。また、代替アドレス管理部45は、代替データが存在するかを示す代替アドレス有効フラグのデータを保存している。
本実施形態の代替データ制御部41、代替データ保存部44および代替アドレス管理部45は、第1の実施形態の代替データ保存手段4に相当する。
本実施形態の代替データ保存部44および代替アドレス管理部45は、複数の代替アドレスと対応する代替データを記憶する機能を有する。また、代替データ保存部44および代替アドレス管理部45は、1組のみ保存される構成として装置を簡略化してもよい。
セレクタ50は、記憶部10から送られてきたデータまたは代替データ記憶部40から送られてきたデータのいずれかを選択して出力する機能を有する。セレクタ50は、代替データ記憶部40から送られてくるリードデータ選択信号S41に基づいて、データを選択して、選択したデータをエラー訂正部20に選択信号S12として送る。本実施形態のリードデータ制御手段42およびセレクタ50は、第1の実施形態のデータ選択手段5に相当する。
本実施形態の記憶装置の動作について説明する。本実施形態の記憶装置にリード要求、すなわち保存しているデータの出力の要求があった場合の動作について説明する。情報処理装置等から記憶装置に送られてきたリードイネーブル信号REおよびリードアドレス信号RAは、記憶部10と代替データ記憶部40のリードデータ制御部42に入力される(ステップ101)。リードアドレス信号RAは、アドレス比較部31にも入力される。リードデータ制御部42は、リード要求を受け取ると、代替アドレス管理部45の代替アドレス有効フラグを参照して代替データが有効であるかを確認する。
代替データが有効でない場合は(ステップ102でNo)、リードデータ制御部42は、記憶部10のデータを選択して出力する制御信号をリードデータ選択信号S41としてセレクタ50に出力する(ステップ103)。
セレクタ50は、記憶部10のデータを出力するリードデータ選択信号S41を受け取ると、記憶部10から送られてくるデータをエラー訂正部20に送る。エラー訂正部20は、データを受け取ると受け取ったデータについてECCエラーの有無を確認するエラーチェックを行う。
エラーを検出しなかったとき(ステップ104でNo)、エラー訂正部20は、記憶部10から送られてきたデータをそのまま出力信号S13として出力する。出力信号S13は、記憶装置が備えられている情報処理装置等に送られる。
エラーを検出したとき(ステップ104でYes)、エラー訂正部20は、受け取ったデータのエラー訂正を行って、エラー訂正を行ったデータを誤り訂正データとして生成する(ステップ105)。エラー訂正を行うと、エラー訂正部20は、誤り訂正データを出力信号S13として出力する。また、エラー訂正部20は、エラーを検出した情報と誤り訂正データをエラーカウント部30にエラー検知信号S21および誤り訂正データ信号S22として送る。
エラーカウント部30にエラーを検出した情報と誤り訂正データが入力されると、アドレス比較部31は、リードアドレス信号RAに示されているリードアドレスがエラーアドレス管理部32に保存されているアドレスと一致するかを確認する。アドレス比較部31は、エラーアドレス有効フラグを参照して、有効であるときのみリードアドレスとエラーアドレス管理部32に保存されているアドレスの比較を行う。エラーアドレス有効フラグが無効のときは、アドレス比較部31は、一致するアドレスがないとみなして動作を行う。
誤り訂正データに対応するリードアドレスがエラーアドレス管理部32に保存されていないとき(ステップ106でNo)、アドレス比較部31は、リードアドレスをエラーアドレス管理部32に新たに保存する(ステップ110)。アドレス比較部31がエラーアドレス管理部32に保存するリードアドレスを本実施形態ではエラーアドレスと呼ぶ。また、アドレス比較部31は、リードアドレスを新たに保存する際に、エラー回数を1として設定する。また、エラーアドレス有効フラグが無効のときは、アドレス比較部31は、エラーアドレス有効フラグを有効に設定する。
受け取ったリードアドレスがエラーアドレス管理部32に保存されているとき(ステップ106でYes)、アドレス比較部31は、エラー回数を1増加させてエラー回数を積算するように保存されている情報を更新する(ステップ107)。
エラー回数の更新が行われると、データ切替判定部34は、増加させた後のエラー回数と閾値記憶部35に保存されている閾値を比較する。
エラー回数が閾値未満であるとき(ステップ108でNo)、データ切替判定部34は、代替データへの切り替えは不要と判断する。代替データへの切り替えが不要と判断されると、エラーカウント部30は次に誤り訂正データが送られてくるまで待機状態となる。
エラー回数が閾値以上であるとき(ステップ108でYes)、データ切替判定部34は、代替データへの切り替えが必要と判断する。代替データへの切り替えが必要と判断すると、データ切替判定部34は、誤り訂正データと、代替データへの切り替えが必要であることを示す情報を誤り訂正データ信号S32およびデータ切替判定信号S31として代替データ記憶部40に送る。
誤り訂正データ信号S32およびデータ切替判定信号S31が代替データ記憶部40に入力されると、代替データ制御部41は、リードアドレスを代替アドレスとして代替アドレス管理部45に保存する。また、代替データ制御部41は、受け取った誤り訂正データを代替データとして代替データ保存部44に保存する(ステップ109)。代替アドレス管理部45に保存される代替アドレスと、代替データ保存部44に代替データとして保存される誤り訂正データは、互いに関連付けられて保存される。また、代替データ制御部41は、代替アドレス管理部45の代替アドレス有効フラグを有効な状態として設定する。
リード要求を受け取った際に、代替アドレス有効フラグが有効な状態であるとき(ステップ102でYes)、リードデータ制御部42は受け取ったリードアドレスと、代替アドセル管理部45に保存されているアドレスを比較する。受け取ったリードアドレスと、保存されているアドレスが一致したとき(ステップ111でYes)、リードデータ制御部42は、代替データの出力を要求するリードデータ選択信号S41と、代替データ信号S42をセレクタ50に送る。
セレクタ50は、リードデータ選択信号S41と代替データ信号S42を受け取ると、記憶部10から送られてくるデータの代わりに、代替データを選択して誤り訂正部20に送る(ステップ112)。すなわち、セレクタ50は、記憶部10から送られてくるデータの出力を行わない。誤り訂正部20は、入力された代替データの誤りチェックを行い外部に出力する。
ステップ111で、受け取ったリードアドレスと、代替アドセル管理部45に保存されているアドレスが一致しないとき(ステップ111でNo)、記憶装置はステップ103からの動作を行う。すなわち、リードデータ制御部42が、記憶部10のデータを選択するリードデータ選択信号S41をセレクタ50に出力するステップ103以降の動作が行われる。
次に本実施形態の記憶装置にライト要求、すなわちデータを保存する要求があった場合の動作について説明する。ライト要求の信号およびデータは、ライトイネーブル信号WE、ライトアドレス信号WAおよびライトデータ信号WDとして記憶部10および代替データ記憶部40に入力される(ステップ121)。
記憶部10は、ライト要求の信号およびデータを受け取ると、ライトアドレス信号WAにライトアドレスとして示されているアドレスに、ライトデータ信号WDのデータを保存することで書き込みを行う(ステップ122)。
ライト要求を受け取ると、代替データ制御部41は、代替データ有効フラグが有効かを確認する。代替データ有効フラグが有効であるとき(ステップ123でYes)、代替データ制御部41は、ライトアドレス信号WAとして受け取ったライトアドレスと代替アドレス管理部45に保存されているアドレスを比較する。
代替アドレスとライトアドレスが一致する場合は(ステップ124でYes)、代替データ制御部41は、ライトデータ信号WDとして受け取ったライトデータを代替データとして代替データ保存部44に書き込みを行って保存する(ステップ125)。代替データを保存すると、代替データ記憶部40は、次にライト要求またはリード要求が送られてくるまで待機状態となる。
代替アドレスとライトアドレスが一致しない場合は(ステップ123でNo)、代替データ制御部41は、代替データの保存は不要と判断する。代替データ制御部41が代替データの保存は不要と判断すると、代替データ記憶部40は、次にライト要求またはリード要求が送られてくるまで待機状態となる。
また、ステップ123で代替データのフラグが無効であるとき(ステップ123でNo)、代替データ記憶部40は、代替データの保存は不要と判断し、次にライト要求またはリード要求が送られてくるまで待機状態となる。
本実施形態の記憶装置は、記憶部10から出力されたデータにソフトエラーが生じ、エラー訂正部20で誤り訂正が行われた回数をエラーカウント部30で積算している。エラーカウント部30は、エラーの積算回数を所定の閾値と比較し、所定の閾値以上であったときに、代替データへの切り替えが必要と判断する。エラーが繰り返し発生するアドレスでは、物理的な不具合が生じている可能性またはこれから生じる可能性が高いからである。
代替データへの切り替えが必要と判断されると、代替データ記憶部40には誤り訂正データが対応するアドレスとともに保存される。再度、同じアドレスがリードアドレスとして指定されたときには、記憶部10に保存されているデータに代えて、代替データ記憶部40から代替データの出力が行われる。
また、代替アドレスが保存されているアドレスを指定して新たなデータの書き込み要求があると、代替データ記憶部40は、新たに入力されたデータを代替データとしてアドレスと関連づけて保存する。新たに入力されたデータは記憶部10の故障の影響を受けておらず、エラーが無い可能性が高い。そのため、代替アドレスがリードアドレスとして指定されたときに、代替データ記憶部40に直接、代替データとして保存されたデータを出力することでエラーの影響を抑制することができる。
このようにエラーの発生頻度が高いときに、代替データへ切り替えることにより、本実施形態の記憶装置は、物理的な故障で停止する状態を、動作を継続しながら避けることができる。また、本実施形態の記憶装置は、記憶部10からの通常の出力動作において生成された誤り訂正データおよび新たに入力されたデータを代替データとしている。そのため、本実施形態の記憶装置では、エラーの有無の確認やデータの保存のための動作を通常の動作とは別に行う必要はない。その結果、本実施形態の記憶装置は、動作を継続しつつエラーの影響を十分に抑制することができる。
1 データ保存手段
2 誤り訂正手段
3 エラーカウント手段
4 代替データ保存手段
5 データ選択手段
10 記憶部
20 エラー訂正部
30 エラーカウント部
31 アドレス比較部
32 エラーアドレス管理部
33 誤り訂正データ記憶部
34 データ切替判定部
35 閾値記憶部
40 代替データ記憶部
41 代替データ制御部
42 リードデータ制御部
43 セレクタ
44 代替データ保存部
45 代替アドレス管理部
50 セレクタ
S11 データ信号
S12 選択信号
S13 出力信号
S21 エラー検知信号
S22 誤り訂正データ信号
S31 データ切替判定信号
S32 誤り訂正データ信号
S41 リードデータ選択信号
S42 代替データ信号
RA リードアドレス信号
RE リードイネーブル信号
WA ライトアドレス信号
WE ライトイネーブル信号
WD ライトデータ信号

Claims (10)

  1. 入力される制御信号に基づいてデータの保存および出力を行うデータ保存手段と、
    出力を要求する前記制御信号に基づいて前記データ保存手段から出力データとして出力される前記データの所定のエラーの有無を検知し、前記所定のエラーがある場合に前記出力データの誤り訂正を行って誤り訂正データを生成する誤り訂正手段と、
    前記誤り訂正手段が、同一のアドレスからの前記出力データに対して誤り訂正を行った回数をエラー回数としてカウントするエラーカウント手段と、
    前記エラー回数があらかじめ設定された回数を超えたときに、前記制御信号が出力を指定したアドレスを代替アドレスとして、前記誤り訂正データとを関連づけて保存する代替データ保存手段と、
    前記制御信号によって、前記代替アドレスからデータの出力を指定されたときに、前記データ保存手段に保存されている前記データに代えて前記代替データ保存手段に保存している前記誤り訂正データを出力するデータ選択手段と
    を備えることを特徴とする記憶装置。
  2. 前記制御信号がデータの保存を要求するものであるときに、前記制御信号で示されたアドレスと、前記代替データ保存手段が保存している前記代替アドレスとを比較するアドレス比較手段をさらに備え、
    前記代替データ保存手段は、前記制御信号で示されたアドレスと前記代替アドレスが一致したときに、前記誤り訂正データに代えて、前記制御信号とともに入力される前記データを保存することを特徴とする請求項1に記載の記憶装置。
  3. 前記代替データ保存手段が前記誤り訂正データに代えて、前記制御信号とともに入力される前記データを保存するときに、前記データ保存手段も前記制御信号とともに入力される前記データを保存することを特徴とする請求項2に記載の記憶装置。
  4. 前記代替データ保存手段は、代替データが保存されていることを示す情報を代替データ有効フラグとして保存し、
    前記アドレス比較手段は、有効な前記代替アドレス有効フラグが保存されているときに、前記制御信号で示されたアドレスと、前記代替アドレスとの比較を行うことを特徴とする請求項2または3いずれかに記載の記憶装置。
  5. 前記所定のエラーがソフトエラーであることを特徴とする請求項1から4いずれかに記載の記憶装置。
  6. 入力される制御信号に基づいてデータを通常データとして保存し、
    出力を要求する前記制御信号に基づいて出力データとして出力される前記通常データの所定のエラーの有無を検知し、前記所定のエラーがある場合に前記出力データの誤り訂正を行って誤り訂正データを生成し、
    同一のアドレスからの前記出力データに対して誤り訂正を行った回数をエラー回数としてカウントし、
    前記エラー回数があらかじめ設定された回数を超えたときに、前記制御信号が出力を指定したアドレスを代替アドレスとして、前記誤り訂正データと関連づけて保存し、
    前記制御信号によって、前記代替アドレスからデータの出力を指定されたときに、前記通常データに代えて前記誤り訂正データを出力することを特徴とする記憶装置の制御方法。
  7. 前記制御信号がデータの保存を要求するものであるときに、前記制御信号で示されたアドレスと、保存している前記代替アドレスとを比較し、
    前記制御信号で示されたアドレスと前記代替アドレスが一致したときに、前記誤り訂正データに代えて、前記制御信号とともに入力される前記データを保存することを特徴とする請求項6に記載の記憶装置の制御方法。
  8. 前記誤り訂正データに代えて、前記制御信号とともに入力される前記データを保存するときに、前記通常データとしても前記制御信号とともに入力される前記データを保存することを特徴とする請求項7に記載の記憶装置の制御方法。
  9. 代替データが保存されていることを示す情報を代替データ有効フラグとして保存し、
    有効な前記代替アドレス有効フラグが保存されているときに、前記制御信号で示されたアドレスと、前記代替アドレスとの比較を行うことを特徴とする請求項7または8いずれかに記載の記憶装置の制御方法。
  10. 前記所定のエラーがソフトエラーであることを特徴とする請求項6から9いずれかに記載の記憶装置の制御方法。
JP2015031177A 2015-02-20 2015-02-20 記憶装置およびその制御方法 Pending JP2016153928A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015031177A JP2016153928A (ja) 2015-02-20 2015-02-20 記憶装置およびその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015031177A JP2016153928A (ja) 2015-02-20 2015-02-20 記憶装置およびその制御方法

Publications (1)

Publication Number Publication Date
JP2016153928A true JP2016153928A (ja) 2016-08-25

Family

ID=56761241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015031177A Pending JP2016153928A (ja) 2015-02-20 2015-02-20 記憶装置およびその制御方法

Country Status (1)

Country Link
JP (1) JP2016153928A (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02278448A (ja) * 1989-04-20 1990-11-14 Nec Eng Ltd メモリ制御回路
JPH1011284A (ja) * 1996-06-26 1998-01-16 Kofu Nippon Denki Kk 制御記憶装置
JPH11175409A (ja) * 1997-12-05 1999-07-02 Nec Corp メモリ制御方式
JP2008225835A (ja) * 2007-03-13 2008-09-25 Fujitsu Ltd メモリアクセス制御方法及び回路、並びに情報処理装置
JP2012033222A (ja) * 2010-07-29 2012-02-16 Toshiba Corp 半導体記憶装置およびその制御方法
JP2013118034A (ja) * 2011-12-05 2013-06-13 Renesas Electronics Corp メモリコントローラ

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02278448A (ja) * 1989-04-20 1990-11-14 Nec Eng Ltd メモリ制御回路
JPH1011284A (ja) * 1996-06-26 1998-01-16 Kofu Nippon Denki Kk 制御記憶装置
JPH11175409A (ja) * 1997-12-05 1999-07-02 Nec Corp メモリ制御方式
JP2008225835A (ja) * 2007-03-13 2008-09-25 Fujitsu Ltd メモリアクセス制御方法及び回路、並びに情報処理装置
JP2012033222A (ja) * 2010-07-29 2012-02-16 Toshiba Corp 半導体記憶装置およびその制御方法
JP2013118034A (ja) * 2011-12-05 2013-06-13 Renesas Electronics Corp メモリコントローラ

Similar Documents

Publication Publication Date Title
US7793172B2 (en) Controlled reliability in an integrated circuit
US7810016B2 (en) Semiconductor storage device equipped with ECC function
US20120117428A1 (en) Cache memory system
JP5010271B2 (ja) エラー訂正コード生成方法、およびメモリ制御装置
US8914708B2 (en) Bad wordline/array detection in memory
KR102067040B1 (ko) 고장 방지 기능을 갖는 캐시 제어 장치 및 동작 방법
US8140940B2 (en) Method and apparatus for controlling memory
US9645904B2 (en) Dynamic cache row fail accumulation due to catastrophic failure
US20100235695A1 (en) Memory apparatus and testing method thereof
KR20150040537A (ko) 반도체 메모리 장치 및 이를 포함하는 반도체 시스템
US10489244B2 (en) Systems and methods for detecting and correcting memory corruptions in software
US8402327B2 (en) Memory system with error correction and method of operation
KR20100031402A (ko) 프리 페이지 검출 방법 및 장치와 이를 이용한 에러 정정 코드 디코딩 방법 및 장치
US20140229796A1 (en) Electronic Control Apparatus
US10665297B2 (en) Memory systems for memory devices and methods of operating the memory systems
JP2016153928A (ja) 記憶装置およびその制御方法
US20080294961A1 (en) Method and apparatus for reading data
US11429481B1 (en) Restoring memory data integrity
US10289498B2 (en) Memory device system
JP2014016925A (ja) 情報処理システム、データ切替方法およびプログラム
KR20210116342A (ko) 데이터 처리 디바이스 및 데이터 처리 방법
JP6874462B2 (ja) 情報処理装置、メモリ制御システム、メモリ制御方法およびメモリ制御プログラム
JP5446931B2 (ja) 誤り検出訂正装置及びメモリ装置
JP2016066344A (ja) メモリ診断回路
JP2008250671A (ja) 情報処理装置および情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190226