(57)【要約】【課題】エラー耐性を改善しつつ、高速リード転送と低消費電力の双方を満足する半導体記録装置を提供する。【解決手段】半導体記録再生装置１０は、外部機器とユーザデータを送受信する外部インタフェイス部１と、ユーザデータに対するパリティデータを生成するとともに、パリティデータを用いてユーザデータのエラーを訂正する第１のＥＣＣ処理部３と、ユーザデータを複数に分割し、分割したユーザデータおよびパリティデータを、フラッシュメモリ６ａ〜６ｅに記録するとともに、パリティデータを除くユーザデータを読み出す第１の再生モードと、パリティデータを含むユーザデータを読み出す第２の再生モードを有し、何れかのモードでフラッシュメモリ６ａ〜６ｅからユーザデータを読み出して再生するＥＣＣ制御部２と、を備える。【選択図】図２
2012022422.tif 000002
【特許請求の範囲】
【請求項１】
外部機器とユーザデータを送受信する外部インタフェイス部と、
前記ユーザデータに対するパリティデータを生成する第１のＥＣＣ生成部と、
不揮発性メモリへのデータの記録および読み出しを制御するアクセス部と、
前記ユーザデータを複数に分割し、分割したユーザデータおよび前記パリティデータを、前記アクセス部を介して少なくとも一つの不揮発性メモリに記録する記録制御部と、
前記アクセス部を介して、前記不揮発性メモリから読み出したパリティデータを用いて、前記不揮発性メモリから読み出したユーザデータのエラーを訂正するＥＣＣ訂正部と、
前記パリティデータを除くユーザデータを読み出す第１の再生モードと、前記パリティデータを含むユーザデータを読み出す第２の再生モードを有し、何れかのモードで前記アクセス部を介して前記不揮発性メモリからユーザデータを読み出して再生する再生制御部と、
を備える半導体記録再生装置。
【請求項２】
前記再生制御部は、
前記第１の再生モードを実行中にエラーが検出された場合に、前記第２の再生モードを実行する
請求項１に記載の半導体記録再生装置。
【請求項３】
前記ＥＣＣ訂正部は、
前記不揮発性メモリから読み出したユーザデータに対応する、前記第１のＥＣＣ生成部で生成したパリティデータを、前記不揮発性メモリから読み出して、前記ユーザデータのエラーを訂正する
請求項１または２に記載の半導体記録再生装置
【請求項４】
前記再生制御部は、
前記第１の再生モードから前記第２の再生モードに切り替えた際は、前記第２の再生モードを、予め定められたリード区間連続して実行する
請求項１から３の何れかに記載の半導体記録再生装置
【請求項５】
前記再生制御部は、
前記第１の再生モードから前記第２の再生モードに切り替えた際は、少なくとも、モードを切り替えた時点でリード中であった消去ブロックに対して前記第２の再生モードを連続して実行する
請求項４に記載の半導体記録再生装置
【請求項６】
前記記録制御部は、
前記パリティデータを特定の前記不揮発性メモリに記録するように制御する
請求項１から５の何れかに記載の半導体記録再生装置
【請求項７】
前記再生制御部は、
前記第１の再生モード実行時は、前記パリティデータが記録されている不揮発性メモリを制御する前記アクセス部に対して、前記不揮発性メモリへの制御信号を非アクティブにするよう制御する
請求項６に記載の半導体記録再生装置
【請求項８】
前記記録制御部は、
前記不揮発性メモリのページ内に、前記第１のＥＣＣ符号と直交する形式で第２のＥＣＣ符号を付加する第２のＥＣＣ生成部を含み、
前記再生制御部は、
前記第１の再生モードにおいて、前記第２のＥＣＣ符号によってリードエラーを検出する
請求項１から７の何れかに記載の半導体記録再生装置
【請求項９】
前記アクセス部は、
前記パリティデータを記録する不揮発性メモリと前記ユーザデータを記録する不揮発メモリとに、共通のメモリバスによって接続される
請求項６から８の何れかに記載の半導体記録再生装置。
【請求項１０】
前記アクセス部は、
前記メモリバスを２系統以上有し、
前記パリティデータを記録するメモリバスに接続された不揮発性メモリ数は、前記パリティデータを記録しないメモリバスに繋がる不揮発性メモリ数よりも、前記パリティデータに相当する分多い
請求項９に記載の半導体記録再生装置。
【請求項１１】
前記アクセス部は、
前記パリティデータを記録するメモリバス側と前記パリティデータを記録しないメモリバス側において同一クロック周波数で動作する
請求項１０に記載の半導体記録再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリカードなどの半導体記録再生装置において、内部の不揮発性メモリのデータ保持特性のバラツキ及び書き換え回数に伴う劣化を抑制する制御手法に関する。
【背景技術】
【０００２】
従来、フラッシュメモリが内蔵されたカード型の記録媒体であるＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カード等の半導体記録再生装置は、超小型、超薄型であり、その取り扱い易さから、ディジタルカメラ、携帯機器等において画像等のデータを記録するために広く利用されている。
【０００３】
半導体記録再生装置に内蔵されているフラッシュメモリは、一定サイズの多数の物理ブロックから成り、物理ブロックの単位でデータを消去できるメモリである。昨今の大容量化の要請に対応すべく、１セルで２ビット以上のデータが蓄積できる多値フラッシュメモリが商品化されている。
【０００４】
図１に、多値フラッシュメモリのフローティングゲートに蓄積する電子の数と閾値電圧（Ｖｔｈ）の関係の一例を示す。図１に示すように、４値のフラッシュメモリは、フローティングゲートの電子の蓄積状態をその閾値電圧（Ｖｔｈ）に従って４状態で管理する。消去状態は電位が一番低く、これを（１，１）とする。そして電子が蓄積していくにつれて閾値電圧が離散的に上昇し、その状態を夫々（１，０）（０，０）（０，１）とする。このように、蓄積する電子の数に比例して電位が上昇するので、所定の電位の閾値に収まるように制御することによって、４値のフラッシュメモリは１つのメモリセルに２ビットのデータを記録することができる。
【０００５】
しかしながら、４値フラッシュメモリは、電子のチャージ量によって４状態を識別するために、各状態間の閾値電圧の差が、２値フラッシュメモリより小さい。
【０００６】
また、書き換え回数を重ねる毎に、データの書き換えを繰り返すと、電子の注入と引き抜きによってゲート酸化膜にわずかな損傷が発生する。この損傷が積み重なると電子トラップが数多く形成されるため、実際のフローティングゲートに蓄積される電子数が減少してしまう。半導体プロセスの微細化に比例して、フローティングゲートに蓄積される電子数が少なくなるため、電子トラップの影響は大きくなる
このように、フラッシュメモリの大容量化を支える多値記録および半導体プロセスの微細化に従い、フラッシュメモリのデータ保持特性の劣化といった課題が顕著になってきた。
【０００７】
上記の課題の解決手法として
（１）書き換え回数の制限
（２）エラー訂正の強化
が、採用されている。
【０００８】
特許文献１では、複数チップで構成されたフラッシュメモリにおいて、フラッシュメモリの互いに異なるチップ内のブロックを関連付け、関連付けられた複数のブロックを共通のグループとして取り扱い、グループ内の１ブロックを当該グループ内の他のブロックに書き込まれたユーザデータのパリティ用のブロックに割当てることにより、誤り訂正能力を強化し、データ保持特性の劣化を抑制するフラッシュメモリが開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−１８３７３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述した手法は、ハードディスクドライブ（ＨＤＤ）で利用されているＲＡＩＤ５をフラッシュメモリに適用したものである。特にフラッシュメモリのような半導体メモリに適用する場合には、パリティデータの分、冗長度が増加し、特にリード動作において、高速リードと低消費電力化の双方を満足することができない。
【００１１】
例えば、４バイトのユーザデータに１バイトのパリティデータを付加した（５，４）ＥＣＣ符号が生成させる。そして、パリティデータはブロック単位で別チップに割り付けてライトする。ライト時の消費電力は、パリティデータの２０％分増加する。また、リード時においても、２０％分のパリティデータを余分にリードするので、同様に２０％分の消費電力が増加する。
【００１２】
一方、メモリカードに動画を記録する業務用アプリケーションにおいては、ライトはリアルタイム記録を満足できれば良いが、リードは記録したデータをサーバにアップロードするため、高速転送が要求される。ゆえに、パリティデータによる２０％の電力増大は高速転送時に顕著となるため、リード時に高速転送と低消費電力の双方を満足させることが課題であった。
【００１３】
本発明は、上記問題を解決するものであり、積符号構成により、エラー耐性を改善しつつ、高速リード転送と低消費電力の双方を満足する半導体記録再生装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
この課題を解決するために、本発明の半導体記録再生装置は、外部機器とユーザデータを送受信する外部インタフェイス部と、前記ユーザデータに対するパリティデータを生成する第１のＥＣＣ生成部と、不揮発性メモリへのデータの記録および読み出しを制御するアクセス部と、前記ユーザデータを複数に分割し、分割したユーザデータおよび前記パリティデータを、前記アクセス部を介して少なくとも一つの不揮発性メモリに記録する記録制御部と、前記アクセス部を介して、前記不揮発性メモリから読み出したパリティデータを用いて、前記不揮発性メモリから読み出したユーザデータのエラーを訂正するＥＣＣ訂正部と、前記パリティデータを除くユーザデータを読み出す第１の再生モードと、前記パリティデータを含むユーザデータを読み出す第２の再生モードを有し、何れかのモードで前記アクセス部を介して前記不揮発性メモリからユーザデータを読み出して再生する再生制御部と、を備える半導体記録再生装置。
【発明の効果】
【００１５】
上記構成によって、パリティデータを除くユーザデータを再生する第１の再生モードを使用することで、パリティデータ分の転送レート劣化及び消費電流の増加を防止することができ、必要に応じてパリティデータを含むユーザデータを読み出す第２の再生モードに切り替えることで、第２の再生モードではパリティデータをリードしエラー訂正を実施するのでエラー耐性を改善することができる。
【図面の簡単な説明】
【００１６】
【図１】多値フラッシュメモリの電子の蓄積状態を示す模式図
【図２】実施の形態１における半導体記録再生装置の構成図
【図３】フラッシュメモリの消去ブロックの構成図
【図４】実施の形態１におけるライト時の主要部のタイミング図
【図５】実施の形態１の第１のＥＣＣ処理部の動作説明図
【図６】実施の形態１におけるリード時の主要部のタイミング図
【図７】実施の形態１におけるバーストエラー発生時の主要部のタイミング図
【図８】実施の形態１の変形におけるバーストエラー発生時の主要部のタイミング図
【図９】実施の形態２の半導体記録再生装置の構成図
【発明を実施するための形態】
【００１７】
（実施の形態１）
図２に実施の形態１における半導体記録再生装置の構成図を示す。本実施の形態において、半導体記録再生装置１０は、外部インタフェイス部１と、ＥＣＣ制御部２と、第１のＥＣＣ処理部３と、第２のＥＣＣ処理部４ａ〜４ｅと、アクセス部５ａ〜５ｅを含む。半導体記録再生装置１０は、アクセス部５ａ〜５ｅを介して、フラッシュメモリ６ａ〜６ｅに接続される。
【００１８】
外部インタフェイス部１は、図示しないホスト機器からのコマンドやユーザデータを送受信するインタフェイスである。アクセス部５ａ〜５ｅは、フラッシュメモリ６ａ〜６ｅに接続し、フラッシュメモリ６ａ〜６ｅへのデータのライトやリードを行う。
【００１９】
ＥＣＣ制御部２、第１のＥＣＣ処理部３および第２のＥＣＣ処理部４ａ〜４ｅは、ライト時とリード時において動作が異なるため、最初にライト時の動作について説明した後にリード時の動作について説明する。
【００２０】
「ライト時の動作」
ＥＣＣ制御部２は、外部インタフェイス部１を介して転送されたユーザデータを、並び替えて第１のＥＣＣ処理部３に転送するとともに、入力データを４個のフラッシュメモリ６ａ〜６ｄに分配する。第１のＥＣＣ処理部３は、ＥＣＣ制御部２より転送されたユーザデータに対して、所定バイト単位でパリティデータを生成する。第２のＥＣＣ処理部４ａ〜４ｄは、ＥＣＣ制御部２によって分配されたユーザデータに対して所定バイト単位でパリティデータを付加した第２のＥＣＣ符号を生成する。また、第２のＥＣＣ処理部４ｅは、第１のＥＣＣ処理部３によって生成された第１のＥＣＣ符号のパリティデータに対して所定バイト単位でパリティデータを付加した第２のＥＣＣ符号を生成する。アクセス部５ａ〜５ｅは、夫々に接続されたフラッシュメモリ６ａ〜６ｅに対してデータをライトする。
【００２１】
図３に本実施の形態で使用するフラッシュメモリの消去ブロックの構成図を示す。
【００２２】
フラッシュメモリは、複数の消去ブロックにより構成され、各消去ブロックは複数のページで構成される。図３に示す消去ブロックは、ページ０〜ページ１２７の１２８ページによって構成され、データの書き込みをページ単位で実施する。１ページ当たりのデータ容量が８ＫＢであれば、消去ブロックサイズは１ＭＢ、そして、消去ブロック数が１Ｋ個あれば、当該フラッシュメモリの容量は１ＧＢとなる。
【００２３】
つぎに、第１のＥＣＣ処理部３について説明する。第１のＥＣＣ処理部３は（５，４）ＥＣＣ符号を生成する。より具体的には、第１のＥＣＣ処理部３は連続する４バイトのデータに対して、ＥＸＯＲを実施してパリティデータを生成する。半導体不良などのエラー耐性の点を考慮すると、第１のＥＣＣ符号を生成する４バイトのデータは別チップのフラッシュメモリにライトされることが望ましい。このため、入力されるユーザデータは、フラッシュメモリのページサイズ単位（＝８ＫＢ）で、４個のフラッシュメモリ（６ａ〜６ｄ）に割り当てられる。そして、第１のＥＣＣ処理部３は、各フラッシュメモリに割り当てられる８ＫＢのデータから１バイトずつ抽出した４バイトのデータのＥＸＯＲ処理を行い１バイトのパリティデータを生成する。
【００２４】
上記処理を繰り返し実施し、外部インタフェイス部１より入力される３２ＫＢのユーザデータに対して、８ＫＢのパリティデータを生成する。
【００２５】
図４はライト動作における主要部のタイミングを示す図であり、同図上段は外部インタフェイス部１の入力タイミング、同図中段は第１のＥＣＣ処理部３の処理タイミング、同図下段はフラッシュメモリ６ａ〜６ｅへのライトタイミングを示す。
【００２６】
同図のＤ００、Ｄ０１、Ｄ０２、Ｄ０３は、夫々８ＫＢで、入力されるユーザデータを示し、同図Ｐ０は、Ｄ００、Ｄ０１、Ｄ０２、Ｄ０３の合計３２ＫＢの入力されたユーザデータより生成された８ＫＢのパリティデータを示す。
【００２７】
同図によると、フラッシュメモリの４ページ分（＝３２ＫＢ）の入力後に、第１のＥＣＣ処理部３はＥＣＣ処理を開始する（同図の上段と中段を参照）。そして、８ＫＢのパリティデータ（Ｐ０）生成後に、第２のＥＣＣ処理部５ａ〜５ｅは第２のＥＣＣ処理を実施し、アクセス部５ａ〜５ｅを介してフラッシュメモリ６ａ〜６ｅにライトする。ここで、同図のＤ００、Ｄ０１、Ｄ０２、Ｄ０３はフラッシュメモリ６ａ、６ｂ、６ｃ、６ｄに夫々ライトされ、第１のＥＣＣ処理で生成されたパリティデータはフラッシュメモリ６ｅにライトされる。
【００２８】
次に第２のＥＣＣ処理部４ａ〜４ｅの動作について説明する。第２のＥＣＣ処理部４ａ〜４ｅは、８ＫＢのユーザデータおよびパリティデータに対して、所定バイト単位で第２のパリティデータを付加する。エラー訂正符号はＢＣＨ符号やリードソロモン符号が使用されるが、本発明の本質ではないため詳細を割愛する。本実施の形態では、リードソロモン符号が使用される。そして、第２のＥＣＣ処理部４ａ〜４ｅは、８ＫＢのユーザデータおよびパリティデータに対して、５１２バイト単位で８バイトの第２のパリティデータを追加した１６個の（５２０，５１２）ＥＣＣ符号を生成する。第２のＥＣＣ符号は、対象とする５１２バイトのデータをエラー訂正する役割と、エラー訂正が不可であった場合にエラーを検出し、第１のＥＣＣ符号におけるエラー位置として、第１のＥＣＣ処理部３に転送する役割を担っている。
【００２９】
以上が、本実施の形態のライトにおける動作説明である。このようにライトされた本実施の形態の半導体記録再生装置１０におけるリード動作について、以下説明する。
【００３０】
「リード時の動作」
まず、図２における構成要素の動作について、説明する。
【００３１】
フラッシュメモリ６ａ〜６ｅは、半導体記録再生装置１０でライトされたユーザデータおよびパリティデータを保持している不揮発性メモリである。フラッシュメモリ６ａ〜６ｄは、外部インタフェイス部１を介して転送されたユーザデータが記録されている。また、フラッシュメモリ６ｅには、第１のＥＣＣ処理部３により生成されたパリティデータが記録されている。
【００３２】
アクセス部５ａ〜５ｅは、夫々に接続されたフラッシュメモリ６ａ〜６ｅに記録されているデータのリードを行い、少なくとも第１のＥＣＣ処理部３により生成されたパリティデータを記録しているフラッシュメモリ６ｅへのリードアクセスは、ユーザデータを記録しているフラッシュメモリ６ａ〜６ｄのリードアクセスとは独立して実施できる構成とする。
【００３３】
第２のＥＣＣ処理部４ａ〜４ｅは、リードされたデータに対して５１２バイト単位でエラー訂正を実施する。５１２バイトに対して８バイトの第２のパリティデータが付加されているので、リードソロモン符号においては、最大４バイトのエラー訂正が可能である。そして、４バイトを超えるエラーが発生した場合は、第２のＥＣＣ処理部４ａ〜４ｅは、エラー訂正不可の５１２バイトのデータとして検出し、当該５１２バイトをエラーセクタとしてＥＣＣ制御部２に転送する。
【００３４】
第１のＥＣＣ処理部３は、エラーセクタを第１のＥＣＣ符号を用いてエラー訂正する。第１のＥＣＣ符号は（５，４）ＥＣＣ符号なので、ＥＣＣ符号を生成している５バイトにおいて、エラーセクタを除いた４バイトのＥＸＯＲ計算を実施する。これにより、エラーセクタと検出されたデータを訂正することができる。エラーセクタは５１２バイト単位なので、ＥＸＯＲ処理を５１２回実施すれば、エラーセクタとなった箇所を復元することが可能となる。
【００３５】
ＥＣＣ制御部２は、第２のＥＣＣ処理部４ａ〜４ｄによるエラー訂正結果が訂正可の場合は、フラッシュメモリ６ａ〜６ｄよりリードされたユーザデータを、外部インタフェイス部１を介して出力する。フラッシュメモリ６ａ〜６ｄよりリードしたデータについて、エラーが存在しない場合、およびエラーは存在するが第２のＥＣＣ処理部４ａ〜４ｄでエラー訂正が可能な場合を、第１の再生モードと定義する。
【００３６】
一方、第２のＥＣＣ処理部４ａ〜４ｄによるエラー訂正結果が訂正不可の場合の処理について、以下詳細に説明する。
【００３７】
第２のＥＣＣ処理部４ａ〜４ｄによるエラー訂正結果が訂正不可の場合は、ＥＣＣ制御部２は以下のステップに従って処理していく。
【００３８】
（ＳＴＥＰ１）エラー訂正結果の判定
ＥＣＣ制御部２は、第２のＥＣＣ処理部４ａ〜４ｄにおいて、エラーセクタが１個の場合はＳＴＥＰ２に進み、エラーセクタが２個以上存在した場合は、リードエラーとして外部インタフェイス部１を介してホストに通知する。
【００３９】
（ＳＴＥＰ２）パリティデータのリード
ＥＣＣ制御部２は、アクセス部５ｅを介して、フラッシュメモリ６ｅに記録されているパリティデータをリードする。そして、リードするパリティデータは、ＳＴＥＰ１でエラーセクタと判定されたデータと第１のＥＣＣ符号によって関連づけられたデータを含んだパリティデータである。
【００４０】
（ＳＴＥＰ３）エラー訂正可否の判定
ＥＣＣ制御部２は、第２のＥＣＣ処理部４ｅにより、ＳＴＥＰ２でリードされたパリティデータのエラー訂正の可否を判定する。判定はＳＴＥＰ１でエラーセクタと判定されたユーザデータと第１のＥＣＣ符号によって関連づけられたパリティデータのエラー訂正の可否について行う。そして、エラー訂正が否の場合は、ＥＣＣ制御部２は、リードエラーとして外部インタフェイス部１を介してホストに通知する。エラー訂正が可の場合は、ＳＴＥＰ４に移行する。
【００４１】
（ＳＴＥＰ４）エラー訂正の実行
ＥＣＣ制御部２は第１のＥＣＣ処理部３によりＥＣＣ訂正を実施する。より具体的な例について、図５を参照にしながら説明する。
【００４２】
図５は、第１のＥＣＣ処理部３の動作説明図である。同図（ａ）はフラッシュメモリ６ａよりリードしたフラッシュメモリの１ページ分（＝８ＫＢ）のユーザデータを示す。第２のＥＣＣ符号は５１２バイトのユーザデータを構成要素としているので、１ページには１６個の第２のＥＣＣ符号が含まれることになる。そして、第１のＥＣＣ処理部３におけるエラー訂正可否の判定は５１２バイト単位で１６個の第２のＥＣＣ符号に対して実施される。同図では第２のＥＣＣ符号はＳＡ０、ＳＡ１、・・・、ＳＡ１５で示される。同様に同図（ｂ）はフラッシュメモリ６ｂよりリードしたフラッシュメモリの１ページ分（＝８ＫＢ）のユーザデータを示す。第２のＥＣＣ符号はＳＢ０、ＳＢ１、・・・、ＳＢ１５で示される。また、同図（ｃ）はフラッシュメモリ６ｃよりリードしたフラッシュメモリの１ページ分（＝８ＫＢ）のデータを示す。第２のＥＣＣ符号はＳＣ０、ＳＣ１、・・・、ＳＣ１５で示される。また、同図（ｄ）はフラッシュメモリ６ｄよりリードしたフラッシュメモリの１ページ分（＝８ＫＢ）のデータを示す。第２のＥＣＣ符号はＳＤ０、ＳＤ１、・・・、ＳＤ１５で示される。さらに、同図（ｅ）はフラッシュメモリ６ｅよりリードしたフラッシュメモリの１ページ分（＝８ＫＢ）のパリティデータを示す。第２のＥＣＣ符号はＳＰ０、ＳＰ１、・・・、ＳＰ１５で示される。同図における斜線部はエラーセクタを示す。同図では、ＳＢ１とＳＣ１５がエラーセクタであり、これらがエラー訂正の対象となる。
【００４３】
ＳＢ１はＳＡ１、ＳＣ１、ＳＤ１、ＳＰ１と関連づけられたＥＣＣ符号なので、先頭バイトから順番に、ＳＡ１、ＳＣ１、ＳＤ１、ＳＰ１のＥＸＯＲ計算が５１２回繰り返し実施され、エラー訂正が行われる。同様に、ＳＣ１５はＳＡ１５、ＳＢ１５、ＳＤ１５、ＳＰ１５と関連づけられたＥＣＣ符号なので、先頭バイトから順番に、ＳＡ１５、ＳＢ１５、ＳＤ１５、ＳＰ１５のＥＸＯＲ計算が５１２回繰り返し実施され、エラー訂正が行われる。
【００４４】
以上のＳＴＥＰ１〜ＳＴＥＰ４を順次実行することにより、第２のＥＣＣ処理部４ａ〜４ｄによるエラー訂正結果が訂正不可であったユーザデータを復元することができ、エラー耐性を改善することができる。
【００４５】
第２のＥＣＣ処理部４ａ〜４ｄによるエラー訂正結果が訂正不可の場合に、フラッシュメモリ６ｅに記録されたパリティデータを読み出してユーザデータの復元を図るモードを、第２の再生モードと定義する。
【００４６】
図６にリードにおける主要部のタイミング図を示す。同図の上段はフラッシュメモリ６ａ〜６ｄより、ユーザデータをリードするタイミングを示す。同図のＤ０、Ｄ１、Ｄ２、・・・、Ｄ５は、夫々４個のフラッシュメモリから並列リードされた３２ＫＢバイトのユーザデータを示す。同図は、斜線部Ｄ２のみでエラーセクタが存在したことを示している。同図の中段は、フラッシュメモリ６ｅより、パリティデータをリードするタイミングを示す。符号Ｐ２はＤ２に対応するパリティデータである。
【００４７】
同図の上段のリードにおいてエラーセクタが存在しなかった場合は、フラッシュメモリ６ｅから、パリティデータをリードする必要はない。したがって、Ｐ２以外のパリティデータはリードを実施していない。そして、フラッシュメモリ６ｅのクロック等の制御信号はそのアクセス部５ｅにより、同図中段のパリティデータのリード時以外は非アクティブにしておいた方が、省電力効果が高い。
【００４８】
同図の下段はユーザデータの出力タイミングを示す。同図によると、４個のフラッシュメモリ６ａ〜６ｄから、ユーザデータを８ＫＢずつデータリードし、それぞれの８ＫＢでエラーセクタ発生の有無を確認し、エラーセクタが無の場合はリードデータが出力される。一方、エラーセクタが有の場合は、フラッシュメモリ６ｅよりパリティデータをリードし、第１のＥＣＣ処理部３でエラー訂正したユーザデータが出力される。
【００４９】
以上説明したように、記録された第１のＥＣＣ符号のパリティデータを除くユーザデータを再生する第１の再生モードと、パリティデータを再生しユーザデータの復元を図る第２の再生モードを有し、リードエラーが検出されない限りは、第１の再生モードを使用し、リードエラーが検出された場合にのみ、パリティデータを再生する第２の再生モードに切り替える。これにより、リードエラーが発生しない限り、パリティデータのリードを除去することができる。実際、第２の再生モードを実行する割合は１％以下と想定されるので、リード時の消費電力の上昇分を１％以下に抑制し、かつエラー耐性を改善した半導体記録再生装置１０を提供することができる。
【００５０】
なお、本実施の形態では第１のＥＣＣ符号を（５，４）ＥＣＣ符号による１重訂正としたが、例えば（１０，８）ＥＣＣ符号等にして２重訂正にするなど誤り訂正を強化してもよい。
【００５１】
また、アクセス部５ａ〜５ｄに夫々接続されるフラッシュメモリ数を１個として説明したが、複数個のフラッシュメモリがアクセス部５ａ〜５ｄに接続されていてもよい。
【００５２】
また、第１のＥＣＣ符号のパリティデータを１個のフラッシュメモリに割当てたが、複数のフラッシュメモリに分散してもよい。この場合、パリティデータを記録しているフラッシュメモリのクロックを、エラー発生のみに活性化するような制御はできないので、省電力効果は減少する。
【００５３】
（実施の形態１の変形）
実施の形態１では、ユーザデータが記録されている４個のフラッシュメモリ６ａ〜６ｄをリードし、第２のＥＣＣ処理部４ａ〜４ｄでエラー訂正が不可であった場合のみ、パリティデータが記録されているフラッシュメモリ６ｅをリードして、第１のＥＣＣ処理部３でエラー訂正を実施した。しかしながら、連続して第１のＥＣＣ処理部３でエラー訂正を実施するようなバーストエラーが発生した場合に、リード転送レートが大幅に劣化するという課題がある。実施の形態１において、バーストエラーが発生した場合の主要部のタイミングを図７に示す。
【００５４】
同図の上段はフラッシュメモリ６ａ〜６ｄからのユーザデータのリードタイミングを示す。同図のＤ０、Ｄ１、Ｄ２、・・・、Ｄ５は、夫々４個のフラッシュメモリ６ａ〜６ｄから並列リードされた３２ＫＢバイトのユーザデータを示す。同図は、斜線部Ｄ２、Ｄ３、Ｄ４に連続してエラーセクタが存在したことを示している。同図の中段は、フラッシュメモリ６ｅからパリティデータのリードタイミングを示す。符号Ｐ２、Ｐ３、Ｐ４は夫々ユーザデータＤ２、Ｄ３、Ｄ４に対応するパリティデータである。同図の上段のリードにおいてエラーセクタが存在しなかった場合は、フラッシュメモリ６ｅから、パリティデータのリードを実行する必要はないので、Ｐ２、Ｐ３、Ｐ４以外はリードを実行していない。
【００５５】
同図の下段はユーザデータの出力タイミングを示す。ユーザデータの出力タイミングは、第１のＥＣＣ処理部３によるエラー訂正後である。そして、１個前の３２ＫＢのユーザデータの出力が開始されると、次の３２ＫＢのユーザデータをフラッシュメモリ６ａ〜６ｄから並列にリードする。ゆえに、第１のＥＣＣ処理部３でエラー訂正を実施したユーザデータについて、フラッシュメモリからのリードから出力までにかかる時間は、第１のＥＣＣ処理部３でエラー訂正処理を実施しなかった場合の約２倍となる。すなわち、バーストエラーが発生し第１のＥＣＣ処理部３でエラー訂正したユーザデータＤ２、Ｄ３、Ｄ４がフラッシュメモリからリードされて出力されるまでの時間は、第１のＥＣＣ処理部３によるエラー訂正を実施しなかったユーザデータＤ０、Ｄ１がフラッシュメモリからリードされて出力されるまでの時間の約２倍になる。
【００５６】
上記課題を解決する方法として、例えばＰ２のリードと並行してＤ３のリードを実行すれば良いが、Ｄ２とＤ３のユーザデータを内部メモリに保持する必要があり、回路規模が増大してしまう。本実施の形態１の変形では、内部メモリを増加させることなく、バーストエラーが発生した場合も、リード転送レートの劣化を抑制できる半導体記録再生装置１０を提供することを目的とする。
【００５７】
これを実現するため、ユーザデータが記録されている４個のフラッシュメモリ６ａ〜６ｄをリードし、第２のＥＣＣ処理部４ａ〜４ｄでエラー訂正が不可と検出された場合は、エラー訂正が不可であった消去ブロックにかかる区間のみ、ユーザデータが記録されている４個のフラッシュメモリ６ａ〜６ｄとパリティデータが記録されているフラッシュメモリ６ｅを並列にリードする。
【００５８】
図８は、実施の形態１の変形における主要部のタイミング図である。同図の上段はフラッシュメモリ６ａ〜６ｄよりユーザデータをリードするタイミングを示す。同図のＤ０、Ｄ１、Ｄ２、・・・、Ｄ５は、夫々４個のフラッシュメモリ６ａ〜６ｄから並列リードされた３２ＫＢバイトのユーザデータを示し、夫々のフラッシュメモリでは同一の消去ブロック内のデータとする。同図は、斜線を記したＤ２、Ｄ３、Ｄ４に連続してエラーセクタが存在したことを示している。
【００５９】
同図の中段は、フラッシュメモリ６ｅからのパリティデータのリードタイミングを示す。符号Ｐ２、Ｐ３、Ｐ４は夫々、ユーザデータＤ２、Ｄ３、Ｄ４に対応するパリティデータである。同図によると、ユーザデータＤ２のリードによりエラーセクタが存在することが検出されたので、Ｄ２のパリティデータＰ２がフラッシュメモリ６ｅからリードされ、次のＤ３及びＤ４は同一の消去ブロック内のユーザデータなので、Ｄ３、Ｄ４と夫々のパリティデータＰ３とＰ４がフラッシュメモリ６ａ〜６ｅより５並列にリードされている。データＤ３、Ｄ４はそのパリティデータＰ３、Ｐ４と夫々並列にリードしているので、Ｄ３、Ｄ４をリードしながらエラー訂正することが可能となる。図７と比較すると、エラー訂正終了までに要する時間は約半分になる。
【００６０】
同図の下段はユーザデータの出力タイミングを示す。バーストエラーが発生した場合、第１のＥＣＣ処理部３により、最初のエラー訂正されたユーザデータの出力は、図７と同程度の時間を要するが、それ以降はエラーセクタが発生しなかった場合と同程度の時間で処理を終了できる。
【００６１】
以上説明したように、第２のＥＣＣ処理部４ａ〜４ｄでエラー訂正が不可と検出された場合は、エラー訂正が不可であった消去ブロックにかかる区間のみ、データが記録されている４個のフラッシュメモリ６ａ〜６ｄとパリティデータが記録されているフラッシュメモリ６ｅを並列リードする。これにより、内部メモリを増加させることなく、バーストエラーが発生した場合も、リード転送レートの劣化を抑制できる半導体記録再生装置１０を提供することができる。
【００６２】
なお、第１のＥＣＣ処理は１重訂正なのでエラー訂正にかかる時間は無視して説明したが、エラー訂正数が増えるとエラー訂正にかかる時間は無視できなくなる為、エラー訂正にかかる時間分、速度が劣化する。
【００６３】
また、エラー訂正が不可であった消去ブロックにかかる区間のみ、データが記録されている４個のフラッシュメモリとパリティデータが記録されているフラッシュメモリを並列リードするように制御したが、想定するエラー要因によって、バーストエラー長を切り替えてもよい。しかしながら、フラッシュメモリは書き換え回数の増加に伴いデータ保持特性が劣化し、書き換え回数のバラツキは消去ブロック単位で発生する可能性が高いので、説明したように消去ブロックが重要パラメータとなることはいうまでもない。
【００６４】
（実施の形態２）
実施の形態１では、すくなくともパリティデータを記録しているフラッシュメモリは、その他のフラッシュメモリと異なるメモリバスで制御部（アクセス部）と繋がれている。実施の形態２では、パリティデータを記録しているフラッシュメモリは、その他の一部のフラッシュメモリと共通のメモリバスで接続されていることを特徴とする。
【００６５】
昨今、フラッシュメモリの外部インタフェイスは、クロックの両エッジを使用した高速インタフェイスに変遷しつつある。しかしながら、フラッシュメモリのライト速度は特に高速化されていないため、高速インタフェイスを有するフラッシュメモリは、１個のメモリバスに複数のフラッシュメモリが接続される可能性が高い。
【００６６】
本実施の形態では、高速インタフェイスを有するフラッシメモリを用いて、エラー耐性の改善、高速リード転送時における消費電流の抑制を実現する半導体記録再生装置を提供することを目的とする。
【００６７】
図９は本実施の形態の半導体記録再生装置の構成図である。同図において、図２と同一符号を付したブロックは説明を割愛する。同図と第１の実施の形態の構成（図２）との差異は、アクセス部である。図２のアクセス部５ａ〜５ｅは、夫々のアクセス部に１個のフラッシュメモリが接続されるのに対して、本実施の形態ではアクセス部５０に２個のフラッシュメモリ、アクセス部５１に３個のフラッシュメモリを接続する。
【００６８】
以下、アクセス部５０とフラッシュメモリ６ａ、６ｂとの接続をメモリバスＡ、アクセス部５１とフラッシュメモリ６ｃ〜６ｅとの接続をメモリバスＢと定義する。
【００６９】
メモリバスＡに接続された２個のフラッシュメモリ６ａ、６ｂはユーザデータを記録し、メモリバスＢに接続されたフラッシュメモリ６ｃ〜６ｄはユーザデータを、フラッシュメモリ６ｅはパリティデータを記録する。そして、メモリバスＡのクロックとメモリバスＢのクロックは同一の周波数を用いる。そして、フラッシュメモリのリード転送性能がライト転送性能に比べて２倍以上高速であることから、クロック周波数は、２個のフラッシュメモリ６ａ、６ｂからデータを並列リードする際に、最大リード転送性能を発揮できる周波数とする。
【００７０】
使用するフラッシュメモリ１個当たりの最大ライト転送レートを２０ＭＢ／ｓ、最大リード転送レートを５０ＭＢ／ｓとすると、２個のメモリバスの夫々帯域は１００ＭＢ／ｓあればよく、両エッジのクロックを使用した８ビットデータのインタフェイスでは５０ＭＨｚのクロックを供給すればよい。
【００７１】
ライト時のメモリバスＡに要求される帯域は、２個のフラッシュメモリ６ａ、６ｂの最大ライト転送レートの和であり、４０ＭＢ／ｓとなる。また、ライト時のメモリバスＢに要求される帯域は、３個のフラッシュメモリ６ｃ〜６ｅの最大ライト転送レートの和であり、６０ＭＢ／ｓとなる。メモリバスＡ及びメモリバスＢの帯域は共に１００ＭＢ／ｓであるので、フラッシュメモリの実力を最大限発揮できる。
【００７２】
また、リード時のメモリバスＡに要求される帯域は２個のフラッシュメモリ６ａ、６ｂの最大リード転送レートの和であり、１００ＭＢ／ｓとなる。一方、リード時のメモリバスＢに要求される帯域は、その方式によって大幅に異なる。
【００７３】
メモリバスＢに接続された３個のフラッシュメモリ６ｃ〜６ｅを並列リードさせた場合に要求される帯域は、最大リード転送レートの和（＝１５０ＭＢ／ｓ）となり、メモリバスＢに関しては、メモリバス帯域が不足することになる。しかしながら、本実施の形態ではリードエラーが発生していない場合は、フラッシュメモリ６ｅよりパリティデータをリードしないため、２個のフラッシュメモリ６ｃ、６ｄの最大リード転送レートの和（＝１００ＭＢ／ｓ）が確保できていれば、メモリバス帯域が不足することはない。
【００７４】
ゆえに、データにエラー検出がされた場合のみパリティデータをリードする方式（実施の形態１）を本実施の形態に適用した場合では、メモリバスＢにおいて、３個のフラッシュメモリ６ｃ〜６ｅを並列にリードする事象は発生しないので、メモリバス帯域が不足することはない。
【００７５】
また、データにエラー検出がされた場合には、当該消去ブロックに限りデータとパリティデータを並列リードする方式（実施の形態１の変形）を本実施の形態に適用した場合は、バス帯域が不足し最大性能の２／３程度の転送速度になるが、リードエラー発生の確率は１％程度と想定されるため、その影響は僅かとなる。
【００７６】
以上、説明したように、フラッシュメモリを制御するメモリバスを少なくとも２個以上有し、パリティデータを１個のメモリバスに接続されたフラッシュメモリ６ｅのみに記録し、パリティデータを記録するメモリバスに接続されるフラッシュメモリ数（３）は、パリティデータを記録しないメモリバスに接続されるメモリ数（２）よりも、パリティデータに相当する分のみ多くなる構成とする。そして、パリティデータを記録しないメモリバスを基準に、全メモリバスのクロック周波数を決定する。そして、パリティデータをリードしない第１の再生モードと、少なくともパリティデータをリードする第２の再生モードを設け、リードエラーが発生した場合にのみ、第２の再生モードに切り替える。
【００７７】
これにより、リードエラーが発生しない状態では、第１の再生モードの最大リード転送性能が発揮できるようにメモリバス帯域を設定しているため、性能に対する消費電流のムダは発生しない。またリードエラーが発生した場合は、転送性能劣化、消費電流の増大が発生するが、その区間は全体の１％以下と想定されるので、その影響は微少である。
【００７８】
ゆえに、高速インタフェイスを有する不揮発性メモリを使用して、エラー耐性の改善、高速リード転送時における消費電流の抑制を実現する半導体記録再生装置２０を提供することができる。
【００７９】
なお、本実施の形態では、メモリバス数を２個で説明したが、これに限るものではなく、パリティデータとユーザデータが同一のメモリバスを介して不揮発性メモリにライトされるような半導体記録再生装置であれば、同様の効果が得られることはいうまでもない。
【産業上の利用可能性】
【００８０】
本実施の形態にかかる半導体記録再生装置は、複数のフラッシュメモリに跨るＥＣＣ符号を構成しエラー耐性を改善するとともに、２個の再生モードをリードエラーの有無で切り替えて使用することにより、低消費電力を実現している。ゆえに、高信頼性と低消費電力が要求される業務用のメモリカードや、カメラレコーダなどのバッテリ／電池駆動の機器で使用される可能性が大きい。
【符号の説明】
【００８１】
１    外部インタフェイス部
２    ＥＣＣ制御部
３    第１のＥＣＣ処理部
４ａ〜４ｅ    第２のＥＣＣ処理部
５ａ〜５ｅ、５０、５１    アクセス部
６ａ〜６ｅ    フラッシュメモリ
１０、２０    半導体記録再生装置
【図１】
2012022422.tif 000003
【図２】
2012022422.tif 000004
【図３】
2012022422.tif 000005
【図４】
2012022422.tif 000006
【図５】
2012022422.tif 000007
【図６】
2012022422.tif 000008
【図７】
2012022422.tif 000009
【図８】
2012022422.tif 000010
【図９】
2012022422.tif 000011