KR100292011B1 - 플래쉬파일수단 - Google Patents
플래쉬파일수단 Download PDFInfo
- Publication number
- KR100292011B1 KR100292011B1 KR1019950703788A KR19950703788A KR100292011B1 KR 100292011 B1 KR100292011 B1 KR 100292011B1 KR 1019950703788 A KR1019950703788 A KR 1019950703788A KR 19950703788 A KR19950703788 A KR 19950703788A KR 100292011 B1 KR100292011 B1 KR 100292011B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- address
- memory
- unit
- physical
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
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)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
플래쉬 메모리(12), 플래쉬 제어기(14) 및 맵핑 테이블을 저장하기 위한 램(16)을 포함하는 가상 기억 수단은 연속적으로 기록되는 데이터를 기록되지 않은 물리 어드레스 위치에 허용한다. 가상 기억 메모리 맵(14, 16)은 메모리에서 데이터의 위치를 추적하기 위한 플래쉬 물리 위치 어드레스에 관한 것이다.
Description
[발명의 명칭]
플래쉬 파일 수단
[발명의 배경]
본 발명은 플래쉬(flash) 메모리에 정보를 저장하고 검색하기 위한 개선된 시스템에 관한 것이고, 특히 플래쉬 메모리에 기록된 데이터를 구성 및 관리하는 시스템에 관한 것이다.
당업자 의해 인식될 바와같이, 전기적으로 삭제 가능하고 프로그램 할 수 있는 판독 전용 메모리(read-only memory)(EEPROMs)는 플래쉬 형태로 구성되어 있고, 플래쉬 형태의 플로팅 게이트 트랜지스터는 종래 기술에 기술되어 있고 현재 상업적으로 유용하다. 이들 소위 플래쉬 메모리는 전자회로에 짜넣은 프로그램 가능한 동작이 메모리의 블럭을 삭제하게 하는 추가의 기능을 가지며 EPROM 메모리의 기능 및 성능과 비슷한 비휘발성 메모리이다. 플래쉬 메모리에서, 이전에 기록된 영역의 이전 블럭을 삭제하지 않고 메모리의 이전에 기록된 영역을 다시 기록시키는 것은 실용적이지 않다. 본 발명이 플래쉬 메모리의 구조를 기술할지라도, 당업자는 플래쉬 메모리처럼 문자를 기록하기전에 동일한 기록, 판독, 및 블럭 삭제 기능을 가지는 데이터 저장 장치에 역시 적용할 수 있다는 것을 이해할 것이다.
통상적인 컴퓨터 수단에서, 오퍼레이팅 시스템 프로그램은 시스템의 일부분인 데이터 저장 장치의 데이터를 관리한다. 오퍼레이팅 시스템 프로그램과 호환을 이루기 위하여 데이터 저장 장치의 필요하고, 일반적으로 충분한 특성은 데이터 저장 장치의 임의의 위치로부터 데이터를 판독하고 임의의 위치에 데이터를 기록할 수 있는 것이다. 그래서, 플래쉬 메모리는 통상적인 종래 오퍼레이팅 시스템 프로그램과 호환할 수 없다. 왜냐하면 데이터는 만약 영역이 삭제되지 않으면, 데이터가 이미 기록되어 있는 플래쉬 메모리의 영역에 데이터가 기록될 수 없기 때문이다.
소프트웨어 제품은 오퍼레이팅 시스템 프로그램의 변형없이 종래 컴퓨터 오퍼레이팅 프로그램에 의해 플래쉬 메모리가 관리되도록 종래 기술에서 제안했다. 그러나, 이들 종래 기술 프로그램은 "라이트 완스 리드 메니(write once read many)" 장치로서 플래쉬 메모리를 동작 시킨다. 이런 종래 기술 소프트웨어 제품은 이미 기록된 메모리 위치를 재생하여 사용할 수 없다. 모든 위치가 결국 다 기록될때 메모리는 특정 사용자 조정 없이 더 사용할 수 없다.
[발명의 요약]
본 발명의 목적은 플래쉬 메모리가 임의의 플래쉬 메모리 위치로부터 데이터를 판독하고 임의의 플래쉬 메모리 위치에 데이타를 기록할 수 있는 데이터 저장 장치로서의 컴퓨터 오퍼레이팅 시스템이도록 플래쉬 메모리에 대한 액세스를 제어 및 관리하는 방법(즉, 소프트 웨어, 하드웨어의 펌웨어(firmware))을 제공하는 것이다. 한 가지 방법은 플래쉬 메모리가 램을 모방하게 하고 종래 컴퓨터 오퍼레이팅 시스템이 모방 방법이 무관하게 표준 램(random acces memory)에 의해 제공된 방식과 동일한 방식으로 모든 다른 요구된 지원을 제공하게 하는 것이다.
요약하여, 본 발명은 데이터가 기록되지 않은 물리적 어드레스 위치에 연속하여 기록되게 하는 가상 맵핑(mapping) 시스템인 플래쉬 메모리를 제공한다. 가상 메모리 맵(map)은 메모리에서 데이터의 위치를 추적하기 위한 플래쉬 메모리 물리적 위치 어드레스에 관한 것이다.
플래쉬 메모리 물리적 위치는 바이트의 어레이로서 구성된다. 어레이에서 각각의 바이트에는 바이트가 물리적으로 액세스 가능한 여기서 물리적 어드레스 공간으로서 불리는 다수의 어드레스가 할당된다. 어레이에서 각각의 바이트는 가상 어드레스 공간으로 불리는 제 2 어드레스를 가진다. 가상 맵이라 불리는 테이블은 가상 어드레스를 물리적 어드레스로 전환한다. 여기서 가상 어드레스 공간은 물리적 어드레스 공간과 같은 크기를 필요로 하지 않는다는 것이 주목된다. 물리적 바이트의 인접한, 고정된 길이 그룹은 블록으로부터 발생한다. 예를들면, 512 바이트의 블럭 크기를 가정하여, 256211의 물리적 어드레스를 가지는 바이트는 블럭 500(256211 : 512 = 500 + 211)에서 바이트 번호 211이다. 적당한 종래 기술 플래쉬 메모리 기술을 사용하여 물리적으로 삭제될 수 있는 하나 이상의 물리적으로 인접한 플래쉬 메모리 영역(소위 존(zones))은 하나의 유니트를 포함하고 각각의 유니트는 정수의 블럭을 포함한다.
가상 메모리 맵은 제 1 엔트리(entry)가 가상 블럭 0에 속하고 제 2 엔트리가 가상 블럭 1에 속하는 등의 테이블이다. 각각의 가상 블럭 어드레스와 테이블을 관련하여 대응하는 물리적 어드레스가 있다. 플래쉬 메모리 동작으로부터의 판독에서, 컴퓨터에 의해 생성된 어드레스는 가상 블럭 어드레스 및 블럭내의 바이트 위치로서 디코딩된다. 가상 메모리 맵은 가상 블럭 어드레스를 물리적 블럭 어드레스로 전환하기 위하여 사용된다 ; 바이트 위치는 가상 어드레스 공간 및 물리적 어드레스 공간에서 동일하다.
기록 동작에서, 컴퓨터에 의해 생성된 어드레스는 가상 블럭 어드레스 및 블럭 내의 바이트 위치로서 다시 번역된다. 가상 메모리 맵은 이것을 물리적 블럭 어드레스로 전환한다. 만약 물리적 어드레스에 대응하는 플래쉬 메모리 블록이 현재 기록된다면, 이 물리적 어드레스에 기록하는 것은 일반적으로 불가능하다. 그러므로, 기록되지 않은 블럭이 배치되고 기록된다. 가상 메모리 맵은 기록되지않은 물리적 블럭 어드레스가 본래의 가상 어드레스로 맵핑되고 본래의 물리적 어드레스가 사용될 수 없는 그리고 블럭을 포함하는 유니트를 삭제하는 존 삭제 동작이 있을 때까지 사용될 수 없도록 변화된다. 전체 블럭이 다시 기록될 것을 가정하는 기록 동작은 주목된다. 이것은 컴퓨터 시스템이 일반적으로 저장 매체에서 데이터를 액세스하는 방식이다. 그러나, 일반적으로 바이트의 어떤 목표된 번호는 새로운 저장 위치에 기록되는 것이 인식된다.
본 발명의 바람직한 실시예에서, 각각의 유니트에는 상기 유니트가 플래쉬 메모리에서 새로운 물리적 어드레스 위치에 기록될 때, 변하지 않고 남는 논리 유니트 어드레스가 할당된다. 가상 맵은 유니트가 대체될 동안 데이터 이동이 가상 맵에 영향을 주지 않도록 물리적 유니트 어드레스가 아닌 논리 유니트 어드레스에 대한 레퍼런스(reference)를 포함한다.
각각의 유니트는 유니트내에 모든 블럭의 사용 맵을 가진다 ; 만약 맵핑된다면, 블럭의 가상 어드레스 및 텅빈 블럭 및 사용할 수 없는 블럭을 표시하기 위한 특정 문자.
이미 기록된 플래쉬 메모리중 사용할 수 없는 블럭은 사용할 수 없는 블럭을 포함하는 메모리 유니트를 플래쉬 메모리에서 남겨진 기록되지 않은 공간으로 대체함으로써 교정된다. 사용할 수 있는 블럭은 다시 기록되는 바와같이 사용할 수 없는 블럭이 있는 위치가 남겨진 공간에서 다시 기록되지 않아서 사용할 수 있도록 대체 동작에서만 기록된다. 다시 기록한후에, 본래의 메모리 유니트 공간은 하나의 유니트로서 순식간에 삭제되고 추후의 대체가 이루어지는 기록되지 않은 남겨진 공간이 된다.
또한, 본 발명의 바람직한 실시예에서, 가상 맵은 램에 작은 제 2 가상 맵만을 가지는 제 1 플래쉬 메모리에 일차적으로 저장된다. 플래쉬 메모리에서 가상 맵은 블럭에 저장되고 페이지로 구성되며 상기 페이지의 크기는 블럭의 바이트의 수 곱하기 바이트의 수를 나타내는 물리적 블럭 어드레스의 수의 결과와 같다. 제 2 램은 페이지 어드레스를 포함한다. 주어진 가상 어드레스에 대한 데이터 판독에서, 페이지 번호는 어드레스를 페이지 크기로 나눔으로써 결정된다. 결정된 페이지 번호는 올바른 제 1 가상 맵 블럭을 발견하기 위하여 제 2 가상 맵을 색인한다. 나머지는 플래시에 저장된 가상 맵에 대해 요구된 물리적 어드레스를 계산하기 위하여 사용된다. 플래쉬 메모리에서 가상 맵을 변경하기 위하여, 변경된 맵은 빈 블럭으로 기록되고 랩에서 제 2 맵은 제 1 맵 위치에서 변화를 반영하도록 변경된다. 대체된 블럭은 삭제로서 표시된다.
[도면의 간단한 설명]
상기 및 다른 목적, 측면 및 장점은 도면을 참고로 본 발명의 바람직한 실시예의 다음 상세한 설명으로부터 더 잘 이해될 것이다.
제1도는 본 발명의 기술에 따른 시스템의 한 실시예에 따라 시스템의 기능 구성요소를 도시하는 블럭 다이어그램.
제2도는 본 발명의 기술에 따라 플래쉬 메모리 구조의 한 레벨을 도시한 도.
제3도는 유니트가 포맷되는 방법을 도시한 도.
제4도는 컴퓨터에 의해 형성된 어드레스가 물리적 어드레스에 맵핑되는 방법을 도시한 도.
제5도는 판독 동작을 도시한 흐름도.
제6도는 기록 동작을 도시한 흐름도.
제7도는 대체 동작 전후에 유니트의 상태를 도시한 도.
제8도는 대체 동작의 흐름도.
제9도는 물리적 맵에 대한 가상 기억의 대부분이 플래쉬 메모리에 저장되는 동작을 도시하는 흐름도.
[바람직한 실시예의 상세한 설명]
제 1도의 도면을 참조하여, 통상적인 시스템에서, 오퍼레이팅 시스템 소프트웨어와 관련하여, 프로세서(10)는 데이터를 램의 특정 어드레스 위치로부터 판독하고 특정 어드레스 위치에 기록하기 위한 일련의 판독 및 기록 명령을 낸다. 당업자에 의해 인식되는 바와 같이, 디스크 메모리같은 랜덤 액세스 저장 장치에서, 데이터는 임의의 어드레스 위치에 기록, 또는 임의의 어드레스 위치로부터 판독될 수 있다. 제 1도의 시스템에서, 프로세서(10)는 블럭의 플래쉬 메모리(12)의 특정 어드레스 위치에 데이터를 기록하고 블럭의 플래쉬 메모리로부터 데이터를 판독한다. 비록 플래쉬 메모리(12)의 존이 삭제될지라도, 현재에 기록된 어드레스 위치는 전체 존이 삭제될 때까지 다시 기록될 수 없다. 본 발명의 기술에 따라, 플래쉬 메모리 제어기(14)는 플래쉬 메모리(12)가 디스크 메모리 같은 램을 모방하도록 완전히 다시 기록할 수 있는 가상 어드레스 공간을 제공하고, 프로세서 오퍼레이팅 시스템 소프트 웨어는 표준 램을 제공할 때와 같은 방식 및 플래쉬 메모리(12) 및 그것의 제어기(14)와 무관한 방식으로 모든 다른 요구된 동작 지원(파일 시스템 같은)을 제공한다. 통상적인 시스템은 일반적인 램(16)을 포함한다. 제어기(14) 기능은 소프트 웨어, 하드웨어의 펌웨어로 수행되고, 도면의 도움으로써 물리적으로 분리한 유니트로서 반드시 존재하지는 않는다.
제 2도를 참조하여, 플래쉬 메모리 구조의 일부분이 도시된다. 플래쉬 메모리는 여기서 존 A, 존 B 등으로 이름 붙여진 다수의 존을 가진다. 각각의 존은 잘 공지된 통상적인 플래쉬 메모리 기술을 사용하여 삭제되는 블럭일수 있는 다수의 인접하는 물리적 메모리 위치로 구성된다. 존은 유니트#1, 유니트#6, 유니트 N-1 및 대체 유니트로서 도면에서 이름 붙여져 도시된 단지 네개의 유니트로서 구성된다. 각 유니트는 다수의 인접하는 존에 대해 적어도 하나의 존으로 구성된다. 여기서 도시된, 각 유니트는 두개의 존으로 구성된다(즉 유니트#1 - 존 A 및 존 B ; 유니트#2 - 존 C 및 존 D, 대체 유니트 - 존 x2 및 2x).
각 유니트는 정수의 어드레스 가능한 블럭으로 구성되고 각 블럭은 차례로 인접하고 고정된 길이 그룹의 바이트로 구성된다. 메모리(12)에는 항상 기록되지 않는 하나의 유니트(즉, 대체 유니트)가 있어서, 삭제될 유니트의 실제 블럭은 유니트를 삭제하기 전에 기록되지 않은 유니트에 기록된다.
제 3도를 참조하여, 각 유니트는 인접하는 바이트 어드레스로 차례로 구성되고, 블록내의 블록 번호 및 오프셋으로서 어드레스되는 정수의 인접하는 데이터 블럭(21)을 포함한다. 유니트의 각 블럭은 유니트를 가지는 블럭 번호 및 오프셋에 의해 어드레스될 수 있는 하나의 유니트를 가진다. 각 유니트는 유니트 헤더(header)(23) 및 유니트에서 각 블럭의 할당 상태의 맵(25)을 가진다. 유니트 헤더(23)는 포맷 식별기, 및 유니트의 논리 유니트 번호를 포함한다. 유니트 대체 동안 데이터가 물리적으로 이동하기 때문에, 유니트 번호는 플래쉬 메모리(12)에서 유니트의 물리적 위치가 변할 때 조차 변화되지 않고 남는다. 게다가, 헤더는 역시 다방면의 시스템 정보를 포함한다. 블럭 할당 맵(25)은 유니트에서 그것의 상태 및 그것의 오프셋을 표현하는 각 블럭을 위한 워드이다. 상태 지시는 "비어 있고 기록할 수 있는 블럭" ; "삭제되고 기록할 수없는 블럭" ; "사용자 데이터를 할당시키고 포함하는 블럭" ; 및 블럭의 가상 어드레스(백 포인터(back pointer))이다.
미리 언급된 것처럼, 바람직하게 각 유니트에는 비록 유니트의 메모리에서 물리적 위치가 변할지라도, 변하지 않는 논리 유니트 번호가 할당된다. 제 4도에서 도시된 것처럼, 컴퓨터(10)에 의해 형성된 어드레스(29)는 블럭 번호 및 블럭 오프셋으로 구성된다. 이들 어드레스는 가상 어드레스로서 플래쉬 제어기(14)에 의해 번역되고, 가상 맵은 가상 어드레스 공간 및 물리적 어드레스 공간 사이의 조화를 이루기 위하여 사용된다. 블록이 다시 기록될 때 가상 맵은 변화하고 가상 어드레스 공간은 그러므로 활동을 개신한다. 주어진 어떤 시간에서, 가상 어드레스 공간의 블럭 또는 블럭들은 물리적 어드레스 공간에 맵핑되지 않고, 물리적 어드레스 공간에 블럭들은 기록되지 않으며, 그러므로 기록되는 것이 자유롭다는 것은 역시 주목해야 한다.
유니트가 기록되지 않은 유니트 공간으로 이동하는 동안 데이터가 물리적으로 이동하기 때문에, 유니트에는 메모리에서 유니트의 물리적 위치의 변화와 함께 변화하지 않는 논리적 유니트 번호가 할당된다. 가상 맵(31)은 두개의 레벨 어드레스 번역의 제 1 단계에서 논리 유니트 어드레스에 블록 번호를 맵핑한다. 논리 유니트 어드레스는 물리적 어드레스와 유사하고 물리적 유니트 번호에 관한 어드레스인 논리 유니트 번호에 관한 어드레스이다. 논리 유니트 번호는 논리 어드레스의 고순위 2진수이고 비트 이동 동작에 의해 논리 어드레스로부터 유도될 수 있다. 맵(31)으로부터 얻어진 논리 어드레스(33)는 유니트내의 블럭 오프셋과 함께 논리 유니트 번호를 포함한다.
논리 유니트 테이블(35)은 논리 유니트 번호를 논리 유니트에 대한 물리적 유니트 번호로 번역한다. 이 두 단계의 어드레스 번역 과정은 유니트가 새로운 물리적 위치로 이동될때 맵에서 블럭 어드레스를 변화시키기 위한 필요를 제거한다.
판독 동작에서 가상 어드레스(29)는 블럭 어드레스로 구성되고, 예를 들어, 처음에 어드레스된 블록의 유니트내에 논리 유니트 번호 및 블록 오프셋으로 맵핑된다. 맵(35)은 유니트 번호(33)를 유니트 내의 어드레싱(37) 블럭의 오프셋과 함께 유니트에 대한 물리적 어드레스(37)로 맵핑하고, 어드레싱 데이터 블럭은 이 물리적 위치로부터 판독된다. 여기서, 데이터는 통상적으로 했던 것처럼 블럭 기초 상에서 판독되고 기록된다. 물론, 데이터는 만약 목표되면, 같은 원리를 사용하여 바이트 기초상에서 기록되고 판독된다. 제 5 도는 이 판독 동작을 도시하는 흐름도이다. 이미 설명된 것처럼, 가상 어드레스(29)는 두 단계의 어드레스 번역중 제 1 단계에서 논리 어드레스(블럭 40)로 맵핑된다. 제 2 단계에서, 논리 어드레스는 블럭(41)에서 플래쉬 메모리의 물리적 어드레스로 맵핑된다. 이 물리적 어드레스에서 데이터는 판독되고, 블럭(42)에서 이 동작을 종료한다.
기록 동작에서, 가상 어드레스(29)는 처음에 논리 유니트 번호 및 유니트의 블럭 오프셋에 맵핑된다. 제어기(14) 연산은 이 유니트에 대한 블럭 할당 맵(25)을 검사한다. 만약 이 어드레스에 대응하는 블럭이 기록이 있다면, 기록 명령은 대응하는 물리적 어드레스에서 실행될 수 없다. 제어 연산은 빈 블럭이 할당될때 까지 각각의 유니트에 대한 블럭 할당 맵(25)을 조사한다. 본래의 유니트 어드레스에서 블럭 맵(25)의 블럭 상태는 할당 맵의 블럭에서 삭제되도록 변화되고, 빈 블럭의 상태가 기록되도록 변화된다. 가상 맵(31)은 기록 동작이 시작되는 새로운 논리 어드레스를 본래의 가상 어드레스가 가리키도록 갱신한다. 이 논리 어드레스는 이전에 기술된 방식으로 물리적 어드레스로 맵핑되고, 블럭은 이 어드레스에 기록된다. 제 6 도는 이 기록 동작을 도시하는 흐름도이다. 기록 동작에서 가상 어드레스(29)는 논리 유니트 어드레스로 맵핑되고(블럭45), 유니트에 대한 유니트 할당은 검사된다(블럭46). 만약 결과 블럭(47)에서 유니트 어드레스가 비어 있으면, 유니트 어드레스는 물리적 어드레스로 맵핑되고(블럭48), 데이터는 물리적 어드레스에 기록되고(블럭49) 동작을 끝낸다. 만약 논리 어드레스가 비어 있지 않으면(블럭47), 유니트 테이블은 유니트 할당 테이블(블럭50)에서 비어 있는 어드레스를 할당하기 위하여 조사된다. 이 새로운 논리 어드레스는 물리적 어드레스에 맵핑되고(블럭51), 데이터는 물리적 어드레스에 기록된다(블럭52). 유니트 할당 테이블은 본래의 블럭이 삭제되고 기록되지 않으며, 새로운 블럭이 할당되고 사용자 데이터를 포함하는 것을 가리키도록 갱신된다(블럭53). 가상 대 논리 어드레스 맵은 본래의 가상 어드레스에 대응하는 데이터의 새로운 물리적 어드레스를 가리키도록 갱신된다(블럭54 및 55).
제한없이 계속하여 판독 및 기록 동작을 하기 위하여, 물리적 메모리 공간은 주기적으로 실행된다. 미리 설명된 것처럼, 메모리의 적어도 하나의 유니트는 완전히 빈 블럭으로 구성하고 대체 유니트로서 사용하도록 언제나 남겨진다.
제 7도를 참조하여, 실제 유니트는 선택되고(여기서, 유니트#M) 모든 현재에 맵핑된 실제 블럭은 판독되고 대체 유니트에 기록된다. 선택된 유니트#M은 블록 소거되고 대체 유니트가 되는 반면, 실제 블럭은 기록되는 대체 유니트가 예를들어 유니트 #M이 된다. 제 7도는 대체 동작 전후에 유니트의 상태를 도시한다. 제 8도는 이 대체 동작의 흐름도이다. 대체 동작에서 유니트는 대체를 위해 선택되고(블럭60), 선택된 유니트에서 실제 데이터 블록은 판독된다(블럭61). 이들 실제 데이터 블럭은 그들이 본래의 유니트에 할당되는 위치에 대응하는 대체 유니트의 위치에서 대체 유니트에 기록된다(블럭62). 선택된 본래의 유니트는 빠르게 삭제되고(블럭63), 논리 대 물리적 어드레스 맵은 선택된 유니트가 대체 유니트가 되고 대체 유니트가 선택된 유니트의 유니트 번호에 의해 할당되도록 변화된다(블럭64).
그래서 상기된 시스템은 내용이 자유롭게 갱신되는 가상 맵을 요구하고, 상기 맵은 통상적인 램에 저장된다. 그러나, 예를들어, 512바이트의 블럭 크기를 가정하여, 가상 맵은 각각의 블록에 대하 엔트리를 포함하고, 각각의 엔트리는 예를들면 4바이트 길이(즉 메모리의 4기가바이트까지 어드레싱 할 수 있는) 이고, 80메가바이트의 플래쉬 메모리는 맵 테이블을 저장하기 위하여 640킬로바이트의 메모리를 요구한다. 가상 맵을 저장하기 위하여 요구된 램의 양을 제한하기 위하여, 본 발명의 바람직한 실시예에서, 맵 데이터의 대부분은 플래쉬 메모리(12) 그 자체에 기억되고, 컴퓨터로부터 제 1 가상 맵으로 가상 어드레스를 맵핑하는 제 2 가상 맵은 메모리(16)같은 램에 저장된다. 여기에서 중요한 점은 제 2 가상 맵 장치가 상기된 본래의 데이터를 판독 및 기록하기 위한 과정과 같은 가상 맵을 판독 및 기록하기 위한 과정을 만든다는 것이다. 상기 설명에서 사용자 데이터와 같은 방식으로 처리된 가상 맵 그 자체 및 램에 저장된 가상 맵(즉, 제 2 가상 맵)은 상기 설명에서 가상 맵과 같다.
이 실시예에서, 가상 맵은 음의 가상 어드레스에서 플래쉬 메모리(12)에 존재한다 ; 본래의 공간은 가상 어드레스 영에서 시작한다. 가상 맵은 그 자신에 의해 사용된 음의 어드레스를 맵핑하여, 플래쉬 메모리에 존재하는 가상 맵은 본래의 사용자 데이터 처럼 판독되고 기록되고, 그 자체를(즉, 제 2 가상 맵) 맵핑하는 가상의 부분만 램에 존재한다.
간략화된 실시예에서, 각각이 512바이트인 12개의 가상 맵 블럭에 저장된 6000바이트의 가상 맵을 가정한다. 4바이트 어드레스를 가정하면, 각 블럭은 128 물리적 어드레스를 저장할 수 있다. 그래서, 각 블럭은 64킬로바이트의 가상 플래쉬 메모리의 어드레스를 포함한다. 각 블럭의 가상 플래쉬 메모리 어드레스는 페이지로서 고려되고 램은 페이지 어드레스를 저장하며 ; (상기 예에서, 단지 48바이트) 어드레스 블럭에 맵핑된다. 주어진 가상 어드레스로부터 데이터 판독시, 어드레스는 어드레스가 저장되는 제 1 가상 맵의 페이지 블럭에 맵핑한 제 2 가상 메모리에서 페이지 번호를 얻기 위하여 페이지 크기(64킬로바이트)에 의해 분할된다. 가상 메모리 페이지 블럭을 사용하여, 특정 플래쉬 메모리 물리적 어드레스에 맵핑하기 위한 과정은 이미 설명된 방식으로 진행된다. 예를들어, 가상 어드레스가 페이지 크기에 의해 분할된후, 나머지는 플래쉬 메모리로부터 판독된 어드레스의 어레이에 색인을 얻기 위하여 가상 메모리 블럭 크기(예를들면, 512)에 의해 분할된다.
주어진 가상 어드레스에 데이터를 기록할 때, 컴퓨터에 의해 생성된 어드레스는 플래쉬 메모리에서 제 2 가상 맵에 대한 색인을 얻기 위하여 페이지 크기에 의해 역시 분할된다. 제 2 가상 맵은 제 1 가상 맵에 맵핑하고, 여기서, 제 1 가상 맵 블럭은 판독되고 ; 이것은 그것이 판독되는 경우 어드레싱된 물리적 블럭에 맵핑하기 위하여 사용된다. 상기 블럭이 다시 기록될 수 없을 때, 기록되지 않은 블럭은 식별되고 상기된 방식으로 기록되고, 본래의 데이터 블록은 삭제로서 표시된다. 플래쉬 메모리에 존재하는 가상 맵을 갱신하기 위하여, 특히 동일 과정을 따른다. 어드레스 데이터의 새로운 물리적 위치를 반영하기 위한 변형된 형태에서 가상 맵 블럭은 플래쉬 메모리의 기록되지 않은 블록에 기록되고 예전 블록은 삭제로서 표시된다. 램에서 제 2 가상 메모리는 제 1 가상 메모리 블럭 위치에서 변화를 반영하기 위하여 필요한만큼 변화된다.
제 9도는 이 동작의 흐름도이다. 이 과정에서 제 1 단계는 가상 어드레스를 페이지 번호로 전환하는 단계(블럭70), 플래쉬 메모리에 저장된 가상 맵의 관련된 페이지 블럭의 어드레스를 램(16)에 배치하기 위하여 페이지 번호를 사용하는 단계이다(블럭21). 이 어드레스에서 가상 맵의 페이지 블럭은 플래쉬 메모리로부터 판독되고(블럭 72) 데이터 판독 또는 데이터 기록 동작을 위한 가상 어드레스에 대응하는 물리적 어드레스를 이전에 설명된 방식으로 배치하기 위하여 사용된다. 데이터 기록 동작에서, 가상 맵 페이지 블럭은 갱신 되어야 하고(블럭73), 및 갱신된 페이지 블럭 가상 맵은 빈 플래쉬 메모리 물리적 어드레스 위치에 기록된다(블럭74). 페이지 블럭 가상 맵이 할당되는 본래의 플래쉬 메모리 어드레스는 삭제로서 표시되고(블럭75), 램 메모리(16)는 갱신된 맵에 대한 가상 대 물리적 맵 어드레스를 가리키도록 갱신된다(블럭76).
가상 맵은 시스템 개시후 즉시 재구성된다. 플래쉬 메모리에서 가상 맵은 비휘발성이고 재구성을 요구하지 않는다. 휘발성 램에 존재하는 제 2 가상 맵은 개시시 각 유니트의 상부에 존재하는 블록 사용 맵을 조사함으로써 재구성된다. 가상 어드레스에 맵핑된 것처럼 표시된 블럭은 식별되고, 따라서 제 2 가상 맵은 구성된다.
본 발명이 하나의 바람직한 실시예의 측면에서 기술되었지만, 당업자는 본 발명이 첨부된 청구범위의 사상 및 범위내에서 변형될 수 있다는 것을 인식할 것이다.
Claims (8)
- 데이터가 기록되지 않은 물리적 메모리 위치에서만 기록되고 인접하는 메모리 위치의 존이 동시에 삭제되는 메모리에 대한 메모리 관리 방법에 있어서, 상기 메모리를 각각 적어도 하나의 존을 포함하는 다수의 유니트로 구성하는 단계 ; 상기 각각의 유니트를 각각 다수의 인접하는 물리적 메모리 위치로 구성된 다수의 블럭으로 구성하는 단계 ; 실제 기록된, 기록되지 않은 또는 삭제된 같은 유니트의 각 블럭 상태를 가리키는 각 유니트에 대한 할당 테이블을 만드는 단계 ; 가상 대 논리 어드레스를 유니트내의 물리적 어드레스로 맵핑하기 위하여 테이블을 만드는 단계 ; 및 가상 어드레스에서 상기 메모리에 데이터를 기록하는 단계를 포함하고, 상기 데이터를 기록하는 단계는,(a) 상기 가상 어드레스를 유니트의 물리적 블럭 어드레스에 맵핑하는 단계 ;(b) 상기 물리적 블럭 어드레스에서 실제 기록된 또는 기록되지 않은 같은 블럭의 상태를 결정하기 위하여 상기 가상 어드레스가 상기 단계(a)에서 맵핑되는 상기 유니트에 대해 상기 할당 테이블을 검사하는 단계 ; 및(c) 만약 상기 물리적 블럭 어드레스에서 상기 블럭이 실제 기록된 상태이면;(1) 기록되지 않은 블럭 어드레스를 식별하기 위하여 상기 유니트중 적어도 하나에 대한 할당 테이블을 검사하는 단계 ;(2) 상기 기록되지 않은 블럭 어드레스에 대한 상기 메모리에 데이타를 기록하는 단계 ;(3) 상기 가상 어드레스가 상기 물리적 블럭 어드레스를 삭제된 것으로 표시되도록 맵핑되어 있는 상기 유니트용 상기 할당 테이블을 변화시키는 단계 ;(4) 상기 데이터가 기록되어 있는 경우 상기 기록되지 않은 블록 어드레스를 실제 기록된 것으로서 표시하기 위하여 상기 데이터가 상기 단계 (c)(2)에서 기록된 유니트용 상기 할당 테이블을 변화시키는 단계 ;(5) 상기 테이블은 상기 가상 어드레스를 상기 데이터가 단계 (c)(2)에서 기록되어 있는 상기 기록되지 않은 블럭의 물리적 어드레스에 맵핑되도록 가상 어드레스를 유니트내의 물리적 어드레스로 맵핑하기 위한 상기 테이블을 변화시키는 단계를 포함하는 것을 특징으로 하는 메모리 관리 방법.
- 제1항에 있어서, 상기 유니트의 모든 블럭이 기록되지 않은 대체 유니트를 상기 메모리에 만드는 단계 ; 상기 대체 유니트 이외에, 삭제될 선택된 유니트를 주기적으로 식별하는 단계 ; 상기 선택된 유니트에 각각 실제 기록된 블럭을 판독하는 단계 ; 상기 선택된 유니트의 각각 실제 기록된 블럭을 상기 대체 유니트에 기록하는 단계 ; 상기 기록 단계에서 기록되는 블럭의 상태를 기록된 것으로서 표시하기 위하여 상기 대체 유니트 할당 테이블을 갱신하는 단계 ; 상기 선택된 블럭을 삭제하는 단계 ; 및 상기 선택된 유니트의 유니트 식별기를 가지는 대체 유니트로서 상기 선택된 유니트를 나타내기 위하여 가상 어드레스 대 물리적 어드레스의 테이블을 갱신하는 단계를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
- 데이터가 기록되지 않은 물리적 메모리 위치에서만 기록되고 인접하는 메모리 위치의 존이 동시에 삭제되는 메모리를 위한 메모리 관리 방법에 있어서, 가상 어드레스를 물리적 어드레스로 맵핑하는 제 1 테이블을 상기 메모리에 저장하는 단계 ; 페이지 어드레싱 블럭의 구획에 상기 메모리에 저장된 상기 제 1 테이블을 구성하는 단계 ; 상기 메모리에서 상기 페이지 어드레싱 블럭의 물리적 어드레스에 페이지 어드레스를 맵핑하는 제 2 테이블을 램에 저장하는 단계 ; 기록되지 않은 물리적 블럭 위치에 변화된 페이지 어드레싱 블럭을 기록함으로써 상기 메모리에 저장된 상기 제 1 테이블의 페이지 어드레싱 블럭을 변화시키는 단계 ; 및 상기 변화된 페이지 어드레싱 블럭이 기록되어 있는 기록되지 않은 물리적 블럭 위치에 변화된 페이지 어드레싱 블럭의 페이지 어드레스를 맵핑하도록 상기 램에 저장된 상기 제 2 테이블을 갱신하는 단계를 포함하는 것을 특징으로 하는 메모리 관리 방법.
- 데이터가 기록되지 않은 물리적 메모리 위치에서만 기록되고 인접하는 메모리 위치 존이 동시에 삭제되는 메모리를 위한 메모리 관리 방법에 있어서, 상기 메모리를 각각 적어도 하나의 존을 포함하는 다수의 유니트로 구성하는 단계 ; 상기 각각의 유니트를 각각 다수의 인접하는 물리적 메모리 위치로 구성된 다수의 블럭으로 구성하는 단계 ; 가상 어드레스를 유니트내의 물리적 어드레스로 맵핑하기 위하여 제 1 테이블을 만드는 단계 ; 페이지 어드레싱 블럭의 구획에 구성된 상기 제 1 테이블을 상기 메모리에 저장하는 단계 ; 상기 메모리에 저장된 상기 페이지 어드레싱 블럭의 물리적 어드레스에 페이지를 맵핑하는 제 2 테이블을 램에 저장하는 단계 ; 및 가상 어드레스에서 상기 메모리에 데이터를 기록하는 단계를 포함하고, 상기 데이터를 기록하는 단계는,(a) 상기 가상 어드레스로부터 페이지 어드레스를 유도하는 단계 ;(b) 상기 페이지 어드레스를 상기 메모리의 페이지 어드레싱 블럭에 맵핑하는 단계 ;(c) 상기 메모리의 상기 페이지 어드레싱 블럭에서 가상 어드레스를 물리적 어드레스에 맵핑하는 상기 제 1 테이블의 구획을 판독하는 단계 ;(d) 상기 가상 어드레스를 물리적 어드레스에 맵핑하는 단계 ;(e) 만약 상기 물리적 어드레스에서 상기 블럭이 실제 기록된 상태에 있으면;(1) 기록되지 않은 블럭 어드레스에 대한 상기 메모리에 상기 데이타를 기록하는 단계 ;(2) 상기 제 1 테이블은 데이터가 단계(e)(1)에서 기록되어 있는 기록되지 않은 블럭의 물리적 어드레스로 상기 가상 어드레스를 맵핑하도록 상기 제 1 테이블 구획을 변화시키는 단계 ;(3) 상기 메모리에서 기록되지 않은 물리적 블럭 위치에 단계(e)(2)로부터 변화된 제 1 테이블 구획을 기록하는 단계 ; 및(4) 상기 기록되지 않은 물리적 블럭 위치중 변화된 제 1 테이블 구획의 페이지 어드레스를 맵핑하도록 상기 램에 저장된 상기 제 2 테이블을 갱신하는 단계를 포함하는 것을 특징으로 하는 메모리 관리 방법.
- 데이터가 기록되지 않은 물리적 메모리 위치에서만 기록되고 인접하는 메모리 위치의 존이 동시에 삭제되는 메모리를 위한 메모리 관리 방법에 있어서, 상기 메모리를 각각 적어도 하나의 존을 포함하는 다수의 유니트로 구성하는 단계 ; 상기 각각의 유니트를 각각 다수의 인접하는 물리적 메모리 위치로 구성된 다수의 블럭으로 구성하는 단계 ; 실제 기록된, 기록되지 않은 또는 삭제된 같은 유니트의 각 블럭 상태를 가리키는 각 유니트에 대한 할당 테이블을 만드는 단계 ; 가상 어드레스를 유니트내의 물리적 어드레스로 맵핑하기 위하여 테이블을 만드는 단계 ; 및 가상 어드레스에서 상기 메모리에 데이터를 기록하는 단계 ; 및 가상 어드레스에서 상기 메모리에 대한 데이터를 판독하는 단계를 포함하고, 상기 데이터를 기록하는 단계는,(a) 상기 가상 어드레스를 유니트내의 물리적 블럭 어드레스에 맵핑하는 단계 ;(b) 상기 물리적 블럭 어드레스에서 실제 기록된 또는 기록되지 않은 블럭의 상태를 결정하기 위하여 상기 가상 어드레스가 단계(a)에서 맵핑되는 상기 유니트용 상기 할당 테이블을 검사하는 단계 ;(c) 만약 상기 물리적 블럭 어드레스에서 상기 블럭이 실제 기록된 상태에 있으면 ;(1) 기록되지 않은 블럭 어드레스를 식별하기 위하여 적어도 하나의 상기 유니트에 대하여 상기 할당 테이블을 검사하는 단계 ;(2) 상기 기록되지 않은 블럭 어드레스에 대한 상기 메모리에 상기 데이터를 기록하는 단계 ;(3) 상기 가상 어드레스가 상기 물리적 블럭 어드레스를 삭제된 것으로서 나타내도록 맵핑되어 있는 상기 유니트용 상기 할당 테이블을 변화시키는 단계 ;(4) 상기 데이터는 상기 데이터가 기록되어 있는 경우 상기 기록되지 않은 블럭 어드레스를 실제 기록된 것으로서 나타내기 위하여 단계 (c)(2)에서 기록되는 유니트용 상기 할당 테이블을 변화시키는 단계 ;(5) 상기 테이블은 상기 데이터가 단계 (c)(2)에서 기록되어 있는 상기 기록되지 않은 블럭의 물리적 어드레스에 상기 가상 어드레스를 맵핑하도록 유니트내의 물리적 어드레스에 가상 어드레스를 맵핑하기 위한 상기 테이블을 변화시키는 단계를 포함하고, 가상 어드레스에서 상기 메모리에 대한 데이터를 판독하는 단계는,(d) 상기 가상 어드레스를 유니트의 물리적 블럭 어드레스에 맵핑하는 단계 ; 및(e) 상기 물리적 어드레스에서 상기 메모리로부터 상기 데이터를 판독하는 단계를 포함하는 것을 특징으로 하는 메모리 관리 방법.
- 제5항에 있어서, 상기 유니트에서 모든 블럭이 기록되지 않은 대체 유니트를 상기 메모리에 만드는 단계 ; 상기 대체 유니트 이외에 삭제될 선택된 유니트를 주기적으로 식별하는 단계 ; 상기 선택된 유니트에서 각각 실제 기록된 블럭을 판독하는 단계 ; 상기 선택된 유니트에서 각각 실제 기록된 블럭을 상기 대체 유니트에 기록하는 단계 ; 이전 기록 단계에서 기록되어 있는 블럭의 상태를 기록된 것으로서 나타내기 위하여 상기 대체 유니트 할당 테이블을 갱신하는 단계 ; 상기 선택된 블럭을 삭제하는 단계 ; 및 상기 선택된 유니트의 유니트 식별기를 가지는 대체 유니트로서 상기 선택된 유니트를 나타내기 위하여 가상 어드레스 대 물리적 어드레스의 테이블을 갱신하는 단계를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
- 데이터가 기록되지 않은 물리적 메모리 위치에서만 기록되고 인접하는 메모리 위치의 존이 동시에 제거되는 메모리를 위한 메모리 관리 방법에 있어서, 상기 메모리를 각각 적어도 하나의 존을 포함하는 다수의 유니트로 구성하는 단계 ; 상기 각각의 유니트를 각각 다수의 인접하는 물리적 메모리 위치로 구성된 다수의 블럭으로 구성하는 단계 ; 가상 어드레스를 유니트내의 물리적 어드레스로 맵핑하기 위하여 제 1 테이블을 만드는 단계 ; 페이지 어드레싱 블럭의 구획에 구성된 상기 제 1 테이블을 상기 메모리에 저장하는 단계 ; 상기 메모리에 저장된 상기 페이지 어드레싱 블럭의 물리적 어드레스로 페이지를 맵핑하는 제 2 테이블을 램에 저장하는 단계 ; 가상 어드레스에서 상기 메모리에 데이터를 기록하는 단계 ; 및 가상 어드레스에서 상기 메모리에 대한 데이터를 판독하는 단계를 포함하고, 상기 데이터를 기록하는 단계는,(a) 상기 가상 어드레스로부터 페이지 어드레스를 유도하는 단계 ;(b) 상기 페이지 어드레스를 상기 메모리의 페이지 어드레싱 블럭으로 맵핑하는 단계 ;(c) 상기 메모리의 상기 페이지 어드레싱 블록에서 가상 어드레스를 물리적 어드레스로 맵핑하는 상기 제 1 테이블의 구획을 판독하는 단계 ;(d) 상기 가상 어드레스를 물리적 어드레스로 맵핑하는 단계 ; 및(e) 만약 상기 물리적 어드레스에서 상기 블럭이 실제 기록된 상태에 있으면,(1) 기록되지 않은 블럭 어드레스에 대한 상기 메모리에 상기 데이터를 기록하는 단계 ;(2) 상기 제 1 테이블은 상기 데이터가 단계(e)(1)에서 기록되는 기록되지 않은 블럭의 물리적 어드레스에 상기 가상 어드레스를 맵핑하도록 상기 제 1 테이블 구획을 변화하는 단계 ;(3) 상기 메모리의 기록되지 않은 물리적 블럭에 단계(e)(2)로부터 변화된 제 1 테이블 구획을 기록하는 단계 ;(4) 상기 기록되지 않은 물리적 블럭 위치의 변화된 제 1 테이블 구획의 페이지 어드레스를 맵핑하도록 상기 램에 저장된 상기 제 2 테이블을 갱신하는 단계를 포함하고, 가상 어드레스에서 상기 메모리에 대한 데이터를 판독하는 단계는,(a) 상기 가상 어드레스로부터 페이지 어드레스를 유도하는 단계 ;(f) 상기 페이지 어드레스를 상기 메모리의 페이지 어드레싱 블럭으로 맵핑하는 단계 ;(g) 상기 메모리의 상기 페이지 어드레싱 블럭에서 가상 어드레스를 물리적 어드레스로 맵핑하는 상기 제 1 테이블의 구획을 판독하는 단계 ;(h) 상기 가상 어드레스를 물리적 어드레스에 맵핑하는 단계 ;(i) 상기 물리적 어드레스에서 상기 메모리로부터 상기 데이터를 판독하는 단계를 포함하는 것을 특징으로 하는 메모리 관리 방법.
- 제7항에 있어서, 상기 유니트의 모든 블럭이 기록되지 않은 상기 메모리에서 대체 유니트를 만드는 단계 ; 상기 대체 유니트 이외에 삭제될 선택된 유니트를 주기적으로 식별하는 단계 ; 상기 선택된 유니트에서 각각 실제 기록된 블럭을 판독하는 단계 ; 상기 선택된 유니트의 각각 실제 기록된 블럭을 상기 대체 유니트에 기록하는 단계 ; 상기 이전 기록 단계에서 기록된 블럭 상태를 기록된 것으로서 나타내기 위하여 상기 대체 유니트 할당 테이블을 갱신하는 단계 ; 상기 선택된 블럭을 삭제하는 단계 ; 및 상기 선택된 유니트의 유니트 식별기를 가지는 대체 유니트로서 상기 선택된 유니트를 나타내기 위하여 가상 어드레스 대 물리적 어드레스의 테이블을 갱신하는 단계를 더 포함하는 것을 특징으로 하는 메모리 관리 방법.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/027,131 US5404485A (en) | 1993-03-08 | 1993-03-08 | Flash file system |
US08/027131 | 1993-03-08 | ||
US08/027,131 | 1993-03-08 | ||
PCT/US1994/001848 WO1994020906A1 (en) | 1993-03-08 | 1994-02-28 | Flash file system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960701402A KR960701402A (ko) | 1996-02-24 |
KR100292011B1 true KR100292011B1 (ko) | 2001-09-17 |
Family
ID=21835870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950703788A KR100292011B1 (ko) | 1993-03-08 | 1994-02-28 | 플래쉬파일수단 |
Country Status (12)
Country | Link |
---|---|
US (1) | US5404485A (ko) |
EP (1) | EP0688450B1 (ko) |
JP (2) | JPH08510072A (ko) |
KR (1) | KR100292011B1 (ko) |
CN (1) | CN1078364C (ko) |
AU (1) | AU6269994A (ko) |
DE (1) | DE69414556T2 (ko) |
FI (1) | FI105726B (ko) |
IL (1) | IL108766A (ko) |
TW (1) | TW264547B (ko) |
WO (1) | WO1994020906A1 (ko) |
ZA (1) | ZA941446B (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000041291A (ko) * | 1998-12-22 | 2000-07-15 | 김영환 | 이동통신 시스템에서 방문 이동 가입자의 데이터 관리 방법 |
KR100457812B1 (ko) * | 2002-11-14 | 2004-11-18 | 삼성전자주식회사 | 플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법 |
Families Citing this family (561)
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 |
US5657332A (en) * | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5581723A (en) * | 1993-02-19 | 1996-12-03 | Intel Corporation | Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array |
US5519843A (en) * | 1993-03-15 | 1996-05-21 | M-Systems | Flash memory system providing both BIOS and user storage capability |
US5485595A (en) * | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
US5479638A (en) * | 1993-03-26 | 1995-12-26 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporation wear leveling technique |
US5522069A (en) * | 1993-04-30 | 1996-05-28 | Zenith Data Systems Corporation | Symmetric multiprocessing system with unified environment and distributed system functions |
US5600821A (en) * | 1993-07-28 | 1997-02-04 | National Semiconductor Corporation | Distributed directory for information stored on audio quality memory devices |
US5640529A (en) * | 1993-07-29 | 1997-06-17 | Intel Corporation | Method and system for performing clean-up of a solid state disk during host command execution |
JP3215237B2 (ja) * | 1993-10-01 | 2001-10-02 | 富士通株式会社 | 記憶装置および記憶装置の書き込み/消去方法 |
US5784706A (en) * | 1993-12-13 | 1998-07-21 | Cray Research, Inc. | Virtual to logical to physical address translation for distributed memory massively parallel processing systems |
SG45399A1 (en) * | 1994-01-12 | 1998-01-16 | Sun Microsystems Inc | Logically addressable physical memory for a virtual memory computer system that support multiple page sizes |
US5696917A (en) | 1994-06-03 | 1997-12-09 | Intel Corporation | Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory |
US5765175A (en) * | 1994-08-26 | 1998-06-09 | Intel Corporation | System and method for removing deleted entries in file systems based on write-once or erase-slowly media |
ATE149709T1 (de) * | 1994-09-30 | 1997-03-15 | Sel Alcatel Ag | Verfahren zur speicherverwaltung eines flash- speichers |
JPH08137634A (ja) * | 1994-11-09 | 1996-05-31 | Mitsubishi Electric Corp | フラッシュディスクカード |
JP2669365B2 (ja) * | 1994-11-24 | 1997-10-27 | 日本電気株式会社 | 書換え可能なromファイル装置 |
JP3464836B2 (ja) * | 1995-01-19 | 2003-11-10 | 富士通株式会社 | 記憶装置のメモリ管理装置 |
AUPN105495A0 (en) * | 1995-02-10 | 1995-03-09 | Aristocrat Leisure Industries Pty Ltd | Dram emulator |
AU692670B2 (en) * | 1995-02-10 | 1998-06-11 | Aristocrat Technologies Australia Pty Limited | Dram emulator |
JP3706167B2 (ja) * | 1995-02-16 | 2005-10-12 | 株式会社ルネサステクノロジ | 半導体ディスク装置 |
JP2671860B2 (ja) | 1995-03-30 | 1997-11-05 | 日本電気株式会社 | フラッシュメモリ用ファイルシステム |
JPH08328762A (ja) * | 1995-06-06 | 1996-12-13 | Mitsubishi Electric Corp | 半導体ディスク装置及びそのメモリ管理方法 |
US6081878A (en) * | 1997-03-31 | 2000-06-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
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 |
US8171203B2 (en) * | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
US5845313A (en) * | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing 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 |
US5930815A (en) * | 1995-07-31 | 1999-07-27 | Lexar Media, Inc. | Moving sequential sectors within a block of information in a flash memory mass storage architecture |
DE29513792U1 (de) * | 1995-08-28 | 1995-10-12 | Siemens AG, 80333 München | Prozessoreinheit |
GB2291991A (en) * | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Disk drive emulation with a block-erasable memory |
GB2291990A (en) * | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Flash-memory management system |
JPH0997207A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
JP3727983B2 (ja) * | 1995-09-28 | 2005-12-21 | キヤノン株式会社 | 電子カメラ |
JP3703181B2 (ja) * | 1995-09-28 | 2005-10-05 | キヤノン株式会社 | フラッシュrom管理方法及び装置 |
US5933847A (en) * | 1995-09-28 | 1999-08-03 | Canon Kabushiki Kaisha | Selecting erase method based on type of power supply for flash EEPROM |
JPH0997314A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | Icカード装置 |
JPH0997206A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
US5867641A (en) * | 1995-10-27 | 1999-02-02 | Scm Microsystems (U.S.) Inc. | Flash translation layer cleanup system and method |
US6014724A (en) * | 1995-10-27 | 2000-01-11 | Scm Microsystems (U.S.) Inc. | Flash translation layer block indication map revision system and method |
US5987478A (en) * | 1995-10-31 | 1999-11-16 | Intel Corporation | Virtual small block file manager for flash memory array |
US5829013A (en) | 1995-12-26 | 1998-10-27 | Intel Corporation | Memory manager to allow non-volatile memory to be used to supplement main memory |
US5978808A (en) * | 1995-12-27 | 1999-11-02 | Intel Corporation | Virtual small block file manager for flash memory array |
JPH09185551A (ja) * | 1996-01-08 | 1997-07-15 | Mitsubishi Electric Corp | 半導体記憶装置 |
US5787445A (en) * | 1996-03-07 | 1998-07-28 | Norris Communications Corporation | Operating system including improved file management for use in devices utilizing flash memory as main memory |
US5860082A (en) * | 1996-03-28 | 1999-01-12 | Datalight, Inc. | Method and apparatus for allocating storage in a flash memory |
US5896393A (en) * | 1996-05-23 | 1999-04-20 | Advanced Micro Devices, Inc. | Simplified file management scheme for flash memory |
US5848420A (en) * | 1996-06-14 | 1998-12-08 | Eastman Kodak Company | System and method for accessing data of a digital camera from a personal computer |
KR980013092A (ko) * | 1996-07-29 | 1998-04-30 | 김광호 | 교환시스템의 화일관리장치 및 방법 |
FR2752072B1 (fr) * | 1996-08-01 | 1999-01-29 | Solaic Sa | Carte a circuit integre comportant des fichiers classes selon une arborescence |
JPH10124381A (ja) * | 1996-10-21 | 1998-05-15 | Mitsubishi Electric Corp | 半導体記憶装置 |
US5745418A (en) * | 1996-11-25 | 1998-04-28 | Macronix International Co., Ltd. | Flash memory mass storage system |
US6311290B1 (en) | 1997-02-14 | 2001-10-30 | Intel Corporation | Methods of reliably allocating, de-allocating, re-allocating, and reclaiming objects in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US5937434A (en) * | 1997-02-14 | 1999-08-10 | Intel Corporation | Method of managing a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US6182188B1 (en) | 1997-04-06 | 2001-01-30 | Intel Corporation | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US5982553A (en) | 1997-03-20 | 1999-11-09 | Silicon Light Machines | Display device incorporating one-dimensional grating light-valve array |
US6088759A (en) * | 1997-04-06 | 2000-07-11 | Intel Corporation | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US5943692A (en) * | 1997-04-30 | 1999-08-24 | International Business Machines Corporation | Mobile client computer system with flash memory management utilizing a virtual address map and variable length data |
JP3104646B2 (ja) * | 1997-06-04 | 2000-10-30 | ソニー株式会社 | 外部記憶装置 |
GB2328531A (en) * | 1997-08-23 | 1999-02-24 | Ibm | Storing a long record in a set of shorter keyed records |
DE19740525C1 (de) * | 1997-09-15 | 1999-02-04 | Siemens Ag | Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug |
US5937425A (en) * | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
JPH11203191A (ja) * | 1997-11-13 | 1999-07-30 | Seiko Epson Corp | 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体 |
KR100614469B1 (ko) * | 1997-12-05 | 2006-08-25 | 동경 엘렉트론 디바이스 주식회사 | 기억장치 |
US6040997A (en) * | 1998-03-25 | 2000-03-21 | Lexar Media, Inc. | Flash memory leveling architecture having no external latch |
US6130770A (en) | 1998-06-23 | 2000-10-10 | Silicon Light Machines | Electron gun activated grating light valve |
US6101036A (en) | 1998-06-23 | 2000-08-08 | Silicon Light Machines | Embossed diffraction grating alone and in combination with changeable image display |
JP4085478B2 (ja) * | 1998-07-28 | 2008-05-14 | ソニー株式会社 | 記憶媒体及び電子機器システム |
US6303986B1 (en) | 1998-07-29 | 2001-10-16 | Silicon Light Machines | Method of and apparatus for sealing an hermetic lid to a semiconductor die |
JP4046877B2 (ja) | 1998-12-14 | 2008-02-13 | 株式会社ルネサステクノロジ | 一括消去型不揮発性メモリおよび携帯電話 |
US6314557B1 (en) | 1998-12-14 | 2001-11-06 | Infineon Technologies Development Center Tel Aviv Ltd | Hybrid computer programming environment |
FR2787901B1 (fr) * | 1998-12-28 | 2001-02-09 | Bull Sa | Organisation memoire par zones physiques |
GB9903490D0 (en) * | 1999-02-17 | 1999-04-07 | Memory Corp Plc | Memory system |
CA2267484C (en) * | 1999-03-30 | 2002-03-05 | Object Technology International Inc. | Reclaiming memory from deleted applications |
US6148354A (en) * | 1999-04-05 | 2000-11-14 | M-Systems Flash Disk Pioneers Ltd. | Architecture for a universal serial bus-based PC flash disk |
AU2006200756B2 (en) * | 1999-04-05 | 2008-04-03 | Sandisk Il Ltd | A USB flash memory device for connecting to a USB-defined BUS |
US6282605B1 (en) | 1999-04-26 | 2001-08-28 | Moore Computer Consultants, Inc. | File system for non-volatile computer memory |
KR100330164B1 (ko) | 1999-04-27 | 2002-03-28 | 윤종용 | 무효 블록들을 가지는 복수의 플래시 메모리들을 동시에 프로그램하는 방법 |
KR100544175B1 (ko) * | 1999-05-08 | 2006-01-23 | 삼성전자주식회사 | 링킹 타입 정보를 저장하는 기록 매체와 결함 영역 처리 방법 |
US8141240B2 (en) | 1999-08-04 | 2012-03-27 | Super Talent Electronics, Inc. | Manufacturing method for micro-SD flash memory card |
US7872871B2 (en) * | 2000-01-06 | 2011-01-18 | Super Talent Electronics, Inc. | Molding methods to manufacture single-chip chip-on-board USB device |
US7830666B2 (en) | 2000-01-06 | 2010-11-09 | Super Talent Electronics, Inc. | Manufacturing process for single-chip MMC/SD flash memory device with molded asymmetric circuit board |
US7690031B2 (en) * | 2000-01-06 | 2010-03-30 | Super Talent Electronics, Inc. | Managing bad blocks in flash memory for electronic data flash card |
US20080209114A1 (en) * | 1999-08-04 | 2008-08-28 | Super Talent Electronics, Inc. | Reliability High Endurance Non-Volatile Memory Device with Zone-Based Non-Volatile Memory File System |
US8102662B2 (en) * | 2007-07-05 | 2012-01-24 | Super Talent Electronics, Inc. | USB package with bistable sliding mechanism |
US8625270B2 (en) | 1999-08-04 | 2014-01-07 | Super Talent Technology, Corp. | USB flash drive with deploying and retracting functionalities using retractable cover/cap |
US7702831B2 (en) * | 2000-01-06 | 2010-04-20 | Super Talent Electronics, Inc. | Flash memory controller for electronic data flash card |
US7466556B2 (en) * | 1999-08-04 | 2008-12-16 | Super Talent Electronics, Inc. | Single chip USB packages with swivel cover |
US7535719B2 (en) * | 1999-08-04 | 2009-05-19 | Super Talent Electronics, Inc. | Single chip USB packages with contact-pins cover |
US7318117B2 (en) | 2004-02-26 | 2008-01-08 | Super Talent Electronics, Inc. | Managing flash memory including recycling obsolete sectors |
US7447037B2 (en) * | 1999-08-04 | 2008-11-04 | Super Talent Electronics, Inc. | Single chip USB packages by various assembly methods |
KR100577380B1 (ko) * | 1999-09-29 | 2006-05-09 | 삼성전자주식회사 | 플래시 메모리와 그 제어 방법 |
KR100703680B1 (ko) * | 1999-10-14 | 2007-04-05 | 삼성전자주식회사 | 플래시 파일 시스템 |
CN1088218C (zh) | 1999-11-14 | 2002-07-24 | 邓国顺 | 用于数据处理系统的快闪电子式外存储方法及其装置 |
US6643731B2 (en) * | 1999-12-31 | 2003-11-04 | Texas Instruments Incorporated | Low cost memory management that resists power interruption |
US20080286990A1 (en) * | 2003-12-02 | 2008-11-20 | Super Talent Electronics, Inc. | Direct Package Mold Process For Single Chip SD Flash Cards |
US20060161725A1 (en) * | 2005-01-20 | 2006-07-20 | Lee Charles C | Multiple function flash memory system |
US7702984B1 (en) | 2000-01-06 | 2010-04-20 | Super Talent Electronics, Inc. | High volume testing for USB electronic data flash cards |
US6424975B1 (en) | 2000-01-07 | 2002-07-23 | Trg Products, Inc. | FAT file system in palm OS computer |
US7102671B1 (en) | 2000-02-08 | 2006-09-05 | Lexar Media, Inc. | Enhanced compact flash memory card |
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 |
EP1130516A1 (en) * | 2000-03-01 | 2001-09-05 | Hewlett-Packard Company, A Delaware Corporation | Address mapping in solid state storage device |
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 |
US6473845B1 (en) * | 2000-09-28 | 2002-10-29 | Hewlett-Packard Company | System and method for dynamically updating memory address mappings |
KR100644602B1 (ko) * | 2000-10-11 | 2006-11-10 | 삼성전자주식회사 | 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조 |
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 |
US7373656B2 (en) * | 2000-10-27 | 2008-05-13 | Sandisk Il Ltd. | Automatic configuration for portable devices |
US7606733B2 (en) * | 2000-10-27 | 2009-10-20 | Sandisk Il Ltd. | Account portability for computing |
US7028165B2 (en) * | 2000-12-06 | 2006-04-11 | Intel Corporation | Processor stalling |
KR100365725B1 (ko) | 2000-12-27 | 2002-12-26 | 한국전자통신연구원 | 플래시 메모리를 이용한 파일 시스템에서 등급별 지움정책 및 오류 복구 방법 |
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 |
US6938144B2 (en) * | 2001-03-22 | 2005-08-30 | Matsushita Electric Industrial Co., Ltd. | Address conversion unit for memory device |
US6707591B2 (en) | 2001-04-10 | 2004-03-16 | Silicon Light Machines | Angled illumination for a single order light modulator based projection 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 |
US6747781B2 (en) | 2001-06-25 | 2004-06-08 | Silicon Light Machines, Inc. | Method, apparatus, and diffuser for reducing laser speckle |
US6782205B2 (en) | 2001-06-25 | 2004-08-24 | Silicon Light Machines | Method and apparatus for dynamic equalization in wavelength division multiplexing |
US7024532B2 (en) * | 2001-08-09 | 2006-04-04 | Matsushita Electric Industrial Co., Ltd. | File management method, and memory card and terminal apparatus that make use of the method |
US6829092B2 (en) | 2001-08-15 | 2004-12-07 | Silicon Light Machines, Inc. | Blazed grating light valve |
US7356641B2 (en) * | 2001-08-28 | 2008-04-08 | International Business Machines Corporation | Data management in flash memory |
US6760805B2 (en) * | 2001-09-05 | 2004-07-06 | M-Systems Flash Disk Pioneers Ltd. | Flash management system for large page size |
GB0123419D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Data handling system |
US6678785B2 (en) * | 2001-09-28 | 2004-01-13 | M-Systems Flash Disk Pioneers Ltd. | Flash management system using only sequential write |
GB0123417D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Improved data processing |
GB0123415D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
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 |
US7299463B2 (en) | 2001-09-28 | 2007-11-20 | Intel Corporation | Method for atomically updating a plurality of files |
GB0123410D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
KR100449708B1 (ko) * | 2001-11-16 | 2004-09-22 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US6977847B2 (en) * | 2001-11-23 | 2005-12-20 | M-Systems Flash Disk Pioneers Ltd. | Detecting partially erased units in flash devices |
JP3967121B2 (ja) * | 2001-12-11 | 2007-08-29 | 株式会社ルネサステクノロジ | ファイルシステム、ファイルシステム制御方法およびファイルシステムを制御するためのプログラム |
DE10163342A1 (de) * | 2001-12-21 | 2003-07-10 | Elektro Beckhoff Gmbh Unterneh | Datenübertragungsverfahren, serielles Bussystem und Anschalteinheit für einen passiven Busteilnehmer |
TWI240861B (en) * | 2002-01-11 | 2005-10-01 | Integrated Circuit Solution In | Data access method and architecture of flash memory |
US6800238B1 (en) | 2002-01-15 | 2004-10-05 | Silicon Light Machines, Inc. | Method for domain patterning in low coercive field ferroelectrics |
US6957295B1 (en) | 2002-01-18 | 2005-10-18 | Lexar Media, Inc. | File management of one-time-programmable nonvolatile memory devices |
US6950918B1 (en) | 2002-01-18 | 2005-09-27 | Lexar Media, Inc. | File management of one-time-programmable nonvolatile memory devices |
US6621739B2 (en) * | 2002-01-18 | 2003-09-16 | Sandisk Corporation | Reducing the effects of noise in non-volatile memories through multiple reads |
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 |
AU2003218299A1 (en) * | 2002-03-19 | 2003-10-08 | Michael Bucci | Device and method for throwing motion training |
US6728023B1 (en) | 2002-05-28 | 2004-04-27 | Silicon Light Machines | Optical device arrays with optimized image resolution |
US6767751B2 (en) | 2002-05-28 | 2004-07-27 | Silicon Light Machines, Inc. | Integrated driver process flow |
US6822797B1 (en) | 2002-05-31 | 2004-11-23 | Silicon Light Machines, Inc. | Light modulator structure for producing high-contrast operation using zero-order light |
US6829258B1 (en) | 2002-06-26 | 2004-12-07 | Silicon Light Machines, Inc. | Rapidly tunable external cavity laser |
EP1376608A1 (fr) * | 2002-06-28 | 2004-01-02 | Cp8 | Procédé d'écriture dans une mémoire non volatile et système pour la mise en oeuvre d'un tel procédé |
US6813059B2 (en) | 2002-06-28 | 2004-11-02 | Silicon Light Machines, Inc. | Reduced formation of asperities in contact micro-structures |
US6714337B1 (en) | 2002-06-28 | 2004-03-30 | Silicon Light Machines | Method and device for modulating a light beam and having an improved gamma response |
KR100484147B1 (ko) * | 2002-07-26 | 2005-04-18 | 삼성전자주식회사 | 플래시 메모리 관리 방법 |
TWI246064B (en) * | 2002-07-29 | 2005-12-21 | Milsys Ltd | Data storage and processing device, electronic appliance, electronic system and method of operating an appliance that responds to a plurality of commands |
US6801354B1 (en) | 2002-08-20 | 2004-10-05 | Silicon Light Machines, Inc. | 2-D diffraction grating for substantially eliminating polarization dependent losses |
US7130979B2 (en) * | 2002-08-29 | 2006-10-31 | Micron Technology, Inc. | Dynamic volume management |
US6970969B2 (en) * | 2002-08-29 | 2005-11-29 | Micron Technology, Inc. | Multiple segment data object management |
US6968439B2 (en) * | 2002-08-29 | 2005-11-22 | Micron Technology, Inc. | Single segment data object management |
US6712480B1 (en) | 2002-09-27 | 2004-03-30 | Silicon Light Machines | Controlled curvature of stressed micro-structures |
US7174440B2 (en) * | 2002-10-28 | 2007-02-06 | Sandisk Corporation | Method and apparatus for performing block caching in a non-volatile memory system |
US7254668B1 (en) * | 2002-10-28 | 2007-08-07 | Sandisk Corporation | Method and apparatus for grouping pages within a block |
JP3694501B2 (ja) * | 2002-10-30 | 2005-09-14 | 松下電器産業株式会社 | 記憶装置 |
JP4199519B2 (ja) * | 2002-11-05 | 2008-12-17 | パナソニック株式会社 | メモリ管理装置及びメモリ管理方法 |
DE10252059B3 (de) * | 2002-11-08 | 2004-04-15 | Infineon Technologies Ag | Verfahren zum Betreiben einer Speicheranordnung |
AU2003286967B2 (en) * | 2002-12-24 | 2009-01-15 | Lg Electronics, Inc. | Dual journaling store method and storage medium thereof |
KR100483490B1 (ko) * | 2002-12-24 | 2005-04-15 | 한국전자통신연구원 | 저장 매체에 데이터를 저장하기 위한 이중 저널링저장방법 |
FI20022297A (fi) * | 2002-12-31 | 2004-07-01 | Nokia Corp | Menetelmä muistikomponenttien sisältöjen vertailemiseksi |
TW200415464A (en) * | 2003-02-12 | 2004-08-16 | Acard Technology Corp | SATA flash memory device |
US6829077B1 (en) | 2003-02-28 | 2004-12-07 | Silicon Light Machines, Inc. | Diffractive light modulator with dynamically rotatable diffraction plane |
US6806997B1 (en) | 2003-02-28 | 2004-10-19 | Silicon Light Machines, Inc. | Patterned diffractive light modulator ribbon for PDL reduction |
US7526598B2 (en) * | 2003-03-03 | 2009-04-28 | Sandisk Il, Ltd. | Efficient flash memory device driver |
US20040186746A1 (en) * | 2003-03-21 | 2004-09-23 | Angst Wendy P. | System, apparatus and method for storage and transportation of personal health records |
EP1462946A1 (en) * | 2003-03-25 | 2004-09-29 | Acard Technology Corp. | Architecture for a serial ATA bus based flash memory apparatus |
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 |
US6973519B1 (en) | 2003-06-03 | 2005-12-06 | Lexar Media, Inc. | Card identification compatibility |
US7606993B2 (en) * | 2003-06-10 | 2009-10-20 | Tdk Corporation | Flash memory controller, memory control circuit, flash memory system, and method for controlling data exchange between host computer and flash memory |
US7372731B2 (en) * | 2003-06-17 | 2008-05-13 | Sandisk Il Ltd. | Flash memories with adaptive reference voltages |
JP4433372B2 (ja) * | 2003-06-18 | 2010-03-17 | 株式会社日立製作所 | データアクセスシステム及び方法 |
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 |
US7188228B1 (en) | 2003-10-01 | 2007-03-06 | Sandisk Corporation | Hybrid mapping implementation within a non-volatile memory system |
US7173852B2 (en) * | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
US7012835B2 (en) * | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US7296144B2 (en) * | 2003-11-24 | 2007-11-13 | Sandisk Il Ltd. | Method of traceless portable application execution |
US8998620B2 (en) * | 2003-12-02 | 2015-04-07 | Super Talent Technology, Corp. | Molding method for COB-EUSB devices and metal housing package |
US7440286B2 (en) * | 2005-04-21 | 2008-10-21 | Super Talent Electronics, Inc. | Extended USB dual-personality card reader |
US7872873B2 (en) | 2003-12-02 | 2011-01-18 | Super Talent Electronics, Inc. | Extended COB-USB with dual-personality contacts |
US8102657B2 (en) | 2003-12-02 | 2012-01-24 | Super Talent Electronics, Inc. | Single shot molding method for COB USB/EUSB devices with contact pad ribs |
KR100608602B1 (ko) * | 2003-12-10 | 2006-08-03 | 삼성전자주식회사 | 플래시 메모리, 이를 위한 사상 제어 장치 및 방법 |
US20050132178A1 (en) * | 2003-12-12 | 2005-06-16 | Sridhar Balasubramanian | Removable flash backup for storage controllers |
EP1695304A4 (en) | 2003-12-17 | 2011-09-28 | Lexar Media Inc | POINT-OF-SALE ACTIVATION OF ELECTRONIC DEVICES TO AVOID THEFT |
JP2005190036A (ja) | 2003-12-25 | 2005-07-14 | Hitachi Ltd | 記憶制御装置及び記憶制御装置の制御方法 |
JP4463042B2 (ja) * | 2003-12-26 | 2010-05-12 | 株式会社日立製作所 | ボリュームの動的割り付け機能を有する記憶装置システム |
KR100526188B1 (ko) * | 2003-12-30 | 2005-11-04 | 삼성전자주식회사 | 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리 |
US7433993B2 (en) * | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
US20050144363A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
US8504798B2 (en) | 2003-12-30 | 2013-08-06 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US7383375B2 (en) * | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
US7631138B2 (en) * | 2003-12-30 | 2009-12-08 | Sandisk Corporation | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
EP1714284A4 (en) * | 2004-01-15 | 2008-09-17 | Milsys Ltd | REPLACEABLE MEDIUM WITH BOOKMARKS |
CN1926616B (zh) * | 2004-01-19 | 2011-09-14 | 特科2000国际有限公司 | 使用存储器地址映射表的便携式数据存储设备 |
US7869219B2 (en) * | 2004-01-20 | 2011-01-11 | Super Talent Electronics, Inc. | Flash drive with spring-loaded retractable connector |
US7177200B2 (en) * | 2004-02-10 | 2007-02-13 | Msystems Ltd. | Two-phase programming of a flash memory |
US8019928B2 (en) * | 2004-02-15 | 2011-09-13 | Sandisk Il Ltd. | Method of managing a multi-bit-cell flash memory |
US7716413B2 (en) * | 2004-02-15 | 2010-05-11 | Sandisk Il Ltd. | Method of making a multi-bit-cell flash memory |
EP2506486A1 (en) * | 2004-02-23 | 2012-10-03 | Lexar Media, Inc. | Secure compact flash |
CN1323358C (zh) * | 2004-03-05 | 2007-06-27 | 中国科学院计算技术研究所 | 一种虚拟存储模型及其方法 |
US20050213393A1 (en) | 2004-03-14 | 2005-09-29 | M-Systems Flash Disk Pioneers, Ltd. | States encoding in multi-bit flash cells for optimizing error rate |
US7310347B2 (en) * | 2004-03-14 | 2007-12-18 | Sandisk, Il Ltd. | States encoding in multi-bit flash cells |
TWI254947B (en) * | 2004-03-28 | 2006-05-11 | Mediatek Inc | Data managing method and data access system for storing all management data in a management bank of a non-volatile 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 |
US7325090B2 (en) * | 2004-04-29 | 2008-01-29 | Sandisk Il Ltd. | Refreshing data stored in a flash memory |
US7370166B1 (en) | 2004-04-30 | 2008-05-06 | Lexar Media, Inc. | Secure portable storage device |
US8352697B2 (en) * | 2004-05-17 | 2013-01-08 | Sandisk Il Ltd. | Method of managing files for optimal performance |
US7346401B2 (en) * | 2004-05-25 | 2008-03-18 | International Business Machines Corporation | Systems and methods for providing constrained optimization using adaptive regulatory control |
US20080194336A1 (en) * | 2004-06-07 | 2008-08-14 | Gagner Mark B | Gaming Device with Resources Swapping |
US20060004951A1 (en) * | 2004-06-30 | 2006-01-05 | Rudelic John C | Method and apparatus to alter code in a memory |
KR100568115B1 (ko) * | 2004-06-30 | 2006-04-05 | 삼성전자주식회사 | 점진적 머지 방법 및 그것을 이용한 메모리 시스템 |
US20080195817A1 (en) * | 2004-07-08 | 2008-08-14 | Super Talent Electronics, Inc. | SD Flash Memory Card Manufacturing Using Rigid-Flex PCB |
US7957189B2 (en) * | 2004-07-26 | 2011-06-07 | Sandisk Il Ltd. | Drift compensation in a flash memory |
US7817469B2 (en) * | 2004-07-26 | 2010-10-19 | Sandisk Il Ltd. | Drift compensation in a flash memory |
US8407396B2 (en) * | 2004-07-30 | 2013-03-26 | Hewlett-Packard Development Company, L.P. | Providing block data access for an operating system using solid-state memory |
US7386700B2 (en) * | 2004-07-30 | 2008-06-10 | Sandisk Il Ltd | Virtual-to-physical address translation in a flash file system |
US8275969B2 (en) * | 2004-08-05 | 2012-09-25 | Sandisk Il Ltd. | Storage with persistent user data |
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 |
US7496493B1 (en) * | 2004-11-09 | 2009-02-24 | Western Digital Technologies, Inc. | External memory device to provide disk device and optical functionality |
WO2006063941A2 (en) * | 2004-12-14 | 2006-06-22 | Sony Ericsson Mobile Communications Ab | Method and means for an efficient memory usage |
EP1672487A1 (en) * | 2004-12-14 | 2006-06-21 | Sony Ericsson Mobile Communications AB | Method and means for an efficient memory usage |
US7685400B2 (en) * | 2004-12-15 | 2010-03-23 | International Business Machines Corporation | Storage of data blocks of logical volumes in a virtual disk storage subsystem |
US7315916B2 (en) * | 2004-12-16 | 2008-01-01 | Sandisk Corporation | Scratch pad block |
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 |
US7412560B2 (en) * | 2004-12-16 | 2008-08-12 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
US7386655B2 (en) * | 2004-12-16 | 2008-06-10 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
US7149111B2 (en) * | 2004-12-17 | 2006-12-12 | Msystems Ltd. | Method of handling limitations on the order of writing to a non-volatile memory |
US7246195B2 (en) * | 2004-12-30 | 2007-07-17 | Intel Corporation | Data storage management for flash memory devices |
DE102005001038B3 (de) * | 2005-01-07 | 2006-05-04 | Hyperstone Ag | Verfahren zur Umsetzung von logischen in reale Blockadressen in Flashspeichern |
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 |
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 |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US8108691B2 (en) * | 2005-02-07 | 2012-01-31 | Sandisk Technologies Inc. | Methods used in a secure memory card with life cycle phases |
US8321686B2 (en) * | 2005-02-07 | 2012-11-27 | Sandisk Technologies Inc. | Secure memory card with life cycle phases |
US8423788B2 (en) * | 2005-02-07 | 2013-04-16 | Sandisk Technologies Inc. | Secure memory card with life cycle phases |
EP1851771A2 (en) * | 2005-02-11 | 2007-11-07 | M-Systems Flash Disk Pioneers Ltd. | Nand flash memory system architecture |
US7224604B2 (en) * | 2005-03-14 | 2007-05-29 | Sandisk Il Ltd. | Method of achieving wear leveling in flash memory using relative grades |
US8522048B2 (en) * | 2005-04-14 | 2013-08-27 | Sandisk Il Ltd. | Content delivery system |
US7634494B2 (en) * | 2005-05-03 | 2009-12-15 | Intel Corporation | Flash memory directory virtualization |
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 |
US7334725B2 (en) * | 2005-06-01 | 2008-02-26 | San Disk Il Ltd. | Flash memory device within a business card |
JP2006338371A (ja) | 2005-06-02 | 2006-12-14 | Toshiba Corp | メモリシステム |
KR100827227B1 (ko) * | 2005-06-24 | 2008-05-07 | 삼성전자주식회사 | 저성능 저장장치의 drm 권리 객체를 효율적으로관리하는 방법 및 장치 |
US20070005929A1 (en) * | 2005-06-30 | 2007-01-04 | Post Daniel J | Method, system, and article of manufacture for sector mapping in a flash device |
US7743409B2 (en) * | 2005-07-08 | 2010-06-22 | Sandisk Corporation | Methods used in a mass storage device with automated credentials loading |
US8335920B2 (en) | 2005-07-14 | 2012-12-18 | Imation Corp. | Recovery of data access for a locked secure storage device |
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 |
US20070016721A1 (en) * | 2005-07-18 | 2007-01-18 | Wyse Technology Inc. | Flash file system power-up by using sequential sector allocation |
US7558906B2 (en) | 2005-08-03 | 2009-07-07 | Sandisk Corporation | Methods of managing blocks in nonvolatile memory |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
US7552271B2 (en) | 2005-08-03 | 2009-06-23 | Sandisk Corporation | Nonvolatile memory with block management |
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 |
US7627733B2 (en) * | 2005-08-03 | 2009-12-01 | Sandisk Corporation | Method and system for dual mode access for storage devices |
US7949845B2 (en) * | 2005-08-03 | 2011-05-24 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
US7669003B2 (en) * | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
KR100739722B1 (ko) * | 2005-08-20 | 2007-07-13 | 삼성전자주식회사 | 플래시 메모리 관리 방법 및 플래시 메모리 시스템 |
US7571275B2 (en) * | 2005-08-31 | 2009-08-04 | Hamilton Sundstrand Corporation | Flash real-time operating system for small embedded applications |
US20070067620A1 (en) * | 2005-09-06 | 2007-03-22 | Ironkey, Inc. | Systems and methods for third-party authentication |
US20070061597A1 (en) * | 2005-09-14 | 2007-03-15 | Micky Holtzman | Secure yet flexible system architecture for secure devices with flash mass storage memory |
US8966284B2 (en) * | 2005-09-14 | 2015-02-24 | Sandisk Technologies Inc. | Hardware driver integrity check of memory card controller firmware |
US8855714B2 (en) | 2005-09-14 | 2014-10-07 | Sandisk Il Ltd. | Removable media player for mobile phones |
US7631245B2 (en) | 2005-09-26 | 2009-12-08 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US8291295B2 (en) * | 2005-09-26 | 2012-10-16 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
TWI298836B (en) * | 2005-10-12 | 2008-07-11 | Sunplus Technology Co Ltd | Apparatus for controlling flash memory and method thereof |
US7814262B2 (en) * | 2005-10-13 | 2010-10-12 | Sandisk Corporation | Memory system storing transformed units of data in fixed sized storage blocks |
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 |
US7681109B2 (en) | 2005-10-13 | 2010-03-16 | Ramot At Tel Aviv University Ltd. | Method of error correction in MBC flash memory |
US7526715B2 (en) * | 2005-10-17 | 2009-04-28 | Ramot At Tel Aviv University Ltd. | Probabilistic error correction in multi-bit-per-cell flash memory |
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 |
JP5295778B2 (ja) * | 2005-12-09 | 2013-09-18 | サンディスク アイエル リミテッド | フラッシュメモリ管理方法 |
US7877540B2 (en) * | 2005-12-13 | 2011-01-25 | Sandisk Corporation | Logically-addressed file storage methods |
US7769978B2 (en) * | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
EP1966701A2 (en) * | 2005-12-21 | 2008-09-10 | Nxp B.V. | Memory with block-erasable locations |
US7793068B2 (en) * | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for 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 | 삼성전자주식회사 | 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법 |
US20070147115A1 (en) * | 2005-12-28 | 2007-06-28 | Fong-Long Lin | Unified memory and controller |
US7519754B2 (en) * | 2005-12-28 | 2009-04-14 | Silicon Storage Technology, Inc. | Hard disk drive cache memory and playback device |
FR2895828B1 (fr) * | 2006-01-03 | 2008-05-30 | Thales Sa | Procede de gestion de donnees destinees a etre ecrites et lues dans une memoire |
US7512847B2 (en) * | 2006-02-10 | 2009-03-31 | Sandisk Il Ltd. | Method for estimating and reporting the life expectancy of flash-disk memory |
US8848442B2 (en) * | 2006-03-06 | 2014-09-30 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
US7388781B2 (en) * | 2006-03-06 | 2008-06-17 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
US8645793B2 (en) * | 2008-06-03 | 2014-02-04 | Marvell International Ltd. | Statistical tracking for flash memory |
US7823043B2 (en) * | 2006-05-10 | 2010-10-26 | Sandisk Il Ltd. | Corruption-resistant data porting with multiple error correction schemes |
US8042029B2 (en) * | 2006-05-21 | 2011-10-18 | Ramot At Tel Aviv University Ltd. | Error correction decoding by trial and error |
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 |
US20070300031A1 (en) * | 2006-06-22 | 2007-12-27 | Ironkey, Inc. | Memory data shredder |
US8307148B2 (en) | 2006-06-23 | 2012-11-06 | Microsoft Corporation | Flash management techniques |
US7533328B2 (en) * | 2006-07-04 | 2009-05-12 | Sandisk Il, Ltd. | Method of error correction in a multi-bit-per-cell flash memory |
KR100764052B1 (ko) | 2006-08-03 | 2007-10-08 | 삼성전자주식회사 | 유동적 어드레스 바운더리를 갖는 플래시 메모리 장치 및그것의 프로그램 방법 |
US20080046630A1 (en) * | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
US20080046641A1 (en) * | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
US20080072058A1 (en) * | 2006-08-24 | 2008-03-20 | Yoram Cedar | Methods in a reader for one time password generating device |
US20080052524A1 (en) * | 2006-08-24 | 2008-02-28 | Yoram Cedar | Reader for one time password generating device |
WO2008026466A1 (fr) * | 2006-08-31 | 2008-03-06 | Sharp Kabushiki Kaisha | Système de fichiers |
KR100802059B1 (ko) * | 2006-09-06 | 2008-02-12 | 삼성전자주식회사 | 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법 |
US7716538B2 (en) * | 2006-09-27 | 2010-05-11 | Sandisk Corporation | Memory with cell population distribution assisted read margining |
US7886204B2 (en) * | 2006-09-27 | 2011-02-08 | Sandisk Corporation | Methods of cell population distribution assisted read margining |
US8949555B1 (en) | 2007-08-30 | 2015-02-03 | Virident Systems, Inc. | Methods for sustained read and write performance with non-volatile memory |
US8074022B2 (en) * | 2006-09-28 | 2011-12-06 | Virident Systems, Inc. | Programmable heterogeneous memory controllers for main memory with different memory modules |
US7761625B2 (en) * | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Methods for main memory with non-volatile type memory modules, and related technologies |
US7761626B2 (en) * | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Methods for main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
US7761623B2 (en) * | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
US7761624B2 (en) * | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Systems and apparatus for main memory with non-volatile type memory modules, and related technologies |
US8051253B2 (en) * | 2006-09-28 | 2011-11-01 | Virident Systems, Inc. | Systems and apparatus with programmable memory control for heterogeneous main memory |
US20080082750A1 (en) * | 2006-09-28 | 2008-04-03 | Okin Kenneth A | Methods of communicating to, memory modules in a memory channel |
US9984012B2 (en) | 2006-09-28 | 2018-05-29 | Virident Systems, Llc | Read writeable randomly accessible non-volatile memory modules |
KR100849221B1 (ko) | 2006-10-19 | 2008-07-31 | 삼성전자주식회사 | 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치 |
KR100771519B1 (ko) * | 2006-10-23 | 2007-10-30 | 삼성전자주식회사 | 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법 |
WO2008051940A2 (en) | 2006-10-23 | 2008-05-02 | Virident Systems, Inc. | Methods and apparatus of dual inline memory modules for flash memory |
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 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법 |
US7818489B2 (en) * | 2006-11-04 | 2010-10-19 | Virident Systems Inc. | Integrating data from symmetric and asymmetric memory |
KR100816761B1 (ko) * | 2006-12-04 | 2008-03-25 | 삼성전자주식회사 | 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법 |
US9116823B2 (en) | 2006-12-06 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for adaptive error-correction coding |
US8935302B2 (en) | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
US9495241B2 (en) | 2006-12-06 | 2016-11-15 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for adaptive data storage |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
US8151082B2 (en) * | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
US8443134B2 (en) * | 2006-12-06 | 2013-05-14 | Fusion-Io, Inc. | Apparatus, system, and method for graceful cache device degradation |
KR101490327B1 (ko) | 2006-12-06 | 2015-02-05 | 퓨전-아이오, 인크. | 뱅크 인터리브를 이용한 솔리드-스테이트 스토리지의 명령 관리 장치, 시스템 및 방법 |
US9104599B2 (en) | 2007-12-06 | 2015-08-11 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for destaging cached data |
US8161353B2 (en) * | 2007-12-06 | 2012-04-17 | Fusion-Io, Inc. | Apparatus, system, and method for validating that a correct data segment is read from a data storage device |
US8706968B2 (en) * | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
KR100845552B1 (ko) | 2006-12-18 | 2008-07-10 | (재)대구경북과학기술연구원 | Ftl의 어드레스 매핑 방법 |
US7814401B2 (en) * | 2006-12-21 | 2010-10-12 | Ramot At Tel Aviv University Ltd. | Soft decoding of hard and soft bits read from a flash memory |
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 |
US8423794B2 (en) * | 2006-12-28 | 2013-04-16 | Sandisk Technologies Inc. | Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications |
US8885384B2 (en) | 2007-01-11 | 2014-11-11 | Chengdu Haicun Ip Technology Llc | Mask-programmed read-only memory with reserved space |
KR100885181B1 (ko) | 2007-02-06 | 2009-02-23 | 삼성전자주식회사 | 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법 |
US7966355B2 (en) * | 2007-02-13 | 2011-06-21 | Modu Ltd. | Interface for extending functionality of memory cards |
US8370562B2 (en) * | 2007-02-25 | 2013-02-05 | Sandisk Il Ltd. | Interruptible cache flushing in flash memory systems |
US20080222349A1 (en) * | 2007-03-07 | 2008-09-11 | Ocz Technology Group Inc. | Ieee 1394 interface-based flash drive using multilevel cell flash memory devices |
CN100461134C (zh) * | 2007-03-27 | 2009-02-11 | 华为技术有限公司 | 一种外部存储器控制器及基于外部存储器控制器的地址变换的方法 |
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 |
JP4636046B2 (ja) * | 2007-03-29 | 2011-02-23 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
US7808834B1 (en) | 2007-04-13 | 2010-10-05 | Marvell International Ltd. | Incremental memory refresh |
US7689762B2 (en) * | 2007-05-03 | 2010-03-30 | Atmel Corporation | Storage device wear leveling |
US8254134B2 (en) | 2007-05-03 | 2012-08-28 | Super Talent Electronics, Inc. | Molded memory card with write protection switch assembly |
US7850468B2 (en) | 2007-06-28 | 2010-12-14 | Super Talent Electronics, Inc. | Lipstick-type USB device |
US7789680B2 (en) * | 2007-07-05 | 2010-09-07 | Super Talent Electronics, Inc. | USB device with connected cap |
US8102658B2 (en) * | 2007-07-05 | 2012-01-24 | Super Talent Electronics, Inc. | Micro-SD to secure digital adaptor card and manufacturing method |
CN101094183B (zh) * | 2007-07-25 | 2011-12-07 | 杭州华三通信技术有限公司 | 一种缓存管理方法及装置 |
US8031526B1 (en) | 2007-08-23 | 2011-10-04 | Marvell International Ltd. | Write pre-compensation for nonvolatile memory |
US7944702B2 (en) | 2007-08-27 | 2011-05-17 | Super Talent Electronics, Inc. | Press-push flash drive apparatus with metal tubular casing and snap-coupled plastic sleeve |
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 |
US9921896B2 (en) | 2007-08-30 | 2018-03-20 | Virident Systems, Llc | Shutdowns and data recovery to avoid read errors weak pages in a non-volatile memory system |
JP4746598B2 (ja) * | 2007-09-28 | 2011-08-10 | 株式会社東芝 | 半導体記憶装置 |
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 |
US8241047B2 (en) * | 2007-10-30 | 2012-08-14 | Super Talent Electronics, Inc. | Flash drive with spring-loaded swivel connector |
US20090138673A1 (en) * | 2007-11-28 | 2009-05-28 | Apple Inc. | Internal memory mapped external memory interface |
US8116083B2 (en) * | 2007-12-04 | 2012-02-14 | Super Talent Electronics, Inc. | Lipstick-type USB device with tubular housing |
US8195912B2 (en) * | 2007-12-06 | 2012-06-05 | Fusion-io, Inc | Apparatus, system, and method for efficient mapping of virtual and physical addresses |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US8316277B2 (en) * | 2007-12-06 | 2012-11-20 | Fusion-Io, Inc. | Apparatus, system, and method for ensuring data validity in a data storage process |
US8762620B2 (en) | 2007-12-27 | 2014-06-24 | Sandisk Enterprise Ip Llc | Multiprocessor storage controller |
KR101386489B1 (ko) * | 2008-01-14 | 2014-04-21 | 삼성전자주식회사 | 메모리 장치 및 멀티 비트 프로그래밍 방법 |
US8892831B2 (en) | 2008-01-16 | 2014-11-18 | Apple Inc. | Memory subsystem hibernation |
US8417893B2 (en) | 2008-02-04 | 2013-04-09 | Apple Inc. | Memory mapping techniques |
US9251899B2 (en) * | 2008-02-12 | 2016-02-02 | Virident Systems, Inc. | Methods for upgrading main memory in computer systems to two-dimensional memory modules and master memory controllers |
US8856464B2 (en) * | 2008-02-12 | 2014-10-07 | Virident Systems, Inc. | Systems for two-dimensional main memory including memory modules with read-writeable non-volatile memory devices |
EP2309392A1 (en) | 2008-02-29 | 2011-04-13 | Kabushiki Kaisha Toshiba | Memory system |
KR101437123B1 (ko) * | 2008-04-01 | 2014-09-02 | 삼성전자 주식회사 | 메모리 시스템 및 그것의 마모도 관리 방법 |
WO2009124320A1 (en) * | 2008-04-05 | 2009-10-08 | Fusion Multisystems, Inc. | Apparatus, system, and method for bad block remapping |
US20100017558A1 (en) * | 2008-04-11 | 2010-01-21 | Richard Matthew Fruin | Memory device operable in read-only and re-writable modes of operation |
CA2629960C (en) * | 2008-04-28 | 2009-12-08 | Westport Power Inc. | Apparatus and method for improving the accuracy of measurements taken with a capacitance-type sensor |
WO2009137371A2 (en) * | 2008-05-02 | 2009-11-12 | Ironkey, Inc. | Enterprise device recovery |
KR20110050404A (ko) * | 2008-05-16 | 2011-05-13 | 퓨전-아이오, 인크. | 결함 있는 데이터 저장소를 검출하고 교체하는 장치, 시스템 및 프로그램 제품 |
JP2009282678A (ja) * | 2008-05-21 | 2009-12-03 | Hitachi Ltd | フラッシュメモリモジュール及びストレージシステム |
KR101497074B1 (ko) * | 2008-06-17 | 2015-03-05 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법 |
US9513695B2 (en) | 2008-06-24 | 2016-12-06 | Virident Systems, Inc. | Methods of managing power in network computer systems |
US8521967B1 (en) | 2008-06-24 | 2013-08-27 | Virident Systems, Inc. | Network computing systems having shared memory clouds with addresses of disk-read-only memories mapped into processor address spaces |
TWI370969B (en) | 2008-07-09 | 2012-08-21 | Phison Electronics Corp | Data accessing method, and storage system and controller using the same |
US8417902B2 (en) * | 2008-08-05 | 2013-04-09 | Atmel Corporation | One-time-programmable memory emulation |
JP4909963B2 (ja) * | 2008-09-09 | 2012-04-04 | 株式会社東芝 | 統合メモリ管理装置 |
US7962801B2 (en) * | 2008-10-15 | 2011-06-14 | Silicon Motion, Inc. | Link table recovery method |
KR101510120B1 (ko) * | 2008-11-21 | 2015-04-10 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 관리 방법 |
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 |
US9612954B2 (en) | 2008-12-31 | 2017-04-04 | Micron Technology, Inc. | Recovery for non-volatile memory after power loss |
US8589700B2 (en) * | 2009-03-04 | 2013-11-19 | Apple Inc. | Data whitening for writing and reading data to and from a non-volatile memory |
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 | 區塊為基礎快閃記憶體之位元組存取 |
US8281227B2 (en) | 2009-05-18 | 2012-10-02 | Fusion-10, Inc. | Apparatus, system, and method to increase data integrity in a redundant storage system |
US8307258B2 (en) | 2009-05-18 | 2012-11-06 | Fusion-10, Inc | Apparatus, system, and method for reconfiguring an array to operate with less storage elements |
US8516219B2 (en) | 2009-07-24 | 2013-08-20 | Apple Inc. | Index cache tree |
US8468293B2 (en) | 2009-07-24 | 2013-06-18 | Apple Inc. | Restore index page |
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 |
US20110040924A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code |
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 |
US20110055471A1 (en) * | 2009-08-28 | 2011-03-03 | Jonathan Thatcher | Apparatus, system, and method for improved data deduplication |
US8688894B2 (en) * | 2009-09-03 | 2014-04-01 | Pioneer Chip Technology Ltd. | Page based management of flash storage |
JP5999645B2 (ja) | 2009-09-08 | 2016-10-05 | ロンギチュード エンタープライズ フラッシュ エスエイアールエル | ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法 |
US8601222B2 (en) | 2010-05-13 | 2013-12-03 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
EP2476039B1 (en) | 2009-09-09 | 2016-10-26 | SanDisk Technologies LLC | Apparatus, system, and method for power reduction management in a storage device |
US9122579B2 (en) | 2010-01-06 | 2015-09-01 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for a storage layer |
EP2476079A4 (en) * | 2009-09-09 | 2013-07-03 | Fusion Io Inc | APPARATUS, SYSTEM, AND METHOD FOR STORAGE ALLOCATION |
US9223514B2 (en) | 2009-09-09 | 2015-12-29 | SanDisk Technologies, Inc. | Erase suspend/resume for memory |
US8255655B2 (en) | 2009-10-02 | 2012-08-28 | Sandisk Technologies Inc. | Authentication and securing of write-once, read-many (WORM) memory devices |
US8489803B2 (en) * | 2009-12-14 | 2013-07-16 | Smsc Holdings S.A.R.L. | Efficient use of flash memory in flash drives |
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 |
US9396104B1 (en) | 2010-03-22 | 2016-07-19 | Seagate Technology, Llc | Accessing compressed data of varying-sized quanta in non-volatile memory |
US8416624B2 (en) | 2010-05-21 | 2013-04-09 | SanDisk Technologies, Inc. | Erase and programming techniques to reduce the widening of state distributions in non-volatile memories |
KR20120003283A (ko) * | 2010-07-02 | 2012-01-10 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 배드 블록 관리 방법 |
US8725934B2 (en) | 2011-12-22 | 2014-05-13 | Fusion-Io, Inc. | Methods and appratuses for atomic storage operations |
US10013354B2 (en) | 2010-07-28 | 2018-07-03 | Sandisk Technologies Llc | Apparatus, system, and method for atomic storage operations |
US8984216B2 (en) | 2010-09-09 | 2015-03-17 | Fusion-Io, Llc | Apparatus, system, and method for managing lifetime of a storage device |
US8452914B2 (en) * | 2010-11-26 | 2013-05-28 | Htc Corporation | Electronic devices with improved flash memory compatibility and methods corresponding thereto |
US9218278B2 (en) | 2010-12-13 | 2015-12-22 | SanDisk Technologies, Inc. | Auto-commit memory |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
US9047178B2 (en) | 2010-12-13 | 2015-06-02 | SanDisk Technologies, Inc. | Auto-commit memory synchronization |
US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
CN103262054B (zh) | 2010-12-13 | 2015-11-25 | 桑迪士克科技股份有限公司 | 用于自动提交存储器的装置、系统和方法 |
US10817502B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent memory management |
WO2012083308A2 (en) | 2010-12-17 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
DE102010063773A1 (de) * | 2010-12-21 | 2012-07-12 | Endress + Hauser Wetzer Gmbh + Co. Kg | Feldgerät mit einem semi-permanenten elektronischen Speicher und Verfahren zum Betreiben eines solchen Feldgerätes |
US9213594B2 (en) | 2011-01-19 | 2015-12-15 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for managing out-of-service conditions |
CN102609214A (zh) * | 2011-01-21 | 2012-07-25 | 鸿富锦精密工业(深圳)有限公司 | 将biosrom模拟成磁盘的的系统及方法 |
US9092337B2 (en) | 2011-01-31 | 2015-07-28 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for managing eviction of data |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
US9003104B2 (en) | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | Managing data input/output operations |
WO2012116369A2 (en) | 2011-02-25 | 2012-08-30 | Fusion-Io, Inc. | Apparatus, system, and method for managing contents of a cache |
US9563555B2 (en) | 2011-03-18 | 2017-02-07 | Sandisk Technologies Llc | Systems and methods for storage allocation |
WO2012129191A2 (en) | 2011-03-18 | 2012-09-27 | Fusion-Io, Inc. | Logical interfaces for contextual storage |
JP2012203443A (ja) * | 2011-03-23 | 2012-10-22 | Toshiba Corp | メモリシステムおよびメモリシステムの制御方法 |
JP2012226822A (ja) | 2011-04-15 | 2012-11-15 | Samsung Electronics Co Ltd | 不揮発性メモリ装置 |
US20120317377A1 (en) * | 2011-06-09 | 2012-12-13 | Alexander Palay | Dual flash translation layer |
TWI521343B (zh) | 2011-08-01 | 2016-02-11 | Toshiba Kk | An information processing device, a semiconductor memory device, and a semiconductor memory device |
US8687421B2 (en) | 2011-11-21 | 2014-04-01 | Sandisk Technologies Inc. | Scrub techniques for use with dynamic read |
US9274937B2 (en) | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US9251052B2 (en) | 2012-01-12 | 2016-02-02 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer |
US10102117B2 (en) | 2012-01-12 | 2018-10-16 | Sandisk Technologies Llc | Systems and methods for cache and storage device coordination |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US10359972B2 (en) | 2012-08-31 | 2019-07-23 | Sandisk Technologies Llc | Systems, methods, and interfaces for adaptive persistence |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
US10019353B2 (en) | 2012-03-02 | 2018-07-10 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for referencing data on a storage medium |
US8629689B1 (en) * | 2012-05-18 | 2014-01-14 | Altera Corporation | Integrated circuit with improved interconnect routing and associated methods |
US8996957B1 (en) | 2012-05-22 | 2015-03-31 | Pmc-Sierra, Inc. | Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes |
US9176812B1 (en) | 2012-05-22 | 2015-11-03 | Pmc-Sierra, Inc. | Systems and methods for storing data in page stripes of a flash drive |
US9047214B1 (en) | 2012-05-22 | 2015-06-02 | Pmc-Sierra, Inc. | System and method for tolerating a failed page in a flash device |
US9021337B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive |
US8793556B1 (en) | 2012-05-22 | 2014-07-29 | Pmc-Sierra, Inc. | Systems and methods for reclaiming flash blocks of a flash drive |
US9021336B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages |
US9021333B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for recovering data from failed portions of a flash drive |
US8972824B1 (en) | 2012-05-22 | 2015-03-03 | Pmc-Sierra, Inc. | Systems and methods for transparently varying error correction code strength in a flash drive |
US9183085B1 (en) | 2012-05-22 | 2015-11-10 | Pmc-Sierra, Inc. | Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency |
US8788910B1 (en) | 2012-05-22 | 2014-07-22 | Pmc-Sierra, Inc. | Systems and methods for low latency, high reliability error correction in a flash drive |
US20130326114A1 (en) * | 2012-05-30 | 2013-12-05 | Seagate Technology Llc | Write mitigation through fast reject processing |
US9128820B1 (en) | 2012-06-18 | 2015-09-08 | Western Digital Technologies, Inc. | File management among different zones of storage media |
KR102147359B1 (ko) | 2012-06-29 | 2020-08-24 | 삼성전자 주식회사 | 비휘발성 메모리 장치의 관리 방법 및 비휘발성 메모리 장치 |
US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US9064575B2 (en) | 2012-08-03 | 2015-06-23 | Micron Technology, Inc. | Determining whether a memory cell state is in a valley between adjacent data states |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US10318495B2 (en) | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
US10509776B2 (en) | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
US9733907B2 (en) | 2012-10-30 | 2017-08-15 | Oracle International Corporation | System and method for testing compiler implementation using dynamic combinatorial test generation |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9478271B2 (en) * | 2013-03-14 | 2016-10-25 | Seagate Technology Llc | Nonvolatile memory data recovery after power failure |
US9053012B1 (en) | 2013-03-15 | 2015-06-09 | Pmc-Sierra, Inc. | Systems and methods for storing data for solid-state memory |
US9026867B1 (en) | 2013-03-15 | 2015-05-05 | Pmc-Sierra, Inc. | Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory |
US9081701B1 (en) | 2013-03-15 | 2015-07-14 | Pmc-Sierra, Inc. | Systems and methods for decoding data for solid-state memory |
US9208018B1 (en) | 2013-03-15 | 2015-12-08 | Pmc-Sierra, Inc. | Systems and methods for reclaiming memory for solid-state memory |
US9009565B1 (en) | 2013-03-15 | 2015-04-14 | Pmc-Sierra, Inc. | Systems and methods for mapping for solid-state memory |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US9558108B2 (en) | 2013-04-15 | 2017-01-31 | Macronix International Co., Ltd. | Half block management for flash storage devices |
US10558561B2 (en) | 2013-04-16 | 2020-02-11 | Sandisk Technologies Llc | Systems and methods for storage metadata management |
US10102144B2 (en) | 2013-04-16 | 2018-10-16 | Sandisk Technologies Llc | Systems, methods and interfaces for data virtualization |
CN103324553B (zh) * | 2013-06-21 | 2016-08-24 | 华为技术有限公司 | 数据恢复方法、系统及装置 |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9842128B2 (en) | 2013-08-01 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for atomic storage operations |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US10019320B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for distributed atomic storage operations |
US10019352B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for adaptive reserve storage |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US10073630B2 (en) | 2013-11-08 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for log coordination |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
CN103713857B (zh) * | 2013-12-24 | 2017-06-27 | 华为技术有限公司 | 存储数据的方法及存储装置 |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9230689B2 (en) | 2014-03-17 | 2016-01-05 | Sandisk Technologies Inc. | Finding read disturbs on non-volatile memories |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US10552085B1 (en) | 2014-09-09 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for directed data migration |
US9542118B1 (en) | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
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 |
US9627072B2 (en) | 2014-11-25 | 2017-04-18 | Macronix International Co., Ltd. | Variant operation sequences for multibit memory |
US9449700B2 (en) | 2015-02-13 | 2016-09-20 | Sandisk Technologies Llc | Boundary word line search and open block read methods with reduced read disturb |
US9946607B2 (en) | 2015-03-04 | 2018-04-17 | Sandisk Technologies Llc | Systems and methods for storage error management |
US10009438B2 (en) | 2015-05-20 | 2018-06-26 | Sandisk Technologies Llc | Transaction log acceleration |
US10185513B1 (en) | 2015-06-05 | 2019-01-22 | Life365, Inc. | Device configured for dynamic software change |
CN106547480B (zh) * | 2015-09-17 | 2019-04-12 | 慧荣科技股份有限公司 | 数据储存装置及其数据读取方法 |
US9653154B2 (en) | 2015-09-21 | 2017-05-16 | Sandisk Technologies Llc | Write abort detection for multi-state memories |
US20170168956A1 (en) * | 2015-12-15 | 2017-06-15 | Facebook, Inc. | Block cache staging in content delivery network caching system |
US10185666B2 (en) | 2015-12-15 | 2019-01-22 | Facebook, Inc. | Item-wise simulation in a block cache where data eviction places data into comparable score in comparable section in the block cache |
US10126962B2 (en) | 2016-04-22 | 2018-11-13 | Microsoft Technology Licensing, Llc | Adapted block translation table (BTT) |
US9817593B1 (en) | 2016-07-11 | 2017-11-14 | Sandisk Technologies Llc | Block management in non-volatile memory system with non-blocking control sync system |
US9881682B1 (en) | 2016-11-23 | 2018-01-30 | Seagate Technology Llc | Fine grained data retention monitoring in solid state drives |
CN108733576B (zh) * | 2017-04-20 | 2022-12-09 | 得一微电子股份有限公司 | 一种固态硬盘及其内存转换层对映方法 |
US10318416B2 (en) * | 2017-05-18 | 2019-06-11 | Nxp B.V. | Method and system for implementing a non-volatile counter using non-volatile memory |
IT201700057287A1 (it) * | 2017-05-26 | 2018-11-26 | St Microelectronics Srl | Procedimento per gestire schede a circuito integrato, scheda ed apparecchiatura corrispondenti |
KR102521746B1 (ko) | 2017-12-18 | 2023-04-13 | 에스케이하이닉스 주식회사 | 메모리 장치의 주소 맵핑을 관리하는 반도체 장치 및 이를 포함하는 데이터 저장 장치 |
KR20190120573A (ko) * | 2018-04-16 | 2019-10-24 | 에스케이하이닉스 주식회사 | 메모리 시스템, 데이터 처리 시스템 및 메모리 시스템의 동작 방법 |
JP2021023748A (ja) * | 2019-08-09 | 2021-02-22 | 株式会社島津製作所 | X線透視撮影装置 |
US11586385B1 (en) | 2020-05-06 | 2023-02-21 | Radian Memory Systems, Inc. | Techniques for managing writes in nonvolatile memory |
US12007900B2 (en) * | 2022-07-08 | 2024-06-11 | Realtek Semiconductor Corp. | Data accessing method and data accessing system capable of providing high data accessing performance and low memory utilization |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4511964A (en) * | 1982-11-12 | 1985-04-16 | Hewlett-Packard Company | Dynamic physical memory mapping and management of independent programming environments |
JPH0271342A (ja) * | 1988-09-07 | 1990-03-09 | Oki Electric Ind Co Ltd | メモリ管理装置 |
JPH0314042A (ja) * | 1989-06-13 | 1991-01-22 | Fujitsu Ltd | データベースにおける資源管理方式 |
EP0473767A1 (en) * | 1990-03-23 | 1992-03-11 | Eastman Kodak Company | Virtual memory management and allocation arrangement for digital data processing system |
US5193184A (en) * | 1990-06-18 | 1993-03-09 | Storage Technology Corporation | Deleted data file space release system for a dynamically mapped virtual data storage subsystem |
US5210866A (en) * | 1990-09-12 | 1993-05-11 | Storage Technology Corporation | Incremental disk backup system for a dynamically mapped data storage subsystem |
JP2584119B2 (ja) * | 1990-09-28 | 1997-02-19 | 富士写真フイルム株式会社 | メモリカードにおけるデータ記録方法およびメモリカードシステム |
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
JP2582487B2 (ja) * | 1991-07-12 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 半導体メモリを用いた外部記憶システム及びその制御方法 |
JP3407317B2 (ja) * | 1991-11-28 | 2003-05-19 | 株式会社日立製作所 | フラッシュメモリを使用した記憶装置 |
JP3178909B2 (ja) * | 1992-01-10 | 2001-06-25 | 株式会社東芝 | 半導体メモリ装置 |
JPH0695955A (ja) * | 1992-09-09 | 1994-04-08 | Ricoh Co Ltd | フラッシュ・ファイル・システム |
-
1993
- 1993-03-08 US US08/027,131 patent/US5404485A/en not_active Expired - Lifetime
-
1994
- 1994-02-24 IL IL10876694A patent/IL108766A/en not_active IP Right Cessation
- 1994-02-28 AU AU62699/94A patent/AU6269994A/en not_active Abandoned
- 1994-02-28 JP JP6520018A patent/JPH08510072A/ja active Pending
- 1994-02-28 WO PCT/US1994/001848 patent/WO1994020906A1/en active IP Right Grant
- 1994-02-28 DE DE69414556T patent/DE69414556T2/de not_active Expired - Lifetime
- 1994-02-28 EP EP94910145A patent/EP0688450B1/en not_active Expired - Lifetime
- 1994-02-28 KR KR1019950703788A patent/KR100292011B1/ko not_active IP Right Cessation
- 1994-03-02 ZA ZA941446A patent/ZA941446B/xx unknown
- 1994-03-08 CN CN94102329A patent/CN1078364C/zh not_active Expired - Lifetime
- 1994-05-07 TW TW083104170A patent/TW264547B/zh not_active IP Right Cessation
-
1995
- 1995-09-08 FI FI954235A patent/FI105726B/fi not_active IP Right Cessation
-
2002
- 2002-09-04 JP JP2002259073A patent/JP3997130B2/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000041291A (ko) * | 1998-12-22 | 2000-07-15 | 김영환 | 이동통신 시스템에서 방문 이동 가입자의 데이터 관리 방법 |
KR100457812B1 (ko) * | 2002-11-14 | 2004-11-18 | 삼성전자주식회사 | 플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법 |
Also Published As
Publication number | Publication date |
---|---|
TW264547B (ko) | 1995-12-01 |
US5404485A (en) | 1995-04-04 |
JP3997130B2 (ja) | 2007-10-24 |
EP0688450B1 (en) | 1998-11-11 |
JPH08510072A (ja) | 1996-10-22 |
WO1994020906A1 (en) | 1994-09-15 |
AU6269994A (en) | 1994-09-26 |
FI954235A (fi) | 1995-11-08 |
EP0688450A1 (en) | 1995-12-27 |
ZA941446B (en) | 1994-09-26 |
JP2003085037A (ja) | 2003-03-20 |
CN1078364C (zh) | 2002-01-23 |
CN1098526A (zh) | 1995-02-08 |
EP0688450A4 (en) | 1995-10-20 |
DE69414556D1 (de) | 1998-12-17 |
FI105726B (fi) | 2000-09-29 |
FI954235A0 (fi) | 1995-09-08 |
DE69414556T2 (de) | 1999-05-06 |
IL108766A (en) | 1996-12-05 |
KR960701402A (ko) | 1996-02-24 |
IL108766A0 (en) | 1994-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100292011B1 (ko) | 플래쉬파일수단 | |
US6948026B2 (en) | Erase block management | |
US5987478A (en) | Virtual small block file manager for flash memory array | |
KR100495722B1 (ko) | 개선된 플래시 파일 시스템 | |
EP0852765B1 (en) | Memory management | |
US5905993A (en) | Flash memory card with block memory address arrangement | |
USRE45222E1 (en) | Method of writing of writing to a flash memory including data blocks and log blocks, using a logical address having a block address portion and page identifying portion, a block address table and a page table | |
US4953122A (en) | Pseudo-erasable and rewritable write-once optical disk memory system | |
JP4695801B2 (ja) | 不揮発性メモリ上で実行されるブロック書き込み動作時間を低減させる方法および装置 | |
US7752412B2 (en) | Methods of managing file allocation table information | |
KR101329068B1 (ko) | 블록 관리를 가지는 비휘발성 메모리 | |
US20060168392A1 (en) | Flash memory file system | |
KR100608602B1 (ko) | 플래시 메모리, 이를 위한 사상 제어 장치 및 방법 | |
US20080082773A1 (en) | Systems for Managing File Allocation Table Information | |
KR20000048766A (ko) | 비휘발성 메모리에서 파일의 연속 중복기재를 수행하는 방법 | |
US6938140B2 (en) | System and method for linear object reallocation in place | |
JP4547028B2 (ja) | ブロック管理を伴う不揮発性メモリ | |
TW201826125A (zh) | 快閃記憶體裝置之記憶體控制方法 | |
WO2008042594A1 (en) | Managing file allocation table information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120220 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20130220 Year of fee payment: 13 |
|
EXPY | Expiration of term |