JP5065395B2 - フラッシュメモリの優先順位付き消去のためのデバイスおよび方法 - Google Patents

フラッシュメモリの優先順位付き消去のためのデバイスおよび方法 Download PDF

Info

Publication number
JP5065395B2
JP5065395B2 JP2009527279A JP2009527279A JP5065395B2 JP 5065395 B2 JP5065395 B2 JP 5065395B2 JP 2009527279 A JP2009527279 A JP 2009527279A JP 2009527279 A JP2009527279 A JP 2009527279A JP 5065395 B2 JP5065395 B2 JP 5065395B2
Authority
JP
Japan
Prior art keywords
data
erase
block
priority
flash unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009527279A
Other languages
English (en)
Other versions
JP2010503103A (ja
Inventor
エラズ、エラン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Western Digital Israel Ltd
Original Assignee
SanDisk IL Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/797,377 external-priority patent/US8117414B2/en
Priority claimed from US11/797,378 external-priority patent/US7975119B2/en
Application filed by SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of JP2010503103A publication Critical patent/JP2010503103A/ja
Application granted granted Critical
Publication of JP5065395B2 publication Critical patent/JP5065395B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

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)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)

Description

本発明は、クリティカリティの低いデータが消去される前に、クリティカリティの高いデータが消去されるよう、記憶デバイス内におけるデータの記憶および消去を管理するためのデバイスに関する。
コンピュータ工学技術では、記憶デバイス内のデータを消去する必要があることは周知であり、一般的に、
(1)新しいデータのためにスペースをクリアする必要性、そして
(2)セキュア領域を持つ記憶デバイスに対して秘密情報を破壊する必要性の、
二つの代替的な必要性が動機となっている。
第一の理由は緊急性が伴わないが、第二の理由は、重要な局面では不可欠である。データを消去するという決定と、記憶デバイスに対する制御の喪失との間の「タイム・ウインドウ」は、非常に短い可能性がある。しばしば、記憶デバイスを消去するために利用可能な時間は、記憶デバイス全体の完全な消去に必要な時間よりも短い。残念なことに、従来の技術には、クリティカリティの低いデータが消去される前にクリティカリティの高いデータが消去されるように消去プロシージャを組織化する方法が開示されていない。
そのため、クリティカル消去が必要なときに最もクリティカルなデータが第一に消去されることを確実にするためのデバイスを得ることが望ましい。そのような優先順位付き消去プロシージャは、時間が重要な局面で、最適な解決策を提供する。
本発明の目的は、クリティカリティの低いデータが消去される前に、クリティカリティの高いデータが消去されるよう、記憶デバイス内におけるデータの記憶および消去を管理するためのデバイスを提供することである。
明確にする目的で、以下のいくつかの用語を、本文で用いるために特に定義する。本文で用いる用語「消去プロシージャ」は、(1)ブロックのすべてのセルを同じ論理値にセットすること、または(2)ブロックのすべてのセルのコンテンツをランダム化することによって、ブロックのコンテンツを使用不可能な状態にする電子プロセスに言及する。本文で用いる用語「優先順位付き消去」は、消去優先度プロトコルに従ってメモリの一部を消去する消去プロシージャに言及する。本文で用いる用語「ブロック」は、フラッシュメモリ記憶デバイスの物理部分に言及する。本文で用いる用語「サニタイズ消去」は、科学捜査の手段によってコンテンツを復元不可能なようにデジタル・メモリのコンテンツが破壊される消去プロシージャに言及する。そのようなサニタイズ消去は、通常の読み取りコマンドに対するコンテンツの使用を不可にする通常の消去プロシージャと対照的であるが、先進の技術的手段による回復を阻止できない可能性がある。本文で用いる用語「フラッシュ・ユニット」は、フラッシュメモリ・デバイス内のフラッシュメモリの一部分に言及する。
本発明は、シングルレベル・セル(SLC)フラッシュメモリおよびマルチレベル・セル(MLC)フラッシュメモリの両方に適用できる。以降の考察は主にSLCセルに集中するが、本発明がMLCセル(そして一般的に他の不揮発性記憶デバイス)へ適用できることは、同業者には明らかである。本文で用いる用語「消去」および「書き込み」は、メモリ・セルのスレショルド電圧を設定することに言及する。SLCセルに対して、消去は、典型的に、1ロジック値に対応する電圧を設定し、書き込みは、典型的に、0ロジック値に対応する電圧を設定する。本文では、用語「書き込み」および「プログラミング」を置換可能に用いている。本発明は、特に、一度に1ページを読み取る、そしてプログラムするNANDタイプ・フラッシュメモリに適用可能である。
表1は、本発明の、三つの代替的な実施例を示す。
Figure 0005065395
本発明による好適実施例においては、表1、実施例1に示して以下に説明するように、データは、書き込みアロケーションに少しの制約も課すことのない任意の方式でフラッシュメモリ内に記憶される。そのため、重要なデータを含む書き込みブロックのロケーションが記録され、消去は、これらの記録に従って実行される。
本発明のもう一つの好適実施例においては、表1、実施例2に示して以下に説明するように、データは、高消去優先度データの最速消去を確実にする方式でフラッシュ・ユニット内に記憶される。フラッシュ・ユニットの特定な領域は、高消去優先度ブロックのために確保される。緊急局面で、確保領域は、フラッシュ・ユニットの他のどの部分よりも先に消去される。データを書き込むために利用可能なブロックのロケーションは、各ブロックの消去優先度に従って予め定められる。
(表1、実施例3、そして下記に説明する)本発明のもう一つの好適実施例では、データは、実施例1および2の利点を組み合わせる方式でフラッシュ・ユニット内に記憶される。実施例3では、書き込みは、実施例1と同じだけ速く実行され、そして消去は、実施例2と同じだけ速く実行される。実施例3においては、第一のフラッシュ・ユニットの書き込みは、(実施例1と同様に)ランダムな順序で実行され、それから、残りのフラッシュ・ユニット内の高消去優先度領域のロケーションは、第一のフラッシュ・ユニットに従って整列される。実施例3は、第一のフラッシュ・ユニットへの書き込みが実施例1と同じだけ速く、そして緊急消去が実施例2と同じだけ速い。
フラッシュメモリの優先順位付き消去は、少なくとも三つの異なるプロシージャを用いて実行できる。
(1)韓国、水原のサムスン電子から入手可能な、K9F1G08U0Aフラッシュメモリの技術的なデータ・シート内に説明があるような、通常の消去コマンド。
(2)例えば、コレン氏らの米国特許出願第20040188710号に開示されたような、サニタイズ消去。そして
(3)以下に詳細に説明するような、インタラプト消去。
本発明で説明する優先順位付き消去プロシージャは、消去プロシージャおよび消去順序の選択を含む。
したがって、本発明によれば、優先順位付き消去機能を持つ不揮発性記憶デバイスが初めて提供される。このデバイスは、(a)記憶デバイス内にデータを記憶するための記憶メモリ、そして(b)記憶デバイス・コントローラを含む。記憶メモリは、少なくとも一つのフラッシュ・ユニットを持ち、各フラッシュ・ユニットは、複数のブロックを持つ。記憶デバイス・コントローラは、(i)複数のブロック内へデータを書き込むよう、(ii)各ブロックへ消去優先度を指定するよう、そして(iii)緊急消去コマンドを受信すると即座に、各ブロックの消去優先度に従って各ブロック内のデータを消去するよう構成される。なお、各ブロックへ指定される消去優先度は、データの消去優先度と相互に関連する。
コントローラは、任意に選択されたブロックに書き込みを実行するよう構成され、そして指定は、データの消去優先度に従って実行されることが好ましい。
コントローラは、データを書き込む前に消去優先度の指定を実行するよう構成され、そして書き込みは、各ブロックの消去優先度に従って実行されることが好ましい。
コントローラは、データの書き込みを、第一のフラッシュ・ユニット内で任意の順序で複数のブロックへ実行するよう構成され、そして以降のフラッシュ・ユニットへの書き込みは、第一のフラッシュ・ユニットにおける順序に相関性を持って実行されることが好ましい。
コントローラは、さらに、(iv)各フラッシュ・ユニット内の共通相対位置を持つブロックへ、共通消去優先度を指定するよう構成されることが最も好ましい。
コントローラは、さらに(iv)各ブロックに対する消去優先度のログを記憶するよう、そして(v)緊急消去コマンドを受信すると即座に、ログ内に記憶された消去優先度に従って各ブロック内のデータを消去するよう構成されることが好ましい。
コントローラによる消去は、複数のブロックの少なくともいくつかに対して、消去を完了する前に消去をアボートすることを含むことが好ましい。
本発明によれば、優先順位付き消去機能を持つハードディスク・ドライブが初めて提供される。このドライブは、(a)ハードディスク・ドライブ内にデータを記憶するための、少なくとも二つのセクターを持つ記憶メモリ、(b)各セクターへ消去優先度を指定するためのメカニズム、そして(c)各セクターの消去優先度に従ってセクターを消去するためのメカニズムを含む。なお、各セクターへ指定される消去優先度は、データの消去優先度と相互に関連する。
これらの実施例および他の実施例を、以下で詳細に説明する。
さて、本発明を、例証としての添付の図面を参照しながら説明する。
本発明の好適実施例による、物理消去スライスを利用して消去する、優先順位付き消去プロシージャを用いるフラッシュメモリ・システムを表す簡略ブロック図である。 本発明の好適実施例による、論理消去スライスを利用して消去する、優先順位付き消去プロシージャを用いるフラッシュメモリ・システムを表す簡略ブロック図である。 本発明の好適実施例による、優先順位付き消去プロシージャを表す簡略フローチャートである。
本発明は、クリティカリティの低いデータが消去される前に、クリティカリティの高いデータが消去されるよう、記憶デバイス内におけるデータの記憶および消去を管理するためのデバイスに関する。本発明による記憶デバイス内におけるデータの記憶および消去を管理するための原理および作用は、添付の説明および図面を参照することによって良く理解できる。
上記の表1の実施例1では、書き込みプロセスは任意であり、ログが種々の消去優先度へのブロックの割り当てを詳細に記録し、そして消去はログに従って実行される。
上記表1の実施例2では、書き込みプロセスは、高消去優先度へのブロックの予備アロケーションに従って実行され、消去はそのアロケーションに従って実行される。
上記表1の実施例3では、第一のフラッシュ・ユニットの書き込みは、実施例1の場合のように任意に実行される。そのような任意のアロケーションは、それから、残りのフラッシュ・ユニット内のアロケーションを定める。そして消去は、実施例2の場合のように実行される。
さて、図面を参照する。図1は、本発明の好適実施例による、物理消去スライスを利用して消去する、優先順位付き消去プロシージャを用いるフラッシュメモリ・システムを表す簡略ブロック図である。ホスト・システム20は、フラッシュコントローラ24および複数のフラッシュ・ユニット26を持つフラッシュメモリ・デバイス22に接続された状態で図示されている。
各フラッシュ・ユニット26は、消去のために個々にアドレス指定可能な、多数のブロック28を持つ。フラッシュメモリ・ディスク・ドライブのためのそのような構造は、本技術において周知であり、イスラエルのクファ・サバに在るサンディスクIL社から入手可能なFFD-25-UATA-8192-A等のコンポーネント内に見られる。
フラッシュ・ユニット26のいくつかのブロック28は、高消去優先度データを収容するように選択されている(図1にブロックHとして示す)。ブロックHの位置は、ホスト・システム20の書き込みメカニズムへ通知される。書き込みメカニズムは、典型的にフラッシュ・コントローラ24であるが、ホスト・システム20であることもある。書き込みメカニズムは、それから、高消去優先度のデータをブロックHへ割り当てる。フラッシュ・ユニット26の他のブロック28は、中および低消去優先度データを収容するように選択される(図1に各々、ブロックMおよびLとして示す)。ブロックMおよびLの位置も、ホスト・システム20の書き込みメカニズムへ通知される。書き込みメカニズムは、それから、より低い消去優先度のデータをブロックMおよびLへ割り当てる。ブロック28へのデータの選択的アロケーションに対しては、多くの消去優先度があってもよい。
本発明による好適実施例においては、いくつかのブロック28には、指定ブロックを優先順位付き消去プロシージャから除外する除外消去優先度が指定される(図1にブロックEとして示す)。データは、緊急消去局面の際に消去される必要がないブロックEへ割り当てることができる。フラッシュメモリ・デバイス22内のデータを緊急に消去する必要が発生した場合、消去メカニズムは、それらの指定消去優先度に従ってブロック28を消去し、また、データが正しい順序で消去されることを確実にする。
「物理消去スライス」は、いくつかのフラッシュ・ユニットからの数ブロックの集合であり、各選択ブロックは、各々のフラッシュ・ユニット内の同じアドレスを持つ。各フラッシュ・ユニット内の選択消去優先度ブロックの各々が同じアドレスを共有するよう、書き込み時にブロックが割り当てられた場合、物理消去スライスによって、最適な優先順位付き消去を実行することが可能である。
図1に示す物理消去スライス30は、フラッシュ・ユニット26を横切るブロック28の集合を表す。図1にブロックHが物理消去スライス30の一部として示されているが、物理消去スライス30は、ブロック28のどの「スライス」をも含むことができる。本発明による好適実施例においては、物理消去スライス30内のブロック28の消去は、同時に実行される。
いくつかのフラッシュメモリ・アーキテクチャにおいては、フラッシュメモリの不均質な構造に起因して、いくつかのブロックの消去は、他のブロックに対する消去よりも高速である。図1に説明する本実施例においては、ブロックを高消去優先度に事前に割り当てられるため、高消去優先度データへのアロケーションには、本質的に高速な消去ブロックを使用することが好ましい。高消去優先度データが高速な消去ブロック内に属する場合、プロトコルが適用できる。そのようなシステムでは、高速な消去ブロックは、より高い消去優先度のデータを収容するように選択される。そうすることによって、高消去優先度データが、より速く消去されることになる。
本実施例においては、高消去優先度ブロックが、フラッシュ・ユニットへランダムに割り当てられることに注意すべきである。消去プロシージャは、一消去サイクル中、各フラッシュ・ユニット内の1ブロックを消去するため、他のフラッシュ・ユニットでは、すべての高消去優先度ブロックが既に消去されたのに、いくつかのフラッシュ・ユニットには、消去すべきブロックが未だに残っているという状況が発生し得る。そのような事態は、効率の損失となる。消去プロシージャは、最後のフラッシュ・ユニット内の最後の高消去優先度ブロックが消去されるまで、各サイクル中、より少数のブロックを消去し続ける。
図2は、本発明の好適実施例による、論理消去スライスを利用して消去する、優先順位付き消去プロシージャを用いるフラッシュメモリ・システムを表す簡略ブロック図である。この実施例では、書き込みプロセスは、本発明に関連しない、例えば、米国特許第6,898,662号、Gorobets等のフラッシュメモリ・デバイス構成の従来の技術に開示された工学技術考慮事項によって最適化される。
典型的に、書き込みは、フラッシュ・ユニット26を一つ一つ順に、連続したセットのブロック28に実行されるのではなく、むしろ「全面を横切って」、平行ないくつかのフラッシュ・ユニット26上にデータが書き込まれる。書き込みと同時に、各々の書き込まれたブロック28あるいは少なくともブロックH(すなわち、高消去優先度データが書き込まれるブロック)の消去優先度のログ・テーブル(図示せず)に記録が作成される。本発明の開示の目的で、3レベルの消去優先度があり、そして大部分のブロックが消去優先度を持たない(すなわちブロックE)と仮定する。したがって、ブロックEのデータが非消去のままに残されても全く危険性はない。
フラッシュメモリ工学技術において既知であるように、マルチユニット・フラッシュメモリ・デバイスの消去は、一つの消去サイクル中にフラッシュ・ユニットの各々の1ブロックが同時に消去されると最も効率的である。しかし、ブロックがそれらの消去優先度に従って予め配置されないなら、物理消去スライスは実行できない。そのようなケースでは、「論理消去スライス」が実行できる。
「論理消去スライス」は、各々のフラッシュ・ユニット26(例えば、図2のブロックH、MまたはL)からの一つの、任意の代表ブロック28の集合である。この実施例は、単一の消去サイクルが、一回の作動で、各フラッシュ・ユニット26内の異なる位置のブロックを消去できるという事実を利用する。論理消去スライスは、各フラッシュ・ユニット26内の選択ブロック28のアドレスを提供し、それからすべてのフラッシュ・ユニット26に消去コマンドを適用することによって同時に消去でき、各フラッシュ・ユニット26内の選択ブロック28が消去される。そのようなプロシージャは、各フラッシュ・ユニット26内のブロック28を、それらの相対的な消去優先度に従って消去する方法を提供する。
フラッシュメモリ・デバイス22は、単一の消去サイクルにおいて、一つの物理消去スライスあるいは一つの論理消去スライスを消去することができる。図1においては、データは、物理消去スライスでのブロックの消去に最適なアーキテクチャに組織化される。図2においては、データは任意に組織化される。したがって、論理消去スライスによってブロックを消去するメカニズムが具現されなければならない。
フラッシュメモリ・デバイス22を緊急に消去する必要がある場合、フラッシュ・コントローラ24は、ログ・テーブルをチェックして、フラッシュ・ユニット26の各々の最高消去優先度ブロックを検出する。各フラッシュ・ユニット26からの一セットのブロックHが、図2に示すように、論理消去スライス32になる。論理消去スライス32が消去され、そしてログ・テーブルは、これらのブロックが消去されたことを反映するように更新される。注目すべきことは、論理消去スライス32内のすべてのブロックHが消去されるわけではなく、各フラッシュ・ユニット26からの一つのブロックHのみが消去されることである。フラッシュ・コントローラ24は、それから、各フラッシュ・ユニット26内の次に高い消去優先度ブロック(例えばブロックM)を選択する。各フラッシュ・ユニット26からの一セットのブロックMが、消去される論理消去スライス34になり、そしてログ・テーブルが再び更新される。このプロセスは、フラッシュ・ユニット26内に高消去優先度ブロックがなくなるまで続く(例えば、論理消去スライス36および38)。実際には、論理消去スライス32が消去された後も、選択された次の論理消去スライスは、ブロックHのみを含む可能性がある。そのようなプロシージャは、ログ・テーブル内でブロックHがなくなるまで継続し、それから、論理消去スライス34(すなわちブロックM)が消去されることになる。あるいは消去のプロセスが外部的に停止されるまで継続する。
図3は、本発明の好適実施例による、優先順位付き消去プロシージャを表す簡略フローチャートである。ホスト・システムから緊急消去コマンドを受信すると、フラッシュメモリ・デバイスのコントローラは、優先順位付き消去プロシージャを開始する(ステップ40)。コントローラは、消去すべき消去優先ブロックがあるかどうかをチェックする(ステップ42)。消去すべき消去優先ブロックが全くない場合、優先順位付き消去プロシージャは終了する(ステップ44)。消去すべき消去優先ブロックがある場合、コントローラは、検査すべきフラッシュ・ユニットが残っているかどうかをチェックする(ステップ46)。検査すべきフラッシュ・ユニットが未だ在る場合、コントローラは、次のフラッシュ・ユニット内の最高消去優先度ブロックを検索し(ステップ48)、そして現在の論理消去スライスへそのブロックを付加するよう進行する(ステップ50)。それから、コントローラは、検査すべきフラッシュ・ユニットが残っているかどうかを再びチェックする(ステップ46)。すべてのフラッシュ・ユニットが検査されると、現在の論理消去スライスが消去される(ステップ52)。このとき、論理消去スライス内に含まれるすべてのブロックが、平行に消去される。そして、それに応じて、ログ・テーブルが更新される(ステップ54)。
本発明による好適実施例においては、「フル消去」サイクルの代わりに、「インタラプト消去」サイクルを用いる。フル消去サイクルは、比較的に長時間、典型的に2.5ミリ秒を費やす消去プロシージャであり、メモリ・ブロックのすべてのビットが1ロジックへセットされるという点で消去が「クリーン」であることを確実にする。消去プロシージャが短くなると、いくつかのビットが1ロジックへセットされないという危険性がある。数千ブロックを持つフラッシュメモリが消去され、そして各ブロックがフル消去サイクルで消去される場合、全消去時間は、何十秒にもなる可能性がある。緊急事態において、消去プロシージャが、すべてのブロックが消去される前に短く中断される危険性がある。
緊急消去時間は、2.5msサイクルの一部分を一つのブロックを消去するために割り当てることで、より効果的に利用でき、2.5ms内でより多くのブロックを消去可能である。典型的に、フル消去サイクルの50%未満が実行された後、大部分のビットは、それらの本来の論理状態を失う。完全には消去されていないビットの残りの総数は、情報を実質的に利用不可能にする程度に少ないものである。したがって、フル消去サイクル時間を用いて50%のブロックを消去するのではなく、フル消去サイクル時間の50%を用いて二倍の数のブロックを消去することが好ましい。インタラプト消去サイクルの所要時間の決定は、工学技術的考慮事項、そして優先順位付き消去プロシージャに利用可能な総時間に関する推定に基づいて、公称フル消去サイクルの0%から100%のいずれにも設定可能であることは明らかである。
インタラプト消去サイクルを実行するための一つの可能な方法は、(両NORおよびNANDタイプ・フラッシュメモリのための)フラッシュメモリが、消去サイクル中、多くのコマンドに対して「ブラインド」でありながら、例えば次のような、特別な「アボート」コマンドに反応するという事実を利用することである。
(1)「http://www.samsung.com/Products/Semiconductor/MCP/NORbased/K5L5628JBM/K5L5628JBM.htm」に説明があるような、NORタイプ・フラッシュメモリにおける「リセット」コマンド。
(2)「http://www.electronicstalk.com/news/sor/sor100.html」に説明があるような、NORタイプ・フラッシュメモリにおける「サスペンド消去」コマンド。そして
(3)例えば、「http://www.samsung.com/Products/Semiconductor/NANDFlash/SLC_LargeBlock/1Gbit/K9F1G08U0A/ds_k9flg08x0a_rev10.pdf」の、サムスンK9F1G08U0Aのデータ・シートに説明があるような、NANDタイプ・フラッシュメモリにおける「リセット」コマンド。
サムスンK9F1G08U0Aのデータ・シートには、「デバイスは、コマンド・レジスタへのFFhの書き込みによって実行されるリセット機能を提供する。デバイスが、ランダム・リード、プログラムまたは消去モード中、ビジー状態にあるとき、リセット動作は、これらの作動をアボートすることになる。」との記載がある。
これらのコマンドは、フル消去サイクルよりも非常に短い。(NANDタイプ・フラッシュメモリにおいては、フル消去サイクルが2.5msを要するが、リセット・コマンドは、最大で0.5msを要する。)フル消去サイクルがアボートされると、メモリは、いかなる目的にも有益でないランダムな状態のままとなる。二つの完全なフル消去サイクルを実行するよりも、5つのフル消去サイクルを開始して、(各々が0.5msを消費する5つのリセット・コマンドを用いて)それらサイクルを各々0.5ms後にアボートするよう、5msの時間を利用することが好ましい。両選択肢は、フル5msの時間を消費する。
(表1、実施例3に示す)本発明の好適実施例では、第一のフラッシュ・ユニットの書き込みは、より高い消去優先度のデータを受信するブロックを記録しながら、任意の方式で実行できる。第一のフラッシュ・ユニットへの書き込み後、以降のフラッシュ・ユニットが、第一のフラッシュ・ユニットの順序と相互に関係する順序で書き込まれる。典型的に、以降のフラッシュ・ユニットは、第一のフラッシュ・ユニットの高消去優先度ブロックに整列されるため、すべてのフラッシュ・ユニット内の同じ(または相互に関連した)アドレスを持つブロックは、同じ消去優先度を持つデータを受信する。このことは、システムが、(上記に説明し、図2に示した)論理消去スライスの構造を通過することを必要とせず、平行に同じアドレスを持つブロックを消去することによって、高消去優先度データを消去することを可能にする。
注目すべきは、高消去優先度データのために高速消去ブロックを用いること、そして高消去優先度データを共通物理消去スライスに整列させることは、矛盾するプロトコルではなく、好適に一緒に実行できることである。高消去優先度ブロックは、フラッシュ・ユニットの「より高速な部分」に記憶されるが、ブロックは第一のフラッシュ・ユニット内にランダムな順序で記憶される。このランダムな順序は、すべての他のフラッシュ・ユニットに対する順序を定めるため、高消去優先度データは、共通物理消去スライス内に存在することになる。
論理消去スライスの消去、そして物理消去スライスの消去が、同じ順序の消去へ(したがって、同じレベルの最適化へ)導く可能性があるが、物理消去スライスは、(1)より単純に実行でき、そして(2)論理消去スライスを用いる実施例よりも、管理データの管理および記憶の必要が少ない、ということに注目すべきである。したがって、物理消去スライスを用いる実施例が好ましい。
ハードディスク・ドライブは、本発明がカバーする記憶デバイスの典型例であることに留意すべきである。本発明は、フラッシュメモリ記憶デバイスへのみ限定されることはなく、以下の機能の少なくともいくつかを特徴とする記憶システムへ適用でき、それらをカバーすることを意図している。
(1)記憶デバイスは、各々が個々に消去可能な、多くのサブユニットに分割されている。
(2)サブユニットの消去時間は、比較的に長いプロセスである。
(3)サブユニットの完全な消去は、アボートされた消去よりも非常に長い時間を要する。そして
(4)記憶デバイス・コントローラは、どのサブユニット内にもデータを記憶するという柔軟性を持つ。
本発明を限られた数の実施例に関して説明したが、本発明の多くの変形、修正、そして他の応用が可能であることは明らかである。

Claims (6)

  1. (a)各々が複数のブロックで構成される複数のフラッシュ・ユニットを有する記憶デバイス内に、データを記憶するための記憶メモリと、
    (b)前記複数のフラッシュ・ユニットのうちの所定のフラッシュ・ユニットに対して、
    (i)前記所定のフラッシュ・ユニットを構成する前記複数のブロックのいずれかに、データ消去優先度を付与してデータを書き込むよう動作し、
    (ii)前記データが書き込まれたブロックのそれぞれに、書き込まれたデータに付与されたデータ消去優先度と相関関係を持つブロック消去優先度を指定するように動作するコントローラと、
    を備えた優先順位付き消去機能を持つ不揮発性記憶デバイスであって、
    前記コントローラが、
    前記所定のフラッシュ・ユニット以外の前記フラッシュ・ユニットを構成する前記複数のブロックに対して、
    各データにデータ消去優先度を付与し、
    前記所定のフラッシュ・ユニットにおいてこのように付与されたデータ消去優先度と同一のデータ消去優先度を有するデータが書き込まれたブロックの位置に対し、前記所定のフラッシュ・ユニット以外の前記フラッシュ・ユニットを構成する前記複数のブロックのうちの相対的位置が同一であるブロックに、データを書き込むように動作し、
    前記所定のフラッシュ・ユニット以外の前記フラッシュ・ユニットを構成する前記複数のブロックに対しても、そこに記憶されたデータのデータ消去優先度と相関関係を持つブロック消去優先度を指定するように動作し、
    前記複数の全てのフラッシュ・ユニットに対して、
    緊急消去コマンドを受信すると、前記ブロック消去優先度に従って前記各ブロックに書き込まれた前記データを消去するよう動作する、デバイス。
  2. 前記コントローラが、
    ブロックの前記ブロック消去優先度のログを記憶するよう動作し、
    記緊急消去コマンドを受信すると、前記ログ内に記憶された前記ブロック消去優先度に従って前記各ブロック内の前記データを消去するよう動作する、請求項1に記載のデバイス。
  3. 前記コントローラによる前記消去が、前記複数のブロックの少なくともいくつかに対して、前記ブロック内の少なくとも一部のデータを消去することにより行われる、請求項1または2に記載のデバイス。
  4. 各々が複数のブロックで構成される複数のフラッシュ・ユニットを有する不揮発性記憶デバイス内に記憶するデータを、コントローラが優先順位付き消去する方法であって、
    前記複数のフラッシュ・ユニットのうちの所定のフラッシュ・ユニットに対して、
    前記所定のフラッシュ・ユニットを構成する前記複数のブロックのいずれかに、データ消去優先度を付与してデータを書き込むステップと、
    前記データが書き込まれたブロックのそれぞれに、書き込まれたデータに付与されたデータ消去優先度と相関関係を持つブロック消去優先度を指定するステップと、
    前記所定のフラッシュ・ユニット以外の前記フラッシュ・ユニットを構成する前記複数のブロックにデータを書き込むときに、
    各データにデータ消去優先度を付与するステップと、
    前記所定のフラッシュ・ユニットにおいてこのように付与されたデータ消去優先度と同一のデータ消去優先度を有するデータが書き込まれたブロックの位置に対し、前記所定のフラッシュ・ユニット以外の前記フラッシュ・ユニットを構成する前記複数のブロックのうちの相対的位置が同一であるブロックに、データを書き込むステップと、
    前記所定のフラッシュ・ユニット以外の前記フラッシュ・ユニットを構成する前記複数のブロックに対しても、そこに記憶されたデータのデータ消去優先度と相関関係を持つブロック消去優先度を指定するステップと、
    緊急消去コマンドを受信すると、前記ブロック消去優先度に従って前記複数の全てのフラッシュ・ユニットの前記各ブロックに書き込まれた前記データを消去するステップと、を含む、方法。
  5. 前記指定するステップが、各ブロックの前記ブロック消去優先度のログを記憶するステップを含み
    前記消去するステップが、前記緊急消去コマンドを受信すると、前記ログ内に記憶された前記ブロック消去優先度に従って前記各ブロック内の前記データを消去するステップを含む、請求項4に記載の方法。
  6. 前記消去するステップが、前記複数のブロックの少なくともいくつかに対して、前記ブロック内の少なくとも一部のデータを消去するステップを含む、請求項4または5に記載の方法。
JP2009527279A 2006-09-04 2007-09-02 フラッシュメモリの優先順位付き消去のためのデバイスおよび方法 Expired - Fee Related JP5065395B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US82445206P 2006-09-04 2006-09-04
US60/824,452 2006-09-04
US11/797,377 US8117414B2 (en) 2006-09-04 2007-05-03 Method for prioritized erasure of flash memory
US11/797,377 2007-05-03
US11/797,378 US7975119B2 (en) 2006-09-04 2007-05-03 Device for prioritized erasure of flash memory
US11/797,378 2007-05-03
PCT/IL2007/001081 WO2008029389A1 (en) 2006-09-04 2007-09-02 Device and method for prioritized erasure of flash memory

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012141348A Division JP5486047B2 (ja) 2006-09-04 2012-06-22 フラッシュメモリの優先順位付き消去のためのデバイスおよび方法

Publications (2)

Publication Number Publication Date
JP2010503103A JP2010503103A (ja) 2010-01-28
JP5065395B2 true JP5065395B2 (ja) 2012-10-31

Family

ID=38917809

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009527279A Expired - Fee Related JP5065395B2 (ja) 2006-09-04 2007-09-02 フラッシュメモリの優先順位付き消去のためのデバイスおよび方法
JP2012141348A Expired - Fee Related JP5486047B2 (ja) 2006-09-04 2012-06-22 フラッシュメモリの優先順位付き消去のためのデバイスおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012141348A Expired - Fee Related JP5486047B2 (ja) 2006-09-04 2012-06-22 フラッシュメモリの優先順位付き消去のためのデバイスおよび方法

Country Status (5)

Country Link
JP (2) JP5065395B2 (ja)
KR (1) KR101429898B1 (ja)
CN (1) CN101529370B (ja)
TW (1) TWI375227B (ja)
WO (1) WO2008029389A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5338306B2 (ja) * 2008-12-26 2013-11-13 富士通株式会社 データ記憶装置およびデータ記憶装置におけるデータ管理方法
US8572344B2 (en) 2009-05-04 2013-10-29 Hewlett-Packard Development Company, L.P. Storage device erase command having a control field controllable by a requestor device
WO2012079216A1 (en) * 2010-12-13 2012-06-21 Mediatek Singapore Pte. Ltd. Nor flash memory controller
TWI423023B (zh) * 2011-04-22 2014-01-11 Silicon Motion Inc 快閃記憶體之區塊選取方法及資料儲存裝置
JP6107286B2 (ja) * 2013-03-25 2017-04-05 日本電気株式会社 分散ストレージシステム、ノード、データ管理方法、及びプログラム
JP6253009B2 (ja) * 2013-08-28 2017-12-27 東海光学株式会社 光学製品及び眼鏡レンズ
KR20150116352A (ko) 2014-04-07 2015-10-15 삼성전자주식회사 메모리 제어 방법 및 시스템
US20160188890A1 (en) * 2014-12-26 2016-06-30 Intel Corporation Security mode data protection
US20170344295A1 (en) * 2016-05-31 2017-11-30 Sandisk Technologies Llc System and method for fast secure destruction or erase of data in a non-volatile memory
US9633738B1 (en) * 2016-06-28 2017-04-25 Sandisk Technologies Llc Accelerated physical secure erase
CN106339324B (zh) * 2016-08-19 2019-05-10 浪潮(北京)电子信息产业有限公司 一种选择垃圾回收块的方法及装置
CN107463341A (zh) * 2017-08-25 2017-12-12 上海闻泰电子科技有限公司 Flash芯片的擦除方法、装置和移动终端
CN109817271A (zh) * 2018-11-21 2019-05-28 中国航空工业集团公司洛阳电光设备研究所 一种固态硬盘坏块的检测方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3359942B2 (ja) * 1992-10-29 2002-12-24 株式会社東芝 メモリカード装置
CN2168322Y (zh) * 1993-02-22 1994-06-08 傅忠民 可擦可编程序存储器仿真装置
GB2317722B (en) * 1996-09-30 2001-07-18 Nokia Mobile Phones Ltd Memory device
US7003621B2 (en) * 2003-03-25 2006-02-21 M-System Flash Disk Pioneers Ltd. Methods of sanitizing a flash-based data storage device
JP3978410B2 (ja) * 2003-06-03 2007-09-19 株式会社リコー 画像制御装置、画像形成装置、画像制御方法、画像制御プログラム及び記録媒体
JP2006155159A (ja) * 2004-11-29 2006-06-15 Fuji Electric Holdings Co Ltd 耐タンパ装置

