KR101002978B1 - 플래시 메모리 관리 시스템 및 방법 - Google Patents

플래시 메모리 관리 시스템 및 방법 Download PDF

Info

Publication number
KR101002978B1
KR101002978B1 KR1020087016627A KR20087016627A KR101002978B1 KR 101002978 B1 KR101002978 B1 KR 101002978B1 KR 1020087016627 A KR1020087016627 A KR 1020087016627A KR 20087016627 A KR20087016627 A KR 20087016627A KR 101002978 B1 KR101002978 B1 KR 101002978B1
Authority
KR
South Korea
Prior art keywords
nvm
file
management data
data
user data
Prior art date
Application number
KR1020087016627A
Other languages
English (en)
Other versions
KR20080077668A (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 KR20080077668A publication Critical patent/KR20080077668A/ko
Application granted granted Critical
Publication of KR101002978B1 publication Critical patent/KR101002978B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data
    • 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
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)

Abstract

SIM 카드로서, (a) 사용자 데이터를 저장하기 위한 제 1 NVM; 및 (b) 상기 제 1 NVM과 분리된 것으로서, 사용자 데이터에 연관된 관리 정보를 저장하기 위한 제 2 NVM;을 포함하는 SIM 카드가 제공된다. 바람직하게는, 상기 제 1 NVM은 블록 삭제가능하고, 상기 제 2 NVM은 워드 삭제가능하다. 바람직하게는, 상기 제 1 NVM은 플래시 메모리이고, 상기 제 2 NVM은 EEPROM이다. 바람직하게는, 상기 관리 데이터는 가상 어드레스를 물리적 디바이스 어드레스로 맵핑하기 위한 제 1 NVM의 맵핑 테이블을 포함한다. 바람직하게는, 사용자 데이터와 관리 데이터는 파일 시스템으로 구성된다. 가장 바람직하게는, 관리 데이터는 적어도 하나의 파일 할당 테이블을 포함한다. 가장 바람직하게는, 상기 관리 데이터는 적어도 하나의 파일 디렉토리를 포함하며, 여기서 적어도 하나의 파일 디렉토리는, 파일명, 파일 크기, 파일 속성, 및 파일 섹터의 물리적 어드레스로 구성되는 그룹으로부터 선택된 적어도 하나의 아이템을 포함한다.
Figure R1020087016627
SIM 카드, 사용자 데이터, 제 1 NVM, 관리 정보, 제 2 NVM, 플래시 메모리, EEPROM, 하우징, 스마트카드, 가상 어드레스, 물리적 디바이스 어드레스, 맵핑 테이블, 파일 시스템, 파일 할당 테이블

Description

플래시 메모리 관리 시스템 및 방법{METHOD FOR FLASH­MEMORY MANAGEMENT}
본 발명은 데이터 및 애플리케이션 스토리지를 위한 비휘발성 메모리(NVM)를 사용하는 데이터 처리 시스템 및 상기 스토리지를 관리하는 방법에 관한 것이다. 플래시 및 전기적 소거가능하고 프로그래밍가능한 판독전용 메모리(EEPROM) NVM 모듈 모두를 구비한 인핸스드 스마트카드와 같은 데이터 처리 시스템의 성능과 내구성을 개선하는 시스템 및 방법이 개시된다.
이러한 데이터 처리 시스템의 전형적인 예로는 스마트카드가 있다. 스마트카드는 내장된 집적회로(IC)를 가진 플라스틱 카드이다. 스마트카드는 자기 스트라이프 카드에 대한 개선안으로서 개발되었고, 자기 스트라이프 카드에 대해 다수의 이점을 제공한다. 예를 들면, 스마트 카드의 최대 저장 용량은 자기 스트라이프 카드보다 매우 더 크다. 스마트 카드 애플리케이션에 사용되는 고용량 SIM 카드는 일반적으로 256KB 이상의 메모리 용량을 포함하며, 다수는 64MB 메모리 용량 이상을 포함한다. 플래시 메모리는 이러한 애플리케이션에 사용되는 대중적인 유형의 메모리이다.
스마트카드는 일반적으로 메모리와 마이크로컨트롤러(로직 메모리와 소프트웨어에 연관된)를 포함한다. 스마트카드에 저장된 데이터는 운영체제와 보안 로직 에 의해 제어되는 인터페이스를 통해 액세스된다. 어드밴스드 대용량 스마트카드의 예는 MegaSIM™ 카드(이스라엘 크파 사바의 msystems Ltd.로부터 구매가능한)이다. MegaSIM™ 카드는 스마트 카드 공급자로 하여금 MMS(즉, 멀티미디어 메시징 서비스), MP3(즉, 미디어 플레이어 3 표준), 및 비디오 파일을 다운로드하고, 풀 개인 정보 관리(PIM) 기능을 제공하고, 고해상도 이미지 저장을 할 수 있는 것과 같은 다양한 개선된 모바일 서비스를 위해 SIM( 외부 메모리 카드 스토리지에 대비되는)에서의 스토리지 용량을 제공하도록 할 수 있다.
고 용량 SIM 카드는 추가 스토리지 메모리를 가진 표준 SIM 카드이다. EEPROM은 표준 SIM 기능의 일부이고, ISO-7816 SIM 인터페이스를 통해 관리되는 SIM 데이터 파일을 유지하기 위해 사용된다. 이러한 데이터는 암호화 키와 SIM 기반 접촉 리스트를 포함한다. 상기 EEPROM은 SIM 컨트롤러의 일부이고, 이는 상기 스토리지 메모리보다 더 안전하기 때문에, 상기 EEPROM은 높은 보안성 컴포넌트로 간주된다. 상기 스토리지 메모리는 일반적으로 특별한 보안 메커니즘을 가지지 않은 상용 플래시 메모리이다. 상기 스토리지 메모리는 고속 인터페이스(예를 들면, MMC, SD, 및 USB)를 통해 액세스가능하고, 그림, 음악, 비디오, 및 애플리케이션과 같은 사용자 데이터를 저장하기 위해 사용된다. EEPROM과는 달리, 스토리지 메모리는 일반적으로 표준 FAT(파일 할당 테이블) 파일 시스템으로서 포맷되고, 이는 SIM 카드 자체가 아니라, 호스트 디바이스(예를 들면 휴대전화)의 운영체제에 의해 관리된다.
도 1은 종래-기술의 데이터 처리 시스템: 고용량 SIM 카드(18)의 간략화된 개략적인 블록도이다. 고용량 SIM 카드(18)는 SIM 버스(4)를 통해 다수 유형의 메모리에 연결되는 SIM CPU(2)를 포함한다. RAM(6)은 주로 임시 데이터 저장을 위해 사용되는 비휘발성 메모리이다. RAM(6)은 또한 애플리케이션 캐시로서 사용된다. ROM(8)은 운영체제와 애플리케이션을 저장하기 위해 사용되는 영구적인 소거되지 않는 스토리지이다. 일부 시스템은 로딩된 소프트웨어를 변경하고 확장하는 유연성을 제공하기 위해 ROM(8) 대신에 소거가능한 메모리 스토리지를 구현한다.
EEPROM(10)은 바이트-프로그래밍가능한 전기소거가능한 NVM이다. EEPROM(10)은 주로 반영구적인 데이터뿐만 아니라, 설정에 연관된 정보를 저장하고, 애플리케이션에 따라 사용된다. 대용량 NAND 형 플래시 메모리(12)는 또한 전기적으로 소거가능한 NVM이지만, 플래시 메모리(12)는 상기 EEPROM(10)보다 크기면에서 매우 더 크다. 플래시 메모리(12)는 일반적으로 그림, 음악, 비디오 및 데이터 베이스(예를 들면, 전화번호부)와 같은 대용량 데이터 스토리지에 사용된다. EEPROM(10)은, 워드(즉 기록될 수 있는 최소 비트수)가 기록될 때 마다, 워드가 삭제된다는 의미에서, "워드 바이 워드"로 삭제가능하다. 일부 EEPROM은 또한 보다 빨리 기록하는 것을 보조하는 선택적인 블록-삭제 명령어를 제공한다. 이것은 "블록-바이-블록"으로만 삭제가능한 플래시 메모리(12)와 반대되는 것이다. 2 개의 인터페이스가 데이터 처리 시스템을 외부 디바이스(예를 들면 휴대 전화)와 연결하는 데에 사용된다. 고속 인터페이스(14A)가 고용량 스토리지에 액세스하기 위해 사용되고, 저속 인터페이스(14B)는 레거시 디바이스에 연결하기 위한 ISO 7816 인터페이스이다.
컴포넌트(SIM CPU(2), SIM 버스(4), RAM(6), ROM(8), EEPROM(10), 플래시 메모리(12), 및 인터페이스(14A, 14B))가 하우징(16)내에 배치된다. 플래시 메모리(12)는 사용자 데이터(20), 플래시-메모리 관리 데이터(22), FAT(24), 및 파일-메타데이터 디렉토리(26)를 포함한다. 어디에 각 유형의 정보(즉, 사용자 데이터(20) 또는 관리 데이터(22)로 된)를 저장할지를 판정하는 로직은 디바이스 리소스를 관리하기 위한 SIM CPU(2)에 의해 핸들링된다.
고용량 SIM 카드(18)는 폰 버스(30)에 연결되어 동작되는 고속 인터페이스(14B)를 가지고 휴대전화(28)에 배치된다. 휴대 전화(28)는 전화 동작을 수행하기 위한 폰 CPU(32), 사용자 인터페이스 컴포넌트(예를 들면 키패드, 마이크로폰, 스피커 및 화면)를 표시하는 I/O(34), 및 플래시 메모리(12)에서의 스토리지를 관리하는 운영체제(38)를 저장하는 메모리(36)를 구비한다.
실리콘 기반의 2 개의 주된 유형의, NVM이 본 발명에 연관된다:
(1) EEPROM 디바이스는 플로팅 게이트 트랜지스터로 만들어진 NVM이다. EEPROM 디바이스는 랜덤 액세스 메모리(RAM)와 유사하게 동작하지만; EEPROM의 기록 시퀀스는 RAM 보다 더 느리고, 각 위치로의 기록의 수는 100,000으로 제한된다.
(2) 플래시 메모리 디바이스는, 플래시 메모리가 비휘발성이고, 전기적으로 소거가능하고, 프로그래밍 가능하며, 플래시 유형 및 플로팅 게이트 트랜지스터로 만들어진 판독전용 메모리라는 점에서 EEPROM 디바이스와 유사하다. 그러나, 플래시 디바이스는 물리적 어드레스 레벨에서 그것들이 매우 복잡한 비트를 사용한다는 특정한 제한을 가진다. 플래시 디바이스에서, 그 영역을 미리 삭제하는 동작을 하 지 않고서는 메모리의 이전에 기록된 영역에 재기록할 수 없으며, 이는 플래시 셀은 그것들이 다시 프로그래밍 될 수 있기 전에 반드시 삭제되어야 된다(예를 들면 "1의 로직"으로 프로그래밍된다)는 것을 의미한다. EEPROM 셀은 또한 이러한 삭제 동작을 필요로한다. 상기의 차이는, EEPROM에서, 삭제 동작은 기록 동작의 일부로서, 상기 디바이스에 의해 내부적으로 수행된다는 것이다.
플래시 디바이스는 NAND형 플래시 디바이스와 NOR 형 플래시 디바이스로 더 분할 된다. NAND 형과 NOR 형 디바이스 사이의 주된 차이는 NAND 형 디바이스가 블록 판독 액세스에 대해 한정되는 반면, NOR 형 디바이스는 랜덤 판독 액세스를 가진다는 것이다. 플래시 디바이스 상의 삭제는 현재 상용 NAND 형 디바이스에서 일반적으로 16-128 Kb 크기인(NOR 형 디바이스는 더 큰 삭제 블록을 가진다) 대개 "삭제 블록"이라고 하는, 상대적으로 큰 그룹의 셀에 대해서만 실행될 수 있다. 따라서, 단일 바이트 콘텐츠, 또는 킬로 바이트 부분의 업데이트는 "하우스키핑" 동작을 필요로한다(즉, 업데이트될 삭제 블록의 모든 섹션은 먼저 그것들이 삭제동안 보존되고, 상기 섹션들은 선택적으로 자신의 원래 위치로 다시 이동하도록 하기 위해 이동되어야한다).
또한, NAND 형 디바이스 블록은 대개 일부 "배드 블록"을 포함한다. 이러한 블록은 신뢰할 수 없고, 그것들의 사용은 방지되어야 한다. 블록들은 최초 디바이스 테스트동안 제조업체에 의해 배드로서 지정되고, 블록의 장애가 필드에서의 디바이스 사용동안 검지될 때는 애플리케이션 소프트웨어에 의해 추후에 지정된다. 플래시 디바이스 특히 NAND 형 디바이스는 보다 높은 밀도를 가지고, EEPROM 디바 이스에 비해 상대적으로 저렴하다. 이것은 플래시 디바이스를 솔리드-스테이트 하드디스크의 대체품으로서 매우 매력적으로 만든다.
종래 기술의 플래시 디바이스에서의 제한을 극복하기 위해, 플래시 파일 시스템(FFS)이 본 발명의 출원인에게 양도되고, 본문에 설명을 위해 그 전체가 통합된, Ban의 미국 특허 제 5,404,485(이하 Ban의 '485라고 함)에 개시된다. FFS는 플래시 디바이스가 자기 디스크를 에뮬레이트하도록 하는 플래시 디바이스에서의 데이터 스토리지 및 조작 시스템을 제공한다. 종래 기술에서, 애플리케이션 또는 운영체제는 물리적 어드레스가 아닌 가상 어드레스를 이용하는 플래시 스토리지 서브-시스템과 상호작용한다. 가상 어드레스로부터 물리적 어드레스로의 맵핑을 제공하는 소프트웨어 애플리케이션과 물리적 디바이스 사이의 중간 레이어가 있다.
소프트웨어가 제한없이 랜덤하게 판독 또는 기록될 수 있는 인접한 결함없는 매체를 가지는 것으로 상기 스토리지 시스템을 도시하지만, 물리적 어드레싱 설계는 상기 설계의 어드레스 범위에서 "홀"을 가지며(예를 들면 배드 블록에 기인하여), 가상 어드레스 범위에서 서로 인접한 데이터 부분은 물리적 어드레스 범위에서 분리되어 있다. 상술한 맵핑을 수행하는 중간 레이어는 소프트웨어 드라이버이다. 일반적인 스마트카드에서, 상기 드라이버는 스마트카드에 내장된 CPU에서 실행된다. 또는, 상기 중간 레이어는 플래시 디바이스를 제어하고, 호스트 컴퓨터가 상기 스토리지에 액세스할 때 상기 호스트 컴퓨터의 메인 CPU에 대한 인터페이스로서 기능하는 컨토롤러 내에 내장된다.
상기의 어드레스 맵핑을 수행하는 소프트웨어 또는 펌웨어 구현은 일반적으 로 "플래시 관리 시스템" 또는 "플래시 파일 시스템"이라고 한다. 후자의 용어는 하드디스크 소프트웨어 드라이버에 의해 익스포팅되는 것과 유사한 블록 디바이스 인터페이스를 지원하기 보다는, 상기 구현들이 개인용 컴퓨터의 운영체제에서 사용되는 파일의 의미로 "파일"을 필수적으로 지원하는 것이 아니기 때문에 오칭이다.
모든 유형의 실리콘 기반 NVM은 마모로 곤란을 겪는다. 이것은 특정한 수의 기록/삭제 사이클 후에 연관된 블록 또는 바이트가 기능불량을 겪을 가능성이 높다는 것을 의미한다. 일반적인 데이터 사이클링의 수(데이터 내구성이라고 하는)는 100,000 삭제/기록 사이클이고, 그 후에 그 기억장소가 더이상 삭제될 수 없는 가능성은 높아진다.
상술한 플래시 관리 시스템을 이용하는 종래 기술의 디바이스는 관리정보(예를 들면 맵핑 정보)를 유지관리하기 위해 플래시 메모리의 섹션을 보존한다. 플래시 디바이스가 새로운 데이터로 업데이트될 때마다, 상기 동작은 실제 데이터를 기록하고 상기 업데이트된 관리 정보를 다시 기록하는 것을 포함한다. 상기 프로세스는 상기 2 개의 기록 동작이 연속하여 수행되어야하기 때문에 기록 프로세스를 느리게 한다. 관리 정보를 저장하기 위해 플래시 영역을 이용하는 것의 또다른 단점은 플래시 메모리의 블록 액세스 특성에 기인한다. 단일 바이트의 업데이트는 전체 페이지의 기록 동작 및 블록 삭제 동작을 포함하며, 이것은 상기 프로세스를 더 느리게 한다.
고려해야할 또다른 팩터는 데이터 처리 시스템이 일반적으로 파일명, 크기, 속성(예를 들면 액세스 허가) 및 파일 데이터를 유지하는 적어도 하나의 섹터의 물 리적 어드레스를 포함하는 파일 메타 데이터에 연관된 파일로 데이터를 구성한다는 사실이다. 상기 파일의 메타 데이터는 파일에 대한 스토리지 어드레스의 할당을 기록하는 디렉토리 및 FAT에 유지된다. 종래 기술의 시스템은 동일한 데이터-스토리지 디바이스 내에 상기 목적으로 할당된 메모리 영역에 상기 FAT를 유지한다. 새로운 파일을 기록하거나 또는 기존 파일을 업데이트하는 것은, 실제 데이터 기록을 위한 동작, 즉 상기 디렉토리로의 기록을 위한 동작, 및 FAT로의 기록을 위한 또다른 동작으로 된 다수의 연속한 기록 동작들을 포함한다. 스토리지 디바이스가 플래시 디바이스라면, 상술한 바와 같이, 상기 기록 동작 각각은 실제로는 2 개의 기록 동작, 실제 섹터에 기록하기 위한 동작과 플래시 관리 데이터를 업데이트하기 위한 동작을 포함한다. 관리 디렉토리 업데이트가 수바이트 만을 기록하는 것을 필요로 한다고 하더라도, 플래시 메모리에 기록하는 것은 항상 전체-페이지 기록 동작과 블록-삭제 동작을 필요로한다.
Chen의 미국 특허 6,456,528에 개시된 종래 기술은 FAT 데이터를 2 개의 상이한 정보 저장 방법을 가진 동일한 디바이스내에서의 기억장소로 기록하는 것을 제시한다. 상기 종래 기술은 하나의 방법을 이용하여 FAT를 저장하고, 다른 방법을 이용하여 데이터를 저장하는 이점을 개시한다. 그러나 상기 종래 기술은 데이터와 관리 데이터 모두를 위해 동일한 스토리지 디바이스를 이용한다. 상기 종래 기술은 2 개의 연속 기록 동작의 문제와, 본 출원에서 개시한 것과 같은 전체-페이지 업데이트에 대한 필요성을 해결하지 못한다.
종래 기술 시스템의 또다른 예는 Auclair 및 Harari의, 미국 특허 5,778,418 에 기술된다. 상기 특허는 상기 디스크의 성능 향상을 위해 솔리드-스테이트 메모리 디바이스와 회전 디스크의 조합을 교시한다. 상기 특허는 기계적 하드 드라이브 또는 솔리드-스테이트 메모리 디바이스 중 어느 하나에서의 로직-섹터 어드레스와 물리적 데이터 스토리지 기억장소 사이를 맵핑하는 것을 기술한다. 상기 종래 기술 시스템은 본 출원에서 기술한 바와 같은 상기 디바이스에 기록되기 위한 관리에 연관된 데이터와 실제 데이터 사이의 차동에 의해 기록 동작의 효율을 개선하는 문제를 처리하지 못한다.
2 개의 개별 스토리지 디바이스를 이용하는 시스템을 구비하는 것이 바람직하다. 이러한 시스템은 상술한 2 개의 기록 동작(사용자 데이터에 대한 동작과 관리 데이터에 대한 동작)이 병렬로 수행되도록 하여, 그에 의해 성능을 개선하도록 한다.
명료화를 위해, 하기의 다수 용어가 본 출원의 문맥내에서 사용하기 위해 고유하게 정의된다. "맵핑 테이블"이라는 용어는 본 문에서 플래시 파일 시스템(FFS) 관리 정보를 가리키기 위해 사용된다. 상기 "파일 메타 데이터"라는 용어는 본 문에서 파일 시스템(FS) 관리 정보를 가리키기 위해 사용된다. 상기 "관리 데이터"라는 용어는 본 문에서 FFS 또는 FS 소프트웨어 모듈에 의해 사용되는 관리정보를 가리키기 위해 사용된다.
"사용자 데이터"라는 용어는 본 문에서 사용자에 의해 저장되는 실제 파일을 를 가리키기 위해 사용된다. 본 발명은 단일-레벨-셀(SLC) 플래시 메모리와 멀티-레벨-셀(MLC) 플래시 메모리 모두에 적용한다. 후속하는 논의가 주로 SLC셀에 초점을 맞추었지만, 본 발명이 MLC 셀에 어떻게 적용하는지 당업자에게는 명확할 것이다. "삭제" 및 "기록"이라는 용어는 본 문에서 메모리 셀의 임계 전압을 설정하는 것을 가리키기 위해 사용되고, 여기서 삭제는 일반적으로 1의 로직 값에 대응하는 전압을 설정하고, SLC의 경우에, 기록은 일반적으로 0의 로직값에 대응하는 전압을 설정한다. 상기 "기록" 및 "프로그래밍"이라는 용어는 본 문에서 상호교환가능하게 사용된다.
"고용량 SIM 카드"라는 용어는 본 문에서, 상술한 레거시 SIM 카드 기능에 추가하여, 일반적으로 이미지 및 음악 파일저장에 사용되는 대용량(즉, 256KB 이상, 바람직하게는 64MB이상)의 메모리 스토리지(예를 들면 플래시 메모리)를 포함하는 SIM 카드를 가리키기 위해 사용된다. 고용량 SIM 카드는 일반적으로 상기 대용량 스토리지에 액세스하기 위해 SD™(보안 디지털™) 또는 MMC(멀티미디어 카드) 인터페이스와 같은 고속 인터페이스를 구비한다.
본 발명의 목적은 플래시와 EEPROM NVM 모듈 모두를 구비하는 고용량 SIM 카드와 같은 데이터 처리 시스템의 성능 및 내구성 모두를 개선한 시스템 및 방법을 제공하는 것이다.
2 가지 상이한 유형의 관리 애플리케이션이 본 발명에 포함된다:
(1) 플래시 파일 시스템(FFS)(그 명칭에도 불구하고, 파일과는 상관없음)은 블록 디바이스로서 플래시 메모리를 관리한다. FFS는 마모 평준화, 오류 검지 및 보정을 핸들링하고, 필요할 때 삭제 동작을 수행한다. FFS는 논리적으로 가상 어드레스를 물리적 디바이스 어드레스로 맵핑하는(즉, 상기 섹터 번호는 논리적/가상 어드레스(즉, 섹터 번호)에 대해 현재 할당되는 물리적 어드레서로 변환하는) 맵핑 테이블을 유지관리한다.
(2) 파일 시스템(FS)은 일반적으로 사용하는 운영체제의 일부이다. FS는 디렉토리 영역과 파일 할당 테이블(FAT)에 파일 메타 데이터(파일명, 파일 속성을 포함)를 저장한다.
본 발명에 따르면, 플래시 메모리 모듈이 데이터 저장에 사용되는 반면, 관리 데이터의 일부(또는 전부)가 EEPROM 모듈에 저장된다. 하기의 주요 개선 사항은 EEPROM에 FFS 맵핑 테이블을 저장함으로써 달성된다:
(a) 향상된 성능: 대부분의 경우, 수 바이트만이 기록될 필요가 있다. 매핑 테이블이 플래시 메모리에 저장되었다면, 전체 페이지는 플래시 메모리로 기록이 될 때마다 재기록될 것이다. 추가로, 가용한 빈 페이지가 없다면, 상기 동작은 상기 프로세스가 더 느려지게 만드는 블록 삭제 동작을 포함한다.
(b) 더 낮은 메모리 마모: 오직 수 바이트만이 일반적인 관리 데이터 업데이트에 포함되기 때문에, EEPROM을 사용하는 것은 전체 페이지를 재기록할 필요성을 제거한다.
(c) 간략화된 보다 효율적인 FFS 관리: 상기 FFS 관리 애플리케이션은 전체 페이지로 액세스할 필요없이 EEPROM에서의 연관된 바이트에 직접 액세스할 수 있다.
본 발명의 추가적인 개선은 플래시 메모리 대신에 EEPROM에 파일 메타 데이터, 또는 고유하게 FAT를 저장함으로써 달성될 수 있다. 상기 FAT는 일반적으로 파일이 업데이트될 때마다 업데이트된다. 본 발명은 상기 FAT 저장을 위해 바이트 액세스된 메모리(EEPROM)을 이용한다. 이것은 플래시 메모리 대신에 EEPROM에 매핑 테이블 정보를 저장함으로써 달성되는 것과 유사한 향상된 성능과 더 낮은 마모를 가져온다.
본 발명은 임의의 플래시 기반 데이터 스토리지 시스템에 유용하지만, EEPROM이 일번적으로 다른 이유로 제공되는 고용량 SIM 카드에서 특히 유용하다. 본 발명은 플래시 메모리의 특정한 관리 방법에 한정되지 않음에 유의해야 한다. 임의의 플래시 관리 알고리즘이 상기 파일 메타 데이터를 EEPROM에 배치시키고 사용자 데이터를 플래시 메모리에 배치시킴으로써 향상된다.
따라서, 본 발명에 따르면, 먼저 SIM 카드로서, (a) 사용자 데이터를 저장하기 위한 제 1 NVM; 및 (b) 상기 제 1 NVM과 분리된 것으로서, 사용자 데이터에 연관된 관리 정보를 저장하기 위한 제 2 NVM;을 포함하는 SIM 카드가 제공된다.
바람직하게는, 상기 제 1 NVM은 블록 삭제가능하고, 상기 제 2 NVM은 워드 삭제가능하다.
바람직하게는, 상기 제 1 NVM은 플래시 메모리이고, 상기 제 2 NVM은 EEPROM이다.
바람직하게는, 상기 카드는: (c) 상기 제 1 NVM과 제 2 NVM을 수용하기 위한 하우징을 더 포함한다. 가장 바람직하게는, 상기 하우징은 스마트카드 ID1 또는 ID-000 폼 팩터를 구비하도록 구성된다.
바람직하게는, 상기 관리 데이터는 가상 어드레스를 물리적 디바이스 어드레스로 맵핑하기 위한 제 1 NVM의 맵핑 테이블을 포함한다.
바람직하게는, 사용자 데이터와 관리 데이터는 파일 시스템으로 구성된다.
가장 바람직하게는, 관리 데이터는 적어도 하나의 파일 할당 테이블을 포함한다.
가장 바람직하게는, 상기 관리 데이터는 적어도 하나의 파일 디렉토리를 포함하며, 여기서 적어도 하나의 파일 디렉토리는, 파일명, 파일 크기, 파일 속성, 및 파일 섹터의 물리적 어드레스로 구성되는 그룹으로부터 선택된 적어도 하나의 아이템을 포함한다.
본 발명에 따르면, 먼저 SIM 카드에서 데이터 관리를 위한 방법으로서, (a) 카드에 저장될 사용자 데이터를 수신하는 단계; (b) 상기 사용자 데이터를 제 1 NVM에 기록하는 단계; 및 (c) 사용자 데이터에 연관된 관리 데이터를 상기 제 1 NVM과 분리된 제 2 NVM에 기록하는 단계;를 포함하는 방법이 제공된다.
바람직하게는, 상기 관리 데이터는 가상 어드레스를 물리적 디바이스 어드레스로 매핑하는 제 1 NVM의 맵핑 테이블을 포함한다.
바람직하게는, 상기 사용자 데이터와 관리 데이터는 파일 시스템으로 구성된다.
가장 바람직하게는, 상기 관리 데이터는 적어도 하나의 파일 할당 테이블을 포함한다.
가장 바람직하게는, 상기 관리 데이터는 적어도 하나의 파일 디렉토리를 포함하며, 여기서 적어도 하나의 파일 디렉토리는, 파일명, 파일 크기, 파일 속성, 및 파일 섹터의 물리적 어드레스로 구성되는 그룹으로부터 선택된 적어도 하나의 아이템을 포함한다.
본 실시예 및 추가 실시예는 상세한 설명와 하기의 예시로부터 명확하게 될 것이다.
본 발명은 예시의 방식으로써만, 첨부 도면을 참조하여 본문에 기술된다.
도 1은 종래 기술의 데이터 처리 시스템의 간략화된 개략적인 블록도,
도 2는 본 발명의 바람직한 실시예에 따른, 일반적인 데이터 처리 시스템의 간략화된 개략적인 블록도, 및
도 3은 본 발명의 바람직한 실시예에 따른, 메모리 디바이스 드라이버의 일부로서 구현된 기록 섹터의 일반적인 동작 프로시저의 플로우 차트이다.
본 발명의 데이터 처리 시스템의 성능과 내구성 모두를 개선하는 시스템 및 방법에 관한 것이다. 본 발명에 따르면, 데이터 처리 시스템의 성능 및 내구성 모두를 개선하기 위한 원리와 동작은 첨부한 설명과 도면을 참조하여 더 잘 이해될 것이다.
도면을 참조하면, 도 2는 본 발명의 바람직한 실시예에 따른 일반적인 데이터 처리 시스템의 간략화된 개략적인 블록도이다. 특히 도 2는 본 발명의 원리에 따라 변형된 도 1의 고용량 SIM 카드를 도시한다. SIM 버스(4)는 다양한 유형의 메모리를 연결한다. RAM(6)은 임시 데이터 스토리지에 주로 사용되는 비휘발성 메모리이다. RAM(6)은 또한 애플리케이션 캐시로서 사용된다. ROM(8)은 운영체제 및 애플리케이션을 저장하기 위해 사용되는 영구적인 삭제불능 스토리지이다. 일부 시스템은 로딩된 소프트웨어를 변경하고 향상시키는 유연성을 제공하기 위해 ROM(8) 대신에 소거가능한 메모리 스토리지를 구현한다. 본 발명에 의해 지정된 바와 같이, 관리 데이터(22), FAT(24) 및 파일 메타 데이터 디렉토리(26)가 EEPROM(10)에 저장되는 반면(도 1에 도시된 구성과 반대로), 사용자 데이터(20)는 플래시 메모리(12)에 저장된다.
EEPROM(10)은 바이트로 프로그래밍가능한 전기적으로 소거가능한 NVM이다. EEPROM(10)은 구성에 연관된 정보를 저장하고, 애플리케이션에 따라 반영구적인 데이터를 저장하는 데에 사용된다. 그러나, 종래 기술에 공통인 EEPROM(10)의 사용에 추가하여, 본 발명의 EEPROM(10)은 또한 플래시 메모리 관리 데이터(22), FAT(24), 및파일 메타 데이터 디렉토리(26)를 저장한다. 플래시 메모리(12)는 또한 전기적으로 소거가능한 NVM이지만, 플래시 메모리(12)는 상기 EEPROM(10)에 비해 크기가 매우 더 크다. 플래시 메모리(12)는 일반적으로 그림, 음악, 비디오, 및 데이터베이스(예를 들면, 전화번호부)와 같은 대용량 데이터 스토리지에 사용된다. 인터페이스(14A 및 14B)는 데이터 처리 시스템에 외부 디바이스(예를 들면 휴대 전화)를 연결하기 위해 사용된다. 상기 컴포넌트(버스(4), ROM(8), EEPROM(10), 플래시 메모리(12), 및 인터페이스(14A 및 14B))는 하우징(16) 내에 배치된다. 바람직한 실시예에서, 하우징(16)은 스마트카드 폼 팩터(예를 들면 스 마트카드 ID1 또는 ID-000)를 구비한다.
도 3은 본 발명의 바람직한 일 실시예에 따른, 메모리 디바이스 드라이버의 일부로서 구현되는 기록 섹터의 일반적인 동작 프로시저의 플로우 차트이다. 도 3에 도시된 동작 프로시저를 기술할때, 보다 명확히 하기 위해 도 2에 도시된 컴포넌트를 참조한다. 상기 예는 EEPROM(10)에 관리 데이터(22)와 FAT(24)를 유지하는 반면, 다른 파일 메타 데이터와 사용자 데이터(20)는 플래시 메모리(12)에 저장되는 시스템을 예시한다. 파일 시스템 명령어(예를 들면 파일 기록, 파일 삭제, 파일 생성, 디렉토리 생성)는 인터페이스(예를 들면 도 2에 도시된 스마트카드 인터페이스(14A 및 14B))를 통해 디바이스에 의해 수신되고, 상기 디바이스는 섹터 상에서 동작을 초기화한다(블록(40)). 동작 요청에 의해 정의된 것과 같은, 섹터 번호는 상기 섹터 번호가 FAT(24)에 속하는지 여부를 판정하기 위해 검사된다(블록(42)).
상기 알고리즘을 실행하는 펌웨어는 FAT 구조와 물리적 위치를 인지하는 것으로 가정한다. 상기 알고리즘을 실행하는 펌웨어가 FAT 구조와 물리적 위치를 인지하지 못하면, 상기 단계(블록(42))는 스킵되고, 모든 섹터는 비-FAT로 처리된다. 상기 섹터가 본 발명에 따라 EEPROM(10)에 저장된 FAT(24)의 일부인 것으로 식별되면, FAT(24)는 업데이트된다(블록(44)). 본 경우에, 데이터가 플래시 메모리(12)에 기록될 필요가 없고, 상기 프로세스는 종료한다(블록(46)). 상기 섹터가 FAT 섹터가 아니라면, 펌웨어는 사용자 데이터(20) 저장을 위한 빈 영역을 할당할 필요가 있다(블록(48)). 사용자 데이터(20)를 위한 빈영역이 있다면, 상기 펌웨어는 사용자 데이터(20)를 플래시 메모리(12)로 기록하고(블록(50)), EEPROM(10)에서의 관리 데이터(22)를 업데이트한다(블록(52)). 동작(50, 52)은 모두 실질상 병렬로 수행되고, 그런다음 상기 프로세스는 종료한다(블록(54)).
스마트카드 구현에서, 상기는, EEPROM(10)내의 관리 데이터(22)를 업데이트 하기전에 사용자 데이터(20)가 실제로 플래시 메모리(12)에 기록될 때까지 CPU(2)가 대기할 필요가 없다는 것을 의미한다. 가용한 빈 공간이 없다면, 펌웨어는 미사용 블록을 삭제하고, 사용자 데이터(20)를 플래시 메모리(12)에서 압축하는 것을 포함하는 "하우스 키핑" 동작을 수행한다(블록(56)). 추가로, 관리 데이터(22)는 블록(56)에서 수행된 사용자 데이터(20)의 재배치를 반영하기 위해 EEPROM(10)에서 업데이트된다(블록(58)). 동작(블록(56 및 58))은 모두 병렬로 수행된다(즉, CPU(2)가 EEPROM(10)의 관리데이터(22)를 업데이트(블록(58)) 하기전에 플래시 연관 동작(블록(56))이 종료하는 것을 상기 CPU(2)는 대기하지 않는다).
미사용 블록의 삭제 단계(블록(56))는 하기의 이유로 필수적이다. 플래시 메모리(12)에 기록하기 위해, 기록될 모든 비트의 블록이 1의 로직을 가져야한다는 것을 보장할 필요가 있다. 상기 기록 동작은 1의 로직으로부터 0의 로직으로 각각의 전압 레벨을 변경할 수 있다(0의 로직에서 1의 로직으로의 변화는 삭제동작에 의해 수행된다). 블록이 사용되지 않고 있으면, 상기 블록이 이미 삭제되었는지 여부가 불분명하다(즉, 블록의 모든 비트가 1의 로직을 가진다). 일반적으로, 미사용 블록은 미리 삭제되지 않는다.
본 발명이 제한된 수의 실시예에 대해 기술되었지만, 본 발명의 다수의 변 경, 변형, 및 기타 응용이 이루어질 수 있음이 이해될 것이다.

Claims (15)

  1. 가입자 식별 모듈(SIM) 카드로서,
    (a) 사용자 데이터를 저장하도록 배열된 제 1 비휘발성 메모리(NVM); 및
    (b) 상기 제 1 NVM과 분리된 것으로서, 상기 사용자 데이터에 연관된 관리 데이터를 저장하도록 배열된 제 2 NVM;을 포함하고,
    상기 SIM 카드는 상기 제 2 NVM에 상기 관리 데이터를 저장하는 것과 병렬로 상기 제 1 NVM에 상기 사용자 데이터를 저장하는 것을 실행하도록 배열된 것을 특징으로 하는 가입자 식별 모듈(SIM) 카드.
  2. 제 1 항에 있어서,
    상기 제 1 NVM은 블록 삭제가능하고, 상기 제 2 NVM은 워드 삭제가능한 것을 특징으로 하는 가입자 식별 모듈(SIM) 카드.
  3. 제 1 항에 있어서,
    상기 제 1 NVM은 플래시 메모리이고, 상기 제 2 NVM은 전기적 소거가능하고 프로그래밍가능한 판독전용 메모리(EEPROM)인 것을 특징으로 하는 가입자 식별 모듈(SIM) 카드.
  4. 제 1 항에 있어서, 상기 카드는:
    (c) 상기 제 1 NVM과 제 2 NVM을 수용하기 위한 하우징을 더 포함하는 것을 특징으로 하는 가입자 식별 모듈(SIM) 카드.
  5. 제 4 항에 있어서,
    상기 하우징은 스마트카드 ID1 폼팩터를 포함하도록 구성되는 것을 특징으로 하는 가입자 식별 모듈(SIM) 카드.
  6. 제 4 항에 있어서,
    상기 하우징은 스마트카드 ID-000 폼 팩터를 포함하도록 구성되는 것을 특징으로 하는 가입자 식별 모듈(SIM) 카드.
  7. 제 1 항에 있어서,
    상기 관리 데이터는 가상 어드레스를 물리적 디바이스 어드레스로 맵핑하기 위한 제 1 NVM의 맵핑 테이블을 포함하는 것을 특징으로 하는 가입자 식별 모듈(SIM) 카드.
  8. 제 1 항에 있어서,
    상기 사용자 데이터와 상기 관리 데이터는 파일 시스템으로 구성되는 것을 특징으로 하는 가입자 식별 모듈(SIM) 카드.
  9. 제 8 항에 있어서,
    상기 관리 데이터는 적어도 하나의 파일 할당 테이블을 포함하는 것을 특징으로 하는 가입자 식별 모듈(SIM) 카드.
  10. 제 8 항에 있어서,
    상기 관리 데이터는 적어도 하나의 파일 디렉토리를 포함하고, 여기서 상기 적어도 하나의 파일 디렉토리는, 파일명, 파일 크기, 파일 속성, 및 파일 섹터의 물리적 어드레스중 적어도 하나를 포함하는 것을 특징으로 하는 가입자 식별 모듈(SIM) 카드.
  11. 가입자 식별 모듈(SIM) 카드에서 데이터 관리를 위한 방법에 있어서,
    (a) 상기 SIM 카드에 저장될 사용자 데이터를 수신하는 단계;
    (b) 상기 사용자 데이터를 제 1 비휘발성 메모리(NVM)에 기록하는 단계; 및
    (c) 상기 사용자 데이터에 연관된 관리 데이터를 상기 제 1 NVM과 분리된 제 2 NVM에 기록하는 단계;를 포함하고,
    상기 사용자 데이터를 제 1 NVM에 기록하는 단계는 상기 관리 데이터를 상기 제2 NVM에 기록하는 단계와 병렬로 실행되는 것을 특징으로 하는 SIM 카드에서의 데이터 관리 방법.
  12. 제 11 항에 있어서,
    상기 관리 데이터는 가상 어드레스를 물리적 디바이스 어드레스로 매핑하는 제 1 NVM의 맵핑 테이블을 포함하는 것을 특징으로 하는 SIM 카드에서의 데이터 관리 방법.
  13. 제 11 항에 있어서,
    상기 사용자 데이터와 상기 관리 데이터는 파일 시스템으로 구성되는 것을 특징으로 하는 SIM 카드에서의 데이터 관리 방법.
  14. 제 13 항에 있어서,
    상기 관리 데이터는 적어도 하나의 파일 할당 테이블을 포함하는 것을 특징으로 하는 SIM 카드에서의 데이터 관리 방법.
  15. 제 13 항에 있어서,
    상기 관리 데이터는 적어도 하나의 파일 디렉토리를 포함하고, 여기서 상기 적어도 하나의 파일 디렉토리는, 파일명, 파일 크기, 파일 속성, 및 파일 섹터의 물리적 어드레스중 적어도 하나를 포함하는 것을 특징으로 하는 SIM 카드에서의 데이터 관리 방법.
KR1020087016627A 2005-12-09 2006-12-03 플래시 메모리 관리 시스템 및 방법 KR101002978B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US74868205P 2005-12-09 2005-12-09
US60/748,682 2005-12-09

Publications (2)

Publication Number Publication Date
KR20080077668A KR20080077668A (ko) 2008-08-25
KR101002978B1 true KR101002978B1 (ko) 2010-12-22

Family

ID=38123289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087016627A KR101002978B1 (ko) 2005-12-09 2006-12-03 플래시 메모리 관리 시스템 및 방법

Country Status (7)

Country Link
US (1) US9116791B2 (ko)
EP (1) EP1960887B1 (ko)
JP (1) JP5295778B2 (ko)
KR (1) KR101002978B1 (ko)
CN (1) CN101484882B (ko)
AT (1) ATE518190T1 (ko)
WO (1) WO2007066326A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180063292A (ko) * 2015-10-21 2018-06-11 후아웨이 테크놀러지 컴퍼니 리미티드 데이터 전송 방법, 장치 및 시스템

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070150645A1 (en) * 2005-12-28 2007-06-28 Intel Corporation Method, system and apparatus for power loss recovery to enable fast erase time
US7693486B2 (en) * 2006-05-11 2010-04-06 Nokia Corporation Distributed multiradio controller
US7711373B2 (en) * 2006-05-11 2010-05-04 Nokia Corporation Multiradio control interface
US8190206B2 (en) * 2006-07-04 2012-05-29 Sandisk Il Ltd. Dual channel smart card data storage
DE102006035039B4 (de) * 2006-07-28 2008-10-30 Infineon Technologies Ag Datenverarbeitungssystem und Verfahren zum Betreiben eines Datenverarbeitungssystems
US20080118014A1 (en) * 2006-11-16 2008-05-22 Nokia Corporation Utilizing wake-up signals for synchronizing multiradio timing
US7966355B2 (en) * 2007-02-13 2011-06-21 Modu Ltd. Interface for extending functionality of memory cards
US20090013148A1 (en) 2007-07-03 2009-01-08 Micron Technology, Inc. Block addressing for parallel memory arrays
KR101473344B1 (ko) * 2007-08-24 2014-12-17 삼성전자 주식회사 플래시 메모리를 스토리지로 사용하는 장치 및 그 동작방법
KR100951949B1 (ko) * 2007-11-15 2010-04-09 주식회사 케이티 스마트 카드에서의 데이터베이스 관리 시스템을 이용한정보 관리 방법 및 장치
US8938655B2 (en) * 2007-12-20 2015-01-20 Spansion Llc Extending flash memory data retension via rewrite refresh
US20090172279A1 (en) * 2007-12-28 2009-07-02 Po Yuan System For Accessing A Removable Non-Volatile Memory Card
US20090172393A1 (en) 2007-12-31 2009-07-02 Haluk Kent Tanik Method And System For Transferring Data And Instructions Through A Host File System
US8146153B2 (en) 2007-12-31 2012-03-27 Sandisk Technologies Inc. Method and system for creating and accessing a secure storage area in a non-volatile memory card
TWI397912B (zh) * 2008-02-13 2013-06-01 Genesys Logic Inc 調整存取效能的快閃記憶體儲存裝置
US8868929B2 (en) 2008-04-08 2014-10-21 Microelectronica Espanola S.A.U. Method of mass storage memory management for large capacity universal integrated circuit cards
US8423592B2 (en) 2008-04-11 2013-04-16 Sandisk Technologies Inc. Method and system for accessing a storage system with multiple file systems
US8347046B2 (en) * 2008-04-15 2013-01-01 Microsoft Corporation Policy framework to treat data
US8775548B2 (en) * 2008-06-27 2014-07-08 Microsoft Corporation Extending sharing options of local computing resources
US8984645B2 (en) * 2008-08-20 2015-03-17 Sandisk Technologies Inc. Accessing memory device content using a network
US8428649B2 (en) 2008-08-20 2013-04-23 Sandisk Technologies Inc. Memory device upgrade
US20100131726A1 (en) * 2008-11-26 2010-05-27 Nokia Corporation Methods, apparatuses, and computer program products for enhancing memory erase functionality
US8407401B2 (en) 2008-11-26 2013-03-26 Core Wireless Licensing S.A.R.L. Methods, apparatuses, and computer program products for enhancing memory erase functionality
TW201030514A (en) * 2009-02-04 2010-08-16 Mitac Int Corp Flash memory document system and its driving method
US8112682B2 (en) * 2009-04-23 2012-02-07 Sandisk Il Ltd Method and device for bad-block testing
EP2267725A1 (en) * 2009-06-17 2010-12-29 Gemalto SA Memory device for managing the recovery of a non volatile memory
EP2264602A1 (en) * 2009-06-17 2010-12-22 Gemalto SA Memory device for managing the recovery of a non volatile memory
JP4886831B2 (ja) * 2009-10-15 2012-02-29 株式会社東芝 コンテンツ記録装置、再生装置、編集装置およびその方法
JP5517224B2 (ja) * 2010-03-04 2014-06-11 日本電気株式会社 ストレージ装置
WO2012048098A1 (en) 2010-10-06 2012-04-12 Blackbird Technology Holdings, Inc. Method and apparatus for low-power, long-range networking
US8976691B2 (en) 2010-10-06 2015-03-10 Blackbird Technology Holdings, Inc. Method and apparatus for adaptive searching of distributed datasets
US8718551B2 (en) 2010-10-12 2014-05-06 Blackbird Technology Holdings, Inc. Method and apparatus for a multi-band, multi-mode smartcard
US20120117303A1 (en) 2010-11-04 2012-05-10 Numonyx B.V. Metadata storage associated with flash translation layer
US9104548B2 (en) * 2011-01-21 2015-08-11 Blackbird Technology Holdings, Inc. Method and apparatus for memory management
US9497715B2 (en) 2011-03-02 2016-11-15 Blackbird Technology Holdings, Inc. Method and apparatus for addressing in a resource-constrained network
US9324433B2 (en) 2011-04-25 2016-04-26 Microsoft Technology Licensing, Llc Intelligent flash reprogramming
US8929961B2 (en) 2011-07-15 2015-01-06 Blackbird Technology Holdings, Inc. Protective case for adding wireless functionality to a handheld electronic device
FR2980905B1 (fr) * 2011-09-29 2014-03-14 Continental Automotive France Procede d'effacement d'informations memorisees dans une memoire reinscriptible non volatile, support de memorisation et calculateur de vehicule automobile
CN102521145B (zh) * 2011-12-23 2014-08-20 东信和平科技股份有限公司 Java卡系统及其空间分配处理方法
CN102867019B (zh) * 2012-07-30 2016-01-13 利尔达科技集团股份有限公司 分离式文件系统及其管理方法
US10120792B1 (en) * 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9804961B2 (en) * 2014-03-21 2017-10-31 Aupera Technologies, Inc. Flash memory file system and method using different types of storage media
US10901639B2 (en) * 2016-11-29 2021-01-26 Sap Se Memory allocation in multi-core processors
US20180239532A1 (en) 2017-02-23 2018-08-23 Western Digital Technologies, Inc. Techniques for performing a non-blocking control sync operation
US10359955B2 (en) * 2017-02-23 2019-07-23 Western Digital Technologies, Inc. Data storage device configured to perform a non-blocking control update operation
CN107608636B (zh) * 2017-09-28 2020-07-07 江苏沁恒股份有限公司 一种基于fat文件系统的设计方法及其应用的数据采集装置
CN109358818B (zh) * 2018-10-30 2021-08-03 深圳润迅数据通信有限公司 一种数据中心的块设备io请求处理方法
CN113299333A (zh) 2020-02-21 2021-08-24 硅存储技术股份有限公司 由闪存单元构成的eeprom仿真器中的损耗均衡
US11816349B2 (en) 2021-11-03 2023-11-14 Western Digital Technologies, Inc. Reduce command latency using block pre-erase
TWI796148B (zh) * 2022-02-25 2023-03-11 華邦電子股份有限公司 快閃記憶體抹除方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251617A1 (en) * 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778418A (en) 1991-09-27 1998-07-07 Sandisk Corporation Mass computer storage system having both solid state and rotating disk types of memory
US6549974B2 (en) * 1992-06-22 2003-04-15 Hitachi, Ltd. Semiconductor storage apparatus including a controller for sending first and second write commands to different nonvolatile memories in a parallel or time overlapped manner
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
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
US5971282A (en) * 1995-09-26 1999-10-26 Intel Corporation Personal token card with sensor
JP3525734B2 (ja) * 1997-04-25 2004-05-10 ソニー株式会社 情報記録装置及び方法、情報再生装置及び方法
JP3534585B2 (ja) * 1997-10-21 2004-06-07 株式会社日立製作所 フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置
US6400633B1 (en) * 2000-02-11 2002-06-04 Advanced Micro Devices, Inc. Power-saving modes for memories
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6823417B2 (en) * 2001-10-01 2004-11-23 Hewlett-Packard Development Company, L.P. Memory controller for memory card manages file allocation table
US7003621B2 (en) * 2003-03-25 2006-02-21 M-System Flash Disk Pioneers Ltd. Methods of sanitizing a flash-based data storage device
EP1659497A4 (en) * 2003-08-29 2008-01-23 Matsushita Electric Ind Co Ltd NON-VOLATILE MEMORY BLOCK AND WRITING PROCESS THEREFOR
JP2005108304A (ja) * 2003-09-29 2005-04-21 Toshiba Corp 半導体記憶装置及びその制御方法
US8185705B2 (en) * 2003-10-31 2012-05-22 Panasonic Corporation Information recording medium, information recording medium accessing apparatus and accessing method
JP2005322109A (ja) * 2004-05-11 2005-11-17 Renesas Technology Corp Icカードモジュール
EP3422583B1 (en) * 2004-08-30 2020-07-08 Google LLC Systems and methods for providing nonvolatile memory management in wireless phones
US20060053247A1 (en) * 2004-09-08 2006-03-09 Hugo Cheung Incremental erasing of flash memory to improve system performance
US20060282610A1 (en) * 2005-06-08 2006-12-14 M-Systems Flash Disk Pioneers Ltd. Flash memory with programmable endurance

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050251617A1 (en) * 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180063292A (ko) * 2015-10-21 2018-06-11 후아웨이 테크놀러지 컴퍼니 리미티드 데이터 전송 방법, 장치 및 시스템
KR102209452B1 (ko) 2015-10-21 2021-01-28 후아웨이 테크놀러지 컴퍼니 리미티드 데이터 전송 방법, 장치 및 시스템

Also Published As

Publication number Publication date
KR20080077668A (ko) 2008-08-25
JP5295778B2 (ja) 2013-09-18
WO2007066326A2 (en) 2007-06-14
JP2009525511A (ja) 2009-07-09
EP1960887B1 (en) 2011-07-27
EP1960887A2 (en) 2008-08-27
CN101484882B (zh) 2013-10-02
WO2007066326A3 (en) 2009-03-12
CN101484882A (zh) 2009-07-15
US9116791B2 (en) 2015-08-25
EP1960887A4 (en) 2009-11-25
ATE518190T1 (de) 2011-08-15
US20070136509A1 (en) 2007-06-14

Similar Documents

Publication Publication Date Title
KR101002978B1 (ko) 플래시 메모리 관리 시스템 및 방법
US9842030B2 (en) Data storage device and flash memory control method
KR100952135B1 (ko) 순차적 기록만을 사용하는 플래시 관리 시스템
KR100980309B1 (ko) 호스트 디바이스 및 메모리 시스템
JP4960882B2 (ja) クラスタ自動位置合わせ
US9466383B2 (en) Non-volatile memory and method with adaptive logical groups
KR100923814B1 (ko) 논리적 블록을 분할하기 위한 방법 및 장치
US7395384B2 (en) Method and apparatus for maintaining data on non-volatile memory systems
JP4787266B2 (ja) スクラッチパッドブロック
JP4362534B2 (ja) フラッシュメモリシステムにおけるハウスキーピング操作のスケジューリング
US7681008B2 (en) Systems for managing file allocation table information
US7752412B2 (en) Methods of managing file allocation table information
US7426605B2 (en) Method and apparatus for optimizing flash device erase distribution
JP2006515086A (ja) ブロック内のページをグループ化する方法及び装置
US8090692B2 (en) Method for using an OTP storage device
CN113885808A (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
WO2011036668A1 (en) Methods circuits data-structures devices and system for operating a non-volatile memory device
US8250285B2 (en) Non-volatile dual memory die for data storage devices
KR100982440B1 (ko) 단일 플래시 메모리의 데이터 관리시스템

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
LAPS Lapse due to unpaid annual fee