JP5255389B2 - Storage device and memory control method - Google Patents
Storage device and memory control method Download PDFInfo
- Publication number
- JP5255389B2 JP5255389B2 JP2008250815A JP2008250815A JP5255389B2 JP 5255389 B2 JP5255389 B2 JP 5255389B2 JP 2008250815 A JP2008250815 A JP 2008250815A JP 2008250815 A JP2008250815 A JP 2008250815A JP 5255389 B2 JP5255389 B2 JP 5255389B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- replacement
- queue
- semiconductor memory
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
本発明は、不揮発性半導体メモリを用いた記憶装置における長寿命化の技術に関する。 The present invention relates to a technique for extending the life of a storage device using a nonvolatile semiconductor memory.
近年、情報機器の補助記憶装置として、磁気ディスク記憶装置のほかに、耐振性やアクセス速度の面で優れた半導体メモリを記憶媒体とする記憶装置が用いられるようになってきている。その中で、特に、フラッシュメモリなどのEEPROM(Electrically Erasable Programmable Read Only Memory)のような、電気的に消去可能で再書き込み可能な不揮発性半導体メモリを用いたものが、情報機器の補助記憶装置の主流となってきている。 In recent years, as an auxiliary storage device for information equipment, in addition to a magnetic disk storage device, a storage device using a semiconductor memory excellent in vibration resistance and access speed as a storage medium has been used. Among them, in particular, those using an electrically erasable and rewritable nonvolatile semiconductor memory such as an EEPROM (Electrically Erasable Programmable Read Only Memory) such as a flash memory is an auxiliary storage device of information equipment. It has become mainstream.
不揮発性半導体メモリには、一般に、その素子の特性上、データの書き換え回数(消去回数)に上限(例えば10万回程度)がある。そして、不揮発性半導体メモリでは、物理ブロックごとにデータ消去が行われるので、特定のブロックだけが早く消去回数の上限回数に達しないように工夫すること、つまり、ブロックの消去回数の平準化(以下、単に「平準化」という。)が望まれる。平準化することで、記憶装置の寿命が延びるからである。 In general, the nonvolatile semiconductor memory has an upper limit (for example, about 100,000 times) in the number of data rewrites (erase times) due to the characteristics of the element. In the nonvolatile semiconductor memory, since data is erased for each physical block, it is devised not to reach the upper limit number of erase times only for a specific block, that is, to equalize the number of erase times of a block (hereinafter referred to as the block erase number). Simply called “leveling”). This is because the life of the storage device is extended by leveling.
例えば、特許文献1の技術では、使用中の物理ブロックであるデータブロックのいずれかを、待機中の物理ブロックである交替ブロックと交替させる際に、消去回数の少ない交替ブロックを用いることで平準化を図っている。
しかしながら、特許文献1の技術では、平準化に関するある程度の効果はあるものの、特定のデータブロックが読み出し専用化(書き換えが長時間行われていない状態化)している場合、そのデータブロックの消去回数が少ないまま、他のブロックが消去回数の上限回数に達してしまう事態が発生し、平準化が充分とは言えなかった。
However, although the technique of
そこで、本発明は、前記問題に鑑みてなされたものであり、不揮発性半導体メモリに関してより効果的な平準化を行うことを課題とする。 Therefore, the present invention has been made in view of the above problems, and an object thereof is to perform more effective leveling with respect to the nonvolatile semiconductor memory.
前記課題を解決するために、本発明は、記憶領域に対するデータの書き込みを所定の単位で行うと共に、その所定の単位よりデータ量が大きな物理ブロックの単位でデータの消去を行う不揮発性半導体メモリと、外部のホスト装置からの指示に従い、不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御部と、を具備する記憶装置である。メモリ制御部は、不揮発性半導体メモリの物理ブロックを、少なくとも、使用中の物理ブロックであるデータブロックと、待機中の物理ブロックである交替ブロックと、別々に管理し、その際、前記データブロックを先入れ先出しのデータ構造であるデータブロック用キューで管理するとともに、前記交替ブロックを所定範囲の書き換え回数ごとにそれぞれ別々の交替ブロック用キューで管理し、前記物理ブロックごとの書き換え回数を管理し、所定のタイミングで、前記データブロック用キューの先頭のデータブロックの書き換え回数に比べて、前記所定範囲の下限の書き換え回数のほうが大きい前記交替ブロック用キューに交替ブロックが存在する場合には、当該データブロック用キューの先頭のデータブロックと、当該交替ブロック用キューに存在する前記交替ブロックのいずれかと、を交替させる。その他の手段については後記する。 In order to solve the above problems, the present invention provides a nonvolatile semiconductor memory that performs data writing to a storage area in a predetermined unit and erases data in units of physical blocks that have a larger data amount than the predetermined unit. A memory control unit that controls writing and reading of data to and from the nonvolatile semiconductor memory in accordance with an instruction from an external host device. Memory control unit, the physical block of the nonvolatile semiconductor memory, at least, a data block is a physical block during use, a replacement block is a physical block waiting, separately managed, this time, the data block The data block is managed in a first-in first-out data structure queue, the replacement block is managed in a separate replacement block queue for each predetermined number of rewrites, the number of rewrites in each physical block is managed, in timing, compared to the number of times of rewriting of the leading data block of the data block queue, when the predetermined lower range limit the replacement to the replacement block queue block more large number of rewrites of are present, for the data block For the first data block in the queue and the replacement block With any of the replacement block existing in-menu, it is alternated. Other means will be described later.
本発明によれば、不揮発性半導体メモリに関してより効果的な平準化を行うことができる。 According to the present invention, more effective leveling can be performed with respect to the nonvolatile semiconductor memory.
以下、本発明を実施するための最良の形態(以下、実施形態という。)について、図面を参照(言及図以外の図も適宜参照)しながら説明する。図1は、本実施形態の記憶装置のハードウェア構成を含む説明図である。 Hereinafter, the best mode for carrying out the present invention (hereinafter referred to as an embodiment) will be described with reference to the drawings (refer to drawings other than the referenced drawings as appropriate). FIG. 1 is an explanatory diagram including the hardware configuration of the storage device of this embodiment.
図1に示すように、記憶装置6は、ホスト装置3からの指示に基づいてデータの記憶を行う装置であり、ホスト装置3とデータバス4を介してアクセス可能に接続される。データバス4としては、例えばSCSI(Small Computer System Interface)やATA(Advanced Technology Attachment)などが用いられるが、USB(Universal Serial Bus)などの他のデータバスであってもよい。
As shown in FIG. 1, the storage device 6 is a device that stores data based on an instruction from the
記憶装置6は、メモリ制御部1および半導体メモリ2を備えている。半導体メモリ2とメモリ制御部1とのデータのやり取りは、データバス5を介して行われる。
The storage device 6 includes a
メモリ制御部1は、マイクロプロセッサ11(演算部)、メモリI/F(インターフェース)制御部12、ホストI/F制御部13、および、メモリ14を備えている。
The
マイクロプロセッサ11は、ホスト装置3からの指示に従い、半導体メモリ2に対するデータの書き込みおよび読み出しを制御する。
メモリI/F制御部12は、マイクロプロセッサ11からの指示により半導体メモリ2とのアクセス制御を行う。なお、マイクロプロセッサ11から半導体メモリ2を直接制御可能であれば、メモリI/F制御部12は必ずしも必要ではない。
The
The memory I /
ホストI/F制御部13は、ホスト装置3からのデータの書き込みおよび読み出し要求(指示)に従って、ホスト装置3とのデータの送受信を制御する。なお、ホスト装置3からのデータの書き込みおよび読み出し要求は、半導体メモリ2に関して構築される論理的記憶領域(詳細は後記)に対して行われる。
The host I /
メモリ14は、マイクロプロセッサ11の作業領域であり、例えば、SRAM(Static Random Access Memory)、DRAM(Dynamic RAM)、MRAM(Magneto-resistive RAM)などのメモリ素子により実現できる。メモリ14は、半導体メモリ2の管理情報として、格納情報141、論理・物理変換テーブル142、データブロックキュー143、交替ブロックキュー144、消去待ちブロックキュー145、消去回数情報146、および、不良ブロック情報147を記憶している。なお、メモリ14内の各情報は、マイクロプロセッサ11が記憶装置6の電源オン時に半導体メモリ2のデータを読み出すことにより、構築される。
The memory 14 is a work area of the
ここで、前提として、半導体メモリ2が、論理・物理変換テーブル142および消去回数情報146と同一の情報を格納しているものとする。格納情報141は、半導体メモリ2においてそれらの情報(論理・物理変換テーブル142および消去回数情報146と同一の情報)を格納しているブロック番号の情報である。なお、半導体メモリ2は、データの書き込みと読み出しはページ単位(所定の単位)で行われ、データの消去は複数ページからなるブロック単位で行われる。また、ブロックには、すでにデータが格納されているデータブロック、データが未格納で待機中の交替ブロック、データの消去を待っている状態の消去待ちブロックがある(詳細は後記)。
Here, it is assumed that the
論理・物理変換テーブル142は、ホスト装置3からのアクセス時に示される論理アドレスと半導体メモリ2上の物理アドレス(ブロック番号とページ番号)との対応情報を格納するテーブルである(詳細は図4で後記)。
The logical / physical conversion table 142 is a table that stores correspondence information between a logical address indicated at the time of access from the
データブロックキュー143は、半導体メモリ2のデータブロックをキュー(先入れ先出しのデータ構造)形式で記憶(管理)する情報である。
交替ブロックキュー144は、半導体メモリ2の交替ブロックをキュー形式で記憶(管理)する情報である。
消去待ちブロックキュー145は、半導体メモリ2の消去待ちブロックをキュー形式で記憶(管理)する情報である。
なお、データブロックキュー143、交替ブロックキュー144、および、消去待ちブロックキュー145の代わりに、テーブルなどの他の形式で記憶(管理)した情報を用いてもよい。
The
The
The erase
Instead of the
消去回数情報146は、半導体メモリ2の物理ブロックごとの消去回数の情報である。
不良ブロック情報147は、書き込み禁止の不良ブロックのアドレスの情報である。なお、この不良ブロック情報147として、半導体メモリ2の製造時から存在する先天性の不良ブロックの情報と、半導体メモリ2の使用中に発生した後天性の不良ブロックの情報とが別々に記憶されていてもよい。
The
The
また、メモリ14は、上記の各情報のほかに、物理ブロックごとに次回の書き込みページを管理するためのテーブルなどを有していてもよいが、それらは本発明の特徴と直接関係がないので、図示や詳細な説明を省略する。 In addition to the above information, the memory 14 may have a table for managing the next write page for each physical block, but these are not directly related to the features of the present invention. The illustration and detailed description are omitted.
半導体メモリ2は、不揮発性で、ホスト装置3からの指示に従ってメモリ制御部1がデータの書き込みおよび読み出しを制御する対象の記憶媒体であり、例えばフラッシュメモリにより実現できる。半導体メモリ2は、ホスト装置3からの指示に従ってメモリ制御部1が書き込むデータ(実データ)のほか、前記したように、メモリ14に記憶される論理・物理変換テーブル142および消去回数情報146と同一の情報などの自身に関する管理情報の少なくとも一部も格納している。
The
図2は、本実施形態の半導体メモリの内部構成を示した図である。図2では、半導体メモリ2に関する論理的記憶領域を示している。図1に示したホスト装置3は、記憶装置6に関して、この論理的記憶領域を認識する。
FIG. 2 is a diagram showing an internal configuration of the semiconductor memory according to the present embodiment. FIG. 2 shows a logical storage area related to the
ブロック21は、データ消去の最小単位である。ページ211は、データの読み出しおよび書き込みの単位である。図2において、半導体メモリ2の論理的記憶領域は、複数のブロック21で構成されており、ブロック21は複数のページ211により構成されている。すなわち、半導体メモリ2の論理的記憶領域は、ブロック1からブロックm(整数)までのm個の各ブロック21を有し、それぞれのブロックは、ページ1からページn(整数)までのn個のページを有している。
The
図3は、メモリ制御部の制御によりフラッシュメモリに関して構築される論理的記憶領域を示した図である。
半導体メモリ2に関する論理的記憶領域として、データブロック22と交替ブロック23がある。
データブロック22は、データを記憶する一つあるいは複数のブロックからなるブロック(ブロックの集合)であり、ブロック1からブロックp(整数)までの論理ブロックを有している。各ブロックは、図示のようにデータページ222と交替ページ223で構成されている。
FIG. 3 is a diagram showing a logical storage area constructed for the flash memory under the control of the memory control unit.
As logical storage areas related to the
The
データページ222は、ページ1からページq(整数)までのデータを保持するページを有していて、交替ページ223は、ページ(q+1)からページn(整数)までを有している。この交替ページ223は、消去済みの再書込み可能なページである。
The
また、交替ブロック23は、ブロック(p+1)からブロックm(整数)までの消去済みの交替用のブロックであり、各ブロックは、ページ1からページn(整数)までの消去済みページ232で構成されている。
The
データページ222は、ユーザがホスト装置3からの指示に従いデータを読み書きすることができる領域である。このデータページ222には、半導体メモリ2の制約上から上書きができないため、メモリ制御部1の制御による上書き処理後の上書きデータは交替ページ223に記憶される。
The
そして、交替ページ223に記憶できないときは、新たに交替ブロック23を割り当て、書き込みをする。このとき、上書き処理後の有効部分である、交替ページ223の上書きデータおよびデータページ222の非上書きデータを交替ブロック23に書き写して交替させる。さらに、交替後の交替ページ223およびデータページ222はデータ消去して交替ブロック23の候補とする。
When the
なお、図3における「p」および「q」の値は、本実施形態では記憶装置6の製造時に初期値として設定するものである。この「p」および「q」の値の設定方法については、特に限定しないが、予め設定しておくほかに、マイクロプロセッサ11へデバッガを接続して設定するようにしてもよい。また、ホスト装置3から予め決められたコマンドを発行して設定してもよい。また、「p」および「q」の値を可変としてテーブル管理することも可能であるが、本実施形態では説明を容易にするため、固定値として扱う。
Note that the values of “p” and “q” in FIG. 3 are set as initial values when the storage device 6 is manufactured in this embodiment. The method of setting the values of “p” and “q” is not particularly limited, but may be set by connecting a debugger to the
図4は、論理・物理変換テーブルの構成例を示した図である。論理・物理変換テーブル142は、ホスト装置3からのアクセス時に示される論理アドレスと、半導体メモリ2の物理アドレス(ブロック番号およびページ番号)とから構成される。
FIG. 4 is a diagram illustrating a configuration example of a logical / physical conversion table. The logical / physical conversion table 142 includes a logical address indicated at the time of access from the
なお、論理アドレスは原則として初期設定状態から不変であるが、物理アドレスはメモリ制御部1による半導体メモリ2に対する書き込み動作などに応じてマイクロプロセッサ11によって書き換えられる。
In principle, the logical address is unchanged from the initial setting state, but the physical address is rewritten by the
図5は、データブロックキューの概念図である。データブロックキュー143は、キュー形式で管理されるデータブロック(の識別子)のつながりを示している。先頭から最後尾までデータブロックが連結されて管理されており、最新の書き換え済みデータブロックは最後尾に連結される。
FIG. 5 is a conceptual diagram of the data block queue. The
このようなデータブロックキュー143では、その時点までの未書き換え時間が最長のデータブロックが先頭に存在し、最後尾に近づくにつれてその時点までの未書き換え時間が短くなっている。また、データブロックキュー143では、統計学的に考えて、先頭に近いほど書き換え回数が少なく、最後尾に近いほど書き換え回数が多いデータブロックが存在する傾向があると考えられる。
In such a
図6は、交替ブロックキューの概念図である。交替ブロックキュー144は、キュー形式で管理される交替ブロック(の識別子)のつながりを示している。交替ブロックキュー144は、1万回未満、1万回以上2万回未満、・・・、9万回以上10万回未満、10万回以上というように、1万回ごとに別々のキューとして管理される。なお、ここで管理単位を「1万回ごと」としているのは一例であり、他の管理単位であってもよい。
FIG. 6 is a conceptual diagram of the replacement block queue. The
次に、図7を参照して、半導体メモリ2に関する平準化処理について説明する。図7は、半導体メモリに関する平準化処理を示したフローチャートである。
Next, the leveling process for the
まず、マイクロプロセッサ11は、書き換え回数が9万回(所定回数)以上の交替ブロックがあるか否かを判定する(ステップS1)。この判定は、メモリ14の交替ブロックキュー144を参照することにより行うことができる。また、この判定のタイミングは、定期的であってもよいし、あるいは、交替ブロックキュー144において、9万回以上10万回未満のキューに交替ブロックが登録されたときであってもよいし、さらに、マイクロプロセッサ11の処理動作の空き時間発生時であってもよい。当該交替ブロックがないと判定した場合(ステップS1でNo)、ステップS1に戻る。
First, the
当該交替ブロックがあると判定した場合(ステップS1でYes)、マイクロプロセッサ11は、データブロックキュー143における先頭のデータブロックの書き換え回数が9万回(所定回数)未満か否かを判定する(ステップS2)。
If it is determined that there is the replacement block (Yes in step S1), the
9万回未満と判定した場合(ステップS2でYes)、マイクロプロセッサ11は、当該交替ブロック(書き換え回数が9万回以上の交替ブロック)と、データブロックキュー143における先頭のデータブロックとを交替(データを入れ替え)し(ステップS3)、論理・物理変換テーブル142などを更新した上で処理を終了する。
If it is determined that the number is less than 90,000 times (Yes in step S2), the
9万回以上と判定した場合(ステップS2でNo)、マイクロプロセッサ11は、その旨を管理者に表示などにより通知し、処理を終了する。通知を受けた管理者は、書き換え回数が9万回以上の交替ブロックが存在することと、データブロックキュー143における先頭のデータブロックの書き換え回数が9万回以上であることを認識し、適宜対応することができる。
If it is determined that the number of times is 90,000 times or more (No in step S2), the
図8は、前記平準化処理を行った場合のブロックの書き換え回数の変化の様子を示したグラフである。ここでは、複数の物理ブロックのうち、代表して、ブロックAとブロックBの2つの物理ブロックについて説明する。 FIG. 8 is a graph showing how the number of block rewrites changes when the leveling process is performed. Here, two physical blocks of block A and block B will be described as representatives among the plurality of physical blocks.
図8に示すように、ブロックAは、前半において時間経過とともに書き換え回数が順次増加している。一方、ブロックBは、最初少し書き換え回数が増加した後、書き換えのほとんど行われないデータ(読み出し専用化したデータ)を格納したことにより、書き換え回数がそのまま維持されている。 As shown in FIG. 8, in the block A, the number of rewrites sequentially increases with time in the first half. On the other hand, in the block B, after the number of rewrites is slightly increased at first, data that is hardly rewritten (read-only data) is stored, so that the number of rewrites is maintained as it is.
このような状況の中、時刻Tにおいて、マイクロプロセッサ11は、交替ブロックになっているブロックAの書き換え回数が9万回以上であると判定し(ステップS1でYes)、データブロックキューにおける先頭のデータブロックとなっているブロックBの書き換え回数が9万回未満であると判定する(ステップS2でYes)。その後、マイクロプロセッサ11は、ブロックAとブロックBのデータを交替し(ステップS3)、論理・物理変換テーブル142などを更新する。
Under such circumstances, at the time T, the
この処理によって、ブロックAは、読み出し専用化したデータを格納することにより、時刻Tの後、書き換え回数の増加する可能性が低く抑えられる。また、ブロックBは、読み出し専用化したデータではなく、書き換えが頻繁に行われるデータを格納することにより、時刻Tの後、書き換え回数が増加する可能性が高くなる。 By this process, the block A stores the read-only data, so that the possibility that the number of rewrites will increase after time T is kept low. Further, the block B stores data that is frequently rewritten rather than read-only data, so that the possibility that the number of rewrites will increase after time T increases.
このように、本実施形態の記憶装置6によれば、書き換え回数が9万回以上の交替ブロックと、データブロックのうちその時点までの未書き換え時間が所定より長いデータブロック(キュー形式で管理された先頭のデータブロック)とを交替することにより、より効果的な平準化を行うことができる。なお、データブロックのうちその時点までの未書き換え時間が所定より長いデータブロックとは、例えば、未書き換え時間が一番長いデータブロックであってもよいし、また、予め決められた時間長よりも長い間書き換えが行われていないデータブロックであってもよい。 As described above, according to the storage device 6 of the present embodiment, a replacement block having a rewrite count of 90,000 times or more and a data block of data blocks whose unwritten time until that point is longer than a predetermined value (managed in a queue format). By replacing the first data block), more effective leveling can be performed. Of the data blocks, the data block whose unwritten time until that point is longer than a predetermined value may be, for example, a data block having the longest unwritten time, or a predetermined length of time. It may be a data block that has not been rewritten for a long time.
また、データブロックを、先入れ先出しのデータ構造であるキュー形式で管理することで、その先頭のデータブロックを、書き換え回数が9万回以上の交替ブロックと交替する対象として抽出することができ、平準化処理を簡素化および低負担化することができる。 Also, by managing data blocks in a queue format that is a first-in first-out data structure, the top data block can be extracted as a replacement block with a replacement block with 90,000 or more rewrites, and leveled Processing can be simplified and the burden can be reduced.
さらに、データブロックキューにおける先頭のデータブロックの書き換え回数が9万回以上であったときは、そのデータブロックと、書き換え回数が9万回以上の交替ブロックとの交替を行わないことで、無駄な処理を回避できる。 Furthermore, when the number of rewrites of the first data block in the data block queue is 90,000 times or more, it is not necessary to replace the data block with a replacement block having the number of rewrites of 90,000 or more. Processing can be avoided.
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。
例えば、前記した所定回数は、9万回でなくてもよく、半導体メモリ2の書き換え上限回数(メーカの仕様に基づくので一定ではない)に近い値であれば任意の回数を設定することができる。
As mentioned above, although embodiment of this invention was described, this invention is not limited to this, It can implement in the range which does not change the meaning.
For example, the predetermined number of times may not be 90,000, and any number can be set as long as it is close to the upper limit number of times of rewriting of the semiconductor memory 2 (which is not constant because it is based on the manufacturer's specifications). .
また、本実施形態の平準化処理と従来の平準化処理とを併用してもよい。
さらに、データブロックキューにおける先頭のデータブロックの書き換え回数が9万回以上であったときに、その2番目以降のデータブロックの書き換え回数が9万回未満か否かを判定し、9万回未満のデータブロックがあればそのデータブロックを交替に使用してもよい。
その他、ハードウェア、ソフトウェアの具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
Further, the leveling process of the present embodiment and the conventional leveling process may be used in combination.
Furthermore, when the number of rewrites of the first data block in the data block queue is 90,000 times or more, it is determined whether the number of rewrites of the second and subsequent data blocks is less than 90,000 times, and less than 90,000 times If there is a data block, the data block may be used for replacement.
In addition, specific configurations of hardware and software can be appropriately changed without departing from the gist of the present invention.
1 メモリ制御部
2 半導体メモリ
3 ホスト装置
4,5 データバス
6 記憶装置
11 マイクロプロセッサ(演算部)
12 メモリI/F制御部
13 ホストI/F制御部
14 メモリ
21 ブロック
22 データブロック
23 交替ブロック
DESCRIPTION OF
12 Memory I /
Claims (2)
外部のホスト装置からの指示に従い、前記不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御部と、
を具備する記憶装置であって、
前記メモリ制御部は、
前記不揮発性半導体メモリの物理ブロックを、少なくとも、使用中の物理ブロックであるデータブロックと、待機中の物理ブロックである交替ブロックと、別々に管理し、その際、前記データブロックを先入れ先出しのデータ構造であるデータブロック用キューで管理するとともに、前記交替ブロックを所定範囲の書き換え回数ごとにそれぞれ別々の交替ブロック用キューで管理し、
前記物理ブロックごとの書き換え回数を管理し、
所定のタイミングで、前記データブロック用キューの先頭のデータブロックの書き換え回数に比べて、前記所定範囲の下限の書き換え回数のほうが大きい前記交替ブロック用キューに交替ブロックが存在する場合には、当該データブロック用キューの先頭のデータブロックと、当該交替ブロック用キューに存在する交替ブロックのいずれかと、を交替させる
ことを特徴とする記憶装置。 A nonvolatile semiconductor memory that performs data writing to a storage area in a predetermined unit and erases data in a unit of a physical block having a data amount larger than the predetermined unit;
In accordance with an instruction from an external host device, a memory control unit that controls writing and reading of data to and from the nonvolatile semiconductor memory;
A storage device comprising:
The memory control unit
The physical block of the non-volatile semiconductor memory is managed separately at least as a data block that is a physical block that is in use and a replacement block that is a physical block that is on standby, in which case the data block is a first-in first-out data structure Are managed in a data block queue, and the replacement block is managed in a separate replacement block queue for each predetermined number of rewrites,
Managing the number of rewrites for each physical block;
If a replacement block exists in the replacement block queue, the number of rewrites at the lower limit of the predetermined range is larger than the number of rewrites of the first data block of the data block queue at a predetermined timing , the relevant data A storage device , wherein a data block at a head of a block queue is replaced with one of replacement blocks existing in the replacement block queue .
外部のホスト装置からの指示に従い、前記不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御部と、
を具備する記憶装置によるメモリ制御方法であって、
前記メモリ制御部は、
前記不揮発性半導体メモリの物理ブロックを、少なくとも、使用中の物理ブロックであるデータブロックと、待機中の物理ブロックである交替ブロックと、別々に管理し、その際、前記データブロックを先入れ先出しのデータ構造であるデータブロック用キューで管理するとともに、前記交替ブロックを所定範囲の書き換え回数ごとにそれぞれ別々の交替ブロック用キューで管理し、
前記物理ブロックごとの書き換え回数を管理し、
所定のタイミングで、前記データブロック用キューの先頭のデータブロックの書き換え回数に比べて、前記所定範囲の下限の書き換え回数のほうが大きい前記交替ブロック用キューに交替ブロックが存在する場合には、当該データブロック用キューの先頭のデータブロックと、当該交替ブロック用キューに存在する前記交替ブロックのいずれかと、を交替させる
ことを特徴とするメモリ制御方法。 A nonvolatile semiconductor memory that performs data writing to a storage area in a predetermined unit and erases data in a unit of a physical block having a data amount larger than the predetermined unit;
In accordance with an instruction from an external host device, a memory control unit that controls writing and reading of data to and from the nonvolatile semiconductor memory;
A memory control method using a storage device comprising:
The memory control unit
The physical block of the non-volatile semiconductor memory is managed separately at least as a data block that is a physical block that is in use and a replacement block that is a physical block that is on standby, in which case the data block is a first-in first-out data structure Are managed in a data block queue, and the replacement block is managed in a separate replacement block queue for each predetermined number of rewrites,
Managing the number of rewrites for each physical block;
If a replacement block exists in the replacement block queue, the number of rewrites at the lower limit of the predetermined range is larger than the number of rewrites of the first data block of the data block queue at a predetermined timing , the relevant data A memory control method comprising: exchanging a head data block in a block queue and any of the replacement blocks existing in the replacement block queue .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008250815A JP5255389B2 (en) | 2008-09-29 | 2008-09-29 | Storage device and memory control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008250815A JP5255389B2 (en) | 2008-09-29 | 2008-09-29 | Storage device and memory control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010079860A JP2010079860A (en) | 2010-04-08 |
JP5255389B2 true JP5255389B2 (en) | 2013-08-07 |
Family
ID=42210184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008250815A Active JP5255389B2 (en) | 2008-09-29 | 2008-09-29 | Storage device and memory control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5255389B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3507132B2 (en) * | 1994-06-29 | 2004-03-15 | 株式会社日立製作所 | Storage device using flash memory and storage control method thereof |
JPH09306186A (en) * | 1996-05-17 | 1997-11-28 | Canon Inc | Flash memory control device and method |
JPH10320984A (en) * | 1997-05-15 | 1998-12-04 | Sharp Corp | Memory device |
JP3812933B2 (en) * | 2001-04-19 | 2006-08-23 | シャープ株式会社 | File system and control method thereof |
JP4096660B2 (en) * | 2002-08-22 | 2008-06-04 | カシオ計算機株式会社 | Data recording control device and program |
JP2006134475A (en) * | 2004-11-05 | 2006-05-25 | Matsushita Electric Ind Co Ltd | Memory apparatus |
-
2008
- 2008-09-29 JP JP2008250815A patent/JP5255389B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010079860A (en) | 2010-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4844639B2 (en) | MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD | |
JP6016137B2 (en) | Solid state drive and method of operation thereof | |
TWI385669B (en) | Wear leveling method and storage system and controller using the same | |
JP5480913B2 (en) | Storage device and memory controller | |
JP4356686B2 (en) | Memory device and memory control method | |
US9582416B2 (en) | Data erasing method, memory control circuit unit and memory storage apparatus | |
JP5990430B2 (en) | SSD (solid state drive) device | |
JP5570406B2 (en) | Memory controller and data recording apparatus | |
WO2009096180A1 (en) | Memory controller, nonvolatile storage device, and nonvolatile storage system | |
WO2009118917A1 (en) | Storage device using flash memory | |
TWI423022B (en) | Memory management method, memory controller and memory storage apparatus | |
US8271721B2 (en) | Data writing method and data storage device | |
JP4829202B2 (en) | Storage device and memory control method | |
JP2010086009A (en) | Storage device and memory control method | |
JPWO2007105688A1 (en) | MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, AND NONVOLATILE STORAGE SYSTEM | |
US9304906B2 (en) | Memory system, controller and control method of memory | |
JP4308780B2 (en) | Semiconductor memory device, memory controller, and data recording method | |
EP2381354A2 (en) | Data recording device | |
JP2009259145A (en) | Memory controller, flash memory system provided with memory controller, and method for controlling flash memory | |
JP5255389B2 (en) | Storage device and memory control method | |
JP5180726B2 (en) | Storage device and data write control method | |
JP4334331B2 (en) | Flash memory access control method | |
JP4888333B2 (en) | Flash disk device | |
JP4468342B2 (en) | Data management method | |
JP2012037971A (en) | Memory controller, nonvolatile memory system provided with memory controller, and method for controlling nonvolatile memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130321 |
|
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: 20130409 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130419 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5255389 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: 20160426 Year of fee payment: 3 |