KR20100034743A - 메모리 디바이스에 대한 저장 어드레스 리매핑을 위한 방법과 시스템 - Google Patents
메모리 디바이스에 대한 저장 어드레스 리매핑을 위한 방법과 시스템 Download PDFInfo
- Publication number
- KR20100034743A KR20100034743A KR1020107000413A KR20107000413A KR20100034743A KR 20100034743 A KR20100034743 A KR 20100034743A KR 1020107000413 A KR1020107000413 A KR 1020107000413A KR 20107000413 A KR20107000413 A KR 20107000413A KR 20100034743 A KR20100034743 A KR 20100034743A
- Authority
- KR
- South Korea
- Prior art keywords
- block
- data
- lba
- address
- sat
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000013507 mapping Methods 0.000 title claims description 67
- 238000004891 communication Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 239000007787 solid Substances 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 29
- 238000005192 partition Methods 0.000 description 25
- 238000011010 flushing procedure Methods 0.000 description 23
- 238000013519 translation Methods 0.000 description 15
- 230000014616 translation Effects 0.000 description 15
- 238000013467 fragmentation Methods 0.000 description 10
- 238000006062 fragmentation reaction Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000013479 data entry Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 238000013500 data storage Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000007596 consolidation process Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 2
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012005 ligant binding assay Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000013011 mating Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 102100040149 Adenylyl-sulfate kinase Human genes 0.000 description 1
- 101000666896 Homo sapiens V-type immunoglobulin domain-containing suppressor of T-cell activation Proteins 0.000 description 1
- 241001544487 Macromiidae Species 0.000 description 1
- 102100038282 V-type immunoglobulin domain-containing suppressor of T-cell activation Human genes 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- IJJVMEJXYNJXOJ-UHFFFAOYSA-N fluquinconazole Chemical compound C=1C=C(Cl)C=C(Cl)C=1N1C(=O)C2=CC(F)=CC=C2N=C1N1C=NC=N1 IJJVMEJXYNJXOJ-UHFFFAOYSA-N 0.000 description 1
- XDDAORKBJWWYJS-UHFFFAOYSA-N glyphosate Chemical compound OC(=O)CNCP(O)(O)=O XDDAORKBJWWYJS-UHFFFAOYSA-N 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012026 site acceptance test Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000013403 standard screening design Methods 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
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/7202—Allocation control and policies
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
도 2는 도 1의 비휘발성 메모리로 이용되는 예시적인 플래시 메모리 시스템의 일 예를 나타낸 블록도.
도 3은 도 2의 시스템에서 이용될 수 있는 메모리 셀 어레이의 대표적인 회로도.
도 4는 도 2의 시스템의 물리적 메모리 구성의 일 예를 설명하는 도면.
도 5는 도 4의 물리적 메모리의 일부를 확대 도시한 도면.
도 6은 논리 블록 어드레스(LBA) 어드레스 공간에 할당된 자유 클러스터의 일반적인 패턴을 도시한 도면.
도 7은 하나의 개시된 구현에 따른 블록에 의한 클러스터의 할당 패턴을 설명하는 도면.
도 8은 장치의 메모리 관리자가 저장 어드레스 리매핑 기능을 통합하는 메모리 드라이브와 호스트 사이의 저장 어드레스 리매핑의 구현을 설명하는 도면.
도 9는 도 8에 도시한 저장 어드레스 리매핑의 또 다른 구현을 설명하는 도면.
도 10은 호스트상에 기능성이 위치되는 저장 어드레스 리매핑의 구현을 설명하는 도면.
도 11은 도 10의 저장 어드레스 리매핑의 또 다른 구현을 설명하는 도면.
도 12는 클러스터 블록의 할당의 상태도.
도 13은 플래시 메모리가 바이너리 및 MLC 구획을 포함하는 경우 도 12의 상태도의 또 다른 구현을 나타낸 도면.
도 14는 도 9 및 10의 구현에서 사용가능한 연통된 DLBA 어드레스 공간 및 LBA어드레스 공간의 예를 나타낸 도면.
도 15는 호스트로부터 수신된 데이터에 대한 LBA 내지 DLBA 매핑의 예를 설명하는 도면.
도 16은 DLBA 어드레스 공간에서의 플러시 동작 및 물리적 어드레스 공간 내의 해당 업데이트 블록을 설명하는 도면.
도 17은 도 16의 플러시 동작 이후의 제 2의 플러시 동작을 설명하는 도면.
도 18은 호스트로부터의 데이터를 포함하는 블록에 대한 블록 플러시 프로세스를 설명하는 순서도.
도 19는 호스트 논리 어드레스가 제 2 논리 어드레스 공간에 리매핑된 배열 내의 저장 어드레스 테이블(SAT) 계층을 설명하는 도면.
도 20은 논리 대 논리 매핑의 추적이 이용되는 저장 어드레스 테이블(SAT) 기록 블록을 설명하는 도면.
도 21은 도 20의 SAT 테이블의 SAT 페이지에 이용하기 위한 LBA 입구를 나타낸 도면.
도 22는 도 20의 SAT 테이블의 SAT 페이지에 이용하기 위한 DLBA 입구를 나타낸 도면.
도 23은 도 20의 SAT 테이블의 SAT 페이지에 이용하기 위한 SAT 색인 입구를 나타낸 도면.
도 24는 도 9 및 10의 저장 어드레스 리매핑 기능에 이용하기 위한 저장 어드레스 테이블 번역절차를 설명하는 도면.
도 25는 네 개의 예시적인 시간에 LBA 및 DLBA 어드레스 공간에서의 데이터 기록 작업의 예를 설명하는 도면.
도 26은 SAT 블록 전환의 상태도.
도 27은 SAT 블록 플러시 순서를 결정하기 위한 프로세스의 순서도.
도 28은 블록 정보 테이블(BIT) 기록 블록을 설명하는 도면.
도 29는 호스트로부터 수신된 테이터의 물리적 어드레스 매핑에 대한 LBA의 예를 설명하는 도면.
도 30은 도 29에 도시한 데이터 분포에 기초한 물리적 어드레스 공간 내에서의 플러시 동작을 설명하는 도면.
도 31은 도 30의 플러시 동작 이후의 제 2의 플러시 동작을 설명하는 도면.
도 32는 호스트 논리 어드레스의 런이 데이터 런의 물리적 어드레스로 매핑되는 배열 내의 저장 어드레스 테이블(SAT) 계층을 설명하는 도면.
도 33은 논리 대 물리 매핑을 추적하는 데 이용되는 저장 어드레스 테이블(SAT) 기록 블록을 설명하는 도면.
도 34는 도 33의 SAT 테이블의 SAT 페이지에 이용하기 위한 LBA 입구를 나타낸 도면.
도 35는 도 33의 SAT 테이블의 SAT 페이지에 이용하기 위한 데이터 입구를 나타낸 도면.
도 36은 도 33의 SAT 테이블의 SAT 페이지에 이용하기 위한 SAT 색인 입구를 나타낸 도면.
도 37은 논리 어드레스의 완성 블록이 데이터 런에 매핑되는, 도 32 내지 36의 SAT의 또 다른 실시예를 설명하는 도면.
도 38은 도 11의 구성을 이용하는 시스템에서의 저장 어드레스 리매핑의 구현을 설명하는 도면.
엔트리 | 어드레싱 범위 | 바이트 단위의 엔트리 사이즈 |
SAT 페이지/LBA 필드/LBA 엔트리/ 제 1 LAB | 2048GB | 4 |
SAT 페이지/LBA 필드/LBA 엔트리/ 런 길이 | 32MB | 2 |
SAT 페이지/LBA 필드/LBA 엔트리/DLBA 엔트리 수 | 64K 엔트리 | 2 |
SAT 페이지/DLBA 필드/DLBA 엔트리/ 제 1 DLBA | 2048GB | 4 |
SAT 페이지/DLBA 필드/DLBA 엔트리/ LBA 오프셋 | 32MB | 2 |
SAT 페이지/인덱스 버퍼 필드/ SAT 인덱스 엔트리/제 1 LBA | 2048GB | 4 |
SAT 페이지/인덱스 버퍼 필드/ SAT 인덱스 엔트리/최종 LBA | 2048GB | 4 |
SAT 페이지/인덱스 버퍼 필드/ SAT 인덱스 엔트리/SAT 블록 위치 | 64K 블록 | 2 |
SAT 페이지/인덱스 버퍼 필드/ SAT 인덱스 엔트리/SAT 페이지 위치 | 64K 페이지 | 2 |
SAT 페이지/필드 포인터 | 64K 엔트리 | 2 |
SAT 인덱스 페이지/SAT 인덱스 필드/ SAT 인덱스 엔트리/제 1 LBA | 2048GB | 4 |
SAT 인덱스 페이지/SAT 인덱스 필드/ SAT 인덱스 엔트리/SAT 블록 위치 | 64K 블록 | 2 |
SAT 인덱스 페이지/SAT 인덱스 필드/ SAT 인덱스 엔트리/SAT 페이지 위치 | 64K 페이지 | 2 |
SAT 인덱스 페이지/페이지 인덱스 필드/ 페이지 인덱스 엔트리/제 1 LBA | 2048GB | 4 |
SAT 인덱스 페이지/페이지 인덱스 필드/SAT 인덱스 엔트리/SAT 블록 위치 | 64K 블록 | 2 |
SAT 인덱스 페이지/페이지 인덱스 필드/ 페이지 인덱스 엔트리/SAT 페이지 위치 | 64K 페이지 | 2 |
LBA 엔트리 | DLBA 엔트리 | |||
LBA | 길이 | DLBA 포인터 | DLBA | LBA 오프셋 |
LBA1 | 9 클러스터 | [1]까지 | [1] DLBA1 | 0 |
DLBA2 | 5 클러스터 | |||
LBA2 | 11 클러스터 | [2]까지 | [2] DLBA4 | 0 |
DLBA5 | 5 클러스터 | |||
LBA3 | 3 클러스터 | [3]까지 | [3] DLBA3 | 0 |
LBA 엔트리 | DLBA 엔트리 | |||
LBA | 길이 | DLBA 포인터 | DLBA | LBA 오프셋 |
LBA1 | 9 클러스터 | [1]까지 | [1] DLBA1 | 0 |
DLBA2 | 5 클러스터 | |||
LBA2 | 11 클러스터 | [2]까지 | [2] DLBA4 | 0 |
DLBA5 | 5 클러스터 | |||
LBA3 | 3 클러스터 | [3]까지 | [3] DLBA3 | 0 |
LBA4 | 4 클러스터 | [4]까지 | [4] DLBA7 | 0 |
LBA 엔트리 | DLBA 엔트리 | |||
LBA | 길이 | DLBA 포인터 | DLBA | LBA 오프셋 |
LBA2 | 11 클러스터 | [2]까지 | [2] DLBA4 | 0 |
DLBA5 | 5 클러스터 | |||
LBA4 | 4 클러스터 | [4]까지 | [4]DLBA7 | 0 |
LBA 엔트리 | DLBA 엔트리 | |||
LBA | 길이 | DLBA 포인터 | DLBA | LBA 오프셋 |
LBA2 | 11 클러스터 | [2]까지 | [2] DLBA4 | 0 |
DLBA8 | 2 클러스터 | |||
DLBA9 | 4 클러스터 | |||
DLBA6 | 7 클러스터 | |||
LBA4 | 4 클러스터 | [4]까지 | [4] DLBA7 | 0 |
구조 | 위치 | 콘텐트 | 업데이트 트리거 |
DLBA 런 | 기록 블록 또는 재배치 블록 | 호스트 데이터 | 호스트에 의해 결정 |
SAT 리스트 | RAM | 아직 SAT 페이지에 기록되지 않은 LBA 대 DLBA 매핑 엔트리 | DLBA 런이 기록 블록 또는 재배치 블록에 기록되는 경우 |
SAT 페이지 | SAT 기록 블록 | LBA 대 DLBA 매핑 엔트리 | SAT 리스트가 꽉 차거나, 호스트 데이터의 소정 량이 DLBA 런으로서 기록된 경우 |
SAT 인덱스 버퍼 | 최종기록 SAT 페이지 | 아직 SAT 인덱스 페이지에 기록되지 않은 SAT 인덱스 엔트리 | 임의의 SAT 페이지가 기록된 경우 |
SAT 인덱스 페이지 | SAT 기록 블록 | SAT 인덱스 엔트리 | SAT 인덱스 버퍼가 꽉 차거나, SAT 인덱스 페이지의 소정 수가 업데이트될 필요가 있는 경우 |
파티션 부트 섹터 내의 바이트 오프셋 | MFT 클러스터 | |||||||
0x30 | 0x31 | 0x32 | 0x33 | 0x34 | 0x35 | 0x36 | 0x37 | |
D2 | 4F | 0C | 00 | 00 | 00 | 00 | 00 | 0xC4FD2 |
$ 비트맵 기록에서의 바이트 오프셋 | 데이터 속성 길이 | |
0x141 | 0x142 | |
FB | 00 | 0xFB |
$ 비트맵 기록에서의 바이트 오프셋 | EP이터 속성 클러스터 | ||
0x143 | 0x144 | 0x145 | |
49 | 82 | 3E | 0x3E8249 |
$ 비트맵 기록에서의 바이트 오프셋 | 데이터 속성 길이 | |
0x147 | 0x148 | |
C4 | 00 | 0xC4 |
$ 비트맵 기록에서의 바이트 오프셋 | 데이터 속성 클러스터 점프 | ||
0x149 | 0x14 A | 0x14B | |
35 | 82 | 3E | 0x3E8235 |
Claims (23)
- 호스트 시스템과 재프로그램 가능한 비휘발성 대용량 저장 시스템 사이에서 데이터를 전송하는 방법에 있어서,
상기 호스트 시스템으로부터 상기 대용량 저장 시스템에서 호스트 논리 블록 어드레스(LBA) 어드레스와 관련된 데이터를 수신하는 단계와,
상기 호스트 LBA 어드레스와 관련된 데이터를 어드레스하며, 할당시 미기록 용량만을 어드레스하는 연속적인 저장 LBA 어드레스의 블록을 할당하는 단계와,
상기 수신된 데이터에 대한 호스트 LBA 어드레스 각각을 상기 연속적인 저장 LBA 어드레스 블록에 리매핑하는 단계를
포함하고,
각각의 저장 LBA 어드레스는 호스트 LBA 어드레스에 관계없이 수신된 데이터가 수신되는 순서에 따라 수신된 데이터에 연속적인 방식으로 순차적으로 할당되는, 데이터 전송 방법. - 제 1항에 있어서, 추가적인 수신 데이터를 연속적인 방식으로 리매핑하기 위한 연속적인 저장 LBA 어드레스의 제 2 블록을 할당하는 단계를 더 포함하고,
상기 연속적인 저장 LBA 어드레스의 제 2 블록은 할당시 미기록 용량에만 관련되고, 상기 제 2 블록의 할당은 상기 연속적인 저장 LBA 어드레스의 블록을 환전히 할당할 때에만 실시되는, 데이터 전송 방법. - 제 1항에 있어서, 상기 연속적인 저장 LBA 어드레스의 블록을 할당하는 단계는 복수의 호스트 LBA 어드레스의 범위 각각에 대해 연속적인 저장 LBA 어드레스 블록을 할당하는 단계를 포함하고, 각각의 연속적인 저장 LBA 어드레스는 할당시 미기록 용량에만 관련되는, 데이터 전송 방법.
- 제 3항에 있어서, 리매핑 단계는, 호스트 LBA 어드레스의 복수의 범위 중 각 범위에서 수신 데이터에 대한 각각의 호스트 LBA 어드레스를, 저장 LBA 어드레스의 각각의 할당된 블록으로 리매핑하는 단계를 포함하고, 연속적인 저장 LBA 어드레스의 할당 블록에서 각각의 저장 LBA 어드레스는, 상기 복수의 범위 중 각 범위 내의 상기 호스트 LBA 어드레스에 관계없이 상기 데이터가 수신되는 순서에 따라 상기 복수의 범위 중 각 범위 내에 속하는 수신 데이터로 연속적인 방식에 따라 연속적으로 할당되는, 데이터 전송 방법.
- 제 1항에 있어서, 상기 연속적인 저장 LBA 어드레스의 블록과 관련한 데이터를 상기 연속적인 저장 LBA 어드레스의 블록과 현재 관련된 어드레스의 물리적 블록 내의 연속적인 물리적 어드레스 위치에 기록하는, 데이터 전송 방법.
- 제 1항에 있어서, 상기 대용량 저장 시스템은 상기 호스트 LBA 어드레스와 관련된 데이터를 수신하고, 상기 호스트 LBA 어드레스를 리매핑하며, 가비지 컬렉션 동작을 초기화하지 않고 상기 저장 LBA 어드레스와 관련된 데이터를 기록하는, 데이터 전송 방법.
- 제 1항에 있어서, 상기 리매핑 단계는 호스트 LBA 어드레스 및 저장 LBA 어드레스 위치와 관련된 상관 데이터를 생성하고 각각의 연속적인 저장 LBA 어드레스를 연속적인 저장 LBA 어드레스의 제 2 블록 내의 상기 상관 데이터에 할당하는 단계를 더 포함하는, 데이터 전송 방법.
- 제 7항에 있어서, 상기 연속적인 저장 LBA 어드레스의 블록은 상기 호스트 시스템으로부터의 데이터에 단독으로 관련되고 상기 연속적인 LBA 어드레스의 제 2 블록은 상관 데이터에 단독으로 관련되는, 데이터 전송 방법.
- 제 1항에 있어서,
상기 연속적인 저장 LBA 어드레스의 블록과 관련되며 호스트 환할당 데이터를 나타내는 무용 데이터를 식별하는 단계와,
상기 연속적인 저장 LBA 어드레스의 블록으로부터의 유효 데이터를 연속적으로 리매핑하는 연속적인 저장 LBA 어드레스의 블록의 재배치 블록을 선택하는 단계와,
상기 연속적인 저장 LBA 어드레스와 관련된 유효 데이터를 상기 재배치 블록 내의 연속적인 저장 LBA 어드레스에 재할당하는 단계를
더 포함하는, 데이터 전송 방법. - 제 9항에 있어서,
연속적인 저장 LBA 어드레스의 추가적인 블록과 관련된 무용 데이터를 식별하는 단계와,
상기 연속적인 저장 LBA 어드레스의 추가적인 블록으로부터의 유효 데이터에 대한 저장 LBA 어드레스를 상기 재배치 블록 내의 연속적인 저장 LBA 어드레스에 재할당하는 단계를
포함하고,
상기 재할당 블록이 꽉 찬 경우, 미기록 용량만을 갖는 새로운 재배치 블록이 선택되고 상기 추가적인 블록으로부터의 나머지 유효 데이터는 상기 새로운 재배치 블록 내의 연속적인 저장 LBA 어드레스에 재할당되는, 데이터 전송 방법. - 제 9항에 있어서, 연속적인 저장 LBA 어드레스의 상기 재배치 블록은 리매핑된 유효 호스트 데이터와 단독적으로 관련되는, 데이터 전송 방법.
- 제 8항에 있어서,
연속적인 저장 LBA 어드레스의 제 2 블록과 관련된 무용 상관 데이터를 식별하는 단계와,
상기 연속적인 저장 LBA 어드레스의 제 2 블록으로부터의 유효 상관 데이터를 연속적으로 리매핑하는 연속적인 저장 LBA 어드레스의 재배치 블록을 선택하는 단계와,
상기 연속적인 저장 LBA 어드레스의 제 2 블록으로부터의 유효 상관 데이터를 상기 재배치 블록 내의 연속적인 저장 LBA 어드레스에 재할당하는 단계를
더 포함하는, 데이터 전송 방법. - 제 12항에 있어서,
상관 데이터와 단독적으로 관련된 연속적인 저장 LBA 어드레스의 추가적인 블록과 관련된 무용 상관 데이터를 식별하는 단계와,
상기 연속적인 저장 LBA 어드레스의 추가적인 블록으로부터 유효 상관 데이터에 대한 저장 LBA 어드레스를 상기 재배치 블록 내의 연속적인 저장 LBA 어드레스에 재할당하는 단계를
더 포함하고,
상기 재배치 블록이 꽉 찬 경우, 미기록 용량만을 갖는 새로운 재배치 블록이 선택되고 상기 추가적인 블록과 관련된 나머지 유효 상관 데이터는 상기 새로운 재배치 블록 내의 연속적인 저장 LBA 어드레스에 재할당되는, 데이터 전송 방법. - 제 1항에 있어서, 화이트 또는 핑크 상태를 갖는 연속적인 저장 LBA 어드레스의 복수의 블록의 상태를 추적하는 단계를 더 포함하고, 화이트 상태는 미기록 용량에만 관련된 블록을 식별하고 핑크 상태는 유효 및 무용 데이터 모두에 관련된 블록을 식별하는, 데이터 전송 방법.
- 제 1항에 있어서,
이전에 수신된 호스트 LBA 어드레스와 관련된 새로운 데이터를 수신하기 전에 유효 및 무용 데이터를 현재 어드레스하는 연속적인 저장 LBA 어드레스의 이전에 완전히 프로그램된 블록을 식별하는 단계와,
현재 유효 및 무용 데이터를 어드레스하는 연속적인 저장 LBA 어드레스의 상기 식별된 이전에 완전히 프로그램된 블록으로부터의 미기록 용량만을 어드레스하는 연속적인 저장 LBA 어드레스의 새로운 블록을 생성하는 단계를
더 포함하는, 데이터 전송 방법. - 제 15항에 있어서,
상기 연속적인 저장 LBA 어드레스의 새로운 블록을 생성하는 단계는,
연속적인 저장 LBA 어드레스의 식별된 이전에 채워진 블록을 각각의 이전에 채워진 블록에서 어드레스된 무용 데이터의 양만큼 분류하는 단계와,
상기 분류된 이전에 채워진 블록으로부터의 유효 데이터를 연속적으로 리매핑하는 연속적인 저장 LBA 어드레스의 재배치 블록을 선택하는 단계와,
상기 분류된 이전에 채워진 블록의 선택된 하나로부터의 유효 데이터에 대한 저장 LBA 어드레스를 상기 재배치 블록 내의 연속적인 저장 LBA 어드레스에 리매핑하는 단계와,
상기 재배치 블록이 완전히 기록되면 미기록 용량만을 어드레스하는 새로운 재배치 블록을 선택하는 단계를
포함하는, 데이터 전송 방법. - 제 15항에 있어서, 무용 데이터를 어드레스하는 연속적인 저장 LBA 어드레스의 이전에 채워진 블록을 식별하는 단계는 상기 대용량 저장 장치에서 클러스터 할당 맵을 스캔하는 단계를 포함하는, 데이터 전송 방법.
- 제 17항에 있어서, 상기 호스트 시스템은 NTFS 파일 시스템을 포함하고 상기 클러스터 할당 맵은 $ 비트맵 파일을 포함하는, 데이터 전송 방법.
- 제 15항에 있어서, 무용 데이터를 어드레스하는 연속적인 저장 LBA 어드레스의 이전에 완전히 프로그램된 블록을 식별하는 단계는 무용 데이터 어드레스를 식별하는 호스트 시스템 명령을 상기 대용량 저장 시스템에서 수신하는 단계를 포함하는, 데이터 전송 방법.
- 비휘발성 대용량 저장 시스템에 있어서,
함께 삭제가능한 메모리 셀의 복수의 블록 내에 배열되는 재프로그램 가능한 비휘발성 메모리 셀과,
호스트 시스템으로부터 호스트 논리 블록 어드레스(LBA) 포맷으로 어드레스된 데이터를 수신하는 인터페이스와,
상기 인터페이스와 연통되는 제어기를
포함하고,
상기 제어기는 연속적인 저장 LBA 어드레스의 블록에 수신되는 순서에 따라, 상기 수신된 호스트 LBA 어드레스를 연속적으로 리매핑하고,
할당시 미기록 용량만을 어드레스하는, 연속적인 저장 LBA 어드레스의 추가적인 블록을 할당하고 상기 연속적인 저장 LBA 어드레스의 블록이 꽉 찬 경우 추가적으로 수신된 호스트 LBA 어드레스를 상기 추가 블록에 연속적으로 리매핑하며,
상기 호스트 LBA 어드레스와 관련된 데이터가 연속적인 저장 LBA 어드레스에 리매핑됨에 따라 상기 호스트 LBA 어드레스를 매핑하는 저장 어드레스 테이블(SAT)을 생성하도록 구성되는, 비휘발성 대용량 저장 시스템. - 제 20항에 있어서, 상기 SAT를 생성하기 위해 상기 제어기는 호스트 LBA 어드레스를 연속적인 방식으로 저장 LBA 어드레스로 매핑하는 것과 관련된 정보를 상기 SAT에 속한 데이터에 대해서만 지정된 연속적인 저장 LBA 어드레스의 블록에 관련시키도록 구성되는, 비휘발성 대용량 저장 시스템.
- 제 20항에 있어서, 상기 제어기는 유효 데이터를 포함하지 않는 연속적인 저장 LBA 어드레스의 새로운 블록을 생성하도록 더 구성되는, 비휘발성 대용량 저장 시스템.
- 제 22항에 있어서, 상기 제어기는 연속적인 저장 LBA 어드레스의 새로운 블록을 생성하기 위해, 리매핑된 호스트 LBA 어드레스와 이전에 완전히 관련되고 무용 데이터의 하나 이상의 페이지를 현재 어드레스하는 저장 LBA 어드레스의 블록을 식별하고, 유효 데이터가 제 1 식별 블록에 존재하는 순서대로 상기 제 1 식별 블록으로부터의 유효 데이터에 대한 어드레스를, 상기 제 1 식별 블록이 유효 데이터를 어드레스하지 않을 때까지 연속적인 순서로 재배치 블록에 재배치하도록 구성되는, 비휘발성 대용량 저장 시스템.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US94290007P | 2007-06-08 | 2007-06-08 | |
US60/942,900 | 2007-06-08 | ||
US12/036,014 | 2008-02-22 | ||
US12/036,014 US9396103B2 (en) | 2007-06-08 | 2008-02-22 | Method and system for storage address re-mapping for a memory device |
PCT/US2008/065631 WO2008154216A1 (en) | 2007-06-08 | 2008-06-03 | Method and system for storage address re-mapping for a memory device |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100034743A true KR20100034743A (ko) | 2010-04-01 |
KR101453264B1 KR101453264B1 (ko) | 2014-10-21 |
Family
ID=40096925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107000413A Expired - Fee Related KR101453264B1 (ko) | 2007-06-08 | 2008-06-03 | 메모리 디바이스에 대한 저장 어드레스 리매핑을 위한 방법과 시스템 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8429352B2 (ko) |
EP (1) | EP2156299B1 (ko) |
JP (2) | JP5350371B2 (ko) |
KR (1) | KR101453264B1 (ko) |
CN (3) | CN101779195B (ko) |
TW (1) | TWI394160B (ko) |
WO (1) | WO2008154216A1 (ko) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130050124A (ko) * | 2011-11-07 | 2013-05-15 | 삼성전자주식회사 | 비휘발성 메모리 장치의 가비지 컬렉션 방법 |
KR20130066640A (ko) * | 2011-12-12 | 2013-06-20 | 애플 인크. | Lba 비트맵 사용 |
KR20150018690A (ko) * | 2013-08-08 | 2015-02-24 | 삼성전자주식회사 | 저장장치, 이를 포함하는 컴퓨터 시스템 및 이의 동작 방법 |
KR20170038853A (ko) * | 2014-09-26 | 2017-04-07 | 인텔 코포레이션 | 호스트-관리 비휘발성 메모리 |
KR20180034079A (ko) * | 2016-09-27 | 2018-04-04 | 삼성전자주식회사 | 스토리지 장치의 동작 방법 및 스토리지 장치를 포함하는 데이터 저장 시스템 |
KR20220102560A (ko) * | 2021-01-13 | 2022-07-20 | 삼성전자주식회사 | 호스트 및 스토리지 시스템을 포함하는 컴퓨팅 시스템 |
US11875036B2 (en) | 2021-01-13 | 2024-01-16 | Samsung Electronics Co., Ltd. | Computing system including host and storage system and having increased write performance |
Families Citing this family (192)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108590B2 (en) * | 2000-01-06 | 2012-01-31 | Super Talent Electronics, Inc. | 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 |
US8935302B2 (en) | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
KR101490327B1 (ko) | 2006-12-06 | 2015-02-05 | 퓨전-아이오, 인크. | 뱅크 인터리브를 이용한 솔리드-스테이트 스토리지의 명령 관리 장치, 시스템 및 방법 |
US8429352B2 (en) * | 2007-06-08 | 2013-04-23 | Sandisk Technologies Inc. | Method and system for memory block flushing |
US8200904B2 (en) * | 2007-12-12 | 2012-06-12 | Sandisk Il Ltd. | System and method for clearing data from a cache |
JP4164118B1 (ja) * | 2008-03-26 | 2008-10-08 | 眞澄 鈴木 | フラッシュメモリを用いた記憶装置 |
US20090271562A1 (en) * | 2008-04-25 | 2009-10-29 | Sinclair Alan W | Method and system for storage address re-mapping for a multi-bank memory device |
US8843691B2 (en) * | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
KR101535226B1 (ko) * | 2008-12-16 | 2015-07-27 | 삼성전자주식회사 | 중간 변환 장치를 통해 연결된 저장 장치 인증 방법 및 시스템 |
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 |
US8261009B2 (en) * | 2008-12-30 | 2012-09-04 | Sandisk Il Ltd. | Method and apparatus for retroactive adaptation of data location |
US8452940B2 (en) * | 2008-12-30 | 2013-05-28 | Sandisk Technologies Inc. | Optimized memory management for random and sequential data writing |
US8205063B2 (en) * | 2008-12-30 | 2012-06-19 | Sandisk Technologies Inc. | Dynamic mapping of logical ranges to write blocks |
US8701120B2 (en) * | 2009-02-27 | 2014-04-15 | International Business Machines Corporation | Virtualization of storage buffers used by asynchronous processes |
TWI407441B (zh) * | 2009-03-20 | 2013-09-01 | Phison Electronics Corp | 快閃記憶體寫入方法及使用此方法的儲存系統與控制器 |
US8364931B2 (en) * | 2009-06-29 | 2013-01-29 | Mediatek Inc. | Memory system and mapping methods using a random write page mapping table |
US8645438B2 (en) * | 2009-06-30 | 2014-02-04 | Sandisk Technologies Inc. | File system and method of file access |
CN101582089B (zh) * | 2009-07-02 | 2011-06-29 | 北京讯风光通信技术开发有限责任公司 | 一种嵌入式设备的文件管理方法及系统 |
US20110002169A1 (en) | 2009-07-06 | 2011-01-06 | Yan Li | Bad Column Management with Bit Information in Non-Volatile Memory Systems |
US8612718B2 (en) * | 2009-08-19 | 2013-12-17 | Seagate Technology Llc | Mapping alignment |
TWI453747B (zh) * | 2009-09-02 | 2014-09-21 | Silicon Motion Inc | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
US8392479B1 (en) * | 2009-09-14 | 2013-03-05 | Symantec Corporation | Method and apparatus for optimizing storage space allocation for computer data |
TWI426528B (zh) * | 2009-09-30 | 2014-02-11 | Phison Electronics Corp | 用於快閃記憶體的區塊管理方法、控制器與儲存系統 |
US8364924B2 (en) | 2009-10-21 | 2013-01-29 | International Business Machines Corporation | Achieving a high throughput in a storage cache application using a flash solid state disk |
US7954021B2 (en) * | 2009-10-23 | 2011-05-31 | International Business Machines Corporation | Solid state drive with flash sparing |
US9753847B2 (en) * | 2009-10-27 | 2017-09-05 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping |
US9110594B2 (en) * | 2009-11-04 | 2015-08-18 | Seagate Technology Llc | File management system for devices containing solid-state media |
US8255661B2 (en) * | 2009-11-13 | 2012-08-28 | Western Digital Technologies, Inc. | Data storage system comprising a mapping bridge for aligning host block size with physical block size of a data storage device |
US20110119462A1 (en) * | 2009-11-19 | 2011-05-19 | Ocz Technology Group, Inc. | Method for restoring and maintaining solid-state drive performance |
WO2011061724A1 (en) * | 2009-11-23 | 2011-05-26 | Amir Ban | Memory controller and methods for enhancing write performance of a flash device |
US8473669B2 (en) | 2009-12-07 | 2013-06-25 | Sandisk Technologies Inc. | Method and system for concurrent background and foreground operations in a non-volatile memory array |
US8285918B2 (en) * | 2009-12-11 | 2012-10-09 | Nimble Storage, Inc. | Flash memory cache for data storage device |
US8443167B1 (en) | 2009-12-16 | 2013-05-14 | Western Digital Technologies, Inc. | Data storage device employing a run-length mapping table and a single address mapping table |
TWI425515B (zh) * | 2009-12-23 | 2014-02-01 | Silicon Motion Inc | 資料儲存裝置及快閃記憶體之資料寫入方法 |
US20110161560A1 (en) * | 2009-12-31 | 2011-06-30 | Hutchison Neil D | Erase command caching to improve erase performance on flash memory |
US9134918B2 (en) * | 2009-12-31 | 2015-09-15 | Sandisk Technologies Inc. | Physical compression of data with flat or systematic pattern |
US8316176B1 (en) | 2010-02-17 | 2012-11-20 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification |
JP5404483B2 (ja) * | 2010-03-17 | 2014-01-29 | 株式会社東芝 | メモリシステム |
US8194340B1 (en) | 2010-03-18 | 2012-06-05 | Western Digital Technologies, Inc. | Disk drive framing write data with in-line mapping data during write operations |
JP5066209B2 (ja) | 2010-03-18 | 2012-11-07 | 株式会社東芝 | コントローラ、データ記憶装置、及びプログラム |
US9330715B1 (en) | 2010-03-22 | 2016-05-03 | Western Digital Technologies, Inc. | Mapping of shingled magnetic recording media |
US8856438B1 (en) | 2011-12-09 | 2014-10-07 | Western Digital Technologies, Inc. | Disk drive with reduced-size translation table |
US8687306B1 (en) | 2010-03-22 | 2014-04-01 | Western Digital Technologies, Inc. | Systems and methods for improving sequential data rate performance using sorted data zones |
US8699185B1 (en) | 2012-12-10 | 2014-04-15 | Western Digital Technologies, Inc. | Disk drive defining guard bands to support zone sequentiality when butterfly writing shingled data tracks |
US8693133B1 (en) | 2010-03-22 | 2014-04-08 | Western Digital Technologies, Inc. | Systems and methods for improving sequential data rate performance using sorted data zones for butterfly format |
US8725931B1 (en) | 2010-03-26 | 2014-05-13 | Western Digital Technologies, Inc. | System and method for managing the execution of memory commands in a solid-state memory |
US8782327B1 (en) | 2010-05-11 | 2014-07-15 | Western Digital Technologies, Inc. | System and method for managing execution of internal commands and host commands in a solid-state memory |
US9026716B2 (en) | 2010-05-12 | 2015-05-05 | Western Digital Technologies, Inc. | System and method for managing garbage collection in solid-state memory |
US8417876B2 (en) * | 2010-06-23 | 2013-04-09 | Sandisk Technologies Inc. | Use of guard bands and phased maintenance operations to avoid exceeding maximum latency requirements in non-volatile memory systems |
US8386714B2 (en) | 2010-06-29 | 2013-02-26 | International Business Machines Corporation | Reducing write amplification in a cache with flash memory used as a write cache |
CN102375779B (zh) * | 2010-08-16 | 2015-08-19 | 深圳市朗科科技股份有限公司 | 一种数据处理方法以及数据处理模块 |
US8966209B2 (en) * | 2010-08-23 | 2015-02-24 | Apple Inc. | Efficient allocation policies for a system having non-volatile memory |
US8850114B2 (en) | 2010-09-07 | 2014-09-30 | Daniel L Rosenband | Storage array controller for flash-based storage devices |
US9021192B1 (en) | 2010-09-21 | 2015-04-28 | Western Digital Technologies, Inc. | System and method for enhancing processing of memory access requests |
US9164886B1 (en) | 2010-09-21 | 2015-10-20 | Western Digital Technologies, Inc. | System and method for multistage processing in a memory storage subsystem |
US8452911B2 (en) | 2010-09-30 | 2013-05-28 | Sandisk Technologies Inc. | Synchronized maintenance operations in a multi-bank storage system |
US8756361B1 (en) | 2010-10-01 | 2014-06-17 | Western Digital Technologies, Inc. | Disk drive modifying metadata cached in a circular buffer when a write operation is aborted |
US8954664B1 (en) | 2010-10-01 | 2015-02-10 | Western Digital Technologies, Inc. | Writing metadata files on a disk |
WO2012062233A1 (de) * | 2010-11-08 | 2012-05-18 | Hyperstone Gmbh | Verfahren zur freigabe nicht länger benötigter speicherbereiche auf nichtflüchtigen speichermedien |
WO2012083308A2 (en) * | 2010-12-17 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
US8458435B1 (en) | 2010-12-20 | 2013-06-04 | Western Digital Technologies, Inc. | Sequential write thread detection |
JP2012133655A (ja) * | 2010-12-22 | 2012-07-12 | Sony Corp | 管理装置、管理方法、およびプログラム |
US8818966B1 (en) * | 2010-12-30 | 2014-08-26 | Emc Corporation | Continuous file defragmentation during file over-writes |
US8458133B2 (en) | 2011-01-24 | 2013-06-04 | Apple Inc. | Coordinating sync points between a non-volatile memory and a file system |
JP5917163B2 (ja) * | 2011-01-27 | 2016-05-11 | キヤノン株式会社 | 情報処理装置、その制御方法及びプログラム並びに記憶媒体 |
WO2012104975A1 (ja) * | 2011-01-31 | 2012-08-09 | 三菱電機株式会社 | メモリコントローラ |
US9058212B2 (en) * | 2011-03-21 | 2015-06-16 | Microsoft Technology Licensing, Llc | Combining memory pages having identical content |
US8775731B2 (en) | 2011-03-25 | 2014-07-08 | Dell Products, L.P. | Write spike performance enhancement in hybrid storage systems |
US9342446B2 (en) * | 2011-03-29 | 2016-05-17 | SanDisk Technologies, Inc. | Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache |
US8537613B2 (en) | 2011-03-31 | 2013-09-17 | Sandisk Technologies Inc. | Multi-layer memory system |
US8595426B2 (en) * | 2011-04-11 | 2013-11-26 | Sandisk Il Ltd. | Handling commands within a write-once read-many storage device configuration |
US20120303878A1 (en) * | 2011-05-26 | 2012-11-29 | International Business Machines Corporation | Method and Controller for Identifying a Unit in a Solid State Memory Device for Writing Data to |
US8793429B1 (en) | 2011-06-03 | 2014-07-29 | Western Digital Technologies, Inc. | Solid-state drive with reduced power up time |
US9727570B2 (en) * | 2011-06-03 | 2017-08-08 | Apple Inc. | Mount-time unmapping of unused logical addresses in non-volatile memory systems |
US8849777B1 (en) * | 2011-06-30 | 2014-09-30 | Emc Corporation | File deletion detection in key value databases for virtual backups |
US8756382B1 (en) | 2011-06-30 | 2014-06-17 | Western Digital Technologies, Inc. | Method for file based shingled data storage utilizing multiple media types |
US8843443B1 (en) | 2011-06-30 | 2014-09-23 | Emc Corporation | Efficient backup of virtual data |
US9158670B1 (en) | 2011-06-30 | 2015-10-13 | Western Digital Technologies, Inc. | System and method for dynamically adjusting garbage collection policies in solid-state memory |
US8930614B2 (en) * | 2011-07-29 | 2015-01-06 | Kabushiki Kaisha Toshiba | Data storage apparatus and method for compaction processing |
JP5514169B2 (ja) * | 2011-08-15 | 2014-06-04 | 株式会社東芝 | 情報処理装置および情報処理方法 |
US8555020B2 (en) * | 2011-09-23 | 2013-10-08 | Hewlett-Packard Development Company, L.P. | Reclaiming space occupied by an expired variable record in a non-volatile record storage |
US9158706B2 (en) | 2011-10-31 | 2015-10-13 | International Business Machines Corporation | Selective space reclamation of data storage memory employing heat and relocation metrics |
US8756458B2 (en) | 2011-12-12 | 2014-06-17 | Apple Inc. | Mount-time reconciliation of data availability |
US9213493B1 (en) | 2011-12-16 | 2015-12-15 | Western Digital Technologies, Inc. | Sorted serpentine mapping for storage drives |
US8819367B1 (en) | 2011-12-19 | 2014-08-26 | Western Digital Technologies, Inc. | Accelerated translation power recovery |
US8762627B2 (en) | 2011-12-21 | 2014-06-24 | Sandisk Technologies Inc. | Memory logical defragmentation during garbage collection |
US8612706B1 (en) | 2011-12-21 | 2013-12-17 | Western Digital Technologies, Inc. | Metadata recovery in a disk drive |
US10613982B1 (en) * | 2012-01-06 | 2020-04-07 | Seagate Technology Llc | File-aware caching driver |
US9417998B2 (en) * | 2012-01-26 | 2016-08-16 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
US9542324B1 (en) | 2012-04-05 | 2017-01-10 | Seagate Technology Llc | File associated pinning |
US9268692B1 (en) | 2012-04-05 | 2016-02-23 | Seagate Technology Llc | User selectable caching |
US8760922B2 (en) | 2012-04-10 | 2014-06-24 | Sandisk Technologies Inc. | System and method for micro-tiering in non-volatile memory |
US20130290619A1 (en) * | 2012-04-30 | 2013-10-31 | Netapp, Inc. | Apparatus and Method for Sequential Operation on a Random Access Device |
US9141533B2 (en) * | 2012-05-31 | 2015-09-22 | Silicon Motion, Inc. | Data storage device and flash memory control method for performing garbage collection |
US10282286B2 (en) * | 2012-09-14 | 2019-05-07 | Micron Technology, Inc. | Address mapping using a data unit type that is variable |
US9734911B2 (en) | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for asynchronous die operations in a non-volatile memory |
US9336133B2 (en) * | 2012-12-31 | 2016-05-10 | Sandisk Technologies Inc. | Method and system for managing program cycles including maintenance programming operations in a multi-layer memory |
US9348746B2 (en) * | 2012-12-31 | 2016-05-24 | Sandisk Technologies | Method and system for managing block reclaim operations in a multi-layer memory |
US8873284B2 (en) | 2012-12-31 | 2014-10-28 | Sandisk Technologies Inc. | Method and system for program scheduling in a multi-layer memory |
US9223693B2 (en) | 2012-12-31 | 2015-12-29 | Sandisk Technologies Inc. | Memory system having an unequal number of memory die on different control channels |
US9323662B2 (en) * | 2012-12-31 | 2016-04-26 | SanDisk Technologies, Inc. | Flash memory using virtual physical addresses |
US9465731B2 (en) | 2012-12-31 | 2016-10-11 | Sandisk Technologies Llc | Multi-layer non-volatile memory system having multiple partitions in a layer |
US9734050B2 (en) * | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for managing background operations in a multi-layer memory |
US11249652B1 (en) | 2013-01-28 | 2022-02-15 | Radian Memory Systems, Inc. | Maintenance of nonvolatile memory on host selected namespaces by a common memory controller |
US10445229B1 (en) | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9021187B2 (en) | 2013-01-29 | 2015-04-28 | Sandisk Technologies Inc. | Logical block address remapping |
US20140281306A1 (en) * | 2013-03-14 | 2014-09-18 | Hitachi, Ltd. | Method and apparatus of non-disruptive storage migration |
US8954657B1 (en) * | 2013-09-27 | 2015-02-10 | Avalanche Technology, Inc. | Storage processor managing solid state disk array |
US9448928B2 (en) * | 2013-04-26 | 2016-09-20 | Oracle International Corporation | System and method for two-tier adaptive heap management in a virtual machine environment |
CN103605478B (zh) * | 2013-05-17 | 2016-12-28 | 华为技术有限公司 | 存储地址标示、配置方法和数据存取方法及系统 |
US9323539B2 (en) * | 2013-06-27 | 2016-04-26 | Intel Corporation | Constructing persistent file system from scattered persistent regions |
US10534683B2 (en) * | 2013-08-29 | 2020-01-14 | International Business Machines Corporation | Communicating outstanding maintenance tasks to improve disk data integrity |
KR101547317B1 (ko) | 2013-09-30 | 2015-08-26 | 주식회사 유니테스트 | 스토리지 테스트 장치에서 로직 블록 어드레스와 데이터 버퍼 주소를 이용한 불량 블록 검출 시스템 |
US9298389B2 (en) | 2013-10-28 | 2016-03-29 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Operating a memory management controller |
US9645741B2 (en) | 2014-02-05 | 2017-05-09 | Sandisk Technologies Llc | Storage module and host device for storage module defragmentation |
US20150254011A1 (en) * | 2014-03-10 | 2015-09-10 | Kabushiki Kaisha Toshiba | Memory system, memory controller and control method of non-volatile memory |
CN104090730B (zh) * | 2014-07-08 | 2017-02-22 | 飞天诚信科技股份有限公司 | 一种对存储设备进行数据读写的方法及装置 |
US8953269B1 (en) | 2014-07-18 | 2015-02-10 | Western Digital Technologies, Inc. | Management of data objects in a data object zone |
US9875055B1 (en) | 2014-08-04 | 2018-01-23 | Western Digital Technologies, Inc. | Check-pointing of metadata |
US10552085B1 (en) | 2014-09-09 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for directed data migration |
US9542118B1 (en) | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
US20160098431A1 (en) * | 2014-10-06 | 2016-04-07 | Seagate Technology Llc | Performing mathematical operations on changed versions of data objects via a storage compute device |
US9934872B2 (en) | 2014-10-30 | 2018-04-03 | Sandisk Technologies Llc | Erase stress and delta erase loop count methods for various fail modes in non-volatile memory |
US9575853B2 (en) * | 2014-12-12 | 2017-02-21 | Intel Corporation | Accelerated data recovery in a storage system |
JP2016122227A (ja) | 2014-12-24 | 2016-07-07 | 株式会社東芝 | メモリシステムおよび情報処理システム |
US9224502B1 (en) | 2015-01-14 | 2015-12-29 | Sandisk Technologies Inc. | Techniques for detection and treating memory hole to local interconnect marginality defects |
US10032524B2 (en) | 2015-02-09 | 2018-07-24 | Sandisk Technologies Llc | Techniques for determining local interconnect defects |
US9564219B2 (en) | 2015-04-08 | 2017-02-07 | Sandisk Technologies Llc | Current based detection and recording of memory hole-interconnect spacing defects |
US9269446B1 (en) | 2015-04-08 | 2016-02-23 | Sandisk Technologies Inc. | Methods to improve programming of slow cells |
JPWO2016175028A1 (ja) * | 2015-04-28 | 2018-02-22 | 日本電気株式会社 | 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム |
KR102403266B1 (ko) | 2015-06-22 | 2022-05-27 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
US10552058B1 (en) | 2015-07-17 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for delegating data processing to a cooperative memory controller |
US9778855B2 (en) | 2015-10-30 | 2017-10-03 | Sandisk Technologies Llc | System and method for precision interleaving of data writes in a non-volatile memory |
US10133490B2 (en) | 2015-10-30 | 2018-11-20 | Sandisk Technologies Llc | System and method for managing extended maintenance scheduling in a non-volatile memory |
US10120613B2 (en) | 2015-10-30 | 2018-11-06 | Sandisk Technologies Llc | System and method for rescheduling host and maintenance operations in a non-volatile memory |
US10042553B2 (en) | 2015-10-30 | 2018-08-07 | Sandisk Technologies Llc | Method and system for programming a multi-layer non-volatile memory having a single fold data path |
CN106991058B (zh) * | 2016-01-21 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 预取文件处理方法及装置 |
US20170220623A1 (en) * | 2016-01-29 | 2017-08-03 | Netapp, Inc. | Hot-Spot Adaptive Garbage Collection |
US10089243B2 (en) | 2016-02-25 | 2018-10-02 | SK Hynix Inc. | Memory controller and system including variable address mapping tables and a fixed address mapping table |
US10540274B2 (en) * | 2016-03-29 | 2020-01-21 | Micron Technology, Inc. | Memory devices including dynamic superblocks, and related methods and electronic systems |
US20170300422A1 (en) * | 2016-04-14 | 2017-10-19 | Micron Technology, Inc. | Memory device with direct read access |
US10366004B2 (en) * | 2016-07-26 | 2019-07-30 | Pure Storage, Inc. | Storage system with elective garbage collection to reduce flash contention |
WO2018022136A1 (en) | 2016-07-26 | 2018-02-01 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
US9952798B2 (en) * | 2016-08-12 | 2018-04-24 | Google Inc. | Repartitioning data in a distributed computing system |
JP2018041204A (ja) * | 2016-09-06 | 2018-03-15 | 東芝メモリ株式会社 | メモリ装置及び情報処理システム |
CN108009111B (zh) * | 2016-11-01 | 2020-02-21 | 华为技术有限公司 | 数据流连接方法及装置 |
CN107870739B (zh) * | 2017-03-15 | 2021-03-19 | 珠海市杰理科技股份有限公司 | 磁盘文件存储方法和系统 |
KR102233400B1 (ko) * | 2017-05-29 | 2021-03-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN107329892B (zh) * | 2017-06-07 | 2020-09-11 | 珠海市杰理科技股份有限公司 | 驱动测试方法、装置、存储介质及其计算机设备 |
US20180357121A1 (en) * | 2017-06-09 | 2018-12-13 | Qualcomm Incorporated | Error correction calculation upon serial bus abort |
US10521375B2 (en) | 2017-06-22 | 2019-12-31 | Macronix International Co., Ltd. | Controller for a memory system |
KR102270103B1 (ko) * | 2017-07-11 | 2021-06-28 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10579633B2 (en) * | 2017-08-31 | 2020-03-03 | Micron Technology, Inc. | Reducing probabilistic filter query latency |
US10446197B2 (en) | 2017-08-31 | 2019-10-15 | Micron Technology, Inc. | Optimized scan interval |
JP6785204B2 (ja) * | 2017-09-21 | 2020-11-18 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP6785205B2 (ja) * | 2017-09-21 | 2020-11-18 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US10754580B2 (en) | 2017-10-23 | 2020-08-25 | Micron Technology, Inc. | Virtual partition management in a memory device |
CN109725840B (zh) * | 2017-10-30 | 2022-04-05 | 伊姆西Ip控股有限责任公司 | 利用异步冲刷对写入进行节流 |
CN108021512A (zh) * | 2017-11-22 | 2018-05-11 | 深圳忆联信息系统有限公司 | 一种固态硬盘映射管理方法及固态硬盘 |
CN111902806A (zh) | 2017-12-11 | 2020-11-06 | 美光科技公司 | 改进高速缓存的快闪转换层中的垃圾收集效率的方案 |
KR20190075352A (ko) * | 2017-12-21 | 2019-07-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20190107504A (ko) | 2018-03-12 | 2019-09-20 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US10365854B1 (en) | 2018-03-19 | 2019-07-30 | Micron Technology, Inc. | Tracking data temperatures of logical block addresses |
TWI670598B (zh) * | 2018-05-14 | 2019-09-01 | 慧榮科技股份有限公司 | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 |
KR102684047B1 (ko) * | 2018-07-13 | 2024-07-12 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US10936199B2 (en) | 2018-07-17 | 2021-03-02 | Silicon Motion, Inc. | Flash controllers, methods, and corresponding storage devices capable of rapidly/fast generating or updating contents of valid page count table |
US11709623B2 (en) * | 2018-08-03 | 2023-07-25 | Sk Hynix Nand Product Solutions Corp. | NAND-based storage device with partitioned nonvolatile write buffer |
US11347654B2 (en) | 2018-11-16 | 2022-05-31 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory device and operating method thereof |
CN109471831B (zh) * | 2018-11-16 | 2021-10-29 | 郑州云海信息技术有限公司 | 一种数据处理方法及装置 |
KR102735042B1 (ko) * | 2018-12-19 | 2024-11-28 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
CN109783019B (zh) * | 2018-12-28 | 2022-08-19 | 上海威固信息技术股份有限公司 | 一种数据智能存储管理方法与装置 |
US11152054B2 (en) | 2019-08-28 | 2021-10-19 | Micron Technology, Inc. | Apparatuses and methods for performing background operations in memory using sensing circuitry |
US11681797B2 (en) | 2019-08-28 | 2023-06-20 | Micron Technology, Inc. | Row activation prevention using fuses |
US11163449B2 (en) | 2019-10-17 | 2021-11-02 | EMC IP Holding Company LLC | Adaptive ingest throttling in layered storage systems |
CN110879687B (zh) * | 2019-10-18 | 2021-03-16 | 蚂蚁区块链科技(上海)有限公司 | 一种基于磁盘存储的数据读取方法、装置及设备 |
US11249896B2 (en) | 2019-12-20 | 2022-02-15 | Micron Technology, Inc. | Logical-to-physical mapping of data groups with data locality |
US11586385B1 (en) | 2020-05-06 | 2023-02-21 | Radian Memory Systems, Inc. | Techniques for managing writes in nonvolatile memory |
US11429296B2 (en) | 2020-06-01 | 2022-08-30 | Western Digital Technologies, Inc. | Storage system, host, and method for extended and imaginary logical-to-physical address mapping |
TWI738442B (zh) * | 2020-07-29 | 2021-09-01 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
CN112100095B (zh) * | 2020-08-28 | 2023-07-04 | 深圳市宏旺微电子有限公司 | 闪存空间优化方法、装置和闪存存储设备 |
CN112069089B (zh) * | 2020-09-11 | 2022-09-27 | 杭州海康威视系统技术有限公司 | 回收存储块的方法及装置 |
CN112416811B (zh) * | 2020-11-18 | 2024-02-27 | 深圳市硅格半导体有限公司 | 基于数据关联度的垃圾回收方法、闪存及装置 |
CN112732174B (zh) * | 2020-12-25 | 2024-09-13 | 北京金山云网络技术有限公司 | 数据的处理方法和装置、电子设备和存储介质 |
CN112860594B (zh) * | 2021-01-21 | 2022-11-01 | 华中科技大学 | 一种固态盘地址重映射方法、设备及固态盘 |
US20230019966A1 (en) * | 2021-07-15 | 2023-01-19 | Google Llc | Storage Design For Host Controlled Logically Addressed Flexible Data Layout |
US20230024420A1 (en) * | 2021-07-16 | 2023-01-26 | Samsung Electronics Co., Ltd. | Methods and devices for file read latency reduction |
KR20250012727A (ko) | 2021-12-21 | 2025-01-24 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | 메모리 디바이스의 조각 모음을 위한 시스템 및 방법 |
US11687447B1 (en) * | 2022-01-04 | 2023-06-27 | Silicon Motion, Inc. | Method and apparatus for performing access control of memory device with aid of additional physical address information |
CN114510439B (zh) * | 2022-01-27 | 2024-11-08 | 浙江大学 | 基于持久性内存的内存分配器元数据交替映射方法及系统 |
US11894060B2 (en) | 2022-03-25 | 2024-02-06 | Western Digital Technologies, Inc. | Dual performance trim for optimization of non-volatile memory performance, endurance, and reliability |
CN116578246B (zh) * | 2023-07-05 | 2023-09-29 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
Family Cites Families (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
US5535369A (en) * | 1992-10-30 | 1996-07-09 | Intel Corporation | Method for allocating memory in a solid state memory disk |
US5555204A (en) * | 1993-06-29 | 1996-09-10 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
KR0169267B1 (ko) * | 1993-09-21 | 1999-02-01 | 사토 후미오 | 불휘발성 반도체 기억장치 |
GB2291991A (en) * | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Disk drive emulation with a block-erasable memory |
US5903495A (en) * | 1996-03-18 | 1999-05-11 | Kabushiki Kaisha Toshiba | Semiconductor device and memory system |
US5860124A (en) * | 1996-09-30 | 1999-01-12 | Intel Corporation | Method for performing a continuous over-write of a file in nonvolatile memory |
US5960169A (en) * | 1997-02-27 | 1999-09-28 | International Business Machines Corporation | Transformational raid for hierarchical storage management system |
US6098190A (en) * | 1998-08-04 | 2000-08-01 | Hewlett-Packard Co. | Method and apparatus for use of a host address to validate accessed data |
GB9903490D0 (en) * | 1999-02-17 | 1999-04-07 | Memory Corp Plc | Memory system |
US6622199B1 (en) | 1999-07-02 | 2003-09-16 | Qualcomm Incorporated | Method for minimizing data relocation overhead in flash based file systems |
US7318117B2 (en) * | 2004-02-26 | 2008-01-08 | Super Talent Electronics, Inc. | Managing flash memory including recycling obsolete sectors |
US7966462B2 (en) * | 1999-08-04 | 2011-06-21 | Super Talent Electronics, Inc. | Multi-channel flash module with plane-interleaved sequential ECC writes and background recycling to restricted-write flash chips |
JP3863330B2 (ja) | 1999-09-28 | 2006-12-27 | 株式会社東芝 | 不揮発性半導体メモリ |
US20080320209A1 (en) * | 2000-01-06 | 2008-12-25 | Super Talent Electronics, Inc. | High Performance and Endurance Non-volatile Memory Based Storage Systems |
US20050204187A1 (en) * | 2004-03-11 | 2005-09-15 | Lee Charles C. | System and method for managing blocks in flash memory |
JP2001283594A (ja) | 2000-03-29 | 2001-10-12 | Sharp Corp | 不揮発性半導体記憶装置 |
US6721843B1 (en) | 2000-07-07 | 2004-04-13 | Lexar Media, Inc. | Flash memory architecture implementing simultaneously programmable multiple flash memory banks that are host compatible |
KR100365725B1 (ko) * | 2000-12-27 | 2002-12-26 | 한국전자통신연구원 | 플래시 메모리를 이용한 파일 시스템에서 등급별 지움정책 및 오류 복구 방법 |
JP3631463B2 (ja) * | 2001-12-27 | 2005-03-23 | 株式会社東芝 | 不揮発性半導体記憶装置 |
DE10123285A1 (de) * | 2001-05-12 | 2002-11-14 | Conti Temic Microelectronic | Zündelement für pyrotechnische Wirkmassen auf einer Schaltungsträgeranordnung mit einer Zündelektronikbaugruppe |
US6522580B2 (en) * | 2001-06-27 | 2003-02-18 | Sandisk Corporation | Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states |
US6456528B1 (en) * | 2001-09-17 | 2002-09-24 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US6925007B2 (en) * | 2001-10-31 | 2005-08-02 | Sandisk Corporation | Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements |
US6771536B2 (en) * | 2002-02-27 | 2004-08-03 | Sandisk Corporation | Operating techniques for reducing program and read disturbs of a non-volatile memory |
US20030212859A1 (en) | 2002-05-08 | 2003-11-13 | Ellis Robert W. | Arrayed data storage architecture with simultaneous command of multiple storage media |
KR100453053B1 (ko) * | 2002-06-10 | 2004-10-15 | 삼성전자주식회사 | 플래쉬 메모리용 파일 시스템 |
US7123512B2 (en) * | 2002-07-19 | 2006-10-17 | Micron Technology, Inc. | Contiguous block addressing scheme |
US6775751B2 (en) * | 2002-08-06 | 2004-08-10 | International Business Machines Corporation | System and method for using a compressed main memory based on degree of compressibility |
US6781877B2 (en) * | 2002-09-06 | 2004-08-24 | Sandisk Corporation | Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells |
US6831865B2 (en) | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts in non-volatile storage systems |
US7428644B2 (en) * | 2003-06-20 | 2008-09-23 | Micron Technology, Inc. | System and method for selective memory module power management |
DE10339665B3 (de) * | 2003-08-28 | 2005-01-13 | Infineon Technologies Ag | Halbleiter-Speicherbauelement, mit Steuereinrichtung zum Aktivieren von Speicherzellen und Verfahren zum Betrieb eines Halbleiter-Speicherbauelements |
KR20070007264A (ko) | 2003-12-30 | 2007-01-15 | 쌘디스크 코포레이션 | 비순차 갱신 블록 관리를 구비한 비휘발성 메모리 및 방법 |
US20050144363A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
US7173863B2 (en) * | 2004-03-08 | 2007-02-06 | Sandisk Corporation | Flash controller cache architecture |
US7631138B2 (en) * | 2003-12-30 | 2009-12-08 | Sandisk Corporation | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
US7433993B2 (en) * | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
US7680977B2 (en) * | 2004-02-26 | 2010-03-16 | Super Talent Electronics, Inc. | Page and block management algorithm for NAND flash |
US7194596B2 (en) * | 2004-06-09 | 2007-03-20 | Simpletech Global Limited | Method of efficient data management with flash storage system |
JP4594391B2 (ja) * | 2004-07-19 | 2010-12-08 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 多層ディスクにおける層ジャンプ |
US7395384B2 (en) * | 2004-07-21 | 2008-07-01 | Sandisk Corproation | Method and apparatus for maintaining data on non-volatile memory systems |
US8375146B2 (en) * | 2004-08-09 | 2013-02-12 | SanDisk Technologies, Inc. | Ring bus structure and its use in flash memory systems |
WO2006023868A1 (en) * | 2004-08-24 | 2006-03-02 | Panduit Corporation | Systems and methods for network management |
US7315916B2 (en) * | 2004-12-16 | 2008-01-01 | Sandisk Corporation | Scratch pad block |
US7315917B2 (en) * | 2005-01-20 | 2008-01-01 | Sandisk Corporation | Scheduling of housekeeping operations in flash memory systems |
US20060161724A1 (en) * | 2005-01-20 | 2006-07-20 | Bennett Alan D | Scheduling of housekeeping operations in flash memory systems |
JP5130646B2 (ja) * | 2005-06-06 | 2013-01-30 | ソニー株式会社 | 記憶装置 |
US7457910B2 (en) | 2005-06-29 | 2008-11-25 | Sandisk Corproation | Method and system for managing partitions in a storage device |
KR100652415B1 (ko) * | 2005-07-02 | 2006-12-01 | 삼성전자주식회사 | 1 로우 액티베이션 구조 또는 2 로우 액티베이션 구조를선택할 수 있는 반도체 메모리 장치 및 2 로우 액티베이션방법 |
TWM288401U (en) * | 2005-07-15 | 2006-03-01 | Genesys Logic Inc | Highly efficient data characteristics recognition device for flash memory |
JP5162846B2 (ja) * | 2005-07-29 | 2013-03-13 | ソニー株式会社 | 記憶装置、コンピュータシステム、および記憶システム |
US7480766B2 (en) * | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
US7877540B2 (en) | 2005-12-13 | 2011-01-25 | Sandisk Corporation | Logically-addressed file storage methods |
US7979624B2 (en) * | 2006-03-31 | 2011-07-12 | Intel Corporation | Techniques to truncate data files in nonvolatile memory |
US20070260841A1 (en) * | 2006-05-02 | 2007-11-08 | Hampel Craig E | Memory module with reduced access granularity |
US7930468B2 (en) * | 2006-05-23 | 2011-04-19 | Dataram, Inc. | System for reading and writing on flash memory device having plural microprocessors |
US7552280B1 (en) * | 2006-06-28 | 2009-06-23 | Emc Corporation | Asymmetrically interleaving access to redundant storage devices |
US7958331B2 (en) * | 2006-12-13 | 2011-06-07 | Seagate Technology Llc | Storage device with opportunistic address space |
US8429352B2 (en) * | 2007-06-08 | 2013-04-23 | Sandisk Technologies Inc. | Method and system for memory block flushing |
US8095735B2 (en) * | 2008-08-05 | 2012-01-10 | Convey Computer | Memory interleave for heterogeneous computing |
US8245101B2 (en) * | 2007-12-27 | 2012-08-14 | Sandisk Enterprise Ip Llc | Patrol function used in flash storage controller to detect data errors |
WO2009097681A1 (en) * | 2008-02-04 | 2009-08-13 | Mosaid Technologies Incorporated | Flexible memory operations in nand flash devices |
US20090271562A1 (en) * | 2008-04-25 | 2009-10-29 | Sinclair Alan W | Method and system for storage address re-mapping for a multi-bank memory device |
-
2008
- 2008-02-22 US US12/036,023 patent/US8429352B2/en active Active
- 2008-02-22 US US12/036,014 patent/US9396103B2/en not_active Expired - Fee Related
- 2008-06-03 WO PCT/US2008/065631 patent/WO2008154216A1/en active Application Filing
- 2008-06-03 CN CN2008801023821A patent/CN101779195B/zh not_active Expired - Fee Related
- 2008-06-03 KR KR1020107000413A patent/KR101453264B1/ko not_active Expired - Fee Related
- 2008-06-03 EP EP08756648.5A patent/EP2156299B1/en not_active Not-in-force
- 2008-06-03 CN CN201210274159.3A patent/CN102831070B/zh not_active Expired - Fee Related
- 2008-06-03 JP JP2010511275A patent/JP5350371B2/ja not_active Expired - Fee Related
- 2008-06-03 CN CN201210274564.5A patent/CN102831071B/zh not_active Expired - Fee Related
- 2008-06-06 TW TW097121253A patent/TWI394160B/zh not_active IP Right Cessation
-
2013
- 2013-08-21 JP JP2013171549A patent/JP5530012B2/ja not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130050124A (ko) * | 2011-11-07 | 2013-05-15 | 삼성전자주식회사 | 비휘발성 메모리 장치의 가비지 컬렉션 방법 |
KR101867282B1 (ko) * | 2011-11-07 | 2018-06-18 | 삼성전자주식회사 | 비휘발성 메모리 장치의 가비지 컬렉션 방법 |
KR20130066640A (ko) * | 2011-12-12 | 2013-06-20 | 애플 인크. | Lba 비트맵 사용 |
KR20150018690A (ko) * | 2013-08-08 | 2015-02-24 | 삼성전자주식회사 | 저장장치, 이를 포함하는 컴퓨터 시스템 및 이의 동작 방법 |
KR20170038853A (ko) * | 2014-09-26 | 2017-04-07 | 인텔 코포레이션 | 호스트-관리 비휘발성 메모리 |
KR20180034079A (ko) * | 2016-09-27 | 2018-04-04 | 삼성전자주식회사 | 스토리지 장치의 동작 방법 및 스토리지 장치를 포함하는 데이터 저장 시스템 |
KR20220102560A (ko) * | 2021-01-13 | 2022-07-20 | 삼성전자주식회사 | 호스트 및 스토리지 시스템을 포함하는 컴퓨팅 시스템 |
US11875036B2 (en) | 2021-01-13 | 2024-01-16 | Samsung Electronics Co., Ltd. | Computing system including host and storage system and having increased write performance |
Also Published As
Publication number | Publication date |
---|---|
CN102831070A (zh) | 2012-12-19 |
JP5350371B2 (ja) | 2013-11-27 |
WO2008154216A1 (en) | 2008-12-18 |
EP2156299A4 (en) | 2012-07-04 |
TWI394160B (zh) | 2013-04-21 |
CN102831071A (zh) | 2012-12-19 |
US8429352B2 (en) | 2013-04-23 |
JP2014013585A (ja) | 2014-01-23 |
CN102831070B (zh) | 2016-02-17 |
US20080307192A1 (en) | 2008-12-11 |
TW200905680A (en) | 2009-02-01 |
JP5530012B2 (ja) | 2014-06-25 |
EP2156299A1 (en) | 2010-02-24 |
US9396103B2 (en) | 2016-07-19 |
CN102831071B (zh) | 2016-02-17 |
CN101779195B (zh) | 2013-09-25 |
KR101453264B1 (ko) | 2014-10-21 |
JP2010532023A (ja) | 2010-09-30 |
US20080307164A1 (en) | 2008-12-11 |
CN101779195A (zh) | 2010-07-14 |
EP2156299B1 (en) | 2014-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101453264B1 (ko) | 메모리 디바이스에 대한 저장 어드레스 리매핑을 위한 방법과 시스템 | |
TWI437441B (zh) | 多庫記憶體裝置之儲存位址重映射之方法及系統 | |
US8166267B2 (en) | Managing a LBA interface in a direct data file memory system | |
US8209461B2 (en) | Configuration of host LBA interface with flash memory | |
US7739444B2 (en) | System using a direct data file system with a continuous logical address space interface | |
US7949845B2 (en) | Indexing of file data in reprogrammable non-volatile memories that directly store data files | |
US8046522B2 (en) | Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks | |
US7669003B2 (en) | Reprogrammable non-volatile memory systems with indexing of directly stored data files | |
US7917686B2 (en) | Host system with direct data file interface configurability | |
US8880483B2 (en) | System and method for implementing extensions to intelligently manage resources of a mass storage system | |
US7814262B2 (en) | Memory system storing transformed units of data in fixed sized storage blocks | |
US20080155175A1 (en) | Host System That Manages a LBA Interface With Flash Memory | |
US20090164745A1 (en) | System and Method for Controlling an Amount of Unprogrammed Capacity in Memory Blocks of a Mass Storage System | |
KR20090108694A (ko) | 연속 논리 주소 공간 인터페이스를 구비한 다이렉트 데이터 파일 시스템을 사용하는 방법 | |
KR20090108695A (ko) | 다이렉트 데이터 파일 메모리 시스템에서 lba 인터페이스를 관리하는 방법 | |
KR20080038368A (ko) | 데이터 파일을 직접 저장하는 재프로그램가능 비휘발성메모리에 파일 데이터의 인덱싱 | |
WO2008082999A2 (en) | Configuration of host lba interface with flash memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0105 | International application |
Patent event date: 20100108 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20130603 Comment text: Request for Examination of Application |
|
N231 | Notification of change of applicant | ||
PN2301 | Change of applicant |
Patent event date: 20130917 Comment text: Notification of Change of Applicant Patent event code: PN23011R01D |
|
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: 20140725 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20141015 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20141016 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20170919 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20170919 Start annual number: 4 End annual number: 4 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20190726 |