JP4194518B2 - メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 - Google Patents

メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 Download PDF

Info

Publication number
JP4194518B2
JP4194518B2 JP2004103308A JP2004103308A JP4194518B2 JP 4194518 B2 JP4194518 B2 JP 4194518B2 JP 2004103308 A JP2004103308 A JP 2004103308A JP 2004103308 A JP2004103308 A JP 2004103308A JP 4194518 B2 JP4194518 B2 JP 4194518B2
Authority
JP
Japan
Prior art keywords
page
flash memory
write
pages
writing
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.)
Expired - Lifetime
Application number
JP2004103308A
Other languages
English (en)
Other versions
JP2005292926A (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.)
TDK Corp
Original Assignee
TDK 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 TDK Corp filed Critical TDK Corp
Priority to JP2004103308A priority Critical patent/JP4194518B2/ja
Publication of JP2005292926A publication Critical patent/JP2005292926A/ja
Application granted granted Critical
Publication of JP4194518B2 publication Critical patent/JP4194518B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法に関する。
近年、メモリーカードやシリコンディスクといったメモリシステムにて使用される半導体メモリに、フラッシュメモリが広く採用されている。フラッシュメモリは、不揮発性メモリの一種であり、フラッシュメモリに格納されたデータは、電力が供給されていないときでも保持されていることが要求される。
NAND型フラッシュメモリは、上記のメモリシステムで特に多く用いられるフラッシュメモリの一種である。NAND型フラッシュメモリに含まれている複数のメモリセルのそれぞれは、他のメモリセルとは独立して、論理値“1”を示すデータが格納されている消去状態から、論理値“0”を示すデータが格納されている書込状態へと変化することができる。
これとは対照的に、書込状態から消去状態へと変化するときには、各メモリセルは他のメモリセルと独立して変化することができない。このときには、ブロックと称される予め定められた数のメモリセルが、全て同時に消去状態になる。この一括消去動作は、一般的に、“ブロック消去”と称されている。
NAND型フラッシュメモリに対する書込処理若しくは読出処理は、ページと称される予め定められた数のメモリセル単位で処理が行なわれる。消去処理の単位であるブロックは複数のページで構成されている。
NAND型フラッシュメモリを用いたメモリシステムでは、突然の電源遮断等により、書込処理が中断される場合がある。このような場合、NAND型フラッシュメモリには、不完全な書込みデータが残されてしまう。その後、電源を投入したときに、このような不完全な書込みデータと正常な書込みデータを判別することが困難なときがある。
このような問題を解消するために、下記特許文献1では、各ブロックの先頭ページ(冗長領域)に無効フラグを、最終ページ(冗長領域)に有効フラグを設け、正常に書込処理が終了したときに、有効フラグが有効となる設定処理を行ない、そのブロックのデータが不要となったときに、無効フラグが有効となる設定処理を行なっている。このようにすることにより、有効フラグが有効となる設定がなされているか否かにより、正常に書込処理が終了したか、又は中断したかを判別することができる。
特開2003−15929号公報
特許文献1(特開2003−15929号公報)では、ブロック内の全ページにデータを書込んだときに有効フラグが有効となる設定処理を行なっているが、ブロック内の全ページにデータを書込まずに処理を終了させる場合もある。例えば、最初の処理で、ブロック内の一部のページにデータを書込んで処理を終了させ、次回の処理でその続きを書込む場合がある。このような場合、ブロック内の一部のページにデータを書込む処理が正常に終了したときには、有効フラグが有効となる設定処理は行なわれない。よって、その処理が正常に終了したかを判断することができない。
そこで、本発明は、ブロック内の一部のページにデータを書込む処理の場合でも、その処理が正常に行なわれたか否かを判断することができるメモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法を提供することを目的とする。
上記目的を達成するために、本発明の第1の観点に係るメモリコントローラは、ホストシステム側からの要求に基づいて、フラッシュメモリ内の同一ブロックに属する連続した複数ページに、データを書込む連続書込機能と、前記複数ページの書込開始ページの冗長領域に、書込終了ページを示す終点情報を設定する終点情報設定機能と、前記複数ページの書込終了ページの冗長領域に、該書込終了ページに対する書込処理が完了していることを示す処理完了情報を設定する処理完了情報設定機能と、を備えることを特徴とする。
なお、前記処理完了情報として、前記終点情報と同一の情報を用いてもよい。
また、前記複数ページの書込開始ページから書込終了ページまでの全ページの冗長領域に、前記終点情報を設定してもよい。
上記目的を達成するために、本発明の第2の観点に係るフラッシュメモリシステムは、本発明の第1の観点に係るメモリコントローラと、フラッシュメモリとを備えることを特徴とする。
上記目的を達成するために、本発明の第3の観点に係るフラッシュメモリの制御方法は、ホストシステム側からの要求に基づいて、フラッシュメモリ内の同一ブロックに属する連続した複数ページに、データを書込む連続書込処理と、前記複数ページの書込開始ページの冗長領域に、書込終了ページを示す終点情報を設定する終点情報設定処理と、前記複数ページの書込終了ページの冗長領域に、該書込終了ページに対する書込処理が完了していることを示す処理完了情報を設定する処理完了情報設定処理と、を含むことを特徴とする。
なお、前記処理完了情報として、前記終点情報と同一の情報を用いてもよい。
また、前記複数ページの書込開始ページから書込終了ページまでの全ページの冗長領域に、前記終点情報を設定してもよい。
本発明によれば、ホストシステム側からの要求に基づいて、フラッシュメモリ内の同一ブロックに属する連続した複数ページにデータを書込むときに、その書込処理の書込開始ページの冗長領域に、書込終了ページを示す終点情報を設定し、書込終了ページの冗長領域に、該書込終了ページに対する書込処理が完了していることを示す処理完了情報を設定している。このようにすることにより、書込開始ページの冗長領域に設定されている終点情報と、書込終了ページの冗長領域に設定されている処理完了情報の整合がとれているか否かで、その書込み処理が正常に行なわれたか否かを判断することができる。
以下、図面に基づき、本発明の実施の形態について詳細に説明する。
[フラッシュメモリシステム1の説明]
図1は、本発明に係るフラッシュメモリシステム1を概略的に示すブロック図である。
図1に示したように、フラッシュメモリシステム1は、フラッシュメモリ2とそれを制御するメモリコントローラ(以下、単にコントローラという)3とで構成されている。フラッシュメモリシステム1は、通常、ホストシステム4に着脱可能に装着されて使用され、ホストシステム4に対して一種の外部記憶装置として用いられる。
尚、ホストシステム4としては、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置が挙げられる。
フラッシュメモリ2は、ページ単位で読出し又は書込みを、ブロック単位で消去を実行するデバイスであり、例えば、1ブロックは32ページで構成され、1ページは512バイトのユーザ領域と16バイトの冗長領域で構成されている。
コントローラ3は、ホストインターフェース制御ブロック5と、マイクロプロセッサ6と、ホストインターフェースブロック7と、ワークエリア8と、バッファ9と、フラッシュメモリインターフェースブロック10と、ECC(エラー・コレクション・コード)ブロック11と、フラッシュメモリシーケンサブロック12とから構成される。これら機能ブロックによって構成されるコントローラ3は、一つの半導体チップ上に集積されている。以下に各ブロックの機能を説明する。
マイクロプロセッサ6は、コントローラ3を構成する各機能ブロック全体の動作を制御する機能ブロックである。
ホストインターフェース制御ブロック5は、ホストインターフェースブロック7の動作を制御する機能ブロックである。ここで、ホストインターフェース制御ブロック5は、ホストインターフェースブロック7の動作を設定する動作設定レジスタ(図示せず)を備えており、この動作設定レジスタに基づきホストインターフェースブロック7は動作する。
ホストインターフェースブロック7は、ホストシステム4とデータ、アドレス情報、ステータス情報及び外部コマンド情報の授受を行なう機能ブロックである。
すなわち、フラッシュメモリシステム1がホストシステム4に装着されると、フラッシュメモリシステム1とホストシステム4は、外部バス13を介して相互に接続され、かかる状態において、ホストシステム4よりフラッシュメモリシステム1に供給されるデータ等は、ホストインターフェースブロック7を入口としてコントローラ3の内部に取り込まれる。フラッシュメモリシステム1からホストシステム4に供給されるデータ等は、ホストインターフェースブロック7を出口としてホストシステム4に供給される。
さらに、ホストインターフェースブロック7は、ホストシステム4より供給されるホストアドレス及び外部コマンドを一時的に格納するタスクファイルレジスタ(図示せず)及びエラーが発生した場合にセットされるエラーレジスタ(図示せず)等を有している。
ワークエリア8は、フラッシュメモリ2の制御に必要なデータが一時的に格納される作業領域であり、複数のSRAM(Static Random Access Memory)セルによって構成される機能ブロックである。
バッファ9は、フラッシュメモリ2から読出したデータ及びフラッシュメモリ2に書込むデータを一時的に保持する機能ブロックである。すなわち、フラッシュメモリ2から読出したデータは、ホストシステム4の受取準備ができるまでバッファ9に保持され、フラッシュメモリ2に書込むデータは、フラッシュメモリ2の書込準備ができるまでバッファ9に保持される。
フラッシュメモリシーケンサブロック12は、内部コマンドに基づきフラッシュメモリ2の動作を制御する機能ブロックである。フラッシュメモリシーケンサブロック12は、複数のレジスタ(図示せず)を備え、この複数のレジスタに内部コマンドを実行する際に必要な情報が設定される。この複数のレジスタに内部コマンドを実行する際に必要な情報が設定されると、フラッシュメモリシーケンサブロック12は、その情報に基づいて処理を実行する。ここで、「内部コマンド」とは、コントローラ3からフラッシュメモリ2に与えられるコマンドであり、ホストシステム4からフラッシュメモリシステム1に与えられるコマンドである「外部コマンド」と区別される。
フラッシュメモリインターフェースブロック10は、内部バス14を介して、フラッシュメモリ2とデータ、アドレス情報、ステータス情報、内部コマンド情報及びデバイスID情報等の授受を行う機能ブロックである。
ECCブロック11は、フラッシュメモリ2に書込むデ―タに付加されるエラーコレクションコードを生成するとともに、読出しデータに付加されたエラーコレクションコードに基づいて、読出したデータに含まれる誤りを検出・訂正する機能ブロックである。
[フラッシュメモリ2の説明]
フラッシュメモリ2は、NAND型フラッシュメモリであり、ストレージデバイスへの用途として(ハードディスクの代わりになるものとして)開発された不揮発性メモリである。NAND型フラッシュメモリは、ランダムアクセスを行なうことができず、書込みと読出しはページ単位で、消去はブロック単位で行なわれる。又、データの上書きができないので、データを書込むときは、消去されている領域にデータの書込みが行なわれる。
フラッシュメモリ2は、このような特徴を有するため、通常、データの書替を行なう場合には、ブロック消去されている消去済ブロックに新たなデータ(書替後のデータ)を書込み、古いデータ(書替前のデータ)が書込まれていたブロックを消去するという処理を行なっている。
このようなデータの書替を行なった場合、書替後のデータは書替前と異なるブロックに書込まれるため、ホストシステム4側から与えられるアドレスに基づく論理ブロックアドレスと、フラッシュメモリ2内でのブロックアドレスである物理ブロックアドレスとの対応関係は、データを書替える毎に動的に変化する。この論理ブロックアドレスと物理ブロックアドレスとの対応関係は、通常、その対応関係を示したアドレス変換テーブルによって管理されており、アドレス変換テーブルは、後述する対応論理ブロックアドレスに基づいて作成される。
ここで、上記ブロックとページの関係を図2を参照して説明する。
図2(a),(b)は、ブロック及びページの関係を説明する説明図である。
フラッシュメモリにおけるブロックとページの関係は、フラッシュメモリの仕様によって異なるが、一般的なフラッシュメモリでは、図2(a)に示したように、1ブロックが32ページ(P0〜P31)で構成され、各ページが512バイトのユーザ領域と16バイトの冗長領域で構成されている。
又、記憶容量の増加に伴い、図2(b)に示したように、1ブロックが64ページ(P0〜P63)で構成され、各ページが2048バイトのユーザ領域と64バイトの冗長領域で構成されているものも提供されている。
ユーザ領域は、主に、ホストシステム4から供給されるデ―タが記憶される領域であり、冗長領域は、エラーコレクションコード、対応論理ブロックアドレス及びブロックステータス等の付加データが記憶される領域である。エラ―コレクションコードは、ユーザ領域に記憶されているデータに含まれる誤りを検出、訂正するための付加データであり、外部のECCブロックによって生成される。対応論理ブロックアドレスは、そのブロックにデータが格納されている場合に、そのブロックがどの論理ブロックアドレスに対応するかを示している。
尚、そのブロックにデータが格納されていない場合は、対応論理ブロックアドレスも格納されていないので、対応論理ブロックアドレスが格納されているか否かで、そのブロックが消去済ブロックであるか否かを判断することもできる。つまり、対応論理ブロックアドレスが格納されていない場合は、消去済ブロックであると判断される。ブロックステータスは、そのブロックが不良ブロック(正常にデータの書込み等を行なうことができないブロック)であるか否かを示すフラグであり、そのブロックが不良ブロックであると判断された場合には、不良ブロックであることを示すフラグが設定される。
次に、フラッシュメモリ2の回路構成について説明する。フラッシュメモリ2は、一般的なNAND型フラッシュメモリと同様に、書込みデータ若しくは読出しデータを保持するためのレジスタと、データを記憶するメモリセルアレイとによって構成されている。
メモリセルアレイは、複数のメモリセルが直列に接続されたメモリセル群を複数備えており、ワード線によってメモリセル群の特定のメモリセルが選択される。このワード線によって選択されたメモリセルとレジスタの間で、データの複写(レジスタからメモリセルへの複写、若しくはメモリセルからレジスタへの複写)が行なわれる。
メモリセルアレイを構成するメモリセルは、2つのゲートを備えたMOSトランジスタで構成されている。ここで、上側のゲートはコントロールゲートと、下側のゲートはフローティングゲートと呼ばれており、フローティングゲートに電荷(電子)を注入若しくはフローティングゲートから電荷(電子)を排出することによって、データの書込み若しくはデータの消去を行なっている。
フローティングゲートは周囲を絶縁体で囲まれているので、注入された電子は長期間にわたって保持される。尚、フローティングゲートに電子を注入するときは、コントロールゲートが高電位側となる高電圧を印加して電子を注入し、フローティングゲートから電子を排出するときは、コントロールゲートが低電位側となる高電圧を印加して電子を排出する。ここで、フローティングゲートに電子が注入されている状態(書込状態)が、論理値の「0」のデータに対応し、フローティングゲートから電子が排出されている状態(消去状態)が、論理値の「1」のデータに対応する。
[動作説明]
フラッシュメモリシステム1では、ホストシステム4側からの要求に基づいて、フラッシュメモリ2内の同一ブロックに属する連続した複数ページにデータを書込む書込処理を行なうときに、その書込処理の書込開始ページの冗長領域に、書込終了ページを示す終点情報を設定し、書込終了ページの冗長領域に、該書込終了ページに対する書込処理が完了していることを示す処理完了情報を設定する。以下に、この終点情報と処理完了情報について図面を参照して説明する。
図3は、フラッシュメモリ2内のページの冗長領域に設定される終点情報と処理完了情報の一例を示す図である。
図3では、32個のページで構成されたブロックに対して、ステップ1〜3の書込処理を行なっている。例えば、ステップ1では、ページ0〜10(P0〜P10の11個のページ)のユーザ領域にデータが書込まれ、ステップ2では、ページ11〜23(P11〜P23の13個のページ)のユーザ領域にデータが書込まれ、ステップ3では、ページ24〜31(P24〜P31の8個のページ)のユーザ領域にデータが書込まれる。
各ページのユーザ領域にデータを書込むときに、終点情報若しくは処理完了情報に対応する情報が冗長領域に設定される。ステップ1の書込処理では、書込開始ページであるページ0(P0)から書込終了ページであるページ10(P10)までの全ての冗長領域に、次回の書込処理(ステップ2)で書込みが開始されるページのページの番号である11(2進数の01011b)が設定される。この11(2進数の01011b)は、書込み開始ページに、書込み対象のページ数を加算した値であり、書込終了ページに対応する。
ステップ1と同様、ステップ2の書込処理では、書込開始ページであるページ11(P11)から書込終了ページであるページ23(P23)までの全ての冗長領域に、次回の書込処理(ステップ3)で書込みが開始されるページの番号である24(2進数の11000b)が設定される。
ステップ3の書込処理では、このブロックの最終ページであるページ31(P31)までデータが書込まれるので、書込開始ページであるページ24(P24)から書込終了ページであるページ31(P31)までの全ての冗長領域に、0(2進数の00000b)が設定される。ここで、書込処理の書込終了ページが、そのブロックの最終ページである場合、次回の書込処理で書込みが開始されるページの番号として0(2進数の00000b)を設定している。
この例では、終点情報に対応する情報として、次回の書込処理で書込みが開始されるページの番号を用い、処理完了情報に対応する情報についても、次回の書込処理で書込みが開始されるページの番号を用いている。
このようにした場合、書込開始ページの冗長領域に設定されているページ番号の1個前のページが書込終了ページに対応するので、書込開始ページの冗長領域に設定されているページ番号の、1個前のページの冗長領域に、書込開始ページと同一のページ番号が設定されていれば、書込開始ページから書込終了ページまでの書込処理が正常に行われたと判断できる。
つまり、ステップ1で、ステップ1の書込開始ページであるページ0(P0)の冗長領域に、11(2進数の01011b)が設定されていた場合、ページ10(P10)がステップ1の書込終了ページに対応するので、ページ10(P10)の冗長領域に11(2進数の01011b)が設定されていれば、ステップ1の書込処理が正常に行われたと判断できる。ステップ2で、ステップ2の書込開始ページであるページ11(P11)の冗長領域に、24(2進数の11000b)が設定されていた場合、ページ23(P23)がステップ2の書込終了ページに対応するので、ページ23(P23)の冗長領域に24(2進数の11000b)が設定されていれば、ステップ2の書込処理が正常に行われたと判断できる。
ステップ3で、ステップ3の書込開始ページであるページ24(P24)の冗長領域に、0(2進数の00000b)が設定されていた場合、ページ31(P31)がステップ3の書込終了ページに対応するので、ページ31(P31)の冗長領域に0(2進数の00000b)が設定されていれば、ステップ3の書込処理が正常に行われたと判断てきる。
次に、書込処理が途中で中断した場合について、図4を参照して説明する。
図4は、書込処理中に処理が中断した場合の冗長領域の設定状態(その1)を示す図である。
ステップ2の書込処理では、ページ11〜23(P11〜P23)のユーザ領域にデータが書込まれるので、ページ11〜23の冗長領域に、次回の書込処理で書込みが開始されるページの番号である24(2進数の11000b)が設定される。ここで、ユーザ領域に対する書込処理と冗長領域に対する書込処理は同時進行するので、ユーザ領域に対する書込処理が途中で中断したときには、同様に冗長領域に対する書込処理も中断する。
図4に示した例では、ページ11〜19(P11〜P19)の冗長領域に、次回の書込処理で書込みが開始されるページの番号である24(2進数の11000b)が設定されているが、ページ20〜23(P20〜P23)の冗長領域には、24(2進数の11000b)が設定されていない。従って、ステップ2の書込処理は、ページ19(P19)に対する書込処理が終了した後に処理が中断したと判断することができる。つまり、書込終了ページ以外のページの冗長領域にも処理完了情報を設定すれば、書込処理が中断したときの処理の進行状況を検知することができる。
図3の例では、書込開始ページから書込終了ページまでの全て冗長領域に同じ値を設定していたが、書込開始ページと書込終了ページとの間に存在するページの冗長領域には、終点情報若しくは処理完了情報を設定しない構成にしてもよい(図5参照)。
図5は、書込処理中に処理が中断した場合の冗長領域の設定状態(その2)を示す図である。
図5の例では、書込終了ページ以外のページの冗長領域には処理完了情報を設定していない(2進数の11111b)。このようにした場合、書込処理が中断したときの処理の進行状況を検知することはできないが、書込処理が正常に終了したか否かは判断することができる。
つまり、ステップ2の書込処理の書込開始ページであるページ11(P11)の冗長領域には、次回の書込処理で書込みが開始されるページの番号である24(2進数の11000b)が設定されているが、書込終了ページであるページ23(P23)の冗長領域には、処理完了情報として24(2進数の11000b)が設定されていないので、ステップ2の書込処理は途中で中断したと判断することができる。
図3〜図5では、書込開始ページの冗長領域に設定される終点情報と書込終了ページの冗長領域に設定する処理完了情報とを同じにした場合を説明したが、終点情報と書込完了情報とを異ならせてもよい。その例を、図6〜図8を用いて説明する。
図6は、フラッシュメモリ内のページの冗長領域に設定される終点情報と処理完了情報の他の例を示す図である。
図6に示した例では、終点情報に対応する情報として、次回の書込処理で書込みが開始されるページの番号を用い、処理完了情報に対応する情報として、冗長領域に0(2進数の00000b)を設定し、書込開始ページを除いた書込終了ページまでの全てのページの冗長領域に書込んでいる。この場合、書込開始ページの冗長領域に設定されているページ番号の、1個前のページの冗長領域に、(2進数の00000b)が設定されていれば、書込開始ページから書込終了ページまでの書込処理が正常に行われたと判断できる。
つまり、ステップ1で、ステップ1の書込開始ページであるページ0(P0)の冗長領域に、11(2進数の01011b)が設定されていた場合、ページ10(P10)の冗長領域に0(2進数の00000b)が設定されていれば、ステップ1の書込処理が正常に行われたと判断できる。
ステップ2で、ステップ2の書込開始ページであるページ11(P11)の冗長領域に、24(2進数の11000b)が設定されていた場合、ページ23(P23)の冗長領域に0(2進数の00000b)が設定されていれば、ステップ2の書込処理が正常に行われたと判断できる。
ステップ3で、ステップ3の書込開始ページであるページ24(P24)の冗長領域に、0(2進数の00000b)が設定されていた場合、ページ31(P31)の冗長領域に0(2進数の00000b)が設定されていれば、ステップ3の書込処理が正常に行われたと判断できる。
図7は、書込処理中に処理が中断した場合の冗長領域の設定状態(その3)を示す図である。
図7のステップ2の書込処理でページ11〜23(P11〜P23)のユーザ領域にデータを書込む予定であったが、ページ20の書込みが完了した段階で処理が中断された場合、ページ12〜20(P12〜P20)の冗長領域には、0(2進数の00000b)が設定されているが、ページ21〜23(P21〜P23)の冗長領域には、0(2進数の00000b)が設定されていない。従って、ステップ2の書込処理は、ページ20(P20)に対する書込処理が終了した後に処理が中断したと判断することができる。つまり、書込終了ページ以外のページの冗長領域にも処理完了情報を設定すれば、書込処理が中断したときの処理の進行状況を検知することができる。
図6の例では、書込開始ページを除く書込終了ページまでの全ての冗長領域に同じ値を設定していたが、書込開始ページと書込終了ページとの間に存在するページの冗長領域には、終点情報若しくは処理完了情報を設定しない構成にしてもよい(図8参照)。
図8は、書込処理中に処理が中断した場合の冗長領域の設定状態(その4)を示す図である。
図8のように、書込終了ページ以外のページの冗長領域には処理完了情報を設定していない。このようにした場合、書込処理が中断したときの処理の進行状況を検知することはできないが、書込処理が正常に終了したか否かは判断することができる。
つまり、ステップ2の書込処理の書込開始ページであるページ11(P11)の冗長領域には、次回の書込処理で書込みが開始されるページの番号である24(2進数の11000b)が設定されているが、書込終了ページであるページ23(P23)の冗長領域には、処理完了情報として0(2進数の00000b)が設定されていないので、ステップ2の書込処理は途中で中断したと判断することができる。
尚、以上の説明では、終点情報として次回の書込処理で書込みが開始されるページの番号を用いたが、終点情報は直接的若しくは間接的に書込終了ページを示している情報であれば、他の情報であってもよい。例えば、終点情報として書込終了ページの番号等を用いてもよい。処理完了情報についても、上述の例に限定されず、書込終了ページの番号等を用いてもよい。
本発明に係るフラッシュメモリシステムを概略的に示すブロック図である。 ブロック及びページの関係を説明する説明図である。 フラッシュメモリ内のページの冗長領域に設定される終点情報と処理完了情報の一例を示す図である。 書込処理中に処理が中断した場合の冗長領域の設定状態(その1)を示す図である。 書込処理中に処理が中断した場合の冗長領域の設定状態(その2)を示す図である。 フラッシュメモリ内のページの冗長領域に設定される終点情報と処理完了情報の他の例を示す図である。 書込処理中に処理が中断した場合の冗長領域の設定状態(その3)を示す図である。 書込処理中に処理が中断した場合の冗長領域の設定状態(その4)を示す図である。
符号の説明
1 フラッシュメモリシステム
2 フラッシュメモリ
3 メモリコントローラ
4 ホストシステム

Claims (7)

  1. ホストシステム側からの要求に基づいて、フラッシュメモリ内の同一ブロックに属する連続した複数ページに、データを書込む連続書込機能と、
    前記複数ページの書込開始ページの冗長領域に、書込終了ページを示す終点情報を設定する終点情報設定機能と、
    前記複数ページの書込終了ページの冗長領域に、該書込終了ページに対する書込処理が完了していることを示す処理完了情報を設定する処理完了情報設定機能と、
    を備えることを特徴とするメモリコントローラ。
  2. 前記処理完了情報として、前記終点情報と同一の情報を用いることを特徴とする請求項1に記載のメモリコントローラ。
  3. 前記複数ページの書込開始ページから書込終了ページまでの全ページの冗長領域に、前記終点情報を設定することを特徴とする請求項1又は2に記載のメモリコントローラ。
  4. 請求項1乃至3のいずれか1項に記載のメモリコントローラとフラッシュメモリを備えることを特徴とするフラッシュメモリシステム。
  5. ホストシステム側からの要求に基づいて、フラッシュメモリ内の同一ブロックに属する連続した複数ページに、データを書込む連続書込処理と、
    前記複数ページの書込開始ページの冗長領域に、書込終了ページを示す終点情報を設定する終点情報設定処理と、
    前記複数ページの書込終了ページの冗長領域に、該書込終了ページに対する書込処理が完了していることを示す処理完了情報を設定する処理完了情報設定処理と、
    を含むことを特徴とするフラッシュメモリの制御方法。
  6. 前記処理完了情報として、前記終点情報と同一の情報を用いることを特徴とする請求項5に記載のフラッシュメモリの制御方法。
  7. 前記複数ページの書込開始ページから書込終了ページまでの全ページの冗長領域に、前記終点情報を設定することを特徴とする請求項5又は6に記載のフラッシュメモリの制御方法。
JP2004103308A 2004-03-31 2004-03-31 メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 Expired - Lifetime JP4194518B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004103308A JP4194518B2 (ja) 2004-03-31 2004-03-31 メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004103308A JP4194518B2 (ja) 2004-03-31 2004-03-31 メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法

Publications (2)

Publication Number Publication Date
JP2005292926A JP2005292926A (ja) 2005-10-20
JP4194518B2 true JP4194518B2 (ja) 2008-12-10

Family

ID=35325828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004103308A Expired - Lifetime JP4194518B2 (ja) 2004-03-31 2004-03-31 メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法

Country Status (1)

Country Link
JP (1) JP4194518B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4501881B2 (ja) * 2006-03-23 2010-07-14 Tdk株式会社 メモリコントローラ及びフラッシュメモリシステム
JP4702703B2 (ja) * 2007-04-26 2011-06-15 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
CN104583973B (zh) 2012-08-07 2017-09-08 松下知识产权经营株式会社 记录装置、记录系统以及记录方法

Also Published As

Publication number Publication date
JP2005292926A (ja) 2005-10-20

Similar Documents

Publication Publication Date Title
US8125825B2 (en) Memory system protected from errors due to read disturbance and reading method thereof
JP4373943B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2006018373A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4177360B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
CN110069362A (zh) 数据储存装置与数据处理方法
JP4661497B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4661369B2 (ja) メモリコントローラ
JP2006221334A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4544167B2 (ja) メモリコントローラおよびフラッシュメモリシステム
JP4194518B2 (ja) メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2006155335A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4609406B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2010128697A (ja) メモリシステム
JP4177292B2 (ja) メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2005292925A (ja) メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4177301B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4697146B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4000124B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4661748B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4304167B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4332108B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2006178909A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4235595B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
JP4366283B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム
JP2005293177A (ja) メモリコントローラ及びフラッシュメモリシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080910

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080922

R150 Certificate of patent or registration of utility model

Ref document number: 4194518

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131003

Year of fee payment: 5