(57)【要約】【課題】データ保持性能を改善できる半導体記録装置を提供する。【解決手段】複数のページによって構成される物理ブロックを複数有するフラッシュメモリ６ａ〜６ｅと、フラッシュメモリ６ａ〜６ｅに記録するデータを受け付ける外部インターフェイス部１と、データにパリティデータを付加し、第１のＥＣＣ符号を生成する第１のＥＣＣ生成部３と、フラッシュメモリ６ａ〜６ｅのページに第１のＥＣＣ符号に基づくデータを記録するデータ書き込み部５ａ〜５ｅと、ページに対する第１のＥＣＣ符号のシンボルの割り当てを制御するページシャフリング部２と、を備え、ページシャフリング部２は、第１のＥＣＣ符号のシンボルがグループを構成する物理ブロックにおける少なくとも２つのページ番号を有するページに割り当てられるように、第１のＥＣＣ符号のシンボルの割り当てを制御する。【選択図】図３
2011134307.tif 000002
【特許請求の範囲】
【請求項１】
複数のページによって構成される物理ブロックを複数有する少なくとも一つの不揮発性メモリと、
前記不揮発性メモリに記録するデータを受け付けるインターフェイス部と、
前記データにパリティデータを付加し、ＥＣＣ符号を生成するＥＣＣ生成部と、
前記不揮発性メモリのページに前記ＥＣＣ符号に基づくデータを記録する記録部と、
前記ページに対する前記ＥＣＣ符号のシンボルの割り当てを制御する制御部と、を備え、
複数の前記物理ブロックは、共通のグループとして関連付けられており、
前記制御部は、前記ＥＣＣ符号のシンボルが前記グループを構成する物理ブロックにおける少なくとも２つのページ番号を有するページに割り当てられるように、前記ＥＣＣ符号のシンボルの割り当てを制御する
半導体記録装置。
【請求項２】
前記制御部は、
前記グループを構成する物理ブロックにおける同一ページ番号を有するページに割り当てられる前記ＥＣＣ符号のシンボルの数が最も少なくなるように、前記ＥＣＣ符号のシンボルの割り当てを制御する
請求項１に記載の半導体記録装置。
【請求項３】
前記制御部は、
同一の前記ＥＣＣ符号のシンボルが同一ページ番号に割り当てられないように、前記ＥＣＣ符号のシンボルの割り当てを制御する
請求項２に記載の半導体記録装置。
【請求項４】
前記制御部は、
前記グループを構成する物理ブロックにおける同一ページ番号を有するページに割り当てられる前記ＥＣＣ符号のシンボルの数が、前記ＥＣＣ符号を構成するパリティデータの数以下となるように、前記ＥＣＣ符号のシンボルの割り当てを制御する
請求項１に記載の半導体記録装置。
【請求項５】
前記制御部は、
前記グループを構成する物理ブロックにおける最終ページ番号を有するページに割り当てられる前記ＥＣＣ符号のシンボルの数が、前記ＥＣＣ符号を構成するパリティデータの数以下となるように、前記ＥＣＣ符号のシンボルの割り当てを制御する
請求項１に記載の半導体記録装置。
【請求項６】
前記制御部は、
ページ番号に従い前記グループを少なくとも二つの区間に分割し、前記ＥＣＣ符号のシンボルが一つの前記区間内のページに割り当てられるように、前記ＥＣＣ符号のシンボルの割り当てを制御する
請求項１に記載の半導体記録装置。
【請求項７】
前記制御部は、
ページ番号に従い前記グループを少なくとも二つの区間に分割し、前記ＥＣＣ符号を構成するユーザデータとパリティデータとが異なる区間のページに記録されるように、前記ＥＣＣ符号のシンボルの割り当てを制御する
請求項１に記載の半導体記録装置。
【請求項８】
さらに、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、
前記複数のワード線のそれぞれは、複数の前記ページに接続されており、
前記制御部は、
前記グループの同一ワード線番号を有するページに割り当てられる前記ＥＣＣ符号のシンボル数が最も少なくなるように、前記ＥＣＣ符号のシンボルの割り当てを制御する
請求項１に記載の半導体記録装置。
【請求項９】
前記制御部は、
同一の前記ＥＣＣ符号のシンボルが同一ワード線番号に割り当てられないように、前記ＥＣＣ符号のシンボルの割り当てを制御する
請求項８に記載の半導体記録装置。
【請求項１０】
前記制御部は、
同一の前記ＥＣＣ符号のシンボルが同一ページ番号に割り当てられないように、前記ＥＣＣ符号のシンボルの割り当てを制御する
請求項９に記載の半導体記録装置。
【請求項１１】
さらに、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、
前記複数のワード線のそれぞれは、複数の前記ページに接続されており、
前記制御部は、
前記グループの同一ワード線番号を有するページに割り当てられる前記ＥＣＣ符号のシンボル数が、前記ＥＣＣ符号を構成するパリティデータの数以下となるように、前記ＥＣＣ符号のシンボルの割り当てを制御する
請求項１に記載の半導体記録装置。
【請求項１２】
さらに、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、
前記複数のワード線のそれぞれは、複数の前記ページに接続されており、
前記制御部は、
前記グループの最終ワード線番号を有するページに割り当てられる前記ＥＣＣ符号のシンボル数が、前記ＥＣＣ符号を構成するパリティデータの数以下となるように、前記ＥＣＣ符号のシンボルの割り当てを制御する
請求項１に記載の半導体記録装置。
【請求項１３】
さらに、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、
前記複数のワード線のそれぞれは、複数の前記ページに接続されており、
前記制御部は、
ワード線番号に従い前記グループを少なくとも二つの区間に分割し、前記ＥＣＣ符号のシンボルが一つの前記区間内のページに割り当てられるように、前記ＥＣＣ符号のシンボルの割り当てを制御する
請求項１に記載の半導体記録装置。
【請求項１４】
さらに、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、
前記複数のワード線のそれぞれは、複数の前記ページに接続されており、
前記制御部は、
ワード線番号に従い前記グループを少なくとも二つの区間に分割し、前記ＥＣＣ符号を構成するユーザデータとパリティデータとが異なる区間のページに記録されるように、前記ＥＣＣ符号のシンボルの割り当てを制御する
請求項１に記載の半導体記録装置。
【請求項１５】
前記ＥＣＣ符号を構成するユーザデータ及びパリティデータに第２のＥＣＣパリティデータを付加し、第２のＥＣＣ符号を生成する第２のＥＣＣ生成部と、
前記不揮発性メモリに記録された前記第２のＥＣＣ符号を読み出す読み出し部と、
前記読み出し部で読み出した前記第２のＥＣＣ符号を基にエラー訂正を行う第２のＥＣＣ訂正部と、
前記第２のＥＣＣ訂正部でエラー訂正できなかった位置に従い、前記ＥＣＣ符号を基にエラー訂正を行う第１のＥＣＣ訂正部と、
を備える
請求項１から１３の何れか１項に記載の半導体記録装置。
【請求項１６】
１つが複数のページによって構成されるとともにお互いが共通のグループとして関連付けられた物理ブロックを複数含む少なくとも一つの不揮発性メモリを有する半導体記録装置の制御方法であって、
前記不揮発性メモリに記録するデータを受け付けるデータ受け付けステップと、
前記データにパリティデータを付加し、ＥＣＣ符号を生成するＥＣＣ符号生成ステップと、
前記不揮発性メモリのページに前記ＥＣＣ符号に基づくデータを記録する記録ステップと、
前記ページに対する前記ＥＣＣ符号のシンボルの割り当てを制御する制御ステップと、を含み、
前記ＥＣＣ符号のシンボルが前記グループを構成する物理ブロックにおける少なくとも２つのページ番号を有するページに割り当てられるように、前記ページに対する前記ＥＣＣ符号のシンボルの割り当てを制御する制御ステップと、を含む
半導体記録装置の制御方法。
【請求項１７】
１つが複数のページによって構成されるとともにお互いが共通のグループとして関連付けられた物理ブロックを複数含む少なくとも一つの不揮発性メモリを有する半導体記録装置を制御するためのプログラムであって、
前記不揮発性メモリに記録するデータを受け付けるデータ受け付けステップと、
前記データにパリティデータを付加し、ＥＣＣ符号を生成するＥＣＣ符号生成ステップと、
前記不揮発性メモリのページに前記ＥＣＣ符号に基づくデータを記録する記録ステップと、
前記ＥＣＣ符号のシンボルが前記グループを構成する物理ブロックにおける少なくとも２つのページ番号を有するページに割り当てられるように、前記ページに対する前記ＥＣＣ符号のシンボルの割り当てを制御する制御ステップと
をコンピュータによって実行させるプログラム。
【請求項１８】
請求項１７記載のプログラムが記録されたコンピュータに読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリカードなどの半導体記録装置及び半導体記録装置の制御方法に関し、特に、半導体記録装置内部における不揮発性メモリのデータ保持特性のバラツキ及び書き換え回数に伴う劣化を抑制する制御手法に関する。
【背景技術】
【０００２】
従来、フラッシュメモリが内蔵されたカード型の記録媒体であるＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カード等の半導体記録装置は、超小型、超薄型であり、その取り扱い易さから、ディジタルカメラ、携帯機器等において画像等のデータを記録するために広く利用されている。
【０００３】
半導体記録装置に内蔵されているフラッシュメモリは、一定サイズの多数の物理ブロックから成り、物理ブロックの単位でデータを消去できるメモリである。昨今の大容量化の要請に対応すべく、フラッシュメモリは１セルで２ビット以上のデータが蓄積できる多値フラッシュメモリが商品化されている。
【０００４】
多値フラッシュメモリの一例として４値フラッシュメモリについて、図１を用いて説明する。図１は、４値フラッシュメモリのフローティングゲートに蓄積する電子の蓄積状態と閾値電圧（Ｖｔｈ）との関係を示す図である。
【０００５】
図１に示すように、４値のフラッシュメモリでは、フローティングゲートの電子の蓄積状態をその閾値電圧（Ｖｔｈ）に従って４状態で管理する。図１において、蓄積する電子の数（電子のチャージ量）が少なく電位が一番低い状態は、消去状態であり、これを（１，１）とする。そして電子が蓄積していくにつれて閾値電圧が離散的に上昇し、その状態を夫々、（１，０）、（０，０）、（０，１）とする。このように、蓄積する電子の数に比例して電位が上昇するので、所定の電位の閾値に収まるように電子の蓄積状態を４状態で制御することができる。これによって、１つのメモリセルに２ビットのデータを記録することができる。
【０００６】
しかしながら、４値フラッシュメモリにおいては電子のチャージ量によって４状態を識別するために、４値フラッシュメモリにおける各状態間の閾値電圧の差が、２値フラッシュメモリにおける状態間の閾値電圧の差よりも小さい。
【０００７】
また、データの書き換えが繰り返し行われると、電子の注入と引き抜きによってゲート酸化膜にわずかな損傷が発生する。この損傷が積み重なると電子トラップが数多く形成されるため、実際のフローティングゲートに蓄積される電子数を減少してしまう。さらに、半導体プロセスの微細化に比例して、フローティングゲートに蓄積される電子数が少なくなるため、フラッシュメモリの微細化が進むと電子トラップの影響は大きくなる。
【０００８】
このように、フラッシュメモリの大容量化を支える多値記録及び半導体プロセスの微細化に従い、フラッシュメモリのデータ保持特性の劣化といった課題が顕著になってきた。
【０００９】
上記課題の解決手法として、（１）書き換え回数の制限、（２）エラー訂正の強化が、採用されている。
【００１０】
例えば、特許文献１では、複数チップで構成されたフラッシュメモリにおいて、フラッシュメモリの互いに異なるチップ内のブロックを関連付け、関連付けられた複数のブロックを共通のグループとして取り扱い、グループ内の１ブロックを当該グループ内の他のブロックに書き込まれたユーザデータのパリティ用のブロックに割当てることにより、誤り訂正能力を強化し、フラッシュメモリのデータ保持特性の劣化を抑制している。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−１８３７３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述の特許文献１の手法は、ＨＤＤで利用されているＲＡＩＤ４あるいはＲＡＩＤ５をフラッシュメモリに単に適用したものであり、ＮＡＮＤ型フラッシュメモリの構造が考慮されていない。従って、特許文献１の方法では、フラッシュメモリのデータ保持特性の劣化を十分に抑制することができず、リードエラーといった不具合が発生するという問題がある。
【００１３】
この問題について、以下、図２を用いて説明する。図２は、ＮＡＮＤ型フラッシュメモリのメモリセル構造を示す図である。
【００１４】
図２に示すように、ＮＡＮＤ型フラッシュメモリでは、フラッシュメモリセルがマトリクス状に配置される。コラム方向には、ソース側のゲートＳＧＳとビット線側のゲートＳＧＢ間にソースとドレインを直結した複数のフラッシュメモリセルが配置される。ロウ方向には、共通のワード線が各フラッシュメモリセルのゲートに接続されており、ワード線に沿って並んだ複数のフラッシュメモリセルに対して同時にライト動作（書き込み動作）又はリード動作（読み込み動作）が実施される（物理ブロックの各ページに相当する）。
【００１５】
ライト動作時には、非選択のワード線にＶｄｄの電圧を印加し、選択するフラッシュメモリセルのワード線に２０Ｖ程度の高電圧を印加することにより、データが書き込まれる該当フラッシュメモリセルのフローティングゲートに電子が注入される。
【００１６】
リード動作においては、非選択のワード線にＶｄｄの電圧を印加し、選択するフラッシュメモリセルのワード線にＶｔ（＜Ｖｄｄ）の電圧を印加する。このとき、選択されたワード線におけるフラッシュメモリセルに電子が注入されている場合は、該当フラッシュメモリセルはＯＮとなり、ビット線を介して「０」がリードされる。一方、選択されたワード線におけるフラッシュメモリセルに電子が注入されていない場合は、該当フラッシュメモリセルはＯＦＦとなり、ビット線を介して「１」がリードされる。
【００１７】
半導体プロセスの微細化が進行するにつれて、フローティングゲートに注入する電子数が減少し、各フラッシュメモリセルに注入された電子数のバラツキがデータ保持特性に与える影響も格段に増加している。例えば、各フラッシュメモリセルのソースの電位がＧＮＤより数ｍＶ上昇するとフラッシュメモリセルに注入される電子数は数ｍＶ分減少してしまう。
【００１８】
ＮＡＮＤ型フラッシュメモリにおいては、ソース線（基準電位線）から離れた位置にあるワード線に配置されたフラッシュメモリほど、ソース側の電位上昇の影響を受けることになる。例えば、図２では、ソース線より最も離れたワード線ＷＬ７に配置されたフラッシュメモリセルが、ソース側の電位上昇の影響を最も受けることになる。
【００１９】
従って、ＮＡＮＤ型フラッシュメモリにおいては、ページ番号が大きいページほど、データ保持特性が劣化する可能性がある。
【００２０】
よって、ＲＡＩＤ構成による特許文献１の手法によるデータ保持特性の改善では、ページ番号が大きいページほどデータ保持特性が劣化するといったＮＡＮＤ型フラッシュメモリの特徴構造に対応できていないため、パリティの冗長度ほどはデータ保持特性が改善できないといった課題がある。
【００２１】
本発明は、上記課題を解決するものであり、ＮＡＮＤ型フラッシュメモリにおける最適な積符号構成により、データ保持性能を改善できる半導体記録装置及び半導体記録装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【００２２】
この課題を解決するために、本発明に係る半導体記録装置の一態様は、複数のページによって構成される物理ブロックを複数有する少なくとも一つの不揮発性メモリと、前記不揮発性メモリに記録するデータを受け付けるインターフェイス部と、前記データにパリティデータを付加し、ＥＣＣ符号を生成するＥＣＣ生成部と、前記不揮発性メモリのページに前記ＥＣＣ符号に基づくデータを記録する記録部と、前記ページに対する前記ＥＣＣ符号のシンボルの割り当てを制御する制御部と、を備え、複数の前記物理ブロックは、共通のグループとして関連付けられており、前記制御部は、前記ＥＣＣ符号のシンボルが前記グループを構成する物理ブロックにおける少なくとも２つのページ番号を有するページに割り当てられるように、前記ＥＣＣ符号のシンボルの割り当てを制御するものである。
【００２３】
本態様によれば、ＥＣＣ符号のシンボルが異なるページ番号に割り当てられて、ＥＣＣ符号を構成するデータを異なるページ番号に分散させて記録することができる。
【００２４】
さらに、本発明に係る半導体記録装置の一態様において、前記制御部は、前記グループを構成する物理ブロックにおける同一ページ番号を有するページに割り当てられる前記ＥＣＣ符号のシンボルの数が最も少なくなるように、前記ＥＣＣ符号のシンボルの割り当てを制御することが好ましい。
【００２５】
さらに、本発明に係る半導体記録装置の一態様において、前記制御部は、同一の前記ＥＣＣ符号のシンボルが同一ページ番号に割り当てられないように、前記ＥＣＣ符号のシンボルの割り当てを制御することが好ましい。
【００２６】
さらに、本発明に係る半導体記録装置の一態様において、前記制御部は、前記グループを構成する物理ブロックにおける同一ページ番号を有するページに割り当てられる前記ＥＣＣ符号のシンボルの数が、前記ＥＣＣ符号を構成するパリティデータの数以下となるように、前記ＥＣＣ符号のシンボルの割り当てを制御することが好ましい。
【００２７】
さらに、本発明に係る半導体記録装置の一態様において、前記制御部は、前記グループを構成する物理ブロックにおける最終ページ番号を有するページに割り当てられる前記ＥＣＣ符号のシンボルの数が、前記ＥＣＣ符号を構成するパリティデータの数以下となるように、前記ＥＣＣ符号のシンボルの割り当てを制御することが好ましい。
【００２８】
さらに、本発明に係る半導体記録装置の一態様において、前記制御部は、ページ番号に従い前記グループを少なくとも二つの区間に分割し、前記ＥＣＣ符号のシンボルが一つの前記区間内のページに割り当てられるように、前記ＥＣＣ符号のシンボルの割り当てを制御することが好ましい。
【００２９】
さらに、本発明に係る半導体記録装置の一態様において、前記制御部は、ページ番号に従い前記グループを少なくとも二つの区間に分割し、前記ＥＣＣ符号を構成するユーザデータとパリティデータとが異なる区間のページに記録されるように、前記ＥＣＣ符号のシンボルの割り当てを制御することが好ましい。
【００３０】
さらに、本発明に係る半導体記録装置の一態様において、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、前記複数のワード線のそれぞれは、複数の前記ページに接続されており、前記制御部は、前記グループの同一ワード線番号を有するページに割り当てられる前記ＥＣＣ符号のシンボル数が最も少なくなるように、前記ＥＣＣ符号のシンボルの割り当てを制御することが好ましい。
【００３１】
さらに、本発明に係る半導体記録装置の一態様において、前記制御部は、同一の前記ＥＣＣ符号のシンボルが同一ワード線番号に割り当てられないように、前記ＥＣＣ符号のシンボルの割り当てを制御することが好ましい。
【００３２】
さらに、本発明に係る半導体記録装置の一態様において、前記制御部は、同一の前記ＥＣＣ符号のシンボルが同一ページ番号に割り当てられないように、前記ＥＣＣ符号のシンボルの割り当てを制御することが好ましい。
【００３３】
さらに、本発明に係る半導体記録装置の一態様において、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、前記複数のワード線のそれぞれは、複数の前記ページに接続されており、前記制御部は、前記グループの同一ワード線番号を有するページに割り当てられる前記ＥＣＣ符号のシンボル数が、前記ＥＣＣ符号を構成するパリティデータの数以下となるように、前記ＥＣＣ符号のシンボルの割り当てを制御することが好ましい。
【００３４】
さらに、本発明に係る半導体記録装置の一態様において、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、前記複数のワード線のそれぞれは、複数の前記ページに接続されており、前記制御部は、前記グループの最終ワード線番号を有するページに割り当てられる前記ＥＣＣ符号のシンボル数が、前記ＥＣＣ符号を構成するパリティデータの数以下となるように、前記ＥＣＣ符号のシンボルの割り当てを制御することが好ましい。
【００３５】
さらに、本発明に係る半導体記録装置の一態様において、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、前記複数のワード線のそれぞれは、複数の前記ページに接続されており、前記制御部は、ワード線番号に従い前記グループを少なくとも二つの区間に分割し、前記ＥＣＣ符号のシンボルが一つの前記区間内のページに割り当てられるように、前記ＥＣＣ符号のシンボルの割り当てを制御することが好ましい。
【００３６】
さらに、本発明に係る半導体記録装置の一態様において、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、前記複数のワード線のそれぞれは、複数の前記ページに接続されており、前記制御部は、ワード線番号に従い前記グループを少なくとも二つの区間に分割し、前記ＥＣＣ符号を構成するユーザデータとパリティデータとが異なる区間のページに記録されるように、前記ＥＣＣ符号のシンボルの割り当てを制御することが好ましい。
【００３７】
さらに、本発明に係る半導体記録装置の一態様において、前記ＥＣＣ符号を構成するユーザデータ及びパリティデータに第２のＥＣＣパリティデータを付加し、第２のＥＣＣ符号を生成する第２のＥＣＣ生成部と、前記不揮発性メモリに記録された前記第２のＥＣＣ符号を読み出す読み出し部と、前記読み出し部で読み出した前記第２のＥＣＣ符号を基にエラー訂正を行う第２のＥＣＣ訂正部と、前記第２のＥＣＣ訂正部でエラー訂正できなかった位置に従い、前記ＥＣＣ符号を基にエラー訂正を行う第１のＥＣＣ訂正部と、を備えることが好ましい。
【００３８】
また、本発明に係る半導体記録装置の制御方法の一態様は、１つが複数のページによって構成されるとともにお互いが共通のグループとして関連付けられた物理ブロックを複数含む少なくとも一つの不揮発性メモリを有する半導体記録装置の制御方法であって、前記不揮発性メモリに記録するデータを受け付けるデータ受け付けステップと、前記データにパリティデータを付加し、ＥＣＣ符号を生成するＥＣＣ符号生成ステップと、前記不揮発性メモリのページに前記ＥＣＣ符号に基づくデータを記録する記録ステップと、前記ページに対する前記ＥＣＣ符号のシンボルの割り当てを制御する制御ステップと、を含み、前記ＥＣＣ符号のシンボルが前記グループを構成する物理ブロックにおける少なくとも２つのページ番号を有するページに割り当てられるように、前記ページに対する前記ＥＣＣ符号のシンボルの割り当てを制御する制御ステップと、を含むものである。
【００３９】
また、本発明に係るプログラムの一態様は、１つが複数のページによって構成されるとともにお互いが共通のグループとして関連付けられた物理ブロックを複数含む少なくとも一つの不揮発性メモリを有する半導体記録装置を制御するためのプログラムであって、前記不揮発性メモリに記録するデータを受け付けるデータ受け付けステップと、前記データにパリティデータを付加し、ＥＣＣ符号を生成するＥＣＣ符号生成ステップと、前記不揮発性メモリのページに前記ＥＣＣ符号に基づくデータを記録する記録ステップと、前記ＥＣＣ符号のシンボルが前記グループを構成する物理ブロックにおける少なくとも２つのページ番号を有するページに割り当てられるように、前記ページに対する前記ＥＣＣ符号のシンボルの割り当てを制御する制御ステップとをコンピュータによって実行させるものである。
【００４０】
また、本発明に係る記録媒体の一態様は、上記プログラムが記録されたコンピュータに読み取り可能なものである。
【発明の効果】
【００４１】
本発明によれば、ページ番号によってデータ保持特性が異なっていたとしても、異なるページ番号に分散させてＥＣＣ符号を構成するデータを記録することができるので、ページ番号の大きいページで発生したリードエラーを、比較的データ保持特性の良好なページのデータにより訂正することができる。これにより、データ保持特性が改善した半導体記録装置を提供することができる。特に、ページ番号が大きいページほどデータ保持特性が劣化するといった構成であるＮＡＮＤ型フラッシュメモリに対しては、本発明によって、データ保持特性を改善することができる。
【図面の簡単な説明】
【００４２】
【図１】図１は、４値フラッシュメモリのフローティングゲートに蓄積する電子の蓄積状態と閾値電圧（Ｖｔｈ）との関係を示す図である。
【図２】図２は、ＮＡＮＤ型フラッシュメモリのメモリセル構造を示す図である。
【図３】図３は、本発明の実施の形態１に係る半導体記録装置の構成を示すブロック図である。
【図４】図４は、本発明の実施の形態１に係る半導体記録装置において、物理ブロックのページと第１のＥＣＣ符号との関係を示す図である。
【図５】図５は、本発明の実施の形態１に係る半導体記録装置のライト動作におけるページシャフリング部の入出力を示すタイミングチャートである。
【図６】図６は、本発明の実施の形態１の変形例１に係る半導体記録装置において、物理ブロックのページと第１のＥＣＣ符号との関係を示す図である。
【図７】図７は、本発明の実施の形態１の変形例２に係る半導体記録装置において、物理ブロックのページと第１のＥＣＣ符号との関係を示す図である。
【図８】図８は、本発明の実施の形態２に係る半導体記録装置において、物理ブロックのページと第１のＥＣＣ符号との関係を示す図である。
【図９】図９は、本発明の実施の形態２に係る半導体記録装置のライト動作におけるページシャフリング部の入出力を示すタイミングチャートである。
【図１０】図１０は、本発明の実施の形態２の変形例１に係る半導体記録装置において、物理ブロックのページと第１のＥＣＣ符号との関係を示す図である。
【図１１】図１１は、本発明の実施の形態２の変形例１に係る半導体記録装置のライト動作におけるページシャフリング部の入出力を示すタイミングチャートである。
【発明を実施するための形態】
【００４３】
以下、実施の形態に係る半導体記録装置、半導体記録装置の制御方法及び記録媒体について、図面を参照しながら説明する。
【００４４】
（実施の形態１）
まず、実施の形態１に係る半導体記録装置及び半導体記録装置の制御方法について、図面を参照しながら説明する。
【００４５】
（半導体記録装置の構成）
図３は、実施の形態１に係る半導体記録装置の構成を示すブロック図である。
【００４６】
図３に示すように、実施の形態１に係る半導体記録装置１００は、外部インターフェイス部１と、ページシャフリング部２と、第１のＥＣＣ生成部３と、第２のＥＣＣ生成部４ａ〜４ｅと、データ書き込み部５ａ〜５ｅと、フラッシュメモリ６ａ〜６ｅと、データ読み込み部７ａ〜７ｅと、第２のＥＣＣ訂正部８ａ〜８ｅと、ページデシャフリング部９と、第１のＥＣＣ訂正部１０とを含む。
【００４７】
本実施の形態に係る半導体記録装置１００において、第２のＥＣＣ生成部４ａ〜４ｅ、データ書き込み部５ａ〜５ｅ、フラッシュメモリ６ａ〜６ｅ、データ読み込み部７ａ〜７ｅ、及び第２のＥＣＣ訂正部８ａ〜８ｅは、それぞれ、ａ、ｂ、ｃ、ｄ、ｅの５系列備える。
【００４８】
図３において、外部インターフェイス部１は、ホスト機器等の外部装置から所定のコマンドやデータを送受信したり、データの転送を行ったりするインターフェイスである。
【００４９】
具体的に、外部インターフェイス部１は、ホスト機器から、書き込みコマンド（ライトコマンド）及びフラッシュメモリ６ａ〜６ｅに記録するための書き込みデータ（ライトデータ）を受け付けて、ライトコマンド及び書き込みデータをページシャフリング部２等に転送する。また、外部インターフェイス部１は、ホスト機器からの読み出しコマンド（リードコマンド）を受け付けるとともに、ページデシャフリング部９からフラッシュメモリ６ａ〜６ｅに記録されているデータを読み出しデータ（リードデータ）として受け付けて、ホスト機器に送信する。
【００５０】
ページシャフリング部２は、メモリ（メモリ部）とその制御手段（制御部）によって構成され、複数のフラッシュメモリの各物理ブロックを構成する複数のページについて、当該ページに対する第１のＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）符号のシンボルの割り当てを制御する制御部として機能する。
【００５１】
本実施の形態において、ページシャフリング部２は、第１のＥＣＣ符号のシンボルが、異なる物理ブロックにおける少なくとも２つのページ番号を有するページに割り当てられるように、ページに対する第１のＥＣＣ符号のシンボルの割り当てを制御する。すなわち、ページシャフリング部２は、複数のフラッシュメモリの各物理ブロック間において、第１のＥＣＣ符号のシンボルが異なるページ番号のページに割り当てられるように各物理ブロックのページをシャフルして、第１のＥＣＣ符号のシンボルが異なるページ番号のページに分散するように制御する。
【００５２】
例えば、フラッシュメモリ６ａ〜６ｅのページに記録されるデータを４ＫＢとすると、ページシャフリング部２は、１６０ＫＢ（＝４ＫＢ＊８＊５）のメモリ３面とその制御回路によって構成される。各メモリ面は、１２８ＫＢ（＝４ＫＢ＊８＊４）のユーザデータ格納部と３２ＫＢ（＝４ＫＢ＊８）の第１のＥＣＣパリティ格納部とから構成される。
【００５３】
このように構成されるページシャフリング部２は、ホスト機器から外部インターフェイス部１を介してライトコマンド及びライトデータを受信したときに、受信したライトデータを順番にページシャフリング部２のメモリに書き込む。そして、メモリに書き込まれたデータに対して、４個のフラッシュメモリ６ａ〜６ｄの物理ブロックの異なるページ番号に割り当てられる４ページが抽出され、抽出された各ページに対応するデータが１バイトずつリードされる。リードされた各ページに対応するデータは、第１のＥＣＣ生成部３に４バイトずつ入力され、後述するように第１のＥＣＣ生成部３により第１のＥＣＣ符号が順次生成され、第１のＥＣＣ符号を構成するユーザデータ及び第１のＥＣＣパリティ（第１のＥＣＣパリティデータ）がページシャフリング部２のメモリにライトされる。
【００５４】
また、ページシャフリング部２は、後述の５個のフラッシュメモリ６ａ〜６ｅにライトするページの順序で、メモリにライトされたユーザデータ及び第１のＥＣＣパリティをリードし、第２のＥＣＣ生成部４ａ〜４ｅに出力する。
【００５５】
第１のＥＣＣ生成部３は、データにパリティデータを付加することによりＥＣＣ符号を生成するＥＣＣ生成部である。本実施の形態において、第１のＥＣＣ生成部３は、ページシャフリング部２により入力された４バイト毎のデータ（ユーザデータ）について、ＥＸＯＲの論理演算を行うことにより第１のＥＣＣパリティ（第１のＥＣＣパリティデータ）を順次生成し、４バイト毎のユーザデータに第１のＥＣＣパリティを付加して第１のＥＣＣ符号を生成する。また、第１のＥＣＣ生成部３は、第１のＥＣＣ符号を構成するユーザデータ及び第１のＥＣＣパリティを、ページシャフリング部２に出力する。
【００５６】
第２のＥＣＣ生成部４ａ〜４ｅの各々は、ページシャフリング部２によってリードされたユーザデータ及び第１のＥＣＣパリティからなる５ページ分のデータに対して、ページ毎に第２のＥＣＣパリティ（第２のＥＣＣパリティデータ）を付加して第２のＥＣＣ符号を生成する。
【００５７】
データ書き込み部５ａ〜５ｅは、それぞれ、フラッシュメモリ６ａ〜６ｅに所定のデータを記録する記録部である。データ書き込み部５ａ〜５ｅは、第２のＥＣＣ生成部４ａ〜４ｅによって生成された第２のＥＣＣ符号を構成する第２のＥＣＣパリティ付きのデータ（ユーザデータ及び第２のＥＣＣパリティ）を、フラッシュメモリ６ａ〜６ｅの所定の各ページに記録する。
【００５８】
フラッシュメモリ６ａ〜６ｅの各々は、所定のデータを記録するための不揮発性メモリであり、複数のページによって構成される物理ブロックを有する。本実施の形態において、フラッシュメモリ６ａ〜６ｅは、ＮＡＮＤ型フラッシュメモリである。なお、フラッシュメモリ６ａ〜６ｅのうち、４つのフラッシュメモリ６ａ〜６ｄは、ユーザデータを記録するためのメモリであり、残りのフラッシュメモリ６ｅは、第１のＥＣＣパリティを記憶するためのメモリ（第１のＥＣＣパリティ専用のメモリ）である。
【００５９】
本実施の形態において、複数のフラッシュメモリ６ａ〜６ｅにおける物理ブロックは、第１のＥＣＣ符号に対応する共通のグループとして関連付けられており、フラッシュメモリ６ａ〜６ｅにおいて、第１のＥＣＣ符号のシンボルが、異なる物理ブロックにおける少なくとも２つのページ番号を有するページに割り当てられて、第１のＥＣＣ符号を構成するユーザデータ及び第１のパリティが所定のページに記録されている。
【００６０】
なお、ページとは、ホスト機器等の外部装置から見たときに、記録できる最小単位（書き込みアクセス単位）であり、ブロックとは、最小消去単位である。本実施の形態において、各ページは４Ｋバイトであり、各ブロックは３２Ｋバイト（４Ｋバイト＊８ページ）である。
【００６１】
データ読み出し部７ａ〜７ｅは、外部インターフェイス部１がホスト機器からの読み出しコマンドを受信した場合、指定された論理ブロックに対応する各フラッシュメモリ６ａ〜６ｅの各ページより所定のデータを読み出す。例えば、データ読み出し部７ａ〜７ｅは、フラッシュメモリ６ａ〜６ｅに記録された第２のＥＣＣ符号を構成するユーザデータ及び第２のＥＣＣパリティを読み出す。
【００６２】
第２のＥＣＣ訂正部８ａ〜８ｅは、第２のＥＣＣ生成部４ａ〜４ｅで生成された第２のＥＣＣ符号を構成する第２のＥＣＣパリティに基づいて、エラーがあれば誤り訂正を行い、訂正されたデータと訂正の可否を示すエラーフラグとを、ページデシャフリング部９に出力する。
【００６３】
ページデシャフリング部９は、第２のＥＣＣ訂正部８ａ〜８ｅにより訂正可であったデータはそのまま外部インターフェイス部１に転送し、一方、第２のＥＣＣ訂正部８ａ〜８ｅにより訂正不可であったデータは第１のＥＣＣ符号を構成しているデータをフラッシュメモリ６ａ〜６ｅからリードする。
【００６４】
第１のＥＣＣ訂正部１０では、第２のＥＣＣ訂正部８ａ〜８ｅにより訂正不可であったデータと、ページデシャフリング部９によりリードされた第１のＥＣＣ訂正符号を構成しているデータにより誤り訂正を行い、訂正したデータを外部インターフェイス部１に転送する。
【００６５】
（半導体記録装置の制御方法）
次に、実施の形態１に係る半導体記録装置１００の制御方法について、図面を参照しながら以下説明する。
【００６６】
（書き込み動作）
まず、本実施の形態に係る半導体記録装置１００にデータを書き込みする際の書き込み動作について、図１を参照しながら、図４及び図５を用いて説明する。
【００６７】
まず、本実施の形態に係る半導体記録装置１００におけるフラッシュメモリの物理ブロックの構成について図４を用いて説明する。図４は、実施の形態１に係る半導体記録装置１００において、物理ブロックのページと第１のＥＣＣ符号（ユーザデータ及びパリティ）との関係を示す図である。なお、図４では、５個のフラッシュメモリ６ａ〜６ｅに記録される場合において、並列の物理ブロックのページと第１のＥＣＣ符号との関係を示している。
【００６８】
図４において、物理ブロックＰＢ０はフラッシュメモリ６ａの物理ブロック、物理ブロックＰＢ１はフラッシュメモリ６ｂの物理ブロックであり、以下同様に、物理ブロックＰＢ２、ＰＢ３及びＰＢ４は、夫々フラッシュメモリ６ｃ、６ｄ及び６ｅの物理ブロックである。４つの物理ブロックＰＢ０〜ＰＢ３は、ユーザデータに対応するユーザデータブロックであり、物理ブロックＰＢ４は、パリティデータ専用のパリティブロックである。
【００６９】
また、各物理ブロックＰＢ０〜ＰＢ４は、８ページで構成されており、上段から順番にページ０〜ページ７を示している。なお、本実施の形態において、フラッシュメモリ６ａ〜６ｅは、ＮＡＮＤ型フラッシュメモリであるので、ページ番号が大きいページほどデータ保持特性が劣化する傾向がある。すなわち、本実施の形態では、ページ７が最もデータ保持特性が劣化している可能性が高い。
【００７０】
各物理ブロックＰＢ０〜ＰＢ４のページに付された符号４０〜４７は、第１のＥＣＣ符号を識別するための識別符号（シンボル）であり、同一番号の符号が付された５つのページ分のデータによって１つの第１のＥＣＣ符号が構成されている。すなわち、本実施の形態では、第１のＥＣＣ符号のシンボルの数は５つ（５バイト）である。
【００７１】
例えば、符号４０が付された第１のＥＣＣ符号の５つのシンボルは、物理ブロックＰＢ０のページ０、物理ブロックＰＢ１のページ１、物理ブロックＰＢ２のページ２、物理ブロックＰＢ３のページ３、及び、物理ブロックＰＢ４のページ４の５つのページに割り当てられている。そして、符号４０が付された第１のＥＣＣ符号を構成するユーザデータは、物理ブロックＰＢ０のページ０、物理ブロックＰＢ１のページ１、物理ブロックＰＢ２のページ２、及び、物理ブロックＰＢ３のページ３にライトされている。また、符号４０が付された第１のＥＣＣ符号を構成する第１のＥＣＣパリティは、物理ブロックＰＢ４のページ４にライトされている。
【００７２】
同様に、符号４１が付された第１のＥＣＣ符号の５つのシンボルは、物理ブロックＰＢ０のページ１、物理ブロックＰＢ１のページ２、物理ブロックＰＢ２のページ３、物理ブロックＰＢ３のページ４、物理ブロックＰＢ４のページ５の５つのページに割り当てられている。そして、符号４１が付された第１のＥＣＣ符号を構成するユーザデータは、物理ブロックＰＢ０のページ１、物理ブロックＰＢ１のページ２、物理ブロックＰＢ２のページ３、及び、物理ブロックＰＢ３のページ４にライトされている。また、符号４１が付された第１のＥＣＣ符号を構成する第１のＥＣＣパリティは、物理ブロックＰＢ４のページ５にライトされている。
【００７３】
このように、本実施の形態では、各第１のＥＣＣ符号のシンボルは、物理ブロックの番号が１ずつ増加するごとにページ番号が１ずつ増加するように割り当てられている。なお、符号４２〜４７についても同様であるので、その説明は割愛する。
【００７４】
また、図４において、ユーザデータブロック（物理ブロックＰＢ０〜ＰＢ３）における論理アドレス順は、同一ページ番号の物理ブロックＰＢ０から物理ブロックＰＢ３への順であり、かつ、ページ番号が小さいページから大きいページへの順である。具体的には、ＰＢ０−４０、ＰＢ１−４７、ＰＢ２−４６、ＰＢ３−４５、ＰＢ０−４１、ＰＢ１−４０、・・・、ＰＢ０−４７、ＰＢ１−４６、ＰＢ２−４５、ＰＢ３−４４の順である。ここで、ＰＢ０−４０とは、符号４０が付されている物理ブロックＰＢ０のことを表し、ＰＢ１−４７は符合４７が付されている物理ブロックＰＢ１のことを表している。以下、同様である。
【００７５】
次に、本実施の形態に係る半導体記録装置１００の書き込み動作について、詳細に説明する。
【００７６】
まず、図１に示される外部インターフェイス部１によって、ホスト機器から、フラッシュメモリ６ａ〜６ｅに記録するためのユーザデータ等のライトデータ、及び、ライトコマンドを受け付ける。受け付けたライトデータは、受け付けた順番にページシャフリング部２に転送されて、ページシャフリング部２のメモリに書き込まれる。
【００７７】
ページシャフリング部２は、メモリに書き込まれたデータに対して、図４に示される４個の物理ブロックＰＢ０〜ＰＢ３から異なるページ番号の４つのページを抽出し、抽出された各ページに対応するデータが１バイトずつリードされる。
【００７８】
リードされた各ページに対応するデータは、第１のＥＣＣ生成部３に４バイトずつ入力され、第１のＥＣＣ生成部３によって第１のＥＣＣ符号が順次生成される。すなわち、ユーザデータブロックである物理ブロックＰＢ０〜ＰＢ３のそれぞれのページの先頭から１バイトずつ順番にユーザデータを抽出し、抽出した４バイトのユーザデータに対してＥＸＯＲの論理演算を行うことにより第１のＥＣＣパリティが生成されてユーザデータに付加される。これにより、第１のＥＣＣ符号が生成される。
【００７９】
なお、各ページにライトされるユーザデータが４Ｋバイトである場合は、４Ｋ個の４０の識別符号が付された第１のＥＣＣ符号が生成される。また、第１のＥＣＣ符号を構成するユーザデータ及び第１のＥＣＣパリティは、ページシャフリング部２のメモリにライトされる。
【００８０】
このように、本実施の形態に係るＥＣＣ構成では、ＥＣＣパリティを含む５バイトのＥＣＣ符号において、１バイトのエラーがあり、かつ、そのエラー位置が確定している場合は、エラーでない４バイトによってＥＸＯＲの論理演算を行うことにより、エラーとなった１バイトを復元することができる。
【００８１】
ページシャフリング部２の動作について、図５を用いて詳細に説明する。なお、ページシャフリング部２は、上述のとおり、１６０ＫＢ（＝４ＫＢ＊８＊５）のメモリ３面とその制御回路とによって構成され、各メモリ面は、１２８ＫＢ（＝４ＫＢ＊８＊４）のデータ格納部（ユーザデータ格納部）と、３２ＫＢの第１のＥＣＣパリティ格納部（第１のＥＣＣパリティデータ格納部）とから構成される。
【００８２】
図５は、実施の形態１に係る半導体記録装置１００のライト動作におけるページシャフリング部２の入出力を示すタイミングチャートである。図５において、上段はページシャフリング部２のデータ入力のタイミングを表し、上段の各ブロック（図中のブロック０〜２）は１２８ＫＢのデータ格納部を示す。図５に示すように、ページシャフリング部２のデータ入力は、１２８ＫＢの各ブロック単位で行われる。すなわち、全てのユーザデータブロックにおける全ページについてのデータ入力が完了した後で、次のブロックのデータ入力が開始する。本実施の形態では、図４に示すように、４つの物理ブロックＰＢ０〜ＰＢ３の各８つのページ（１２８ＫＢ）のデータ入力が完了した後で、次の４つの物理ブロックＰＢ０〜ＰＢ３の各８つのページのデータ入力が開始する。より具体的には、論理アドレス順に、すなわち、ＰＢ０−４０、ＰＢ１−４７、ＰＢ２−４６、ＰＢ３−４５、ＰＢ０−４１、ＰＢ１−４０、・・・、ＰＢ０−４７、ＰＢ１−４６、ＰＢ２−４５、ＰＢ３−４４の順にデータ入力が行われる。
【００８３】
また、図５において、中段は、第１のＥＣＣパリティ生成部３における第１のＥＣＣパリティの生成タイミングを表しており、中段の各ブロック（図中のブロック０〜１）は上述の１２８ＫＢのデータ格納部に対応する３２ＫＢの第１のＥＣＣパリティ格納部を示す。図５に示すように、第１のＥＣＣパリティの生成は、３２ＫＢのパリティブロック単位で行われる。すなわち、パリティブロックの全てのページについて第１のＥＣＣパリティを生成した後で、次のパリティブロックに対して第１のＥＣＣパリティを生成する。
【００８４】
本実施の形態では、図４に示される物理ブロックＰＢ４を構成する８つのページ（３２Ｋ）について、それぞれ第１のＥＣＣパリティを生成した後で、次の物理ブロックＰＢ４の各８つのページについて第１のＥＣＣパリティを生成する。より具体的には、３２ＫＢの第１のＥＣＣパリティは、図４の物理ブロックＰＢ４において、符号４４、４５、４６、４７、４０、４１、４２、４３の順番に４ＫＢ単位で生成される。
【００８５】
なお、同図に示すように、データ格納部へ１ブロック分の１２８ＫＢのデータの入力が完了した後に、そのデータに対する第１のＥＣＣパリティが生成される。
【００８６】
また、図５において、下段は、ページシャフリング部２のデータ出力のタイミングを表しており、下段の各ブロック（図中のブロック０〜１）は、ユーザデータと第１のＥＣＣパリティとを合わせた１６０ＫＢであり、データ格納部は同図の入力順に出力され、第１のＥＣＣパリティは生成順に出力される。同図に示すように、第１のＥＣＣパリティが生成されるたびに、ユーザデータと第１のＥＣＣパリティとを合わせたデータが出力される。
【００８７】
このように、ページシャフリング部２は、第１のＥＣＣパリティ生成部３とともに、ブロック単位でパイプライン制御されている。
【００８８】
このようにして出力されたページシャフリング部２からの出力データは、第２のＥＣＣ生成部４ａ〜４ｅに入力する。
【００８９】
第２のＥＣＣ生成部４ａ〜４ｅでは、ページシャフリング部２から入力される４Ｋバイトのデータに対して、フラッシュメモリのページ毎に第２のＥＣＣパリティを付加する。すなわち、第２のＥＣＣ生成部４ａ〜４ｅによって、ページシャフリング部２によってリードされたユーザデータと第１のＥＣＣパリティとからなる５ページ分のデータに対して、ページ毎に第２のＥＣＣパリティを付加して第２のＥＣＣ符号を生成する。
【００９０】
なお、ホスト機器側からのアクセスの単位がセクタ（＝５１２バイト）であることを考慮すれば、５１２バイトに対して１６バイトのパリティを付加したリードソロモン符号を８系統構成すれば、５１２バイト当たり、最大８バイトのエラーを訂正することができる。また、第２のＥＣＣ生成部４ａ〜４ｅが５系統実装されているので、各フラッシュメモリのライトページ順に対応するデータを出力してもよいことはいうまでもない。また、上記のように、メモリを３面で動作させることにより、連続ライトにおける転送レートの劣化を防止することができる。
【００９１】
データ書き込み部５ａ〜５ｅでは、第２のＥＣＣ生成部４ａ〜４ｅによって生成された第２のＥＣＣ符号を構成する第２のＥＣＣパリティ付データを、フラッシュメモリ６ａ〜６ｅの各ページに記録する。本実施の形態において、データ書き込み部５ａ〜５ｅは５並列に実装されており、５個のフラッシュメモリ６ａ〜６ｅの夫々１つの物理ブロックの各ページに夫々のデータを書き込む。
【００９２】
以上により、本実施の形態に係る半導体記録装置１００における書き込み動作が完了する。なお、本実施の形態では、５個の物理ブロックを一つのグループとし、一つのグループからなる構成について説明したが、より多数の物理ブロックからなる構成において、その物理ブロックを２つ以上のグループとして関連づける形態（例えば１０個の物理ブロックからなる構成において、５個のブロックからなる２つのグループとする形態）であってもよい。
【００９３】
（読み出し動作）
次に、実施の形態１に係る半導体記録装置１００からデータを読み出す際の読み出し動作について、図１及び図４を参照しながら説明する。
【００９４】
まず、図１に示される外部インターフェイス部１によって、ホスト機器からリードコマンドを受信する。リードコマンドには、読み出すデータが記録された論理ブロックが指定されている。
【００９５】
データ読み出し部７ａ〜７ｅによって、読み出しコマンドに指定された論理ブロックに対応する各フラッシュメモリ６ａ〜６ｅの各ページから所定のデータを読み出す。本実施の形態では、フラッシュメモリ６ａ〜６ｅに記録された第２のＥＣＣ符号を構成するユーザデータ及び第２のＥＣＣパリティを読み出す。
【００９６】
第２のＥＣＣ訂正部８ａ〜８ｅによって、読み出された第２のＥＣＣ符号に基づいて、エラーがあれば誤り訂正を行って、訂正されたデータと訂正の可否を示すエラーフラグとがページデシャフリング部９に出力される。
【００９７】
例えば、第２のＥＣＣ訂正部８ａ〜８ｅは、読み出されたユーザデータと第２のＥＣＣパリティとで構成された５２８バイト（＝５１２＋１６）で表現される５２８次の受信符号多項式Ｕ（Ｘ）において、エラー検出及びエラー訂正を実施する。１６バイトのパリティが付加されたリードソロモン符号においては、エラーが８バイト以下の場合はエラー訂正することができるが、８バイトを超える場合はエラー訂正することができない。よって、第２のＥＣＣ訂正部８ａ〜８ｅでは、訂正されたデータと訂正の可否を示すエラーフラグとをページデシャフリング部９に出力する。なお、訂正が否の場合、当該セクタのエラーフラグを「１」とする。
【００９８】
ページデシャフリング部９は、第２のＥＣＣ訂正部８ａ〜８ｅから出力される訂正の可否を示すエラーフラグにより、その処理を切り替える。
【００９９】
出力すべきセクタのエラーフラグが「０」の場合は、訂正可であったデータはそのまま外部インターフェイス部１に転送されて、外部インターフェイス部１を介して、当該セクタにかかるデータが出力される。
【０１００】
一方、出力すべきセクタのエラーフラグが「１」の場合は、エラーフラグが「１」のセクタはリードせずに、当該セクタと第１のＥＣＣ符号を構成しているエラーフラグが「０」の他の４個のセクタを、フラッシュメモリ６ａ〜６ｅからリードする。
【０１０１】
例えば、図４において、ＰＢ０−４０のページにおける最初の５１２バイトのエラーフラグが「１」であった場合には、以下のステップで処理を実施する。
【０１０２】
（Ｓｔｅｐ１）
ページデシャフリング部９によって、エラーフラグが「１」であったセクタと第１のＥＣＣ符号を構成している他の４個のセクタとが記録されたページの位置、すなわち物理ブロックのページ番号を計算する。
【０１０３】
図１の場合、第１のＥＣＣ符号を構成している各物理ブロックのページ番号は、物理ブロックＰＢ０のページ番号ＰＢ０Ｘにより以下のように計算できる。
【０１０４】
ＰＢ１のページ番号＝（ＰＢ０Ｘ＋１）％８
ＰＢ２のページ番号＝（ＰＢ０Ｘ＋２）％８
ＰＢ３のページ番号＝（ＰＢ０Ｘ＋３）％８
ＰＢ４のページ番号＝（ＰＢ０Ｘ＋４）％８
【０１０５】
ＰＢ０−４０のページは、物理ブロックＰＢ０の最初のページ（ページ０）なので、上式のＰＢ０Ｘに０を代入して、各物理ブロックのページ番号を求める。ここで、上記式において、「％」は、剰余（除算の余り）を求める演算子を表す。例えば、ＰＢ０Ｘが０の場合は、上記のＰＢ１のページ番号は、（０＋１）％８＝１、すなわち、ページ１となる。同様に、ＰＢ２のページ番号はページ２、ＰＢ３のページ番号はページ３、ＰＢ４のページ番号はページ４となる。
【０１０６】
なお、本実施形態では、ブロック番号が１ずつ増加するに従ってページ番号も１ずつ増加するように設定しているが、これに限らない。
【０１０７】
（Ｓｔｅｐ２）
Ｓｔｅｐ１で求めたページのデータをデータ読み出し部７ａ〜７ｅによってリードし、第２のＥＣＣ訂正部８ａ〜８ｅによってエラー訂正を行う。
【０１０８】
（Ｓｔｅｐ３）
第２のＥＣＣ訂正部８ａ〜８ｅにおいて、エラーフラグ「１」が１個以上存在すれば、ホスト機器に訂正不可の割り込みを返す。エラーが無ければＳｔｅｐ４に進む。
【０１０９】
（Ｓｔｅｐ４）
エラーフラグが「０」であった４ページのデータを第１のＥＣＣ訂正部１０に入力し、エラーが検出されたページのデータを訂正する。
【０１１０】
（Ｓｔｅｐ５）
エラー訂正されたデータは、外部インターフェイス部１を介して出力される。
【０１１１】
これにより、本実施の形態に係る半導体記録装置１００における読み出し動作が完了する。
【０１１２】
以上、実施の形態１に係る半導体記録装置１００及び半導体記録装置１００の制御方法によれば、フラッシュメモリにおいて、１個以上のフラッシュメモリの複数の物理ブロックを関連付け、関連付けられた複数の物理ブロックを共通のグループとして取り扱い、ユーザデータに基づいてパリティデータを生成してＥＣＣ符号を生成し、共通のグループの同一ページ番号を有するページにライトする各ＥＣＣ符号のシンボル数を最小限に抑えるべく、ＥＣＣ符号のシンボルを共通のグループにおける異なるページ番号を有するページに割り当てて、各ＥＣＣ符号を構成するユーザデータ及びＥＣＣパリティを共通のグループにおける異なるページ番号のページにライトする。
【０１１３】
これにより、ページ番号によってデータ保持特性が異なっていたとしても、異なるページ番号のページに分散させて第１のＥＣＣ符号を構成するデータをライトすることができるので、半導体記録装置全体としてのデータ保持特性を改善することができる。例えば、ＮＡＮＤ型フラッシュメモリのようにページ番号が大きいページほどデータ保持特性が劣化するといった構成の場合であっても、データ保持特性の良くないページ番号の大きいページを分散する形式で第１のＥＣＣ符号を構成するユーザデータ及びＥＣＣパリティをライトすることができるので、ページ番号の大きいページで発生したリードエラーを、比較的データ保持特性の良好なページ番号の小さなページのデータによってエラー訂正をすることができる。これにより、データ保持特性が改善した半導体記録装置を提供することができる。
【０１１４】
また、本実施の形態では、同じ符号が付された第１のＥＣＣ符合のシンボルが同じページ番号のページに割り当てられないように分散されている。これにより、さらに、半導体記録装置のデータ保持特性を均一化することができるので、データ保持特性を一層改善することができる。
【０１１５】
なお、本実施の形態では、５チップのフラッシュメモリにおいて、各チップの物理ブロックの異なるページ番号のページにライトされるデータに基づいて第１のＥＣＣ符号を生成したが、これに限らない。例えば、１チップのフラッシュメモリが複数の物理ブロックを有する場合は、当該１チップのフラッシュメモリから複数の物理ブロックを抽出して、各物理ブロックの異なるページ番号のページにライトするデータに基づいて第１のＥＣＣ符号を生成することができる。
【０１１６】
また、本実施の形態では、固定のフラッシュメモリのチップをパリティデータ用として割り当てたが、制御回路によって位置を特定できるのであれば、パリティデータ用の物理ブロック及びページは可変するように構成しても構わない。
【０１１７】
また、本実施の形態では、ページシャフリング部２のメモリにデータをライトした後に当該データをリードして第１のＥＣＣパリティを付加して第１のＥＣＣ符号を生成したが、入力されるデータに対して第１のＥＣＣ符号を生成した後にメモリにライトし、第１のＥＣＣ符号の構成バイトが、フラッシュメモリの異なるページにライトされるように、ページシャフリング部２のメモリを制御してもよい。
【０１１８】
また、本実施の形態では、第１のＥＣＣ符号の構成バイトを、異なる物理ブロックに１ページずつオフセットを与えてライトしたが、これに限定されるものではない。
【０１１９】
（実施の形態１の変形例１）
次に、実施の形態１の変形例１に係る半導体記録装置について、図６を用いて説明する。図６は、実施の形態１の変形例１に係る半導体記録装置において、物理ブロックのページと第１のＥＣＣ符号（ユーザデータ及びパリティ）との関係を示す図である。なお。図６では、８バイトのユーザデータに２バイトのパリティを付加して生成した１０バイトのＥＣＣ符号を、５個の物理ブロックにライトした場合のページと各ＥＣＣ符号との関係を示している。
【０１２０】
上述の実施の形態１に係る半導体記録装置では、同じ符号が付された第１のＥＣＣ符号を構成するパリティは１バイトとしたが、２バイト以上のパリティをユーザデータに付加してもよい。例えば、第１のＥＣＣ符号のバイト数が大きく、複数のＥＣＣパリティが付加されるような場合である。
【０１２１】
本変形例に係る半導体記録装置では、８バイトのユーザデータに２バイトのＥＣＣパリティが付加され、１０バイトのＥＣＣ符号が生成される場合について説明する。
【０１２２】
図６において、物理ブロックＰＢ０、ＰＢ１、ＰＢ２、ＰＢ３及びＰＢ４は、５個のフラッシュメモリ５ａ〜５ｅ夫々の物理ブロックである。なお、４つの物理ブロックＰＢ０〜ＰＢ３は、ユーザデータに対応するユーザデータブロックであり、物理ブロックＰＢ４は、パリティデータ専用のパリティブロックである。
【０１２３】
また、各物理ブロックＰＢ０〜ＰＢ４は、８ページで構成されており、上段から順番にページ０〜ページ７を示している。なお、本実施の形態においても、フラッシュメモリ６ａ〜６ｅは、ＮＡＮＤ型フラッシュメモリである。
【０１２４】
各物理ブロックＰＢ０〜ＰＢ４のページに付された符号４０〜４３は、第１のＥＣＣ符号を識別するための識別符号であり、同一番号の符号が付されたデータ（ユーザデータ及びＥＣＣパリティデータ）によって１つの第１のＥＣＣ符号が構成されている。
【０１２５】
図６に示すように、本変形例では、１つのパリティブロック（物理ブロックＰＢ４）に対して２個のＥＣＣパリティをライトする二重のＥＣＣパリティである。
【０１２６】
そして、各ＥＣＣ符号を構成するデータがライトされるページ番号に着目すると、符号４０が付されたＥＣＣ符号の１０個のシンボルについては、ページ０とページ４とには夫々２シンボル割り当てられ、他の６つのページには夫々１シンボルずつ割り当てられている。
【０１２７】
また、符号４１が付されたＥＣＣ符号の１０個のシンボルについては、ページ１とページ５とには夫々２シンボル割り当てられ、他の６つのページには夫々１シンボルずつ割り当てられている。
【０１２８】
同様に、符号４２が付されたＥＣＣ符号の１０個のシンボルについては、ページ２とページ６とには夫々２シンボルずつ割り当てられ、他の６つのページには夫々１シンボルずつ割り当てられている。符号４３が付されたＥＣＣ符号の１０個のシンボルについては、ページ３とページ７とには、夫々２シンボル割り当てられ、他の６つのページには夫々１シンボルずつ割り当てられている。
【０１２９】
このように、同一ページ番号のページに割り当てるＥＣＣ符号のシンボル数を、ＥＣＣパリティ数以下にすることにより、物理ブロックの最終ページなどの特定ページ番号のリテンション特性が劣化した場合であっても、訂正範囲内に抑えることが可能となり、データ保持特性が改善した半導体記録装置を提供することができる。
【０１３０】
また、本実施の形態において、最終ページ番号のページに割り当てるＥＣＣ符号のシンボル数を、ＥＣＣパリティ数以下にすることが好ましい。ＮＡＮＤ型フラッシュメモリでは、ページ番号が大きいほどデータ保持特性の劣化する傾向があり、最終ページ番号のページが最もデータ保持特性が劣化している可能性が高い。従って、最終ページ番号のページに割り当てるＥＣＣ符号のシンボル数をＥＣＣパリティ数以下にすることにより、半導体記録装置におけるデータ保持特性をさらに改善することができる。
【０１３１】
なお、本変形例では、全ページ均等となるようにＥＣＣ符号のシンボルを割り当てたが、これに限らない。例えば、リテンション特性の悪いページに配されるＥＣＣ符号のシンボル数はＥＣＣパリティ数以下にし、リテンション特性が良好なページには多くのシンボルを割り当ててもよい。
【０１３２】
（実施の形態１の変形例２）
次に、実施の形態１の変形例２に係る半導体記録装置について、図７を用いて説明する。図７は、実施の形態１の変形例２に係る半導体記録装置において、物理ブロックのページと第１のＥＣＣ符号（ユーザデータ及びパリティ）との関係を示す図である。
【０１３３】
同一のメモリセルに２ビット以上のデータをライトするＮＡＮＤ型フラッシュメモリにおいては、フラッシュメモリを構成する複数のメモリセルに対して選択又は非選択を行うための複数のワード線を備え、複数のワード線のそれぞれは複数のページに接続されている。このように構成されるＮＡＮＤ型フラッシュメモリでは、同一のワード線に繋がれた複数ページ分を同一のデータ保持特性と見なして、第１のＥＣＣ符号のデータを物理ブロックのワード線番号が異なるページに分散してライトしてもよい。
【０１３４】
すなわち、上述の実施の形態１及びその変形例１では、ページ単位で第１のＥＣＣ符号のシンボルを割り当てたが、本実施の形態では、ワード線単位で第１のＥＣＣ符号のシンボルを割り当てる。
【０１３５】
図７では、５個のフラッシュメモリ６ａ〜６ｅに記録される場合における並列の物理ブロックと第１のＥＣＣ符号との関係を示している。図７において、物理ブロックＰＢ０、ＰＢ１、ＰＢ２、ＰＢ３及びＰＢ４は、５個のフラッシュメモリ６ａ〜６ｅ夫々の物理ブロックである。そして、各物理ブロックは、８本のワード線０〜７からなる１６ページにより構成されており、上段から順番にページ０〜ページ１５を示している。そして、上段から順に連続する２ページは同一のワード線番号のワード線に繋がれている。すなわち、ワード線０はページ０とページ１とに繋がれており、ワード線１はページ２とページ３と繋がれており、以下同様に、ワード線２〜７は、２ページずつ繋がれている。
【０１３６】
各物理ブロックＰＢ０〜ＰＢ４のページに付された符号４０〜４Ｆは、第１のＥＣＣ符号を識別するための識別符号であり、同一番号の符号が付された５つのページ分のデータによって１つの第１のＥＣＣ符号が構成されている。
【０１３７】
図７に示すように、同一のＥＣＣ符号のシンボルが、異なるワード線に繋がれたページに割り当てられているので、メモリセル単位でのデータ保持特性によるリードエラーを第１のＥＣＣ符号により救済することができる。
【０１３８】
以上、実施の形態１の変形例２に係る半導体記録装置によれば、フラッシュメモリにおいて、１個以上のフラッシュメモリの複数の物理ブロックを関連付け、関連付けられた複数の物理ブロックを共通のグループとして取り扱い、ユーザデータからパリティデータを生成してＥＣＣ符号を生成し、ＥＣＣ符号のシンボルを共通のグループにおける異なるページ番号を有するページに割り当てて、各ＥＣＣ符号を構成するユーザデータを共通のグループのワード線番号の異なるページ番号のページにライトする。
【０１３９】
これにより、多値ＮＡＮＤ型フラッシュメモリのように、ソース線から離れたワード線番号の大きいワード線におけるページほどデータ保持特性が劣化するといった構成の場合であっても、データ保持特性の良くないワード線番号の大きいページを分散する形式で第１のＥＣＣ符号を構成するデータをライトすることができるので、ワード線番号の大きいページで発生したリードエラーを、比較的データ保持特性の良好なワード線番号の小さなページのデータによってエラー訂正をすることができる。これにより、データ保持特性が改善した半導体記録装置を提供することができる。
【０１４０】
また、本実施の形態では、同じ符号が付された第１のＥＣＣ符合のシンボルが同じページ番号のページに割り当てられないようにも分散されている。これにより、さらに、半導体記録装置のデータ保持特性を均一化することができるので、データ保持特性を一層改善することができる。
【０１４１】
（実施の形態２）
次に、実施の形態２に係る半導体記録装置について、図８を用いて説明する。図８は、実施の形態２に係る半導体記録装置において、物理ブロックのページと第１のＥＣＣ符号（ユーザデータ及びパリティ）との関係を示す図である。なお、図８では、第１のＥＣＣ符号を構成するデータを分散する範囲（第１のＥＣＣ符号のシンボルを割り当てる範囲）を物理ブロックの半分（４ページ間）にした場合を示している。
【０１４２】
実施の形態１に係る半導体記録装置では、第１のＥＣＣ符号のシンボルを物理ブロック全体（ページ０〜ページ７）に分散するように割り当てるため、ページシャフリング部２のメモリ量が大きくなるといった課題が生じる。実施の形態２に係る半導体記録装置では、第１のＥＣＣ符号のシンボルを割り当てる範囲を限定することで上記課題に対応する。
【０１４３】
なお、本実施の形態における半導体記録装置の構成は、実施の形態１と同様であるので、その説明は省略する。
【０１４４】
まず、図８に示すように、各物理ブロックＰＢ０〜ＰＢ４は、実施の形態１と同様に、８ページで構成されており、上段から順番にページ０〜ページ７となっている。
【０１４５】
各物理ブロックＰＢ０〜ＰＢ４のページに付された符号６０〜６７は、第１のＥＣＣ符号を識別するための識別符号であり、同一番号の符号が付された５個のページ分のデータによって第１のＥＣＣ符号が構成されている。
【０１４６】
また、複数の物理ブロックは、第１のＥＣＣ符号に対応する共通のグループに関連付けられており、ページ番号に従って複数の区間に分割されている。図８に示すように、本実施の形態において、物理ブロックＰＢ０〜ＰＢ４は、ページ番号がページ０からページ３までの範囲である上段側の第１の区分と、ページ番号がページ４からページ７までの範囲である下段側の第２の区分とに、半分に２分割されている。なお、物理ブロックは、少なくとも２つの区間に分割されていればよい。
【０１４７】
そして、本実施の形態に係る半導体記録装置では、ページシャフリング部２によって、第１のＥＣＣ符号を構成するユーザデータ及び第１のＥＣＣパリティが同じ区間内のページにライトされるように、同一番号の符号が付された第１のＥＣＣ符号のシンボルが、同一区間内のページに割り当てられる。
【０１４８】
具体的には、図８に示すように、第１のＥＣＣ符号６０〜６３で構成されるデータ（ユーザデータ及び第１のＥＣＣパリティ）は、上段側の上記第１の区分、すなわち、各物理ブロックのページ０〜ページ３に分散するように割り当てられてライトされる。また、第１のＥＣＣ符号６４〜６７で構成されるデータは、下段側の上記第２の区分、すなわち、各物理ブロックのページ４〜ページ７に分散するように割り当てられてライトされる。
【０１４９】
このときのページシャフリング部２の動作について、図９を用いて説明する。図９は、実施の形態２に係る半導体記録装置のライト動作におけるページシャフリング部２の入出力を示すタイミングチャートである。なお、図９は、図８に示すように、第１のＥＣＣ符号を構成するデータを分散する範囲を物理ブロックの半分（４ページ間）にした場合のタイミングチャートである。従って、図９におけるブロックサイズは、図５におけるブロックサイズの半分になっている。すなわち、フラッシュメモリに対応する物理ブロックにおける各ページに記録されるデータを４ＫＢとすると、ページシャフリング部２は、８０ＫＢ（＝４ＫＢ＊４＊５）のメモリ３面とその制御回路とによって構成される。各メモリ面は、６４ＫＢ（＝４ＫＢ＊４＊４）のデータ格納部と、１６ＫＢ（＝４ＫＢ＊４）の第１のＥＣＣパリティ格納部とから構成される。
【０１５０】
図９において、上段は、ページシャフリング部２のデータ入力のタイミングを表しており、各ブロック（図中のブロック００〜ブロック２１）は６４ＫＢ（＝４ＫＢ＊４＊４）のデータ格納部を示す。また、各ブロックは、分割された上記区間に含まれるページ分であり、本実施の形態において、各ブロックは４ページ分である。すなわち、ブロック００は、上段側の区間であるページ０からページ３までの４ページ分であり、ブロック０１は、下段側の区間であるページ４からページ７までの４ページ分である。同様に、ブロック１０及びブロック２０は、上段側の区間の４ページ分であり、ブロック１１及びブロック２１は、下段側の区間の４ページ分である。
【０１５１】
ページシャフリング部２のデータ入力は、６４ＫＢの各ブロック単位で行われる。すなわち、上段側の区間と下段側の区間とで区間単位で交互にデータ入力が行われ、上段側の区間における全てのユーザデータブロックの全ページについてのデータ入力が完了した後で、下段側の区間におけるデータ入力が開始する。
【０１５２】
本実施の形態では、図９に示すように、物理ブロックＰＢ０〜ＰＢ３の上段側の４つのページのデータ入力が完了した後で、同じ物理ブロックＰＢ０〜ＰＢ３の下段側の４つのページのデータ入力が開始する。その後、再び、物理ブロックＰＢ０〜ＰＢ３の上段側の４つのページのデータ入力が開始し、以降同様の処理が繰り返される。より具体的には、論理アドレス順に、最初の６４ＫＢの入力順は、ＰＢ０−６０、ＰＢ１−６３、ＰＢ２−６２、ＰＢ３−６１、ＰＢ０−６１、ＰＢ１−６０、・・・、ＰＢ２−６１、ＰＢ３−６０となり、次の６４ＫＢの入力順は、ＰＢ０−６４、ＰＢ１−６７、ＰＢ２−６６、ＰＢ３−６５、ＰＢ０−６５、ＰＢ１−６４、・・・、ＰＢ２−６５、ＰＢ３−６４の順にデータ入力が行われる。
【０１５３】
また、図９において、中段は、第１のＥＣＣパリティ生成部３における第１のＥＣＣパリティの生成タイミングを表しており、中段の各ブロック（図中のブロック００〜２０）は上記６４ＫＢのデータ格納部に対応する１６ＫＢの第１のＥＣＣパリティ格納部を示す。図９に示すように、第１のＥＣＣパリティの生成は、パリティブロックにおける分割された区間単位で行われる。本実施の形態では、上段側の区間と下段側の区間とに２分割されているので、上段側の区間におけるページについて第１のＥＣＣパリティを生成した後で、下段側の区間におけるページについて第１のＥＣＣパリティを生成する。
【０１５４】
本実施の形態では、図８に示される物理ブロックＰＢ４の上段側の４つのページについて第１のＥＣＣパリティを生成した後で、同じ物理ブロックＰＢ４の下段側の４つのページについて第１のＥＣＣパリティを生成する。より具体的には、最初の６４ＫＢのデータに対する第１のＥＣＣパリティは、図８の物理ブロックＰＢ４において、符号６０、６１、６２、６３の順番に４ＫＢ単位で生成され、次の６４ＫＢのデータに対する第１のＥＣＣパリティは、６４、６５、６６、６７の順番に４ＫＢ単位で生成される。
【０１５５】
なお、同図に示すように、データ格納部へ１ブロック分の６４ＫＢのデータの入力が完了した後に、そのデータに対する第１のＥＣＣパリティが生成される。
【０１５６】
また、図９において、下段は、ページシャフリング部２のデータ出力のタイミングを表しており、下段の各ブロック（図中のブロック００〜２０）は、ユーザデータと第１のＥＣＣパリティとを合わせた８０ＫＢであり、データ格納部は同図の入力順に出力され、第１のＥＣＣパリティは生成順に出力される。同図に示すように、第１のＥＣＣパリティが生成されるたびに、ユーザデータと第１のＥＣＣパリティとを合わせたデータが出力される。
【０１５７】
このように、ページシャフリング部２は、第１のＥＣＣパリティ生成部３とともに、ブロック単位でパイプライン制御されている。
【０１５８】
なお、以下の動作は、実施の形態１と同様に行われる。
【０１５９】
以上、実施の形態２に係る半導体記録装置によれば、第１のＥＣＣ符号のシンボルが割り当てられる範囲が複数に分割されているので、実装するメモリ容量を削減することができる。
【０１６０】
さらに、第１のＥＣＣ符号のシンボルが割り当てられる範囲を複数に分割することで、書き込み単位を小さくすることができる。これにより、処理速度を向上させることができる。
【０１６１】
（実施の形態２の変形例１）
次に、実施の形態２の変形例１に係る半導体記録装置について、図１０を用いて説明する。図１０は、実施の形態２の変形例１に係る半導体記録装置において、物理ブロックのページと第１のＥＣＣ符号（ユーザデータ及びパリティ）との関係を示す図である。
【０１６２】
上述の実施の形態２に係る半導体記録装置では、図８において、第１のＥＣＣ符号６７を構成するデータがライトされる各物理ブロックのページ番号に着目すると、データがライトされるページには、データ保持特性の劣化が一番厳しい物理ブロックの最終ページであるページ７が２つ含まれている。同様に、第１のＥＣＣ符号６６に着目すると、データがライトされるページとしては、ページ７は１つであるが、ページ７の次にデータ保持特性の劣化が厳しいページ６が２つ含まれている。よって、図８に示されるような第１のＥＣＣ符号のシンボルの分散手法（割り当て方法）では、データ保持特性の改善効果が少ない。
【０１６３】
そこで、本変形例では、図８に示す実施の形態２に係る半導体記録装置よりもデータ保持特性を改善することができるような、第１のＥＣＣ符号のシンボルの分散手法について、図１０を用いて説明する。
【０１６４】
図１０に示すように、各物理ブロックＰＢ０〜ＰＢ４は、８ページで構成されており、上段から順番にページ０〜ページ７となっている。
【０１６５】
各物理ブロックＰＢ０〜ＰＢ４のページに付された符号６０〜６７は、第１のＥＣＣ符号を識別するための識別符号であり、同一番号の符号が付された５個のページ分のデータによって第１のＥＣＣ符号が構成されている。
【０１６６】
また、複数の物理ブロックは、実施の形態２と同様に、第１のＥＣＣ符号に対応する共通のグループとして関連付けられており、ページ番号に従って複数の区間に分割されている。図１０では、図８と同様にして、物理ブロックＰＢ０〜ＰＢ４は、ページ番号がページ０からページ３までの範囲である上段側の第１の区分と、ページ番号がページ４からページ７までの範囲である下段側の第２の区分とに、半分に２分割されている。
【０１６７】
そして、本変形例に係る半導体記録装置では、ページシャフリング部２によって、第１のＥＣＣ符号を構成するユーザデータと第１のＥＣＣパリティとが異なる区間内のページにライトされるように、同一番号の符号が付された第１のＥＣＣ符号のシンボルが割り当てられる。また、同一番号の符号が付された第１のＥＣＣ符号においては、当該第１のＥＣＣ符号を構成するユーザデータ同士は同一区間内のページに割り当てられる。また、当該第１のＥＣＣ符号を構成する第１のＥＣＣパリティ同士も同一区間内のページに割り当てられる。
【０１６８】
具体的には、図１０に示すように、第１のＥＣＣ符号６０〜６３で構成されるデータのうちユーザデータは、第１のＥＣＣ符号６０〜６３のシンボルが上段側の上記第１の区分、すなわち、各物理ブロックのページ０〜ページ３に分散するようにしてライトされる。また、第１のＥＣＣ符号６４〜６７で構成されるデータのうちユーザデータは、第１のＥＣＣ符号６４〜６７のシンボルが下段側の上記第２の区分、すなわち、各物理ブロックのページ４〜ページ７に分散するようにしてライトされる。
【０１６９】
一方、第１のＥＣＣ符号６０〜６３を構成するデータのうち第１のＥＣＣパリティは、第１のＥＣＣ符号６０〜６３のシンボルが下段側の上記第２の区分、すなわち、各物理ブロックのページ４〜ページ７に分散するようにしてライトされる。また、第１のＥＣＣ符号６４〜６７を構成するデータのうち第１のＥＣＣパリティは、第１のＥＣＣ符号６４〜６７のシンボルが上段側の上記第１の区分、すなわち、各物理ブロックのページ０〜ページ３に分散するようにしてライトされる。
【０１７０】
このときのページシャフリング部２の動作について、図１１を用いて説明する。図１１は、実施の形態２の変形例１に係る半導体記録装置のライト動作におけるページシャフリング部２の入出力を示すタイミングチャートである。なお、図１１は、図１０に示すように、第１のＥＣＣ符号を構成するデータを分散する範囲を物理ブロックの半分（４ページ間）にした場合のタイミングチャートである。
【０１７１】
従って、図１１におけるブロックサイズは、図５におけるブロックサイズの半分になっており、フラッシュメモリに対応する物理ブロックにおける各ページに記録されるデータを４ＫＢとすると、ページシャフリング部２のメモリは、６４ＫＢ（＝４ＫＢ＊４＊４）のデータ格納部３面と、１６ＫＢ（＝４ＫＢ＊４）の第１のＥＣＣパリティ格納部４面とから構成される。
【０１７２】
図１１において、上段は、ページシャフリング部２のデータ入力のタイミングを表しており、各ブロック（図中のブロック００〜ブロック２１）は６４ＫＢ（＝４ＫＢ＊４＊４）のデータ格納部を示す。また、各ブロックは、実施の形態２と同様に、分割された上記区間に含まれるページ分であり、本変形例において、図中上段における各ブロックは、４ページ分である。すなわち、ブロック００、１０、２０は、上段側の区間であるページ０からページ３までの４ページ分であり、ブロック０１、１１、２１は、下段側の区間であるページ４からページ７までの４ページ分である。
【０１７３】
ページシャフリング部２のデータ入力は、６４ＫＢの各ブロック単位で行われ、実施の形態２と同様に、上段側の区間と下段側の区間とで区間単位で交互にデータ入力が行われ、上段側の区間における全てのユーザデータブロックの全ページについてのデータ入力が完了した後で、下段側の区間におけるデータ入力が開始する。
【０１７４】
より具体的には、論理アドレス順に、最初の６４ＫＢの入力順は、実施の形態２と同様に、ＰＢ０−６０、ＰＢ１−６３、ＰＢ２−６２、ＰＢ３−６１、ＰＢ０−６１、ＰＢ１−６０、・・・、ＰＢ２−６１、ＰＢ３−６０となり、次の６４ＫＢの入力順は、ＰＢ０−６４、ＰＢ１−６７、ＰＢ２−６６、ＰＢ３−６５、ＰＢ０−６５、ＰＢ１−６４、・・・、ＰＢ２−６５、ＰＢ３−６４の順にデータ入力が行われる。
【０１７５】
また、図１１において、２段目は、第１のＥＣＣパリティ生成部３における第１のＥＣＣパリティの生成タイミングを表しており、２段目の各ブロック（図中のブロック００〜２０）は上記６４ＫＢのデータ格納部に対応する１６ＫＢの第１のＥＣＣパリティ格納部を示す。図１１に示すように、第１のＥＣＣパリティの生成は、パリティブロックにおける分割された区間単位で行われるとともに、ユーザデータとは異なる区間で行われる。本実施の形態では、上段側の区間と下段側の区間とに２分割されているので、まず、下段側の区間におけるページについて第１のＥＣＣパリティを生成した後で、次に、上段側の区間におけるページについて第１のＥＣＣパリティを生成する。
【０１７６】
本実施の形態では、図１１に示される物理ブロックＰＢ４の下段側の４つのページについて第１のＥＣＣパリティを生成した後で、同じ物理ブロックＰＢ４の上段側の４つのページについて第１のＥＣＣパリティを生成する。より具体的には、最初の６４ＫＢのデータに対する第１のＥＣＣパリティは、図１０の物理ブロックＰＢ４において、下段側の符号６０、６１、６２、６３の順番に４ＫＢ単位で生成され、次の６４ＫＢのデータに対する第１のＥＣＣパリティは、上段側の符号６４、６５、６６、６７の順番に４ＫＢ単位で生成される。
【０１７７】
なお、同図に示すように、データ格納部へ１ブロック分の６４ＫＢのデータの入力が完了した後に、そのデータに対する第１のＥＣＣパリティが生成される。
【０１７８】
また、図１１において、３段目は、ユーザデータ格納部のデータ出力のタイミングを表しており、３段目の各ブロック（図中のブロック００〜２０）は、ユーザデータ格納部の６４ＫＢであり、ユーザデータ格納部は、同図の入力順に出力される。
【０１７９】
また、図１１において、最下段は、第１のＥＣＣパリティ格納部のデータ出力のタイミングを表しており、第１のＥＣＣパリティの生成順序とは異なり、６４、６５、６６、６７、６０、６１、６２、６３の順に出力される。
【０１８０】
このように、第１のＥＣＣパリティ格納部の各物理ブロックへのページアライメントにオフセットを付加することができる。これにより、データ保持特性の劣化が厳しい物理ブロックの最終ページ付近のページにライトされる第１のＥＣＣ符号を構成するデータのバイト数を制限することができる。
【０１８１】
よって、実装するメモリ容量をさらに削減することができ、かつ第１のＥＣＣ符号によるデータ保持特性の改善効果も十分満足することができる。
【０１８２】
なお、図１０では、第１のＥＣＣ符号を構成するバイトにおいて、同一ページ番号にアサインされるデータが１バイト以下になる場合について説明したが、第１のＥＣＣ符号のバイト数が大きく複数のパリティが付加されている場合においては、同一ページ番号にアサインされるデータは複数バイトあっても良いことはいうまでもない。
【０１８３】
また、本実施の形態で述べた手法を、実施の形態１の図６で示したワード線単位の制御としても同様の効果が得られることはいうまでもない。
【０１８４】
以上、実施の形態２の変形例１に係る半導体記録装置によれば、フラッシュメモリにおいて、１個以上のフラッシュメモリの複数の物理ブロックを関連付け、関連付けられた複数の物理ブロックを共通のグループとして取り扱い、上記共通のグループにおいて、ページ番号によって、物理ブロックを２個以上の区間に分割し、ユーザデータからパリティデータを生成してＥＣＣ符号を生成し、ＥＣＣ符号のシンボルを分割された同一区間における異なるページ番号を有するページに割り当てて、ＥＣＣ符号を構成する一部のデータを共通のグループの異なる区間のページ番号にライトする。
【０１８５】
これにより、例えば、ＥＣＣパリティのみを物理ブロックの異なる区間にライトすれば、実装するメモリ容量を節約することができるとともに、データ保持特性が劣化する可能性が高いページ番号の大きいページを分散させてデータをライトすることができる。従って、第１のＥＣＣ符号によるデータ保持特性の改善効果も十分満足する半導体記録装置の提供が可能となる。
【０１８６】
以上、実施の形態に係る半導体記録装置及び半導体記録装置の制御方法について、実施の形態及びその変形例に基づいて説明したが、本発明は、これらの実施の形態及び変形例に限定されるものではない。
【０１８７】
例えば、上記実施の形態及びその変形例に係る半導体記録装置の制御方法については、コンピュータによって実行させるコンピュータプログラムによって構成することもできる。また、当該半導体記録装置の制御方法のコンピュータプログラムについては、コンピュータによって読み取り可能な記録媒体に記録されていてもよい。記憶媒体としては、磁気ディスク、光ディスク、光磁気ディスク、ＩＣカード、半導体メモリ等があり、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）がある。
【０１８８】
その他、本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、または異なる実施の形態あるいは変形例における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【産業上の利用可能性】
【０１８９】
本発明に係る半導体記録装置は、メモリカードなどの半導体記録装置等に利用することができる。特に、本発明に係る半導体記録装置は、上述のように、内部の不揮発性メモリの物理ブロックを構成するページのデータ保持特性のバラツキに対応するものであり、不揮発性メモリのページに跨るようにＥＣＣ符号を生成してライトすることで、データ保持特性のページばらつきを抑制することができる。従って、本発明に係る半導体記録装置は、データ保持特性が良好でない多値フラッシュメモリを使用した半導体記録装置又は書き換え回数を頻繁に実施する業務用映像記録分野における半導体記録装置として広く利用することができる。
【符号の説明】
【０１９０】
１  外部インターフェイス部
２  ページシャフリング部
３  第１のＥＣＣ生成部
４ａ〜４ｅ  第２のＥＣＣ生成部
５ａ〜５ｅ  データ書き込み部
６ａ〜６ｅ  フラッシュメモリ
７ａ〜７ｅ  データ読み出し部
８ａ〜８ｅ  第２のＥＣＣ訂正部
９  ページデシャフリング部
１０  第１のＥＣＣ訂正部
【図１】
2011134307.tif 000003
【図２】
2011134307.tif 000004
【図３】
2011134307.tif 000005
【図４】
2011134307.tif 000006
【図５】
2011134307.tif 000007
【図６】
2011134307.tif 000008
【図７】
2011134307.tif 000009
【図８】
2011134307.tif 000010
【図９】
2011134307.tif 000011
【図１０】
2011134307.tif 000012
【図１１】
2011134307.tif 000013