KR101257848B1 - 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법 - Google Patents
복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법 Download PDFInfo
- Publication number
- KR101257848B1 KR101257848B1 KR1020060064017A KR20060064017A KR101257848B1 KR 101257848 B1 KR101257848 B1 KR 101257848B1 KR 1020060064017 A KR1020060064017 A KR 1020060064017A KR 20060064017 A KR20060064017 A KR 20060064017A KR 101257848 B1 KR101257848 B1 KR 101257848B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- buffer
- write
- flash memory
- data storage
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 330
- 238000000034 method Methods 0.000 title claims abstract description 92
- 239000000872 buffer Substances 0.000 claims abstract description 359
- 238000013500 data storage Methods 0.000 claims abstract description 155
- 238000013519 translation Methods 0.000 claims description 16
- 229920000642 polymer Polymers 0.000 claims description 7
- 239000002131 composite material Substances 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
Claims (68)
- 호스트부, 스토리지부, 상기 호스트부와 상기 스토리지부사이에서 인터페이스 역할을 하는 제1 I/O버스를 포함하는 데이터 저장 시스템에 있어서,상기 스토리지부는 불휘발성 메모리 버퍼부와 플래시 메모리부를 포함하고,상기 불휘발성 메모리부는 병렬로 구성된 복수의 버퍼를 포함하며,상기 플래시 메모리부는 병렬로 구성된 복수의 데이터 저장 매체를 포함하여 데이터를 병렬방식으로 입출력시킬 수 있는 것을 특징으로 하는 데이터 저장 시스템.
- 제 1 항에 있어서, 상기 복수의 버퍼 수는 상기 복수의 데이터 저장 매체 수보다 큰 것을 특징으로 하는 데이터 저장 시스템.
- 제 1 항에 있어서, 상기 버퍼는 소정의 데이터 저장 용량을 갖는 뱅크인 것을 특징으로 하는 데이터 저장 시스템.
- 제 1 항에 있어서, 상기 버퍼는 불휘발성 메모리 칩인 것을 특징으로 하는 데이터 저장 시스템.
- 제 1 항에 있어서, 상기 데이터 저장 매체는 뱅크이고, 상기 뱅크는 소정의 데이터 저장 용량을 갖는 복수의 페이지를 포함하는 것을 특징으로 하는 데이터 저장 시스템.
- 제 1 항에 있어서, 상기 데이터 저장 매체는 플래시 메모리 칩인 것을 특징으로 하는 데이터 저장 시스템.
- 제 5 항에 있어서, 상기 버퍼의 데이터 저장 용량은 상기 페이지의 데이터 저장 용량과 같거나 그 보다 N배(N=1, 2, 3) 큰 것을 특징으로 하는 데이터 저장 시스템.
- 제 1 항에 있어서, 상기 버퍼의 데이터 저장 용량은 플래시 메모리의 삭제 단위인 블록의 크기와 같거나 그 크기의 N배(N=1, 2, 3)인 것을 특징으로 하는 데이터 저장 시스템.
- 제 4 항에 있어서, 상기 불휘발성 메모리 칩은 MRAM, PRAM, FRAM 및 불휘발성 폴리머 메모리 칩으로 이루어진 군 중 어느 하나인 것을 특징으로 하는 데이터 저장 시스템.
- 제 1 항에 있어서, 제1 I/O버스는 USB, PCMCIA, ISA 및 PCI 중 어느 하나인 것을 특징으로 하는 데이터 저장 시스템.
- 제 1 항에 있어서, 상기 불휘발성 메모리부와 상기 플래시 메모리부는 하나의 칩에 구성된 것을 특징으로 하는 데이터 저장 시스템.
- 제 1 항에 있어서, 상기 스토리지부는 플래시 변환 계층을 구비하고, 상기 플래시 메모리부와 상기 불휘발성 메모리 버퍼부 사이에서 인터페이스 역할을 하는 제2 I/O버스를 더 구비하는 것을 특징으로 하는 데이터 저장 시스템.
- 제 1 항 또는 제 12 항에 있어서, 상기 스토리지부는 상기 호스트부에 탈착될 수 있는 카드 형태인 것을 특징으로 하는 데이터 저장 시스템.
- 제 1 항에 있어서, 상기 호스트부는 파일 시스템, 별도의 파일 시스템, 상기 파일 시스템과 인터페이싱하는 플래시 변환 계층, 상기 별도의 파일 시스템과 인터페이싱하는 디바이스 드라이버를 더 포함하는 것을 특징으로 하는 데이터 저장 시스템.
- 제 1 항에 있어서, 상기 플래시 메모리부는 NAND형 SLC 플래시 메모리와 NAND형 MLC 플래시 메모리를 포함하는 것을 특징으로 하는 데이터 저장 시스템.
- 호스트부, 스토리지부, 상기 호스트부와 상기 스토리지부사이에서 인터페이 스 역할을 하는 제1 I/O버스를 포함하고, 상기 스토리지부는 적어도 불휘발성 메모리 버퍼부와 플래시 메모리부를 포함하고, 상기 불휘발성 메모리부는 병렬로 구성된 복수의 버퍼를 포함하며, 상기 플래시 메모리부는 병렬로 구성된 복수의 데이터 저장 매체를 포함하는 데이터 저장 시스템의 기록 방법에 있어서,상기 복수의 버퍼 중 제1 버퍼에 데이터를 기록하는 제1 단계;상기 제1 버퍼에 데이터를 기록한 후, 상기 복수의 버퍼 중 제2 버퍼에 데이터를 기록하는 제2 단계;상기 제2 버퍼에 데이터를 기록한 후, 상기 복수의 버퍼 중 제3 버퍼에 데이터를 기록하는 제3 단계;상기 제1 버퍼에 기록된 데이터를 상기 복수의 데이터 저장 매체 중 제1 데이터 저장 매체의 제1 페이지에 기록하는 제4 단계; 및상기 제2 버퍼에 기록된 데이터를 상기 복수의 데이터 저장 매체 중 제2 데이터 저장 매체의 제1 페이지에 기록하는 제5 단계를 포함하되,상기 제2 단계와 상기 제4 단계는 동시에 실시되고, 상기 제3 단계와 상기 제5 단계는 동시에 실시되는 것을 특징으로 하는 데이터 저장 시스템의 기록방법.
- 제 16 항에 있어서, 상기 제3 버퍼에 기록된 데이터를 상기 제1 데이터 저장 매체의 제2 페이지에 기록하면서 상기 제1 버퍼에 새로운 데이터를 기록하는 것을 특징으로 하는 데이터 저장 시스템의 기록방법.
- 제 17 항에 있어서, 상기 제1 버퍼에 새로운 데이터를 기록하기 전에 상기 제1 버퍼에 기록된 데이터를 소거하는 것을 특징으로 하는 데이터 저장 시스템의 기록방법.
- 제 16 항에 있어서, 상기 버퍼 수는 상기 데이터 저장 매체의 수보다 큰 것을 특징으로 하는 데이터 저장 시스템의 기록방법.
- 제 16 항에 있어서, 상기 버퍼는 소정의 데이터 저장 용량을 갖는 뱅크인 것을 특징으로 하는 데이터 저장 시스템의 기록방법.
- 제 16 항에 있어서, 상기 버퍼는 불휘발성 메모리 칩으로써, MRAM, PRAM, FRAM 및 불휘발성 폴리머 메모리 칩으로 이루어진 군 중 어느 하나인 인 것을 특징으로 하는 데이터 저장 시스템의 기록방법.
- 제 16 항에 있어서, 상기 제1 및 제2 데이터 저장 매체는 제1 및 제2 뱅크이고, 각 뱅크는 소정의 데이터 저장 용량을 갖는 복수의 페이지를 포함하는 것을 특징으로 하는 데이터 저장 시스템의 기록방법.
- 제 16 항에 있어서, 상기 제1 및 제2 데이터 저장 매체는 제1 및 제2 플래시 메모리 칩인 것을 특징으로 하는 데이터 저장 시스템의 기록방법.
- 제 22 항에 있어서, 상기 버퍼의 데이터 저장 용량은 상기 페이지의 데이터 저장 용량과 같거나 그 보다 N배(N=1, 2, 3) 큰 것을 특징으로 하는 데이터 저장 시스템의 기록방법.
- 제 16 항에 있어서, 상기 버퍼의 데이터 저장 용량은 플래시 메모리의 삭제 단위인 블록의 크기와 같거나 그 크기의 N배(N=1, 2, 3)인 것을 특징으로 하는 데이터 저장 시스템의 기록방법.
- 제 16 항에 있어서, 상기 불휘발성 메모리부와 상기 플래시 메모리부는 하나의 칩에 구성된 것을 특징으로 하는 데이터 저장 시스템의 기록방법.
- 제 16 항에 있어서, 상기 스토리지부는 플래시 변환 계층을 구비하고, 상기 플래시 메모리부와 상기 불휘발성 메모리 버퍼부사이에서 인터페이스 역할을 하는 제2 I/O버스를 더 구비하는 것을 특징으로 하는 데이터 저장 시스템의 기록방법.
- 제 16 항에 있어서, 상기 스토리지부는 상기 호스트부에 탈착될 수 있는 카드 형태인 것을 특징으로 하는 데이터 저장 시스템의 기록방법.
- 제 16 항에 있어서, 상기 호스트부는 파일 시스템, 별도의 파일 시스템, 상 기 파일 시스템과 인터페이싱하는 플래시 변환 계층, 상기 별도의 파일 시스템과 인터페이싱하는 디바이스 드라이버를 더 포함하는 것을 특징으로 하는 데이터 저장 시스템의 기록방법.
- 제 16 항에 있어서, 상기 플래시 메모리부는 NAND형 SLC 플래시 메모리와 NAND형 MLC 플래시 메모리를 포함하는 것을 특징으로 하는 데이터 저장 시스템의 기록방법.
- 호스트부, 스토리지부, 상기 호스트부와 상기 스토리지부사이에서 인터페이스 역할을 하는 제1 I/O버스를 포함하고, 상기 스토리지부는 적어도 불휘발성 메모리 버퍼부와 플래시 메모리부를 포함하고, 상기 불휘발성 메모리부는 병렬로 구성된 복수의 버퍼를 포함하며, 상기 플래시 메모리부는 병렬로 구성된 복수의 데이터 저장 매체를 포함하는 데이터 저장 시스템의 읽기 방법에 있어서,상기 복수의 데이터 저장 매체 중 제1 데이터 저장 매체의 제1 페이지에 기록된 데이터를 상기 복수의 버퍼 중 제1 버퍼에 기록하는 제1 단계;상기 복수의 데이터 저장 매체 중 제2 데이터 저장 매체의 제1 페이지에 기록된 데이터를 상기 복수의 버퍼 중 제2 버퍼에 기록하는 제2 단계; 및상기 제1 데이터 저장 매체의 제2 페이지에 기록된 데이터를 상기 복수의 버퍼 중 제3 버퍼에 기록하는 제3 단계를 포함하되,상기 제2 단계는 상기 제1 단계가 시작된 후 시작되어 상기 제1 단계가 완료 된 후 완료되고, 상기 제3 단계는 상기 제2 단계가 시작된 후 시작되어 상기 제2 단계가 완료된 후 완료되며,상기 제2 단계가 실시되는 동안에 상기 제1 버퍼에 기록된 데이터를 읽고, 상기 제3 단계가 실시되는 동안에 상기 제2 버퍼에 기록된 데이터를 읽는 것을 특징으로 하는 데이터 저장 시스템의 읽기 방법.
- 제 31 항에 있어서, 상기 제1 버퍼에 기록된 데이터를 읽은 후, 상기 제3 단계가 완료되기 전에 상기 제2 데이터 저장 매체의 제2 페이지에 기록된 데이터를 상기 제1 버퍼에 기록하는 단계를 더 포함하는 것을 특징으로 하는 데이터 저장 시스템의 읽기 방법.
- 제 31 항에 있어서, 상기 버퍼는 소정의 데이터 저장 용량을 갖는 뱅크 또는 불휘발성 메모리 칩인 것을 특징으로 하는 데이터 저장 시스템의 읽기 방법.
- 제 31 항에 있어서, 상기 제1 및 제2 데이터 저장 매체는 각각 제1 및 제2 뱅크이고, 각 뱅크는 복수의 페이지를 포함하는 것을 특징으로 하는 데이터 저장 시스템의 읽기 방법.
- 제 31 항에 있어서, 상기 제1 및 제2 데이터 저장 매체는 각각 제1 및 제2 플래시 메모리 칩인 것을 특징으로 하는 데이터 저장 시스템의 읽기 방법.
- 제 31 항에 있어서, 상기 제1 버퍼의 데이터 저장 용량은 상기 제1 페이지의 데이터 저장 용량과 같거나 그 보다 N배(N=1, 2, 3) 큰 것을 특징으로 하는 데이터 저장 시스템의 읽기 방법.
- 제 31 항에 있어서, 상기 제1 버퍼의 데이터 저장 용량은 플래시 메모리의 삭제 단위인 블록의 크기와 같거나 그 크기의 N배(N=1, 2, 3)인 것을 특징으로 하는 데이터 저장 시스템의 읽기 방법.
- 제 31 항에 있어서, 상기 불휘발성 메모리부와 상기 플래시 메모리부는 하나의 칩에 구성된 것을 특징으로 하는 데이터 저장 시스템의 읽기 방법.
- 제 31 항에 있어서, 상기 스토리지부는 플래시 변환 계층을 구비하고, 상기 플래시 메모리부와 상기 불휘발성 메모리 버퍼부사이에서 인터페이스 역할을 하는 제2 I/O버스를 더 구비하는 것을 특징으로 하는 데이터 저장 시스템의 읽기 방법.
- 제 31 항에 있어서, 상기 스토리지부는 상기 호스트부에 탈착될 수 있는 카드 형태인 것을 특징으로 하는 데이터 저장 시스템의 읽기 방법.
- 제 31 항에 있어서, 상기 호스트부는 파일 시스템, 별도의 파일 시스템, 상 기 파일 시스템과 인터페이싱하는 플래시 변환 계층, 상기 별도의 파일 시스템과 인터페이싱하는 디바이스 드라이버를 더 포함하는 것을 특징으로 하는 데이터 저장 시스템의 읽기 방법.
- 제 31 항에 있어서, 상기 플래시 메모리부는 NAND형 SLC 플래시 메모리와 NAND형 MLC 플래시 메모리를 포함하는 것을 특징으로 하는 데이터 저장 시스템의 읽기 방법.
- 플래시 메모리 및 쓰기 버퍼를 포함하는 데이터 저장 장치에 데이터를 저장하는 방법에 있어서,쓰기 요청이 있을 때, 쓰기 요청 빈도에 따라 상기 쓰기 요청을 복수 등급으로 분류하는 단계; 및상기 쓰기 요청 빈도의 등급에 따라 쓰기 요청된 데이터를 상기 쓰기 버퍼 및 상기 플래시 메모리 중 어느 하나에 구분하여 저장하는 단계를 포함하는 것을 특징으로 하는 데이터 저장방법.
- 제 43 항에 있어서, 상기 저장하는 단계는,상기 쓰기 요청을 2개 등급으로 분류할 때, 상기 분류하는 단계에서 상기 쓰기 요청 빈도가 높은 등급의 데이터를 상기 쓰기 버퍼에 저장하고, 상기 쓰기 요청 빈도가 낮은 등급의 데이터를 상기 플래시 메모리에 저장하는 단계를 포함하는 것 을 특징으로 하는 데이터 저장방법.
- 제 43 항에 있어서, 상기 쓰기 버퍼는,복수 쓰기 버퍼가 병렬로 구성된 것을 특징으로 하는 데이터 저장방법.
- 제 45 항에 있어서, 상기 저장하는 단계는,상기 쓰기 요청을 2개 등급으로 분류할 때, 상기 분류하는 단계에서 상기 쓰기 요청 빈도가 높은 등급의 데이터를 상기 복수 쓰기 버퍼 중 제1 쓰기 버퍼에 임시 저장하고, 상기 쓰기 요청 빈도가 낮은 등급의 데이터를 상기 복수 쓰기 버퍼 중 제2 쓰기 버퍼에 임시 저장한 후, 상기 플래시 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 데이터 저장방법.
- 제 45 항에 있어서, 상기 저장하는 단계는상기 쓰기 요청을 3개 등급으로 분류할 때, 상기 분류하는 단계에서 상기 쓰기 요청 빈도가 높은 등급의 데이터를 상기 복수의 쓰기 버퍼 중 제1 쓰기 버퍼에 임시 저장하고, 상기 쓰기 요청 빈도가 중간인 등급의 데이터를 상기 복수의 쓰기 버퍼 중 제2 쓰기 버퍼에 임시 저장하고, 상기 쓰기 요청 빈도가 낮은 등급의 데이터를 상기 플래시 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 데이터 저장방법.
- 제 45 항에 있어서, 상기 저장하는 단계는상기 쓰기 요청을 3개 등급으로 분류할 때, 상기 분류하는 단계에서 상기 쓰기 요청 빈도가 높은 등급의 데이터를 상기 복수의 쓰기 버퍼 중 제1 쓰기 버퍼에 임시 저장하고, 상기 쓰기 요청 빈도가 중간인 등급의 데이터를 상기 복수의 쓰기 버퍼 중 제2 쓰기 버퍼에 임시 저장하고, 상기 쓰기 요청 빈도가 낮은 등급의 데이터를 상기 복수의 쓰기 버퍼 중 제3 쓰기 버퍼에 임시 저장한 후, 상기 플래시 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 데이터 저장방법.
- 제 43 항에 있어서, 상기 분류하는 단계 전에,상기 쓰기 요청에 대한 페이지가 상기 쓰기 버퍼에 존재하면, 상기 쓰기 요청의 분류와 관계없이 상기 쓰기 버퍼의 해당 페이지를 갱신(update)하는 단계를 더 포함하는 것을 특징으로 하는 데이터 저장방법.
- 제 43 항에 있어서, 상기 분류하는 단계는,하나 이상의 LRU(Least Recently Used) 큐를 사용하여 상기 쓰기 요청을 핫 페이지 혹은 콜드 페이지로 분류하는 것을 특징으로 하는 데이터 저장방법.
- 제 43 항에 있어서, 상기 분류하는 단계는,상기 쓰기 요청에 카운트를 추가하여, 상기 카운트가 소정의 시간을 경과하였는지의 여부를 기준으로 상기 쓰기 요청을 분류하는 것을 특징으로 하는 데이터 저장방법.
- 제 43 항에 있어서, 상기 저장하는 단계는,상기 쓰기 요청 빈도가 높은 등급의 페이지를 상기 쓰기 버퍼에 저장하고, 이 과정에서 상기 쓰기 버퍼가 가득 찼을 때, 상기 쓰기 버퍼에 저장된 어느 한 페이지를 상기 플래시 메모리로 저장하는 단계를 포함하는 것을 특징으로 하는 데이터 저장방법.
- 제 43 항에 있어서, 상기 쓰기 버퍼는,MRAM, FRAM, PRAM 및 비휘발성 폴리머 메모리로 이루어진 군 중 어느 하나 또는 이들의 조합인 것을 특징으로 하는 데이터 저장방법.
- 제 43 항에 있어서, 상기 쓰기 버퍼는,배터리 부착형 비휘발성 메모리인 것을 특징으로 하는 데이터 저장방법.
- 제 43 항에 있어서, 상기 플래시 메모리는 NAND형 SLC 플래시 메모리와 NAND형 MLC 플래시 메모리를 포함하는 것을 특징으로 하는 데이터 저장방법.
- 제 44 항, 제 46 항 , 제 47 항 및 제 48 항 중 어느 한 항에서 상기 플래시 메모리는 NAND형 SLC 플래시 메모리 또는 NAND형 MLC 플래시 메모리인 것을 특징으 로 하는 데이터 저장방법.
- 제 44 항에 있어서, 상기 쓰기 요청 빈도가 높은 등급의 데이터를 상기 쓰기 버퍼에 저장하는 과정에서 상기 쓰기 버퍼에 데이터가 가득 찬 경우, 상기 쓰기 버퍼에 저장된 데이터 중, 사용 빈도가 낮은 데이터를 상기 플래시 메모리에 저장한 다음, 상기 쓰기 요청 빈도가 높은 등급의 데이터를 상기 쓰기 버퍼에 저장하는 것을 특징으로 하는 데이터 저장방법.
- 제 44 항, 제 52 항 및 제 57 항 중 어느 한 항에 있어서, 상기 쓰기 요청 빈도가 높은 등급의 데이터를 상기 쓰기 버퍼에 저장한 후, 메타데이터를 갱신하는 것을 특징으로 하는 데이터 저장방법.
- 적어도 플래시 메모리를 포함하는 데이터 저장 장치에 있어서,상기 플래시 메모리와 함께 쓰기 버퍼를 포함하는 메모리부; 및쓰기 요청이 있을 때, 쓰기 요청 빈도에 따라 상기 쓰기 요청을 복수의 등급으로 분류하는 페이지 분류부를 포함하며, 상기 페이지 분류부에서 분류된 등급에 따라 쓰기 요청된 데이터를 상기 쓰기 버퍼와 상기 플래시 메모리 중 어느 하나에 구분하여 저장하는 메모리 제어부를 포함하는 것을 특징으로 하는 데이터 저장장치.
- 제 59 항에 있어서, 상기 메모리 제어부는,상기 페이지 분류부가 상기 쓰기 요청을 2개 등급으로 분류하는 경우, 상기 쓰기 요청 빈도가 높은 등급의 데이터를 상기 쓰기 버퍼에 저장하고, 상기 쓰기 요청 빈도가 낮은 등급의 데이터를 상기 플래시 메모리에 저장하도록 구비된 것을 특징으로 하는 데이터 저장장치.
- 제 59 항에 있어서, 상기 쓰기 버퍼는,복수의 쓰기 버퍼가 병렬로 구성된 것을 특징으로 하는 데이터 저장장치.
- 제 61 항에 있어서, 상기 메모리 제어부는,상기 페이지 분류부가 상기 쓰기 요청을 2개 등급으로 분류하는 경우, 상기 쓰기 요청 빈도가 높은 등급의 데이터를 상기 복수의 쓰기 버퍼 중 제1 쓰기 버퍼에 임시 저장하고, 상기 쓰기 요청 빈도가 낮은 등급의 데이터를 상기 복수의 쓰기 버퍼 중 제2 쓰기 버퍼에 임시 저장한 후, 상기 플래시 메모리에 저장하도록 구비된 것을 데이터 저장장치.
- 제 61 항에 있어서, 상기 메모리 제어부는,상기 페이지 분류부가 상기 쓰기 요청을 3개 등급으로 분류하는 경우, 상기 쓰기 요청 빈도가 높은 등급의 데이터를 상기 복수의 쓰기 버퍼 중 제1 쓰기 버퍼에 임시 저장하고, 상기 쓰기 요청 빈도가 중간인 등급의 데이터를 상기 복수의 쓰 기 버퍼 중 제2 쓰기 버퍼에 임시 저장하고, 상기 쓰기 요청 빈도가 낮은 등급의 데이터를 상기 플래시 메모리에 저장하도록 구비된 것을 특징으로 하는 데이터 저장장치.
- 제 61 항에 있어서, 상기 메모리 제어부는,상기 페이지 분류부가 상기 쓰기 요청을 3개 등급으로 분류하는 경우, 상기 쓰기 요청 빈도가 높은 등급의 데이터를 상기 복수의 쓰기 버퍼 중 제1 쓰기 버퍼에 임시 저장하고, 상기 쓰기 요청 빈도가 중간인 등급의 데이터를 상기 복수의 쓰기 버퍼 중 제2 쓰기 버퍼에 임시 저장하고, 상기 쓰기 요청 빈도가 낮은 등급의 데이터를 상기 복수의 쓰기 버퍼 중 제3 쓰기 버퍼에 임시 저장한 후, 상기 플래시 메모리에 저장하도록 구비된 것을 특징으로 하는 데이터 저장장치.
- 제 59 항에 있어서, 상기 쓰기 버퍼는 MRAM, FRAM, PRAM 및 비휘발성 폴리머 메모리로 이루어진 군 중 어느 하나 또는 이들의 조합인 것을 특징으로 하는 데이터 저장장치.
- 제 59 항에 있어서, 상기 쓰기 버퍼는 배터리 부착형 비휘발성 메모리인 것을 특징으로 하는 데이터 저장장치.
- 제 59 항에 있어서, 상기 쓰기 버퍼는 휘발성 메모리인 것을 특징으로 하는 데이터 저장장치.
- 제 59 항, 제 60 항, 제 62 항, 제 63 항 및 제 64 항 중 어느 한 항에 있어서, 상기 플래시 메모리는 SLC 플래시 메모리와 MLC 플래시 메모리 중 어느 하나인 것을 특징으로 하는 데이터 저장장치.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050063301 | 2005-07-13 | ||
KR20050063301 | 2005-07-13 | ||
KR1020050076368 | 2005-08-19 | ||
KR20050076368 | 2005-08-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070008403A KR20070008403A (ko) | 2007-01-17 |
KR101257848B1 true KR101257848B1 (ko) | 2013-04-24 |
Family
ID=37743880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060064017A KR101257848B1 (ko) | 2005-07-13 | 2006-07-07 | 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7689761B2 (ko) |
KR (1) | KR101257848B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200135005A (ko) | 2019-05-24 | 2020-12-02 | 서강대학교산학협력단 | 파일 시스템 및 이를 이용한 단일 파일 쓰기 병렬화 방법 |
KR20210122726A (ko) * | 2014-05-07 | 2021-10-12 | 에스케이하이닉스 주식회사 | 메모리제어장치 및 메모리제어장치의 동작 방법 |
US11544157B2 (en) | 2019-06-28 | 2023-01-03 | SK Hynix Inc. | Apparatus and method for storing data in an MLC area of a memory system |
Families Citing this family (117)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8027194B2 (en) | 1988-06-13 | 2011-09-27 | Samsung Electronics Co., Ltd. | Memory system and method of accessing a semiconductor memory device |
KR100783988B1 (ko) * | 2006-10-31 | 2007-12-07 | 주식회사 하이닉스반도체 | 플래시 메모리 장치 및 동작방법 |
JP2008152464A (ja) * | 2006-12-15 | 2008-07-03 | Toshiba Corp | 記憶装置 |
US7554855B2 (en) * | 2006-12-20 | 2009-06-30 | Mosaid Technologies Incorporated | Hybrid solid-state memory system having volatile and non-volatile memory |
US7852654B2 (en) * | 2006-12-28 | 2010-12-14 | Hynix Semiconductor Inc. | Semiconductor memory device, and multi-chip package and method of operating the same |
US20090197641A1 (en) * | 2008-02-06 | 2009-08-06 | Broadcom Corporation | Computing device with handheld and extended computing units |
US8116294B2 (en) * | 2007-01-31 | 2012-02-14 | Broadcom Corporation | RF bus controller |
US8254319B2 (en) * | 2007-01-31 | 2012-08-28 | Broadcom Corporation | Wireless programmable logic device |
US8223736B2 (en) * | 2007-01-31 | 2012-07-17 | Broadcom Corporation | Apparatus for managing frequency use |
US9486703B2 (en) | 2007-01-31 | 2016-11-08 | Broadcom Corporation | Mobile communication device with game application for use in conjunction with a remote mobile communication device and methods for use therewith |
US8289944B2 (en) * | 2007-01-31 | 2012-10-16 | Broadcom Corporation | Apparatus for configuration of wireless operation |
US20090011832A1 (en) * | 2007-01-31 | 2009-01-08 | Broadcom Corporation | Mobile communication device with game application for display on a remote monitor and methods for use therewith |
US8438322B2 (en) * | 2007-01-31 | 2013-05-07 | Broadcom Corporation | Processing module with millimeter wave transceiver interconnection |
US8125950B2 (en) * | 2007-01-31 | 2012-02-28 | Broadcom Corporation | Apparatus for wirelessly managing resources |
US20090017910A1 (en) * | 2007-06-22 | 2009-01-15 | Broadcom Corporation | Position and motion tracking of an object |
US8204075B2 (en) * | 2007-01-31 | 2012-06-19 | Broadcom Corporation | Inter-device wireless communication for intra-device communications |
US8200156B2 (en) * | 2007-01-31 | 2012-06-12 | Broadcom Corporation | Apparatus for allocation of wireless resources |
US8010735B2 (en) * | 2007-07-31 | 2011-08-30 | Broadcom Corporation | Flash memory with millimeter wave host interface and method for use therewith |
US8280303B2 (en) * | 2007-01-31 | 2012-10-02 | Broadcom Corporation | Distributed digital signal processor |
US8238275B2 (en) * | 2007-01-31 | 2012-08-07 | Broadcom Corporation | IC with MMW transceiver communications |
US20080320293A1 (en) * | 2007-01-31 | 2008-12-25 | Broadcom Corporation | Configurable processing core |
US8239650B2 (en) * | 2007-01-31 | 2012-08-07 | Broadcom Corporation | Wirelessly configurable memory device addressing |
US8121541B2 (en) * | 2007-01-31 | 2012-02-21 | Broadcom Corporation | Integrated circuit with intra-chip and extra-chip RF communication |
KR100823171B1 (ko) * | 2007-02-01 | 2008-04-18 | 삼성전자주식회사 | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 |
TWI368224B (en) * | 2007-03-19 | 2012-07-11 | A Data Technology Co Ltd | Wear-leveling management and file distribution management of hybrid density memory |
KR100907477B1 (ko) * | 2007-07-16 | 2009-07-10 | 한양대학교 산학협력단 | 플래시 메모리에 저장된 데이터의 인덱스 정보 관리 장치및 방법 |
KR101498673B1 (ko) * | 2007-08-14 | 2015-03-09 | 삼성전자주식회사 | 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템 |
US8024545B2 (en) * | 2007-10-19 | 2011-09-20 | Inha-Industry Partnership Institute | Efficient prefetching and asynchronous writing for flash memory |
EP2225643B1 (en) | 2007-12-28 | 2020-05-06 | Toshiba Memory Corporation | Semiconductor storage device |
US8195928B2 (en) * | 2008-02-06 | 2012-06-05 | Broadcom Corporation | Handheld computing unit with merged mode |
US20090198798A1 (en) * | 2008-02-06 | 2009-08-06 | Broadcom Corporation | Handheld computing unit back-up system |
US8064952B2 (en) * | 2008-02-06 | 2011-11-22 | Broadcom Corporation | A/V control for a computing device with handheld and extended computing units |
US8117370B2 (en) * | 2008-02-06 | 2012-02-14 | Broadcom Corporation | IC for handheld computing unit of a computing device |
US8717974B2 (en) * | 2008-02-06 | 2014-05-06 | Broadcom Corporation | Handheld computing unit coordination of femtocell AP functions |
US8175646B2 (en) * | 2008-02-06 | 2012-05-08 | Broadcom Corporation | Networking of multiple mode handheld computing unit |
US8430750B2 (en) * | 2008-05-22 | 2013-04-30 | Broadcom Corporation | Video gaming device with image identification |
US8244961B2 (en) * | 2008-05-27 | 2012-08-14 | Initio Corporation | SSD with distributed processors |
US8060719B2 (en) | 2008-05-28 | 2011-11-15 | Micron Technology, Inc. | Hybrid memory management |
KR101573047B1 (ko) * | 2009-01-23 | 2015-12-02 | 삼성전자주식회사 | 복합 메모리 장치 및 이를 이용한 i/o 처리 방법 |
US8583893B2 (en) * | 2009-05-28 | 2013-11-12 | Marvell World Trade Ltd. | Metadata management for virtual volumes |
EP2273373A1 (en) | 2009-07-02 | 2011-01-12 | Vodafone Holding GmbH | Storing of frequently modified data in an IC card |
KR101602939B1 (ko) * | 2009-10-16 | 2016-03-15 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법 |
TW201115582A (en) * | 2009-10-29 | 2011-05-01 | Acer Inc | Method for determining data correlation and data processing method for memory |
KR101627322B1 (ko) * | 2009-11-18 | 2016-06-03 | 삼성전자주식회사 | 비-휘발성 버퍼를 이용한 데이터 저장 장치 및 방법 |
JP2011128792A (ja) * | 2009-12-16 | 2011-06-30 | Toshiba Corp | メモリ管理装置 |
US9092340B2 (en) * | 2009-12-18 | 2015-07-28 | Sandisk Technologies Inc. | Method and system for achieving die parallelism through block interleaving |
CN102110057B (zh) * | 2009-12-25 | 2013-05-08 | 澜起科技(上海)有限公司 | 存储器模组及存储器模组内的数据交换方法 |
US8793290B1 (en) | 2010-02-24 | 2014-07-29 | Toshiba Corporation | Metadata management for pools of storage disks |
US8341339B1 (en) | 2010-06-14 | 2012-12-25 | Western Digital Technologies, Inc. | Hybrid drive garbage collecting a non-volatile semiconductor memory by migrating valid data to a disk |
US8959284B1 (en) | 2010-06-28 | 2015-02-17 | Western Digital Technologies, Inc. | Disk drive steering write data to write cache based on workload |
JP2012033002A (ja) * | 2010-07-30 | 2012-02-16 | Toshiba Corp | メモリ管理装置およびメモリ管理方法 |
US9146875B1 (en) | 2010-08-09 | 2015-09-29 | Western Digital Technologies, Inc. | Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining |
EP2418584A1 (en) * | 2010-08-13 | 2012-02-15 | Thomson Licensing | Method and apparatus for storing at least two data streams into an array of memories, or for reading at least two data streams from an array of memories |
US8639872B1 (en) | 2010-08-13 | 2014-01-28 | Western Digital Technologies, Inc. | Hybrid drive comprising write cache spanning non-volatile semiconductor memory and disk |
US9268499B1 (en) | 2010-08-13 | 2016-02-23 | Western Digital Technologies, Inc. | Hybrid drive migrating high workload data from disk to non-volatile semiconductor memory |
US9058280B1 (en) | 2010-08-13 | 2015-06-16 | Western Digital Technologies, Inc. | Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time |
US8683295B1 (en) | 2010-08-31 | 2014-03-25 | Western Digital Technologies, Inc. | Hybrid drive writing extended error correction code symbols to disk for data sectors stored in non-volatile semiconductor memory |
US8775720B1 (en) | 2010-08-31 | 2014-07-08 | Western Digital Technologies, Inc. | Hybrid drive balancing execution times for non-volatile semiconductor memory and disk |
US8782334B1 (en) | 2010-09-10 | 2014-07-15 | Western Digital Technologies, Inc. | Hybrid drive copying disk cache to non-volatile semiconductor memory |
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US8825976B1 (en) | 2010-09-28 | 2014-09-02 | Western Digital Technologies, Inc. | Hybrid drive executing biased migration policy during host boot to migrate data to a non-volatile semiconductor memory |
US8825977B1 (en) | 2010-09-28 | 2014-09-02 | Western Digital Technologies, Inc. | Hybrid drive writing copy of data to disk when non-volatile semiconductor memory nears end of life |
US8670205B1 (en) | 2010-09-29 | 2014-03-11 | Western Digital Technologies, Inc. | Hybrid drive changing power mode of disk channel when frequency of write data exceeds a threshold |
US8699171B1 (en) | 2010-09-30 | 2014-04-15 | Western Digital Technologies, Inc. | Disk drive selecting head for write operation based on environmental condition |
US8612798B1 (en) | 2010-10-21 | 2013-12-17 | Western Digital Technologies, Inc. | Hybrid drive storing write data in non-volatile semiconductor memory if write verify of disk fails |
US8429343B1 (en) | 2010-10-21 | 2013-04-23 | Western Digital Technologies, Inc. | Hybrid drive employing non-volatile semiconductor memory to facilitate refreshing disk |
US8427771B1 (en) | 2010-10-21 | 2013-04-23 | Western Digital Technologies, Inc. | Hybrid drive storing copy of data in non-volatile semiconductor memory for suspect disk data sectors |
US8560759B1 (en) | 2010-10-25 | 2013-10-15 | Western Digital Technologies, Inc. | Hybrid drive storing redundant copies of data on disk and in non-volatile semiconductor memory based on read frequency |
US9069475B1 (en) | 2010-10-26 | 2015-06-30 | Western Digital Technologies, Inc. | Hybrid drive selectively spinning up disk when powered on |
TWI417721B (zh) * | 2010-11-26 | 2013-12-01 | Etron Technology Inc | 衰減熱資料之方法 |
US9183135B2 (en) * | 2011-01-21 | 2015-11-10 | Micron Technology, Inc. | Preparation of memory device for access using memory access type indicator signal |
US8909850B2 (en) * | 2011-03-10 | 2014-12-09 | Deere & Company | Memory life extension method and apparatus |
KR101811297B1 (ko) | 2011-03-15 | 2017-12-27 | 삼성전자주식회사 | 불휘발성 메모리를 제어하는 메모리 컨트롤러 |
KR20120119092A (ko) * | 2011-04-20 | 2012-10-30 | 삼성전자주식회사 | 반도체 메모리 시스템 및 이의 구동 방법 |
US9461486B2 (en) * | 2011-07-02 | 2016-10-04 | Leonid Rozenboim | Accumulator battery monitoring over power circuit |
US8630056B1 (en) | 2011-09-12 | 2014-01-14 | Western Digital Technologies, Inc. | Hybrid drive adjusting spin-up profile based on cache status of non-volatile semiconductor memory |
US8909889B1 (en) | 2011-10-10 | 2014-12-09 | Western Digital Technologies, Inc. | Method and apparatus for servicing host commands by a disk drive |
US8977804B1 (en) | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Varying data redundancy in storage systems |
US9268701B1 (en) | 2011-11-21 | 2016-02-23 | Western Digital Technologies, Inc. | Caching of data in data storage systems by managing the size of read and write cache based on a measurement of cache reliability |
US8977803B2 (en) | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Disk drive data caching using a multi-tiered memory |
US8904091B1 (en) | 2011-12-22 | 2014-12-02 | Western Digital Technologies, Inc. | High performance media transport manager architecture for data storage systems |
US10114750B2 (en) * | 2012-01-23 | 2018-10-30 | Qualcomm Incorporated | Preventing the displacement of high temporal locality of reference data fill buffers |
KR101419004B1 (ko) * | 2012-05-03 | 2014-07-11 | 주식회사 디에이아이오 | 비휘발성 메모리 시스템 |
KR101929584B1 (ko) | 2012-06-29 | 2018-12-17 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
US9710275B2 (en) * | 2012-11-05 | 2017-07-18 | Nvidia Corporation | System and method for allocating memory of differing properties to shared data objects |
US8959281B1 (en) | 2012-11-09 | 2015-02-17 | Western Digital Technologies, Inc. | Data management for a storage device |
US8984251B2 (en) * | 2012-12-04 | 2015-03-17 | Apple Inc. | Hinting of deleted data from host to storage device |
KR101977684B1 (ko) | 2012-12-12 | 2019-05-13 | 삼성전자 주식회사 | 저항체를 이용한 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러 동작방법, 상기 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 메모리 시스템 및 비휘발성 메모리 장치 |
US9141176B1 (en) | 2013-07-29 | 2015-09-22 | Western Digital Technologies, Inc. | Power management for data storage device |
KR102094163B1 (ko) * | 2013-08-28 | 2020-03-27 | 삼성전자 주식회사 | 하이브리드 캐시 기반의 메모리 시스템에서 캐시를 관리하는 장치 및 방법과, 그 메모리 시스템 |
US9070379B2 (en) | 2013-08-28 | 2015-06-30 | Western Digital Technologies, Inc. | Data migration for data storage device |
US9323467B2 (en) | 2013-10-29 | 2016-04-26 | Western Digital Technologies, Inc. | Data storage device startup |
US8917471B1 (en) | 2013-10-29 | 2014-12-23 | Western Digital Technologies, Inc. | Power management for data storage device |
US20150134916A1 (en) * | 2013-11-12 | 2015-05-14 | Nvidia Corporation | Cache filter |
US9645896B2 (en) | 2013-12-26 | 2017-05-09 | Silicon Motion, Inc. | Data storage device and flash memory control method |
KR102164617B1 (ko) | 2014-03-24 | 2020-10-12 | 삼성전자주식회사 | 데이터 저장 장치의 동작 방법과 상기 데이터 저장 장치를 포함하는 시스템의 동작 방법 |
US9626112B2 (en) | 2014-12-08 | 2017-04-18 | Symbol Technologies, Llc | eMMC functionality expander |
KR102309471B1 (ko) | 2014-12-19 | 2021-10-07 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법 |
US10108546B2 (en) * | 2014-12-30 | 2018-10-23 | Sandisk Technologies Llc | Method and system for using non-volatile memory as a replacement for volatile memory |
CN104793901B (zh) * | 2015-04-09 | 2018-01-23 | 北京鲸鲨软件科技有限公司 | 一种存储装置及存储方法 |
US10067872B2 (en) * | 2015-06-22 | 2018-09-04 | Advanced Micro Devices, Inc. | Memory speculation for multiple memories |
CN104951403B (zh) * | 2015-07-06 | 2018-01-30 | 中国科学技术大学 | 一种低开销且无差错的冷热数据识别方法 |
US10013174B2 (en) | 2015-09-30 | 2018-07-03 | Western Digital Technologies, Inc. | Mapping system selection for data storage device |
US9530491B1 (en) * | 2015-11-16 | 2016-12-27 | Sandisk Technologies Llc | System and method for direct write to MLC memory |
CN105739921A (zh) * | 2016-01-26 | 2016-07-06 | 上海新储集成电路有限公司 | 一种混合硬盘的缓存结构及方法 |
KR102175176B1 (ko) * | 2017-12-29 | 2020-11-06 | 한양대학교 산학협력단 | 문자 종류 개수에 기반한 데이터 구분 방법, 데이터 분류기 및 스토리지 시스템 |
CN110018897B (zh) | 2018-01-09 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及计算设备 |
KR102538222B1 (ko) * | 2018-06-26 | 2023-06-01 | 삼성전자주식회사 | 스토리지 장치, 스토리지 장치를 포함하는 스토리지 시스템, 그리고 스토리지 장치를 액세스하는 방법 |
TWI671756B (zh) * | 2018-11-13 | 2019-09-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料儲存方法 |
KR20200085522A (ko) * | 2019-01-07 | 2020-07-15 | 에스케이하이닉스 주식회사 | 이종 메모리를 갖는 메인 메모리 장치, 이를 포함하는 컴퓨터 시스템 및 그것의 데이터 관리 방법 |
KR102743222B1 (ko) | 2019-06-12 | 2024-12-17 | 삼성전자 주식회사 | 전자 장치 및 그의 저장 공간 이용 방법 |
KR102732885B1 (ko) * | 2020-02-11 | 2024-11-22 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이의 동작 방법 |
KR20220048869A (ko) * | 2020-10-13 | 2022-04-20 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
CN114116191B (zh) * | 2021-06-24 | 2023-09-01 | 荣耀终端有限公司 | 内存冷页的处理方法及电子设备 |
KR20230151602A (ko) | 2022-04-26 | 2023-11-02 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그것을 포함하는 메모리 시스템 |
US12175088B2 (en) | 2022-10-25 | 2024-12-24 | Samsung Electronics Co., Ltd. | High endurance persistent storage device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014727A (en) | 1996-12-23 | 2000-01-11 | Apple Computer, Inc. | Method and system for buffering messages in an efficient but largely undivided manner |
US20040193782A1 (en) | 2003-03-26 | 2004-09-30 | David Bordui | Nonvolatile intelligent flash cache memory |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4740894A (en) * | 1985-09-27 | 1988-04-26 | Schlumberger Systems And Services, Inc. | Computing processor with memoryless function units each connected to different part of a multiported memory |
EP0618535B1 (en) * | 1989-04-13 | 1999-08-25 | SanDisk Corporation | EEPROM card with defective cell substitution and cache memory |
US5671388A (en) * | 1995-05-03 | 1997-09-23 | Intel Corporation | Method and apparatus for performing write operations in multi-level cell storage device |
SE514348C2 (sv) * | 1995-06-09 | 2001-02-12 | Saab Dynamics Ab | Minnesstruktur anpassad för lagring och hämtning av vektorer |
US5937423A (en) * | 1996-12-26 | 1999-08-10 | Intel Corporation | Register interface for flash EEPROM memory arrays |
US6311290B1 (en) | 1997-02-14 | 2001-10-30 | Intel Corporation | Methods of reliably allocating, de-allocating, re-allocating, and reclaiming objects in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US6021470A (en) * | 1997-03-17 | 2000-02-01 | Oracle Corporation | Method and apparatus for selective data caching implemented with noncacheable and cacheable data for improved cache performance in a computer networking system |
JP3821536B2 (ja) * | 1997-05-16 | 2006-09-13 | 沖電気工業株式会社 | 不揮発性半導体ディスク装置 |
JPH11194899A (ja) * | 1997-12-26 | 1999-07-21 | Toshiba Corp | ディスク記憶システム及び同システムに適用するデータ更新方法 |
JP2000067574A (ja) * | 1998-08-21 | 2000-03-03 | Mitsubishi Electric Corp | 半導体記憶装置 |
JP2000148395A (ja) | 1998-11-11 | 2000-05-26 | Keii Sho | タッチパッドカバー |
US6427186B1 (en) * | 1999-03-30 | 2002-07-30 | Frank (Fong-Long) Lin | Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers |
US6356980B1 (en) * | 1999-11-09 | 2002-03-12 | International Business Machines Corporation | Method and system for bypassing cache levels when casting out from an upper level cache |
CA2312444A1 (en) * | 2000-06-20 | 2001-12-20 | Ibm Canada Limited-Ibm Canada Limitee | Memory management of data buffers incorporating hierarchical victim selection |
JP3949912B2 (ja) | 2000-08-08 | 2007-07-25 | 株式会社エヌ・ティ・ティ・ドコモ | 携帯型電子機器、電子機器、振動発生器、振動による報知方法および報知制御方法 |
US6456528B1 (en) * | 2001-09-17 | 2002-09-24 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US20030204675A1 (en) * | 2002-04-29 | 2003-10-30 | Dover Lance W. | Method and system to retrieve information from a storage device |
WO2004051451A2 (en) | 2002-12-04 | 2004-06-17 | Koninklijke Philips Electronics N.V. | Graphic user interface having touch detectability |
US8041878B2 (en) * | 2003-03-19 | 2011-10-18 | Samsung Electronics Co., Ltd. | Flash file system |
KR100481943B1 (ko) | 2003-05-22 | 2005-04-14 | 학교법인연세대학교 | 시간적·공간적 지역성을 향상시키고 플레쉬 메모리장치로의 접근 횟수를 줄이는 플레쉬 메모리 시스템 및데이터 억세스 방법 |
JP4478436B2 (ja) | 2003-11-17 | 2010-06-09 | ソニー株式会社 | 入力装置、情報処理装置、リモートコントロール装置および入力装置の制御方法 |
-
2006
- 2006-07-07 KR KR1020060064017A patent/KR101257848B1/ko active IP Right Grant
- 2006-07-13 US US11/485,346 patent/US7689761B2/en not_active Expired - Fee Related
-
2010
- 2010-02-12 US US12/656,698 patent/US8812771B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014727A (en) | 1996-12-23 | 2000-01-11 | Apple Computer, Inc. | Method and system for buffering messages in an efficient but largely undivided manner |
US20040193782A1 (en) | 2003-03-26 | 2004-09-30 | David Bordui | Nonvolatile intelligent flash cache memory |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210122726A (ko) * | 2014-05-07 | 2021-10-12 | 에스케이하이닉스 주식회사 | 메모리제어장치 및 메모리제어장치의 동작 방법 |
KR102347841B1 (ko) | 2014-05-07 | 2022-01-07 | 에스케이하이닉스 주식회사 | 메모리제어장치 및 메모리제어장치의 동작 방법 |
KR20200135005A (ko) | 2019-05-24 | 2020-12-02 | 서강대학교산학협력단 | 파일 시스템 및 이를 이용한 단일 파일 쓰기 병렬화 방법 |
US11544157B2 (en) | 2019-06-28 | 2023-01-03 | SK Hynix Inc. | Apparatus and method for storing data in an MLC area of a memory system |
Also Published As
Publication number | Publication date |
---|---|
US7689761B2 (en) | 2010-03-30 |
US20070038808A1 (en) | 2007-02-15 |
US8812771B2 (en) | 2014-08-19 |
US20100153630A1 (en) | 2010-06-17 |
US20090144501A2 (en) | 2009-06-04 |
KR20070008403A (ko) | 2007-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101257848B1 (ko) | 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법 | |
US10838859B2 (en) | Recency based victim block selection for garbage collection in a solid state device (SSD) | |
US11055230B2 (en) | Logical to physical mapping | |
TWI267862B (en) | Flash controller cache architecture | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
US8108590B2 (en) | Multi-operation write aggregator using a page buffer and a scratch flash block in each of multiple channels of a large array of flash memory to reduce block wear | |
JP4834676B2 (ja) | オンチップ不揮発性メモリ書き込みキャッシュを使用するシステムおよび方法 | |
JP5728672B2 (ja) | ハイブリッドメモリ管理 | |
US10496334B2 (en) | Solid state drive using two-level indirection architecture | |
CN101271380B (zh) | 混合密度存储体储存装置 | |
US8452940B2 (en) | Optimized memory management for random and sequential data writing | |
KR101391270B1 (ko) | Mram을 이용하는 비휘발성 메모리 시스템 | |
US20190251039A1 (en) | Methods and apparatus for implementing a logical to physical address mapping in a solid state drive | |
CN101606133A (zh) | 具有连续逻辑地址空间接口的直接数据文件系统的使用 | |
US20090132761A1 (en) | Storage management method and system using the same | |
KR20040038708A (ko) | 비휘발성 메모리 시스템에서 블록 캐싱을 수행하는 방법및 시스템 | |
CN112201292A (zh) | 控制器及其操作方法 | |
CN103019958A (zh) | 使用数据属性来管理固态存储器里的数据的方法 | |
TW201517051A (zh) | 具有揮發性及非揮發性記憶體之混合固態記憶體系統 | |
US11138104B2 (en) | Selection of mass storage device streams for garbage collection based on logical saturation | |
CN111694510B (zh) | 数据储存装置与数据处理方法 | |
CN106802870B (zh) | 一种高效的嵌入式系统芯片Nor-Flash控制器及控制方法 | |
US12222855B2 (en) | Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device | |
TWI718710B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
Im et al. | Storage architecture and software support for SLC/MLC combined flash memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20060707 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20110218 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20060707 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20120820 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20130228 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20130418 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20130419 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20160318 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20160318 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170321 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20170321 Start annual number: 5 End annual number: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180320 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20180320 Start annual number: 6 End annual number: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190320 Year of fee payment: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20190320 Start annual number: 7 End annual number: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20210317 Start annual number: 9 End annual number: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20230321 Start annual number: 11 End annual number: 11 |
|
PR1001 | Payment of annual fee |
Payment date: 20240319 Start annual number: 12 End annual number: 12 |