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

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

Info

Publication number
JP4304167B2
JP4304167B2 JP2005131920A JP2005131920A JP4304167B2 JP 4304167 B2 JP4304167 B2 JP 4304167B2 JP 2005131920 A JP2005131920 A JP 2005131920A JP 2005131920 A JP2005131920 A JP 2005131920A JP 4304167 B2 JP4304167 B2 JP 4304167B2
Authority
JP
Japan
Prior art keywords
address
information
flash memory
held
register
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
JP2005131920A
Other languages
English (en)
Other versions
JP2006309539A (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 JP2005131920A priority Critical patent/JP4304167B2/ja
Publication of JP2006309539A publication Critical patent/JP2006309539A/ja
Application granted granted Critical
Publication of JP4304167B2 publication Critical patent/JP4304167B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法に関する。
近年、メモリーカードやシリコンディスクといったメモリシステムにて使用される半導体メモリに、フラッシュメモリが広く採用されている。フラッシュメモリは、不揮発性メモリの一種である。フラッシュメモリに格納されたデータは、電力が供給されていないときでも保持されていることが要求される。
NAND型フラッシュメモリは、上記のメモリシステムで特に多く用いられるフラッシュメモリの一種である。NAND型フラッシュメモリに含まれている複数のメモリセルのそれぞれは、他のメモリセルとは独立して、論理値“1”を示すデータが格納されている消去状態から、論理値“0”を示すデータが格納されている書込状態へと変化することができる。
これとは対照的に、複数のメモリセルのうちの少なくとも1つが書込状態から消去状態へと変化しなければならないときには、各メモリセルは他のメモリセルと独立して変化することができない。このときには、ブロックと称される予め定められた数のメモリセルにおいて、全てのメモリセルが同時に消去状態とならなければならない。この一括消去動作は、一般的に、"ブロック消去"と称されている。ブロック消去が行われたブロックは、消去済ブロックと称される。
上記のような特徴により、NAND型フラッシュメモリでは、データを上書することが不可能である。メモリセルにおける格納データを書換えるためには、新しいデータを含んだブロックデータが消去済ブロックに書込まれた後に、古いデータを格納しているブロックのためのブロック消去が行われなければならない。
書換えられたデータは、以前に格納されていたブロックとは異なるブロックに書込まれる。そのため、ホストシステムから供給されるアドレス信号によって指定される論理ブロックアドレスと、フラッシュメモリ内での実際のブロックアドレスを示す物理ブロックアドレスとの間の対応関係は、フラッシュメモリにてデータが書換えられる毎に、コントローラによって動的に調整される。例えば、論理ブロックアドレスと物理ブロックアドレスの間の対応関係は、コントローラに設けられたアドレス変換テーブルに記載される。
例えば、特許文献1では、アドレス変換テーブルで、論理ブロックアドレスが物理ブロックアドレスに変換される。この物理ブロックアドレスは物理アドレスレジスタの物理ブロックアドレス部に設定される。物理アドレスレジスタのワードアドレス部には、初期値が適宜設定される。物理アドレスレジスタは、物理ブロックアドレス部及びワードアドレス部に、保持しているアドレスデータを、フラッシュメモリに供給し、アドレスデータを供給する毎に、ワードアドレス部に保持されている値をインクリメントしている。
特開平9−161491号公報
しかしながら、特許文献1では、アクセス先の物理ブロックが変わる毎に、物理アドレスレジスタの物理ブロックアドレス部に新たな物理ブロックアドレスが設定され、ワードアドレス部に新たな初期値が設定される。従って、複数ブロックに連続的にアクセスするときに、物理アドレスレジスタの再設定処理が、その都度行われることになり、処理効率が低下するという問題があった。
そこで、本発明は、複数ブロックに連続的にアクセスするときの処理効率を向上させることができるメモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム並びにフラッシュメモリの制御方法を提供することを目的とする。
上記目的を達成するために、本発明の第1の観点に係るメモリコントローラは、
ホストシステムから与えられるアクセス指示に基づいて、複数ページからなる物理ブロックを記憶領域に複数持つフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記アクセス指示により指示されるアクセス先の論理アドレスに基づいてアクセス対の物理ブロック及び当該物理ブロック内のアクセス対象のページを特定するためのアドレス情報を生成するアドレス情報生成手段と、
前記アドレス情報を保持する第1のアドレスレジスタ及び第2のアドレスレジスタと、
前記第2のアドレスレジスタに有効な前記アドレス情報が保持されているか否かを示すフラグ情報を保持する情報保持手段と、
前記アドレス情報生成手段により生成された前記アドレス情報を前記第1のアドレスレジスタ又は前記第2のアドレスレジスタ格納するアドレス設定手段と、
前記第1のアドレスレジスタに保持されている前記アドレス情報に基づいてフラッシュメモリ内のアクセス対象のページを指示する物理アドレスを生成し、生成した前記物理アドレスをフラッシュメモリに供給るアドレス供給手段と、
前記アドレス供給手段によりフラッシュメモリに供給される前記物理アドレスに基づいて前記第1のアドレスレジスタに保持されている前記アドレス情報に対応するアクセス対象のページに対するアクセスが終了したときに、前記第2のアドレスレジスタに保持されている前記アドレス情報前記第1のアドレスレジスタに転送するアドレス情報転送手段とを備え
前記アドレス情報転送手段は、前記フラグ情報が前記第2のアドレスレジスタに有効な前記アドレス情報が保持されていることを示す情報であるときに、前記第2のアドレスレジスタに保持されている前記アドレス情報を前記第1のアドレスレジスタに転送すると共に、前記情報保持手段に保持されている前記フラグ情報を前記第2のアドレスレジスタに有効な前記アドレス情報が保持されていないことを示す情報に変更し、
前記アドレス設定手段は、前記フラグ情報が前記第2のアドレスレジスタに有効な前記アドレス情報が保持されていないことを示す情報であるときに、前記アドレス情報を前記第2のアドレスレジスタに格納すると共に、前記情報保持手段に保持されている前記フラグ情報を前記第2のアドレスレジスタに有効な前記アドレス情報が保持されていることを示す情報に変更し、
前記アドレス情報は、前記論理アドレスが連続するアクセス先の領域に対応するフラッシュメモリ内の記憶領域を特定するための情報であって、アクセス対象の物理ブロックを特定する第1の情報と、前記第1の情報により特定される物理ブロック内のアクセス対象となるページのページ番号を特定する第2の情報と、前記第1の情報により特定される物理ブロック内のアクセス対象となるページのページ数を特定する第3の情報とで構成されており、
前記アドレス供給手段は、前記第1の情報及び前記第2の情報に基づいてアクセス対象のページに対応する前記物理アドレスを生成し、フラッシュメモリに前記物理アドレスを供給する毎に前記第2の情報及び前記第3の情報を更新し、前記第3の情報に基づいてフラッシュメモリに対する前記物理アドレスの供給を終了する、
ことを特徴とする。
上記目的を達成するために、本発明の第2の観点に係るフラッシュメモリシステム、上記本発明の第1の観点に係るメモリコントローラと、フラッシュメモリを備えることを特徴とする。
上記目的を達成するために、本発明の第3の観点に係るフラッシュメモリの制御方法は、
ホストシステムから与えられるアクセス指示に基づいて、複数ページからなる物理ブロックを記憶領域に複数持つフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記アクセス指示により指示されるアクセス先の論理アドレスに基づいてアクセス対象の物理ブロック及び当該物理ブロック内のアクセス対象のページを特定するためのアドレス情報を生成するアドレス情報生成処理と、
アドレス情報生成処理により生成された前記アドレス情報を第1のアドレスレジスタ又は第2のアドレスレジスタに格納するアドレス設定処理と、
前記第1のアドレスレジスタに保持されている前記アドレス情報に基づいてフラッシュメモリ内のアクセス対象のページを指示する物理アドレスを生成し、生成した前記物理アドレスをフラッシュメモリに供給するアドレス供給処理と、
前記アドレス供給処理によりフラッシュメモリに供給される前記物理アドレスに基づいて前記第1のアドレスレジスタに保持されている前記アドレス情報に対応するアクセス対象のページに対するアクセスが終了したときに、前記第2のアドレスレジスタに保持されている前記アドレス情報を前記第1のアドレスレジスタに転送するアドレス情報転送処理と、
前記第2のアドレスレジスタに有効な前記アドレス情報が保持されているか否かを示すフラグ情報を保持する情報保持手段に保持されている前記フラグ情報を更新する更新処理とを含み、
前記アドレス情報転送処理では、前記フラグ情報が前記第2のアドレスレジスタに有効な前記アドレス情報が保持されていることを示す情報であるときに、前記第2のアドレスレジスタに保持されている前記アドレス情報が前記第1のアドレスレジスタに転送され、
前記アドレス設定処理では、前記フラグ情報が前記第2のアドレスレジスタに有効な前記アドレス情報が保持されていないことを示す情報であるときに、前記アドレス情報が前記第2のアドレスレジスタに格納され、
前記更新処理では、前記アドレス情報転送処理により前記第2のアドレスレジスタに保持されている前記アドレス情報が前記第1のアドレスレジスタに転送されたときに前記情報保持手段に保持されている前記フラグ情報が前記第2のアドレスレジスタに有効な前記アドレス情報が保持されていないことを示す情報に変更され、前記アドレス設定処理により前記アドレス情報が前記第2のアドレスレジスタに格納されたときに前記情報保持手段に保持されている前記フラグ情報が前記第2のアドレスレジスタに有効な前記アドレス情報が保持されていることを示す情報に変更され、
前記アドレス情報は、前記論理アドレスが連続するアクセス先の領域に対応するフラッシュメモリ内の記憶領域を特定するための情報であって、アクセス対象の物理ブロックを特定する第1の情報と、前記第1の情報により特定される物理ブロック内のアクセス対象となるページのページ番号を特定する第2の情報と、前記第1の情報により特定される物理ブロック内のアクセス対象となるページのページ数を特定する第3の情報とで構成されており、
前記アドレス供給処理では、前記第1の情報及び前記第2の情報に基づいてアクセス対象のページに対応する前記物理アドレスが生成され、フラッシュメモリに前記物理アドレスが供給される毎に前記第2の情報及び前記第3の情報が更新され、前記第3の情報に基づいてフラッシュメモリに対する前記物理アドレスの供給を終了する、
ことを特徴とする。
本発明によれば、第1のアドレスレジスタには、アクセス中のブロックに対応するアドレスデータが保持され、次にアクセスするブロックのアドレスデータが第2のアドレスレジスタに保持される。そして、アクセス先のブロックが切替わるときに第2のアドレスレジスタに保持されているアドレスデータが第1のアドレスレジスタに転送される。これにより、アクセス先のブロックが切替わるときの処理効率の低下を抑制することができる。
以下、図面に基づき、本発明の実施の形態について詳細に説明する。
図1は、本発明の実施形態に係るフラッシュメモリシステム10を示す構成図である。
図1に示したように、フラッシュメモリシステム10は、フラッシュメモリ11と、それを制御するメモリコントローラ20とで構成されている。このフラッシュメモリシステム10は、通常、文字、音声、あるいは画像情報等の種々の情報を処理するパーソナルコンピュータやデジタルスチルカメラをはじめとするホストシステム30である各種情報処理装置に内蔵される。
以下に、フラッシュメモリ11及びメモリコントローラ20の詳細と、フラッシュメモリシステム10の動作とを説明する。
[フラッシュメモリ11の説明]
このフラッシュメモリシステム10において、データが記憶されるフラッシュメモリ11は、NAND型フラッシュメモリで構成されている。NAND型フラッシュメモリは、ストレージデバイスへの用途として(ハードディスクの代わりになるものとして)開発された不揮発性メモリである。このNAND型フラッシュメモリは、ランダムアクセスを行なうことができず、書込みと読出しはページ単位で、消去はブロック単位で行なわれる。又、データの上書ができないので、データを書込むときは、消去されている領域にデータの書込みが行なわれる。
NAND型フラッシュメモリは、このような特徴を有するため、通常、データの書替えを行なう場合には、ブロック消去されている消去済ブロックに新たなデータ(書替え後のデータ)を書込み、古いデータ(書替え前のデータ)が書込まれていたブロックを消去するという処理を行なっている。
このようなデータの書替えを行なった場合、書替え後のデータは、書替え前と異なるブロックに書込まれるため、ホストシステム30側から与えられる論理アドレスと、フラッシュメモリ11内での物理アドレスとの対応関係は、データを書替える毎に動的に変化する。従って、フラッシュメモリ11にアクセスするときには、通常、論理アドレスと物理アドレスとの対応関係を示したアドレス変換テーブルが作成され、このアドレス変換テーブルを用いて、フラッシュメモリ11に対するアクセスが行なわれる。
図2は、ブロックとページの関係を示す説明図である。
上記ブロックとページの構成は、フラッシュメモリ11の仕様によって異なるが、一般的なフラッシュメモリでは、図2(a)に示したように、1ブロックが32ページ(P0〜P31)で構成され、各ページが512バイトのユーザー領域と16バイトの冗長領域で構成されている。又、記憶容量の増加に伴い、図2(b)に示したように、1ブロックが64ページ(P0〜P63)で構成され、各ページが2048バイトのユーザー領域と64バイトの冗長領域で構成されているものも提供されている。
ここで、ユーザー領域は、主に、ホストシステム30から供給されるデ―タが記憶される領域であり、冗長領域は、誤り訂正符号、対応論理アドレス情報及びブロックステータス等の付加データが記憶される領域である。誤り訂正符号は、ユーザー領域に記憶されているデータに含まれる誤りを検出、訂正するための付加データであり、後述するECCブロックによって生成される。
対応論理アドレス情報は、物理ブロックにデータが記憶されている場合に書込まれ、その物理ブロックに記憶されているデータの論理アドレスに関する情報を示している。尚、物理ブロックにデータが記憶されていない場合は、対応論理アドレス情報が書込まれないので、対応論理アドレス情報が書込まれているか否かで、そのブロックが消去済ブロックであるか否かを判断することができる。つまり、対応論理アドレス情報が書込まれていない場合は、消去済ブロックであると判断される。
ブロックステータスは、その物理ブロックが不良ブロック(正常にデータの書込み等を行なうことができない物理ブロック)であるか否かを示すフラグであり、その物理ブロックが不良ブロックであると判断された場合には、不良ブロックであることを示すフラグが設定される。
次に、フラッシュメモリ11の回路構成について説明する。
一般的なNAND型フラッシュメモリは、書込みデータ若しくは読出しデータを保持するためのレジスタと、データを記憶するメモリセルアレイによって構成されている。メモリセルアレイは、複数のメモリセルが直列に接続されたメモリセル群を複数備えており、ワード線によって、メモリセル群の特定のメモリセルが選択される。このワード線によって選択されたメモリセルとレジスタの間で、データの複写(レジスタからメモリセルへの複写、若しくはメモリセルからレジスタへの複写)が行なわれる。
メモリセルアレイを構成するメモリセルは、2つのゲートを備えたMOSトランジスタで構成されている。ここで、上側のゲートはコントロールゲートと、下側のゲートはフローティングゲートと呼ばれており、フローティングゲートに電荷(電子)を注入したり、フローティングゲートから電荷(電子)を排出したりすることによって、データの書込みや消去を行う。
フローティングゲートは、周囲を絶縁体で囲まれているので、注入された電子は長期間にわたって保持される。フローティングゲートに電子を注入するときは、コントロールゲートが高電位側となる高電圧を印加して電子を注入し、フローティングゲートから電子を排出するときは、コントロールゲートが低電位側となる高電圧を印加して電子を排出する。フローティングゲートに電子が注入されている状態(書込状態)が、論理値“0”のデータに対応し、フローティングゲートから電子が排出されている状態(消去状態)が、論理値“1”のデータに対応する。
[メモリコントローラ20の説明]
メモリコントローラ20は、ホストインターフェースブロック21と、マイクロプロセッサ22と、フラッシュメモリインターフェースブロック23と、ECC(エラー・コレクション・コード)ブロック24と、バッファ25と、ROM(Read Only Memory)26と、SRAM(Static Randam Access Memory)27とを備え、これらの要素が一つの半導体チップ上に集積されている。以下に、各要素の機能を説明する。
マイクロプロセッサ22は、ROM26に記憶されたプログラムに基づき動作し、メモリコントローラ20全体の動作を制御する手段であり、SRAM27の記憶領域を作業領域として用いる。
論理アドレス(フラッシュメモリシステム10に対して与えられるアドレス)と物理アドレス(フラッシュメモリ11内のアドレス)の対応関係を示す変換テーブルは、マイクロプロセッサ22によって、SRAM27の記憶領域に作成される。
ホストインターフェースブロック21は、ホストシステム30から外部バス31を介して得られるコマンド、論理アドレスを中継してマイクロプロセッサ22に与え、ホストシステム30から与えられるデータをバッフア25に与える機能を持つ。また、ホストインタフェースブロック21は、マイクロプロセッサ22から与えられる信号やバッファ25に保持されたデータをホストシステム30に転送する機能を持つ。
バッファ25は、フラッシュメモリ11から内部バス12を介して読出されたデータ及びフラッシュメモリ11に書込まれるべきデータを保持するための機能ブロックである。フラッシュメモリ11から読出されたデータは、ホストシステム30に出力されるまで、バッファ25に保持される。フラッシュメモリ11に書込まれるべきデータは、フラッシュメモリ11のデータ書込動作の準備ができるまで、バッファ25に保持される。
ECCブロック24は、フラッシュメモリ11への書込データに付加されるエラーコレクションコードを生成するための機能ブロックである。加えて、ECCブロック24は、フラッシュメモリ11からデータと共に読出されたエラーコレクションコードに基づいて、読出データに含まれる誤りの検出及び訂正を行う。
図3は、図1中のフラッシュメモリインターフェースブロック23の構成を説明する図である。
フラッシュメモリインターフェースブロック23には、アドレスレジスタ23a、アドレスレジスタ23b、空きフラグレジスタ23c、制御ブロック23d、及びデータ転送部(転送部)23eが設けられている。
アドレスレジスタ23a及びアドレスレジスタ23bには、アドレスデータとしてフラッシュメモリ11内の物理アドレスが保持される。アドレスレジスタ23a及びアドレスレジスタ23bに保持されるアドレスデータは、マイクロプロセッサ22によって設定される。
データ転送部23eは、バッファ25に保持された書込みデータをフラッシュメモリ11に転送とすると共に、フラッシュメモリ11から読出されたデータをバッファ25に転送する。
次に、図1のフラッシュメモリシステム10の動作を説明する。
ホストシステム30は、フラッシュメモリ11にアクセスするためのコマンドや論理アドレスを、フラッシュメモリシステム10に与える。コマンドや論理アドレスは、ホストインターフェースブロック21を介してマイクロプロセッサ22に与えられる。フラッシュメモリ11にデータを書込む場合には、そのデータがホストシステム30から与えられ、ホストインターフェースブロック21を介してバッファ25に与えられる。
マイクロプロセッサ22は、コマンドを解読すると共に、論理アドレスをSRAM27のアドレス変換テーブルを利用して物理アドレスに変換する。そして、物理アドレスをフラッシュメモリインターフェースブロック23のアドレスレジスタ23aに設定する。つまり、論理アドレスに示されるブロックに対応する物理ブロックを変換テーブルにより検出し、検出した物理ブロックを示すアドレスデータをアドレスレジスタ23aに設定する。
フラッシュメモリ11の複数ブロックに対して連続的にアクセスするときには、マイクロプロセッサ22は、次にアクセスするブロックに対応する物理アドレスをアドレスレジスタ23bに設定して保持させる。
アドレスレジスタ23aに保持されている物理アドレスに対応するブロックへのアクセスが終了すると、アドレスレジスタ23bに保持される物理アドレスがアドレスレジスタ23aに転送される。その後、新たにアドレスレジスタ23aに保持された物理アドレスに基づいて生成されたアドレスデータがフラッシュメモリ11に供給される。
アドレスレジスタ23bからアドレスレジスタ23aへの物理アドレスの転送は、制御ブロック23dによって制御される。又、制御ブロック23dは、アドレスレジスタ23bに保持される物理アドレスをアドレスレジスタ23aに転送したときに、空きフラグレジスタ23cに空き情報を設定する。この空き情報は、アドレスレジスタ23bに新たな物理アドレスを設定することができることを示す情報である。
マイクロプロセッサ22は、空きフラグレジスタ23cに空き情報が設定されたのを検知すると、新たな物理アドレスをアドレスレジスタ23bに設定する。その後、マイクロプロセッサ22は、空きフラグレジスタ23cに設定されている空き情報を解除する。
尚、制御ブロック23dは、アドレスレジスタ23bに保持される物理アドレスがアドレスレジスタ23aに転送される前に、空きフラグレジスタ23cに空き情報が設定されていないことを確認することが好ましい。空きフラグレジスタ23cに空き情報が設定されている場合には、アドレスレジスタ23bに、次のアクセス先のブロックに対応する物理アドレスが設定されていないことを示すからである。
図4は、アクセス処理の効率の説明図であり、アドレスレジスタが1つだけの場合(図4(a))と、本発明に係る2つのアドレスレジスタ(アドレスレジスタ23a及びアドレスレジスタ23b)を備えている場合(図4(b))とを示している。
アドレスレジスタが1つだけの場合(図4(a))、最初にアクセスするブロックに対応する物理アドレスを求めるアドレス変換処理が実行される(アドレス変換a)。得られた物理アドレスは、アドレスレジスタに設定される(レジスタ設定a)。アドレスレジスタに物理アドレスが設定されると、設定された物理アドレスに基づいてフラッシュメモリ11に対するアクセスが開始される(アドレス出力a)。このアクセスが、nページ分の読出し処理であれば、読出すページを指示するアドレスデータがnページ分順次出力される。
最初のブロックに対するアクセスが終了すると、2番目にアクセスするブロックに対応する物理アドレスを求めるアドレス変換処理が実行される(アドレス変換b)。得られた物理アドレスは、アドレスレジスタに設定される(レジスタ設定b)。アドレスレジスタに物理アドレスが設定されると、設定された物理アドレスに基づいてフラッシュメモリ11に対するアクセスが開始される(アドレス出力b)。このアクセスが、mページ分の読出し処理であれば、読出すページを指示するアドレスデータがmページ分順次出力される。
2番目のブロックに対するアクセスが終了すると、3番目にアクセスするブロックに対応する物理アドレスを求めるアドレス変換処理が実行される(アドレス変換c)。得られた物理アドレスは、アドレスレジスタに設定される(レジスタ設定c)。アドレスレジスタに物理アドレスが設定されると、上記と同様にフラッシュメモリ11に対するアクセスが開始される。
図3のように、2つのアドレスレジスタ23a及びアドレスレジスタ23bを備えている場合(図4(b))、最初にアクセスするブロックに対応する物理アドレスを求めるアドレス変換処理が実行される(アドレス変換a)。得られた物理アドレスは、アドレスレジスタ23aに設定される(レジスタ設定a)。引続き2番目にアクセスするブロックに対応する物理アドレスを求めるアドレス変換処理が実行される(アドレス変換b)。得られた物理アドレスは、アドレスレジスタ23bに設定される(レジスタ設定b)。
アドレスレジスタ23aに最初にアクセスするブロックに対応する物理アドレスが設定され、アドレスレジスタ23bに2番目にアクセスするブロックに対応する物理アドレスが設定されると、アドレスレジスタ23aに設定された物理アドレスに基づいてフラッシュメモリ11に対するアクセスが開始される(アドレス出力a)。このアクセスが、nページ分の読出し処理であれば、読出すページを指示するアドレスデータがnページ分順次出力される。
尚、2番目にアクセスするブロックに対応する物理アドレスを求めるアドレス変換処理(アドレス変換b)とその物理アドレスのアドレスレジスタ23bへの設定(レジスタ設定b)は、アドレスレジスタ23aに設定された物理アドレスに基づいたフラッシュメモリ11へのアクセス(アドレス出力a)を開始した後に実行してもよい。
最初のブロックに対するアクセスが終了すると、アドレスレジスタ23bに設定されている物理アドレスがアドレスレジスタ23aに転送され、引続き新たにアドレスレジスタ23aに保持された物理アドレス(2番目にアクセスするブロックに対応する物理アドレス)に基づいてフラッシュメモリ11に対するアクセスが開始される(アドレス出力b)。このアクセスが、mページ分の読出し処理であれば、読出すページを指示するアドレスデータがmページ分順次出力される。
アドレスレジスタ23bに設定されていた物理アドレスがアドレスレジスタ23aに転送された後、フラッシュメモリ11に対するアクセスと並行して3番目にアクセスするブロックに対応する物理アドレスを求めるアドレス変換処理が実行される(アドレス変換c)。得られた物理アドレスは、アドレスレジスタ23bに設定される(レジスタ設定c)。
2番目のブロックに対するアクセスが終了すると、アドレスレジスタ23bに設定されている物理アドレスがアドレスレジスタ23aに転送され、引続き新たにアドレスレジスタ23aに保持された物理アドレス(3番目にアクセスするブロックに対応する物理アドレス)に基づいてフラッシュメモリ11に対するアクセスが開始される。
上述のように2つのアドレスレジスタ23a及びアドレスレジスタ23bを備えている場合は、一方のアドレスレジスタ23bに、次にアクセスするブロックに対応する物理アドレスを予め保持させておくことができるので、アクセス先のブロックが切替わるときに、アドレスレジスタ間の転送処理を行うだけで引続きアクセスを続行することができる。
上記各アドレスレジスタ23a,23bをメインレジスタとサブレジスタとでそれぞれ構成してもよい。例えば、メインレジスタにアクセス先のブロックを指示する物理ブロックアドレスを設定し、サブレジスタにアクセスする先頭のページのページ番号とアクセスするページ数を設定する。
図5は、アドレスレジスタ23a,23bをメインレジスタとサブレジスタとで構成した場合の読出し処理の説明図である。
読出し処理では、フラッシュメモリ11に対して、読出しコマンドが供給され、続いてアドレスレジスタ23aのメインレジスタに保持されている物理アドレスとサブレジスタに保持されているページ番号に基づいて生成されたアドレスデータ(アドレスa)を供給する。フラッシュメモリ11は、供給された読出しコマンド及びアドレスデータに応答してデータaを出力する。尚、サブレジスタに保持されているページ番号とページ数は、アドレスデータをフラッシュメモリ11に供給する毎に更新する。この更新では、ページ番号が+1され、ページ数が−1される。
nページ分のデータを読出す場合は、サブレジスタにアクセスするページ数としてnを設定し、サブレジスタに保持されているページ数が0になるまで読出しコマンド及びアドレスデータが順次供給され、これに応答してフラッシュメモリ11からデータが出力される。先頭のページからnページ目のデータを読出すための読出しコマンド及びアドレスデータを供給した後、アドレスレジスタ23bに保持されている物理アドレス、ページ番号及びページ数がアドレスレジスタ23aに転送される。
アドレスレジスタ23bに保持されていた物理アドレス、ページ番号及びページ数がアドレスレジスタ23aに転送された後、上記と同様に読出しコマンド及びアドレスデータが順次供給され、これに応答してフラッシュメモリ11からデータが出力される。
一方、アドレスレジスタ23bに保持されていた物理アドレス、ページ番号及びページ数がアドレスレジスタ23aに転送されると、制御ブロック23dは、空きフラグレジスタ23cに空き情報を設定する。マイクロプロセッサ22は、空きフラグレジスタ23cに空き情報が設定されたのを検知すると、アドレスレジスタ23bに新たな物理アドレス、ページ番号及びページ数を設定する。マイクロプロセッサ22は、アドレスレジスタ23bに新たな物理アドレス、ページ番号及びページ数を設定した後、空きフラグレジスタ23cに設定された空き情報を解除する。このようにして、フラッシュメモリ11に対するアクセスと並行して、アドレスレジスタ23bに新たな物理アドレス、ページ番号及びページ数が設定される。
以上のように、本実施形態のフラッシュメモリシステム10では、2つのアドレスレジスタ23a及びアドレスレジスタ23bを備えているので、一方のアドレスレジスタ23bに、次にアクセスするブロックに対応する物理アドレスを予め保持させておくことができるので、アクセス先のブロックが切替わるときに、アドレスレジスタ間の転送処理を行うだけで引続きアクセスを続行することができ、アクセスの効率を向上できる。
本発明の実施形態に係るフラッシュメモリシステムの構成図である。 ブロックとページの関係を示す説明図である。 図1中のフラッシュメモリインターフェースブロックの構成を説明する図である。 アクセス処理の効率の説明図である。 アドレスレジスタをメインレジスタとサブレジスタとで構成した場合の読出し処理の説明図である。
符号の説明
10 フラッシュメモリシステム
11 フラッシュメモリ
20 メモリコントローラ
21 ホストインターフェースブロック
22 マイクロプロセッサ
23 フラッシュメモリインターフェースブロック
23a アドレスレジスタ
23b アドレスレジスタ
23c 空きフラグレジスタ
23d 制御ブロック
23e 転送部
24 ECCブロック
25 バッファ
26 ROM
63 SRAM

Claims (3)

  1. ホストシステムから与えられるアクセス指示に基づいて、複数ページからなる物理ブロックを記憶領域に複数持つフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
    前記アクセス指示により指示されるアクセス先の論理アドレスに基づいてアクセス対の物理ブロック及び当該物理ブロック内のアクセス対象のページを特定するためのアドレス情報を生成するアドレス情報生成手段と、
    前記アドレス情報を保持する第1のアドレスレジスタ及び第2のアドレスレジスタと、
    前記第2のアドレスレジスタに有効な前記アドレス情報が保持されているか否かを示すフラグ情報を保持する情報保持手段と、
    前記アドレス情報生成手段により生成された前記アドレス情報を前記第1のアドレスレジスタ又は前記第2のアドレスレジスタ格納するアドレス設定手段と、
    前記第1のアドレスレジスタに保持されている前記アドレス情報に基づいてフラッシュメモリ内のアクセス対象のページを指示する物理アドレスを生成し、生成した前記物理アドレスをフラッシュメモリに供給るアドレス供給手段と、
    前記アドレス供給手段によりフラッシュメモリに供給される前記物理アドレスに基づいて前記第1のアドレスレジスタに保持されている前記アドレス情報に対応するアクセス対象のページに対するアクセスが終了したときに、前記第2のアドレスレジスタに保持されている前記アドレス情報前記第1のアドレスレジスタに転送するアドレス情報転送手段とを備え
    前記アドレス情報転送手段は、前記フラグ情報が前記第2のアドレスレジスタに有効な前記アドレス情報が保持されていることを示す情報であるときに、前記第2のアドレスレジスタに保持されている前記アドレス情報を前記第1のアドレスレジスタに転送すると共に、前記情報保持手段に保持されている前記フラグ情報を前記第2のアドレスレジスタに有効な前記アドレス情報が保持されていないことを示す情報に変更し、
    前記アドレス設定手段は、前記フラグ情報が前記第2のアドレスレジスタに有効な前記アドレス情報が保持されていないことを示す情報であるときに、前記アドレス情報を前記第2のアドレスレジスタに格納すると共に、前記情報保持手段に保持されている前記フラグ情報を前記第2のアドレスレジスタに有効な前記アドレス情報が保持されていることを示す情報に変更し、
    前記アドレス情報は、前記論理アドレスが連続するアクセス先の領域に対応するフラッシュメモリ内の記憶領域を特定するための情報であって、アクセス対象の物理ブロックを特定する第1の情報と、前記第1の情報により特定される物理ブロック内のアクセス対象となるページのページ番号を特定する第2の情報と、前記第1の情報により特定される物理ブロック内のアクセス対象となるページのページ数を特定する第3の情報とで構成されており、
    前記アドレス供給手段は、前記第1の情報及び前記第2の情報に基づいてアクセス対象のページに対応する前記物理アドレスを生成し、フラッシュメモリに前記物理アドレスを供給する毎に前記第2の情報及び前記第3の情報を更新し、前記第3の情報に基づいてフラッシュメモリに対する前記物理アドレスの供給を終了する、
    ことを特徴とするメモリコントローラ。
  2. 請求項1に記載のメモリコントローラとフラッシュメモリを備えることを特徴とするフラッシュメモリシステム。
  3. ホストシステムから与えられるアクセス指示に基づいて、複数ページからなる物理ブロックを記憶領域に複数持つフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
    前記アクセス指示により指示されるアクセス先の論理アドレスに基づいてアクセス対象の物理ブロック及び当該物理ブロック内のアクセス対象のページを特定するためのアドレス情報を生成するアドレス情報生成処理と、
    アドレス情報生成処理により生成された前記アドレス情報を第1のアドレスレジスタ又は第2のアドレスレジスタに格納するアドレス設定処理と、
    前記第1のアドレスレジスタに保持されている前記アドレス情報に基づいてフラッシュメモリ内のアクセス対象のページを指示する物理アドレスを生成し、生成した前記物理アドレスをフラッシュメモリに供給するアドレス供給処理と、
    前記アドレス供給処理によりフラッシュメモリに供給される前記物理アドレスに基づいて前記第1のアドレスレジスタに保持されている前記アドレス情報に対応するアクセス対象のページに対するアクセスが終了したときに、前記第2のアドレスレジスタに保持されている前記アドレス情報を前記第1のアドレスレジスタに転送するアドレス情報転送処理と、
    前記第2のアドレスレジスタに有効な前記アドレス情報が保持されているか否かを示すフラグ情報を保持する情報保持手段に保持されている前記フラグ情報を更新する更新処理とを含み、
    前記アドレス情報転送処理では、前記フラグ情報が前記第2のアドレスレジスタに有効な前記アドレス情報が保持されていることを示す情報であるときに、前記第2のアドレスレジスタに保持されている前記アドレス情報が前記第1のアドレスレジスタに転送され、
    前記アドレス設定処理では、前記フラグ情報が前記第2のアドレスレジスタに有効な前記アドレス情報が保持されていないことを示す情報であるときに、前記アドレス情報が前記第2のアドレスレジスタに格納され、
    前記更新処理では、前記アドレス情報転送処理により前記第2のアドレスレジスタに保持されている前記アドレス情報が前記第1のアドレスレジスタに転送されたときに前記情報保持手段に保持されている前記フラグ情報が前記第2のアドレスレジスタに有効な前記アドレス情報が保持されていないことを示す情報に変更され、前記アドレス設定処理により前記アドレス情報が前記第2のアドレスレジスタに格納されたときに前記情報保持手段に保持されている前記フラグ情報が前記第2のアドレスレジスタに有効な前記アドレス情報が保持されていることを示す情報に変更され、
    前記アドレス情報は、前記論理アドレスが連続するアクセス先の領域に対応するフラッシュメモリ内の記憶領域を特定するための情報であって、アクセス対象の物理ブロックを特定する第1の情報と、前記第1の情報により特定される物理ブロック内のアクセス対象となるページのページ番号を特定する第2の情報と、前記第1の情報により特定される物理ブロック内のアクセス対象となるページのページ数を特定する第3の情報とで構成されており、
    前記アドレス供給処理では、前記第1の情報及び前記第2の情報に基づいてアクセス対象のページに対応する前記物理アドレスが生成され、フラッシュメモリに前記物理アドレスが供給される毎に前記第2の情報及び前記第3の情報が更新され、前記第3の情報に基づいてフラッシュメモリに対する前記物理アドレスの供給を終了する、
    ことを特徴とするフラッシュメモリの制御方法。
JP2005131920A 2005-04-28 2005-04-28 メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 Active JP4304167B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005131920A JP4304167B2 (ja) 2005-04-28 2005-04-28 メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005131920A JP4304167B2 (ja) 2005-04-28 2005-04-28 メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Publications (2)

Publication Number Publication Date
JP2006309539A JP2006309539A (ja) 2006-11-09
JP4304167B2 true JP4304167B2 (ja) 2009-07-29

Family

ID=37476345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005131920A Active JP4304167B2 (ja) 2005-04-28 2005-04-28 メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Country Status (1)

Country Link
JP (1) JP4304167B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102120825B1 (ko) 2013-01-03 2020-06-09 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템

Also Published As

Publication number Publication date
JP2006309539A (ja) 2006-11-09

Similar Documents

Publication Publication Date Title
KR100626393B1 (ko) 불휘발성 메모리 장치 및 그것의 멀티-페이지 카피백 방법
JP4373943B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4177360B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4661497B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2006221334A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2010128697A (ja) メモリシステム
JP4304167B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2006155335A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4609406B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4177292B2 (ja) メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4544167B2 (ja) メモリコントローラおよびフラッシュメモリシステム
JP4513786B2 (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
JP2005292925A (ja) メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4000124B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2005316793A (ja) フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4661748B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4194518B2 (ja) メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP3934659B1 (ja) メモリコントローラ及びフラッシュメモリシステム
JP4177301B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4697146B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4213053B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4235595B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
JP4366283B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム
JP2006178909A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4332108B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090327

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

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

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

Free format text: PAYMENT UNTIL: 20120501

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4304167

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140501

Year of fee payment: 5