JP2009503744A - 予定再生操作を伴う不揮発性メモリ - Google Patents
予定再生操作を伴う不揮発性メモリ Download PDFInfo
- Publication number
- JP2009503744A JP2009503744A JP2008525169A JP2008525169A JP2009503744A JP 2009503744 A JP2009503744 A JP 2009503744A JP 2008525169 A JP2008525169 A JP 2008525169A JP 2008525169 A JP2008525169 A JP 2008525169A JP 2009503744 A JP2009503744 A JP 2009503744A
- Authority
- JP
- Japan
- Prior art keywords
- data
- host
- memory
- block
- blocks
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 367
- 238000000034 method Methods 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 2
- 230000003252 repetitive effect Effects 0.000 claims 1
- 230000007774 longterm Effects 0.000 abstract 1
- 238000007596 consolidation process Methods 0.000 description 21
- 230000007704 transition Effects 0.000 description 19
- 230000003044 adaptive effect Effects 0.000 description 18
- 238000007726 management method Methods 0.000 description 16
- 238000013500 data storage Methods 0.000 description 8
- 230000007423 decrease Effects 0.000 description 8
- 238000013519 translation Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013144 data compression Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000739 chaotic effect Effects 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000017702 response to host Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
Description
現在のフラッシュメモリシステムおよびホストデバイスとの典型的な動作を、図1〜8との関係で説明する。このようなシステムで本発明の様々な態様を実施できる。図1のホストシステム1は、フラッシュメモリ2の中にデータを記憶し、かつフラッシュメモリ2からデータを引き出す。フラッシュメモリはホストの中に埋め込むこともできるが、メモリ2はそれよりも一般的なカードの形で図に示され、このカードは、機械的および電気的コネクタの嵌合部分3および4を通じて着脱可能な状態でホストへ接続される。例えばコンパクトフラッシュ(CF)、マルチメディアカード(MMC)、セキュアデジタル(SD)、ミニSD、メモリスティック、スマートメディア、トランスフラッシュカード等、様々なフラッシュメモリカードが現在多く市販されている。これらのカードの各々はそれぞれの規格化された仕様に従い独特の機械的および/または電気的インターフェイスを有するが、各々に内蔵されたフラッシュメモリシステムは類似する。これらのカードはいずれも、本願の譲受人であるサンディスク コーポレイション(SanDisk Corporation) から入手できる。サンディスク コーポレイションはまた、クルーザー(Cruzer)という商標のもとで一連のフラッシュドライブを提供し、フラッシュドライブは、ホストのユニバーサル・シリアル・バス(USB)差込口に差し込まれることによってホストと接続するUSBプラグを有する小形の手持ち式メモリシステムである。これらのメモリカードとフラッシュドライブの各々は、ホストと連動して内蔵されたフラッシュメモリの動作を制御するコントローラを内蔵する。
ガーベッジコレクションのときには、論理アドレス範囲が連続しているかまたはほぼ連続している有効データのページが、用済みデータを収容する1つ以上のコピー元ブロックから回収され、コピー先ブロックへ再度書き込まれる。このコピー先ブロックは消去済みブロックプールの中にあるものであってよく、またはある程度の有効データを収容するものであってよい。1つ以上のコピー元ブロックから全ての有効データメタページがコピーされたら、先々の使用に向けてそれらを消去できる。図8Aおよび8Bは代表的なガーベッジコレクション操作を示している。図8Aは、ブロック1のページ0〜2にある有効データX、X+1、およびX+2がブロック1からブロック3へコピーされ、ブロック2のページ1から有効データX+3がブロック3へコピーされる様子を示している。データX、X+1、X+2、およびX+3がブロック3へコピーされた後、ブロック1および2は、直ちに消去できるブロックのプールへ加えることができ、通常ならばその後間もなく消去される。図8Bはこのガーベッジコレクションの後の状況を示し、ブロック1および2は消去され、ブロック3にはデータが入っている。このガーベッジコレクション操作の結果、ブロック1および2は消去済みブロックプールに加わるが、ブロック3はもはや消去済みブロックプールにないから、消去済みブロックプールは1ブロック分増加する。これを果たすため、データX、X+1、X+2、およびX+3はコピーされる。この例のデータ単位はページの内容に等しく、1つ以上のデータセクタを収容できる。代わりに、データは論理的なセクタ単位になってなくともよく、その場合、ページの内容は均一サイズの個別にアドレス指定可能な単位を有さなくてよい。同様に、他の再生操作の例は、論理的にアドレス指定可能なセクタ単位になったデータ、または他の何らかの形式になったデータに当てはまる。この例で、データX、X+1、X+2、およびX+3は、それらがブロック3にて順次に記憶されるようにコピーされる。これとは別の例では、データのコピー先にあたるブロックでデータは順次に記憶されない。
図12は、図7のホスト/メモリインターフェイスの、ファイルが削除されるときの動作を示している。ホストシステムで実行するアプリケーション201は、メモリにてファイル2を削除するべきと判断する。例えば、PCで実行するアプリケーション201は、ユーザ入力に基づき、または他の理由により、ファイル2がもはや必要でないと判断する。その結果、アプリケーションはファイル2を削除する命令をホストのドライバ部へ送信する。この場合は、メモリに記憶される各ファイルに使われる論理アドレスを指示するためにFATを用いてデータ記憶が管理される。例えば、2つの別々の論理アドレス範囲203および205を有するものとしてファイル2が図に示されている。各々の論理アドレス範囲203および205は、複数の連続するクラスタを含むことがある。ファイル2は2つの別々の論理アドレス範囲203および205を有するものとして図に示されているが、ファイルが多数の論理アドレス範囲に断片化され、介在する論理アドレスに他のファイルがマッピングされることは多々ある。ファイル2を削除する命令の結果としてFATは修正されるので、ファイル2に割り振られていた論理アドレス範囲203および205のクラスタは解除され、ホストによる以降の割り振りに使用できるようになる。しかし、通常、ホストのFATにおけるこれらのクラスタの解除にともない、メモリコントローラによって使用されるメモリ管理構造は変更されない。論理−物理アドレス翻訳163はメモリコントローラによって保守されるテーブルを含み、テーブルには、データクラスタを記憶する物理アドレスが記録される。アドレス範囲203および205は物理アドレス範囲209および211へそれぞれマッピングされる。この記録は、アプリケーションからの「ファイル2削除」コマンドの結果として変更されない。よって、テーブルは、論理アドレス範囲203および205の項目を維持する。また、対応する物理位置209および207はデータで埋められた状態を保つが、このデータはアプリケーションによってもはや必要とされない。メモリコントローラは通常、論理アドレス範囲203および205の論理−物理アドレス翻訳を、これらのアドレスを持つ新規のデータがホストによって送信されるときに限り、変更する。メモリコントローラはクラスタの解除を知らないから、通常ならば各論理アドレスにつき少なくとも1つの項目は維持し、それ故、論理アドレス範囲全体を占拠されたものとみなす。通常、メモリの論理アドレス範囲より多くの物理空間があるから、たとえ見かけ上の有効なデータで論理アドレス範囲全体が満たされていても、消去済みの空間または用済みデータで占められた空間は余分にある。
一部のメモリインターフェイスでは、より効率的な再生を可能にするため、メモリコントローラがさらなる情報を入手できる。いずれも2005年2月16日に出願された米国特許出願第11/060,249号「フラッシュメモリにおける直接データファイル記憶(Direct Data File Storage in Flash Memories)」(特許文献27)、米国特許出願第11/060,174号「フラッシュメモリにおける直接ファイルデータプログラミングおよび削除(Direct File Data Programming and Deletion in Flash Memories) 」(特許文献28)、米国特許出願第11/060,248号「フラッシュメモリにおける直接データファイル記憶の実施手法(Direct Data File Storage Implementation Techniques in Flash Memories)」(特許文献29)、ならびに2005年8月3日に出願された仮特許出願第60/705,388号「フラッシュメモリにおける直接データファイル記憶(Direct Data File Storage in Flash Memories)」(特許文献30)では、このようなメモリインターフェイスの例が説明されている。ファイルは、メモリのために規定された論理アドレス範囲の論理アドレスへマッピングされずにホストからメモリへ送信される。このようなメモリは、ファイル本位インターフェイスを有するとみなすことができる。ファイルは主に、メモリの中でそのファイルにとって専用のメタブロックに記憶される。ファイルの記憶位置はファイル識別子とオフセットとを用いて記録される。図16は、このような直接データファイル記憶を使用するメモリインターフェイスを示し、ファイルはメモリへ送信され、メモリではファイル/オフセット−物理アドレス翻訳173が行われる。このようなメモリは断片化を抑える形でファイルを保守でき、かくしてほとんどのメタブロックはただひとつのファイルのデータを収容する。このようなメモリのメモリコントローラは、記憶されるデータについてより多くの情報を得る。具体的に、データをファイルによって識別するメモリコントローラは、ファイル本位のやり方でファイルを記憶できる。
これより、ホストデータをプログラムするレートを一定に保ちながら適応スケジューリングシステムに従って再生操作を遂行する不揮発性メモリの管理を、直接データファイル記憶インターフェイスを持つメモリの例を用いて詳しく説明する。この例では、メモリコントローラによって監視されるパラメータから適切な交互比を計算する方法を明らかにする。図22には、このようなメモリで時間の経過にともなうメモリ空間のページの様々な状態が詳しく示されている。メモリアレイのページまたはブロックで起こり得る数々の遷移も示されている。メモリアレイはブロックからなり、各ブロックは複数のページを収容する。この例では用語「ブロック」および「ページ」を使用するが、この例は、消去とプログラミングの単位としてそれぞれメタブロックとメタページとを有するメモリにも通用する。ブロックは、3通りの状態のいずれかひとつとして随時扱われ、これらのブロックの中にあるページは、5つの状態のいずれかひとつとして扱われる。図22には、時間の経過にともないこれらの5つの状態の各々をとるページの番号が示されている。
データ記憶にあたってのブロック分類
ファイルブロック:ファイルブロックはホストデータで満たされ、用済みデータを収容しない。実際には、最低限のプログラムされていないページを、例えば2ページを、ファイルブロックに収容できる場合がある。
不完全ブロック:不完全ブロックはある程度のホストデータを収容し、またある程度の消去済みページおよび/または用済みページを収容する。
消去済みブロック:消去済みブロックプールの中にある完全に消去されたブロック。
ページおよび同一ブロック内の他のページの状態に従ってメモリアレイのページを分類するための用語を以下の一覧に示す。図22には各々の状態をとるページの番号が示されている。
ファイルブロックページ(FBP):これは、ファイルブロックに収容された有効ホストデータページ数である。
データページ(DP):これは、不完全ブロックに収容された有効ホストデータページ数である。
用済みページ(OP):これは、不完全ブロックに収容された用済みホストデータページ数である。
消去済みページ(EP):これは、不完全ブロックに収容された消去済みページ数である。用済みページ(OP)および消去済みページ(EP)とによってメモリアレイに再生可能な空間が形成されると考えることができる。
消去済みブロックページ(EBP):これは、消去済みブロックに収容された消去済みページ数である。
用済みデータだけを収容するブロックの中に存在するページは、長時間にわたって存在せず、それらの再生の要するガーベッジコレクションの点で多大な負担をかけないから、この一覧で無視されている。
総ページ(TP):これは、データ記憶に使用できるデバイス内の総ページ数であり、デバイスのデータ容量に相当する。
総データページ(TDP):これは、任意の時点で有効ホストデータを収容するページ数である。データページはファイルブロックまたは不完全ブロックのいずれかの中にある。
データコピー操作の段階:データコピー操作には2つの段階があるが、以下の適応スケジューリングの分析にあたってそれらを別々に考慮する必要はない。
(1)ガーベッジコレクション段階:デバイスに用済みページが存在し、それらをなくすためにガーベッジコレクション操作が遂行される。
(2)ブロック整理統合段階:不完全ブロックの中で拘束されている消去済み容量を回復させるためにブロック整理統合操作が遂行される。
図22には、以下のページ遷移が示されている。
用済みページから消去済みブロックページ(1):用済みページを収容するブロックから有効データページがコピーされた後に、このブロックが消去されるときに起こる。
データページからデータページ(2):コピー元ブロックからコピー先ブロックへコピーされるデータページに関係する。
消去済みページから消去済みブロックページ(3):コピー元ブロックからコピー先ブロックへ全ての有効データページがコピーされた後にコピー元ブロックが消去されると、コピー先ブロックにプログラムされていた消去済みページは事実上、コピー元ブロック内の消去済みブロックページとなる。
消去済みブロックページから消去済みページ(4):コピー元ブロックから消去済みブロックへ有効データページがコピーされた後、消去済みブロックの中の残りの消去済みブロックページは消去済みページになる。
データページからファイルブロックページ(5):不完全ブロックの中にある有効データページは、ブロックが満杯になるとファイルブロックページになる。
消去済みブロックページからファイルブロックページ(6):消去済みブロックページは、ブロックがホストによって書き込まれるデータで満たされるとファイルブロックページになる。
デバイスが満杯になる前にデバイスに書き込むことができる追加のホストデータページ数は以下の式によって求められる。
書き込まれるホストデータ=TP−TDP
消去済みページ(EP)=TP−TDP−OP−EBP
データページ(DP)=PBP−EP−OP
=PBP−(TP−TDP−OP−EBP)−OP
=TDP+PBP+EBP−TP
コピーされるデータ ={N*DP/PDP}*{(PBP−DP)/N}
=DP*(PBP−DP)/PBP
=(TDP+PBP+EBP−TP)*(PBP−TDP−PBP−EBT+TP)/PBP
=(TDP+PBP+EBP−TP)*(TP−TDP−EBP)/PBP
実際にはコピーされる有効データの量が最も少ないブロックがコピー操作のためのコピー元ブロックとして選択されるから、これが、コピーされるデータ量を多めに見積もるという点に留意されたい。したがって、全ての不完全ブロックが同じ割合でデータページを収容するとする単純化に基づくデータコピーのレートは、必要なレートよりいくぶん高くなる。
(ホストデータ):(コピーデータ)交互比
=(書き込まれるホストデータ)/(コピーされるデータ)
=(TP−TDP)*PBP/(TDP+PBP+EBP−TP)/(TP−TDP−EBP)
いくつかの例において、不揮発性メモリにおける再生操作を各種モードで各様に管理できる。前述したように、再生操作は第1のモードにおいてある程度の最小レート(いくつかの例ではゼロを含む)で動作でき、第2のモードにおいて適応的に動作でき、第3のモードにおいて最大レートで動作できる。再生モードは、メモリコントローラが所定の基準に従って選択できる。いくつかの例では、ホストが再生モードを制御できる。ホストは、前述した3モードのどれが選択されるかを判断できる。加えて、ホストは、現在のホスト活動または予期されるホスト活動に基づき、適切な再生モードを選択するコマンドを有することができる。ホストシステムは、図1に示すようにメモリシステムから物理的に分離してよい。代わりに、オンカードアプリケーションを実行するメモリカード内のプロセッサをホストとみなすこともできる。米国仮特許出願第60/705,388号(特許文献30)ではこのような構成が説明されている。
再生オン:デバイスは、別のコマンドが受信されるまで連続再生操作を遂行する。
最大交互:再生操作は、一定の最大交互比でホストデータ書き込み操作と交互に行われる。これは、適応交互比の上限である。
適応交互:再生操作は、適応交互比に従ってホストデータ書き込み操作と交互に行われる。
最小交互:再生操作は、一定の最小交互比でホストデータ書き込み操作と交互に行われる。これは、適応交互比の下限である。
再生オフ:再生操作は禁じられ、ホストデータ書き込み操作だけが遂行される。
Claims (21)
- ブロックの消去単位を有する不揮発性メモリで空間を管理する方法であって、前記不揮発性メモリは有効データで部分的に満たされたブロックを有する方法において、
(a)ホストから受信するホストデータを前記不揮発性メモリにプログラムすることと、(b)ある1つのブロックから別のブロックにかけて記憶済み有効データをコピーすることとを、前記メモリアレイで空間を再生するためにコピーされる有効データの量の推定から導き出される交互比に従い、交互に行うステップを含む方法。 - 請求項1記載の方法において、
前記交互に行うステップは、前記ホストから受信するホストデータを前記不揮発性メモリに一定のレートでプログラムすることを提供する方法。 - 請求項2記載の方法において、
前記交互比は、前記不揮発性メモリが有効データで満たされるまで前記一定のレートでプログラムすることを継続するように計算される方法。 - 請求項1記載の方法において、
前記交互比は、ホストコマンドに応じて再計算される方法。 - 請求項1記載の方法において、
前記交互比は、前記メモリアレイに記憶され得る追加データの推定から導き出される方法。 - 請求項5記載の方法において、
前記メモリアレイに記憶され得る追加データの量の推定は、ホストファイルが用済みであることを伝えるホストからの受信情報から導き出される方法。 - 請求項1記載の方法において、
前記交互に行うステップは、記憶済みデータをコピーすることを禁じる再生オフモードと、ホストデータをプログラムせず記憶済みデータをコピーすることを可能にする再生オンモードとを含む複数のモードから交互モードを選択するホストコマンドに応じて起こる方法。 - ページのプログラミング単位とブロックの消去単位とを有するメモリアレイで空間を再生する方法であって、1ブロックは2つ以上のページを収容し、前記メモリアレイは完全にではなく部分的に有効データで各々満たされた複数のブロックを収容する方法において、
前記複数のブロックに記憶される有効データの量に依拠するレートで前記複数のブロックに記憶される有効データをコピーするステップと、
前記複数のブロックの個々のブロックを、前記個々のブロックにある全有効データがコピーされた後に、消去するステップと、
を含む方法。 - 請求項8記載の方法において、
前記コピーするステップは、ホスト書き込み操作と交互に行われ、前記レートは、ホスト書き込み操作に許される時間内にコピーされる有効データの量によって設定される方法。 - 請求項9記載の方法において、
前記レートは、反復サイクルの1サイクルで書き込まれるホストデータのページ数に対するコピーされる有効データのページ数の比によって設定される方法。 - 請求項10記載の方法において、
前記比は、等式r=x/yから計算され、
ここで、xは、前記複数のブロックにて空間を再生するためにコピーしなければならない前記複数のブロックに収容された有効データの量の推定であり、
yは、前記メモリアレイが満杯になる前に前記メモリアレイに記憶され得る追加のホストデータの量である方法。 - 請求項9記載の方法において、
前記レートは、前記メモリアレイが前記ホスト書き込み操作によって満たされていくにつれ、有効データをコピーすることを、前記ホスト書き込み操作の合間に均一に分配するように計算される方法。 - 請求項8記載の方法において、
前記複数のブロックは、代替のデータを提供することなく用済みデータを識別するホストコマンドによって用済みと識別される前記用済みデータを収容する方法。 - ブロックの消去単位を有する不揮発性メモリで空間を管理する方法であって、
(a)ホストから受信するホストデータを前記不揮発性メモリにプログラムすることと、(b)ある1つのブロックから別のブロックにかけて記憶済み有効データをコピーすることとを、前記メモリがホストデータで満ちるにつれ複数のサイクルにわたり一定のレートでホストデータがプログラムされるように、交互比に従い、反復サイクルにて、交互に行うステップを含む方法。 - 請求項14記載の方法において、
前記交互比は、前記メモリアレイにプログラムできる追加のホストデータの総量の推定と、前記メモリアレイにて全ての再生可能な空間を再生するために、ある1つのブロックから別のブロックにかけてコピーしなければならない記憶済み有効データの総量の推定とから計算される方法。 - 請求項15記載の方法において、
前記コピーしなければならない記憶済み有効データの推定は、有効データで部分的に満たされた全ブロックにわたって有効データが均一に分散していると仮定することによって得られる方法。 - メモリシステムであって、
複数のブロックを含む不揮発性メモリアレイであって、1ブロックは最小消去単位である不揮発性メモリアレイと、
前記不揮発性メモリアレイに記憶されるホストデータのために論理−物理マッピングの記録を保守するメモリコントローラであって、前記記録は複数の項目を有し、個々の項目は一意なファイル識別子およびオフセットによって論理アドレスを指示し、前記メモリコントローラはホストによって供給される情報に従い記憶データが有効または用済みかを判断し、前記メモリコントローラは、残りの再生可能な空間を再生するためにコピーされるデータの量と、前記メモリアレイが満杯になる前に書き込まれる追加のホストデータの総量とに依拠するレートで、有効データをコピーするメモリコントローラと、
を備えるメモリシステム。 - 請求項17記載のメモリシステムにおいて、
前記レートは、ホストコマンドに応じて再計算されるメモリシステム。 - 請求項17記載のメモリシステムにおいて、
前記レートは、前記メモリが有効ホストデータで満たされるまで一定レートのホストデータプログラミングを提供するように計算されるメモリシステム。 - 請求項17記載のメモリシステムにおいて、
前記メモリシステムは、標準インターフェイスを通じて前記ホストと通信する着脱可能なメモリカードにて具現化されるメモリシステム。 - 請求項17記載のメモリシステムにおいて、
前記ホストは、ホストファイルを参照するための一意なファイル識別子を用いてホストファイルに関する情報を提供するメモリシステム。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US70538805P | 2005-08-03 | 2005-08-03 | |
US60/705,388 | 2005-08-03 | ||
US11/259,423 | 2005-10-25 | ||
US11/259,439 US7984084B2 (en) | 2005-08-03 | 2005-10-25 | Non-volatile memory with scheduled reclaim operations |
US11/259,423 US7409489B2 (en) | 2005-08-03 | 2005-10-25 | Scheduling of reclaim operations in non-volatile memory |
US11/259,439 | 2005-10-25 | ||
PCT/US2006/030166 WO2007019198A2 (en) | 2005-08-03 | 2006-08-01 | Non-volatile memory with scheduled reclaim operations |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009503744A true JP2009503744A (ja) | 2009-01-29 |
JP4977703B2 JP4977703B2 (ja) | 2012-07-18 |
Family
ID=38083567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008525169A Active JP4977703B2 (ja) | 2005-08-03 | 2006-08-01 | 予定再生操作を伴う不揮発性メモリ |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1910928A2 (ja) |
JP (1) | JP4977703B2 (ja) |
KR (1) | KR101089150B1 (ja) |
WO (1) | WO2007019198A2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011197788A (ja) * | 2010-03-17 | 2011-10-06 | Toshiba Corp | メモリシステム |
JP2012519899A (ja) * | 2009-03-04 | 2012-08-30 | マイクロン テクノロジー, インク. | メモリブロックの選択 |
US8392476B2 (en) | 2010-02-16 | 2013-03-05 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
JP2013525917A (ja) * | 2010-04-29 | 2013-06-20 | フリースケール セミコンダクター インコーポレイテッド | エミュレート電気的消去可能(eee)メモリおよび動作方法 |
KR20180034079A (ko) * | 2016-09-27 | 2018-04-04 | 삼성전자주식회사 | 스토리지 장치의 동작 방법 및 스토리지 장치를 포함하는 데이터 저장 시스템 |
JP2019106174A (ja) * | 2017-12-14 | 2019-06-27 | インテル・コーポレーション | 記憶デバイスにおけるシステムタイムスタンプを用いたバックグラウンドデータ・リフレッシュ |
WO2023082252A1 (zh) * | 2021-11-15 | 2023-05-19 | 华为技术有限公司 | 一种垃圾回收方法、存储器和存储器管理装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7409489B2 (en) | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
JP4461187B1 (ja) * | 2008-12-24 | 2010-05-12 | 株式会社東芝 | 不揮発性半導体メモリドライブ装置、情報処理装置および不揮発性半導体メモリドライブ装置における記憶領域の管理方法 |
TW201140315A (en) * | 2010-05-11 | 2011-11-16 | Jmicron Technology Corp | Method for estimating capacity usage status of storage unit, and associated memory device and controller thereof |
EP3353627B1 (en) * | 2015-09-25 | 2022-01-19 | Hitachi Vantara LLC | Adaptive storage reclamation |
CN106897022B (zh) * | 2015-12-17 | 2019-05-31 | 腾讯科技(深圳)有限公司 | 一种管理存储设备的方法及装置 |
CN111090595B (zh) * | 2019-11-19 | 2022-12-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种nand flash垃圾回收均衡优化方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63231643A (ja) * | 1987-03-20 | 1988-09-27 | Fujitsu Ltd | 実時間ガ−ベジコレクシヨン方式 |
JP2002541551A (ja) * | 1999-03-31 | 2002-12-03 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ガベージコレクションをスケジュールする方法 |
US20040073748A1 (en) * | 2002-10-09 | 2004-04-15 | Rudelic John C. | Queued copy command |
WO2004077447A1 (ja) * | 2003-02-28 | 2004-09-10 | Fujitsu Limited | フラッシュメモリ及びメモリ制御方法 |
US20050149686A1 (en) * | 2004-01-05 | 2005-07-07 | International Business Machines Corporation | Method and apparatus for dynamic incremental defragmentation of memory |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7437557B2 (en) * | 2003-06-03 | 2008-10-14 | Lg Electronics Inc. | Garbage collection system and method for a mobile communication terminal |
-
2006
- 2006-08-01 WO PCT/US2006/030166 patent/WO2007019198A2/en active Application Filing
- 2006-08-01 JP JP2008525169A patent/JP4977703B2/ja active Active
- 2006-08-01 EP EP06789237A patent/EP1910928A2/en not_active Withdrawn
- 2006-08-01 KR KR1020087005059A patent/KR101089150B1/ko not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63231643A (ja) * | 1987-03-20 | 1988-09-27 | Fujitsu Ltd | 実時間ガ−ベジコレクシヨン方式 |
JP2002541551A (ja) * | 1999-03-31 | 2002-12-03 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ガベージコレクションをスケジュールする方法 |
US20040073748A1 (en) * | 2002-10-09 | 2004-04-15 | Rudelic John C. | Queued copy command |
WO2004077447A1 (ja) * | 2003-02-28 | 2004-09-10 | Fujitsu Limited | フラッシュメモリ及びメモリ制御方法 |
US20050149686A1 (en) * | 2004-01-05 | 2005-07-07 | International Business Machines Corporation | Method and apparatus for dynamic incremental defragmentation of memory |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012519899A (ja) * | 2009-03-04 | 2012-08-30 | マイクロン テクノロジー, インク. | メモリブロックの選択 |
US8751731B2 (en) | 2009-03-04 | 2014-06-10 | Micron Technology, Inc. | Memory super block allocation |
US8392476B2 (en) | 2010-02-16 | 2013-03-05 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
JP2011197788A (ja) * | 2010-03-17 | 2011-10-06 | Toshiba Corp | メモリシステム |
JP2013525917A (ja) * | 2010-04-29 | 2013-06-20 | フリースケール セミコンダクター インコーポレイテッド | エミュレート電気的消去可能(eee)メモリおよび動作方法 |
KR20180034079A (ko) * | 2016-09-27 | 2018-04-04 | 삼성전자주식회사 | 스토리지 장치의 동작 방법 및 스토리지 장치를 포함하는 데이터 저장 시스템 |
KR102611638B1 (ko) | 2016-09-27 | 2023-12-08 | 삼성전자주식회사 | 스토리지 장치의 동작 방법 및 스토리지 장치를 포함하는 데이터 저장 시스템 |
JP2019106174A (ja) * | 2017-12-14 | 2019-06-27 | インテル・コーポレーション | 記憶デバイスにおけるシステムタイムスタンプを用いたバックグラウンドデータ・リフレッシュ |
WO2023082252A1 (zh) * | 2021-11-15 | 2023-05-19 | 华为技术有限公司 | 一种垃圾回收方法、存储器和存储器管理装置 |
Also Published As
Publication number | Publication date |
---|---|
JP4977703B2 (ja) | 2012-07-18 |
WO2007019198A2 (en) | 2007-02-15 |
KR20080042851A (ko) | 2008-05-15 |
WO2007019198A3 (en) | 2007-06-21 |
EP1910928A2 (en) | 2008-04-16 |
KR101089150B1 (ko) | 2011-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4977703B2 (ja) | 予定再生操作を伴う不揮発性メモリ | |
US7984084B2 (en) | Non-volatile memory with scheduled reclaim operations | |
US7877540B2 (en) | Logically-addressed file storage methods | |
US7877539B2 (en) | Direct data file storage in flash memories | |
US8214583B2 (en) | Direct file data programming and deletion in flash memories | |
KR101272642B1 (ko) | 플래시 메모리시스템 내의 데이터 저장 용량의 리클레이밍 | |
US8880483B2 (en) | System and method for implementing extensions to intelligently manage resources of a mass storage system | |
US20060184719A1 (en) | Direct data file storage implementation techniques in flash memories | |
US20070143378A1 (en) | Non-volatile memories with adaptive file handling in a directly mapped file storage system | |
US20090182791A1 (en) | Non-Volatile Memories And Method With Adaptive File Handling In A Directly Mapped File Storage System | |
US20070143560A1 (en) | Non-volatile memories with memory allocation for a directly mapped file storage system | |
US20090210614A1 (en) | Non-Volatile Memories With Versions of File Data Identified By Identical File ID and File Offset Stored in Identical Location Within a Memory Page | |
US20100146197A1 (en) | Non-Volatile Memory And Method With Memory Allocation For A Directly Mapped File Storage System | |
US20070143567A1 (en) | Methods for data alignment in non-volatile memories with a directly mapped file storage system | |
US20070136553A1 (en) | Logically-addressed file storage systems | |
JP2009503729A (ja) | 論理アドレス空間と直接データファイル方式で動作するインターフェイスシステム | |
KR20110081150A (ko) | 다중 수행 모드 메모리 시스템 | |
KR101378031B1 (ko) | 데이터 파일을 직접적으로 저장하는 메모리 블록의 관리 | |
US20090164745A1 (en) | System and Method for Controlling an Amount of Unprogrammed Capacity in Memory Blocks of a Mass Storage System | |
JP5266250B2 (ja) | 連続論理アドレス空間インターフェイスを備えるダイレクトデータファイルシステムの使用 | |
JP4441577B2 (ja) | 固定サイズ格納ブロックを有するメモリシステムにおける変換データ単位格納 | |
JP2009519555A (ja) | 論理アドレス形ファイル記憶 | |
JP2010515163A (ja) | ダイレクトデータファイルメモリシステムにおけるlbaインターフェイスの管理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110418 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110426 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110722 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110729 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110822 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110926 |
|
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: 20120321 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120416 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4977703 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: 20150420 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150420 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |