JP2017156940A - エラー検知装置、記憶装置およびエラー訂正方法 - Google Patents

エラー検知装置、記憶装置およびエラー訂正方法 Download PDF

Info

Publication number
JP2017156940A
JP2017156940A JP2016038939A JP2016038939A JP2017156940A JP 2017156940 A JP2017156940 A JP 2017156940A JP 2016038939 A JP2016038939 A JP 2016038939A JP 2016038939 A JP2016038939 A JP 2016038939A JP 2017156940 A JP2017156940 A JP 2017156940A
Authority
JP
Japan
Prior art keywords
data
error
read
unit
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.)
Granted
Application number
JP2016038939A
Other languages
English (en)
Other versions
JP6090489B1 (ja
Inventor
裕基 浅野
Hironori Asano
裕基 浅野
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 JP2016038939A priority Critical patent/JP6090489B1/ja
Priority to US15/446,058 priority patent/US10423488B2/en
Application granted granted Critical
Publication of JP6090489B1 publication Critical patent/JP6090489B1/ja
Publication of JP2017156940A publication Critical patent/JP2017156940A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1048Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

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

Abstract

【課題】 書き込みサイズよりも小さい読み出しサイズの複数の分割データにより構成されるデータを記憶する記憶装置におけるデータのエラー検知用の情報に起因した記憶密度低下を抑制する。【解決手段】 生成部2は、記憶部にデータを書き込む場合に、書き込みデータにおける分割データ毎にエラー検知情報を生成する。当該情報は、分割データにおけるビットエラーの有無判断に利用できる情報であって、かつ、書き込みデータを構成する複数の分割データのエラー検知情報に基づいてビットエラーの発生位置を検知できる情報である。検知・訂正部3は、エラー検知情報を利用することにより、分割データにビットエラーが発生しているか否かを判断できる。検知・訂正部3は、ビットエラーの発生が検知された分割データを含むデータにおける複数のエラー検知情報を利用することによりビットエラーの位置を検知し当該ビットエラーを訂正できる。【選択図】 図1

Description

本発明は、記憶装置に書き込まれているデータのエラーを検知する技術に関する。
記憶装置(半導体メモリやハードディスク装置など)に書き込まれている“0”と“1”により構成されるデータには、ビットエラー(ビット反転、ビット化け)が発生してしまうという問題が有る。ビットエラーとは、正しくは“0”であるところが、“1”で記憶され、反対に、正しくは“1”であるところが、“0”で記憶されているという現象である。
そのようなビットエラーを検知する手法や、検知したビットエラーを訂正する手法は様々に提案されている。例えば、その一つとして、ECC(Error Check and Correction)符号を利用する手法がある。
なお、特許文献1には、ECC符号を利用したビットエラー検知を複数の処理装置で分担して行う技術が開示されている。
特開2006−260139号公報
ECC符号を利用する手法によって、例えば、64ビットのデータにおける1ビットエラーを検知し、かつ、その1ビットエラーを訂正しようとする場合には、記憶装置に書き込む際に、その64ビットのデータに7ビットのECC符号を付加する必要がある。すなわち、64ビットデータの1ビットエラーは64通り有る。また、その64ビットデータに付加されるECC符号にもビットエラーが発生する虞があり、このECC符号のビットエラーは7通りある。さらに、64ビットデータにもECC符号にもビットエラーが発生しない場合が有る。これらを区別して検知しようとすると、7ビットのECC符号が必要である。
ところで、データを書き込む場合には、64ビット単位で書き込み、データを読み出す場合には、その半分の32ビット単位で読み出すという如く、データの書き込みサイズと読み出しサイズが異なる記憶装置(記憶回路)がある。このような場合には、読み出しサイズ単位のデータにECC符号が付加される。具体的には、記憶装置に書き込まれている64ビットデータにおける前半の32ビットデータと後半の32ビットデータが別々に読み出し可能である場合には、32ビットデータ毎に6ビットのECC符号が付加される。つまり、64ビットデータに12ビットのECC符号が付加される。
このように、記憶装置へのデータの書き込みサイズが同じでも、データの読み出しサイズが小さくなると、書き込みサイズのデータに付加されるECC符号のビット数が増加する。つまり、記憶装置における書き込みサイズの1つのデータが使用する占有記憶領域の大きさが増加し、これにより、記憶装置の記憶密度の向上を妨げるという問題が生じる。
本発明は上記課題を解決するために考え出された。すなわち、本発明の主な目的は、書き込みサイズよりも小さい読み出しサイズの複数の分割データにより構成されるデータを記憶する記憶装置に格納されるデータのエラー検知用の情報に起因した記憶密度低下を抑制する技術を提供することにある。
上記目的を達成するために、本発明のエラー検知装置における一様相は、
書き込みサイズよりも小さい読み出しサイズの複数の分割データにより構成されるデータを記憶する記憶部に前記データを書き込む場合に、その書き込み対象のデータである書き込みデータにおける前記分割データ毎に関連付けられ当該分割データにおけるビットエラーの有無判断に利用できる情報であって、かつ、前記書き込みデータを構成する複数の前記分割データに関連付けられている前記情報に基づいてビットエラーの発生位置を検知できるエラー検知情報を生成する生成部と、
前記記憶部から前記分割データを読み出す場合に、読み出し対象の前記分割データに関連付けられている前記エラー検知情報を利用することにより、当該分割データにビットエラーが発生しているか否かを判断し、ビットエラーが発生していることを検知した場合には、当該ビットエラーの発生が検知された前記分割データを含む前記データに関連付けられている複数の前記エラー検知情報を利用することによりビットエラーの位置を検知し当該ビットエラーを訂正する検知・訂正部と
を備える。
また、本発明の記憶装置における一様相は、
書き込みサイズよりも小さい読み出しサイズの複数の分割データにより構成されるデータを記憶する記憶部と、
上記したようなエラー検知装置と
を備える。
さらに、本発明のエラー検知方法における一様相は、
書き込みサイズよりも小さい読み出しサイズの複数の分割データにより構成されるデータを記憶する記憶部に前記データを書き込む場合に、その書き込み対象のデータである書き込みデータにおける前記分割データ毎に関連付けられ当該分割データにおけるビットエラーの有無判断に利用できる情報であって、かつ、前記書き込みデータを構成する複数の前記分割データに関連付けられている前記情報に基づいてビットエラーの発生位置を検知できるエラー検知情報を生成し、
前記記憶部から前記分割データを読み出す場合に、読み出し対象の前記分割データに関連付けられている前記エラー検知情報を利用することにより、当該分割データにビットエラーが発生しているか否かを判断し、
ビットエラーが発生していることを検知した場合には、当該ビットエラーの発生が検知された前記分割データを含む前記データに関連付けられている複数の前記エラー検知情報を利用することによりビットエラーの位置を検知し当該ビットエラーを訂正する。
本発明によれば、書き込みサイズよりも小さい読み出しサイズの複数の分割データにより構成されるデータを記憶する記憶装置に格納されるデータのエラー検知用の情報に起因した記憶密度低下を抑制できる。
本発明に係る第1実施形態のエラー検知装置の構成を簡略化して表すブロック図である。 第1実施形態のエラー検知装置を備えた記憶装置の構成を簡略化して表すブロック図である。 本発明に係る第2実施形態のエラー検知装置を備えた記憶装置の構成を簡略化して表すブロック図である。 第2実施形態における書き込み部の回路構成例を表す回路図である。 第2実施形態における読み出し部の回路構成例を表す回路図である。 第2実施形態における記憶部の回路構成例を表す回路図である。 第2実施形態における検知・訂正部の回路構成例を表す回路図である。 第2実施形態における検知・訂正部がエラー位置を検知する際に利用するデータの一部を表す図である。 図8に続くデータを表す図である。 さらに、図9に続くデータを表す図である。 さらに、図10に続くデータを表す図である。 さらに、図11に続くデータを表す図である。 さらに、図12に続くデータを表す図である。 エラー位置を検知する別のデータの一例を表す図である。 図14に続くデータを表す図である。 さらに、図15に続くデータを表す図である。 エラー位置を検知するさらに別のデータの一例を表す図である。 図17に続くデータを表す図である。 さらに、図18に続くデータを表す図である。 さらに、図19に続くデータを表す図である。 さらに、図20に続くデータを表す図である。 さらに、図21に続くデータを表す図である。 さらに、図22に続くデータを表す図である。 さらに、図23に続くデータを表す図である。 さらに、図24に続くデータを表す図である。 さらに、図26に続くデータを表す図である。
以下に、本発明に係る実施形態を図面を参照しつつ説明する。
<第1実施形態>
図1は、本発明に係る第1実施形態のエラー検知装置の構成を簡略化して表すブロック図である。第1実施形態のエラー検知装置1は、生成部2と、検知・訂正部3とを備えている。このエラー検知装置1は、書き込みサイズよりも小さい読み出しサイズの複数の分割データにより構成されるデータを記憶する記憶部5に接続し、当該記憶部5におけるデータのエラー検知に関わる装置である。生成部2は、記憶部5にデータを書き込む場合に、その書き込み対象のデータである書き込みデータにおける分割データ毎にエラー検知情報を生成する機能を備えている。エラー検知情報は、各分割データに関連付けられる。当該エラー検知情報は、各分割データにおけるビットエラーの有無判断に利用できる情報であって、かつ、同じ書き込みデータを構成する複数の分割データにおけるエラー検知情報に基づいてビットエラーの発生位置を検知できる情報である。
検知・訂正部3は、記憶部5から分割データを読み出す場合に、読み出し対象の分割データに関連付けられているエラー検知情報を利用することにより、当該分割データにビットエラーが発生しているか否かを判断する機能を備えている。また、検知・訂正部3は、ビットエラーが発生していることを検知した場合には、当該ビットエラーの発生が検知された分割データを含む書き込みデータに関連付けられている複数のエラー検知情報を取得する。そして、検知・訂正部3は、それらエラー検知情報を利用することによりビットエラーの位置を検知し当該ビットエラーを訂正する機能を備えている。
第1実施形態のエラー検知装置1は、書き込みデータにおける読み出しサイズの各分割データに関連付けるエラー検知情報として、当該分割データにビットエラーが発生しているか否かを判断できる情報を生成する。そのエラー検知情報は、エラーの発生を検知するだけでなくエラー位置までをも検知できる情報に比べれば、情報サイズ(データ容量)が小さい。このため、エラー検知装置1は、記憶部5に格納されるデータのエラー検知用の情報に起因した記憶密度低下を抑制できる。
図2は、第1実施形態のエラー検知装置1を備えた記憶装置8の構成を簡略化して表すブロック図である。この記憶装置8は、エラー検知装置1と、記憶部5とを備えている。記憶部5は、書き込みサイズよりも小さい読み出しサイズの複数の分割データにより構成されるデータを記憶する機能を備えている。エラー検知装置1は、前述した第1実施形態のエラー検知装置1の構成を備えている。
この記憶装置8は、第1実施形態のエラー検知装置1を備えていることにより、記憶部5に格納されるデータのエラー検知用の情報に起因した記憶密度低下を抑制できるという効果を得ることができる。
<第2実施形態>
図3は、本発明に係る第2実施形態のエラー検知装置を備えた記憶装置の構成を簡略化して表すブロック図である。第2実施形態における記憶装置20は、読み書き制御部19に接続し、当該読み書き制御部19の指示に応じてデータを読み書きする。
第2実施形態における記憶装置20は、書き込み部22と、読み出し部23と、記憶部24と、生成部25と、検知・訂正部26とを備えている。なお、生成部25と検知・訂正部26は、エラー検知装置28を構成している。
記憶装置20を構成するそれら構成部22〜26は、次のような機能を備えている。すなわち、書き込み部22は、読み書き制御部19に接続されており、読み書き制御部19から出力された次のような情報を受け取る。その読み書き制御部19から受け取る情報とは、データの書き込みを要求する書き込み要求と、書き込み対象のデータ(以下、書き込みデータとも記す)と、その書き込みデータを書き込む記憶部24の記憶位置を表す書き込みアドレスである。なお、この第2実施形態では、書き込みデータは、前半部分(以下、前半データとも記す)と後半部分(以下、後半データとも記す)に分けられた状態で記憶部24に記憶される。このため、書き込みアドレスは、前半データ用の書き込みアドレスと、後半データ用の書き込みアドレスとを含んでいる。
書き込み部22は、読み書き制御部19から書き込み要求を受け取った場合には、その書き込み要求を記憶部24に出力し、また、書き込み要求と共に受け取った書き込みアドレスも記憶部24に出力する機能を備えている。さらに、書き込み部22は、書き込み要求と共に受け取った書き込みデータを生成部25に出力する機能を備えている。
さらにまた、書き込み部22は、検知・訂正部26に接続されており、検知・訂正部26から、記憶部24に記憶されているデータを訂正することを要求する訂正要求を受け取る。さらに、書き込み部22は、検知・訂正部26から、訂正要求と共に、訂正対象のデータ(以下、訂正データとも記す)およびその訂正データを書き込む記憶部24の記憶位置を表す訂正アドレスを受け取る。書き込み部22は、検知・訂正部26から、訂正要求を受け取った場合には、その訂正要求を記憶部24に出力する機能を備えている。また、書き込み部22は、その訂正要求と共に受け取った訂正データを生成部25に出力し、また、訂正アドレスを記憶部24に出力する機能を備えている。
さらにまた、書き込み部22は、検知・訂正部26から、訂正要求を受け取った場合には、その訂正要求を保留要求として読み書き制御部19に出力する機能を備えている。その保留要求とは、検知・訂正部26から発行された訂正要求に応じた記憶部24と生成部25の処理が終了するまで読み書き制御部19から記憶装置20への指示を保留することを要求する情報である。
図4は、書き込み部22の一回路構成例を表す回路図である。図4に表される書き込み部22の回路は、論理和(OR)回路32と、選択回路33とを備えている。図4に表される回路では、論理和回路32の入力部の一つには、読み書き制御部19から出力される書き込み要求が入力し、論理和回路32の別の入力部には、検知・訂正部26から出力される訂正要求が入力する。論理和回路32の出力部は、記憶部24に接続されている。論理和回路32は、読み書き制御部19から書き込み要求を受け取った場合には、記憶部24に向けて、その書き込み要求を出力する。また、論理和回路32は、検知・訂正部26から訂正要求を受け取った場合には、記憶部24に向けてその訂正要求を出力する。
選択回路33の入力部の一つには、読み書き制御部19から、書き込みデータおよび書き込みアドレスが入力する。選択回路33の別の入力部には、検知・訂正部26から、訂正データおよびその訂正アドレスが入力する。また、選択回路33の制御入力部には、検知・訂正部26から、制御信号として訂正要求が入力する。さらにまた、選択回路33の出力部は、記憶部24および生成部25に接続されている。
選択回路33は、検知・訂正部26から訂正要求が入力していない場合に読み書き制御部19から書き込みデータおよび書き込みアドレスが出力された場合には、その書き込みデータを生成部26に、また、書き込みアドレスを記憶部24に、それぞれ、出力する。一方、検知・訂正部26から選択回路33に訂正要求が入力している場合には、選択回路33は、検知・訂正部26から訂正要求と共に出力された訂正データを生成部25に、また、訂正アドレスを記憶部24に、それぞれ、出力する。
また、この書き込み部22は、検知・訂正部26から出力された訂正要求を保留要求として読み書き制御部19に向けて出力する。
生成部25は、書き込み部22に接続されており、書き込み部22から書き込みデータあるいは訂正データを受け取った場合には、その書き込みデータあるいは訂正データのエラーを検知する符号(エラー検知符号とも記す)を生成する機能を備えている。この第2実施形態では、書き込みデータは、前記の如く、前半データと後半データに分けられた状態で記憶部24に記憶される。このため、生成部25は、前半データ用のエラー検知符号と、後半データ用のエラー検知符号とを生成するが、それら前半データ用と後半データ用の各エラー検知符号の生成には書き込みデータの全てを利用する。
生成部25による符号の生成手法の具体例を以下に述べる。ここでは、書き込み対象のデータは、64ビットのデータとする。この場合には、生成部25は、前半データ(32ビット)に対応する4ビットの前半データ用のエラー検知符号と、後半データ(32ビット)に対応する4ビットの後半データ用のエラー検知符号との合計8ビットのエラー検知符号を生成する。ここでは、その8ビットのエラー検知符号を構成するi番目の位(ビット)の数値をP[i](なお、i=0,1,2,・・・7)と表すこととする。また、64ビットの書き込みデータを構成するj番目の位(ビット)の数値をD[j](なお、j=0,1,2,・・・63)と表すこととする。
生成部25は、P[0]〜P[7]をそれぞれ算出する際に、書き込みデータを構成する全てのD[j]の中から予め与えられている選択規則に基づいて選択されたD[j]を利用する。その選択されるD[j]は次のような条件を満たすように選択される。つまり、P[0]^P[1]^P[2]^P[3](なお、記号“^”は排他的論理和を表す演算記号である)の論理演算を考えた場合に、この演算の計算項として、書き込みデータにおける前半データの各ビット(つまり、D[0]〜D[31])が奇数項含まれるようにする。かつ、その演算の計算項として、書き込みデータにおける後半データの各ビット(つまり、D[32]〜D[63])が偶数項含まれるようにする。また、P[4]^P[5]^P[6]^P[7](なお、記号“^”は排他的論理和を表す演算記号である)の論理演算を考えた場合に、この演算の計算項として、書き込みデータにおける前半データの各ビット(つまり、D[0]〜D[31])が偶数項含まれるようにする。かつ、その演算の計算項として、書き込みデータにおける後半データの各ビット(つまり、D[32]〜D[63])が奇数項含まれるようにする。
さらに、ここで、実際のデータを構成する各ビットの数値を利用して、各P[0]〜P[7]を算出する計算式の計算を行った場合に、その計算により得られる算出値を各Q[0]〜Q[7]とする。P[0]^Q[0]、P[1]^Q[1]というように、エラー検知符号における各ビットP[i]と、それに対応する算出値Q[i](なお、i=0,1,2,・・・7)との排他的論理和によりビットパターンが得られる。この得られるビットパターンによって、記憶部24に記憶されている1ビットエラーのエラー位置を特定できるように各P[0]〜P[7]を算出する計算式で利用するD[j]が選択される。
より具体的には、生成部25は、次のように選択されたD[j]に基づいた各P[0]〜P[7]の計算式(生成式)に従ってエラー検知符号を生成する。
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
読み出し部23は、読み書き制御部19に接続されており、読み書き制御部19から次のような情報を受け取る機能を備えている。その読み書き制御部19から受け取る情報とは、データの読み出しを要求する読み出し要求、および、読み出し対象のデータ(以下、読み出しデータとも記す)が記憶されている記憶部24の記憶位置を表す読み出しアドレスである。なお、この第2実施形態では、前記の如く、書き込みデータは、前半データと後半データとに分けられた状態で記憶部24に記憶される。このことにより、読み出しアドレスには、前半データの記憶位置を表す前半読み出しアドレスと、後半データの記憶位置を表す後半読み出しアドレスとの種類が有る。以下の説明では、前半読み出しアドレスと、後半読み出しアドレスとを区別して記す場合と、それらをまとめて単に読み出しアドレスと記す場合とが有る。また、読み出し要求にも、前半読み出し要求と、後半読み出し要求との種類が有るが、以下の説明では、前半読み出し要求と、後半読み出し要求とを区別して記す場合と、それらをまとめて単に読み出し要求と記す場合とが有る。
さらに、読み出し部23は、検知・訂正部26に接続されており、当該検知・訂正部26から、記憶部24に記憶されているデータに訂正が必要であることを表す訂正要求、および、訂正データが記憶されている記憶部24の記憶位置を表す訂正アドレスを受け取る。なお、この第2実施形態では、検知・訂正部26から出力される訂正要求には、前述したような前半データに訂正が必要であることを表す前半訂正要求と、後半データに訂正が必要であることを表す後半訂正要求との種類が有る。以下の説明では、前半訂正要求と、後半訂正要求とを分けて記す場合と、それらをまとめて単に訂正要求として記す場合とが有る。また、訂正アドレスにも、前半訂正アドレスと、後半訂正アドレスとの種類があるが、それらを分けて記す場合と、まとめた単に訂正アドレスと記す場合とが有る。
さらに、読み出し部23は、訂正要求を受け取っていない状態で読み書き制御部19から読み出し要求を受け取った場合には、その読み出し要求を記憶部24に向けて出力する機能を備えている。さらに、この場合には、読み出し部23は、読み出しアドレスも記憶部24に向けて出力する機能を備えている。
さらにまた、読み出し部23は、訂正要求を受け取った場合には、その訂正要求を保留要求として読み書き制御部19に向けて出力する機能を備えている。その保留要求を受け取った読み書き制御部19は、動作を保留する。また、読み出し部23は、訂正要求を受け取った場合には、訂正アドレスを記憶部24に向けて出力する機能を備えている。
図5は、読み出し部23の一回路構成例を表す回路図である。図5に表される読み出し部23の回路は、論理積(AND)回路35と、選択回路36とを備えている。図5に表される回路では、論理積回路35の入力部の一つには、読み書き制御部19から出力される読み出し要求が入力し、論理積回路35の別の入力部である反転入力部には、検知・訂正部26から出力される訂正要求が入力する。論理積回路35の出力部は、記憶部24に接続されている。論理積回路35は、検知・訂正部26から訂正要求を受け取っていない状態で読み書き部19から読み出し要求を受け取った場合には、その読み出し要求をそのまま記憶部24に向けて出力する。一方、論理積回路35は、検知・訂正部26から訂正要求を受け取った場合には、情報の出力は無く、その訂正要求は読み出し部23から保留要求として読み書き制御部19に向けて出力される。また、訂正要求は、読み出し部23から記憶部24にも出力される。
選択回路36の入力部の一つには、読み書き制御部19から、読み出しアドレスが入力する。選択回路36の別の入力部には、検知・訂正部26から、訂正アドレスが入力する。また、選択回路36の制御入力部には、検知・訂正部26から制御信号として訂正要求が入力する。さらにまた、選択回路36の出力部は、記憶部24に接続されている。
選択回路36は、検知・訂正部26から制御入力部に訂正要求が入力していない場合には、読み書き制御部19から出力された読み出しアドレスを記憶部24に向けて出力する。一方、選択回路36は、検知・訂正部26から訂正要求が入力している場合には、検知・訂正部26から出力された訂正アドレスを記憶部24に向けて出力する。
記憶部24は、書きこみ部22から書き込み要求を受け取った場合に、書き込み部22から供給される書き込みアドレスに基づいて、書き込みデータと、生成部25から受け取ったエラー検知符号とを関連付けられた状態で記憶する機能を備えている。
また、記憶部24は、読み出し部23から読み出し要求および読み出しアドレスを受け取った場合に、その読み出しアドレスに基づいて、読み出しデータを読み出して検知・訂正部26に出力する機能を備えている。
さらに、記憶部24は、検知・訂正部26から出力された訂正要求と訂正アドレスを読み出し部23を介して受け取り、訂正アドレスに基づいて訂正データを読み出し、当該読み出した訂正データを検知・訂正部26に出力する機能を備えている。
図6は、記憶部24の一回路構成例を表す回路図である。この図6に表される記憶部24は、前半記憶部38と、後半記憶部39と、論理和(OR)回路40,41と、選択回路42,43と、分配回路44とを備えている。
この回路例では、書き込み部22から記憶部24に加えられた前半書き込み要求は、書き込み許可として前半記憶部38に供給される。また、書き込み部22から記憶部24に加えられた後半書き込み要求は、書き込み許可として後半記憶部39に供給される。さらに、書き込み部22から記憶部24に加えられた書き込みアドレスは、前半記憶部38および後半記憶部39に供給される。
分配回路44には、書き込みデータが書き込み部22から加えられる。また、分配回路44には、生成部25から、書き込みデータに関するエラー検知符号が加えられる。分配回路44は、書き込みデータを前半データと後半データに分け、また、エラー検知符号を前半データ用のエラー検知符号と後半データ用のエラー検知符号に分ける。そして、分配回路44は、前半データと前半データ用のエラー検知符号を前半記憶部38に向けて出力し、また、後半データと後半データ用のエラー検知符号を後半記憶部39に向けて出力する。
前半記憶部38は、書き込み部22から書き込み許可を受け取っている状態で前半データと前半データ用のエラー検知符号を受け取った場合に、書き込み部22からの書き込みアドレスに基づいて、それら前半データとエラー検知符号を関連付けた状態で記憶する。また、後半記憶部39は、論理和回路41から読み出し許可を受け取っている状態で後半データと後半データ用のエラー検知符号を受け取った場合に、書き込み部22からの書き込みアドレスに基づいて、それら後半データとエラー検知符号を関連付けた状態で記憶する。
この回路例では、記憶部24は、読み出し部23に接続されており、読み出し部23から出力された読み出し要求と、訂正要求と、読み出しアドレスと、訂正アドレスとを受け取り、当該受け取った要求やアドレスを検知・訂正部26に出力する。
論理和回路40は、読み出し部23から出力される前半読み出し要求と、前半訂正要求と、後半訂正要求との何れかが加えられた場合には、読み出し許可を前半記憶部38に向けて出力する。また、論理和回路41は、読み出し部23から出力される後半読み出し要求と、前半訂正要求と、後半訂正要求との何れかが加えられた場合には、読み出し許可を後半記憶部39に向けて出力する。
選択回路42には、前半読み出しアドレスと、後半読み出しアドレスとがそれぞれ読み出し部23から加えられる。また、選択回路42には、制御信号として、後半訂正要求が読み出し部23から加えられる。選択回路42は、制御信号である後半訂正要求が加えられている場合には前半読み出しアドレスおよび後半読み出しアドレスを前半記憶部38に向けて出力する。また、選択回路42は、後半訂正要求が加えられていない場合には前半読み出しアドレスを前半記憶部38に向けて出力する。
選択回路43には、前半読み出しアドレスと、後半読み出しアドレスとがそれぞれ読み出し部23から加えられる。また、選択回路43には、制御信号として、前半訂正要求が読み出し部23から加えられる。選択回路43は、制御信号である前半訂正要求が加えられている場合には、前半読み出しアドレスおよび後半読み出しアドレスを後半記憶部39に向けて出力する。また、選択回路43は、後半訂正要求が加えられていない場合には、後半読み出しアドレスを後半記憶部39に向けて出力する。
論理和回路40から読み出し許可を受け取っている状態で前半読み出しアドレスを受け取った前半記憶部38は、前半読み出しアドレスに基づいて前半データを前半データ用のエラー検知符号と共に読み出し、読み出したデータを検知・訂正部26に出力する。また、論理和回路41から読み出し許可を受け取っている状態で後半読み出しアドレスを受け取った後半記憶部39は、後半読み出しアドレスに基づいて後半データを後半データ用のエラー検知符号と共に読み出し、読み出したデータを検知・訂正部26に出力する。
検知・訂正部26は、記憶部24から、読み出しデータと、読み出し情報とを受け取った場合には、読み出しデータにおけるビットエラーを検知する機能と、ビットエラーを検知した場合には当該ビットエラーを訂正する機能とを備えている。さらにまた、検知・訂正部26は、前半データにも後半データにもエラーが有る場合には、リトライ要求を読み書き制御部19に向けて通知する機能を備えている。読み書き制御部19は、
図7は、検知・訂正部26を構成する一回路構成例を表す回路図である。この図7に表される検知・訂正部26の回路は、検知回路50,51と、訂正回路52と、論理積回路53,54,55,56と、論理和回路57,58と、分配回路60と、選択回路61,62と、論理和回路63とを備えている。
検知回路50は、記憶部24に接続されており、当該検知回路50には、記憶部24から、前半読み出し要求と、前半データおよび前半データ用のエラー検知符号とが入力する。検知回路50は、前半読み出し要求を受け取り、かつ、前半データおよび前半データ用のエラー検知符号を受け取った場合には、前半データにエラーが有るか否かを判断する。具体的には、例えば、検知回路50は、受け取った前半データ(32ビット:D[0]〜D[31])と、前半データ用のエラー検知符号(4ビット:P[0]〜P[3])との排他的論理和を算出する。そして、検知回路50は、算出値が“1”である場合には、読み出された前半データにエラーが有ることを表す情報を出力する。この情報は、前半訂正要求として読み出し部23に向けて出力され、また、論理積回路53,54,55に供給される。さらに、検知回路50は、算出値が“0”である場合には、読み出された前半データにエラーが無いことを表す情報を出力する。
検知回路51には、記憶部24から、後半読み出し要求と、後半データおよび後半データ用のエラー検知符号とが入力する。検知回路51は、後半読み出し要求を受け取り、かつ、後半データおよび後半データ用のエラー検知符号を受け取った場合には、後半データにエラーが有るか否かを判断する。具体的には、例えば、検知回路51は、受け取った後半データ(32ビット:D[32]〜D[63])と、後半データ用のエラー検知符号(4ビット:P[4]〜P[7])との排他的論理和を算出する。そして、検知回路51は、算出値が“1”である場合には、読み出された後半データにエラーが有ることを表す情報を出力する。この情報は、論理積回路53,54,56に供給される。さらに、検知回路51は、算出値が“0”である場合には、読み出された後半データにエラーが無いことを表す情報を出力する。
論理積回路53には、検知回路50,51から出力された各情報が入力する。当該論理積回路53は、検知回路50,51の検知動作によって前半データと後半データの両方にエラーがあることが検知された場合には、再度データの読み出しを要求するリトライ要求を読み書き制御部19に向けて出力する。読み書き制御部19は、保留要求が解除された後に、リトライ要求とリトライアドレスを読み出し要求と読み出しアドレスとして読み出し部23に出力する。
また、論理積回路54には、検知回路50,51から出力された各情報が入力する。論理積回路54は、検知回路50,51の検知動作によって、前半データにエラーが無く、かつ、後半データにエラーが有ることが検知された場合には、後半訂正要求を読み出し部23に向けて出力する。
さらに、論理積回路55には、検知回路50から出力された情報と、前半読み出し要求とが入力する。論理積回路55は、検知回路50の検知動作によって、前半データにエラーが無いことが検知された場合には、前半読み出し要求を前半読み出し有効通知として論理和回路57を通して出力する。
さらに、論理積回路56には、検知回路51から出力された情報と、後半読み出し要求とが入力する。論理積回路56は、検知回路51の検知動作によって、後半データにエラーが無いことが検知された場合には、後半読み出し要求を後半読み出し有効通知として論理和回路58を通して出力する。
訂正回路52には、記憶部24から出力された前半データと前半データ用のエラー検知符号が加えられる。また、訂正回路52には、記憶部24から出力された後半データと後半データ用のエラー検知符号が加えられる。つまり、前述した検知回路50,51の検知動作によって前半データあるいは後半データにエラーが検知された場合には、訂正要求が読み出し部23を介して記憶部24に出力される。この場合には、記憶部24によって、前半データおよび後半データとエラー検知符号が読み出され、これらは訂正回路52に加えられる。訂正回路52は、前半データと後半データとエラー検知符号を受け取ると、エラー検知符号を算出する際に利用する前述した計算式(生成式)と、読み出されたデータと、エラー検知符号とを利用して、エラーの発生ビット位置を検知する機能を備えている。すなわち、訂正回路52は、計算式(生成式)に、読み出されたデータの各ビットを代入することにより得られる算出値Q[0]〜[7]と、読み出されたエラー検知符号P[0]〜[7]との排他的論理和を算出し、これにより、算出値E[0]〜[7]を得る。そして、訂正回路52は、それら算出値E[0]〜[7]によるビットパターンと、予め与えられている図8〜図13に表されるエラー位置検知データとを照合し、エラーが発生しているビット位置を検知する。さらに、訂正回路52は、検知したエラーのビット位置の数値を反転し、訂正後のデータ(訂正データ)を書き込み部22に出力する。書き込み部22は、訂正要求と訂正アドレスを受け取っている状態で訂正データを受け取ることにより、当該訂正データを訂正アドレスに基づいた記憶位置に書き込む。つまり、書き込み部22は、記憶部24のデータを訂正する。
分配回路60は、訂正後のデータを前半データと後半データに分け、前半データを選択回路61に出力し、後半データを選択回路62に出力する。
選択回路61には、読み出し部23により読み出された前半データが加えられ、また、訂正回路52により訂正された前半データが分配回路60を通して加えられる。また、選択回路61には、記憶部24から訂正要求が制御信号として加えられる。選択回路61は、訂正要求が加えられている場合には、訂正された前半データを読み出しデータとして出力し、訂正要求が加えられていない場合には、読み出し部23により読み出されたままの前半データを出力する。
選択回路62には、読み出し部23により読み出された後半データが加えられ、また、訂正回路52により訂正された後半データが分配回路60を通して加えられる。また、選択回路61には、記憶部24から訂正要求が制御信号として加えられる。選択回路61は、訂正要求が加えられている場合には、訂正された後半データを読み出しデータとして出力し、訂正要求が加えられていない場合には、読み出し部23により読み出されたままの後半データを出力する。
論理和回路63は、記憶部24から前半訂正要求あるいは後半訂正要求が加えられると、訂正要求(訂正書き込み要求)として書き込み部23に出力する。
このように、検知・訂正部26は、読み出し部23により読み出されたデータのエラー検知を行い、エラーが無かった読み出しデータはそのまま読み出し部23を通して読み書き制御部19に向けて出力する。また、検知・訂正部26は、読み出しデータのエラー検知により1ビットエラーを検知した場合には、その1ビットエラーを訂正し、訂正後の読み出しデータを読み出し部23を通して読み書き制御部19に向けて出力する。さらに、検知・訂正部26は、記憶部24に記憶されている誤りデータを訂正する。
この第2実施形態のエラー検知装置28およびそれを備えた記憶装置20は、上記のように構成されている。この第2実施形態の記憶装置20は、前半データあるいは後半データを読み出す際に、まず、読み出し対象の前半データあるいは後半データに関連付けられているエラー検知符号を利用して、前半データあるいは後半データに1ビットエラーが有るか否かを判断する。そして、記憶装置20は、前半データあるいは後半データにエラーが有ると判断した場合には、前半データと後半データのうちの一方のエラー検知符号だけでなく、両方のエラー検知符号を利用してエラーが発生しているビット位置を検知する。そして、記憶装置20は、検知したビット位置のビットを訂正することにより、読み出しデータを訂正し、訂正後の読み出しデータを出力する。
記憶装置20がそのように構成されていることにより、前半データと後半データに、それぞれ、関連付けられるエラー検知符号は、前半データあるいは後半データにおけるエラーの有無を判断できる符号であればよい。このため、エラーの有無だけでなくエラーの発生位置の検知をも可能にする符号に比べて、この第2実施形態における前半データ用のエラー検知符号と後半データ用のエラー検知符号は、ビット数を少なくすることができる。
これにより、第2実施形態の記憶装置20は、データの書き込みサイズと読み出しサイズが異なる場合におけるエラー検知用の符号に起因した記憶密度低下を抑制できるという効果を得ることができる。
<その他の実施形態>
なお、この発明は第1と第2の実施形態に限定されず、様々な実施の態様を採り得る。例えば、第2実施形態では、書き込みデータのサイズが64ビットである具体例を示したが、本発明は、書き込みデータが他のサイズである記憶装置あるいはエラー検知装置にも適用することができる。
例えば、書き込みデータのサイズが32ビットである場合には、前半データ(16ビット)と、後半データ(16ビット)には、4ビットのエラー検知符号がそれぞれ関連付けられる。それらエラー検知符号P[0]〜P[7]は、例えば、次のような計算式(生成式)により算出される。
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
上述したような符号P[0]〜P[7]の計算式を構成するD[j](なお、j=0,1,2,・・・31)は次のような条件を満たす。すなわち、P[0]^P[1]^P[2]^P[3](なお、記号“^”は排他的論理和を表す演算記号である)の論理演算を考えた場合に、この演算の計算項として、前半データの各ビット(つまり、D[0]〜D[15])が奇数項含まれるようにする。かつ、その演算の計算項として、後半データの各ビット(つまり、D[16]〜D[31])が偶数項含まれるようにする。また、P[4]^P[5]^P[6]^P[7](なお、記号“^”は排他的論理和を表す演算記号である)の論理演算を考えた場合に、この演算の計算項として、前半データの各ビット(つまり、D[0]〜D[15])が偶数項含まれるようにする。かつ、その演算の計算項として、後半データの各ビット(つまり、D[16]〜D[31])が奇数項含まれるようにする。
さらに、ここで、実際のデータを構成する各ビットの数値を利用して、各P[0]〜P[7]を算出する計算式の計算を行った場合に、その計算により得られる算出値を各Q[0]〜Q[7]とする。P[0]^Q[0]、P[1]^Q[1]というように、エラー検知符号における各ビットP[i]と、それに対応する算出値Q[i](なお、i=0,1,2,・・・7)との排他的論理和によりビットパターンが得られる。この得られるビットパターンによって、記憶部24に記憶されている1ビットエラーのエラー位置を特定できるように各P[0]〜P[7]を算出する計算式で利用するD[j]が選択される。このような場合には、第2実施形態で述べたと同様に、算出値Q[0]〜Q[7]とエラー検知符号P[0]〜P[7]との排他的論理和である算出値E[0]〜E[7]と、図14〜図16に表されるエラー位置検知データとに基づいて、エラー位置が検知される。
このように、記憶装置20は、書き込みデータのサイズが、64ビットではなく、32ビットである場合にも、第2実施形態と同様の構成を備えることにより、前半データと後半データのそれぞれに付与されるエラー検知符号のビット数を抑制できる。すなわち、エラー検知とエラー位置検知との両方を可能にするエラー検知符号を前半データと後半データのそれぞれに関連付ける場合には、前半データと後半データのそれぞれに5ビットのエラー検知符号を関連付ける必要がある。これに対し、第2実施形態では、上記の如く、前半データと後半データのそれぞれに付与されるエラー検知符号は4ビットであればよい。このように、第2実施形態の記憶装置20の構成は、エラー検知符号のビット数を抑制できる。
また、本発明は、書き込みサイズが128ビットであるエラー検知装置および記憶装置にも適用できる。この場合には、前半データ(64ビット)と後半データ(64ビット)に関連付けられるエラー検知符号はそれぞれ5ビットであり、エラー検知符号P[0]〜P[9]は次のような計算式(生成式)により算出される。なお、この計算式においては、P[0]^P[1]^P[2]^P[3]^P[4](なお、記号“^”は排他的論理和を表す演算記号である)の論理演算を考えた場合に、この演算の計算項として、前半データの各ビット(つまり、D[0]〜D[63])が奇数項含まれるようにする。かつ、その演算の計算項として、後半データの各ビット(つまり、D[64]〜D[127])が偶数項含まれるようにする。また、P[5]^P[6]^P[7]^P[8]^P[9](なお、記号“^”は排他的論理和を表す演算記号である)の論理演算を考えた場合に、この演算の計算項として、前半データの各ビット(つまり、D[0]〜D[63])が偶数項含まれるようにする。かつ、その演算の計算項として、後半データの各ビット(つまり、D[64]〜D[127])が奇数項含まれるようにする。このような場合には、第2実施形態で述べたと同様に、算出値Q[0]〜Q[9]とエラー検知符号P[0]〜P[9]との排他的論理和である算出値E[0]〜E[9]と、図17〜図26に表されるエラー位置検知データとに基づいて、エラー位置が検知される。
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
Figure 2017156940
さらに、第2実施形態では、1ビットエラーの位置を検知する手法が説明されている。これに代えて、検知・訂正部26は、2ビットエラーを検知してもよい。この場合には、例えば、検知・訂正部26は、エラー訂正のために前半データと後半データの両データおよびエラー検知符号を記憶部24から取得した際に算出するE[0]〜E[7]によるビットパターンにより2ビットエラーを検知できる。すなわち、E[0]とE[2]とE[3]とE[4]とE[5]とE[6]とE[7]のうちの少なくとも1つが“1”であり、かつ、E[0]^E[2]^E[3]^E[4]^E[5]^E[6]^E[7](E[0]〜E[7]の排他的論理和)が“0”であれば、2ビットエラーがあると検知できる。
1,28 エラー検知装置
2,25 生成部
3,26 検知・訂正部
5,24 記憶部
8,20 記憶装置

Claims (4)

  1. 書き込みサイズよりも小さい読み出しサイズの複数の分割データにより構成されるデータを記憶する記憶部に前記データを書き込む場合に、その書き込み対象のデータである書き込みデータにおける前記分割データ毎に関連付けられ当該分割データにおけるビットエラーの有無判断に利用できる情報であって、かつ、前記書き込みデータを構成する複数の前記分割データに関連付けられている前記情報に基づいてビットエラーの発生位置を検知できるエラー検知情報を生成する生成部と、
    前記記憶部から前記分割データを読み出す場合に、読み出し対象の前記分割データに関連付けられている前記エラー検知情報を利用することにより、当該分割データにビットエラーが発生しているか否かを判断し、ビットエラーが発生していることを検知した場合には、当該ビットエラーの発生が検知された前記分割データを含む前記データに関連付けられている複数の前記エラー検知情報を利用することによりビットエラーの位置を検知し当該ビットエラーを訂正する検知・訂正部と
    を備えるエラー検知装置。
  2. 前記エラー検知情報は、ECC(Error Correcting Code)手法に基づいて生成される符号である請求項1に記載のエラー検知装置。
  3. 書き込みサイズよりも小さい読み出しサイズの複数の分割データにより構成されるデータを記憶する記憶部と、
    請求項1又は請求項2に記載のエラー検知装置と
    を備える記憶装置。
  4. 書き込みサイズよりも小さい読み出しサイズの複数の分割データにより構成されるデータを記憶する記憶部に前記データを書き込む場合に、その書き込み対象のデータである書き込みデータにおける前記分割データ毎に関連付けられ当該分割データにおけるビットエラーの有無判断に利用できる情報であって、かつ、前記書き込みデータを構成する複数の前記分割データに関連付けられている前記情報に基づいてビットエラーの発生位置を検知できるエラー検知情報を生成し、
    前記記憶部から前記分割データを読み出す場合に、読み出し対象の前記分割データに関連付けられている前記エラー検知情報を利用することにより、当該分割データにビットエラーが発生しているか否かを判断し、
    ビットエラーが発生していることを検知した場合には、当該ビットエラーの発生が検知された前記分割データを含む前記データに関連付けられている複数の前記エラー検知情報を利用することによりビットエラーの位置を検知し当該ビットエラーを訂正する
    エラー訂正方法。
JP2016038939A 2016-03-01 2016-03-01 エラー検知装置、記憶装置およびエラー訂正方法 Active JP6090489B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016038939A JP6090489B1 (ja) 2016-03-01 2016-03-01 エラー検知装置、記憶装置およびエラー訂正方法
US15/446,058 US10423488B2 (en) 2016-03-01 2017-03-01 Error detection device, storage apparatus and error correction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016038939A JP6090489B1 (ja) 2016-03-01 2016-03-01 エラー検知装置、記憶装置およびエラー訂正方法

Publications (2)

Publication Number Publication Date
JP6090489B1 JP6090489B1 (ja) 2017-03-08
JP2017156940A true JP2017156940A (ja) 2017-09-07

Family

ID=58261789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016038939A Active JP6090489B1 (ja) 2016-03-01 2016-03-01 エラー検知装置、記憶装置およびエラー訂正方法

Country Status (2)

Country Link
US (1) US10423488B2 (ja)
JP (1) JP6090489B1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3100347B1 (fr) 2019-09-04 2022-07-22 St Microelectronics Rousset Détection d'erreurs
FR3100346B1 (fr) 2019-09-04 2022-07-15 St Microelectronics Rousset Détection d'erreurs
US11726864B2 (en) * 2020-03-17 2023-08-15 Renesas Electronics Corporation Data processing device and data processing method

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04188243A (ja) * 1990-11-21 1992-07-06 Nippon Steel Corp 記憶装置
JPH05173870A (ja) * 1991-12-20 1993-07-13 Nippon Steel Corp メモリに情報を書き込み読み出す方法及びその装置
JPH10232789A (ja) * 1997-02-19 1998-09-02 Hitachi Ltd Eccパーシャルライト制御ユニット
US6456449B1 (en) * 1997-08-07 2002-09-24 International Business Machines Corporation Disk drive with wide servo burst pattern and wide servo sensing element
JP3678574B2 (ja) * 1998-02-09 2005-08-03 日本電気エンジニアリング株式会社 チェックビット生成回路及びエラー訂正回路並びにそれ等を使用したecc制御回路
JP4723265B2 (ja) * 2005-03-17 2011-07-13 富士通株式会社 エラー検出訂正装置の制御方法、エラー検出訂正装置、情報処理システム、エラー検出訂正装置の制御プログラム、データ処理装置
JP4648255B2 (ja) * 2006-06-26 2011-03-09 アラクサラネットワークス株式会社 情報処理装置および情報処理方法
JP5764392B2 (ja) * 2011-06-13 2015-08-19 株式会社メガチップス メモリコントローラ
US20140068378A1 (en) * 2012-08-31 2014-03-06 Kabushiki Kaisha Toshiba Semiconductor storage device and memory controller
US10162702B2 (en) * 2016-02-01 2018-12-25 Lattice Semiconductor Corporation Segmented error coding for block-based memory

Also Published As

Publication number Publication date
US20170255521A1 (en) 2017-09-07
JP6090489B1 (ja) 2017-03-08
US10423488B2 (en) 2019-09-24

Similar Documents

Publication Publication Date Title
JP4469783B2 (ja) メモリ保護装置、メモリ保護システムおよびメモリ保護方法
US7761779B2 (en) Access control apparatus, access control system, processor, access control method, memory access control apparatus, memory access control system, and memory access control method
JP4643479B2 (ja) アクセス制御装置、アクセス制御システム、プロセッサ、アクセス制御方法およびメモリアクセス制御方法
CN105788648B (zh) 基于异构混合内存的nvm坏块识别处理及纠错方法和系统
KR20090028507A (ko) 비휘발성 메모리 에러 보정 시스템 및 방법
JP6090489B1 (ja) エラー検知装置、記憶装置およびエラー訂正方法
US20100235695A1 (en) Memory apparatus and testing method thereof
JP2010198657A (ja) メモリ装置
US8738989B2 (en) Method and apparatus for detecting free page and a method and apparatus for decoding error correction code using the method and apparatus for detecting free page
US20170091445A1 (en) Technologies for software attack detection using encoded access intent
CN116932424B (zh) 一种基于ecc检测的缓存访问方法、装置、介质和设备
KR101425704B1 (ko) 비트 포이즈닝 장치, 방법, 시스템 및 제품
US11372720B2 (en) Systems and methods for encoding metadata
KR20160008786A (ko) 메모리 데이터의 에러 보정 장치 및 방법
US9354970B2 (en) Method and apparatus for encoding erroneous data in an error correction code protected memory
US11934263B2 (en) Parity protected memory blocks merged with error correction code (ECC) protected blocks in a codeword for increased memory utilization
JP2006323434A (ja) データ処理装置及びそのメモリ訂正方法
US10250279B2 (en) Circuits and methods for writing and reading data
JP5446931B2 (ja) 誤り検出訂正装置及びメモリ装置
JP2012003569A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2011054221A (ja) 記憶装置及び電子機器
US9519539B2 (en) Monitoring data error status in a memory
US20230315571A1 (en) Integrated error correction code (ecc) and parity protection in memory control circuits for increased memory utilization
JP6515555B2 (ja) 演算処理装置、メモリ制御装置及び演算処理装置の制御方法
JP6339487B2 (ja) 半導体集積回路と半導体装置およびエラー検出訂正方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170123

R150 Certificate of patent or registration of utility model

Ref document number: 6090489

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150