KR19990063714A - 메모리 관리 - Google Patents

메모리 관리 Download PDF

Info

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
Application number
KR1019980702181A
Other languages
English (en)
Inventor
알란 웰시 싱클레어
Original Assignee
데이비드 존 새비쥐, 알란 웰시 싱클레어
메모리 코포레이션 피엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 데이비드 존 새비쥐, 알란 웰시 싱클레어, 메모리 코포레이션 피엘씨 filed Critical 데이비드 존 새비쥐, 알란 웰시 싱클레어
Publication of KR19990063714A publication Critical patent/KR19990063714A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation 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)

  1. 각각 유일한 물리적 어드레스에 의해 위치 설정 가능한 다수의 데이터 저장 수단과 상기 각각의 다수의 데이터 저장 수단의 물리적 어드레스를 해당 다수의 논리적 어드레스에 관련시키는 룩업 데이블을 저장하기 위한 저장 수단을 갖는 제어 수단을 포함하는 데이터 저장 시스템에 있어서,
    상기 제어 수단(12,22)은 다수의 여유 데이터 블록을 구비하고, 상기 각각의 데이터 블록은 직접 어드레스 필드(14) 및 간접 어드레스 필드(16)를 구비하며, 초기에 데이터가 상기 논리적 어드레스로 기입될 때 개별적인 직접 어드레스 필드는 해당 제 2 어드레스를 사용하여 프로그램되고 상기 데이터가 상기 논리적 어드레스에 기입되는 각각의 순차적 시간에 간접 어드레스 필드는 여유 데이터 블록의 어드레스를 사용하여 프로그램되고 상기 여유 데이터 블록의 직접 어드레스 필드는 상기 논리적 어드레스에 해당하는 새로운 제 2 어드레스를 사용하여 프로그램되도록 상기 제어 수단이 개조되는 것을 특징으로 하는 데이터 저장 시스템.
  2. 제 1 항에 있어서, 상기 데이터 블록은 포인터 플래그(10)를 포함하는 것을 특징으로 하는 데이터 저장 시스템.
  3. 제 2 항에 있어서, 상기 포인터 플래그는 나머지의 상기 데이터 블록과는 관계없이 기입될 수 있는 것을 특징으로 하는 데이터 저장 시스템.
  4. 제 2 항 또는 제 3 항에 있어서, 상기 포인터 플래그는 해당 데이터 블록의 간접 어드레스 필드가 프로그램될 때까지 소거된 상태에 있는 것을 특징으로 하는 데이터 저장 시스템.
  5. 제 2 항 내지 제 4 항 중 어느 한 항에 있어서, 상기 포인터 플래그는 상기 직접 어드레스 필드가 독출되어야하는 지 또는 상기 간접 어드레스 필드가 독출되어야하는 지의 여부를 결정하기 위해 독출되는 것을 특징으로 하는 데이터 저장 시스템.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 미리 결정된 조건에 도달될 때 상기 데이터 블록을 클린 업하기 위한 수단을 포함하는 것을 특징으로 하는 데이터 저장 시스템.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서, 사용되지 않은 데이터 블록의 개수가 미리 결정된 한계 이하로 떨어질 때 상기 데이터 블록을 클린 업하기 위한 수단을 포함하는 것을 특징으로 하는 데이터 저장 시스템.
KR1019980702181A 1995-09-27 1996-02-06 메모리 관리 KR19990063714A (ko)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100781517B1 (ko) * 2006-02-16 2007-12-03 삼성전자주식회사 비휘발성 메모리의 맵핑 정보 관리 장치 및 방법

Families Citing this family (85)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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