JP2012022422A - 半導体記録再生装置 - Google Patents

半導体記録再生装置 Download PDF

Info

Publication number
JP2012022422A
JP2012022422A JP2010158395A JP2010158395A JP2012022422A JP 2012022422 A JP2012022422 A JP 2012022422A JP 2010158395 A JP2010158395 A JP 2010158395A JP 2010158395 A JP2010158395 A JP 2010158395A JP 2012022422 A JP2012022422 A JP 2012022422A
Authority
JP
Japan
Prior art keywords
data
user data
parity data
read
ecc
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
JP2010158395A
Other languages
English (en)
Inventor
Takeshi Otsuka
健 大塚
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.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2010158395A priority Critical patent/JP2012022422A/ja
Priority to US12/960,851 priority patent/US8539300B2/en
Publication of JP2012022422A publication Critical patent/JP2012022422A/ja
Pending 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/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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Abstract

【課題】エラー耐性を改善しつつ、高速リード転送と低消費電力の双方を満足する半導体記録装置を提供する。
【解決手段】半導体記録再生装置10は、外部機器とユーザデータを送受信する外部インタフェイス部1と、ユーザデータに対するパリティデータを生成するとともに、パリティデータを用いてユーザデータのエラーを訂正する第1のECC処理部3と、ユーザデータを複数に分割し、分割したユーザデータおよびパリティデータを、フラッシュメモリ6a〜6eに記録するとともに、パリティデータを除くユーザデータを読み出す第1の再生モードと、パリティデータを含むユーザデータを読み出す第2の再生モードを有し、何れかのモードでフラッシュメモリ6a〜6eからユーザデータを読み出して再生するECC制御部2と、を備える。
【選択図】図2

Description

本発明は、メモリカードなどの半導体記録再生装置において、内部の不揮発性メモリのデータ保持特性のバラツキ及び書き換え回数に伴う劣化を抑制する制御手法に関する。
従来、フラッシュメモリが内蔵されたカード型の記録媒体であるSD(Secure Digital)カード等の半導体記録再生装置は、超小型、超薄型であり、その取り扱い易さから、ディジタルカメラ、携帯機器等において画像等のデータを記録するために広く利用されている。
半導体記録再生装置に内蔵されているフラッシュメモリは、一定サイズの多数の物理ブロックから成り、物理ブロックの単位でデータを消去できるメモリである。昨今の大容量化の要請に対応すべく、1セルで2ビット以上のデータが蓄積できる多値フラッシュメモリが商品化されている。
図1に、多値フラッシュメモリのフローティングゲートに蓄積する電子の数と閾値電圧(Vth)の関係の一例を示す。図1に示すように、4値のフラッシュメモリは、フローティングゲートの電子の蓄積状態をその閾値電圧(Vth)に従って4状態で管理する。消去状態は電位が一番低く、これを(1,1)とする。そして電子が蓄積していくにつれて閾値電圧が離散的に上昇し、その状態を夫々(1,0)(0,0)(0,1)とする。このように、蓄積する電子の数に比例して電位が上昇するので、所定の電位の閾値に収まるように制御することによって、4値のフラッシュメモリは1つのメモリセルに2ビットのデータを記録することができる。
しかしながら、4値フラッシュメモリは、電子のチャージ量によって4状態を識別するために、各状態間の閾値電圧の差が、2値フラッシュメモリより小さい。
また、書き換え回数を重ねる毎に、データの書き換えを繰り返すと、電子の注入と引き抜きによってゲート酸化膜にわずかな損傷が発生する。この損傷が積み重なると電子トラップが数多く形成されるため、実際のフローティングゲートに蓄積される電子数が減少してしまう。半導体プロセスの微細化に比例して、フローティングゲートに蓄積される電子数が少なくなるため、電子トラップの影響は大きくなる
このように、フラッシュメモリの大容量化を支える多値記録および半導体プロセスの微細化に従い、フラッシュメモリのデータ保持特性の劣化といった課題が顕著になってきた。
上記の課題の解決手法として
(1)書き換え回数の制限
(2)エラー訂正の強化
が、採用されている。
特許文献1では、複数チップで構成されたフラッシュメモリにおいて、フラッシュメモリの互いに異なるチップ内のブロックを関連付け、関連付けられた複数のブロックを共通のグループとして取り扱い、グループ内の1ブロックを当該グループ内の他のブロックに書き込まれたユーザデータのパリティ用のブロックに割当てることにより、誤り訂正能力を強化し、データ保持特性の劣化を抑制するフラッシュメモリが開示されている。
特開2006−18373号公報
上述した手法は、ハードディスクドライブ(HDD)で利用されているRAID5をフラッシュメモリに適用したものである。特にフラッシュメモリのような半導体メモリに適用する場合には、パリティデータの分、冗長度が増加し、特にリード動作において、高速リードと低消費電力化の双方を満足することができない。
例えば、4バイトのユーザデータに1バイトのパリティデータを付加した(5,4)ECC符号が生成させる。そして、パリティデータはブロック単位で別チップに割り付けてライトする。ライト時の消費電力は、パリティデータの20%分増加する。また、リード時においても、20%分のパリティデータを余分にリードするので、同様に20%分の消費電力が増加する。
一方、メモリカードに動画を記録する業務用アプリケーションにおいては、ライトはリアルタイム記録を満足できれば良いが、リードは記録したデータをサーバにアップロードするため、高速転送が要求される。ゆえに、パリティデータによる20%の電力増大は高速転送時に顕著となるため、リード時に高速転送と低消費電力の双方を満足させることが課題であった。
本発明は、上記問題を解決するものであり、積符号構成により、エラー耐性を改善しつつ、高速リード転送と低消費電力の双方を満足する半導体記録再生装置を提供することを目的とする。
この課題を解決するために、本発明の半導体記録再生装置は、外部機器とユーザデータを送受信する外部インタフェイス部と、前記ユーザデータに対するパリティデータを生成する第1のECC生成部と、不揮発性メモリへのデータの記録および読み出しを制御するアクセス部と、前記ユーザデータを複数に分割し、分割したユーザデータおよび前記パリティデータを、前記アクセス部を介して少なくとも一つの不揮発性メモリに記録する記録制御部と、前記アクセス部を介して、前記不揮発性メモリから読み出したパリティデータを用いて、前記不揮発性メモリから読み出したユーザデータのエラーを訂正するECC訂正部と、前記パリティデータを除くユーザデータを読み出す第1の再生モードと、前記パリティデータを含むユーザデータを読み出す第2の再生モードを有し、何れかのモードで前記アクセス部を介して前記不揮発性メモリからユーザデータを読み出して再生する再生制御部と、を備える半導体記録再生装置。
上記構成によって、パリティデータを除くユーザデータを再生する第1の再生モードを使用することで、パリティデータ分の転送レート劣化及び消費電流の増加を防止することができ、必要に応じてパリティデータを含むユーザデータを読み出す第2の再生モードに切り替えることで、第2の再生モードではパリティデータをリードしエラー訂正を実施するのでエラー耐性を改善することができる。
多値フラッシュメモリの電子の蓄積状態を示す模式図 実施の形態1における半導体記録再生装置の構成図 フラッシュメモリの消去ブロックの構成図 実施の形態1におけるライト時の主要部のタイミング図 実施の形態1の第1のECC処理部の動作説明図 実施の形態1におけるリード時の主要部のタイミング図 実施の形態1におけるバーストエラー発生時の主要部のタイミング図 実施の形態1の変形におけるバーストエラー発生時の主要部のタイミング図 実施の形態2の半導体記録再生装置の構成図
(実施の形態1)
図2に実施の形態1における半導体記録再生装置の構成図を示す。本実施の形態において、半導体記録再生装置10は、外部インタフェイス部1と、ECC制御部2と、第1のECC処理部3と、第2のECC処理部4a〜4eと、アクセス部5a〜5eを含む。半導体記録再生装置10は、アクセス部5a〜5eを介して、フラッシュメモリ6a〜6eに接続される。
外部インタフェイス部1は、図示しないホスト機器からのコマンドやユーザデータを送受信するインタフェイスである。アクセス部5a〜5eは、フラッシュメモリ6a〜6eに接続し、フラッシュメモリ6a〜6eへのデータのライトやリードを行う。
ECC制御部2、第1のECC処理部3および第2のECC処理部4a〜4eは、ライト時とリード時において動作が異なるため、最初にライト時の動作について説明した後にリード時の動作について説明する。
「ライト時の動作」
ECC制御部2は、外部インタフェイス部1を介して転送されたユーザデータを、並び替えて第1のECC処理部3に転送するとともに、入力データを4個のフラッシュメモリ6a〜6dに分配する。第1のECC処理部3は、ECC制御部2より転送されたユーザデータに対して、所定バイト単位でパリティデータを生成する。第2のECC処理部4a〜4dは、ECC制御部2によって分配されたユーザデータに対して所定バイト単位でパリティデータを付加した第2のECC符号を生成する。また、第2のECC処理部4eは、第1のECC処理部3によって生成された第1のECC符号のパリティデータに対して所定バイト単位でパリティデータを付加した第2のECC符号を生成する。アクセス部5a〜5eは、夫々に接続されたフラッシュメモリ6a〜6eに対してデータをライトする。
図3に本実施の形態で使用するフラッシュメモリの消去ブロックの構成図を示す。
フラッシュメモリは、複数の消去ブロックにより構成され、各消去ブロックは複数のページで構成される。図3に示す消去ブロックは、ページ0〜ページ127の128ページによって構成され、データの書き込みをページ単位で実施する。1ページ当たりのデータ容量が8KBであれば、消去ブロックサイズは1MB、そして、消去ブロック数が1K個あれば、当該フラッシュメモリの容量は1GBとなる。
つぎに、第1のECC処理部3について説明する。第1のECC処理部3は(5,4)ECC符号を生成する。より具体的には、第1のECC処理部3は連続する4バイトのデータに対して、EXORを実施してパリティデータを生成する。半導体不良などのエラー耐性の点を考慮すると、第1のECC符号を生成する4バイトのデータは別チップのフラッシュメモリにライトされることが望ましい。このため、入力されるユーザデータは、フラッシュメモリのページサイズ単位(=8KB)で、4個のフラッシュメモリ(6a〜6d)に割り当てられる。そして、第1のECC処理部3は、各フラッシュメモリに割り当てられる8KBのデータから1バイトずつ抽出した4バイトのデータのEXOR処理を行い1バイトのパリティデータを生成する。
上記処理を繰り返し実施し、外部インタフェイス部1より入力される32KBのユーザデータに対して、8KBのパリティデータを生成する。
図4はライト動作における主要部のタイミングを示す図であり、同図上段は外部インタフェイス部1の入力タイミング、同図中段は第1のECC処理部3の処理タイミング、同図下段はフラッシュメモリ6a〜6eへのライトタイミングを示す。
同図のD00、D01、D02、D03は、夫々8KBで、入力されるユーザデータを示し、同図P0は、D00、D01、D02、D03の合計32KBの入力されたユーザデータより生成された8KBのパリティデータを示す。
同図によると、フラッシュメモリの4ページ分(=32KB)の入力後に、第1のECC処理部3はECC処理を開始する(同図の上段と中段を参照)。そして、8KBのパリティデータ(P0)生成後に、第2のECC処理部5a〜5eは第2のECC処理を実施し、アクセス部5a〜5eを介してフラッシュメモリ6a〜6eにライトする。ここで、同図のD00、D01、D02、D03はフラッシュメモリ6a、6b、6c、6dに夫々ライトされ、第1のECC処理で生成されたパリティデータはフラッシュメモリ6eにライトされる。
次に第2のECC処理部4a〜4eの動作について説明する。第2のECC処理部4a〜4eは、8KBのユーザデータおよびパリティデータに対して、所定バイト単位で第2のパリティデータを付加する。エラー訂正符号はBCH符号やリードソロモン符号が使用されるが、本発明の本質ではないため詳細を割愛する。本実施の形態では、リードソロモン符号が使用される。そして、第2のECC処理部4a〜4eは、8KBのユーザデータおよびパリティデータに対して、512バイト単位で8バイトの第2のパリティデータを追加した16個の(520,512)ECC符号を生成する。第2のECC符号は、対象とする512バイトのデータをエラー訂正する役割と、エラー訂正が不可であった場合にエラーを検出し、第1のECC符号におけるエラー位置として、第1のECC処理部3に転送する役割を担っている。
以上が、本実施の形態のライトにおける動作説明である。このようにライトされた本実施の形態の半導体記録再生装置10におけるリード動作について、以下説明する。
「リード時の動作」
まず、図2における構成要素の動作について、説明する。
フラッシュメモリ6a〜6eは、半導体記録再生装置10でライトされたユーザデータおよびパリティデータを保持している不揮発性メモリである。フラッシュメモリ6a〜6dは、外部インタフェイス部1を介して転送されたユーザデータが記録されている。また、フラッシュメモリ6eには、第1のECC処理部3により生成されたパリティデータが記録されている。
アクセス部5a〜5eは、夫々に接続されたフラッシュメモリ6a〜6eに記録されているデータのリードを行い、少なくとも第1のECC処理部3により生成されたパリティデータを記録しているフラッシュメモリ6eへのリードアクセスは、ユーザデータを記録しているフラッシュメモリ6a〜6dのリードアクセスとは独立して実施できる構成とする。
第2のECC処理部4a〜4eは、リードされたデータに対して512バイト単位でエラー訂正を実施する。512バイトに対して8バイトの第2のパリティデータが付加されているので、リードソロモン符号においては、最大4バイトのエラー訂正が可能である。そして、4バイトを超えるエラーが発生した場合は、第2のECC処理部4a〜4eは、エラー訂正不可の512バイトのデータとして検出し、当該512バイトをエラーセクタとしてECC制御部2に転送する。
第1のECC処理部3は、エラーセクタを第1のECC符号を用いてエラー訂正する。第1のECC符号は(5,4)ECC符号なので、ECC符号を生成している5バイトにおいて、エラーセクタを除いた4バイトのEXOR計算を実施する。これにより、エラーセクタと検出されたデータを訂正することができる。エラーセクタは512バイト単位なので、EXOR処理を512回実施すれば、エラーセクタとなった箇所を復元することが可能となる。
ECC制御部2は、第2のECC処理部4a〜4dによるエラー訂正結果が訂正可の場合は、フラッシュメモリ6a〜6dよりリードされたユーザデータを、外部インタフェイス部1を介して出力する。フラッシュメモリ6a〜6dよりリードしたデータについて、エラーが存在しない場合、およびエラーは存在するが第2のECC処理部4a〜4dでエラー訂正が可能な場合を、第1の再生モードと定義する。
一方、第2のECC処理部4a〜4dによるエラー訂正結果が訂正不可の場合の処理について、以下詳細に説明する。
第2のECC処理部4a〜4dによるエラー訂正結果が訂正不可の場合は、ECC制御部2は以下のステップに従って処理していく。
(STEP1)エラー訂正結果の判定
ECC制御部2は、第2のECC処理部4a〜4dにおいて、エラーセクタが1個の場合はSTEP2に進み、エラーセクタが2個以上存在した場合は、リードエラーとして外部インタフェイス部1を介してホストに通知する。
(STEP2)パリティデータのリード
ECC制御部2は、アクセス部5eを介して、フラッシュメモリ6eに記録されているパリティデータをリードする。そして、リードするパリティデータは、STEP1でエラーセクタと判定されたデータと第1のECC符号によって関連づけられたデータを含んだパリティデータである。
(STEP3)エラー訂正可否の判定
ECC制御部2は、第2のECC処理部4eにより、STEP2でリードされたパリティデータのエラー訂正の可否を判定する。判定はSTEP1でエラーセクタと判定されたユーザデータと第1のECC符号によって関連づけられたパリティデータのエラー訂正の可否について行う。そして、エラー訂正が否の場合は、ECC制御部2は、リードエラーとして外部インタフェイス部1を介してホストに通知する。エラー訂正が可の場合は、STEP4に移行する。
(STEP4)エラー訂正の実行
ECC制御部2は第1のECC処理部3によりECC訂正を実施する。より具体的な例について、図5を参照にしながら説明する。
図5は、第1のECC処理部3の動作説明図である。同図(a)はフラッシュメモリ6aよりリードしたフラッシュメモリの1ページ分(=8KB)のユーザデータを示す。第2のECC符号は512バイトのユーザデータを構成要素としているので、1ページには16個の第2のECC符号が含まれることになる。そして、第1のECC処理部3におけるエラー訂正可否の判定は512バイト単位で16個の第2のECC符号に対して実施される。同図では第2のECC符号はSA0、SA1、・・・、SA15で示される。同様に同図(b)はフラッシュメモリ6bよりリードしたフラッシュメモリの1ページ分(=8KB)のユーザデータを示す。第2のECC符号はSB0、SB1、・・・、SB15で示される。また、同図(c)はフラッシュメモリ6cよりリードしたフラッシュメモリの1ページ分(=8KB)のデータを示す。第2のECC符号はSC0、SC1、・・・、SC15で示される。また、同図(d)はフラッシュメモリ6dよりリードしたフラッシュメモリの1ページ分(=8KB)のデータを示す。第2のECC符号はSD0、SD1、・・・、SD15で示される。さらに、同図(e)はフラッシュメモリ6eよりリードしたフラッシュメモリの1ページ分(=8KB)のパリティデータを示す。第2のECC符号はSP0、SP1、・・・、SP15で示される。同図における斜線部はエラーセクタを示す。同図では、SB1とSC15がエラーセクタであり、これらがエラー訂正の対象となる。
SB1はSA1、SC1、SD1、SP1と関連づけられたECC符号なので、先頭バイトから順番に、SA1、SC1、SD1、SP1のEXOR計算が512回繰り返し実施され、エラー訂正が行われる。同様に、SC15はSA15、SB15、SD15、SP15と関連づけられたECC符号なので、先頭バイトから順番に、SA15、SB15、SD15、SP15のEXOR計算が512回繰り返し実施され、エラー訂正が行われる。
以上のSTEP1〜STEP4を順次実行することにより、第2のECC処理部4a〜4dによるエラー訂正結果が訂正不可であったユーザデータを復元することができ、エラー耐性を改善することができる。
第2のECC処理部4a〜4dによるエラー訂正結果が訂正不可の場合に、フラッシュメモリ6eに記録されたパリティデータを読み出してユーザデータの復元を図るモードを、第2の再生モードと定義する。
図6にリードにおける主要部のタイミング図を示す。同図の上段はフラッシュメモリ6a〜6dより、ユーザデータをリードするタイミングを示す。同図のD0、D1、D2、・・・、D5は、夫々4個のフラッシュメモリから並列リードされた32KBバイトのユーザデータを示す。同図は、斜線部D2のみでエラーセクタが存在したことを示している。同図の中段は、フラッシュメモリ6eより、パリティデータをリードするタイミングを示す。符号P2はD2に対応するパリティデータである。
同図の上段のリードにおいてエラーセクタが存在しなかった場合は、フラッシュメモリ6eから、パリティデータをリードする必要はない。したがって、P2以外のパリティデータはリードを実施していない。そして、フラッシュメモリ6eのクロック等の制御信号はそのアクセス部5eにより、同図中段のパリティデータのリード時以外は非アクティブにしておいた方が、省電力効果が高い。
同図の下段はユーザデータの出力タイミングを示す。同図によると、4個のフラッシュメモリ6a〜6dから、ユーザデータを8KBずつデータリードし、それぞれの8KBでエラーセクタ発生の有無を確認し、エラーセクタが無の場合はリードデータが出力される。一方、エラーセクタが有の場合は、フラッシュメモリ6eよりパリティデータをリードし、第1のECC処理部3でエラー訂正したユーザデータが出力される。
以上説明したように、記録された第1のECC符号のパリティデータを除くユーザデータを再生する第1の再生モードと、パリティデータを再生しユーザデータの復元を図る第2の再生モードを有し、リードエラーが検出されない限りは、第1の再生モードを使用し、リードエラーが検出された場合にのみ、パリティデータを再生する第2の再生モードに切り替える。これにより、リードエラーが発生しない限り、パリティデータのリードを除去することができる。実際、第2の再生モードを実行する割合は1%以下と想定されるので、リード時の消費電力の上昇分を1%以下に抑制し、かつエラー耐性を改善した半導体記録再生装置10を提供することができる。
なお、本実施の形態では第1のECC符号を(5,4)ECC符号による1重訂正としたが、例えば(10,8)ECC符号等にして2重訂正にするなど誤り訂正を強化してもよい。
また、アクセス部5a〜5dに夫々接続されるフラッシュメモリ数を1個として説明したが、複数個のフラッシュメモリがアクセス部5a〜5dに接続されていてもよい。
また、第1のECC符号のパリティデータを1個のフラッシュメモリに割当てたが、複数のフラッシュメモリに分散してもよい。この場合、パリティデータを記録しているフラッシュメモリのクロックを、エラー発生のみに活性化するような制御はできないので、省電力効果は減少する。
(実施の形態1の変形)
実施の形態1では、ユーザデータが記録されている4個のフラッシュメモリ6a〜6dをリードし、第2のECC処理部4a〜4dでエラー訂正が不可であった場合のみ、パリティデータが記録されているフラッシュメモリ6eをリードして、第1のECC処理部3でエラー訂正を実施した。しかしながら、連続して第1のECC処理部3でエラー訂正を実施するようなバーストエラーが発生した場合に、リード転送レートが大幅に劣化するという課題がある。実施の形態1において、バーストエラーが発生した場合の主要部のタイミングを図7に示す。
同図の上段はフラッシュメモリ6a〜6dからのユーザデータのリードタイミングを示す。同図のD0、D1、D2、・・・、D5は、夫々4個のフラッシュメモリ6a〜6dから並列リードされた32KBバイトのユーザデータを示す。同図は、斜線部D2、D3、D4に連続してエラーセクタが存在したことを示している。同図の中段は、フラッシュメモリ6eからパリティデータのリードタイミングを示す。符号P2、P3、P4は夫々ユーザデータD2、D3、D4に対応するパリティデータである。同図の上段のリードにおいてエラーセクタが存在しなかった場合は、フラッシュメモリ6eから、パリティデータのリードを実行する必要はないので、P2、P3、P4以外はリードを実行していない。
同図の下段はユーザデータの出力タイミングを示す。ユーザデータの出力タイミングは、第1のECC処理部3によるエラー訂正後である。そして、1個前の32KBのユーザデータの出力が開始されると、次の32KBのユーザデータをフラッシュメモリ6a〜6dから並列にリードする。ゆえに、第1のECC処理部3でエラー訂正を実施したユーザデータについて、フラッシュメモリからのリードから出力までにかかる時間は、第1のECC処理部3でエラー訂正処理を実施しなかった場合の約2倍となる。すなわち、バーストエラーが発生し第1のECC処理部3でエラー訂正したユーザデータD2、D3、D4がフラッシュメモリからリードされて出力されるまでの時間は、第1のECC処理部3によるエラー訂正を実施しなかったユーザデータD0、D1がフラッシュメモリからリードされて出力されるまでの時間の約2倍になる。
上記課題を解決する方法として、例えばP2のリードと並行してD3のリードを実行すれば良いが、D2とD3のユーザデータを内部メモリに保持する必要があり、回路規模が増大してしまう。本実施の形態1の変形では、内部メモリを増加させることなく、バーストエラーが発生した場合も、リード転送レートの劣化を抑制できる半導体記録再生装置10を提供することを目的とする。
これを実現するため、ユーザデータが記録されている4個のフラッシュメモリ6a〜6dをリードし、第2のECC処理部4a〜4dでエラー訂正が不可と検出された場合は、エラー訂正が不可であった消去ブロックにかかる区間のみ、ユーザデータが記録されている4個のフラッシュメモリ6a〜6dとパリティデータが記録されているフラッシュメモリ6eを並列にリードする。
図8は、実施の形態1の変形における主要部のタイミング図である。同図の上段はフラッシュメモリ6a〜6dよりユーザデータをリードするタイミングを示す。同図のD0、D1、D2、・・・、D5は、夫々4個のフラッシュメモリ6a〜6dから並列リードされた32KBバイトのユーザデータを示し、夫々のフラッシュメモリでは同一の消去ブロック内のデータとする。同図は、斜線を記したD2、D3、D4に連続してエラーセクタが存在したことを示している。
同図の中段は、フラッシュメモリ6eからのパリティデータのリードタイミングを示す。符号P2、P3、P4は夫々、ユーザデータD2、D3、D4に対応するパリティデータである。同図によると、ユーザデータD2のリードによりエラーセクタが存在することが検出されたので、D2のパリティデータP2がフラッシュメモリ6eからリードされ、次のD3及びD4は同一の消去ブロック内のユーザデータなので、D3、D4と夫々のパリティデータP3とP4がフラッシュメモリ6a〜6eより5並列にリードされている。データD3、D4はそのパリティデータP3、P4と夫々並列にリードしているので、D3、D4をリードしながらエラー訂正することが可能となる。図7と比較すると、エラー訂正終了までに要する時間は約半分になる。
同図の下段はユーザデータの出力タイミングを示す。バーストエラーが発生した場合、第1のECC処理部3により、最初のエラー訂正されたユーザデータの出力は、図7と同程度の時間を要するが、それ以降はエラーセクタが発生しなかった場合と同程度の時間で処理を終了できる。
以上説明したように、第2のECC処理部4a〜4dでエラー訂正が不可と検出された場合は、エラー訂正が不可であった消去ブロックにかかる区間のみ、データが記録されている4個のフラッシュメモリ6a〜6dとパリティデータが記録されているフラッシュメモリ6eを並列リードする。これにより、内部メモリを増加させることなく、バーストエラーが発生した場合も、リード転送レートの劣化を抑制できる半導体記録再生装置10を提供することができる。
なお、第1のECC処理は1重訂正なのでエラー訂正にかかる時間は無視して説明したが、エラー訂正数が増えるとエラー訂正にかかる時間は無視できなくなる為、エラー訂正にかかる時間分、速度が劣化する。
また、エラー訂正が不可であった消去ブロックにかかる区間のみ、データが記録されている4個のフラッシュメモリとパリティデータが記録されているフラッシュメモリを並列リードするように制御したが、想定するエラー要因によって、バーストエラー長を切り替えてもよい。しかしながら、フラッシュメモリは書き換え回数の増加に伴いデータ保持特性が劣化し、書き換え回数のバラツキは消去ブロック単位で発生する可能性が高いので、説明したように消去ブロックが重要パラメータとなることはいうまでもない。
(実施の形態2)
実施の形態1では、すくなくともパリティデータを記録しているフラッシュメモリは、その他のフラッシュメモリと異なるメモリバスで制御部(アクセス部)と繋がれている。実施の形態2では、パリティデータを記録しているフラッシュメモリは、その他の一部のフラッシュメモリと共通のメモリバスで接続されていることを特徴とする。
昨今、フラッシュメモリの外部インタフェイスは、クロックの両エッジを使用した高速インタフェイスに変遷しつつある。しかしながら、フラッシュメモリのライト速度は特に高速化されていないため、高速インタフェイスを有するフラッシュメモリは、1個のメモリバスに複数のフラッシュメモリが接続される可能性が高い。
本実施の形態では、高速インタフェイスを有するフラッシメモリを用いて、エラー耐性の改善、高速リード転送時における消費電流の抑制を実現する半導体記録再生装置を提供することを目的とする。
図9は本実施の形態の半導体記録再生装置の構成図である。同図において、図2と同一符号を付したブロックは説明を割愛する。同図と第1の実施の形態の構成(図2)との差異は、アクセス部である。図2のアクセス部5a〜5eは、夫々のアクセス部に1個のフラッシュメモリが接続されるのに対して、本実施の形態ではアクセス部50に2個のフラッシュメモリ、アクセス部51に3個のフラッシュメモリを接続する。
以下、アクセス部50とフラッシュメモリ6a、6bとの接続をメモリバスA、アクセス部51とフラッシュメモリ6c〜6eとの接続をメモリバスBと定義する。
メモリバスAに接続された2個のフラッシュメモリ6a、6bはユーザデータを記録し、メモリバスBに接続されたフラッシュメモリ6c〜6dはユーザデータを、フラッシュメモリ6eはパリティデータを記録する。そして、メモリバスAのクロックとメモリバスBのクロックは同一の周波数を用いる。そして、フラッシュメモリのリード転送性能がライト転送性能に比べて2倍以上高速であることから、クロック周波数は、2個のフラッシュメモリ6a、6bからデータを並列リードする際に、最大リード転送性能を発揮できる周波数とする。
使用するフラッシュメモリ1個当たりの最大ライト転送レートを20MB/s、最大リード転送レートを50MB/sとすると、2個のメモリバスの夫々帯域は100MB/sあればよく、両エッジのクロックを使用した8ビットデータのインタフェイスでは50MHzのクロックを供給すればよい。
ライト時のメモリバスAに要求される帯域は、2個のフラッシュメモリ6a、6bの最大ライト転送レートの和であり、40MB/sとなる。また、ライト時のメモリバスBに要求される帯域は、3個のフラッシュメモリ6c〜6eの最大ライト転送レートの和であり、60MB/sとなる。メモリバスA及びメモリバスBの帯域は共に100MB/sであるので、フラッシュメモリの実力を最大限発揮できる。
また、リード時のメモリバスAに要求される帯域は2個のフラッシュメモリ6a、6bの最大リード転送レートの和であり、100MB/sとなる。一方、リード時のメモリバスBに要求される帯域は、その方式によって大幅に異なる。
メモリバスBに接続された3個のフラッシュメモリ6c〜6eを並列リードさせた場合に要求される帯域は、最大リード転送レートの和(=150MB/s)となり、メモリバスBに関しては、メモリバス帯域が不足することになる。しかしながら、本実施の形態ではリードエラーが発生していない場合は、フラッシュメモリ6eよりパリティデータをリードしないため、2個のフラッシュメモリ6c、6dの最大リード転送レートの和(=100MB/s)が確保できていれば、メモリバス帯域が不足することはない。
ゆえに、データにエラー検出がされた場合のみパリティデータをリードする方式(実施の形態1)を本実施の形態に適用した場合では、メモリバスBにおいて、3個のフラッシュメモリ6c〜6eを並列にリードする事象は発生しないので、メモリバス帯域が不足することはない。
また、データにエラー検出がされた場合には、当該消去ブロックに限りデータとパリティデータを並列リードする方式(実施の形態1の変形)を本実施の形態に適用した場合は、バス帯域が不足し最大性能の2/3程度の転送速度になるが、リードエラー発生の確率は1%程度と想定されるため、その影響は僅かとなる。
以上、説明したように、フラッシュメモリを制御するメモリバスを少なくとも2個以上有し、パリティデータを1個のメモリバスに接続されたフラッシュメモリ6eのみに記録し、パリティデータを記録するメモリバスに接続されるフラッシュメモリ数(3)は、パリティデータを記録しないメモリバスに接続されるメモリ数(2)よりも、パリティデータに相当する分のみ多くなる構成とする。そして、パリティデータを記録しないメモリバスを基準に、全メモリバスのクロック周波数を決定する。そして、パリティデータをリードしない第1の再生モードと、少なくともパリティデータをリードする第2の再生モードを設け、リードエラーが発生した場合にのみ、第2の再生モードに切り替える。
これにより、リードエラーが発生しない状態では、第1の再生モードの最大リード転送性能が発揮できるようにメモリバス帯域を設定しているため、性能に対する消費電流のムダは発生しない。またリードエラーが発生した場合は、転送性能劣化、消費電流の増大が発生するが、その区間は全体の1%以下と想定されるので、その影響は微少である。
ゆえに、高速インタフェイスを有する不揮発性メモリを使用して、エラー耐性の改善、高速リード転送時における消費電流の抑制を実現する半導体記録再生装置20を提供することができる。
なお、本実施の形態では、メモリバス数を2個で説明したが、これに限るものではなく、パリティデータとユーザデータが同一のメモリバスを介して不揮発性メモリにライトされるような半導体記録再生装置であれば、同様の効果が得られることはいうまでもない。
本実施の形態にかかる半導体記録再生装置は、複数のフラッシュメモリに跨るECC符号を構成しエラー耐性を改善するとともに、2個の再生モードをリードエラーの有無で切り替えて使用することにより、低消費電力を実現している。ゆえに、高信頼性と低消費電力が要求される業務用のメモリカードや、カメラレコーダなどのバッテリ/電池駆動の機器で使用される可能性が大きい。
1 外部インタフェイス部
2 ECC制御部
3 第1のECC処理部
4a〜4e 第2のECC処理部
5a〜5e、50、51 アクセス部
6a〜6e フラッシュメモリ
10、20 半導体記録再生装置

Claims (11)

  1. 外部機器とユーザデータを送受信する外部インタフェイス部と、
    前記ユーザデータに対するパリティデータを生成する第1のECC生成部と、
    不揮発性メモリへのデータの記録および読み出しを制御するアクセス部と、
    前記ユーザデータを複数に分割し、分割したユーザデータおよび前記パリティデータを、前記アクセス部を介して少なくとも一つの不揮発性メモリに記録する記録制御部と、
    前記アクセス部を介して、前記不揮発性メモリから読み出したパリティデータを用いて、前記不揮発性メモリから読み出したユーザデータのエラーを訂正するECC訂正部と、
    前記パリティデータを除くユーザデータを読み出す第1の再生モードと、前記パリティデータを含むユーザデータを読み出す第2の再生モードを有し、何れかのモードで前記アクセス部を介して前記不揮発性メモリからユーザデータを読み出して再生する再生制御部と、
    を備える半導体記録再生装置。
  2. 前記再生制御部は、
    前記第1の再生モードを実行中にエラーが検出された場合に、前記第2の再生モードを実行する
    請求項1に記載の半導体記録再生装置。
  3. 前記ECC訂正部は、
    前記不揮発性メモリから読み出したユーザデータに対応する、前記第1のECC生成部で生成したパリティデータを、前記不揮発性メモリから読み出して、前記ユーザデータのエラーを訂正する
    請求項1または2に記載の半導体記録再生装置
  4. 前記再生制御部は、
    前記第1の再生モードから前記第2の再生モードに切り替えた際は、前記第2の再生モードを、予め定められたリード区間連続して実行する
    請求項1から3の何れかに記載の半導体記録再生装置
  5. 前記再生制御部は、
    前記第1の再生モードから前記第2の再生モードに切り替えた際は、少なくとも、モードを切り替えた時点でリード中であった消去ブロックに対して前記第2の再生モードを連続して実行する
    請求項4に記載の半導体記録再生装置
  6. 前記記録制御部は、
    前記パリティデータを特定の前記不揮発性メモリに記録するように制御する
    請求項1から5の何れかに記載の半導体記録再生装置
  7. 前記再生制御部は、
    前記第1の再生モード実行時は、前記パリティデータが記録されている不揮発性メモリを制御する前記アクセス部に対して、前記不揮発性メモリへの制御信号を非アクティブにするよう制御する
    請求項6に記載の半導体記録再生装置
  8. 前記記録制御部は、
    前記不揮発性メモリのページ内に、前記第1のECC符号と直交する形式で第2のECC符号を付加する第2のECC生成部を含み、
    前記再生制御部は、
    前記第1の再生モードにおいて、前記第2のECC符号によってリードエラーを検出する
    請求項1から7の何れかに記載の半導体記録再生装置
  9. 前記アクセス部は、
    前記パリティデータを記録する不揮発性メモリと前記ユーザデータを記録する不揮発メモリとに、共通のメモリバスによって接続される
    請求項6から8の何れかに記載の半導体記録再生装置。
  10. 前記アクセス部は、
    前記メモリバスを2系統以上有し、
    前記パリティデータを記録するメモリバスに接続された不揮発性メモリ数は、前記パリティデータを記録しないメモリバスに繋がる不揮発性メモリ数よりも、前記パリティデータに相当する分多い
    請求項9に記載の半導体記録再生装置。
  11. 前記アクセス部は、
    前記パリティデータを記録するメモリバス側と前記パリティデータを記録しないメモリバス側において同一クロック周波数で動作する
    請求項10に記載の半導体記録再生装置。
JP2010158395A 2010-07-13 2010-07-13 半導体記録再生装置 Pending JP2012022422A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010158395A JP2012022422A (ja) 2010-07-13 2010-07-13 半導体記録再生装置
US12/960,851 US8539300B2 (en) 2010-07-13 2010-12-06 Information recording and reproducing apparatus for writing user data received from an external device to a recording medium using generated parity data corresponding to the user data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010158395A JP2012022422A (ja) 2010-07-13 2010-07-13 半導体記録再生装置

Publications (1)

Publication Number Publication Date
JP2012022422A true JP2012022422A (ja) 2012-02-02

Family

ID=45467848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010158395A Pending JP2012022422A (ja) 2010-07-13 2010-07-13 半導体記録再生装置

Country Status (2)

Country Link
US (1) US8539300B2 (ja)
JP (1) JP2012022422A (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013168479A1 (ja) * 2012-05-07 2013-11-14 株式会社バッファローメモリ Ssd(ソリッドステートドライブ)装置
JP2014092865A (ja) * 2012-11-01 2014-05-19 Toyota Motor Corp 情報処理装置及び情報処理方法、並びに制御システム
KR20140133593A (ko) * 2012-03-06 2014-11-19 마이크론 테크놀로지, 인크. 에러 정정 코드 조직화를 포함한 장치들 및 방법들
WO2015083308A1 (en) * 2013-12-04 2015-06-11 International Business Machines Corporation Page retirement in a nand flash memory system
JP2015135676A (ja) * 2014-01-13 2015-07-27 シーゲイト テクノロジー エルエルシー 複数のフラッシュ面にわたってコード語をインターリーブするための方法および/または装置
WO2016038673A1 (ja) * 2014-09-09 2016-03-17 株式会社日立製作所 誤り訂正装置、誤り訂正方法、及び誤り訂正システム
US9311181B2 (en) 2012-11-15 2016-04-12 Samsung Electronics Co., Ltd. Memory controller changing partial data in memory device and method for changing partial data thereof
JP2016143068A (ja) * 2015-01-29 2016-08-08 富士通セミコンダクター株式会社 半導体記憶装置および半導体記憶装置の制御方法
KR20170052576A (ko) * 2014-09-26 2017-05-12 인텔 코포레이션 메모리와 호스트 시스템 간의 ecc 메타데이터 교환
US11791009B2 (en) 2021-01-14 2023-10-17 Changxin Memory Technologies, Inc. Error correction system
US11886292B2 (en) 2021-01-14 2024-01-30 Changxin Memory Technologies, Inc. Memory system
US11935616B2 (en) 2021-01-14 2024-03-19 Changxin Memory Technologies, Inc. Comparison system

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201239893A (en) * 2011-03-25 2012-10-01 Silicon Motion Inc Method for enhancing data protection performance, and associated personal computer and storage medium
CN103197985B (zh) * 2011-11-08 2018-07-13 索尼公司 存储控制装置
US9543035B2 (en) * 2011-11-15 2017-01-10 Hgst Technologies Santa Ana, Inc. Transmission error detector for flash memory controller
WO2013137851A1 (en) * 2012-03-12 2013-09-19 Intel Corporation Distributed codeword portions
JP5942512B2 (ja) * 2012-03-19 2016-06-29 富士通株式会社 ストレージ制御装置およびストレージシステム
KR101979734B1 (ko) 2012-08-07 2019-05-17 삼성전자 주식회사 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법
KR102549605B1 (ko) 2016-03-04 2023-06-30 삼성전자주식회사 Raid 스토리지 장치의 리커버리 방법
US10908996B2 (en) 2019-02-22 2021-02-02 Intel Corporation Distribution of a codeword across individual storage units to reduce the bit error rate

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11203057A (ja) * 1998-01-09 1999-07-30 Nec Corp ディスクアレイ装置およびその制御方法
JP2000020409A (ja) * 1998-07-07 2000-01-21 Seiko Epson Corp 半導体記憶装置
JP2008523528A (ja) * 2004-12-04 2008-07-03 ハイパーストーン・ゲゼルシヤフト・ミツト・ベシユレンクテル・ハフツング セクタバッファを持つメモリシステム
JP2010079485A (ja) * 2008-09-25 2010-04-08 Panasonic Corp 半導体記録装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003303139A (ja) * 2002-04-09 2003-10-24 Nec Corp 冗長メモリモジュールおよびメモリコントローラ
JP2006018373A (ja) 2004-06-30 2006-01-19 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US8296337B2 (en) * 2006-12-06 2012-10-23 Fusion-Io, Inc. Apparatus, system, and method for managing data from a requesting device with an empty data token directive
JP2010015197A (ja) * 2008-06-30 2010-01-21 Toshiba Corp ストレージ制御装置、データ復元装置およびストレージシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11203057A (ja) * 1998-01-09 1999-07-30 Nec Corp ディスクアレイ装置およびその制御方法
JP2000020409A (ja) * 1998-07-07 2000-01-21 Seiko Epson Corp 半導体記憶装置
JP2008523528A (ja) * 2004-12-04 2008-07-03 ハイパーストーン・ゲゼルシヤフト・ミツト・ベシユレンクテル・ハフツング セクタバッファを持つメモリシステム
JP2010079485A (ja) * 2008-09-25 2010-04-08 Panasonic Corp 半導体記録装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140133593A (ko) * 2012-03-06 2014-11-19 마이크론 테크놀로지, 인크. 에러 정정 코드 조직화를 포함한 장치들 및 방법들
JP2015509640A (ja) * 2012-03-06 2015-03-30 マイクロン テクノロジー, インク. 誤り訂正符号の編成を含む装置および方法
KR102230584B1 (ko) * 2012-03-06 2021-03-23 마이크론 테크놀로지, 인크. 에러 정정 코드 조직화를 포함한 장치들 및 방법들
US9983928B2 (en) 2012-03-06 2018-05-29 Micron Technology, Inc. Apparatuses and methods including error correction code organization
WO2013168479A1 (ja) * 2012-05-07 2013-11-14 株式会社バッファローメモリ Ssd(ソリッドステートドライブ)装置
JP2014092865A (ja) * 2012-11-01 2014-05-19 Toyota Motor Corp 情報処理装置及び情報処理方法、並びに制御システム
US9311181B2 (en) 2012-11-15 2016-04-12 Samsung Electronics Co., Ltd. Memory controller changing partial data in memory device and method for changing partial data thereof
WO2015083308A1 (en) * 2013-12-04 2015-06-11 International Business Machines Corporation Page retirement in a nand flash memory system
JP2015135676A (ja) * 2014-01-13 2015-07-27 シーゲイト テクノロジー エルエルシー 複数のフラッシュ面にわたってコード語をインターリーブするための方法および/または装置
WO2016038673A1 (ja) * 2014-09-09 2016-03-17 株式会社日立製作所 誤り訂正装置、誤り訂正方法、及び誤り訂正システム
KR20170052576A (ko) * 2014-09-26 2017-05-12 인텔 코포레이션 메모리와 호스트 시스템 간의 ecc 메타데이터 교환
JP2017529599A (ja) * 2014-09-26 2017-10-05 インテル・コーポレーション メモリとホストシステムとの間のeccメタデータの交換
KR102236801B1 (ko) * 2014-09-26 2021-04-07 인텔 코포레이션 메모리와 호스트 시스템 간의 ecc 메타데이터 교환
JP2016143068A (ja) * 2015-01-29 2016-08-08 富士通セミコンダクター株式会社 半導体記憶装置および半導体記憶装置の制御方法
US11791009B2 (en) 2021-01-14 2023-10-17 Changxin Memory Technologies, Inc. Error correction system
US11886292B2 (en) 2021-01-14 2024-01-30 Changxin Memory Technologies, Inc. Memory system
US11935616B2 (en) 2021-01-14 2024-03-19 Changxin Memory Technologies, Inc. Comparison system

Also Published As

Publication number Publication date
US8539300B2 (en) 2013-09-17
US20120017139A1 (en) 2012-01-19

Similar Documents

Publication Publication Date Title
JP2012022422A (ja) 半導体記録再生装置
US10007431B2 (en) Storage devices configured to generate linked lists
CN107133122B (zh) 存储器控制方法
US8782329B2 (en) Method for performing data shaping, and associated memory device and controller thereof
JP5776107B2 (ja) メモリコントローラ及び方法におけるデータ完全性
US8726140B2 (en) Dummy data padding and error code correcting memory controller, data processing method thereof, and memory system including the same
US20190252035A1 (en) Decoding method, memory storage device and memory control circuit unit
US10347349B2 (en) Method and device for fail-safe erase of flash memory
US8719491B2 (en) Encoding flash memory data with a randomizer using different seeds for different sectors
US20120166906A1 (en) Memory system and control method thereof
US10860420B2 (en) Method and system for mitigating read disturb impact on persistent memory
JP2016510928A (ja) 利用可能なメモリスペースに基づく冗長ストレージ構成の選択
US8775902B2 (en) Memory controller and storage device
JP6491482B2 (ja) 複数のフラッシュ面にわたってコード語をインターリーブするための方法および/または装置
US20100077280A1 (en) Semiconductor recording device
JP7177338B2 (ja) メモリコントローラ装置、メモリコントローラ装置を有するメモリ装置及びメモリコントロール方法
US11294598B2 (en) Storage devices having minimum write sizes of data
US10922025B2 (en) Nonvolatile memory bad row management
US9436547B2 (en) Data storing method, memory control circuit unit and memory storage device
US11531582B2 (en) Data storage device dynamically relocating data sectors based on map-out value
KR20140101626A (ko) 솔리드 스테이트 드라이브의 데이터 처리 방법
JP2011134031A (ja) 半導体記録装置および半導体記録システム
US20240054048A1 (en) Multi-layer code rate architecture for special event protection with reduced performance penalty

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130610

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20130712

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20140107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20140417

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140527