JP5870901B2 - 誤り検出訂正装置、不一致検出装置、メモリシステム、および、誤り検出訂正方法 - Google Patents
誤り検出訂正装置、不一致検出装置、メモリシステム、および、誤り検出訂正方法 Download PDFInfo
- Publication number
- JP5870901B2 JP5870901B2 JP2012242975A JP2012242975A JP5870901B2 JP 5870901 B2 JP5870901 B2 JP 5870901B2 JP 2012242975 A JP2012242975 A JP 2012242975A JP 2012242975 A JP2012242975 A JP 2012242975A JP 5870901 B2 JP5870901 B2 JP 5870901B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- unit
- error
- erasure
- 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.)
- Active
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
- G06F11/1012—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 codes or arrangements adapted for a specific type of error
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/373—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/6306—Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Description
1.第1の実施の形態(消失位置を検出して訂正する例)
2.第2の実施の形態(消失位置を検出し、データを置換して訂正する例)
3.第3の実施の形態(閾値を制御するとともに消失位置を検出して訂正する例)
4.第4の実施の形態(不一致を検出してアクセス制御する例)
5.第5の実施の形態(RTNサイクルを決定し、消失位置を検出して訂正する例)
6.第6の実施の形態(温度に応じてRTNサイクルを決定し、消失位置を検出して訂正する例)
[情報処理システムの構成例]
図1は、第1の実施の形態における情報処理システムの一構成例を示すブロック図である。この情報処理システムは、ホストシステム100およびストレージシステム200を備える。
図2は、第1の実施の形態におけるメモリコントローラ300の一構成例を示すブロック図である。このメモリコントローラ300は、RAM(Random Access Memory)301、CPU(Central Processing Unit)302、ECC処理部303およびROM(Read Only Memory)304を備える。また、メモリコントローラ300は、ホストインターフェース305、バス306および不揮発性メモリインターフェース307を備える。
図5は、第1の実施の形態におけるリード処理部320の一構成例を示すブロック図である。このリード処理部320は、リードコマンドバッファ321、RTNサイクルカウンタ322、符号語リード部323、リードデータバッファ324、誤り訂正部325および消失位置検出部328を備える。
図7は、第1の実施の形態における誤り訂正部325の一構成例を示すブロック図である。この誤り訂正部325は、リードデータ誤り検出訂正部326および消失訂正部327を備える。
図9は、第1の実施の形態におけるメモリコントローラ300の動作の一例を示すフローチャートである。この動作は、例えば、メモリコントローラ300に電源が投入されたときに開始する。
第1の実施の形態では、メモリコントローラ300は、最初の消失訂正に失敗するとホストシステム100にリードエラーを出力していたが、消失訂正に失敗した場合に再度、消失訂正を実行してもよい。変形例のメモリコントローラ300は、消失訂正に失敗した場合に再度、消失訂正を実行する点において第1の実施の形態と異なる。
[リード処理部の構成例]
第1の実施の形態では、消失訂正において誤り訂正能力を超える不一致が生じた場合にはメモリコントローラ300は消失訂正に失敗したと判断していた。しかし、メモリコントローラ300は、誤り訂正能力を超える数の不一致が生じた場合に、誤り訂正能力と不一致のデータ数との差分に該当する個数の不一致のデータを特定の値のデータに置換し、誤り訂正能力の範囲内で消失訂正を行ってもよい。第2の実施の形態のメモリコントローラ300は、誤り訂正能力と不一致のデータ数との差分に該当する個数の不一致のデータを特定の値のデータに置換して、誤り訂正能力の範囲内で消失訂正を行う点において第1の実施の形態と異なる。
図14は、第2の実施の形態におけるリード処理の一例を示すフローチャートである。第2の実施の形態のリード処理は、ステップS947およびS948をさらに実行する点において第1の実施の形態と異なる。
[リード処理部の構成例]
第1の実施の形態では、メモリコントローラ300は、メモリアドレスに保持されたビットの値が2値のうちのいずれであるかを判断するための閾値を制御しないでリードデータを読み出していた。しかし、メモリコントローラ300は、閾値を制御してリードデータを読み出してもよい。異なる値に閾値を制御して読み出すことにより、ランダムテレグラフノイズ以外の要因による消失位置が検出される。第3の実施の形態のリード処理部320は、閾値を制御してリードデータを読み出す点において第1の実施の形態と異なる。
かに対応付けることにより、可変抵抗素子はメモリセルとして機能する。論理0値または論理1値の何れに対応付けるかは任意である。例えば、高抵抗状態が論理1値に対応付けられ、低抵抗状態が論理0値に対応付けられる。
図17は、第3の実施の形態における符号語リード部330の一構成例を示すブロック図である。符号語リード部330は、送信タイミング制御部331および閾値制御部332を備える。
図18は、第3の実施の形態における消失位置検出部340の一構成例を示すブロック図である。消失位置検出部340は、閾値制御消失位置検出部341およびタイミング制御消失位置検出部342を備える。
図19は、第3の実施の形態におけるリード処理の一例を示すフローチャートである。第3の実施の形態のリード処理は、ステップS961乃至S965をさらに実行する点において第1の実施の形態と異なる。
[メモリコントローラの構成例]
第1の実施の形態では、メモリコントローラ300は、RTNによる不一致の有無の検出結果に関わりなく、不揮発性メモリ400にアクセスしていた。しかし、メモリコントローラ300は、不一致の有無の検出結果に応じて、そのメモリアドレスに対するアクセスを制御することもできる。第4の実施の形態のメモリコントローラ300は、不一致の有無の検出結果に応じてメモリアドレスへのアクセスを制御する点において第1の実施の形態と異なる。
図21は、第4の実施の形態におけるメモリ検査部350の一構成例を示すブロック図である。このメモリ検査部350は、リードコマンド発行部351、リードコマンドバッファ352、RTNサイクルカウンタ353、符号語リード部354、リードデータバッファ355、不一致検出部356および不良アドレス通知部357を備える。
図22は、第4の実施の形態におけるメモリコントローラの動作の一例を示すフローチャートである。第4の実施の形態のメモリコントローラ300の動作は、ステップS910をさらに実行する点において第1の実施の形態と異なる。
[メモリコントローラの構成例]
第1の実施の形態では、予め設定されたRTNサイクルの値に基づいてデータの誤りを訂正していた。しかし、不一致の検出頻度が最も高くなるサイクルは、不揮発性メモリ400の製品ごとの特性のばらつきや温度条件などにより変動することもあるため、予め設定されたRTNサイクルが、実際のRTNサイクルの値と異なる場合もある。このため、メモリコントローラ300自身が、制御対象の不揮発性メモリ400におけるRTNによる不一致の検出頻度を測定し、その測定値に応じてRTNサイクルを設定することが望ましい。第5の実施の形態のメモリコントローラ300は、制御対象の不揮発性メモリ400のRTNによる不一致の検出頻度を測定して、その測定値に応じてRTNサイクルを設定する点において第1の実施の形態と異なる。
図25は、第5の実施の形態におけるRTNサイクル設定部370の一構成例を示すブロック図である。このRTNサイクル設定部370は、リードコマンド発行部371、リードコマンドバッファ372、候補サイクルカウンタ373、候補サイクル設定部374および符号語リード部375を備える。また、RTNサイクル設定部370は、リードデータバッファ376、不一致検出部377、不一致数計数部378およびRTNサイクル設定回路379を備える。
図27は、第5の実施の形態におけるメモリコントローラ300の動作の一例を示すフローチャートである。第5の実施の形態のメモリコントローラ300の動作はステップS920をさらに実行する点において第1の実施の形態と異なる。
[メモリコントローラの構成例]
第1の実施の形態では、メモリコントローラ300は、一定のRTNサイクルに基づいて消失位置を検出していた。しかし、RTNサイクルの長さは、温度に応じて変わる場合がある。第6の実施の形態のメモリコントローラ300は温度に応じてRTNサイクルの長さを変更する点において第1の実施の形態と異なる。
(1)消失位置の検出により誤り訂正能力が向上する複数の符号要素からなる符号語をリードデータとしてメモリアドレスから読み出すリード処理を実行し、前記リードデータを読み出したときから所定時間が経過したときに前記符号語を再リードデータとして前記メモリアドレスから読み出す再リード処理を実行する符号語読出部と、
前記リードデータおよび前記再リードデータにおいて前記符号要素ごとに値が一致するか否かを判断して値が一致しない前記符号要素の位置を前記符号語における前記消失位置として検出するタイミング制御消失位置検出部と、
前記消失位置が検出された前記符号語において前記消失位置に基づいて誤りを訂正する誤り訂正部と
を具備する誤り検出訂正装置。
(2)前記誤り訂正部は、前記検出された消失位置の総数が前記誤り訂正能力に応じた所定数より多い場合には前記検出された消失位置のうち前記消失位置の総数と前記所定数との差分に該当する個数の位置を消失位置でないものとして誤りを訂正する
前記(1)記載の誤り検出訂正装置。
(3)前記検出された消失位置の総数が前記所定数より多い場合には前記差分に該当する個数の前記消失位置において前記符号要素を特定の値のデータに置き換えて前記誤り訂正部に供給するデータ置換部をさらに具備し、
前記誤り訂正部は、前記特定の値のデータに置き換られた位置は前記消失位置でないものとして誤りを訂正する
前記(2)記載の誤り検出訂正装置。
(4)前記特定の値は、2値のうちの一方の値の前記符号要素が他方の値に反転する確率と前記他方の値の前記符号要素が前記一方の値に反転する確率とに基づいて決定された値である
前記(3)記載の誤り検出装置。
(5)前記メモリアドレスに保持された前記符号要素の値が2値のうちのいずれであるかを判断するための閾値を第1の値に制御して前記メモリアドレスから前記符号語を第1のデータとして読み出し、前記閾値を前記第1の値とは異なる第2の値に制御して前記メモリアドレスから前記符号語を第2のデータとして読み出す閾値制御読出部と、
前記第1および第2のデータにおいて前記符号要素ごとに値が一致するか否かを判断して値が一致しない前記符号要素の位置を前記符号語における前記消失位置として検出する閾値制御消失位置検出部と
をさらに具備し、
前記誤り訂正部は、前記タイミング制御消失位置検出部により前記消失位置が検出された前記符号語と前記閾値制御消失位置検出部により前記消失位置が検出された前記符号語との各々において誤りを訂正する
前記(1)乃至(4)のいずれかに記載の誤り検出訂正装置。
(6)前記符号語読出部により前記リード処理が実行されると前記リードデータにおける誤りの有無を検出するリードデータ誤り検出部をさらに具備し、
前記符号語読出部は、前記リードデータ誤り検出部により前記誤りが検出されると前記再リード処理を実行する
前記(1)乃至(5)のいずれかに記載の誤り検出訂正装置。
(7)温度を取得する温度取得部と、
前記リード処理が実行される前に前記温度に応じて前記所定時間の長さを決定する決定部と
をさらに具備し、
前記符号語読出部は、前記所定時間の長さが決定されると前記リード処理を実行する
前記(1)乃至(6)のいずれかに記載の誤り検出訂正装置。
(8) 複数の符号要素からなる符号語をリードデータとしてメモリアドレスから読み出すリード処理を実行し、前記リードデータを読み出したときから所定時間が経過したときに前記符号語を再リードデータとして前記メモリアドレスから読み出す再リード処理を実行する符号語読出部と、
前記リードデータと前記再リードデータとが不一致であるか否かを検出する不一致検出部と、
前記不一致であることが検出された場合には前記メモリアドレスをアクセスが禁止されるアドレスである不良アドレスとして登録する登録部と
具備する不一致検出装置。
(9)前記不一致検出部は、前記符号要素ごとに値が不一致であるか否かを判断し、
前記登録部は、前記不一致であると判断された前記符号要素の数が所定の閾値を超えた場合には前記メモリアドレスを前記不良アドレスとして登録する
前記(8)記載の不一致検出装置。
(10)長さの異なる複数の時間を候補時間として順に供給する供給部と、
複数の符号要素からなる符号語をリードデータとしてメモリアドレスから読み出すリード処理と前記リードデータを読み出したときから前記候補時間が経過したときに前記符号語を再リードデータとして前記メモリアドレスから読み出す再リード処理とのそれぞれを前記候補時間が設定されるたびに一定回数実行する符号語読出部と、
前記リード処理および前記再リード処理が実行されるたびに前記リードデータと前記再リードデータとが不一致であるか否かを検出する不一致検出部と、
前記複数の時間の各々について前記不一致であると検出された回数を計数する計数部と、
前記検出回数に基づいて前記複数の時間のうち前記不一致であると検出された頻度が最も高い時間を設定する設定部と
を具備する不一致検出装置。
(11)消失位置の検出により誤り訂正能力が向上する複数の符号要素からなる符号語をメモリアドレスに記憶するメモリと、
前記符号語をリードデータとしてメモリアドレスから読み出すリード処理を実行し、前記リードデータを読み出したときから所定時間が経過したときに前記符号語を再リードデータとして前記メモリアドレスから読み出す再リード処理を実行する符号語読出部と、
前記リードデータおよび前記再リードデータにおいて前記符号要素ごとに値が一致するか否かを判断して値が一致しない前記符号要素の位置を前記符号語における前記消失位置として検出するタイミング制御消失位置検出部と、
前記消失位置が検出された前記符号語において前記消失位置に基づいて誤りを訂正する誤り訂正部と
を具備するメモリシステム。
(12)符号語読出部が、消失位置の検出により誤り訂正能力が向上する複数の符号要素からなる符号語をリードデータとしてメモリアドレスから読み出すリード処理を実行し、前記リードデータを読み出したときから所定時間が経過したときに前記符号語を再リードデータとして前記メモリアドレスから読み出す再リード処理を実行する符号語読出手順と、
タイミング制御消失位置検出部が、前記リードデータおよび前記再リードデータにおいて前記符号要素ごとに値が一致するか否かを判断して値が一致しない前記符号要素の位置を前記符号語における前記消失位置として検出するタイミング制御消失位置検出手順と、
誤り訂正部が、前記消失位置が検出された前記符号語において前記消失位置に基づいて誤りを訂正する誤り訂正手順と
を具備する誤り検出訂正方法。
200 ストレージシステム
300 メモリコントローラ
301 RAM
302 CPU
303 ECC処理部
304 ROM
305 ホストインターフェース
306 バス
307 不揮発性メモリインターフェース
310 ライト処理部
320 リード処理部
321、352、372 リードコマンドバッファ
322、353 RTNサイクルカウンタ
323、330、354、375 符号語リード部
324、355、376 リードデータバッファ
325 誤り訂正部
326 リードデータ誤り検出訂正部
327 消失訂正部
328、340 消失位置検出部
329 データ置換部
331 送信タイミング制御部
332 閾値制御部
341 閾値制御消失位置検出部
342 タイミング制御消失位置検出部
350 メモリ検査部
351、371 リードコマンド発行部
356、377 不一致検出部
357 不良アドレス通知部
360 アクセス制御部
370 RTNサイクル設定部
373 候補サイクルカウンタ
374 候補サイクル設定部
378 不一致数計数部
379 RTNサイクル設定回路
380 温度取得部
390 RTNサイクル決定部
400 不揮発性メモリ
Claims (12)
- 消失位置の検出により誤り訂正能力が向上する複数の符号要素からなる符号語をリードデータとしてメモリアドレスから読み出すリード処理を実行し、前記リードデータを読み出したときから所定時間が経過したときに前記符号語を再リードデータとして前記メモリアドレスから読み出す再リード処理を実行する符号語読出部と、
前記リードデータおよび前記再リードデータにおいて前記符号要素ごとに値が一致するか否かを判断して値が一致しない前記符号要素の位置を前記符号語における前記消失位置として検出するタイミング制御消失位置検出部と、
前記消失位置が検出された前記符号語において前記消失位置に基づいて誤りを訂正する誤り訂正部と
を具備する誤り検出訂正装置であって、
前記所定時間は、ランダムテレグラフノイズによりデータの値が変動する周期である
誤り検出訂正装置。 - 前記誤り訂正部は、前記検出された消失位置の総数が前記誤り訂正能力に応じた所定数より多い場合には前記検出された消失位置のうち前記消失位置の総数と前記所定数との差分に該当する個数の位置を消失位置でないものとして誤りを訂正する
請求項1記載の誤り検出訂正装置。 - 前記検出された消失位置の総数が前記所定数より多い場合には前記差分に該当する個数の前記消失位置において前記符号要素を特定の値のデータに置き換えて前記誤り訂正部に供給するデータ置換部をさらに具備し、
前記誤り訂正部は、前記特定の値のデータに置き換られた位置は前記消失位置でないものとして誤りを訂正する
請求項2記載の誤り検出訂正装置。 - 前記特定の値は、2値のうちの一方の値の前記符号要素が他方の値に反転する確率と前記他方の値の前記符号要素が前記一方の値に反転する確率とに基づいて決定された値である
請求項3記載の誤り検出訂正装置。 - 前記メモリアドレスに保持された前記符号要素の値が2値のうちのいずれであるかを判断するための閾値を第1の値に制御して前記メモリアドレスから前記符号語を第1のデータとして読み出し、前記閾値を前記第1の値とは異なる第2の値に制御して前記メモリアドレスから前記符号語を第2のデータとして読み出す閾値制御読出部と、
前記第1および第2のデータにおいて前記符号要素ごとに値が一致するか否かを判断して値が一致しない前記符号要素の位置を前記符号語における前記消失位置として検出する閾値制御消失位置検出部と
をさらに具備し、
前記誤り訂正部は、前記タイミング制御消失位置検出部により前記消失位置が検出された前記符号語と前記閾値制御消失位置検出部により前記消失位置が検出された前記符号語との各々において誤りを訂正する
請求項1記載の誤り検出訂正装置。 - 前記符号語読出部により前記リード処理が実行されると前記リードデータにおける誤りの有無を検出するリードデータ誤り検出部をさらに具備し、
前記符号語読出部は、前記リードデータ誤り検出部により前記誤りが検出されると前記再リード処理を実行する
請求項1記載の誤り検出訂正装置。 - 温度を取得する温度取得部と、
前記リード処理が実行される前に前記温度に応じて前記所定時間の長さを決定する決定部と
をさらに具備し、
前記符号語読出部は、前記所定時間の長さが決定されると前記リード処理を実行する
請求項1記載の誤り検出訂正装置。 - 複数の符号要素からなる符号語をリードデータとしてメモリアドレスから読み出すリード処理を実行し、前記リードデータを読み出したときから所定時間が経過したときに前記符号語を再リードデータとして前記メモリアドレスから読み出す再リード処理を実行する符号語読出部と、
前記リードデータと前記再リードデータとが不一致であるか否かを検出する不一致検出部と、
前記不一致であることが検出された場合には前記メモリアドレスをアクセスが禁止されるアドレスである不良アドレスとして登録する登録部と
具備する不一致検出装置であって、
前記所定時間は、ランダムテレグラフノイズによりデータの値が変動する周期である
不一致検出装置。 - 前記不一致検出部は、前記符号要素ごとに値が不一致であるか否かを判断し、
前記登録部は、前記不一致であると判断された前記符号要素の数が所定の閾値を超えた場合には前記メモリアドレスを前記不良アドレスとして登録する
請求項8記載の不一致検出装置。 - 長さの異なる複数の時間をランダムテレグラフノイズによりデータの値が変動する周期に等しい所定時間の候補時間として順に供給する供給部と、
複数の符号要素からなる符号語をリードデータとしてメモリアドレスから読み出すリード処理と前記リードデータを読み出したときから前記候補時間が経過したときに前記符号語を再リードデータとして前記メモリアドレスから読み出す再リード処理とのそれぞれを前記候補時間が設定されるたびに一定回数実行する符号語読出部と、
前記リード処理および前記再リード処理が実行されるたびに前記リードデータと前記再リードデータとが不一致であるか否かを検出する不一致検出部と、
前記複数の時間の各々について前記不一致であると検出された回数を計数する計数部と、
前記検出回数に基づいて前記複数の時間のうち前記不一致であると検出された頻度が最も高い時間を前記所定時間として設定する設定部と
を具備する不一致検出装置。 - 消失位置の検出により誤り訂正能力が向上する複数の符号要素からなる符号語をメモリアドレスに記憶するメモリと、
前記符号語をリードデータとしてメモリアドレスから読み出すリード処理を実行し、前記リードデータを読み出したときから所定時間が経過したときに前記符号語を再リードデータとして前記メモリアドレスから読み出す再リード処理を実行する符号語読出部と、
前記リードデータおよび前記再リードデータにおいて前記符号要素ごとに値が一致するか否かを判断して値が一致しない前記符号要素の位置を前記符号語における前記消失位置として検出するタイミング制御消失位置検出部と、
前記消失位置が検出された前記符号語において前記消失位置に基づいて誤りを訂正する誤り訂正部と
を具備するメモリシステムであって
前記所定時間は、ランダムテレグラフノイズによりデータの値が変動する周期である
メモリシステム。 - 符号語読出部が、消失位置の検出により誤り訂正能力が向上する複数の符号要素からなる符号語をリードデータとしてメモリアドレスから読み出すリード処理を実行し、前記リードデータを読み出したときから所定時間が経過したときに前記符号語を再リードデータとして前記メモリアドレスから読み出す再リード処理を実行する符号語読出手順と、
タイミング制御消失位置検出部が、前記リードデータおよび前記再リードデータにおいて前記符号要素ごとに値が一致するか否かを判断して値が一致しない前記符号要素の位置を前記符号語における前記消失位置として検出するタイミング制御消失位置検出手順と、
誤り訂正部が、前記消失位置が検出された前記符号語において前記消失位置に基づいて誤りを訂正する誤り訂正手順と
を具備する誤り検出訂正方法であって
前記所定時間は、ランダムテレグラフノイズによりデータの値が変動する周期である
誤り検出訂正方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012242975A JP5870901B2 (ja) | 2012-11-02 | 2012-11-02 | 誤り検出訂正装置、不一致検出装置、メモリシステム、および、誤り検出訂正方法 |
US14/049,248 US9110827B2 (en) | 2012-11-02 | 2013-10-09 | Error detection and correction apparatus, mismatch detection apparatus, memory system and error detection and correction method |
CN201310513810.2A CN103811075B (zh) | 2012-11-02 | 2013-10-25 | 错误检测和纠正装置及方法、失配检测装置及存储器系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012242975A JP5870901B2 (ja) | 2012-11-02 | 2012-11-02 | 誤り検出訂正装置、不一致検出装置、メモリシステム、および、誤り検出訂正方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014093654A JP2014093654A (ja) | 2014-05-19 |
JP5870901B2 true JP5870901B2 (ja) | 2016-03-01 |
Family
ID=50623536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012242975A Active JP5870901B2 (ja) | 2012-11-02 | 2012-11-02 | 誤り検出訂正装置、不一致検出装置、メモリシステム、および、誤り検出訂正方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9110827B2 (ja) |
JP (1) | JP5870901B2 (ja) |
CN (1) | CN103811075B (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10489243B2 (en) | 2017-03-13 | 2019-11-26 | Toshiba Memory Corporation | Memory controller and memory system |
US10666467B2 (en) | 2017-11-17 | 2020-05-26 | Samsung Electronics Co., Ltd. | Memory device and operation method thereof |
US11074171B2 (en) | 2017-11-02 | 2021-07-27 | Samsung Electronics Co., Ltd. | Data storage device for recovering read errors |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102089532B1 (ko) * | 2013-02-06 | 2020-03-16 | 삼성전자주식회사 | 메모리 컨트롤러, 메모리 시스템 및 메모리 시스템의 동작 방법 |
US9489252B1 (en) | 2013-11-08 | 2016-11-08 | Amazon Technologies, Inc. | File recovery using diverse erasure encoded fragments |
US9753807B1 (en) | 2014-06-17 | 2017-09-05 | Amazon Technologies, Inc. | Generation and verification of erasure encoded fragments |
KR102318561B1 (ko) | 2014-08-19 | 2021-11-01 | 삼성전자주식회사 | 스토리지 장치, 스토리지 장치의 동작 방법 |
US9489254B1 (en) * | 2014-09-29 | 2016-11-08 | Amazon Technologies, Inc. | Verification of erasure encoded fragments |
US9552254B1 (en) | 2014-09-29 | 2017-01-24 | Amazon Technologies, Inc. | Verification of erasure encoded fragments |
GB201710839D0 (en) * | 2017-07-05 | 2017-08-16 | Irdeto Bv | Data protection |
KR102370278B1 (ko) * | 2017-11-30 | 2022-03-07 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러, 이를 포함하는 메모리 시스템, 및 그의 동작방법 |
JP7213130B2 (ja) | 2019-04-24 | 2023-01-26 | 株式会社メガチップス | 不揮発性記憶装置、データ読み出し方法、および、プログラム |
CN113656218A (zh) * | 2021-07-23 | 2021-11-16 | 深圳市宏旺微电子有限公司 | 闪存数据重读方法、装置及计算机可读存储介质 |
US11861175B2 (en) * | 2022-03-10 | 2024-01-02 | International Business Machines Corporation | Latency in data storage systems |
US11761057B1 (en) * | 2022-03-28 | 2023-09-19 | Lyten, Inc. | Method for refining one or more critical minerals |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3708619B2 (ja) * | 1996-03-25 | 2005-10-19 | 株式会社東芝 | 消失フラグを用いたエラー訂正システム |
JP4824936B2 (ja) * | 2005-03-10 | 2011-11-30 | 株式会社日立製作所 | ダイナミック・ランダム・アクセス・メモリ装置の検査方法 |
KR101466270B1 (ko) * | 2008-09-19 | 2014-11-28 | 삼성전자주식회사 | 비휘발성 메모리 시스템 및 그것의 데이터 처리 방법 |
JP2010108029A (ja) * | 2008-10-28 | 2010-05-13 | Panasonic Corp | 不揮発性メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |
CN102141944B (zh) * | 2010-02-02 | 2012-12-12 | 慧荣科技股份有限公司 | 用来减少无法更正的错误的方法以及记忆装置及其控制器 |
JP2012089085A (ja) * | 2010-10-22 | 2012-05-10 | Toshiba Corp | 半導体メモリ装置および半導体メモリシステム |
-
2012
- 2012-11-02 JP JP2012242975A patent/JP5870901B2/ja active Active
-
2013
- 2013-10-09 US US14/049,248 patent/US9110827B2/en active Active
- 2013-10-25 CN CN201310513810.2A patent/CN103811075B/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10489243B2 (en) | 2017-03-13 | 2019-11-26 | Toshiba Memory Corporation | Memory controller and memory system |
US11074171B2 (en) | 2017-11-02 | 2021-07-27 | Samsung Electronics Co., Ltd. | Data storage device for recovering read errors |
US10666467B2 (en) | 2017-11-17 | 2020-05-26 | Samsung Electronics Co., Ltd. | Memory device and operation method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP2014093654A (ja) | 2014-05-19 |
CN103811075B (zh) | 2018-02-02 |
US9110827B2 (en) | 2015-08-18 |
US20140129904A1 (en) | 2014-05-08 |
CN103811075A (zh) | 2014-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5870901B2 (ja) | 誤り検出訂正装置、不一致検出装置、メモリシステム、および、誤り検出訂正方法 | |
JP6686892B2 (ja) | メモリコントローラ、メモリシステム、および、メモリコントローラの制御方法 | |
US8887032B1 (en) | Defect detection and correction via monitoring of syndromes and bit flips in decoder | |
KR101750662B1 (ko) | 데이터 에러 교정용 회로, 장치, 및 방법 | |
JP6540703B2 (ja) | メモリコントローラおよびメモリコントローラの制御方法 | |
JP6339137B2 (ja) | メモリデバイス、および記憶されているビットシーケンスを訂正するための方法 | |
US10333558B2 (en) | Decoding device and decoding method | |
CN105788648B (zh) | 基于异构混合内存的nvm坏块识别处理及纠错方法和系统 | |
US8225175B2 (en) | Two-plane error correction method for a memory device and the memory device thereof | |
US8332727B2 (en) | Error correction circuit, flash memory system including the error correction circuit, and operating method of the error correction circuit | |
KR100905712B1 (ko) | 에러 정정 코드를 이용한 병렬 비트 테스트 장치 | |
KR101527690B1 (ko) | 낸드 플래시 메모리 테스트 인터페이스 장치 및 그 운용방법 | |
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 | |
US10025652B2 (en) | Error location pointers for non volatile memory | |
US20170322842A1 (en) | Memory controller, memory system, and method of controlling memory controller | |
US11424765B2 (en) | ECC decoders having low latency | |
JP2015106872A (ja) | 誤り訂正装置、誤り訂正方法およびプログラム | |
JP2008305451A (ja) | フラッシュメモリの状態検出方法 | |
JP2020150515A (ja) | 誤り訂正回路及びメモリシステム | |
TWI855076B (zh) | 具有低延遲的錯誤校正碼ecc解碼器 | |
JP2019028952A (ja) | 記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150121 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150721 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150728 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150901 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150929 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151030 |
|
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: 20151215 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151228 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5870901 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |