KR100952135B1 - 순차적 기록만을 사용하는 플래시 관리 시스템 - Google Patents

순차적 기록만을 사용하는 플래시 관리 시스템 Download PDF

Info

Publication number
KR100952135B1
KR100952135B1 KR1020037007163A KR20037007163A KR100952135B1 KR 100952135 B1 KR100952135 B1 KR 100952135B1 KR 1020037007163 A KR1020037007163 A KR 1020037007163A KR 20037007163 A KR20037007163 A KR 20037007163A KR 100952135 B1 KR100952135 B1 KR 100952135B1
Authority
KR
South Korea
Prior art keywords
page
physical
virtual
block
data
Prior art date
Application number
KR1020037007163A
Other languages
English (en)
Other versions
KR20040034580A (ko
Inventor
라써메나쳄
Original Assignee
샌디스크 아이엘 엘티디
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 샌디스크 아이엘 엘티디 filed Critical 샌디스크 아이엘 엘티디
Publication of KR20040034580A publication Critical patent/KR20040034580A/ko
Application granted granted Critical
Publication of KR100952135B1 publication Critical patent/KR100952135B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)

Abstract

순차 기록 동작만을 수행하도록 제한된 플래시 디바이스를 관리하기 위한 시스템 및 방법. 기록 요청이 수신된 후에, 플래시 디바이스의 물리적 부분은 동일한 블록에서 기록되어야 하는 최종 부분이었던 이전에 기록된 물리적 부분의 위치에 따라, 데이터를 기록하기 위하여 위치되고, 따라서 물리적 부분은 이전에 기록된 물리적 위치보다 물리적으로 블록내에 보다 상위 주소에 있다. 즉, 기록 동작은 랜덤하게 선택된 위치에서 수행되기보다, 순차적인 기록 제한을 위반하지 않는 장소에서 수행된다. 이 부분은 바람직하게는 예컨대, 페이지 같은 블록내의 위치이므로, 페이지가 동일한 블록에서 기록을 위하여 이용가능하면, 데이터는 페이지에 기록된다. 다시, 이 페이지는 바람직하게는 블록내의 임의의 이전에 기록된 페이지보다 상위 주소에 있다.
플래시 디바이스, 블록, 페이지, 가상 맵, 가상 블록, 순차 페이지 기록 동작

Description

