KR101429898B1 - 플래시 메모리의 우선순위 삭제 디바이스 및 방법 - Google Patents

플래시 메모리의 우선순위 삭제 디바이스 및 방법 Download PDF

Info

Publication number
KR101429898B1
KR101429898B1 KR1020097004581A KR20097004581A KR101429898B1 KR 101429898 B1 KR101429898 B1 KR 101429898B1 KR 1020097004581 A KR1020097004581 A KR 1020097004581A KR 20097004581 A KR20097004581 A KR 20097004581A KR 101429898 B1 KR101429898 B1 KR 101429898B1
Authority
KR
South Korea
Prior art keywords
priority
data
blocks
deletion
storage device
Prior art date
Application number
KR1020097004581A
Other languages
English (en)
Other versions
KR20090047513A (ko
Inventor
에란 에레즈
Original Assignee
샌디스크 아이엘 엘티디
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 샌디스크 아이엘 엘티디 filed Critical 샌디스크 아이엘 엘티디
Publication of KR20090047513A publication Critical patent/KR20090047513A/ko
Application granted granted Critical
Publication of KR101429898B1 publication Critical patent/KR101429898B1/ko

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)

Abstract

우선순위 삭제 능력을 가진 저장 디바이스 및 방법으로서, 각각 복수의 블록을 가진 적어도 하나의 플래시 유닛을 갖춘 데이터 저장용 메모리; 및 복수의 블록에 데이터를 기록하고, 블록 각각에 상기 데이터의 삭제 우선순위와 관련된 삭제 우선순위를 할당하고, 그리고 긴급 삭제 커맨드를 수신한 때 각각의 블록의 삭제 우선순위에 따라 각각의 블록 내의 데이터를 삭제하도록 구성된 컨트롤러를 포함하는 저장 디바이스 및 방법이 개시된다. 바람직하게는, 상기 컨트롤러는 제1플래시 유닛에 임의의 순서로 복수의 블록에의 데이터의 기록을 수행하도록 구성되어 있고, 후속의 플래시 유닛에의 기록은 상기 제1플래시 유닛 내의 상기 순서와 연관되어 수행된다. 바람직하게는, 상기 삭제는 복수의 블록의 적어도 일부에 대하여, 삭제를 완료하기 전에 삭제를 중단하는 것을 포함한다.
저장 디바이스, 플래시 유닛, 컨트롤러, 우선순위 삭제 방법, 삭제 우선순위, 로그 테이블, 긴급 삭제 커맨드, 물리적 삭제 슬라이스, 논리적 삭제 슬라이스.

Description

플래시 메모리의 우선순위 삭제 디바이스 및 방법{DEVICE AND METHOD FOR PRIORITIZED ERASURE OF FLASH MEMORY}
본 발명은 덜 크리티컬한 데이터가 삭제되기 전에 더 크리티컬 데이터가 삭제되는 방식으로 저장 디바이스 내에 데이터를 저장하고 삭제하는 것을 관리하는 디바이스에 관한 것이다.
저장 디바이스 내의 데이터를 삭제할 필요성은 컴퓨터 공학 분야에서 주지되어 있고, 일반적으로 두 가지 대안의 필요에 의해 동기부여된다:
(1) 새로운 데이터를 위한 공간을 삭제할 필요성; 및
(2) 보안 영역을 가진 저장 디바이스에 대하여 비밀 정보를 파괴해야할 필요성.
첫번째 이유는 긴급하지 않으나, 두번째 이유는 중요한 상황에서 매우 치명적이다. 데이터 삭제에 대한 판단과 저장 디바이스 상에서의 컨트롤 손실 사이의 "시간 창(window of time)"은 매우 짧을 수 있다. 종종, 저장 디바이스를 삭제하기 위해 사용가능한 시간은 전체 저장 디바이스의 완전한 삭제를 위해 필요한 시간 보다 더 짧다. 불행하게도, 종래기술은 더 크리티컬한 데이터가 덜 크리티컬한 데이터가 삭제되기 전에 삭제되도록 삭제 프로시저를 조직화하는 방법을 교시하지 않 는다.
크리티컬 삭제가 필요할 때, 가장 크리티컬한 데이터가 먼저 삭제됨을 보장하는 디바이스를 가지는 것이 바람직할 것이다. 이러한 우선순위 삭제 프로시저는 시간 크리티컬 상황에서 최선의 선택 솔루션을 제공할 것이다.
본 발명의 목적은 덜 크리티컬한 데이터가 삭제되기 전에 더 크리티컬한 데이터가 삭제되는 방식으로 저장 디바이스 내의 데이터 저장 및 삭제를 관리하는 디바이스를 제공하는 것이다.
명료함을 위해, 아래의 몇 가지 용어는 본 명세서에서 사용하기 위해 특별히 정의된다. 용어 "삭제 프로시저"는, 본 명세서에서, (1) 그 블록의 모든 셀을 동일한 논리값으로 설정하거나, 또는 (2) 그 블록의 모든 셀의 컨텐츠를 랜덤화함으로써, 블록의 컨텐츠가 사용불가능하게 렌더링하는 전기적 프로세스를 의미한다. 용어 "우선순위 삭제"는, 본 명세서에서, 메모리의 일부가 삭제 우선순위 프로토콜에 따라 삭제되는 삭제 프로시저를 의미한다. 용어 "블록"은, 본 명세서에서, 플래시 메모리 저장 디바이스의 물리적 부분을 의미한다. 용어 "새니타이즈드 삭제(sanitized erasure)"는, 본 명세서에서, 디지털 메모리의 컨텐츠가 임의의 포렌식(forensic) 방법에 의해 복원될 수 없도록 파괴하는 삭제 프로시저를 의미한다. 이러한 새니타이즈드 삭제는 컨텐츠를 일반적인 판독 커맨드에 대하여 사용불가능하게 만드는 일반적인 삭제 프로시저와 대조적이지만, 발전된 기술적 수단에 의한 복원을 차단하지 못할 수 있다. 용어 "플래시 유닛"은, 본 명세서에서, 플래시 메모리 디바이스 내의 플래시 메모리의 일부를 의미한다.
본 발명은 단일 레벨 셀(SLC) 플래시 메모리와 멀티 레벨 셀(MLC)에 모두 적용한다. 이하 설명은 주로 SLC 셀에 초점을 두지만, 본 발명을 MLC(및 일반적으로 다른 비휘발성 저장 디바이스)에 적용하는 방법은 당업자들에게 자명할 것이다. 용어 "삭제", 및 "기록"은, 본 명세서에서, 메모리 셀의 임계 전압을 설정하는 것을 의미하는데, 삭제는 전형적으로 1-논리값에 대응하는 전압으로 설정하고, 기록은 전형적으로 SLC 셀에 대하여 0-논리값에 대응하는 전압으로 설정한다. 용어 "기록" 및 "프로그래밍"은 본 명세서에서 상호치환적으로 사용된다. 본 발명은 특히 한번에 한 페이지가 판독되고 프로그래밍되는 NAND 타입 플래시 메모리에 적용가능하다.
표 1은 본 발명의 3가지 대안의 실시예를 보여준다.
Figure 112009013326772-pct00001
본 발명의 한 바람직한 실시예에서, 데이터는 표 1, 실시예 1에 도시되고, 아래에 서술된 바와 같이, 기록 할당에 임의의 제약을 지시하지 않는 임의의 방식으로 플래시 메모리에 저장된다. 그 보다는, 크리티컬 데이터를 포함하는 기록된 블록의 위치가 기록되고, 삭제는 이 기록에 따라 수행된다.
본 발명의 다른 바람직한 실시예에서, 데이터는 표 1, 실시예 2에 도시되고, 아래에 서술된 바와 같이, 높은 삭제 우선순위의 데이터의 최우선 삭제를 보장하는 방식으로 플래시 유닛 내에 저장된다. 플래시 유닛의 특정 영역은 높은 삭제 우선순위 블록용으로 확보(reserve)된다. 긴급 상황에서, 이 확보된 영역은 플래시 유닛의 임의의 다른 부분 보다 먼저 삭제된다. 데이터 기록을 위해 사용가능한 블록의 위치는 각각의 블록의 삭제 우선순위에 따라 미리 결정된다.
본 발명의 다른 바람직한 실시예에서, (표 1, 실시예 3에 도시되고, 아래에 서술된 바와 같이), 데이터는 실시예 1과 2의 장점을 결합한 방식으로 플래시 유닛에 저장되고, 실시예 1과 같이 기록이 빠르게 수행되고, 실시예 2와 같이 삭제가 빠르게 수행된다. 제1플래시 유닛의 기록이 (실시예 1과 유시한) 실시에 3에서 랜덤한 순서로 수행된 다음, 나머지 플래시 유닛에서 높은 삭제 우선순위 영역의 위치가 제1플래시 유닛에 따라 할당된다. 실시예 3은 제1플래시 유닛을 기록하는데 있어서 실시예 1 만큼 빠르고, 긴급 삭제시 실시예 2 만큼 빠르다.
플래시 메모리의 우선순위 삭제는 적어도 3가지 상이한 프로시저를 사용하여 구현될 수 있다:
(1) 대한민국 수원, 삼성전자로부터 사용가능한 'K9F1G08U0A' 플래시 메모리의 기술 데이터 시트에 서술된 바와 같은, 일반적인 삭제 커맨드;
(2) 'Koren et al.'의 미국특허 출원번호 제20040188710호에 교시된 바와 같은, 새니타이즈드 삭제; 및
(3) 아래 서술된 바와 같은, 인터럽트식 삭제.
본 발명에 서술된 우선순위 삭제는 삭제 프로시저 및 삭제 순서의 선택을 모두 포함한다.
그러므로, 본 발명에 따라, 처음으로 우선순위 삭제 능력을 가진 비휘발성 저장 디바이스가 제공되는데, 본 디바이스는 (a) 저장 디바이스에 데이터를 저장하기 위한 저장 메모리로서, 각각 복수의 블록을 가진 적어도 하나의 플래시 유닛을 갖춘 저장 메모리; 및 (b) 저장 디바이스 컨트롤러로서, (ⅰ) 복수의 블록에 데이터를 기록하고, (ⅱ) 블록 각각에 데이터의 삭제 우선순위와 관련된 삭제 우선순위를 할당하고, 그리고 (ⅲ) 긴급 삭제 커맨드를 수신한 때 각각의 블록의 삭제 우선순위에 따라 각각의 블록 내의 데이터를 삭제하도록 구성된 저장 디바이스 컨트롤러를 포함한다.
바람직하게는, 상기 컨트롤러는 임의선택된 블록에 기록을 수행하도록 구성되어 있고, 상기 할당은 데이터의 삭제 우선순위에 따라 수행된다.
바람직하게는 상기 컨트롤러는 데이터의 기록 전에 삭제 우선순위의 상기 할당을 수행하도록 구성되어 있고, 상기 기록은 각각의 블록의 삭제 우선순위에 따라 수행된다.
바람직하게는, 상기 컨트롤러는 제1플래시 유닛에 임의의 순서로 복수의 블록에 데이터의 기록을 수행하도록 구성되어 있고, 후속의 플래시 유닛에의 기록은 제1플래시 유닛 내의 상기 순서와 연관되어 수행된다.
가장 바람직하게는, 상기 컨트롤러는 (ⅳ) 상기 플래시 유닛 각각에 공통적인 상대 위치를 가진 블록에 공통의 삭제 우선순위를 할당하도록 더 구성된다.
바람직하게는, 상기 컨트롤러는 (ⅳ) 각각의 블록에 대한 삭제 우선순위의 로그를 저장하고; 그리고 (ⅴ) 긴급 삭제 커맨드를 수신한 때 상기 로그 내에 저장된 삭제 우선순위에 따라 각각의 블록 내의 데이터를 삭제하도록 더 구성된다.
바람직하게는, 상기 컨트롤러에 의한 상기 삭제는 복수의 블록의 적어도 일부에 대하여, 삭제를 완료하기 전에, 삭제를 중단하는 것을 포함한다.
본 발명에 따라, 처음으로 우선순위 삭제 능력을 가진 하드디스크 드라이브가 제공되는데, 본 드라이브는 (a) 하드디스크 드라이브에 데이터를 저장하기 위한 저장 메모리로서, 적어도 두 개의 섹터를 갖춘 저장 메모리; (b) 각각의 섹터에 데이터의 삭제 우선순위와 관련된 삭제 우선순위를 할당하는 메카니즘; 및 (c) 각각의 섹터의 삭제 우선순위에 따라 상기 적어도 두 개의 섹터를 삭제하는 메카니즘을 포함한다.
이들 및 다른 실시예는 상세한 설명, 및 아래의 예로부터 명백해질 것이다.
본 발명은 첨부된 도면을 참조하여, 오직 예시의 방법으로, 본 명세서에 서술되어 있다:
도 1은 본 발명의 한 바람직한 실시예에 따른, 물리적 삭제 슬라이스를 사용하여 삭제하는 우선순위 삭제 프로시저를 사용하는 플래시 메모리 시스템의 개략적인 블록 다이어그램이고;
도 2은 본 발명의 한 바람직한 실시예에 따른, 논리적 삭제 슬라이스를 사용하여 삭제하는 우선순위 삭제 프로시저를 사용하는 플래시 메모리 시스템의 개략적인 블록 다이어그램이고; 그리고
도 3은 본 발명의 한 바람직한 실시예에 따른, 우선순위 삭제 프로시저의 간단한 플로우차트이다.
본 발명은 덜 크리티컬한 데이터가 삭제되기 전에 더 크리티컬한 데이터가 삭제되는 방식으로 저장 디바이스 내의 데이터 저장 및 삭제를 관리하는 디바이스에 관한 것이다. 본 발명에 따른, 저장 디바이스에 데이터의 저장 및 삭제를 관리하기 위한 원리 및 오퍼레이션은 아래의 설명과 도면을 참조하여 더 잘 이해될 것이다.
표 1의 실시예 1에서, 기록 프로세스는 임의적이고, 로그는 블록의 할당을 다양한 삭제 우선순위 레벨로 기록하고, 삭제는 이 로그에 따라 수행된다.
도 1의 실시예 2에서, 기록 프로세스는 높은 우선순위 레벨로 확보된 블록 할당에 따라 수행되고, 삭제는 이 할당에 따라 수행된다.
도 1의 실시예 3에서, 제1플래시 유닛의 기록은 실시예 1과 같이 임의적으로 수행된다. 그 다음 이러한 임의의 할당은 나머지 플래시 유닛에서의 할당을 규정하고, 삭제는 실시예 2와 같이 수행된다.
지금부터 도면을 참조하면, 도 1은 본 발명의 한 바람직한 실시예에 따른, 물리적 삭제 슬라이스를 사용하여 삭제하는 우선순위 삭제 프로시저를 사용하는 플래시 메모리 시스템의 개략적인 블록 다이어그램이다. 호스트 시스템(20)은 플래시 컨트롤러(24)와 복수의 플래시 유닛(26)을 갖춘 플래시 메모리 디바이스(22)에 연결되어 도시되어 있다.
각각의 플래시 유닛(26)은 삭제를 위해 개별적으로 어드레싱될 수 있는 다수의 블록(28)을 가진다. 플래시 메모리 디스크 드라이브를 위한 이러한 구조는 주지되어 있고, 이스라엘 크파 사바, 샌디스크 아이엘 엘티디로부터 사용가능한 '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)을 삭제하고, 데이터가 올바른 순서로 삭제됨을 보장한다.
"물리적 삭제 슬라이스"는 수개의 플래시 유닛으로부터의 블록의 집합으로, 각각의 선택된 블록은 그 각각의 개별 플래시 유닛에서 동일한 어드레스를 가진다. 블록이 기록시 각각의 플래시 유닛 내의 선택된 삭제 우선순위 블록이 동일한 어드레스를 공유하도록 할당되었다면, 최적의 우선순위 삭제는 물리적 삭제 슬라이스에 의해 수행될 수 있다.
물리적 삭제 슬라이스(30)가 도 1에 도시되어 있고, 수개의 플래시 유닛(26)에 걸친 블록(28)의 한 집합을 나타낸다. 블록(H)이 도 1에서 물리적 삭제 슬라이스(30)의 일부로서 도시되어 있으나, 물리적 삭제 슬라이스(30)는 블록(28)의 임의의 "슬라이스"를 포함할 수 있다. 본 발명의 한 바람직한 실시예에서, 물리적 삭제 슬라이스(30) 내 블록(28)의 삭제는 동시에 수행된다.
몇몇 플래시 메모리 아키텍처에서, 일부 블록의 삭제는 플래시 메모리의 이질적인 구조로 인하여 다른 블록에 대한 삭제보다 빠르다. 블록이 높은 삭제 우선순위를 위해 미리 할당되는, 도 1에 서술된 본 실시예에서, 높은 삭제 우선순위 데이터로 할당하기 위해 본질적으로 빠른 삭제 블록을 사용하는 것이 바람직하다. 높은 삭제 우선순위의 데이터가 고속 삭제 블록 내에 상주하는 프로토콜이 적용될 수 있다. 이러한 시스템에서, 고속 삭제 블록은 더 높은 삭제 우선순위의 데이터를 수용하기 위해 선택된다. 이렇게 함으로써, 높은 삭제 우선순위의 데이터가 더 빠르게 삭제될 것이다.
본 실시예에서, 높은 삭제 우선순위의 블록은 플래시 유닛에 랜덤하게 할당됨을 이해해야 한다. 삭제 프로시저는 한 삭제 사이클 동안 각각의 플래시 유닛 내의 한 블록을 삭제하기 때문에, 다른 플래시 유닛에서는, 모든 높은 삭제 우선순위 블록이 이미 삭제되었지만, 일부 플래시 유닛에서는, 삭제되어야할 블록이 남겨질 수 있다. 이러한 상황은 효율 손실을 야기한다. 삭제 프로시저는 마지막 플래시 유닛 내의 마지막 높은 삭제 우선순위 블록이 삭제될 때까지 각각의 사이클에서 더 적은 개수의 블록을 계속 삭제한다.
도 2는 본 발명의 한 바람직한 실시예에 따른, 논리적 삭제 슬라이스를 사용하여 삭제하는 우선순위 삭제 프로시저를 사용하는 플래시 메모리 시스템의 개략적인 다이어그램이다. 본 실시예에서, 기록 프로세스는 본 발명과 무관한 공학적 고려에 의해 최적화되고, 'Gorobets'의 미국특허 제6,898,662호와 같은 종래기술의 플래시 메모리 디바이스 구성에서 볼 수 있다.
전형적으로, 기록은 블록(28)의 다른 플래시 유닛 후 한 플래시 유닛(26)인 연속 세트에 의해 수행되지 않을 것이고, 그 보다는 데이터가 수개의 플래시 유닛(26)에 병렬로 기록되는 "일괄적으로(across the board)"으로 수행될 것이다. 기록시, 레코드는 각각의 기록된 블록(28), 또는 적어도 블록(H)(즉, 높은 삭제 우선순위의 데이터가 기록된 블록)의 삭제 우선순위의 (도시되지 않은) 로그 테이블로 이루어진다. 본 발명의 설명을 위해, 3개의 삭제 우선순위 레벨이 있는 것으로 가정하고, 대다수의 블록은 임의의 삭제 우선순위를 가지지 않는다(즉, 블록(E)이다). 그러므로, 블록(E) 내의 데이터가 삭제되지 않고 남겨진다면 위험성이 존재하지 않는다.
플래시 메모리 공학 분야에 주지된 바와 같이, 멀티 유닛 플래시 메모리 디바이스의 삭제는 한 삭제 사이클 동안 각각의 플래시 유닛 내의 블록이 동시에 삭제될 때 가장 효율적이다. 그러나, 그 블록들이 그들의 삭제 우선순위에 따라 미리 정렬되지 않는다면, 물리적 삭제 슬라이스는 수행될 수 없다. 이와 같은 경우에, "논리적 삭제 슬라이스"가 수행된다.
"논리적 삭제 슬라이스"는 각각의 플래시 유닛(26)의 하나의, 임의의, 대표적인 블록(28)의 한 집합이다(예컨대, 도 2에서 블록(H, M, 또는 L)). 본 실시예는 단일 삭제 사이클이 각각의 플래시 유닛(26) 내의 상이한 위치의 블록을 한 오퍼레이션에서 삭제할 수 있다는 점을 이용하게 한다. 논리적 삭제 슬라이스는 각각의 플래시 유닛(26) 내의 선택된 블록(28)의 어드레스를 제공하고, 그 다음 각각의 플래시 유닛(26) 내에서, 선택된 블록(28)이 삭제되는 모든 플래시 유닛(26)에 삭제 커맨드를 적용함으로써, 동시에 삭제될 수 있다. 이러한 프로시저는 상대적인 삭제 우선순위에 따라, 각각의 플래시 유닛(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/NOR based/K5L5 628JBM/K5L5628JBM.htm'에 서술된 바와 같은, NOR 타입 플래시 메모리에서의 "리셋" 커맨드;
(2) 'http://www.electronicstalk.com/news/sor/sor100.htm1'에 서술된 바와 같은 NOR 타입 플래시 메모리에서의 "서스펜드 삭제" 커맨드; 및
(3) 'http://www.samsung.com/Products/Semiconductor/NANDFlash/SLC Large Block/1Gbit/K9F1G08U0A/ds k9flg08x0a revlO.pdf'에서의 'Samsung K9F1G08U0A'의 데이터 시트에 서술된 바와 같은, NAND 타입 플래시 메모리에서의 "리셋" 커맨드.
'Samsung K9F1G08U0A'의 데이터 시트는 "본 디바이스는 커맨드 레지스터에 'FFh'를 기록함으로써 실행되는, 리셋 피처를 제공한다. 본 디바이스가 랜덤 판독, 프로그래밍, 또는 삭제 모드 동안 비지 상태일 때, 리셋 오퍼레이션은 이들 오퍼레이션을 중단할 것이다"라고 설명한다.
이러한 커맨드는 전체 삭제 사이클보다 훨씬 더 짧다(NAND 타입 플래시 메모 리에서, 리셋 커맨드는 최대 0.5ms가 걸리고, 전체 삭제 사이클은 2.5ms가 걸린다). 전체 삭제 사이클이 중단된 때, 메모리는 임의의 목적으료 사용할 수 없는 랜덤 상태로 남겨진다. 두 개의 완전한 전체 삭제 사이클을 수행하는 것 보다는, (각각 0.5ms를 소비하는 5개의 리셋 커맨드를 사용하여) 5개의 전체 삭제 사이클을 시작하고, 각각 0.5ms 후 그 사이클을 중단하도록 5ms 인터벌을 사용하는 것이 바람직하다. 두 대안 모두 전체 5ms 인터벌을 소비한다.
(표 1, 실시예 3에 도시된 바와 같은) 본 발명의 한 바람직한 실시예에서, 제1플래시 유닛의 기록은 임의의 방법으로 수행될 수 있고, 더 높은 삭제 우선순위 데이터를 수신한 블록을 로깅한다. 제1플래시 유닛을 기록한 후, 후속 플래시 유닛은 제1플래시 유닛의 순서와 연관된 순서로 기록된다. 전형적으로, 후속 플래시 유닛은 제1플래시 유닛의 높은 삭제 우선순위 블록과 함께 정렬되어, 모든 플래시 유닛 내의 동일한 어드레스를 가진(또는 연관된) 블록은 동일한 삭제 우선순위를 가진 데이터를 수신한다. 이것은 시스템이 (도 2에 도시되고 상술된 바와 같은) 논리적 삭제 슬라이스를 구성할 필요없이, 동일한 어드레스를 가진 블록을 병렬로 삭제함으로써 높은 삭제 우선순위 데이터를 삭제할 수 있게 한다.
높은 삭제 우선순위 데이터를 위한 고속 삭제 블록를 사용하는 것, 및 공통 물리적 삭제 슬라이스에 높은 삭제 우선순위 데이터를 정렬하는 것은 프로토콜을 제한하지 않고, 바람직하게는 함께 구현될 수 있음을 이해해야 한다. 높은 삭제 우선순위 블록은 플래시 유닛의 "더 빠른 부분"에 저장되지만, 블록은 제1플래시 유닛에 랜덤한 순서로 저장된다. 이러한 랜덤한 순서는 모든 다른 플래시 유닛에 대한 순서를 규정하고, 높은 삭제 우선순위 데이터가 공통의 물리적 삭제 슬라이스에 상주하게 한다.
논리적 삭제 슬라이스에서의 삭제, 및 물리적 삭제 슬라이스 에서의 삭제는 동일한 순서의 삭제를(또한 그러므로, 동일한 레벨의 최적화를) 야기할 수 있으나, 물리적 삭제 슬라이스는 논리적 삭제 슬라이스를 사용하여 구현하는 것보다 (1) 구현이 더 간단하고, (2) 관리 데이터의 관리 및 저장을 덜 요구한다. 그러므로, 물리적 삭제 슬라이스를 사용한 구현이 바람직하다.
하드디스크 드라이브는 본 발명에 의해 커버되는 저장 디바이스의 전형적인 예임을 이해해야 한다. 본 발명은 플래시 메모리 저장 디바이스로만 임의의 방법으로 제한되지 않으며, 아래의 피처 중 적어도 일부에 의해 특징지어 지는 임의의 저장 시스템에 적용하고, 그 저장 시스템을 커버하고자 의도되었다:
(1) 저장 디바이스가 각각의 개별적으로 삭제될 수 있는 다수의 서브 유닛으로 분할된다;
(2) 서브 유닛의 삭제 시간이 비교적 긴 프로세스이다;
(3) 서브 유닛의 전체 삭제는 중단된 삭제보다 훨씬 더 많은 시간이 걸린다; 그리고
(4) 저장 디바이스 컨트롤러는 임의의 서브 유닛에 데이터를 저장하기 위한 적응성을 가진다.
본 발명은 한정된 개수의 실시예에 관하여 서술되었으나, 본 발명의 다양한 변형, 수정, 및 다른 적용이 이루어질 수 있음이 이해될 것이다.

Claims (17)

  1. 우선순위 삭제 능력을 가진 비휘발성 저장 디바이스로서,
    (a) 상기 저장 디바이스에 데이터를 저장하기 위한 저장 메모리로서, 각각 복수의 블록을 가진 적어도 하나의 플래시 유닛을 갖춘 저장 메모리; 및
    (b) 저장 디바이스 컨트롤러로서,
    (ⅰ) 상기 복수의 블록에 상기 데이터를 기록하고,
    (ⅱ) 상기 블록 각각에 상기 데이터의 삭제 우선순위와 관련된 삭제 우선순위를 할당하고, 그리고
    (ⅲ) 긴급 삭제 커맨드를 수신한 때 상기 각각의 블록의 삭제 우선순위에 따라 상기 각각의 블록 내의 상기 데이터를 삭제하도록 구성된 저장 디바이스 컨트롤러를 포함하고,
    상기 저장 디바이스 컨트롤러는 제1플래시 유닛에 임의의 순서로 상기 복수의 블록에 상기 데이터의 기록을 수행하도록 구성되어 있고, 후속의 상기 플래시 유닛에의 기록은 상기 제1플래시 유닛 내의 상기 순서와 동일한 순서로 수행되는 것을 특징으로 하는 우선순위 삭제 능력을 가진 비휘발성 저장 디바이스.
  2. 우선순위 삭제 능력을 가진 비휘발성 저장 디바이스로서,
    (a) 상기 저장 디바이스에 데이터를 저장하기 위한 저장 메모리로서, 각각 복수의 블록을 가진 적어도 하나의 플래시 유닛을 갖춘 저장 메모리; 및
    (b) 저장 디바이스 컨트롤러로서,
    (ⅰ) 상기 복수의 블록에 상기 데이터를 기록하고,
    (ⅱ) 상기 블록 각각에 상기 데이터의 삭제 우선순위와 관련된 삭제 우선순위를 할당하고, 그리고
    (ⅲ) 긴급 삭제 커맨드를 수신한 때 상기 각각의 블록의 삭제 우선순위에 따라 상기 각각의 블록 내의 상기 데이터를 삭제하도록 구성된 저장 디바이스 컨트롤러를 포함하고,
    상기 저장 디바이스 컨트롤러는 임의선택된 블록에 상기 기록을 수행하도록 구성되어 있고, 상기 할당은 상기 데이터의 상기 삭제 우선순위에 따라 수행되는 것을 특징으로 하는 우선순위 삭제 능력을 가진 비휘발성 저장 디바이스.
  3. 우선순위 삭제 능력을 가진 비휘발성 저장 디바이스로서,
    (a) 상기 저장 디바이스에 데이터를 저장하기 위한 저장 메모리로서, 각각 복수의 블록을 가진 적어도 하나의 플래시 유닛을 갖춘 저장 메모리; 및
    (b) 저장 디바이스 컨트롤러로서,
    (ⅰ) 상기 복수의 블록에 상기 데이터를 기록하고,
    (ⅱ) 상기 블록 각각에 상기 데이터의 삭제 우선순위와 관련된 삭제 우선순위를 할당하고, 그리고
    (ⅲ) 긴급 삭제 커맨드를 수신한 때 상기 각각의 블록의 삭제 우선순위에 따라 상기 각각의 블록 내의 상기 데이터를 삭제하도록 구성된 저장 디바이스 컨트롤러를 포함하고,
    상기 저장 디바이스 컨트롤러는 상기 데이터의 상기 기록 전에 상기 삭제 우선순위의 상기 할당을 수행하도록 구성되어 있고, 상기 기록은 상기 각각의 블록의 상기 삭제 우선순위에 따라 수행되는 것을 특징으로 하는 우선순위 삭제 능력을 가진 비휘발성 저장 디바이스.
  4. 삭제
  5. 제 1 항에 있어서, 상기 컨트롤러는
    (ⅳ) 상기 플래시 유닛 각각에 동일한 상대 위치를 가진 블록에 동일한 삭제 우선순위를 할당하도록 더 구성되어 있는 것을 특징으로 하는 우선순위 삭제 능력을 가진 비휘발성 저장 디바이스.
  6. 제 1 항에 있어서, 상기 컨트롤러는
    (ⅳ) 상기 각각의 블록에 대한 상기 삭제 우선순위의 로그를 저장하고; 그리고
    (ⅴ) 상기 긴급 삭제 커맨드를 수신한 때 상기 로그 내에 저장된 상기 삭제 우선순위에 따라 상기 각각의 블록 내의 상기 데이터를 삭제하도록 더 구성되어 있는 것을 특징으로 하는 우선순위 삭제 능력을 가진 비휘발성 저장 디바이스.
  7. 제 1 항에 있어서, 상기 컨트롤러에 의한 상기 삭제는 상기 복수의 블록의 적어도 일부에 대하여, 상기 삭제를 완료하기 전에, 삭제를 중단하는 것을 포함하는 것을 특징으로 하는 우선순위 삭제 능력을 가진 비휘발성 저장 디바이스.
  8. 삭제
  9. 비휘발성 저장 디바이스의 우선순위 삭제 방법으로서,
    (a) 각각 복수의 블록을 가진, 상기 저장 디바이스의 적어도 하나의 플래시 유닛을 제공하는 단계;
    (b) 상기 복수의 블록에 데이터를 기록하는 단계;
    (c) 상기 데이터의 삭제 우선순위와 관련된 삭제 우선순위를 상기 블록 각각에 할당하는 단계; 및
    (d) 긴급 삭제 커맨드를 수신한 때 상기 각각의 블록의 상기 삭제 우선순위에 따라 상기 각각의 블록 내의 상기 데이터를 삭제하는 단계를 포함하고,
    상기 복수의 블록에 데이터를 기록하는 단계는 제1플래시 유닛에서 임의의 순서로 수행되고, 후속의 상기 플래시 유닛으로의 상기 기록하는 단계는 상기 제1플래시 유닛에서의 상기 순서와 동일한 순서로 수행되는 것을 특징으로 하는 비휘발성 저장 디바이스의 우선순위 삭제 방법.
  10. 비휘발성 저장 디바이스의 우선순위 삭제 방법으로서,
    (a) 각각 복수의 블록을 가진, 상기 저장 디바이스의 적어도 하나의 플래시 유닛을 제공하는 단계;
    (b) 상기 복수의 블록에 데이터를 기록하는 단계;
    (c) 상기 데이터의 삭제 우선순위와 관련된 삭제 우선순위를 상기 블록 각각에 할당하는 단계; 및
    (d) 긴급 삭제 커맨드를 수신한 때 상기 각각의 블록의 상기 삭제 우선순위에 따라 상기 각각의 블록 내의 상기 데이터를 삭제하는 단계를 포함하고,
    상기 복수의 블록에 데이터를 기록하는 단계는 임의선택 블록상에서 수행되고, 상기 할당하는 단계는 상기 데이터의 상기 삭제 우선순위에 따라 수행되는 것을 특징으로 하는 비휘발성 저장 디바이스의 우선순위 삭제 방법.
  11. 비휘발성 저장 디바이스의 우선순위 삭제 방법으로서,
    (a) 각각 복수의 블록을 가진, 상기 저장 디바이스의 적어도 하나의 플래시 유닛을 제공하는 단계;
    (b) 상기 복수의 블록에 데이터를 기록하는 단계;
    (c) 상기 데이터의 삭제 우선순위와 관련된 삭제 우선순위를 상기 블록 각각에 할당하는 단계; 및
    (d) 긴급 삭제 커맨드를 수신한 때 상기 각각의 블록의 상기 삭제 우선순위에 따라 상기 각각의 블록 내의 상기 데이터를 삭제하는 단계를 포함하고,
    상기 할당하는 단계는 상기 기록하는 단계 이전에 수행되고, 상기 기록하는 단계는 상기 각각의 블록의 상기 삭제 우선순위에 따라 수행되는 것을 특징으로 하는 비휘발성 저장 디바이스의 우선순위 삭제 방법.
  12. 삭제
  13. 제 9 항에 있어서, 상기 할당하는 단계는 각각의 상기 플래시 유닛내에 동일한 상대 위치를 가진 블록에 동일한 삭제 우선순위를 할당하는 단계를 포함하는 것을 특징으로 하는 비휘발성 저장 디바이스의 우선순위 삭제 방법.
  14. 제 9 항에 있어서,
    (e) 상기 각각의 블록에 대한 상기 삭제 우선순위의 로그를 저장하는 단계; 및
    (f) 상기 긴급 삭제 커맨드를 수신한 때 상기 로그 내에 저장된 상기 삭제 우선순위에 따라 상기 각각의 블록 내의 상기 데이터를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 저장 디바이스의 우선순위 삭제 방법.
  15. 제 9 항에 있어서, 상기 삭제하는 단계는 상기 복수의 블록의 적어도 일부에 대하여, 상기 삭제를 완료하기 전에, 삭제를 중단하는 단계를 포함하는 것을 특징으로 하는 비휘발성 저장 디바이스의 우선순위 삭제 방법.
  16. 하드디스크 드라이브의 우선순위 삭제 방법으로서,
    (a) 상기 하드디스크 드라이브의 적어도 두 개의 섹터를 제공하는 단계;
    (b) 상기 적어도 두 개의 섹터에 데이터를 기록하는 단계;
    (c) 상기 데이터의 삭제 우선순위와 관련된 삭제 우선순위를 상기 섹터 각각에 할당하는 단계; 및
    (d) 긴급 삭제 커맨드를 수신한 때 상기 각각의 섹터의 상기 삭제 우선순위에 따라 상기 각각의 섹터 내의 상기 데이터를 삭제하는 단계를 포함하고,
    제1하드디스크 드라이브에 임의의 순서로 상기 적어도 두 개의 섹터에 데이터의 기록을 수행하고, 후속의 상기 하드디스크 드라이브에의 기록은 상기 제1하드디스크 드라이브내의 상기 순서와 동일한 순서로 수행되고,
    상기 하드디스크 드라이브 각각에 동일한 상대 위치를 가진 섹터에 동일한 삭제 우선순위를 할당하도록 하는 것을 특징으로 하는 하드디스크 드라이브의 우선순위 삭제 방법.
  17. 제 16 항에 있어서, (e) 상기 각각의 섹터에 대한 상기 삭제 우선순위의 로그를 저장하는 단계, 및
    (f) 상기 긴급 삭제 커맨드를 수신한 때 상기 로그 내에 저장된 상기 삭제 우선순위에 따라 상기 각각의 섹터 내의 상기 데이터를 삭제하도록 하는 단계를 더 포함하는 것을 특징으로 하는 하드디스크 드라이브의 우선순위 삭제 방법.
KR1020097004581A 2006-09-04 2007-09-02 플래시 메모리의 우선순위 삭제 디바이스 및 방법 KR101429898B1 (ko)

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

Publications (2)

Publication Number Publication Date
KR20090047513A KR20090047513A (ko) 2009-05-12
KR101429898B1 true KR101429898B1 (ko) 2014-08-13

Family

ID=38917809

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097004581A KR101429898B1 (ko) 2006-09-04 2007-09-02 플래시 메모리의 우선순위 삭제 디바이스 및 방법

Country Status (5)

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

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 中国航空工业集团公司洛阳电光设备研究所 一种固态硬盘坏块的检测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155159A (ja) * 2004-11-29 2006-06-15 Fuji Electric Holdings Co Ltd 耐タンパ装置

Family Cites Families (5)

* 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 株式会社リコー 画像制御装置、画像形成装置、画像制御方法、画像制御プログラム及び記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155159A (ja) * 2004-11-29 2006-06-15 Fuji Electric Holdings Co Ltd 耐タンパ装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Ofer Tsur, "Enabling Data Security with COTS Solid-State Flash Disks", Non-Volatile Memory Technology Symposium, 15-17 NOV. 2004. *
Ofer Tsur, "Enabling Data Security with COTS Solid-State Flash Disks", Non-Volatile Memory Technology Symposium, 15-17 NOV. 2004.*

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
JP5065395B2 (ja) 2012-10-31
TWI375227B (en) 2012-10-21
JP2010503103A (ja) 2010-01-28
WO2008029389A1 (en) 2008-03-13
JP5486047B2 (ja) 2014-05-07
JP2012216234A (ja) 2012-11-08

Similar Documents

Publication Publication Date Title
KR101429898B1 (ko) 플래시 메모리의 우선순위 삭제 디바이스 및 방법
US7975119B2 (en) Device for prioritized erasure of flash memory
KR101563875B1 (ko) 호스트 기록 작업과 캐시 플러싱을 균형화하기 위한 방법과 시스템
US8041879B2 (en) Flash memory backup system and method
US8117414B2 (en) Method for prioritized erasure of flash memory
EP1693739B1 (en) Method of writing data to non-volatile memory
US6571326B2 (en) Space allocation for data in a nonvolatile memory
KR100982481B1 (ko) 프론트 메모리 저장 시스템 및 방법
US6898662B2 (en) Memory system sectors
KR101383853B1 (ko) 빠른 웨어 레벨링 플래쉬 드라이브
KR101409095B1 (ko) 메모리 장치 및 그 제어 방법
KR100818035B1 (ko) 저장 매체 상의 데이터 관리 및 데이터 관리 시스템과 컴퓨터 판독가능한 저장 매체
KR20040038712A (ko) 비휘발성 메모리 시스템에서 사용하기 위한 전원 관리 블럭
JP5378197B2 (ja) メモリコントローラ、メモリカード、不揮発性メモリシステム
CN104951249A (zh) 存储器控制设备、信息处理设备及其控制方法
JP2009230414A (ja) 複数の不揮発性メモリデバイスを有する記憶装置
US20150074335A1 (en) Memory system, controller and control method of memory
JP6719508B2 (ja) メモリ制御装置
US9170929B2 (en) Memory controller
KR100992079B1 (ko) 플래시 메모리를 사용하는 스왑 저장장치에서의 스왑공간 관리방법
US20160124844A1 (en) Data storage device and flash memory control method
JP2009271848A (ja) ファイルシステム及びデータ管理方法
JP2008234746A (ja) 不揮発性メモリ情報蓄積装置とそのサイクリック収録方法
JP2009259159A (ja) メモリコントローラ、メモリのアクセス制御方法、および電子機器
JP2009140354A (ja) メモリ制御装置、情報処理装置およびメモリ制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 5