[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4829202B2 - 記憶装置及びメモリ制御方法 - Google Patents

記憶装置及びメモリ制御方法 Download PDF

Info

Publication number
JP4829202B2
JP4829202B2 JP2007286428A JP2007286428A JP4829202B2 JP 4829202 B2 JP4829202 B2 JP 4829202B2 JP 2007286428 A JP2007286428 A JP 2007286428A JP 2007286428 A JP2007286428 A JP 2007286428A JP 4829202 B2 JP4829202 B2 JP 4829202B2
Authority
JP
Japan
Prior art keywords
data
block
replacement
area
memory control
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 - Fee Related
Application number
JP2007286428A
Other languages
English (en)
Other versions
JP2009116465A (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.)
Hitachi Ltd
Hitachi Information and Control Solutions Ltd
Original Assignee
Hitachi Ltd
Hitachi Information and Control Solutions 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 Hitachi Ltd, Hitachi Information and Control Solutions Ltd filed Critical Hitachi Ltd
Priority to JP2007286428A priority Critical patent/JP4829202B2/ja
Publication of JP2009116465A publication Critical patent/JP2009116465A/ja
Application granted granted Critical
Publication of JP4829202B2 publication Critical patent/JP4829202B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Description

本発明は、記憶装置及びメモリ制御方法に係り、特に不揮発性の半導体メモリを用いた比較的小規模のデータのライト/リードを行う記憶装置及びその制御方法に関するものである。
一般に、情報機器の補助記憶装置として、従来から磁気ディスク記憶装置が用いられている。この磁気ディスク記憶装置では、データの書込みや読出しの単位をセクタと呼ばれる記憶単位に分割し、磁気円盤上に記憶するものである。
この従来型の磁気ディスク記憶装置では、データの書き換えにおいて、基本的に磁気円盤上の同一の記録位置に書き換えが行われるようになっている。また、磁気ディスク記憶装置は、記憶媒体となる磁気円盤を回転させた状態で磁気ヘッドを磁気円盤上の記録位置にアクセスさせることにより記憶している。
これに対し、近年、半導体メモリを記憶媒体とする補助記憶装置が脚光を浴びている。特に電気的に消去可能で再書込み可能な不揮発性半導体メモリ(例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)やその一種であるフラッシュメモリ)を用いたものが、情報機器の補助記憶装置の主流となっている。
従来、このような不揮発性半導体メモリのメモリ制御方式として、消去単位である物理ブロックの書換え回数をカウントし、一定回数になった場合に予備のブロックに移行する方式が知られている。このメモリ制御方式は、上記ブロック内を更に分割し、各々の領域の書換え回数をカウントし、一定回数になった場合に予備領域に移行する制御を施すものである(特許文献1参照)。
また、フラッシュメモリに接続され、フラッシュメモリに対するホストシステムからのアクセスを制御するメモリコントローラが提案されている。このフラッシュメモリは、複数ページからなる物理ブロックが複数含まれる記憶領域を有し、データの消去が物理ブロック単位で行われるとともに、物理ブロックのデータの消去済の部分にページ単位でデータの書き込みが可能なメモリである。これらのデータの消去あるいは書き込み制御がメモリコントローラによって行われるのである。
また、このフラッシュメモリは、各物理ブロックの複数のページのうちの一部のページを、書き替え前のデータを書き込むためのオリジナルデータ記憶部としている。また、オリジナルデータ記憶部以外のページを、書き替え後のデータを書き込むための更新データ記憶部としており、書き替えデータがホストシステムから与えられたときに、これを更新データ記憶部に書き込むようにしている(特許文献2参照)。
特開2000−20252号公報 特開2007−94571号公報
上述した不揮発性メモリの一種であるフラッシュメモリは、電気的に消去可能でかつ再書き込みが可能なPROM(Programmable Read Only Memory)であり、上述したEEPROM(Electrically Erasable PROM)もその一種である。このため、データの書込み単位と消去(書換え)単位が同一ではなく、消去単位の方が極めて大きいという特徴がある。
従って、一度書込んだデータを書換えるためには、他の多くのデータも同時に消去しなければならない。そこで、特許文献1記載の技術のように大容量のデータを取り扱う場合は、消去単位を気にせずに、特定エリアの書換え回数を管理し、その書き換えの頻度が高い場合に交替エリアへ移行するようにする。
しかし、小容量のデータを取り扱う場合に上記同様の管理を行うと、書換えの度に、書換えするメモリ領域より大きな領域を消去することになる。このため、その都度発生する、消去動作や書き込み位置の特定動作により応答性能が低下するという問題が生じる。また、メモリ装置の許容書換え回数が十分に確保できないという問題も発生する。
また、特許文献2記載の技術では、書き替えデータの書き込みの際に、オリジナルデータ記憶部のページに対応する更新データ記憶部のページに、書き替えデータを書き込むため、更新データ記憶部のページ数をオリジナルデータ記憶部のページ数と同じだけ用意しなければならないという問題が起こる。
このため、オリジナルデータ記憶部の特定ページに書き替えが集中した場合、更新のないデータ部分は、書き替えがされないまま、ブロック交替されるため、無駄があるという問題がある。
そこで、本発明の目的は、書換えによる応答性能を落とすことなく、半導体メモリの消去回数の制約による影響を小さくし、かつ書換え後の不要な占有領域を低減させることができる記憶装置及びメモリ制御方法を提供することである。
上記課題を解決するために、本発明の記憶装置は、記憶領域に対するデータの書き込み及び読み出しの単位より大きな物理ブロックの単位でデータの消去を行う不揮発性半導体メモリと、外部のホストシステムからの指示に従い、半導体メモリに対する読み出し又は書き込みを制御するメモリ制御部とを具備する。
ここで、記憶領域は、1又は複数の物理ブロックからなるデータブロックと1又は複数の物理ブロックからなる交替ブロックとから構成されており、データブロックは、データを記憶するデータ領域と、消去済みでデータ領域に記憶したデータの再書き込みが可能な交替領域とから構成されている。そして、交替ブロックは、消去済み領域を有するようにメモリ制御装置によって制御される。
ここで、交替ブロックは、データブロックのうちの有効データを消去済み領域に書き込み可能に制御される。
また、交替ブロックに有効データが書き込まれた後に、データブロックは、交替ブロックの候補となるようにデータ領域と交替領域とを消去済み領域とするように制御される。
本発明によれば、使用する半導体メモリがデータの書き込み、読み出しの単位に比べ、より大きな物理ブロックの単位でデータの消去を行う場合であっても、書込み毎に半導体メモリの消去を行う必要がなくなるため、書込み時の応答性能を飛躍的に向上させることができる。
また、半導体メモリの消去が書き込み毎に発生しないため、半導体メモリの消去回数の制約を緩和することができる。
また、書込み毎に“リード・モディファイ・ライト”をしないため、応答性能を向上できる。また、オリジナルデータ毎に更新データを対応付けしていないため、全体的なメモリ容量の使用性を向上できる。
以下、本発明の実施の形態例を図1〜図11を用いて説明する。
図1は本発明の実施の形態を実現するためのハードウェア構成例を示す図である。
最初に図1に基づいて本実施例のハードウェア構成について説明する。
図1に示す記憶装置6は、ホスト装置3とデータバス4を介してアクセス可能に接続される。
記憶装置6は、メモリ制御部1と半導体メモリ2とから構成される。メモリ制御部1は、マイクロプロセッサ11と、メモリI/F(インターフェース)制御部12と、ホストI/F制御部13と、メモリ14とを有している。
マイクロプロセッサ11は、半導体メモリ2内に、記憶装置6の物理的記憶領域に対応する論理的記憶領域を構築すると共に、この論理的記憶領域へのデータの書き込み及び読み出しを制御する。
メモリI/F制御部12は、マイクロプロセッサ11からの指示により半導体メモリ2とのアクセス制御を行う。なお、マイクロプロセッサ11から半導体メモリ2を直接制御可能であれば、メモリI/F制御部12は必ずしも必要ではない。
ホストI/F制御部13は、ホスト装置3からのデータの書き込み及び読み出し要求に従って、ホスト装置3とのデータの送受を制御する。ホスト装置3からのデータの書き込み及び読み出し要求は、半導体メモリ2内に構築された論理的記憶領域に対して行われるものである。
メモリ14は、論理/物理変換テーブル141と、次回書込みページ管理テーブル142と、交替ブロックリストテーブル143と、消去回数管理テーブル144と、消去候補管理テーブル145とを有している。
本発明の実施の形態においては、メモリの種類については言及しないが、SRAM(Static Random Access Memory)やDRAM(Dynamic RAM)又はMRAM(Magneto-resistive RAM)等のメモリ素子を使用することができる。
本実施の形態例では、説明に必要な各種テーブルの構成のみを記載する。テーブルの内容は、記憶装置6自体の初期化時にマイクロプロセッサ11が設定するものとする。また、各テーブルの更新方法の詳細については、ここでは言及しない。
メモリ14中の論理/物理変換テーブル141は、ホスト装置3からのアクセスによって示される論理アドレスと半導体メモリ2上の物理アドレスとの対応付けを行うテーブルである。
ここで、図2以降の説明に入る前に、図7〜図11に基づいて、上述した図1のメモリ14中のテーブル構成について説明しておく。
図7は、論理/物理変換テーブル141の構成例を示した図である。図7Aは初期状態、図7Bはページ書き換え後、図7Cはブロック交替後の状態を示している。
論理/物理変換テーブル141は、ホスト装置3からのアクセスにて示される論理アドレス1410と半導体メモリ2上のブロック番号とページ番号からなる物理アドレス1411で構成される。
なお、ブロック番号とページ番号の他にチップ番号を追加することで半導体メモリ2が複数ある場合にも、図7に示す論理/物理変換テーブル141の構成を容易に拡張することができる。
図7に示す物理アドレス1411は、後述する動作によって物理アドレス1411の値が変わり、例えば図7Aに示す初期状態や、図7Bに示すページ書換え後や、図7Cに示すブロック交替後のような状態に移り変わる。
次回書込みページ管理テーブル142は、各ブロックの次に書込むページの先頭アドレスを格納するテーブルである。図8に次回書込みページ管理テーブル142の構成例を示す。図8Aは初期状態、図8Bはページ書き換え後、図8Cはブロック交替後である。
次回書込みページ管理テーブル142は、各ブロックの番号を示すブロック番号1420と各々の次回書込むべきページを示す次回書込みページ1421で構成されている。次回書込みページ管理テーブル142は、例えば図8Aに示す初期状態や、図8Bに示すページ書換え後や、図8Cに示すブロック交替後のような状態に移り変わる。
交替ブロックリストテーブル143は、図3に示した交替ブロック23中の次に使用するブロックを並べたテーブルである。図9に交替ブロックリストテーブル143の構成例を示す。図9Aは初期状態、図9Bはブロック交替後である。
交替ブロックリストテーブル143は使用可能な交替ブロックの番号が使用する順番に並んでおり、交替ブロックが使用されると、例えば図9Aに示す初期状態から図9Bに示すブロック交替後のような状態に移り変わる。
消去回数管理テーブル144は、各ブロックの消去回数を保持するテーブルである。図10に消去回数管理テーブル144の構成例を示す。図10Aは初期状態、図10Bはブロック交替処理後である。
消去管理テーブル144は各ブロックのブロック番号1440と対応するブロックの消去回数1441から構成される。各ブロックに存在しているデータの消去が行われると、例えば、図10Aに示す初期状態から図10Bに示す交替処理後のような状態に移り変わる。
消去候補管理テーブル145は、消去待ちブロックのブロック番号を消去順に並べたテーブルである。図11に消去候補管理テーブル145の構成例を示す。図11Aは初期状態(一度も消去されていない状態)、図11Bはブロック交替処理後である。
消去候補管理テーブル145は、ブロックの消去がなされると、図11Aに示す初期状態から図11Bに示すブロック交替処理後の状態に移り変わる。
以上、図1のメモリ14の中の各テーブルの構成である。なお、図1中の半導体メモリ2は、説明の簡単化のため1個の半導体メモリ2しか記載していないが、上述のように記憶装置6の論理的記憶領域に対応して、半導体メモリ2の物理的記憶領域を管理することにより、複数個の半導体メモリを接続して使用できることはいうまでもない。
図2は、本発明の実施の形態で前提とする半導体メモリ2の内部構成を示した図である。図2では、半導体メモリ2内に構築されている論理的記憶領域を示している。図1に示したホスト装置3からは、記憶装置6に対しては、この論理的記憶領域のみが認識されることになる。
図中の番号21はデータ消去の最小単位を示し、これをブロックと呼ぶ。同様に番号211はデータ読み出し及び書き込みの最小単位を示し、これをページと呼ぶこととする。図2においては、半導体メモリ2の論理的記憶領域は、一つ以上のブロック21で構成されており、ブロック21は一つ以上のページ211により構成されている。すなわち、半導体メモリ2の論理的記憶領域は、ブロック1からブロックm(整数)までのm個の各ブロック21を有し、それぞれのブロックは、ページ1からページn(整数)までのn個のページを有している。
上述したように、ホスト装置3は、データバス4を介して、記憶装置6との間でデータのやり取りを行っているが、ここで、データバス4としては、例えばSCSI(Small Computer System Interface)やATA(Advanced Technology Attachment)などが用いられる。しかし、本発明の実施の形態例では、これらのデータバスに限定されるものではなく、他のデータバスによって代用できることは勿論である。
また、半導体メモリ2とメモリ制御部1とのデータのやり取りは、データバス5によって行われる。記憶装置6はホスト装置3からの指示に基づいてデータの記憶を行う装置である。
次に、本発明の実施の形態の特徴であるメモリ制御方式を実現するためのメモリの使用態様を、図3に基づいて説明する。
図3は、本発明の実施の形態の特徴であるメモリ制御方式を実現するためのメモリの使用態様を示す図であり、メモリ制御部1の制御により半導体メモリ2内に構築される論理的記憶領域を示している。
図の番号2はメモリチップ全体の論理的記憶領域を示しており、その中部構造は、データブロック22と交替ブロック23から構成されている。
データブロック22は、データを記憶する一つあるいは複数のブロックからなるブロックであり、ブロック1からブロックp(整数)までの論理ブロックを有している。各ブロックは、図示のようにデータページ222と交替ページ223で構成されている。
データページ222は、ページ1からページq(整数)までのデータを保持するページを有していて、交替ページ223は、ページ(q+1)からページn(整数)までを有している。この交替ページ223は、消去済みの再書込み可能なページである。
また、交替ブロック23は、ブロック(p+1)からブロックm(整数)までの消去済みの交替用のブロックであり、各ブロックは、ページ1からページn(整数)までの消去済みページ232で構成されている。
ここで、データページ222は、ユーザがホスト装置からの指示に従いデータを読み書きすることができる領域である。このデータページ222には、半導体メモリ2の制約上から上書きができないため、メモリ制御部1の制御による上書き処理後の上書きデータは交替ページ223に記憶される。
そして、交替ページ223に記憶できないときは、新たに交替ブロック23を割り当て書き込みをする。このとき、上書き処理後の有効部分である、交替ページ223の上書きデータ及びデータページ222の非上書きデータを交替ブロック23に書き写して交替させる。さらに、交替後の交替ページ223及びデータページ222はデータ消去して交替ブロック23の候補とする。
図3中のブロックp及びページqは、本実施の形態例では記憶装置6の製造時に初期値として設定するものである。このブロックpとページqの設定方法については、特に限定しないが、メモリ上に予め設定しておくことや、マイクロプロセッサ11へデバッガを接続して行うようにしてもよい。
また、ホスト装置3から予め決められたコマンドを発行して設定する等で実現可能である。また、ブロックp、ページqを可変としてテーブル管理することも可能であるが、本実施の形態例では簡単化のために固定値として扱う。
以上を踏まえ、図4〜図6のフローチャートに基づいて、本実施の形態例の動作について説明する。
図4〜図6に示したフローチャートでは、本発明の実施の形態の特徴である、書込み処理とそれに関連したブロック交替処理、及びブロック消去処理の手順を示している。
まず、ホスト装置3からデータの書込み要求があった場合の処理について、図4、図5を用いて説明する。
[書込み処理]
図4のフローチャートは、マイクロプロセッサ11の半導体メモリ2への書込み処理のフローチャートである。以下その処理の流れを説明する。
まず、マイクロプロセッサ11は、ホストI/F制御部13を介して、ホスト装置3から論理アドレス、データ、データサイズを受信する(ステップS700)。
次に、マイクロプロセッサ11は、書込み対象となる半導体メモリ2の物理アドレスを確認するために、図7に示す論理/物理変換テーブル141を参照し、論理アドレス1410から該当するブロック番号を示す物理アドレス1411を特定する(ステップS701)。
例えば、論理/物理変換テーブル141の状態が図7Aの初期状態のときにホスト装置3からの論理アドレス1410が1であった場合、ブロック番号は141のブロック1となる。
次に、マイクロプロセッサ11は、特定したブロック内のどこのページに書込めば良いかを確認するために、図8に示す次回書込みページ管理テーブル142を参照し、先頭の次回書込みページ1421を特定する(ステップS702)。
例えば、次回書込みページ管理テーブル142が図8Aに示す初期状態であったとき、ステップS701にてブロック1を特定した場合、1421の次回書込みページはq+1となる。
次に、マイクロプロセッサ11は、特定したブロック内の交替ページの空き容量が十分であるかを確認するために、特定した先頭の次回書込みページと書込むデータの必要ページ数の和と、最大ページ数nを比較する(ステップS703)。
ステップS703で比較した結果、特定した先頭の次回書込みページと書込むデータの必要ページ数の和が最大ページ数nより小さいか、又は等しい場合、マイクロプロセッサ11は、重複書込み防止のために先ず、次回書込みページ管理テーブル142の値を、書込むページ数を加算した値へ更新する(ステップS704)。
例えば、ステップS702で特定した次回書込みページがq+1であり、書込むデータの必要ページ数が1ページであれば、和はq+2となる。このq+2の値を図8Bのページ書換え後の1422のように書き換える。
次に、マイクロプロセッサ11は、交替ページ223の中のステップS702にて特定した次回書込みページにデータを書込む(ステップS705)。
次に、マイクロプロセッサ11は、書込み後の物理アドレスとの関連付けのために、論理/物理変換テーブル141を書込み完了した物理アドレスへ更新する(ステップS706)。
例えば、ステップS702にて特定した次回書込みページがq+1であれば、図7Bのページ書換え後の1412に示すように書き換える。
次に、マイクロプロセッサ11は、ホストI/F制御部13を介して、ホスト装置3に書込み終了を報告する(ステップS707)。
なお、ステップS703で比較した結果、特定した先頭の次回書込みページと書込むデータの必要ページ数の和が最大ページ数nより大きい場合、マイクロプロセッサ11は、ブロック交替処理を実行し(ステップS710)、ホスト装置3に書込み終了を報告する(ステップS707)。
[ブロック交替処理]
次に、上述した図4に示すステップ710のブロック交替処理について、図5のフローチャートを用いて説明する。
まず、マイクロプロセッサ11は、交替元ブロックの有効なデータを交替先のブロックへコピーするために、論理/物理変換テーブル141を参照して、該当する物理アドレスから該当のブロックに関連付けられた全ページのデータを読み出す(ステップS711)。
例えば、ブロック1を交替しなければならないのであれば、論理/物理変換テーブル141の状態が図7Bのページ書換え後の状態のときは、物理アドレス1411のブロック1に関連付けされている全ページのデータを読み出す。
次に、マイクロプロセッサ11は、読み出したデータに対して、図4内ステップS700の処理において受信したデータに該当するページのデータを更新する(ステップS712)。
次に、マイクロプロセッサ11は、交替先のブロックを確認するために、交替ブロックリストテーブル143を参照し、交替ブロック23の中の一つのブロックを特定する。
特定したブロックを重複して使用しないようにするために、交替ブロックリストテーブル143の内容はひとつ更新する(ステップS713)。
例えば、交替ブロックリストテーブル143の状態が図9Aの初期状態であれば、ブロックp+1を特定し、図9Bのブロック交替後の1431に示す状態に更新する。
ここで、マイクロプロセッサ11は、特定したブロック内のどこのページに書込めば良いかを確認するために、書込みページ管理テーブル142を参照し、特定したブロックの次回書込みページを特定する(ステップS714)。
例えば、ステップS713にてブロックp+1と特定したとき、書込みページ管理テーブル142が図8Bのページ書換え後であるならば、次回書込みページは1となる。なお、ブロック交替の場合、交替先ブロックは消去後の状態のため無条件でページ1から書込むことも可能である。
次に、マイクロプロセッサ11は、特定した交替先ブロックの次回書込みページからデータを書込む(ステップS715)。
ステップS715でデータ書込みが終了したら、マイクロプロセッサ11は、次回書込みページ管理テーブル142の内容に書込み完了したページ数を加算することで、テーブルを更新する(ステップS716)。
例えば、次回書込みページ管理テーブル142の状態が図8Bのページ書換え後に示す状態であれば、テーブル更新後は図8Cのブロック交替後の1423に示すような状態となる。
次に、マイクロプロセッサ11は、書込み後の物理アドレスとの関連付けのために、論理/物理変換テーブル141の該当する論理アドレス1410の物理アドレス1411を更新する(ステップS717)。
例えば、論理/物理変換テーブル141の状態が図7Bのページ書換え後であれば、テーブルを更新後は図7Cのブロック交替後の1413に示すような状態となる。ここでは、ブロック交替後のp+1は、元のページの順番に並べ替えられている。
次に、マイクロプロセッサ11は、交替元のブロックを再度使用可能とするために、消去候補管理テーブル145に交替元のブロックを追加する(ステップS718)。例えば、消去候補管理テーブル145が図11Aの初期状態であれば、図11Bのブロック交替処理後の1451のようにブロック1を追加する。
[読出し処理]
ホスト装置3からデータの読出し要求に対しては、処理数が少ないので、フローチャートなしで、以下に文章で示す。
まず、マイクロプロセッサ11は、ホストI/F制御部13を介して、ホスト装置3から論理アドレス、データサイズを受信する。
そして、マイクロプロセッサ11は、読み出す物理アドレスを特定するために、論理/物理変換テーブル141を参照し、ホスト装置3から指定された論理アドレス1410から物理アドレス1411を特定する。
次に、マイクロプロセッサ11は、該当するページのデータをメモリI/F制御部12を介して読出し、ホストI/F制御部13を介してホスト装置3に読み出したデータを送信する。以上のステップを経て、読出し処理が実現される。
[消去処理]
次に、図6のフローチャートに基づいて、ブロック消去処理の流れを説明する。
マイクロプロセッサ11は、ホスト装置3からデータの書込みや読出しの要求が無いときに、消去候補管理テーブル145に関連付けされているブロックの消去処理を実施する。
まず、マイクロプロセッサ11は、消去候補管理テーブル145を参照し、消去対象となるブロックがあるか否かを判定する(ステップS800)。
ステップS800で判定した結果、消去対象となるブロックがない場合は処理を終了する。
消去対象となるブロックがある場合は、マイクロプロセッサ11は、消去回数管理テーブル144に対し、当該ブロックの消去回数を一つ加算する(ステップS801)。
例えば、マイクロプロセッサ11は、ステップS800にて消去候補管理テーブル145を参照したとき図11Bのブロック交替処理後の状態であれば、1451にて示されるブロック1を特定する。消去回数管理テーブル144の状態が図10Aの初期状態であれば、図10Bの交替処理後の1442のようにブロック1の消去回数を1とする。
次に、マイクロプロセッサ11は、当該ブロックのデータを消去する(ステップS802)。
次に、マイクロプロセッサ11は、消去候補管理テーブル145にある、消去済みブロックの情報を削除し、テーブルを更新する(ステップS803)。
例えば、マイクロプロセッサ11は、消去候補管理テーブル145が図11のBブロック交替処理後であれば、図11Aの初期状態のように更新する。
次に、マイクロプロセッサ11は、同図内ステップS800の判定処理に戻り、消去候補管理テーブル145の該当するブロックが無くなるまで処理を続ける。
なお、本発明は、上述した実施の形態例に限らず、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、上述の実施形態例を適宜変更して用いることができることはいうまでもない。
本発明は、計算機システムに接続した記憶装置に係るものであり、産業上の利用可能性があることは明らかである。
本発明の実施の形態を実現するためのハードウェア構成例を示す説明図である。 半導体メモリの内部構成図である。 メモリ制御方式を実現するためのメモリの使用態様を示す図である。 書込み処理のフローチャートである。 ブロック交替処理のフローチャートである。 ブロック消去処理のフローチャートである。 論理/物理変換テーブルの構成例を示す図であり、図7Aは初期状態、図7Bはページ書き換え後、図7Cはブロック交替後である。 次回書込みページ管理テーブルの構成例を示す図であり、図8Aは初期状態、図8Bはページ書き換え後、図8Cはブロック交替後である。 交替ブロックリストテーブルの構成例を示す図であり、図9Aは初期状態、図9Bはブロック交替後である。 消去回数管理テーブルの構成例を示す図であり、図10Aは初期状態、図10Bはブロック交替処理後である。 消去候補管理テーブルの構成例を示す図であり、図11Aは初期状態、図11Bはブロック交替処理後である。
符号の説明
1…メモリ制御部、2…半導体メモリ、3…ホスト装置、4…データバス、5…メモリバス、6…記憶装置、11…マイクロプロセッサ、12…メモリI/F制御部、13…ホストI/F制御部、14…メモリ、141…論理/物理変換テーブル、142…次回書込みページ管理テーブル、143…交替ブロックリストテーブル、144…消去回数管理テーブル、145…消去候補管理テーブル、21…ブロック、211…ページ、22…データブロック、23…交替ブロック、222…データページ、223…交替ページ、232…消去済みページ、1410…論理アドレス、1411…物理アドレス、1420…ブロック番号、1421…次回書き込みページ、1440…ブロック番号、1441…消去回数

Claims (12)

  1. 記憶領域に対するデータの書き込みを所定の単位で行うと共に、その所定の単位よりデータ量が大きな物理ブロックの単位でデータの消去を行う不揮発性半導体メモリと、
    外部のホストシステムからの指示に従い、前記不揮発性半導体メモリに対する読み出し又は書き込みを制御するメモリ制御部と、
    を具備する記憶装置であって、
    前記不揮発性半導体メモリの記憶領域は、1又は複数の前記物理ブロックからなるデータブロックと、1又は複数の前記物理ブロックからなる交替ブロックとから構成され、
    前記データブロックは、前記所定の単位で書き込まれたデータを記憶するデータ領域と、同じデータブロック内の前記データ領域に記憶したデータの再書き込みが前記所定の単位で可能な交替領域とから構成され、
    前記メモリ制御部は、前記ホストシステムからの指示に係わる論理アドレスに対応する前記不揮発性半導体メモリの物理アドレスを格納するテーブルのうち、前記ホストシステムからのデータの書き込み要求時に示される論理アドレスに対応する物理アドレスを書換え、さらに、次回の前記データの書き込み要求時にデータの書き込みが行われるべき物理アドレスを管理する、次回書込み領域管理テーブルにおける、次回書込みページを更新することにより前記交替領域を管理し、
    前記データブロックにおいて交替領域への新たな書き込みができない場合、又は新たな書き込みができなくなる可能性がある場合に、前記再書き込みがされた前記交替領域内のデータと、前記再書き込みがされていない前記データ領域内のデータとを、前記交替ブロックに書き写し、前記データが書き移された交替ブロックをデータブロックとして使用することを特徴とする
    記憶装置。
  2. 請求項1記載の記憶装置において、
    前記交替ブロックに再書き込み後に、その再書き込みされたデータが記憶されていた前記データブロックは、前記交替ブロックの候補となるように前記データ領域と前記交替領域とを前記メモリ制御部が消去することを特徴とする
    記憶装置。
  3. 請求項1記載の記憶装置において、
    前記物理ブロックの各ブロック毎の消去回数を記載した手段を持ち、消去回数を一括管理することを可能とすることを特徴とする
    記憶装置。
  4. 請求項1記載の記憶装置において、
    前記物理ブロックの消去予定のブロックを管理する手段を持ち、前記メモリ制御部のマイクロプロセッサの空き時間に、消去処理を行うことを特徴とする
    記憶装置。
  5. 請求項1記載の記憶装置において、
    前記次回書込み領域管理テーブルに保持されている情報を更新した後に、新たな交替領域にデータの書き込みを行うことを特徴とする
    記憶装置。
  6. 請求項1記載の記憶装置において、
    前記交替ブロックのデータ領域にデータの書込み後の前記データブロックのうちの有効なデータを移す際に、前記ホストシステムからの論理アドレスの順に最新のデータを並び替えることを特徴とする
    記憶装置。
  7. データの書き込みを行う所定の単位に比べ、よりデータ量の大きな物理ブロックの単位でデータの消去を行う記憶領域を備えた不揮発性半導体メモリに対して、
    外部のホストシステムからの指示に従い、メモリ制御部により読み出し又は書き込みを行うメモリ制御方法であって、
    前記不揮発性半導体メモリの記憶領域は、1又は複数の前記物理ブロックからなるデータブロックと、1又は複数の前記物理ブロックからなる交替ブロックとから構成され、
    前記データブロックは、前記所定の単位で書き込まれたデータを記憶するデータ領域と、同じデータブロック内の前記データ領域に記憶したデータの再書き込みが前記所定の単位で可能な交替領域とから構成され、
    前記ホストシステムからの指示に係わる論理アドレスに対応する前記不揮発性半導体メモリの物理アドレスを格納するテーブルのうち、前記ホストシステムからのデータの書込み要求時に示される論理アドレスに対応する物理アドレスを書換え、さらに、次回の前記データの書き込み要求時にデータの書き込みが行われるべき物理アドレスを管理する、次回書込み領域管理テーブルにおける、次回書込みページを更新することにより前記交替領域を管理し、
    前記それぞれのデータブロックにおいて交替領域への新たな書き込みができない場合、又は新たな書き込みができなくなる可能性がある場合に、前記再書き込みがされた前記交替領域内のデータと、前記再書き込みがされていない前記データ領域内のデータとを、前記交替ブロックに書き写し、前記データが書き写された交替ブロックをデータブロックとして使用することを特徴とする
    メモリ制御方法。
  8. 請求項記載のメモリ制御方法において、
    前記交替ブロックに再書き込み後に、その再書き込みされたデータが記憶されていた前記データブロックは、前記交替ブロックの候補となるように前記データ領域と前記交替領域とが消去されることを特徴とする
    メモリ制御方法。
  9. 請求項記載のメモリ制御方法において、
    前記物理ブロックの各ブロック毎の消去回数を記載することにより、消去回数を一括管理することを可能とすることを特徴とする
    メモリ制御方法。
  10. 請求項記載のメモリ制御方法において、
    前記物理ブロックの消去予定のブロックを管理することにより、前記メモリ制御部のマイクロプロセッサの空き時間に、消去処理を行うことを特徴とする
    メモリ制御方法。
  11. 請求項記載のメモリ制御方法において、
    前記次回書込み領域管理テーブルに保持されている情報を更新した後に、新たな交替領域にデータの書き込みを行うことを特徴とする
    メモリ制御方法。
  12. 請求項記載のメモリ制御方法において、
    前記交替ブロックのデータ領域にデータの書込み後の前記データブロックのうちの有効なデータを移す際に、前記ホストシステムからの論理アドレスの順に最新のデータを並び替えることを特徴とする
    メモリ制御方法。
JP2007286428A 2007-11-02 2007-11-02 記憶装置及びメモリ制御方法 Expired - Fee Related JP4829202B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007286428A JP4829202B2 (ja) 2007-11-02 2007-11-02 記憶装置及びメモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007286428A JP4829202B2 (ja) 2007-11-02 2007-11-02 記憶装置及びメモリ制御方法

Publications (2)

Publication Number Publication Date
JP2009116465A JP2009116465A (ja) 2009-05-28
JP4829202B2 true JP4829202B2 (ja) 2011-12-07

Family

ID=40783572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007286428A Expired - Fee Related JP4829202B2 (ja) 2007-11-02 2007-11-02 記憶装置及びメモリ制御方法

Country Status (1)

Country Link
JP (1) JP4829202B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8447922B2 (en) 2009-07-16 2013-05-21 Panasonic Corporation Memory controller, nonvolatile storage device, accessing device, and nonvolatile storage system
GB2488480B (en) 2009-12-03 2017-07-19 Hitachi Ltd Storage device and memory controller
JP5666273B2 (ja) * 2010-12-03 2015-02-12 矢崎エナジーシステム株式会社 データ格納装置及びデータ格納方法
JP5614337B2 (ja) 2011-03-08 2014-10-29 富士通セミコンダクター株式会社 メモリの制御方法、メモリの制御回路、記憶装置、及び電子機器
JP6102800B2 (ja) * 2014-03-04 2017-03-29 ソニー株式会社 メモリコントローラ、記憶装置、情報処理システム、および、それらにおける制御方法。
JP6618941B2 (ja) * 2017-03-03 2019-12-11 株式会社東芝 管理装置、情報処理装置および管理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3485938B2 (ja) * 1992-03-31 2004-01-13 株式会社東芝 不揮発性半導体メモリ装置
US7617352B2 (en) * 2000-12-27 2009-11-10 Tdk Corporation Memory controller, flash memory system having memory controller and method for controlling flash memory device
DE10349595B3 (de) * 2003-10-24 2004-12-09 Hyperstone Ag Verfahren zum Schreiben von Speichersektoren in einem blockweise löschbaren Speicher
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
JP4661497B2 (ja) * 2005-09-27 2011-03-30 Tdk株式会社 メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Also Published As

Publication number Publication date
JP2009116465A (ja) 2009-05-28

Similar Documents

Publication Publication Date Title
US8386698B2 (en) Data accessing method for flash memory and storage system and controller using the same
JP5480913B2 (ja) 記憶装置、およびメモリコントローラ
JP5612514B2 (ja) 不揮発性メモリコントローラ及び不揮発性記憶装置
KR100684942B1 (ko) 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템
KR101437123B1 (ko) 메모리 시스템 및 그것의 마모도 관리 방법
US8037232B2 (en) Data protection method for power failure and controller using the same
CN110955384B (zh) 数据储存装置以及非挥发式存储器控制方法
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
JP4004468B2 (ja) 大きなページをサポートするようにさせるための方法およびシステム
JP5418808B2 (ja) 適応ハイブリッド密度メモリ記憶装置の制御方法、及び適応ハイブリッド密度メモリ記憶装置
TWI385519B (zh) 資料寫入方法及使用此方法的快閃儲存系統與其控制器
KR100568115B1 (ko) 점진적 머지 방법 및 그것을 이용한 메모리 시스템
WO2009096180A1 (ja) メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
WO2014074449A2 (en) Wear leveling in flash memory devices with trim commands
JP2018101411A (ja) データストレージデバイスおよびその操作方法
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
JP5570406B2 (ja) メモリコントローラ、及びデータ記録装置
US20100318726A1 (en) Memory system and memory system managing method
US8271721B2 (en) Data writing method and data storage device
US20090210612A1 (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
US11080203B2 (en) Data storage device and control method for non-volatile memory
JP2009146539A (ja) 情報記録装置および情報記録方法
CN111610929A (zh) 数据储存装置以及非挥发式存储器控制方法
CN111949212B (zh) 基于自定义开放通道ssd的文件系统及文件管理方法
JP5180726B2 (ja) 記憶装置およびデータ書き込み制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110805

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

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

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

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4829202

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees