JP5363460B2 - 誤り訂正機能付きコントローラ、誤り訂正機能付き記憶装置、及び誤り訂正機能付きシステム - Google Patents

誤り訂正機能付きコントローラ、誤り訂正機能付き記憶装置、及び誤り訂正機能付きシステム Download PDF

Info

Publication number
JP5363460B2
JP5363460B2 JP2010506754A JP2010506754A JP5363460B2 JP 5363460 B2 JP5363460 B2 JP 5363460B2 JP 2010506754 A JP2010506754 A JP 2010506754A JP 2010506754 A JP2010506754 A JP 2010506754A JP 5363460 B2 JP5363460 B2 JP 5363460B2
Authority
JP
Japan
Prior art keywords
error correction
data
sector
memory
error
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.)
Active
Application number
JP2010506754A
Other languages
English (en)
Other versions
JPWO2010013437A1 (ja
Inventor
利行 本多
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2010506754A priority Critical patent/JP5363460B2/ja
Publication of JPWO2010013437A1 publication Critical patent/JPWO2010013437A1/ja
Application granted granted Critical
Publication of JP5363460B2 publication Critical patent/JP5363460B2/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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

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)

Description

本発明は、フラッシュメモリ等の誤り訂正が必要なメモリに対する誤り訂正機能を備えたコントローラ、そのようなメモリに対する誤り訂正機能を備えた記憶装置、及び、当該記憶装置を用いる誤り訂正機能を備えたシステムに関する。
近年、書き換え可能な半導体デバイスとしての不揮発性メモリであるNANDタイプのフラッシュメモリを搭載した不揮発性記憶装置としてのメモリーカードは、デジタルカメラや携帯電話の記憶媒体としてその市場規模を拡大している。そして更に、廉価な記憶デバイスとして、メモリーカード以外、例えばHDD置き換えのSSDや、ホスト機器に直接搭載するメモリ等にも、適用が拡がっている。
同時に、半導体デバイスとしてプロセスの微細化に伴い記憶容量の増加が進んでいる。記憶容量の増加は、記憶媒体に格納できるデータの容量の増加に繋がる。データの容量の増加は、そのデータへのアクセスの利便性のために読み出し・書き込み時間の高速化の要求に繋がる。
一方で、プロセスの微細化が及ぼす影響の別の面として、フラッシュメモリの信頼性の低下が挙げられる。フラッシュメモリの微細化に伴い、情報を記憶するための電子の数が少なくなる。そのことはリテンション、リードディスターブ、プログラムディスターブ等の種々の劣化要因を引き起こす。そこで、誤り訂正機能を搭載して、フラッシュメモリを使用する記憶装置の信頼性を向上させる手法が一般的に用いられている。
図9は、従来の記憶装置である不揮発性記憶装置の一例のブロック図である。図9を用いて誤り訂正機能の適用状況について説明する。図9に示す不揮発性記憶装置901は、誤り訂正機能を備えたコントローラ902と不揮発性メモリ903からなる。不揮発性記憶装置901は、アドレスを指定した上での外部からのデータの書込みや読み出しが可能であり、書き込まれたデータを不揮発で記憶する。不揮発性メモリ903は、不揮発性記憶装置901に書き込まれるデータを不揮発性記憶装置901内にて記憶するメモリである。
コントローラ902は、ホストI/F(インターフェース)904、バッファメモリ905、及び、メモリI/F(インターフェース)モジュール906からなる。バッファメモリ905は、複数のデータバッファ907からなる。個々のデータバッファ907は、それぞれ1セクター(512バイト)分のデータを格納できる。
メモリI/Fモジュール906は、メモリI/F(インターフェース)909、訂正符号生成機能部910、シンドローム生成機能部911、誤り位置検出回路912、及び、誤り訂正回路913からなる。メモリI/Fモジュール906は、対応する不揮発性メモリ903とバッファメモリ905との間のデータの転送を行う。訂正符号生成機能部910は、不揮発性メモリ903にデータを書き込む際に、書き込みを行うデータに対応する誤り訂正符号を生成する。訂正符号生成機能部910で生成された誤り訂正符号は、メモリI/F909を介して対応する不揮発性メモリ903に書き込まれる。
シンドローム生成機能部911は、不揮発性メモリ903からデータが読み出される際に、データとその対応する誤り訂正符号とを読み出してシンドロームの演算を行う。シンドローム生成機能部911で行った演算の結果は、誤り位置検出回路912へ送られる。誤り位置検出回路912は、シンドローム生成機能部911から送られるシンドロームを基に、誤りの発生しているデータのアドレス位置を演算によって決定する。誤り訂正回路913は、誤り位置検出回路912で演算によって決定したアドレス位置のデータをデータバッファ907から読み出し、誤りを訂正してデータバッファ907に書き戻す。
図10は、従来の記憶装置である不揮発性記憶装置の別例のブロック図である。図10に示す不揮発性記憶装置は、複数のI/Fに接続される複数の不揮発性メモリを備える。図10に示す不揮発性記憶装置では、複数のI/Fで複数の不揮発性メモリを制御する、即ち複数のI/Fが同時に動作するので、メモリI/Fモジュールも複数備わり訂正符号の生成やシンドロームの演算を並行して行う。
前述のように、誤り訂正機能部を搭載することによりフラッシュメモリの信頼性を向上させることは、現在一般的に利用されている技術である。しかし、フラッシュメモリ自身の信頼性の低下は、より高性能、即ち誤り訂正能力の大きな誤り訂正回路を必要としている。
図11は、従来の不揮発性記憶装置における誤り訂正回路の回路規模の例を示す表である。図11に示す数値は、528バイト当たりで4バイト訂正可能なリードソロモン(Read−Solomon)符号を実装した回路における訂正符号生成機能部、シンドローム生成機能部、及び、誤り訂正機能部の比率である。図11の表から明らかなように、誤り訂正機能部の回路規模が他に比べて大きい。
訂正符号生成機能部やシンドローム生成機能部の回路規模は、ほぼECC符号のビット数に比例して増加するが、誤り訂正機能部は演算を行う部位であるため、誤り訂正能力を向上させようとすると回路規模の増加の割合が急激に大きくなる。
また、訂正符号生成やシンドローム生成は、不揮発性メモリとのデータ転送時に同時に処理が行われる。しかしながら、誤り訂正は、転送後に独立して行われる処理であるので、その演算処理速度がそのまま記憶装置の全体処理速度に影響を与えてしまう。このような観点からも誤り訂正の演算速度の高速化は求められている。しかしながら、演算速度の高速化は、回路規模を更に増大させる要因となってしまう。
特開平10−145238号公報
上述のように、フラッシュメモリの信頼性を維持向上するために必要とされる誤り訂正回路であるが、誤り訂正能力を大きくすることで回路規模が増大してしまうことが課題となっている。本発明は、誤り訂正回路が高い誤り訂正能力を保持しつつ、その回路規模を削減することを目的とする。
上記の目的を達成するために、本発明の誤り訂正機能付きコントローラは、
複数のメモリに対するデータの書き込み、読み出しを制御する、誤り訂正機能付きコントローラであって、
バッファメモリと、
誤り訂正回路と、
前記複数のメモリのそれぞれに対応して設けられ、前記メモリとデータのやりとりを行う複数のメモリインターフェースモジュールと
処理順序判定機能部と
を備え、
前記複数のメモリインターフェースモジュールは、前記メモリからセクターデータとそのセクターデータに対応する誤り訂正符号を受信し、前記受信したセクターデータと誤り訂正符号に基づきシンドロームを生成するシンドローム生成機能部を備え、
前記バッファメモリは複数の前記セクターデータを一時的に格納し、
前記誤り訂正回路は、複数の前記シンドローム生成機能部によって生成される夫々のシンドロームに対応して、誤りの発生しているアドレスを決定すると共に、前記バッファメモリに格納された前記セクターデータにおける前記アドレスに対応するビットを訂正し、
前記処理順序判定機能部は複数の前記シンドローム生成機能部からの訂正が必要か否かの情報をもとにして、複数の前記セクターデータのうち誤り訂正を行う対象となるセクターデータのスケジューリングを行うものであり、
前記処理順序判定機能部のスケジューリングが、誤り訂正が必要なセクターデータのなかでアドレスの若いセクターデータを優先的に処理するものであり、さらにnセクター(nは2以上の自然数)の範囲のセクターデータのみを誤り訂正の対象とするものである
上記の目的を達成するために、本発明の誤り訂正機能付き記憶装置は、
誤り訂正機能付きコントローラと複数のメモリからなる誤り訂正機能付き記憶装置であり、前記誤り訂正機能付きコントローラは、
複数のメモリに対するデータの書き込み、読み出しを制御する、誤り訂正機能付きコントローラであって、
バッファメモリと、
誤り訂正回路と、
前記複数のメモリのそれぞれに対応して設けられ、前記メモリとデータのやりとりを行う複数のメモリインターフェースモジュールと
処理順序判定機能部と
を備え、
前記複数のメモリインターフェースモジュールは、前記メモリからセクターデータとそのセクターデータに対応する誤り訂正符号を受信し、前記受信したセクターデータと誤り訂正符号に基づきシンドロームを生成するシンドローム生成機能部を備え、
前記バッファメモリは複数の前記セクターデータを一時的に格納し、
前記誤り訂正回路は、複数の前記シンドローム生成機能部によって生成される夫々のシンドロームに対応して、誤りの発生しているアドレスを決定すると共に、前記バッファメモリに格納された前記セクターデータにおける前記アドレスに対応するビットを訂正し、
前記処理順序判定機能部は複数の前記シンドローム生成機能部からの訂正が必要か否かの情報をもとにして、複数の前記セクターデータのうち誤り訂正を行う対象となるセクターデータのスケジューリングを行うものであり、
前記処理順序判定機能部のスケジューリングが、誤り訂正が必要なセクターデータのなかでアドレスの若いセクターデータを優先的に処理するものであり、さらにnセクター(nは2以上の自然数)の範囲のセクターデータのみを誤り訂正の対象とするものである
本発明によれば、不揮発性記憶装置において誤り訂正回路の機能の一部を複数のI/F間で共有することになるが、依然として誤り訂正回路の訂正能力を落とさず、更に回路規模を削減し延いてはコントローラ及び記憶装置の低コスト化を実現することができる。
本発明の第1の実施形態に係る誤り訂正機能付き不揮発性記憶装置のブロック図である。 本発明の第1の実施形態に係る不揮発性記憶装置におけるデータ読み出しのタイミングチャートの一つの例である。 本発明の第1の実施形態に係る不揮発性記憶装置内のコントローラの誤り訂正機能に関する処理のフローチャートである。 本発明の第1の実施形態に係る不揮発性記憶装置の誤り訂正処理時間とホストへのデータ転送時間の関係を表す図である。 本発明の第1の実施形態に係る不揮発性記憶装置におけるデータ読み出しのタイミングチャートの別の例であり、スケジューリングを行うものの例である。更に、不揮発性メモリに格納されるデータに誤りが発生している場合についてのタイミングチャートの例である。 本発明の第1の実施形態に係る不揮発性記憶装置におけるデータ読み出しのタイミングチャートの別の例であり、スケジューリングを行わないものの例である。更に、不揮発性メモリに格納されるデータに誤りが発生している場合についてのタイミングチャートの例である。 本発明の第2の実施形態に係る不揮発性記憶装置内のコントローラの誤り訂正機能に関する処理のフローチャートである。 本発明の第2の実施形態に係る不揮発性記憶装置の誤り訂正処理時間と不揮発性メモリへのデータ転送時間の関係を表す図である。 従来の記憶装置である不揮発性記憶装置の一例のブロック図である。 従来の記憶装置である不揮発性記憶装置の別例のブロック図である。 従来の不揮発性記憶装置における誤り訂正回路の回路規模の例を示す表である。
[第1の実施形態]
以下、図面を参照して、本発明の好適な実施の形態を説明する。
図1は、本発明の第1の実施形態に係る誤り訂正機能付き不揮発性記憶装置101のブロック図である。該ブロック図にはデータの概略の流れも示されている。
図1に示す不揮発性記憶装置101は、概略、誤り訂正機能を備えたコントローラ102、不揮発性メモリ#A131、不揮発性メモリ#B132、不揮発性メモリ#C133、及び、不揮発性メモリ#D134からなる。不揮発性記憶装置101は、アドレスを指定した上での外部からのデータの書込みや読み出しが可能であり、書き込んだデータは不揮発で記憶される。不揮発性メモリ#A131〜#D134は、不揮発性記憶装置101に書き込まれるデータを記憶するメモリである。不揮発性記憶装置101は、ホスト50によってデータの書き込み、読み出しがなされる。
コントローラ102は、ホスト50との間でコマンド及びデータのやりとりを行うホストI/F104を備える。さらに、コントローラ102は、バッファメモリ105、メモリI/Fモジュール#A161、メモリI/Fモジュール#B162、メモリI/Fモジュール#C163、メモリI/Fモジュール#D164、誤り位置検出回路112、誤り訂正回路113、処理順序判定回路114、及び、訂正レジスタ115からなる。ここで、不揮発性メモリ#A131〜#D134を複数個備える理由は、複数個の不揮発性メモリの並列動作により不揮発性記憶装置101へのデータの書き込みおよび不揮発性記憶装置101からのデータの読み出しの性能を向上させることにある。各不揮発性メモリに対しては一般的には巡回的に順番にデータが格納される。
バッファメモリ105は、複数のデータバッファ107と、夫々のデータバッファ107に対応するシンドローム部108とからなる。個々のデータバッファ107は夫々、1セクター(512バイト)分のデータを格納できる。個々のシンドローム部108は夫々、対応するデータバッファ107の1セクター分のデータ及びそのデータに対応する誤り訂正符号が(後述のシンドローム生成機能部111により)不揮発性メモリ#A131〜#D134から読み出されてシンドローム演算を為された結果を、格納する。
メモリI/Fモジュール#A161〜#D164は、夫々、メモリI/F109、訂正符号生成機能部110、及びシンドローム生成機能部111からなる。メモリI/F109は、夫々対応する不揮発性メモリ#A131〜#D134とバッファメモリ105との間のデータの転送を行う。訂正符号生成機能部110は、不揮発性メモリ#A131〜#D134にデータを書き込む際に、書き込みを行うデータに対応する誤り訂正符号を生成する。訂正符号生成機能部110で生成された誤り訂正符号は、メモリI/F109を介して対応する不揮発性メモリ#A131〜#D134に書き込まれる。
シンドローム生成機能部111は、不揮発性メモリ#A131〜#D134からデータを読み出す際に、データとその対応する誤り訂正符号とを読み出してシンドロームの演算を行う。シンドローム生成機能部111で演算を行った結果は、バッファメモリ105内のシンドローム部108に格納される。
訂正レジスタ115は複数の訂正フラグ部116を含み、該訂正フラグ部116には誤り訂正が必要か否かの情報が格納される。個々の訂正フラグ部116は夫々、バッファメモリ105のデータバッファ107及びシンドローム部108と対応している。つまり、データバッファ107とシンドローム部108と訂正フラグ116とで、組みを構成している。従って、不揮発性メモリ#A131〜#D134から1セクターのデータが読み出されると、セクター毎のデータについて、データバッファ107に1セクターのデータが、シンドローム部108に1セクターのデータに対応するシンドロームが、及び、訂正フラグ116に該セクターのデータに対する誤り訂正が必要か否かの情報が、格納される。
誤り位置検出回路112は、誤り訂正回路113を介してバッファメモリ105のシンドローム部108からシンドロームを読み出して、誤りの発生しているビットのアドレスの演算を行う。誤り訂正回路113は、処理順序判定回路114の判定結果に基づき訂正レジスタ115の訂正フラグ116を確認して、訂正が必要なセクターに対してはバッファメモリ105のシンドローム部108からシンドロームを読み出して誤り位置検出回路112に転送し、バッファメモリ105のデータバッファ107の内の、誤り位置検出回路112で演算を行った結果である誤りの発生しているビットのアドレスにおける、データを読み出して訂正してデータバッファ107に書き戻す。このように、本発明の第1の実施形態に係る半導体記憶装置では、複数のメモリI/Fモジュール#A161〜#D164のシンドローム生成機能部111からの情報を訂正レジスタ115に集約し、その集約された情報を誤り訂正回路113が参照して、順番に誤り訂正を行う構成を採っている。
図2は、本発明の第1の実施形態に係る不揮発性記憶装置におけるデータ読み出しのタイミングチャートの一つの例である。ただし、図2は不揮発性メモリに格納されるデータに誤りが発生していない場合のタイミングチャートの例である。
図2において、まず、「不揮発性メモリ#AI/F」は不揮発性メモリ#A131からデータを読み出すI/Fの信号、「不揮発性メモリ#BI/F」は不揮発性メモリ#B132からデータを読み出すI/Fの信号、「不揮発性メモリ#CI/F」は不揮発性メモリ#A133からデータを読み出すI/Fの信号、「不揮発性メモリ#DI/F」は不揮発性メモリ#A134からデータを読み出すI/Fの信号である。また、「ホストI/F」はホストI/F104から外部のホスト50にデータを読み出すI/Fの信号である。
更に、「バッファメモリの状態」は、バッファメモリ105の夫々のデータバッファ107に不揮発性メモリ#A131〜#D134から読み出されるデータが格納されてから、該データがホストI/F104を通じて不揮発性記憶装置101外部に出力されるまでを、示している。なお、第1の実施形態に係るバッファメモリ105では、16個のデータバッファ(データバッファ0〜データバッファ15)が設けられており、不揮発性記憶装置101外部からのアドレスを16で除算した剰余に対応する番号のデータバッファに夫々データが格納されるものとしている。つまり、アドレスが0のデータはデータバッファ0に、アドレスが1のデータはデータバッファ1に、アドレスが16のデータはデータバッファ0(16÷16=1・・・0)に、及び、アドレスが100のデータはデータバッファ4(100÷16=6・・・4)に、格納される。
なお、図2のタイミングチャートの最上部は時間の流れを示している(図5、図6の他のタイミングチャートも同様である。)。
図1及び図2を用いて、不揮発性メモリに格納されるデータに誤りが発生していない場合の、本発明の第1の実施形態に係る誤り訂正機能付き記憶装置の(読み出し時の)動作について、説明する。
最初に時間t0では、不揮発性記憶装置101外部のホストからアドレスを指定したデータの読み出しコマンドが発行されて、アドレスに対応するデータおよび該データ以降のアドレスのデータが不揮発性メモリ#A131〜#D134から読み出され転送が開始される。ここでは、一般的な不揮発性メモリたるNANDタイプのフラッシュメモリのデータの書き込みサイズである2Kバイトを基本とした動作を前提として説明を進めるので、不揮発性メモリA131〜#D134には、4セクター(=2Kバイト÷512バイト)毎に巡回的に順番にデータが割り振られて格納されているものとする。
従って、不揮発性メモリ#A131からセクター0のデータが、不揮発性メモリ#B132からセクター4のデータが、不揮発性メモリ#C133からセクター8のデータが、不揮発性メモリ#D134からセクター12のデータが、読み出されて、夫々のメモリI/F109を経由して、バッファメモリ105の対応するデータバッファ107(即ち、データバッファ0、データバッファ4、データバッファ8、及び、データバッファ12)に夫々格納される。この際に不揮発性メモリ#A131〜#D134から読み出されるデータと誤り訂正符号とを基に、各シンドローム生成機能部111でシンドロームの演算を行い、演算結果を対応するシンドローム部108と訂正フラグ部116に格納する。
次に、時間t1では、不揮発性メモリ#A131からセクター1のデータが、不揮発性メモリ#B132からセクター5のデータが、不揮発性メモリ#C133からセクター9のデータが、不揮発性メモリ#D134からセクター13のデータが、読み出されて、夫々のメモリI/F109を経由して、バッファメモリ105の対応するデータバッファ107(即ち、データバッファ1、データバッファ5、データバッファ9、及び、データバッファ13)に夫々格納される。上記時間t0の場合と同様に、この際に不揮発性メモリ#A131〜#D134から読み出されるデータと誤り訂正符号とを基に、各シンドローム生成機能部111でシンドロームの演算を行い、演算結果を対応するシンドローム部108と訂正フラグ部116に格納する。また、セクター0のデータがデータバッファ0に格納されているので、同じ時間t1において該データがホストI/F104を経由して不揮発性記憶装置外部に出力される。
次に、時間t2では、不揮発性メモリ#A131からセクター2のデータが、不揮発性メモリ#B132からセクター6のデータが、不揮発性メモリ#C133からセクター10のデータが、不揮発性メモリ#D134からセクター14のデータが、読み出されて、夫々のメモリI/F109を経由して、バッファメモリ105の対応するデータバッファ107(即ち、データバッファ2、データバッファ6、データバッファ10、及び、データバッファ14)に夫々格納される。上記時間t0、t1の場合と同様に、この際に不揮発性メモリ#A131〜#D134から読み出されるデータと誤り訂正符号とを基に、各シンドローム生成機能部111でシンドロームの演算を行い、演算結果を対応するシンドローム部108と訂正フラグ部116に格納する。また、セクター1のデータがデータバッファ1に格納されているので、同じ時間t2において該データがホストI/F104を経由して不揮発性記憶装置外部に出力される。
以降同様に、夫々の不揮発性メモリ#A131〜#D134からデータが夫々のメモリI/F109を介してバッファメモリ105に読み出されて、ホストI/F104を介して不揮発性記憶装置101外部に出力される。
時間t4では、セクター3〜15までのデータがデータバッファ3〜15に格納されるので、ホストI/F104を介して順番に連続して不揮発性記憶装置101外部にそれらデータが出力される。また同時に時間t4において、セクター16を格納すべきデータバッファ0に格納されていたセクター0のデータは既に外部に出力済みであるので、不揮発性メモリ#A131からは続けてセクター16のデータが読み出され得る。しかし、セクター20、24、28を格納すべきデータバッファ4、8、12には、未だセクター4、8、12のデータが不揮発性記憶装置101外部に出力されずにいる。そのためこの時に、不揮発性メモリ#B132〜#D134からデータをバッファメモリ105に読み出すことはできない。ただし、対応するデータバッファに格納されたデータが不揮発性記憶装置101外部に出力された後に、順次読み出される。
(前述のように)図2では、不揮発性メモリに格納されるデータに誤りが発生していない場合のタイミングチャートを示しているが、この不揮発性記憶装置101外部へのデータの読み出しにおいて、処理順序判定回路114は、ホストI/F104で不揮発性記憶装置101外部に転送されているデータのアドレス、及び、メモリI/F109でバッファメモリ108に読み出されているデータのアドレスを常に認識して、誤り訂正回路113に対して誤り訂正を適用するアドレスの範囲を通知している。誤り訂正回路113は、処理順序判定回路114から通知される誤り訂正可能なアドレス範囲に従って、訂正レジスタ115の中の訂正フラグ116を確認して、誤り訂正が必要とのデータが格納されていれば、対応するセクターの誤りを訂正する(但し、上記では、誤りが発生していない場合を記載している。)。
図5及び図6は、本発明の第1の実施形態に係る不揮発性記憶装置におけるデータ読み出しのタイミングチャートの別の例であり、不揮発性メモリに格納されるデータに誤りが発生している場合のタイミングチャートの例である。これらについての説明の前に、まず、図3に示す不揮発性記憶装置101内のコントローラ102の誤り訂正機能に関する処理のフローチャートを用いて本発明の第1の実施形態に係る不揮発性記憶装置における誤り訂正の流れを説明する。
不揮発性記憶装置101からデータを読み出す際には、前に記したように処理順序判定回路114では、ホストI/F104から出力されるセクターのアドレスを認識している。このことがステップ301に示されている。ステップ301では、ホスト50が読み出すセクターのアドレス(HADRとする)を取得する。
次にステップ302では、エラー認識領域を決定する。このことはステップ301と同様に、処理順序判定回路114で行われており、ホストI/F104を介してホストに読み出しているデータのアドレスにnセクターを加算したアドレスの領域、つまり、HADRからHADR+nまでの領域を決定する。
次にステップ303では、エラー認識領域の訂正フラグチェックを行う。ここでは、誤り訂正回路113が、処理順序判定回路114から通知されるエラー認識領域(HADR〜HADR+n)の範囲に対応する訂正レジスタ115内の訂正フラグ116をチェックする。訂正レジスタ115内の訂正フラグ116に、誤り訂正が必要との情報が格納されていなければ、ステップ301に戻る(図2に示すタイミングチャートのように、誤りが発生していない場合には、これらのステップ301、ステップ302、及びステップ303が巡回されることになる。)。訂正レジスタ115内の訂正フラグ116に、誤り訂正が必要との情報が格納されていれば、ステップ304へと移る。
ステップ304では、エラーセクターの最小アドレスを取得する。つまり、誤り訂正回路113は、ステップ303で誤り訂正が必要との情報が格納されていることをチェックした訂正フラグ116の中で、最もアドレスの小さいセクターのそのアドレスを決定する。
次に、ステップ305において誤り訂正回路113は、ステップ304で決定したアドレスに対応するシンドロームをシンドローム部108から読み出して誤り位置検出回路112へと転送し、誤りの発生しているビットのアドレスを決定する演算を実行させる。誤り位置検出回路112では、転送されたシンドロームを基にして誤りの発生しているビットのアドレスを決定し、誤り訂正回路113へ通知する。誤り訂正回路113では、誤り位置検出回路112から通知された、誤りの発生しているビットのアドレスを基にデータバッファ107からデータを読み出して、誤りを訂正して書き戻す。そして、次の誤り訂正を行うためにステップ301へと戻る。
これらのステップ301〜305のステップグループ306の期間において、不揮発性記憶装置101からの読み出しが完了したら、処理を完了する。
続いて、上記フローチャートにて、エラー認識領域(nセクター)を設定する理由について、図4を用いて述べる。
図1に示すような複数の不揮発性メモリとのメモリI/Fを備えて、複数のメモリI/Fで同時にデータを転送する不揮発性記憶装置では、不揮発性メモリからコントローラに読み出されるセクターデータがアドレスの順番ではないことが多い。例えば、図2のタイミングチャートにおいてセクター3とセクター4とでは、セクター4の方が先に読み出される。しかし、その場合でもホストに対するデータ出力では、アドレスの順番を守る必要がある。そのため、誤り訂正を行う回路が複数の不揮発性メモリとのI/Fに対して一つしかない場合(即ち、図1のような場合)には、誤り訂正の順序が制御される必要がある。
ここで、図4は、図3に示すフローチャートに含まれるエラー認識領域(HADR+n)の加算分のnセクターを決定するための、処理時間に関する考察の一例を示した図である。図4に示すように、誤り訂正処理のための誤り訂正処理期間が、ホストへの1セクター分のデータ転送の期間よりも長い場合(即ち、通常の場合)を採り上げる。
誤り訂正処理期間の開始時間をthSTART、終了時間をthENDとしている。ホストへのセクターデータの出力がthSTART〜thENDよりも短時間であり、thSTARTからthENDまでの期間にmセクター、(m+1)セクター、(m+2)セクターの3セクター分のデータの転送が可能であるものとしている(mは自然数)。この場合に、訂正が必要な誤りが一つのセクターのみで発生し、かつそのセクターが(m+3)セクターであるとする。そうすると、thENDのタイミングで(m+3)セクターのデータをホストに出力する必要があるので、(m+3)セクターのデータを遅延なく出力するためには、thSTARTのタイミングまたはそれよりも前のタイミングで(m+3)セクターの誤り訂正処理を開始する必要がある。従って、n(セクター)としては4以上を設定することが適切ということになる。
上記の場合は(m+3)セクターのみに誤りが発生した場合、つまり誤りの発生の頻度が比較的低い場合についての設定であるが、誤りの発生の頻度が高く訂正処理を頻繁に行う可能性が高い場合には、nの値をより大きく取る必要がある。但し、nを大きく取りすぎると、誤りの発生順序に訂正処理を行うことになってしまう。つまり、ホストに対して先に出力するデータよりも後に出力するデータを先に誤り訂正することが生じやすくなり、結果としてホストに対する読み出しの速度が低下する要因となる。
図5は、n=4とした場合の、本発明の第1の実施形態に係る不揮発性記憶装置におけるデータ読み出しのタイミングチャートの例である。また、図5は、図2のデータと略同じデータを読み出す際における、誤りが発生している場合のタイミングチャートである。
図5の不揮発性メモリ#AI/F〜#DI/Fにおいて、ハッチングのかかった部分が誤りの発生しているセクターを表している。時間t0では、各不揮発性メモリ#A131〜#D134からデータの読み出しが開始される。この時点には、ホストに対してまだデータの出力は行われていないが、HADRの値はセクター0を取る(ホストに対するデータの出力が行われていない場合には、HADRは次にホスト出力されるセクターの値を取る。)。HADRは0であるのでn=4の場合には、4セクターまでのデータに対して誤りが発生しているかどうかが判定される。つまり、処理順序判定回路114が、セクター0〜セクター4のエラー認識領域の範囲を誤り訂正回路113に通知し、誤り訂正回路113が、セクター0からセクター4の範囲に対応する訂正レジスタ115内の訂正フラグ116をチェックする。
t0からt1の期間では、不揮発性メモリ#B132のセクター4のデータと、不揮発性メモリ#D134のセクター12のデータとに、誤りが発生しているが、誤りの発生はシンドロームの演算を行った後にしか認識され得ないので、それまではステップ301〜303のステップがループされる。
次に、時間t1では、不揮発性メモリ#B132のデータと訂正符号を基にシンドロームを生成したメモリI/Fモジュール#B162のシンドローム生成機能部111は、シンドロームからセクター4内の誤りを検出し、対応するシンドローム部108にシンドロームの結果を、対応する訂正フラグ116に誤り訂正が必要という情報を、夫々格納する。メモリI/Fモジュール#D164のシンドローム生成機能部111も同様に、セクター12内の誤りを検出し、対応するシンドローム部108と訂正フラグ116とに書き込む。同じく時間t1に誤り訂正回路113は、ステップ303でセクター4に対応する訂正フラグ116に誤り訂正が必要という情報を確認する。そして訂正回路113は、ステップ304でエラー訂正の必要なセクターの中で最小セクターのアドレス、ここではセクター4を取得してステップ305の誤り訂正を実行する。以降同様に、ホスト読み出しセクター+4セクターの範囲をエラー認識領域として、誤りの訂正が行われる。
このように誤りの訂正をスケジューリングすることで、誤り訂正回路の数をメモリI/Fの数よりも少なくでき、よって回路規模を削減することができる。
図6は、図5の場合と同様に誤りが発生しているものの、エラー認識領域を設定しない場合の、本発明の第1の実施形態に係る不揮発性記憶装置におけるデータ読み出しのタイミングチャートの例である。この「エラー認識領域を設定しない」場合には、誤りの発生した順序に誤りの訂正を行う。より正確に言うと、誤り訂正を実行していないときに、誤りが発生しているセクターデータがチェックされれば、誤りが発生しているセクターデータの最もアドレスの若いセクターデータの誤り訂正が、その時点で行われる、という判定ルールが使用される。この判定ルールは、図3に示すフローチャートと比べると、スケジューリングが必ずしも適正ではないので、図6に示すホストへのデータ読み出しの性能は、図5の場合と比べて若干低下していることがわかる。しかしながら、この図6の場合においても、複数のメモリI/Fに対して誤り訂正回路は一つであるから、回路規模の削減は実現されている。
[第2の実施形態]
続いて、図面を参照しつつ本発明の第2の実施形態に係る誤り訂正機能付き記憶装置及び誤り訂正機能付きコントローラについて説明する。
第2の実施形態に係る誤り訂正機能付き記憶装置の物理的構成は、図1に示す第1の実施形態に係る誤り訂正機能付き記憶装置と同じである。従って、複数のメモリI/Fモジュール#A161〜#D164の夫々におけるシンドローム生成機能部111からの情報を訂正レジスタ115に集約し、その集約された情報を誤り訂正回路113が参照して順番に誤り訂正を行う、という構成は第1の実施形態と同様である。
第2の実施形態では、誤り訂正機能に関する処理のフローチャートが、第1の実施形態のものと異なる。図7は、本発明の第2の実施形態に係る不揮発性記憶装置101内のコントローラ102の誤り訂正機能に関する処理のフローチャートである。不揮発性記憶装置101からデータを読み出す際には、処理順序判定回路114はホストI/F104から出力されるセクターのアドレスに加えて、不揮発性メモリ#A131〜#D134のI/Fにおける転送セクターのアドレスを認識している。このことがステップ806に示されているが、これについてはあとで説明する。
まずステップ801では、処理順序判定回路114が、ホストが読み出すセクターのアドレス(HADRとする)を取得する。次にステップ802では、エラー認識領域を決定する。このことはステップ801と同様に、処理順序判定回路114で行われており、ホストI/F104を介してホストに読み出しているデータにnセクターを加算したアドレスの領域、つまり、HADRからHADR+nの領域を決定する。次にステップ803では、エラー認識領域の訂正フラグチェックを行う。ここでは、誤り訂正回路113が、処理順序判定回路114から通知されるエラー認識領域(HADR〜HADR+n)の範囲に対応する訂正レジスタ115内の訂正フラグ116をチェックする。訂正レジスタ115内の訂正フラグ116に、誤り訂正が必要との情報が格納されていなければ、ステップ806に移る。訂正レジスタ115内の訂正フラグ116に、誤り訂正が必要との情報が格納されていれば、ステップ804へと移る。
ステップ804では、エラーセクターの最小アドレスを取得する。つまり、誤り訂正回路113は、ステップ803で誤り訂正が必要との情報が格納されていることをチェックした訂正フラグ116の中で、最もアドレスの小さなセクターのそのアドレスを取得する。
次に、ステップ805において誤り訂正回路113は、ステップ804で決定したアドレスに対応するシンドロームをシンドローム部108から読み出して誤り位置検出回路112へと転送し、誤りの発生しているビットのアドレスを決定する演算を実行させる。誤り位置検出回路112では、転送されたシンドロームを基にして誤りの発生しているビットのアドレスを決定し、誤り訂正回路113へ通知する。誤り訂正回路113では、誤り位置検出回路112から通知された、誤りの発生しているビットのアドレスを基にデータバッファ107からデータを読み出して、誤りを訂正して書き戻す。そして、次の誤り訂正を行うためにステップ801へと戻る。
一方、前述のように、ステップ803で訂正レジスタ115内の訂正フラグ116に誤り訂正が必要との情報が格納されていない場合、ステップ806に移り、ここで、処理順序判定回路114は、エラー認識領域解除期間であるかどうかを判定する。
上記のエラー認識領域解除期間について、図8を用いて説明する。図8では、(一つの)不揮発性メモリからのあるセクターデータの読み出しの開始時をtfSTART、不揮発性メモリからのセクターデータの読み出しの終了時をtfENDと表している。なおここでの不揮発性メモリからのセクターデータ読み出しの認識対象は、ホストに次に読み出し出力すべきセクターに対応するデータである。tfSTART〜tfENDは、不揮発性メモリからの1セクター分のデータの読み出し時間である。
誤り訂正処理に要する時間(誤り訂正処理期間)が、tfSTART〜tfENDよりも短い場合を考える。ここで、不揮発性メモリからのデータの読み出し開始時tfSTARTを始点とし、不揮発性メモリからのデータの読み出し終了時tfENDから誤り訂正処理期間を減じた時点を終点とする期間を、認識領域解除期間と設定している。この認識領域解除期間において誤り訂正処理を開始するならば、不揮発性メモリからのデータ読み出しが終わる前に、誤り訂正処理を終わらせることが可能である。即ち、次にホストに出力予定のセクターのデータを不揮発性メモリから読み出す際の認識領域解除期間において誤り訂正処理を開始すれば、次にホストに出力予定のセクターのデータの出力を遅延させる要因とはならない。それ故に、この期間に予め認識領域以外のセクターのデータの誤りを訂正しておくことは意味がある。ちなみに、認識領域解除期間以降に誤り訂正が開始する場合、該誤り訂正が終了する前に不揮発性メモリからのデータの読み出しが完了することになる。つまり、もし、読み出しを行った当該セクターに誤りがあるならば、動作中の誤り訂正処理が終了するのを待って当該セクターデータの誤り訂正処理が行われることになる。このことは、ホストへの読み出し性能を低下させる要因となり得る。
ステップ806で、処理順序判定回路114は、エラー認識領域解除期間であるかどうかを判定する。エラー認識領域解除期間でなければ、ステップ801へと戻る。エラー認識解除期間であれば、先のセクターのデータの誤りを訂正し得る機会があるということであるので、処理順序判定回路114はエラー認識領域解除期間であることを誤り訂正回路113に通知する。このとき、フローチャート、特にステップ803から明確に分かるが、エラー認識領域(HADR〜HADR+n)では誤りが発生していない。よって、ステップ807では誤り訂正回路113は全領域の訂正フラグ116のチェックを行う。誤り訂正が必要との情報がなければステップ801へ戻る。誤り訂正が必要との情報があれば、ステップ808へと移る。ステップ808では、誤り訂正回路113は、ステップ807で誤り訂正が必要との情報が格納されていることをチェックした訂正フラグ116の中で、最もアドレスの小さなセクターのそのアドレスを取得する。その後ステップ805に移る。
これらのステップ801〜808のステップグループ809の期間において、不揮発性記憶装置101からの読み出しが完了したら、処理を完了する。
図7のフローチャートに示すように、エラー認識領域解除期間を設けることにより、性能低下を発生させること無く、誤りの発生したセクターのデータの誤り訂正処理を実行することができる。
[その他の実施形態]
本発明は、不揮発性メモリにのみ適用されるものではなく、複数のI/Fを備えて並列にデータの転送が行われる構成を備える揮発性メモリにも適用され得る。またさらに、メモリに適用が限定されるものでもなく、複数の通信経路を持ち、それら通信経路を介してデータと対応する誤り訂正符号とが送信され、誤りの訂正が為される必要があるシステムなどに適用することも可能である。
また、誤り訂正回路の個数も1つに限定されない。本発明の基本的思想を適用すれば、不揮発性メモリにおいて、シンドローム生成機能部の数よりも誤り訂正回路の数を少なく構成して回路規模を削減できる。
本発明を利用することにより、誤り訂正能力を維持したまま誤り訂正回路の回路規模を削減できから、本発明は、低コスト及び省スペースを目的とする誤り訂正機能付き記憶装置に有用である。
101・・・不揮発性記憶装置、
102・・・コントローラ、
131・・・不揮発性メモリ#A、
132・・・不揮発性メモリ#B、
133・・・不揮発性メモリ#C、
134・・・不揮発性メモリ#D、
104・・・ホストI/F、
105・・・バッファメモリ、
161・・・メモリI/Fモジュール#A、
162・・・メモリI/Fモジュール#B、
163・・・メモリI/Fモジュール#C、
164・・・メモリI/Fモジュール#D、
107・・・データバッファ、
108・・・シンドローム部、
109・・・メモリI/F、
110・・・訂正符号生成機能部、
111・・・シンドローム生成機能部、
112・・・誤り位置検出回路、
113・・・誤り訂正回路、
114・・・処理順序判定回路、
115・・・訂正レジスタ、
116・・・訂正フラグ、
901・・・不揮発性記憶装置、
902・・・コントローラ、
903・・・不揮発性メモリ、
904・・・ホストI/F、
905・・・バッファメモリ、
906・・・メモリI/Fモジュール、
907・・・データバッファ、
909・・・メモリI/F、
910・・・訂正符号生成機能部、
911・・・シンドローム生成機能部、
912・・・誤り位置検出回路、
913・・・誤り訂正回路。

Claims (5)

  1. 複数のメモリに対するデータの書き込み、読み出しを制御する、誤り訂正機能付きコントローラであって、
    バッファメモリと、
    誤り訂正回路と、
    前記複数のメモリのそれぞれに対応して設けられ、前記メモリとデータのやりとりを行う複数のメモリインターフェースモジュールと
    処理順序判定機能部と
    を備え、
    前記複数のメモリインターフェースモジュールは、前記メモリからセクターデータとそのセクターデータに対応する誤り訂正符号を受信し、前記受信したセクターデータと誤り訂正符号に基づきシンドロームを生成するシンドローム生成機能部を備え、
    前記バッファメモリは複数の前記セクターデータを一時的に格納し、
    前記誤り訂正回路は、複数の前記シンドローム生成機能部によって生成される夫々のシンドロームに対応して、誤りの発生しているアドレスを決定すると共に、前記バッファメモリに格納された前記セクターデータにおける前記アドレスに対応するビットを訂正し、
    前記処理順序判定機能部は複数の前記シンドローム生成機能部からの訂正が必要か否かの情報をもとにして、複数の前記セクターデータのうち誤り訂正を行う対象となるセクターデータのスケジューリングを行うものであり、
    前記処理順序判定機能部のスケジューリングが、nセクター(nは2以上の自然数)の範囲のセクターデータのみを誤り訂正の対象とするものであり、さらに、誤り訂正が必要なセクターデータのなかでアドレスの若いセクターデータを優先的に処理するものである
    ことを特徴とする誤り訂正機能付きコントローラ。
  2. 前記nセクターは前記訂正機能付きコントローラ外部にセクター分のデータを出力するのに要する時間と、セクター分の誤り訂正処理とを行う時間をもとに決定される
    ことを特徴とする請求項1に記載の誤り訂正機能付きコントローラ。
  3. 前記処理順序判定機能部のスケジューリングが、さらに誤り訂正の対象範囲を設定する期間と、誤り訂正の対象範囲とを設定しない期間を設けるものである
    ことを特徴とする請求項1に記載の誤り訂正機能付きコントローラ。
  4. 前記誤り訂正の対象範囲を設定する期間と設定しない期間は、メモリからのセクターデータ読み出し時間と、誤り訂正処理を行う時間とをもとに決定される
    ことを特徴とする請求項3に記載の誤り訂正機能付きコントローラ。
  5. 複数のメモリと、
    前記複数のメモリに対するデータの書き込み、読み出しを制御する、請求項1に記載の誤り訂正機能付きコントローラとを備えた
    ことを特徴とする誤り訂正機能付き記憶装置。
JP2010506754A 2008-07-30 2009-07-27 誤り訂正機能付きコントローラ、誤り訂正機能付き記憶装置、及び誤り訂正機能付きシステム Active JP5363460B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010506754A JP5363460B2 (ja) 2008-07-30 2009-07-27 誤り訂正機能付きコントローラ、誤り訂正機能付き記憶装置、及び誤り訂正機能付きシステム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008195842 2008-07-30
JP2008195842 2008-07-30
JP2010506754A JP5363460B2 (ja) 2008-07-30 2009-07-27 誤り訂正機能付きコントローラ、誤り訂正機能付き記憶装置、及び誤り訂正機能付きシステム
PCT/JP2009/003527 WO2010013437A1 (ja) 2008-07-30 2009-07-27 誤り訂正機能付きコントローラ、誤り訂正機能付き記憶装置、及び誤り訂正機能付きシステム

Publications (2)

Publication Number Publication Date
JPWO2010013437A1 JPWO2010013437A1 (ja) 2012-01-05
JP5363460B2 true JP5363460B2 (ja) 2013-12-11

Family

ID=41610151

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010506754A Active JP5363460B2 (ja) 2008-07-30 2009-07-27 誤り訂正機能付きコントローラ、誤り訂正機能付き記憶装置、及び誤り訂正機能付きシステム

Country Status (3)

Country Link
US (1) US8356237B2 (ja)
JP (1) JP5363460B2 (ja)
WO (1) WO2010013437A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8356237B2 (en) * 2008-07-30 2013-01-15 Panasonic Corporation Controller with error correction function, storage device with error correction function, and system with error correction function
KR101626084B1 (ko) * 2009-11-25 2016-06-01 삼성전자주식회사 멀티 칩 메모리 시스템 및 그것의 데이터 전송 방법
CA2791931A1 (en) 2010-03-22 2011-09-29 Mosaid Technologies Incorporated Composite semiconductor memory device with error correction
DE102010031282B4 (de) * 2010-07-13 2022-05-12 Robert Bosch Gmbh Verfahren zum Überwachen eines Datenspeichers

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08255111A (ja) * 1995-03-16 1996-10-01 Toshiba Corp 誤り訂正検出回路と半導体記憶装置
JP2008102693A (ja) * 2006-10-18 2008-05-01 Tdk Corp メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU4798793A (en) * 1992-08-10 1994-03-03 Monolithic System Technology, Inc. Fault-tolerant, high-speed bus system and bus interface for wafer-scale integration
US6487685B1 (en) * 1999-09-30 2002-11-26 Silicon Graphics, Inc. System and method for minimizing error correction code bits in variable sized data formats
US20040153902A1 (en) * 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
US7237183B2 (en) * 2003-03-04 2007-06-26 Broadcom Corporation Parallel decoding of a BCH encoded signal
US7099221B2 (en) * 2004-05-06 2006-08-29 Micron Technology, Inc. Memory controller method and system compensating for memory cell data losses
US7587658B1 (en) * 2005-01-03 2009-09-08 Sun Microsystems, Inc. ECC encoding for uncorrectable errors
JP4036338B2 (ja) * 2005-03-04 2008-01-23 国立大学法人東京工業大学 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置
JP4936746B2 (ja) * 2006-03-08 2012-05-23 ルネサスエレクトロニクス株式会社 半導体装置
US20070268905A1 (en) * 2006-05-18 2007-11-22 Sigmatel, Inc. Non-volatile memory error correction system and method
JP2008097785A (ja) * 2006-10-16 2008-04-24 Toshiba Corp 不揮発性半導体記憶装置
US8181094B2 (en) * 2008-01-31 2012-05-15 International Business Machines Corporation System to improve error correction using variable latency and associated methods
US8356237B2 (en) * 2008-07-30 2013-01-15 Panasonic Corporation Controller with error correction function, storage device with error correction function, and system with error correction function

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08255111A (ja) * 1995-03-16 1996-10-01 Toshiba Corp 誤り訂正検出回路と半導体記憶装置
JP2008102693A (ja) * 2006-10-18 2008-05-01 Tdk Corp メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法

Also Published As

Publication number Publication date
US8356237B2 (en) 2013-01-15
US20110022928A1 (en) 2011-01-27
WO2010013437A1 (ja) 2010-02-04
JPWO2010013437A1 (ja) 2012-01-05

Similar Documents

Publication Publication Date Title
US9817711B2 (en) Memory controller
JP5426711B2 (ja) メモリコントローラ及び不揮発性記憶装置
JP5364807B2 (ja) メモリコントローラ及び不揮発性記憶装置
US20070214309A1 (en) Nonvolatile storage device and data writing method thereof
US20080082872A1 (en) Memory controller, memory system, and data transfer method
JP2012022422A (ja) 半導体記録再生装置
JP2014535104A (ja) フラッシュメモリ制御器及びフラッシュメモリ間のデータ転送方法
JP5329689B2 (ja) メモリコントローラ、不揮発性記憶装置
JP5363460B2 (ja) 誤り訂正機能付きコントローラ、誤り訂正機能付き記憶装置、及び誤り訂正機能付きシステム
JP5592478B2 (ja) 不揮発性記憶装置及びメモリコントローラ
JP2012155541A (ja) データ記憶装置、メモリ制御装置及びメモリ制御方法
JP7219397B2 (ja) 情報処理装置、記憶制御装置および記憶制御プログラム
JP4956230B2 (ja) メモリコントローラ
US8230276B2 (en) Writing to memory using adaptive write techniques
WO2020028801A1 (en) Error correction with scatter-gather list data management
US8533549B2 (en) Memory system and computer system
JP2013093012A (ja) メモリコントローラ、記憶装置
US20100077280A1 (en) Semiconductor recording device
JP2013131095A (ja) メモリコントローラ、記憶装置およびメモリ制御方法
JP2011118922A (ja) 半導体記憶装置の読出し・書き込み方法
US8386739B2 (en) Writing to memory using shared address buses
JP2010026584A (ja) メモリコントローラおよび不揮発性記憶装置
JP2006244017A (ja) データコピー方法
JP2007310803A (ja) 不揮発性記憶装置の書き込み方法および読み出し方法
JP4239754B2 (ja) 不揮発メモリシステム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130705

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130905

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250