Also Published As

Publication number Publication date
KR20090047513A (ko) 2009-05-12
TW200822124A (en) 2008-05-16
CN101529370B (zh) 2012-02-22
CN101529370A (zh) 2009-09-09
TWI375227B (en) 2012-10-21
JP2010503103A (ja) 2010-01-28
KR101429898B1 (ko) 2014-08-13
WO2008029389A1 (en) 2008-03-13
JP5486047B2 (ja) 2014-05-07
JP2012216234A (ja) 2012-11-08

Similar Documents

Publication Publication Date Title
JP5065395B2 (ja) フラッシュメモリの優先順位付き消去のためのデバイスおよび方法
US7975119B2 (en) Device for prioritized erasure of flash memory
US8041879B2 (en) Flash memory backup system and method
US10296231B2 (en) Data-storage device and data maintenance method thereof
US8966163B2 (en) Non-volatile memory device and method for programming the same
KR101563875B1 (ko) 호스트 기록 작업과 캐시 플러싱을 균형화하기 위한 방법과 시스템
US20170160942A1 (en) Data storage device and flash memory control method
US8117414B2 (en) Method for prioritized erasure of flash memory
US8225050B2 (en) Memory storage device and a control method thereof
TW200845016A (en) Non-volatile memory with dynamic multi-mode operation
JP2008198206A (ja) データ処理システム並びにその動作方法、データ処理装置、そしてデータ格納装置の動作方法
US20100030948A1 (en) Solid state storage system with data attribute wear leveling and method of controlling the solid state storage system
JP2008507756A (ja) 最適化されたシーケンシャルなクラスタの管理のためのfat分析
US8274840B2 (en) Nonvolatile memory devices having built-in memory cell recovery during block erase and methods of operating same
JP2009230414A (ja) 複数の不揮発性メモリデバイスを有する記憶装置
US8081517B2 (en) Solid state storage system for uniformly using memory area and method controlling the same
US9886399B2 (en) Storage control device, storage device, information processing system, and storage control method therefor
US20160124650A1 (en) Data Storage Device and Flash Memory Control Method
US9304906B2 (en) Memory system, controller and control method of memory
WO2014185038A1 (ja) 半導体記憶装置およびその制御方法
JP2006323499A (ja) 半導体装置
JP3977859B2 (ja) 不揮発性半導体メモリ装置及びその制御方法
JP2003242788A (ja) 不揮発性半導体メモリ装置及びその制御方法
JP2006053950A (ja) 不揮発性半導体メモリ装置及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120127

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120426

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120508

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120525

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120622

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: 20120713

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: 20120809

R150 Certificate of patent or registration of utility model

Ref document number: 5065395

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150817

Year of fee payment: 3

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

LAPS Cancellation because of no payment of annual fees