JP2007257283A - メモリコントローラ及びフラッシュメモリシステム - Google Patents

メモリコントローラ及びフラッシュメモリシステム Download PDF

Info

Publication number
JP2007257283A
JP2007257283A JP2006080694A JP2006080694A JP2007257283A JP 2007257283 A JP2007257283 A JP 2007257283A JP 2006080694 A JP2006080694 A JP 2006080694A JP 2006080694 A JP2006080694 A JP 2006080694A JP 2007257283 A JP2007257283 A JP 2007257283A
Authority
JP
Japan
Prior art keywords
data
written
area
write
mark
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
JP2006080694A
Other languages
English (en)
Other versions
JP4501881B2 (ja
Inventor
Naoki Mukoda
直樹 向田
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 JP2006080694A priority Critical patent/JP4501881B2/ja
Publication of JP2007257283A publication Critical patent/JP2007257283A/ja
Application granted granted Critical
Publication of JP4501881B2 publication Critical patent/JP4501881B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】異常終了が発生したか否の判断と、正常データと異常データの判別を容易にする。
【解決手段】ホストシステムからのデータ書き込みの命令に応答して、物理ブロック内の各セクタ領域に一連のデータを順次書き込み、前記一連のデータが書き込まれたセクタ領域に対応する冗長領域にデータが書き込まれたことを示す書込マークを順次書き込み、更に、前記一連のデータの末尾データを書き込んだ前記セクタ領域に対応する冗長領域に一連のデータの末尾データを書き込んだことを示す終了マークを書き込む。データが書き込まれている末尾のセクタ領域に対応する冗長領域に終了マークがない場合、一連のデータの書き込み処理が異常終了したと判断する。
【選択図】図8

Description

本発明は、メモリコントローラ及び当該メモリコントローラを備えるフラッシュメモリシステムに関する。
近年、不揮発性の記憶媒体であるフラッシュメモリの開発が盛んに行われ、デジタルカメラ等の情報機器(ホストシステム)の記憶媒体として普及している。
このような機器が扱うデータが大容量化したことに伴い、フラッシュメモリの記憶容量も大容量化が進んでいる。
また、フラッシュメモリの用途は、パーソナルコンピュータやデジタルカメラ等のホストシステムの外部記憶装置(フラッシュメモリシステム)として使用されることが多く、任意に着脱等される場合がある。このため、例えば、フラッシュメモリへのデータの書き込み(保存)動作中に外部記憶装置(フラッシュメモリシステム)がホストシステムから引き抜かれたような場合、正常に書き込まれていないデータ(異常データ)が残ってしまうことがある。
このような観点から、特許文献1等には、フラッシュメモリの記憶データを更新する際に所定のフラグを設定し、更新が完了すると、他のフラグを設定して更新が正常に完了したことを示す技術が開示されている。この技術を用いれば、電源遮断等で書き込み処理が途中で終了(以下、異常終了と言う。)したときに、異常終了したことを検出することはできる。
しかし、電源遮断等で書き込み処理が異常終了したときに、フラッシュメモリに記憶されているデータを正常データと異常データとに分離することができない。
特開2005−174232号公報
書き込み処理が異常終了して、データの書き込み先になっていたフラッシュメモリ内の物理ブロックに正常データと異常データが並存する場合、それらを分離して正常データだけを残す必要がある。
又、データの書き込み先であるフラッシュメモリは大容量化が進んでおり、1個のページのユーザ領域が1セクタ(512バイト)、1ブロックが32ページの構成(以下、スモールブロックタイプと言う。)から、1個のページのユーザ領域が4セクタ(2048バイト)、1ブロックが64ページの構成(以下、ラージブロックタイプと言う。)に移行しつつある。つまり、1個のブロックに含まれるユーザ領域が32個のセクタ領域(512バイトの領域)で構成されるスモールブロックタイプから、1個のブロックに含まれるユーザ領域が256個のセクタ領域(512バイトの領域)で構成されるラージブロックタイプに移行しつつある。
このように1個の物理ブロックの容量(セクタ数)が大きくなると、ホストシステムから同一の物理ブロックが書き込み先となる書き込み要求が与えられる回数が多くなり、書き込み処理が異常終了したときに書き込み先の物理ブロックに書き込まれているデータ量も多くなるので、正常データと異常データを判別する処理がより煩雑になる。
本発明は上記の実情に鑑みてなされたもので、書き込み処理が異常終了したときに、データの書き込み先になっていたフラッシュメモリ内の物理ブロックに並存する正常データと異常データを容易に判別することができるメモリコントローラ、及び当該メモリコントローラを備えるフラッシュメモリシステムを提供することを目的とする。
上記目的を達成するため、本発明のメモリコントローラは、ホストシステムからの命令に応答して、物理ブロックに含まれる各ページのユーザ領域が1又は複数のセクタ領域で構成されているフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
ホストシステムからのデータ書き込みの命令に応答して、i)前記セクタ領域に一連のデータを順次書き込み、ii) 前記一連のデータが書き込まれたセクタ領域に対応する冗長領域にデータが書き込まれたことを示す書込マークを順次書き込み、iii)前記一連のデータの末尾データを書き込んだ前記セクタ領域に対応する冗長領域に一連のデータの末尾データを書き込んだことを示す終了マークを書き込む書込手段とを備えることを特徴とする。
前記メモリコントローラは、前記書込マーク及び前記終了マークに基づいて、前記一連のデータの書き込みが正常に終了しなかったことを検知する異常終了検知手段を更に備えることが好ましい。
前記メモリコントローラは、前記書込マーク及び前記終了マークに基づいて、前記一連のデータが正常に書き込まれているセクタ領域の末尾を検出する正常データ検出手段を更に備えることが好ましい。
前記書込マークは、前記物理ブロックに書き込まれた何番目の一連のデータであるかを示す順番情報を含んでいることが好ましい。
前記異常終了検知手段が前記一連のデータの書き込みが正常に終了しなかったことを検知したときに、書き込みが正常に終了しなかった一連のデータに対応する前記順番情報が1番目を示す情報である場合、前記正常データ検出手段は、前記一連のデータが正常に書き込まれているセクタ領域の末尾を検出する処理を行わず、正常に書き込まれている前記一連のデータが無いと判断するようにしてもよい。
この発明に係るフラッシュメモリシステムは、上記のメモリコントローラと、フラッシュメモリと、から構成される。
本発明によれば、フラッシュメモリへの一連のデータの書き込み処理が異常終了した場合、つまり、一連のデータの書き込み処理で、一連のデータの末尾データが書き込まれずに異常終了した場合、最後にデータが書き込まれたセクタ領域に対応する冗長領域には書込マークが書き込まれるが、終了マークは書き込まれない。従って、最後にデータが書き込まれたセクタ領域に対応する冗長領域に書込マークと終了マークの双方が書き込まれていない場合には、一連のデータの書き込み処理が異常終了したと判断することができる。
更に、一連のデータの書き込み処理が異常終了したと判断した場合には、終了マークに基づいて一連のデータが正常に書き込まれているセクタ領域の末尾を検出することができる。
以下、図面に基づき、本発明の実施の形態について詳細に説明する。
図1は、本発明に係るフラッシュメモリシステム1を概略的に示すブロック図である。図1に示すように、フラッシュメモリシステム1は、フラッシュメモリ2と、それを制御するコントローラ3で構成されている。
なお、フラッシュメモリシステム1は、外部バス13を介してホストシステム4と接続される。ホストシステム4は、ホストシステム4の全体の動作を制御するためのCPU(Central Processing Unit)、フラッシュメモリシステム1との情報の授受を担うコンパニオンチップ等から構成される。ホストシステム4は、例えば、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとする各種情報処理装置であってもよい。
フラッシュメモリ2は、不揮発性メモリであり、レジスタとメモリセルアレイから構成される。フラッシュメモリ2は、レジスタとメモリセルとの間でデータの複写を行って、データの書き込み又は読み出しを行う。
メモリセルアレイは、複数のメモリセル群とワード線を備える。各メモリセル群は、複数のメモリセルが直列に接続されたものである。ワード線は、メモリセル群の特定のメモリセルを選択するためのものである。このワード線を介して選択されたメモリセルとレジスタとの間で、データの複写、即ち、レジスタから選択されたメモリセルへの複写又は選択されたメモリセルからレジスタへのデータの複写が行われる。
メモリセルアレイを構成するメモリセルは、2つのゲートを備えたMOSトランジスタによって構成される。ここで、上側のゲート、下側のゲートは、それぞれ、コントロールゲート、フローティングゲートと呼ばれており、フローティングゲートに電荷(電子)を注入若しくはフローティングゲートから電荷(電子)を排出することによって、データの書き込み若しくはデータの消去が行われる。
このフローティングゲートは、周囲を絶縁体で囲まれているので、注入された電子は長期間にわたって保持される。なお、フローティングゲートに電子を注入するときは、コントロールゲートが高電位側となる高電圧をコントロールゲートとフローティングゲート間に印加する。また、フローティングゲートから電子を排出するときは、コントロールゲートが低電位側となる高電圧をコントロールゲートとフローティングゲート間に印加する。
ここで、フローティングゲートに電子が注入されている状態が書き込み状態であり、論理値「0」に対応する。また、フローティングゲートから電子が排出されている状態が消去状態であり、論理値「1」に対応する。
このようなフラッシュメモリ2のアドレス空間を図2に示す。フラッシュメモリ2のアドレス空間は、“ページ”及び“ブロック(物理ブロック)”で構成されている。
ページは、フラッシュメモリ2にて行われるデータ読み出し動作及びデータ書き込み動作における処理単位である。物理ブロックは、フラッシュメモリ2にて行われるデータ消去動作における処理単位であり、複数個のページで構成されている。
図2に示したフラッシュメモリ2では、1つのページは、4セクタ(2048バイト)のユーザ領域25と、64バイトの冗長領域26で構成され、1つの物理ブロックは64個のページで構成されている。
又、物理ブロックには、それぞれに固有の物理ブロックアドレス(PBA)が割り当てられている。更に、記憶領域を複数のゾーンに分割して管理する場合には、複数個の物理ブロックで物理ゾーンを構成し、各物理ゾーンに固有の物理ゾーン番号(PZN)を割り当てている。各物理ゾーンに含まれる物理ブロックの、各物理ゾーン内での通番を物理ゾーン内ブロック番号(PZIBN)と呼んでいる。
一方、ホストシステム4側のアドレス空間は、セクタ(512バイト)単位で分割した領域に付けた通番であるLBA(Logical Block Address)で管理されている。更に、複数個のセクタをまとめたものを論理ブロックと呼び、複数個の論理ブロックをまとめたものを論理ゾーンと呼んでいる。尚、論理ブロックに付けられた通番を論理ブロック番号(LBN)と呼び、各論理ブロックに含まれるセクタの、各論理ブロック内での通番をセクタ番号(SN)と呼んでいる。又、論理ゾーンに付けられた通番を論理ゾーン番号(LZN)と呼び、各論理ゾーンに含まれる論理ブロックの、各論理ゾーン内での通番を論理ゾーン内ブロック番号(LZIBN)と呼んでいる。
従って、各論理ゾーンに含まれる論理ブロック数をnとした場合、LBNをnで割ったときの商がLZNに対応し、余りがLZIBNに対応する。
又、各論理ゾーンにはそれぞれ1個の物理ゾーンが割り当てられ、論理ゾーンに含まれる各論理ブロックに対応するデータは、その論理ゾーンに割り当てられた物理ゾーンに含まれる物理ブロックに書き込まれる。更に、データが書き込まれた物理ブロックの冗長領域26には、そのデータに対応する論理ブロックを特定できる情報(以下、論理アドレス情報という。)が書き込まれる。この論理アドレス情報として、一般的にはデータ量の少ないLZIBNが書き込まれるが、LBNを書き込んでも構わない。
上述の物理ブロックと論理ブロックとの対応関係は、データの書き込みや消去が行われる毎に変化する。このため、個々の時点における両者の対応関係を管理するためアドレス変換テーブルが作成され、対応関係が変化する毎に更新される。尚、論理ゾーンと物理ゾーンとの対応関係は予め設定されているので、アクセス対象の物理ゾーンに含まれる物理ブロックの冗長領域26に書き込まれている論理アドレス情報を参照することにより、このアドレス変換テーブルを論理ゾーン単位で作成することができる。
次に、4セクタ(2048バイト)のユーザ領域25と、64バイトの冗長領域26で構成されたページの記憶領域について、図3を参照して説明する。各ページのユーザ領域25は、4つの領域(以下、セクタ領域25’と言う。)に区分されている。このセクタ領域25’には、それぞれ、ホストシステム4から供給される1セクタ(512バイト)のユーザデータが格納される。
一方、冗長領域26も、4つの領域(以下、部分冗長領域26’と言う。)に区分され、この部分冗長領域26’には、それぞれ、16バイトの領域が割り当てられる。各ページの部分冗長領域26’には、それぞれ、対応するセクタ領域25’に書き込まれたユーザデータのエラーコレクション(ECC)コードと、対応するセクタ領域25’の書き込み状態を示す書き込みマーク及び終了マークが書き込まれる。更に、各物理ブロックの先頭ページの部分冗長領域26’には、論理アドレス情報及びブロックステータス(フラグ)が書き込まれる。
ECCコードは、セクタ領域25’に記憶されているユーザデータに含まれる誤りを検出し、訂正するためのデータである。
書き込みマークは、対応するセクタ領域25’にユーザデータが書き込まれているか否かを示す情報である。終了マークは、一連のユーザデータを書き込む書き込み処理(以下、一連のユーザデータを書き込む書き込み処理をシーケンス書き込み処理という)で、末尾のユーザデータが書き込まれたセクタ領域25’を示す情報である。つまり、シーケンス書き込み処理で複数セクタのユーザデータを書き込んだ場合、そのシーケンス書き込み処理でユーザデータを書き込んだセクタ領域25’に対応する部分冗長領域26’に書き込みマークを書き込み、更に、末尾のユーザデータを書き込んだセクタ領域25’に対応する部分冗長領域26’に終了マークを書き込む。ここで、シーケンス書き込み処理とは、フラッシュメモリインターフェースブロック10に設定された情報に基づいて実行される一連のユーザデータの書き込み処理をいう。ホストシステム4から与えられた書き込みコマンドに基づくアクセス対象領域が複数の物理ブロックに跨っていない場合は、ホストシステム4から与えられた1回の書き込みコマンドに基づいて、1回のシーケンス書き込み処理が実行される。
又、各セクタ領域25’と各部分冗長領域26’の対応関係は、適宜設定することができる。例えば、図3に示したように、ユーザ領域25内の先頭のセクタ領域25’を冗長領域26の先頭の部分冗長領域26’に、ユーザ領域25内の2番目のセクタ領域25’を冗長領域26の2番目の部分冗長領域26’に、ユーザ領域25内の3番目のセクタ領域25’を冗長領域26の3番目の部分冗長領域26’にそれぞれ対応させる。
次に、フラッシュメモリ2に対するアクセスを制御するコントローラ3について説明する。コントローラ3は、フラッシュメモリ2にデータ、アドレス情報、内部コマンド等を供給することにより読み出し処理、書き込み処理、ブロック消去処理等の各処理を行う。
ここで、内部コマンドとは、コントローラ3がフラッシュメモリ2に処理の実行を指示するためのコマンドであり、フラッシュメモリ2は、コントローラ3から与えられる内部コマンドに従って動作する。一方、ホストシステム4からコントローラ3に与えられるコマンドを外部コマンドと言う。
コントローラ3は、図1に示すように、マイクロプロセッサ6と、ホストインターフェースブロック7と、ワークエリア8と、バッファ9と、フラッシュメモリインターフェースブロック10と、ECC(エラー・コレクション・コード)ブロック11と、ROM(Read Only Memory)12と、から構成される。これら機能ブロックによって構成されるコントローラ3は、一つの半導体チップ上に集積される。以下に各機能ブロックについて説明する。
マイクロプロセッサ6は、ROM12に記憶されているプログラムに従って、コントローラ3の全体の動作を制御する。例えば、マイクロプロセッサ6は、各種処理等を定義したコマンドセット(以下、シーケンスコマンドと言う。)をROM12から読み出し、このシーケンスコマンドに従ってフラッシュメモリインターフェースブロック10に処理を実行させる。

ROM12は、不揮発性の記憶素子であり、上記のシーケンスコマンド等が記憶されている。
ワークエリア8は、フラッシュメモリ2の制御に必要なデータが一時的に格納される作業領域であり、複数のSRAM(Static Random Access Memory)セルによって構成される。上述のアドレス変換テーブルは、このワークエリア8上に作成される。
バッファ9は、フラッシュメモリ2から読み出されたデータ及びフラッシュメモリ2に書き込むべきデータを一時的に蓄積する。すなわち、フラッシュメモリ2から読み出されたデータは、ホストシステム4が受け取り可能な状態となるまでバッファ9に保持され、フラッシュメモリ2に書き込むべきデータは、フラッシュメモリ2が書き込み可能な状態となるまでバッファ9に保持される。
ECCブロック11は、フラッシュメモリ2に書き込むデータに付加されるエラーコレクションコードを生成するとともに、読み出しデータに付加されたエラーコレクションコードに基づいて、読み出したデータに含まれる誤りを検出・訂正する。
ホストインターフェースブロック7は、ホストシステム4との間で、データ、アドレス情報、外部コマンド等の授受を行う。ホストシステム4よりフラッシュメモリシステム1に供給されるデータ等は、ホストインターフェースブロック7を入口としてフラッシュメモリシステム1の内部(例えば、バッファ9)に取り込まれる。また、フラッシュメモリシステム1からホストシステム4に供給されるデータ等は、ホストインターフェースブロック7を出口としてホストシステム4に供給される。
フラッシュメモリインターフェースブロック10は、内部バス14を介して、フラッシュメモリ2とデータ、アドレス情報、ステータス情報、内部コマンド等の授受を行う。
ホストインターフェースブロック7及びフラッシュメモリインターフェースブロック10は、図4に示すような各種のレジスタを備える。ホストインターフェースブロック7は、コマンドレジスタR1、セクタ数レジスタR2及びLBAレジスタR3等を備えており、フラッシュメモリインターフェースブロック10は、物理ブロックアドレスレジスタR11、セクタ番号レジスタR12、カウンタR13、書込マークレジスタR14、終了マークレジスタR15等を備える。
コマンドレジスタR1、セクタ数レジスタR2及びLBAレジスタR3には、ホストシステム4から与えられる情報が書き込まれる。コマンドレジスタR1には、書き込みコマンド、読み出しコマンド等の外部コマンドが書き込まれる。LBAレジスタR3には、アクセス対象領域の先頭のLBAが書き込まれる。セクタ数レジスタR2にはアクセス対象領域のセクタ数が書き込まれる。
物理ブロックアドレスレジスタR11、セクタ番号レジスタR12、カウンタR13には、セクタ数レジスタR2及びLBAレジスタR3に書き込まれた情報に基づいて、フラッシュメモリ2内のアクセス対象領域を指示する情報が書き込まれる。
フラッシュメモリ2内のアクセス対象領域を特定するときには、LBAレジスタR3に設定されたLBAに基づいてアクセス対象のLBNとSNが特定される。
例えば、LBAが連続する256セクタの領域を、フラッシュメモリ(1ブロックが64ページで、1ページが4セクタのフラッシュメモリ)の1個の物理ブロックに割り当てた場合、図5に示したようにLBAの下位8ビットがSNに対応し、この下位8ビットを除いた上位側のビットがLBNに対応する。つまり、LBAが連続する256セクタの領域を論理ブロックとした場合、LBAの下位8ビットが論理ブロック内の各セクタに付けた通番であるセクタ番号SN(0〜255)を示し、このLBAの下位8ビットを除いた上位側のビットがLBNを示している。尚、LBA、LBN及びSNのビット数については、フラッシュメモリの容量や仕様等に応じて決定される。
続いて、アクセス対象のLBNとSNに基づいて、物理ブロックアドレスレジスタR11及びセクタ番号レジスタR12へアクセス対象領域を指示する情報の設定が行われる。
物理ブロックアドレスレジスタR11には、LBAレジスタR3に書き込まれたLBAのLBNを示す部分に基づいて特定された論理ブロックと対応する物理ブロックのPBA又は空きブロックのPBAが書き込まれる。つまり、特定された論理ブロックに対応する物理ブロックからユーザデータを読み出す場合、又は、そのブロックに追加書き込みをする場合には、特定された論理ブロックと対応する物理ブロックのPBAが物理ブロックアドレスレジスタR11に書き込まれ、特定された論理ブロックに対応するユーザデータを空きブロックに書き込む場合には、その空きブロックのPBAが物理ブロックアドレスレジスタR11に書き込まれる。
セクタ番号レジスタR12には、LBAレジスタR3に書き込まれたLBAのSNに対応する部分が書き込まれる。ここで、各物理ブロックにはLBAの順番でユーザデータを書き込まれるので、上記SNは、各物理ブロックに含まれるセクタ領域25’に付けられた通番に対応する。尚、各ページのユーザ領域25は4個のセクタ領域25’で構成されているので、SNの上位6ビットが物理ブロック内のページ番号PN(0〜63)に対応し、SNの下位2ビットがユーザ領域25に含まれるセクタ領域25’の順番を示すページ内セクタ番号PISN(0〜3)に対応する。
カウンタR13には、物理ブロックアドレスレジスタR11に設定されたPBAで特定される物理ブロックに書き込まれる一連のユーザデータのセクタ数が書き込まれる。従って、セクタ数レジスタR2及びLBAレジスタR3に書き込まれた情報に基づいて特定されるアクセス対象領域が複数の物理ブロックに跨っていない場合は、セクタ数レジスタR2に設定されたセクタ数がカウンタR13に書き込まれる。
尚、LBAレジスタR3及びセクタ数レジスタR2に基づいて特定されるアクセス対象領域が複数の論理ブロックに跨っている場合、アクセス対象領域の物理ブロックも複数の物理ブロックに跨っているので、物理ブロックアドレスレジスタR11、セクタ番号レジスタR12、カウンタR13に対する情報の設定は論理ブロック毎に行われる。従って、LBAレジスタR3及びセクタ数レジスタR2に基づいて特定されるアクセス対象領域が複数の論理ブロックに跨っている場合、ホストシステム4から与えられる1回の書き込みコマンドに基づいて複数回(例えば、2個の論理ブロックに跨っている場合は2回)のシーケンス書き込み処理が実行される。
書き込み処理の場合には、書込マークレジスタR14と終了マークレジスタR15に、部分冗長領域26’に書き込まれる書込マークと終了マークがそれぞれ設定される。
本実施の形態では、書込マークを8ビットとし、終了マークを4ビットとしている。書込マークは、その物理ブロックに対する何回目のシーケンス書き込み処理であるかによって下記のように書込マークの設定を変えている。
1回目のシーケンス書き込み処理時の書込マーク:00h(16進数表記)
2回目のシーケンス書き込み処理時の書込マーク:05h(16進数表記)
3回目のシーケンス書き込み処理時の書込マーク:0Ah(16進数表記)
4回目のシーケンス書き込み処理時の書込マーク:0Fh(16進数表記)
5回目のシーケンス書き込み処理時の書込マーク:50h(16進数表記)
6回目のシーケンス書き込み処理時の書込マーク:55h(16進数表記)
7回目のシーケンス書き込み処理時の書込マーク:5Ah(16進数表記)
8回目のシーケンス書き込み処理時の書込マーク:5Fh(16進数表記)
9回目のシーケンス書き込み処理時の書込マーク:A0h(16進数表記)
10回目のシーケンス書き込み処理時の書込マーク:A5h(16進数表記)
11回目のシーケンス書き込み処理時の書込マーク:AAh(16進数表記)
12回目のシーケンス書き込み処理時の書込マーク:AFh(16進数表記)
13回目のシーケンス書き込み処理時の書込マーク:F0h(16進数表記)
14回目のシーケンス書き込み処理時の書込マーク:F5h(16進数表記)
15回目以降のシーケンス書き込み処理時の書込マーク:FAh(16進数表記)
例えば、既に8回のシーケンス書き込み処理が行われている物理ブロックに、9回目のシーケンス書き込み処理を行う場合には、書込マークレジスタR14にA0h(16進数表記)を、終了マークレジスタR15にFh(16進数表記)を設定した後にシーケンス書き込み処理が実行する。シーケンス書き込み処理が実行されると物理ブロックアドレスレジスタR11及びセクタ番号レジスタR12に設定されている情報に基づいて、ユーザデータの書き込み先のページを特定する物理アドレス情報と、書き込み先のページ内のセクタ領域25’を特定する情報がフラッシュメモリ2に供給される。更に、セクタ領域25’に書き込まれるユーザデータが、バッファ9から供給され、部分冗長領域26’に書き込まれる書込マークと終了マークが、書込マークレジスタR14と終了マークレジスタR15からそれぞれ供給される。ここで、書き込み先のページを特定する物理アドレス情報は、物理ブロックアドレスレジスタR11に設定されているPBAとセクタ番号レジスタR12に設定されているSNの上位6ビットに基づいて生成され、ページ内のセクタ領域25’を特定する情報は、SNの下位2ビットに基づいて生成される。
1セクタのユーザデータがバッファ9からフラッシュメモリ2に供給される毎にセクタ番号レジスタR12に設定されている値がインクリメント(1ずつ増加)され、カウンタR13に設定されている値がデクリメント(1ずつ減少)される。カウンタR13に設定されている値が1になったときに、終了マークレジスタR15に0h(16進数表記)が設定され、カウンタR13に設定されている値が0になったときにシーケンス書き込み処理が終了する。例えば、カウンタR13に「8」を設定してシーケンス書き込み処理を開始した場合、8セクタのユーザデータの書き込みが行われ、8セクタ目のユーザデータが書き込まれたセクタ領域25’に対応する部分冗長領域26’には、終了マークとして0h(16進数表記)が書き込まれる。
つまり、シーケンス書き込み処理は、物理ブロックアドレスレジスタR11に書き込み先の物理ブロックのPBAを書き込み、セクタ番号レジスタR12に書き込みを開始するセクタ領域25’に対応するSNを書き込み、カウンタR13に書き込むユーザデータのセクタ数を書き込み、書込マークレジスタR14に書込マークを書き込み、終了マークレジスタR15にFh(16進数表記)を書き込んだ後に開始され、カウンタR13に書き込まれたセクタ数分のユーザデータが書き込まれると終了する。
尚、書込マークは、ビット誤りの発生を考慮して0h、5h、Ah及びFh(16進数表記)の組み合わせ(但し、FFhを除く)で構成している。又、部分冗長領域26’の書込マークが書き込まれる部分がFFh(消去状態)の場合は、書込マークが書き込まれていないと判断する。
本実施の形態では、各物理ブロックに含まれる256個のセクタ領域25’のユーザデータが記憶されているか否かを書込マークに基づいて判断し、ユーザデータが記憶されている末尾のセクタ領域25’に対応する部分冗長領域26’に終了マークが書き込まれているか否かで、シーケンス書き込み処理が正常に終了したかどうかを判断している。
更に、ユーザデータが記憶されている末尾のセクタ領域25’に対応する部分冗長領域26’に終了マークが書き込まれていなかった場合、正常データと異常データの判別が行われる。この判別では、ユーザデータが記憶されている末尾のセクタ領域25’に対応する部分冗長領域26’に書き込まれている書込マークの1つ前の書込マークが書き込まれている末尾の部分冗長領域26’を検出し、この部分冗長領域26’と対応するセクタ領域25’までに記憶されているユーザデータを正常データと判断する。但し、15回目以降のシーケンス書き込み処理では同じ書込マークFAh(16進数表記)が書き込まれるので、ユーザデータが記憶されている末尾のセクタ領域25’と対応する部分冗長領域26’に書込マークFAh(16進数表記)が書き込まれていた場合は、終了マークが書き込まれている末尾の部分冗長領域26’と対応するセクタ領域25’までに書き込まれているユーザデータを正常データと判断する。尚、正常データと判断されたユーザデータは他の消去済みの物理ブロックに転送(複写)され、転送後に正常データと異常データ並存する物理ブロックの記憶データは消去される。
又、ユーザデータが書き込まれている末尾のセクタ領域25’に対応する部分冗長領域26’に終了マークが書き込まれていなかったときに、その部分冗長領域26’に書き込まれている書込マークが1回目のシーケンス書き込み処理を示す書込マーク00h(16進数表記)であった場合はその物理ブロックに正常データが無いと判断する。尚、正常データが無いと判断した物理ブロックの記憶データは消去される。
次に、部分冗長領域26’に書き込まれている書込マークを参照してユーザデータが書き込まれている末尾のセクタ領域25’を検出する処理を、図6を参照して説明する。尚、以下の説明で部分冗長領域26’には、対応するセクタ領域25’と同じSNが付けられているものとする。つまり、SNが「0」のセクタ領域25’と対応する部分冗長領域26’のSNは「0」とし、SNが「1」のセクタ領域25’と対応する部分冗長領域26’のSNは「1」とし、以下同様にSNが「255」のセクタ領域25’と対応する部分冗長領域26’のSNは「255」とする。
まず、検索範囲の先頭セクタ番号SSとして先頭部分冗長領域26’のSNである0(二進数表記:0000 0000)を設定する(ステップS51)。
続いて、検索範囲の最終セクタ番号ESとして最終部分冗長領域26’のSNに1を加算した256(二進数表記:1 0000 0000)を設定する(ステップS52)。
次に、参照する部分冗長領域26’のSNの値nを算出する(ステップS53)。この値nは、下記の式によって求める。
n=(SS+ES)/2
つまり、この値nはSSとESを加算した後に、下位方向に1ビットシフトさせる(最下位ビットを削除する)ことにより求められる。
次に、SNがステップS53で求めたnと一致する部分冗長領域26’を参照し、参照した部分冗長領域26’に書込マークが書き込まれているか否かを判別する(ステップS54)。つまり、書込マークが00h(16進数表記)〜FAh(16進数表記)のいずれかであれば、書込マークが書き込まれていると判断し、書込マークがFFh(16進数表記)であれば、書込マークが書き込まれていないと判断する。
参照した部分冗長領域26’に書込マークが書き込まれていた場合(ステップS54:Yes)、書込マークが書き込まれている末尾の部分冗長領域26’は参照した部分冗長領域26’より前にはないので、先頭セクタ番号SSをステップS53で求めたnの値に変更する(ステップS55)。
参照した部分冗長領域26’に書込マークが書き込まれていない場合(ステップS54:No)、書込マークが書き込まれている末尾の部分冗長領域26’は参照した部分冗長領域26’より後にはないので、最終セクタ番号ESをステップS53で求めたnの値に変更する(ステップS56)。次に、先頭セクタ番号SSと最終セクタ番号ESを比較し、先頭セクタ番号SSと最終セクタ番号ESの差が「1」より大きいか否かを判断する(ステップS57)。先頭セクタ番号SSと最終セクタ番号ESの差が「1」より大きい場合(ステップS57:Yes)、ステップS53に戻り、次に参照する部分冗長領域26’のSNの値nを算出する。一方、先頭セクタ番号SSと最終セクタ番号ESの差が「1」の場合(ステップS57:No)は、先頭セクタ番号SSに設定されている値が、書込マークが書き込まれている末尾の部分冗長領域26’のSNと判断して検出処理を終了する。
このようにして検出された書込マークが書き込まれている末尾の部分冗長領域26’に終了マーク0h(16進数表記)が書き込まれていた場合、前回のシーケンス書き込み処理は正常に終了したと判断する。一方、書込マークが書き込まれている末尾の部分冗長領域26’に終了マーク0h(16進数表記)が書き込まれていなかった場合、前回のシーケンス書き込み処理は正常に終了しなかったと判断する。
次に、前回のシーケンス書き込み処理が正常に終了しなかったと判断した場合、前回のシーケンス書き込み処理より前のシーケンス書き込み処理で書き込まれた正常データを判別する処理を行う。但し、正常に終了しなかったと判断した前回のシーケンス書き込み処理で書き込まれた書込マークが、1回目のシーケンス書き込み処理を示す書込マーク00h(16進数表記)であった場合は、その物理ブロックに正常データが無いと判断し、正常データを判別する処理を行わない。
正常に終了しなかったと判断した前回のシーケンス書き込み処理で書き込まれた書込マークがFAh(16進数表記)の場合は、書込マークが書き込まれている末尾の部分冗長領域26’より前の部分冗長領域26’を順次参照していき、終了マークが書き込まれている末尾の部分冗長領域26’を検出する。このようにして検出された部分冗長領域26’と対応するセクタ領域25’までに書き込まれているユーザデータを正常データと判断する。例えば、SNが243の部分冗長領域26’、SNが242の部分冗長領域26’、SNが241の部分冗長領域26’という順番で参照していき、SNが243〜238の部分冗長領域26’に終了マークが無く、SNが237の部分冗長領域26’に終了マークが有った場合には、SNが0〜237のセクタ領域25’に記憶されているユーザデータを正常データと判断する。
正常に終了しなかったと判断した前回のシーケンス書き込み処理で書き込まれた書込マークが、2〜14回目のシーケンス書き込み処理を示す書込マークであった場合、前回のシーケンス書き込み処理で書き込まれた書込マークより1つ前の書込マークと終了マークの双方が書き込まれている部分冗長領域26’ と対応するセクタ領域25’までに書き込まれているユーザデータを正常データと判断する。この前回のシーケンス書き込み処理で書き込まれた書込マークより1つ前の書込マークと終了マークの双方が書き込まれている部分冗長領域26’を検出する処理、つまり、正常データが記憶されている末尾のセクタ領域25’を検出する処理を図7を参照して説明する。
まず、検索範囲の先頭セクタ番号SSとして先頭部分冗長領域26’のSNである0を設定する(ステップS61)。
続いて、検索範囲の最終セクタ番号ESとして書込マークが書き込まれている末尾の部分冗長領域26’のSNの値を設定する。更に、最終書込マークEMとして書込マークが書き込まれている末尾の部分冗長領域26’に書き込まれている書込マークを設定する。(ステップS62)。つまり、最終書込マークEMには、正常に終了しなかったと判断した前回のシーケンス書き込み処理で書き込まれた書込マークを設定する。
次に、参照する部分冗長領域26’のSNの値nを算出する(ステップS63)。この値nは、下記の式によって求める。
n=(SS+ES)/2
つまり、この値nはSSとESを加算した後に、下位方向に1ビットシフトさせる(最下位ビットを削除する)ことにより求められる。
次に、SNがステップS63で求めたnと一致する部分冗長領域26’を参照し、参照した部分冗長領域26’に書き込まれている書込マークと、最終書込マークEMとして設定されている書込マークを比較する(ステップS64)。
参照した部分冗長領域26’に書き込まれている書込マークと、最終書込マークEMとして設定されている書込マークが同じ場合(ステップS64:Yes)、最終書込マークEMとして設定されている書込マークより1つ前の書込マークが書き込まれている部分冗長領域26’は参照した部分冗長領域26’より後にはないので、最終セクタ番号ESをステップS63で求めたnの値に変更する(ステップS65)。最終セクタ番号ESの変更後、ステップS63に戻り参照する部分冗長領域26’のSNの値nを再度算出する。
参照した部分冗長領域26’に書き込まれている書込マークと、最終書込マークEMとして設定されている書込マークが異なる場合(ステップS64:No)、つまり、参照した部分冗長領域26’に書き込まれている書込マークが、最終書込マークEMとして設定されている書込マークより1つ以上前の書込マークである場合、最終書込マークEMとして設定されている書込マークより1つ前の書込マークと終了マークが書き込まれている部分冗長領域26’は参照した部分冗長領域26’より前にはないので、先頭セクタ番号SSをステップS63で求めたnの値に変更する(ステップS66)。
続いて、参照した部分冗長領域26’に書き込まれている書込マークと、最終書込マークEMとして設定されている書込マークの1つ前の書込マークを比較する(ステップS67)。
参照した部分冗長領域26’に書き込まれている書込マークと、最終書込マークEMとして設定されている書込マークの1つ前の書込マークが異なる場合(ステップS67:No)、つまり、参照した部分冗長領域26’に書き込まれている書込マークが、最終書込マークEMとして設定されている書込マークより2つ以上前の書込マークである場合、ステップS63に戻り参照する部分冗長領域26’のSNの値nを再度算出する。
参照した部分冗長領域26’に書き込まれている書込マークと、最終書込マークEMとして設定されている書込マークの1つ前の書込マークが同じ場合(ステップS67:Yes)、参照した部分冗長領域26’に終了マークが書き込まれているか否かを判断する(ステップS68)。
参照した部分冗長領域26’に終了マークが書き込まれていない場合(ステップS68:No)、ステップS63に戻り参照する部分冗長領域26’のSNの値nを再度算出する。
参照した部分冗長領域26’に終了マークが書き込まれている場合(ステップS68:Yes)、先頭セクタ番号SSに設定されている値が、正常データが記憶されている末尾のセクタ領域25’のSNと判断して検出処理を終了する。
次に、正常データと異常データを判別する処理を具体例に基づいて説明する。例えば、図8に示すように、書込マークと終了マークが書き込まれている場合について説明する。
この例では、書込マークが書き込まれている末尾の部分冗長領域26’のSNは25であり、SNが25の部分冗長領域26’にはシーケンス書き込み処理が正常に終了したことを示す終了マーク0h(16進数表記)が書き込まれていない。従って、前回のシーケンス書き込み処理が正常に終了しなかったと判断する。
ここで、SNが25の部分冗長領域26’に書き込まれている書込マークは0Ah(16進数表記)なので、0Ah(16進数表記)より1つ前の書込マーク05h(16進数表記)と終了マーク0h(16進数表記)が書き込まれている部分冗長領域26’のSNが、正常データが記憶されている末尾のセクタ領域25’のSNであると判断する。つまり、SNが0〜17のセクタ領域25’に記憶されているユーザデータが正常データであると判断する。
次に、図9に示すように、書込マークと終了マークが書き込まれている場合について説明する。
この例では、書込マークが書き込まれている末尾の部分冗長領域26’のSNは7であり、SNが7の部分冗長領域26’にはシーケンス書き込み処理が正常に終了したことを示す終了マーク0h(16進数表記)が書き込まれていない。従って、前回のシーケンス書き込み処理が正常に終了しなかったと判断する。
ここで、SNが7の部分冗長領域26’に書き込まれている書込マークは、この物理ブロックに対する1回目のシーケンス書き込み処理を示す00h(16進数表記)なので、この物理ブロックには正常データが記憶されていないと判断する。
以上説明したように、各シーケンス書き込み処理で一連のデータが書き込まれるセクタ領域25’に対応する部分冗長領域26’に同じ書込マークを書き込み、一連のデータの末尾のユーザデータが書き込まれたセクタ領域25’に対応する部分冗長領域26’に終了マークを書き込むことにより、異常終了が発生したか否の判断と、正常データと異常データの判別を容易に行うことができる。
尚、書込マークのビット数、ビットパターン及びビットパターンの種類については適宜設定することができる。書込マークのビットパターンの種類については、シーケンス書き込み処理毎に全て異ならせることが好ましいが、同一の物理ブロックに対する平均的なシーケンス書き込み処理の回数等を考慮して適宜決定すればよい。又。終了マークのビット数及びビットパターンについても適宜設定することができる。
又、フラッシュメモリの構成、例えば、各物理ブロックに含まれるセクタ領域25’の数等については特に限定することなく実施することができる。フラッシュメモリに対するアクセス方法やアドレス管理方法についても特に限定することなく実施することができる。
本発明の実施の形態に係るフラッシュメモリシステムを概略的に示すブロック図である。 この発明の実施の形態のフラッシュメモリのアドレス空間の構造を概略的に示す図である。 ユーザ領域と冗長領域の構成例を示す図である。 ホストインターフェースブロック及びフラッシュメモリインタフェースブロックの構成を示すブロック図である。 論理アドレス情報LBAの構成を説明するための図である。 ユーザデータが書き込まれている末尾のセクタ領域を検出する処理を説明するためのフローチャートである。 正常データが記憶されている末尾のセクタ領域を検出する処理を説明するためのフローチャートである。 物理ブロックに書き込まれた書込マークと終了マークの例を示す図である。 物理ブロックに書き込まれた書込マークと終了マークの例を示す図である。
符号の説明
1 フラッシュメモリシステム
2 フラッシュメモリ
3 コントローラ
4 ホストシステム
6 マイクロプロセッサ
7 ホストインターフェースブロック
8 ワークエリア
9 バッファ
10 フラッシュメモリインターフェースブロック
11 ECCブロック
12 ROM
13 外部バス
14 内部バス
25 ユーザ領域
26 冗長領域

Claims (6)

  1. ホストシステムからの命令に応答して、物理ブロックに含まれる各ページのユーザ領域が1又は複数のセクタ領域で構成されているフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
    ホストシステムからのデータ書き込みの命令に応答して、i)前記セクタ領域に一連のデータを順次書き込み、ii) 前記一連のデータが書き込まれたセクタ領域に対応する冗長領域にデータが書き込まれたことを示す書込マークを順次書き込み、iii)前記一連のデータの末尾データを書き込んだ前記セクタ領域に対応する冗長領域に一連のデータの末尾データを書き込んだことを示す終了マークを書き込む書込手段と、
    を備えることを特徴とするメモリコントローラ。
  2. 前記書込マーク及び前記終了マークに基づいて、前記一連のデータの書き込みが正常に終了しなかったことを検知する異常終了検知手段を更に備えることを特徴とする請求項1に記載のメモリコントローラ。
  3. 前記書込マーク及び前記終了マークに基づいて、前記一連のデータが正常に書き込まれているセクタ領域の末尾を検出する正常データ検出手段を更に備えることを特徴とする請求項1又は2に記載のメモリコントローラ。
  4. 前記書込マークが、前記物理ブロックに書き込まれた何番目の一連のデータであるかを示す順番情報を含んでいることを特徴とする請求項1乃至3のいずれか1項に記載のメモリコントローラ。
  5. 前記異常終了検知手段が前記一連のデータの書き込みが正常に終了しなかったことを検知したときに、書き込みが正常に終了しなかった一連のデータに対応する前記順番情報が1番目を示す情報である場合、前記正常データ検出手段は、前記一連のデータが正常に書き込まれているセクタ領域の末尾を検出する処理を行わず、正常に書き込まれている前記一連のデータが無いと判断することを特徴とする請求項5に記載のメモリコントローラ。
  6. 請求項1乃至5のいずれか1項に記載のメモリコントローラと、フラッシュメモリとから構成されることを特徴とするフラッシュメモリシステム。
JP2006080694A 2006-03-23 2006-03-23 メモリコントローラ及びフラッシュメモリシステム Active JP4501881B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006080694A JP4501881B2 (ja) 2006-03-23 2006-03-23 メモリコントローラ及びフラッシュメモリシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006080694A JP4501881B2 (ja) 2006-03-23 2006-03-23 メモリコントローラ及びフラッシュメモリシステム

Publications (2)

Publication Number Publication Date
JP2007257283A true JP2007257283A (ja) 2007-10-04
JP4501881B2 JP4501881B2 (ja) 2010-07-14

Family

ID=38631469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006080694A Active JP4501881B2 (ja) 2006-03-23 2006-03-23 メモリコントローラ及びフラッシュメモリシステム

Country Status (1)

Country Link
JP (1) JP4501881B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269499A (ja) * 2007-04-24 2008-11-06 Kyoto Software Research Inc バッドブロックマークの保存方法
JP2009116601A (ja) * 2007-11-06 2009-05-28 Sony Corp メモリ装置、メモリ管理方法、およびプログラム
KR101369408B1 (ko) 2013-03-15 2014-03-04 주식회사 디에이아이오 스토리지 시스템 및 이의 데이터 전송 방법
CN104216985A (zh) * 2014-09-04 2014-12-17 深圳供电局有限公司 一种甄别异常数据的方法及系统
CN110413223A (zh) * 2019-06-25 2019-11-05 汉纳森(厦门)数据股份有限公司 Flash存储器的数据读写方法、介质、设备及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07147097A (ja) * 1993-11-24 1995-06-06 Mitsubishi Electric Corp Eepromデータ書き込み方法
JPH07182246A (ja) * 1993-11-25 1995-07-21 Sanyo Electric Co Ltd 不揮発性メモリの制御装置及び制御方法
JP2000132464A (ja) * 1998-10-27 2000-05-12 Canon Inc データ書き込み方法、装置及び画像形成装置
JP2002169729A (ja) * 2000-12-04 2002-06-14 Toshiba Corp 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法
JP2003015929A (ja) * 2001-06-28 2003-01-17 Matsushita Electric Ind Co Ltd 不揮発性メモリの制御方法
JP2005292926A (ja) * 2004-03-31 2005-10-20 Tdk Corp メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07147097A (ja) * 1993-11-24 1995-06-06 Mitsubishi Electric Corp Eepromデータ書き込み方法
JPH07182246A (ja) * 1993-11-25 1995-07-21 Sanyo Electric Co Ltd 不揮発性メモリの制御装置及び制御方法
JP2000132464A (ja) * 1998-10-27 2000-05-12 Canon Inc データ書き込み方法、装置及び画像形成装置
JP2002169729A (ja) * 2000-12-04 2002-06-14 Toshiba Corp 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法
JP2003015929A (ja) * 2001-06-28 2003-01-17 Matsushita Electric Ind Co Ltd 不揮発性メモリの制御方法
JP2005292926A (ja) * 2004-03-31 2005-10-20 Tdk Corp メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269499A (ja) * 2007-04-24 2008-11-06 Kyoto Software Research Inc バッドブロックマークの保存方法
JP2009116601A (ja) * 2007-11-06 2009-05-28 Sony Corp メモリ装置、メモリ管理方法、およびプログラム
JP4535117B2 (ja) * 2007-11-06 2010-09-01 ソニー株式会社 メモリ装置、メモリ管理方法、およびプログラム
US8205033B2 (en) 2007-11-06 2012-06-19 Sony Corporation Memory device, memory management method, and program
KR101369408B1 (ko) 2013-03-15 2014-03-04 주식회사 디에이아이오 스토리지 시스템 및 이의 데이터 전송 방법
WO2014142427A1 (ko) * 2013-03-15 2014-09-18 주식회사 디에이아이오 스토리지 시스템 및 이의 데이터 전송 방법
CN104216985A (zh) * 2014-09-04 2014-12-17 深圳供电局有限公司 一种甄别异常数据的方法及系统
CN104216985B (zh) * 2014-09-04 2017-09-01 深圳供电局有限公司 一种甄别异常数据的方法及系统
CN110413223A (zh) * 2019-06-25 2019-11-05 汉纳森(厦门)数据股份有限公司 Flash存储器的数据读写方法、介质、设备及装置

Also Published As

Publication number Publication date
JP4501881B2 (ja) 2010-07-14

Similar Documents

Publication Publication Date Title
US7870328B2 (en) Memory controller and flash memory system
JP4501881B2 (ja) メモリコントローラ及びフラッシュメモリシステム
JP4235646B2 (ja) メモリコントローラおよびフラッシュメモリシステム
JP4153535B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4661191B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2007094571A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4609406B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4655034B2 (ja) メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法
JP4241741B2 (ja) メモリコントローラ及びフラッシュメモリシステム
JP4513782B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP3934659B1 (ja) メモリコントローラ及びフラッシュメモリシステム
JP4661748B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4000124B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4497124B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4697146B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2005292925A (ja) メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2008009614A (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
JP4213166B2 (ja) メモリコントローラおよびフラッシュメモリシステム
JP4194518B2 (ja) メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4539621B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4304167B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4227989B2 (ja) メモリコントローラ及びフラッシュメモリシステム
JP4569554B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4366283B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム
JP2007066119A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100305

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4501881

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 4