KR100495722B1 - 개선된 플래시 파일 시스템 - Google Patents
개선된 플래시 파일 시스템 Download PDFInfo
- Publication number
- KR100495722B1 KR100495722B1 KR10-2000-7004068A KR20007004068A KR100495722B1 KR 100495722 B1 KR100495722 B1 KR 100495722B1 KR 20007004068 A KR20007004068 A KR 20007004068A KR 100495722 B1 KR100495722 B1 KR 100495722B1
- Authority
- KR
- South Korea
- Prior art keywords
- physical
- unit
- virtual
- block
- units
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
Description
Claims (16)
- 메모리의 기록된 부분이 기록되지 않은 부분이 되기 위해서는 반드시 소거되어야 하는 방식으로, 상기 메모리의 기록되지 않은 부분에만 데이터가 기록될 수 있는 메모리를 위한 메모리 구성 방법으로서, 데이터를 판독 또는 기록하기 위한 상기 메모리 부분의 크기가 소거를 위한 가장 작은 메모리 부분의 크기와는 다른, 상기 메모리를 위한 메모리 구성 방법에 있어서,(a) 상기 메모리의 복수의 물리적인 유닛들을 제공하는 단계로서, 상기 물리적인 유닛들 각각은 소거를 위한 상기 가장 작은 메모리 부분의 크기이고, 상기 물리적인 유닛들 각각은 물리적인 유닛 번호에 의해 지정되며, 상기 물리적인 유닛들 각각은 복수의 물리적인 블록들로 분할되고, 상기 복수의 물리적인 블록들 각각은 데이터를 판독 또는 기록하기 위한 상기 메모리 부분의 크기이고, 상기 물리적인 블록들 각각은 상기 물리적인 유닛 내의 물리적인 블록 오프셋에 의해 지정되는, 상기 복수의 물리적인 유닛들 제공 단계,(b) 상기 메모리의 복수의 가상 유닛들을 제공하는 단계로서, 각각의 가상 유닛은 가상 유닛 번호에 의해 지정되고, 상기 가상 유닛들 각각은 복수의 가상 블록들을 특징으로 하고, 상기 가상 블록들 각각은 상기 가상 유닛 내의 가상 블록 오프셋에 의해 지정되는, 상기 복수의 가상 유닛들 제공 단계,(c) 가상 맵(virtual map)을 형성하기 위해 적어도 하나의 물리적인 유닛에 각각의 가상 유닛을 매핑하는 단계, 및(d) 상기 각각의 가상 블록의 상기 가상 블록 오프셋에 따라, 상기 가상 유닛 내의 각각의 가상 블록을 상기 적어도 하나의 물리적인 유닛 내의 하나의 물리적인 블록에 매핑시키는 단계를 포함하는, 메모리 구성 방법.
- 제 1 항에 있어서,(e) 상기 메모리의 상기 복수의 가상 유닛들 중 적어도 하나와 상기 메모리의 상기 복수의 물리적인 유닛들 중 적어도 하나 사이의 대응관계를 변화시켜 상기 메모리에서의 변화를 반영하도록 상기 가상 맵을 변경하는 단계를 더 포함하는, 메모리 구성 방법.
- 제 1 항에 있어서,(e) 데이터를 가상 블록에 기록하기 위해 기록 명령을 수신하는 단계,(f) 상기 가상 블록을 포함하는 가상 유닛을 위치지정하는(locating) 단계,(g) 상기 가상 유닛에 맵핑된 물리적인 유닛 내의 기록 가능한 블록을 위치지정하는 단계, 및(h) 기록된 물리적인 유닛을 형성하기 위해 상기 데이터를 상기 기록 가능한 물리적인 블록에 기록하는 단계를 더 포함하는, 메모리 구성 방법.
- 제 3 항에 있어서,(i) 상기 기록된 물리적인 유닛 내에서 기록되지 않은 물리적인 블록이 발견될 수 없는 경우, 제 2 물리적인 유닛을 위치지정하는 단계,(j) 상기 데이터를 상기 제 2 물리적인 유닛의 기록 가능한 물리적인 블록에 기록하는 단계, 및(k) 상기 가상 유닛이 상기 제 2 물리적인 유닛과 상기 기록된 물리적인 유닛에 대응하도록, 상기 가상 유닛을 상기 제 2 물리적인 유닛에 부가적으로 맵핑함으로써 상기 가상 맵을 갱신하는 단계로서, 상기 제 2 물리적인 유닛과 상기 기록된 물리적인 유닛은 물리적인 유닛들의 체인을 형성하는, 상기 가상 맵 갱신 단계를 더 포함하는, 메모리 구성 방법.
- 제 4 항에 있어서,상기 제 2 물리적인 유닛의 상기 기록 가능한 물리적인 블록은 물리적인 블록 오프셋을 가지며, 상기 물리적인 블록 오프셋은 상기 맵핑된 가상 유닛의 상기 가상 블록 오프셋에 대응하는, 메모리 구성 방법.
- 제 4 항에 있어서,상기 제 2 물리적인 유닛의 상기 기록 가능한 물리적인 블록은 물리적인 블록 오프셋을 가지며, 상기 물리적인 블록 오프셋은 상기 맵핑된 가상 유닛의 상기 가상 블록 오프셋과는 다른, 메모리 구성 방법.
- 제 4 항에 있어서,(l) 기록되지 않은 물리적인 블록이 임의의 물리적인 유닛 내에서 위치지정될 수 없는 경우, 체인 내에 복수의 물리적인 유닛들에 대응하는 제 2 가상 유닛을 위치지정하는 단계,(m) 상기 체인 내에 최종 물리적인 유닛을 위치지정하는 단계,(n) 상기 기록된 물리적인 유닛의 상기 물리적인 블록들 각각에서 상기 최종 물리적인 유닛의 기록 가능한 물리적인 블록으로 데이터를 이동시키는 단계로서, 상기 기록 가능한 물리적인 블록은 상기 기록된 물리적인 유닛의 상기 물리적인 블록과 동일한 블럭 오프셋을 갖는, 데이터 이동 단계, 및(o) 상기 가상 유닛이 상기 최종 물리적인 유닛에만 대응하도록, 상기 가상 유닛을 상기 최종 물리적인 유닛에 맵핑시킴으로써 상기 가상 맵을 갱신하는 단계를 더 포함하는, 메모리 구성 방법.
- 제 7 항에 있어서,(p) 상기 최종 물리적인 유닛을 제외한, 상기 체인 내의 상기 기록된 물리적인 유닛들 모두를 소거하는 단계를 더 포함하는, 메모리 구성 방법.
- 제 4 항에 있어서,(l) 기록되지 않은 어떠한 물리적인 유닛도 상기 체인에 대한 할당을 위해 이용될 수 없는 경우, 재구성화를 위해 기록되지 않은 물리적인 유닛을 할당하는 단계,(m) 상기 기록된 물리적인 유닛의 상기 물리적인 블록들 각각에서 상기 기록되지 않은 물리적인 유닛의 기록 가능한 물리적인 블록으로 데이터를 이동시키는 단계, 및(n) 상기 가상 유닛이 상기 기록되지 않은 물리적인 유닛에만 대응하도록, 상기 가상 유닛을 상기 기록되지 않은 물리적인 유닛에 맵핑함으로써 상기 가상 맵을 갱신하는 단계를 더 포함하는, 메모리 구성 방법.
- 메모리의 기록된 부분이 기록되지 않은 부분이 되기 위해서는 받드시 소거되어야 하는 방식으로, 상기 메모리의 기록되지 않은 부분에만 데이터가 기록될 수 있는 메모리를 위한 메모리 구성 방법으로서, 데이터를 판독 또는 기록하기 위한 상기 메모리 부분의 크기는 소거를 위한 가장 작은 메모리 부분의 크기와는 다른, 상기 메모리를 위한 메모리 구성 방법에 있어서,(a) 상기 메모리의 복수의 물리적인 유닛들을 제공하는 단계로서, 상기 물리적인 유닛들 각각은 소거를 위한 상기 가장 작은 메모리 부분이고, 상기 물리적인 유닛들 각각은 물리적인 유닛 번호에 의해 지정되며, 상기 물리적인 유닛들 각각은 복수의 물리적인 블록들로 분할되고, 상기 복수의 물리적인 블록들 각각은 데이터를 판독 또는 기록하기 위한 상기 메모리 부분이고, 상기 물리적인 블록들 각각은 상기 물리적인 유닛 내의 물리적인 블록 오프셋에 의해 지정되는, 상기 복수의 물리적인 유닛들 제공 단계,(b) 상기 메모리의 복수의 가상 유닛들을 제공하는 단계로서, 각각의 가상 유닛은 가상 유닛 번호에 의해 지정되고, 상기 가상 유닛들 각각은 복수의 가상 블록들을 특징으로 하고, 상기 가상 블록들 각각은 상기 가상 유닛 내의 가상 블록 오프셋에 의해 지정되는, 상기 복수의 가상 유닛들 제공 단계,(c) 각각의 가상 유닛을 적어도 하나의 물리적인 유닛에 맵핑시키기 위한 가상 맵을 제공하는 단계,(d) 상기 가상 유닛 내의 각각의 가상 블록을 상기 적어도 하나의 물리적인 유닛 내의 하나의 물리적인 블록에 매핑시키는 단계,(e) 데이터를 가상 블록에 기록하기 위해 기록 명령을 수신하는 단계,(f) 상기 가상 블록을 포함하는 가상 유닛을 위치지정하는 단계,(g) 상기 가상 유닛에 맵핑된 물리적인 유닛 내에 기록 가능한 블록을 위치지정하는 단계,(h) 상기 데이터를 상기 기록 가능한 물리적인 블록에 기록하는 단계,(i) 기록된 물리적인 유닛 내에서 기록되지 않은 물리적인 블록이 발견될 수 없는 경우, 상기 기록되지 않은 물리적인 유닛이 체인 내의 최종 물리적인 유닛이 되도록, 물리적인 유닛들의 체인을 형성하기 위해 기록되지 않은 물리적인 유닛을 할당하는 단계,(j) 상기 데이터를 상기 최종 물리적인 유닛 내의 기록되지 않은 물리적인 블록에 기록하는 단계,(k) 단계(j)에서 기록된 데이터를 제외한, 상기 복수의 물리적인 블록들 각각에서 상기 최종 물리적인 유닛의 기록 가능한 물리적인 블록으로 상기 데이터를 이동시키는 단계 및,(l) 상기 가상 유닛이 상기 기록된 물리적인 유닛에 대응하도록, 상기 가상 유닛을 상기 기록된 물리적인 유닛에 맵핑함으로써 상기 가상 맵을 갱신하는 단계를 포함하는, 메모리 구성 방법.
- 메모리의 기록된 부분이 기록되지 않은 부분이 되기 위해서는 받드시 소거되어야 하는 방식으로, 상기 메모리의 기록되지 않은 부분에만 데이터가 기록될 수 있는 메모리를 위한 데이터 기록 방법에 있어서,(a) 복수의 물리적인 블록들로 분할된 복수의 물리적인 유닛들을 제공하는 단계로서, 상기 물리적인 유닛들 각각은 물리적인 유닛 번호를 가지며, 상기 물리적인 블록들 각각은 상기 물리적인 유닛 내의 물리적인 블록 오프셋을 갖는, 상기 복수의 물리적인 유닛들 제공 단계,(b) 복수의 물리적인 블록들로 분할된 복수의 가상 유닛들을 제공하는 단계로서, 상기 가상 유닛들 각각은 가상 유닛 번호를 가지며, 상기 가상 블록들 각각은 상기 가상 유닛 내의 가상 블록 오프셋을 가지며, 각각의 가상 유닛은 적어도 하나의 물리적인 유닛에 매핑되는, 상기 복수의 가상 유닛들 제공 단계,(c) 데이터를 가상 블록에 기록하기 위해 기록 명령을 수신하는 단계,(d) 가상 블록 오프셋을 갖는 상기 가상 블록을 포함하는 가상 유닛을 결정하는 단계,(e) 상기 가상 유닛에 대응하는 물리적인 유닛을 위치지정하는 단계,(f) 상기 물리적인 유닛 내에 물리적인 블록을 위치지정하는 단계,(g) 상기 물리적인 블록이 기록되지 않은 것인지의 여부를 결정하는 단계,(h) 상기 물리적인 블록이 기록되지 않은 것인 경우에만, 상기 데이터를 상기 물리적인 블록에 기록하는 단계,(i) 대안으로, 상기 물리적인 블록이 기록되지 않은 것이 아닌 경우, 제 2 물리적인 유닛을 할당하는 단계,(j) 물리적인 블록 오프셋을 갖는 기록 가능한 물리적인 블록을 제 2 물리적인 유닛 내에 위치지정하는 단계,(k) 상기 데이터를 상기 기록 가능한 물리적인 블록에 기록하는 단계,(l) 상기 가상 유닛이 물리적인 유닛들의 체인을 형성하기 위해 상기 제 2 물리적인 유닛에 부가적으로 맵핑되도록, 상기 가상 유닛을 상기 기록 가능한 물리적인 블록을 포함하는 상기 제 2 물리적인 유닛에 부가적으로 맵핑하는 단계,(m) 기록된 물리적인 유닛 내에서 기록되지 않은 물리적인 블록이 발견될 수 없는 경우, 체인 내에 복수의 물리적인 유닛들에 대응하는 제 2 가상 유닛을 위치지정하는 단계,(n) 상기 체인 내에 최종 물리적인 유닛을 위치지정하는 단계,(o) 상기 기록된 물리적인 유닛의 상기 물리적인 블록 내의 모든 데이터를 상기 최종 물리적인 유닛의 상기 물리적인 블록들에 전송하는 단계 및,(p) 상기 가상 유닛이 상기 최종 물리적인 유닛에만 대응하도록 상기 가상 맵을 갱신하는 단계를 포함하는, 데이터 기록 방법.
- 제 11 항에 있어서,상기 기록 가능한 물리적인 블록의 상기 물리적인 블록 오프셋은 상기 가상 블록 오프셋과 동일한 블록 오프셋 번호를 갖는, 데이터 기록 방법.
- 제 11 항에 있어서,(q) 상기 기록된 물리적인 유닛들 모두를 소거하는 단계를 더 포함하는, 데이터 기록 방법.
- 메모리의 기록된 부분이 기록되지 않은 부분이 되기 위해서는 받드시 소거되어야 하는 방식으로, 상기 메모리의 기록되지 않은 부분에만 데이터가 기록될 수 있는 메모리를 위한 데이터 기록 방법에 있어서,(a) 복수의 물리적인 블록들로 분할된 복수의 물리적인 유닛들을 제공하는 단계로서, 상기 물리적인 유닛들 각각은 물리적인 유닛 번호를 가지며, 상기 물리적인 블록들 각각은 상기 물리적인 유닛 내의 물리적인 블록 오프셋을 갖는, 상기 복수의 물리적인 유닛들 제공 단계,(b) 복수의 물리적인 블록들로 분할된 복수의 가상 유닛들을 제공하는 단계로서, 상기 가상 유닛들 각각은 가상 유닛 번호를 가지며, 상기 가상 블록들 각각은 상기 가상 유닛 내의 가상 블록 오프셋을 가지며, 각각의 가상 유닛은 적어도 하나의 물리적인 유닛에 매핑되는, 상기 복수의 가상 유닛들 제공 단계,(c) 데이터를 가상 블록에 기록하기 위해 기록 명령을 수신하는 단계,(d) 가상 블록 오프셋을 갖는 상기 가상 블록을 포함하는 가상 유닛을 결정하는 단계,(e) 상기 가상 유닛에 대응하는 물리적인 유닛을 위치지정하는 단계,(f) 상기 물리적인 유닛 내에 물리적인 블록을 위치지정하는 단계,(g) 상기 물리적인 블록이 기록되지 않은 것인지의 여부를 결정하는 단계,(h) 상기 물리적인 블록이 기록되지 않은 경우에만, 상기 데이터를 상기 물리적인 블록에 기록하는 단계,(i) 대안으로, 상기 물리적인 블록이 기록되지 않은 것이 아닌 경우, 제 2 물리적인 유닛을 할당하는 단계,(j) 물리적인 블록 오프셋을 갖는 기록 가능한 물리적인 블록을 제 2 물리적인 유닛 내에 위치지정하는 단계,(k) 상기 데이터를 상기 기록 가능한 물리적인 블록에 기록하는 단계,(l) 상기 가상 유닛이 물리적인 유닛들의 체인을 형성하기 위해 상기 제 2 물리적인 유닛에 부가적으로 맵핑되도록, 상기 가상 유닛을 상기 기록 가능한 물리적인 블록을 포함하는 상기 제 2 물리적인 유닛에 부가적으로 맵핑하는 단계,(m) 기록되지 않은 물리적인 유닛이 할당을 위해 이용될 수 없는 경우, 상기 체인 내에 최종 물리적인 유닛을 위치지정하는 단계,(n) 상기 기록된 물리적인 유닛들의 상기 물리적인 블록 내의 모든 데이터를 상기 최종 물리적인 유닛의 상기 물리적인 블록들에 전송하는 단계 및,(o) 상기 가상 유닛이 상기 최종 물리적인 유닛에만 대응하도록 상기 가상 맵을 갱신하는 단계를 포함하는, 데이터 기록 방법.
- 제 14 항에 있어서,(p) 상기 최종 물리적인 유닛을 제외한, 상기 기록된 물리적인 유닛들 모두를 소거하는 단계를 더 포함하는, 데이터 기록 방법.
- 메모리의 기록된 부분이 기록되지 않은 부분이 되기 위해서는 받드시 소거되어야 하는 방식으로, 상기 메모리의 기록되지 않은 부분에만 데이터가 기록될 수 있는 메모리를 위한 메모리 구성 방법으로서, 데이터를 판독 또는 기록하기 위한 상기 메모리 부분의 크기는 소거를 위한 가장 작은 메모리 부분의 크기와는 다른 메모리를 위한 메모리 구성 방법에 있어서,(a) 상기 메모리의 복수의 물리적인 유닛들을 제공하는 단계로서, 상기 물리적인 유닛들 각각은 소거를 위한 상기 가장 작은 메모리 부분의 크기이고, 상기 물리적인 유닛들 각각은 물리적인 유닛 번호에 의해 지정되며, 상기 물리적인 유닛들 각각은 복수의 물리적인 블록들로 분할되고, 상기 복수의 물리적인 블록들 각각은 데이터를 판독 또는 기록하기 위한 상기 메모리 부분의 크기이고, 상기 물리적인 블록들 각각은 상기 물리적인 유닛 내의 물리적인 블록 오프셋에 의해 지정되는, 상기 복수의 물리적인 유닛 제공 단계,(b) 상기 메모리의 복수의 가상 유닛들을 제공하는 단계로서, 각각의 가상 유닛은 가상 유닛 번호에 의해 지정되고, 상기 가상 유닛들 각각은 복수의 가상 블록들을 특징으로 하고, 상기 가상 블록들 각각은 상기 가상 유닛 내의 가상 블록 오프셋에 의해 지정되는, 상기 복수의 가상 유닛들 제공 단계,(c) 각각의 가상 유닛을 적어도 하나의 물리적인 유닛에 맵핑시키기 위한 가상 맵을 제공하는 단계,(d) 상기 가상 유닛 내의 각각의 가상 블록을 상기 적어도 하나의 물리적인 유닛 내의 하나의 물리적인 블록에 매핑시키는 단계,(e) 데이터를 가상 블록에 기록하기 위해 기록 명령을 수신하는 단계,(f) 상기 가상 블록을 포함하는 가상 유닛을 위치지정하는 단계,(g) 상기 가상 유닛에 맵핑된 물리적인 유닛 내에 기록 가능한 블록을 위치지정하는 단계,(h) 기록된 물리적인 유닛을 형성하기 위해 상기 데이터를 상기 기록 가능한 물리적인 블록에 기록하는 단계,(i) 상기 기록된 물리적인 유닛 내에서 기록되지 않은 물리적인 블록이 발견될 수 없는 경우, 기록 가능한 물리적인 블록을 갖는 제 2 물리적인 유닛을 위치지정하는 단계,(j) 상기 데이터를 상기 제 2 물리적인 유닛의 상기 기록 가능한 물리적인 블록에 기록하는 단계,(k) 상기 가상 유닛이 상기 제 2 물리적인 유닛과 상기 기록된 물리적인 유닛에 대응하도록, 상기 가상 유닛을 상기 제 2 물리적인 유닛에 부가적으로 맵핑함으로써 상기 가상 맵을 갱신하는 단계로서, 상기 제 2 물리적인 유닛과 상기 기록된 물리적인 유닛은 물리적인 유닛들의 체인을 형성하는, 상기 가상 맵 갱신 단계,(l) 임의의 물리적인 유닛 내의 기록되지 않은 물리적인 블록이 발견될 수 없는 경우, 체인 내에 복수의 물리적인 유닛들에 대응하는 제 2 가상 유닛을 위치지정하는 단계,(m) 상기 체인 내에 상기 최종 물리적인 유닛을 위치지정하는 단계,(n) 상기 기록된 물리적인 유닛의 물리적인 블록들 각각에서 상기 최종 물리적인 유닛의 기록 가능한 물리적인 블록으로 데이터를 이동시키는 단계로서, 상기 기록 가능한 물리적인 블록은 상기 기록된 물리적인 유닛의 상기 물리적인 블록과 실질적으로 동일한 블럭 오프셋을 갖는, 데이터 이동 단계, 및(o) 상기 가상 유닛이 상기 최종 물리적인 유닛에만 대응하도록, 상기 가상 유닛을 상기 최종 물리적인 유닛에 맵핑시킴으로써 상기 가상 맵을 갱신하는 단계를 포함하는, 메모리 구성 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/951,644 US5937425A (en) | 1997-10-16 | 1997-10-16 | Flash file system optimized for page-mode flash technologies |
US8/951,644 | 1997-10-16 | ||
US08/951,644 | 1997-10-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010031157A KR20010031157A (ko) | 2001-04-16 |
KR100495722B1 true KR100495722B1 (ko) | 2005-06-17 |
Family
ID=25491960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2000-7004068A KR100495722B1 (ko) | 1997-10-16 | 1998-10-05 | 개선된 플래시 파일 시스템 |
Country Status (7)
Country | Link |
---|---|
US (1) | US5937425A (ko) |
EP (1) | EP1025502A4 (ko) |
JP (1) | JP3712231B2 (ko) |
KR (1) | KR100495722B1 (ko) |
CN (1) | CN1223945C (ko) |
AU (1) | AU9685898A (ko) |
WO (1) | WO1999021093A1 (ko) |
Families Citing this family (280)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5657332A (en) * | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5845313A (en) | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US8171203B2 (en) | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
US6978342B1 (en) | 1995-07-31 | 2005-12-20 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US6728851B1 (en) * | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US6148354A (en) | 1999-04-05 | 2000-11-14 | M-Systems Flash Disk Pioneers Ltd. | Architecture for a universal serial bus-based PC flash disk |
KR100544175B1 (ko) * | 1999-05-08 | 2006-01-23 | 삼성전자주식회사 | 링킹 타입 정보를 저장하는 기록 매체와 결함 영역 처리 방법 |
US6578054B1 (en) | 1999-10-04 | 2003-06-10 | Microsoft Corporation | Method and system for supporting off-line mode of operation and synchronization using resource state information |
CN1088218C (zh) * | 1999-11-14 | 2002-07-24 | 邓国顺 | 用于数据处理系统的快闪电子式外存储方法及其装置 |
US6426893B1 (en) | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US7167944B1 (en) | 2000-07-21 | 2007-01-23 | Lexar Media, Inc. | Block management for mass storage |
US7113432B2 (en) | 2000-09-14 | 2006-09-26 | Sandisk Corporation | Compressed event counting technique and application to a flash memory system |
KR100644602B1 (ko) * | 2000-10-11 | 2006-11-10 | 삼성전자주식회사 | 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조 |
US7606733B2 (en) * | 2000-10-27 | 2009-10-20 | Sandisk Il Ltd. | Account portability for computing |
US7373656B2 (en) * | 2000-10-27 | 2008-05-13 | Sandisk Il Ltd. | Automatic configuration for portable devices |
US6986030B2 (en) | 2000-10-27 | 2006-01-10 | M-Systems Flash Disk Pioneers Ltd. | Portable memory device includes software program for interacting with host computing device to provide a customized configuration for the program |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US6510488B2 (en) | 2001-02-05 | 2003-01-21 | M-Systems Flash Disk Pioneers Ltd. | Method for fast wake-up of a flash memory system |
US6732221B2 (en) | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
KR100389867B1 (ko) | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US6591330B2 (en) | 2001-06-18 | 2003-07-08 | M-Systems Flash Disk Pioneers Ltd. | System and method for flexible flash file |
US6760805B2 (en) | 2001-09-05 | 2004-07-06 | M-Systems Flash Disk Pioneers Ltd. | Flash management system for large page size |
US7108975B2 (en) * | 2001-09-21 | 2006-09-19 | Regents Of The University Of Michigan | Atlastin |
GB0123415D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
GB0123410D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
US6678785B2 (en) * | 2001-09-28 | 2004-01-13 | M-Systems Flash Disk Pioneers Ltd. | Flash management system using only sequential write |
GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
GB0123421D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Power management system |
US6668336B2 (en) * | 2001-11-08 | 2003-12-23 | M-Systems Flash Disk Pioneers Ltd. | Ruggedized block device driver |
US6883114B2 (en) * | 2001-11-08 | 2005-04-19 | M-Systems Flash Disk Pioneers Ltd. | Block device driver enabling a ruggedized file system |
US6977847B2 (en) * | 2001-11-23 | 2005-12-20 | M-Systems Flash Disk Pioneers Ltd. | Detecting partially erased units in flash devices |
TWI240861B (en) * | 2002-01-11 | 2005-10-01 | Integrated Circuit Solution In | Data access method and architecture of flash memory |
US6909910B2 (en) * | 2002-02-01 | 2005-06-21 | Microsoft Corporation | Method and system for managing changes to a contact database |
US7231643B1 (en) | 2002-02-22 | 2007-06-12 | Lexar Media, Inc. | Image rescue system including direct communication between an application program and a device driver |
US6621746B1 (en) | 2002-02-27 | 2003-09-16 | Microsoft Corporation | Monitoring entropic conditions of a flash memory device as an indicator for invoking erasure operations |
US7533214B2 (en) * | 2002-02-27 | 2009-05-12 | Microsoft Corporation | Open architecture flash driver |
US7085879B2 (en) * | 2002-02-27 | 2006-08-01 | Microsoft Corporation | Dynamic data structures for tracking data stored in a flash memory device |
US6901499B2 (en) | 2002-02-27 | 2005-05-31 | Microsoft Corp. | System and method for tracking data stored in a flash memory device |
US7010662B2 (en) * | 2002-02-27 | 2006-03-07 | Microsoft Corporation | Dynamic data structures for tracking file system free space in a flash memory device |
KR100914646B1 (ko) * | 2002-08-31 | 2009-08-28 | 지인정보기술 주식회사 | 멀티-플레인 구조의 플래시 메모리 관리 방법 |
US7254668B1 (en) * | 2002-10-28 | 2007-08-07 | Sandisk Corporation | Method and apparatus for grouping pages within a block |
US7174440B2 (en) * | 2002-10-28 | 2007-02-06 | Sandisk Corporation | Method and apparatus for performing block caching in a non-volatile memory system |
US7082512B2 (en) * | 2002-11-21 | 2006-07-25 | Microsoft Corporation | Dynamic data structures for tracking file system free space in a flash memory device |
JP3928724B2 (ja) * | 2003-02-20 | 2007-06-13 | ソニー株式会社 | 記録媒体の記録制御方法および記録媒体の記録制御装置 |
US7526598B2 (en) * | 2003-03-03 | 2009-04-28 | Sandisk Il, Ltd. | Efficient flash memory device driver |
US7003621B2 (en) * | 2003-03-25 | 2006-02-21 | M-System Flash Disk Pioneers Ltd. | Methods of sanitizing a flash-based data storage device |
US7664987B2 (en) * | 2003-05-25 | 2010-02-16 | Sandisk Il Ltd. | Flash memory device with fast reading rate |
US7372731B2 (en) * | 2003-06-17 | 2008-05-13 | Sandisk Il Ltd. | Flash memories with adaptive reference voltages |
US6988175B2 (en) * | 2003-06-30 | 2006-01-17 | M-Systems Flash Disk Pioneers Ltd. | Flash memory management method that is resistant to data corruption by power loss |
JP4667243B2 (ja) * | 2003-08-29 | 2011-04-06 | パナソニック株式会社 | 不揮発性記憶装置及びその書込み方法 |
US7188228B1 (en) | 2003-10-01 | 2007-03-06 | Sandisk Corporation | Hybrid mapping implementation within a non-volatile memory system |
US7012835B2 (en) * | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US7173852B2 (en) * | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
US7644376B2 (en) | 2003-10-23 | 2010-01-05 | Microsoft Corporation | Flexible architecture for notifying applications of state changes |
KR100608602B1 (ko) | 2003-12-10 | 2006-08-03 | 삼성전자주식회사 | 플래시 메모리, 이를 위한 사상 제어 장치 및 방법 |
KR100533682B1 (ko) * | 2003-12-26 | 2005-12-05 | 삼성전자주식회사 | 플래시 메모리의 데이터 관리 장치 및 방법 |
KR100526188B1 (ko) * | 2003-12-30 | 2005-11-04 | 삼성전자주식회사 | 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리 |
US7433993B2 (en) * | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
US7383375B2 (en) * | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US20050144363A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
JP4284200B2 (ja) * | 2004-01-28 | 2009-06-24 | 株式会社東芝 | 不揮発性半導体記憶システム |
US7716413B2 (en) * | 2004-02-15 | 2010-05-11 | Sandisk Il Ltd. | Method of making a multi-bit-cell flash memory |
US8019928B2 (en) * | 2004-02-15 | 2011-09-13 | Sandisk Il Ltd. | Method of managing a multi-bit-cell flash memory |
US7725628B1 (en) | 2004-04-20 | 2010-05-25 | Lexar Media, Inc. | Direct secondary device interface by a host |
TWI249670B (en) * | 2004-04-29 | 2006-02-21 | Mediatek Inc | System and method capable of sequentially writing a flash memory |
CN100353341C (zh) * | 2004-04-30 | 2007-12-05 | 联发科技股份有限公司 | 可循序写入数据至闪存中的系统及其方法 |
US7370166B1 (en) | 2004-04-30 | 2008-05-06 | Lexar Media, Inc. | Secure portable storage device |
US7703073B2 (en) * | 2004-06-08 | 2010-04-20 | Covia Labs, Inc. | Device interoperability format rule set and method for assembling interoperability application package |
KR100568115B1 (ko) * | 2004-06-30 | 2006-04-05 | 삼성전자주식회사 | 점진적 머지 방법 및 그것을 이용한 메모리 시스템 |
DE102004033593A1 (de) * | 2004-07-07 | 2006-02-02 | Siemens Ag | Verfahren zur Simulation einer technischen Anlage |
US7386700B2 (en) * | 2004-07-30 | 2008-06-10 | Sandisk Il Ltd | Virtual-to-physical address translation in a flash file system |
KR100597411B1 (ko) * | 2004-08-04 | 2006-07-05 | 삼성전자주식회사 | 파일의 효율적인 데이터 관리를 위한 방법 및 장치 |
US7594063B1 (en) | 2004-08-27 | 2009-09-22 | Lexar Media, Inc. | Storage capacity status |
US7464306B1 (en) | 2004-08-27 | 2008-12-09 | Lexar Media, Inc. | Status of overall health of nonvolatile memory |
WO2006026645A2 (en) * | 2004-08-30 | 2006-03-09 | Silicon Storage Technology, Inc. | Systems and methods for providing nonvolatile memory management in wireless phones |
US20060059296A1 (en) * | 2004-09-16 | 2006-03-16 | M-Systems Flash Disk Pioneers, Ltd. | Emulating small block size of flash memory |
US7164611B2 (en) | 2004-10-26 | 2007-01-16 | Micron Technology, Inc. | Data retention kill function |
US7366826B2 (en) * | 2004-12-16 | 2008-04-29 | Sandisk Corporation | Non-volatile memory and method with multi-stream update tracking |
US7395404B2 (en) | 2004-12-16 | 2008-07-01 | Sandisk Corporation | Cluster auto-alignment for storing addressable data packets in a non-volatile memory array |
US7386655B2 (en) * | 2004-12-16 | 2008-06-10 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
US7315916B2 (en) * | 2004-12-16 | 2008-01-01 | Sandisk Corporation | Scratch pad block |
US7412560B2 (en) * | 2004-12-16 | 2008-08-12 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
US7149111B2 (en) * | 2004-12-17 | 2006-12-12 | Msystems Ltd. | Method of handling limitations on the order of writing to a non-volatile memory |
FR2880152B1 (fr) * | 2004-12-24 | 2007-03-02 | Trusted Logic Sa | Procede et systeme pour l'optimisation de la gestion de fichiers a enregistrements |
US7308525B2 (en) * | 2005-01-10 | 2007-12-11 | Sandisk Il Ltd. | Method of managing a multi-bit cell flash memory with improved reliablility and performance |
US7426623B2 (en) * | 2005-01-14 | 2008-09-16 | Sandisk Il Ltd | System and method for configuring flash memory partitions as super-units |
US8341371B2 (en) * | 2005-01-31 | 2012-12-25 | Sandisk Il Ltd | Method of managing copy operations in flash memories |
US7877539B2 (en) * | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US20060184719A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US9104315B2 (en) | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
EP1851771A2 (en) * | 2005-02-11 | 2007-11-07 | M-Systems Flash Disk Pioneers Ltd. | Nand flash memory system architecture |
US8244958B2 (en) * | 2005-05-09 | 2012-08-14 | Sandisk Il Ltd. | Method and system for facilitating fast wake-up of a flash memory system |
US7275140B2 (en) * | 2005-05-12 | 2007-09-25 | Sandisk Il Ltd. | Flash memory management method that is resistant to data corruption by power loss |
US7389397B2 (en) * | 2005-06-01 | 2008-06-17 | Sandisk Il Ltd | Method of storing control information in a large-page flash memory device |
US20060282610A1 (en) | 2005-06-08 | 2006-12-14 | M-Systems Flash Disk Pioneers Ltd. | Flash memory with programmable endurance |
KR100827227B1 (ko) * | 2005-06-24 | 2008-05-07 | 삼성전자주식회사 | 저성능 저장장치의 drm 권리 객체를 효율적으로관리하는 방법 및 장치 |
US7743409B2 (en) | 2005-07-08 | 2010-06-22 | Sandisk Corporation | Methods used in a mass storage device with automated credentials loading |
US8321953B2 (en) * | 2005-07-14 | 2012-11-27 | Imation Corp. | Secure storage device with offline code entry |
US8438647B2 (en) * | 2005-07-14 | 2013-05-07 | Imation Corp. | Recovery of encrypted data from a secure storage device |
US8015606B1 (en) | 2005-07-14 | 2011-09-06 | Ironkey, Inc. | Storage device with website trust indication |
US8335920B2 (en) | 2005-07-14 | 2012-12-18 | Imation Corp. | Recovery of data access for a locked secure storage device |
US20070016721A1 (en) * | 2005-07-18 | 2007-01-18 | Wyse Technology Inc. | Flash file system power-up by using sequential sector allocation |
TW200705180A (en) * | 2005-07-29 | 2007-02-01 | Genesys Logic Inc | Adjustable flash memory management system and method |
US7480766B2 (en) * | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US7552271B2 (en) * | 2005-08-03 | 2009-06-23 | Sandisk Corporation | Nonvolatile memory with block management |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
US7949845B2 (en) * | 2005-08-03 | 2011-05-24 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
US7558906B2 (en) * | 2005-08-03 | 2009-07-07 | Sandisk Corporation | Methods of managing blocks in nonvolatile memory |
US7669003B2 (en) * | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
US20070067620A1 (en) * | 2005-09-06 | 2007-03-22 | Ironkey, Inc. | Systems and methods for third-party authentication |
US8291295B2 (en) | 2005-09-26 | 2012-10-16 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US7631245B2 (en) | 2005-09-26 | 2009-12-08 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US7747833B2 (en) * | 2005-09-30 | 2010-06-29 | Mosaid Technologies Incorporated | Independent link and bank selection |
US7652922B2 (en) | 2005-09-30 | 2010-01-26 | Mosaid Technologies Incorporated | Multiple independent serial link memory |
KR101293365B1 (ko) * | 2005-09-30 | 2013-08-05 | 모사이드 테크놀로지스 인코퍼레이티드 | 출력 제어 메모리 |
US11948629B2 (en) | 2005-09-30 | 2024-04-02 | Mosaid Technologies Incorporated | Non-volatile memory device with concurrent bank operations |
US20070076502A1 (en) * | 2005-09-30 | 2007-04-05 | Pyeon Hong B | Daisy chain cascading devices |
US20070165457A1 (en) * | 2005-09-30 | 2007-07-19 | Jin-Ki Kim | Nonvolatile memory system |
US7529905B2 (en) | 2005-10-13 | 2009-05-05 | Sandisk Corporation | Method of storing transformed units of data in a memory system having fixed sized storage blocks |
US7814262B2 (en) * | 2005-10-13 | 2010-10-12 | Sandisk Corporation | Memory system storing transformed units of data in fixed sized storage blocks |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
US7509471B2 (en) * | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
US7877540B2 (en) * | 2005-12-13 | 2011-01-25 | Sandisk Corporation | Logically-addressed file storage methods |
US7793068B2 (en) | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
US7769978B2 (en) | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US8266378B1 (en) | 2005-12-22 | 2012-09-11 | Imation Corp. | Storage device with accessible partitions |
US8639873B1 (en) | 2005-12-22 | 2014-01-28 | Imation Corp. | Detachable storage device with RAM cache |
KR100755700B1 (ko) * | 2005-12-27 | 2007-09-05 | 삼성전자주식회사 | 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법 |
US7519754B2 (en) * | 2005-12-28 | 2009-04-14 | Silicon Storage Technology, Inc. | Hard disk drive cache memory and playback device |
US20070147115A1 (en) * | 2005-12-28 | 2007-06-28 | Fong-Long Lin | Unified memory and controller |
US8335868B2 (en) * | 2006-03-28 | 2012-12-18 | Mosaid Technologies Incorporated | Apparatus and method for establishing device identifiers for serially interconnected devices |
US8364861B2 (en) * | 2006-03-28 | 2013-01-29 | Mosaid Technologies Incorporated | Asynchronous ID generation |
US8069328B2 (en) * | 2006-03-28 | 2011-11-29 | Mosaid Technologies Incorporated | Daisy chain cascade configuration recognition technique |
US7551492B2 (en) | 2006-03-29 | 2009-06-23 | Mosaid Technologies, Inc. | Non-volatile semiconductor memory with page erase |
WO2007112555A1 (en) * | 2006-03-31 | 2007-10-11 | Mosaid Technologies Incorporated | Flash memory system control scheme |
JP2007280108A (ja) * | 2006-04-07 | 2007-10-25 | Sony Corp | 記憶媒体制御装置、記憶媒体制御方法、プログラム |
US8645793B2 (en) * | 2008-06-03 | 2014-02-04 | Marvell International Ltd. | Statistical tracking for flash memory |
US7583545B2 (en) * | 2006-05-21 | 2009-09-01 | Sandisk Il Ltd | Method of storing data in a multi-bit-cell flash memory |
US7711890B2 (en) * | 2006-06-06 | 2010-05-04 | Sandisk Il Ltd | Cache control in a non-volatile memory device |
US20080046641A1 (en) * | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
US20080046630A1 (en) * | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
US7904639B2 (en) * | 2006-08-22 | 2011-03-08 | Mosaid Technologies Incorporated | Modular command structure for memory and memory system |
KR100802059B1 (ko) * | 2006-09-06 | 2008-02-12 | 삼성전자주식회사 | 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법 |
US7593259B2 (en) * | 2006-09-13 | 2009-09-22 | Mosaid Technologies Incorporated | Flash multi-level threshold distribution scheme |
US7886204B2 (en) * | 2006-09-27 | 2011-02-08 | Sandisk Corporation | Methods of cell population distribution assisted read margining |
US7716538B2 (en) * | 2006-09-27 | 2010-05-11 | Sandisk Corporation | Memory with cell population distribution assisted read margining |
US8700818B2 (en) * | 2006-09-29 | 2014-04-15 | Mosaid Technologies Incorporated | Packet based ID generation for serially interconnected devices |
KR100771519B1 (ko) * | 2006-10-23 | 2007-10-30 | 삼성전자주식회사 | 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법 |
US7814263B2 (en) * | 2006-10-26 | 2010-10-12 | Sandisk Il Ltd. | Erase history-based flash writing method |
KR100789406B1 (ko) | 2006-11-03 | 2007-12-28 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법 |
US7817470B2 (en) | 2006-11-27 | 2010-10-19 | Mosaid Technologies Incorporated | Non-volatile memory serial core architecture |
KR100816761B1 (ko) * | 2006-12-04 | 2008-03-25 | 삼성전자주식회사 | 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법 |
US7818464B2 (en) * | 2006-12-06 | 2010-10-19 | Mosaid Technologies Incorporated | Apparatus and method for capturing serial input data |
US7853727B2 (en) * | 2006-12-06 | 2010-12-14 | Mosaid Technologies Incorporated | Apparatus and method for producing identifiers regardless of mixed device type in a serial interconnection |
US8271758B2 (en) * | 2006-12-06 | 2012-09-18 | Mosaid Technologies Incorporated | Apparatus and method for producing IDS for interconnected devices of mixed type |
US8010709B2 (en) * | 2006-12-06 | 2011-08-30 | Mosaid Technologies Incorporated | Apparatus and method for producing device identifiers for serially interconnected devices of mixed type |
US8331361B2 (en) * | 2006-12-06 | 2012-12-11 | Mosaid Technologies Incorporated | Apparatus and method for producing device identifiers for serially interconnected devices of mixed type |
US7529149B2 (en) * | 2006-12-12 | 2009-05-05 | Mosaid Technologies Incorporated | Memory system and method with serial and parallel modes |
US8984249B2 (en) * | 2006-12-20 | 2015-03-17 | Novachips Canada Inc. | ID generation apparatus and method for serially interconnected devices |
US8370561B2 (en) * | 2006-12-24 | 2013-02-05 | Sandisk Il Ltd. | Randomizing for suppressing errors in a flash memory |
US8127200B2 (en) * | 2006-12-24 | 2012-02-28 | Sandisk Il Ltd. | Flash memory device and system with randomizing for suppressing errors |
US7721040B2 (en) * | 2007-01-18 | 2010-05-18 | Sandisk Il Ltd. | Method and system for facilitating fast wake-up of a flash memory system |
US8010710B2 (en) * | 2007-02-13 | 2011-08-30 | Mosaid Technologies Incorporated | Apparatus and method for identifying device type of serially interconnected devices |
US8095723B2 (en) * | 2007-02-16 | 2012-01-10 | Electronics And Telecommunications Research Institute | Log-based flash translation layer and operating method thereof |
US20080201588A1 (en) * | 2007-02-16 | 2008-08-21 | Mosaid Technologies Incorporated | Semiconductor device and method for reducing power consumption in a system having interconnected devices |
US8086785B2 (en) * | 2007-02-22 | 2011-12-27 | Mosaid Technologies Incorporated | System and method of page buffer operation for memory devices |
WO2008101316A1 (en) * | 2007-02-22 | 2008-08-28 | Mosaid Technologies Incorporated | Apparatus and method for using a page buffer of a memory device as a temporary cache |
US7796462B2 (en) * | 2007-02-22 | 2010-09-14 | Mosaid Technologies Incorporated | Data flow control in multiple independent port |
US8370562B2 (en) * | 2007-02-25 | 2013-02-05 | Sandisk Il Ltd. | Interruptible cache flushing in flash memory systems |
US7577059B2 (en) * | 2007-02-27 | 2009-08-18 | Mosaid Technologies Incorporated | Decoding control with address transition detection in page erase function |
US7804718B2 (en) * | 2007-03-07 | 2010-09-28 | Mosaid Technologies Incorporated | Partial block erase architecture for flash memory |
US7477547B2 (en) * | 2007-03-28 | 2009-01-13 | Sandisk Corporation | Flash memory refresh techniques triggered by controlled scrub data reads |
US7573773B2 (en) * | 2007-03-28 | 2009-08-11 | Sandisk Corporation | Flash memory with data refresh triggered by controlled scrub data reads |
US7808834B1 (en) | 2007-04-13 | 2010-10-05 | Marvell International Ltd. | Incremental memory refresh |
US7869277B1 (en) | 2007-04-25 | 2011-01-11 | Apple Inc. | Managing data writing to memories |
US7689762B2 (en) * | 2007-05-03 | 2010-03-30 | Atmel Corporation | Storage device wear leveling |
US7577029B2 (en) | 2007-05-04 | 2009-08-18 | Mosaid Technologies Incorporated | Multi-level cell access buffer with dual function |
CN101398759B (zh) * | 2007-06-29 | 2012-06-13 | 北京中星微电子有限公司 | 避免启动代码在数据段搬移时自我覆盖的方法 |
US8031526B1 (en) | 2007-08-23 | 2011-10-04 | Marvell International Ltd. | Write pre-compensation for nonvolatile memory |
US8189381B1 (en) | 2007-08-28 | 2012-05-29 | Marvell International Ltd. | System and method for reading flash memory cells |
US8085605B2 (en) | 2007-08-29 | 2011-12-27 | Marvell World Trade Ltd. | Sequence detection for flash memory with inter-cell interference |
US7970983B2 (en) * | 2007-10-14 | 2011-06-28 | Sandisk Il Ltd. | Identity-based flash management |
US8024545B2 (en) | 2007-10-19 | 2011-09-20 | Inha-Industry Partnership Institute | Efficient prefetching and asynchronous writing for flash memory |
US7913128B2 (en) * | 2007-11-23 | 2011-03-22 | Mosaid Technologies Incorporated | Data channel test apparatus and method thereof |
US8200904B2 (en) * | 2007-12-12 | 2012-06-12 | Sandisk Il Ltd. | System and method for clearing data from a cache |
US7983099B2 (en) | 2007-12-20 | 2011-07-19 | Mosaid Technologies Incorporated | Dual function compatible non-volatile memory device |
US7865658B2 (en) * | 2007-12-31 | 2011-01-04 | Sandisk Il Ltd. | Method and system for balancing host write operations and cache flushing |
US7940572B2 (en) | 2008-01-07 | 2011-05-10 | Mosaid Technologies Incorporated | NAND flash memory having multiple cell substrates |
WO2009137371A2 (en) * | 2008-05-02 | 2009-11-12 | Ironkey, Inc. | Enterprise device recovery |
US20100042900A1 (en) * | 2008-08-18 | 2010-02-18 | Apple Inc. | Write Failure Handling of MLC NAND |
US8838876B2 (en) | 2008-10-13 | 2014-09-16 | Micron Technology, Inc. | Translation layer in a solid state storage device |
TWI452467B (zh) * | 2008-10-13 | 2014-09-11 | A Data Technology Co Ltd | 記憶體系統及其控制方法 |
US8285970B2 (en) * | 2008-11-06 | 2012-10-09 | Silicon Motion Inc. | Method for managing a memory apparatus, and associated memory apparatus thereof |
US8316201B2 (en) * | 2008-12-18 | 2012-11-20 | Sandisk Il Ltd. | Methods for executing a command to write data from a source location to a destination location in a memory device |
JP4551958B2 (ja) * | 2008-12-22 | 2010-09-29 | 株式会社東芝 | 半導体記憶装置および半導体記憶装置の制御方法 |
US20100169540A1 (en) * | 2008-12-30 | 2010-07-01 | Sinclair Alan W | Method and apparatus for relocating selected data between flash partitions in a memory device |
US8261009B2 (en) * | 2008-12-30 | 2012-09-04 | Sandisk Il Ltd. | Method and apparatus for retroactive adaptation of data location |
US20100228906A1 (en) * | 2009-03-06 | 2010-09-09 | Arunprasad Ramiya Mothilal | Managing Data in a Non-Volatile Memory System |
US8176295B2 (en) | 2009-04-20 | 2012-05-08 | Imation Corp. | Logical-to-physical address translation for a removable data storage device |
US8065469B2 (en) * | 2009-04-20 | 2011-11-22 | Imation Corp. | Static wear leveling |
TWI457940B (zh) * | 2009-05-15 | 2014-10-21 | Macronix Int Co Ltd | 區塊為基礎快閃記憶體之位元組存取 |
US8745365B2 (en) * | 2009-08-06 | 2014-06-03 | Imation Corp. | Method and system for secure booting a computer by booting a first operating system from a secure peripheral device and launching a second operating system stored a secure area in the secure peripheral device on the first operating system |
US8683088B2 (en) * | 2009-08-06 | 2014-03-25 | Imation Corp. | Peripheral device data integrity |
US20110041039A1 (en) * | 2009-08-11 | 2011-02-17 | Eliyahou Harari | Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device |
US8612718B2 (en) * | 2009-08-19 | 2013-12-17 | Seagate Technology Llc | Mapping alignment |
US8443263B2 (en) | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
US8595411B2 (en) | 2009-12-30 | 2013-11-26 | Sandisk Technologies Inc. | Method and controller for performing a sequence of commands |
US8819208B2 (en) | 2010-03-05 | 2014-08-26 | Solidfire, Inc. | Data deletion in a distributed data storage system |
US9396104B1 (en) | 2010-03-22 | 2016-07-19 | Seagate Technology, Llc | Accessing compressed data of varying-sized quanta in non-volatile memory |
US9235530B2 (en) | 2010-05-31 | 2016-01-12 | Sandisk Technologies Inc. | Method and system for binary cache cleanup |
JP2012226822A (ja) | 2011-04-15 | 2012-11-15 | Samsung Electronics Co Ltd | 不揮発性メモリ装置 |
US9069477B1 (en) * | 2011-06-16 | 2015-06-30 | Amazon Technologies, Inc. | Reuse of dynamically allocated memory |
US9588883B2 (en) | 2011-09-23 | 2017-03-07 | Conversant Intellectual Property Management Inc. | Flash memory system |
US20130080731A1 (en) * | 2011-09-28 | 2013-03-28 | Ping-Yi Hsu | Method and apparatus for performing memory management |
US8687421B2 (en) | 2011-11-21 | 2014-04-01 | Sandisk Technologies Inc. | Scrub techniques for use with dynamic read |
US9054992B2 (en) | 2011-12-27 | 2015-06-09 | Solidfire, Inc. | Quality of service policy sets |
US9838269B2 (en) | 2011-12-27 | 2017-12-05 | Netapp, Inc. | Proportional quality of service based on client usage and system metrics |
US9251086B2 (en) * | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
CN102662849B (zh) * | 2012-03-07 | 2015-12-16 | 忆正科技(武汉)有限公司 | 多通道闪存的区块管理方法 |
KR20140038110A (ko) | 2012-09-20 | 2014-03-28 | 한국전자통신연구원 | 파일 시스템 관리 방법 및 이를 이용하는 장치 |
US9495288B2 (en) * | 2013-01-22 | 2016-11-15 | Seagate Technology Llc | Variable-size flash translation layer |
US8812744B1 (en) | 2013-03-14 | 2014-08-19 | Microsoft Corporation | Assigning priorities to data for hybrid drives |
US9626126B2 (en) | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
US9946495B2 (en) | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
US9268502B2 (en) | 2013-09-16 | 2016-02-23 | Netapp, Inc. | Dense tree volume metadata organization |
US9405783B2 (en) | 2013-10-02 | 2016-08-02 | Netapp, Inc. | Extent hashing technique for distributed storage architecture |
US9152684B2 (en) | 2013-11-12 | 2015-10-06 | Netapp, Inc. | Snapshots and clones of volumes in a storage system |
US9201918B2 (en) | 2013-11-19 | 2015-12-01 | Netapp, Inc. | Dense tree volume metadata update logging and checkpointing |
US9170746B2 (en) | 2014-01-07 | 2015-10-27 | Netapp, Inc. | Clustered raid assimilation management |
US9251064B2 (en) | 2014-01-08 | 2016-02-02 | Netapp, Inc. | NVRAM caching and logging in a storage system |
US9448924B2 (en) | 2014-01-08 | 2016-09-20 | Netapp, Inc. | Flash optimized, log-structured layer of a file system |
US9529546B2 (en) | 2014-01-08 | 2016-12-27 | Netapp, Inc. | Global in-line extent-based deduplication |
US9152330B2 (en) | 2014-01-09 | 2015-10-06 | Netapp, Inc. | NVRAM data organization using self-describing entities for predictable recovery after power-loss |
US9256549B2 (en) | 2014-01-17 | 2016-02-09 | Netapp, Inc. | Set-associative hash table organization for efficient storage and retrieval of data in a storage system |
US9268653B2 (en) | 2014-01-17 | 2016-02-23 | Netapp, Inc. | Extent metadata update logging and checkpointing |
US9483349B2 (en) | 2014-01-17 | 2016-11-01 | Netapp, Inc. | Clustered raid data organization |
US9454434B2 (en) | 2014-01-17 | 2016-09-27 | Netapp, Inc. | File system driven raid rebuild technique |
US20150244795A1 (en) | 2014-02-21 | 2015-08-27 | Solidfire, Inc. | Data syncing in a distributed system |
US9230689B2 (en) | 2014-03-17 | 2016-01-05 | Sandisk Technologies Inc. | Finding read disturbs on non-volatile memories |
US9798728B2 (en) | 2014-07-24 | 2017-10-24 | Netapp, Inc. | System performing data deduplication using a dense tree data structure |
US9524103B2 (en) | 2014-09-10 | 2016-12-20 | Netapp, Inc. | Technique for quantifying logical space trapped in an extent store |
US9501359B2 (en) | 2014-09-10 | 2016-11-22 | Netapp, Inc. | Reconstruction of dense tree volume metadata state across crash recovery |
US10133511B2 (en) | 2014-09-12 | 2018-11-20 | Netapp, Inc | Optimized segment cleaning technique |
US9671960B2 (en) | 2014-09-12 | 2017-06-06 | Netapp, Inc. | Rate matching technique for balancing segment cleaning and I/O workload |
US10114562B2 (en) | 2014-09-16 | 2018-10-30 | Sandisk Technologies Llc | Adaptive block allocation in nonvolatile memory |
US9552171B2 (en) | 2014-10-29 | 2017-01-24 | Sandisk Technologies Llc | Read scrub with adaptive counter management |
US9978456B2 (en) | 2014-11-17 | 2018-05-22 | Sandisk Technologies Llc | Techniques for reducing read disturb in partially written blocks of non-volatile memory |
US9349479B1 (en) | 2014-11-18 | 2016-05-24 | Sandisk Technologies Inc. | Boundary word line operation in nonvolatile memory |
US9836229B2 (en) | 2014-11-18 | 2017-12-05 | Netapp, Inc. | N-way merge technique for updating volume metadata in a storage I/O stack |
US9720601B2 (en) | 2015-02-11 | 2017-08-01 | Netapp, Inc. | Load balancing technique for a storage array |
US9449700B2 (en) | 2015-02-13 | 2016-09-20 | Sandisk Technologies Llc | Boundary word line search and open block read methods with reduced read disturb |
US9762460B2 (en) | 2015-03-24 | 2017-09-12 | Netapp, Inc. | Providing continuous context for operational information of a storage system |
US9710317B2 (en) | 2015-03-30 | 2017-07-18 | Netapp, Inc. | Methods to identify, handle and recover from suspect SSDS in a clustered flash array |
JPWO2016175028A1 (ja) | 2015-04-28 | 2018-02-22 | 日本電気株式会社 | 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム |
US10592148B2 (en) | 2015-07-06 | 2020-03-17 | Nec Corporation | Information processing system, storage control apparatus, storage control method, and storage control program for evaluating access performance to a storage medium |
US10402114B2 (en) | 2015-07-06 | 2019-09-03 | Nec Corporation | Information processing system, storage control apparatus, storage control method, and storage control program |
US9740566B2 (en) | 2015-07-31 | 2017-08-22 | Netapp, Inc. | Snapshot creation workflow |
US10394660B2 (en) | 2015-07-31 | 2019-08-27 | Netapp, Inc. | Snapshot restore workflow |
US10565230B2 (en) | 2015-07-31 | 2020-02-18 | Netapp, Inc. | Technique for preserving efficiency for replication between clusters of a network |
US9653154B2 (en) | 2015-09-21 | 2017-05-16 | Sandisk Technologies Llc | Write abort detection for multi-state memories |
US9785525B2 (en) | 2015-09-24 | 2017-10-10 | Netapp, Inc. | High availability failover manager |
US20170097771A1 (en) | 2015-10-01 | 2017-04-06 | Netapp, Inc. | Transaction log layout for efficient reclamation and recovery |
US9836366B2 (en) | 2015-10-27 | 2017-12-05 | Netapp, Inc. | Third vote consensus in a cluster using shared storage devices |
US10235059B2 (en) | 2015-12-01 | 2019-03-19 | Netapp, Inc. | Technique for maintaining consistent I/O processing throughput in a storage system |
US10691553B2 (en) | 2015-12-16 | 2020-06-23 | Netapp, Inc. | Persistent memory based distributed-journal file system |
US10489346B2 (en) | 2015-12-16 | 2019-11-26 | Netapp, Inc. | Atomic update of B-tree in a persistent memory-based file system |
US10229009B2 (en) | 2015-12-16 | 2019-03-12 | Netapp, Inc. | Optimized file system layout for distributed consensus protocol |
US9830103B2 (en) | 2016-01-05 | 2017-11-28 | Netapp, Inc. | Technique for recovery of trapped storage space in an extent store |
US10108547B2 (en) | 2016-01-06 | 2018-10-23 | Netapp, Inc. | High performance and memory efficient metadata caching |
US9846539B2 (en) | 2016-01-22 | 2017-12-19 | Netapp, Inc. | Recovery from low space condition of an extent store |
WO2017130022A1 (en) | 2016-01-26 | 2017-08-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for adding storage devices to a data storage system with diagonally replicated data storage blocks |
US10929022B2 (en) | 2016-04-25 | 2021-02-23 | Netapp. Inc. | Space savings reporting for storage system supporting snapshot and clones |
US9952767B2 (en) | 2016-04-29 | 2018-04-24 | Netapp, Inc. | Consistency group management |
US9817593B1 (en) | 2016-07-11 | 2017-11-14 | Sandisk Technologies Llc | Block management in non-volatile memory system with non-blocking control sync system |
US10642763B2 (en) | 2016-09-20 | 2020-05-05 | Netapp, Inc. | Quality of service policy sets |
US10713158B2 (en) | 2018-06-28 | 2020-07-14 | Western Digital Technologies, Inc. | Non-volatile storage system with dynamic allocation of applications to memory based on usage monitoring |
JP7242016B2 (ja) | 2019-07-26 | 2023-03-20 | 内田工業株式会社 | 複合遊具 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
TW261687B (ko) * | 1991-11-26 | 1995-11-01 | Hitachi Seisakusyo Kk | |
JP3485938B2 (ja) * | 1992-03-31 | 2004-01-13 | 株式会社東芝 | 不揮発性半導体メモリ装置 |
US5459850A (en) * | 1993-02-19 | 1995-10-17 | Conner Peripherals, Inc. | Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks |
US5479638A (en) * | 1993-03-26 | 1995-12-26 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporation wear leveling technique |
US5682497A (en) * | 1993-09-28 | 1997-10-28 | Intel Corporation | Managing file structures for a flash memory file system in a computer |
US5867641A (en) * | 1995-10-27 | 1999-02-02 | Scm Microsystems (U.S.) Inc. | Flash translation layer cleanup system and method |
-
1997
- 1997-10-16 US US08/951,644 patent/US5937425A/en not_active Expired - Lifetime
-
1998
- 1998-10-05 WO PCT/US1998/021017 patent/WO1999021093A1/en active IP Right Grant
- 1998-10-05 KR KR10-2000-7004068A patent/KR100495722B1/ko active IP Right Grant
- 1998-10-05 JP JP2000517345A patent/JP3712231B2/ja not_active Expired - Fee Related
- 1998-10-05 AU AU96858/98A patent/AU9685898A/en not_active Abandoned
- 1998-10-05 EP EP98950946A patent/EP1025502A4/en not_active Withdrawn
- 1998-10-05 CN CNB988101777A patent/CN1223945C/zh not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
Also Published As
Publication number | Publication date |
---|---|
JP3712231B2 (ja) | 2005-11-02 |
EP1025502A4 (en) | 2006-11-08 |
WO1999021093A1 (en) | 1999-04-29 |
CN1281562A (zh) | 2001-01-24 |
KR20010031157A (ko) | 2001-04-16 |
US5937425A (en) | 1999-08-10 |
CN1223945C (zh) | 2005-10-19 |
JP2001521220A (ja) | 2001-11-06 |
EP1025502A1 (en) | 2000-08-09 |
WO1999021093B1 (en) | 1999-07-22 |
AU9685898A (en) | 1999-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100495722B1 (ko) | 개선된 플래시 파일 시스템 | |
JP4155463B2 (ja) | 順次書き込みのみを用いるフラッシュ管理システムを有するシステム、及びその方法 | |
KR100882862B1 (ko) | 플렉시블 플래시 파일 시스템을 위한 시스템 및 방법 | |
EP1410399B1 (en) | Method and apparatus for decreasing block write operation times performed on nonvolatile memory | |
US9489301B2 (en) | Memory systems | |
US7669003B2 (en) | Reprogrammable non-volatile memory systems with indexing of directly stored data files | |
JP4004468B2 (ja) | 大きなページをサポートするようにさせるための方法およびシステム | |
US7752412B2 (en) | Methods of managing file allocation table information | |
US7681008B2 (en) | Systems for managing file allocation table information | |
KR101329068B1 (ko) | 블록 관리를 가지는 비휘발성 메모리 | |
US20070033375A1 (en) | Indexing of File Data in Reprogrammable Non-Volatile Memories That Directly Store Data Files | |
KR20070060070A (ko) | 최적화된 순차적인 클러스터 관리용 에프에이티 분석 | |
JP2003085037A (ja) | メモリ管理方法 | |
WO2005059966A2 (en) | Rotational use of memory to minimize write cycles | |
US20060212647A1 (en) | Information storage apparatus | |
KR20020092261A (ko) | 멀티-플레인 구조의 플래시 메모리 관리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20130522 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20140530 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20150515 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20160517 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20170522 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20180516 Year of fee payment: 14 |