KR19990063714A - 메모리 관리 - Google Patents
메모리 관리 Download PDFInfo
- Publication number
- KR19990063714A KR19990063714A KR1019980702181A KR19980702181A KR19990063714A KR 19990063714 A KR19990063714 A KR 19990063714A KR 1019980702181 A KR1019980702181 A KR 1019980702181A KR 19980702181 A KR19980702181 A KR 19980702181A KR 19990063714 A KR19990063714 A KR 19990063714A
- Authority
- KR
- South Korea
- Prior art keywords
- address
- data
- data storage
- address field
- memory
- 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
- 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
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
- Supplying Of Containers To The Packaging Station (AREA)
Abstract
본 발명은 각각의 논리적 섹터 어드레스 값과 복수의 여유 데이터 블록을 사용하여, 논리적 섹터 어드레스와 해당 물리적 어드레스 사이의 맵핑을 유지하기 위한 방법에 관한 것이다. 각각의 데이터 블록은 직접 어드레스 필드와 간접 어드레스 필드를 포함한다. 데이터가 논리적 섹터 어드레스로 기입되는 제 1 시간에, 직접 어드레스 필드는 해당 물리적 어드레스를 사용하여 프로그램된다. 데이터가 동일한 논리적 섹터 어드레스에 기입되는 각각의 순차적 시간에, 간접 어드레스 필드는 여유 데이터 블록을 사용하여 프로그램되고 여유 데이터 블록의 직접 어드레스 필드는 데이터의 새로운 물리적 어드레스를 사용하여 프로그램된다.
Description
데이터의 주 저장을 위해 플래시(FLASH) 메모리를 사용하고 논리적 어드레스를 물리적 어드레스로 변환하기 위한 플래시 룩업 테이블을 사용하는 고체 상태의 메모리가 본 발명의 한 응용이다. 본 발명은 플래시 이피롬(FLASH EPROM) 셀, 칼코겐 화합물(chalcogenide) 메모리 셀 및 페로-광학(ferro-optic) 셀과 같은 많은 상이한 메모리 셀로 다루어질 수 있다. 고체 상태의 디스크는 논리적 섹터 어드레스의 형태로 작용하는 호스트로부터 (또는 호스트로부터의 실린더 헤드 섹터 어드레싱의 변환에 의해) 어드레스를 수신한다. 상기 논리적 섹터 어드레싱은 계속된다. 논리적 섹터 어드레스는 물리적 섹터 어드레스로 맵핑된다. 상기 물리적 섹터 어드레스는 물리적 메모리내의 섹터의 배열을 정의한다. 논리적 섹터가 임의의 순서로 물리적 섹터에 할당될 수 있기 때문에, 변환은 알고리즘에 의해 수행되지 않으며; 소정 형태의 매핑이 요구된다. 이러한 맵핑은 일반적으로 룩업 테이블에 의해 수행된다. 그러나, 룩업 테이블 또한 플래시 메모리 셀로 구성된다면, 각각의 엔트리는 블록 소거에 의해 단지 업데이트만 될 수 있다. 이것은 비효율적이다.
최근, 고체 상태 디스크 장치의 분야에서의 혼란스러운 활동이 있어왔다. 이러한 활동은 랩탑 및 팜탑 휴대용 컴퓨터와 개인용 컴퓨터 메모리 카드 국제 협회(PCMCIA) 표준을 사용하여 보강되었다. 플래시 메모리를 메인 데이터 저장 수단으로 사용하기 위해 요구된 제어 방법과 관련하여 많은 특허가 출원되었다.
WO 94 20906호는 플래시 파일 시스템과 관련된다. 상기 특허는 기입 가능한 메인 플래시 메모리 내의 블록 상에 정보를 저장하기 위해 블록 할당 맵핑을 사용한다. 블록이 업데이트될 때, 할당 맵핑은 빈 블록이 위치될 때까지 스캐닝된다. 전송 유니트가 시스템의 메모리 수정을 용이하게 하기 위하여 사용된다. 상기 전송 유니트는 메모리의 기입되지 않은 소거된 블록이다. 이전의 데이터를 포함하는 메모리 블록(이전의 블록)으로부터의 활성(현재 유효한) 데이터는 전송 유니트내의 동일한 위치(새로운 블록)에 기입되며, 이전의 블록은 소거된다. 이어 이전의 블록은 전송 유니트가 된다. WO 94 20906호에 개시된 발명은 블록 할당 맵핑에서의 변경을 반영하기 위하여 랜덤 액세스 메모리(RAM)를 필요로 한다. 본 발명은 상기 랜덤 액세스 메모리를 요구하지 않으며, 데이터 업데이트를 관리하는 데 있어서 필수적인 모든 기능은 플래시 이피롬과 같은 비휘발성 블록의 소거 가능한 메모리상에서 수행될 수 있다.
EP 0 597 706호의 특허는 호스트에 의해 반도체 메모리내의 물리적 어드레스에 제공된 논리적 섹터 어드레스를 맵핑하기 위해 MAP ROM을 사용하는 고체 상태의 주변 저장 장치에 관한 것이다. 반도체 메모리내의 임의의 배드 섹터의 어드레스는 MAP ROM에 기록된다. 마이크로시퀀서는 맵핑을 제어하기 위하여 사용된다. 상기 MAP ROM은 새로운 물리적 어드레스가 요구될 때 업데이트된다. 본 발명은 플로팅 게이트 메모리에 관한 것이며; 상기 특허 출원서에 개시된 MAP ROM을 업데이트하기 위한 방법은, 각각의 엔트리가 독립적으로 업데이트될 수 있도록 상기 MAP ROM이 바이트 단위로 소거 가능하여야 하기 때문에, 플래시 메모리가 될 수 없다는 것을 나타낸다.
WO 95 10083호는 플래그 필드를 포함하는 어드레스를 검색하기 위한 내용 주소화 기억 장치(Content Addressable Memory :CAM)의 사용을 개시한다. 어드레스는 단지 특정 값으로 세트된 플래그를 갖는 어드레스만이 매칭된 것으로 발견되도록 검색된다. 어드레스가 진부하게 된 데이터를 저장할 때, 상기 어드레스의 플래그는 리세트된다. 따라서, 유효한 데이터를 갖는 어드레스 만이 세트된 자신의 플래그를 가지며, 이전의 데이터를 갖는 동일한 논리적 어드레스는 리세트된 자신의 플래그를 갖는다.
본 발명은 각각이 유일한 물리적 어드레스에 의해 위치 설정 가능한 다수의 데이터 저장 수단과, 상기 각각의 다수의 데이터 저장의 물리적 어드레스를 해당 다수의 논리적 어드레스와 관련시키는 룩업 테이블을 저장하기 위한 저장 수단을 구비한 제어 수단을 포함하는 데이터 저장 시스템을 제공하기 위한 것이며, 상기 데이터 저장 시스템에 있어서, 상기 제어 수단(12,22)은 각각 직접 어드레스 필드(14) 및 간접 어드레스 필드(16)를 갖는 다수의 여유 데이터 블록을 포함하며, 초기에 데이터가 상기 논리적 어드레스에 기입될 때 개별적인 직접 어드레스 필드는 해당 제 2 어드레스를 사용하여 프로그램되고 데이터가 상기 논리적 어드레스에 기입된 각각의 순차적 시간에 상기 간접 어드레스 필드는 여유 데이터 블록의 어드레스를 사용하여 프로그램되고 상기 여유 데이터 블록의 직접 어드레스는 상기 논리적 어드레스에 해당하는 새로운 제 2 어드레스를 사용하여 프로그램되도록 상기 제어 수단은 개조되는 것을 특징으로 한다.
제 1 어드레스와 해당 제 2 어드레스 사이의 맵핑 방법에 있어서, 상기 데이터 블록은 포인터 플래그를 갖는다.
제 1 어드레스와 해당 제 2 어드레스 사이의 맵핑을 유지하기 위한 방법에 있어서, 상기 포인터 플래그는 나머지 상기 데이터 블록과 무관하게 기입될 수 있다.
제 1 어드레스와 해당 제 2 어드레스 사이의 맵핑을 유지하기 위한 방법에 있어서, 상기 포인터 플래그는 해당 데이터 블록의 상기 간접 어드레스 필드가 프로그램될 때까지 소거된 상태에 있게 된다.
제 1 어드레스와 해당 제 2 어드레스 사이의 맵핑을 유지하기 위한 방법에 있어서, 상기 포인터 플래그는 직접 어드레스 필드가 독출되어야하는 것 또는 간접 어드레스 필드가 독출되어야하는 것의 여부를 결정하기 위하여 독출된다.
제 1 어드레스와 해당 제 2 어드레스 사이의 맵핑을 유지하기 위한 방법에 있어서, 미리 결정된 조건에 도달될 때, 상기 데이터 블록은 일소(clean_up :이하 클린 업)된다. 제 1 어드레스와 해당 제 2 어드레스 사이의 맵핑을 유지하기 위한 방법에 있어서, 사용되지 않은 데이터 블록의 개수가 미리 결정된 한계 이하로 떨어질 때, 상기 데이터 블록은 클린 업된다.
본 발명의 상기 기술들은 도면을 참조한 아래와 같은 상세한 설명을 고려하여 쉽게 이해될 수 있다.
본 발명은 데이터 저장 시스템에 관한 것이며, 특히 메모리 내에 저장된 정보는 저장된 데이터가 변경되는 각각의 시간에 전체 블록을 소거하지 않고 업데이트될 수 있도록, 데이터가 기입되지 않은 메모리 위치에 단지 기입만 될 수 있는 메모리 관리 방법에 관한 것이다.
도 1a 내지 도 1c는 간접 어드레스 필드 및 직접 어드레스 필드를 사용하는 두 개의 어드레스 사이에서의 변환 원리를 설명하기 위한 도면.
모든 고체 상태 메모리 시스템은 호스트로부터 수신된 논리적 섹터 어드레스를 특정 고체 상태 메모리 장치를 어드레싱하는 데 사용될 수 있는 물리적 어드레스로 변환시켜야하며, 상기 고체 상태의 메모리 장치는 메인 메모리 저장 장치로서 사용된다. 따라서 약간의 논리적 어드레스의 물리적 어드레스로의 변환이 요구된다. 본 발명의 이러한 실시예는 논리적 섹터 어드레스와 그것의 해당 물리적 섹터 어드레스 사이의 맵핑을 유지하기 위해 두 개의 룩업 테이블을 사용한다. 본 발명의 다른 실시예에서는 단지 하나의 테이블만이 사용될 수 있으며, 상기 테이블은 두 개의 룩업 테이블 또는 앞선 실시예와 동일한 기능을 수행한다.
도 1a를 참조하여, 각각의 논리적 섹터 어드레스 값을 위한 룩업 테이블 엔트리(10)는 상기 논리적 섹터 어드레스 더하기 상기 제 1 룩업 테이블의 오프세트 값과 동일한 어드레스에 의해 정의된 제 1 룩업 테이블(12)내의 위치에 위치된다.
제 1 룩업 테이블(12)내의 사용된 각 엔트리는 적어도 3개의 필드: 메인 메모리 어드레스(14)를 저장하기 위한 제 1 필드, 링크 어드레스(16)를 저장하기 위한 제 2 필드 및 포인터 플래그(18)인 제 3 필드를 포함한다. 제 1 룩업 테이블(12)내의 각각의 사용된 엔트리는 메인 메모리(20)의 물리적 어드레스를 가르키거나 제 2 룩업 테이블(22)로 간접 포인트를 제공한다. 본 실시예에 있어서, 제 1 룩업 테이블 엔트리가 메인 메모리(20)를 가르키는지 또는 상기 엔트리가 제 2 룩업 테이블(22)을 가리키는 지를 결정하는 수단은 적절한 테이블 엔트리내의 포인터 플래그(IS)를 독출하는 것이다. (도 1a 및 도 1b의 문자 E로 도시된) 포인터 플래그(18)가 소거되면, 메인 메모리 어드레스가 유효하다. (도 1a 및 도 1b에서 문자 U로 도시된) 포인터가 소거되지 않으면, 제 2 룩업 테이블 어드레스가 유효하다.
메인 메모리(20)내에 어떠한 데이터도 저장되지 않을 경우를 고려하자. 우선 데이터가 기입될 때, 논리적 섹터 어드레스는 저장되어질 데이터와 함께 호스트에 의해 제공된다. 상기 데이터는 메인 메모리(20)내의 물리적 위치(24)에 저장되고, 메인 메모리(20)내의 이러한 물리적 위치(24)의 어드레스는 호스트에 의해 제공된 논리적 섹터 어드레스에 해당하는 제 1 룩업 테이블(12)의 엔트리(26)에 저장된다. 소정 시간 이후, 상기 데이터가 호스트에 의해 제거되고 새로운 데이터가 이전의 데이터로서 동일한 논리적 섹터 어드레스를 사용하여 전송되면, 새로운 데이터는 사용되지 않은 메인 메모리 위치(28)내에 저장된다.(기입된 후 플래시 메모리가 소거 사이클을 요구하기 때문에, 이전의 메인 메모리 위치(24)는 겹쳐 쓰기 될 수 없다.) 상기 제 1 룩업 테이블(12)은 업데이트된다. 이것은 도 1b에서 설명된다.
도 1b는 논리적 섹터 어드레스와 새로운 물리적 어드레스 사이의 정확한 맵핑을 보장하기 위하여, 룩업 테이블이 업데이트 되는 방식을 도시한다. 제 1 룩업 테이블(12)내의 엔트리(26)는 새로운 데이터를 위한 메인 메모리 위치(28)의 어드레스를 사용하여 업데이트될 것을 요구한다. 이것은 논리적 섹터 어드레스(26)에 해당하는 엔트리의 포인터 플래그를 논리 0(unset)으로 기입하고 링크 어드레스를 제 2 룩업 테이블(22)의 사용되지 않은 엔트리중 하나(이후 xxx제 2 테이블 엔트리로 언급한다)에 기입하므로써 수행된다. 포인터 플래그는 상기 플래그가 주소화 유니트를 사용하고 소거 사이클 이후에는 기입되지 않았기 때문에, 기입될 수 있으며; 포인터의 비활성 상태는 소거된 상태(논리 1)가 된다. 새로운 데이터가 기입되는 메모리 위치의 어드레스는 xxx 제 2 룩업 테이블 엔트리(32)의 메인 메모리 어드레스 필드(14)에 저장된다.
소정 시간 이후, 새로운 데이터가 호스트에 의해 제거되고 추가의 데이터가 전송되면(이것은 최후의 데이터로 언급될 수 있다), 상기 최후의 데이터는 메인 메모리(34)의 사용되지 않은 다른 위치(이것은 최후의 사용되지 않은 위치로 언급된다)에 저장된다. 이것은 도 1c에서 설명된다. 제 1 룩업 테이블(12)은 변경되지 않으나, 상기 xxx 제 2 룩업 테이블(2)은 논리 0(unset)으로 기입된 포인터 플래그(30) 및 제 2 룩업 테이블의 사용되지 않은 엔트리(이것은 yyy 제 2 룩업 테이블 엔트리(36)로 언급된다)를 가르키도록 기입된 링크 어드레스 필드를 포함한다. 이어 최후의 사용되지 않은 위치의 어드레스는 상기 yyy 제 2 룩업 테이블 엔트리(36)의 메인 메모리 필드(14)에 저장된다. 이러한 과정은 상기 제 2 룩업 테이블(22)내의 사용되지 않은 엔트리기의 개수가 미리 결정된 값 이하로 떨어질 때까지 계속된다.
제 2 룩업 테이블(22)이 가득 채워지면, 클린 업 동작이 요구된다. 제 1 룩업 테이블(12)이 클린 업 될 때, 새로운 룩업 테이블은 정보를 보호하기 위해 이전의 테이블이 소거되기 전에 생성되어야 한다. 클린 업 동작을 수행하는 한 방법은 제 1 룩업 테이블(12) 아래 또는 위에 소거된 상태의 적어도 하나의 소거 가능한 플래시 블록을 남겨두는 것이다. 제 1 룩업 테이블(12)의 한 엔트리는 소거된 블록에 복사된 후, 이전의 엔트리는 소거된다. 각각의 엔트리가 복사됨에 따라, 상기 엔트리에 대한 메인 메모리 어드레스 필드(14)는 적절한 유효한 제 2 룩업 테이블 엔트리(소거 상태의 포인트 플래그를 갖는 엔트리)로부터 복사된다. 실제적으로, 제 1 룩업 테이블(12)은 하나의 소거 블록에 의해 업 또는 다운 이동한다. 이러한 과정이 완료되면, 제 2 룩업 테이블은 소거될 수 있다.
본 발명의 다른 실시예에 있어서, 단지 두 개의 필드; 메인 메모리 어드레스 및 제 2 룩업 테이블 어드레스가 사용된다. 상기 제 2 룩업 테이블 어드레스가 유효한 데이터를 포함한다면, 상기 어드레스는 메인 메모리 어드레스 대신에 독출된다. 상기 제 2 룩업 테이블 어드레스가 유효한 데이터를 포함하지 않는다면, 메인 메모리 어드레스가 대신하여 독출된다.
본 발명은 바람직한 실시예를 참조하여 도시되고 기술되고, 다양한 형태의 변화 및 변형이 첨부된 청구범위에 의해 한정된 바와 같은 본 발명의 정신 및 범위로부터 벗어나지 않고 이루어진다는 것이 당업자에게 이해된다.
Claims (7)
- 각각 유일한 물리적 어드레스에 의해 위치 설정 가능한 다수의 데이터 저장 수단과 상기 각각의 다수의 데이터 저장 수단의 물리적 어드레스를 해당 다수의 논리적 어드레스에 관련시키는 룩업 데이블을 저장하기 위한 저장 수단을 갖는 제어 수단을 포함하는 데이터 저장 시스템에 있어서,상기 제어 수단(12,22)은 다수의 여유 데이터 블록을 구비하고, 상기 각각의 데이터 블록은 직접 어드레스 필드(14) 및 간접 어드레스 필드(16)를 구비하며, 초기에 데이터가 상기 논리적 어드레스로 기입될 때 개별적인 직접 어드레스 필드는 해당 제 2 어드레스를 사용하여 프로그램되고 상기 데이터가 상기 논리적 어드레스에 기입되는 각각의 순차적 시간에 간접 어드레스 필드는 여유 데이터 블록의 어드레스를 사용하여 프로그램되고 상기 여유 데이터 블록의 직접 어드레스 필드는 상기 논리적 어드레스에 해당하는 새로운 제 2 어드레스를 사용하여 프로그램되도록 상기 제어 수단이 개조되는 것을 특징으로 하는 데이터 저장 시스템.
- 제 1 항에 있어서, 상기 데이터 블록은 포인터 플래그(10)를 포함하는 것을 특징으로 하는 데이터 저장 시스템.
- 제 2 항에 있어서, 상기 포인터 플래그는 나머지의 상기 데이터 블록과는 관계없이 기입될 수 있는 것을 특징으로 하는 데이터 저장 시스템.
- 제 2 항 또는 제 3 항에 있어서, 상기 포인터 플래그는 해당 데이터 블록의 간접 어드레스 필드가 프로그램될 때까지 소거된 상태에 있는 것을 특징으로 하는 데이터 저장 시스템.
- 제 2 항 내지 제 4 항 중 어느 한 항에 있어서, 상기 포인터 플래그는 상기 직접 어드레스 필드가 독출되어야하는 지 또는 상기 간접 어드레스 필드가 독출되어야하는 지의 여부를 결정하기 위해 독출되는 것을 특징으로 하는 데이터 저장 시스템.
- 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 미리 결정된 조건에 도달될 때 상기 데이터 블록을 클린 업하기 위한 수단을 포함하는 것을 특징으로 하는 데이터 저장 시스템.
- 제 1 항 내지 제 6 항 중 어느 한 항에 있어서, 사용되지 않은 데이터 블록의 개수가 미리 결정된 한계 이하로 떨어질 때 상기 데이터 블록을 클린 업하기 위한 수단을 포함하는 것을 특징으로 하는 데이터 저장 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9519669A GB2291990A (en) | 1995-09-27 | 1995-09-27 | Flash-memory management system |
GB9519669.7 | 1995-09-27 | ||
PCT/GB1996/000249 WO1997012324A1 (en) | 1995-09-27 | 1996-02-06 | Memory management |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19990063714A true KR19990063714A (ko) | 1999-07-26 |
Family
ID=10781331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980702181A KR19990063714A (ko) | 1995-09-27 | 1996-02-06 | 메모리 관리 |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP0852765B1 (ko) |
JP (3) | JP2000505215A (ko) |
KR (1) | KR19990063714A (ko) |
CN (1) | CN1197520A (ko) |
AT (1) | ATE205946T1 (ko) |
DE (1) | DE69615385D1 (ko) |
GB (1) | GB2291990A (ko) |
WO (1) | WO1997012324A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100781517B1 (ko) * | 2006-02-16 | 2007-12-03 | 삼성전자주식회사 | 비휘발성 메모리의 맵핑 정보 관리 장치 및 방법 |
Families Citing this family (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 |
US5845313A (en) | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
GB2317720A (en) * | 1996-09-30 | 1998-04-01 | Nokia Mobile Phones Ltd | Managing Flash memory |
JPH11203191A (ja) * | 1997-11-13 | 1999-07-30 | Seiko Epson Corp | 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体 |
US6226728B1 (en) * | 1998-04-21 | 2001-05-01 | Intel Corporation | Dynamic allocation for efficient management of variable sized data within a nonvolatile memory |
GB9903490D0 (en) * | 1999-02-17 | 1999-04-07 | Memory Corp Plc | Memory system |
US6148354A (en) | 1999-04-05 | 2000-11-14 | M-Systems Flash Disk Pioneers Ltd. | Architecture for a universal serial bus-based PC flash disk |
GB2349242A (en) * | 1999-04-20 | 2000-10-25 | Inventec Corp | Flash memory architecture and rewrite method |
FR2799046B1 (fr) * | 1999-09-24 | 2004-02-27 | Aton Systemes Sa | Procede pour l'ecriture aleatoire de secteurs d'une taille inferieure a celle d'un bloc d'effacement dans une memoire effacable par bloc pour laquelle toute ecriture d'une donnee necessite l'effacement du bloc qui contient ladite donnee |
CN1088218C (zh) | 1999-11-14 | 2002-07-24 | 邓国顺 | 用于数据处理系统的快闪电子式外存储方法及其装置 |
US7167944B1 (en) | 2000-07-21 | 2007-01-23 | Lexar Media, Inc. | Block management for mass storage |
GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
GB0123415D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
GB0123421D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Power management system |
GB0123410D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
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 |
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é |
KR100484147B1 (ko) * | 2002-07-26 | 2005-04-18 | 삼성전자주식회사 | 플래시 메모리 관리 방법 |
CN100359886C (zh) * | 2002-12-26 | 2008-01-02 | 华为技术有限公司 | 一种改进的多级查找表的建立及查找方法 |
KR100562906B1 (ko) * | 2003-10-08 | 2006-03-21 | 삼성전자주식회사 | 시리얼 플래시 메모리에서의 xip를 위한 우선순위기반의 플래시 메모리 제어 장치 및 이를 이용한 메모리관리 방법, 이에 따른 플래시 메모리 칩 |
US7356665B2 (en) * | 2003-12-17 | 2008-04-08 | International Business Machines Corporation | Method and system for machine memory power and availability management in a processing system supporting multiple virtual machines |
US7725628B1 (en) | 2004-04-20 | 2010-05-25 | Lexar Media, Inc. | Direct secondary device interface by a host |
US7370166B1 (en) | 2004-04-30 | 2008-05-06 | Lexar Media, Inc. | Secure portable storage device |
US7464306B1 (en) | 2004-08-27 | 2008-12-09 | Lexar Media, Inc. | Status of overall health of nonvolatile memory |
US7594063B1 (en) | 2004-08-27 | 2009-09-22 | Lexar Media, Inc. | Storage capacity status |
DE102004062245A1 (de) * | 2004-12-23 | 2006-07-13 | Giesecke & Devrient Gmbh | Verwaltung von Datenobjekten in einem nichtflüchtigen überschreibbaren Speicher |
US7877539B2 (en) | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US20060184718A1 (en) | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US9104315B2 (en) | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US20060184719A1 (en) | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
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 |
US7984084B2 (en) | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
JP2009503740A (ja) * | 2005-08-03 | 2009-01-29 | サンディスク コーポレイション | データファイルを直接記憶する再プログラム可能な不揮発性メモリ内のファイルデータの索引付け |
US7814262B2 (en) | 2005-10-13 | 2010-10-12 | Sandisk Corporation | Memory system storing transformed units of data in fixed sized storage blocks |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7500023B2 (en) | 2006-10-10 | 2009-03-03 | International Business Machines Corporation | Facilitating input/output processing by using transport control words to reduce input/output communications |
US7502873B2 (en) | 2006-10-10 | 2009-03-10 | International Business Machines Corporation | Facilitating access to status and measurement data associated with input/output processing |
DE112007003388T5 (de) * | 2007-03-21 | 2009-12-24 | Intel Corporation, Santa Clara | Verfahren zum Verwalten von Sektoren eines nicht-flüchtigen Speichers |
KR101424782B1 (ko) * | 2007-07-19 | 2014-08-04 | 삼성전자주식회사 | 솔리드 스테이트 디스크 컨트롤러 및 솔리드 스테이트디스크 컨트롤러의 데이터 처리 방법 |
US8122179B2 (en) * | 2007-12-14 | 2012-02-21 | Silicon Motion, Inc. | Memory apparatus and method of evenly using the blocks of a flash memory |
US8166206B2 (en) | 2008-02-14 | 2012-04-24 | International Business Machines Corporation | Cancel instruction and command for determining the state of an I/O operation |
US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
US8082481B2 (en) | 2008-02-14 | 2011-12-20 | International Business Machines Corporation | Multiple CRC insertion in an output data stream |
US7840717B2 (en) | 2008-02-14 | 2010-11-23 | International Business Machines Corporation | Processing a variable length device command word at a control unit in an I/O processing system |
US8117347B2 (en) * | 2008-02-14 | 2012-02-14 | International Business Machines Corporation | Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system |
US8196149B2 (en) | 2008-02-14 | 2012-06-05 | International Business Machines Corporation | Processing of data to determine compatability in an input/output processing system |
US8312189B2 (en) | 2008-02-14 | 2012-11-13 | International Business Machines Corporation | Processing of data to monitor input/output operations |
US7890668B2 (en) | 2008-02-14 | 2011-02-15 | International Business Machines Corporation | Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous |
US7941570B2 (en) | 2008-02-14 | 2011-05-10 | International Business Machines Corporation | Bi-directional data transfer within a single I/O operation |
US7937507B2 (en) | 2008-02-14 | 2011-05-03 | International Business Machines Corporation | Extended measurement word determination at a channel subsystem of an I/O processing system |
US8001298B2 (en) | 2008-02-14 | 2011-08-16 | International Business Machines Corporation | Providing extended measurement data in an I/O processing system |
US7840718B2 (en) | 2008-02-14 | 2010-11-23 | International Business Machines Corporation | Processing of data to suspend operations in an input/output processing log-out system |
US7904605B2 (en) | 2008-02-14 | 2011-03-08 | International Business Machines Corporation | Computer command and response for determining the state of an I/O operation |
US7917813B2 (en) | 2008-02-14 | 2011-03-29 | International Business Machines Corporation | Exception condition determination at a control unit in an I/O processing system |
US8176222B2 (en) | 2008-02-14 | 2012-05-08 | International Business Machines Corporation | Early termination of an I/O operation in an I/O processing system |
US7908403B2 (en) | 2008-02-14 | 2011-03-15 | International Business Machines Corporation | Reserved device access contention reduction |
US7899944B2 (en) | 2008-02-14 | 2011-03-01 | International Business Machines Corporation | Open exchange limiting in an I/O processing system |
US8214562B2 (en) | 2008-02-14 | 2012-07-03 | International Business Machines Corporation | Processing of data to perform system changes in an input/output processing system |
US8108570B2 (en) | 2008-02-14 | 2012-01-31 | International Business Machines Corporation | Determining the state of an I/O operation |
US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
US8095847B2 (en) | 2008-02-14 | 2012-01-10 | International Business Machines Corporation | Exception condition handling at a channel subsystem in an I/O processing system |
US8055807B2 (en) | 2008-07-31 | 2011-11-08 | International Business Machines Corporation | Transport control channel program chain linking including determining sequence order |
US7904606B2 (en) | 2008-07-31 | 2011-03-08 | International Business Machines Corporation | Transport control channel program chain linked branching |
US7937504B2 (en) | 2008-07-31 | 2011-05-03 | International Business Machines Corporation | Transport control channel program message pairing |
TWI409819B (zh) * | 2009-03-03 | 2013-09-21 | Silicon Motion Inc | 平均地使用一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
US8332542B2 (en) | 2009-11-12 | 2012-12-11 | International Business Machines Corporation | Communication with input/output system devices |
JP5010723B2 (ja) * | 2010-09-22 | 2012-08-29 | 株式会社東芝 | 半導体記憶制御装置 |
US8738811B2 (en) | 2011-06-01 | 2014-05-27 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8364853B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8677027B2 (en) | 2011-06-01 | 2014-03-18 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US9021155B2 (en) | 2011-06-01 | 2015-04-28 | International Business Machines Corporation | Fibre channel input/output data routing including discarding of data transfer requests in response to error detection |
US8583988B2 (en) | 2011-06-01 | 2013-11-12 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8364854B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8549185B2 (en) | 2011-06-30 | 2013-10-01 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8473641B2 (en) | 2011-06-30 | 2013-06-25 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8346978B1 (en) | 2011-06-30 | 2013-01-01 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8312176B1 (en) | 2011-06-30 | 2012-11-13 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8862856B2 (en) * | 2012-04-09 | 2014-10-14 | HGST Netherlands B.V. | Implementing remapping command with indirection update for indirected storage |
US8918542B2 (en) | 2013-03-15 | 2014-12-23 | International Business Machines Corporation | Facilitating transport mode data transfer between a channel subsystem and input/output devices |
US8990439B2 (en) | 2013-05-29 | 2015-03-24 | International Business Machines Corporation | Transport mode data transfer between a channel subsystem and input/output devices |
JP6179355B2 (ja) * | 2013-10-31 | 2017-08-16 | 富士通株式会社 | 情報処理装置、データ転送制御方法及びデータ転送制御プログラム |
KR102280241B1 (ko) * | 2019-07-03 | 2021-07-21 | 에스케이텔레콤 주식회사 | 메모리 액세스 제어 시스템, 메모리 액세스 제어 장치 및 이를 이용한 메모리 액세스 제어 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8613071D0 (en) * | 1986-05-29 | 1986-07-02 | Univ Manchester | Data packet shortening |
FR2604280B1 (fr) * | 1986-09-19 | 1988-11-10 | Picard Michel | Procede de gestion de fichiers sur un support d'information non effacable |
JP2606305B2 (ja) * | 1988-07-21 | 1997-04-30 | 松下電器産業株式会社 | データ処理装置 |
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US5485595A (en) * | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
-
1995
- 1995-09-27 GB GB9519669A patent/GB2291990A/en not_active Withdrawn
-
1996
- 1996-02-06 WO PCT/GB1996/000249 patent/WO1997012324A1/en not_active Application Discontinuation
- 1996-02-06 AT AT96901894T patent/ATE205946T1/de not_active IP Right Cessation
- 1996-02-06 KR KR1019980702181A patent/KR19990063714A/ko not_active Application Discontinuation
- 1996-02-06 EP EP96901894A patent/EP0852765B1/en not_active Expired - Lifetime
- 1996-02-06 JP JP9513195A patent/JP2000505215A/ja active Pending
- 1996-02-06 CN CN96197203A patent/CN1197520A/zh active Pending
- 1996-02-06 DE DE69615385T patent/DE69615385D1/de not_active Expired - Lifetime
-
2006
- 2006-07-14 JP JP2006194909A patent/JP2006294061A/ja not_active Withdrawn
-
2007
- 2007-07-23 JP JP2007191421A patent/JP2007280428A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100781517B1 (ko) * | 2006-02-16 | 2007-12-03 | 삼성전자주식회사 | 비휘발성 메모리의 맵핑 정보 관리 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
EP0852765B1 (en) | 2001-09-19 |
CN1197520A (zh) | 1998-10-28 |
JP2000505215A (ja) | 2000-04-25 |
ATE205946T1 (de) | 2001-10-15 |
JP2006294061A (ja) | 2006-10-26 |
GB9519669D0 (en) | 1995-11-29 |
GB2291990A (en) | 1996-02-07 |
WO1997012324A1 (en) | 1997-04-03 |
DE69615385D1 (de) | 2001-10-25 |
EP0852765A1 (en) | 1998-07-15 |
JP2007280428A (ja) | 2007-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR19990063714A (ko) | 메모리 관리 | |
US6327639B1 (en) | Method and apparatus for storing location identification information within non-volatile memory devices | |
JP4695801B2 (ja) | 不揮発性メモリ上で実行されるブロック書き込み動作時間を低減させる方法および装置 | |
JP3997130B2 (ja) | メモリ管理方法 | |
US9489301B2 (en) | Memory systems | |
US5809558A (en) | Method and data storage system for storing data in blocks without file reallocation before erasure | |
EP0712067B1 (en) | Flash disk card | |
EP0882264B1 (en) | Flash memory mass storage system and associated method | |
US8041884B2 (en) | Controller for non-volatile memories and methods of operating the memory controller | |
JP3534585B2 (ja) | フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置 | |
KR100608602B1 (ko) | 플래시 메모리, 이를 위한 사상 제어 장치 및 방법 | |
KR19990063715A (ko) | 메모리 시스템 | |
US6581134B2 (en) | Logic partitioning of a nonvolatile memory array | |
US20090125668A1 (en) | Management of erased blocks in flash memories | |
JPH05150913A (ja) | フラツシユメモリを記憶媒体としたシリコンデイスク |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |