JP5486047B2 - Device and method for prioritized erase of flash memory - Google Patents

Device and method for prioritized erase of flash memory Download PDF

Info

Publication number
JP5486047B2
JP5486047B2 JP2012141348A JP2012141348A JP5486047B2 JP 5486047 B2 JP5486047 B2 JP 5486047B2 JP 2012141348 A JP2012141348 A JP 2012141348A JP 2012141348 A JP2012141348 A JP 2012141348A JP 5486047 B2 JP5486047 B2 JP 5486047B2
Authority
JP
Japan
Prior art keywords
erase
data
block
priority
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.)
Expired - Fee Related
Application number
JP2012141348A
Other languages
Japanese (ja)
Other versions
JP2012216234A (en
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 JP2012216234A publication Critical patent/JP2012216234A/en
Application granted granted Critical
Publication of JP5486047B2 publication Critical patent/JP5486047B2/en
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
    • 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
    • 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 Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)

Description

本発明は、クリティカリティの低いデータが消去される前に、クリティカリティの高いデータが消去されるよう、記憶デバイス内におけるデータの記憶および消去を管理するためのデバイスに関する。   The present invention relates to a device for managing the storage and erasure of data in a storage device such that high critical data is erased before low critical data is erased.

コンピュータ工学技術では、記憶デバイス内のデータを消去する必要があることは周知であり、一般的に、
(1)新しいデータのためにスペースをクリアする必要性、そして
(2)セキュア領域を持つ記憶デバイスに対して秘密情報を破壊する必要性の、
二つの代替的な必要性が動機となっている。
In computer engineering, it is well known that data in a storage device needs to be erased,
(1) the need to clear space for new data, and
(2) The need to destroy confidential information for storage devices with secure areas
Two alternative needs are motivated.

第一の理由は緊急性が伴わないが、第二の理由は、重要な局面では不可欠である。データを消去するという決定と、記憶デバイスに対する制御の喪失との間の「タイム・ウインドウ」は、非常に短い可能性がある。しばしば、記憶デバイスを消去するために利用可能な時間は、記憶デバイス全体の完全な消去に必要な時間よりも短い。残念なことに、従来の技術には、クリティカリティの低いデータが消去される前にクリティカリティの高いデータが消去されるように消去プロシージャを組織化する方法が開示されていない。   The first reason is not urgent, but the second reason is essential in an important aspect. The “time window” between the decision to erase data and the loss of control over the storage device can be very short. Often, the time available to erase the storage device is less than the time required to completely erase the entire storage device. Unfortunately, the prior art does not disclose how to organize the erase procedure such that high critical data is erased before low critical data is erased.

そのため、クリティカル消去が必要なときに最もクリティカルなデータが第一に消去されることを確実にするためのデバイスを得ることが望ましい。そのような優先順位付き消去プロシージャは、時間が重要な局面で、最適な解決策を提供する。   It is therefore desirable to have a device that ensures that the most critical data is erased first when critical erasure is required. Such prioritized erasure procedures provide an optimal solution in time critical aspects.

本発明の目的は、クリティカリティの低いデータが消去される前に、クリティカリティの高いデータが消去されるよう、記憶デバイス内におけるデータの記憶および消去を管理するためのデバイスを提供することである。   It is an object of the present invention to provide a device for managing the storage and erasure of data in a storage device such that high critical data is erased before low critical data is erased. .

明確にする目的で、以下のいくつかの用語を、本文で用いるために特に定義する。本文で用いる用語「消去プロシージャ」は、(1)ブロックのすべてのセルを同じ論理値にセットすること、または(2)ブロックのすべてのセルのコンテンツをランダム化することによって、ブロックのコンテンツを使用不可能な状態にする電子プロセスに言及する。本文で用いる用語「優先順位付き消去」は、消去優先度プロトコルに従ってメモリの一部を消去する消去プロシージャに言及する。本文で用いる用語「ブロック」は、フラッシュメモリ記憶デバイスの物理部分に言及する。本文で用いる用語「サニタイズ消去」は、科学捜査の手段によってコンテンツを復元不可能なようにデジタル・メモリのコンテンツが破壊される消去プロシージャに言及する。そのようなサニタイズ消去は、通常の読み取りコマンドに対するコンテンツの使用を不可にする通常の消去プロシージャと対照的であるが、先進の技術的手段による回復を阻止できない可能性がある。本文で用いる用語「フラッシュ・ユニット」は、フラッシュメモリ・デバイス内のフラッシュメモリの一部分に言及する。   For purposes of clarity, the following terms are specifically defined for use in the text. The term “erase procedure” as used herein uses the contents of a block by (1) setting all cells in the block to the same logical value, or (2) randomizing the contents of all cells in the block. Mention an electronic process that renders it impossible. As used herein, the term “priority erase” refers to an erase procedure that erases a portion of memory according to an erase priority protocol. As used herein, the term “block” refers to the physical portion of a flash memory storage device. As used herein, the term “sanitize erasure” refers to an erasure procedure in which the contents of digital memory are destroyed such that the contents cannot be recovered by forensic means. Such sanitized erase is in contrast to normal erase procedures that disable the use of content for normal read commands, but may not prevent recovery by advanced technical means. As used herein, the term “flash unit” refers to a portion of flash memory within a flash memory device.

本発明は、シングルレベル・セル(SLC)フラッシュメモリおよびマルチレベル・セル(MLC)フラッシュメモリの両方に適用できる。以降の考察は主にSLCセルに集中するが、本発明がMLCセル(そして一般的に他の不揮発性記憶デバイス)へ適用できることは、同業者には明らかである。本文で用いる用語「消去」および「書き込み」は、メモリ・セルのスレショルド電圧を設定することに言及する。SLCセルに対して、消去は、典型的に、1ロジック値に対応する電圧を設定し、書き込みは、典型的に、0ロジック値に対応する電圧を設定する。本文では、用語「書き込み」および「プログラミング」を置換可能に用いている。本発明は、特に、一度に1ページを読み取る、そしてプログラムするNANDタイプ・フラッシュメモリに適用可能である。   The present invention is applicable to both single-level cell (SLC) flash memory and multi-level cell (MLC) flash memory. Subsequent discussion will concentrate primarily on SLC cells, but it will be apparent to those skilled in the art that the present invention is applicable to MLC cells (and generally other non-volatile storage devices). As used herein, the terms “erase” and “write” refer to setting the threshold voltage of a memory cell. For SLC cells, erasing typically sets a voltage corresponding to one logic value, and writing typically sets a voltage corresponding to zero logic value. In the text, the terms “write” and “programming” are used interchangeably. The present invention is particularly applicable to NAND type flash memories that read and program one page at a time.

表1は、本発明の、三つの代替的な実施例を示す。   Table 1 shows three alternative embodiments of the present invention.

Figure 0005486047
Figure 0005486047

本発明による好適実施例においては、表1、実施例1に示して以下に説明するように、データは、書き込みアロケーションに少しの制約も課すことのない任意の方式でフラッシュメモリ内に記憶される。そのため、重要なデータを含む書き込みブロックのロケーションが記録され、消去は、これらの記録に従って実行される。   In the preferred embodiment according to the present invention, data is stored in flash memory in any manner that does not impose any restrictions on write allocation, as shown in Table 1, Example 1 and described below. . Therefore, the location of the write block containing important data is recorded, and erasure is performed according to these records.

本発明のもう一つの好適実施例においては、表1、実施例2に示して以下に説明するように、データは、高消去優先度データの最速消去を確実にする方式でフラッシュ・ユニット内に記憶される。フラッシュ・ユニットの特定な領域は、高消去優先度ブロックのために確保される。緊急局面で、確保領域は、フラッシュ・ユニットの他のどの部分よりも先に消去される。データを書き込むために利用可能なブロックのロケーションは、各ブロックの消去優先度に従って予め定められる。   In another preferred embodiment of the present invention, data is stored in the flash unit in a manner that ensures fastest erasure of high erase priority data, as shown in Table 1, Example 2 and described below. Remembered. A specific area of the flash unit is reserved for the high erase priority block. In the emergency phase, the reserved area is erased before any other part of the flash unit. The location of the blocks available for writing data is predetermined according to the erase priority of each block.

(表1、実施例3、そして下記に説明する)本発明のもう一つの好適実施例では、データは、実施例1および2の利点を組み合わせる方式でフラッシュ・ユニット内に記憶される。実施例3では、書き込みは、実施例1と同じだけ速く実行され、そして消去は、実施例2と同じだけ速く実行される。実施例3においては、第一のフラッシュ・ユニットの書き込みは、(実施例1と同様に)ランダムな順序で実行され、それから、残りのフラッシュ・ユニット内の高消去優先度領域のロケーションは、第一のフラッシュ・ユニットに従って整列される。実施例3は、第一のフラッシュ・ユニットへの書き込みが実施例1と同じだけ速く、そして緊急消去が実施例2と同じだけ速い。   In another preferred embodiment of the present invention (described in Table 1, Example 3 and described below), data is stored in the flash unit in a manner that combines the advantages of Examples 1 and 2. In Example 3, writing is performed as fast as Example 1, and erasing is performed as fast as Example 2. In Example 3, the writing of the first flash unit is performed in a random order (similar to Example 1), and then the location of the high erase priority area in the remaining flash units is Aligned according to one flash unit. In Example 3, writing to the first flash unit is as fast as Example 1, and emergency erasure is as fast as Example 2.

フラッシュメモリの優先順位付き消去は、少なくとも三つの異なるプロシージャを用いて実行できる。
(1)韓国、水原のサムスン電子から入手可能な、K9F1G08U0Aフラッシュメモリの技術的なデータ・シート内に説明があるような、通常の消去コマンド。
(2)例えば、コレン氏らの米国特許出願第20040188710号に開示されたような、サニタイズ消去。そして
(3)以下に詳細に説明するような、インタラプト消去。
Prioritized erase of flash memory can be performed using at least three different procedures.
(1) Normal erase command as described in the technical data sheet of K9F1G08U0A flash memory available from Samsung Electronics of Suwon, Korea.
(2) Sanitization elimination as disclosed, for example, in US Patent Application No. 20040188710 to Koren et al. And
(3) Interrupt erasure as described in detail below.

本発明で説明する優先順位付き消去プロシージャは、消去プロシージャおよび消去順序の選択を含む。   The prioritized erase procedure described in the present invention includes selection of an erase procedure and an erase order.

したがって、本発明によれば、優先順位付き消去機能を持つ不揮発性記憶デバイスが初めて提供される。このデバイスは、(a)記憶デバイス内にデータを記憶するための記憶メモリ、そして(b)記憶デバイス・コントローラを含む。記憶メモリは、少なくとも一つのフラッシュ・ユニットを持ち、各フラッシュ・ユニットは、複数のブロックを持つ。記憶デバイス・コントローラは、(i)複数のブロック内へデータを書き込むよう、(ii)各ブロックへ消去優先度を指定するよう、そして(iii)緊急消去コマンドを受信すると即座に、各ブロックの消去優先度に従って各ブロック内のデータを消去するよう構成される。なお、各ブロックへ指定される消去優先度は、データの消去優先度と相互に関連する。   Therefore, according to the present invention, a nonvolatile storage device having an erase function with priority order is provided for the first time. The device includes (a) a storage memory for storing data in the storage device, and (b) a storage device controller. The storage memory has at least one flash unit, and each flash unit has a plurality of blocks. The storage device controller (i) writes data into multiple blocks, (ii) assigns an erase priority to each block, and (iii) erases each block as soon as an emergency erase command is received. It is configured to erase data in each block according to priority. Note that the erase priority assigned to each block correlates with the data erase priority.

コントローラは、任意に選択されたブロックに書き込みを実行するよう構成され、そして指定は、データの消去優先度に従って実行されることが好ましい。   The controller is preferably configured to perform a write on an arbitrarily selected block, and the designation is preferably performed according to data erasure priority.

コントローラは、データを書き込む前に消去優先度の指定を実行するよう構成され、そして書き込みは、各ブロックの消去優先度に従って実行されることが好ましい。   The controller is configured to perform an erase priority designation prior to writing data, and the write is preferably performed according to the erase priority of each block.

コントローラは、データの書き込みを、第一のフラッシュ・ユニット内で任意の順序で複数のブロックへ実行するよう構成され、そして以降のフラッシュ・ユニットへの書き込みは、第一のフラッシュ・ユニットにおける順序に相関性を持って実行されることが好ましい。   The controller is configured to perform data writes to the blocks in any order within the first flash unit, and subsequent writes to the flash unit are in order in the first flash unit. It is preferable to execute with correlation.

コントローラは、さらに、(iv)各フラッシュ・ユニット内の共通相対位置を持つブロックへ、共通消去優先度を指定するよう構成されることが最も好ましい。   Most preferably, the controller is further configured to (iv) assign a common erase priority to blocks having a common relative position within each flash unit.

コントローラは、さらに(iv)各ブロックに対する消去優先度のログを記憶するよう、そして(v)緊急消去コマンドを受信すると即座に、ログ内に記憶された消去優先度に従って各ブロック内のデータを消去するよう構成されることが好ましい。   The controller further (iv) stores an erasure priority log for each block, and (v) erases the data in each block according to the erasure priority stored in the log as soon as an emergency erase command is received. It is preferable to be configured to do so.

コントローラによる消去は、複数のブロックの少なくともいくつかに対して、消去を完了する前に消去をアボートすることを含むことが好ましい。   The erasure by the controller preferably includes aborting the erasure for at least some of the plurality of blocks before completing the erasure.

本発明によれば、優先順位付き消去機能を持つハードディスク・ドライブが初めて提供される。このドライブは、(a)ハードディスク・ドライブ内にデータを記憶するための、少なくとも二つのセクターを持つ記憶メモリ、(b)各セクターへ消去優先度を指定するためのメカニズム、そして(c)各セクターの消去優先度に従ってセクターを消去するためのメカニズムを含む。なお、各セクターへ指定される消去優先度は、データの消去優先度と相互に関連する。   According to the present invention, a hard disk drive having an erase function with priority order is provided for the first time. The drive includes: (a) a storage memory having at least two sectors for storing data in the hard disk drive; (b) a mechanism for assigning an erase priority to each sector; and (c) each sector. Includes a mechanism for erasing the sector according to the erasure priority. Note that the erase priority assigned to each sector is correlated with the data erase priority.

これらの実施例および他の実施例を、以下で詳細に説明する。   These and other embodiments are described in detail below.

さて、本発明を、例証としての添付の図面を参照しながら説明する。   The present invention will now be described with reference to the accompanying drawings by way of illustration.

本発明の好適実施例による、物理消去スライスを利用して消去する、優先順位付き消去プロシージャを用いるフラッシュメモリ・システムを表す簡略ブロック図である。1 is a simplified block diagram illustrating a flash memory system using a prioritized erase procedure that erases utilizing a physical erase slice, in accordance with a preferred embodiment of the present invention. FIG. 本発明の好適実施例による、論理消去スライスを利用して消去する、優先順位付き消去プロシージャを用いるフラッシュメモリ・システムを表す簡略ブロック図である。1 is a simplified block diagram illustrating a flash memory system using a prioritized erase procedure that uses a logical erase slice to erase according to a preferred embodiment of the present invention. FIG. 本発明の好適実施例による、優先順位付き消去プロシージャを表す簡略フローチャートである。6 is a simplified flowchart representing a prioritized erase procedure according to a preferred embodiment of the present invention.

本発明は、クリティカリティの低いデータが消去される前に、クリティカリティの高いデータが消去されるよう、記憶デバイス内におけるデータの記憶および消去を管理するためのデバイスに関する。本発明による記憶デバイス内におけるデータの記憶および消去を管理するための原理および作用は、添付の説明および図面を参照することによって良く理解できる。   The present invention relates to a device for managing the storage and erasure of data in a storage device such that high critical data is erased before low critical data is erased. The principles and operation for managing the storage and erasure of data in a storage device according to the present invention may be better understood with reference to the accompanying description and drawings.

上記の表1の実施例1では、書き込みプロセスは任意であり、ログが種々の消去優先度へのブロックの割り当てを詳細に記録し、そして消去はログに従って実行される。   In Example 1 of Table 1 above, the writing process is arbitrary, the log details the allocation of blocks to various erase priorities, and the erase is performed according to the log.

上記表1の実施例2では、書き込みプロセスは、高消去優先度へのブロックの予備アロケーションに従って実行され、消去はそのアロケーションに従って実行される。   In Example 2 of Table 1 above, the writing process is performed according to the preliminary allocation of blocks to a high erase priority, and the erasure is performed according to that allocation.

上記表1の実施例3では、第一のフラッシュ・ユニットの書き込みは、実施例1の場合のように任意に実行される。そのような任意のアロケーションは、それから、残りのフラッシュ・ユニット内のアロケーションを定める。そして消去は、実施例2の場合のように実行される。   In Example 3 of Table 1 above, the writing of the first flash unit is arbitrarily performed as in Example 1. Such any allocation then defines the allocation within the remaining flash units. The erasure is executed as in the second embodiment.

さて、図面を参照する。図1は、本発明の好適実施例による、物理消去スライスを利用して消去する、優先順位付き消去プロシージャを用いるフラッシュメモリ・システムを表す簡略ブロック図である。ホスト・システム20は、フラッシュコントローラ24および複数のフラッシュ・ユニット26を持つフラッシュメモリ・デバイス22に接続された状態で図示されている。   Reference is now made to the drawings. FIG. 1 is a simplified block diagram illustrating a flash memory system using a prioritized erase procedure that erases utilizing a physical erase slice in accordance with a preferred embodiment of the present invention. The host system 20 is shown connected to a flash memory device 22 having a flash controller 24 and a plurality of flash units 26.

各フラッシュ・ユニット26は、消去のために個々にアドレス指定可能な、多数のブロック28を持つ。フラッシュメモリ・ディスク・ドライブのためのそのような構造は、本技術において周知であり、イスラエルのクファ・サバに在るサンディスクIL社から入手可能なFFD-25-UATA-8192-A等のコンポーネント内に見られる。   Each flash unit 26 has a number of blocks 28 that are individually addressable for erasure. Such a structure for a flash memory disk drive is well known in the art and is a component such as FFD-25-UATA-8192-A available from SanDisk IL in Kufa Sabah, Israel. Seen in.

フラッシュ・ユニット26のいくつかのブロック28は、高消去優先度データを収容するように選択されている(図1にブロックHとして示す)。ブロックHの位置は、ホスト・システム20の書き込みメカニズムへ通知される。書き込みメカニズムは、典型的にフラッシュ・コントローラ24であるが、ホスト・システム20であることもある。書き込みメカニズムは、それから、高消去優先度のデータをブロックHへ割り当てる。フラッシュ・ユニット26の他のブロック28は、中および低消去優先度データを収容するように選択される(図1に各々、ブロックMおよびLとして示す)。ブロックMおよびLの位置も、ホスト・システム20の書き込みメカニズムへ通知される。書き込みメカニズムは、それから、より低い消去優先度のデータをブロックMおよびLへ割り当てる。ブロック28へのデータの選択的アロケーションに対しては、多くの消去優先度があってもよい。   Some blocks 28 of the flash unit 26 have been selected to accommodate high erase priority data (shown as block H in FIG. 1). The location of block H is communicated to the write mechanism of host system 20. The write mechanism is typically the flash controller 24 but may be the host system 20. The write mechanism then assigns high erase priority data to block H. The other blocks 28 of the flash unit 26 are selected to accommodate medium and low erase priority data (shown as blocks M and L, respectively, in FIG. 1). The location of blocks M and L is also notified to the write mechanism of host system 20. The write mechanism then assigns lower erase priority data to blocks M and L. There may be many erasure priorities for selective allocation of data to block 28.

本発明による好適実施例においては、いくつかのブロック28には、指定ブロックを優先順位付き消去プロシージャから除外する除外消去優先度が指定される(図1にブロックEとして示す)。データは、緊急消去局面の際に消去される必要がないブロックEへ割り当てることができる。フラッシュメモリ・デバイス22内のデータを緊急に消去する必要が発生した場合、消去メカニズムは、それらの指定消去優先度に従ってブロック28を消去し、また、データが正しい順序で消去されることを確実にする。   In the preferred embodiment according to the present invention, some blocks 28 are designated with an exclusion erase priority that excludes the designated block from the priority erase procedure (shown as block E in FIG. 1). Data can be assigned to block E that does not need to be erased during the emergency erase phase. If there is an urgent need to erase data in the flash memory device 22, the erase mechanism erases the blocks 28 according to their designated erase priority and also ensures that the data is erased in the correct order. To do.

「物理消去スライス」は、いくつかのフラッシュ・ユニットからの数ブロックの集合であり、各選択ブロックは、各々のフラッシュ・ユニット内の同じアドレスを持つ。各フラッシュ・ユニット内の選択消去優先度ブロックの各々が同じアドレスを共有するよう、書き込み時にブロックが割り当てられた場合、物理消去スライスによって、最適な優先順位付き消去を実行することが可能である。   A “physical erase slice” is a collection of several blocks from several flash units, with each selected block having the same address in each flash unit. If the blocks are assigned at the time of writing such that each of the selective erase priority blocks in each flash unit share the same address, it is possible to perform an optimized prioritized erase with a physical erase slice.

図1に示す物理消去スライス30は、フラッシュ・ユニット26を横切るブロック28の集合を表す。図1にブロックHが物理消去スライス30の一部として示されているが、物理消去スライス30は、ブロック28のどの「スライス」をも含むことができる。本発明による好適実施例においては、物理消去スライス30内のブロック28の消去は、同時に実行される。   The physical erase slice 30 shown in FIG. 1 represents a set of blocks 28 that traverse the flash unit 26. Although block H is shown in FIG. 1 as part of physical erase slice 30, physical erase slice 30 may include any “slice” of block 28. In the preferred embodiment according to the present invention, erasure of block 28 in physical erase slice 30 is performed simultaneously.

いくつかのフラッシュメモリ・アーキテクチャにおいては、フラッシュメモリの不均質な構造に起因して、いくつかのブロックの消去は、他のブロックに対する消去よりも高速である。図1に説明する本実施例においては、ブロックを高消去優先度に事前に割り当てられるため、高消去優先度データへのアロケーションには、本質的に高速な消去ブロックを使用することが好ましい。高消去優先度データが高速な消去ブロック内に属する場合、プロトコルが適用できる。そのようなシステムでは、高速な消去ブロックは、より高い消去優先度のデータを収容するように選択される。そうすることによって、高消去優先度データが、より速く消去されることになる。   In some flash memory architectures, erasure of some blocks is faster than erasure for other blocks due to the heterogeneous structure of flash memory. In the present embodiment illustrated in FIG. 1, since blocks are pre-assigned to high erase priority, it is preferable to use essentially fast erase blocks for allocation to high erase priority data. If the high erase priority data belongs to a fast erase block, the protocol can be applied. In such a system, the fast erase block is selected to accommodate higher erase priority data. By doing so, the high erasure priority data will be erased faster.

本実施例においては、高消去優先度ブロックが、フラッシュ・ユニットへランダムに割り当てられることに注意すべきである。消去プロシージャは、一消去サイクル中、各フラッシュ・ユニット内の1ブロックを消去するため、他のフラッシュ・ユニットでは、すべての高消去優先度ブロックが既に消去されたのに、いくつかのフラッシュ・ユニットには、消去すべきブロックが未だに残っているという状況が発生し得る。そのような事態は、効率の損失となる。消去プロシージャは、最後のフラッシュ・ユニット内の最後の高消去優先度ブロックが消去されるまで、各サイクル中、より少数のブロックを消去し続ける。   It should be noted that in this embodiment, high erase priority blocks are randomly assigned to flash units. The erase procedure erases one block in each flash unit during one erase cycle, so that in other flash units, all flash unit priority blocks have already been erased, but some flash units In some cases, there may still be a situation in which there are still blocks to be erased. Such a situation results in a loss of efficiency. The erase procedure continues to erase fewer blocks during each cycle until the last high erase priority block in the last flash unit is erased.

図2は、本発明の好適実施例による、論理消去スライスを利用して消去する、優先順位付き消去プロシージャを用いるフラッシュメモリ・システムを表す簡略ブロック図である。この実施例では、書き込みプロセスは、本発明に関連しない、例えば、米国特許第6,898,662号、Gorobets等のフラッシュメモリ・デバイス構成の従来の技術に開示された工学技術考慮事項によって最適化される。   FIG. 2 is a simplified block diagram illustrating a flash memory system using a prioritized erase procedure that uses a logical erase slice to erase according to a preferred embodiment of the present invention. In this embodiment, the write process is optimized by engineering considerations disclosed in the prior art of flash memory device configurations that are not relevant to the present invention, eg, US Pat. No. 6,898,662, Gorobets et al. Is done.

典型的に、書き込みは、フラッシュ・ユニット26を一つ一つ順に、連続したセットのブロック28に実行されるのではなく、むしろ「全面を横切って」、平行ないくつかのフラッシュ・ユニット26上にデータが書き込まれる。書き込みと同時に、各々の書き込まれたブロック28あるいは少なくともブロックH(すなわち、高消去優先度データが書き込まれるブロック)の消去優先度のログ・テーブル(図示せず)に記録が作成される。本発明の開示の目的で、3レベルの消去優先度があり、そして大部分のブロックが消去優先度を持たない(すなわちブロックE)と仮定する。したがって、ブロックEのデータが非消去のままに残されても全く危険性はない。   Typically, writing is not performed on the flash units 26 one after the other in a contiguous set of blocks 28, but rather “cross the whole surface” on several parallel flash units 26. Data is written to Simultaneously with writing, a record is created in the erase priority log table (not shown) of each written block 28 or at least block H (ie, the block into which high erase priority data is written). For the purposes of this disclosure, it is assumed that there are three levels of erase priority and that most blocks have no erase priority (ie, block E). Therefore, there is no danger if the data in block E is left unerased.

フラッシュメモリ工学技術において既知であるように、マルチユニット・フラッシュメモリ・デバイスの消去は、一つの消去サイクル中にフラッシュ・ユニットの各々の1ブロックが同時に消去されると最も効率的である。しかし、ブロックがそれらの消去優先度に従って予め配置されないなら、物理消去スライスは実行できない。そのようなケースでは、「論理消去スライス」が実行できる。   As is known in flash memory engineering, erasing a multi-unit flash memory device is most efficient when one block of each flash unit is erased simultaneously during one erase cycle. However, a physical erase slice cannot be performed if the blocks are not pre-arranged according to their erase priority. In such a case, a “logical erase slice” can be performed.

「論理消去スライス」は、各々のフラッシュ・ユニット26(例えば、図2のブロックH、MまたはL)からの一つの、任意の代表ブロック28の集合である。この実施例は、単一の消去サイクルが、一回の作動で、各フラッシュ・ユニット26内の異なる位置のブロックを消去できるという事実を利用する。論理消去スライスは、各フラッシュ・ユニット26内の選択ブロック28のアドレスを提供し、それからすべてのフラッシュ・ユニット26に消去コマンドを適用することによって同時に消去でき、各フラッシュ・ユニット26内の選択ブロック28が消去される。そのようなプロシージャは、各フラッシュ・ユニット26内のブロック28を、それらの相対的な消去優先度に従って消去する方法を提供する。   A “logical erase slice” is a collection of any representative block 28 from each flash unit 26 (eg, block H, M or L in FIG. 2). This embodiment takes advantage of the fact that a single erase cycle can erase blocks at different locations within each flash unit 26 in a single operation. The logical erase slice can be erased at the same time by providing the address of the select block 28 in each flash unit 26 and then applying the erase command to all the flash units 26. Is erased. Such a procedure provides a way to erase the blocks 28 in each flash unit 26 according to their relative erase priority.

フラッシュメモリ・デバイス22は、単一の消去サイクルにおいて、一つの物理消去スライスあるいは一つの論理消去スライスを消去することができる。図1においては、データは、物理消去スライスでのブロックの消去に最適なアーキテクチャに組織化される。図2においては、データは任意に組織化される。したがって、論理消去スライスによってブロックを消去するメカニズムが具現されなければならない。   The flash memory device 22 can erase one physical erase slice or one logical erase slice in a single erase cycle. In FIG. 1, the data is organized into an architecture that is optimal for erasing blocks in physical erase slices. In FIG. 2, the data is arbitrarily organized. Therefore, a mechanism for erasing a block by a logical erase slice must be implemented.

フラッシュメモリ・デバイス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)が消去されることになる。あるいは消去のプロセスが外部的に停止されるまで継続する。   If the flash memory device 22 needs to be erased urgently, the flash controller 24 checks the log table to find the highest erase priority block for each flash unit 26. A set of blocks H from each flash unit 26 becomes a logical erase slice 32 as shown in FIG. The logical erase slice 32 is erased and the log table is updated to reflect that these blocks have been erased. It should be noted that not all blocks H in the logical erase slice 32 are erased, only one block H from each flash unit 26 is erased. The flash controller 24 then selects the next highest erase priority block (eg, block M) within each flash unit 26. A set of blocks M from each flash unit 26 becomes the logical erase slice 34 to be erased, and the log table is updated again. This process continues until there are no high erase priority blocks in the flash unit 26 (eg, logical erase slices 36 and 38). In practice, even after the logical erase slice 32 is erased, the next selected logical erase slice may contain only block H. Such a procedure continues until there is no more block H in the log table, and then the logical erase slice 34 (ie, block M) will be erased. Alternatively, it continues until the erase process is stopped externally.

図3は、本発明の好適実施例による、優先順位付き消去プロシージャを表す簡略フローチャートである。ホスト・システムから緊急消去コマンドを受信すると、フラッシュメモリ・デバイスのコントローラは、優先順位付き消去プロシージャを開始する(ステップ40)。コントローラは、消去すべき消去優先ブロックがあるかどうかをチェックする(ステップ42)。消去すべき消去優先ブロックが全くない場合、優先順位付き消去プロシージャは終了する(ステップ44)。消去すべき消去優先ブロックがある場合、コントローラは、検査すべきフラッシュ・ユニットが残っているかどうかをチェックする(ステップ46)。検査すべきフラッシュ・ユニットが未だ在る場合、コントローラは、次のフラッシュ・ユニット内の最高消去優先度ブロックを検索し(ステップ48)、そして現在の論理消去スライスへそのブロックを付加するよう進行する(ステップ50)。それから、コントローラは、検査すべきフラッシュ・ユニットが残っているかどうかを再びチェックする(ステップ46)。すべてのフラッシュ・ユニットが検査されると、現在の論理消去スライスが消去される(ステップ52)。このとき、論理消去スライス内に含まれるすべてのブロックが、平行に消去される。そして、それに応じて、ログ・テーブルが更新される(ステップ54)。   FIG. 3 is a simplified flowchart representing a prioritized erase procedure according to a preferred embodiment of the present invention. Upon receiving an emergency erase command from the host system, the flash memory device controller initiates a prioritized erase procedure (step 40). The controller checks whether there is an erase priority block to be erased (step 42). If there are no erase priority blocks to be erased, the prioritized erase procedure ends (step 44). If there is an erase priority block to be erased, the controller checks whether there are any flash units remaining to be examined (step 46). If there are more flash units to examine, the controller searches for the highest erase priority block in the next flash unit (step 48) and proceeds to add the block to the current logical erase slice. (Step 50). The controller then checks again whether there are any remaining flash units to be tested (step 46). When all flash units have been examined, the current logical erase slice is erased (step 52). At this time, all the blocks included in the logical erase slice are erased in parallel. Accordingly, the log table is updated accordingly (step 54).

本発明による好適実施例においては、「フル消去」サイクルの代わりに、「インタラプト消去」サイクルを用いる。フル消去サイクルは、比較的に長時間、典型的に2.5ミリ秒を費やす消去プロシージャであり、メモリ・ブロックのすべてのビットが1ロジックへセットされるという点で消去が「クリーン」であることを確実にする。消去プロシージャが短くなると、いくつかのビットが1ロジックへセットされないという危険性がある。数千ブロックを持つフラッシュメモリが消去され、そして各ブロックがフル消去サイクルで消去される場合、全消去時間は、何十秒にもなる可能性がある。緊急事態において、消去プロシージャが、すべてのブロックが消去される前に短く中断される危険性がある。   In the preferred embodiment of the present invention, instead of a “full erase” cycle, an “interrupt erase” cycle is used. A full erase cycle is an erase procedure that spends a relatively long time, typically 2.5 milliseconds, and the erase is “clean” in that all bits of the memory block are set to one logic. Make sure. If the erase procedure is shortened, there is a risk that some bits will not be set to one logic. If a flash memory with thousands of blocks is erased and each block is erased in a full erase cycle, the total erase time can be tens of seconds. In an emergency situation, there is a risk that the erase procedure will be interrupted briefly before all the blocks are erased.

緊急消去時間は、2.5msサイクルの一部分を一つのブロックを消去するために割り当てることで、より効果的に利用でき、2.5ms内でより多くのブロックを消去可能である。典型的に、フル消去サイクルの50%未満が実行された後、大部分のビットは、それらの本来の論理状態を失う。完全には消去されていないビットの残りの総数は、情報を実質的に利用不可能にする程度に少ないものである。したがって、フル消去サイクル時間を用いて50%のブロックを消去するのではなく、フル消去サイクル時間の50%を用いて二倍の数のブロックを消去することが好ましい。インタラプト消去サイクルの所要時間の決定は、工学技術的考慮事項、そして優先順位付き消去プロシージャに利用可能な総時間に関する推定に基づいて、公称フル消去サイクルの0%から100%のいずれにも設定可能であることは明らかである。   The emergency erase time can be used more effectively by allocating a portion of the 2.5 ms cycle to erase one block, and more blocks can be erased within 2.5 ms. Typically, after less than 50% of the full erase cycle is performed, most bits lose their original logic state. The remaining total number of bits that have not been completely erased is small enough to make the information substantially unavailable. Therefore, it is preferable to erase twice the number of blocks using 50% of the full erase cycle time rather than erasing 50% of the blocks using the full erase cycle time. Determination of interrupt erase cycle duration can be set between 0% and 100% of the nominal full erase cycle based on engineering considerations and an estimate of the total time available for the prioritized erase procedure Obviously.

インタラプト消去サイクルを実行するための一つの可能な方法は、(両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タイプ・フラッシュメモリにおける「リセット」コマンド。
One possible way to perform an interrupt erase cycle is that flash memory (for both NOR and NAND type flash memory) is “blind” for many commands during the erase cycle, for example To take advantage of the fact that it reacts to a special "abort" command:
(1) “Reset” command in NOR type flash memory as described in “http://www.samsung.com/Products/Semiconductor/MCP/NORbased/K5L5628JBM/K5L5628JBM.htm”.
(2) “Suspend erase” command in NOR type flash memory as described in “http://www.electronicstalk.com/news/sor/sor100.html”. And
(3) For example, a NAND type as described in the Samsung K9F1G08U0A data sheet of “http://www.samsung.com/Products/Semiconductor/NANDFlash/SLC_LargeBlock/1Gbit/K9F1G08U0A/ds_k9flg08x0a_rev10.pdf” “Reset” command in flash memory.

サムスンK9F1G08U0Aのデータ・シートには、「デバイスは、コマンド・レジスタへのFFhの書き込みによって実行されるリセット機能を提供する。デバイスが、ランダム・リード、プログラムまたは消去モード中、ビジー状態にあるとき、リセット動作は、これらの作動をアボートすることになる。」との記載がある。   The Samsung K9F1G08U0A data sheet states, “The device provides a reset function that is performed by writing FFh to the command register. When the device is busy during random read, program or erase mode, The reset operation aborts these operations. "

これらのコマンドは、フル消去サイクルよりも非常に短い。(NANDタイプ・フラッシュメモリにおいては、フル消去サイクルが2.5msを要するが、リセット・コマンドは、最大で0.5msを要する。)フル消去サイクルがアボートされると、メモリは、いかなる目的にも有益でないランダムな状態のままとなる。二つの完全なフル消去サイクルを実行するよりも、5つのフル消去サイクルを開始して、(各々が0.5msを消費する5つのリセット・コマンドを用いて)それらサイクルを各々0.5ms後にアボートするよう、5msの時間を利用することが好ましい。両選択肢は、フル5msの時間を消費する。   These commands are much shorter than a full erase cycle. (In NAND type flash memory, a full erase cycle takes 2.5 ms, but a reset command takes up to 0.5 ms.) When a full erase cycle is aborted, the memory can be used for any purpose. It remains in a random state that is not useful. Rather than performing two complete full erase cycles, start five full erase cycles and abort them after 0.5 ms each (using five reset commands each consuming 0.5 ms) It is preferable to use a time of 5 ms. Both options consume a full 5ms of time.

(表1、実施例3に示す)本発明の好適実施例では、第一のフラッシュ・ユニットの書き込みは、より高い消去優先度のデータを受信するブロックを記録しながら、任意の方式で実行できる。第一のフラッシュ・ユニットへの書き込み後、以降のフラッシュ・ユニットが、第一のフラッシュ・ユニットの順序と相互に関係する順序で書き込まれる。典型的に、以降のフラッシュ・ユニットは、第一のフラッシュ・ユニットの高消去優先度ブロックに整列されるため、すべてのフラッシュ・ユニット内の同じ(または相互に関連した)アドレスを持つブロックは、同じ消去優先度を持つデータを受信する。このことは、システムが、(上記に説明し、図2に示した)論理消去スライスの構造を通過することを必要とせず、平行に同じアドレスを持つブロックを消去することによって、高消去優先度データを消去することを可能にする。   In the preferred embodiment of the present invention (shown in Table 1, Example 3), the writing of the first flash unit can be performed in any manner while recording the blocks that receive the higher erasure priority data. . After writing to the first flash unit, subsequent flash units are written in an order that is interrelated with the order of the first flash unit. Typically, subsequent flash units are aligned with the high erase priority block of the first flash unit, so blocks with the same (or correlated) address in all flash units are Receive data with the same erasure priority. This eliminates the need for the system to go through the structure of the logical erase slice (described above and shown in FIG. 2), and by erasing blocks with the same address in parallel, Allows erasing data.

注目すべきは、高消去優先度データのために高速消去ブロックを用いること、そして高消去優先度データを共通物理消去スライスに整列させることは、矛盾するプロトコルではなく、好適に一緒に実行できることである。高消去優先度ブロックは、フラッシュ・ユニットの「より高速な部分」に記憶されるが、ブロックは第一のフラッシュ・ユニット内にランダムな順序で記憶される。このランダムな順序は、すべての他のフラッシュ・ユニットに対する順序を定めるため、高消去優先度データは、共通物理消去スライス内に存在することになる。   It should be noted that using a fast erase block for high erase priority data and aligning the high erase priority data to a common physical erase slice is not a conflicting protocol, but can be performed well together. is there. The high erase priority block is stored in the “faster part” of the flash unit, but the blocks are stored in random order in the first flash unit. Since this random order defines the order for all other flash units, high erase priority data will be present in the common physical erase slice.

論理消去スライスの消去、そして物理消去スライスの消去が、同じ順序の消去へ(したがって、同じレベルの最適化へ)導く可能性があるが、物理消去スライスは、(1)より単純に実行でき、そして(2)論理消去スライスを用いる実施例よりも、管理データの管理および記憶の必要が少ない、ということに注目すべきである。したがって、物理消去スライスを用いる実施例が好ましい。   Although erasing logical erase slices and erasing physical erase slices can lead to the same order of erasures (and thus to the same level of optimization), physical erase slices can be performed more simply than (1) It should be noted that (2) management data need not be managed and stored as compared to the embodiment using the logical erase slice. Therefore, an embodiment using a physical erase slice is preferred.

ハードディスク・ドライブは、本発明がカバーする記憶デバイスの典型例であることに留意すべきである。本発明は、フラッシュメモリ記憶デバイスへのみ限定されることはなく、以下の機能の少なくともいくつかを特徴とする記憶システムへ適用でき、それらをカバーすることを意図している。
(1)記憶デバイスは、各々が個々に消去可能な、多くのサブユニットに分割されている。
(2)サブユニットの消去時間は、比較的に長いプロセスである。
(3)サブユニットの完全な消去は、アボートされた消去よりも非常に長い時間を要する。そして
(4)記憶デバイス・コントローラは、どのサブユニット内にもデータを記憶するという柔軟性を持つ。
It should be noted that the hard disk drive is a typical example of the storage device covered by the present invention. The present invention is not limited to flash memory storage devices but is applicable to and covers storage systems featuring at least some of the following functions.
(1) The storage device is divided into a number of subunits, each erasable individually.
(2) The subunit erasing time is a relatively long process.
(3) Complete erasure of subunits takes much longer than aborted erasure. And
(4) The storage device controller has the flexibility to store data in any subunit.

本発明を限られた数の実施例に関して説明したが、本発明の多くの変形、修正、そして他の応用が可能であることは明らかである。   Although the invention has been described with respect to a limited number of embodiments, it will be appreciated that many variations, modifications and other applications of the invention are possible.

Claims (10)

(a)各々が複数のブロックで構成される複数のフラッシュ・ユニットを有する不揮発性記憶デバイスに備えられて、データを記憶するための記憶メモリと、
(b)
(i)データ消去優先度を付与してデータを、前記複数のフラッシュ・ユニットを構成する前記複数のブロックの任意のブロックへ書き込むよう動作し、
(ii)前記データが書き込まれたブロックのそれぞれに、書き込まれたデータに付与されたデータ消去優先度と相関関係を持つブロック消去優先度を指定するよう動作し、
(iii)前記複数のフラッシュ・ユニット間で、同一のブロック消去優先度が指定されているブロックを指定する論理消去スライス優先度を指定するよう動作し、
(iv)緊急消去コマンドを受信すると、前記論理消去スライス優先度に従って前記複数の全てのフラッシュ・ユニットの各ブロック内の前記データを消去するよう動作するコントローラと、
を備える優先順位付き消去機能を持つ、不揮発性記憶デバイス。
(A) a storage memory for storing data provided in a non-volatile storage device having a plurality of flash units each composed of a plurality of blocks;
(B)
(I) giving data erasing priority and operating data to be written to any block of the plurality of blocks constituting the plurality of flash units;
(Ii) For each of the blocks in which the data is written, an operation is performed so as to designate a block erase priority correlated with the data erase priority given to the written data;
(Iii) An operation is performed to designate a logical erase slice priority that designates a block in which the same block erase priority is designated among the plurality of flash units.
(Iv) upon receiving an emergency erase command, a controller that operates to erase the data in each block of all of the plurality of flash units according to the logical erase slice priority;
A non-volatile storage device having a prioritized erase function.
前記コントローラが、
(v)各ブロックの前記論理消去スライス優先度のログを記憶するよう動作し、
(vi)前記緊急消去コマンドを受信すると、前記ログ内に記憶された前記論理消去スライス優先度に従って前記複数の全てのユニットのブロック内の前記データを消去するよう動作する、請求項1に記載のデバイス。
The controller is
(V) operate to store a log of the logical erase slice priority for each block;
(Vi) upon receiving the emergency erase command, operative to erase the data in a block of all of the plurality of units according to the logical erase slice priority stored in the log. device.
前記コントローラによる前記消去が、前記複数のブロックの少なくともいくつかに対して、前記ブロック内の少なくとも一部のデータを消去することにより行われる、請求項1または2に記載のデバイス。   The device according to claim 1 or 2, wherein the erasure by the controller is performed by erasing at least some data in the block for at least some of the plurality of blocks. (a)各々が複数のブロックで構成される複数のフラッシュ・ユニットを有する不揮発性記憶デバイスに備えられて、データを記憶するための記憶メモリと、
(b)
(i)前記複数のフラッシュ・ユニットを構成する前記複数のブロックに、前記複数のフラッシュ・ユニット間において所定の順序でブロック消去優先度の指定を実行するよう動作し、
(ii)データ消去優先度を付与してデータを、前記データ消去優先度と相関関係を持つブロック消去優先度が指定されたブロックに書き込むよう動作し、
(iii)緊急消去コマンドを受信すると、前記ブロック消去優先度に従って前記複数の全てのフラッシュ・ユニットの各ブロック内の前記データを消去するよう動作するコントローラと、
を備える優先順位付き消去機能を持つ不揮発性記憶デバイス。
(A) a storage memory for storing data provided in a non-volatile storage device having a plurality of flash units each composed of a plurality of blocks;
(B)
(I) The block constituting the plurality of flash units operates to execute designation of block erase priority in a predetermined order between the plurality of flash units;
(Ii) An operation is performed such that data erasure priority is assigned and data is written to a block having a block erasure priority designated with a correlation with the data erasure priority,
(Iii) upon receipt of an emergency erase command, a controller that operates to erase the data in each block of all of the plurality of flash units according to the block erase priority;
A non-volatile storage device having a prioritized erase function.
前記コントローラによる前記消去が、前記複数のブロックの少なくともいくつかに対して、前記ブロック内の少なくとも一部のデータを消去するよう動作する、請求項4に記載のデバイス。   The device of claim 4, wherein the erasure by the controller is operative to erase at least some data in the block for at least some of the plurality of blocks. 各々が複数のブロックで構成される複数のフラッシュ・ユニットおよびコントローラを有する不揮発性記憶デバイスにおいて、前記不揮発性記憶デバイスに記憶されたデータを、前記コントローラが優先順位付き消去する方法であって、
データ消去優先度を付与してデータを、前記複数のフラッシュ・ユニットを構成する前記複数のブロックの任意のブロックへ書き込むステップと、
前記データが書き込まれたブロックのそれぞれに、書き込まれたデータに付与されたデータ消去優先度と相関関係を持つブロック消去優先度を指定するステップと、
前記複数のフラッシュ・ユニット間で、同一のブロック消去優先度が指定されているブロックを指定する論理消去スライス優先度を指定するステップと、
緊急消去コマンドを受信すると、前記論理消去スライス優先度に従って前記複数の全てのフラッシュ・ユニットの各ブロック内の前記データを消去するステップと、
を備える、方法。
A non-volatile storage device having a plurality of flash units each composed of a plurality of blocks and a controller , wherein the controller erases data stored in the non-volatile storage device with priority.
Writing data to an arbitrary block of the plurality of blocks constituting the plurality of flash units by giving a data erasing priority; and
Designating a block erase priority having a correlation with a data erase priority assigned to the written data for each of the blocks in which the data is written;
Designating a logical erase slice priority for designating a block having the same block erase priority designated among the plurality of flash units;
Erasing the data in each block of all of the plurality of flash units according to the logical erase slice priority upon receipt of an emergency erase command;
A method comprising:
前記コントローラが、
各ブロックの前記論理消去スライス優先度のログを記憶するよう動作するステップを備え、
前記データを消去するステップが、前記緊急消去コマンドを受信すると、前記ログ内に記憶された前記論理消去スライス優先度に従って前記複数の全てのフラッシュ・ユニットの各ブロック内の前記データを消去するよう動作するステップを含む、請求項6に記載の方法。
The controller is
Operative to store a log of said logical erase slice priority for each block;
The step of erasing the data, when receiving the emergency erase command, operates to erase the data in each block of all the plurality of flash units according to the logical erase slice priority stored in the log The method of claim 6 including the step of:
前記データを消去するステップが、前記複数のブロックの少なくともいくつかに対して、前記ブロック内の少なくとも一部のデータを消去するステップを含む、請求項6または7に記載の方法。   The method of claim 6 or 7, wherein erasing the data comprises erasing at least some data in the block for at least some of the plurality of blocks. 各々が複数のブロックで構成される複数のフラッシュ・ユニットおよびコントローラを有する不揮発性記憶デバイスにおいて、前記不揮発性記憶デバイスに記憶されたデータを、前記コントローラが優先順位付き消去する方法であって、
前記複数のフラッシュ・ユニットを構成する前記複数のブロックに、前記複数のフラッシュ・ユニット間において所定の順序でブロック消去優先度の指定するステップと、
データ消去優先度を付与してデータを、前記データ消去優先度と相関関係を持つブロック消去優先度が指定されたブロックに書き込むステップと、
緊急消去コマンドを受信すると、前記ブロック消去優先度に従って前記複数の全てのフラッシュ・ユニットの各ブロック内の前記データを消去するステップと、
を備える、方法。
A non-volatile storage device having a plurality of flash units each composed of a plurality of blocks and a controller , wherein the controller erases data stored in the non-volatile storage device with priority.
Designating block erasure priority in a predetermined order among the plurality of flash units to the plurality of blocks constituting the plurality of flash units;
A step of assigning a data erasing priority and writing the data to a block designated with a block erasing priority correlated with the data erasing priority;
Receiving an emergency erase command, erasing the data in each block of all of the plurality of flash units according to the block erase priority;
A method comprising:
前記消去するステップが、前記複数のブロックの少なくともいくつかに対して、前記ブロック内の少なくとも一部のデータを消去するステップを含む、請求項9に記載の方法。   The method of claim 9, wherein the erasing comprises erasing at least some data in the block for at least some of the plurality of blocks.
JP2012141348A 2006-09-04 2012-06-22 Device and method for prioritized erase of flash memory Expired - Fee Related JP5486047B2 (en)

Applications Claiming Priority (6)

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,378 US7975119B2 (en) 2006-09-04 2007-05-03 Device for prioritized erasure of flash memory
US11/797,378 2007-05-03
US11/797,377 2007-05-03

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009527279A Division JP5065395B2 (en) 2006-09-04 2007-09-02 Device and method for prioritized erase of flash memory

Publications (2)

Publication Number Publication Date
JP2012216234A JP2012216234A (en) 2012-11-08
JP5486047B2 true JP5486047B2 (en) 2014-05-07

Family

ID=38917809

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009527279A Expired - Fee Related JP5065395B2 (en) 2006-09-04 2007-09-02 Device and method for prioritized erase of flash memory
JP2012141348A Expired - Fee Related JP5486047B2 (en) 2006-09-04 2012-06-22 Device and method for prioritized erase of flash memory

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2009527279A Expired - Fee Related JP5065395B2 (en) 2006-09-04 2007-09-02 Device and method for prioritized erase of flash memory

Country Status (5)

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

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5338306B2 (en) * 2008-12-26 2013-11-13 富士通株式会社 Data storage device and data management method in data storage device
WO2010128963A1 (en) * 2009-05-04 2010-11-11 Hewlett-Packard Development Company, L.P. Storage device erase command having a control field controllable by a requestor device
CN102741822B (en) * 2010-12-13 2015-09-09 联发科技(新加坡)私人有限公司 Mobile device, NOR flash memory controller and method of operating thereof and error recovery method
TWI423023B (en) 2011-04-22 2014-01-11 Silicon Motion Inc Data selection method for flash memory and data storage device
JP6107286B2 (en) * 2013-03-25 2017-04-05 日本電気株式会社 Distributed storage system, node, data management method, and program
JP6253009B2 (en) * 2013-08-28 2017-12-27 東海光学株式会社 Optical products and eyeglass lenses
KR20150116352A (en) 2014-04-07 2015-10-15 삼성전자주식회사 Memory control method and system
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 (en) * 2016-08-19 2019-05-10 浪潮(北京)电子信息产业有限公司 A kind of method and device selecting garbage reclamation block
CN107463341A (en) * 2017-08-25 2017-12-12 上海闻泰电子科技有限公司 Method for deleting, device and the mobile terminal of FLASH chip
CN109817271A (en) * 2018-11-21 2019-05-28 中国航空工业集团公司洛阳电光设备研究所 A kind of detection method of solid state hard disk bad block

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3359942B2 (en) * 1992-10-29 2002-12-24 株式会社東芝 Memory card device
CN2168322Y (en) * 1993-02-22 1994-06-08 傅忠民 Erasable and programmable accumulator
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 (en) * 2003-06-03 2007-09-19 株式会社リコー Image control apparatus, image forming apparatus, image control method, image control program, and recording medium
JP2006155159A (en) * 2004-11-29 2006-06-15 Fuji Electric Holdings Co Ltd Tamper-proof device

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5486047B2 (en) Device and method for prioritized erase of flash memory
US7975119B2 (en) Device for prioritized erasure of flash memory
US8041879B2 (en) Flash memory backup system and method
US8966163B2 (en) Non-volatile memory device and method for programming the same
KR101563875B1 (en) Method and system for balancing host write operations and cache flushing
US8117414B2 (en) Method for prioritized erasure of flash memory
JP5418808B2 (en) Adaptive hybrid density memory storage control method and adaptive hybrid density memory storage
US8225050B2 (en) Memory storage device and a control method thereof
TW200845016A (en) Non-volatile memory with dynamic multi-mode operation
JP2008198206A (en) Data processing system, operation method therefor, data processing device, and operation method for data storage device
US20100030948A1 (en) Solid state storage system with data attribute wear leveling and method of controlling the solid state storage system
US8274840B2 (en) Nonvolatile memory devices having built-in memory cell recovery during block erase and methods of operating same
JP2009230414A (en) Storage device having plurality of nonvolatile memory devices
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
US9304906B2 (en) Memory system, controller and control method of memory
WO2014185038A1 (en) Semiconductor storage device and control method thereof
US20160124844A1 (en) Data storage device and flash memory control method
JP3977859B2 (en) Nonvolatile semiconductor memory device and control method thereof
JP2003242788A (en) Nonvolatile semiconductor memory device and control method therefor
JP2006053950A (en) Nonvolatile semiconductor memory device and its control method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131018

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140108

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140220

R150 Certificate of patent or registration of utility model

Ref document number: 5486047

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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