JP2011134307A - 半導体記録装置及び半導体記録装置の制御方法 - Google Patents

半導体記録装置及び半導体記録装置の制御方法 Download PDF

Info

Publication number
JP2011134307A
JP2011134307A JP2010258307A JP2010258307A JP2011134307A JP 2011134307 A JP2011134307 A JP 2011134307A JP 2010258307 A JP2010258307 A JP 2010258307A JP 2010258307 A JP2010258307 A JP 2010258307A JP 2011134307 A JP2011134307 A JP 2011134307A
Authority
JP
Japan
Prior art keywords
ecc code
page
ecc
data
pages
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.)
Granted
Application number
JP2010258307A
Other languages
English (en)
Other versions
JP5789767B2 (ja
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 JP2010258307A priority Critical patent/JP5789767B2/ja
Publication of JP2011134307A publication Critical patent/JP2011134307A/ja
Application granted granted Critical
Publication of JP5789767B2 publication Critical patent/JP5789767B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1072Adding 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 multilevel memories
    • 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

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)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】データ保持性能を改善できる半導体記録装置を提供する。
【解決手段】複数のページによって構成される物理ブロックを複数有するフラッシュメモリ6a〜6eと、フラッシュメモリ6a〜6eに記録するデータを受け付ける外部インターフェイス部1と、データにパリティデータを付加し、第1のECC符号を生成する第1のECC生成部3と、フラッシュメモリ6a〜6eのページに第1のECC符号に基づくデータを記録するデータ書き込み部5a〜5eと、ページに対する第1のECC符号のシンボルの割り当てを制御するページシャフリング部2と、を備え、ページシャフリング部2は、第1のECC符号のシンボルがグループを構成する物理ブロックにおける少なくとも2つのページ番号を有するページに割り当てられるように、第1のECC符号のシンボルの割り当てを制御する。
【選択図】図3

Description

本発明は、メモリカードなどの半導体記録装置及び半導体記録装置の制御方法に関し、特に、半導体記録装置内部における不揮発性メモリのデータ保持特性のバラツキ及び書き換え回数に伴う劣化を抑制する制御手法に関する。
従来、フラッシュメモリが内蔵されたカード型の記録媒体であるSD(Secure Digital)カード等の半導体記録装置は、超小型、超薄型であり、その取り扱い易さから、ディジタルカメラ、携帯機器等において画像等のデータを記録するために広く利用されている。
半導体記録装置に内蔵されているフラッシュメモリは、一定サイズの多数の物理ブロックから成り、物理ブロックの単位でデータを消去できるメモリである。昨今の大容量化の要請に対応すべく、フラッシュメモリは1セルで2ビット以上のデータが蓄積できる多値フラッシュメモリが商品化されている。
多値フラッシュメモリの一例として4値フラッシュメモリについて、図1を用いて説明する。図1は、4値フラッシュメモリのフローティングゲートに蓄積する電子の蓄積状態と閾値電圧(Vth)との関係を示す図である。
図1に示すように、4値のフラッシュメモリでは、フローティングゲートの電子の蓄積状態をその閾値電圧(Vth)に従って4状態で管理する。図1において、蓄積する電子の数(電子のチャージ量)が少なく電位が一番低い状態は、消去状態であり、これを(1,1)とする。そして電子が蓄積していくにつれて閾値電圧が離散的に上昇し、その状態を夫々、(1,0)、(0,0)、(0,1)とする。このように、蓄積する電子の数に比例して電位が上昇するので、所定の電位の閾値に収まるように電子の蓄積状態を4状態で制御することができる。これによって、1つのメモリセルに2ビットのデータを記録することができる。
しかしながら、4値フラッシュメモリにおいては電子のチャージ量によって4状態を識別するために、4値フラッシュメモリにおける各状態間の閾値電圧の差が、2値フラッシュメモリにおける状態間の閾値電圧の差よりも小さい。
また、データの書き換えが繰り返し行われると、電子の注入と引き抜きによってゲート酸化膜にわずかな損傷が発生する。この損傷が積み重なると電子トラップが数多く形成されるため、実際のフローティングゲートに蓄積される電子数を減少してしまう。さらに、半導体プロセスの微細化に比例して、フローティングゲートに蓄積される電子数が少なくなるため、フラッシュメモリの微細化が進むと電子トラップの影響は大きくなる。
このように、フラッシュメモリの大容量化を支える多値記録及び半導体プロセスの微細化に従い、フラッシュメモリのデータ保持特性の劣化といった課題が顕著になってきた。
上記課題の解決手法として、(1)書き換え回数の制限、(2)エラー訂正の強化が、採用されている。
例えば、特許文献1では、複数チップで構成されたフラッシュメモリにおいて、フラッシュメモリの互いに異なるチップ内のブロックを関連付け、関連付けられた複数のブロックを共通のグループとして取り扱い、グループ内の1ブロックを当該グループ内の他のブロックに書き込まれたユーザデータのパリティ用のブロックに割当てることにより、誤り訂正能力を強化し、フラッシュメモリのデータ保持特性の劣化を抑制している。
特開2006−18373号公報
しかしながら、上述の特許文献1の手法は、HDDで利用されているRAID4あるいはRAID5をフラッシュメモリに単に適用したものであり、NAND型フラッシュメモリの構造が考慮されていない。従って、特許文献1の方法では、フラッシュメモリのデータ保持特性の劣化を十分に抑制することができず、リードエラーといった不具合が発生するという問題がある。
この問題について、以下、図2を用いて説明する。図2は、NAND型フラッシュメモリのメモリセル構造を示す図である。
図2に示すように、NAND型フラッシュメモリでは、フラッシュメモリセルがマトリクス状に配置される。コラム方向には、ソース側のゲートSGSとビット線側のゲートSGB間にソースとドレインを直結した複数のフラッシュメモリセルが配置される。ロウ方向には、共通のワード線が各フラッシュメモリセルのゲートに接続されており、ワード線に沿って並んだ複数のフラッシュメモリセルに対して同時にライト動作(書き込み動作)又はリード動作(読み込み動作)が実施される(物理ブロックの各ページに相当する)。
ライト動作時には、非選択のワード線にVddの電圧を印加し、選択するフラッシュメモリセルのワード線に20V程度の高電圧を印加することにより、データが書き込まれる該当フラッシュメモリセルのフローティングゲートに電子が注入される。
リード動作においては、非選択のワード線にVddの電圧を印加し、選択するフラッシュメモリセルのワード線にVt(<Vdd)の電圧を印加する。このとき、選択されたワード線におけるフラッシュメモリセルに電子が注入されている場合は、該当フラッシュメモリセルはONとなり、ビット線を介して「0」がリードされる。一方、選択されたワード線におけるフラッシュメモリセルに電子が注入されていない場合は、該当フラッシュメモリセルはOFFとなり、ビット線を介して「1」がリードされる。
半導体プロセスの微細化が進行するにつれて、フローティングゲートに注入する電子数が減少し、各フラッシュメモリセルに注入された電子数のバラツキがデータ保持特性に与える影響も格段に増加している。例えば、各フラッシュメモリセルのソースの電位がGNDより数mV上昇するとフラッシュメモリセルに注入される電子数は数mV分減少してしまう。
NAND型フラッシュメモリにおいては、ソース線(基準電位線)から離れた位置にあるワード線に配置されたフラッシュメモリほど、ソース側の電位上昇の影響を受けることになる。例えば、図2では、ソース線より最も離れたワード線WL7に配置されたフラッシュメモリセルが、ソース側の電位上昇の影響を最も受けることになる。
従って、NAND型フラッシュメモリにおいては、ページ番号が大きいページほど、データ保持特性が劣化する可能性がある。
よって、RAID構成による特許文献1の手法によるデータ保持特性の改善では、ページ番号が大きいページほどデータ保持特性が劣化するといったNAND型フラッシュメモリの特徴構造に対応できていないため、パリティの冗長度ほどはデータ保持特性が改善できないといった課題がある。
本発明は、上記課題を解決するものであり、NAND型フラッシュメモリにおける最適な積符号構成により、データ保持性能を改善できる半導体記録装置及び半導体記録装置の制御方法を提供することを目的とする。
この課題を解決するために、本発明に係る半導体記録装置の一態様は、複数のページによって構成される物理ブロックを複数有する少なくとも一つの不揮発性メモリと、前記不揮発性メモリに記録するデータを受け付けるインターフェイス部と、前記データにパリティデータを付加し、ECC符号を生成するECC生成部と、前記不揮発性メモリのページに前記ECC符号に基づくデータを記録する記録部と、前記ページに対する前記ECC符号のシンボルの割り当てを制御する制御部と、を備え、複数の前記物理ブロックは、共通のグループとして関連付けられており、前記制御部は、前記ECC符号のシンボルが前記グループを構成する物理ブロックにおける少なくとも2つのページ番号を有するページに割り当てられるように、前記ECC符号のシンボルの割り当てを制御するものである。
本態様によれば、ECC符号のシンボルが異なるページ番号に割り当てられて、ECC符号を構成するデータを異なるページ番号に分散させて記録することができる。
さらに、本発明に係る半導体記録装置の一態様において、前記制御部は、前記グループを構成する物理ブロックにおける同一ページ番号を有するページに割り当てられる前記ECC符号のシンボルの数が最も少なくなるように、前記ECC符号のシンボルの割り当てを制御することが好ましい。
さらに、本発明に係る半導体記録装置の一態様において、前記制御部は、同一の前記ECC符号のシンボルが同一ページ番号に割り当てられないように、前記ECC符号のシンボルの割り当てを制御することが好ましい。
さらに、本発明に係る半導体記録装置の一態様において、前記制御部は、前記グループを構成する物理ブロックにおける同一ページ番号を有するページに割り当てられる前記ECC符号のシンボルの数が、前記ECC符号を構成するパリティデータの数以下となるように、前記ECC符号のシンボルの割り当てを制御することが好ましい。
さらに、本発明に係る半導体記録装置の一態様において、前記制御部は、前記グループを構成する物理ブロックにおける最終ページ番号を有するページに割り当てられる前記ECC符号のシンボルの数が、前記ECC符号を構成するパリティデータの数以下となるように、前記ECC符号のシンボルの割り当てを制御することが好ましい。
さらに、本発明に係る半導体記録装置の一態様において、前記制御部は、ページ番号に従い前記グループを少なくとも二つの区間に分割し、前記ECC符号のシンボルが一つの前記区間内のページに割り当てられるように、前記ECC符号のシンボルの割り当てを制御することが好ましい。
さらに、本発明に係る半導体記録装置の一態様において、前記制御部は、ページ番号に従い前記グループを少なくとも二つの区間に分割し、前記ECC符号を構成するユーザデータとパリティデータとが異なる区間のページに記録されるように、前記ECC符号のシンボルの割り当てを制御することが好ましい。
さらに、本発明に係る半導体記録装置の一態様において、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、前記複数のワード線のそれぞれは、複数の前記ページに接続されており、前記制御部は、前記グループの同一ワード線番号を有するページに割り当てられる前記ECC符号のシンボル数が最も少なくなるように、前記ECC符号のシンボルの割り当てを制御することが好ましい。
さらに、本発明に係る半導体記録装置の一態様において、前記制御部は、同一の前記ECC符号のシンボルが同一ワード線番号に割り当てられないように、前記ECC符号のシンボルの割り当てを制御することが好ましい。
さらに、本発明に係る半導体記録装置の一態様において、前記制御部は、同一の前記ECC符号のシンボルが同一ページ番号に割り当てられないように、前記ECC符号のシンボルの割り当てを制御することが好ましい。
さらに、本発明に係る半導体記録装置の一態様において、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、前記複数のワード線のそれぞれは、複数の前記ページに接続されており、前記制御部は、前記グループの同一ワード線番号を有するページに割り当てられる前記ECC符号のシンボル数が、前記ECC符号を構成するパリティデータの数以下となるように、前記ECC符号のシンボルの割り当てを制御することが好ましい。
さらに、本発明に係る半導体記録装置の一態様において、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、前記複数のワード線のそれぞれは、複数の前記ページに接続されており、前記制御部は、前記グループの最終ワード線番号を有するページに割り当てられる前記ECC符号のシンボル数が、前記ECC符号を構成するパリティデータの数以下となるように、前記ECC符号のシンボルの割り当てを制御することが好ましい。
さらに、本発明に係る半導体記録装置の一態様において、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、前記複数のワード線のそれぞれは、複数の前記ページに接続されており、前記制御部は、ワード線番号に従い前記グループを少なくとも二つの区間に分割し、前記ECC符号のシンボルが一つの前記区間内のページに割り当てられるように、前記ECC符号のシンボルの割り当てを制御することが好ましい。
さらに、本発明に係る半導体記録装置の一態様において、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、前記複数のワード線のそれぞれは、複数の前記ページに接続されており、前記制御部は、ワード線番号に従い前記グループを少なくとも二つの区間に分割し、前記ECC符号を構成するユーザデータとパリティデータとが異なる区間のページに記録されるように、前記ECC符号のシンボルの割り当てを制御することが好ましい。
さらに、本発明に係る半導体記録装置の一態様において、前記ECC符号を構成するユーザデータ及びパリティデータに第2のECCパリティデータを付加し、第2のECC符号を生成する第2のECC生成部と、前記不揮発性メモリに記録された前記第2のECC符号を読み出す読み出し部と、前記読み出し部で読み出した前記第2のECC符号を基にエラー訂正を行う第2のECC訂正部と、前記第2のECC訂正部でエラー訂正できなかった位置に従い、前記ECC符号を基にエラー訂正を行う第1のECC訂正部と、を備えることが好ましい。
また、本発明に係る半導体記録装置の制御方法の一態様は、1つが複数のページによって構成されるとともにお互いが共通のグループとして関連付けられた物理ブロックを複数含む少なくとも一つの不揮発性メモリを有する半導体記録装置の制御方法であって、前記不揮発性メモリに記録するデータを受け付けるデータ受け付けステップと、前記データにパリティデータを付加し、ECC符号を生成するECC符号生成ステップと、前記不揮発性メモリのページに前記ECC符号に基づくデータを記録する記録ステップと、前記ページに対する前記ECC符号のシンボルの割り当てを制御する制御ステップと、を含み、前記ECC符号のシンボルが前記グループを構成する物理ブロックにおける少なくとも2つのページ番号を有するページに割り当てられるように、前記ページに対する前記ECC符号のシンボルの割り当てを制御する制御ステップと、を含むものである。
また、本発明に係るプログラムの一態様は、1つが複数のページによって構成されるとともにお互いが共通のグループとして関連付けられた物理ブロックを複数含む少なくとも一つの不揮発性メモリを有する半導体記録装置を制御するためのプログラムであって、前記不揮発性メモリに記録するデータを受け付けるデータ受け付けステップと、前記データにパリティデータを付加し、ECC符号を生成するECC符号生成ステップと、前記不揮発性メモリのページに前記ECC符号に基づくデータを記録する記録ステップと、前記ECC符号のシンボルが前記グループを構成する物理ブロックにおける少なくとも2つのページ番号を有するページに割り当てられるように、前記ページに対する前記ECC符号のシンボルの割り当てを制御する制御ステップとをコンピュータによって実行させるものである。
また、本発明に係る記録媒体の一態様は、上記プログラムが記録されたコンピュータに読み取り可能なものである。
本発明によれば、ページ番号によってデータ保持特性が異なっていたとしても、異なるページ番号に分散させてECC符号を構成するデータを記録することができるので、ページ番号の大きいページで発生したリードエラーを、比較的データ保持特性の良好なページのデータにより訂正することができる。これにより、データ保持特性が改善した半導体記録装置を提供することができる。特に、ページ番号が大きいページほどデータ保持特性が劣化するといった構成であるNAND型フラッシュメモリに対しては、本発明によって、データ保持特性を改善することができる。
図1は、4値フラッシュメモリのフローティングゲートに蓄積する電子の蓄積状態と閾値電圧(Vth)との関係を示す図である。 図2は、NAND型フラッシュメモリのメモリセル構造を示す図である。 図3は、本発明の実施の形態1に係る半導体記録装置の構成を示すブロック図である。 図4は、本発明の実施の形態1に係る半導体記録装置において、物理ブロックのページと第1のECC符号との関係を示す図である。 図5は、本発明の実施の形態1に係る半導体記録装置のライト動作におけるページシャフリング部の入出力を示すタイミングチャートである。 図6は、本発明の実施の形態1の変形例1に係る半導体記録装置において、物理ブロックのページと第1のECC符号との関係を示す図である。 図7は、本発明の実施の形態1の変形例2に係る半導体記録装置において、物理ブロックのページと第1のECC符号との関係を示す図である。 図8は、本発明の実施の形態2に係る半導体記録装置において、物理ブロックのページと第1のECC符号との関係を示す図である。 図9は、本発明の実施の形態2に係る半導体記録装置のライト動作におけるページシャフリング部の入出力を示すタイミングチャートである。 図10は、本発明の実施の形態2の変形例1に係る半導体記録装置において、物理ブロックのページと第1のECC符号との関係を示す図である。 図11は、本発明の実施の形態2の変形例1に係る半導体記録装置のライト動作におけるページシャフリング部の入出力を示すタイミングチャートである。
以下、実施の形態に係る半導体記録装置、半導体記録装置の制御方法及び記録媒体について、図面を参照しながら説明する。
(実施の形態1)
まず、実施の形態1に係る半導体記録装置及び半導体記録装置の制御方法について、図面を参照しながら説明する。
(半導体記録装置の構成)
図3は、実施の形態1に係る半導体記録装置の構成を示すブロック図である。
図3に示すように、実施の形態1に係る半導体記録装置100は、外部インターフェイス部1と、ページシャフリング部2と、第1のECC生成部3と、第2のECC生成部4a〜4eと、データ書き込み部5a〜5eと、フラッシュメモリ6a〜6eと、データ読み込み部7a〜7eと、第2のECC訂正部8a〜8eと、ページデシャフリング部9と、第1のECC訂正部10とを含む。
本実施の形態に係る半導体記録装置100において、第2のECC生成部4a〜4e、データ書き込み部5a〜5e、フラッシュメモリ6a〜6e、データ読み込み部7a〜7e、及び第2のECC訂正部8a〜8eは、それぞれ、a、b、c、d、eの5系列備える。
図3において、外部インターフェイス部1は、ホスト機器等の外部装置から所定のコマンドやデータを送受信したり、データの転送を行ったりするインターフェイスである。
具体的に、外部インターフェイス部1は、ホスト機器から、書き込みコマンド(ライトコマンド)及びフラッシュメモリ6a〜6eに記録するための書き込みデータ(ライトデータ)を受け付けて、ライトコマンド及び書き込みデータをページシャフリング部2等に転送する。また、外部インターフェイス部1は、ホスト機器からの読み出しコマンド(リードコマンド)を受け付けるとともに、ページデシャフリング部9からフラッシュメモリ6a〜6eに記録されているデータを読み出しデータ(リードデータ)として受け付けて、ホスト機器に送信する。
ページシャフリング部2は、メモリ(メモリ部)とその制御手段(制御部)によって構成され、複数のフラッシュメモリの各物理ブロックを構成する複数のページについて、当該ページに対する第1のECC(Error Correcting Code)符号のシンボルの割り当てを制御する制御部として機能する。
本実施の形態において、ページシャフリング部2は、第1のECC符号のシンボルが、異なる物理ブロックにおける少なくとも2つのページ番号を有するページに割り当てられるように、ページに対する第1のECC符号のシンボルの割り当てを制御する。すなわち、ページシャフリング部2は、複数のフラッシュメモリの各物理ブロック間において、第1のECC符号のシンボルが異なるページ番号のページに割り当てられるように各物理ブロックのページをシャフルして、第1のECC符号のシンボルが異なるページ番号のページに分散するように制御する。
例えば、フラッシュメモリ6a〜6eのページに記録されるデータを4KBとすると、ページシャフリング部2は、160KB(=4KB*8*5)のメモリ3面とその制御回路によって構成される。各メモリ面は、128KB(=4KB*8*4)のユーザデータ格納部と32KB(=4KB*8)の第1のECCパリティ格納部とから構成される。
このように構成されるページシャフリング部2は、ホスト機器から外部インターフェイス部1を介してライトコマンド及びライトデータを受信したときに、受信したライトデータを順番にページシャフリング部2のメモリに書き込む。そして、メモリに書き込まれたデータに対して、4個のフラッシュメモリ6a〜6dの物理ブロックの異なるページ番号に割り当てられる4ページが抽出され、抽出された各ページに対応するデータが1バイトずつリードされる。リードされた各ページに対応するデータは、第1のECC生成部3に4バイトずつ入力され、後述するように第1のECC生成部3により第1のECC符号が順次生成され、第1のECC符号を構成するユーザデータ及び第1のECCパリティ(第1のECCパリティデータ)がページシャフリング部2のメモリにライトされる。
また、ページシャフリング部2は、後述の5個のフラッシュメモリ6a〜6eにライトするページの順序で、メモリにライトされたユーザデータ及び第1のECCパリティをリードし、第2のECC生成部4a〜4eに出力する。
第1のECC生成部3は、データにパリティデータを付加することによりECC符号を生成するECC生成部である。本実施の形態において、第1のECC生成部3は、ページシャフリング部2により入力された4バイト毎のデータ(ユーザデータ)について、EXORの論理演算を行うことにより第1のECCパリティ(第1のECCパリティデータ)を順次生成し、4バイト毎のユーザデータに第1のECCパリティを付加して第1のECC符号を生成する。また、第1のECC生成部3は、第1のECC符号を構成するユーザデータ及び第1のECCパリティを、ページシャフリング部2に出力する。
第2のECC生成部4a〜4eの各々は、ページシャフリング部2によってリードされたユーザデータ及び第1のECCパリティからなる5ページ分のデータに対して、ページ毎に第2のECCパリティ(第2のECCパリティデータ)を付加して第2のECC符号を生成する。
データ書き込み部5a〜5eは、それぞれ、フラッシュメモリ6a〜6eに所定のデータを記録する記録部である。データ書き込み部5a〜5eは、第2のECC生成部4a〜4eによって生成された第2のECC符号を構成する第2のECCパリティ付きのデータ(ユーザデータ及び第2のECCパリティ)を、フラッシュメモリ6a〜6eの所定の各ページに記録する。
フラッシュメモリ6a〜6eの各々は、所定のデータを記録するための不揮発性メモリであり、複数のページによって構成される物理ブロックを有する。本実施の形態において、フラッシュメモリ6a〜6eは、NAND型フラッシュメモリである。なお、フラッシュメモリ6a〜6eのうち、4つのフラッシュメモリ6a〜6dは、ユーザデータを記録するためのメモリであり、残りのフラッシュメモリ6eは、第1のECCパリティを記憶するためのメモリ(第1のECCパリティ専用のメモリ)である。
本実施の形態において、複数のフラッシュメモリ6a〜6eにおける物理ブロックは、第1のECC符号に対応する共通のグループとして関連付けられており、フラッシュメモリ6a〜6eにおいて、第1のECC符号のシンボルが、異なる物理ブロックにおける少なくとも2つのページ番号を有するページに割り当てられて、第1のECC符号を構成するユーザデータ及び第1のパリティが所定のページに記録されている。
なお、ページとは、ホスト機器等の外部装置から見たときに、記録できる最小単位(書き込みアクセス単位)であり、ブロックとは、最小消去単位である。本実施の形態において、各ページは4Kバイトであり、各ブロックは32Kバイト(4Kバイト*8ページ)である。
データ読み出し部7a〜7eは、外部インターフェイス部1がホスト機器からの読み出しコマンドを受信した場合、指定された論理ブロックに対応する各フラッシュメモリ6a〜6eの各ページより所定のデータを読み出す。例えば、データ読み出し部7a〜7eは、フラッシュメモリ6a〜6eに記録された第2のECC符号を構成するユーザデータ及び第2のECCパリティを読み出す。
第2のECC訂正部8a〜8eは、第2のECC生成部4a〜4eで生成された第2のECC符号を構成する第2のECCパリティに基づいて、エラーがあれば誤り訂正を行い、訂正されたデータと訂正の可否を示すエラーフラグとを、ページデシャフリング部9に出力する。
ページデシャフリング部9は、第2のECC訂正部8a〜8eにより訂正可であったデータはそのまま外部インターフェイス部1に転送し、一方、第2のECC訂正部8a〜8eにより訂正不可であったデータは第1のECC符号を構成しているデータをフラッシュメモリ6a〜6eからリードする。
第1のECC訂正部10では、第2のECC訂正部8a〜8eにより訂正不可であったデータと、ページデシャフリング部9によりリードされた第1のECC訂正符号を構成しているデータにより誤り訂正を行い、訂正したデータを外部インターフェイス部1に転送する。
(半導体記録装置の制御方法)
次に、実施の形態1に係る半導体記録装置100の制御方法について、図面を参照しながら以下説明する。
(書き込み動作)
まず、本実施の形態に係る半導体記録装置100にデータを書き込みする際の書き込み動作について、図1を参照しながら、図4及び図5を用いて説明する。
まず、本実施の形態に係る半導体記録装置100におけるフラッシュメモリの物理ブロックの構成について図4を用いて説明する。図4は、実施の形態1に係る半導体記録装置100において、物理ブロックのページと第1のECC符号(ユーザデータ及びパリティ)との関係を示す図である。なお、図4では、5個のフラッシュメモリ6a〜6eに記録される場合において、並列の物理ブロックのページと第1のECC符号との関係を示している。
図4において、物理ブロックPB0はフラッシュメモリ6aの物理ブロック、物理ブロックPB1はフラッシュメモリ6bの物理ブロックであり、以下同様に、物理ブロックPB2、PB3及びPB4は、夫々フラッシュメモリ6c、6d及び6eの物理ブロックである。4つの物理ブロックPB0〜PB3は、ユーザデータに対応するユーザデータブロックであり、物理ブロックPB4は、パリティデータ専用のパリティブロックである。
また、各物理ブロックPB0〜PB4は、8ページで構成されており、上段から順番にページ0〜ページ7を示している。なお、本実施の形態において、フラッシュメモリ6a〜6eは、NAND型フラッシュメモリであるので、ページ番号が大きいページほどデータ保持特性が劣化する傾向がある。すなわち、本実施の形態では、ページ7が最もデータ保持特性が劣化している可能性が高い。
各物理ブロックPB0〜PB4のページに付された符号40〜47は、第1のECC符号を識別するための識別符号(シンボル)であり、同一番号の符号が付された5つのページ分のデータによって1つの第1のECC符号が構成されている。すなわち、本実施の形態では、第1のECC符号のシンボルの数は5つ(5バイト)である。
例えば、符号40が付された第1のECC符号の5つのシンボルは、物理ブロックPB0のページ0、物理ブロックPB1のページ1、物理ブロックPB2のページ2、物理ブロックPB3のページ3、及び、物理ブロックPB4のページ4の5つのページに割り当てられている。そして、符号40が付された第1のECC符号を構成するユーザデータは、物理ブロックPB0のページ0、物理ブロックPB1のページ1、物理ブロックPB2のページ2、及び、物理ブロックPB3のページ3にライトされている。また、符号40が付された第1のECC符号を構成する第1のECCパリティは、物理ブロックPB4のページ4にライトされている。
同様に、符号41が付された第1のECC符号の5つのシンボルは、物理ブロックPB0のページ1、物理ブロックPB1のページ2、物理ブロックPB2のページ3、物理ブロックPB3のページ4、物理ブロックPB4のページ5の5つのページに割り当てられている。そして、符号41が付された第1のECC符号を構成するユーザデータは、物理ブロックPB0のページ1、物理ブロックPB1のページ2、物理ブロックPB2のページ3、及び、物理ブロックPB3のページ4にライトされている。また、符号41が付された第1のECC符号を構成する第1のECCパリティは、物理ブロックPB4のページ5にライトされている。
このように、本実施の形態では、各第1のECC符号のシンボルは、物理ブロックの番号が1ずつ増加するごとにページ番号が1ずつ増加するように割り当てられている。なお、符号42〜47についても同様であるので、その説明は割愛する。
また、図4において、ユーザデータブロック(物理ブロックPB0〜PB3)における論理アドレス順は、同一ページ番号の物理ブロックPB0から物理ブロックPB3への順であり、かつ、ページ番号が小さいページから大きいページへの順である。具体的には、PB0−40、PB1−47、PB2−46、PB3−45、PB0−41、PB1−40、・・・、PB0−47、PB1−46、PB2−45、PB3−44の順である。ここで、PB0−40とは、符号40が付されている物理ブロックPB0のことを表し、PB1−47は符合47が付されている物理ブロックPB1のことを表している。以下、同様である。
次に、本実施の形態に係る半導体記録装置100の書き込み動作について、詳細に説明する。
まず、図1に示される外部インターフェイス部1によって、ホスト機器から、フラッシュメモリ6a〜6eに記録するためのユーザデータ等のライトデータ、及び、ライトコマンドを受け付ける。受け付けたライトデータは、受け付けた順番にページシャフリング部2に転送されて、ページシャフリング部2のメモリに書き込まれる。
ページシャフリング部2は、メモリに書き込まれたデータに対して、図4に示される4個の物理ブロックPB0〜PB3から異なるページ番号の4つのページを抽出し、抽出された各ページに対応するデータが1バイトずつリードされる。
リードされた各ページに対応するデータは、第1のECC生成部3に4バイトずつ入力され、第1のECC生成部3によって第1のECC符号が順次生成される。すなわち、ユーザデータブロックである物理ブロックPB0〜PB3のそれぞれのページの先頭から1バイトずつ順番にユーザデータを抽出し、抽出した4バイトのユーザデータに対してEXORの論理演算を行うことにより第1のECCパリティが生成されてユーザデータに付加される。これにより、第1のECC符号が生成される。
なお、各ページにライトされるユーザデータが4Kバイトである場合は、4K個の40の識別符号が付された第1のECC符号が生成される。また、第1のECC符号を構成するユーザデータ及び第1のECCパリティは、ページシャフリング部2のメモリにライトされる。
このように、本実施の形態に係るECC構成では、ECCパリティを含む5バイトのECC符号において、1バイトのエラーがあり、かつ、そのエラー位置が確定している場合は、エラーでない4バイトによってEXORの論理演算を行うことにより、エラーとなった1バイトを復元することができる。
ページシャフリング部2の動作について、図5を用いて詳細に説明する。なお、ページシャフリング部2は、上述のとおり、160KB(=4KB*8*5)のメモリ3面とその制御回路とによって構成され、各メモリ面は、128KB(=4KB*8*4)のデータ格納部(ユーザデータ格納部)と、32KBの第1のECCパリティ格納部(第1のECCパリティデータ格納部)とから構成される。
図5は、実施の形態1に係る半導体記録装置100のライト動作におけるページシャフリング部2の入出力を示すタイミングチャートである。図5において、上段はページシャフリング部2のデータ入力のタイミングを表し、上段の各ブロック(図中のブロック0〜2)は128KBのデータ格納部を示す。図5に示すように、ページシャフリング部2のデータ入力は、128KBの各ブロック単位で行われる。すなわち、全てのユーザデータブロックにおける全ページについてのデータ入力が完了した後で、次のブロックのデータ入力が開始する。本実施の形態では、図4に示すように、4つの物理ブロックPB0〜PB3の各8つのページ(128KB)のデータ入力が完了した後で、次の4つの物理ブロックPB0〜PB3の各8つのページのデータ入力が開始する。より具体的には、論理アドレス順に、すなわち、PB0−40、PB1−47、PB2−46、PB3−45、PB0−41、PB1−40、・・・、PB0−47、PB1−46、PB2−45、PB3−44の順にデータ入力が行われる。
また、図5において、中段は、第1のECCパリティ生成部3における第1のECCパリティの生成タイミングを表しており、中段の各ブロック(図中のブロック0〜1)は上述の128KBのデータ格納部に対応する32KBの第1のECCパリティ格納部を示す。図5に示すように、第1のECCパリティの生成は、32KBのパリティブロック単位で行われる。すなわち、パリティブロックの全てのページについて第1のECCパリティを生成した後で、次のパリティブロックに対して第1のECCパリティを生成する。
本実施の形態では、図4に示される物理ブロックPB4を構成する8つのページ(32K)について、それぞれ第1のECCパリティを生成した後で、次の物理ブロックPB4の各8つのページについて第1のECCパリティを生成する。より具体的には、32KBの第1のECCパリティは、図4の物理ブロックPB4において、符号44、45、46、47、40、41、42、43の順番に4KB単位で生成される。
なお、同図に示すように、データ格納部へ1ブロック分の128KBのデータの入力が完了した後に、そのデータに対する第1のECCパリティが生成される。
また、図5において、下段は、ページシャフリング部2のデータ出力のタイミングを表しており、下段の各ブロック(図中のブロック0〜1)は、ユーザデータと第1のECCパリティとを合わせた160KBであり、データ格納部は同図の入力順に出力され、第1のECCパリティは生成順に出力される。同図に示すように、第1のECCパリティが生成されるたびに、ユーザデータと第1のECCパリティとを合わせたデータが出力される。
このように、ページシャフリング部2は、第1のECCパリティ生成部3とともに、ブロック単位でパイプライン制御されている。
このようにして出力されたページシャフリング部2からの出力データは、第2のECC生成部4a〜4eに入力する。
第2のECC生成部4a〜4eでは、ページシャフリング部2から入力される4Kバイトのデータに対して、フラッシュメモリのページ毎に第2のECCパリティを付加する。すなわち、第2のECC生成部4a〜4eによって、ページシャフリング部2によってリードされたユーザデータと第1のECCパリティとからなる5ページ分のデータに対して、ページ毎に第2のECCパリティを付加して第2のECC符号を生成する。
なお、ホスト機器側からのアクセスの単位がセクタ(=512バイト)であることを考慮すれば、512バイトに対して16バイトのパリティを付加したリードソロモン符号を8系統構成すれば、512バイト当たり、最大8バイトのエラーを訂正することができる。また、第2のECC生成部4a〜4eが5系統実装されているので、各フラッシュメモリのライトページ順に対応するデータを出力してもよいことはいうまでもない。また、上記のように、メモリを3面で動作させることにより、連続ライトにおける転送レートの劣化を防止することができる。
データ書き込み部5a〜5eでは、第2のECC生成部4a〜4eによって生成された第2のECC符号を構成する第2のECCパリティ付データを、フラッシュメモリ6a〜6eの各ページに記録する。本実施の形態において、データ書き込み部5a〜5eは5並列に実装されており、5個のフラッシュメモリ6a〜6eの夫々1つの物理ブロックの各ページに夫々のデータを書き込む。
以上により、本実施の形態に係る半導体記録装置100における書き込み動作が完了する。なお、本実施の形態では、5個の物理ブロックを一つのグループとし、一つのグループからなる構成について説明したが、より多数の物理ブロックからなる構成において、その物理ブロックを2つ以上のグループとして関連づける形態(例えば10個の物理ブロックからなる構成において、5個のブロックからなる2つのグループとする形態)であってもよい。
(読み出し動作)
次に、実施の形態1に係る半導体記録装置100からデータを読み出す際の読み出し動作について、図1及び図4を参照しながら説明する。
まず、図1に示される外部インターフェイス部1によって、ホスト機器からリードコマンドを受信する。リードコマンドには、読み出すデータが記録された論理ブロックが指定されている。
データ読み出し部7a〜7eによって、読み出しコマンドに指定された論理ブロックに対応する各フラッシュメモリ6a〜6eの各ページから所定のデータを読み出す。本実施の形態では、フラッシュメモリ6a〜6eに記録された第2のECC符号を構成するユーザデータ及び第2のECCパリティを読み出す。
第2のECC訂正部8a〜8eによって、読み出された第2のECC符号に基づいて、エラーがあれば誤り訂正を行って、訂正されたデータと訂正の可否を示すエラーフラグとがページデシャフリング部9に出力される。
例えば、第2のECC訂正部8a〜8eは、読み出されたユーザデータと第2のECCパリティとで構成された528バイト(=512+16)で表現される528次の受信符号多項式U(X)において、エラー検出及びエラー訂正を実施する。16バイトのパリティが付加されたリードソロモン符号においては、エラーが8バイト以下の場合はエラー訂正することができるが、8バイトを超える場合はエラー訂正することができない。よって、第2のECC訂正部8a〜8eでは、訂正されたデータと訂正の可否を示すエラーフラグとをページデシャフリング部9に出力する。なお、訂正が否の場合、当該セクタのエラーフラグを「1」とする。
ページデシャフリング部9は、第2のECC訂正部8a〜8eから出力される訂正の可否を示すエラーフラグにより、その処理を切り替える。
出力すべきセクタのエラーフラグが「0」の場合は、訂正可であったデータはそのまま外部インターフェイス部1に転送されて、外部インターフェイス部1を介して、当該セクタにかかるデータが出力される。
一方、出力すべきセクタのエラーフラグが「1」の場合は、エラーフラグが「1」のセクタはリードせずに、当該セクタと第1のECC符号を構成しているエラーフラグが「0」の他の4個のセクタを、フラッシュメモリ6a〜6eからリードする。
例えば、図4において、PB0−40のページにおける最初の512バイトのエラーフラグが「1」であった場合には、以下のステップで処理を実施する。
(Step1)
ページデシャフリング部9によって、エラーフラグが「1」であったセクタと第1のECC符号を構成している他の4個のセクタとが記録されたページの位置、すなわち物理ブロックのページ番号を計算する。
図1の場合、第1のECC符号を構成している各物理ブロックのページ番号は、物理ブロックPB0のページ番号PB0Xにより以下のように計算できる。
PB1のページ番号=(PB0X+1)%8
PB2のページ番号=(PB0X+2)%8
PB3のページ番号=(PB0X+3)%8
PB4のページ番号=(PB0X+4)%8
PB0−40のページは、物理ブロックPB0の最初のページ(ページ0)なので、上式のPB0Xに0を代入して、各物理ブロックのページ番号を求める。ここで、上記式において、「%」は、剰余(除算の余り)を求める演算子を表す。例えば、PB0Xが0の場合は、上記のPB1のページ番号は、(0+1)%8=1、すなわち、ページ1となる。同様に、PB2のページ番号はページ2、PB3のページ番号はページ3、PB4のページ番号はページ4となる。
なお、本実施形態では、ブロック番号が1ずつ増加するに従ってページ番号も1ずつ増加するように設定しているが、これに限らない。
(Step2)
Step1で求めたページのデータをデータ読み出し部7a〜7eによってリードし、第2のECC訂正部8a〜8eによってエラー訂正を行う。
(Step3)
第2のECC訂正部8a〜8eにおいて、エラーフラグ「1」が1個以上存在すれば、ホスト機器に訂正不可の割り込みを返す。エラーが無ければStep4に進む。
(Step4)
エラーフラグが「0」であった4ページのデータを第1のECC訂正部10に入力し、エラーが検出されたページのデータを訂正する。
(Step5)
エラー訂正されたデータは、外部インターフェイス部1を介して出力される。
これにより、本実施の形態に係る半導体記録装置100における読み出し動作が完了する。
以上、実施の形態1に係る半導体記録装置100及び半導体記録装置100の制御方法によれば、フラッシュメモリにおいて、1個以上のフラッシュメモリの複数の物理ブロックを関連付け、関連付けられた複数の物理ブロックを共通のグループとして取り扱い、ユーザデータに基づいてパリティデータを生成してECC符号を生成し、共通のグループの同一ページ番号を有するページにライトする各ECC符号のシンボル数を最小限に抑えるべく、ECC符号のシンボルを共通のグループにおける異なるページ番号を有するページに割り当てて、各ECC符号を構成するユーザデータ及びECCパリティを共通のグループにおける異なるページ番号のページにライトする。
これにより、ページ番号によってデータ保持特性が異なっていたとしても、異なるページ番号のページに分散させて第1のECC符号を構成するデータをライトすることができるので、半導体記録装置全体としてのデータ保持特性を改善することができる。例えば、NAND型フラッシュメモリのようにページ番号が大きいページほどデータ保持特性が劣化するといった構成の場合であっても、データ保持特性の良くないページ番号の大きいページを分散する形式で第1のECC符号を構成するユーザデータ及びECCパリティをライトすることができるので、ページ番号の大きいページで発生したリードエラーを、比較的データ保持特性の良好なページ番号の小さなページのデータによってエラー訂正をすることができる。これにより、データ保持特性が改善した半導体記録装置を提供することができる。
また、本実施の形態では、同じ符号が付された第1のECC符合のシンボルが同じページ番号のページに割り当てられないように分散されている。これにより、さらに、半導体記録装置のデータ保持特性を均一化することができるので、データ保持特性を一層改善することができる。
なお、本実施の形態では、5チップのフラッシュメモリにおいて、各チップの物理ブロックの異なるページ番号のページにライトされるデータに基づいて第1のECC符号を生成したが、これに限らない。例えば、1チップのフラッシュメモリが複数の物理ブロックを有する場合は、当該1チップのフラッシュメモリから複数の物理ブロックを抽出して、各物理ブロックの異なるページ番号のページにライトするデータに基づいて第1のECC符号を生成することができる。
また、本実施の形態では、固定のフラッシュメモリのチップをパリティデータ用として割り当てたが、制御回路によって位置を特定できるのであれば、パリティデータ用の物理ブロック及びページは可変するように構成しても構わない。
また、本実施の形態では、ページシャフリング部2のメモリにデータをライトした後に当該データをリードして第1のECCパリティを付加して第1のECC符号を生成したが、入力されるデータに対して第1のECC符号を生成した後にメモリにライトし、第1のECC符号の構成バイトが、フラッシュメモリの異なるページにライトされるように、ページシャフリング部2のメモリを制御してもよい。
また、本実施の形態では、第1のECC符号の構成バイトを、異なる物理ブロックに1ページずつオフセットを与えてライトしたが、これに限定されるものではない。
(実施の形態1の変形例1)
次に、実施の形態1の変形例1に係る半導体記録装置について、図6を用いて説明する。図6は、実施の形態1の変形例1に係る半導体記録装置において、物理ブロックのページと第1のECC符号(ユーザデータ及びパリティ)との関係を示す図である。なお。図6では、8バイトのユーザデータに2バイトのパリティを付加して生成した10バイトのECC符号を、5個の物理ブロックにライトした場合のページと各ECC符号との関係を示している。
上述の実施の形態1に係る半導体記録装置では、同じ符号が付された第1のECC符号を構成するパリティは1バイトとしたが、2バイト以上のパリティをユーザデータに付加してもよい。例えば、第1のECC符号のバイト数が大きく、複数のECCパリティが付加されるような場合である。
本変形例に係る半導体記録装置では、8バイトのユーザデータに2バイトのECCパリティが付加され、10バイトのECC符号が生成される場合について説明する。
図6において、物理ブロックPB0、PB1、PB2、PB3及びPB4は、5個のフラッシュメモリ5a〜5e夫々の物理ブロックである。なお、4つの物理ブロックPB0〜PB3は、ユーザデータに対応するユーザデータブロックであり、物理ブロックPB4は、パリティデータ専用のパリティブロックである。
また、各物理ブロックPB0〜PB4は、8ページで構成されており、上段から順番にページ0〜ページ7を示している。なお、本実施の形態においても、フラッシュメモリ6a〜6eは、NAND型フラッシュメモリである。
各物理ブロックPB0〜PB4のページに付された符号40〜43は、第1のECC符号を識別するための識別符号であり、同一番号の符号が付されたデータ(ユーザデータ及びECCパリティデータ)によって1つの第1のECC符号が構成されている。
図6に示すように、本変形例では、1つのパリティブロック(物理ブロックPB4)に対して2個のECCパリティをライトする二重のECCパリティである。
そして、各ECC符号を構成するデータがライトされるページ番号に着目すると、符号40が付されたECC符号の10個のシンボルについては、ページ0とページ4とには夫々2シンボル割り当てられ、他の6つのページには夫々1シンボルずつ割り当てられている。
また、符号41が付されたECC符号の10個のシンボルについては、ページ1とページ5とには夫々2シンボル割り当てられ、他の6つのページには夫々1シンボルずつ割り当てられている。
同様に、符号42が付されたECC符号の10個のシンボルについては、ページ2とページ6とには夫々2シンボルずつ割り当てられ、他の6つのページには夫々1シンボルずつ割り当てられている。符号43が付されたECC符号の10個のシンボルについては、ページ3とページ7とには、夫々2シンボル割り当てられ、他の6つのページには夫々1シンボルずつ割り当てられている。
このように、同一ページ番号のページに割り当てるECC符号のシンボル数を、ECCパリティ数以下にすることにより、物理ブロックの最終ページなどの特定ページ番号のリテンション特性が劣化した場合であっても、訂正範囲内に抑えることが可能となり、データ保持特性が改善した半導体記録装置を提供することができる。
また、本実施の形態において、最終ページ番号のページに割り当てるECC符号のシンボル数を、ECCパリティ数以下にすることが好ましい。NAND型フラッシュメモリでは、ページ番号が大きいほどデータ保持特性の劣化する傾向があり、最終ページ番号のページが最もデータ保持特性が劣化している可能性が高い。従って、最終ページ番号のページに割り当てるECC符号のシンボル数をECCパリティ数以下にすることにより、半導体記録装置におけるデータ保持特性をさらに改善することができる。
なお、本変形例では、全ページ均等となるようにECC符号のシンボルを割り当てたが、これに限らない。例えば、リテンション特性の悪いページに配されるECC符号のシンボル数はECCパリティ数以下にし、リテンション特性が良好なページには多くのシンボルを割り当ててもよい。
(実施の形態1の変形例2)
次に、実施の形態1の変形例2に係る半導体記録装置について、図7を用いて説明する。図7は、実施の形態1の変形例2に係る半導体記録装置において、物理ブロックのページと第1のECC符号(ユーザデータ及びパリティ)との関係を示す図である。
同一のメモリセルに2ビット以上のデータをライトするNAND型フラッシュメモリにおいては、フラッシュメモリを構成する複数のメモリセルに対して選択又は非選択を行うための複数のワード線を備え、複数のワード線のそれぞれは複数のページに接続されている。このように構成されるNAND型フラッシュメモリでは、同一のワード線に繋がれた複数ページ分を同一のデータ保持特性と見なして、第1のECC符号のデータを物理ブロックのワード線番号が異なるページに分散してライトしてもよい。
すなわち、上述の実施の形態1及びその変形例1では、ページ単位で第1のECC符号のシンボルを割り当てたが、本実施の形態では、ワード線単位で第1のECC符号のシンボルを割り当てる。
図7では、5個のフラッシュメモリ6a〜6eに記録される場合における並列の物理ブロックと第1のECC符号との関係を示している。図7において、物理ブロックPB0、PB1、PB2、PB3及びPB4は、5個のフラッシュメモリ6a〜6e夫々の物理ブロックである。そして、各物理ブロックは、8本のワード線0〜7からなる16ページにより構成されており、上段から順番にページ0〜ページ15を示している。そして、上段から順に連続する2ページは同一のワード線番号のワード線に繋がれている。すなわち、ワード線0はページ0とページ1とに繋がれており、ワード線1はページ2とページ3と繋がれており、以下同様に、ワード線2〜7は、2ページずつ繋がれている。
各物理ブロックPB0〜PB4のページに付された符号40〜4Fは、第1のECC符号を識別するための識別符号であり、同一番号の符号が付された5つのページ分のデータによって1つの第1のECC符号が構成されている。
図7に示すように、同一のECC符号のシンボルが、異なるワード線に繋がれたページに割り当てられているので、メモリセル単位でのデータ保持特性によるリードエラーを第1のECC符号により救済することができる。
以上、実施の形態1の変形例2に係る半導体記録装置によれば、フラッシュメモリにおいて、1個以上のフラッシュメモリの複数の物理ブロックを関連付け、関連付けられた複数の物理ブロックを共通のグループとして取り扱い、ユーザデータからパリティデータを生成してECC符号を生成し、ECC符号のシンボルを共通のグループにおける異なるページ番号を有するページに割り当てて、各ECC符号を構成するユーザデータを共通のグループのワード線番号の異なるページ番号のページにライトする。
これにより、多値NAND型フラッシュメモリのように、ソース線から離れたワード線番号の大きいワード線におけるページほどデータ保持特性が劣化するといった構成の場合であっても、データ保持特性の良くないワード線番号の大きいページを分散する形式で第1のECC符号を構成するデータをライトすることができるので、ワード線番号の大きいページで発生したリードエラーを、比較的データ保持特性の良好なワード線番号の小さなページのデータによってエラー訂正をすることができる。これにより、データ保持特性が改善した半導体記録装置を提供することができる。
また、本実施の形態では、同じ符号が付された第1のECC符合のシンボルが同じページ番号のページに割り当てられないようにも分散されている。これにより、さらに、半導体記録装置のデータ保持特性を均一化することができるので、データ保持特性を一層改善することができる。
(実施の形態2)
次に、実施の形態2に係る半導体記録装置について、図8を用いて説明する。図8は、実施の形態2に係る半導体記録装置において、物理ブロックのページと第1のECC符号(ユーザデータ及びパリティ)との関係を示す図である。なお、図8では、第1のECC符号を構成するデータを分散する範囲(第1のECC符号のシンボルを割り当てる範囲)を物理ブロックの半分(4ページ間)にした場合を示している。
実施の形態1に係る半導体記録装置では、第1のECC符号のシンボルを物理ブロック全体(ページ0〜ページ7)に分散するように割り当てるため、ページシャフリング部2のメモリ量が大きくなるといった課題が生じる。実施の形態2に係る半導体記録装置では、第1のECC符号のシンボルを割り当てる範囲を限定することで上記課題に対応する。
なお、本実施の形態における半導体記録装置の構成は、実施の形態1と同様であるので、その説明は省略する。
まず、図8に示すように、各物理ブロックPB0〜PB4は、実施の形態1と同様に、8ページで構成されており、上段から順番にページ0〜ページ7となっている。
各物理ブロックPB0〜PB4のページに付された符号60〜67は、第1のECC符号を識別するための識別符号であり、同一番号の符号が付された5個のページ分のデータによって第1のECC符号が構成されている。
また、複数の物理ブロックは、第1のECC符号に対応する共通のグループに関連付けられており、ページ番号に従って複数の区間に分割されている。図8に示すように、本実施の形態において、物理ブロックPB0〜PB4は、ページ番号がページ0からページ3までの範囲である上段側の第1の区分と、ページ番号がページ4からページ7までの範囲である下段側の第2の区分とに、半分に2分割されている。なお、物理ブロックは、少なくとも2つの区間に分割されていればよい。
そして、本実施の形態に係る半導体記録装置では、ページシャフリング部2によって、第1のECC符号を構成するユーザデータ及び第1のECCパリティが同じ区間内のページにライトされるように、同一番号の符号が付された第1のECC符号のシンボルが、同一区間内のページに割り当てられる。
具体的には、図8に示すように、第1のECC符号60〜63で構成されるデータ(ユーザデータ及び第1のECCパリティ)は、上段側の上記第1の区分、すなわち、各物理ブロックのページ0〜ページ3に分散するように割り当てられてライトされる。また、第1のECC符号64〜67で構成されるデータは、下段側の上記第2の区分、すなわち、各物理ブロックのページ4〜ページ7に分散するように割り当てられてライトされる。
このときのページシャフリング部2の動作について、図9を用いて説明する。図9は、実施の形態2に係る半導体記録装置のライト動作におけるページシャフリング部2の入出力を示すタイミングチャートである。なお、図9は、図8に示すように、第1のECC符号を構成するデータを分散する範囲を物理ブロックの半分(4ページ間)にした場合のタイミングチャートである。従って、図9におけるブロックサイズは、図5におけるブロックサイズの半分になっている。すなわち、フラッシュメモリに対応する物理ブロックにおける各ページに記録されるデータを4KBとすると、ページシャフリング部2は、80KB(=4KB*4*5)のメモリ3面とその制御回路とによって構成される。各メモリ面は、64KB(=4KB*4*4)のデータ格納部と、16KB(=4KB*4)の第1のECCパリティ格納部とから構成される。
図9において、上段は、ページシャフリング部2のデータ入力のタイミングを表しており、各ブロック(図中のブロック00〜ブロック21)は64KB(=4KB*4*4)のデータ格納部を示す。また、各ブロックは、分割された上記区間に含まれるページ分であり、本実施の形態において、各ブロックは4ページ分である。すなわち、ブロック00は、上段側の区間であるページ0からページ3までの4ページ分であり、ブロック01は、下段側の区間であるページ4からページ7までの4ページ分である。同様に、ブロック10及びブロック20は、上段側の区間の4ページ分であり、ブロック11及びブロック21は、下段側の区間の4ページ分である。
ページシャフリング部2のデータ入力は、64KBの各ブロック単位で行われる。すなわち、上段側の区間と下段側の区間とで区間単位で交互にデータ入力が行われ、上段側の区間における全てのユーザデータブロックの全ページについてのデータ入力が完了した後で、下段側の区間におけるデータ入力が開始する。
本実施の形態では、図9に示すように、物理ブロックPB0〜PB3の上段側の4つのページのデータ入力が完了した後で、同じ物理ブロックPB0〜PB3の下段側の4つのページのデータ入力が開始する。その後、再び、物理ブロックPB0〜PB3の上段側の4つのページのデータ入力が開始し、以降同様の処理が繰り返される。より具体的には、論理アドレス順に、最初の64KBの入力順は、PB0−60、PB1−63、PB2−62、PB3−61、PB0−61、PB1−60、・・・、PB2−61、PB3−60となり、次の64KBの入力順は、PB0−64、PB1−67、PB2−66、PB3−65、PB0−65、PB1−64、・・・、PB2−65、PB3−64の順にデータ入力が行われる。
また、図9において、中段は、第1のECCパリティ生成部3における第1のECCパリティの生成タイミングを表しており、中段の各ブロック(図中のブロック00〜20)は上記64KBのデータ格納部に対応する16KBの第1のECCパリティ格納部を示す。図9に示すように、第1のECCパリティの生成は、パリティブロックにおける分割された区間単位で行われる。本実施の形態では、上段側の区間と下段側の区間とに2分割されているので、上段側の区間におけるページについて第1のECCパリティを生成した後で、下段側の区間におけるページについて第1のECCパリティを生成する。
本実施の形態では、図8に示される物理ブロックPB4の上段側の4つのページについて第1のECCパリティを生成した後で、同じ物理ブロックPB4の下段側の4つのページについて第1のECCパリティを生成する。より具体的には、最初の64KBのデータに対する第1のECCパリティは、図8の物理ブロックPB4において、符号60、61、62、63の順番に4KB単位で生成され、次の64KBのデータに対する第1のECCパリティは、64、65、66、67の順番に4KB単位で生成される。
なお、同図に示すように、データ格納部へ1ブロック分の64KBのデータの入力が完了した後に、そのデータに対する第1のECCパリティが生成される。
また、図9において、下段は、ページシャフリング部2のデータ出力のタイミングを表しており、下段の各ブロック(図中のブロック00〜20)は、ユーザデータと第1のECCパリティとを合わせた80KBであり、データ格納部は同図の入力順に出力され、第1のECCパリティは生成順に出力される。同図に示すように、第1のECCパリティが生成されるたびに、ユーザデータと第1のECCパリティとを合わせたデータが出力される。
このように、ページシャフリング部2は、第1のECCパリティ生成部3とともに、ブロック単位でパイプライン制御されている。
なお、以下の動作は、実施の形態1と同様に行われる。
以上、実施の形態2に係る半導体記録装置によれば、第1のECC符号のシンボルが割り当てられる範囲が複数に分割されているので、実装するメモリ容量を削減することができる。
さらに、第1のECC符号のシンボルが割り当てられる範囲を複数に分割することで、書き込み単位を小さくすることができる。これにより、処理速度を向上させることができる。
(実施の形態2の変形例1)
次に、実施の形態2の変形例1に係る半導体記録装置について、図10を用いて説明する。図10は、実施の形態2の変形例1に係る半導体記録装置において、物理ブロックのページと第1のECC符号(ユーザデータ及びパリティ)との関係を示す図である。
上述の実施の形態2に係る半導体記録装置では、図8において、第1のECC符号67を構成するデータがライトされる各物理ブロックのページ番号に着目すると、データがライトされるページには、データ保持特性の劣化が一番厳しい物理ブロックの最終ページであるページ7が2つ含まれている。同様に、第1のECC符号66に着目すると、データがライトされるページとしては、ページ7は1つであるが、ページ7の次にデータ保持特性の劣化が厳しいページ6が2つ含まれている。よって、図8に示されるような第1のECC符号のシンボルの分散手法(割り当て方法)では、データ保持特性の改善効果が少ない。
そこで、本変形例では、図8に示す実施の形態2に係る半導体記録装置よりもデータ保持特性を改善することができるような、第1のECC符号のシンボルの分散手法について、図10を用いて説明する。
図10に示すように、各物理ブロックPB0〜PB4は、8ページで構成されており、上段から順番にページ0〜ページ7となっている。
各物理ブロックPB0〜PB4のページに付された符号60〜67は、第1のECC符号を識別するための識別符号であり、同一番号の符号が付された5個のページ分のデータによって第1のECC符号が構成されている。
また、複数の物理ブロックは、実施の形態2と同様に、第1のECC符号に対応する共通のグループとして関連付けられており、ページ番号に従って複数の区間に分割されている。図10では、図8と同様にして、物理ブロックPB0〜PB4は、ページ番号がページ0からページ3までの範囲である上段側の第1の区分と、ページ番号がページ4からページ7までの範囲である下段側の第2の区分とに、半分に2分割されている。
そして、本変形例に係る半導体記録装置では、ページシャフリング部2によって、第1のECC符号を構成するユーザデータと第1のECCパリティとが異なる区間内のページにライトされるように、同一番号の符号が付された第1のECC符号のシンボルが割り当てられる。また、同一番号の符号が付された第1のECC符号においては、当該第1のECC符号を構成するユーザデータ同士は同一区間内のページに割り当てられる。また、当該第1のECC符号を構成する第1のECCパリティ同士も同一区間内のページに割り当てられる。
具体的には、図10に示すように、第1のECC符号60〜63で構成されるデータのうちユーザデータは、第1のECC符号60〜63のシンボルが上段側の上記第1の区分、すなわち、各物理ブロックのページ0〜ページ3に分散するようにしてライトされる。また、第1のECC符号64〜67で構成されるデータのうちユーザデータは、第1のECC符号64〜67のシンボルが下段側の上記第2の区分、すなわち、各物理ブロックのページ4〜ページ7に分散するようにしてライトされる。
一方、第1のECC符号60〜63を構成するデータのうち第1のECCパリティは、第1のECC符号60〜63のシンボルが下段側の上記第2の区分、すなわち、各物理ブロックのページ4〜ページ7に分散するようにしてライトされる。また、第1のECC符号64〜67を構成するデータのうち第1のECCパリティは、第1のECC符号64〜67のシンボルが上段側の上記第1の区分、すなわち、各物理ブロックのページ0〜ページ3に分散するようにしてライトされる。
このときのページシャフリング部2の動作について、図11を用いて説明する。図11は、実施の形態2の変形例1に係る半導体記録装置のライト動作におけるページシャフリング部2の入出力を示すタイミングチャートである。なお、図11は、図10に示すように、第1のECC符号を構成するデータを分散する範囲を物理ブロックの半分(4ページ間)にした場合のタイミングチャートである。
従って、図11におけるブロックサイズは、図5におけるブロックサイズの半分になっており、フラッシュメモリに対応する物理ブロックにおける各ページに記録されるデータを4KBとすると、ページシャフリング部2のメモリは、64KB(=4KB*4*4)のデータ格納部3面と、16KB(=4KB*4)の第1のECCパリティ格納部4面とから構成される。
図11において、上段は、ページシャフリング部2のデータ入力のタイミングを表しており、各ブロック(図中のブロック00〜ブロック21)は64KB(=4KB*4*4)のデータ格納部を示す。また、各ブロックは、実施の形態2と同様に、分割された上記区間に含まれるページ分であり、本変形例において、図中上段における各ブロックは、4ページ分である。すなわち、ブロック00、10、20は、上段側の区間であるページ0からページ3までの4ページ分であり、ブロック01、11、21は、下段側の区間であるページ4からページ7までの4ページ分である。
ページシャフリング部2のデータ入力は、64KBの各ブロック単位で行われ、実施の形態2と同様に、上段側の区間と下段側の区間とで区間単位で交互にデータ入力が行われ、上段側の区間における全てのユーザデータブロックの全ページについてのデータ入力が完了した後で、下段側の区間におけるデータ入力が開始する。
より具体的には、論理アドレス順に、最初の64KBの入力順は、実施の形態2と同様に、PB0−60、PB1−63、PB2−62、PB3−61、PB0−61、PB1−60、・・・、PB2−61、PB3−60となり、次の64KBの入力順は、PB0−64、PB1−67、PB2−66、PB3−65、PB0−65、PB1−64、・・・、PB2−65、PB3−64の順にデータ入力が行われる。
また、図11において、2段目は、第1のECCパリティ生成部3における第1のECCパリティの生成タイミングを表しており、2段目の各ブロック(図中のブロック00〜20)は上記64KBのデータ格納部に対応する16KBの第1のECCパリティ格納部を示す。図11に示すように、第1のECCパリティの生成は、パリティブロックにおける分割された区間単位で行われるとともに、ユーザデータとは異なる区間で行われる。本実施の形態では、上段側の区間と下段側の区間とに2分割されているので、まず、下段側の区間におけるページについて第1のECCパリティを生成した後で、次に、上段側の区間におけるページについて第1のECCパリティを生成する。
本実施の形態では、図11に示される物理ブロックPB4の下段側の4つのページについて第1のECCパリティを生成した後で、同じ物理ブロックPB4の上段側の4つのページについて第1のECCパリティを生成する。より具体的には、最初の64KBのデータに対する第1のECCパリティは、図10の物理ブロックPB4において、下段側の符号60、61、62、63の順番に4KB単位で生成され、次の64KBのデータに対する第1のECCパリティは、上段側の符号64、65、66、67の順番に4KB単位で生成される。
なお、同図に示すように、データ格納部へ1ブロック分の64KBのデータの入力が完了した後に、そのデータに対する第1のECCパリティが生成される。
また、図11において、3段目は、ユーザデータ格納部のデータ出力のタイミングを表しており、3段目の各ブロック(図中のブロック00〜20)は、ユーザデータ格納部の64KBであり、ユーザデータ格納部は、同図の入力順に出力される。
また、図11において、最下段は、第1のECCパリティ格納部のデータ出力のタイミングを表しており、第1のECCパリティの生成順序とは異なり、64、65、66、67、60、61、62、63の順に出力される。
このように、第1のECCパリティ格納部の各物理ブロックへのページアライメントにオフセットを付加することができる。これにより、データ保持特性の劣化が厳しい物理ブロックの最終ページ付近のページにライトされる第1のECC符号を構成するデータのバイト数を制限することができる。
よって、実装するメモリ容量をさらに削減することができ、かつ第1のECC符号によるデータ保持特性の改善効果も十分満足することができる。
なお、図10では、第1のECC符号を構成するバイトにおいて、同一ページ番号にアサインされるデータが1バイト以下になる場合について説明したが、第1のECC符号のバイト数が大きく複数のパリティが付加されている場合においては、同一ページ番号にアサインされるデータは複数バイトあっても良いことはいうまでもない。
また、本実施の形態で述べた手法を、実施の形態1の図6で示したワード線単位の制御としても同様の効果が得られることはいうまでもない。
以上、実施の形態2の変形例1に係る半導体記録装置によれば、フラッシュメモリにおいて、1個以上のフラッシュメモリの複数の物理ブロックを関連付け、関連付けられた複数の物理ブロックを共通のグループとして取り扱い、上記共通のグループにおいて、ページ番号によって、物理ブロックを2個以上の区間に分割し、ユーザデータからパリティデータを生成してECC符号を生成し、ECC符号のシンボルを分割された同一区間における異なるページ番号を有するページに割り当てて、ECC符号を構成する一部のデータを共通のグループの異なる区間のページ番号にライトする。
これにより、例えば、ECCパリティのみを物理ブロックの異なる区間にライトすれば、実装するメモリ容量を節約することができるとともに、データ保持特性が劣化する可能性が高いページ番号の大きいページを分散させてデータをライトすることができる。従って、第1のECC符号によるデータ保持特性の改善効果も十分満足する半導体記録装置の提供が可能となる。
以上、実施の形態に係る半導体記録装置及び半導体記録装置の制御方法について、実施の形態及びその変形例に基づいて説明したが、本発明は、これらの実施の形態及び変形例に限定されるものではない。
例えば、上記実施の形態及びその変形例に係る半導体記録装置の制御方法については、コンピュータによって実行させるコンピュータプログラムによって構成することもできる。また、当該半導体記録装置の制御方法のコンピュータプログラムについては、コンピュータによって読み取り可能な記録媒体に記録されていてもよい。記憶媒体としては、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等があり、例えば、フレキシブルディスク、ハードディスク、CD−ROM、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)がある。
その他、本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、または異なる実施の形態あるいは変形例における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
本発明に係る半導体記録装置は、メモリカードなどの半導体記録装置等に利用することができる。特に、本発明に係る半導体記録装置は、上述のように、内部の不揮発性メモリの物理ブロックを構成するページのデータ保持特性のバラツキに対応するものであり、不揮発性メモリのページに跨るようにECC符号を生成してライトすることで、データ保持特性のページばらつきを抑制することができる。従って、本発明に係る半導体記録装置は、データ保持特性が良好でない多値フラッシュメモリを使用した半導体記録装置又は書き換え回数を頻繁に実施する業務用映像記録分野における半導体記録装置として広く利用することができる。
1 外部インターフェイス部
2 ページシャフリング部
3 第1のECC生成部
4a〜4e 第2のECC生成部
5a〜5e データ書き込み部
6a〜6e フラッシュメモリ
7a〜7e データ読み出し部
8a〜8e 第2のECC訂正部
9 ページデシャフリング部
10 第1のECC訂正部

Claims (18)

  1. 複数のページによって構成される物理ブロックを複数有する少なくとも一つの不揮発性メモリと、
    前記不揮発性メモリに記録するデータを受け付けるインターフェイス部と、
    前記データにパリティデータを付加し、ECC符号を生成するECC生成部と、
    前記不揮発性メモリのページに前記ECC符号に基づくデータを記録する記録部と、
    前記ページに対する前記ECC符号のシンボルの割り当てを制御する制御部と、を備え、
    複数の前記物理ブロックは、共通のグループとして関連付けられており、
    前記制御部は、前記ECC符号のシンボルが前記グループを構成する物理ブロックにおける少なくとも2つのページ番号を有するページに割り当てられるように、前記ECC符号のシンボルの割り当てを制御する
    半導体記録装置。
  2. 前記制御部は、
    前記グループを構成する物理ブロックにおける同一ページ番号を有するページに割り当てられる前記ECC符号のシンボルの数が最も少なくなるように、前記ECC符号のシンボルの割り当てを制御する
    請求項1に記載の半導体記録装置。
  3. 前記制御部は、
    同一の前記ECC符号のシンボルが同一ページ番号に割り当てられないように、前記ECC符号のシンボルの割り当てを制御する
    請求項2に記載の半導体記録装置。
  4. 前記制御部は、
    前記グループを構成する物理ブロックにおける同一ページ番号を有するページに割り当てられる前記ECC符号のシンボルの数が、前記ECC符号を構成するパリティデータの数以下となるように、前記ECC符号のシンボルの割り当てを制御する
    請求項1に記載の半導体記録装置。
  5. 前記制御部は、
    前記グループを構成する物理ブロックにおける最終ページ番号を有するページに割り当てられる前記ECC符号のシンボルの数が、前記ECC符号を構成するパリティデータの数以下となるように、前記ECC符号のシンボルの割り当てを制御する
    請求項1に記載の半導体記録装置。
  6. 前記制御部は、
    ページ番号に従い前記グループを少なくとも二つの区間に分割し、前記ECC符号のシンボルが一つの前記区間内のページに割り当てられるように、前記ECC符号のシンボルの割り当てを制御する
    請求項1に記載の半導体記録装置。
  7. 前記制御部は、
    ページ番号に従い前記グループを少なくとも二つの区間に分割し、前記ECC符号を構成するユーザデータとパリティデータとが異なる区間のページに記録されるように、前記ECC符号のシンボルの割り当てを制御する
    請求項1に記載の半導体記録装置。
  8. さらに、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、
    前記複数のワード線のそれぞれは、複数の前記ページに接続されており、
    前記制御部は、
    前記グループの同一ワード線番号を有するページに割り当てられる前記ECC符号のシンボル数が最も少なくなるように、前記ECC符号のシンボルの割り当てを制御する
    請求項1に記載の半導体記録装置。
  9. 前記制御部は、
    同一の前記ECC符号のシンボルが同一ワード線番号に割り当てられないように、前記ECC符号のシンボルの割り当てを制御する
    請求項8に記載の半導体記録装置。
  10. 前記制御部は、
    同一の前記ECC符号のシンボルが同一ページ番号に割り当てられないように、前記ECC符号のシンボルの割り当てを制御する
    請求項9に記載の半導体記録装置。
  11. さらに、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、
    前記複数のワード線のそれぞれは、複数の前記ページに接続されており、
    前記制御部は、
    前記グループの同一ワード線番号を有するページに割り当てられる前記ECC符号のシンボル数が、前記ECC符号を構成するパリティデータの数以下となるように、前記ECC符号のシンボルの割り当てを制御する
    請求項1に記載の半導体記録装置。
  12. さらに、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、
    前記複数のワード線のそれぞれは、複数の前記ページに接続されており、
    前記制御部は、
    前記グループの最終ワード線番号を有するページに割り当てられる前記ECC符号のシンボル数が、前記ECC符号を構成するパリティデータの数以下となるように、前記ECC符号のシンボルの割り当てを制御する
    請求項1に記載の半導体記録装置。
  13. さらに、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、
    前記複数のワード線のそれぞれは、複数の前記ページに接続されており、
    前記制御部は、
    ワード線番号に従い前記グループを少なくとも二つの区間に分割し、前記ECC符号のシンボルが一つの前記区間内のページに割り当てられるように、前記ECC符号のシンボルの割り当てを制御する
    請求項1に記載の半導体記録装置。
  14. さらに、前記不揮発性メモリを構成する複数のメモリセルの選択又は非選択を行うための複数のワード線を備え、
    前記複数のワード線のそれぞれは、複数の前記ページに接続されており、
    前記制御部は、
    ワード線番号に従い前記グループを少なくとも二つの区間に分割し、前記ECC符号を構成するユーザデータとパリティデータとが異なる区間のページに記録されるように、前記ECC符号のシンボルの割り当てを制御する
    請求項1に記載の半導体記録装置。
  15. 前記ECC符号を構成するユーザデータ及びパリティデータに第2のECCパリティデータを付加し、第2のECC符号を生成する第2のECC生成部と、
    前記不揮発性メモリに記録された前記第2のECC符号を読み出す読み出し部と、
    前記読み出し部で読み出した前記第2のECC符号を基にエラー訂正を行う第2のECC訂正部と、
    前記第2のECC訂正部でエラー訂正できなかった位置に従い、前記ECC符号を基にエラー訂正を行う第1のECC訂正部と、
    を備える
    請求項1から13の何れか1項に記載の半導体記録装置。
  16. 1つが複数のページによって構成されるとともにお互いが共通のグループとして関連付けられた物理ブロックを複数含む少なくとも一つの不揮発性メモリを有する半導体記録装置の制御方法であって、
    前記不揮発性メモリに記録するデータを受け付けるデータ受け付けステップと、
    前記データにパリティデータを付加し、ECC符号を生成するECC符号生成ステップと、
    前記不揮発性メモリのページに前記ECC符号に基づくデータを記録する記録ステップと、
    前記ページに対する前記ECC符号のシンボルの割り当てを制御する制御ステップと、を含み、
    前記ECC符号のシンボルが前記グループを構成する物理ブロックにおける少なくとも2つのページ番号を有するページに割り当てられるように、前記ページに対する前記ECC符号のシンボルの割り当てを制御する制御ステップと、を含む
    半導体記録装置の制御方法。
  17. 1つが複数のページによって構成されるとともにお互いが共通のグループとして関連付けられた物理ブロックを複数含む少なくとも一つの不揮発性メモリを有する半導体記録装置を制御するためのプログラムであって、
    前記不揮発性メモリに記録するデータを受け付けるデータ受け付けステップと、
    前記データにパリティデータを付加し、ECC符号を生成するECC符号生成ステップと、
    前記不揮発性メモリのページに前記ECC符号に基づくデータを記録する記録ステップと、
    前記ECC符号のシンボルが前記グループを構成する物理ブロックにおける少なくとも2つのページ番号を有するページに割り当てられるように、前記ページに対する前記ECC符号のシンボルの割り当てを制御する制御ステップと
    をコンピュータによって実行させるプログラム。
  18. 請求項17記載のプログラムが記録されたコンピュータに読み取り可能な記録媒体。
JP2010258307A 2009-11-25 2010-11-18 半導体記録装置及び半導体記録装置の制御方法 Active JP5789767B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010258307A JP5789767B2 (ja) 2009-11-25 2010-11-18 半導体記録装置及び半導体記録装置の制御方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009267113 2009-11-25
JP2009267113 2009-11-25
JP2010258307A JP5789767B2 (ja) 2009-11-25 2010-11-18 半導体記録装置及び半導体記録装置の制御方法

Publications (2)

Publication Number Publication Date
JP2011134307A true JP2011134307A (ja) 2011-07-07
JP5789767B2 JP5789767B2 (ja) 2015-10-07

Family

ID=44346911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010258307A Active JP5789767B2 (ja) 2009-11-25 2010-11-18 半導体記録装置及び半導体記録装置の制御方法

Country Status (2)

Country Link
US (1) US8397127B2 (ja)
JP (1) JP5789767B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014061161A1 (ja) * 2012-10-19 2014-04-24 富士通株式会社 記録再生装置、誤り訂正方法および制御装置
JP2014160478A (ja) * 2010-08-31 2014-09-04 Micron Technology Inc ストライプに基づく不揮発性多値メモリ操作
US9252810B2 (en) 2014-02-20 2016-02-02 Kabushiki Kaisha Toshiba Memory system and method of controlling memory system
JP7566673B2 (ja) 2021-03-17 2024-10-15 キオクシア株式会社 メモリシステムおよびその制御方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5426711B2 (ja) * 2011-06-08 2014-02-26 パナソニック株式会社 メモリコントローラ及び不揮発性記憶装置
US8954825B2 (en) * 2012-03-06 2015-02-10 Micron Technology, Inc. Apparatuses and methods including error correction code organization
KR102072449B1 (ko) 2012-06-01 2020-02-04 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 리페어 방법
US8656255B1 (en) * 2013-03-15 2014-02-18 Avalanche Technology, Inc. Method for reducing effective raw bit error rate in multi-level cell NAND flash memory
US10116336B2 (en) * 2014-06-13 2018-10-30 Sandisk Technologies Llc Error correcting code adjustment for a data storage device
TWI556254B (zh) * 2014-10-14 2016-11-01 慧榮科技股份有限公司 資料儲存裝置及其資料存取方法
TWI560718B (en) * 2015-03-27 2016-12-01 Silicon Motion Inc Data storage device and encoding method thereof
KR102585871B1 (ko) * 2016-02-26 2023-10-10 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
TWI591643B (zh) * 2016-03-22 2017-07-11 群聯電子股份有限公司 資料保護方法、記憶體控制電路單元與記憶體儲存裝置
US10628436B2 (en) * 2017-02-02 2020-04-21 Cvs Pharmacy, Inc. Data analysis reporting tool
EP3579235B1 (en) 2018-06-07 2021-01-20 Samsung Electronics Co., Ltd. Method of equalizing bit error rates of memory device
KR102717097B1 (ko) 2018-06-07 2024-10-15 삼성전자주식회사 메모리 장치의 비트 에러율 균등화 방법
TWI725386B (zh) * 2019-02-25 2021-04-21 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
CN112486416B (zh) * 2020-11-30 2024-04-16 北京泽石科技有限公司 数据处理方法、装置、存储介质及处理器
KR20230026016A (ko) * 2021-08-17 2023-02-24 삼성전자주식회사 스토리지 장치
JP2023042992A (ja) 2021-09-15 2023-03-28 キオクシア株式会社 メモリシステム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10293658A (ja) * 1997-04-21 1998-11-04 Hitachi Ltd ディスクアレイサブシステム
JP2008097053A (ja) * 2006-10-05 2008-04-24 Hitachi Global Storage Technologies Netherlands Bv ネットワークを介して接続された複数のデータ記憶装置を含むシステム及びそれに使用されるデータ記憶装置
JP2009104420A (ja) * 2007-10-23 2009-05-14 Hitachi Ltd 記憶制御装置及び記憶装置の障害検出方法
WO2009139115A1 (ja) * 2008-05-12 2009-11-19 パナソニック株式会社 半導体記録装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000278142A (ja) * 1999-03-23 2000-10-06 Toshiba Video Products Japan Kk デジタルデータ記録再生装置
JP2006018373A (ja) 2004-06-30 2006-01-19 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US20070300130A1 (en) * 2006-05-17 2007-12-27 Sandisk Corporation Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices
US8589766B2 (en) * 2010-02-24 2013-11-19 Apple Inc. Codeword remapping schemes for non-volatile memories
US8489979B2 (en) * 2010-05-28 2013-07-16 Seagate Technology Llc Methods and devices to reduce outer code failure rate variability

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10293658A (ja) * 1997-04-21 1998-11-04 Hitachi Ltd ディスクアレイサブシステム
JP2008097053A (ja) * 2006-10-05 2008-04-24 Hitachi Global Storage Technologies Netherlands Bv ネットワークを介して接続された複数のデータ記憶装置を含むシステム及びそれに使用されるデータ記憶装置
JP2009104420A (ja) * 2007-10-23 2009-05-14 Hitachi Ltd 記憶制御装置及び記憶装置の障害検出方法
WO2009139115A1 (ja) * 2008-05-12 2009-11-19 パナソニック株式会社 半導体記録装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014160478A (ja) * 2010-08-31 2014-09-04 Micron Technology Inc ストライプに基づく不揮発性多値メモリ操作
US9235503B2 (en) 2010-08-31 2016-01-12 Micron Technology, Inc. Stripe-based non-volatile multilevel memory operation
WO2014061161A1 (ja) * 2012-10-19 2014-04-24 富士通株式会社 記録再生装置、誤り訂正方法および制御装置
JPWO2014061161A1 (ja) * 2012-10-19 2016-09-05 富士通株式会社 記録再生装置、誤り訂正方法および制御装置
US9252810B2 (en) 2014-02-20 2016-02-02 Kabushiki Kaisha Toshiba Memory system and method of controlling memory system
JP7566673B2 (ja) 2021-03-17 2024-10-15 キオクシア株式会社 メモリシステムおよびその制御方法

Also Published As

Publication number Publication date
US8397127B2 (en) 2013-03-12
US20110214034A1 (en) 2011-09-01
JP5789767B2 (ja) 2015-10-07

Similar Documents

Publication Publication Date Title
JP5789767B2 (ja) 半導体記録装置及び半導体記録装置の制御方法
US20190252035A1 (en) Decoding method, memory storage device and memory control circuit unit
JP5686516B2 (ja) Nandメモリのためのプログラミング管理データ
US9703698B2 (en) Data writing method, memory controller and memory storage apparatus
TWI527037B (zh) 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置
US20110035539A1 (en) Storage device, and memory controller
US10424391B2 (en) Decoding method, memory controlling circuit unit and memory storage device
TWI591643B (zh) 資料保護方法、記憶體控制電路單元與記憶體儲存裝置
US9268688B2 (en) Data management method, memory controller and memory storage apparatus
JP2012137994A (ja) メモリシステムおよびその制御方法
JP2010079485A (ja) 半導体記録装置
JP2010079486A (ja) 半導体記録装置
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
US8775902B2 (en) Memory controller and storage device
US8533549B2 (en) Memory system and computer system
US9679652B2 (en) Threshold based multi-level cell programming for reliability improvement
US11139044B2 (en) Memory testing method and memory testing system
JP2012068765A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2011134031A (ja) 半導体記録装置および半導体記録システム
KR20100028782A (ko) 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 관리 방법
CN108428464B (zh) 解码方法、存储器储存装置及存储器控制电路单元
US9436547B2 (en) Data storing method, memory control circuit unit and memory storage device
US20220027226A1 (en) Data storage device dynamically relocating data sectors based on map-out value
US10922019B2 (en) Data writing method, memory controlling circuit unit and memory storage device
US10074433B1 (en) Data encoding method, memory control circuit unit and memory storage device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140515

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20141007

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150113

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150306

R151 Written notification of patent or utility model registration

Ref document number: 5789767

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151