JP2002123421A - フラッシュメモリのための再写像制御方法及びこれによるフラッシュメモリの構造 - Google Patents
フラッシュメモリのための再写像制御方法及びこれによるフラッシュメモリの構造Info
- Publication number
- JP2002123421A JP2002123421A JP2001123320A JP2001123320A JP2002123421A JP 2002123421 A JP2002123421 A JP 2002123421A JP 2001123320 A JP2001123320 A JP 2001123320A JP 2001123320 A JP2001123320 A JP 2001123320A JP 2002123421 A JP2002123421 A JP 2002123421A
- Authority
- JP
- Japan
- Prior art keywords
- block
- state
- unit
- flash memory
- valid
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
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)
- Read Only Memory (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
ユニットの状態を記録かつ処理できるフラッシュメモリ
の再写像制御方法及びこれによるフラッシュメモリの構
造を提供する。 【解決手段】 本発明によるフラッシュメモリの再写像
制御方法は、所定ブロックに対する写像情報に基づき、
所定の物理的なユニットを見つける段階と、見つかった
物理的なユニットに所定ブロックが有効な状態で存在す
れば、物理的なユニットでブロックの状態が未定である
他のブロックを見つける段階と、他のブロックの状態を
所定ブロックに設定されている状態の次の状態に変更す
る段階と、他のブロックに、新しいデータと論理的なブ
ロック番号と同一の付加情報を記録する段階と、所定ブ
ロックの状態を削除状態に変更する段階と、を含むこと
を特徴とする。
Description
ッシュメモリにデータを記録したり、或いはフラッシュ
メモリからデータを読み出したりすることに係り、特
に、部分的な記録回数が限られているフラッシュメモリ
に/からデータを記録したり、或いは読み出したりする
とき、論理的な住所と物理的な住所との再写像を制御す
る方法及びそれに適したフラッシュメモリの構造に関す
る。
クセスメモリ(RAM)や不揮発性貯蔵装置、マグネチ
ックディスクなどのように、特定の位置に貯蔵されたデ
ータを任意に接近することができる。
したりする方法が前述の貯蔵装置などと異なる。すなわ
ち、ブロック単位の接近のために、一定の大きさのブロ
ックに分割されたフラッシュメモリの任意のブロックに
データを一回記録した後、これを修正したり、或いは削
除したりしようとするとき、前記任意のブロックを含ん
でいるユニットを修正または削除しなければならない。
フラッシュメモリにおいて、ブロックは物理的に連続し
た住所をもつバイトで構成される。このブロックは、フ
ラッシュメモリに対する演算の基本単位である。ユニッ
トは、複数個のブロックで構成される。このユニット
は、物理的にデータを修正または削除できる基本単位で
ある。
除特性により、削除回数が多いほどデータの記録及び更
新効率が低下される。また、フラッシュメモリに対する
修正または削除を行うとき、故障が生じるとデータが失
われる場合もある。これを防止すべく、従来より、ブロ
ック(またはセクター)再写像技法が用いられてきてい
る。
されたデータを修正または削除するとき、フラッシュメ
モリに記録されたデータの物理的なブロック番号(Ph
ysical Block Number、PBNとも言
う)が変更された場合であっても、同一の論理的なブロ
ック番号(Logical Block Number、
LBNとも言う)でフラッシュメモリに記録されたデー
タに接近できるように、該当データに対する論理的なブ
ロック番号(LBN)と物理的なブロック番号(PB
N)との写像情報を管理することを言う。
ータが発生すれば、まず、フラッシュメモリ上の該当デ
ータの物理的なブロック番号を含んでいるユニットでデ
ータの記録されていない物理的なブロックを見つける。
次に、見つかった物理的なブロックに該当するデータを
記録する。次に、該当するデータの論理的なブロック番
号と物理的なブロック番号との写像情報を更新する。こ
れにより、使用者は物理的なブロック番号が変わった場
合であっても、同一の論理的なブロック番号を使って該
当するデータに接近できるようになる。この場合、該当
データに対する以前の物理的なブロックの状態情報に削
除の表示をする。
れた物理的なユニット番号PUN1、PUN2のように
データが記録された状態で使用者が論理的なブロック番
号が'3'であるブロックに記録されたデータを修正しよ
うとするとき、PUN1が図2のように変更される。す
なわち、LBN-to-LUNマッピングテーブルを参照
すれば、論理的なブロック番号'3'に対応する論理的な
ユニット番号は'2'である。この論理的なユニット番
号'2'を用いてLUN-to-PUNマッピングテーブル
を参照すれば、対応する物理的なユニット番号は'1'で
あることが分かる。したがって、物理的なユニット番号
が'1'であるPUN1で空きブロックを見つける。図1
によれば、'4'番のブロックが空きブロックとして見つ
けられる。'4'番のブロックに論理的なブロック番号'
3'に該当するデータを図2のように記録した後、PU
N1のブロック割当てマップ(BAM)の写像情報を更
新する。これにより、PUN1のブロック割当てマップ
でPBN1に対する状態情報に削除の表示がなされる。
しかし、物理的なユニットに使用されない物理的なブロ
ックが多くなると、フラッシュメモリの使用効率が低下
する。
図3に示されたPUN1とPUN2との関係のように、
使用されるブロックだけを他のユニットに移動させてい
た。その次に、該当する物理的なユニット番号を前記他
のユニットの物理的なユニット番号に変える。したがっ
て、データを他のユニットに移動したとしても、同一の
論理的なユニット番号で接近できる。
きブロックが存在したり、或いはフラッシュメモリ上に
空きユニットが存在する限り、実質的な削除演算を行わ
ない。しかし、削除されたブロックが増えると、フラッ
シュメモリで使用できない領域が増えることになる。こ
のため、削除されたブロック有りの部分を再使用するた
めの方法が講じられる必要がある。
用演算を行う間に電源が切れるなどの障害が発生すれ
ば、使用者のデータまたは再写像のために使用されるデ
ータが失われる場合がある。したがって、既存には、こ
れを解決するために、ブロック及びユニットに状態情報
を記録し、演算を行うときに状態情報を適宜に修正する
ことにより、復旧演算を行うようにしている。
だけでなく、写像情報を貯蔵しかつ管理するために、ユ
ニットに対する部分的な書き込み演算を多数回に亘って
行う。したがって、NAND型のフラッシュメモリなど
のフラッシュメモリに既存の再写像技法をそのまま適用
し難い。これは、前述のNAND型のフラッシュメモリ
と同一のフラッシュメモリの場合、部分的な書き込み演
算の回数(またはNumber of program
cycles in the same page、以下、
Nopと略する)が5回または3回に限られるからであ
る。したがって、ブロック及びユニットに記録された情
報を多数回変更することができない。
に記録されているデータを復旧するとき、該当するブロ
ック及びユニットに記録されている状態情報に対する変
更回数が前述のように限られて、復旧を正常に行えない
現象が生じ得る。
→割当て(8F)→記録中(4F)→記録(2F)→削
除中(0F)→削除(00)のような順番でブロックの
状態を表示したり、未定(FF)→コピー中(8F)→
有効(4F)→移動中(2F)のような順番でユニット
の状態を表示しようとする場合、物理的に同一の位置に
対して少なくとも5回ないし3回の書き込み演算を行う
必要がある。のみならず、ユニットやブロックに使用者
データやエラー訂正コード(ECC)などの経路を記録
することまで考慮したとき、前述のように部分的な書き
込み演算の回数が5回または3回等に限られたフラッシ
ュメモリに既存の再写像技法をそのまま適用し難い。
鑑みて成されたものであり、その目的は、部分記録回数
を最小化しつつ、ブロック及びユニットの状態を記録か
つ処理できるフラッシュメモリの再写像制御方法及びこ
れによるフラッシュメモリの構造を提供するところにあ
る。
小限の部分記録で状態情報を表示するフラッシュメモリ
の再写像制御方法及びこれによるフラッシュメモリの構
造を提供するところにある。
ラッシュメモリに適したフラッシュメモリの再写像制御
方法及びこれによるフラッシュメモリの構造を提供する
ところにある。
めに、本発明による方法は、少なくとも一つのブロック
を備えているユニット単位に領域が区切られたフラッシ
ュメモリの再写像制御方法において、所定ブロックに対
する写像情報に基づき所定の物理的なユニットを見つけ
る段階と、見つかった物理的なユニットに所定ブロック
が有効な状態で存在すれば、ブロックの状態が未定であ
る他のブロックを見つける段階と、他のブロックの状態
を所定ブロックに設定されている状態の次の状態に変更
する段階と、他のブロックに新しいデータと論理的なブ
ロック番号のような付加情報を記録する段階と、所定ブ
ロックの状態を削除状態に変更する段階と、を含むこと
が好ましい。
ニットに所定ブロックが存在しないか、或いは所定ブロ
ックが削除状態で存在すれば、所定ブロックの状態を未
定の状態に設定した後、ブロックの状態が未定である他
のブロックを見つける段階と、他のブロックが存在しな
ければ、物理的なユニットに対して再生演算を行う段階
と、をさらに含むことが好ましい。
及び移動ユニットを決定する段階と、ソースユニットの
状態を移動中に設定し、移動ユニットの状態をコピー中
に設定する段階と、ソースユニット内の有効なブロッ
ク、関連メタ及びヘッダ情報をコピーする段階と、コピ
ー中に設定されている移動ユニットを有効状態に設定し
つつ、削除回数(摩耗度値)を増やす段階と、ソースユ
ニットを削除しつつ、決定された削除回数をソースユニ
ットに記録する段階と、を含むことが好ましい。
メモリの構造は、ユニットの第1ブロックは論理的なユ
ニット番号と有効な状態の可否、以前のブロックの削除
回数を含む情報の記録のために割り当て、ユニットの第
2ブロックはコピー中であるは、或いは移動中であるか
ということと削除回数(摩耗度)とを含む情報の記録の
ために割り当てるように構成され、ユニットのデータが
記録されるブロックのスペアアレイの所定領域には循環
係数方式で決定されたブロック状態を表わす情報が記録
されるように構成されることが好ましい。
発明について詳細に説明する。
いて削除単位として使用するのは削除ユニットである。
削除ユニットはフラッシュメモリの物理的な削除ブロッ
ク(図1ないし図3に示されているPUN1、PUN
2)と一致することもあり、多数個の削除ブロックで構
成されることもある。
(PUN)及び論理的なユニット番号(LUN)が付さ
れる。物理的なユニット番号は削除ユニットの物理的な
順番により割り当てられる。論理的なユニット番号は、
ユニットの論理的な順番を表わす番号である。フラッシ
ュメモリを初めて使用するとき、図1ないし図3に示さ
れたように、物理的なユニット番号(PUN)と論理的
なユニット番号(LUN)との間の写像を表わすテーブ
ル(LUN-to-PUN)がフラッシュメモリ上、また
はフラッシュメモリとは別途に備えられているメモリに
構成される。このテーブルはフラッシュメモリに対する
データの削除や変更、再生などの演算によりフラッシュ
メモリの写像関係が変わるとき毎に変更される。
PUN1、PUN2に示されたように、小さいブロック
またはセクターにさらに分割される。このブロックはフ
ラッシュメモリに対する演算の基本単位として使用され
る。フラッシュメモリにおいて、全てのブロックの大き
さは同一である。削除ユニットは削除ユニットヘッダ
(EUH)及びブロック割当てマップ(BAM)を含
む。削除ユニットヘッダはフラッシュメモリ全体に対す
る情報及びそのユニットの管理に必要な情報が記録され
る。前述した全体に対する情報は、例えば、削除ユニッ
トにあるブロックの大きさ、不良ブロックマップなどに
対する情報である。ユニットの管理に必要な情報は、例
えば、論理的なユニット番号、摩耗度などに対する情報
である。前記削除ユニットヘッダは一つまたはそれ以上
のブロックを占めることがある。
図3のPUN1、PUN2に示されたように、使用者デ
ータ及びブロック割当てマップが記録される。ブロック
割当てマップは一つまたはそれ以上のブロックに集めて
記録されえて、NAND型フラッシュメモリのスペアア
レイのように特殊な空間にブロック別に分けて記録され
もする。
ユニットに属するブロックに対する情報(論理的なブロ
ック番号、状態など)が記録される。論理的なブロック
番号は使用者が考えるブロックの住所である。したがっ
て、ブロック割当てマップは論理的なブロック番号とそ
のブロックが実際に記録された物理的な位置との写像を
表わす。ブロックに記録されるデータが変更されるとき
には、ブロック割当てマップの内容、すなわち、論理的
なブロック番号と物理的なブロック番号との写像情報及
び状態情報も変更される。
シュメモリに使えなくなった部分が多くなるため、再生
演算を適宜に行い、削除されたブロックが占めていた空
間を再使用できるようにしなければならない。既存の再
写像制御方式においてもこれを考慮しているにはいる
が、NAND型フラッシュメモリのように部分記録の回
数が限られたフラッシュメモリに対して前述の再生演算
をいかに行うかについては開示されていない。
の状態情報を循環係数を使って表示する方法を提示す
る。この方法によれば、最小限の部分記録回数でブロッ
クの状態を変化させ、故障が生じた場合、該当ブロック
のデータを復旧できる。また、循環係数の変化順番を用
いて以前のデータ及び新しいデータを区分できるので、
ロールバック及びロールフォワードなど、各種の復旧方
法を用いることができる。ロールバック復旧方法は新し
いデータを用いてデータを復旧することであり、ロール
フォワードは以前のデータを用いてデータを復旧するこ
とである。
御動作は、ブロック記録、空きブロックの検索、故障で
の回復などに分けられる。
クの状態は、未定(free)、有効(valid)
、削除(deleted)とに大別できる。ここで、'
有効'はさらに三つの状態に分けられる。例えば、s
0、s1、s2の状態に分けられる。有効な状態の三つ
の状態の間には、循環的な順序関係がある。例えば、s
0<s1、s1<s2、s2<s0の関係がある。有効な
状態はこの順番により変化するので、これを循環係数と
呼ぶ。すなわち、ブロックの最初の状態は未定であって
から、データが初めて記録されるときにs0となり、次
にさらに記録されるときにs1、s2、またs0に順番
に変わる。
にデータを記録する過程は、図4の通りである。図4
は、未定状態を'1111'に設定し、s0を'1110'
に設定し、s1を'1100'に設定し、s2を'100
0'に設定し、削除を'0000'に設定した例を示して
いる。したがって、ブロックの状態は前記5種の場合の
値が循環しながら設定される。そして、図4は、図5に
示されたように、物理的なユニットで構成されたNAN
D型フラッシュメモリに適用した例を示している。
シュメモリの物理的なユニット(PU)内のブロックは
メインアレイ及びスペアアレイで構成される。メインア
レイには実質的なデータのみが記録される。スペアアレ
イには論理的なセクター番号(logical sec
tor number、lsn)、循環係数(wrap
count、cnt)、論理的なセクター番号及び循環
係数に対するエラー訂正コード(ecc_lsn)及び
データに対するエラー訂正コード(ecc_data)
などが記録される。このとき、ブロックをページとも言
う。
トでよく触れられる"ブロック"は、一度に削除できる物
理的な単位である。このブロックは、本実施形態で触れ
られている"ユニット"に該当すると見ることができる。
しかし、実際に具現するとき、前記ユニットを多数のブ
ロックで構成することもできる。
する論理的なユニット番号及び物理的なユニット番号を
決定する。決定された物理的なユニットのブロック割当
てマップにおいて、該当ブロックの状態をチェックした
結果未定1111であれば、該当ブロックの状態をs0
=1110に表示する。次に、データ及び論理的なブロ
ック番号(lsn)などの情報を前記ブロックに記録す
る。未定の状態のブロックは論理的なブロック番号(l
sn)も有効でないある値をもつ。
当する物理的なユニットでブロックの状態が未定111
1であるブロックを一般的な写像方式により見つける。
そして、見つかったブロックの状態を以前のブロック状
態の次の状態に変更する。例えば、前述した以前のブロ
ックの状態がs0(1110)である場合、s1(11
00)に変更する。ブロックの検索は、既存の再写像制
御方式でなされた方法と同一になされる。
s1(1100)に設定されたブロック)に新しいデー
タ及び論理的なブロック番号(lsn)などを記録す
る。そして、以前のブロックの状態を削除0000に変
更する。
であり、該当ユニットに未定状態1111に設定されて
いるブロックが存在する場合、未定状態に設定されてい
るブロックの状態をs2=1000に設定する。そし
て、ブロックの状態がs2に設定されたブロックにデー
タ及び論理的なブロック番号(lsn)などの情報を記
録する。以前のブロックの状態は削除=0000に変更
する。
0であり、該当ユニットに未定状態1111に設定され
ているブロックが存在する場合、未定状態に設定されて
いるブロックの状態をs0=1110に設定する。そし
て、ブロックの状態がs0に設定されたブロックにデー
タ及び論理的なブロック番号(lsn)などの情報を記
録する。以前のブロックの状態は削除=0000に変更
する。
された矢印をみれば、十分理解できる筈である。
正処理をする場合、1ブロックに対して3回の部分記録
でデータを記録できる。ブロックが削除された状態であ
る場合、データ及び論理的なブロック番号などの状態情
報を除いた他のデータはいずれも有効なものであると仮
定するとき、これは実際に2回の部分記録で記録演算を
行うのと同じである。
07で電源がオフされたり、なんらかの事情で障害が発
生した場合、データを記録しようとしていた対象ブロッ
クの状態は削除0000に設定する回復作業を行う。そ
のほかの作業中には前述したように障害が発生した場
合、特別な回復作業を行う必要がない。
いる間に障害が発生した場合、未定または削除状態であ
るブロックに対していかなる回復作業もする必要がな
い。これは一つの論理的なブロック番号に対して有効な
状態のブロックが一つしかない場合である。
なブロックが二つ存在する場合、回復作業が必要であ
る。既存には、同一の論理的なブロック番号をもった有
効なブロックが二つ存在する場合、以前のブロック及び
新しいブロックを区別することができなかった。したが
って、回復処理時にどんなブロックを削除するかが決定
し難かった。しかし、本発明のように循環係数を用いる
場合、以前のブロック及び新しいブロックを区別でき
る。したがって、回復処理時に、どんなブロックを削除
するかを決定し易い。回復時に以前のブロックを削除す
るか、或いは新しいブロックを削除するかは、応用の必
要によって決定できる。
間に障害が発生すれば、現在、一つの論理的なブロック
番号に対して有効な状態をもつブロックが二つ存在する
かどうかをチェックする。チェックの結果、有効な状態
をもつブロックが一つだけ存在する場合、前述のよう
に、いかなる回復作業もする必要がない。したがって、
ブロックデータを記録していた作業を中断すれば良い。
しかし、有効な状態をもつブロックが二つ存在する場
合、ブロックに割り当てられている循環係数に基づき以
前のブロック及び新しいブロックに区分する。そして、
以前のブロック及び新しいブロックのうちどちらかのブ
ロックを削除する。図4は、新しいブロックを削除する
ように具現した例を示している。しかし、以前のブロッ
クを削除するように具現することもできる。
ロックを記録及び修正しようとするときの動作をの示し
たフローチャートである。
該当ブロックが存在するかどうかをチェックする。チェ
ックした結果、存在すれば、該当するブロックの状態が
有効な状態であるかどうかをチェックする。チェックの
結果、有効な状態であれば、ステップ603で該当ブロ
ックの状態をチェックする。次に、ステップ605にお
いて、該当ユニットに空きブロックが存在するかどうか
をチェックする。チェックの方式は、ブロックの状態が
未定に設定されているブロックがあるかどうかを検索す
る方式によりなされる。チェックの結果、該当ユニット
に空きブロックが存在すれば、ステップ607におい
て、新しいブロック状態値を決定する。
においてチェックした該当ブロックの状態値を考慮して
決定する。すなわち、前述した図4についての説明で述
べたように、以前のブロックの状態がs0に該当すれ
ば、新しいブロック状態値はs1に設定する。以前のブ
ロックの状態がs1に該当すれば、新しいブロック状態
値はs2に設定する。以前のブロックの状態がs2に該
当すれば、新しいブロック状態値はs0に設定する。そ
して、以前のブロックの状態が未定の状態であれば、s
0に設定する。
605で検索された空きブロックに、ステップ607で
決定された新しいブロック状態値を記録する。ステップ
611において、新しいブロック状態値を記録した新し
いブロックに該当するデータを記録する。ステップ61
3において、以前のブロックの状態を削除に変更し、作
業を終える。このとき、以前のブロックはステップ60
3で状態がチェックされたブロックである。
た結果、該当ブロックが存在しないか、或いは存在する
にはするが、有効なブロックでない場合(すなわち、該
当ブロックの状態が削除状態である場合)、ステップ6
15において該当ブロックを未定状態に設定する。この
とき、該当ブロックが存在しない場合、該当ブロックに
対する領域を割り当てながら該当ブロックの状態を未定
状態に設定する。そして、ステップ605においてチェ
ックした結果、該当するユニットに空きブロックが存在
すれば、ステップ607において、前述のように新しい
ブロック状態値を決定する。
した結果、該当ユニットに空きブロックが存在しなけれ
ば、ステップ617において再生演算を行う。再生演算
は、図7ないし図9を参照して後述する。
いて該当ユニットに空きブロックが存在するかどうかを
チェックする。チェックの結果、該当ユニットに空きブ
ロックが存在すれば、ステップ607へ進み、新しいブ
ロック状態値を決定する。しかし、空きブロックが存在
しなければ、ステップ621において誤り処理をし、作
業を終える。
ず、写像情報を用い、該当する論理的なユニット番号及
び物理的なユニット番号を調べる。そして、該当ユニッ
トのブロック割当てマップを通じてブロックの物理的な
位置を決定してデータを読み出す。ここで、ブロックの
状態が有効な場合に限ってデータを読み出せるようにな
っている。したがって、有効な状態のブロックが存在し
なければ、そのブロックは一度も記録されたことがない
か、或いは削除されて使用されていないブロックである
ため、初期値0xFFを設定する。検索の方式は、既存
の再写像制御方式によりなされたのと同様である。
でいるユニットの場合、再生演算が行われる。この場合
にも、ユニットの状態を変更させる必要がある。
除ユニットのフォーマットは、図7の通りである。
トには、以前のユニットの物理的なユニット番号(ph
ysical unit number of previ
ous unit、xpun)、再生された(以前の)
ユニットの摩耗度レベル(wear level of
reclaimed(previous) uni
t)、論理的なユニット番号(logical uni
t number、lun)、有効フラグ(valid
flag、v)、不良ブロックテーブル(bad bl
ock table、bbtbl)、摩耗度レベル(w
ear level、cnt)、コピー(copyin
g(cp))/伝送(transferring(x
f))、データが記録される。
って限られる。ブロックに適用していた循環係数技法を
ユニットにも適用できる。しかし、削除ユニットヘッダ
を多数のブロックに記録しつつ、状態情報を各ブロック
に適宜に分けて配置する方法を用いることもできる。
ピー中、移動中に分けられれば、削除ユニットヘッダを
図8に示されたように、二つのブロックに亘って記録を
行う。そして、第1ブロックには未定及び有効な状態
を、第2ブロックにはコピー中及び移動中の状態を記録
することができる。このとき、未定の状態であるとして
も、摩耗度平準化のためのカウンターが記録される必要
がある。
の他の正常なユニットの状態は有効である。削除ユニッ
トであってから再生されるブロックから送られてくるデ
ータをコピーするユニットはコピー中(cp)という状
態が表示される。再生を行う前に前記特定ブロックが含
まれている以前のユニットの状態は移動中xfと表示す
る。
ら有効なブロックをコピーした後、移動中のユニットの
摩耗度値及び論理的なユニット番号などをコピーする。
コピー中のユニットの状態は有効vと表示する。次に、
移動中のユニットは削除する。新しいユニットにコピー
されていた摩耗度値cntを1だけインクリメントさせ
た摩耗度値cnt"を新しいユニット及び以前のユニッ
トのユニットヘッダに各々記録する。
8において再開始(redo)で指摘した部分で再生演
算は再開始された後に適宜な回復手続きを行う。すなわ
ち、再生演算中の一時的な状態に該当する'移動中'、'
コピー中'の場合に障害が発生すれば、再開始をする。
しかし、図8において再開始を指摘した部分を除いた部
分ではいかなる回復手続きも行わない。
法も、ブロック記録及び修正時の回復方法と同様であ
る。
り適宜に再生演算を行い直す。例えば、論理的なユニッ
ト番号が同一のユニットが二つ存在するが、一つは移動
中であり、もう一つはコピー中であれば、コピー中のユ
ニットを削除する。移動中のユニットに以前のユニット
(コピー中のユニット)の摩耗度がまだ記録されていな
い状態であったなら、先ず、以前のユニット(コピー中
のユニット)に記録されている移動中のユニットに対す
る摩耗度値を移動中のユニットにコピーした後、次の演
算を行えば良い。
に、固定された位置で値を各種に変更させて示すことも
できる。また、ユニットヘッダを該当ユニット内の多数
のブロックに分けて記録し、各状態に対して他の位置を
指定し、位置の値を0及び1などに区別して状態値を割
当てするかどうかを決定することもできる。
番号及び有効な状態の可否、以前のブロックの摩耗度な
どを記録し、第2ブロックにコピー中/移動中の可否及
び摩耗度レベルなどを記録し、図8に示された順番に従
い再生演算を行うのであれば、3回の部分記録であれば
十分である。状態情報をより多くのブロックに分散させ
たり、或いは配置を調節すれば、部分記録の回数をさら
に低減できる。
りブロックを再生する過程を説明するための動作フロー
チャートである。
ニット(ソースユニット)及び移動ユニット(自由削除
ユニット)を決定する。ステップ902において、移動
ユニットの削除回数がしきい値を超えたかどうかをチェ
ックする。しきい値は、前述のことを考慮したとき、3
に設定できる。
がしきい値を超えてなければ、ステップ903において
ソースユニットを'移動中'の状態に変更する。次に、ス
テップ904において、移動ユニットを'コピー中'の状
態に変更する。
ニットで有効ブロック及び関連メタデータ(論理的なブ
ロック番号、ECC、不良ブロックマップなど)を移動
ユニットにコピーする。そして、ステップ906におい
て、移動ユニットの残りのヘッダ情報を記録し、有効状
態に変更する。残りのヘッダ情報はソースユニットの物
理的なユニット番号及び削除回数、論理的なユニット番
号などである。
を削除する。そして、ステップ908において、ソース
ユニットに新しい削除回数を記録する。新しい削除回数
は、以前の削除回数に1を増した値(以前の削除回数+
1)である。ステップ909において、写像情報などメ
モリ内の資料構造を変更する。このとき、変更は更新に
よるものである。そして、ステップ910において、貯
蔵されたソースユニット番号があるかどうかをチェック
する。チェックの結果、貯蔵されたソースユニット番号
があれば、ステップ901へ進む。これに対し、チェッ
クの結果、貯蔵されたソースユニット番号がなければ、
作業を終える。
の結果、移動ユニットの削除回数がしきい値を超える場
合、ステップ911において、現在のソースユニットの
番号を貯蔵する。これは、該当する移動ユニットにソー
スユニットのデータを移すのがあまり好適でないからで
ある。したがって、後述するステップ912において選
択されたソースユニット(削除ユニット)を用いた再生
演算処理後に、変更される移動ユニットを用いて以前に
再生できなかったソースユニットを再生するときに使用
するためのものである。
数が最小である削除ユニットを選択し、ステップ903
へ進んで、前述のような再生演算処理が行われる。
係数を使って状態情報を設定することにより、NAND
型フラッシュメモリのように部分記録の回数が限られて
いるフラッシュメモリに対してブロックやユニットの記
録状態を管理できるという効果がある。
(1110))→s1(1100)→s2(1000)
→s0(1110)→...→削除(0000)のよう
な手続きで変更できる。したがって、NAND型フラッ
シュメモリにこれを適用するのであれば、3回の部分記
録でデータを記録できる。もし、そのブロックが削除さ
れた状態の場合、データ及び論理的なブロック番号など
の状態情報を除いた他のデータはいずれも有効なものと
仮定するなら、実際に2回の部分記録で記録演算を行う
のと同様である。
論理的なユニット番号及び有効な状態の可否、以前のブ
ロックの摩耗度(削除回数)などを記録し、第2ブロッ
クにコピー中/移動中の可否及び摩耗度などを記録する
のであれば、3回の部分記録であれば十分である。状態
情報をより多くのブロックに分散させたり、或いは配置
を調節すれば、部分記録回数をさらに低減できる。
係と既存の再写像制御例を示したものである。
ッシュメモリのブロック削除時に、フラッシュメモリの
ブロック及びユニット関係と既存の再写像制御例を示し
たものである。
ッシュメモリのユニット削除時、フラッシュメモリのブ
ロック及びユニット関係と既存の再写像制御例を示した
ものである。
像制御方法において、記録及び修正動作を説明するため
のブロック間の関係に関する例を示したものである。
ットPUのフォーマットを示したものである。
像制御方法において、ブロック記録過程を説明するため
の動作フローチャートである。
トのフォーマットを示したものである。
像制御方法において、再生演算過程を説明するためのユ
ニット間の関係に対する例を示したものである。
像制御方法において、再生演算過程に対する動作フロー
チャートである。
Claims (12)
- 【請求項1】 少なくとも一つのブロックを備えている
ユニット単位で領域が区切られたフラッシュメモリの再
写像制御方法において、 所定ブロックに対する写像情報に基づき、所定の物理的
なユニットを見つける段階と、 前記見つかった物理的なユニットに前記所定ブロックが
有効な状態で存在すれば、前記物理的なユニットでブロ
ックの状態が未定である他のブロックを見つける段階
と、 前記他のブロックの状態を前記所定ブロックに設定され
ている状態の次の状態に変更する段階と、 前記他のブロックに、新しいデータと論理的なブロック
番号と同一の付加情報を記録する段階と、 前記所定ブロックの状態を削除状態に変更する段階と、
を含むことを特徴とするフラッシュメモリに対する再写
像制御方法。 - 【請求項2】 前記他のブロックの状態を変更する段階
は、4種の状態のうちいずれか一つの状態に設定された
前記所定ブロックにより前記他のブロックの状態を設定
することを含むことを特徴とする請求項1に記載のフラ
ッシュメモリに対する再写像制御方法。 - 【請求項3】 前記他のブロックの状態を変更する段階
は、 前記所定ブロックの状態が未定の状態であれば、前記次
のブロックの状態を有効状態のうち第1状態に設定する
段階と、 前記所定ブロックの状態が有効状態のうち第1状態であ
れば、前記次のブロックの状態を有効状態のうち第2状
態に設定する段階と、 前記所定ブロックの状態が有効状態のうち第2状態であ
れば、前記次のブロックの状態を有効状態のうち第3状
態に設定する段階と、 前記所定ブロックの状態が有効状態のうち第3状態であ
れば、前記次のブロックの状態を有効状態のうち第1状
態に設定する段階と、を含むことを特徴とする請求項2
に記載のフラッシュメモリに対する再写像制御方法。 - 【請求項4】 前記フラッシュメモリに対する再写像制
御方法は、前記見つかった物理的なユニットに前記所定
ブロックが存在しないか、或いは前記所定ブロックが削
除された状態で存在すれば、前記所定ブロックの状態を
未定の状態に設定した後、ブロックの状態が未定である
他のブロックを見つける段階をさらに含むことを特徴と
する請求項1に記載のフラッシュメモリに対する再写像
制御方法。 - 【請求項5】 前記フラッシュメモリに対する再写像制
御方法は、 前記他のブロックが存在しなければ、前記物理的なユニ
ットに対して再生演算を行う段階と、 ブロックの状態が未定である他のブロックを見つけ直す
段階と、 前記他のブロックが見つかれば、前記他のブロックの状
態を変更する段階へ進む段階と、 前記他のブロックが見つからないと、誤りとして処理す
る段階と、をさらに含むことを特徴とする請求項4に記
載のフラッシュメモリに対する再写像制御方法。 - 【請求項6】 前記再生演算を行う段階は、 再生するソースユニット及び移動ユニットを決定する段
階と、 前記ソースユニットの状態を移動中に設定し、前記移動
ユニットの状態をコピー中に設定する段階と、 前記ソースユニット内の有効なブロック、関連メタ及び
ヘッダ情報をコピーする段階と、 前記コピー中に設定されている移動ユニットを有効状態
に設定しつつ、ソースユニットの削除回数(摩耗度値)
を増やす段階と、 前記ソースユニットを削除しつつ、前記削除回数を前記
ソースユニットに記録する段階と、を含むことを特徴と
する請求項5に記載のフラッシュメモリに対する再写像
制御方法。 - 【請求項7】 前記再生演算を行う段階は、 前記移動ユニットの削除回数がしきい値を上回るかどう
かをチェックする段階と、 前記削除回数が前記しきい値を上回らなければ、前記ソ
ースユニット及び移動ユニットの状態を設定する段階へ
進む段階と、 前記削除回数が前記しきい値を上回れば、前記ソースユ
ニットの番号を貯蔵する段階と、 前記削除回数が最小であるソースユニットを選択した
後、前記ソースユニット及び移動ユニットの状態を設定
する段階へ進む段階と、をさらに含むことを特徴とする
請求項6に記載のフラッシュメモリに対する再写像制御
方法。 - 【請求項8】 前記再生演算を行う段階は、 前記削除回数をソースユニットに記録する段階を行った
後、前記フラッシュメモリに対する写像情報を含む内部
資料の構造を更新する段階と、 再生するソースユニットがさらに存在するかどうかをチ
ェックする段階と、 前記再生するソースユニットがさらに存在すれば、前記
ソースユニットを決定する段階へ戻る段階と、をさらに
含むことを特徴とする請求項6に記載のフラッシュメモ
リに対する再写像制御方法。 - 【請求項9】 前記再生演算を行う段階は、 障害が発生すれば、論理的なユニット番号が同一のユニ
ットが二つ存在するかどうかをチェックする段階と、 一つは移動中であり、もう一つはコピー中である同一の
ユニットが二つ存在すれば、コピー中のユニットを削除
し、コピー中であったユニットに削除回数を記録する段
階と、をさらに含むことを特徴とする請求項6に記載の
フラッシュメモリに対する再写像制御方法。 - 【請求項10】 前記再生演算を行う段階は、 障害が発生した状態で移動中の状態に設定されたユニッ
トに前記削除回数が記録されていない状態であれば、前
記コピー中のユニットに設定されている移動中のユニッ
トに対する削除回数を移動中のユニットにコピーした
後、再生演算を終える段階をさらに含むことを特徴とす
る請求項9に記載のフラッシュメモリに対する再写像制
御方法。 - 【請求項11】 前記フラッシュメモリに対する再写像
制御方法は、 障害が発生すれば、一つの論理的なブロック番号に対し
て有効な状態のブロックが二つ存在するかどうかをチェ
ックする段階と、 前記有効な状態のブロックが一つだけ存在する場合に
は、ブロック状態を記録する過程を終える段階と、 前記有効な状態のブロックが二つ存在する場合、両ブロ
ックのブロック状態をチェックして前記所定ブロック
(以前のブロック)と次のブロック(新しいブロック)
とを区切る段階と、 前記所定ブロック及び次のブロックのうちいずれか一方
のブロックを削除する段階と、をさらに含むことを特徴
とする請求項1に記載のフラッシュメモリに対する再写
像制御方法。 - 【請求項12】 少なくとも一つのブロックを備えてい
るユニット単位に領域が区切られたフラッシュメモリに
おいて、 前記ユニットの第1ブロックは論理的なユニット番号と
有効な状態であるか否か、以前のブロックの削除回数を
含む情報が記録されるように割り当て、 前記ユニットの第2ブロックはコピー中または移動中で
あるかということと削除回数(摩耗度)とを含む情報が
記録されるように割り当てるように構成され、 前記ユニットのデータが記録されるブロックの余裕アレ
イの所定領域には循環係数方式で決定されたブロック状
態を表わす情報が記録されるように構成されたフラッシ
ュメモリ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000059731A KR100644602B1 (ko) | 2000-10-11 | 2000-10-11 | 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조 |
KR200059731 | 2000-10-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002123421A true JP2002123421A (ja) | 2002-04-26 |
JP3662510B2 JP3662510B2 (ja) | 2005-06-22 |
Family
ID=36848389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001123320A Expired - Lifetime JP3662510B2 (ja) | 2000-10-11 | 2001-04-20 | フラッシュメモリのための再写像制御方法及びこれによるフラッシュメモリの構造 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6381176B1 (ja) |
EP (1) | EP1197868B1 (ja) |
JP (1) | JP3662510B2 (ja) |
KR (1) | KR100644602B1 (ja) |
CN (1) | CN1300803C (ja) |
DE (1) | DE60121697T2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7664906B2 (en) | 2003-03-31 | 2010-02-16 | Samsung Electronics Co., Ltd. | Flash memory access apparatus and method |
US7783851B2 (en) | 2006-10-19 | 2010-08-24 | Samsung Electronics Co., Ltd. | Methods of reusing log blocks in non-volatile memories and related non-volatile memory devices |
US9026734B2 (en) | 2010-12-07 | 2015-05-05 | Kabushiki Kaisha Toshiba | Memory system and data deleting method |
JP2015225661A (ja) * | 2014-05-28 | 2015-12-14 | インフィネオン テクノロジーズ アーゲーInfineon Technologies Ag | 不揮発性メモリでのマーカプログラミング |
Families Citing this family (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702831B2 (en) * | 2000-01-06 | 2010-04-20 | Super Talent Electronics, Inc. | Flash memory controller for electronic data flash card |
US7610438B2 (en) * | 2000-01-06 | 2009-10-27 | Super Talent Electronics, Inc. | Flash-memory card for caching a hard disk drive with data-area toggling of pointers stored in a RAM lookup table |
US20060161725A1 (en) * | 2005-01-20 | 2006-07-20 | Lee Charles C | Multiple function flash memory system |
KR100484147B1 (ko) * | 2002-07-26 | 2005-04-18 | 삼성전자주식회사 | 플래시 메모리 관리 방법 |
JP4518951B2 (ja) * | 2002-10-28 | 2010-08-04 | サンディスク コーポレイション | 不揮発性記憶システムにおける自動損耗均等化 |
US7035967B2 (en) * | 2002-10-28 | 2006-04-25 | Sandisk Corporation | Maintaining an average erase count in a non-volatile storage system |
US7103732B1 (en) | 2002-10-28 | 2006-09-05 | Sandisk Corporation | Method and apparatus for managing an erase count block |
US7171536B2 (en) * | 2002-10-28 | 2007-01-30 | Sandisk Corporation | Unusable block management within a non-volatile memory system |
US6831865B2 (en) * | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts 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 |
US7039788B1 (en) | 2002-10-28 | 2006-05-02 | Sandisk Corporation | Method and apparatus for splitting a logical block |
US7234036B1 (en) * | 2002-10-28 | 2007-06-19 | Sandisk Corporation | Method and apparatus for resolving physical blocks associated with a common logical block |
DE10252059B3 (de) * | 2002-11-08 | 2004-04-15 | Infineon Technologies Ag | Verfahren zum Betreiben einer Speicheranordnung |
KR100526186B1 (ko) * | 2003-04-04 | 2005-11-03 | 삼성전자주식회사 | 플래시 메모리의 오류블록 관리방법 및 장치 |
US7139863B1 (en) | 2003-09-26 | 2006-11-21 | Storage Technology Corporation | Method and system for improving usable life of memory devices using vector processing |
US7188228B1 (en) | 2003-10-01 | 2007-03-06 | Sandisk Corporation | Hybrid mapping implementation within a non-volatile memory system |
US7032087B1 (en) | 2003-10-28 | 2006-04-18 | Sandisk Corporation | Erase count differential table within a non-volatile memory system |
KR100608602B1 (ko) * | 2003-12-10 | 2006-08-03 | 삼성전자주식회사 | 플래시 메모리, 이를 위한 사상 제어 장치 및 방법 |
KR100526188B1 (ko) * | 2003-12-30 | 2005-11-04 | 삼성전자주식회사 | 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리 |
KR100526190B1 (ko) * | 2004-02-06 | 2005-11-03 | 삼성전자주식회사 | 플래시 메모리의 재사상 방법 |
US7680977B2 (en) * | 2004-02-26 | 2010-03-16 | Super Talent Electronics, Inc. | Page and block management algorithm for NAND flash |
US20080147964A1 (en) * | 2004-02-26 | 2008-06-19 | Chow David Q | Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function |
JP2006003966A (ja) * | 2004-06-15 | 2006-01-05 | Oki Electric Ind Co Ltd | フラッシュメモリの書込方法 |
KR100568115B1 (ko) | 2004-06-30 | 2006-04-05 | 삼성전자주식회사 | 점진적 머지 방법 및 그것을 이용한 메모리 시스템 |
US7130209B2 (en) | 2004-10-15 | 2006-10-31 | Atmel Corporation | Flexible OTP sector protection architecture for flash memories |
KR100631765B1 (ko) * | 2004-10-18 | 2006-10-09 | 삼성전자주식회사 | 플래시 메모리의 데이터 처리 장치 및 방법 |
US7958430B1 (en) * | 2005-06-20 | 2011-06-07 | Cypress Semiconductor Corporation | Flash memory device and method |
US7568075B2 (en) * | 2005-09-22 | 2009-07-28 | Hitachi, Ltd. | Apparatus, system and method for making endurance of storage media |
JP4933861B2 (ja) | 2005-09-22 | 2012-05-16 | 株式会社日立製作所 | ストレージ制御装置、データ管理システムおよびデータ管理方法 |
EP1791055A1 (en) * | 2005-11-23 | 2007-05-30 | Incard SA | IC card file system |
US8194880B2 (en) * | 2006-01-30 | 2012-06-05 | Audience, Inc. | System and method for utilizing omni-directional microphones for speech enhancement |
KR100781517B1 (ko) * | 2006-02-16 | 2007-12-03 | 삼성전자주식회사 | 비휘발성 메모리의 맵핑 정보 관리 장치 및 방법 |
US20080077590A1 (en) * | 2006-09-22 | 2008-03-27 | Honeywell International Inc. | Efficient journaling and recovery mechanism for embedded flash file systems |
KR100771519B1 (ko) * | 2006-10-23 | 2007-10-30 | 삼성전자주식회사 | 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법 |
KR100789406B1 (ko) | 2006-11-03 | 2007-12-28 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법 |
TWI326028B (en) * | 2006-11-20 | 2010-06-11 | Silicon Motion Inc | Method for flash memory data management |
KR100816761B1 (ko) * | 2006-12-04 | 2008-03-25 | 삼성전자주식회사 | 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법 |
KR100857761B1 (ko) * | 2007-06-14 | 2008-09-10 | 삼성전자주식회사 | 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법 |
CN101364438B (zh) * | 2007-08-08 | 2011-04-06 | 奇岩电子股份有限公司 | 提高与非门阵列闪存的存取装置与方法 |
US8473923B2 (en) * | 2007-09-12 | 2013-06-25 | Sandisk Technologies Inc. | Pointers for write abort handling |
KR101413736B1 (ko) | 2007-09-13 | 2014-07-02 | 삼성전자주식회사 | 향상된 신뢰성을 갖는 메모리 시스템 및 그것의웨어-레벨링 기법 |
KR101464338B1 (ko) | 2007-10-25 | 2014-11-25 | 삼성전자주식회사 | 불휘발성 메모리 장치를 이용한 데이터 저장장치, 메모리시스템, 그리고 컴퓨터 시스템 |
JP4489127B2 (ja) * | 2008-02-29 | 2010-06-23 | 株式会社東芝 | 半導体記憶装置 |
JP4439569B2 (ja) * | 2008-04-24 | 2010-03-24 | 株式会社東芝 | メモリシステム |
US20090313416A1 (en) * | 2008-06-16 | 2009-12-17 | George Wayne Nation | Computer main memory incorporating volatile and non-volatile memory |
KR101497074B1 (ko) * | 2008-06-17 | 2015-03-05 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법 |
US8245244B2 (en) * | 2008-08-26 | 2012-08-14 | Intel Corporation | Device, system, and method of executing a call to a routine within a transaction |
TWI364661B (en) * | 2008-09-25 | 2012-05-21 | Silicon Motion Inc | Access methods for a flash memory and memory devices |
US8275933B2 (en) * | 2008-11-10 | 2012-09-25 | Fusion-10, Inc | Apparatus, system, and method for managing physical regions in a solid-state storage device |
US8751860B2 (en) | 2009-06-03 | 2014-06-10 | Micron Technology, Inc. | Object oriented memory in solid state devices |
TWI484334B (zh) * | 2009-12-24 | 2015-05-11 | Univ Nat Taiwan | 非揮發記憶體的區域式管理方法 |
JP5269213B2 (ja) * | 2010-02-02 | 2013-08-21 | 株式会社東芝 | ストレージ機能を持つ通信装置 |
TWI447735B (zh) * | 2010-02-05 | 2014-08-01 | Phison Electronics Corp | 記憶體管理與寫入方法及其可複寫式非揮發性記憶體控制器與儲存系統 |
CN102193870B (zh) * | 2010-03-09 | 2014-06-25 | 群联电子股份有限公司 | 存储器管理与写入方法、存储器控制器与存储器存储系统 |
KR101666987B1 (ko) * | 2010-04-20 | 2016-10-17 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
GB2506041A (en) * | 2011-06-30 | 2014-03-19 | Hewlett Packard Development Co | A memory module that includes a memory module copy engine for copying data from an active memory die to a spare memory die |
US9239781B2 (en) | 2012-02-07 | 2016-01-19 | SMART Storage Systems, Inc. | Storage control system with erase block mechanism and method of operation thereof |
CN102789403B (zh) * | 2012-07-11 | 2015-08-12 | 忆正科技(武汉)有限公司 | 一种闪存控制器及其控制方法 |
US9671962B2 (en) | 2012-11-30 | 2017-06-06 | Sandisk Technologies Llc | Storage control system with data management mechanism of parity and method of operation thereof |
KR102067029B1 (ko) | 2012-12-13 | 2020-01-16 | 삼성전자주식회사 | 반도체 메모리 장치 및 메모리 시스템 |
KR102015053B1 (ko) * | 2013-02-20 | 2019-08-27 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 데이터 처리 방법 |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
KR102101304B1 (ko) | 2013-03-15 | 2020-04-16 | 삼성전자주식회사 | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9543025B2 (en) | 2013-04-11 | 2017-01-10 | Sandisk Technologies Llc | Storage control system with power-off time estimation mechanism and method of operation thereof |
US10546648B2 (en) | 2013-04-12 | 2020-01-28 | Sandisk Technologies Llc | Storage control system with data management mechanism and method of operation thereof |
US9244519B1 (en) | 2013-06-25 | 2016-01-26 | Smart Storage Systems. Inc. | Storage system with data transfer rate adjustment for power throttling |
US9367353B1 (en) | 2013-06-25 | 2016-06-14 | Sandisk Technologies Inc. | Storage control system with power throttling mechanism and method of operation thereof |
US9448946B2 (en) | 2013-08-07 | 2016-09-20 | Sandisk Technologies Llc | Data storage system with stale data mechanism and method of operation thereof |
US9361222B2 (en) | 2013-08-07 | 2016-06-07 | SMART Storage Systems, Inc. | Electronic system with storage drive life estimation mechanism and method of operation thereof |
US9431113B2 (en) * | 2013-08-07 | 2016-08-30 | Sandisk Technologies Llc | Data storage system with dynamic erase block grouping mechanism and method of operation thereof |
US9747157B2 (en) | 2013-11-08 | 2017-08-29 | Sandisk Technologies Llc | Method and system for improving error correction in data storage |
TWI548991B (zh) * | 2014-02-14 | 2016-09-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
KR102491624B1 (ko) * | 2015-07-27 | 2023-01-25 | 삼성전자주식회사 | 데이터 저장 장치의 작동 방법과 상기 데이터 저장 장치를 포함하는 시스템의 작동 방법 |
FR3051574A1 (fr) * | 2016-05-20 | 2017-11-24 | Proton World Int Nv | Gestion du stockage dans une memoire flash |
TWI661299B (zh) * | 2018-04-30 | 2019-06-01 | 大陸商深圳大心電子科技有限公司 | 記憶體管理方法以及儲存控制器 |
CN113568579B (zh) * | 2021-07-28 | 2022-05-03 | 深圳市高川自动化技术有限公司 | 一种存储器、数据存储方法以及数据读取方法 |
US20230082636A1 (en) * | 2021-09-16 | 2023-03-16 | Micron Technology, Inc. | Parity data modification for partial stripe data update |
TWI804236B (zh) * | 2022-03-16 | 2023-06-01 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US5485595A (en) * | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
JPH08212019A (ja) * | 1995-01-31 | 1996-08-20 | Mitsubishi Electric Corp | 半導体ディスク装置 |
US5937425A (en) * | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
US6034891A (en) * | 1997-12-01 | 2000-03-07 | Micron Technology, Inc. | Multi-state flash memory defect management |
-
2000
- 2000-10-11 KR KR1020000059731A patent/KR100644602B1/ko active IP Right Grant
-
2001
- 2001-04-11 DE DE60121697T patent/DE60121697T2/de not_active Expired - Lifetime
- 2001-04-11 EP EP01303384A patent/EP1197868B1/en not_active Expired - Lifetime
- 2001-04-20 JP JP2001123320A patent/JP3662510B2/ja not_active Expired - Lifetime
- 2001-04-29 CN CNB011177225A patent/CN1300803C/zh not_active Expired - Lifetime
- 2001-05-15 US US09/854,920 patent/US6381176B1/en not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7664906B2 (en) | 2003-03-31 | 2010-02-16 | Samsung Electronics Co., Ltd. | Flash memory access apparatus and method |
US7783851B2 (en) | 2006-10-19 | 2010-08-24 | Samsung Electronics Co., Ltd. | Methods of reusing log blocks in non-volatile memories and related non-volatile memory devices |
US9026734B2 (en) | 2010-12-07 | 2015-05-05 | Kabushiki Kaisha Toshiba | Memory system and data deleting method |
JP2015225661A (ja) * | 2014-05-28 | 2015-12-14 | インフィネオン テクノロジーズ アーゲーInfineon Technologies Ag | 不揮発性メモリでのマーカプログラミング |
Also Published As
Publication number | Publication date |
---|---|
DE60121697T2 (de) | 2007-08-02 |
EP1197868B1 (en) | 2006-07-26 |
US6381176B1 (en) | 2002-04-30 |
EP1197868A3 (en) | 2004-01-14 |
JP3662510B2 (ja) | 2005-06-22 |
CN1300803C (zh) | 2007-02-14 |
EP1197868A2 (en) | 2002-04-17 |
KR20020028624A (ko) | 2002-04-17 |
DE60121697D1 (de) | 2006-09-07 |
KR100644602B1 (ko) | 2006-11-10 |
CN1348191A (zh) | 2002-05-08 |
US20020041517A1 (en) | 2002-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3662510B2 (ja) | フラッシュメモリのための再写像制御方法及びこれによるフラッシュメモリの構造 | |
US6795890B1 (en) | Data storage method, and data processing device using an erasure block buffer and write buffer for writing and erasing data in memory | |
US7984231B2 (en) | Information recording medium access device, and data recording method | |
US7694087B2 (en) | Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device | |
US6865658B2 (en) | Nonvolatile data management system using data segments and link information | |
US20090049229A1 (en) | Nonvolatile memory device, method of writing data,and method of reading out data | |
JP6064608B2 (ja) | ストレージ装置、バックアッププログラム、およびバックアップ方法 | |
US20040044705A1 (en) | Optimized disk repository for the storage and retrieval of mostly sequential data | |
JP2006040264A (ja) | メモリカードの制御方法および不揮発性半導体メモリの制御方法 | |
JP2009199625A (ja) | メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法 | |
CN109902034B (zh) | 快照创建方法、装置、电子设备及机器可读存储介质 | |
WO2005066787A1 (ja) | 情報記録媒体 | |
JPH0833864B2 (ja) | データ保全方式 | |
KR20010037155A (ko) | 플래시 파일 시스템 | |
US5337197A (en) | Method and system for maintaining directory consistency in magneto-optic media | |
US7702864B2 (en) | Apparatus, system, and method for writing stripes in parallel to unique persistent storage devices | |
US9286936B1 (en) | Zone based band mapping | |
JP2004326523A (ja) | 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法 | |
JP3882461B2 (ja) | 記憶装置システム及びそのバックアップ取得方法 | |
US7840541B2 (en) | Information recording method and information recording/reproduction device | |
CN111444114B (zh) | 一种非易失性内存中数据的处理方法、装置及系统 | |
CN111949212A (zh) | 基于自定义开放通道ssd的文件系统及文件管理方法 | |
JPH1031611A (ja) | 不揮発性メモリ記憶媒体用ファイルシステム | |
JPH06332795A (ja) | 電気的消去可能な不揮発性メモリの制御方法及びシステム | |
JP3030949B2 (ja) | ディジタルデータ記録再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040706 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040928 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041102 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050201 |
|
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: 20050301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050323 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3662510 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090401 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100401 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110401 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120401 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130401 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140401 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |