JP3534585B2 - フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置 - Google Patents

フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置

Info

Publication number
JP3534585B2
JP3534585B2 JP28857697A JP28857697A JP3534585B2 JP 3534585 B2 JP3534585 B2 JP 3534585B2 JP 28857697 A JP28857697 A JP 28857697A JP 28857697 A JP28857697 A JP 28857697A JP 3534585 B2 JP3534585 B2 JP 3534585B2
Authority
JP
Japan
Prior art keywords
data
flash memory
garbage collection
rewriting
flash
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
JP28857697A
Other languages
English (en)
Other versions
JPH11126488A (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
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Priority to JP28857697A priority Critical patent/JP3534585B2/ja
Priority to US09/174,100 priority patent/US20010023472A1/en
Publication of JPH11126488A publication Critical patent/JPH11126488A/ja
Application granted granted Critical
Publication of JP3534585B2 publication Critical patent/JP3534585B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はフラッシュメモリ等
のような、書換回数に制限のあるメモリを使用した外部
記憶装置のデータの制御方法に係り、書換回数の制御を
行い、外部記憶装置のアクセス高速化と長寿命化を図る
データ記憶制御方法及び装置に関する。
【0002】
【従来の技術】最近、書換回数に制限はあるが、電気的
に書換可能な不揮発性メモリとしてフラッシュメモリが
注目されており、携帯用機器や、メモリカード等に使用
されてきている。しかし、データの消去は512byt
eから64kbyteの大きさの消去ブロックの一括消
去しか行えず、書換回数は104から105回程度に制限
されている。
【0003】フラッシュメモリの消去ブロックを消去す
る時、消去ブロック内の有効なデータまで消去してしま
うため、有効データを消去しないように別の領域に書き
換えるガベージコレクションが必要である。しかし、消
去ブロック単位でデータ消去をした場合、消去ブロック
の消去時間が長く、その間は同一フラッシュメモリ内の
他の消去ブロックにあるデータにはアクセスが出来な
い。
【0004】また、フラッシュメモリは書換回数に制限
があるため、1個の記憶領域が書換回数による寿命に達
した時、フラッシュメモリ自体の寿命となる。例えば、
複数のフラッシュメモリを使用した外部記憶装置では、
1個のフラッシュメモリが書換回数による寿命に達した
時、外部記憶装置自体の寿命となる。
【0005】そこで、従来においては、フラッシュメモ
リを使用した外部記憶装置の長寿命化を実現するため、
消去回数が少ない消去ブロックに格納されているデータ
と消去回数が多い消去ブロックに格納されているデータ
とを入れ替え、消去ブロック毎における消去回数の平均
化を行っていた。なお、上記従来技術の例としては、特
開平5−27924号公報に記載された「半導体メモリ
を用いた外部記憶システム及びその制御方法」がある。
【0006】
【0007】
【0008】
【発明が解決しようとする課題】 しかしながら、上記従
来技術においては、 消去ブロック毎における消去回数の
平均化を行うためには、各々の消去ブロックの消去回数
を数え、その消去回数の差を計算する必要があるが、そ
の計算に多大な時間が必要であり、他の処理を実行する
ことが困難であった。
【0009】本発明の目的は、上記問題点を解消して、
データ消去待ち時間の必要が無く、かつ、各フラッシュ
メモリの消去回数の差の計算時間の必要なく、フラッ
シュメモリの消去回数を常に平均化でき、長寿命化を図
ることが可能な、フラッシュメモリを複数使用した外部
記憶装置のデータ記憶制御方法及び装置を実現すること
である。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、本発明は次のように構成される。(1) 書換回数に制限があり、実際にデータを書き込む
ための物理セクタよリも消去ブロックが大きく、消去ブ
ロック内のデータを一括消去するフラッシュメモリを複
数用いた外部記憶装置のデータ記憶制御方法において、
複数のフラッシュメモリを外部からの書換データを格納
する一定の数の書換データ用フラッシュメモリと、ガベ
ージコレクション用フラッシュメモリとに分割し、外部
からの書換データは書換データ用フラッシュメモリに追
記型でデータ書込みを行い、書換データ用フラッシュメ
モリに空領域がなくなったら、書換データ用フラッシュ
メモリのデータを消去する前に、書換データ用フラッシ
ュメモリの有効データをガベージコレクション用フラッ
シュメモリに移動し、それ以降の外部からの書換データ
はガベージコレクション用フラッシュメモリに格納し、
書換データ用フラッシュメモリからガベージコレクショ
ン用フラッシュメモリの有効データの移動終了後は、書
換データ格納用フラッシュメモリを一括消去し、書換デ
ータ用フラッシュメモリのデータ消去終了時点で、この
データ消去された書換データ用フラッシュメモリをガベ
ージコレクション用フラッシュメモリとし、それまでガ
ページコレクション用フラッシュメモリであったフラッ
シュメモリを書換データ用フラッシュメモリとし、デー
タ格納位置を所定の順序でローテーションしてガベージ
コレクションを行い、全てのフラッシュメモリのデータ
書換回数を平均化する。
【0011】
【0012】()また、書換回数に制限があり、実際
にデータを書き込むための物理セクタよりも消去ブロッ
クが大きく、消去ブロック内のデータを一括消去するフ
ラッシュメモリを複数用いた外部記憶装置のデータ記憶
制御装置において、外部からの書換データを追記型で書
込み、格納する一定の数の書換データ用フラッシュメモ
リと、書換データ用フラッシュメモリの有効データを移
動するガベージコレクションを行うためのガベージコレ
クション用フラッシュメモリと、書換データ用フラッシ
ュメモリに空領域がなくなったら、書換データ用フラッ
シュメモリのデータを消去する前に、書換データ用フラ
ッシュメモリの有効データをガベージコレクション用フ
ラッシュメモリに移動し、それ以降の外部からの書換デ
ータはガページコレクション用フラッシュメモリに格納
し、書換データ用フラッシュメモリからガベージコレク
ション用フラッシュメモリヘの有効データの移動終了後
は、書換データ格納用フラッシュメモリを一括消去し、
書換データ用フラッシュメモリのデータ消去終了時点
で、このデータ消去された書換データ用フラッシュメモ
リをガベージコレクション用フラッシュメモリとし、そ
れまでガページコレクション用フラッシュメモリであっ
たフラッシュメモリを書換データ用フラッシュメモリと
し、データ格納位置を所定の順序でローテーションして
ガベージコレクションを行い、全てのフラッシュメモリ
のデータ書換回数を平均化するデータ格納制御手段とを
備える。
【0013】
【0014】複数のフラッシュメモリを外部からの書換
データを格納する一定の数の書換データ用フラッシュメ
モリと、書換データ用フラッシュメモリの有効データを
移動するガベージコレクションを行うためのガベージコ
レクション用フラッシュメモリとに分割し、外部からの
書換データは書換データ用フラッシュメモリに追記型で
データ書込むように構成される。これにより、ガベージ
コレクション終了後であって、消去中のフラッシュメモ
リには有効データが存在しないため、フラッシュメモリ
のデータ消去とデータアクセスは並行実行が可能であ
り、データ消去待ち時間の必要が無い。また、フラッシ
ュメモリのローテーションは、所定のローテーションで
行われるように構成されているため、複数のフラッシュ
メモリのうち、空き領域が無くなったフラッシュメモリ
のデータを移動させるに適切なメモリがどれであるかを
選択するためのメモリの管理や、各フラッシュメモリの
消去回数の差の時間の計算の必要が無い。
【0015】
【発明の実施の形態】本発明の実施形態を図面を参照し
て説明する。図1は、本発明の一実施形態が適用され
た、フラッシュメモリを使用した外部記憶装置の概略構
成図である。
【0016】図1において、外部記憶装置は、ホストコ
ンピュータ1と、CPU2と、マッピングテーブル3と
を備え、このマッピングテーブル3は、ホストコンピュ
ータ1のアクセスする論理セクタアドレスとフラッシュ
メモリのデータ格納領域を表す物理セクタアドレスを対
応付ける。
【0017】また、外部記憶装置は、電源立ち上げ時に
外部記憶装置が動作を回復するためのプログラムを格納
するROM4と、ホストコンピュータ1と外部記憶装置
とのインタフェース5と、CPU2、マッピングテーブ
ル3、ROM4、インタフェース5に制御信号を出す制
御回路(データ格納制御手段)6と、記憶媒体であるフ
ラッシュメモリ7とを備える。
【0018】また、外部記憶装置は、ホストコンピュー
タ1とインタフェース5とを結ぶインタフェース用デー
タバス8と、インタフェース5と制御回路6とを結ぶ制
御用データバス9と、CPU2、マッピングテーブル
3、ROM4でデータを送受信するCPUバス10とを
備える。
【0019】さらに、外部記憶装置は、フラッシュメモ
リ7と制御回路6との間でデータの送受信を行うメモリ
データバス11と、制御回路6からフラッシュメモリ7
へ信号を送るメモリ制御線12と、CPU2、制御回路
6、マッピングテーブル3、ROM4間で信号を送受信
する制御信号13とを備える。
【0020】外部記憶装置内のフラッシュメモリ7は、
24Mbyteの書換データ用フラッシュメモリと、1
6Mbyteのガベージコレクション用フラッシュメモ
リとに分けられている。書換データ用フラッシュメモ
リ、及びガベージコレクション用フラッシュメモリは、
それぞれ8Mbyte単位で更にわかれており、図1の
フラッシュメモリ7a〜7cは、それぞれ8Mbyte
の書換データ用フラッシュメモリ、フラッシュメモリ7
d〜7eは、それぞれ8Mbyteのガベージコレクシ
ョン用フラッシュメモリである。
【0021】図3及び図4は、フラッシュメモリの構造
及び消去ブロック内の構造を示す図である。図3及び図
4において、フラッシュメモリ21は複数の消去ブロッ
ク22を有し、各消去ブロック22は、複数に分割され
た物理セクタ23と、一つのフラッシュメモリ管理領域
24とを有する。単体のフラッシュメモリ21は2Mb
yte、フラッシュメモリ21の消去ブロック22は6
4kbyteである。
【0022】図5は、物理セクタ23の構成図である。
図5において、物理セクタ23はデータ格納領域27と
は別に、物理セクタ管理領域25が付加され、データの
管理を行う情報を記憶している。論理セクタ及び物理セ
クタはデータ格納領域の512byte、管理領域分の
32Byteの544byteとする。ここで、物理セ
クタ及び論理セクタは、それぞれデータを格納する単位
及びホストコンピュータ1がフラッシュメモリ7a〜7
eにアクセスする最小のファイル単位である。
【0023】フラッシュメモリのデータ幅は8bitと
し、32bitのデータ転送を可能にするため、4個の
フラッシュメモリを並列に並べる。このため、フラッシ
ュメモリは4個、8Mbyte単位で管理を行う。
【0024】図6はマッピンテーブル構成図である。図
6において、マッピングテーブル格納領域26は、ホス
トコンピュータ1がデータにアクセスする論理セクタア
ドレスと、実際にデータが格納されている物理セクタア
ドレスが違うため、その対応関係を示すものであり、ホ
ストコンピュータ1がデータアクセスする時に使用され
る。
【0025】マッピングテーブル3は、電源立ち上げの
度に作成され、マッピングテーブル3内のマッピングテ
ーブル格納領域26は、データの格納位置が変わった時
にそれまでのデータ格納位置の物理アドレスから現在格
納されている物理アドレスに書換が行われる。
【0026】また、マッピングテーブル3は次に書込み
可能な物理セクタアドレスが簡単に見つけられるように
物理セクタアドレス用ポインタ31を設け、その先頭物
理アドレスを記憶する。
【0027】さらに、マッピングテーブル3は、フラッ
シュメモリの管理領域を格納するアドレスが簡単に見つ
けられるように5個のフラッシュメモリ管理領域用ポイ
ンタ32を設け、アクセスする先頭物理アドレスを記憶
する。
【0028】フラッシュメモリはデータの消去する単位
が、ホストのアクセスする単位よりも大きく、データ消
去時間が必要である。このため、データは追記型で書込
みを行い、データ書換時は既に書込まれている旧データ
を無効にし、書換データを追記することによって、デー
タを書き換えるたびに必要なデータ消去を不要とし、デ
ータアクセス時間を高速化する。
【0029】また、データ書込みを追記型で行うため、
物理セクタアドレス用ポインタ31に格納されるアドレ
スは常に書込みが終了したアドレスの次のアドレスであ
る。
【0030】図12はホストコンピュータ1からフラッ
シュメモリを使用した外部記憶装置へのデータアクセス
方法を示す図である。図12の(1)において、ホスト
コンピュータ1からリードアクセスが行われた場合は、
リードアクセスされた論理セクタアドレスをインタフェ
ース5、制御回路6を介してCPU2に送る。CPU2
はマッピングテーブル格納領域にアクセスすることによ
って論理セクタアドレスを物理セクタアドレスに変換
し、その物理セクタアドレスでフラッシュメモリ7a、
7b又は7cにアクセスし、更にインタフェースを介し
てホストコンピュータ11にデータを転送する。
【0031】図12の(2)において、ホストコンピュ
ータ1からライトアクセス要求があった場合には、デー
タ書換用フラッシュメモリには常にデータを追記型で書
込む。マッピングテーブル3の物理セクタアドレス用ポ
インタ31に次に書込み可能な先頭物理アドレスを格納
し、ホストコンピュータ1からデータ書込みが行われる
時は、CPU2はインタフェース5、制御回路6を介し
てデータを受けマッピングテーブル格納領域の物理セク
タアドレス用ポインタ31にアクセスし、物理セクタア
ドレスポインタ31に格納されているフラッシュメモリ
7のアドレスにデータの書込みを行う。
【0032】データ書込み終了後、マッピングテーブル
3の論理アドレスに対応する物理セクタアドレスを書込
まれたデータの先頭物理アドレスに書き換え、同時に物
理セクタアドレス用ポインタ31も、次に書込み可能な
物理アドレスに書き換え、その物理セクタアドレスから
次のデータ書込みを実行できるようにする。
【0033】図10によりフラッシュメモリのデータを
消去する際に必要なガベージコレクション方法を説明す
る。図10において、外部記憶装置内のフラッシュメモ
リ7a〜7eを、書換データ用フラッシュメモリ7a、
7b、7cと、ガベージコレクション用フラッシュメモ
リ7d、7eとに分ける。ここで、ガベージコレクショ
ン用フラッシュメモリは、書換データ用フラッシュメモ
リに空領域がなくなり、データ消去を実行する時に、書
換データ用フラッシュメモリ内の有効データを移動する
ために必要なフラッシュメモリである。
【0034】CPU2は、書換データ用フラッシュメモ
リ7a、7b、7cがホストコンピュータ1からの書換
データの書込みによってデータで一杯になったら、メモ
リ制御線12及びメモリデータバス11により有効なデ
ータのみを取り出し、ガベージコレクション用フラッシ
ュメモリに書き換える。
【0035】図10の(a)は、ガベージコレクション
中のデータアクセスを示す。データ書換用フラッシュメ
モリ7a、7b、7cがホストコンピュータ1からの書
込みで空領域がなくなったら、ホストコンピュータ1の
アクセスの合間に書換データ用フラッシュメモリ7a、
7b、7cから有効データのみを移動するガベージコレ
クションをガベージコレクション用フラッシュメモリ7
d、7eに対して実行する。
【0036】また、ホストコンピュータ1からのデータ
ライトアクセスもガベージコレクション用フラッシュメ
モリ7d、7eに実行する。ただし、書換データ用フラ
ッシュメモリ7a、7b、7c内の有効データはリード
アクセス可能である。
【0037】図10の(b)は、ガベージコレクション
終了後のフラッシュメモリの状態である。有効データが
なくなった書換データ用フラッシュメモリ7a、7b、
7cはデータ一括消去を行う。
【0038】ガベージコレクション終了後のデータを格
納しているフラッシュメモリは次の書換データ用フラッ
シュメモリとなる。図10の(c)はデータ一括消去終
了後の書換データ用フラッシュメモリを示す図であり、
このメモリは次のガベージコレクション用フラッシュメ
モリとなる。
【0039】次に、図2を用いてフラッシュメモリの長
寿命化を実現するデータ格納位置ローテーション方法に
ついて説明する。図2において、フラッシュメモリ7a
を書換データ用フラッシュメモリ1、7bを書換データ
用フラッシュメモリ2、7cを書換データ用フラッシュ
メモリ3、7dをガベージコレクション用フラッシュメ
モリ1、7eをガベージコレクション用フラッシュメモ
リ2とする。
【0040】書換データ用フラッシュメモリ1、2、3
は、書換データ用フラッシュメモリ1から3へと順にデ
ータを格納していく。そして、CPU2は、書換データ
用フラッシュメモリ3の空領域がなくなった時点で、書
換データ用フラッシュメモリ1のガベージコレクション
をガベージコレクション用フラッシュメモリ1に対して
行う。
【0041】ガベージコレクション用フラッシュメモリ
1に対してガベージコレクション行うと同時に、ホスト
コンピュータ1からのライトアクセスがきた場合は、ホ
ストコンピュータ1のアクセスを優先してデータ書込み
をガベージコレクション用フラッシュメモリ1に行う。
書換データ用フラッシュメモリ1のガベージコレクショ
ンが終了したら、書換データ用フラッシュメモリ2のガ
ベージコレクションをガベージコレクション用フラッシ
ュメモリ1若しくはガベージコレクション用フラッシュ
メモリ2に対して実行する。
【0042】書換データ用フラッシュメモリ2のガベー
ジコレクションと同時に、旧書換データ用フラッシュメ
モリ1のデータ消去を並行して行う。そして、ガベージ
コレクション用フラッシュメモリ1は、CPU2によっ
て、フラッシュメモリ管理領域が書き換えられ、書換デ
ータ用フラッシュメモリ1となる。ガベージコレクショ
ンで移動するデータは、常にガベージコレクション用フ
ラッシュメモリ1から2の順序に従い、格納されるもの
とする。
【0043】書換データ用フラッシュメモリ2のガベー
ジコレクションが終了したら、書換データ用フラッシュ
メモリ1と同様に、データの一括消去を行い、ガベージ
コレクション実行用フラッシュメモリ2を書換データ用
フラッシュメモリ2とする。次に、書換データ用フラッ
シュメモリ3のガベージコレクションを同様に実行す
る。
【0044】このように、フラッシュメモリを、所定の
順序で、ローテーションすることにより、複数のフラッ
シュメモリのうち、空き領域が無くなったフラッシュメ
モリのデータを移動させるに適切なメモリがどれである
かを選択するためのメモリの管理や、各フラッシュメモ
リの消去回数の差の時間の計算の必要が無い。
【0045】ここで、書換データ用フラッシュメモリ1
又は2に空領域が存在すれば、その位置からデータ移動
を実行し、空領域がなかったら旧書換データ用フラッシ
ュメモリ1の消去を待ってからデータをそのメモリに移
動する。旧書換データ用フラッシュメモリ1は、次のガ
ベージコレクション用フラッシュメモリ3となる。旧書
換データ用フラッシュメモリ1、2と同様に書換データ
フラッシュメモリ3のガベージコレクションが終了した
らデータ消去を行い、ガベージコレクション用フラッシ
ュメモリ3は書換データ用フラッシュメモリ3にステー
タスが書き換えられる。
【0046】また、旧書換データ用フラッシュメモリ
2、及び旧書換データ用フラッシュメモリ3はそれぞれ
ステータスがガベージコレクション用フラッシュメモリ
1、及びガベージコレクション用フラッシュメモリ2に
ステータスが書き換えられる。即ち、データ24Mby
teが書込まれた時点で、ガベージコレクションを実行
し、データ格納位置がローテーションされる。
【0047】データ格納位置のローテーションに伴い、
フラッシュメモリ管理領域24のステータステーブルの
書換えが必要となる。フラッシュメモリ管理領域24も
追記型に行う。
【0048】次に、図7、8、9を用い、データをロー
テーションするために必要な物理セクタ管理領域、フラ
ッシュメモリ管理領域、マッピングテーブルについて説
明する。
【0049】まず、図7を参照して、物理セクタ管理領
域25の内容の詳細を説明する。スタートビットは、ホ
ストコンピュータ1からのデータを書込む時に、フラッ
シュメモリの初期値とは別の値を書込み、電源立ち上げ
の時にフラッシュメモリにどこまでデータが書込まれて
いるか判断するために設ける。
【0050】論理アドレスは、ホストコンピュータ1か
らアクセスされる番号と実際にフラッシュメモリに記憶
されている物理セクタアドレスとが違うため、物理セク
タにそのセクタにホストコンピュータ1がアクセスする
アドレスである論理アドレスを書込む。
【0051】論理アドレス書込終了フラグは管理領域内
の情報の論理アドレスがすべて書きおわったかを示すた
めに設ける。データ無効フラグは論理セクタを書き換え
るときに必要なくなった旧データに無効の目印をつける
ものである。
【0052】図8を参照して、フラッシュメモリ管理領
域の内容の詳細を説明する。フラッシュメモリ管理領域
はフラッシュメモリNo.、ステータステーブル、ロー
テーション回数、データ無効フラグを格納している。フ
ラッシュメモリNo.はデータ消去により、フラッシュ
メモリの管理領域も消去されるため、別のフラッシュメ
モリにフラッシュメモリ管理領域を記憶させる。この
時、格納先の管理領域と区別を付けるために設ける。
【0053】ステータステーブルは、各フラッシュメモ
リの状態がどのようになっているかを示している。フラ
ッシュメモリの状態はデータ書換用フラッシュメモリの
データ書込み待機中、データ書換用フラッシュメモリの
データ書込み中、データ書換用フラッシュメモリのガベ
ージコレクション実行中、データ書換用フラッシュメモ
リのデータ消去中、ガベージコレクション実行用メモリ
のデータ待機中、ガベージコレクション実行用メモリの
データ書換中の計6種類あり、ステータステーブルによ
り状態を区別している。
【0054】ローテーション回数は外部記憶装置内のフ
ラッシュメモリでデータ格納位置を換えるためにデータ
ローテーション回数が何回行われたかを示す。フラッシ
ュメモリは書換回数が制限されているため、フラッシュ
メモリのローテーション回数を数えることでフラッシュ
メモリの書換回数を示すのに役立つ。データ無効フラグ
は管理領域の書換が必要となった時、フラッシュメモリ
のデータを消去せずに、データに無効である目印である
フラグを書込み、古いデータであることを示すのに役立
つものである。
【0055】図9はマッピングテーブル作成方法を示す
図である。論理アドレスは昇順であり、そのアドレスに
対応する物理アドレスが書込まれる。RAMに格納する
ため、電源立上時に物理セクタの物理セクタ管理領域に
アクセスし、マッピングテーブル3の回復を行う。
【0056】ただし、停電後の電源立上時、データ書換
を行い、データ無効フラグが立つ前に停電し、回復を行
った場合同じ論理アドレスを示すデータが2つ存在する
場合がある。その場合は同じフラッシュメモリ内であれ
ば、データは追記型で書込まれているため、後ろのアド
レスを新データとみなし、また別々のフラッシュメモリ
に存在すればフラッシュメモリ管理領域のステータスを
みて新データがどちらかが判断できる。
【0057】例えば、書換データ用フラッシュメモリと
ガベージコレクション用メモリに同じデータが存在する
時、ガベージコレクション用フラッシュメモリ内のデー
タは書換データ用フラッシュメモリからデータを書き移
されてくるため、ガベージコレクション用フラッシュメ
モリ内のデータが新データである。書換データ用フラッ
シュメモリのデータは、ガベージコレクション終了後、
一括消去される。
【0058】図11にデータアクセスとデータ消去の並
行実行を可能にする本発明の実施形態と従来のガベージ
コレクション方式とのデータアクセス時間の比較を示
す。従来方式ではデータ消去をフラッシュメモリ内の消
去ブロックで実行するため、データ消去中のフラッシュ
メモリにはデータアクセス出来ず、データ消去を実行し
た後フラッシュメモリにデータアクセスを行っていた。
【0059】これに対して、本発明においては、書換デ
ータ用フラッシュメモリとガベージコレクション用フラ
ッシュメモリの間でガベージコレクションを実行するこ
とによって、消去中のフラッシュメモリには有効データ
が存在しないため、フラッシュメモリのデータ消去とデ
ータアクセスは並行実行が可能である。
【0060】また、データの格納位置の移動をガベージ
コレクションを行いながらすることによって不要なデー
タがなくなるため、データ移動を終了した時点では、空
セクタができ、その部分にデータを書込みが出来る。
【0061】したがって、本発明の一実施形態によれ
ば、消去中のフラッシュメモリには有効データが存在し
ないため、フラッシュメモリのデータ消去とデータアク
セスは並行実行が可能であり、データ消去待ち時間の必
要が無い。また、フラッシュメモリのローテーション
は、所定のローテーションで行われるように構成されて
いるため、複数のフラッシュメモリのうち、空き領域が
無くなったフラッシュメモリのデータを移動させるに適
切なメモリがどれであるかを選択するためのメモリの管
理や、各フラッシュメモリの消去回数の差の時間の計算
の必要が無い。
【0062】これにより、フラッシュメモリの消去回数
を常に平均化でき、長寿命化を図ることが可能な、フラ
ッシュメモリを複数使用した外部記憶装置のデータ記憶
制御方法及び装置を実現することができる。
【0063】
【発明の効果】本発明は、以上説明したように構成され
ているため、次のような効果がある。データ消去待ち時
間の必要が無く、かつ、各フラッシュメモリの消去回数
の差の計算時間の必要なく、フラッシュメモリの消去回
数を常に平均化でき、長寿命化を図ることが可能な、フ
ラッシュメモリを複数使用した外部記憶装置のデータ記
憶制御方法及び装置を実現することができる。
【0064】つまり、複数のフラッシュメモリを外部か
らの書換データを格納する一定の数の書換データ用フラ
ッシュメモリと、書換データ用フラッシュメモリの有効
データを移動するガベージコレクションを行うためのガ
ベージコレクション用フラッシュメモリとに分割し、外
部からの書換データは書換データ用フラッシュメモリに
追記型でデータ書込むように構成される。
【0065】これにより、ガベージコレクション終了後
であって、消去中のフラッシュメモリには有効データが
存在しないため、フラッシュメモリのデータ消去とデー
タアクセスは並行実行が可能であり、データ消去待ち時
間の必要が無い。
【0066】また、フラッシュメモリのローテーション
は、所定のローテーションで行われるように構成されて
いるため、複数のフラッシュメモリのうち、空き領域が
無くなったフラッシュメモリのデータを移動させるに適
切なメモリがどれであるかを選択するためのメモリの管
理や、各フラッシュメモリの消去回数の差の時間の計算
の必要無く、フラッシュメモリの消去回数を常に平均化
でき、長寿命化を図ることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態が適用された、フラッシュ
メモリを使用した外部記憶装置の概略構成図である。
【図2】本発明の一実施形態におけるデータ格納位置ロ
ーテーション方法を示す図である。
【図3】本発明の一実施形態において使用するフラッシ
ュメモリ構成図である。
【図4】本発明の一実施形態において使用するフラッシ
ュメモリの消去ブロック構成図である。
【図5】本発明の一実施形態におけるフラッシュメモリ
消去ブロック内の物理セクタ構成図である。
【図6】本発明の一実施形態におけるマッピングテーブ
ル構成図である。
【図7】物理セクタに付加される物理セクタ管理領域の
データを表す図である。
【図8】消去ブロック内に格納されるフラッシュメモリ
管理領域のデータを表す図である。
【図9】マッピングテーブル作成方法を示す図である。
【図10】フラッシュメモリのデータを消去する際に必
要なガベージコレクション方法を説明する図である。
【図11】本発明と従来技術とのデータアクセス時間の
比較を示す図である。
【図12】ホストコンピュータからの外部記憶装置への
データアクセス方法を示す図である。
【符号の説明】
1 ホストコンピュータ 2 CPU 3 マッピングテーブル 4 ROM 5 インタフェース 6 制御回路 7a〜7e フラッシュメモリ 8 インタフェース用データバス 9 制御用データバス 10 CPUバス 11 メモリデータバス 12 メモリ制御線 13 制御信号 21 フラッシュメモリ 22 消去ブロック 23 物理セクタ 24 フラッシュメモリ管理領域 25 物理セクタ管理領域 26 マッピングテーブル 27 データ格納領域 31 物理セクタアドレス用ポインタ 32 フラッシュメモリ管理領域用ポインタ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平5−241741(JP,A) 特開 平5−27924(JP,A) 特開 平8−16482(JP,A) 特開 平6−124596(JP,A) 特開 平8−314775(JP,A) 特開 平6−222985(JP,A) (58)調査した分野(Int.Cl.7,DB名) G11C 16/00 - 16/34 G06F 12/00 - 12/16

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】書換回数に制限があり、実際にデータを書
    き込むための物理セクタよりも消去ブロックが大きく、
    消去ブロック内のデータを一括消去するフラッシュメモ
    リを複数用いた外部記憶装置のデータ記憶制御方法にお
    いて、 複数のフラッシュメモリを外部からの書換データを格納
    する一定の数の書換データ用フラッシュメモリと、ガベ
    ージコレクション用フラッシュメモリとに分割し、外部
    からの書換データは書換データ用フラッシュメモリに追
    記型でデータ書込みを行い、 書換データ用フラッシュメモリに空領域がなくなった
    ら、書換データ用フラッシュメモリのデータを消去する
    前に、書換データ用フラッシュメモリの有効データをガ
    ベージコレクション用フラッシュメモリに移動し、そ
    以降の外部からの書換データはガベージコレクション用
    フラッシュメモリに格納し、 書換データ用フラッシュメモリからガベージコレクショ
    ン用フラッシュメモリヘの有効データの移動終了後は、
    書換データ格納用フラッシュメモリを一括消去し、 書換データ用フラッシュメモリのデータ消去終了時点
    で、このデータ消去された書換データ用フラッシュメモ
    リをガベージコレクション用フラッシュメモリとし、そ
    れまでガページコレクション用フラッシュメモリであっ
    たフラッシュメモリを書換データ用フラッシュメモリと
    し、データ格納位置を所定の順序でローテーションして
    ガベージコレクションを行い、全てのフラッシュメモリ
    のデータ書換回数を平均化することを特徴とするフラッ
    シュメモリを使用した外部記憶装置のデータ記憶制御方
    法。
  2. 【請求項2】書換回数に制限があり、実際にデータを書
    き込むための物理セクタよりも消去ブロックが大きく、
    消去ブロック内のデータを一括消去するフラッシュメモ
    リを複数用いた外部記憶装置のデータ記憶制御装置にお
    いて、 外部からの書換データを追記型で書込み、格納する一定
    の数の書換データ用フラッシュメモリと、 書換データ用フラッシュメモリの有効データを移動する
    ガベージコレクションを行うためのガベージコレクショ
    ン用フラッシュメモリと、 書換データ用フラッシュメモリに空領域がなくなった
    ら、書換データ用フラッシュメモリのデータを消去する
    前に、書換データ用フラッシュメモリの有効データをガ
    ベージコレクション用フラッシュメモリに移動し、そ
    以降の外部からの書換データはガページコレクション用
    フラッシュメモリに格納し、書換データ用フラッシュメ
    モリからガベージコレクション用フラッシュメモリヘの
    有効データの移動終了後は、書換データ格納用フラッシ
    ュメモリを一括消去し、書換データ用フラッシュメモリ
    のデータ消去終了時点で、このデータ消去された書換デ
    ータ用フラッシュメモリをガベージコレクション用フラ
    ッシュメモリとし、それまでガページコレクション用フ
    ラッシュメモリであったフラッシュメモリを書換データ
    用フラッシュメモリとし、データ格納位置を所定の順序
    でローテーションしてガベージコレクションを行い、全
    てのフラッシュメモリのデータ書換回数を平均化する
    ータ格納制御手段と、 を備えることを特徴とするフラッシュメモリを使用した
    外部記憶装置のデータ記憶制御装置。
JP28857697A 1997-10-21 1997-10-21 フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置 Expired - Fee Related JP3534585B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP28857697A JP3534585B2 (ja) 1997-10-21 1997-10-21 フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置
US09/174,100 US20010023472A1 (en) 1997-10-21 1998-10-16 Data storage control method and apparatus for external storage device using a plurality of flash memories

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28857697A JP3534585B2 (ja) 1997-10-21 1997-10-21 フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置

Publications (2)

Publication Number Publication Date
JPH11126488A JPH11126488A (ja) 1999-05-11
JP3534585B2 true JP3534585B2 (ja) 2004-06-07

Family

ID=17732061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28857697A Expired - Fee Related JP3534585B2 (ja) 1997-10-21 1997-10-21 フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置

Country Status (2)

Country Link
US (1) US20010023472A1 (ja)
JP (1) JP3534585B2 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2787601A1 (fr) * 1998-12-22 2000-06-23 Gemplus Card Int Systeme de memorisation comprenant des moyens de gestion d'une memoire avec anti-usure et procede de gestion anti-usure d'une memoire
JP4812192B2 (ja) * 2001-07-27 2011-11-09 パナソニック株式会社 フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法
FR2847695B1 (fr) * 2002-11-25 2005-03-11 Oberthur Card Syst Sa Entite electronique securisee integrant la gestion de la duree de vie d'un objet
US7412581B2 (en) * 2003-10-28 2008-08-12 Renesas Technology America, Inc. Processor for virtual machines and method therefor
US7089349B2 (en) * 2003-10-28 2006-08-08 Sandisk Corporation Internal maintenance schedule request for non-volatile memory system
WO2005081647A2 (en) * 2004-03-02 2005-09-09 Hismartech Co., Ltd. Method, system and a computer-readable recording medium for controlling storage of data in memory and system therefor
JP2005258851A (ja) * 2004-03-12 2005-09-22 Renesas Technology Corp メモリカード
US7457909B2 (en) * 2005-01-14 2008-11-25 Angelo Di Sena Controlling operation of flash memories
US7523381B2 (en) * 2005-09-01 2009-04-21 Micron Technology, Inc. Non-volatile memory with error detection
JP4356686B2 (ja) 2005-12-01 2009-11-04 ソニー株式会社 メモリ装置及びメモリ制御方法
CN101484882B (zh) * 2005-12-09 2013-10-02 晟碟以色列有限公司 闪存管理方法
JP2007193883A (ja) * 2006-01-18 2007-08-02 Sony Corp データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法
JP2007331356A (ja) * 2006-06-19 2007-12-27 Ricoh Co Ltd 画像形成装置
US7451265B2 (en) * 2006-08-04 2008-11-11 Sandisk Corporation Non-volatile memory storage systems for phased garbage collection
US7444461B2 (en) * 2006-08-04 2008-10-28 Sandisk Corporation Methods for phased garbage collection
US7441071B2 (en) * 2006-09-28 2008-10-21 Sandisk Corporation Memory systems for phased garbage collection using phased garbage collection block or scratch pad block as a buffer
US7444462B2 (en) * 2006-09-28 2008-10-28 Sandisk Corporation Methods for phased garbage collection using phased garbage collection block or scratch pad block as a buffer
US7464216B2 (en) * 2006-09-29 2008-12-09 Sandisk Corporation Method for phased garbage collection with state indicators
US7444463B2 (en) * 2006-09-29 2008-10-28 Sandisk Corporation System for phased garbage collection with state indicators
JP2008204041A (ja) 2007-02-19 2008-09-04 Hitachi Ltd ストレージ装置及びデータ配置制御方法
TWI341491B (en) * 2007-03-07 2011-05-01 Via Tech Inc Memory access system and memory access method thereof
JP5206103B2 (ja) * 2008-05-09 2013-06-12 日本電気株式会社 ストレージ装置、ストレージ装置制御システム、ストレージ装置の制御方法、及びプログラム
JP2010026933A (ja) * 2008-07-23 2010-02-04 Toshiba Corp メモリシステム、ホスト装置
EP2315126A4 (en) * 2008-08-11 2012-06-20 Fujitsu Ltd PEST INFORMATION COLLECTION PROGRAM, PASSING INFORMATION COLLECTION METHOD, AND PASSING INFORMATION COLLECTION SYSTEM
US20100262979A1 (en) * 2009-04-08 2010-10-14 Google Inc. Circular command queues for communication between a host and a data storage device
US20100287217A1 (en) * 2009-04-08 2010-11-11 Google Inc. Host control of background garbage collection in a data storage device
US8595572B2 (en) 2009-04-08 2013-11-26 Google Inc. Data storage device with metadata command
US8578084B2 (en) * 2009-04-08 2013-11-05 Google Inc. Data storage device having multiple removable memory boards
TWI405214B (zh) * 2009-05-06 2013-08-11 A Data Technology Co Ltd 快閃記憶體儲存系統之資料燒錄方法
US9514055B2 (en) * 2009-12-31 2016-12-06 Seagate Technology Llc Distributed media cache for data storage systems
JP5066209B2 (ja) 2010-03-18 2012-11-07 株式会社東芝 コントローラ、データ記憶装置、及びプログラム
US10157002B2 (en) * 2010-08-26 2018-12-18 International Business Machines Corporation Migrating an encoded data slice based on an end-of-life memory level of a memory device
US8874872B2 (en) * 2011-01-21 2014-10-28 Seagate Technology Llc Garbage collection management in memories
US10049040B2 (en) 2011-01-21 2018-08-14 Seagate Technology Llc Just in time garbage collection
US20150254011A1 (en) * 2014-03-10 2015-09-10 Kabushiki Kaisha Toshiba Memory system, memory controller and control method of non-volatile memory
KR20170044780A (ko) * 2015-10-15 2017-04-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10019314B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
CN111679787B (zh) 2016-04-27 2023-07-18 慧荣科技股份有限公司 闪存装置、闪存控制器及闪存存储管理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
JP2582487B2 (ja) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
JP3407317B2 (ja) * 1991-11-28 2003-05-19 株式会社日立製作所 フラッシュメモリを使用した記憶装置
JPH06222985A (ja) * 1993-01-26 1994-08-12 Oki Electric Ind Co Ltd メモリ制御装置
JP3507132B2 (ja) * 1994-06-29 2004-03-15 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
JPH08314775A (ja) * 1995-05-11 1996-11-29 Hitachi Ltd ファイルメモリ装置

Also Published As

Publication number Publication date
JPH11126488A (ja) 1999-05-11
US20010023472A1 (en) 2001-09-20

Similar Documents

Publication Publication Date Title
JP3534585B2 (ja) フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置
US6076137A (en) Method and apparatus for storing location identification information within non-volatile memory devices
US7191306B2 (en) Flash memory, and flash memory access method and apparatus
EP0852765B1 (en) Memory management
JP4005142B2 (ja) フラッシュメモリ大容量記憶システム
JP4588431B2 (ja) 頻繁にアクセスされたセクタの動作による不揮発性メモリに対するより速い書込み動作
USRE45222E1 (en) Method of writing of writing to a flash memory including data blocks and log blocks, using a logical address having a block address portion and page identifying portion, a block address table and a page table
EP0077452B1 (en) Data promotion in storage subsystems
JP4695801B2 (ja) 不揮発性メモリ上で実行されるブロック書き込み動作時間を低減させる方法および装置
KR100684887B1 (ko) 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법
JP4511576B2 (ja) メモリシステム
JP3485938B2 (ja) 不揮発性半導体メモリ装置
KR100771519B1 (ko) 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법
US7529879B2 (en) Incremental merge methods and memory systems using the same
US20050021904A1 (en) Mass memory device based on a flash memory with multiple buffers
US20080270680A1 (en) Controller for Non-Volatile Memories and Methods of Operating the Memory Controller
WO1995018407A1 (en) Solid state memory system
JPH05233426A (ja) フラッシュ・メモリ使用方法
JP2004342126A (ja) 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能
JPH037978B2 (ja)
JP3421581B2 (ja) 不揮発性半導体メモリを用いた記憶装置
JP2011238261A (ja) 記憶装置および情報処理システム
JPH113287A (ja) 記憶装置およびそれに用いられる記憶領域管理方法
JPH11272569A (ja) フラッシュメモリを使用した外部記憶装置のデータ回復方式
JPH11282765A (ja) フラッシュメモリを使用した外部記憶装置

Legal Events

Date Code Title Description
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: 20040302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040309

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090319

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090319

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100319

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110319

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110319

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees