JPH0816482A - フラッシュメモリを用いた記憶装置およびその記憶制御方法 - Google Patents
フラッシュメモリを用いた記憶装置およびその記憶制御方法Info
- Publication number
- JPH0816482A JPH0816482A JP14794394A JP14794394A JPH0816482A JP H0816482 A JPH0816482 A JP H0816482A JP 14794394 A JP14794394 A JP 14794394A JP 14794394 A JP14794394 A JP 14794394A JP H0816482 A JPH0816482 A JP H0816482A
- Authority
- JP
- Japan
- Prior art keywords
- physical block
- block
- group
- physical
- logical
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
いた記憶装置において、特定セクタにライトが集中しな
いようにし、装置寿命を延ばす。 【構成】ホストコンピュータ1010から見える論理ブ
ロック1100と実際の物理ブロック1110の間でマ
ッピングを行ない、論理ブロック1100のライト回数
を管理情報として持つ。ライト回数が多く、今後ライト
される可能性が高いと思われる論理ブロック1100
に、消去回数が多い物理ブロック1110が割り当てら
れていたときには、ライト回数の少ない論理ブロック1
100に割り当てられている消去回数の少ない物理ブロ
ック1110を探し、ライト回数が多い論理ブロック1
100には消去回数が少ない物理ブロック1110を割
り当て、ライト回数が少ない論理ブロック1100には
消去回数が多い物理ブロック1110を割り当てるよう
にマッピングを変更する。
Description
いた記憶装置に係り、特に装置寿命と応答性能を重視し
た記憶装置に関する。
(ROM)のように不揮発性でありながら、リードだけ
でなく、ランダムアクセスメモリ(RAM)のようにラ
イトも可能な半導体メモリである。
ックRAM(SRAM)やダイナミックAM(DRA
M)には無い、以下のような制限がある。
く、セクタあるいはチップであること、(2)消去回数
の制限があること、(3)消去及び書き込みに数ミリ秒
かかること。
ラッシュメモリの制限の上記(2)と(3)の解決を試
みる、以下に示すような方法が開示されている。
単位で消去できるフラッシュメモリを想定しているた
め、この従来技術においてもセクタ単位の消去を前提と
した部分のみを説明する。
アドレスと半導体の物理アドレスとをマッピングにより
アドレス指定する。
マンドがあったときには、そのセクタ内のデータを無効
とし、消去を開始する。消去はバックグラウンドで処理
される。
あらかじめ、全ての空きセクタの中から消去回数を考慮
して選んでおいた、ライト対象のセクタにライトする。
載の従来技術においては、この種のフラッシュメモリ制
御方法が開示されているが、セクタ単位の消去を想定し
ていない。
去コマンドの来ないセクタはいつまでも消去されないた
め、消去回数にばらつきが生じるという問題があった。
また、アクセス状況を考慮しておらず、消去回数の多い
セクタに、今後ライトされる可能性の高い論理アドレス
を割り当ててしまうことがあり、これによってもセクタ
により消去回数にばらつきが生じ、その結果、フラッシ
ュメモリを用いた記憶装置全体として寿命が短くなると
いう問題点があった。
クタを決めるのに、多くのセクタの消去回数を判定する
必要があるため、時間がかかるという問題があった。
で構成される物理ブロック間で消去回数があまりばらつ
かないようにする、セクタ単位での消去が可能なフラッ
シュメモリを用いた、記憶装置システムを提供すること
である。
況を考慮して、論理ブロックに割り当てるべき物理ブロ
ックを決定する、セクタ単位での消去が可能なフラッシ
ュメモリを用いた記憶装置システムを提供することであ
る。
ブロック検索を高速に検索する、セクタ単位での消去が
可能なフラッシュメモリを用いた記憶装置システムを提
供することである。
に、本発明による制御方法は、上位装置から見たアクセ
ス単位である論理ブロックを、フラッシュメモリの物理
ブロックに割り当てる、フラッシュメモリを用いた記憶
装置の制御方法であって、論理ブロックへのライト処理
の度に、各論理ブロック単位にそのライト回数(または
ライト頻度)を計数管理し、物理ブロックの消去処理の
度に、各物理ブロック単位にその消去回数を計数管理
し、複数の論理ブロックを各々のライト回数(または頻
度)により複数の論理ブロックグループに分類し、複数
の物理ブロックを各々の消去回数により複数の物理ブロ
ックグループに分類し、ライト回数の多い論理ブロック
グループに属する論理ブロックへのライト処理に伴い当
該論理ブロックを物理ブロックへ割り当てる際に、当該
論理ブロックを消去回数の少ない物理ブロックグループ
に属する物理ブロックに割り当てるようにしたものであ
る。
から見たアクセス単位である論理ブロックを、フラッシ
ュメモリの物理ブロックに割り当てる、フラッシュメモ
リを用いた記憶装置であって、個別に消去可能な複数の
物理ブロックを有するフラッシュメモリと、該割り当て
手段により割り当てられた論理ブロックと物理ブロック
との対応関係を保持するテーブル手段と、個々の論理ブ
ロックのライト回数(または頻度)を計数管理する手段
と、論理ブロックをライト回数に基づいて複数のグルー
プに分類する手段と、論理ブロックへ割り当てられてい
た物理ブロックを空き物理ブロックとする際に、当該物
理ブロックの消去処理を行なう消去手段と、個々の物理
ブロックの消去回数を計数管理する手段と、物理ブロッ
クを消去回数に基づいて複数のグループに分類する手段
と、個々の論理ブロックを物理ブロックに割り当てる割
り当て制御手段と、いずれの論理ブロックにも割り当て
られていない空き物理ブロックを管理する手段とを備
え、前記割り当て制御手段は、適宜、ライト回数が多い
論理ブロックグループに属する論理ブロックを消去回数
の少ない物理ブロックグループに属する空き物理ブロッ
クに割り当てるとともに、ライト回数が少ない論理ブロ
ックグループに属する論理ブロックを消去回数の多い物
理ブロックグループに属する空き物理ブロックに割り当
てる交換処理を行なうことを特徴とするものである。
と消去回数の多い物理ブロックが対応しているときに、
ライト回数の少ない論理ブロックと消去回数の少ない物
理ブロックの対応関係があれば、割り当て(マッピン
グ)の関係を見直し、ライト回数の多い論理ブロックに
は消去回数の少ない物理ブロックを割り当て、ライト回
数の少ない論理ブロックには消去回数の多い物理ブロッ
クを割り当てることによって、各物理ブロック間の消去
回数のばらつきをできるだけ抑えることができる。
記憶装置全体の寿命を延ばすことが可能となる。
に、かつ対応する論理ブロックグループ毎に物理ブロッ
クのキューを指示するグループテーブル手段の採用によ
り、交換処理(後述する実施例では、交換ライト処理)
の際、必要な情報を迅速に獲得することにより割り当て
対象の物理ブロック検索を高速に行なうことができる。
より詳細に説明する。
置システム1000の構成を示す。
ピュータ1010とデータの受渡しを行なうホストイン
ターフェース1020、中央処理装置(CPU)105
0、制御プログラムを入れておくROM1040、テー
ブルを置いておきデータのバッファとしても機能するR
AM1030、データを格納するフラッシュメモリ10
60より構成される。
いて、ホストコンピュータ1010から見える論理ブロ
ック空間と、実際のフラッシュメモリの物理ブロック空
間の対応関係を示している。物理ブロック空間は、論理
ブロック1100と1対1で対応している通常の物理ブ
ロック1110と、対応する論理ブロック1100が存
在しない空き物理ブロック1120から構成される。論
理ブロック1100と物理ブロック1110は後述する
論理ブロックテーブル1400で対応付けし、全ての論
理ブロック1100には対応する物理ブロック1110
が存在する。各物理ブロック1110は消去回数で分類
され、物理ブロックグループを構成する。なお、1物理
ブロックは、1ないし数セクタから構成される。
210〜1270)の概念図である。横軸は物理ブロッ
ク1110の消去回数を示し、縦軸はグループに属する
物理ブロック1110の個数を示している。数値mは、
m≦平均消去回数<m+1000を満たす1000の倍
数であり、このmを基準の消去回数として物理ブロック
1110のグループ分けを行なう。すなわち、消去回数
が0〜m−2001の物理ブロック1110群をまとめ
て物理ブロックグループA1210とし、消去回数がm
−2000〜m−1001の物理ブロック1110群を
まとめて物理ブロックグループB1220、消去回数が
m−1000〜m−1の物理ブロック1110群をまと
めて物理ブロックグループC1230、消去回数がm〜
m+999の物理ブロック1110群をまとめて物理ブ
ロックグループD1240、消去回数がm+1000〜
m+1999の物理ブロック1110群をまとめて物理
ブロックグループE1250、消去回数がm+2000
〜m+2999の物理ブロック1110群をまとめて物
理ブロックグループF1260、消去回数がm+300
0以上の物理ブロック1110群をまとめて物理ブロッ
クグループG1270としている。mの定義より、平均
の消去回数は物理ブロックグループD1240に含まれ
る。
メモリ1060の消去回数の限界を例えば100万回と
する。このとき、物理ブロック1110の消去回数は0
〜999999回の値を取り得る。この、消去回数の範
囲を1000回単位で分割したものを、消去回数グルー
プ1280とする。物理ブロックグループB1220〜
F1260にはそれぞれ一対一対応する連続した消去回
数グループ1280が存在する。そして、一つの消去回
数グループ1280に、一つの空き物理ブロック112
0を用意する。
プB1220〜F1260までの各グループ、及び消去
回数グループ1280の消去回数の範囲を一律1000
回としたが、この値を変更しても本発明を適用可能であ
る。また、物理ブロックグループ1200のグループ数
は必ずしもAからGの7個に限定するものではない。ま
た、消去回数グループ1280に対して、2個以上の空
き物理ブロック1120を割り当てるようにしてもよ
い。この場合、ホストコンピュータ1010から2ブロ
ック以上のサイズのライトがあったときに、用意した空
き物理ブロック1120の個数分は消去せずに続けてラ
イトすることができる。
ロック1100はライト回数で分類され、論理ブロック
グループを構成する。
310〜1370)の概念図である。横軸は論理ブロッ
ク1100のライト回数を示し、縦軸はグループに属す
る論理ブロック1100の個数を示している。数値n
は、n≦平均ライト回数<n+1000を満たす100
0の倍数であり、このnを基準のライト回数として、グ
ループ分けする。すなわち、ライト回数が0〜n−20
01の論理ブロック1100群をまとめて論理ブロック
グループA1310とし、ライト回数がn−2000〜
n−1001の論理ブロック1100群をまとめて論理
ブロックグループB1320、ライト回数がn−100
0〜n−1の論理ブロック1100群をまとめて論理ブ
ロックグループC1330、ライト回数がn〜n+99
9の論理ブロック1100群をまとめて論理ブロックグ
ループD1340、ライト回数がn+1000〜n+1
999の論理ブロック1100群をまとめて論理ブロッ
クグループE1350、ライト回数がn+2000〜n
+2999の論理ブロック1100群をまとめて論理ブ
ロックグループF1360、ライト回数がn+3000
以上の論理ブロック1100群をまとめて論理ブロック
グループG1370としている。nの定義より、平均の
ライト回数は論理ブロックグループD1340に含まれ
る。
320〜F1260までの各グループのライト回数の範
囲を一律1000回としたが、この値を変更しても本発
明を適用可能である。また、グループの数を変更しても
本発明を適用可能である。
ク1110を対応させる論理ブロックテーブル1400
を示す。論理ブロックテーブル1400は各論理ブロッ
ク1100毎にエントリを持つ。論理ブロックテーブル
エントリ1410は、対応する物理ブロック番号142
0、およびその論理ブロックへのライト回数1430の
情報を持つ。
り、物理ブロック1110毎にエントリをもっている。
物理ブロックテーブルエントリ1510は、その物理ブ
ロックが空きかどうかを示す空きフラグ1520と、そ
の物理ブロックの消去回数1530と、後述するグルー
プキュー1800の実体である前方ポインタ1540と
後方ポインタ1550からなる。本実施例においては簡
単のために、前方ポインタ1540や後方ポインタ15
50には、直接の物理ブロック1110へのポインタを
格納せず、物理ブロック番号を格納する。もちろん、直
接の物理ブロック1110へのポインタを格納してもよ
い。
ック1110は、前述のように物理ブロックグループ1
200で分類されており、更に、対応する論理ブロック
1100の論理ブロックグループ1300毎に分けてキ
ュー管理する。このキューをグループキュー1800と
呼ぶ。空き物理ブロック1120は各消去回数グループ
1280毎に1つずつ用意され、空き物理ブロックテー
ブル1600で管理される。
0、グループキュー1800、及びそれを管理するグル
ープテーブル1620を示している。このグループテー
ブル1620を備えることにより、後述するように、特
に交換ライト処理におけるコピー元物理ブロック(およ
びライト対象物理ブロック)の検索を迅速に行なうこと
が可能となる。
去回数グループ1280の個数分のエントリ1610を
持ち、その各エントリ1610にはその消去回数グルー
プ1280に属する空き物理ブロック1120の物理ブ
ロック番号が書かれている。(前にも述べたように、本
実施例においては、全ての消去回数グループ1280は
常に少なくとも一つの空き物理ブロックを持つ。)グル
ープキュー1800の実体は物理ブロックテーブル15
00にある前方ポインタ1540と後方ポインタ155
0であり、双方向連結リストを構成している。グループ
テーブル1620は物理ブロックグループ1200毎に
エントリを持つ。各エントリは、論理ブロックグループ
A1310に属する論理ブロック1100に対応してい
る物理ブロック1110のキューエントリ1710、論
理ブロックグループB1320に属する論理ブロック1
100に対応している物理ブロック1110のキューエ
ントリ1720、論理ブロックグループC1330に属
する論理ブロック1100に対応している物理ブロック
1110のキューエントリ1730、論理ブロックグル
ープD1340に属する論理ブロック1100に対応し
ている物理ブロック1110のキューエントリ174
0、論理ブロックグループE1350に属する論理ブロ
ック1100に対応している物理ブロック1110のキ
ューエントリ1750、論理ブロックグループF136
0に属する論理ブロック1100に対応している物理ブ
ロック1110のキューエントリ1760、論理ブロッ
クグループG1370に属する論理ブロック1100に
対応している物理ブロック1110のキューエントリ1
770を持つ。各キューエントリにはキューの先頭位置
の物理ブロック番号が格納されている。(なお、図示の
都合上、参照番号1720〜1760は図示していな
い。) これらのテーブルは記憶装置システム1000の使用時
にはRAM1030に置かれているが、RAM1030
は電源オフにすると内容が消えてしまうため、システム
停止時に、図26に示すように、フラッシュメモリ10
60上のテーブル格納領域1062に格納してテーブル
が消えないようにし、電源オン時にフラッシュメモリ1
060からRAM1030に読み出すようにする。
1000におけるリード処理について説明する。
1050はリード要求のあった論理ブロック1100に
対応する、リード対象の物理ブロック1110を、論理
ブロックテーブル1400の対応するエントリを見るこ
とによって決定する。ついで、ステップ1910におい
て、CPU1050はそのリード対象の物理ブロック1
110をRAM1030にリードする。最後に、ステッ
プ1920において、ホストインターフェース1020
はRAM1030上にリードしたデータをホストコンピ
ュータ1010に転送する。
ず、図9と図10を用いて、ライト処理の概念を説明す
る。
制限があることと、消去にミリ秒オーダー、あるいはそ
れ以上の時間がかかるという欠点があり、本記憶装置シ
ステム1000のライト処理ではこれらの欠点の克服を
目的とした処理を行っている。
は、通常ライト処理と交換ライト処理の2種類がある。
「通常ライト処理」は文字通り、通常行われるライト処
理であり、消去時間の隠ぺいと、論理ブロック1100
のライト回数と物理ブロック1110の消去回数のバラ
ンスを崩さないこととを目的としている。論理ブロック
1100のライト回数と物理ブロック1110の消去回
数のバランスを崩さないこととは、具体的には、図9の
左側に示すように、ライトの対象となった論理ブロック
1100に元々対応していた物理ブロック1110と同
一消去回数グループ1280(=同一物理ブロックグル
ープ1300)に属する空き物理ブロック2010を新
たに割り当て、そこにデータをライトすることにより、
ライトの前後で、論理ブロック1100に対応する物理
ブロック1110の消去回数があまり変化しないように
することである。この意義については後述する。新たに
割り当てられた物理ブロック2010は、空き物理ブロ
ックテーブル1600から除外されるとともに、新た
に、論理ブロックテーブル1400に登録される。一
方、元々対応していた物理ブロック(旧物理ブロック2
000)のデータは消去され、空き物理ブロックとして
空き物理ブロックテーブル1600の該当するエントリ
に登録される。物理ブロックテーブル1500の該当エ
ントリの内容も更新される。この通常ライト処理完了後
の論理−物理のブロック対応およびブロックグループ内
の様子は図9の右側に示すとおりとなる。
は、今後、ライトが来る可能性が比較的高いと思われる
ため、「通常ライト処理」を行なって論理ブロック11
00のライト回数と物理ブロック1110の消去回数の
バランスを崩さないようにしていると、次第に、消去回
数の多い物理ブロック1110と少ない物理ブロック1
110に分かれてくる。そこで、以下で説明する交換ラ
イト処理により、物理ブロック1110の消去回数の平
準化をする必要がある。
数が多い物理ブロック1110へライトが行われるとき
(かつ、後述する例では、ライト対象物理ブロックの消
去回数が1000の倍数となるとき)に発生し、消去時
間の隠ぺいの他に、以下の2点を目的としている。
イト回数が多い)論理ブロック1100に消去回数の少
ない物理ブロック1110を割り当てる。
イト回数が少ない)論理ブロック1100に消去回数の
多い物理ブロック1110を割り当てる。
うに、消去回数の多い物理ブロック1110(旧物理ブ
ロック2000)に対応しているライト回数の多い論理
ブロック1100へライト要求が来たときに発生する。
このとき、ライト回数の少ない論理ブロック1100に
対応している消去回数の少ない物理ブロック1110
(以下、コピー元物理ブロック2020)を探し、コピ
ー元物理ブロック2020と同一消去回数グループ12
80に属する空き物理ブロック1120をライト対象物
理ブロック2010としてここにライトデータを書き込
む。そして、コピー元物理ブロック2020に書かれて
いるデータを、旧物理ブロック2000と同一消去回数
グループ1280に属する空き物理ブロック1120
(コピー対象物理ブロック2030)にコピーする。最
後にコピー元物理ブロック2020と旧物理ブロック2
000を消去して、交換ライト処理は完了する。詳述し
ないが、これらの処理に伴い、各テーブルの内容が更新
される。交換ライト処理完了後の論理−物理のブロック
対応および各ブロックグループ内の様子は図10の右側
に示すとおりとなる。
より、ライト回数の多い論理ブロック1100には消去
回数の少ない論理ブロック1100が対応し、他方、ラ
イト回数の少ない論理ブロック1100には消去回数の
多い論理ブロック1100が対応することになる。した
がって、交換ライト処理により、極端に消去回数の多い
物理ブロック1110や消去回数の少ない物理ブロック
1110を無くし、物理ブロックの消去回数の平準化を
行なうことができる。
イト処理について説明する。
トである。
フェース1020はホストコンピュータ1010からの
ライトデータをRAM1030に格納する。後述する物
理ブロックグループ構成変更処理を行う(ステップ21
10)。後述する論理ブロックグループ構成変更処理を
行う(ステップ2120)。CPU1050は、論理ブ
ロックテーブル1400を調べ、ライト対象の論理ブロ
ック1100に対応する物理ブロック1110を見つけ
て、それを旧物理ブロック2000とする(ステップ2
130)。後述する論理ブロックグループ移動処理を行
う(ステップ2140)。後述する物理ブロックグルー
プ移動処理を行う(ステップ2150)。旧物理ブロッ
ク2000と同一消去回数グループ1280に属する空
き物理ブロック1120をライト対象物理ブロック20
10とする(ステップ2160)。ステップ2170で
CPU1050は、物理ブロックテーブル1500の消
去回数1530の項を調べて、ライト対象物理ブロック
2010が物理ブロックグループF1260かG127
0に含まれているかどうかを判定し、含まれていない場
合には、ステップ2200において、後述する通常ライ
ト処理を行う。含まれている場合には、更にCPU10
50はステップ2180において、ライト対象物理ブロ
ック2010の消去回数が1000の倍数かどうかを判
定する。1000の倍数であった場合には、ステップ2
190において、後述する交換ライト処理を行い、10
00の倍数でなかった場合にはステップ2200で通常
ライト処理を行う。
例では値1000を用いたが、本発明はこの値に限定さ
れるものではない。
について説明する。
必ず物理ブロックグループD1240に属するように物
理ブロックグループ1200を定義しているため、平均
の消去回数が増加して物理ブロックグループE1250
に属するようになったとき、物理ブロックグループ12
00の構成を見直し、そのとき物理ブロックグループE
1250だった物理ブロック1110を物理ブロックグ
ループD1240にする必要がある。同様に、物理ブロ
ックグループA1210と物理ブロックグループB12
20は物理ブロックグループAに、物理ブロックグルー
プC1230は物理ブロックグループB1220に、物
理ブロックグループD1240は物理ブロックグループ
C1230に、物理ブロックグループF1260は物理
ブロックグループE1250に移動する。また、物理ブ
ロックグループG1270は消去回数によって、物理ブ
ロックグループF1260と物理ブロックグループG1
270に分割する。
構成変更処理のフローチャートを示す。これは、ライト
処理の一部(図11のステップ2110)として行われ
る。
回数に1を加え、平均の消去回数を算出する。次に、ス
テップ2310において、平均の消去回数(図3参照)
が物理ブロックグループD1240の範囲を越えたかど
うかを判定し、越えていなければそのまま図12の処理
から抜ける。越えていれば、ステップ2320におい
て、グループテーブル1620を書き直し、物理ブロッ
クグループB1220に属する物理ブロック1110が
全て物理ブロックグループA1210に属するように、
グループキュー1800をつなぎかえる。このとき、物
理ブロック1110に対応する論理ブロック1100の
ライト回数を考慮して、対応する論理ブロックグループ
1300や空き物理ブロック1120のグループキュー
1800につなぐ必要がある。同様に、物理ブロックグ
ループC1230に属する物理ブロック1110を物理
ブロックグループB1220に属するように、物理ブロ
ックグループD1240に属する物理ブロック1110
を物理ブロックグループC1230に属するように、物
理ブロックグループE1250に属する物理ブロック1
110を物理ブロックグループD1240に属するよう
に、物理ブロックグループF1260に属する物理ブロ
ック1110を物理ブロックグループE1250に属す
るように、それぞれ、グループキュー1800をつなぎ
かえる(ステップ2330)。物理ブロックグループG
1270については、このグループに属する物理ブロッ
ク1110のうち、m≦平均消去回数<m+1000か
つ、mは1000の倍数を満たすmを基準の消去回数と
して、消去回数がm+2000〜m+2999の物理ブ
ロック1110を物理ブロックグループF1260に属
するように、グループキュー1800をつなぎかえる
(ステップ2340)。すなわち、物理ブロックグルー
プGの物理ブロックをその消去回数に応じて、物理ブロ
ックグループFとGの2つのグループに分ける。
について説明する。論理ブロック1100の平均のライ
ト回数は必ず論理ブロックグループD1340に属する
ように定義しているため、平均のライト回数が増加して
論理ブロックグループE1350に属するようになった
とき、論理ブロックグループ1300の構成を見直し、
そのとき論理ブロックグループE1350だった論理ブ
ロック1100を論理ブロックグループD1340にす
る必要がある。同様に、論理ブロックグループA131
0と論理ブロックグループB1320は論理ブロックグ
ループA1310に、論理ブロックグループC1330
は論理ブロックグループB1320に、論理ブロックグ
ループD1340は論理ブロックグループC1330
に、論理ブロックグループF1360は論理ブロックグ
ループE1350に移動する。また、論理ブロックグル
ープG1370ライト回数によって、論理ブロックグル
ープF1360と論理ブロックグループG1370に分
割する。
プ構成変更処理のフローチャートを示す。これは、ライ
ト処理の一部(図11のステップ2110)として行わ
れる。
ト回数に1を加え、平均のライト回数を算出する。次
に、ステップ2410において、平均のライト回数が論
理ブロックグループD1340の範囲を越えたかどうか
を判定し、越えていなければそのまま抜ける。越えてい
れば、ステップ2420において、グループテーブル1
620を書き直し、論理ブロックグループB1320に
属する論理ブロック1100が全て論理ブロックグルー
プA1310に属するように、グループキュー1800
をつなぎかえる。このとき、論理ブロック1100に対
応する物理ブロック1110の消去回数を考慮して、対
応する物理ブロックグループ1200のグループキュー
1800につなぐ必要がある。同様に、論理ブロックグ
ループC1330に属する論理ブロック1100を論理
ブロックグループB1320に属するように、論理ブロ
ックグループD1340に属する論理ブロック1100
を論理ブロックグループC1330に属するように、論
理ブロックグループE1350に属する論理ブロック1
100を論理ブロックグループD1340に属するよう
に、論理ブロックグループF1360に属する論理ブロ
ック1100を論理ブロックグループE1350に属す
るように、グループキュー1800をつなぎかえる(ス
テップ2430)。
は、このグループに属する論理ブロック1100のう
ち、n≦平均ライト回数<n+1000かつ、nは10
00の倍数を満たすnを基準のライト回数として、ライ
ト回数がn+2000〜n+2999の論理ブロック1
100を論理ブロックグループFに属するように、グル
ープキュー1800をつなぎかえる(ステップ244
0)。
プ移動処理について説明する。これはライト処理の一部
(図11のステップ2140)として行われる。
対象論理ブロック1100のライト回数に1を加える。
次に、ステップ2510において、ライト対象論理ブロ
ック1100のライト回数がそれまで属していた論理ブ
ロックグループ1300の範囲を超え、論理ブロックグ
ループ1300間移動が必要であるかどうかを判定す
る。必要なければそのまま終了する。移動の必要があれ
ば、ステップ2520において、ライトのあった論理ブ
ロック1100に対応していた旧物理ブロック2000
をグループキュー1800から外す。ステップ2530
において、旧物理ブロック2000を同一物理ブロック
グループ1200内の移動先論理ブロックグループ13
00のグループキュー1800につなぐ。
プ移動処理について説明する。これはライト処理の一部
(図11のステップ2150)として行われる。
対象論理ブロック1100に対応している旧物理ブロッ
ク2000の消去回数に1を加える。次に、ステップ2
610において、旧物理ブロック2000の消去回数が
それまで属していた物理ブロックグループ1200の範
囲を超え、物理ブロックグループ1200間移動が必要
であるかどうかを判定する。必要なければそのまま終了
する。移動の必要があれば、ステップ2620におい
て、旧物理ブロック2000をグループキュー1800
から外す。ステップ2630において、旧物理ブロック
2000を同一論理ブロックグループ1300内の移動
先物理ブロックグループ1200のグループキュー18
00につなぐ。
である。これは図11のステップ2200に対応する。
1030上のライトデータをライト対象物理ブロック2
010にライトする。次に、ライト対象物理ブロック2
010をグループキュー1800から外し(ステップ2
710)、空き物理ブロックテーブル1600の、ライ
ト対象物理ブロック2010の属する消去回数グループ
1280のエントリをクリアする(ステップ272
0)。そして、旧物理ブロック2000をグループキュ
ー1800から外す(ステップ2730)。ここで、ホ
ストコンピュータ1010にコマンド完了を報告し(ス
テップ2740)、あとはバックグラウンドで行う。旧
物理ブロック2000を消去する(ステップ275
0)。空き物理ブロックテーブル1600の、ステップ
2720でクリアしたエントリに、旧物理ブロック20
00の番号をセットする(ステップ2760)。
である。これは図11のステップ2190に対応する。
プテーブル1620(図7)を見て、ライト回数の少な
い論理ブロック1100に対応している消去回数の少な
い物理ブロック1110を探し、これをコピー元物理ブ
ロック2020とする。このコピー元物理ブロック20
20を見つける具体的な方法は、以下の通りである。
ループAのグループエントリの論理ブロックグループA
のグループキューから、論理ブロックグループB→C→
Dのグループキュー1800を順番に探し、最初に見つ
かった物理ブロック1110とそれに対応している論理
ブロック1100を選択する。なければ、(2)を行な
う。
ループBのグループエントリの論理ブロックグループA
のグループキューから、論理ブロックグループB→C→
Dのグループキュー1800を順番に探し、最初に見つ
かった物理ブロック1110とそれに対応している論理
ブロック1100を選択する。なければ、(3)を行な
う。
ループCのグループエントリの論理ブロックグループA
のグループキューから、論理ブロックグループB→C→
Dのグループキュー1800を順番に探し、最初に見つ
かった物理ブロック1110とそれに対応している論理
ブロック1100を選択する。なければ、(4)を行な
う。
ループDのグループエントリの論理ブロックグループA
のグループキューから、論理ブロックグループB→C→
Dのグループキュー1800を順番に探し、最初に見つ
かった物理ブロック1110とそれに対応している論理
ブロック1100を選択する。
と、全体の消去回数に1を加える(ステップ282
0)。
理ブロックグループ1200間の移動が必要であるかど
うかを判定し(ステップ2830)、移動が必要であれ
ば、コピー元物理ブロック2020をグループキュー1
800から外して(ステップ2840)、同一論理ブロ
ックグループ1300かつ、移動先の物理ブロックグル
ープ1200のグループキュー1800につなぐ(ステ
ップ2850)。移動が必要でなければ、これら2つの
ステップの処理は行なわない。
象物理ブロック2010となっている物理ブロック11
10をコピー先物理ブロック1110とする。コピー元
物理ブロックと同一消去回数グループ1280の空き物
理ブロックを新たにライト対象物理ブロック2010と
する(ステップ2870)。RAM上のライトデータを
ライト対象物理ブロック2010にライトする(ステッ
プ2880)。空き物理ブロックテーブル1600の、
ライト対象物理ブロック2010の属する消去回数グル
ープ1280のエントリをクリアする(ステップ289
0)。ステップ2900において、ライト対象物理ブロ
ック2010を正しいグループキュー1800につな
ぐ。正しいとは、その物理ブロック1110が含まれる
論理ブロックグループ1300と物理ブロックグループ
1200に対応する、という意味である。
はホストコンピュータ1010にコマンド完了を報告し
(ステップ2910)、あとはバックグラウンドで行
う。
ブロック2020のデータを一旦RAM1030上に読
みだし、コピー先物理ブロック2030にライトする。
空き物理ブロックテーブル1600の、コピー先物理ブ
ロック2030の属する消去回数グループ1280のエ
ントリをクリアする(ステップ2930)。ステップ2
940において、コピー先物理ブロック2030を正し
いグループキュー1800につなぐ。コピー元物理ブロ
ックを消去し(ステップ2950)、コピー元物理ブロ
ック2020の物理ブロック番号を、空き物理ブロック
テーブル1600の、コピー元物理ブロック2020の
含まれる消去回数グループ1280のエントリにセット
する(ステップ2960)。旧物理ブロック2000を
消去し(ステップ2970)、旧物理ブロック2000
の物理ブロック番号を、空き物理ブロックテーブル16
00の、旧物理ブロック2000の含まれる消去回数グ
ループ1280のエントリにセットする(ステップ29
80)。
イト回数を管理情報として用いたが、その代わりとし
て、論理ブロック1100のライト頻度(ライト回数の
時間微分)を用いてもよい。ライト頻度はトータルのラ
イト回数と同様に、ライトがあるたびに+1されるカウ
ンタであるが、定期的(例えば、3日に一度)に0クリ
アさるため、最近のライト回数、つまりライト頻度を表
わす。
つき、一つの空き物理ブロック1120を用意したた
め、論理ブロック1100の2個以上のサイズのライト
が来て、それが同じ物理ブロックグループ1200に属
する物理ブロック1110に対応していた場合、2個目
以降の物理ブロック1110へのライトは消去時間が隠
蔽できないことになるが、一つの消去回数グループにつ
き、2個以上の空き物理ブロック1120を用意する
と、上記のような場合にも、ライトをまとめて行ない、
ホストコンピュータ1010にライト完了を報告し、ま
とめて消去するようにすれば、消去時間を隠蔽すること
が可能である。
機能を持つ、フラッシュメモリを用いた記憶装置システ
ム1001について説明する。
1001である。記憶装置システム1001の構成は、
記憶装置システム1000に圧縮伸長装置1070を付
加したものである。
0は圧縮の程度に応じて、1個〜8個の物理ブロック1
110に対応するものとする。論理ブロック1100は
物理ブロック1110の8個分の大きさであり、全く圧
縮できない論理ブロック1100のデータを格納するの
に、8個の物理ブロック1110を必要とする。本実施
例では、圧縮を考慮して、実際の物理空間の2倍の論理
空間をホストコンピュータ1010からアクセスできる
ようにする。つまり、トータルの論理ブロック1100
サイズはトータルの物理ブロック1110サイズの2倍
である。また、論理ブロック1100に対応する物理ブ
ロック1110の個数が圧縮率に応じて変化するため
に、第1の実施例のように、消去回数グループ1280
毎に空き物理ブロック1120を用意することはせず、
有効なデータの入っていない物理ブロック1110は全
て空き物理ブロック1120であるように管理する。こ
の場合、一度もライトされていない論理ブロック110
0には、物理ブロック1110は対応しない。
第1の実施例と異なる点についてのみ説明する。
ックテーブル1401とそのエントリ1411である。
論理ブロックテーブルエントリ1411は、論理ブロッ
クのライト回数1430、その論理ブロック1100に
対応する物理ブロック個数1450、対応する8個の物
理ブロック番号1421〜1428の情報を持つ。
テーブル1621とそのエントリ1701、及びグルー
プキュー1800である。グループテーブル1621に
は、物理ブロックグループA〜Gのエントリ1631〜
1637があり、その各エントリ1701には、各論理
ブロックグループ毎のキューエントリ1710〜177
0がある。本実施例では空き物理ブロック1120もキ
ュー管理する。このため、グループテーブルエントリ1
701には、さらに空き物理ブロック1120のキュー
エントリ1780が設けられている。
処理が必要になる。このため、図8のステップ1910
の後は、リードしたデータを伸長し、この伸長したデー
タをホストコンピュータ1010に転送する。
が必要になる。また、ライトデータの圧縮率によって、
格納に必要な物理ブロック1110数が変化することが
あり、ライト対象となる空き物理ブロック1120の割
り当てが複雑になる。
のメインフローチャートである。これは第1の実施例と
異なる点が多いため、全て説明する。
ーフェース1020はホストコンピュータ1010から
のライトデータをRAM1030に格納する。圧縮伸長
装置1070はライトデータを圧縮する(ステップ41
10)。CPU1050は圧縮されたデータを格納する
のに必要な空き物理ブロック1120の個数を算出する
(ステップ4120)。後述する物理ブロックグループ
構成変更処理を行う(ステップ4130)。論理ブロッ
クグループ構成変更処理を行う(ステップ2120)。
CPU1050は、論理ブロックテーブル1400を調
べ、ライト対象の論理ブロック1100に対応する複数
の物理ブロック1110を見つけて、それらを旧物理ブ
ロック2000とする(ステップ4150)。論理ブロ
ックグループ移動処理を行う(ステップ2140)。物
理ブロックグループ移動処理を行う(ステップ215
0)。後述するライト対象物理ブロック決定処理を行な
う(ステップ4180)。CPU1050は、ライト対
象物理ブロック2010の中から一つを選択し、それを
ライト対象物理ブロック2011とする(ステップ41
90)。
物理ブロックテーブル1500の消去回数1530の項
を調べて、ライト対象物理ブロック2011が物理ブロ
ックグループF1260かG1270に含まれているか
どうかを判定し、含まれていない場合には、ステップ4
230において、後述する通常ライト処理を行う。含ま
れている場合には、更にCPU1050はステップ42
10において、ライト対象物理ブロック2011の消去
回数が1000の倍数かどうかを判定し、1000の倍
数であった場合には、ステップ4220において、後述
する交換ライト処理を行い、1000の倍数でなかった
場合にはステップ4230で通常ライト処理を行う。
データをライト対象物理ブロック2010に書き込んだ
かどうかを判定し、ライトが完了していなければステッ
プ4190に実行を移す。最後に後述する消去処理を行
なう(ステップ4250)。
2の物理ブロックグループ構成変更処理と較べてステッ
プ2300の部分が変化し、次のようになる。すなわ
ち、全消去回数に圧縮データを格納するのに必要な物理
ブロック1110数を加え、平均の消去回数を算出す
る。
ついて説明する。
ロック2010はライトデータの圧縮率に応じて1個〜
8個必要であり、また、旧物理ブロック2000の個数
と異なることがある。このため、ライトデータを格納す
るのに必要な空き物理ブロック1120数が、旧物理ブ
ロック2000数よりも少ない、または同じときには、
旧物理ブロック2000とライト対象物理ブロック20
10を1個ずつ対応させ、ライト対象物理ブロック20
10を決定するのに、対応する旧物理ブロックと同程度
のライト回数である空き物理ブロック1120を割り当
てれば良い。しかし、そうでないときには、対応する旧
物理ブロック2000が存在しないライト対象物理ブロ
ック2010を決定するのに、ライトのあった論理ブロ
ック1100のライト回数を調べ、そのライト回数に応
じた空き物理ブロック1120を割り当てる必要があ
る。
具体的に図22のフローチャートを用いて説明する。
umを0に設定する。ステップ3020において、nu
mに1を加える。ステップ3030において、num番
めの旧物理ブロック2000があるかどうかを判定す
る。無い場合にはステップ3100に実行を移す。ある
場合にはステップ3040において、num番めの旧物
理ブロック2000の属する物理ブロックグループ12
00には空き物理ブロック1120があるかどうかを判
定し、あればステップ3080にジャンプする。無けれ
ば、ステップ3050において、ライト対象論理ブロッ
ク1100は比較的ライト回数が少ない論理ブロックグ
ループ1300に属しているかどうかを判定する。比較
的ライト回数が少ない論理ブロックグループ1300と
は、具体的に論理ブロックグループA1310〜C13
30を示す。属していれば、ステップ3060におい
て、より消去回数の多い物理ブロックグループ1200
で空き物理ブロック1120を探す。探すにあたって、
できるだけnum番めの旧物理ブロック2000の属す
る物理ブロックグループ1200に近い物理ブロックグ
ループ1200から探すようにする。属していなけれ
ば、ステップ3130において、より消去回数の少ない
物理ブロックグループ1200で空き物理ブロック11
20を探す。探すにあたって、できるだけnum番めの
旧物理ブロック2000の属する物理ブロックグループ
1200に近い物理ブロックグループ1200から探す
ようにする。ステップ3070において、空き物理ブロ
ックが発見できたかどうかを判定し、見つかっていなけ
ればステップ3140にジャンプする。見つかっていれ
ば、ステップ3080において、見つけた空き物理ブロ
ック1120をnum番めのライト対象物理ブロック2
010とする。
トデータを格納するのに必要な空き物理ブロック112
0数になっているかどうか、すなわち、必要な空き物理
ブロック1120全て確保できたかどうかを判定する。
全て確保できていれば、ライト対象物理ブロック決定処
理は終了し、いなければステップ3020に戻る。
論理ブロック1100は比較的ライト回数が少ない論理
ブロックグループ1300に属しているかどうかを判定
する。比較的ライト回数が少ない論理ブロックグループ
1300とは、具体的に論理ブロックグループA131
0〜C1330を示す。属していれば、物理ブロックグ
ループD1240→C1230→B1220→A121
0、更に、物理ブロックグループE1250→F126
0→G1270の順に空き物理ブロック1120を探
し、ステップ3070にジャンプする(ステップ311
0)。属していなければ、物理ブロックグループA12
10→B1220→C1230→D1240→E125
0→F1260→G1270の順に空き物理ブロック1
120を探し、ステップ3070にジャンプする(ステ
ップ3120)。
問わずに、とにかく存在する空き物理ブロック1120
を探し、見つかればそれをnum番めのライト対象物理
ブロック2010とする。ステップ3150において、
空き物理ブロック1120が見つかったかどうかを判定
し、見つかっていればステップ3090にジャンプす
る。見つかっていなければ、ステップ3160におい
て、ホストコンピュータ1010にライト不可能を通知
し、ステップ3170においてライト処理を異常終了す
る。
処理のフローチャートである。
込んでいないRAM1030上の圧縮されたライトデー
タの1物理ブロック分を、選択されているライト対象物
理ブロック2010にライトする。このライト対象物理
ブロック2010をグループキュー1800からはずし
(ステップ4710)、正しいグループキュー1800
につなぐ(ステップ4720)。ステップ4730にお
いて、ホストコンピュータ1010にコマンド完了を報
告する。
である。
プキュー1800を見て、ライト回数の少ない論理ブロ
ック1100に対応している消去回数の少ない物理ブロ
ック1110を一つだけ探し、これをコピー元物理ブロ
ック2020とする。コピー元物理ブロック2020の
消去回数、全体の消去回数に1を加える(ステップ48
20)。次に、コピー元物理ブロック2020の物理ブ
ロックグループ1200間の移動が必要であるかどうか
を判定し(ステップ4830)、移動が必要であれば、
コピー元物理ブロック2020をグループキュー180
0から外して(ステップ4840)、同一論理ブロック
グループ1300かつ、移動先の物理ブロックグループ
1200のグループキュー1800につなぐ(ステップ
4850)。移動が必要でなければ、上記の2つのステ
ップの処理は行なわない。
ライト対象物理ブロック2010となっている物理ブロ
ック1110をコピー先物理ブロック1110とする。
コピー元物理ブロックと同一消去回数グループ1280
の空き物理ブロックを新たに選択中のライト対象物理ブ
ロック2010とする。(ステップ4870)。RAM
上のライトデータをライト対象物理ブロック2010に
ライトする(ステップ4880)。選択中のライト対象
物理ブロック2010をグループキュー1800から外
して、正しいグループキュー1800につなぐ(ステッ
プ4890)。
はホストコンピュータ1010にコマンド完了を報告し
(ステップ4900)、あとはバックグラウンドで行
う。ステップ4910において、コピー元物理ブロック
2020のデータを一旦RAM1030上に読みだし、
コピー先物理ブロック2030にライトする。ステップ
4920において、コピー先物理ブロック2030をグ
ループキュー1800から外して、正しいグループキュ
ー1800につなぐ。
る。
ロック2000が存在するかどうかを判定する。つま
り、ある論理ブロック1100へ、上書きではなく最初
のライトだったときには、その論理ブロック1100に
は対応する物理ブロック1110が無いため、旧物理ブ
ロック2000は存在しない。存在しなければステップ
3240にジャンプする。存在するときには、旧物理ブ
ロック2000を全て消去し(ステップ3220)、全
ての旧物理ブロック2000をグループキュー1800
から外して、正しいグループキューにつなぐ(ステップ
3230)。
ト処理が行なわれたかどうかを判定する。行なわれてい
なければ消去処理は終了する。行なわれているときに
は、コピー元物理ブロック2020を全て消去し(ステ
ップ3250)、全てのコピー元物理ブロック2020
をグループキュー1800から外して、正しいグループ
キューにつなぐ(ステップ3260)。
回数がばらつかないようにすることにより、従来に較べ
て寿命が長く、応答性能の良い、フラッシュメモリを用
いた記憶装置を実現することができる。
リを用いた記憶装置システムの構成例を示すブロック図
である。
ある。
る。
る。
ルとそのエントリを示す説明図である。
明図である。
ーブル、グループテーブルとそのエントリ、グループキ
ューを示す説明図である。
る。
る。
ンフローチャートである。
チャートである。
チャートである。
ートである。
ートである。
フローチャートである。
フローチャートである。
モリを用いた記憶装置システムの構成例を示すブロック
図である。
ブルとそのエントリを示す説明図である。
テーブル、グループテーブルとそのエントリ、グループ
キューを示す説明図である。
ンフローチャートである。
ャートである。
フローチャートである。
フローチャートである。
示す説明図である。
ュータ、1020…ホストインタフェース、1030…
RAM、1040…ROM、1050…CPU、106
0…フラッシュメモリ、1400…論理ブロックテーブ
ル、1500…物理ブロックテーブル、1600…空き
物理ブロックテーブル、1620…グループテーブル、
1630…グループテーブルエントリ、1800…グル
ープキュー、1100…論理ブロック、1110…物理
ブロック、1120…空き物理ブロック。
Claims (16)
- 【請求項1】上位装置から見たアクセス単位である論理
ブロックを、フラッシュメモリの物理ブロックに割り当
てる、フラッシュメモリを用いた記憶装置の制御方法で
あって、 論理ブロックへのライト処理の度に、各論理ブロック単
位にそのライト回数(またはライト頻度)を計数管理
し、 物理ブロックの消去処理の度に、各物理ブロック単位に
その消去回数を計数管理し、 複数の論理ブロックを各々のライト回数(または頻度)
により複数の論理ブロックグループに分類し、 複数の物理ブロックを各々の消去回数により複数の物理
ブロックグループに分類し、 ライト回数の多い論理ブロックグループに属する論理ブ
ロックへのライト処理に伴い当該論理ブロックを物理ブ
ロックへ割り当てる際に、当該論理ブロックを消去回数
の少ない物理ブロックグループに属する物理ブロックに
割り当てることを特徴とするフラッシュメモリを用いた
記憶装置の制御方法。 - 【請求項2】各物理ブロックグループにいずれの論理ブ
ロックにも割り当てられていない空き物理ブロックを少
なくとも1つ用意しておき、前記論理ブロックへの物理
ブロックの割り当ての際に、消去回数の少ない物理ブロ
ックグループに属する空き物理ブロックを割り当てるこ
とを特徴とする、請求項1記載のフラッシュメモリを用
いた記憶装置の制御方法。 - 【請求項3】前記空き物理ブロックの選択は、ライト回
数の少ない論理ブロックグループに属する論理ブロック
に割り当てられている消去回数の少ない物理ブロックを
探しだし、該物理ブロックが属する物理ブロックグルー
プと同グループに属する空き物理ブロックを目的の空き
物理ブロックとすることを特徴とする、請求項2記載の
フラッシュメモリを用いた記憶装置の制御方法。 - 【請求項4】前記消去回数の少ない物理ブロックの内容
を、前記ライト回数の多い論理ブロックに割り当てられ
ていた旧物理ブロックが属する物理ブロックグループと
同グループに属する空き物理ブロックにコピーするとと
もに、該コピー元の物理ブロックを消去して空き物理ブ
ロックとし、 コピー先の物理ブロックを、前記コピー元の物理ブロッ
クが割り当てられていた論理ブロックへ新たに割り当
て、 前記旧物理ブロックを消去して空き物理ブロックとする
ことを特徴とする請求項3記載のフラッシュメモリを用
いた記憶装置の制御方法。 - 【請求項5】前記ライト回数の多い論理ブロックを消去
回数の少ない物理ブロックへ割り当てる処理は、当該ラ
イト回数の多い論理ブロックに対応する物理ブロックの
消去回数が予め定めた数の倍数に達する毎に行ない、そ
れ以外の論理ブロックに対するライト処理時には、 論理ブロックの割り当てられていた旧物理ブロックが属
する物理ブロックグループと同グループに属する空き物
理ブロックに当該物理ブロックを割り当てるとともに、
当該旧物理ブロックを消去して空き物理ブロックとする
ことを特徴とする請求項2、3または4記載のフラッシ
ュメモリを用いた記憶装置の制御方法。 - 【請求項6】前記論理ブロックグループは、全論理ブロ
ックのライト回数の平均の属する一定回数幅の中央グル
ープと、該中央エリアの両側にそれぞれ少なくとも1つ
の側部グループとを有し、該グループ分けは、ライト処
理毎に見直すことを特徴とする請求項1〜5のいずれか
に記載の記憶装置の制御方法。 - 【請求項7】前記物理ブロックグループは、全物理ブロ
ックの消去回数の平均の属する一定回数幅の中央グルー
プと、該中央エリアの両側にそれぞれ少なくとも1つの
側部グループとを有し、該グループ分けは、消去処理毎
に見直すことを特徴とする請求項1〜5のいずれかに記
載の記憶装置の制御方法。 - 【請求項8】上位装置から見たアクセス単位である論理
ブロックを、フラッシュメモリの物理ブロックに割り当
てる、フラッシュメモリを用いた記憶装置の制御方法で
あって、 個々の論理ブロックへのアクセス状況に基づいて、各論
理ブロックに対する今後のライト回数(または頻度)の
多寡を予測し、 物理ブロックの消去処理に伴って個々の物理ブロックの
消去回数を管理し、 ライト回数が多いと予測される論理ブロックを消去回数
の少ない物理ブロックに割り当てるとともに、ライト回
数が少ないと予測される論理ブロックを消去回数の多い
物理ブロックに割り当てることを特徴とするフラッシュ
メモリを用いた記憶装置の制御方法。 - 【請求項9】上位装置から見たアクセス単位である論理
ブロックを、フラッシュメモリの物理ブロックに割り当
てる、フラッシュメモリを用いた記憶装置であって、 個別に消去可能な複数の物理ブロックを有するフラッシ
ュメモリと、 該割り当て手段により割り当てられた論理ブロックと物
理ブロックとの対応関係を保持するテーブル手段と、 個々の論理ブロックのライト回数(または頻度)を計数
管理する手段と、 論理ブロックをライト回数に基づいて複数のグループに
分類する手段と、 論理ブロックへ割り当てられていた物理ブロックを空き
物理ブロックとする際に、当該物理ブロックの消去処理
を行なう消去手段と、 個々の物理ブロックの消去回数を計数管理する手段と、 物理ブロックを消去回数に基づいて複数のグループに分
類する手段と、 個々の論理ブロックを物理ブロックに割り当てる割り当
て制御手段と、 いずれの論理ブロックにも割り当てられていない空き物
理ブロックを管理する手段とを備え、 前記割り当て制御手段は、適宜、ライト回数が多い論理
ブロックグループに属する論理ブロックを消去回数の少
ない物理ブロックグループに属する空き物理ブロックに
割り当てるとともに、ライト回数が少ない論理ブロック
グループに属する論理ブロックを消去回数の多い論理ブ
ロックグループに属する空き物理ブロックに割り当てる
交換処理を行なうことを特徴とする、フラッシュメモリ
を用いた記憶装置。 - 【請求項10】前記割り当て制御手段は、通常のライト
処理においては、ライト対象の論理ブロックに割り当て
られていた物理ブロック(以下、旧物理ブロックとい
う)が属する物理ブロックグループと同グループに属す
る空き物理ブロックに対して、当該ライト対象の論理ブ
ロックを割り当て、前記旧物理ブロックを空き物理ブロ
ックとし、 予め定めた条件が満たされたとき、前記交換処理を行な
うことを特徴とする請求項9記載のフラッシュメモリを
用いた記憶装置。 - 【請求項11】前記交換処理では、ライト回数の少ない
論理ブロックに割り当てられていた物理ブロックの内容
を前記旧物理ブロックが属する物理ブロックグループと
同グループに属する空き物理ブロックにコピーするとと
もに、前記旧物理ブロックを空き物理ブロックとするこ
とを特徴とする請求項10記載のフラッシュメモリを用
いた記憶装置。 - 【請求項12】論理ブロックと物理ブロックのブロック
サイズは同一であることを特徴とする請求項9〜11の
いずれかに記載のフラッシュメモリを用いた記憶装置。 - 【請求項13】論理ブロックのブロックサイズは物理ブ
ロックのブロックサイズの複数倍であり、論理ブロック
の内容を圧縮し、かつ該圧縮されたデータを伸長する圧
縮伸長手段をさらに備え、1つの論理ブロックは、その
圧縮の度合いに応じて1ないし複数の物理ブロックに割
り当てられることを特徴とする請求項9〜11のいずれ
かに記載のフラッシュメモリを用いた記憶装置。 - 【請求項14】各物理ブロックグループ毎に、当該グル
ープに属する物理ブロックをその割り当てられている論
理ブロックの論理ブロックグループ単位に別々に連結し
た物理ブロックのキューを構成する手段と、該キューの
先頭を指示するグループテーブル手段とを備え、前記割
り当て制御手段は、該グループテーブル手段を参照して
前記交換処理を行なうことを特徴とする請求項9〜13
のいずれかに記載のフラッシュメモリを用いた記憶装
置。 - 【請求項15】前記グループテーブル手段は、各物理ブ
ロックグループ毎に、当該グループに属する空き物理ブ
ロックをも管理することを特徴とする請求項14記載の
フラッシュメモリを用いた記憶装置。 - 【請求項16】前記予め定めた条件は、ライト回数の多
い論理ブロックグループに属する論理ブロックに対する
ライト要求があった場合に、ライト対象となった空き物
理ブロックの消去回数が予め定めた数の倍数となったと
きであることを特徴とする請求項10記載のフラッシュ
メモリを用いた記憶装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14794394A JP3507132B2 (ja) | 1994-06-29 | 1994-06-29 | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
| US08/495,165 US5737742A (en) | 1994-06-29 | 1995-06-27 | Memory system using flash memory and method of controlling the memory system |
| US08/998,998 US5930193A (en) | 1994-06-29 | 1997-12-29 | Memory system using a flash memory and method of controlling the memory system |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14794394A JP3507132B2 (ja) | 1994-06-29 | 1994-06-29 | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
| US08/495,165 US5737742A (en) | 1994-06-29 | 1995-06-27 | Memory system using flash memory and method of controlling the memory system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0816482A true JPH0816482A (ja) | 1996-01-19 |
| JP3507132B2 JP3507132B2 (ja) | 2004-03-15 |
Family
ID=26478328
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP14794394A Expired - Lifetime JP3507132B2 (ja) | 1994-06-29 | 1994-06-29 | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US5737742A (ja) |
| JP (1) | JP3507132B2 (ja) |
Cited By (49)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11126488A (ja) * | 1997-10-21 | 1999-05-11 | Hitachi Ltd | フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置 |
| US5963474A (en) * | 1998-05-11 | 1999-10-05 | Fujitsu Limited | Secondary storage device using nonvolatile semiconductor memory |
| EP0887735A3 (en) * | 1997-06-25 | 2001-12-05 | Sony Corporation | Memory management method for a flash memory |
| KR100389867B1 (ko) * | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
| WO2004006102A1 (ja) * | 2002-07-02 | 2004-01-15 | Fujitsu Limited | フラッシュメモリ管理プログラム、フラッシュメモリ管理方法およびフラッシュメモリ管理装置 |
| JP2006504220A (ja) * | 2002-10-28 | 2006-02-02 | サンディスク コーポレイション | 不揮発性記憶システムにおける平均消去カウントの維持 |
| JP2006504201A (ja) * | 2002-10-28 | 2006-02-02 | サンディスク コーポレイション | 不揮発性記憶システムにおける自動損耗均等化 |
| JP2006504221A (ja) * | 2002-10-28 | 2006-02-02 | サンディスク コーポレイション | 不揮発性記憶システムにおける最高頻度消去ブロックの追跡 |
| JP2006209608A (ja) * | 2005-01-31 | 2006-08-10 | Sony Corp | メモリ制御装置、メモリ制御方法、プログラム |
| JP2007133683A (ja) * | 2005-11-10 | 2007-05-31 | Sony Corp | メモリシステム |
| JP2007265265A (ja) * | 2006-03-29 | 2007-10-11 | Hitachi Ltd | フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム |
| WO2009011266A1 (ja) * | 2007-07-13 | 2009-01-22 | Kabushiki Kaisha Toshiba | 半導体メモリ情報蓄積装置とその書き込み制御方法 |
| WO2009084286A1 (en) * | 2007-12-28 | 2009-07-09 | Kabushiki Kaisha Toshiba | Memory system |
| WO2009130809A1 (en) * | 2008-04-24 | 2009-10-29 | Kabushiki Kaisha Toshiba | Memory system |
| JP2010066914A (ja) * | 2008-09-09 | 2010-03-25 | Toshiba Corp | 統合メモリ管理装置及びメモリ管理方法 |
| JP2010067284A (ja) * | 2009-12-25 | 2010-03-25 | Toshiba Corp | メモリシステムの制御方法 |
| JP2010079860A (ja) * | 2008-09-29 | 2010-04-08 | Hitachi Ltd | 記憶装置およびメモリ制御方法 |
| JP2010515127A (ja) * | 2006-12-27 | 2010-05-06 | インテル・コーポレーション | 不揮発性メモリのイニシアチブウェアレベリング |
| JP2010146515A (ja) * | 2008-12-22 | 2010-07-01 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| JP2010146512A (ja) * | 2008-12-22 | 2010-07-01 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| JP2010182266A (ja) * | 2009-02-09 | 2010-08-19 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| JP2010182268A (ja) * | 2009-02-09 | 2010-08-19 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| JP2010198219A (ja) * | 2009-02-24 | 2010-09-09 | Toshiba Corp | メモリコントローラおよび半導体記憶装置 |
| JP2010250534A (ja) * | 2009-04-15 | 2010-11-04 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| JP2010250533A (ja) * | 2009-04-15 | 2010-11-04 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| JP2010250413A (ja) * | 2009-04-13 | 2010-11-04 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| WO2011007599A1 (ja) * | 2009-07-17 | 2011-01-20 | 株式会社 東芝 | メモリ管理装置 |
| WO2011010348A1 (ja) * | 2009-07-23 | 2011-01-27 | 株式会社日立製作所 | フラッシュメモリ装置 |
| CN102047230A (zh) * | 2008-05-28 | 2011-05-04 | 美光科技公司 | 混合式存储器管理 |
| JP2011186561A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置 |
| JP2011186556A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | 情報処理装置及び方法 |
| JP2011186558A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
| JP2011186559A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置 |
| JP2011186554A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
| JP2011186563A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置およびメモリ管理方法 |
| US8028146B2 (en) | 2007-08-09 | 2011-09-27 | Hitachi, Ltd. | Management of temporary and permanent areas in nonvolatile memories of a storage system |
| JP2011203916A (ja) * | 2010-03-25 | 2011-10-13 | Toshiba Corp | メモリコントローラ、および半導体記憶装置 |
| JP2012022725A (ja) * | 2011-11-04 | 2012-02-02 | Sony Corp | メモリシステム |
| JP2012174106A (ja) * | 2011-02-23 | 2012-09-10 | Denso Corp | フラッシュメモリに対してデータの読み出しおよび書き込みを行う制御装置 |
| CN101727396B (zh) | 2008-10-10 | 2012-11-28 | 群联电子股份有限公司 | 用于非易失性存储器的存储器管理方法及其控制器 |
| JP2014522537A (ja) * | 2011-06-09 | 2014-09-04 | マイクロソフト コーポレーション | 使用によるフラッシュ・ベースの記憶装置へのデータ配置の管理 |
| JP2015505078A (ja) * | 2012-02-08 | 2015-02-16 | 株式会社日立製作所 | 複数の不揮発性の半導体記憶媒体を有し、ホットデータを長寿命記憶媒体に配置しコールドデータを短寿命記憶媒体に配置するストレージ装置、及び、記憶制御方法 |
| WO2015083225A1 (ja) * | 2013-12-02 | 2015-06-11 | 富士通株式会社 | 情報処理装置、ストレージ、及びアクセス制御方法 |
| US9201786B2 (en) | 2012-12-21 | 2015-12-01 | Kabushiki Kaisha Toshiba | Memory controller and memory system |
| WO2015181923A1 (ja) * | 2014-05-29 | 2015-12-03 | 富士通株式会社 | 情報処理装置、制御方法及び制御プログラム |
| US9280466B2 (en) | 2008-09-09 | 2016-03-08 | Kabushiki Kaisha Toshiba | Information processing device including memory management device managing access from processor to memory and memory management method |
| JP2016507830A (ja) * | 2013-02-22 | 2016-03-10 | ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. | メモリ回収方法および装置 |
| WO2016135955A1 (ja) * | 2015-02-27 | 2016-09-01 | 株式会社日立製作所 | 不揮発性メモリデバイス |
| JP2016184402A (ja) * | 2015-03-26 | 2016-10-20 | パナソニックIpマネジメント株式会社 | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法 |
Families Citing this family (126)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3507132B2 (ja) * | 1994-06-29 | 2004-03-15 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
| US5875477A (en) | 1995-12-22 | 1999-02-23 | Intel Corporation | Method and apparatus for error management in a solid state disk drive using primary and secondary logical sector numbers |
| US5829013A (en) | 1995-12-26 | 1998-10-27 | Intel Corporation | Memory manager to allow non-volatile memory to be used to supplement main memory |
| US5907854A (en) * | 1996-09-27 | 1999-05-25 | Alcatel Usa Sourcing, L.P. | Flash memory file system for writing data files without rewriting an entire volume |
| US6311290B1 (en) | 1997-02-14 | 2001-10-30 | Intel Corporation | Methods of reliably allocating, de-allocating, re-allocating, and reclaiming objects in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
| US6182188B1 (en) | 1997-04-06 | 2001-01-30 | Intel Corporation | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
| US5937434A (en) * | 1997-02-14 | 1999-08-10 | Intel Corporation | Method of managing a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
| US6088759A (en) * | 1997-04-06 | 2000-07-11 | Intel Corporation | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
| US5943692A (en) * | 1997-04-30 | 1999-08-24 | International Business Machines Corporation | Mobile client computer system with flash memory management utilizing a virtual address map and variable length data |
| US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
| US6442650B1 (en) * | 1997-10-06 | 2002-08-27 | Emc Corporation | Maximizing sequential output in a disk array storage device |
| US5926777A (en) * | 1997-10-14 | 1999-07-20 | Nematron Corporation | Method and apparatus for monitoring computer system service life parameters |
| DE19980546B4 (de) * | 1998-03-02 | 2011-01-27 | Lexar Media, Inc., Fremont | Flash-Speicherkarte mit erweiterter Betriebsmodus-Erkennung und benutzerfreundlichem Schnittstellensystem |
| US6226728B1 (en) * | 1998-04-21 | 2001-05-01 | Intel Corporation | Dynamic allocation for efficient management of variable sized data within a nonvolatile memory |
| US6446223B1 (en) | 1998-09-09 | 2002-09-03 | Hitachi, Ltd. | Storage system and method for controlling the same |
| US6901457B1 (en) | 1998-11-04 | 2005-05-31 | Sandisk Corporation | Multiple mode communications system |
| US6249838B1 (en) * | 1998-12-28 | 2001-06-19 | Cisco Technology Inc. | Physical medium information in file system header |
| CA2267484C (en) * | 1999-03-30 | 2002-03-05 | Object Technology International Inc. | Reclaiming memory from deleted applications |
| KR100309879B1 (ko) * | 1999-03-30 | 2001-11-01 | 윤종용 | 플래시 메모리 관리 시스템 및 그 구현 방법 |
| US6426893B1 (en) | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
| US6721843B1 (en) | 2000-07-07 | 2004-04-13 | Lexar Media, Inc. | Flash memory architecture implementing simultaneously programmable multiple flash memory banks that are host compatible |
| US7155559B1 (en) * | 2000-08-25 | 2006-12-26 | Lexar Media, Inc. | Flash memory architecture with separate storage of overhead and user data |
| US6772274B1 (en) * | 2000-09-13 | 2004-08-03 | Lexar Media, Inc. | Flash memory system and method implementing LBA to PBA correlation within flash memory array |
| US7020739B2 (en) * | 2000-12-06 | 2006-03-28 | Tdk Corporation | Memory controller, flash memory system having memory controller and method for controlling flash memory device |
| EP1220229B1 (en) * | 2000-12-29 | 2009-03-18 | STMicroelectronics S.r.l. | An electrically modifiable, non-volatile, semiconductor memory which can keep a datum stored until an operation to modify the datum is completed |
| JP4818812B2 (ja) | 2006-05-31 | 2011-11-16 | 株式会社日立製作所 | フラッシュメモリストレージシステム |
| US6571326B2 (en) | 2001-03-08 | 2003-05-27 | Intel Corporation | Space allocation for data in a nonvolatile memory |
| JP4256600B2 (ja) * | 2001-06-19 | 2009-04-22 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
| JP4060552B2 (ja) * | 2001-08-06 | 2008-03-12 | 株式会社日立製作所 | 記憶装置システム、および、記憶装置システムの構成方法 |
| US7000063B2 (en) * | 2001-10-05 | 2006-02-14 | Matrix Semiconductor, Inc. | Write-many memory device and method for limiting a number of writes to the write-many memory device |
| US6895464B2 (en) * | 2002-06-03 | 2005-05-17 | Honeywell International Inc. | Flash memory management system and method utilizing multiple block list windows |
| DE10227255B4 (de) * | 2002-06-19 | 2008-06-26 | Hyperstone Gmbh | Verfahren zur Wiederherstellung von Verwaltungsdatensätzen eines blockweise löschbaren Speichers |
| DE10227256C1 (de) * | 2002-06-19 | 2003-12-18 | Hyperstone Ag | Verfahren zum Adressieren von blockweise löschbaren Speichern |
| DE10256509B4 (de) * | 2002-06-19 | 2008-06-12 | Hyperstone Gmbh | Verfahren zum Adressieren von blockweise löschbaren Speichern |
| US6831865B2 (en) * | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts in non-volatile storage systems |
| US6985992B1 (en) * | 2002-10-28 | 2006-01-10 | Sandisk Corporation | Wear-leveling in non-volatile storage systems |
| US7096313B1 (en) | 2002-10-28 | 2006-08-22 | Sandisk Corporation | Tracking the least frequently erased blocks in non-volatile memory systems |
| US7526599B2 (en) * | 2002-10-28 | 2009-04-28 | Sandisk Corporation | Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system |
| US7103732B1 (en) | 2002-10-28 | 2006-09-05 | Sandisk Corporation | Method and apparatus for managing an erase count block |
| US7254668B1 (en) * | 2002-10-28 | 2007-08-07 | Sandisk Corporation | Method and apparatus for grouping pages within a block |
| JP4199519B2 (ja) * | 2002-11-05 | 2008-12-17 | パナソニック株式会社 | メモリ管理装置及びメモリ管理方法 |
| JPWO2004068913A1 (ja) * | 2003-01-28 | 2006-05-25 | 株式会社半導体エネルギー研究所 | 発光素子およびその作製方法 |
| JP4289026B2 (ja) * | 2003-05-28 | 2009-07-01 | 日本電気株式会社 | 半導体記憶装置 |
| US7188228B1 (en) * | 2003-10-01 | 2007-03-06 | Sandisk Corporation | Hybrid mapping implementation within a non-volatile memory system |
| US8706990B2 (en) | 2003-10-28 | 2014-04-22 | Sandisk Technologies Inc. | Adaptive internal table backup for non-volatile memory system |
| US7032087B1 (en) | 2003-10-28 | 2006-04-18 | Sandisk Corporation | Erase count differential table within a non-volatile memory system |
| KR100526190B1 (ko) * | 2004-02-06 | 2005-11-03 | 삼성전자주식회사 | 플래시 메모리의 재사상 방법 |
| DE102004034042A1 (de) * | 2004-07-13 | 2006-02-09 | Endress + Hauser Gmbh + Co. Kg | Elektronisches Gerät mit einem nicht flüchtigen beschreibbaren Datenspeicher |
| JP4209820B2 (ja) | 2004-07-15 | 2009-01-14 | 株式会社ハギワラシスコム | メモリカードシステム及び該メモリカードシステムで使用されるライトワンス型メモリカード、ホストシステムと半導体記憶デバイスとからなるシステム |
| US20060069849A1 (en) * | 2004-09-30 | 2006-03-30 | Rudelic John C | Methods and apparatus to update information in a memory |
| JP4442771B2 (ja) * | 2004-12-22 | 2010-03-31 | 株式会社ルネサステクノロジ | 記憶装置及びコントローラ |
| US8452938B1 (en) * | 2004-12-30 | 2013-05-28 | Azul Systems, Inc. | Garbage collection with memory quick release |
| US20060282610A1 (en) * | 2005-06-08 | 2006-12-14 | M-Systems Flash Disk Pioneers Ltd. | Flash memory with programmable endurance |
| US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
| US7571275B2 (en) * | 2005-08-31 | 2009-08-04 | Hamilton Sundstrand Corporation | Flash real-time operating system for small embedded applications |
| JP4597829B2 (ja) * | 2005-09-27 | 2010-12-15 | パトレネラ キャピタル リミテッド, エルエルシー | メモリ |
| JP4755487B2 (ja) * | 2005-11-24 | 2011-08-24 | 株式会社日立製作所 | データ読出しシステム、データ読出し装置およびデータ読出し方法 |
| EP1862905A3 (en) | 2006-05-31 | 2010-07-14 | Hitachi, Ltd. | Flash memory storage system |
| US20080071968A1 (en) * | 2006-09-18 | 2008-03-20 | Phison Electronics Corp. | Method of managing blocks fo flash memory suitable for flexible correspondence between logic block and physical block |
| AT504298B1 (de) * | 2006-09-22 | 2008-09-15 | Siemens Ag Oesterreich | Verfahren zur zuordnung einer auswahl digitaler inhalte zu einem bestimmten benutzer |
| US9153337B2 (en) | 2006-12-11 | 2015-10-06 | Marvell World Trade Ltd. | Fatigue management system and method for hybrid nonvolatile solid state memory system |
| US8166267B2 (en) * | 2006-12-26 | 2012-04-24 | Sandisk Technologies Inc. | Managing a LBA interface in a direct data file memory system |
| US20080155175A1 (en) * | 2006-12-26 | 2008-06-26 | Sinclair Alan W | Host System That Manages a LBA Interface With Flash Memory |
| US8209461B2 (en) * | 2006-12-26 | 2012-06-26 | Sandisk Technologies Inc. | Configuration of host LBA interface with flash memory |
| CN101211314B (zh) * | 2006-12-31 | 2010-07-14 | 创惟科技股份有限公司 | 闪存资料读写寿命提升方法 |
| JP2009003880A (ja) * | 2007-06-25 | 2009-01-08 | Toshiba Corp | 不揮発性メモリの制御装置及びその制御方法及び記憶装置 |
| KR101498673B1 (ko) | 2007-08-14 | 2015-03-09 | 삼성전자주식회사 | 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템 |
| US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
| JP2009266349A (ja) | 2008-04-28 | 2009-11-12 | Toshiba Corp | 不揮発性半導体記憶装置 |
| EP2270644A3 (en) | 2009-06-22 | 2012-10-17 | Hitachi, Ltd. | Method for managing storage system using flash memory, and computer |
| JP4874368B2 (ja) | 2009-06-22 | 2012-02-15 | 株式会社日立製作所 | フラッシュメモリを用いたストレージシステムの管理方法及び計算機 |
| WO2011010344A1 (ja) | 2009-07-22 | 2011-01-27 | 株式会社日立製作所 | 複数のフラッシュパッケージを有するストレージシステム |
| US8665601B1 (en) | 2009-09-04 | 2014-03-04 | Bitmicro Networks, Inc. | Solid state drive with improved enclosure assembly |
| US9135190B1 (en) | 2009-09-04 | 2015-09-15 | Bitmicro Networks, Inc. | Multi-profile memory controller for computing devices |
| US8447908B2 (en) | 2009-09-07 | 2013-05-21 | Bitmicro Networks, Inc. | Multilevel memory bus system for solid-state mass storage |
| US8560804B2 (en) | 2009-09-14 | 2013-10-15 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
| US8988800B1 (en) | 2009-09-15 | 2015-03-24 | Marvell International Ltd. | Error correction for storage devices |
| US8402217B2 (en) | 2009-09-15 | 2013-03-19 | Marvell International Ltd. | Implementing RAID in solid state memory |
| TWI421870B (zh) * | 2009-10-30 | 2014-01-01 | Phison Electronics Corp | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 |
| US8438361B2 (en) * | 2010-03-10 | 2013-05-07 | Seagate Technology Llc | Logical block storage in a storage device |
| US8621141B2 (en) * | 2010-04-01 | 2013-12-31 | Intel Corporations | Method and system for wear leveling in a solid state drive |
| US9183134B2 (en) | 2010-04-22 | 2015-11-10 | Seagate Technology Llc | Data segregation in a storage device |
| KR101467941B1 (ko) | 2011-04-26 | 2014-12-02 | 엘에스아이 코포레이션 | 비휘발성 저장부에 대한 가변 오버프로비저닝 |
| CN103384877B (zh) * | 2011-06-07 | 2016-03-23 | 株式会社日立制作所 | 包括闪存的存储系统和存储控制方法 |
| US9417803B2 (en) * | 2011-09-20 | 2016-08-16 | Apple Inc. | Adaptive mapping of logical addresses to memory devices in solid state drives |
| US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
| US9628398B1 (en) * | 2012-02-28 | 2017-04-18 | Marvell Israel (M.I.S.L) Ltd. | Queuing methods and apparatus in a network device |
| US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
| US20130318196A1 (en) | 2012-05-23 | 2013-11-28 | Hitachi, Ltd. | Storage system and storage control method for using storage area based on secondary storage as cache area |
| KR102003930B1 (ko) * | 2012-07-31 | 2019-07-25 | 삼성전자주식회사 | 불휘발성 메모리 장치의 데이터 라이팅 제어방법 및 웨어레벨링 제어 기능을 가지는 메모리 콘트롤러 |
| US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
| US9639461B2 (en) * | 2013-03-15 | 2017-05-02 | Sandisk Technologies Llc | System and method of processing of duplicate data at a data storage device |
| US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
| US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
| US9858084B2 (en) | 2013-03-15 | 2018-01-02 | Bitmicro Networks, Inc. | Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory |
| US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
| US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
| US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
| US9842024B1 (en) | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
| US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
| US9934045B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
| US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
| US9916213B1 (en) | 2013-03-15 | 2018-03-13 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
| US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
| US9720603B1 (en) | 2013-03-15 | 2017-08-01 | Bitmicro Networks, Inc. | IOC to IOC distributed caching architecture |
| US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
| US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
| US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
| US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
| US9811461B1 (en) | 2014-04-17 | 2017-11-07 | Bitmicro Networks, Inc. | Data storage system |
| US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
| US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
| US9431052B2 (en) | 2014-06-26 | 2016-08-30 | Marvell World Trade Ltd. | Two dimensional magnetic recording systems, devices and methods |
| US10338817B2 (en) * | 2014-12-30 | 2019-07-02 | Sandisk Technologies Llc | Systems and methods for storage recovery |
| TWI536166B (zh) * | 2015-01-27 | 2016-06-01 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元以及記憶體儲存裝置 |
| CN105988950B (zh) * | 2015-02-03 | 2019-05-21 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
| JP6414852B2 (ja) * | 2015-12-14 | 2018-10-31 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
| CN107704466B (zh) * | 2016-08-09 | 2020-12-11 | 上海川源信息科技有限公司 | 数据储存系统 |
| US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
| CN109154917B (zh) * | 2016-12-29 | 2020-09-29 | 华为技术有限公司 | 存储系统和固态硬盘 |
| JP2018142240A (ja) * | 2017-02-28 | 2018-09-13 | 東芝メモリ株式会社 | メモリシステム |
| US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
| KR20180123385A (ko) * | 2017-05-08 | 2018-11-16 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이를 이용한 웨어-레벨링 방법 |
| KR102663661B1 (ko) * | 2018-12-06 | 2024-05-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 내 저장된 데이터를 제어하는 방법 및 장치 |
| US11599272B2 (en) | 2021-06-15 | 2023-03-07 | Micron Technology, Inc. | Deck based media management operations in memory devices |
| KR102952028B1 (ko) * | 2021-10-05 | 2026-04-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
| JPH05198198A (ja) * | 1992-01-20 | 1993-08-06 | Fujitsu Ltd | 半導体記憶装置 |
| JPH05274219A (ja) * | 1992-03-27 | 1993-10-22 | Alps Electric Co Ltd | 記憶装置 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5268870A (en) * | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
| GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
| US5408628A (en) * | 1992-07-07 | 1995-04-18 | Odetics, Inc. | Solid state recorder with flexible width data bus utilizing lock mapping and error correction and detection circuits |
| JP3507132B2 (ja) * | 1994-06-29 | 2004-03-15 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
| US5671439A (en) * | 1995-01-10 | 1997-09-23 | Micron Electronics, Inc. | Multi-drive virtual mass storage device and method of operating same |
| JP2671860B2 (ja) * | 1995-03-30 | 1997-11-05 | 日本電気株式会社 | フラッシュメモリ用ファイルシステム |
-
1994
- 1994-06-29 JP JP14794394A patent/JP3507132B2/ja not_active Expired - Lifetime
-
1995
- 1995-06-27 US US08/495,165 patent/US5737742A/en not_active Expired - Lifetime
-
1997
- 1997-12-29 US US08/998,998 patent/US5930193A/en not_active Expired - Lifetime
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
| JPH05198198A (ja) * | 1992-01-20 | 1993-08-06 | Fujitsu Ltd | 半導体記憶装置 |
| JPH05274219A (ja) * | 1992-03-27 | 1993-10-22 | Alps Electric Co Ltd | 記憶装置 |
Cited By (82)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0887735A3 (en) * | 1997-06-25 | 2001-12-05 | Sony Corporation | Memory management method for a flash memory |
| JPH11126488A (ja) * | 1997-10-21 | 1999-05-11 | Hitachi Ltd | フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置 |
| US5963474A (en) * | 1998-05-11 | 1999-10-05 | Fujitsu Limited | Secondary storage device using nonvolatile semiconductor memory |
| KR100389867B1 (ko) * | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
| WO2004006102A1 (ja) * | 2002-07-02 | 2004-01-15 | Fujitsu Limited | フラッシュメモリ管理プログラム、フラッシュメモリ管理方法およびフラッシュメモリ管理装置 |
| JP2010015591A (ja) * | 2002-10-28 | 2010-01-21 | Sandisk Corp | 不揮発性記憶システムにおける最高頻度消去ブロックの追跡 |
| JP2006504220A (ja) * | 2002-10-28 | 2006-02-02 | サンディスク コーポレイション | 不揮発性記憶システムにおける平均消去カウントの維持 |
| JP2006504201A (ja) * | 2002-10-28 | 2006-02-02 | サンディスク コーポレイション | 不揮発性記憶システムにおける自動損耗均等化 |
| JP2006504221A (ja) * | 2002-10-28 | 2006-02-02 | サンディスク コーポレイション | 不揮発性記憶システムにおける最高頻度消去ブロックの追跡 |
| JP4758648B2 (ja) * | 2002-10-28 | 2011-08-31 | サンディスク コーポレイション | 不揮発性記憶システムにおける平均消去カウントの維持 |
| JP2006209608A (ja) * | 2005-01-31 | 2006-08-10 | Sony Corp | メモリ制御装置、メモリ制御方法、プログラム |
| JP2007133683A (ja) * | 2005-11-10 | 2007-05-31 | Sony Corp | メモリシステム |
| US9286210B2 (en) | 2006-03-29 | 2016-03-15 | Hitachi, Ltd. | System executes wear-leveling among flash memory modules |
| JP2007265265A (ja) * | 2006-03-29 | 2007-10-11 | Hitachi Ltd | フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム |
| US7409492B2 (en) | 2006-03-29 | 2008-08-05 | Hitachi, Ltd. | Storage system using flash memory modules logically grouped for wear-leveling and RAID |
| US7970986B2 (en) * | 2006-03-29 | 2011-06-28 | Hitachi, Ltd. | Storage system using flash memories and wear-leveling method for the same system |
| EP2365428A1 (en) | 2006-03-29 | 2011-09-14 | Hitachi, Ltd. | Storage system using flash memories, wear-leveling method for the same system and wear-leveling program for the same system |
| US7734865B2 (en) | 2006-03-29 | 2010-06-08 | Hitachi, Ltd. | Storage system using flash memory modules logically grouped for wear-leveling and raid |
| US8788745B2 (en) | 2006-03-29 | 2014-07-22 | Hitachi, Ltd. | Storage system comprising flash memory modules subject to two wear—leveling processes |
| US8429340B2 (en) | 2006-03-29 | 2013-04-23 | Hitachi, Ltd. | Storage system comprising flash memory modules subject to plural types of wear-leveling processes |
| JP2010515127A (ja) * | 2006-12-27 | 2010-05-06 | インテル・コーポレーション | 不揮発性メモリのイニシアチブウェアレベリング |
| US8356152B2 (en) | 2006-12-27 | 2013-01-15 | Intel Corporation | Initiative wear leveling for non-volatile memory |
| US8352674B2 (en) | 2007-06-13 | 2013-01-08 | Kabushiki Kaisha Toshiba | Semiconductor memory information storage apparatus and method of controlling writing |
| WO2009011266A1 (ja) * | 2007-07-13 | 2009-01-22 | Kabushiki Kaisha Toshiba | 半導体メモリ情報蓄積装置とその書き込み制御方法 |
| US8327110B2 (en) | 2007-08-09 | 2012-12-04 | Hitachi, Ltd. | Storage system including a virtual volume, a plurality of disk drives and a plurality of flash memory devices |
| US8788786B2 (en) | 2007-08-09 | 2014-07-22 | Hitachi, Ltd. | Storage system creating cache and logical volume areas in flash memory |
| US8028146B2 (en) | 2007-08-09 | 2011-09-27 | Hitachi, Ltd. | Management of temporary and permanent areas in nonvolatile memories of a storage system |
| US10558360B2 (en) | 2007-12-28 | 2020-02-11 | Toshiba Memory Corporation | Memory system and control method thereof |
| US9483192B2 (en) | 2007-12-28 | 2016-11-01 | Kabushiki Kaisha Toshiba | Memory system and control method thereof |
| KR100984829B1 (ko) * | 2007-12-28 | 2010-10-04 | 가부시끼가이샤 도시바 | 메모리 시스템 |
| US9933941B2 (en) | 2007-12-28 | 2018-04-03 | Toshiba Memory Corporation | Memory system and control method thereof |
| WO2009084286A1 (en) * | 2007-12-28 | 2009-07-09 | Kabushiki Kaisha Toshiba | Memory system |
| US11287975B2 (en) | 2007-12-28 | 2022-03-29 | Kioxia Corporation | Memory system and control method thereof |
| US11893237B2 (en) | 2007-12-28 | 2024-02-06 | Kioxia Corporation | Memory system and control method thereof |
| US12229404B2 (en) | 2007-12-28 | 2025-02-18 | Kioxia Corporation | Memory system and control method thereof |
| US9280292B2 (en) | 2007-12-28 | 2016-03-08 | Kabushiki Kaisha Toshiba | Memory system and control method thereof |
| US8886868B2 (en) | 2007-12-28 | 2014-11-11 | Kabushiki Kaisha Toshiba | Memory system and control method thereof |
| US9026724B2 (en) | 2007-12-28 | 2015-05-05 | Kabushiki Kaisha Toshiba | Memory system and control method thereof |
| US8015347B2 (en) | 2007-12-28 | 2011-09-06 | Kabushiki Kaisha Toshiba | Memory system and control method thereof |
| WO2009130809A1 (en) * | 2008-04-24 | 2009-10-29 | Kabushiki Kaisha Toshiba | Memory system |
| US7958411B2 (en) | 2008-04-24 | 2011-06-07 | Kabushiki Kaisha Toshiba | Memory system and control method thereof |
| US7949910B2 (en) | 2008-04-24 | 2011-05-24 | Kabushiki Kaisha Toshiba | Memory system and control method thereof |
| US9390004B2 (en) | 2008-05-28 | 2016-07-12 | Round Rock Research, Llc | Hybrid memory management |
| CN102047230A (zh) * | 2008-05-28 | 2011-05-04 | 美光科技公司 | 混合式存储器管理 |
| US8751733B2 (en) | 2008-05-28 | 2014-06-10 | Round Rock Research, Llc | Hybrid memory management |
| JP2011522350A (ja) * | 2008-05-28 | 2011-07-28 | マイクロン テクノロジー, インク. | ハイブリッドメモリ管理 |
| US9280466B2 (en) | 2008-09-09 | 2016-03-08 | Kabushiki Kaisha Toshiba | Information processing device including memory management device managing access from processor to memory and memory management method |
| JP2010066914A (ja) * | 2008-09-09 | 2010-03-25 | Toshiba Corp | 統合メモリ管理装置及びメモリ管理方法 |
| JP2010079860A (ja) * | 2008-09-29 | 2010-04-08 | Hitachi Ltd | 記憶装置およびメモリ制御方法 |
| CN101727396B (zh) | 2008-10-10 | 2012-11-28 | 群联电子股份有限公司 | 用于非易失性存储器的存储器管理方法及其控制器 |
| JP2010146512A (ja) * | 2008-12-22 | 2010-07-01 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| JP2010146515A (ja) * | 2008-12-22 | 2010-07-01 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| JP2010182268A (ja) * | 2009-02-09 | 2010-08-19 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| JP2010182266A (ja) * | 2009-02-09 | 2010-08-19 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| JP2010198219A (ja) * | 2009-02-24 | 2010-09-09 | Toshiba Corp | メモリコントローラおよび半導体記憶装置 |
| JP2010250413A (ja) * | 2009-04-13 | 2010-11-04 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| JP2010250533A (ja) * | 2009-04-15 | 2010-11-04 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| JP2010250534A (ja) * | 2009-04-15 | 2010-11-04 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
| WO2011007599A1 (ja) * | 2009-07-17 | 2011-01-20 | 株式会社 東芝 | メモリ管理装置 |
| US8447915B2 (en) | 2009-07-23 | 2013-05-21 | Hitachi, Ltd. | Flash memory device for allocating physical blocks to logical blocks based on an erase count |
| WO2011010348A1 (ja) * | 2009-07-23 | 2011-01-27 | 株式会社日立製作所 | フラッシュメモリ装置 |
| JP2010067284A (ja) * | 2009-12-25 | 2010-03-25 | Toshiba Corp | メモリシステムの制御方法 |
| JP2011186561A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置 |
| JP2011186554A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
| JP2011186559A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置 |
| JP2011186563A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置およびメモリ管理方法 |
| JP2011186558A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
| JP2011186556A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | 情報処理装置及び方法 |
| JP2011203916A (ja) * | 2010-03-25 | 2011-10-13 | Toshiba Corp | メモリコントローラ、および半導体記憶装置 |
| JP2012174106A (ja) * | 2011-02-23 | 2012-09-10 | Denso Corp | フラッシュメモリに対してデータの読み出しおよび書き込みを行う制御装置 |
| JP2014522537A (ja) * | 2011-06-09 | 2014-09-04 | マイクロソフト コーポレーション | 使用によるフラッシュ・ベースの記憶装置へのデータ配置の管理 |
| JP2012022725A (ja) * | 2011-11-04 | 2012-02-02 | Sony Corp | メモリシステム |
| JP2015505078A (ja) * | 2012-02-08 | 2015-02-16 | 株式会社日立製作所 | 複数の不揮発性の半導体記憶媒体を有し、ホットデータを長寿命記憶媒体に配置しコールドデータを短寿命記憶媒体に配置するストレージ装置、及び、記憶制御方法 |
| US9201786B2 (en) | 2012-12-21 | 2015-12-01 | Kabushiki Kaisha Toshiba | Memory controller and memory system |
| JP2016507830A (ja) * | 2013-02-22 | 2016-03-10 | ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. | メモリ回収方法および装置 |
| WO2015083225A1 (ja) * | 2013-12-02 | 2015-06-11 | 富士通株式会社 | 情報処理装置、ストレージ、及びアクセス制御方法 |
| JPWO2015181923A1 (ja) * | 2014-05-29 | 2017-04-20 | 富士通株式会社 | 情報処理装置、制御方法及び制御プログラム |
| WO2015181923A1 (ja) * | 2014-05-29 | 2015-12-03 | 富士通株式会社 | 情報処理装置、制御方法及び制御プログラム |
| WO2016135955A1 (ja) * | 2015-02-27 | 2016-09-01 | 株式会社日立製作所 | 不揮発性メモリデバイス |
| US10241909B2 (en) | 2015-02-27 | 2019-03-26 | Hitachi, Ltd. | Non-volatile memory device |
| JPWO2016135955A1 (ja) * | 2015-02-27 | 2017-09-14 | 株式会社日立製作所 | 不揮発性メモリデバイス |
| JP2016184402A (ja) * | 2015-03-26 | 2016-10-20 | パナソニックIpマネジメント株式会社 | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5930193A (en) | 1999-07-27 |
| US5737742A (en) | 1998-04-07 |
| JP3507132B2 (ja) | 2004-03-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3507132B2 (ja) | フラッシュメモリを用いた記憶装置およびその記憶制御方法 | |
| USRE50315E1 (en) | Adaptive garbage collection including flash memory using age and staleness parameters | |
| US20240319924A1 (en) | Memory system and control method | |
| US9251055B2 (en) | Memory system and control method of memory system | |
| US11216368B2 (en) | Memory system for garbage collection using page offsets, invalid offset ratio, sequential ratio, and logical address prediction | |
| US9336129B2 (en) | System and method for bank logical data remapping | |
| US9329995B2 (en) | Memory device and operating method thereof | |
| US6587915B1 (en) | Flash memory having data blocks, spare blocks, a map block and a header block and a method for controlling the same | |
| CN102193872B (zh) | 存储系统 | |
| JP6613375B2 (ja) | プロファイリングキャッシュ置換 | |
| JP2858795B2 (ja) | 実記憶割り当て方法 | |
| US20080235306A1 (en) | Garbage collection in nonvolatile memories using data attributes, computer program products and methods of operating the same | |
| US20080189490A1 (en) | Memory mapping | |
| JP6678230B2 (ja) | ストレージ装置 | |
| US10817186B2 (en) | Memory system | |
| JPWO2016135955A1 (ja) | 不揮発性メモリデバイス | |
| US20060218347A1 (en) | Memory card | |
| US7032093B1 (en) | On-demand allocation of physical storage for virtual volumes using a zero logical disk | |
| KR20190079672A (ko) | 정보 처리 장치, 메모리 액세스 방법 및 컴퓨터 프로그램 | |
| US7058784B2 (en) | Method for managing access operation on nonvolatile memory and block structure thereof | |
| US11086798B2 (en) | Method and computer program product and apparatus for controlling data access of a flash memory device | |
| JP2006072441A (ja) | メモリ装置および不揮発性メモリの制御方法 | |
| CN111338569A (zh) | 一种基于直接映射的对象存储后端优化方法 | |
| JP2005339299A (ja) | ストレージ装置のキャッシュ制御方法 | |
| US10877698B2 (en) | Semiconductor device for managing cold addresses of nonvolatile memory device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20031218 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071226 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081226 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081226 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091226 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101226 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101226 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111226 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111226 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121226 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131226 Year of fee payment: 10 |
|
| EXPY | Cancellation because of completion of term |