KR100833188B1 - 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에데이터를 저장하는 불휘발성 메모리 시스템 - Google Patents

데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에데이터를 저장하는 불휘발성 메모리 시스템 Download PDF

Info

Publication number
KR100833188B1
KR100833188B1 KR1020060108382A KR20060108382A KR100833188B1 KR 100833188 B1 KR100833188 B1 KR 100833188B1 KR 1020060108382 A KR1020060108382 A KR 1020060108382A KR 20060108382 A KR20060108382 A KR 20060108382A KR 100833188 B1 KR100833188 B1 KR 100833188B1
Authority
KR
South Korea
Prior art keywords
write data
data
write
address
file system
Prior art date
Application number
KR1020060108382A
Other languages
English (en)
Other versions
KR20080040426A (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 삼성전자주식회사
Priority to KR1020060108382A priority Critical patent/KR100833188B1/ko
Priority to US11/640,304 priority patent/US7676626B2/en
Publication of KR20080040426A publication Critical patent/KR20080040426A/ko
Application granted granted Critical
Publication of KR100833188B1 publication Critical patent/KR100833188B1/ko
Priority to US12/711,461 priority patent/US8214582B2/en

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/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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/064Management of blocks
    • 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
    • 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/068Hybrid storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • 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/7202Allocation control and policies
    • 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/7211Wear leveling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Abstract

데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에 데이터를 저장하는 불휘발성 메모리 시스템이 개시된다. 본 발명에 따른 불휘발성 메모리 시스템은 불휘발성 메모리 셀 어레이, 인터페이스부 및 플래시 트랜지션 레이어를 구비한다. 불휘발성 메모리 셀 어레이는 다수의 멀티-레벨 셀(MLC)들 및 다수의 싱글-레벨 셀(SLC)들을 포함한다. 인터페이스부는 어플리케이션 또는 파일 시스템으로부터 수신된 기입 데이터의 특성을 분석하여 출력한다. 플래시 트랜지션 레이어는 기입 데이터의 특성을 이용하여, 기입 데이터를 멀티-레벨 셀에 기입할 것인지 또는 싱글-레벨 셀에 기입할 것인지 결정한다.

Description

데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에 데이터를 저장하는 불휘발성 메모리 시스템{Non-volatile memory system storing data at single-level cell or multi-level cell based on the feature of data}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 제1실시예에 따른 불휘발성 메모리 시스템을 나타내는 블록도이다.
도 2는 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀로 기입되는 데이터를 결정하는 모습을 나타내는 도면이다.
도 3은 도 1의 파일 시스템 인터페이스와 플래시 트랜지션 레이어의 동작을 나타내는 순서도이다.
도 4는 도 1의 어플리케이션 인터페이스와 플래시 트랜지션 레이어의 동작을 나타내는 순서도이다.
도 5는 본 발명의 제2실시예에 따른 불휘발성 메모리 시스템을 나타내는 블록도이다.
도 6은 도 5의 어플리케이션 데이터 판정부의 동작을 나타내는 순서도이다.
도 7은 도 5의 데이터 블록 히스토리 저장부의 동작을 설명하는 도면이다.
본 발명은 불휘발성 메모리 시스템에 관한 것으로써, 특히 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에 데이터를 저장하는 불휘발성 메모리 시스템에 관한 것이다.
성능과 내구성(endurance)이 좋은 싱글 레벨 셀과 가격면에서 경쟁력이 있는 멀티 레벨 셀의 장점을 이용하기 위하여, 싱글 레벨 셀과 멀티 레벨 셀을 모두 구비하는 불휘발성 메모리 시스템이 제안되고 있다.
그런데, 싱글 레벨 셀과 멀티 레벨 셀을 효율적으로 이용하기 위하여, 데이터를 싱글 레벨 셀과 멀티 레벨 셀 중 어디에 저장할 것인지를 결정하는 아키텍쳐가 요구된다.
본 발명이 이루고자 하는 기술적 과제는 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에 데이터를 저장하는 불휘발성 메모리 시스템을 제공하는 데 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 제1실시예에 따른 불휘발성 메모리 시스템은 불휘발성 메모리 셀 어레이, 인터페이스부 및 플래시 트랜지션 레이어를 구비한다. 불휘발성 메모리 셀 어레이는 다수의 멀티-레벨 셀(MLC)들 및 다수 의 싱글-레벨 셀(SLC)들을 포함한다. 인터페이스부는 어플리케이션 또는 파일 시스템으로부터 수신된 기입 데이터의 특성을 분석하여 출력한다. 플래시 트랜지션 레이어는 상기 기입 데이터의 특성을 이용하여, 상기 기입 데이터를 상기 멀티-레벨 셀에 기입할 것인지 또는 상기 싱글-레벨 셀에 기입할 것인지 결정한다.
상기 인터페이스부는 상기 어플리케이션 및 파일 시스템과 동일한 레이어에 위치할 수 있다. 상기 인터페이스부는 상기 플래시 트랜지션 레이어와 서로 다른 레이어에 위치할 수 있다.
상기 인터페이스부는 파일 시스템 인터페이스를 구비할 수 있다. 파일 시스템 인터페이스는 상기 기입 데이터가 상기 파일 시스템에서 사용되는 데이터인지 판정한 결과를 상기 플래시 트랜지션 레이어로 전달한다. 상기 플래시 트랜지션 레이어는 하이브리드 알고리즘 유닛을 구비할 수 있다. 하이브리드 알고리즘 유닛은 상기 기입 데이터가 상기 파일 시스템에서 사용되는 데이터이면 상기 기입 데이터를 상기 싱글-레벨 셀에 기입하는 것으로 결정하고, 상기 기입 데이터가 상기 파일 시스템에서 사용되는 데이터가 아니라면 상기 기입 데이터를 상기 멀티-레벨 셀에 기입하는 것으로 결정한다. 상기 파일 시스템 인터페이스는 상기 기입 데이터의 주소가 FAT 영역에 포함되는지 및/또는 상기 기입 데이터의 주소가 메타 데이터 영역에 포함되는지 판정한다.
인터페이스부는 어플리케이션 인터페이스를 구비할 수 있다. 어플리케이션 인터페이스는 기입 데이터의 주소가 자주 업데이트되는 주소인지 판정한 결과를 플래시 트랜지션 레이어로 전달한다. 하이브리드 알고리즘 유닛은 기입 데이터의 주 소가 자주 업데이트되는 주소이면 기입 데이터를 싱글-레벨 셀에 기입하는 것으로 결정한다. 반대로, 기입 데이터의 주소가 자주 업데이트되는 주소가 아니라면 기입 데이터를 멀티-레벨 셀에 기입하는 것으로 결정한다.
플래시 트랜지션 레이어는 매핑 유닛을 더 구비할 수 있다. 매핑 유닛은 상기 기입 데이터의 주소를 상기 불휘발성 메모리 셀 어레이의 물리적 주소로 매핑한다.
본 발명의 제2실시예에 따른 불휘발성 메모리 시스템은 불휘발성 메모리 셀 어레이 및 플래시 트랜지션 레이어를 구비한다. 불휘발성 메모리 셀 어레이는 다수의 멀티-레벨 셀(MLC)들 및 다수의 싱글-레벨 셀(SLC)들을 포함한다. 플래시 트랜지션 레이어는 어플리케이션 또는 파일 시스템으로부터 기입 데이터를 수신하고, 기입 데이터의 특성에 따라 기입 데이터를 멀티-레벨 셀에 기입하거나 또는 싱글-레벨 셀에 기입한다.
플래시 트랜지션 레이어는 파일 시스템 데이터 판정부, 어플리케이션 데이터 판정부 및 하이브리드 알고리즘 유닛을 구비할 수 있다. 파일 시스템 데이터 판정부는 파일 시스템으로부터 수신된 기입 데이터가 파일 시스템에서 사용되는 데이터인지 판정한다. 어플리케이션 데이터 판정부는 어플리케이션으로부터 수신된 기입 데이터의 주소가 자주 업데이트되는 주소인지 판정한다. 하이브리드 알고리즘 유닛은 어플리케이션 또는 파일 시스템으로부터 수신된 기입 데이터의 특성을 이용하여, 기입 데이터를 멀티-레벨 셀 및 싱글-레벨 셀 중 어느 곳에 기입할지 결정한다.
플래시 트랜지션 레이어는 데이터 블록 히스토리 저장부를 더 구비할 수 있다. 데이터 블록 히스토리 저장부는 대응되는 데이터 블록의 데이터 블록 번호, 데이터 블록 접근 횟수 및 업데이트된 순서 정보를 각각 가지는 다수의 엔트리들을 포함한다. 어플리케이션 데이터 판정부는 데이터 블록 히스토리 저장부의 정보들을 이용하여, 기입 데이터의 주소가 자주 업데이트되는 주소인지 판정할 수 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 제1실시예에 따른 불휘발성 메모리 시스템을 나타내는 블록도이다.
도 1을 참조하면, 본 발명의 제1실시예에 따른 불휘발성 메모리 시스템(100)은 불휘발성 메모리 셀 어레이(190), 인터페이스부(120) 및 플래시 트랜지션 레이어(150)를 구비한다. 설명의 편의를 위하여, 도 1에는 어플리케이션(110)과 파일 시스템(130)이 같이 도시되었다.
불휘발성 메모리 셀 어레이(190)는 다수의 멀티-레벨 셀(194 ; MLC)들 및 다수의 싱글-레벨 셀(192 ; SLC)들을 포함한다. 인터페이스부(120)는 어플리케이션(110) 또는 파일 시스템(130)으로부터 수신된 기입 데이터의 특성을 분석하여 출 력한다. 플래시 트랜지션 레이어(150)는 기입 데이터의 특성을 이용하여, 기입 데이터를 멀티-레벨 셀(194)에 기입할 것인지 또는 싱글-레벨 셀(192)에 기입할 것인지 결정한다.
인터페이스부(120)는 어플리케이션(110) 및 파일 시스템(130)과 동일한 레이어에 위치하는 것이 바람직하다. 또한, 인터페이스부(120)는 플래시 트랜지션 레이어(150)와 서로 다른 레이어에 위치할 수 있다. 그에 따라, 인터페이스부(120)는 어플리케이션(110)과 파일 시스템(130)을 좀 더 상세하게 분석할 수 있고, 어플리케이션(110)과 파일 시스템(130)으로부터 수신된 기입 데이터의 특성을 상세하게 분석할 수 있다.
인터페이스부(120)는 파일 시스템 인터페이스(145)를 구비할 수 있다. 파일 시스템 인터페이스(145)는 기입 데이터가 파일 시스템에서 사용되는 데이터인지 판정한 결과를 플래시 트랜지션 레이어(150)로 전달한다. 또한, 파일 시스템 인터페이스(145)는 기입 데이터의 주소가 FAT 영역에 포함되는지 및/또는 기입 데이터의 주소가 메타 데이터 영역에 포함되는지 판정한 결과를 플래시 트랜지션 레이어(150)로 전달할 수 있다.
플래시 트랜지션 레이어(150)는 하이브리드 알고리즘 유닛(160)을 구비할 수 있다. 하이브리드 알고리즘 유닛(160)은 기입 데이터가 파일 시스템(130)에서 사용되는 데이터이면 기입 데이터를 싱글-레벨 셀에 기입하는 것으로 결정한다. 반대로, 기입 데이터가 파일 시스템(130)에서 사용되는 데이터가 아니면 기입 데이터를 멀티-레벨 셀에 기입하는 것으로 결정한다.
인터페이스부(120)는 어플리케이션 인터페이스(125)를 구비할 수 있다. 어플리케이션 인터페이스(125)는 기입 데이터의 주소가 자주 업데이트되는 주소인지 판정한 결과를 플래시 트랜지션 레이어(150)로 전달한다.
도 3은 도 1의 파일 시스템 인터페이스와 플래시 트랜지션 레이어의 동작을 나타내는 순서도이다.
도 3을 참조하면, 파일 시스템 인터페이스(145)는 파일 시스템(130)으로부터 기입 데이터를 수신한다(310단계). 파일 시스템 인터페이스(145)는 수신된 기입 데이터가 자주 업데이트되는 데이터인지 판정한다(320단계). 기입 데이터가 자주 업데이트되는 데이터로 판정되면, 파일 시스템 인터페이스(145)는 OFAST 플래그를 플래시 트랜지션 레이어(150)로 전달할 수 있다. 반대로, 기입 데이터가 자주 업데이트되지 않는 데이터로 판정되면, 파일 시스템 인터페이스(145)는 OSLOW 플래그를 플래시 트랜지션 레이어(150)로 전달할 수 있다.
도 4는 도 1의 어플리케이션 인터페이스와 플래시 트랜지션 레이어의 동작을 나타내는 순서도이다.
도 4를 참조하면, 도 3을 참조하면, 어플리케이션 인터페이스(125)는 어플리케이션(110)으로부터 기입 데이터를 수신한다(410단계). 어플리케이션 인터페이스(125)는 수신된 기입 데이터가 메타 데이터 또는 FAT 데이터인지 판정한다(420단계). 기입 데이터가 메타 데이터 또는 FAT 데이터로 판정되면, 어플리케이션 인터페이스(125)는 OFAST 플래그를 플래시 트랜지션 레이어(150)로 전달할 수 있다. 반대로, 기입 데이터가 메타 데이터 또는 FAT 데이터가 아닌 것으로 판정되면, 어플 리케이션 인터페이스(125)는는 OSLOW 플래그를 플래시 트랜지션 레이어(150)로 전달할 수 있다.
플래시 트랜지션 레이어(150)의 하이브리드 알고리즘 유닛(160)은 기입 데이터의 주소가 자주 업데이트되는 주소이면 기입 데이터를 싱글-레벨 셀에 기입하는 것으로 결정한다. 반대로, 기입 데이터의 주소가 자주 업데이트되는 주소가 아니라면 기입 데이터를 멀티-레벨 셀에 기입하는 것으로 결정한다.
도 2는 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀로 기입되는 데이터를 결정하는 모습을 나타내는 도면이다.
FAT 영역에서는 동일한 어드레스에 기입 동작이 자주 발생하는 경우가 많다. 그러므로, FAT 영역의 데이터는 싱글 레벨 셀로 기입되는 것이 바람직하다. 또한, 메타 데이터는 플래쉬 트랜지션 레이어에서 기입 버퍼링, 매핑 등에 이용되는 데이터로서, 자주 업데이트되는 것이 보통이다. 그러므로, 메타 데이터는 싱글 레벨 셀로 기입되는 것이 바람직하다. 그 밖에, 자주 업데이트되는 데이터도 싱글 레벨 셀로 기입되는 것이 바람직하다. 반대로, 일반 유저 데이터는 멀티 레벨 셀로 기입되는 것이 바람직하다.
다시 도 1을 참조하면, 플래시 트랜지션 레이어(150)는 매핑 유닛(170)을 더 구비할 수 있다. 매핑 유닛(170)은 기입 데이터의 주소를 불휘발성 메모리 셀 어레이(190)의 물리적 주소로 매핑한다.
도 5는 본 발명의 제2실시예에 따른 불휘발성 메모리 시스템을 나타내는 블록도이다.
도 5를 참조하면, 본 발명의 제2실시예에 따른 불휘발성 메모리 시스템(500)은 불휘발성 메모리 셀 어레이(590) 및 플래시 트랜지션 레이어(550)를 구비한다. 불휘발성 메모리 셀 어레이(590)는 다수의 멀티-레벨 셀(594 ; MLC)들 및 다수의 싱글-레벨 셀(592 ; SLC)들을 포함한다. 플래시 트랜지션 레이어(150)는 어플리케이션(510) 또는 파일 시스템(530)으로부터 기입 데이터를 수신하고, 기입 데이터의 특성에 따라 기입 데이터를 멀티-레벨 셀(594)에 기입하거나 또는 싱글-레벨 셀(592)에 기입한다.
플래시 트랜지션 레이어(550)는 파일 시스템 데이터 판정부(540), 어플리케이션 데이터 판정부(520) 및 하이브리드 알고리즘 유닛(560)을 구비할 수 있다. 파일 시스템 데이터 판정부(540)는 파일 시스템(530)으로부터 수신된 기입 데이터가 파일 시스템(530)에서 사용되는 데이터인지 판정한다. 어플리케이션 데이터 판정부(520)는 어플리케이션(510)으로부터 수신된 기입 데이터의 주소가 자주 업데이트되는 주소인지 판정한다. 하이브리드 알고리즘 유닛(560)은 어플리케이션(510) 또는 파일 시스템(530)으로부터 수신된 기입 데이터의 특성을 이용하여, 기입 데이터를 멀티-레벨 셀(594) 및 싱글-레벨 셀(592) 중 어느 곳에 기입할지 결정한다.
파일 시스템 데이터 판정부(540)는 기입 데이터의 주소가 FAT 영역에 포함되는지 및/또는 기입 데이터의 주소가 메타 데이터 영역에 포함되는지 판정할 수 있다. 하이브리드 알고리즘 유닛(560)은 기입 데이터가 상기 파일 시스템(530)에서 사용되는 데이터이면 기입 데이터를 싱글-레벨 셀(592)에 기입하는 것으로 결정한다. 반대로, 기입 데이터가 파일 시스템(530)에서 사용되는 데이터가 아니라면 기 입 데이터를 멀티-레벨 셀(594)에 기입하는 것으로 결정한다. 또한, 하이브리드 알고리즘 유닛(560)은 기입 데이터의 주소가 자주 업데이트되는 주소이면 기입 데이터를 싱글-레벨 셀(592)에 기입하는 것으로 결정한다. 반대로, 기입 데이터의 주소가 자주 업데이트되는 주소가 아니라면 기입 데이터를 멀티-레벨 셀(594)에 기입하는 것으로 결정한다.
플래시 트랜지션 레이어(550)는 데이터 블록 히스토리 저장부(미도시)를 더 구비할 수 있다. 데이터 블록 히스토리 저장부(미도시)는 대응되는 데이터 블록의 데이터 블록 번호, 데이터 블록 접근 횟수 및 업데이트된 순서 정보를 각각 가지는 다수의 엔트리들을 포함한다. 어플리케이션 데이터 판정부(520)는 데이터 블록 히스토리 저장부(미도시)의 정보들을 이용하여, 기입 데이터의 주소가 자주 업데이트되는 주소인지 판정할 수 있다.
도 6은 도 5의 어플리케이션 데이터 판정부의 동작을 나타내는 순서도이다.
도 7은 도 5의 데이터 블록 히스토리 저장부의 동작을 설명하는 도면이다.
어플리케이션 데이터 판정부(520)는 수신된 기입 데이터의 논리 블록 번호를 구한다(620단계). 데이터 블록 히스토리 저장부(미도시)의 엔트리들의 데이터 블록 번호들 중에서 수신된 논리 블록 번호와 동일한 데이터 블록 번호가 존재하는지 확인한다(630단계). 동일한 데이터 블록 번호가 존재하는 경우, 대응되는 엔트리의 데이트 블록 접근 횟수를 증가시킨다(640단계). 여기에서, 데이트 블록 접근 횟수가 임계값에 도달한 경우, 수신된 기입 데이터는 자주 업데이트되는 데이터로 판정된다(650단계, 660단계). 반대로, 동일한 데이터 블록 번호가 존재하지 않는 경우, 빈 엔트리가 존재하는지 확인한다(670단계).
빈 엔트리가 존재하지 않으면, LRU(Least Recently Used) 값이 가장 작은 엔트리를 삭제하고(680단계), 삭제된 엔트리의 위치에 수신된 기입 데이터의 엔트리를 기입한다(690단계). 도 7(c)에는 데이터 블록 번호가 50인 엔트리를 삭제하고 데이터 블록 번호가 120인 엔트리를 기입하는 모습이 도시되어 있다. 반대로, 빈 엔트리가 존재하면, 수신된 기입 데이터의 엔트리를 기입한다(690단계). 도 7(b)에는 데이터 블록 번호가 100인 엔트리를 새로 기입하는 모습이 도시되어 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 불휘발성 메모리 시스템은, 데이터의 특성에 따라 싱글 레벨 셀과 멀티 레벨 셀 중에서 데이터를 저장할 영역을 선택함으로써, 시스템의 성능을 향상시킬 수 있는 장점이 있다.

Claims (18)

  1. 다수의 멀티-레벨 셀(MLC)들 및 다수의 싱글-레벨 셀(SLC)들을 포함하는 불휘발성 메모리 셀 어레이;
    어플리케이션 또는 파일 시스템으로부터 수신된 기입 데이터의 특성을 분석하여 출력하는 인터페이스부; 및
    상기 기입 데이터의 특성을 이용하여, 상기 기입 데이터를 상기 멀티-레벨 셀에 기입할 것인지 또는 상기 싱글-레벨 셀에 기입할 것인지 결정하는 플래시 트랜지션 레이어를 구비하는 것을 특징으로 하는 불휘발성 메모리 시스템.
  2. 제1항에 있어서, 상기 인터페이스부는,
    상기 어플리케이션 및 파일 시스템과 동일한 레이어에 위치하는 것을 특징으로 하는 불휘발성 메모리 시스템.
  3. 제1항에 있어서, 상기 인터페이스부는,
    상기 플래시 트랜지션 레이어와 서로 다른 레이어에 위치하는 것을 특징으로 하는 불휘발성 메모리 시스템.
  4. 제1항에 있어서, 상기 인터페이스부는,
    상기 기입 데이터가 상기 파일 시스템에서 사용되는 데이터인지 판정한 결과 를 상기 플래시 트랜지션 레이어로 전달하는, 파일 시스템 인터페이스를 구비하는 것을 특징으로 하는 불휘발성 메모리 시스템.
  5. 제4항에 있어서, 상기 플래시 트랜지션 레이어는,
    상기 기입 데이터가 상기 파일 시스템에서 사용되는 데이터이면 상기 기입 데이터를 상기 싱글-레벨 셀에 기입하는 것으로 결정하고, 상기 기입 데이터가 상기 파일 시스템에서 사용되는 데이터가 아니라면 상기 기입 데이터를 상기 멀티-레벨 셀에 기입하는 것으로 결정하는, 하이브리드 알고리즘 유닛을 구비하는 것을 특징으로 하는 불휘발성 메모리 시스템.
  6. 제4항에 있어서, 상기 파일 시스템 인터페이스는,
    상기 기입 데이터의 주소가 FAT 영역에 포함되는지 또는 상기 기입 데이터의 주소가 메타 데이터 영역에 포함되는지 판정하는 것을 특징으로 하는 불휘발성 메모리 시스템.
  7. 제1항에 있어서, 상기 인터페이스부는,
    상기 기입 데이터의 주소가 자주 업데이트되는 주소인지 판정한 결과를 상기 플래시 트랜지션 레이어로 전달하는, 어플리케이션 인터페이스를 구비하는 것을 특징으로 하는 불휘발성 메모리 시스템.
  8. 제7항에 있어서, 상기 플래시 트랜지션 레이어는,
    상기 기입 데이터의 주소가 자주 업데이트되는 주소이면 상기 기입 데이터를 상기 싱글-레벨 셀에 기입하는 것으로 결정하고, 상기 기입 데이터의 주소가 자주 업데이트되는 주소가 아니라면 상기 기입 데이터를 상기 멀티-레벨 셀에 기입하는 것으로 결정하는, 하이브리드 알고리즘 유닛을 구비하는 것을 특징으로 하는 불휘발성 메모리 시스템.
  9. 제1항에 있어서, 상기 플래시 트랜지션 레이어는,
    상기 기입 데이터의 주소를 상기 불휘발성 메모리 셀 어레이의 물리적 주소로 매핑하는 매핑 유닛을 더 구비하는 것을 특징으로 하는 불휘발성 메모리 시스템.
  10. 다수의 멀티-레벨 셀(MLC)들 및 다수의 싱글-레벨 셀(SLC)들을 포함하는 불휘발성 메모리 셀 어레이;
    호스트로부터 수신된 기입 데이터의 특성을 분석하여 출력하는 인터페이스부; 및
    상기 기입 데이터의 특성을 이용하여, 상기 기입 데이터를 상기 멀티-레벨 셀에 기입할 것인지 또는 상기 싱글-레벨 셀에 기입할 것인지 결정하는 플래시 트랜지션 레이어를 구비하고,
    상기 인터페이스부는, 상기 호스트와 동일한 레이어에 위치하는 것을 특징으 로 하는 불휘발성 메모리 시스템.
  11. 제10항에 있어서, 상기 인터페이스부는,
    상기 플래시 트랜지션 레이어와 서로 다른 레이어에 위치하는 것을 특징으로 하는 불휘발성 메모리 시스템.
  12. 다수의 멀티-레벨 셀(MLC)들 및 다수의 싱글-레벨 셀(SLC)들을 포함하는 불휘발성 메모리 셀 어레이; 및
    어플리케이션 또는 파일 시스템으로부터 기입 데이터를 수신하고, 상기 기입 데이터의 특성에 따라 상기 기입 데이터를 상기 멀티-레벨 셀에 기입하거나 또는 상기 싱글-레벨 셀에 기입하는 플래시 트랜지션 레이어를 구비하는 것을 특징으로 하는 불휘발성 메모리 시스템.
  13. 제12항에 있어서, 상기 플래시 트랜지션 레이어는,
    상기 파일 시스템으로부터 수신된 기입 데이터가 상기 파일 시스템에서 사용되는 데이터인지 판정하는 파일 시스템 데이터 판정부;
    상기 어플리케이션으로부터 수신된 기입 데이터의 주소가 자주 업데이트되는 주소인지 판정하는 어플리케이션 데이터 판정부; 및
    상기 어플리케이션 또는 파일 시스템으로부터 수신된 기입 데이터의 특성을 이용하여, 상기 기입 데이터를 상기 멀티-레벨 셀 및 상기 싱글-레벨 셀 중 어느 곳에 기입할지 결정하는 하이브리드 알고리즘 유닛을 구비하는 것을 특징으로 하는 불휘발성 메모리 시스템.
  14. 제13항에 있어서,
    상기 플래시 트랜지션 레이어는, 대응되는 데이터 블록의 데이터 블록 번호, 데이터 블록 접근 횟수 및 업데이트된 순서 정보를 각각 가지는 다수의 엔트리들을 포함하는 데이터 블록 히스토리 저장부를 더 구비하고,
    상기 어플리케이션 데이터 판정부는, 상기 데이터 블록 히스토리 저장부의 정보들을 이용하여, 상기 기입 데이터의 주소가 자주 업데이트되는 주소인지 판정하는 것을 특징으로 하는 불휘발성 메모리 시스템.
  15. 제13항에 있어서, 상기 파일 시스템 데이터 판정부는,
    상기 기입 데이터의 주소가 FAT 영역에 포함되는지 또는 상기 기입 데이터의 주소가 메타 데이터 영역에 포함되는지 판정하는 것을 특징으로 하는 불휘발성 메모리 시스템.
  16. 제13항에 있어서, 상기 하이브리드 알고리즘 유닛은,
    상기 기입 데이터가 상기 파일 시스템에서 사용되는 데이터이면 상기 기입 데이터를 상기 싱글-레벨 셀에 기입하는 것으로 결정하고,
    상기 기입 데이터가 상기 파일 시스템에서 사용되는 데이터가 아니라면 상기 기입 데이터를 상기 멀티-레벨 셀에 기입하는 것으로 결정하는 것을 특징으로 하는 불휘발성 메모리 시스템.
  17. 제13항에 있어서, 상기 하이브리드 알고리즘 유닛은,
    상기 기입 데이터의 주소가 자주 업데이트되는 주소이면 상기 기입 데이터를 상기 싱글-레벨 셀에 기입하는 것으로 결정하고,
    상기 기입 데이터의 주소가 자주 업데이트되는 주소가 아니라면 상기 기입 데이터를 상기 멀티-레벨 셀에 기입하는 것으로 결정하는 것을 특징으로 하는 불휘발성 메모리 시스템.
  18. 제12항에 있어서, 상기 플래시 트랜지션 레이어는,
    상기 기입 데이터의 주소를 상기 불휘발성 메모리 셀 어레이의 물리적 주소로 매핑하는 매핑 유닛을 더 구비하는 것을 특징으로 하는 불휘발성 메모리 시스템.
KR1020060108382A 2006-11-03 2006-11-03 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에데이터를 저장하는 불휘발성 메모리 시스템 KR100833188B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020060108382A KR100833188B1 (ko) 2006-11-03 2006-11-03 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에데이터를 저장하는 불휘발성 메모리 시스템
US11/640,304 US7676626B2 (en) 2006-11-03 2006-12-18 Non-volatile memory system storing data in single-level cell or multi-level cell according to data characteristics
US12/711,461 US8214582B2 (en) 2006-11-03 2010-02-24 Non-volatile memory system storing data in single-level cell or multi-level cell according to data characteristics

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060108382A KR100833188B1 (ko) 2006-11-03 2006-11-03 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에데이터를 저장하는 불휘발성 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20080040426A KR20080040426A (ko) 2008-05-08
KR100833188B1 true KR100833188B1 (ko) 2008-05-28

Family

ID=39465130

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060108382A KR100833188B1 (ko) 2006-11-03 2006-11-03 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에데이터를 저장하는 불휘발성 메모리 시스템

Country Status (2)

Country Link
US (2) US7676626B2 (ko)
KR (1) KR100833188B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101319589B1 (ko) * 2011-08-12 2013-10-16 아주대학교산학협력단 솔리드 스테이트 드라이브의 쓰기 데이터 분별 방법 및 그 컨트롤러

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8078794B2 (en) * 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
US20080209114A1 (en) * 1999-08-04 2008-08-28 Super Talent Electronics, Inc. Reliability High Endurance Non-Volatile Memory Device with Zone-Based Non-Volatile Memory File System
SG130988A1 (en) * 2005-09-29 2007-04-26 Trek 2000 Int Ltd Portable data storage device incorporating multiple flash memory units
JP2007305210A (ja) * 2006-05-10 2007-11-22 Toshiba Corp 半導体記憶装置
US20140108888A1 (en) 2008-03-11 2014-04-17 Rod Brittner Error tolerant or streaming storage device
WO2008112229A1 (en) * 2007-03-10 2008-09-18 Rod Brittner Error tolerant or streaming storage device
US20080244203A1 (en) * 2007-03-30 2008-10-02 Gorobets Sergey A Apparatus combining lower-endurance/performance and higher-endurance/performance information storage to support data processing
TW200841343A (en) * 2007-04-02 2008-10-16 Apacer Technology Inc A data storage device consisting of NAND (Not-AND) flash memory and its data storing method
JP2008257773A (ja) * 2007-04-02 2008-10-23 Toshiba Corp 不揮発性半導体記憶装置、不揮発性半導体記憶装置の制御方法、不揮発性半導体記憶システム、及びメモリカード
US20080250220A1 (en) * 2007-04-06 2008-10-09 Takafumi Ito Memory system
US8429358B2 (en) * 2007-08-14 2013-04-23 Samsung Electronics Co., Ltd. Method and data storage device for processing commands
KR101498673B1 (ko) * 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
US8200904B2 (en) * 2007-12-12 2012-06-12 Sandisk Il Ltd. System and method for clearing data from a cache
US8370402B2 (en) 2008-01-02 2013-02-05 Sandisk Il Ltd Dual representation of stored digital content
US8452927B2 (en) * 2008-01-02 2013-05-28 Sandisk Technologies Inc. Distributed storage service systems and architecture
US9098506B2 (en) * 2008-01-02 2015-08-04 Sandisk Il, Ltd. Data indexing by local storage device
US8583878B2 (en) * 2008-01-02 2013-11-12 Sandisk Il Ltd. Storage device having direct user access
TWI397912B (zh) * 2008-02-13 2013-06-01 Genesys Logic Inc 調整存取效能的快閃記憶體儲存裝置
JP4653817B2 (ja) * 2008-03-01 2011-03-16 株式会社東芝 メモリシステム
US8060719B2 (en) * 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
US20090319721A1 (en) * 2008-06-19 2009-12-24 Silicon Motion, Inc. Flash memory apparatus and method for operating the same
TWI416524B (zh) * 2008-06-25 2013-11-21 Silicon Motion Inc 記憶體裝置和資料儲存方法
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
TWI381274B (zh) * 2008-07-10 2013-01-01 Phison Electronics Corp 用於快閃記憶體的區塊管理方法、儲存系統與控制器
CN101676882B (zh) * 2008-09-16 2013-01-16 美光科技公司 存储器装置的内嵌映射信息
US7864587B2 (en) * 2008-09-22 2011-01-04 Micron Technology, Inc. Programming a memory device to increase data reliability
US8407400B2 (en) 2008-11-12 2013-03-26 Micron Technology, Inc. Dynamic SLC/MLC blocks allocations for non-volatile memory
US8261009B2 (en) * 2008-12-30 2012-09-04 Sandisk Il Ltd. Method and apparatus for retroactive adaptation of data location
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
US8239613B2 (en) * 2008-12-30 2012-08-07 Intel Corporation Hybrid memory device
US8782325B1 (en) * 2009-02-09 2014-07-15 Marvell International Ltd. Data type based alignment of data written to non-volatile memory
US8261158B2 (en) * 2009-03-13 2012-09-04 Fusion-Io, Inc. Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage
US8266503B2 (en) 2009-03-13 2012-09-11 Fusion-Io Apparatus, system, and method for using multi-level cell storage in a single-level cell mode
US8171219B2 (en) * 2009-03-31 2012-05-01 Intel Corporation Method and system to perform caching based on file-level heuristics
TW201101307A (en) * 2009-06-29 2011-01-01 A Data Technology Co Ltd A storage device and data processing method thereof
US8639877B2 (en) * 2009-06-30 2014-01-28 International Business Machines Corporation Wear leveling of solid state disks distributed in a plurality of redundant array of independent disk ranks
US8880835B2 (en) * 2009-07-07 2014-11-04 International Business Machines Corporation Adjusting location of tiered storage residence based on usage patterns
JP5330136B2 (ja) * 2009-07-22 2013-10-30 株式会社東芝 半導体記憶装置
US7948798B1 (en) * 2009-07-22 2011-05-24 Marvell International Ltd. Mixed multi-level cell and single level cell storage device
US8234520B2 (en) * 2009-09-16 2012-07-31 International Business Machines Corporation Wear leveling of solid state disks based on usage information of data and parity received from a raid controller
US8135903B1 (en) * 2009-10-30 2012-03-13 Western Digital Technologies, Inc. Non-volatile semiconductor memory compressing data to improve performance
US8854882B2 (en) 2010-01-27 2014-10-07 Intelligent Intellectual Property Holdings 2 Llc Configuring storage cells
US8661184B2 (en) 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
TWI409633B (zh) * 2010-02-04 2013-09-21 Phison Electronics Corp 快閃記憶體儲存裝置、其控制器與資料寫入方法
US9245653B2 (en) 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
US20110302355A1 (en) * 2010-06-04 2011-12-08 Solid State System Co., Ltd. Mapping and writting method in memory device with multiple memory chips
US8543757B2 (en) * 2010-06-23 2013-09-24 Sandisk Technologies Inc. Techniques of maintaining logical to physical mapping information in non-volatile memory systems
JP2012033002A (ja) * 2010-07-30 2012-02-16 Toshiba Corp メモリ管理装置およびメモリ管理方法
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US8688660B1 (en) * 2010-09-28 2014-04-01 Amazon Technologies, Inc. System and method for providing enhancements of block-level storage
TWI494948B (zh) * 2011-01-31 2015-08-01 Phison Electronics Corp 用於非揮發性記憶體的資料寫入方法、控制器與儲存裝置
KR101720101B1 (ko) * 2011-03-18 2017-03-28 삼성전자주식회사 메모리 시스템에 데이터를 쓰는 쓰기 방법 및 메모리 시스템의 데이터 쓰기 방법
US9176864B2 (en) 2011-05-17 2015-11-03 SanDisk Technologies, Inc. Non-volatile memory and method having block management with hot/cold data sorting
US9141528B2 (en) 2011-05-17 2015-09-22 Sandisk Technologies Inc. Tracking and handling of super-hot data in non-volatile memory systems
US9003101B1 (en) * 2011-06-29 2015-04-07 Western Digital Technologies, Inc. Prioritized access for media with heterogeneous access rates
US9417794B2 (en) * 2011-07-26 2016-08-16 Apple Inc. Including performance-related hints in requests to composite memory
JP5971509B2 (ja) 2011-08-30 2016-08-17 ソニー株式会社 情報処理装置および方法、並びに記録媒体
KR101813182B1 (ko) 2011-11-16 2017-12-29 삼성전자주식회사 비휘발성 메모리 소자를 포함하는 다치 논리 장치
US8977803B2 (en) * 2011-11-21 2015-03-10 Western Digital Technologies, Inc. Disk drive data caching using a multi-tiered memory
US9348741B1 (en) 2011-12-19 2016-05-24 Western Digital Technologies, Inc. Systems and methods for handling write data access requests in data storage devices
US9275096B2 (en) 2012-01-17 2016-03-01 Apple Inc. Optimized b-tree
US9146851B2 (en) * 2012-03-26 2015-09-29 Compellent Technologies Single-level cell and multi-level cell hybrid solid state drive
US8832530B2 (en) * 2012-09-26 2014-09-09 Intel Corporation Techniques associated with a read and write window budget for a two level memory system
US8954655B2 (en) * 2013-01-14 2015-02-10 Western Digital Technologies, Inc. Systems and methods of configuring a mode of operation in a solid-state memory
US20140223072A1 (en) * 2013-02-07 2014-08-07 Lsi Corporation Tiered Caching Using Single Level Cell and Multi-Level Cell Flash Technology
US9489148B2 (en) 2013-03-13 2016-11-08 Seagate Technology Llc Selecting between non-volatile memory units having different minimum addressable data unit sizes
US9715445B2 (en) * 2013-03-14 2017-07-25 Sandisk Technologies Llc File differentiation based on data block identification
US9053012B1 (en) 2013-03-15 2015-06-09 Pmc-Sierra, Inc. Systems and methods for storing data for solid-state memory
US9081701B1 (en) 2013-03-15 2015-07-14 Pmc-Sierra, Inc. Systems and methods for decoding data for solid-state memory
US9208018B1 (en) 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory for solid-state memory
US9026867B1 (en) 2013-03-15 2015-05-05 Pmc-Sierra, Inc. Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory
US9009565B1 (en) 2013-03-15 2015-04-14 Pmc-Sierra, Inc. Systems and methods for mapping for solid-state memory
KR20150049772A (ko) * 2013-10-31 2015-05-08 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그것의 동작 방법
US9645896B2 (en) 2013-12-26 2017-05-09 Silicon Motion, Inc. Data storage device and flash memory control method
US9928169B2 (en) * 2014-05-07 2018-03-27 Sandisk Technologies Llc Method and system for improving swap performance
US9710198B2 (en) 2014-05-07 2017-07-18 Sandisk Technologies Llc Method and computing device for controlling bandwidth of swap operations
JP2016004387A (ja) * 2014-06-16 2016-01-12 株式会社東芝 ストレージシステム、メモリコントローラ、および制御方法
US10402319B2 (en) * 2014-07-25 2019-09-03 Micron Technology, Inc. Apparatuses and methods for concurrently accessing different memory planes of a memory
KR102295208B1 (ko) 2014-12-19 2021-09-01 삼성전자주식회사 프로그램 영역을 동적으로 할당하는 저장 장치 및 그것의 프로그램 방법
CN105739923A (zh) * 2016-01-28 2016-07-06 上海新储集成电路有限公司 一种可配置的数据管理方法
JP6156710B2 (ja) * 2016-05-16 2017-07-05 ソニー株式会社 情報処理装置および方法、並びに記録媒体
US10339073B2 (en) 2017-06-29 2019-07-02 Keysight Technologies, Inc. Systems and methods for reducing write latency
US10895991B2 (en) * 2018-11-14 2021-01-19 Western Digital Technologies, Inc. Solid state device with improved sustained data writing speed
KR20200142219A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 전자 장치 및 그의 저장 공간 이용 방법
KR20210016227A (ko) * 2019-08-02 2021-02-15 삼성전자주식회사 빠른 쓰기 및 빠른 읽기를 지원하기 위한 복수의 버퍼 영역들을 포함하는 메모리 장치 및 이를 포함하는 스토리지 장치
US11194516B2 (en) 2019-10-08 2021-12-07 Micron Technology, Inc. Media type selection
US11397526B2 (en) 2020-02-28 2022-07-26 Micron Technology, Inc. Media type selection for image data
US11481150B2 (en) * 2020-04-01 2022-10-25 Western Digital Technologies, Inc. Read modify write optimization for video performance
US11537321B2 (en) 2020-07-14 2022-12-27 Micron Technology, Inc. Data selection based on quality
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
KR20230027957A (ko) 2021-08-20 2023-02-28 삼성전자주식회사 호스트 및 스토리지 장치를 포함하는 스토리지 시스템 및 이의 동작 방법
US20240061587A1 (en) * 2022-08-22 2024-02-22 Micron Technology, Inc. Zone write operation techniques

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10106279A (ja) 1996-09-13 1998-04-24 Samsung Electron Co Ltd 不揮発性半導体メモリ装置
KR19990013057A (ko) * 1997-07-31 1999-02-25 윤종용 단일 비트 데이터와 다중 비트 데이터를 동일한 칩에 선택적으로 저장하는 플래시 메모리 장치의 독출 및 기입 방법
KR19990079926A (ko) * 1998-04-10 1999-11-05 윤종용 리던던트 필드 어레이를 가지는 불휘발성 반도체 메모리 장치및 그것의 독출 방법
US6297988B1 (en) 2000-02-25 2001-10-02 Advanced Micro Devices, Inc. Mode indicator for multi-level memory
KR20030023349A (ko) * 2001-09-13 2003-03-19 주식회사 하이닉스반도체 멀티레벨 및 싱글레벨 프로그램/리드 겸용 플래쉬 메모리장치
US20070133249A1 (en) 2005-12-09 2007-06-14 Micron Technology, Inc. Single level cell programming in a multiple level cell non-volatile memory device
KR100771521B1 (ko) * 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법
KR100816761B1 (ko) * 2006-12-04 2008-03-25 삼성전자주식회사 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001006374A (ja) 1999-06-17 2001-01-12 Hitachi Ltd 半導体記憶装置及びシステム
JP2001306393A (ja) 2000-04-20 2001-11-02 Mitsubishi Electric Corp 記憶装置
KR100484147B1 (ko) * 2002-07-26 2005-04-18 삼성전자주식회사 플래시 메모리 관리 방법
JP2005092923A (ja) * 2003-09-12 2005-04-07 Renesas Technology Corp 半導体記憶装置
JP2005267676A (ja) 2004-03-16 2005-09-29 Matsushita Electric Ind Co Ltd 不揮発性記憶装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10106279A (ja) 1996-09-13 1998-04-24 Samsung Electron Co Ltd 不揮発性半導体メモリ装置
KR19990013057A (ko) * 1997-07-31 1999-02-25 윤종용 단일 비트 데이터와 다중 비트 데이터를 동일한 칩에 선택적으로 저장하는 플래시 메모리 장치의 독출 및 기입 방법
KR19990079926A (ko) * 1998-04-10 1999-11-05 윤종용 리던던트 필드 어레이를 가지는 불휘발성 반도체 메모리 장치및 그것의 독출 방법
US6297988B1 (en) 2000-02-25 2001-10-02 Advanced Micro Devices, Inc. Mode indicator for multi-level memory
KR20030023349A (ko) * 2001-09-13 2003-03-19 주식회사 하이닉스반도체 멀티레벨 및 싱글레벨 프로그램/리드 겸용 플래쉬 메모리장치
US20070133249A1 (en) 2005-12-09 2007-06-14 Micron Technology, Inc. Single level cell programming in a multiple level cell non-volatile memory device
KR100771521B1 (ko) * 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법
KR100816761B1 (ko) * 2006-12-04 2008-03-25 삼성전자주식회사 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101319589B1 (ko) * 2011-08-12 2013-10-16 아주대학교산학협력단 솔리드 스테이트 드라이브의 쓰기 데이터 분별 방법 및 그 컨트롤러

Also Published As

Publication number Publication date
US20080126680A1 (en) 2008-05-29
US20100153632A1 (en) 2010-06-17
US8214582B2 (en) 2012-07-03
US7676626B2 (en) 2010-03-09
KR20080040426A (ko) 2008-05-08

Similar Documents

Publication Publication Date Title
KR100833188B1 (ko) 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에데이터를 저장하는 불휘발성 메모리 시스템
US7308525B2 (en) Method of managing a multi-bit cell flash memory with improved reliablility and performance
US7516295B2 (en) Method of remapping flash memory
US8910017B2 (en) Flash memory with random partition
US8171207B2 (en) Adaptive hybrid density memory storage device and control method thereof
US8402243B2 (en) Dynamically allocating number of bits per cell for memory locations of a non-volatile memory
US11360672B2 (en) Performing hybrid wear leveling operations based on a sub-total write counter
US7603593B2 (en) Method for managing bad memory blocks in a nonvolatile-memory device, and nonvolatile-memory device implementing the management method
TW201517051A (zh) 具有揮發性及非揮發性記憶體之混合固態記憶體系統
US8127072B2 (en) Data storage device and method for accessing flash memory
US9082491B2 (en) Data writing method and data storage device
US8037236B2 (en) Flash memory writing method and storage system and controller using the same
US11341036B2 (en) Biased sampling methodology for wear leveling
KR20100133707A (ko) 비휘발성 메모리 장치 및 그것의 최상위 비트 프로그램 상태 판별 방법
US9009442B2 (en) Data writing method, memory controller and memory storage apparatus
KR20130125303A (ko) 제어 장치, 기억 장치, 데이터 기입 방법
WO2010024506A1 (en) Flash based storage device using page buffer as write cache and method of using the same
EP4290384A1 (en) Storage device
US11789861B2 (en) Wear leveling based on sub-group write counts in a memory sub-system
US20240103759A1 (en) Data processing method for improving continuity of data corresponding to continuous logical addresses as well as avoiding excessively consuming service life of memory blocks and the associated data storage device
US20240103732A1 (en) Data processing method for improving continuity of data corresponding to continuous logical addresses as well as avoiding excessively consuming service life of memory blocks and the associated data storage device
US20230127606A1 (en) Storage controller, a storage device and a method of operating the storage device
US20210406169A1 (en) Self-adaptive wear leveling method and algorithm

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: 20130430

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160429

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180430

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 12