순차적 기록만을 사용하는 플래시 관리 시스템{FLASH MANAGEMENT SYSTEM USING ONLY SEQUENTIAL WRITE}
본 발명은 플래시 디바이스상의 보다 효율적인 데이터 관리와 저장을 위한 시스템 및 방법에 관한 것이고, 특히 플래시 디바이스상의 정보의 저장과 검색이 메모리의 순차적인 물리적 부분상에서 순차 기록 동작을 통하여 수행되는 시스템과 방법에 관한 것이다.
플래시 디바이스는 회로내, 프로그램가능 동작이 메모리 부분을 소거할 수 있게 하는 부가적인 기능을 갖는, 기능과 성능이 EPROM 메모리와 유사한 비휘발성 메모리인 플래시 타입, 부동 게이트 트랜지스터로 만들어진 전기적 소거 및 프로그램 가능 읽기 전용 기억 장치(EEPROM)를 포함한다. 플래시 디바이스는 종래의 자기 저장 디스크에 비하여 비교적 저렴하고 비교적 저전력을 요하는 이점을 가지고 있다. 그러나, 플래시 디바이스에 있어서, 이전에 기록된 메모리 영역의 데이터를 소거함이 없이 그 기록된 메모리 영역에 재기록하는 것은 유용하지 않다. 기록된 메모리 영역을 먼저 소거하지 않으면, 데이터는 이전에 기록된 플래시 디바이스내의 메모리 영역에 기록될 수 없으므로, 플래시 디바이스의 이러한 제한은 전형적인 기존 운영 체제 프로그램과 호환될 수 없게 한다.
운영 체제 프로그램의 수정없이도 플래시 디바이스가 기존 컴퓨터 운영 프로그램에 의하여 관리될 수 있도록 하기 위한 소프트웨어 제품이 종래기술에서 제안되어왔다. 그러나, 이러한 종래기술의 프로그램은 모두 결점을 가지고 있다. 예컨대, 일 프로그램은 플래시 메모리를 "일회 기록 다수회 판독(write once read many)"로서 동작시킨다. 이러한 종래의 소프트웨어 제품은 이전에 기록된 메모리의 위치를 리사이클할 수 없다. 모든 메모리의 위치가 실제로 기록되었을때 특정 사용자의 조정없이는 메모리는 더이상 사용될 수 없다. 이러한 종래기술의 결점을 극복하기 위하여, 본 발명과 함께 소유되고 그 전체가 참조로서 본 명세서에 첨부된, 플래시 파일 시스템(FFS)이 미국 특허 제 5,404,485 호에 개시된다. FFS는 플래시 디바이스가 자기 디스크를 에뮬레이팅할 수 있도록 하는 플래시 디바이스상에서의 데이터 저장 및 조작을 하는 시스템을 제공한다. 상기한 바와 같이, 비교적 저렴한 비용과 저전력 소모의 플래시 디바이스는 특히 랩탑, 휴대용 컴퓨터등의 데이터 저장을 위하여 탁월한 선택이 된다. FFS는 플래시 디바이스의 기능을 향상시켜 자기 디스크 저장장치의 대체물로서 기능한다. 실제로, 미국 특허 제 5,404,485 호에 개시된 FFS는 그 유용함이 입증되어 PCMCIA(Personal Computer Memory Card International Association)과 JEIDA(Japan Electronic Industry Development Association)에 의하여 플래시 변환층(FTL ; Flash Translation Layer)이라 불리는 표준으로 채택되었다.
FFS는 플래시 EEPROM 디바이스를 위한 가상 매핑 시스템을 필수적으로 기술한다. 가상 매핑이란 플래시 디바이스 내의 판독/기록 페이지의 물리적 주소를 그 페이지의 가상 주소에 관련시키는 테이블이다. 이러한 페이지의 각각은 비교적, 512 바이트로서 작기때문에, 가상 맵 그 자체의 크기는 매우 크다. FFS는 또한 가상 맵의 저장을 위해 요구된 다른 메모리양을 최소화하는, 플래시 EEPROM 디바이스상의 대량의 가상 맵을 저장하고 관리하는 방법을 포함한다.
상기한 바와 같이, FFS는 특히 플래시 디바이스를 자기 디스크 저장장치의 에뮬레이터로 변형시키는데 성공적이고, 따라서 산업 표준으로서 채택되었다. 그러나, FFS는 보다 새로운 플래시 디바이스 기술의 모든 필요조건을 충족시킬 수는 없다. 특히, FFS는 NAND 및 AND 플래시 기술에서는 성공적이지 못하다. 따라서, 본 발명과 함께 소유되고 그 전체가 참조로서 본 명세서에 첨부된, 미국 특허 제 5,937,425 호는 이러한 기술을 위한 플래시 관리 시스템의 부가적인 구현을 기술한다. 그러나, 이러한 양 구현은 주로 플래시 메모리를 위한 특정 타입의 기술용으로 유용하다.
상기한 시스템을 포함하여, 전형적인 플래시 관리 시스템은 랜덤한 순서로 유닛에 있는 페이지를 기록할 수 있음에 좌우되어, 이전에 빈 블록에 기록되는것이 반드시 첫번째 페이지가 아니고, 물리적으로는, 오히려 중간 페이지나 심지어 끝 페이지에 기록된다. 플래시 디바이스는 임의의 페이지가 블록내 페이지의 순서를 기록할 수 있음을 가정하면 이 데이터 삽입 시퀀스는 임의의 랜덤 순으로 계속될 수 있다. 상기 관리 시스템은 이 타입의 플래시 디바이스와 잘 작동한다.
데이터 기록을 위한 이 타입의 메커니즘의 예외는 이러한 랜덤한 데이터 삽입을 회피하는 플래시 관리 시스템에서 발견될 수 있다. 이러한 시스템은 모든 기 록 동작에 대하여 새로운 페이지를 동일한 블록에 기록함과 병행하여, 새로운 블록을 할당하고, 기존 블록으로 부터 이미 기록된 페이지를 새 블록에 복사함에 의하여 동작한다. 이 방법이 항상 순차적으로 새로운 블록을 기록함으로써 페이지 기록 동작의 랜덤한 순서이어야 할 필요성을 피할 수 있는 반면, 거의 모든 기록 동작에서 새로운 블록이 할당되어야하고 이전 데이터는 복사되어야 하므로, 페이지 기록 요청이 랜덤 순으로 도달하는 경우 매우 비효율적이다. 따라서, FFS와 같은 현재 이용할 수 있는 가장 효율적인 파일 관리 시스템은 램덤 페이지 순서에 따라 새로운 데이터를 기록하는것에 좌우된다.
그러나, 플래시 디바이스의 실리콘의 기하 구조가 축소될때, 그 특성과 행동은 점점 더 보다 작은 기하구조에 의하여 영향을 받는다. 특히, 데이터 기록을 위한 랜덤한 페이지 순서는 이러한 물리적으로 보다 더 컴팩트한 플래시 디바이스의 동작을 위하여 점점 더 덜 신뢰적이게 된다. 최근, 주요 플래시 제조사인, 도시바 인코퍼레이티드(일본)는 0.16미크론 공정 기술을 사용하는, 차세대 NAND 플래시 디바이스는 랜덤한 페이지 순서에 따른 데이터 삽입보다는, 블록내 순차적인 페이지 기록 동작을 요할 것이라고 발표하였다. 이 디바이스는 시장에서 널리 사용될 것이 기대되는바, 플래시 메모리내에 순차적인 기록 동작만을 수행하는 효율적인 플래시 관리 시스템을 긴급히 개발할 필요성이 있다.
종래 기술은 순차 페이지 기록 동작에 제한된 플래시 디바이스의 효율적인 관리를 위한 메커니즘을 교시하거나 제안하지 않는다. 또한, 종래 기술은 데이터 가 새로이 할당된 블록에 기록되고 이전에 기록된 페이지에 대하여 동일한 동작의 일부로서 새로운 블록에 이동되도록 하는 것을 요구하지 않는 메커니즘을 교시하거나 제안하지 않는다.
본 발명은 순차 페이지 기록 동작에 제한된 플래시 디바이스를 지원하는 메모리 구성 방법을 제공함으로써 종래 기술의 결점을 극복하고, 따라서 이전에 기록된 데이터가 이동됨이 없이, 그리고 순차 기록 제한을 위반함이 없이, 데이터는 플래시 디바이스에 기록된다.
본 발명에 따라서, (a) 각각의 블록이 복수의 페이지를 포함하는, 복수의 상기 블록을 포함하는 메모리를 특징으로 하는 플래시 디바이스의 적어도 하나를 포함하는 플래시 메모리 시스템, (b) 페이지 기록 요청이 수신되는 순서에 관계없이 상기 페이지 기록 요청을 관리하기 위한 플래시 관리 시스템, 및 (c) 상기 페이지 기록 요청을 수신하는 상기 순서를 기록 순서로 변환하여, 상기 페이지 기록 요청을 수신하는 상기 순서에 관계없이, 상기 페이지 기록 요청에 있는 데이터가 각각의 블록내의 물리적으로 순차적인 페이지로서 기록되도록 하는 모듈을 포함하는 시스템이 제공된다.
이후, "물리적 유닛"이라는 용어는 삭제될 수 있는 메모리의 가장 작은 부분인 또는 그 정수배일 수 있는 메모리의 물리적 매체 또는 하드웨어상의 한 유닛으로서 정의된다. 물리적 유닛은 인접하고, 크기가 고정되어 있고 삭제될 수 있는 메모리 부분이다.
"페이지"란 용어는 이후 일 동작에서 기록될 가장 작은 데이터량으로서 정의 된다. "블록"과 "유닛"이란 용어는 하나 이상의 페이지를 포함하는 블록을 가진, 물리적 유닛과 동일한 크기로서 정의된다.
이후, "가상 유닛"이라는 용어는 물리적 유닛과 동일 크기로서 정의된다.
이후, "가상 맵"이라는 용어는 가상 블록이나 페이지를 적어도 하나의 대응 물리적 블록이나 페이지에 관련시키는 테이블을 의미한다.
이후, "데이터 기록"이란 용어는 플래시 메모리에 데이터를 저장하는 동작을 나타낸다. "데이터 판독"이란 용어는 플래시 메모리로 부터 데이터를 검색하는 동작을 나타낸다. 이후, "기록되지 않은(unwritten)"이란 용어는 데이터를 기록할 수 있는, 물리적 블록과 같은, 메모리의 일부를 가리킨다. 따라서, "기록되지 않은"이란 용어는, 이에 제한되지는 않지만, 삭제된 메모리의 일부를 포함한다.
본 발명에 따라 구성된 플래시 메모리를 가지는 컴퓨터나 다른 전자 디바이스에 있어서, 디바이스의 운영 체제는 데이터의 판독과 기록을 위한 가상 유닛 및 가상 페이지와 상호작용한다. 따라서, 가상 유닛과 가상 페이지를 포함하는 가상 매체는 플래시 메모리 디바이스와 상호작용하기 위한 운영 체제를 위한 인터페이스로 작용한다. 예컨대, 운영 체제는 가상 페이지에 데이터를 기록하라는 기록 명령을 발생시킨다. 그 다음에, 가상 페이지를 포함하는 가상 유닛이 위치된다. 그 다음에 가상 맵은 메모리의 물리적 유닛내의 대응 물리적 페이지를 위치시키고 데이터가 실제로 저장된다. 운영 체제가 가상 유닛과 가상 페이지가 플래시 메모리의 실제 하드웨어인 것 처럼 판독 및 기록 명령을 발생시키더라도, 현실적으로는 실제 하드웨어는 플래시 메모리의 물리적 유닛과 물리적 페이지에 통합된다. 따라 서, 운영 체제는 가상 유닛과 가상 페이지만을 인식하고, 하드웨어 자체와는 직접적으로 상호작용하지 않는다. 이러한 인터페이스의 이점은 기록을 더 하기 전에 삭제 동작을 수행해야 하는 것과 같은, 플래시 메모리의 본질적인 단점은 물리적 주소보다는 오히려 가상 주소와 운영 체제의 상호작용에 의하여 극복된다는 것이다.
도 1은 본 발명에 따른 물리적 플래시 메모리 디바이스의 개략적인 다이어그램.
도 2는 본 발명에 따른 플래시 메모리 디바이스를 구성하는 기본 시스템의 다이어그램, 및
도 3은 본 발명에 따른 예시적인 방법의 순서도.
이후 본 발명은 예로써만 첨부된 도면을 참조로 기술된다.
본 발명은 플래시 디바이스 유닛에 순차적 기록 동작만을 수행하도록 제한된 플래시 디바이스를 효율적으로 관리하기 위한 시스템과 방법에 관한 것이다. 기록 요청이 수신된 후에, 플래시 디바이스의 물리적 부분은 동일 블록에 기록되도록 하는 이전에 기록된 최종 물리적 부분의 위치에 따라, 데이터를 기록하기 위하여 위치되어서, 물리적 부분은 이전에 기록된 물리적 부분보다 물리적으로 블록내에 보다 상위 주소에 있다. 즉, 기록 동작은 랜덤하게 선택된 위치에서 수행되기 보다는 순차적 기록 제한을 위반하지 않는 장소에서 수행된다. 이러한 부분은 바람직 하게는 예컨대, 페이지 같은, 블록내의 위치이므로, 페이지가 동일한 블록에서 기록을 위해 이용될 수 있으면, 데이터는 그 페이지에 기록된다. 다시, 이러한 페이지는 바람직하게는 그 블록내의 이전에 기록된 임의의 페이지 보다 상위 주소에 있다. 따라서, 선택적으로 그리고 보다 바람직하게는 "순차적으로"가 물리적으로 인접한 주소를 의미하더라도, 이 용어는 바람직하게는 적어도 동일한 블록에서 이전에 기록된 임의의 주소보다 적어도 높은 주소를 의미한다.
선택적으로 그리고 바람직하게, 복수의 기록 요청이 수신되면, 그 요청이 랜덤순으로 수신되더라도, 데이터는 랜덤하게 기록되지 않는다. 대신, 데이터는 바람직하게는 각각의 물리적 유닛내의 페이지의 순차적인 순서에 따라 기록된다.
보다 바람직하게는, 플래시 디바이스는 물리적 주소에 매핑된 복수의 가상 주소를 특징으로 한다. 각각의 물리적 주소는 물리적 블록에 있는 물리적 페이지에 대응하고, 각각의 가상 주소는 가상 블록에 있는 가상 페이지에 대응한다. 바람직하게는 기록 요청이 가상 주소에 데이터를 기록하라는 요청을 포함하고, 이 가상주소는 그 다음에 물리적 주소로 변환된다. 선택적으로 그리고 가장 바람직하게는, 가상 주소는 각각의 가상 블록을 하나 이상의 물리적 블록으로 매핑함으로써 물리적 주소에 매핑된다. 선택적으로 그리고 가장 바람직하게는, 가상 주소는 각각의 가상 페이지를 하나 이상의 물리적 페이지에 매핑함으로써 물리적 주소에 매핑된다.
그러나, 매핑하는 유닛에 관계없이, 본 발명은 기록된 데이터의 물리적 위치의 순차적인 순서를 유지하기 위하여 매시에 이전에 기록된 데이터를 복사하도록 강제됨이 없이, 순차적으로 데이터를 기록하도록 작동된다.
본 발명은 또한 본 발명의 상기 방법에 따라 기록을 위한 플래시 디바이스를 구성하기 위한, 적어도 하나, 바람직하게는 복수의, 플래시 디바이스 및 플래시 관리 시스템을 특징으로 하는, 시스템으로서 구현될 수 있다.
본 발명이 플래시 디바이스에 관하여 기술되었으나, 당업자는 또한 플래시 디바이스와 동일한 기록, 판독, 및 유닛 소거 특성을 갖는 데이터 저장 디바이스로 가능함을 이해할 것이다.
본 발명에 따른 시스템 및 방법의 원리 및 동작은 첨부한 도면에 의하여 보다 잘 이해될 수 있다.
도면을 참조하면, 도 1은 예컨대, NAND와 같은 기술에 따른 종래의 물리적 페이지-모드 플래시 메모리 디바이스를 개략적으로 설명한다. "물리적 디바이스"란 용어는 이후 플래시 메모리 디바이스를 위한 물리적 매체를 포함하는 실제적인 하드웨어로 정의된다. 이러한 물리적인 매체는 임의의 적당한 비휘발성, 프로그램가능 메모리 디바이스가 대체될 수 있지만, 전형적으로 플래시 EEPROM 유닛으로 구성된다. "프로그램가능"이란 용어는 이후부터 예컨대, 데이터를 메모리 디바이스에 기록되도록 하는것에 의하는 것과 같이, 변경가능성으로서 정의된다.
적어도 하나의 물리적 블록(12)을 가진 플래시 메모리 물리적 디바이스(10)가 도시된다. 물리적 블록(12)은 삭제될 수 있는 물리적 디바이스(10)의 가장 작은 세그먼트 또는 그 세그먼트의 정수배 일 수 있다. 물리적 블록(12)은 개별적으로 1 내지 n으로 지정되고 집합적으로 페이지(14)로 지정된, 정수개의 페이지를 포 함하고, 여기서 n 은 정수이다. 페이지(14)는 인접하고, 고정 길이의 물리적 바이트 단위 주소의 그룹으로 구성되고 하드웨어 특징구조이다. 상세하게는, 페이지(14)의 크기는 물리적 디바이스(10)의 특성이다. 사용자 데이터는 페이지(14)의 주 데이터 영역(16)에 저장될 수 있다. 각각의 페이지(14)는 또한 제어 데이터 영역(18)을 가지고 있다. 제어 데이터 영역(18)은 페이지(14)의 주 부분으로 부터 개별 알고리즘에 의하여 전형적으로 주소지정가능하고 페이지(14)의 크기 계산에서 포함되지 않는다. 이하에서 더 기술되는 바와 같이, 제어 데이터 영역(18)은 플래시 파일링 시스템 자체에 관련된 정보의 저장을 위하여 편리하다.
도 2는 기본 플래시 메모리 디바이스를 구성하기 위한 시스템을 나타낸다. 시스템(20)은 가상 매체(22)와 물리적 디바이스(10)를 제어하고 가상 맵(24)을 통하여 가상 매체(22)를 물리적 디바이스(10)에 관련시킨다. 가상 매체(22)는 복수의 가상 블록(26)을 포함한다. 각각의 가상 블록(26)은 복수의 가상 페이지(28)를 포함한다. 각각의 가상 블록(26)은 가상 주소에 의하여 지정된다. 가상 주소는 특정 가상 블록(26)을 지시하는 가상 블록 번호를 포함한다. 각각의 가상 페이지(28)는 가상 페이지 오프셋에 의하여 지시된다. 마찬가지로, 각각의 물리적 블록(12)은 물리적 주소를 가지고 있다. 물리적 주소는 특정 물리적 블록(12)을 지시하는, 물리적 블록 번호를 포함한다. 각각의 물리적 블록(12)은 복수의 물리적 페이지(14)를 가지고 있다. 각각의 물리적 페이지(14)는 물리적 페이지 오프셋을 가지고 있다.
가상 맵(24)은 가상 블록(26)을 적어도 하나의 물리적 블록(12)에 매핑한다. 선택적으로 또는 부가적으로, 가상 맵(24)은 가상 페이지(28)를 적어도 하나의 물리적 페이지(14)에 매핑한다. 이하에 상세히 기술되는 바와 같이, 바람직하게는 어느 하나의 가상 블록(26)은 물리적 블록(12)에 매핑되거나, 선택적으로는, 가상 페이지(28)는 물리적 페이지(14)에 매핑된다. 이 두개의 선택적인 매핑 시스템은, 페이지나 블록중 어느 하나가 본 발명에 따른 매핑의 기준을 형성할 수 있다는 점에서, 유사하나, 페이지나 블록의 기본 유닛에 의하여 매핑하는 것은 순차적으로 데이터를 기록하기 위한 본 발명의 방법의 동작을 변경하지 않는다.
하나의 가상 블록(26)은 하나 이상의 물리적 블록(12)에 매핑될 수 있고/있거나, 하나의 가상 페이지(28)는 하나 이상의 물리적 페이지(14)에 매핑될 수 있음을 주목하여야 한다. 따라서, 가상 블록(26)과 물리적 블록(12)간의 대응관계는 일대일이거나 일대다일 수 있다.
시스템(20)은 다음과 같이 동작한다. (도시되지는 않았으나)플래시 메모리 디바이스를 포함하는 전자 디바이스의 운영 체제는 특정 가상 블록(26)내의 특정 가상 페이지(28)에 판독 명령이나 기록 명령과 같은, 명령을 전송한다. 그 다음에, 가상 맵(24)이나 보다 바람직하게는 가상 맵(24)내에 포함된 이러한 기능을 수행하기 위한 소프트웨어 모듈은, 물리적 블록(12)내에 대응 물리적 페이지(14)를 위치시킨다. 그러나, 본 발명에 따라, 물리적 페이지(14)는 물리적 블록(12)내의 그 다음의 물리적으로 순차인 페이지(14)이고, 따라서 순차적인 기록 동작이 물리적 블록(12)내의 물리적으로 순차적인 페이지(14)에서 수행된다. 가상 페이지(28)는 가상 블록(26)내에서 순차적일 필요가 없고, 사실 랜덤 순에 따른 동작을 기록 하기 위하여 수신될 수 있다.
도 3의 순서도는 본 발명에 따른 예시적인 방법을 나타낸다. 가상 맵은 적어도 하나의 물리적 블록에 대한 각각의 가상 블록의 매핑을 저장한다. 플래시 디바이스(또는 다른 타입의 메모리)는 데이터가 메모리의 기록되지 않은 부분에만 기록될 수 있는 특징을 가지는 것이 가정되므로, 기록된 메모리의 일 부분은 다른 데이터가 메모리에 기록될 수 있기 전에 소거되어야 한다.
매핑의 기본 유닛이 블록이라 가정하면, 각각의 가상 블록은 하나 이상의 물리적 블록에 매핑되고, 그 다음에 단계(1)에서, 기록 요청은 특정 가상 페이지에 데이터를 기록하라는 요청을 포함한다. 적어도 하나의 프리 페이지를 갖는 대응 물리적 블록이 위치될 수 (로케이터블)있으면, 단계(2)에서, 그 대응 물리적 블록이 위치된다. 이 단계는 바람직하게는 우선 가상 페이지를 포함하는 가상 블록을 발견하고, 그 다음에 데이터가 기록될 수 있는 물리적 블록을 위치시키기 위하여 가상 맵을 사용함으로써 수행된다. 다음에, 단계(3)에서, 바람직하게는 물리적 블록에 있는 데이터가 최근에 기록된 물리적 페이지의 위치에 따라, 물리적 블록내의 페이지가 위치된다. 따라서, 선택된 물리적 페이지는 바람직하게는 물리적 블록내의 최근에 기록된 물리적 페이지보다 상위 주소를 가져야만한다. 이 시도에 제한되지는 않지만, 하나의 가능한 시도는 선택된 페이지를 선택적이고 그리고 보다 바람직하게는 물리적 블록내의 최근에 기록된 물리적 페이지에 물리적으로 인접하도록 하는 것이다. 선택적으로, 선택된 페이지는 물리적으로 인접하지 않을 수 있지만, 여전히 보다 높은 주소를 가진다. 단계(4)에서, 데이터는 선택된 물리적 페이지에 기록된다.
복수의 기록 요청이 가상 블록내에서 랜덤 순으로 수신되는 경우에도, 바람직하게는 순차 페이지 기록 동작만이 물리적 블록내에서 수행된다. 따라서, 순차의 각각의 페이지 기록 요청에 대하여, 데이터는 바람직하게는 단계(2)에서 페이지에 대한 기록 요청이 매핑되었던 물리적 블록의, 적어도 보다 상위 주소를 가지는, 다음의 프리 물리적 페이지에 기록되나, 선택적으로 그리고 보다 바람직하게는 이전에 기록된 페이지에 물리적으로 인접한다.
선택적으로는, 각각의 물리적으로 기록된 페이지는 물리적 페이지의 제어 데이터 영역에 입력된 그 대응 가상 페이지 번호로써 기록된다. 그 다음에 이러한 가상 페이지 번호는 선택적으로는 플래시 메모리로 부터 데이터를 판독하기 위하여 요청된 가상 페이지에 대응하는 최근에 기록된 데이터를 식별하기 위하여 사용된다. 보다 바람직하게는, 동일한 물리적 블록에서 복수의 물리적 페이지가 그와 연관된 일치하는 가상 페이지 번호를 가지면, 판독될 물리적 페이지는 최근에 기록된 데이터를 포함하는 물리적 페이지이다. 복수의 물리적 페이지가 동일한 가상 페이지 번호를 가지는 상황은, 예컨대, 운영 체제가 여러번 순차적으로 동일한 가상 페이지에 기록을 요청하는 경우에 발생할 수 있다. 그 다음에 각각의 요청은 또다른 물리적 페이지에 기록하는 결과를 야기하여, 이러한 모든 물리적 페이지는 연관된 동일한 가상 페이지 번호를 가진다. 나중에 이 페이지를 판독하기를 시도할때, 가상 페이지에 저장된 최근의 데이터를 획득하기 위하여, 요청된 가상 페이지 번호를 갖는 페이지 그룹으로 부터 원하는 물리적 페이지는 물리적 블록내의 최상위 주소 를 갖는 물리적 페이지이다. 이 물리적 페이지는 최근에 기록된 페이지이어야 하고 따라서 본 발명의 방법에 따라 최근의 데이터를 포함한다.
도 3으로 돌아가서, 기록을 위한 이용가능한 물리적 페이지를 갖는 대응 물리적 블록이 위치될 수 없는 기록 요청이 수신되면, 단계(2A, 3A)에서 나타난 바와 같은, 선택 브랜치가 이어진다. 바람직하게는 (단계(2A)에 나타낸 바와 같이) 가상 블록을 위한 새로운 물리적 블록이 할당되고 이 물리적 블록의 첫번째 페이지가 선택되어 기록 요청으로 부터의 데이터가 단계(4)에서 새로운 물리적 블록의 이 첫번재 물리적 페이지에 기록되도록 (단계(3A)에서 나타난 바와 같이) 선택된다.
선택적으로 그리고 바람직하게는, 사용되고 있는 플래시 디바이스내 저장 공간의 양을 "압축"하거나 감소시키는 것이 필요할 수 있고, 보다 바람직하게는 적어도 경우에 따라서는 압축이 수행된다. 그 목적을 위하여 바람직하게는 적어도 하나의 물리적 페이지의 적어도 최근의 복사본이 적어도 하나의 물리적 유닛을 프리화하기 위하여 새로운 물리적 위치에 복사될 수 있다. 새로운 물리적 위치는 새로이 할당된 물리적 블록이나 이전에 매핑된 물리적 블록에 있을 수 있다. 이러한 복사 동작은 본 발명의 방법을 위한 복사가 선택적이고 각각의 기록 동작을 위하여 필수적이지 않다는 점에서, 각각의 기록 동작을 위하여 이전에 기록된 데이터를 복사할 것이 요구되는 종래 기술과 구별될 수 있다.
예컨대, 선택적으로 그리고 바람직하게는, 이 복사 동작은 보다 많은 프리 공간이 요구되고 프리 공간의 양이 몇몇 소정의 수 이하일때 수행된다. 예컨대, 선택적으로 복사 동작은 프리 블록의 수가 몇몇 소정의 수 이하일때 수행된다.
또다른 예로서, 선택적으로 그리고 바람직하게는, 이 복사 동작은 가상 블록에 대응하는 물리적 블록의 그룹의 크기가 소정의 수보다 크게 될때 수행된다. 또한 선택적으로, 소정의 수는 하나이고, 물리적 블록의 그룹은 항상 하나의 블록만을 포함하고, 가상 블록은 일대일 매핑에 따라 물리적 블록에 매핑한다.
선택적으로 유사한 매핑 방법은 기본 매핑 아이템으로서 블록 보다 페이지를 사용하는 플래시 관리 시스템으로 수행될 수 있고, 이에 따라 가상 페이지는 가상 블록의 물리적 블록으로의 매핑을 정의함이 없이 물리적 페이지에 매핑되고, 이는 본 발명의 범위내에 있는 것으로 간주된다. 이러한 상황에서, 적용가능한 가상 유닛에 대응하는 물리적 블록의 그룹이 기록될 가상 주소에 관계없이, (인접이건 아니건, 전체 주소 공간이나 그 중 어느 부분일 수 있는) 플래시 물리적 주소 공간의 몇몇 서브세트에 의하여 대체된다는 점을 제외하고는, 상기 방법과 유사한 방법이 적용된다.
상기 상세한 설명은 예로써만 제공되고, 많은 다른 실시예가 본 발명의 사상과 범위내에서 가능함을 이해할 것이다.

Claims (48)

  1. (a) 각각의 블록이 복수의 페이지를 포함하는, 복수의 상기 블록을 포함하는 메모리를 구성상의 특징으로 하는 적어도 하나의 플래시 디바이스를 포함하는 플래시 메모리 시스템,
    (b) 페이지 기록 요청이 수신되는 순서에 관계없이 상기 페이지 기록 요청을 관리하기 위한 플래시 관리 시스템, 및
    (c) 상기 페이지 기록 요청을 수신하는 상기 순서에 관계없이, 상기 페이지 기록 요청에 있는 데이터가 각각의 블록내의 물리적으로 순차적인 페이지로서 기록되도록, 상기 페이지 기록 요청의 상기 순서를 기록 순서로 변환하기 위한 모듈을 포함하는 것을 특징으로 하는 시스템.
  2. 제 1 항에 있어서, 상기 플래시 관리 시스템은 복수의 가상 주소를 포함하고 상기 플래시 디바이스는, 상기 플래시 관리 시스템은 각각의 가상 블록을 하나 이상의 물리적 블록에 매핑함으로써 상기 가상 주소를 물리적 주소에 매핑하도록 복수의 물리적 주소를 포함하는 것을 특징으로 하는 시스템.
  3. 제 2 항에 있어서, 각각의 페이지 기록 요청은 가상 주소에 대한 것이고 상기 플래시 관리 시스템은 가상 주소를 물리적 주소로 매핑하여, 각각의 블록내에서, 페이지가 각각의 순차적인 페이지 기록 동작을 위하여 그 다음 상위 물리적 주 소에 기록되는 것을 특징으로 하는 시스템.
  4. 제 3 항에 있어서, 각각의 물리적으로 기록된 페이지는 대응 가상 블록내의 대응 가상 페이지 번호을 수반하는 것을 특징으로 하는 시스템.
  5. 제 4 항에 있어서, 상기 가상 페이지 번호는 플래시 메모리 시스템으로 부터 데이터를 판독할때 요청된 가상 페이지에 대응하는 최근에 기록된 데이터를 식별하는 것을 특징으로 하는 시스템.
  6. 제 5 항에 있어서, 복수의 물리적 페이지가 동일한 가상 페이지 번호에 연관되면, 상기 요청된 가상 페이지에 대응하는 상기 물리적 페이지는 데이터가 최근에 기록되었던 상기 물리적 페이지인 것을 특징으로 하는 시스템.
  7. 제 3 항에 있어서, 물리적 블록은 가상 블록에 대응하고 상기 물리적 블록은 프리 페이지를 갖지 아니하여, 기록 요청이 상기 가상 블록에 대하여 수신되면, 새로운 물리적 블록이 상기 가상 블록을 위하여 할당되고 상기 기록 요청으로 부터 데이터가 상기 새로운 물리적 블록의 첫번째 페이지에 기록되는 것을 특징으로 하는 시스템.
  8. 제 7 항에 있어서, 어떤 시간에, 가상 블록에 대응하는 물리적 블록의 그룹 은 필요하다면, 상기 가상 블록의 가상 페이지에 대응하는 데이터의 적어도 일부를 단일 블록에 복사함으로써 압축되고, 따라서 적어도 하나의 물리적 블록을 프리화시키는 것을 특징으로 하는 시스템.
  9. 제 8 항에 있어서, 상기 단일 블록은 새로이 할당된 블록이거나 상기 가상 블록의 최근에 할당된 블록인 것을 특징으로 하는 시스템.
  10. 제 9 항에 있어서, 상기 블록은 새로운 물리적 블록이 상기 플래시 관리 시스템에 의하여 요청되고 프리 블록의 수가 소정의 수 이하일때 압축되는 것을 특징으로 하는 시스템.
  11. 제 9 항에 있어서, 상기 블록은 상기 가상 블록에 대응하는 물리적 블록의 상기 그룹의 크기가 압축되지 않은 경우 소정의 수보다 크면 압축 되는 것을 특징으로 하는 시스템.
  12. 제 11 항에 있어서, 상기 가상 블록이 상기 물리적 블록에 일대일 매핑되도록, 상기 소정의 수가 일 인것을 특징으로 하는 시스템.
  13. 제 1 항에 있어서, 상기 플래시 관리 시스템은 각각의 가상 페이지를 하나 이상의 물리적 페이지에 매핑함으로써 가상 주소를 물리적 주소에 매핑하도록, 상기 플래시 관리 시스템은 복수의 가상 주소를 포함하고 상기 플래시 디바이스는 복수의 물리적 주소를 포함하는 것을 특징으로 하는 시스템.
  14. 제 13 항에 있어서, 페이지는 상기 플래시 디바이스의 적어도 일 부내에 각각의 순차적인 페이지 기록 동작을 위한 다음의 보다 높은 물리적 주소에 기록되도록, 각각의 페이지 기록 요청은 가상 주소에 대한 것이고 상기 플래시 관리 시스템은 가상 주소를 물리적 주소에 매핑하는 것을 특징으로 하는 시스템.
  15. 제 14 항에 있어서, 각각의 물리적으로 기록된 페이지는 대응 가상 페이지 번호를 수반하는 것을 특징으로 하는 시스템.
  16. 제 15 항에 있어서, 상기 가상 페이지 번호는 플래시 메모리 시스템으로 부터 데이트를 판독할때 요청된 가상 페이지에 대응하는 최근에 기록된 데이터를 식별하는 것을 특징으로 하는 시스템.
  17. 제 16 항에 있어서, 복수의 물리적 페이지가 동일한 가상 페이지 번호와 연관되면, 상기 요청된 가상 페이지에 대응하는 상기 물리적 페이지는 데이터가 최근에 기록되었던 상기 물리적 페이지인 것을 특징으로 하는 시스템.
  18. 제 14 항에 있어서, 상기 플래시 디바이스의 적어도 일부분이 기록을 위한 프리 페이지를 가지고 있지 않고, 또다른 기록 요청이 상기 일부분으로 부터 수신되면, 상기 플래시 디바이스의 또다른 부분이 상기 일부분의 크기를 증가시키기 위하여 할당되고, 상기 기록 요청으로 부터의 데이터는 상기 또다른 부분의 첫번째 페이지에 기록되는 것을 특징으로 하는 시스템.
  19. 제 18 항에 있어서, 어떤 시간에, 상기 플래시 디바이스의 상기 일부분은 필요하다면 적어도 하나의 가상 페이지에 대응하는 데이터를 새로운 위치에 복사함으로써 복사되고, 따라서 적어도 하나의 물리적 페이지를 프리화하는 것을 특징으로 하는 시스템.
  20. 제 19 항에 있어서, 상기 플래시 디바이스의 상기 일부분은 새로운 물리적 페이지가 상기 플래시 관리 시스템에 의하여 요청되고 프리 페이지의 수가 소정의 수이하일 때 복사되는 것을 특징으로 하는 시스템.
  21. 제 19 항에 있어서, 상기 플래시 디바이스의 상기 일부분은 복사되지 않으면 상기 일부분의 크기가 소정의 수보다 크게될때 복사되는 것을 특징으로 하는 시스템.
  22. 기록 동작을 수행하기 위한 기록 요청을 수신하는 순서에 관계없이, 블록내 순차적인 기록 동작만을 허용하는 플래시 디바이스에 상기 기록 동작을 수행하기 위한 방법에 있어서, 상기 방법은,
    복수의 주소를 포함하는 플래시 디바이스의 일부분에 데이터를 기록하기 위한 기록 요청을 수신하는 단계,
    상기 주소가 이전에 기록된 주소에 물리적으로 순차인 주소가 되도록 상기 일부분내의 상기 이전에 기록된 주소에 따라 상기 데이터를 기록하기 위해 상기 일부분에 주소를 위치시키는 단계, 및
    상기 기록 요청으로 부터 상기 데이터를 상기 일부분에 기록하는 단계를 포함하는 것을 특징으로 하는 방법.
  23. 제 22 항에 있어서, 부가적인 페이지가 상기 블록에서 이용가능하도록, 상기 이전에 기록된 주소는 블록내의 이전에 기록된 페이지에 있고, 상기 데이터는 상기 부가적인 페이지에 기록되고, 상기 부가적인 페이지는 상기 이전에 기록된 페이지에 보다 상위인 물리적 주소에 있는 것을 특징으로 하는 방법.
  24. 제 23 항에 있어서, 상기 데이터는 보다 높은 물리적 주소에서 각각의 기록 요청을 위하여 기록되도록, 복수의 기록 요청은 수신되고 상기 페이지는 각각의 기록 요청을 위한 상기 블록에 위치되는것을 특징으로 하는 방법.
  25. 제 24 항에 있어서, 각각의 물리적 주소는 물리적 블록에 있는 물리적 페이지에 대응하고, 상기 기록 요청은 복수의 가상 주소중의 적어도 하나에 데이터를 기록하는 것이고, 상기 각각의 가상 주소는 가상 블록에 있는 가상 페이지에 대응하고, 상기 가상 주소는 상기 물리적 주소에 매핑되는 것을 특징으로 하는 방법.
  26. 제 25 항에 있어서, 상기 가상 주소는 각각의 가상 블록을 적어도 하나의 물리적 블록에 매핑함으로써 상기 물리적 주소에 매핑되는 것을 특징으로 하는 방법.
  27. 제 26 항에 있어서, 복수의 가상 주소를 위한 상기 복수의 기록 요청은 랜덤 순으로 수신되고, 복수의 기록 요청을 위한 데이터는 새로이 기록된 각각의 페이지를 기록되어야 할 상기 가상 주소가 매핑되는 물리적 블록의 첫번째 프리 물리적 페이지에 기록함으로써 순차적으로 기록되는 것을 특징으로 하는 방법.
  28. 제 27 항에 있어서, 각각의 물리적으로 기록된 페이지는 상기 가상 페이지의 상기 가상 블록내의 대응 가상 페이지 번호를 수반하는 것을 특징으로 하는 방법.
  29. 제 28 항에 있어서, 상기 가상 페이지 번호는 상기 플래시 디바이스로 부터 데이터를 판독하기 위해 요청된 가상 페이지에 대응하는 최근에 기록된 데이터를 식별하는 것을 특징으로 하는 방법.
  30. 제 29 항에 있어서, 복수의 물리적 페이지가 동일한 가상 페이지 번호를 가지면, 판독될 상기 물리적 페이지는 최근에 기록된 데이터를 포함하는 상기 물리적 페이지인 것을 특징으로 하는 방법.
  31. 제 27 항에 있어서, 물리적 블록이 기록을 위한 이용가능한 물리적 페이지를 가지고 있지 않고, 기록 요청이 상기 물리적 블록에 대응하는 가상 블록에 대해 수신되면, 새로운 물리적 블록이 상기 가상 블록을 위하여 할당되고 상기 기록 요청으로 부터 데이터는 상기 새로운 물리적 블록의 첫번째 물리적 페이지에 기록되는 것을 특징으로 하는 방법.
  32. 제 31 항에 있어서,
    적어도 하나의 물리적 블록을 프리화하기 위하여 필요하다면 적어도 하나의 물리적 페이지를 새로운 물리적 위치에 복사하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  33. 제 32 항에 있어서, 상기 새로운 물리적 위치는 새로이 할당된 물리적 블록에 있거나 상기 가상 블록의 최근에 할당된 블록에 있는 것을 특징으로 하는 방법.
  34. 제 32 항에 있어서, 상기 적어도 하나의 물리적 페이지는 새로운 물리적 블록이 요청되고 프리 물리적 블록의 수가 몇몇 소정의 수 이하일때 복사되는 것을 특징으로 하는 방법.
  35. 제 32 항에 있어서, 상기 적어도 하나의 물리적 페이지는 압축 되지 않으면 가상 블록에 대응하는 물리적 블록의 그룹의 크기가 소정의 수보다 크게 될때 복사되는 것을 특징으로 하는 방법.
  36. 제 35 항에 있어서, 물리적 블록의 상기 그룹은 하나의 블록만을 포함하도록, 상기 가상 블록은 일대일 매핑에 따라 상기 물리적 블록에 매핑하고 상기 소정의 수는 일 인것을 특징으로 하는 방법.
  37. 제 25 항에 있어서, 상기 가상 주소는 각각의 가상 페이지를 하나 이상의 물리적 페이지에 매핑함으로써 상기 물리적 주소에 매핑되는 것을 특징으로 하는 방법.
  38. 제 37 항에 있어서, 복수의 가상 주소를 위한 상기 복수의 기록 요청은 랜덤 순으로 수신되고, 상기 복수의 기록 요청을 위한 데이터는, 기록될 가상 주소에 관계없이, 각각이 새로이 기록된 페이지를 상기 물리적 주소의 적어도 일부분내의 다음의 프리 물리적 페이지에 기록함으로써, 순차적으로 기록되는 것을 특징으로 하는 방법.
  39. 제 38 항에 있어서, 상기 물리적 주소의 상기 적어도 일부분은 적어도 두개의 비 인접 물리적 주소를 포함하는 것을 특징으로 하는 방법.
  40. 제 38 항에 있어서, 각각의 물리적으로 기록된 페이지는 대응 가상 페이지 번호를 수반하는 것을 특징으로 하는 방법.
  41. 제 40 항에 있어서, 상기 가상 페이지 번호는 요청된 가상 페이지에 대응하는 최근에 기록된 데이터를 식별하는 것을 특징으로 하는 방법.
  42. 제 41 항에 있어서, 두개의 물리적 페이지가 동일한 가상 페이지 번호를 가지면, 상기 요청된 가상 페이지에 대응하는 상기 물리적 페이지는 데이터가 최근에 기록되었던 상기 물리적 페이지인 것을 특징으로 하는 방법.
  43. 제 38 항에 있어서, 새로운 부분이 상기 일부분에 부가되기 위하여 할당되도록, 상기 물리적 주소의 적어도 일부는 기록 요청으로 부터 데이터를 기록하기 위한 이용가능한 페이지를 가지고 있지 않고, 상기 데이터는 상기 새로운 부분의 첫번째 페이지에 기록되는 것을 특징으로 하는 방법.
  44. 제 43 항에 있어서,
    필요하다면, 적어도 하나의 물리적 페이지를 프리화하기 위하여 적어도 하나의 물리적 페이지를 새로운 물리적 위치에 복사하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  45. 제 44 항에 있어서, 상기 새로운 물리적 위치는 새로이 할당된 물리적 블록이거나 상기 일부분에 이미 포함된 블록내에 있는 것을 특징으로 하는 방법.
  46. 제 45 항에 있어서, 상기 적어도 하나의 물리적 페이지는 새로운 물리적 페이지가 요청되고 프리 물리적 페이지의 수가 몇몇 소정의 수 이하 일때 복사되는 것을 특징으로 하는 방법.
  47. 제 45 항에 있어서, 상기 적어도 하나의 물리적 페이지는 복사 되지 않으면 상기 일부분의 크기가 소정의 수보다 큰 경우 복사되는 것을 특징으로 하는 방법.
  48. 제 22 항에 있어서, 적어도 하나의 기록 요청으로 부터 데이터는 기록된 데이터의 상기 물리적 위치의 순차적인 순서를 유지하기 위하여 이전에 기록된 데이터를 복사함이 없이 기록되는 것을 특징으로 하는 방법.
KR1020037007163A 2001-09-28 2002-09-25 순차적 기록만을 사용하는 플래시 관리 시스템 KR100952135B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/964,606 2001-09-28
US09/964,606 US6678785B2 (en) 2001-09-28 2001-09-28 Flash management system using only sequential write
PCT/US2002/030303 WO2003030180A1 (en) 2001-09-28 2002-09-25 Flash management system using only sequential write

Publications (2)

Publication Number Publication Date
KR20040034580A KR20040034580A (ko) 2004-04-28
KR100952135B1 true KR100952135B1 (ko) 2010-04-09

Family

ID=25508759

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037007163A KR100952135B1 (ko) 2001-09-28 2002-09-25 순차적 기록만을 사용하는 플래시 관리 시스템

Country Status (6)

Country Link
US (1) US6678785B2 (ko)
EP (1) EP1435099A4 (ko)
JP (1) JP4155463B2 (ko)
KR (1) KR100952135B1 (ko)
FI (1) FI121559B (ko)
WO (1) WO2003030180A1 (ko)

Families Citing this family (171)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657332A (en) * 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US6148354A (en) 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
US6760805B2 (en) * 2001-09-05 2004-07-06 M-Systems Flash Disk Pioneers Ltd. Flash management system for large page size
TWI240861B (en) * 2002-01-11 2005-10-01 Integrated Circuit Solution In Data access method and architecture of flash memory
JP2003223792A (ja) * 2002-01-25 2003-08-08 Hitachi Ltd 不揮発性メモリ及びメモリカード
JP3928724B2 (ja) * 2003-02-20 2007-06-13 ソニー株式会社 記録媒体の記録制御方法および記録媒体の記録制御装置
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
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7173852B2 (en) * 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
KR100526188B1 (ko) * 2003-12-30 2005-11-04 삼성전자주식회사 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리
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
TWI249670B (en) * 2004-04-29 2006-02-21 Mediatek Inc System and method capable of sequentially writing a flash memory
CN100353341C (zh) * 2004-04-30 2007-12-05 联发科技股份有限公司 可循序写入数据至闪存中的系统及其方法
JP4253272B2 (ja) 2004-05-27 2009-04-08 株式会社東芝 メモリカード、半導体装置、及び半導体メモリの制御方法
KR100572328B1 (ko) * 2004-07-16 2006-04-18 삼성전자주식회사 배드 블록 관리부를 포함하는 플래시 메모리 시스템
KR100577384B1 (ko) 2004-07-28 2006-05-10 삼성전자주식회사 페이지 정보를 이용한 페이지 대체 방법
JP2006048585A (ja) * 2004-08-09 2006-02-16 Fujitsu Ltd フラッシュメモリのアクセス方法
CN100442246C (zh) * 2004-08-26 2008-12-10 旺玖科技股份有限公司 非易失性存储器的数据更新方法
US7386655B2 (en) * 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks
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
US7315916B2 (en) * 2004-12-16 2008-01-01 Sandisk Corporation Scratch pad block
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
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
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US8244958B2 (en) 2005-05-09 2012-08-14 Sandisk Il Ltd. Method and system for facilitating fast wake-up of a flash memory system
US7275140B2 (en) * 2005-05-12 2007-09-25 Sandisk Il Ltd. Flash memory management method that is resistant to data corruption by power loss
US7389397B2 (en) * 2005-06-01 2008-06-17 Sandisk Il Ltd Method of storing control information in a large-page flash memory device
JP2006338371A (ja) * 2005-06-02 2006-12-14 Toshiba Corp メモリシステム
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US20070016721A1 (en) * 2005-07-18 2007-01-18 Wyse Technology Inc. Flash file system power-up by using sequential sector allocation
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7571275B2 (en) * 2005-08-31 2009-08-04 Hamilton Sundstrand Corporation Flash real-time operating system for small embedded applications
KR100673013B1 (ko) * 2005-09-21 2007-01-24 삼성전자주식회사 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템
US7769978B2 (en) * 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7747837B2 (en) * 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7793068B2 (en) * 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US7783955B2 (en) * 2006-01-18 2010-08-24 Sandisk Il Ltd. Method for implementing error-correction codes in flash memory
JP2007241539A (ja) * 2006-03-07 2007-09-20 Hitachi Systems & Services Ltd 半導体フラッシュメモリにおけるデータ管理及び制御システムと半導体フラッシュメモリ収容装置
WO2007119267A1 (ja) 2006-03-13 2007-10-25 Matsushita Electric Industrial Co., Ltd. フラッシュメモリ用のメモリコントローラ
JP2007280108A (ja) * 2006-04-07 2007-10-25 Sony Corp 記憶媒体制御装置、記憶媒体制御方法、プログラム
US7280398B1 (en) * 2006-08-31 2007-10-09 Micron Technology, Inc. System and memory for sequential multi-plane page memory operations
KR100809319B1 (ko) 2006-09-13 2008-03-05 삼성전자주식회사 플래시 메모리에서 연속한 섹터 쓰기 요청에 대해 원자성을제공하는 장치 및 방법
US7886204B2 (en) * 2006-09-27 2011-02-08 Sandisk Corporation Methods of cell population distribution assisted read margining
US7716538B2 (en) * 2006-09-27 2010-05-11 Sandisk Corporation Memory with cell population distribution assisted read margining
KR100806343B1 (ko) * 2006-10-19 2008-02-27 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 맵핑테이블 관리 방법
KR100771521B1 (ko) * 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법
KR101354152B1 (ko) * 2006-12-18 2014-01-27 삼성전자주식회사 비휘발성 데이터 저장장치에 구비된 가상 파일 시스템의작업 스케줄링 방법 및 장치
KR100845552B1 (ko) * 2006-12-18 2008-07-10 (재)대구경북과학기술연구원 Ftl의 어드레스 매핑 방법
US7721040B2 (en) * 2007-01-18 2010-05-18 Sandisk Il Ltd. Method and system for facilitating fast wake-up of a flash memory system
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
US8473923B2 (en) * 2007-09-12 2013-06-25 Sandisk Technologies Inc. Pointers for write abort handling
WO2009037697A2 (en) * 2007-09-20 2009-03-26 Densbits Technologies Ltd. Improved systems and methods for determining logical values of coupled flash memory cells
US8365040B2 (en) 2007-09-20 2013-01-29 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009053961A2 (en) 2007-10-25 2009-04-30 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
WO2009072102A2 (en) * 2007-12-05 2009-06-11 Densbits Technologies Ltd. System and methods employing mock thresholds to generate actual reading thresholds in flash memory devices
US8607128B2 (en) * 2007-12-05 2013-12-10 Densbits Technologies Ltd. Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications
WO2009072103A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
WO2009074979A2 (en) * 2007-12-12 2009-06-18 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
US8200904B2 (en) * 2007-12-12 2012-06-12 Sandisk Il Ltd. System and method for clearing data from a cache
WO2009078006A2 (en) 2007-12-18 2009-06-25 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
US8443260B2 (en) * 2007-12-27 2013-05-14 Sandisk Il Ltd. Error correction in copy back memory operations
US7865658B2 (en) * 2007-12-31 2011-01-04 Sandisk Il Ltd. Method and system for balancing host write operations and cache flushing
US8972472B2 (en) * 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US9594679B2 (en) * 2008-05-01 2017-03-14 Sandisk Il Ltd. Flash cache flushing method and system
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
KR101510120B1 (ko) 2008-11-21 2015-04-10 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법
EP2189895A1 (en) * 2008-11-24 2010-05-26 Deutsche Thomson OHG Flash based memory comprising a Flash translation layer and method for storing a file therein
US20100169540A1 (en) * 2008-12-30 2010-07-01 Sinclair Alan W Method and apparatus for relocating selected data between flash partitions in a memory device
US8205063B2 (en) * 2008-12-30 2012-06-19 Sandisk Technologies Inc. Dynamic mapping of logical ranges to write blocks
US8452940B2 (en) * 2008-12-30 2013-05-28 Sandisk Technologies Inc. Optimized memory management for random and sequential data writing
US8261009B2 (en) * 2008-12-30 2012-09-04 Sandisk Il Ltd. Method and apparatus for retroactive adaptation of data location
US8819385B2 (en) * 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US20100306451A1 (en) * 2009-06-01 2010-12-02 Joshua Johnson Architecture for nand flash constraint enforcement
US8219776B2 (en) * 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US8516264B2 (en) * 2009-10-09 2013-08-20 Lsi Corporation Interlocking plain text passwords to data encryption keys
US8555141B2 (en) * 2009-06-04 2013-10-08 Lsi Corporation Flash memory organization
US8166258B2 (en) * 2009-07-24 2012-04-24 Lsi Corporation Skip operations for solid state disks
US9063561B2 (en) * 2009-05-06 2015-06-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Direct memory access for loopback transfers in a media controller architecture
US8245112B2 (en) * 2009-06-04 2012-08-14 Lsi Corporation Flash memory organization
US8321639B2 (en) * 2009-12-30 2012-11-27 Lsi Corporation Command tracking for direct access block storage devices
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
WO2010144587A2 (en) * 2009-06-12 2010-12-16 Violin Memory, Inc. Memory system having persistent garbage collection
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8305812B2 (en) * 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8364924B2 (en) * 2009-10-21 2013-01-29 International Business Machines Corporation Achieving a high throughput in a storage cache application using a flash solid state disk
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
US9037777B2 (en) * 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) * 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8341502B2 (en) * 2010-02-28 2012-12-25 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US8862819B2 (en) 2010-03-31 2014-10-14 Kaminario Technologies Ltd. Log structure array
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8516274B2 (en) 2010-04-06 2013-08-20 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US9235530B2 (en) 2010-05-31 2016-01-12 Sandisk Technologies Inc. Method and system for binary cache cleanup
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US20120008414A1 (en) 2010-07-06 2012-01-12 Michael Katz Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US20120317377A1 (en) * 2011-06-09 2012-12-13 Alexander Palay Dual flash translation layer
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
US8687421B2 (en) 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
US20130159602A1 (en) * 2011-12-20 2013-06-20 Bae Systems Controls, Inc. Unified memory architecture
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
KR102050732B1 (ko) * 2012-09-28 2019-12-02 삼성전자 주식회사 컴퓨팅 시스템 및 컴퓨팅 시스템의 데이터 관리 방법
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
WO2014196000A1 (ja) * 2013-06-03 2014-12-11 株式会社日立製作所 ストレージ装置およびストレージ装置制御方法
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9921955B1 (en) * 2013-09-30 2018-03-20 EMC IP Holding Company Flash write amplification reduction
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9230689B2 (en) 2014-03-17 2016-01-05 Sandisk Technologies Inc. Finding read disturbs on non-volatile memories
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
KR102287760B1 (ko) 2014-10-29 2021-08-09 삼성전자주식회사 메모리 시스템 및 상기 메모리 시스템의 동작 방법
KR102252378B1 (ko) 2014-10-29 2021-05-14 삼성전자주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
US9552171B2 (en) 2014-10-29 2017-01-24 Sandisk Technologies Llc Read scrub with adaptive counter management
KR102263046B1 (ko) 2014-10-29 2021-06-09 삼성전자주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
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
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US9449700B2 (en) 2015-02-13 2016-09-20 Sandisk Technologies Llc Boundary word line search and open block read methods with reduced read disturb
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
KR20170011645A (ko) * 2015-07-23 2017-02-02 에스케이하이닉스 주식회사 반도체 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법
KR102491624B1 (ko) * 2015-07-27 2023-01-25 삼성전자주식회사 데이터 저장 장치의 작동 방법과 상기 데이터 저장 장치를 포함하는 시스템의 작동 방법
US9653154B2 (en) 2015-09-21 2017-05-16 Sandisk Technologies Llc Write abort detection for multi-state memories
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US11429296B2 (en) 2020-06-01 2022-08-30 Western Digital Technologies, Inc. Storage system, host, and method for extended and imaginary logical-to-physical address mapping

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100273030B1 (ko) * 1997-04-30 2000-12-01 포만 제프리 엘 이동 클라이언트 컴퓨터 및 플래쉬 메모리 관리

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452311A (en) * 1992-10-30 1995-09-19 Intel Corporation Method and apparatus to improve read reliability in semiconductor memories
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5519847A (en) * 1993-06-30 1996-05-21 Intel Corporation Method of pipelining sequential writes in a flash memory
US5666494A (en) * 1995-03-31 1997-09-09 Samsung Electronics Co., Ltd. Queue management mechanism which allows entries to be processed in any order
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
US5978808A (en) * 1995-12-27 1999-11-02 Intel Corporation Virtual small block file manager for flash memory array
KR20000067864A (ko) * 1996-07-19 2000-11-25 히가시 데쓰로 플래시 메모리 카드
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
JP3680142B2 (ja) * 1997-12-05 2005-08-10 東京エレクトロンデバイス株式会社 記憶装置及びアクセス方法
US6263399B1 (en) * 1998-06-01 2001-07-17 Sun Microsystems, Inc. Microprocessor to NAND flash interface
GB9903490D0 (en) * 1999-02-17 1999-04-07 Memory Corp Plc Memory system
JP2000276883A (ja) * 1999-03-25 2000-10-06 Sanyo Electric Co Ltd 不揮発性メモリの書き込み回路
US6282605B1 (en) * 1999-04-26 2001-08-28 Moore Computer Consultants, Inc. File system for non-volatile computer memory
JP4842417B2 (ja) * 1999-12-16 2011-12-21 ソニー株式会社 記録装置
FR2803080A1 (fr) * 1999-12-22 2001-06-29 St Microelectronics Sa Memoire flash programmable page par page

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100273030B1 (ko) * 1997-04-30 2000-12-01 포만 제프리 엘 이동 클라이언트 컴퓨터 및 플래쉬 메모리 관리

Also Published As

Publication number Publication date
FI20030789A0 (fi) 2003-05-26
KR20040034580A (ko) 2004-04-28
EP1435099A4 (en) 2006-07-19
FI121559B (fi) 2010-12-31
EP1435099A1 (en) 2004-07-07
JP4155463B2 (ja) 2008-09-24
US6678785B2 (en) 2004-01-13
WO2003030180A1 (en) 2003-04-10
US20030065876A1 (en) 2003-04-03
FI20030789A (fi) 2003-07-16
JP2005505818A (ja) 2005-02-24

Similar Documents

Publication Publication Date Title
KR100952135B1 (ko) 순차적 기록만을 사용하는 플래시 관리 시스템
KR100882862B1 (ko) 플렉시블 플래시 파일 시스템을 위한 시스템 및 방법
KR100324028B1 (ko) 비휘발성 메모리에서 파일의 연속 중복기재를 수행하는 방법
JP5295778B2 (ja) フラッシュメモリ管理方法
US8607016B2 (en) FAT analysis for optimized sequential cluster management
JP4004468B2 (ja) 大きなページをサポートするようにさせるための方法およびシステム
US8019932B2 (en) Block management for mass storage
US6567307B1 (en) Block management for mass storage
KR101087906B1 (ko) 파일기록장치
EP2254053A2 (en) Fat analysis for optimized sequential cluster management
US20100169588A1 (en) Optimized memory management for random and sequential data writing
CN103150256B (zh) 提高usb闪存写入性能的方法和器件
JP2009503729A (ja) 論理アドレス空間と直接データファイル方式で動作するインターフェイスシステム
JP4722704B2 (ja) 情報記録媒体、情報記録媒体に対するアクセス装置及びアクセス方法
JP2003308241A (ja) データ記憶装置
KR100703680B1 (ko) 플래시 파일 시스템
JP2009503740A (ja) データファイルを直接記憶する再プログラム可能な不揮発性メモリ内のファイルデータの索引付け
JP2005149620A (ja) 記憶装置およびファイルシステム

Legal Events

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

Payment date: 20130321

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140319

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160318

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee