KR20140024043A - 듀얼 플래시 변환 계층 - Google Patents
듀얼 플래시 변환 계층 Download PDFInfo
- Publication number
- KR20140024043A KR20140024043A KR1020147000313A KR20147000313A KR20140024043A KR 20140024043 A KR20140024043 A KR 20140024043A KR 1020147000313 A KR1020147000313 A KR 1020147000313A KR 20147000313 A KR20147000313 A KR 20147000313A KR 20140024043 A KR20140024043 A KR 20140024043A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- mapping
- logical addresses
- processor
- data unit
- Prior art date
Links
- 238000013519 translation Methods 0.000 title description 8
- 230000009977 dual effect Effects 0.000 title description 2
- 238000013507 mapping Methods 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000007726 management method Methods 0.000 claims description 26
- 230000006870 function Effects 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 3
- 235000019580 granularity Nutrition 0.000 description 17
- 239000010410 layer Substances 0.000 description 11
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000002355 dual-layer Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid 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
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/651—Multi-level translation tables
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
메모리를 동작시키는 방법은 메모리에서 실행하기 위한, 각자의 타겟 논리적 어드레스들과 연관된 메모리 액세스 커맨드들을 수신하는 단계를 포함한다. 타겟 논리적 어드레스들은 제1 데이터 유닛 사이즈의 제1 입도를 가지는 제1 매핑에 따라, 각자의 중간 논리적 어드레스들로 변환된다. 중간 논리적 어드레스들은 제1 데이터 유닛 사이즈보다 더 큰 제2 데이터 유닛 사이즈의 제2 입도를 가지는 제2 매핑에 따라 메모리 내의 각자의 물리적 저장 위치들로 변환된다. 메모리 액세스 커맨드들은 각자의 물리적 저장 위치에 따라 메모리 내에서 실행된다.
Description
본 발명은 일반적으로 메모리 디바이스들에 관한 것이며, 구체적으로, 비휘발성 메모리 디바이스들 내에서 데이터를 관리하기 위한 방법들 및 시스템들에 관한 것이다.
플래시 메모리와 같은 비휘발성 메모리는 다양한 애플리케이션들에서, 다양한 타입들의 호스트들과 함께 사용될 수 있다. 플래시 메모리 내의 데이터 저장은 통상적으로, 플래시 변환 계층(FTL)으로도 지칭되는 플래시 관리 시스템에 의해 구성되고 관리된다.
본 발명의 실시예는 메모리를 동작시키는 방법을 제공한다. 방법은 메모리에서의 실행을 위한, 각자의 타겟 논리적 어드레스들과 연관된 메모리 액세스 커맨드들을 수신하는 단계를 포함한다. 타겟 논리적 어드레스들은 제1 데이터 유닛 사이즈의 제1 입도를 가지는 제1 매핑에 따라 각자의 중간 논리적 어드레스들로 변환된다. 중간 논리적 어드레스들은 제1 데이터 유닛 사이즈보다 더 큰 제2 데이터 유닛 사이즈의 제2 입도를 가지는 제2 매핑에 따라 메모리 내의 각자의 물리적 저장 위치들로 변환된다. 메모리 액세스 커맨드들은 각자의 물리적 저장 위치들에 따라 메모리에서 실행된다.
일부 커맨드들에서, 제1 데이터 유닛 사이즈는 메모리 페이지를 포함한다. 다른 실시예들에서, 제2 데이터 유닛 사이즈는 메모리 블록을 포함한다. 다른 실시예들에서, 타겟 논리적 어드레스들을 중간 논리적 어드레스들로 변환하는 것 및 중간 논리적 어드레스들을 물리적 저장 위치들로 변환하는 것 모두는 단일 프로세서에서 수행된다.
일부 실시예들에서, 타겟 논리적 어드레스들을 중간 논리적 어드레스들로 변환하는 것은 제1 프로세서에서 수행되고, 중간 논리적 어드레스들을 물리적 저장 위치들로 변환하는 것은 제1 프로세스와는 별개인 제2 프로세서에서 수행된다. 일부 실시예들에서, 제2 프로세서는 메모리 제어기를 포함하고, 제1 프로세서는 호스트 프로세서를 포함한다.
일부 실시예들에서, 방법은 또한 제2 매핑의 하나 이상의 파라미터들을 수신하는 단계, 및 수신된 파라미터들에 기초하여 제1 매핑을 적응(adapting)시키는 단계를 포함한다. 다른 실시예들에서, 방법은 또한 제2 매핑에서 제1 매핑을 위한 관리 정보를 저장하기 위한 저장 공간을 할당하는 단계를 포함한다. 또 다른 실시예들에서, 방법은 또한 제2 매핑의 기능을 억제하도록 제1 매핑에 의해 제2 매핑에 명령하는 단계를 포함한다.
또한, 본 발명의 실시예에 따라, 메모리 인터페이스 및 적어도 하나의 프로세서를 포함하는 데이터 저장 장치가 제공된다. 메모리 인터페이스는 메모리와 통신하도록 구성된다. 적어도 하나의 프로세서는 메모리에서의 실행을 위한 각자의 타겟 논리적 어드레스들과 연관된 메모리 액세스 커맨드들을 수신하고, 제1 데이터 유닛 사이즈의 입도를 가지는 제1 매핑에 따라, 타겟 논리적 어드레스들을 각자의 중간 논리적 어드레스들로 변환하고, 제1 데이터 유닛 사이즈보다 더 큰 제2 데이터 유닛 사이즈의 제2 입도를 가지는 제2 매핑에 따라, 중간 논리적 어드레스들을 메모리 내의 각자의 물리적 저장 위치들로 변환하고, 각자의 물리적 저장 위치들에 따라 메모리에서 메모리 액세스 커맨드들을 실행하도록 구성된다.
또한, 본 발명의 실시예에 따라, 메모리에서의 실행을 위한 메모리 액세스 커맨드들을 수신하는 단계를 포함하는, 메모리를 동작시키는 방법이 제공된다. 수신된 메모리 액세스 커맨드들은 제1 출력을 산출하기 위해 제1 데이터 유닛 사이즈의 제1 입도를 가지는 제1 메모리 관리 계층을 사용하여 프로세싱된다. 제1 출력은 제2 출력을 산출하기 위해 제1 데이터 유닛 사이즈보다 더 큰 제2 데이터 유닛 사이즈의 제2 입도를 가지는 제2 메모리 관리 계층을 사용하여 프로세싱된다. 메모리 액세스 커맨드들은 제2 출력에 따라 메모리에서 실행된다.
또한, 본 발명의 실시예에 따라, 메모리 인터페이스 및 적어도 하나의 프로세서를 포함하는 데이터 저장 장치가 제공된다. 메모리 인터페이스는 메모리와 통신하도록 구성된다. 적어도 하나의 프로세서는 메모리에서의 실행을 위한 메모리 액세스 커맨드들을 수신하고, 제1 데이터 유닛 사이즈의 제1 입도를 가지는 제1 메모리 관리 계층을 사용하여 수신된 메모리 액세스 커맨드들을 프로세싱하여 제1 출력을 산출하고, 제1 데이터 유닛 사이즈보다 더 큰 제2 데이터 유닛 사이즈의 제2 입도를 가지는 제2 메모리 관리 계층을 사용하여 제1 출력을 프로세싱하여 제2 출력을 산출하고, 제2 출력에 따라 메모리에서 메모리 액세스 커맨드들을 실행하도록 구성된다.
본 발명은 도면들과 함께 취해지는, 본원의 실시예들의 후속하는 상세한 설명으로부터 더욱 완전하게 이해될 것이다.
도 1은 본 발명의 실시예에 따라 듀얼-계층 플래시 변환 계층(FTL)을 사용하는 메모리 시스템을 개략적으로 예시하는 블록도이다.
도 2는 본 발명의 실시예들에 따른 메모리 관리를 위한 방법을 개략적으로 예시하는 흐름도이다.
도 2는 본 발명의 실시예들에 따른 메모리 관리를 위한 방법을 개략적으로 예시하는 흐름도이다.
개요
통상적인 플래시 메모리는, 각각이 다수의 메모리 페이지들을 포함하는, 다수의 메모리 블록들로 나누어진다. 데이터가 페이지 단위들로 기록되고 판독되지만, (물리적 블록들 또는 삭제 블록들으로도 지칭되는) 블록 단위들로 삭제된다. 또한, 데이터는 그 자리에서 덮어쓰기될 수 없는데, 즉, 새로운 페이지는 전체 블록이 먼저 삭제되지 않는 한 동일한 물리적 위치에서 구 페이지 위에 덮어쓰기될 수 없다. 이들 특성들의 결과로서, 플래시 메모리 내의 데이터 저장은 통상적으로, 집합적으로 플래시 관리 또는 플래시 변환 계층(FTL)으로서 지칭되는 복합 관리 기능들을 수반한다.
본 발명의 실시예들은 FTL을 2개의 계층 메모리 관리 계층들인 상위 FTL 및 하위 FTL로 분리함으로써 플래시 메모리와 같은 비휘발성 메모리 내의 데이터 저장을 관리하기 위한 개선된 시스템들 및 방법들을 제공한다. 플래시 디바이스 또는 디바이스들에서 직접 데이터를 저장하고 검색하는 하위 FTL은 특정 입도 또는 데이터 유닛 사이즈에서(예를 들어, 블록 레벨에서) 동작한다. 하위 FTL 및 호스트 사이에서 중재하는 상위 FTL은 더 미세한 입도 또는 데이터 유닛 사이즈에서(예를 들어, 페이지 레벨에서) 동작한다. 2개의 FTL들은 성능을 개선하기 위해 서로 상호작용한다.
이러한 종류의 듀얼-계층 FTL을 사용하는 경우, 로우-엔드(low-end) 플래시-기반 메모리 시스템들은 간단한(straightforward) 방식으로, 통합되어 솔리드 스테이트 드라이브(SSD) 또는 기업 저장 시스템들과 같은 하이-엔드 메모리 시스템들에서 사용될 수 있다. 예를 들어, 상위 FTL은 호스트에서 실행하는 소프트웨어에서 구현되고 따라서 전용 하이-엔드 제어기에 대한, 또는 전체 FTL을 재설계하기 위한필요성을 제거한다. 또한, 듀얼 FTL 구성은 하이-엔드 및 로우-엔드 모두인, 다양한 타입들의 메모리 시스템들에서 동일한 하위 FTL의 재사용을 인에이블시킨다.
시스템 설명
플래시 메모리 내의 데이터 저장은 통상적으로, 예를 들어, 논리적-물리적 어드레스 매핑, 블록 압축("쓰레기 수집"), 및 블록 웨어 레벨링(block wear leveling)을 포함하는 관리 기능들을 수반한다. 전체 블록을 먼저 삭제하지 않고는 데이터가 플래시에서 덮어쓰기될 수 없으므로, 특정 논리적 어드레스에서 새로운 데이터를 재기록하는 것은, 데이터가 플래시에 새로운 물리적 위치에 저장되고, 그 후 논리적-물리적 어드레스 매핑의 적절한 업데이트가 뒤따르는 결과를 초래한다.
다수의 프로그래밍 및 삭제 사이클들 이후에, 플래시 메모리 블록들은 무효한 데이터의 영역들을 전개시킨다. 블록 압축, 또는 쓰레기 수집은 단편화된 블록들로부터의 유효한 데이터를 새로운 블록들(즉, 이전에 삭제된 블록들)로 카피하는 프로세스이다. 쓰레기 수집은 또한 압축된 데이터(compacted data)가 저장되는 새로운 물리적 위치들을 설명하기 위해 논리적 어드레스에서 물리적 어드레스로 리매핑하는 것을 수반한다.
동적 웨어 레벨링은 FTL이 많은 양의 무효한 데이터를 누적시킨 블록들을 선택하고 압축하는 프로세스이다. 정적 웨어 레벨링은 메모리 블록들에 대한 웨어를 밸런싱할 목적으로, 상이한 블록들로 빈번하게 업데이트되지 않은 블록들을 압축하는 프로세스이다.
논리적-대-물리적 어드레스 매핑, 블록 압축 및 웨어 레벨링을 포함하는, 이러한 종류의 관리 기능들은 집합적으로, 플래시 변환 계층(FTL)의 플래시 관리로서 집합적으로 지칭된다. 도 1은 본 발명의 실시예에 따른 듀얼-계층 FTL을 사용하는 메모리 시스템을 개략적으로 예시하는 블록도이다. 시스템은 호스트 시스템(20)과 인터페이싱하는 메모리 제어기(10)를 포함한다. 호스트 시스템(20)은, 예를 들어, 기업 저장 시스템, 노트북 또는 랩톱 컴퓨터와 같은 컴퓨팅 디바이스, 또는 임의의 다른 적절한 호스트 시스템을 포함할 수 있다.
메모리 제어기(10)는, 메모리 액세스 커맨드들을 호스트로부터 수신하고, 이들을 프로세서(40)에 릴레이하는 호스트 인터페이스(30)를 포함한다. 본 발명의 실시예들에 따라, 프로세서(40)는 상위 FTL(50) 및 하위 FTL(60)로 분할되고, 이들 모두는 물리적 회로, 또는 프로세서에 의해 실행되는 소프트웨어를 포함할 수 있다. 일부 실시예들에서, 상위 FTL(50)의 기능들은 호스트 시스템(20)에 의해 수행된다.
프로세서(40)는, 하나 이상의 비휘발성 메모리 디바이스들에서, 본 예에서는 플래시 메모리 디바이스들(80)에서 메모리 인터페이스(70)를 통해 메모리 액세스 커맨드들을 실행한다. 통상적으로, 각각의 메모리 디바이스(80)는 하나 이상의 플래시 다이들을 포함할 수 있고, 각각의 다이는 하나 이상의 메모리 면들(memory planes)을 포함할 수 있고, 각각의 면은 많은 수의 메모리 블록들을 포함한다. 각각의 블록은 플래시 메모리 셀들의 다수의 행들을 포함한다. 메모리 셀들의 주어진 행은 하나 이상의 메모리 페이지들을 저장할 수 있다.
메모리 제어기(10)의 기능들의 일부 또는 전부는 하드웨어에서 구현될 수 있다. 대안적으로, 메모리 제어기(10)는 적절한 소프트웨어를 실행하는 마이크로프로세서, 또는 하드웨어 및 소프트웨어 엘리먼트들의 조합을 포함할 수 있다. 일부 실시예들에서, 메모리 제어기(10)는 여기서 기술된 기능들을 수행하도록 소프트웨어에서 프로그래밍된 범용 프로세서를 포함한다. 소프트웨어는, 예를 들어, 네트워크를 통해 전자적 형태로 프로세서에 다운로드될 수 있거나, 또는 그것은, 대안적으로 또는 추가적으로, 자기, 광학 또는 전자 메모리와 같은 비-일시적 유형(tangible) 매체 상에 제공되고 그리고/또는 저장될 수 있다.
도 1의 블록도는 본 발명의 실시예들의 제한에 의해서가 아니라, 오직 개념적 명확성을 위해 도시된다. 대안적인 실시예들에서, 임의의 다른 적절한 메모리 시스템 구성이 또한 사용될 수 있다. 본 발명의 원리들을 이해하기 위해 필요하지 않은 엘리먼트들은 명료함을 위해 도면에서 생략되어 있다.
도 1에 도시된 예시적인 시스템 구성에서, 메모리 디바이스들(80) 및 메모리 제어기(10)는 2개의 별도의 집적 회로(IC)들로서 구현된다. 그러나, 대안적인 실시예들에서, 메모리 디바이스들 및 메모리 제어기는 단일의 멀티-칩 패키지(MCP) 또는 시스템 온 칩(SoC) 내의 별도의 반도체 다이 상에 집적될 수 있고, 내부 버스에 의해 상호접속될 수 있다. 또한, 대안적으로, 메모리 제어기 회로의 일부 또는 전부는 메모리 디바이스 중 하나 이상이 배치된 동일한 다이 상에 상주할 수 있다. 또한, 대안적으로, 메모리 제어기(10)의 기능성의 일부 또는 모두는 소프트웨어에서 구현되고, 호스트 시스템(20) 내의 적절한 프로세서에 의해 수행될 수 있다. 일부 실시예들에서, 호스트 시스템(20)의 프로세서 및 메모리 제어기(10)는, 동일한 다이 상에, 또는 동일한 디바이스 패키지 내의 별도의 다이들 상에 제조될 수 있다.
듀얼-FTL 구성
메모리 제어기(10)는 상위 FTL(50) 및 하위 FTL(60)을 사용하는 호스트(20) 대신 플래시 메모리 디바이스(80)에 데이터를 저장한다. 통상적으로, 메모리 제어기는 데이터가 기록되거나 판독될 각자의 타겟 논리적 어드레스들을 가지는 메모리 액세스 커맨드들을 호스트(20)로부터 수신한다.
2개의 FTL들 각각은 특정 입도를 가지고, 즉, 특정 사이즈의 데이터 유닛들을 사용하여 데이터를 매핑한다. 데이터 유닛 사이즈들은 상위 FTL가 하위 FTL보다 더 미세한 입도를 가지고(즉, 더 작은 데이터 유닛 사이즈를 사용하여) 데이터를 매핑하도록 설정된다.
예시적인 실시예에서, 하위 FTL은 블록 매핑, 또는 통상적으로 106개 정도의 메모리 셀들의 더 큰 입도의 데이터 유닛 사이즈를 가지는 매핑을 사용하도록 구성된다. 이 실시예에서의 상위 FTL은 메모리 페이지 입도를 가지고 데이터를 매핑하도록, 즉 페이지 매핑하도록 구성되는 더 복잡한 시스템이다. 이러한 매핑은 통상적으로 103 - 104 정도의 메모리 셀들의 더 작은 입도의 데이터 유닛 사이즈를 포함한다. 그러나, 대안적으로, 상위 및 하위 FTL들은 임의의 다른 적절한 입도들, 즉, 데이터 유닛 사이즈들을 사용할 수 있다.
일부 실시예들에서, 2개의 FTL들을 사용하여 메모리 액세스 커맨드들을 실행하는 것은 2-스테이지 어드레스 매핑 프로세스를 수반한다: 상위 FTL(50)은 커맨드들에서 제공되는 타겟 논리적 어드레스들을 각자의 중간 논리적 어드레스들로 변환하고, 하위 FTL(60)은 중간 논리적 어드레스들을 메모리 디바이스(80) 내의 물리적 저장 위치들로 변환한다. 제1 매핑은 논리-논리(L-L) 매핑으로서 여기서 지칭되고, 제2 매핑은 논리-물리(L-P) 매핑으로서 여기서 지칭된다.
일부 실시예들에서, 하위 FTL(60)은 상위 FTL(50)에 그것의 관리 파라미터들 중 하나 이상을 보고한다. 관리 파라미터들은, 예를 들어, NAND 다이들의 수, 면들의 수, 블록 사이즈, 페이지 사이즈, 하위 FTL에 의해 사용되는 데이터 유닛 사이즈(매핑 유닛 사이즈), 하위 FTL 내의 가용 블록들의 수, 불량(비-기능) 블록들의 수, 및/또는 임의의 다른 적절한 관리 파라미터를 포함할 수 있다.
상위 FTL은 성능 및 플래시 내구성에 대한 관리를 최적화하기 위해 하위 FTL 계층으로부터 수신된 파라미터들을 이용하도록 구성된다. 예를 들어, 파라미터들은 프로그래밍 성능 최적화(예를 들어, 다이들 또는 면들의 병렬 프로그래밍)를 달성하도록 병렬로 프로그래밍될 수 있는 정보의 사이즈를 포함할 수 있다. 파라미터들은 또한 예를 들어, 갑작스러운 정전의 경우 NAND 페이지 손상을 핸들링하기 위해 상이한 페이지들 사이의 종속성에 관한 정보를 제공할 수 있다.
일부 실시예들에서, 하위 FTL(60)는 상위 FTL(50)의 메타데이터 및 관리 데이터를 저장하기 위한 (예를 들어, 메모리 디바이스(80) 내의 또는 랜덤 액세스 메모리(RAM) 내의) 메모리 공간을 할당한다. 하위 FTL은 이 정보를 저장하기 위해 전용 애플리케이션 프로그래밍 인터페이스(API) 또는 전용 파티션들 및/또는 어드레스들을 상위 FTL에 제공할 수 있다. 다른 실시예들에서, 하위 FTL 내의 이러한 전용 저장 영역들은 특정 성능 레벨, 예를 들어, 판독/기록 속도, 레이턴시, 내구성 또는 신뢰성을 제공하도록 특정될 수 있다.
일부 실시예들에서, 상위 FTL은 성능, 내구성, 신뢰성 또는 다른 성능 측정을 최적화하기 위해, 하위 FTL의 특정 기능들을 억제하도록 하위 FTL에 명령할 수 있다. 예를 들어, 상위 FTL은 하위 FTL에 의해 수행되는 정적 웨어 레벨링 프로세스를 디스에이블시킬 수 있다. 추가적으로 또는 대안적으로, 상위 FTL은 하위 FTL의 임의의 다른 기능을 억제할 수 있다. 상위 FTL은 제한된 시간 동안, 제한된 내구성에 대해(예를 들어, 특정된 개수의 프로그래밍 및 삭제 사이클 동안) 또는 영구적으로 하위 FTL의 주어진 기능을 억제할 수 있다.
본 발명의 실시예들에서, 쓰레기 수집이 많은 양의 페이지 매핑 자원들을 이용하므로 쓰레기 수집은 통상적으로 상위 FTL에서 수행된다. 웨어 레벨링 프로세스들은 통상적으로 블록 레벨에서 동작하고 따라서 통상적으로 하위 FTL에 의해 핸들링된다. 일부 실시예들에서, 상위 및 하위 FTL들은 이들 프로세스들을 서로 동기화시킨다.
도 2는 본 발명의 실시예에 따라, 메모리 관리를 위한 방법을 개략적으로 예시하는 흐름도이다. 커맨드 릴레이 단계(100)에서, 호스트(20)는 메모리 제어기(10)에 메모리 액세스 커맨드들을 제공한다. 통신 단계(110)에서, 각자의 타겟 논리적 어드레스들을 포함하는 메모리 액세스 커맨드들은 상위 플래시 변환 계층(FTL)(50)에 전달된다.
제1 매핑 단계(120)에서, 상위 FTL(50)은 타겟 논리적 어드레스들의 중간 논리적 어드레스들로의 제1 매핑(L-L 매핑)을 실행한다. 제2 매핑 단계(130)에서, 하위 FTL(60)은 중간 논리적 어드레스들의, 메모리 디바이스들(80) 내의 물리적 저장 위치들을 포함하는 물리적 어드레스들로의 제2 매핑(L-P 매핑)을 실행한다. 본 예에서, 제1 매핑은 페이지 입도에서 수행되고, 제1 매핑은 블록 입도에서 수행된다. 실행 단계(140)에서, 하위 FTL(40)은 각자의 물리적 어드레스들에서 메모리 액세스 커맨드들을 실행한다.
여기서 기술된 실시예들이 주로 플래시 관리를 다루지만, 여기서 기술된 방법들 및 시스템들은 또한 제1 스테이지가 동작들을 관리하기 위해 랜덤 액세스 메모리(RAM)와 같은 많은 양의 메모리 자원들을 가지고, 제2 스테이지는 제한된 자원들을 포함하고 물리적 매체와 더 많이 연관되는, 프로세싱 동작들의 2가지 스테이지들을 포함하는 다른 응용예들에서 사용될 수 있다.
따라서, 전술된 실시예들이 예시로서 인용되며, 본 발명이 특정하게 도시되고 위에서 기술된 것에 제한되지 않는다는 점이 이해될 것이다. 오히려, 본 발명의 범위는 전술된 다양한 특징들의 조합들 및 하위 조합들, 뿐만 아니라, 앞의 설명을 읽었을 때 당업자의 머리에 떠오를 그리고 종래 기술에 개시되지 않은 이들의 변형예들 및 수정들 모두를 포함한다. 본 특허 출원에서 참조로 포함된 문서들은 본원의 필수 부분으로서 간주될 것이지만, 이러한 포함된 문서들에서 임의의 용어들이 본 명세서에서 명시적으로 또는 묵시적으로 이루어진 정의들과 상충하는 방식으로 정의될 경우, 본 명세서 내의 정의들만이 고려되어야 한다.
Claims (20)
- 메모리를 동작시키는 방법으로서,
메모리에서 실행하기 위해 각각의 타겟 논리 어드레스들과 연관된 메모리 액세스 커맨드들을 수신하는 단계;
제1 데이터 유닛 사이즈(data unit size)의 제1 입도(granularity)를 갖는 제1 매핑에 따라, 상기 타겟 논리 어드레스들을 각각의 중간 논리 어드레스들로 변환하는 단계;
상기 제1 데이터 유닛 사이즈보다 더 큰 제2 데이터 유닛 사이즈의 제2 입도를 갖는 제2 매핑에 따라, 상기 중간 논리 어드레스들을 상기 메모리 내의 각각의 물리 저장 위치들로 변환하는 단계; 및
상기 각각의 물리 저장 위치들에 따라 상기 메모리에서 상기 메모리 액세스 커맨드들을 실행하는 단계
를 포함하는 방법. - 제1항에 있어서,
상기 제1 데이터 유닛 사이즈는 메모리 페이지를 포함하는 방법. - 제1항에 있어서,
상기 제2 데이터 유닛 사이즈는 메모리 블록을 포함하는 방법. - 제1항에 있어서,
상기 타겟 논리 어드레스들을 상기 중간 논리 어드레스들로 변환하는 단계 및 상기 중간 논리 어드레스들을 상기 물리 저장 위치들로 변환하는 단계는 단일 프로세서에서 수행되는 방법. - 제1항에 있어서,
상기 타겟 논리 어드레스들을 상기 중간 논리 어드레스들로 변환하는 단계는 제1 프로세서에서 수행되고, 상기 중간 논리 어드레스들을 상기 물리 저장 위치들로 변환하는 단계는 상기 제1 프로세서와는 별개의 제2 프로세서에서 수행되는 방법. - 제5항에 있어서,
상기 제2 프로세서는 메모리 제어기를 포함하고, 상기 제1 프로세서는 호스트 프로세서를 포함하는 방법. - 제1항에 있어서,
상기 제2 매핑의 하나 이상의 파라미터들을 수신하는 단계, 및 상기 수신된 파라미터들에 기초하여 상기 제1 매핑을 적응(adapting)시키는 단계를 포함하는 방법. - 제1항에 있어서,
상기 제1 매핑에 대한 관리 정보를 저장하기 위한 저장 공간을 상기 제2 매핑에서 할당하는 단계를 포함하는 방법. - 제1항에 있어서,
상기 제2 매핑의 기능을 억제하도록 상기 제1 매핑에 의해 상기 제2 매핑에 명령하는 단계를 포함하는 방법. - 데이터 저장 장치로서,
메모리와 통신하도록 구성되는 메모리 인터페이스; 및
상기 메모리에서 실행하기 위해 각각의 타겟 논리 어드레스들과 연관된 메모리 액세스 커맨드들을 수신하고, 제1 데이터 유닛 사이즈의 입도를 갖는 제1 매핑에 따라, 상기 타겟 논리 어드레스들을 각각의 중간 논리 어드레스들로 변환하고, 상기 제1 데이터 유닛 사이즈보다 더 큰 제2 데이터 유닛 사이즈의 제2 입도를 갖는 제2 매핑에 따라, 상기 중간 논리 어드레스들을 상기 메모리 내의 각각의 물리 저장 위치들로 변환하며, 상기 각각의 물리 저장 위치들에 따라 상기 메모리에서 상기 메모리 액세스 커맨드들을 실행하도록 구성되는 적어도 하나의 프로세서
를 포함하는 데이터 저장 장치. - 제10항에 있어서,
상기 제1 데이터 유닛 사이즈는 메모리 페이지를 포함하는 데이터 저장 장치. - 제10항에 있어서,
상기 제2 데이터 유닛 사이즈는 메모리 블록을 포함하는 데이터 저장 장치. - 제10항에 있어서,
상기 적어도 하나의 프로세서는, 상기 타겟 논리 어드레스들을 상기 중간 논리 어드레스들로 변환하며 상기 중간 논리 어드레스들을 상기 물리 저장 위치들로 변환하도록 구성되는 단일 프로세서를 포함하는 데이터 저장 장치. - 제10항에 있어서,
상기 적어도 하나의 프로세서는 상기 타겟 논리 어드레스들을 상기 중간 논리 어드레스들로 변환하도록 구성되는 제1 프로세서, 및 상기 제1 프로세서와는 별개이며 상기 중간 논리 어드레스들을 상기 물리 저장 위치들로 변환하도록 구성되는 제2 프로세서를 포함하는 데이터 저장 장치. - 제14항에 있어서,
상기 제2 프로세서는 메모리 제어기를 포함하고, 상기 제1 프로세서는 호스트 프로세서를 포함하는 데이터 저장 장치. - 제10항에 있어서,
상기 적어도 하나의 프로세서는, 상기 제2 매핑의 하나 이상의 파라미터들을 수신하며, 상기 수신된 파라미터들에 기초하여 상기 제1 매핑을 적응시키도록 구성되는 데이터 저장 장치. - 제10항에 있어서,
상기 적어도 하나의 프로세서는, 상기 제1 매핑에 대한 관리 정보를 저장하기 위한 저장 공간을 상기 제2 매핑에서 할당하도록 구성되는 데이터 저장 장치. - 제10항에 있어서,
상기 적어도 하나의 프로세서는, 상기 제2 매핑의 기능을 억제하도록 상기 제1 매핑에 의해 상기 제2 매핑에 명령하도록 구성되는 데이터 저장 장치. - 메모리를 동작시키는 방법으로서,
상기 메모리에서의 실행을 위한 메모리 액세스 커맨드들을 수신하는 단계;
제1 출력을 생성하기 위해서, 제1 데이터 유닛 사이즈의 제1 입도를 갖는 제1 메모리 관리 계층을 이용하여 상기 수신된 메모리 액세스 커맨드들을 프로세싱하는 단계;
제2 출력을 생성하기 위해서, 상기 제1 데이터 유닛 사이즈보다 더 큰 제2 데이터 유닛 사이즈의 제2 입도를 갖는 제2 메모리 관리 계층을 이용하여 상기 제1 출력을 프로세싱하는 단계; 및
상기 제2 출력에 따라 상기 메모리에서 상기 메모리 액세스 커맨드들을 실행하는 단계
를 포함하는 방법. - 데이터 저장 장치로서,
메모리와 통신하도록 구성되는 메모리 인터페이스; 및
상기 메모리에서의 실행을 위한 메모리 액세스 커맨드들을 수신하고, 제1 출력을 생성하기 위해서 제1 데이터 유닛 사이즈의 제1 입도를 갖는 제1 메모리 관리 계층을 이용하여 상기 수신된 메모리 액세스 커맨드들을 프로세싱하고, 제2 출력을 생성하기 위해서 상기 제1 데이터 유닛 사이즈보다 더 큰 제2 데이터 유닛 사이즈의 제2 입도를 갖는 제2 메모리 관리 계층을 이용하여 상기 제1 출력을 프로세싱하며, 상기 제2 출력에 따라 상기 메모리에서 상기 메모리 액세스 커맨드들을 실행하도록 구성되는 적어도 하나의 프로세서
를 포함하는 데이터 저장 장치.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161494916P | 2011-06-09 | 2011-06-09 | |
US61/494,916 | 2011-06-09 | ||
US13/488,945 US20120317377A1 (en) | 2011-06-09 | 2012-06-05 | Dual flash translation layer |
US13/488,945 | 2012-06-05 | ||
PCT/US2012/041601 WO2012170848A1 (en) | 2011-06-09 | 2012-06-08 | Dual flash translation layer |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140024043A true KR20140024043A (ko) | 2014-02-27 |
Family
ID=47294159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147000313A KR20140024043A (ko) | 2011-06-09 | 2012-06-08 | 듀얼 플래시 변환 계층 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20120317377A1 (ko) |
EP (1) | EP2718823A1 (ko) |
KR (1) | KR20140024043A (ko) |
TW (1) | TW201303592A (ko) |
WO (1) | WO2012170848A1 (ko) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130019057A1 (en) * | 2011-07-15 | 2013-01-17 | Violin Memory, Inc. | Flash disk array and controller |
WO2014138118A1 (en) * | 2013-03-07 | 2014-09-12 | Peddle Charles I | High speed flash controllers |
CA2881206A1 (en) * | 2014-02-07 | 2015-08-07 | Andrew WARFIELD | Methods, systems and devices relating to data storage interfaces for managing address spaces in data storage devices |
US9400603B2 (en) | 2014-12-16 | 2016-07-26 | International Business Machines Corporation | Implementing enhanced performance flash memory devices |
GB2536201B (en) * | 2015-03-02 | 2021-08-18 | Advanced Risc Mach Ltd | Handling address translation requests |
US9811284B2 (en) | 2015-12-20 | 2017-11-07 | Apple Inc. | One-pass programming in a multi-level nonvolatile memory device with improved write amplification |
US9898200B2 (en) | 2016-02-18 | 2018-02-20 | Samsung Electronics Co., Ltd | Memory device having a translation layer with multiple associative sectors |
US20180239532A1 (en) * | 2017-02-23 | 2018-08-23 | Western Digital Technologies, Inc. | Techniques for performing a non-blocking control sync operation |
US10372351B2 (en) * | 2017-02-23 | 2019-08-06 | Western Digital Technologies, Inc. | Techniques for non-blocking control information and data synchronization by a data storage device |
US10732896B2 (en) * | 2017-06-12 | 2020-08-04 | Western Digital Technologies, Inc. | Method and system for reading data during control sync operations |
US10956071B2 (en) | 2018-10-01 | 2021-03-23 | Western Digital Technologies, Inc. | Container key value store for data storage devices |
US10769062B2 (en) * | 2018-10-01 | 2020-09-08 | Western Digital Technologies, Inc. | Fine granularity translation layer for data storage devices |
US10740231B2 (en) | 2018-11-20 | 2020-08-11 | Western Digital Technologies, Inc. | Data access in data storage device including storage class memory |
CN110471861B (zh) * | 2019-07-10 | 2022-02-11 | 华为技术有限公司 | 一种闪存设备中的数据存储方法及闪存设备 |
US11016905B1 (en) | 2019-11-13 | 2021-05-25 | Western Digital Technologies, Inc. | Storage class memory access |
US11249921B2 (en) | 2020-05-06 | 2022-02-15 | Western Digital Technologies, Inc. | Page modification encoding and caching |
US11836074B2 (en) * | 2020-10-07 | 2023-12-05 | Micron Technology, Inc. | Multiple flash translation layers at a memory device |
US11579786B2 (en) * | 2021-04-23 | 2023-02-14 | Vmware, Inc. | Architecture utilizing a middle map between logical to physical address mapping to support metadata updates for dynamic block relocation |
US11487456B1 (en) | 2021-04-23 | 2022-11-01 | Vmware, Inc. | Updating stored content in an architecture utilizing a middle map between logical and physical block addresses |
US11816349B2 (en) | 2021-11-03 | 2023-11-14 | Western Digital Technologies, Inc. | Reduce command latency using block pre-erase |
CN114327272B (zh) * | 2021-12-28 | 2024-08-09 | 苏州大普微电子科技有限公司 | 一种数据处理方法、固态硬盘控制器及固态硬盘 |
US11797214B2 (en) * | 2022-01-04 | 2023-10-24 | Vmware, Inc. | Micro-batching metadata updates to reduce transaction journal overhead during snapshot deletion |
US20230335204A1 (en) * | 2022-04-15 | 2023-10-19 | Micron Technology, Inc. | Techniques to retire unreliable blocks |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0175398A3 (en) * | 1984-08-17 | 1989-08-30 | Koninklijke Philips Electronics N.V. | Data processing system comprising a memory access controller which is provided for combining descriptor bits of different descriptors associated with virtual addresses |
JP3178909B2 (ja) * | 1992-01-10 | 2001-06-25 | 株式会社東芝 | 半導体メモリ装置 |
US5404485A (en) * | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US5845313A (en) * | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US7660941B2 (en) * | 2003-09-10 | 2010-02-09 | Super Talent Electronics, Inc. | Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories |
US6678785B2 (en) * | 2001-09-28 | 2004-01-13 | M-Systems Flash Disk Pioneers Ltd. | Flash management system using only sequential write |
US7953588B2 (en) * | 2002-09-17 | 2011-05-31 | International Business Machines Corporation | Method and system for efficient emulation of multiprocessor address translation on a multiprocessor host |
US7496494B2 (en) * | 2002-09-17 | 2009-02-24 | International Business Machines Corporation | Method and system for multiprocessor emulation on a multiprocessor host system |
US20090193184A1 (en) * | 2003-12-02 | 2009-07-30 | Super Talent Electronics Inc. | Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System |
US7698698B2 (en) * | 2004-09-30 | 2010-04-13 | Smith Micro Software, Inc. | Method for over-the-air firmware update of NAND flash memory based mobile devices |
KR100684942B1 (ko) * | 2005-02-07 | 2007-02-20 | 삼성전자주식회사 | 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템 |
CA2597551A1 (en) * | 2005-02-11 | 2006-08-17 | M-Systems Flash Disk Pioneers Ltd. | Nand flash memory system architecture |
US7761674B2 (en) * | 2005-12-30 | 2010-07-20 | Intel Corporation | Identifier associated with memory locations for managing memory accesses |
US7685399B2 (en) * | 2007-01-07 | 2010-03-23 | International Business Machines Corporation | Method, system, and computer program products for data movement within processor storage |
KR100823171B1 (ko) * | 2007-02-01 | 2008-04-18 | 삼성전자주식회사 | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 |
KR100881052B1 (ko) * | 2007-02-13 | 2009-01-30 | 삼성전자주식회사 | 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른검색방법 |
US8332574B2 (en) * | 2007-04-30 | 2012-12-11 | Sandisk Il Ltd. | Method for efficient storage of metadata in flash memory |
KR101473344B1 (ko) * | 2007-08-24 | 2014-12-17 | 삼성전자 주식회사 | 플래시 메모리를 스토리지로 사용하는 장치 및 그 동작방법 |
KR20090026941A (ko) * | 2007-09-11 | 2009-03-16 | 삼성전자주식회사 | 복수개의 비휘발성 데이터 저장매체를 구비한 저장장치의가상 파일 시스템에서 어드레스 맵핑을 수행하는 방법 및그 장치 |
KR101477047B1 (ko) * | 2008-02-29 | 2014-12-30 | 삼성전자주식회사 | 메모리 시스템 및 그것의 블록 병합 방법 |
TWI395100B (zh) * | 2009-01-13 | 2013-05-01 | Innostor Technology Corp | 應用於快閃記憶體的階級化分層處理資料的方法及相關快閃記憶體裝置 |
US8819385B2 (en) * | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
US20100287217A1 (en) * | 2009-04-08 | 2010-11-11 | Google Inc. | Host control of background garbage collection in a data storage device |
US8219776B2 (en) * | 2009-09-23 | 2012-07-10 | Lsi Corporation | Logical-to-physical address translation for solid state disks |
US8806144B2 (en) * | 2009-05-12 | 2014-08-12 | Stec, Inc. | Flash storage device with read cache |
US8364931B2 (en) * | 2009-06-29 | 2013-01-29 | Mediatek Inc. | Memory system and mapping methods using a random write page mapping table |
KR101662824B1 (ko) * | 2009-07-08 | 2016-10-06 | 삼성전자주식회사 | 고체 상태 드라이브 장치 및 그것의 구동 방법 |
US8397049B2 (en) * | 2009-07-13 | 2013-03-12 | Apple Inc. | TLB prefetching |
WO2011031903A2 (en) * | 2009-09-09 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for allocating storage |
JP5525605B2 (ja) * | 2009-11-04 | 2014-06-18 | 株式会社日立製作所 | フラッシュメモリモジュール |
US8291194B2 (en) * | 2009-11-16 | 2012-10-16 | Mediatek Inc. | Methods of utilizing address mapping table to manage data access of storage medium without physically accessing storage medium and related storage controllers thereof |
EP2507710B1 (en) * | 2009-11-30 | 2018-10-31 | Hewlett-Packard Enterprise Development LP | Remapping for memory wear leveling |
US8285946B2 (en) * | 2009-12-15 | 2012-10-09 | International Business Machines Corporation | Reducing access contention in flash-based memory systems |
US20110264880A1 (en) * | 2010-04-23 | 2011-10-27 | Tatu Ylonen Oy Ltd | Object copying with re-copying concurrently written objects |
US8285920B2 (en) * | 2010-07-09 | 2012-10-09 | Nokia Corporation | Memory device with dynamic controllable physical logical mapping table loading |
US8239619B2 (en) * | 2010-07-09 | 2012-08-07 | Macronix International Co., Ltd. | Method and apparatus for high-speed byte-access in block-based flash memory |
JP5388976B2 (ja) * | 2010-09-22 | 2014-01-15 | 株式会社東芝 | 半導体記憶制御装置 |
US20120117303A1 (en) * | 2010-11-04 | 2012-05-10 | Numonyx B.V. | Metadata storage associated with flash translation layer |
US8458514B2 (en) * | 2010-12-10 | 2013-06-04 | Microsoft Corporation | Memory management to accommodate non-maskable failures |
US9213562B2 (en) * | 2010-12-17 | 2015-12-15 | Oracle International Corporation | Garbage collection safepoint system using non-blocking asynchronous I/O call to copy data when the garbage collection safepoint is not in progress or is completed |
US8874872B2 (en) * | 2011-01-21 | 2014-10-28 | Seagate Technology Llc | Garbage collection management in memories |
US8626989B2 (en) * | 2011-02-02 | 2014-01-07 | Micron Technology, Inc. | Control arrangements and methods for accessing block oriented nonvolatile memory |
US8880991B2 (en) * | 2011-04-21 | 2014-11-04 | Qualcomm Innovation Center, Inc. | Methods and apparatus for improved browsing performance by precompilation of high-priority JavaScripts in a webpage and delaying the removal of corresponding compiled code |
US9116717B2 (en) * | 2011-05-27 | 2015-08-25 | Cylance Inc. | Run-time interception of software methods |
US9076528B2 (en) * | 2011-05-31 | 2015-07-07 | Micron Technology, Inc. | Apparatus including memory management control circuitry and related methods for allocation of a write block cluster |
-
2012
- 2012-06-05 US US13/488,945 patent/US20120317377A1/en not_active Abandoned
- 2012-06-08 KR KR1020147000313A patent/KR20140024043A/ko not_active Application Discontinuation
- 2012-06-08 EP EP12729774.5A patent/EP2718823A1/en not_active Withdrawn
- 2012-06-08 WO PCT/US2012/041601 patent/WO2012170848A1/en active Application Filing
- 2012-06-11 TW TW101120956A patent/TW201303592A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US20120317377A1 (en) | 2012-12-13 |
TW201303592A (zh) | 2013-01-16 |
WO2012170848A1 (en) | 2012-12-13 |
EP2718823A1 (en) | 2014-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20140024043A (ko) | 듀얼 플래시 변환 계층 | |
EP2715510B1 (en) | Method for storage devices to achieve low write amplification with low over provision | |
KR101388410B1 (ko) | Lsb 및 msb 페이지들에의 선택적 데이터 저장 | |
CN110928807B (zh) | 用于检查存储器系统中的有效数据的设备和方法 | |
KR20180121794A (ko) | 동적 슈퍼 블록을 포함하는 메모리 장치 및 관련 방법 및 전자 시스템 | |
US8909895B2 (en) | Memory apparatus | |
US20140075100A1 (en) | Memory system, computer system, and memory management method | |
CN108959119B (zh) | 存储系统中垃圾收集的方法和系统 | |
CN110781096A (zh) | 用于通过预测需求时间来执行垃圾收集的设备和方法 | |
US10203899B2 (en) | Method for writing data into flash memory apparatus, flash memory apparatus, and storage system | |
US20150234598A1 (en) | Memory device and host device | |
KR20140025574A (ko) | 하이브리드 slc/mlc 메모리 내의 블록 관리 방식들 | |
CN110825659B (zh) | 用于检查存储器系统中的块中的有效数据的设备和方法 | |
US10168926B2 (en) | Method of operating data storage device and method of operating data processing system including same | |
TWI430091B (zh) | Semiconductor memory device | |
US20210026763A1 (en) | Storage device for improving journal replay, operating method thereof, and electronic device including the storage device | |
CN112988616A (zh) | 使用枢纽表从存储器读取顺序数据 | |
TW201935223A (zh) | 記憶體系統及其控制方法 | |
CN115756312A (zh) | 数据访问系统、数据访问方法和存储介质 | |
US20220405201A1 (en) | Storage device for performing dump operation, method of operating storage device, computing system including storage device and host device for controlling storage device, and method of operating computing system | |
CN113986773A (zh) | 基于固态硬盘的写放大优化方法、装置及计算机设备 | |
KR101626218B1 (ko) | 블록 기반의 페이지 매핑 방법 | |
US9575883B2 (en) | Control device, storage device, and storage control method | |
KR20200014175A (ko) | 소요시간을 예측하여 가비지 컬렉션을 수행하는 방법 및 장치 | |
US20140281160A1 (en) | Non-volatile semiconductor storage apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E601 | Decision to refuse application | ||
E801 | Decision on dismissal of amendment |