JP4595342B2 - 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム - Google Patents

記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム Download PDF

Info

Publication number
JP4595342B2
JP4595342B2 JP2004043101A JP2004043101A JP4595342B2 JP 4595342 B2 JP4595342 B2 JP 4595342B2 JP 2004043101 A JP2004043101 A JP 2004043101A JP 2004043101 A JP2004043101 A JP 2004043101A JP 4595342 B2 JP4595342 B2 JP 4595342B2
Authority
JP
Japan
Prior art keywords
data
physical storage
storage area
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.)
Expired - Fee Related
Application number
JP2004043101A
Other languages
English (en)
Other versions
JP2005234883A (ja
Inventor
孝 立河
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 JP2004043101A priority Critical patent/JP4595342B2/ja
Priority to EP05003069A priority patent/EP1577774A3/en
Priority to CNB2005100077979A priority patent/CN100357899C/zh
Priority to US11/060,553 priority patent/US7437600B2/en
Publication of JP2005234883A publication Critical patent/JP2005234883A/ja
Application granted granted Critical
Publication of JP4595342B2 publication Critical patent/JP4595342B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、記憶装置のデータ書き込みおよび読み出し方法並びにデータ記憶システムに関し、特に、フラッシュメモリ等の半導体記憶装置に対するデータの書き込みおよび読み出し方法並びにデータ記憶システムに関する。
コンピュータ、PDA(Personal Data Assistance、Personal Digital Assistants:個人向け携帯型情報通信機器)、家庭用ゲーム機、デジタルカメラ、または携帯電話機、PHS(Personal Handy-phone System)などの情報機器において、半導体メモリなどに代表されるデータ記憶デバイスの記憶容量は年々増加の一途をたどっている。特に電気的に記憶の消去・書き込みができるROM(Read Only Memory)であるフラッシュメモリは、外部から電力を供給しなくても記憶が消えない不揮発タイプのメモリであり、各方面において多用されている。
またフラッシュメモリは、全データ一括またはデータ消去の単位であるブロック毎に消去し、またブロック単位にデータの書き込みまたは読み出しが行われるという特徴を有している(特許文献1、2等参照)。
従来、フラッシュメモリは製造面、価格面などの制約から、搭載容量が他の記憶デバイスと比較して小容量であったが、比較的安価に大容量のメモリが製造可能なNAND型フラッシュメモリや、多値論理タイプのNOR型フラッシュメモリの開発により、大容量タイプのメモリが登場したこと、デジタルカメラの普及、携帯電話の高機能化などによる大容量不揮発メモリの需要の増大により、不揮発タイプの半導体メモリにおける記憶容量は著しく増加している。
しかし、NAND型メモリはその構成上多くの場合において、メーカー出荷時点からある一定の不良領域を含むことが前提となっており、またメーカー出荷後にある一定確率または一定量の不良が発生することも前提となっていることが多い。さらに従来、他の記憶デバイスと比較してデータの蓄積という点では高信頼性を有していたNOR型フラッシュメモリも多値化などによりその信頼性は従来よりも低くなっている。
特開2000−173289号公報 特開2002−288034号公報
このように、フラッシュメモリなどの記憶デバイスでは、大容量化の影響によりデータの信頼性が従来よりも低くなってきており、システム動作に直接影響するような重要なデータを格納する手段としてそのまま利用することが困難な状況も生じている。そのため、一度不具合を生じた記憶領域は以後使用しないことが多く、代替の領域のために予備領域を多数用意しておく必要が生じ、記憶容量を効率的に利用することが難しくなってきている。
また、従来、データのエラー訂正のためにある任意のデータ単位毎にパリティ等の冗長的なデータを付加することにより、エラー検出、エラー訂正を行っている(特許文献1、2等参照)が、通常このエラー訂正データと対になるデータの一部またはすべてが、単一の物理的な記憶領域内に記憶されているため、物理的な不具合によりデータエラー等が発生した場合には一まとまりのデータのうち大部分が失われてしまい、エラー訂正を行うことが不可能となるという問題があった。
本発明の目的は、上記問題点に鑑み、フラッシュメモリなどの半導体記憶デバイスにおける記憶データの信頼性を高めるとともに、不具合となった領域も再利用することによって記憶領域の効率的な利用を可能にする手段を提供することにある。
本発明は、それぞれが複数のデータ記憶エリアを備えた複数の物理記憶領域からなり、各物理記憶領域単位で、データの書き込み、または読み出し動作が一括して実行される記憶手段を有する記憶装置のデータ書き込み、読み出し方法において、前記記憶手段へのデータ格納時には、上位ホストから入力される前記物理記憶領域単位毎に書き込まれるべき一連のデータを並び替えることによって複数の前記物理記憶領域に分離して書き込み、前記記憶手段からのデータ読み出し時には、前記複数の物理記憶領域の各物理記憶領域からそれぞれ一括して読み出されたデータを再度並び替えることにより、前記入力された一連のデータに戻して出力することを特徴とする。
また、前記複数の物理記憶領域における各対応位置にそれぞれ書き込まれたデータに対するエラーを訂正するためのエラー訂正データが書き込まれたエラー訂正用物理記憶領域が設けられており、前記複数の物理記憶領域に格納されたデータにエラーが検出されたとき、該データエラーが検出された物理記憶領域の全てのデータについて検査を行い、正常データは代替用の物理記憶領域における対応位置に退避書き込みを行うとともに、エラーデータは前記エラー訂正用物理記憶領域のエラー訂正データを用いて訂正して前記代替用の物理記憶領域における対応位置に書き込み、前記データエラーが検出された物理記憶領域のデータは全て消去することを特徴とする。
そして、前記データエラーが検出された物理記憶領域のデータ消去を実行した結果、全てのデータ消去に成功したときには、当該物理記憶領域を代替候補物理記憶領域として登録して再度代替物理記憶領域として使用可能にし、前記データエラーが検出された物理記憶領域の全てのデータを消去できなかったときには、当該物理記憶領域をNG物理記憶領域として登録して、以後、当該物理記憶領域は使用しないようにする。
また、本発明のデータ記憶システムは、それぞれが複数のデータ記憶エリアを備えた複数の物理記憶領域からなり、各物理記憶領域単位でデータの書き込みまたは読み出し動作が一括して実行される記憶手段と、上位ホストから入力された前記記憶手段への書き込みデータを並び替えて前記記憶手段へ出力する機能と、前記記憶手段から読み出されたデータを並び替えて前記上位ホストへ出力する機能を有する並び替え手段と、前記記憶手段および並び替え手段の動作を制御する制御手段を備えており、前記並び替え手段は、前記上位ホストから入力される前記物理記憶領域単位毎に書き込まれるべき一連のデータを並び替えることによって複数の前記物理記憶領域に分離して書き込む機能と、前記複数の物理記憶領域の各物理記憶領域からそれぞれ一括して読み出されたデータを再度並び替えることにより、前記入力された一連のデータに戻して出力する機能を有していることを特徴とする。
また、前記記憶手段には、前記複数の物理記憶領域における各対応位置にそれぞれ書き込まれたデータのエラーを訂正するためのエラー訂正データが書き込まれたエラー訂正用物理記憶領域が設けられており、前記制御手段は、前記記憶手段に格納されたデータにエラーが検出されたとき、該エラーが検出された物理記憶領域の全てのデータについて検査を行い、該検査の結果正常と判定されたデータを代替用の物理記憶領域における対応位置に退避書き込むとともに、エラーと判定されたデータを前記エラー訂正用物理記憶領域のエラー訂正データを用いて訂正して前記代替用の物理記憶領域における対応位置に書き込み、前記エラーが検出された物理記憶領域のデータを全て消去する制御を実行する機能を有していることを特徴とする。
即ち本発明では、フラッシュメモリなどのデータ記憶システムにおいて、各データを、不具合が生じる物理的単位の記憶領域にまたがってデータおよびエラー訂正情報が配置される構成とすることにより、ある任意の不具合の生じる物理的な単位のデータ記憶領域が不具合を生じた場合においても、容易に元のデータの復元を可能にすることを特徴とする。
本発明によれば、1つの物理記憶領域に格納されるべき一連のデータを、複数の物理記憶領域に分離して格納し、そのエラー訂正データもまた別の物理記憶領域に格納しているので、製造時の欠陥、電気的なマイグレーションや静電気などによる破壊など特定の領域に発生する各種不具合により、1つまたはエラー訂正可能な任意の数の物理記憶領域がデータ読み出し不可能になった場合でも、容易にデータを復元することが可能となる。
また、エラーが発生した物理記憶領域でも、消去を行って再利用可能な場合には再度利用する動作をしているので、データの長期保存性が劣る記憶デバイスであっても、ある程度の信頼性をもって利用することが可能となる。
さらに、データ格納方法が従来のデータ格納方法と異なり、本来1つの物理記憶領域に格納されるべき一連のデータを複数の物理記憶領域に分離して格納していること、加えてデータ格納の順番を暗号化すること等により、書き込み済みの記憶デバイスのみを他のシステムに接続してもデータを正常に読み出すことができない構成とすることが可能であり、セキュリティー用途として用いることも可能である。
図1は、本発明の第1の実施形態を示すデータ記憶システムのブロック図である。
本実施形態のデータ記憶システムは、物理記憶領域111、物理記憶領域112、・・・、物理記憶領域11nのn個の物理的に分かれた記憶領域を含む記憶手段104を有している。ここでいう物理記憶領域とは、データの書き込み、読み出し、消去などのいずれかもしくは全ての行為に対して同時に動作する一まとまりの機能を有する記憶領域であり、製造時の欠陥、電気的なマイグレーションや静電気などによる破壊など特定の領域に発生する不具合、また制御回路の不良や、電源電圧の安定性の影響による不具合などの各種不具合の発生する一まとまりの領域を示している。
図2は、その具体的な例として、一般的なフラッシュメモリにおけるデータ記憶構成を示している。フラッシュメモリでは、バイト単位、ワード単位などの、データ読み書きの最小単位のデータが、データ1からデータXまで一まとめにされ、この連続するX個のデータのかたまりが1ページとして記憶される。そして、通常高速読み込み対応型のフラッシュメモリでは、このページ単位の読み込み機能を有していることが多い。
また、ここでこのページをY個一まとめにしたかたまりを1ブロックとする。通常フラッシュメモリではEEPROM(Electronically Erasable and Programmable Read Only Memory)などとは違い、このブロック単位での消去しかできない。またNAND型フラッシュメモリではそれに加えて、通常このブロック単位での読み書きしかできない。ここでは、このブロックZ個のまとまりが1つのフラッシュメモリを構成するものとする。本実施形態では、具体例として、ここで定義したブロックを物理記憶領域の単位とし、Z個の物理記憶領域がある記憶装置をその対象として説明する。
本実施形態におけるデータ記憶システムの特徴は、データ並び替え手段103を有していることである。このデータ並び替え手段103は、記憶手段104の複数(n個)の物理記憶領域(ブロック)に順次記憶されるように入力された一連のデータの並び替えを行い、本来一かたまりの連続データとして1つの物理記憶領域に格納されるべきデータを複数(n個)の物理記憶領域にまたがるように分離して格納する。
フラッシュメモリは1ページ単位などの読み出しなど、通常一つの物理記憶領域内のデータを連続データとして読み書きする機能しかないため、本実施形態により記憶された記憶装置に対して従来と同様な読み書きを行うとデータ並びが異なるため、通常のCPU(Central Processing Unit:中央演算処理装置)などの上位ホスト101では、そのままではデータとして取り扱うことができない。そのため、複数(n個)の物理記憶領域からそれぞれ読み出されたデータ列はデータ並び替え手段103により再度並び替えられ、通常のCPU等で取り扱うことのできるデータ列へと変換されることにより、上位ホスト101がそのままデータとして取り扱うことを可能にする。
制御手段102は記憶手段104およびデータ並び替え手段103を制御する手段であり、上位ホスト101からのデータ読み出し、書き込み要求により、記憶手段104からのデータの読み出し制御、記憶手段104へのデータ書き込み制御を行う。また、データの読み出し、書き込みの切り替えや、チップセレクト、アドレス指定などの各種制御信号の送受信もこの制御手段102により行われる。
本実施形態におけるデータ記憶システムでは、読み出し、書き込みデータの送受信を行うデータ信号はデータ並び替え手段103と接続され、データ読み書きを行うアドレスを示すアドレス信号は記憶手段104へと接続されていることを想定しているが、実施の形態によっては様々な接続方法が考えられる。データ並び替え手段103と記憶手段104の間にはデータ信号(データバス)が接続されており、記憶手段104に書き込まれるデータあるいは記憶手段104から読み出されるデータは、必ずデータ並び替え手段103によって並び替えられてから記憶手段104へあるいは上位ホスト101へ出力される。上位ホスト101はデータ読み書きを制御手段102に対して要求する手段であり、CPUやメモリコントローラなどのデータ処理装置である。
図3〜図4は、従来および本実施形態におけるデータ格納方法を説明するための図であり、図5〜図6は、本実施形態のデータ格納方法を実現するためのデータ並び替え手段の一例を示す構成図である。以下、図1〜図6を参照して本実施形態の動作について説明する。
図3に示すように、記憶手段104には物理記憶領域1(301)、物理記憶領域2(302)、・・・、物理記憶領域n(30n)のn個の物理記憶領域が含まれている。ここでいう物理記憶領域とは、例えば図2に示すような構造をもつフラッシュメモリでは消去の最小単位であるブロックがこれに相当する。図3において、一つの物理記憶領域(ブロック)にはそれぞれm個ずつのデータ記憶エリアがある。この例では、記憶手段104にはm×n個のデータ記憶エリアがあることになる。
1つのデータ記憶エリアに記憶することのできるデータ量は通常、1byteまたは2byte(=1word)、4byte(=2word)などの単位であることが多い。従来のデータ記憶システムにおいては、図3に示すようにデータは(データ1)〜(データm)までが物理記憶領域1(301)に格納され、その後連続する物理記憶領域2(302)には(データm+1)〜(データ2m)、物理記憶領域3(303)には(データ2m+1)〜(データ3m)、・・・、物理記憶領域n(30n)には(データ(n−1)m+1)〜(データnm)までが含まれるといったように一つの物理記憶領域が埋まってから次の物理記憶領域へという順にデータが格納されている。
一方、本実施形態におけるデータ記憶システムでは、図4に示すように物理記憶領域1(401)の1番目の領域に(データ1)、物理記憶領域2(402)の1番目の領域に(データ2)、物理記憶領域3(403)の1番目の領域に(データ3)、・・・、物理記憶領域n(40n)の1番目の領域に(データn)が格納され、次に物理記憶領域1(401)の2番目の領域に(データn+1)、物理記憶領域2(402)の2番目の領域に(データn+2)、・・・、物理記憶領域n(40n)の2番目の領域に(データ2n)、・・・、物理記憶領域1(401)のm番目の領域に(データ(m−1)n+1)、・・・、物理記憶領域n(40n)のm番目の領域に(データmn)が格納されるというようにデータが順次格納される。
このように、本実施形態におけるデータ格納方法では、記憶手段104に対して従来と異なる順にデータが格納されているため、そのままではデータを利用しづらい。そこで、記憶手段104の各物理記憶領域から一括読み出しされたデータを、データ並び替え手段103により並び替えを行って上位ホスト101へ出力し、また、上位ホスト101から送られてきた書き込みデータの並び替えを行って記憶手段104に書き込む。従って、本実施形態では、m×n個のデータ記憶エリア(n個の物理記憶領域)が一括データ書き込みまたは一括データ読み出しのためのサイズとして機能する。
図5(a)および(b)は本実施形態におけるデータ読み出し時のデータ並び替えのイメージおよびデータ書き込み時のデータ並び替えのイメージを示しており、図5(a)の501、502および図5(b)の504、505は、図1のデータ並び替え手段103に相当し、図5の503が図1の記憶手段104に相当する。図5では簡単のため、4つのデータ記憶エリアを有する物理記憶領域が4つあり、4×4=16のデータ記憶エリアを持つものとしている。
記憶手段503には図4のデータ格納方法に従ってデータが格納されているため、データ読み出し時には、記憶手段503の4つの物理記憶領域に格納されているデータを、一旦データ並び替え手段の502内に設けられた4つのルートにそれぞれ格納し、502から501を通過する間に、先ずデータ1、データ2、データ3、データ4の並びに並び替えられて出力され、以下、順次データ5〜データ8、データ9〜データ12、データ13〜データ16のデータが読み出される。
一方、データ書き込み時には、書き込みデータは、データ並び替え手段505、504を経由して記憶手段503に格納される。例えばデータ列(1,2,3,4)が505に入力されると、これら4つのデータはそれぞれ504内の別ルートを通過し、以下、同様に(5,6,7,8)、(9,10,11,12)、(13,14,15,16)の4つのデータがそれぞれ504内の別ルートを通過するようにデータの並び替えが行われる。その後、各ルートのデータ列ごとに、記憶手段503のそれぞれの物理記憶領域に一括格納される。
図6は、図5(a)に示すデータ読み出し時のデータ並び替え手段を、シフトレジスタによって実現した例を示している。
図6(a)は4つのD型フリップフロップで構成される4bitシフトレジスタの一般的な回路であり、これを図6(b)に示すような図で表現すると、図5(a)に示すデータ並び替え回路は図6(c)のように、4つの4bitシフトレジスタからの各々の出力が、別の1つの4bitシフトレジスタにおける各プリセット端子に接続される回路で実現することが可能である。
ここで記憶手段104には、例えば図5(a)の503のようにデータが格納されており、物理記憶領域単位でまとめて読み出す機能を有しているとする。最初に並び替え前データとして(1,5,9,13)の順にデータがまとめて読み出される。この際にS1〜S4のスイッチのうち、S1だけがONになっており、FF11〜FF14にデータが順次格納される。次にS2のみがONとなった状態でデータ列(2,6,10,14)が読み出され、以後順次、S3のみON時にデータ列(3,7,11,15)、S4のみON時にデータ列(4,8,12,16)が読み出される。
FF11〜FF14,FF21〜FF24、FF31〜FF34、FF41〜FF44の16個のすべてのフリップフロップにデータが格納されると、次にFF51〜FF54が動作するように制御される。出力B1〜B4がFF51〜FF55のプリセット端子に接続されているため順次データが取り出される。即ち、最初のタイミングではデータ列(1,2,3,4)がFF51〜FF54にセットされ、B5から出力される。さらに次のタイミングでは次のB1〜B4の出力がFF51〜FF54にセットされ、データ列(5,6,7,8)が取り出される。以後、同様にデータ列(9,10,11,12)、(13,14,15,16)の順にデータが取り出される。
またデータ書き込みの並び替え回路についても図5(b)のイメージに従って、図6と同様にシフトレジスタを用いた回路構成により容易に実現可能である。
本実施形態では、複数の物理記憶領域からなり、一つの物理記憶領域単位にデータの書き込み、または読み出し動作が一括して実行される記憶装置に対して、一連のデータを一つの物理記憶領域単位に格納しないで複数の物理記憶領域に分離して記憶するので、書き込み済みの記憶デバイスのみを他のシステムに接続してもデータを正常に読み出すことができないため、例えば、データ格納の順番を暗号化することによりセキュリティー用途に用いることができる。
図7は、本発明の第2の本実施形態を示す図であり、本実施形態におけるデータおよびエラー訂正データの格納方法を示している。また、図8は、本実施形態におけるエラー発生時の物理記憶領域代替イメージを示している。
フラッシュメモリ等においては、通常、データのエラー訂正のためにある任意のデータ単位毎にパリティ等の冗長的なデータを付加することにより、エラー検出、エラー訂正を行っているが、このエラー訂正データと対になるデータの一部またはすべてが、単一の物理的な記憶領域内に記憶されているため、物理記憶領域の不具合によりデータエラー等が発生した場合にはこの物理記憶領域に格納された一まとまりのデータのうち大部分が失われてしまい、エラー訂正を行うことが不可能となるという問題がある。
そこで、本実施形態では、一連のデータを一つの物理記憶領域単位に格納しないで複数の物理記憶領域に分離して記憶するとともに、エラー訂正データを格納する物理記憶領域を加え、複数の物理領域に格納されているデータに対するエラー訂正データをこの物理記憶領域に一括して格納することにより、1つまたはエラー訂正可能な任意の数の物理記憶領域がデータ読み出し不可能になった場合でも、容易にエラー訂正を実行することができデータを復元することが可能となる。以下、本実施形態のデータ記憶システムにおけるデータ復元方法について説明する。
図7では、m個のデータ記憶エリアを有する物理記憶領域をn+1個具備している記憶手段を示しており、この記憶手段には計(m)×(n+1)個のデータ記憶エリアがある。ここでデータ1〜データnを一まとまりとして、その一まとまりのデータのエラー訂正データを別の物理記憶領域n+1にデータp1として格納する。同様にデータn+1〜データ2nに対するエラー訂正データp2、・・・、データ(m−1)n+1〜データmnに対するエラー訂正データpmを格納する。
このようにデータを格納することにより、例えば図7の物理記憶領域2に記憶されているデータに異常があった場合には、図8に示すように代わりの物理記憶領域Aにエラー訂正により復元されたデータを格納し、通常状態に復帰することが可能である。このエラー訂正データにはデータの重要度、付加可能なデータ量、回路規模等に応じて、一般的に用いられているさまざまなタイプのものが使用可能である。パリティや巡回符号であるCRC(Cyclic Redundancy Code)符号、BCH符号、RS(Reed-Solomon)符号などがその代表的な例である。
ここで1つのデータ記憶エリアが4ビットで構成され、パリティによってデータ訂正がされる場合について図9を用いて説明する。図9に示すようにデータ1がビット1−1、ビット1−2、ビット1−3、ビット1−4、データ2がビット2−1、・・・、データnがビットn−1、ビットn−2、ビットn−3、ビットn−4と構成されている場合にはビット1−1、ビット2−1、・・・、ビットn−1を一まとまりとしたデータ列に対してパリティ1を決定し、同様にパリティ2、パリティ3、パリティ4を決定することによりエラー訂正が可能となる。
図10は、本実施形態におけるエラー訂正の手順を示すフローチャートであり、図11はこのデータ復元動作のイメージ図である。以下、図7〜図11を参照して、本実施形態のデータ復元動作について説明する。
まず通常通りに、データ記憶エリアi(1≦i≦mn)に格納されたデータのリードまたはライト(1002)を行っているときに、エラー発生(リード不可、あるいはライト失敗)が検出された場合(1003YES)には、この不具合が、データiが含まれる1つの物理記憶領域(ブロック)全体に対するものなのか、それともデータiが格納される特定のデータ記憶エリアのみのものなのかを判別するために、まず同ブロック内の他データを読み込む(1004)。
同ブロック内の他の全てのデータもしくは任意に設定された数のエラーがあった場合(1005YES)には、上記不具合は、データiが含まれる1つの物理記憶領域(ブロック)全体に対するものである可能性が高いので、このブロックに格納されたデータは使用しないでそのままエラーブロックの消去(1007)を行う。それ以外の場合には、上記不具合は、データiが格納される特定のデータ記憶エリアのみであるとみなし、正常リードされたデータのみを別ブロックへ退避(1006)してからエラーブロック消去(1007)を行う。
この後、ブロック消去が失敗したかどうかの判定(1008)を行う。ここでブロック消去が成功した場合(1008NO)には、エラー発生ブロックを代替候補ブロックへ登録(1009)する。この代替候補ブロックはNGブロックが発生した場合に、NGブロックの代わりに使用するブロックの候補であり、通常はソフトで実現されたメモリ管理システムにて管理されている。判定(1008)でブロック消去に失敗した場合(1008YES)には、該当ブロックはNGブロックとして登録(1010)され、以降使用されないように管理される。
その後、代替ブロックが割り当て(1011)られる。次に代替ブロックにデータが復元されるのであるが、まずステップ(1006)で退避したデータが存在するかどうかのチェック(1012)が行われる。退避データがない場合には単純に残りのブロックのデータとエラー訂正データ(パリティ)から、NGブロックに記憶されていたデータを全て復元(1013)する(図11(b))。また退避データがある場合には退避データを代替ブロックへ書き込み(1014)、退避されていないエラーデータのみをエラー訂正にて復元する(図11(a))。
以上の様な動作により、データエラーが1つの物理記憶領域(ブロック)にのみ発生した際にはデータが復元される。このように本実施形態では、エラー発生した同ブロックの他データを読み込むなどのNGブロックを特定する動作があるため、通常エラー検出しか出来ないパリティ検出ビットを図9のように1つのデータ列に対して1ビット設けるだけでもエラー訂正が可能である。
以上のような動作を動的に行うことにより、例えば、製造時の欠陥、電気的なマイグレーションや静電気などによる破壊など特定の領域に発生する不具合、また制御回路の不良や、電源電圧の安定性の影響による不具合などの各種不具合の発生する一まとまりの物理記憶領域に不具合が生じている場合にはすぐにデータを復元することができる。また、上位ホストはそれを意識することなく安定してデータの読み書きが可能になる。さらに、NGが発生したブロックでも消去などにより再利用可能な不具合の場合には代替候補ブロックにして使いまわすことが可能である。
なお、上記動作において、NGが発生したブロックでも消去などにより再利用可能な場合には代替候補ブロックにするとしたが、ある設定された任意の回数以上、同じブロックにNGが発生した場合には以後使用しないように制御することにより、信頼性を高めることもできる。
図12は、本発明の他の実施形態を示すデータ記憶システムのブロック図である。
本実施形態は、その基本的構成は上記の実施形態と同様であるが、ハード的なエラー訂正手段105を加えた点を特徴としている。エラー訂正手段105はデータ並び替え手段103に入力されたデータに対して、エラー訂正を行う手段である。またエラー訂正手段は制御手段102によりエラー訂正を行うか行わないかの制御、エラー訂正方法の制御などが指示される。さらにエラー訂正手段105はエラー検出の機能も有している。
図13は、本実施形態におけるデータおよびエラー訂正データの格納方法の一例を示しており、図14は、本実施形態におけるエラー訂正動作を示している。以下、図12〜図14を用いて本実施形態の動作について説明する。
図13に示すように、本実施形態におけるデータの格納は、図7と同様に物理記憶領域間にまたがるデータ1、データ2、データ3、・・・、データnのデータ列に対するエラー訂正データをp1とし格納するが、本実施形態では、物理記憶領域1のデータであるデータ1、データn+1、データ2n+1、・・・、データ(m−1)n+1のデータ列に対するエラー訂正データをq1として格納する。同様にしてp2〜pm、およびq2〜q(n+1)を格納する。このようにエラー訂正データを配置することにより、例えばエラー訂正データとしてパリティを用いた場合において、不具合のある物理記憶領域を特定しなくても直接エラー訂正が可能である。
図14を用いて具体的に説明する。ここで1403は記憶手段、1401、1402はデータ並べ替え手段を示している。記憶手段1403のデータ6に不具合がある場合、データ並び替え手段1402にデータが入力された際に、エラー訂正手段105によりエラー検出が行われ、エラーが検出された場合にはエラー訂正が行われる。パリティなどを用いた場合には図14に示されているようにp2、q2のエラー訂正データを用いてエラーの検出および訂正が行われる。
このように、本実施形態では、ハード的なエラー訂正手段を設けているので、より複雑なエラー訂正方法を用いた場合においても、エラー訂正の処理速度が速いという効果が得られる。
なお、以上の実施例においては、データ並び替え手段はシフトレジスタを用いた例を説明したが、この例に限らず、例えばSRAM(Static RAM)やフラッシュメモリ、EEPROM(Electronically Erasable and Programmable ROM)などを利用して、ソフト的に並び替えることも可能である。そのような場合には図13に示すように、2軸方向に対してエラー訂正データを付加することで並べ替え手段としてのメモリ自体に物理記憶領域単位での不具合があった場合にも同様に復元が可能となるという効果がある。
また、上記の実施例ではエラー訂正データを1データ記憶エリア分としたが、エラー訂正方法に応じて、1つのデータ列に対して複数のデータ記憶エリアを与えることも可能である。さらに複数のフラッシュメモリを1つのパッケージにスタックし封入したフラッシュメモリLSIの場合には、狭い視点での物理記憶領域はブロックであり、より大きな視点での物理記憶領域は1つのフラッシュメモリそのものである。
そのような場合には2階層にわけて、本発明を適用することが可能なことは明らかである。また本実施例はデータ並び替え、エラー訂正に時間がかかるためデータ破損によるダメージが大きいファイル管理エリア、重要なユーザーデータなどの一部分にのみ適用するという利用方法に対して最も効果がある。
なお、本発明が上記各実施例に限定されず、本発明の技術思想の範囲内において、各実施例は適宜変更され得ることは明らかである。
本発明の第1の実施形態を示すデータ記憶システムのブロック図である。 一般的なフラッシュメモリにおけるデータ記憶の構成を示す図である。 従来例におけるデータ格納方法を示す図である。 本実施形態におけるデータ格納方法を示す図である。 本実施形態におけるデータ読み出しおよび書き込み時のデータ並び替えのイメージを示す図である。 本実施形態におけるデータ読み出し時のデータ並び替え手段を、シフトレジスタによって実現した例を示す図である。 本発明の第2の本実施形態におけるデータおよびエラー訂正データの格納方法を示す図である。 本実施形態の一例の動作を説明するための図である。 本実施形態の一例の動作を説明するための図である。 本実施形態におけるエラー訂正の手順を示すフローチャートである。 本実施形態におけるデータ復元動作のイメージ図である。 本発明の第3の実施形態を示すデータ記憶システムのブロック図である。 本実施形態におけるデータおよびエラー訂正データの格納方法の一例を示す図である。 本実施形態におけるエラー訂正動作を示す図である。
符号の説明
101 上位ホスト
102 制御手段
103 データ並び替え手段
104 記憶手段
105 エラー訂正手段
111〜11n 物理記憶領域

Claims (6)

  1. それぞれが複数のデータ記憶エリアを備えた複数の物理記憶領域からなり、各物理記憶領域単位で、データの書き込み、または読み出し動作が一括して実行される記憶手段を有する記憶装置のデータ書き込み、読み出し方法において、
    前記記憶手段へのデータ格納時には、上位ホストから入力される前記物理記憶領域単位毎に書き込まれるべき一連のデータを並び替えることによって複数の前記物理記憶領域に分離して書き込み、前記記憶手段からのデータ読み出し時には、前記複数の物理記憶領域の各物理記憶領域からそれぞれ一括して読み出されたデータを再度並び替えることにより、前記入力された一連のデータに戻して出力し、
    前記複数の物理記憶領域における各対応位置にそれぞれ書き込まれたデータに対するエラーを訂正するための第1のエラー訂正データが書き込まれたエラー訂正用物理記憶領域が設けられており、前記複数の物理記憶領域に格納されたデータにエラーが検出されたとき、該データエラーが検出された物理記憶領域の全てのデータについて検査を行い、正常データは代替用の物理記憶領域における対応位置に退避書き込みを行うとともに、エラーデータは前記エラー訂正用物理記憶領域の第1のエラー訂正データを用いて訂正して前記代替用の物理記憶領域における対応位置に書き込み、前記データエラーが検出された物理記憶領域のデータは全て消去することを特徴とする記憶装置のデータ書き込み、読み出し方法。
  2. 前記データエラーが検出された物理記憶領域の全てのデータ消去に成功したとき、当該物理記憶領域を代替候補物理記憶領域として登録し、前記データエラーが検出された物理記憶領域の全てのデータ消去に失敗したときには、当該物理記憶領域をNG物理記憶領域として登録することを特徴とする請求項1に記載の記憶装置のデータ書き込み、読み出し方法。
  3. 前記各物理記憶領域に書き込まれたデータのエラー検出及び訂正するための第2のエラー訂正データが書き込まれたエラー訂正データ記憶エリアを前記各物理記憶領域にそれぞれ設け、前記第1及び第2のエラー訂正データにより、前記複数の物理記憶領域から読み出されたデータのエラー検出および訂正を行うことを特徴とする請求項1又は2に記載の記憶装置のデータ書き込み、読み出し方法。
  4. それぞれが複数のデータ記憶エリアを備えた複数の物理記憶領域からなり、各物理記憶領域単位でデータの書き込みまたは読み出し動作が一括して実行される記憶手段と、上位ホストから入力された前記記憶手段への書き込みデータを並び替えて前記記憶手段へ出力する機能と、前記記憶手段から読み出されたデータを並び替えて前記上位ホストへ出力する機能を有する並び替え手段と、前記記憶手段および並び替え手段の動作を制御する制御手段を備え、
    前記並び替え手段は、前記上位ホストから入力される前記物理記憶領域単位毎に書き込まれるべき一連のデータを並び替えることによって複数の前記物理記憶領域に分離して書き込む機能と、前記複数の物理記憶領域の各物理記憶領域からそれぞれ一括して読み出されたデータを再度並び替えることにより、前記入力された一連のデータに戻して出力する機能を有し、
    前記記憶手段には、前記複数の物理記憶領域における各対応位置にそれぞれ書き込まれたデータのエラーを訂正するための第1のエラー訂正データが書き込まれたエラー訂正用物理記憶領域が設けられており、前記制御手段は、前記記憶手段に格納されたデータにエラーが検出されたとき、該エラーが検出された物理記憶領域の全てのデータについて検査を行い、該検査の結果正常と判定されたデータを代替用の物理記憶領域における対応位置に退避書き込むとともに、エラーと判定されたデータを前記エラー訂正用物理記憶領域の第1のエラー訂正データを用いて訂正して前記代替用の物理記憶領域における対応位置に書き込み、前記エラーが検出された物理記憶領域のデータを全て消去する制御を実行する機能を有していることを特徴とするデータ記憶システム。
  5. 前記制御手段は、前記データエラーが検出された物理記憶領域の全データの消去に成功したときには、当該物理記憶領域を代替候補物理記憶領域として登録し、前記データエラーが検出された物理記憶領域の全データの消去に失敗したときには、当該物理記憶領域をNG物理記憶領域として登録する機能を有していることを特徴とする請求項4に記載のデータ記憶システム。
  6. 前記各物理記憶領域に書き込まれたデータのエラー検出及び訂正するための第2のエラー訂正データが書き込まれたエラー訂正データ記憶エリアが前記各物理記憶領域にそれぞれ設けられており、該記憶手段から読み出されて前記データ並び替え手段に入力された前記第1及び第2のエラー訂正データを含む書き込みデータに対して、エラー訂正を行うエラー訂正手段を備えていることを特徴とする請求項4又は5に記載のデータ記憶システム。
JP2004043101A 2004-02-19 2004-02-19 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム Expired - Fee Related JP4595342B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004043101A JP4595342B2 (ja) 2004-02-19 2004-02-19 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム
EP05003069A EP1577774A3 (en) 2004-02-19 2005-02-14 Method of data writing to and data reading from storage device and data storage system
CNB2005100077979A CN100357899C (zh) 2004-02-19 2005-02-17 存储装置的数据写入、读取方法及数据存储系统
US11/060,553 US7437600B2 (en) 2004-02-19 2005-02-18 Method of data writing to and data reading from storage device and data storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004043101A JP4595342B2 (ja) 2004-02-19 2004-02-19 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム

Publications (2)

Publication Number Publication Date
JP2005234883A JP2005234883A (ja) 2005-09-02
JP4595342B2 true JP4595342B2 (ja) 2010-12-08

Family

ID=34836452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004043101A Expired - Fee Related JP4595342B2 (ja) 2004-02-19 2004-02-19 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム

Country Status (4)

Country Link
US (1) US7437600B2 (ja)
EP (1) EP1577774A3 (ja)
JP (1) JP4595342B2 (ja)
CN (1) CN100357899C (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2428496A (en) * 2005-07-15 2007-01-31 Global Silicon Ltd Error correction for flash memory
EP1808863A1 (en) * 2006-01-16 2007-07-18 Deutsche Thomson-Brandt Gmbh Method and apparatus for recording high-speed input data into a matrix of memory devices
WO2008068706A1 (en) 2006-12-07 2008-06-12 Nxp B.V. Method and device for reconfiguration of reliability data in flash eeprom storage pages
CN101256521B (zh) * 2007-03-01 2010-12-01 创惟科技股份有限公司 提高闪存资料存取可靠性的方法
US8429493B2 (en) * 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
CN101533676B (zh) * 2008-03-12 2012-06-06 凌阳科技股份有限公司 增加非挥发性存储器除错能力的方法
US8386868B2 (en) * 2008-04-16 2013-02-26 Sandisk Il, Ltd. Using programming-time information to support error correction
WO2009139115A1 (ja) * 2008-05-12 2009-11-19 パナソニック株式会社 半導体記録装置
CN101859548B (zh) * 2009-04-07 2012-08-29 瑞鼎科技股份有限公司 时序控制器及其操作方法
US8438453B2 (en) * 2009-05-06 2013-05-07 Apple Inc. Low latency read operation for managed non-volatile memory
US8930622B2 (en) 2009-08-11 2015-01-06 International Business Machines Corporation Multi-level data protection for flash memory system
US8176284B2 (en) * 2009-08-11 2012-05-08 Texas Memory Systems, Inc. FLASH-based memory system with variable length page stripes including data protection information
US7941696B2 (en) * 2009-08-11 2011-05-10 Texas Memory Systems, Inc. Flash-based memory system with static or variable length page stripes including data protection information and auxiliary protection stripes
US7818525B1 (en) * 2009-08-12 2010-10-19 Texas Memory Systems, Inc. Efficient reduction of read disturb errors in NAND FLASH memory
US8189379B2 (en) 2009-08-12 2012-05-29 Texas Memory Systems, Inc. Reduction of read disturb errors in NAND FLASH memory
JP2011048725A (ja) * 2009-08-28 2011-03-10 Panasonic Corp 不揮発性記憶装置および不揮発性メモリコントローラ
US8327225B2 (en) 2010-01-04 2012-12-04 Micron Technology, Inc. Error correction in a stacked memory
US9063836B2 (en) * 2010-07-26 2015-06-23 Intel Corporation Methods and apparatus to protect segments of memory
JP5813450B2 (ja) * 2011-10-17 2015-11-17 日立オートモティブシステムズ株式会社 電子制御装置
US8327185B1 (en) * 2012-03-23 2012-12-04 DSSD, Inc. Method and system for multi-dimensional raid
US8341342B1 (en) * 2012-03-23 2012-12-25 DSSD, Inc. Storage system with incremental multi-dimensional RAID
US8554997B1 (en) * 2013-01-18 2013-10-08 DSSD, Inc. Method and system for mirrored multi-dimensional raid
JP6015514B2 (ja) 2013-03-25 2016-10-26 富士通株式会社 データ記憶装置及びデータ記憶方法
US8924776B1 (en) 2013-12-04 2014-12-30 DSSD, Inc. Method and system for calculating parity values for multi-dimensional raid
US10466913B2 (en) 2015-04-29 2019-11-05 EMC IP Holding Company LLC Method and system for replicating and using grid level metadata in a storage system
US10101939B2 (en) 2016-03-09 2018-10-16 Toshiba Memory Corporation Storage system having a host that manages physical data locations of a storage device
US10127113B1 (en) 2016-03-31 2018-11-13 EMC IP Holding Company LLC Method and system for checkerboard RAID
CN106440256A (zh) * 2016-11-11 2017-02-22 四川长虹电子部品有限公司 一种空调遥控器及其数据存储方法
CN108229214A (zh) * 2016-12-22 2018-06-29 北京兆易创新科技股份有限公司 一种提高数据安全性的方法和装置
US10339062B2 (en) 2017-04-28 2019-07-02 EMC IP Holding Company LLC Method and system for writing data to and read data from persistent storage
US10466930B2 (en) 2017-04-28 2019-11-05 EMC IP Holding Company LLC Method and system for fast ordered writes with atomic multicast
US10614019B2 (en) 2017-04-28 2020-04-07 EMC IP Holding Company LLC Method and system for fast ordered writes with target collaboration
US10289491B1 (en) 2017-04-28 2019-05-14 EMC IP Holding Company LLC Method and system for implementing multi-dimensional raid in an extensible storage array to optimize performance

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52144927A (en) * 1976-05-28 1977-12-02 Fujitsu Ltd Data memorizing unit
JPS627238A (ja) * 1985-07-03 1987-01-14 Mitsubishi Electric Corp デ−タ伝送制御装置
JPH01231151A (ja) * 1988-03-11 1989-09-14 Nec Corp 記憶装置におけるアドレス分配方式
JPH02291011A (ja) * 1989-04-28 1990-11-30 Fujitsu Ltd 記憶装置
JPH05324491A (ja) * 1992-05-15 1993-12-07 Sony Corp データ分散格納方法
JPH0793984A (ja) * 1993-09-20 1995-04-07 Fujitsu Ltd 半導体記憶装置
JPH09218754A (ja) * 1996-02-13 1997-08-19 Ekushingu:Kk データ記憶システム
JPH10143383A (ja) * 1996-11-11 1998-05-29 Nippon Syst House Kk 誤り検出訂正装置
JPH11143787A (ja) * 1997-11-06 1999-05-28 Hitachi Ltd 記録再生装置
JP2000173289A (ja) * 1998-12-10 2000-06-23 Toshiba Corp エラー訂正可能なフラッシュメモリシステム
JP2000207137A (ja) * 1999-01-12 2000-07-28 Kowa Co 情報記憶装置
JP2003100095A (ja) * 2001-09-21 2003-04-04 Hitachi Ltd 半導体集積回路装置
JP2003234000A (ja) * 2002-02-08 2003-08-22 Matsushita Electric Ind Co Ltd 半導体集積回路装置、icカードおよび検査装置
JP2004021811A (ja) * 2002-06-19 2004-01-22 Hitachi Ltd 不揮発メモリを使用したディスク制御装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5883903A (en) * 1993-09-20 1999-03-16 Fujitsu Limited Semiconductor memory of XN type having parity corresponding to n×m bits
DE19540915A1 (de) 1994-11-10 1996-05-15 Raymond Engineering Redundante Anordnung von Festkörper-Speicherbausteinen
US5838903A (en) 1995-11-13 1998-11-17 International Business Machines Corporation Configurable password integrity servers for use in a shared resource environment
US6078989A (en) * 1996-10-04 2000-06-20 Sony Corporation Disc array control method and disc array control apparatus
EP0913826A1 (en) * 1997-10-31 1999-05-06 Hewlett-Packard Company Scratch protection in tape data storage system
US6532548B1 (en) * 1999-09-21 2003-03-11 Storage Technology Corporation System and method for handling temporary errors on a redundant array of independent tapes (RAIT)
US6766469B2 (en) * 2000-01-25 2004-07-20 Hewlett-Packard Development Company, L.P. Hot-replace of memory
GB2368412A (en) * 2000-10-26 2002-05-01 Hewlett Packard Co Managing disk drive replacements
US6957313B2 (en) 2000-12-01 2005-10-18 Hsia James R Memory matrix and method of operating the same
JP4711531B2 (ja) 2001-03-23 2011-06-29 ルネサスエレクトロニクス株式会社 半導体記憶装置
US20070022364A1 (en) * 2001-06-14 2007-01-25 Mcbryde Lee Data management architecture
US7028213B2 (en) * 2001-09-28 2006-04-11 Hewlett-Packard Development Company, L.P. Error indication in a raid memory system
US7076686B2 (en) * 2002-02-20 2006-07-11 Hewlett-Packard Development Company, L.P. Hot swapping memory method and system
US6959413B2 (en) * 2002-06-18 2005-10-25 Lsi Logic Corporation Method of handling unreadable blocks during rebuilding of a RAID device
US6898668B2 (en) * 2002-06-24 2005-05-24 Hewlett-Packard Development Company, L.P. System and method for reorganizing data in a raid storage system
US7058762B2 (en) * 2003-06-09 2006-06-06 Hewlett-Packard Development Company, L.P. Method and apparatus for selecting among multiple data reconstruction techniques
US7146461B1 (en) * 2003-07-01 2006-12-05 Veritas Operating Corporation Automated recovery from data corruption of data volumes in parity RAID storage systems
US7302603B2 (en) * 2003-11-20 2007-11-27 International Business Machines Corporation Host-initiated data reconstruction for improved RAID read operations
US7234074B2 (en) * 2003-12-17 2007-06-19 International Business Machines Corporation Multiple disk data storage system for reducing power consumption

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52144927A (en) * 1976-05-28 1977-12-02 Fujitsu Ltd Data memorizing unit
JPS627238A (ja) * 1985-07-03 1987-01-14 Mitsubishi Electric Corp デ−タ伝送制御装置
JPH01231151A (ja) * 1988-03-11 1989-09-14 Nec Corp 記憶装置におけるアドレス分配方式
JPH02291011A (ja) * 1989-04-28 1990-11-30 Fujitsu Ltd 記憶装置
JPH05324491A (ja) * 1992-05-15 1993-12-07 Sony Corp データ分散格納方法
JPH0793984A (ja) * 1993-09-20 1995-04-07 Fujitsu Ltd 半導体記憶装置
JPH09218754A (ja) * 1996-02-13 1997-08-19 Ekushingu:Kk データ記憶システム
JPH10143383A (ja) * 1996-11-11 1998-05-29 Nippon Syst House Kk 誤り検出訂正装置
JPH11143787A (ja) * 1997-11-06 1999-05-28 Hitachi Ltd 記録再生装置
JP2000173289A (ja) * 1998-12-10 2000-06-23 Toshiba Corp エラー訂正可能なフラッシュメモリシステム
JP2000207137A (ja) * 1999-01-12 2000-07-28 Kowa Co 情報記憶装置
JP2003100095A (ja) * 2001-09-21 2003-04-04 Hitachi Ltd 半導体集積回路装置
JP2003234000A (ja) * 2002-02-08 2003-08-22 Matsushita Electric Ind Co Ltd 半導体集積回路装置、icカードおよび検査装置
JP2004021811A (ja) * 2002-06-19 2004-01-22 Hitachi Ltd 不揮発メモリを使用したディスク制御装置

Also Published As

Publication number Publication date
EP1577774A2 (en) 2005-09-21
US20050185476A1 (en) 2005-08-25
JP2005234883A (ja) 2005-09-02
CN100357899C (zh) 2007-12-26
EP1577774A3 (en) 2010-06-09
US7437600B2 (en) 2008-10-14
CN1658163A (zh) 2005-08-24

Similar Documents

Publication Publication Date Title
JP4595342B2 (ja) 記憶装置のデータ書き込み、読み出し方法およびデータ記憶システム
USRE49253E1 (en) Semiconductor memory device
JP4538034B2 (ja) 半導体記憶装置、及びその制御方法
US7191379B2 (en) Magnetic memory with error correction coding
US7149949B2 (en) Method for error correction decoding in a magnetoresistive solid-state storage device
US7739576B2 (en) Variable strength ECC
US7774683B2 (en) Erasure pointer error correction
US7107508B2 (en) Manufacturing test for a fault tolerant magnetoresistive solid-state storage device
US20050120265A1 (en) Data storage system with error correction code and replaceable defective memory
US20160164543A1 (en) Turbo product codes for nand flash
US20150019933A1 (en) Memory controller, storage device, and memory control method
CN104798047A (zh) 错误检测和校正装置及方法
TWI652685B (zh) 自我識別記憶體錯誤
US11003529B2 (en) Encoding method and memory storage apparatus using the same
US10514980B2 (en) Encoding method and memory storage apparatus using the same
US7325157B2 (en) Magnetic memory devices having selective error encoding capability based on fault probabilities
US20170186500A1 (en) Memory circuit defect correction
CN111831486B (zh) 半导体装置和包括该半导体装置的半导体系统
EP3454217B1 (en) Detecting silent data corruption for mass storage devices
JP6479638B2 (ja) ビデオサーバ装置およびデータ書き込み/読み出し方法
US11815997B2 (en) Memory controllers, memory systems, and memory modules
KR20170067656A (ko) Nand 플래시용 터보 프로덕트 코드
JP2009158051A (ja) 不揮発性半導体記憶装置及び読み出しテスト方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070115

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090701

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100802

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100906

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131001

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees