JP2010086009A - 記憶装置およびメモリ制御方法 - Google Patents
記憶装置およびメモリ制御方法 Download PDFInfo
- Publication number
- JP2010086009A JP2010086009A JP2008250898A JP2008250898A JP2010086009A JP 2010086009 A JP2010086009 A JP 2010086009A JP 2008250898 A JP2008250898 A JP 2008250898A JP 2008250898 A JP2008250898 A JP 2008250898A JP 2010086009 A JP2010086009 A JP 2010086009A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- information
- logical
- data
- conversion table
- 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.)
- Pending
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】電源異常時から必要なデータの保存完了までの動作時間の短縮を図ることを課題とする。
【解決手段】記憶装置6では、マイクロプロセッサ11が、電源異常を検出したときに、SDRAM14に記憶された管理情報の少なくとも一部(論理・物理変換テーブル142における論理・物理変換テーブル202との差分情報)を、高速な書き込みが可能な不揮発性メモリであるMRAM15に論理・物理変換テーブル差分情報152として書き込み、その後のSDRAM14の復旧時に、必要に応じて、MRAM15に書き込んだ管理情報を用いて、SDRAM14が記憶する管理情報を補正する。
【選択図】図1
【解決手段】記憶装置6では、マイクロプロセッサ11が、電源異常を検出したときに、SDRAM14に記憶された管理情報の少なくとも一部(論理・物理変換テーブル142における論理・物理変換テーブル202との差分情報)を、高速な書き込みが可能な不揮発性メモリであるMRAM15に論理・物理変換テーブル差分情報152として書き込み、その後のSDRAM14の復旧時に、必要に応じて、MRAM15に書き込んだ管理情報を用いて、SDRAM14が記憶する管理情報を補正する。
【選択図】図1
Description
本発明は、不揮発性半導体メモリを用いた記憶装置における電源異常(突然の電力供給停止など)対策の技術に関する。
近年、情報機器の補助記憶装置として、磁気ディスク記憶装置のほかに、耐振性やアクセス速度の面で優れた半導体メモリを記憶媒体とする記憶装置が用いられるようになってきている。その中で、特に、電気的に消去可能で再書き込み可能な不揮発性半導体メモリ(例えば、フラッシュメモリなどのEEPROM(Electrically Erasable Programmable Read Only Memory))を用いたものが、情報機器の補助記憶装置の主流となってきている。
また、一般に、記憶装置は、電源異常が発生した場合でも、その後、正常にデータ復旧できることが望まれる。例えば、特許文献1では、駆動電圧に異常が発生した場合、キャパシタ電源により電力を供給し、バッファメモリに蓄積された全データをフラッシュメモリに書き込む技術が開示されている。
特開2007−257547号公報
しかしながら、フラッシュメモリなどの不揮発性半導体メモリの多くは、データの書き込みに数百マイクロ秒程度の時間がかかる。そのため、特許文献1の技術を含めた従来技術では、電源異常時に必要なデータを保存できない場合が生じるなどの問題があり、電源異常対策が充分とは言えなかった。
そこで、本発明は、前記問題に鑑みてなされたものであり、電源異常時から必要なデータの保存完了までの動作時間の短縮を図ることを課題とする。
前記課題を解決するために、本発明は、記憶領域に対するデータの書き込みを所定の単位で行うと共に、その所定の単位よりデータ量が大きな物理ブロックの単位でデータの消去を行う不揮発性半導体メモリと、外部のホスト装置からの指示に従い、不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御部と、を具備する記憶装置である。メモリ制御部は、不揮発性半導体メモリについての管理情報を記憶する揮発性メモリと、揮発性メモリに記憶された管理情報に基づいて、不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御する演算部と、不揮発性半導体メモリに比べ高速アクセスが可能な不揮発性メモリと、を有する。このような機能を有する不揮発性メモリとしては、例えば、磁気あるいは強誘電体を利用した記憶媒体である不揮発性メモリを用いることができる。そして、演算部は、記憶装置内の電源異常を検出したとき、あるいは、ホスト装置から所定のコマンドを受信したとき、揮発性メモリに記憶された管理情報の少なくとも一部を不揮発性メモリに書き込み、復旧時に、不揮発性メモリに書き込んだ管理情報を用いて、揮発性メモリが記憶する管理情報を補正する。その他の手段については後記する。
本発明によれば、電源異常時から必要なデータの保存完了までの動作時間の短縮を図ることができる。
以下、本発明を実施するための最良の形態(以下、実施形態という。)について、図面を参照(言及図以外の図も適宜参照)しながら説明する。図1は、本実施形態の記憶装置のハードウェア構成を含む説明図である。
図1に示すように、記憶装置6は、ホスト装置3からの指示に基づいてデータの記憶を行う装置であり、ホスト装置3とデータバス4を介してアクセス可能に接続される。データバス4としては、例えばSCSI(Small Computer System Interface)やATA(Advanced Technology Attachment)などが用いられるが、USB(Universal Serial Bus)などの他のデータバスであってもよい。
記憶装置6は、メモリ制御部1、フラッシュメモリ2、および、電圧センサ7を備えている。フラッシュメモリ2とメモリ制御部1とのデータのやり取りは、データバス5を介して行われる。
メモリ制御部1は、マイクロプロセッサ11(演算部)、メモリI/F(インターフェース)制御部12、ホストI/F制御部13、SDRAM(Synchronous Dynamic Random Access Memory)14、MRAM(Magneto-resistive Random Access Memory)15(不揮発性メモリ)、および、センサI/F制御部16を備えている。
マイクロプロセッサ11は、ホスト装置3からの指示に従い、フラッシュメモリ2に対するデータの書き込みおよび読み出しを制御する。
メモリI/F制御部12は、マイクロプロセッサ11からの指示によりフラッシュメモリ2とのアクセス制御を行う。なお、マイクロプロセッサ11からフラッシュメモリ2を直接制御可能であれば、メモリI/F制御部12は必ずしも必要ではない。
ホストI/F制御部13は、ホスト装置3からのデータの書き込みおよび読み出し要求(指示)に従って、ホスト装置3とのデータの送受信を制御する。なお、ホスト装置3からのデータの書き込みおよび読み出し要求は、フラッシュメモリ2に関して構築される論理的記憶領域(詳細は後記)に対して行われる。
SDRAM14は、揮発性(電力供給がなくなるとデータが消える性質)の半導体メモリであり、マイクロプロセッサ11の作業領域である。SDRAM14は、フラッシュメモリ2の管理情報として、格納情報141、論理・物理変換テーブル142、データブロック情報143、交替ブロック情報144、消去待ちブロック情報145、消去回数情報146、および、不良ブロック情報147を記憶している。なお、メモリ14内の各情報は、マイクロプロセッサ11が記憶装置6の電源オン時にフラッシュメモリ2のデータを読み出すことにより、構築される。
格納情報141は、フラッシュメモリ2において論理・物理変換テーブル202と消去回数情報206を格納しているブロックがどのブロックであるかを示したブロック番号の情報である。なお、フラッシュメモリ2では、データの書き込みと読み出しはページ単位(所定の単位)で行なわれ、データの消去は複数ページからなるブロック単位で行われる。また、ブロックには、すでにデータが格納されているデータブロック、データが未格納で待機中の交替ブロック、データの消去を待っている状態の消去待ちブロックがある(詳細は後記)。
論理・物理変換テーブル142は、ホスト装置3からのアクセス時に示される論理アドレスとフラッシュメモリ2上の物理アドレス(ブロック番号とページ番号)との対応情報を格納するテーブルである(詳細は図4で後記)。
データブロック情報143は、フラッシュメモリ2のデータブロックを例えばキュー(先入れ先出しのデータ構造)として記憶する情報である。
交替ブロック情報144は、フラッシュメモリ2の交替ブロックを例えばキューとして記憶する情報である。
消去待ちブロック情報145は、フラッシュメモリ2の消去待ちブロックを例えばキューとして記憶する情報である。
なお、データブロック情報143、交替ブロック情報144、および、消去待ちブロック情報145は、キューとしてではなく、テーブルなどの他の形式で記憶してもよい。
交替ブロック情報144は、フラッシュメモリ2の交替ブロックを例えばキューとして記憶する情報である。
消去待ちブロック情報145は、フラッシュメモリ2の消去待ちブロックを例えばキューとして記憶する情報である。
なお、データブロック情報143、交替ブロック情報144、および、消去待ちブロック情報145は、キューとしてではなく、テーブルなどの他の形式で記憶してもよい。
消去回数情報146は、フラッシュメモリ2のブロックごとの消去回数の情報である。
不良ブロック情報147は、書き込み禁止の不良ブロックのアドレス(ブロック番号)の情報である。なお、この不良ブロック情報147として、フラッシュメモリ2の製造時から存在する先天性の不良ブロックの情報と、フラッシュメモリ2の使用中に発生した後天性の不良ブロックの情報とが別々に記憶されていてもよい。
不良ブロック情報147は、書き込み禁止の不良ブロックのアドレス(ブロック番号)の情報である。なお、この不良ブロック情報147として、フラッシュメモリ2の製造時から存在する先天性の不良ブロックの情報と、フラッシュメモリ2の使用中に発生した後天性の不良ブロックの情報とが別々に記憶されていてもよい。
また、SDRAM14は、上記の各情報のほかに、ブロックごとに次回の書き込みページを管理するためのテーブルなどを有していてもよいが、それらは本発明の特徴と直接関係がないので、図示や詳細な説明を省略する。
MRAM15は、磁気によってデータを記憶する不揮発性(電力供給がなくなってもデータが消えない性質)のメモリであり、定期的、あるいは、電源異常(例えば電源電圧低下)などの緊急時に、SDRAM14内の情報の少なくとも一部を格納するための手段である。MRAM15は、格納情報151、論理・物理変換テーブル差分情報152、消去待ちブロック情報155、消去回数差分情報156、および、不良ブロック情報157を記憶している。なお、これらの各情報の符号の1の位の数字(例えば「152」の「2」)は、それぞれ対応するSDRAM14内の情報の符号の1の位の数字(例えば「142」の「2」)と整合をとったものである。
格納情報151は、格納情報141と同一の情報である。
論理・物理変換テーブル差分情報152は、論理・物理変換テーブル142の内容のうち、フラッシュメモリ2の論理・物理変換テーブル202の内容と異なる部分(差分)の情報である(詳細は図5で後記)。
論理・物理変換テーブル差分情報152は、論理・物理変換テーブル142の内容のうち、フラッシュメモリ2の論理・物理変換テーブル202の内容と異なる部分(差分)の情報である(詳細は図5で後記)。
消去待ちブロック情報155は、消去待ちブロック情報145と同一の情報である。
消去回数差分情報156は、消去回数情報146の内容のうち、フラッシュメモリ2の消去回数情報206の内容と異なる部分(差分)の情報である。
不良ブロック情報147は、不良ブロック情報157と同一の情報である。
消去回数差分情報156は、消去回数情報146の内容のうち、フラッシュメモリ2の消去回数情報206の内容と異なる部分(差分)の情報である。
不良ブロック情報147は、不良ブロック情報157と同一の情報である。
フラッシュメモリ2は、不揮発性の半導体メモリであり、ホスト装置3からの指示に従ってメモリ制御部1がデータの書き込みおよび読み出しを制御する対象の記憶媒体である。フラッシュメモリ2は、格納情報201、論理・物理変換テーブル202、消去回数情報206、不良ブロック情報207、および、オリジナルデータ208を記憶している。なお、これらの各情報の符号の1の位の数字(例えば「206」の「6」)は、それぞれ対応するSDRAM14内の情報の符号の1の位の数字(例えば「146」の「6」)と整合をとったものである。
格納情報201、論理・物理変換テーブル202、消去回数情報206、および、不良ブロック情報207としては、マイクロプロセッサ11によって定期的に、SDRAM14内の格納情報141、論理・物理変換テーブル142、消去回数情報146、および、不良ブロック情報147のそれぞれの情報が格納される。
オリジナルデータ208は、ホスト装置3からの指示に従ってメモリ制御部1がフラッシュメモリ2に対して書き込みおよび読み出しを行うデータ(実データ)である。
センサI/F制御部16は、マイクロプロセッサ11からの指示により電圧センサ7とのアクセス制御を行う。
電圧センサ7は、記憶装置6内の電圧値を検出し、その検出値をセンサI/F制御部16に送信する。
電圧センサ7は、記憶装置6内の電圧値を検出し、その検出値をセンサI/F制御部16に送信する。
図2は、本実施形態の半導体メモリの内部構成を示した図である。図2では、フラッシュメモリ2に関する論理的記憶領域を示している。図1に示したホスト装置3は、記憶装置6に関して、この論理的記憶領域を認識する。
ブロック21は、データ消去の最小単位である。ページ211は、データの読み出しおよび書き込みの単位である。図2において、フラッシュメモリ2の論理的記憶領域は、複数のブロック21で構成されており、ブロック21は複数のページ211により構成されている。すなわち、フラッシュメモリ2の論理的記憶領域は、ブロック1からブロックm(整数)までのm個の各ブロック21を有し、それぞれのブロックは、ページ1からページn(整数)までのn個のページを有している。
図3は、メモリ制御部の制御によりフラッシュメモリに関して構築される論理的記憶領域を示した図である。
フラッシュメモリ2に関する論理的記憶領域として、データブロック22と交替ブロック23がある。
データブロック22は、データを記憶する一つあるいは複数のブロックからなるブロックであり、ブロック1からブロックp(整数)までの論理ブロックを有している。各ブロックは、図示のようにデータページ222と交替ページ223で構成されている。
フラッシュメモリ2に関する論理的記憶領域として、データブロック22と交替ブロック23がある。
データブロック22は、データを記憶する一つあるいは複数のブロックからなるブロックであり、ブロック1からブロックp(整数)までの論理ブロックを有している。各ブロックは、図示のようにデータページ222と交替ページ223で構成されている。
データページ222は、ページ1からページq(整数)までのデータを保持するページを有していて、交替ページ223は、ページ(q+1)からページn(整数)までを有している。この交替ページ223は、消去済みの再書込み可能なページである。
また、交替ブロック23は、ブロック(p+1)からブロックm(整数)までの消去済みの交替用のブロックであり、各ブロックは、ページ1からページn(整数)までの消去済みページ232で構成されている。
ここで、データページ222は、ユーザがホスト装置3からの指示に従いデータを読み書きすることができる領域である。このデータページ222には、フラッシュメモリ2の制約上から上書きができないため、メモリ制御部1の制御による上書き処理後の上書きデータは交替ページ223に記憶される。
そして、交替ページ223に記憶できないときは、新たに交替ブロック23を割り当て、書き込みをする。このとき、上書き処理後の有効部分である、交替ページ223の上書きデータおよびデータページ222の非上書きデータを交替ブロック23に書き写して交替させる。さらに、交替後の交替ページ223およびデータページ222はデータ消去して交替ブロック23の候補とする。
なお、図3における「p」および「q」の値は、本実施形態では記憶装置6の製造時に初期値として設定するものである。この「p」および「q」の値の設定方法については、特に限定しないが、予め設定しておくほかに、マイクロプロセッサ11へデバッガを接続して設定するようにしてもよい。また、ホスト装置3から予め決められたコマンドを発行して設定してもよい。また、「p」および「q」の値を可変としてテーブル管理することも可能であるが、本実施形態では説明を容易にするため、固定値として扱う。
図4は、論理・物理変換テーブルの構成例を示した図である。論理・物理変換テーブル142は、ホスト装置3からのアクセス時に示される論理アドレスと、フラッシュメモリ2の物理アドレス(ブロック番号およびページ番号)と、未反映フラグの各項目から構成される。未反映フラグは、論理・物理変換テーブル142の論理アドレスと物理アドレスの対応情報のうち、論理・物理変換テーブル202にまだ反映していない情報に対して立てられるフラグである。
これらの各項目のうち、論理アドレスの値は原則として初期設定状態から不変であるが、物理アドレスと未反映フラグはメモリ制御部1によるフラッシュメモリ2に対する書き込み動作などに応じてマイクロプロセッサ11によって書き換えられる。
図5は、論理・物理変換テーブル差分情報の構成例を示した図である。前記したように、論理・物理変換テーブル差分情報152は、論理・物理変換テーブル142の内容のうち、フラッシュメモリ2の論理・物理変換テーブル202の内容と異なる部分(差分)の情報であり、具体的には、論理・物理変換テーブル142において未反映フラグが立てられている論理アドレスと物理アドレスの対応情報の集合である。
次に、図6を参照して、フラッシュメモリ2に対する書き込み処理について説明する。図6は、フラッシュメモリに対する書き込み処理を示したフローチャートである。なお、メモリI/F制御部12とホストI/F制御部13とセンサI/F制御部16の動作については説明を省略する。
まず、マイクロプロセッサ11は、ホスト装置3から書き込み指示(論理アドレス、データおよびデータサイズの送信)があったか否かを判定する(ステップS601)。書き込み指示がない場合(ステップS601でNo)、ステップS608に進む。
書き込み指示があった場合(ステップS601でYes)、マイクロプロセッサ11は、SDRAM14の各情報(格納情報141、論理・物理変換テーブル142、データブロック情報143および交替ブロック情報144)を参照してフラッシュメモリ2へのデータの書き込みを開始する(ステップS602)。なお、ステップS602において、マイクロプロセッサ11は、特定した各ブロック内のページの空き容量が十分であるかの確認や、その空き容量が十分でない場合に書き込み対象を別のブロックとするブロック交替処理や、書き込みエラーにともなうブロック交替処理などを行うが、それらの詳細な説明は省略する。
続いて、マイクロプロセッサ11は、電源異常を検出したか否か、つまり、電圧センサ7から定期的に受信する電圧値が所定値よりも低いか否かを判定する(ステップS603)。
電源異常を検出しなかったと判定した場合(ステップS603でNo)、マイクロプロセッサ11は、ステップS602で開始したフラッシュメモリ2へのデータの書き込みが完了したか否かを判定し(ステップS606)、完了していないと判定した場合(No)ステップS603に戻る。なお、このステップS606の判定は、例えば、所定のテーブル(情報)やフラグ(不図示)を使用することにより行うことができる。
完了したと判定した場合(ステップS606でYes)、マイクロプロセッサ11は、SDRAM14の各情報(格納情報141〜不良ブロック情報147)を更新し(ステップS607)、電源異常を検出したか否かを判定する(ステップS608)。
電源異常を検出したと判定した場合(ステップS608でYes)、ステップS605に進む(ステップS605の処理については後記)。
電源異常を検出しなかったと判定した場合(ステップS608でNo)、マイクロプロセッサ11は、定期的なバックアップのタイミングが到来したか否かを判定し(ステップS609)、到来していないと判定した場合(No)、ステップS601に戻る。
電源異常を検出しなかったと判定した場合(ステップS608でNo)、マイクロプロセッサ11は、定期的なバックアップのタイミングが到来したか否かを判定し(ステップS609)、到来していないと判定した場合(No)、ステップS601に戻る。
定期的なバックアップのタイミングが到来したと判定した場合(ステップS609でYes)、マイクロプロセッサ11は、SDRAM14の各情報(格納情報141、論理・物理変換テーブル142、消去回数情報146、および、不良ブロック情報147)を、それぞれ、フラッシュメモリ2の格納情報201、論理・物理変換テーブル202、消去回数情報206、および、不良ブロック情報207に反映させ(データ保存し)、処理を終了する。
電源異常を検出したと判定した場合(ステップS603でYes)、マイクロプロセッサ11は、フラッシュメモリ2に緊急停止を通知する(ステップS604)。つまり、その後のSDRAM14の復旧時にフラッシュメモリ2の論理・物理変換テーブル202の情報をそのままでは使用できない(論理・物理変換テーブル差分情報152の情報を合わせて使用しなければならない)旨をフラッシュメモリ2に書き込む。この書き込みにより、SDRAM14の復旧時に、マイクロプロセッサ11は、フラッシュメモリ2の論理・物理変換テーブル202の情報をそのままでは使用できないことを認識できる。
次に、マイクロプロセッサ11は、MRAM15の論理・物理変換テーブル差分情報152を更新する、つまり、論理・物理変換テーブル142において未反映フラグの立っている論理アドレスと物理アドレスの対応情報を論理・物理変換テーブル差分情報152に書き込み(ステップS605)、処理を終了する。
このように、ステップS605において、フラッシュメモリ2よりも高速な書き込みが可能なMRAM15に論理・物理変換テーブル差分情報152を書き込むことで、電源異常時から必要なデータ(論理・物理変換テーブル差分情報152)の保存完了までの動作時間の短縮を図ることができる。
次に、図7を参照して、SDRAM14の復旧処理について説明する。図7は、SDRAMの復旧処理を示したフローチャートである。なお、メモリI/F制御部12の動作については説明を省略する。
電源異常発生後にSDRAM14を復旧する場合、まず、マイクロプロセッサ11は、フラッシュメモリ2から論理・物理変換テーブル202と消去回数情報206をSDRAM14上に読み出して、それぞれ、論理・物理変換テーブル142と消去回数情報146とする(ステップS71)。
次に、マイクロプロセッサ11は、MRAM15の論理・物理変換テーブル差分情報152としてデータがあるか否かを判定し(ステップS72)、当該データがなければ(No)処理を終了し、当該データがあれば(Yes)ステップS73に進む。
ステップS73において、マイクロプロセッサ11は、MRAM15の各情報(論理・物理変換テーブル差分情報152、消去待ちブロック情報155および消去回数差分情報156)を読み出して、SDRAM14の各情報(論理・物理変換テーブル142、消去待ちブロック情報145および消去回数情報146)を復旧する。
続いて、マイクロプロセッサ11は、SDRAM14の各情報(格納情報141、論理・物理変換テーブル142、消去回数情報146、および、不良ブロック情報147)を、それぞれ、フラッシュメモリ2の格納情報201、論理・物理変換テーブル202、消去回数情報206、および、不良ブロック情報207に反映させ(データ保存し)、処理を終了する。
このように、本実施形態の記憶装置6によれば、マイクロプロセッサ11が、電源異常(例えば電源電圧低下)を検出したときに、揮発性メモリであるSDRAM14に記憶された管理情報の少なくとも一部(論理・物理変換テーブル142における論理・物理変換テーブル202との差分情報)を、高速な書き込みが可能な不揮発性メモリであるMRAM15に論理・物理変換テーブル差分情報152として書き込む。その後、SDRAM14の復旧時に、必要に応じて、MRAM15に書き込んだ管理情報(定期的に書き込んだ格納情報151、消去待ちブロック情報155、消去回数差分情報156および不良ブロック情報157と、電源異常検出時に書き込んだ論理・物理変換テーブル差分情報152)を用いて、SDRAM14が記憶する各管理情報を補正する。これにより、電源異常時から必要なデータである管理情報の保存完了までの動作時間の短縮を図ることができる。また、この迅速な処理により、電源異常時にフラッシュメモリ2に書き込みを行うことによって発生する素子劣化の可能性を低減することができる。
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。
例えば、MRAM15にデータを退避させるのは、記憶装置6の電圧値が下がったときだけでなく、ホスト装置3から所定のコマンドを受信したときや、ホスト装置3からの定時発信信号を受信しなかったときなどでもよい。
例えば、MRAM15にデータを退避させるのは、記憶装置6の電圧値が下がったときだけでなく、ホスト装置3から所定のコマンドを受信したときや、ホスト装置3からの定時発信信号を受信しなかったときなどでもよい。
また、記憶装置6にバックアップ電源を備えておき、電圧低下時は、バックアップ電源による電力供給を受けるようにしてもよい。その場合、バックアップ電源は、MRAMに書き込みを行う時間を少し引き延ばすことができればよいのでキャパシタなどの小容量のものでよい。
さらに、MRAM15に故障が発生した際などに、フラッシュメモリ2の全記憶領域をサーチすることによってSDRAM14の各情報(格納情報141〜不良ブロック情報147)を復旧するようにしてもよい。
また、MRAM15の代わりに、強誘電体のヒステリシス(履歴現象)を利用した高速アクセス可能な不揮発性の半導体メモリ(不揮発性メモリ)であるFeRAM(Ferroelectric Random Access Memory)などを用いてもよい。
その他、ハードウェア、ソフトウェアの具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
また、MRAM15の代わりに、強誘電体のヒステリシス(履歴現象)を利用した高速アクセス可能な不揮発性の半導体メモリ(不揮発性メモリ)であるFeRAM(Ferroelectric Random Access Memory)などを用いてもよい。
その他、ハードウェア、ソフトウェアの具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
1 メモリ制御部
2 フラッシュメモリ(不揮発性半導体メモリ)
3 ホスト装置
4,5,8 データバス
6 記憶装置
7 電圧センサ
11 マイクロプロセッサ(演算部)
12 メモリI/F制御部
13 ホストI/F制御部
14 SDRAM(揮発性半導体メモリ)
15 MRAM(不揮発性メモリ)
16 センサI/F制御部
2 フラッシュメモリ(不揮発性半導体メモリ)
3 ホスト装置
4,5,8 データバス
6 記憶装置
7 電圧センサ
11 マイクロプロセッサ(演算部)
12 メモリI/F制御部
13 ホストI/F制御部
14 SDRAM(揮発性半導体メモリ)
15 MRAM(不揮発性メモリ)
16 センサI/F制御部
Claims (6)
- 記憶領域に対するデータの書き込みを所定の単位で行うと共に、その所定の単位よりデータ量が大きな物理ブロックの単位でデータの消去を行う不揮発性半導体メモリと、
外部のホスト装置からの指示に従い、前記不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御部と、
を具備する記憶装置であって、
前記メモリ制御部は、
前記不揮発性半導体メモリについての管理情報を記憶する揮発性メモリと、
前記揮発性メモリに記憶された前記管理情報に基づいて、前記不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御する演算部と、
前記不揮発性半導体メモリに比べ高速アクセスが可能な不揮発性メモリと、
を有し、
前記演算部は、
前記記憶装置内の電源異常を検出したとき、あるいは、前記ホスト装置から所定のコマンドを受信したとき、前記揮発性メモリに記憶された前記管理情報の少なくとも一部を前記不揮発性メモリに書き込み、
復旧時に、前記不揮発性メモリに書き込んだ前記管理情報を用いて、前記揮発性メモリが記憶する前記管理情報を補正する
ことを特徴とする記憶装置。 - 前記揮発性メモリが記憶する前記管理情報は、前記不揮発性半導体メモリの論理アドレスと物理アドレスとの対応情報を格納した論理・物理変換テーブルを含み、
前記論理・物理変換テーブルは、前記不揮発性半導体メモリにも記憶されており、
前記演算部は、
前記記憶装置内の電源異常を検出したとき、あるいは、前記ホスト装置から所定のコマンドを受信したとき、前記揮発性メモリに記憶された前記論理・物理変換テーブルの情報のうち、前記不揮発性半導体メモリに記憶された前記論理・物理変換テーブルの情報との差分情報を前記不揮発性メモリに書き込む
ことを特徴とする請求項1に記載の記憶装置。 - 前記演算部は、
前記差分情報を前記不揮発性メモリに書き込むとともに、前記不揮発性メモリに書き込んだ前記差分情報を前記揮発性メモリの復旧時に使用すべきことを、前記不揮発性半導体メモリに対して書き込む
ことを特徴とする請求項2に記載の記憶装置。 - 記憶領域に対するデータの書き込みを所定の単位で行うと共に、その所定の単位よりデータ量が大きな物理ブロックの単位でデータの消去を行う不揮発性半導体メモリと、
外部のホスト装置からの指示に従い、前記不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御部と、
を具備する記憶装置によるメモリ制御方法であって、
前記メモリ制御部は、
前記不揮発性半導体メモリについての管理情報を記憶する揮発性メモリと、
前記揮発性メモリに記憶された前記管理情報に基づいて、前記不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御する演算部と、
前記不揮発性半導体メモリに比べ高速アクセスが可能な不揮発性メモリと、
を有しており、
前記演算部は、
前記記憶装置内の電源異常を検出したとき、あるいは、前記ホスト装置から所定のコマンドを受信したとき、前記揮発性メモリに記憶された前記管理情報の少なくとも一部を前記不揮発性メモリに書き込み、
復旧時に、前記不揮発性メモリに書き込んだ前記管理情報を用いて、前記揮発性メモリが記憶する前記管理情報を補正する
ことを特徴とするメモリ制御方法。 - 前記揮発性メモリが記憶する前記管理情報は、前記不揮発性半導体メモリの論理アドレスと物理アドレスとの対応情報を格納した論理・物理変換テーブルを含み、
前記論理・物理変換テーブルは、前記不揮発性半導体メモリにも記憶されており、
前記演算部は、
前記記憶装置内の電源異常を検出したとき、あるいは、前記ホスト装置から所定のコマンドを受信したとき、前記揮発性メモリに記憶された前記論理・物理変換テーブルの情報のうち、前記不揮発性半導体メモリに記憶された前記論理・物理変換テーブルの情報との差分情報を前記不揮発性メモリに書き込む
ことを特徴とする請求項4に記載のメモリ制御方法。 - 前記演算部は、
前記差分情報を前記不揮発性メモリに書き込むとともに、前記不揮発性メモリに書き込んだ前記差分情報を前記揮発性メモリの復旧時に使用すべきことを、前記不揮発性半導体メモリに対して書き込む
ことを特徴とする請求項5に記載のメモリ制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008250898A JP2010086009A (ja) | 2008-09-29 | 2008-09-29 | 記憶装置およびメモリ制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008250898A JP2010086009A (ja) | 2008-09-29 | 2008-09-29 | 記憶装置およびメモリ制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010086009A true JP2010086009A (ja) | 2010-04-15 |
Family
ID=42249959
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008250898A Pending JP2010086009A (ja) | 2008-09-29 | 2008-09-29 | 記憶装置およびメモリ制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2010086009A (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011059866A (ja) * | 2009-09-08 | 2011-03-24 | Toshiba Corp | コントローラ、及びデータ記憶装置 |
| CN102682835A (zh) * | 2011-03-11 | 2012-09-19 | 晨星软件研发(深圳)有限公司 | 动态随机存取存储器的控制方法及控制器 |
| JP2014517412A (ja) * | 2011-10-05 | 2014-07-17 | 株式会社日立製作所 | ストレージシステム及びストレージ方法 |
| US8862808B2 (en) | 2011-03-28 | 2014-10-14 | Fujitsu Limited | Control apparatus and control method |
| JP2016154031A (ja) * | 2016-04-04 | 2016-08-25 | 株式会社バッファローメモリ | Ssd(ソリッドステートドライブ)装置 |
| US9891838B2 (en) | 2015-03-13 | 2018-02-13 | Samsung Electronics Co., Ltd. | Method of operating a memory system having a meta data manager |
| JP2020123023A (ja) * | 2019-01-29 | 2020-08-13 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001147865A (ja) * | 1999-11-22 | 2001-05-29 | Hitachi Ltd | ディスク制御装置 |
| JP2003167795A (ja) * | 2001-11-16 | 2003-06-13 | Samsung Electronics Co Ltd | フラッシュメモリの管理方法 |
| WO2006104036A1 (ja) * | 2005-03-28 | 2006-10-05 | Matsushita Electric Industrial Co., Ltd. | 記憶装置 |
| JP2007018499A (ja) * | 2005-06-06 | 2007-01-25 | Sony Corp | 記憶装置 |
-
2008
- 2008-09-29 JP JP2008250898A patent/JP2010086009A/ja active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001147865A (ja) * | 1999-11-22 | 2001-05-29 | Hitachi Ltd | ディスク制御装置 |
| JP2003167795A (ja) * | 2001-11-16 | 2003-06-13 | Samsung Electronics Co Ltd | フラッシュメモリの管理方法 |
| WO2006104036A1 (ja) * | 2005-03-28 | 2006-10-05 | Matsushita Electric Industrial Co., Ltd. | 記憶装置 |
| JP2007018499A (ja) * | 2005-06-06 | 2007-01-25 | Sony Corp | 記憶装置 |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011059866A (ja) * | 2009-09-08 | 2011-03-24 | Toshiba Corp | コントローラ、及びデータ記憶装置 |
| CN102682835A (zh) * | 2011-03-11 | 2012-09-19 | 晨星软件研发(深圳)有限公司 | 动态随机存取存储器的控制方法及控制器 |
| US8862808B2 (en) | 2011-03-28 | 2014-10-14 | Fujitsu Limited | Control apparatus and control method |
| JP2014517412A (ja) * | 2011-10-05 | 2014-07-17 | 株式会社日立製作所 | ストレージシステム及びストレージ方法 |
| US8972651B2 (en) | 2011-10-05 | 2015-03-03 | Hitachi, Ltd. | Storage system and storage method |
| US9529537B2 (en) | 2011-10-05 | 2016-12-27 | Hitachi, Ltd. | Storage system and storage method |
| US9891838B2 (en) | 2015-03-13 | 2018-02-13 | Samsung Electronics Co., Ltd. | Method of operating a memory system having a meta data manager |
| JP2016154031A (ja) * | 2016-04-04 | 2016-08-25 | 株式会社バッファローメモリ | Ssd(ソリッドステートドライブ)装置 |
| JP2020123023A (ja) * | 2019-01-29 | 2020-08-13 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8046528B2 (en) | Data writing method for flash memory, and flash memory controller and storage device thereof | |
| US10776153B2 (en) | Information processing device and system capable of preventing loss of user data | |
| US8131911B2 (en) | Data writing method, and flash storage system and controller using the same | |
| US9582416B2 (en) | Data erasing method, memory control circuit unit and memory storage apparatus | |
| US9940045B2 (en) | Address mapping table recovery upon power failure | |
| US9280460B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
| US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
| US9501356B2 (en) | Fast data back-up and restore between volatile and flash memory | |
| US20100180068A1 (en) | Storage device | |
| JP5990430B2 (ja) | Ssd(ソリッドステートドライブ)装置 | |
| US8589619B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
| US9442834B2 (en) | Data management method, memory controller and memory storage device | |
| US20100169556A1 (en) | Nonvolatile storage device, information recording system, and information recording method | |
| JP4182993B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
| CN101625897B (zh) | 用于快闪存储器的数据写入方法、储存系统与控制器 | |
| JP2013222435A (ja) | 半導体記憶装置及びその制御方法 | |
| TWI420313B (zh) | 資料管理方法、記憶體控制器與嵌入式記憶體儲存裝置 | |
| JP2010086009A (ja) | 記憶装置およびメモリ制御方法 | |
| US8380920B2 (en) | Flash storage device and data access method of flash memory | |
| US20090259796A1 (en) | Data writing method for non-volatile memory and storage system and controller using the same | |
| CN119512444A (zh) | 存储器装置的数据存取管理的方法、存储器控制器、存储器装置以及电子装置 | |
| JP4829202B2 (ja) | 記憶装置及びメモリ制御方法 | |
| CN106558325A (zh) | 存储装置及数据写进方法 | |
| JP4661369B2 (ja) | メモリコントローラ | |
| JP2003263894A (ja) | 不揮発性半導体メモリ装置の制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101111 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120918 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121116 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121211 |