KR20200123684A - 메모리 시스템에서 맵 정보를 전송하는 장치 - Google Patents
메모리 시스템에서 맵 정보를 전송하는 장치 Download PDFInfo
- Publication number
- KR20200123684A KR20200123684A KR1020190046914A KR20190046914A KR20200123684A KR 20200123684 A KR20200123684 A KR 20200123684A KR 1020190046914 A KR1020190046914 A KR 1020190046914A KR 20190046914 A KR20190046914 A KR 20190046914A KR 20200123684 A KR20200123684 A KR 20200123684A
- Authority
- KR
- South Korea
- Prior art keywords
- map
- host
- information
- output
- map information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- 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/7207—Details relating to flash memory management management of metadata or control data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
도 2는 본 발명의 일 실시예에 따른 메모리 시스템을 포함하는 데이터 처리 시스템의 일 예를 개략적으로 도시한다.
도 3은 본 발명의 일 실시예에 따른 데이터 처리 시스템에서 호스트와 메모리 시스템의 구성을 설명한다.
도 4는 본 발명의 일 실시예에 따른 데이터 처리 시스템에서 호스트와 메모리 시스템의 읽기 동작을 설명한다.
도 5는 본 발명의 일 실시예에 따른 데이터 처리 시스템에서 호스트와 메모리 시스템의 트랜잭션의 제1예를 설명한다.
도 6은 본 발명의 일 실시예에 따른 호스트와 메모리 시스템의 제1 동작을 설명한다.
도 7은 본 발명의 일 실시예에 따른 데이터 처리 시스템에서 호스트와 메모리 시스템의 트랜젝션의 제2예를 설명한다.
도 8은 본 발명의 일 실시예에 따른 호스트와 메모리 시스템의 제2 동작을 설명한다.
도 9는 본 발명의 일 실시예에 따른 호스트와 메모리 시스템의 제3 동작을 설명한다.
도 10은 본 발명의 일 실시예에 따른 호스트와 메모리 시스템의 제4 동작을 설명한다.
도 11a 내지 도 11c는 본 발명의 일 실시예에 따라 호스트와 메모리 시스템에서 맵 정보를 공유하는 제1 동작을 설명한다.
도 12a 내지 도 12c는 본 발명의 일 실시예에 따라 호스트와 메모리 시스템에서 맵 정보를 공유하는 제2 동작을 설명한다.
도 13은 본 발명의 일 실시예에 따라 호스트와 메모리 시스템에서 맵 정보를 공유하는 제3 동작을 설명한다.
Claims (39)
- 비휘발성 메모리 장치; 및
호스트로부터 입력되는 논리주소에 대응하여 상기 비휘발성 메모리 장치의 물리주소를 맵핑(mapping)하는 제1 맵정보를 생성하고, 상기 제1 맵정보 중 일부의 제2 맵정보 선택하며, 상기 제2 맵정보를 상기 호스트로 출력하는 컨트롤러를 포함하고,
상기 컨트롤러는,
상기 제2 맵정보 중 설정된 동작에 의해 갱신(update)된 맵정보를 제3 맵정보로 결정하고,
상기 호스트로부터 입력된 명령에 대응하여 상기 제3 맵정보의 정보를 상기 호스트로 출력하는 메모리 시스템.
- 제1항에 있어서,
상기 컨트롤러는,
상기 호스트로부터 입력된 명령에 대응하는 동작을 수행한 후,
상기 제3 맵정보가 존재하는 경우, 상기 입력된 명령에 대응하여 상기 호스트로 출력하는 응답에 상기 제3 맵정보의 논리주소를 포함시켜 출력하는 메모리 시스템.
- 제2항에 있어서,
상기 호스트로 출력하는 응답은, 설정된 플래그(flag)를 포함하며,
상기 컨트롤러는, 상기 제3 맵정보의 논리주소를 상기 호스트로 출력하는 응답에 포함시키는 것에 응답하여 상기 설정된 플래그를 셋(set)시키는 메모리 시스템.
- 제2항에 있어서,
상기 컨트롤러는,
상기 제3 맵정보에 포함된 K개의 맵 세그먼트(segment) 중 적어도 하나의 선택 맵 세그먼트에 포함된 논리주소를, 상기 호스트로 출력하는 응답에 포함시켜 출력하며, K는 1이상의 자연수인 메모리 시스템.
- 제4항에 있어서,
상기 컨트롤러는,
상기 선택 맵 세그먼트에 포함된 논리주소를 상기 호스트로 출력한 뒤, 상기 선택 맵 세그먼트를 상기 제2 맵정보 중에서 삭제하는 메모리 시스템.
- 제4항에 있어서,
상기 컨트롤러는,
상기 제2 맵정보에 포함된 M개의 맵 세그먼트 중 상기 호스트로 출력된 맵 세그먼트와 출력되지 않은 맵 세그먼트를 구분하기 위한 출력정보를 생성하며, M은 K이상의 자연수인 메모리 시스템.
- 제6항에 있어서,
상기 컨트롤러는,
상기 선택 맵 세그먼트에 포함된 논리주소를 상기 호스트로 출력한 뒤, 상기 선택 맵 세그먼트를 상기 호스트로 출력되지 않은 맵 세그먼트로 구분하기 위해 상기 선택 맵 세그먼트의 상기 출력정보를 갱신하는 메모리 시스템.
- 제6항에 있어서,
상기 컨트롤러는,
상기 제2 맵정보에 포함된 M개의 맵 세그먼트 중 적어도 하나를 상기 출력정보를 참조하여 출력 맵 세그먼트로서 선택하고, 상기 호스트로부터 입력된 제1 명령에 대응하여 상기 출력 맵 세그먼트를 상기 호스트로 출력하는 메모리 시스템.
- 제8항에 있어서,
상기 컨트롤러는,
상기 호스트로부터 입력된 상기 제1 명령에 대응하는 동작을 수행한 후, 상기 호스트로 출력하는 응답에 상기 출력 맵 세그먼트를 포함시켜 출력하는 메모리 시스템.
- 제8항에 있어서,
상기 컨트롤러는,
상기 호스트에 상기 제2 맵정보를 출력하기 위한 요청을 한 후, 상기 호스트의 결정에 따라 상기 호스트로부터 상기 제1 명령이 입력될 때, 상기 제1 명령에 대응하여 상기 출력 맵 세그먼트를 상기 호스트로 출력하는 메모리 시스템.
- 제8항에 있어서,
상기 컨트롤러는,
상기 출력정보를 참조하여 상기 제2 맵정보에 포함된 M개의 맵 세그먼트 중 상기 호스트로 출력되지 않은 L개의 맵 세그먼트를 상기 출력 맵 세그먼트로서 선택하고,
상기 제1 명령에 대응하여 상기 출력 맵 세그먼트로서 선택된 L개의 맵 세그먼트를 세그먼트 단위씩 L번 연속 상기 호스트로 출력하며,
L은 M이하의 자연수인 메모리 시스템.
- 제4항에 있어서,
상기 컨트롤러는,
상기 제2 맵정보에 포함된 M개의 맵 세그먼트 각각을 N개의 맵 서브-세그먼트(sub-segment)로 분할한 뒤, M*N개의 맵 서브-세그먼트 각각이 갱신되었는지 여부를 나타내는 M*N개의 갱신정보를 생성하며,
M은 K이상의 자연수이고, N은 2이상의 자연수인 메모리 시스템.
- 제12항에 있어서,
상기 컨트롤러는,
상기 제2 맵정보에 포함된 어느 하나의 특정 맵 세그먼트에 대응하는 N개의 갱신정보 중 '갱신됨'을 나타내는 갱신정보의 비율이 설정된 비율 이상인 경우, 상기 특정 맵 세그먼트를 상기 제3 맵정보로서 결정하는 메모리 시스템.
- 제12항에 있어서,
상기 컨트롤러는,
상기 호스트로부터 입력된 명령이 제1 논리주소와 제1 물리주소를 포함하는지를 확인하고, M*N개의 갱신정보를 참조하여 상기 제1 물리주소의 유효성을 판단하며, 상기 유효성의 판단결과 유효한 경우 상기 제1 물리주소를 사용하여 상기 호스트로부터 입력된 명령을 수행하는 메모리 시스템.
- 제14항에 있어서,
상기 컨트롤러는,
상기 유효성의 판단결과 유효하지 않은 경우, 상기 제1 물리주소를 무시하고, 상기 제1 맵정보를 참조하여 상기 제1 논리주소에 대응하는 유효한 물리주소를 탐색한 후, 탐색된 상기 유효한 물리주소를 사용하여 상기 호스트로부터 입력된 명령을 수행하는 메모리 시스템.
- 제14항에 있어서,
상기 컨트롤러는,
M*N개의 갱신정보 중 상기 제1 논리주소에 대응하는 어느 하나의 갱신정보를 선택하고, 선택된 갱신정보가 '갱신되지 않음'을 나타내는 경우 상기 제1 물리주소를 유효한 것으로 판단하며, 상기 선택된 갱신정보가 '갱신됨'을 나타내는 경우 상기 제1 물리주소를 유효하지 않은 것으로 판단하는 메모리 시스템.
- 데이터에 대응하는 논리주소를 생성, 변경 혹은 갱신을 수행할 수 있는 호스트;
상기 데이터를 저장하기 위한 비휘발성 메모리 장치를 포함하며, 상기 논리주소에 대응하여 상기 비휘발성 메모리 장치의 물리주소를 맵핑(mapping)하는 제1 맵정보를 생성하고, 상기 제1 맵정보 중 일부의 제2 맵정보를 선택하며, 상기 제2 맵정보를 상기 호스트로 출력하는 메모리 시스템을 포함하고,
상기 메모리 시스템은 상기 제2 맵정보 중 설정된 동작에 의해 갱신(update)된 맵정보를 제3 맵정보로 결정하고, 상기 호스트로부터 입력된 명령에 대응하여 상기 제3 맵정보의 정보를 상기 호스트로 출력하고,
상기 호스트는 상기 제2 맵정보 중 상기 제3 맵정보의 정보에 대응하는 상기 논리주소를 언맵(unmap)하는 데이터 처리 시스템.
- 제17항에 있어서,
상기 호스트는,
상기 메모리 시스템으로부터 입력되는 상기 제2 맵정보를 저장하기 위한 내부메모리를 포함하며,
제1 명령을 생성하여 메모리 시스템으로 출력한 후, 상기 메모리 시스템으로부터 상기 제1 명령에 대응하는 응답을 입력받을 때, 응답에 포함된 적어도 하나의 맵 세그먼트(segment)를 상기 제2 맵정보로서 상기 내부메모리에 저장하는 데이터 처리 시스템.
- 제18항에 있어서,
상기 호스트는,
상기 메모리 시스템으로부터 상기 제2 맵정보의 출력에 대한 요청이 통지(notice)되는 경우, 상기 내부메모리의 상태를 확인하고, 확인결과에 따라 선택적으로 상기 제1 명령을 생성하여 상기 메모리 시스템으로 출력하는 데이터 처리 시스템.
- 제18항에 있어서,
상기 호스트는,
상기 내부메모리에 저장된 상기 제2 맵정보를 참조하여 제1 논리주소에 대응하는 제1 물리주소를 선택하고,
상기 제1 논리주소와 상기 제1 물리주소를 제2 명령과 함께 상기 메모리 시스템으로 출력한 후, 상기 메모리 시스템으로부터 상기 제1 논리주소에 대응하는 상기 데이터를 입력받는 데이터 처리 시스템.
- 제18항에 있어서,
상기 호스트는,
제2 명령을 생성하여 상기 메모리 시스템으로 출력한 후, 상기 메모리 시스템으로부터 상기 제2 명령에 대응하는 응답을 입력받을 때, 응답에 특정 논리주소가 포함된 경우,
상기 내부메모리에 저장된 상기 제2 맵 정보 중 상기 특정 논리주소에 대응하는 특정 맵정보를 언맵핑(unmapping)하는 데이터 처리 시스템.
- 제21항에 있어서,
상기 메모리 시스템으로부터 입력되는 상기 제2 명령에 대응하는 응답에는, 설정된 플래그(flag)가 포함되며,
상기 호스트는,
상기 설정된 플래그(flag)를 확인하고, 확인결과 셋(set) 상태인 경우, 상기 제2 명령에 대응하는 응답에 상기 특정 논리주소가 포함된 것을 인식하고, 그 값을 확인하는 데이터 처리 시스템.
- 제22항에 있어서,
상기 호스트는,
확인결과 상기 설정된 플래그가 리셋(reset) 상태인 경우, 상기 제2 명령에 대응하는 응답에 상기 특정 논리주소가 포함되지 않은 것을 인식하는 데이터 처리 시스템.
- 비휘발성 메모리 장치를 포함하며, 호스트로부터 입력되는 논리주소에 대응하여 상기 비휘발성 메모리 장치의 물리주소를 맵핑(mapping)하는 제1 맵정보를 생성하고, 상기 제1 맵정보 중 일부의 제2 맵정보를 선택하며, 상기 제2 맵정보를 상기 호스트로 출력하는 메모리 시스템의 동작방법에 있어서,
상기 제2 맵정보 중 설정된 동작에 의해 갱신(update)된 맵정보를 제3 맵정보로 결정하는 결정단계; 및
상기 호스트로부터 입력된 명령에 대응하여 상기 제3 맵정보의 정보를 상기 호스트로 출력하는 제1 출력단계
를 포함하는 메모리 시스템의 동작방법.
- 제24항에 있어서,
상기 제1 출력단계는,
상기 호스트로부터 입력된 명령에 대응하는 동작을 수행하는 단계; 및
상기 제3 맵정보가 존재하는 경우, 상기 입력된 명령에 대응하여 상기 호스트로 출력하는 응답에 상기 제3 맵정보의 논리주소를 포함시켜 출력하는 제2 출력단계를 포함하는 메모리 시스템의 동작방법.
- 제25항에 있어서,
상기 호스트로 출력하는 응답은, 설정된 플래그(flag)를 포함하며,
상기 제1 출력단계는, 상기 제3 맵정보의 논리주소를 상기 호스트로 출력하는 응답에 포함시키는 것에 응답하여 상기 설정된 플래그를 셋(set)시키는 단계를 더 포함하는 메모리 시스템의 동작방법.
- 제25항에 있어서,
상기 제2 출력단계는,
상기 제3 맵정보에 포함된 K개의 맵 세그먼트(segment) 중 적어도 하나의 선택 맵 세그먼트에 포함된 논리주소를, 상기 호스트로 출력하는 응답에 포함시켜 출력하며, K는 1이상의 자연수인 메모리 시스템의 동작방법.
- 제27항에 있어서,
상기 제1 출력단계는,
상기 선택 맵 세그먼트에 포함된 논리주소를 상기 호스트로 출력한 뒤, 상기 선택 맵 세그먼트를 상기 제2 맵정보 중에서 삭제하는 단계를 더 포함하는 메모리 시스템의 동작방법.
- 제27항에 있어서,
상기 제1 출력단계는,
상기 제2 맵정보에 포함된 M개의 맵 세그먼트 중 상기 호스트로 출력된 맵 세그먼트와 출력되지 않은 맵 세그먼트를 구분하기 위한 출력정보를 생성하는 단계를 더 포함하며, M은 K이상의 자연수인 메모리 시스템의 동작방법.
- 제29항에 있어서,
상기 제1 출력단계는,
상기 선택 맵 세그먼트에 포함된 논리주소를 상기 호스트로 출력한 뒤, 상기 선택 맵 세그먼트를 상기 호스트로 출력되지 않은 맵 세그먼트로 구분하기 위해 상기 선택 맵 세그먼트의 상기 출력정보를 갱신하는 단계를 더 포함하는 메모리 시스템의 동작방법.
- 제29항에 있어서,
상기 제2 맵정보에 포함된 M개의 맵 세그먼트 중 적어도 하나를 상기 출력정보를 참조하여 출력 맵 세그먼트로서 선택하고, 상기 호스트로부터 입력된 제1 명령에 대응하여 상기 출력 맵 세그먼트를 상기 호스트로 출력하는 제3 출력단계를 더 포함하는 메모리 시스템의 동작방법.
- 제31항에 있어서,
상기 제3 출력단계는,
상기 호스트로부터 입력된 상기 제1 명령에 대응하는 동작을 수행하는 단계; 및
상기 제1 명령에 대응하여 상기 호스트로 출력하는 응답에 상기 출력 맵 세그먼트를 포함시켜 출력하는 단계를 포함하는 메모리 시스템의 동작방법.
- 제32항에 있어서,
상기 제3 출력단계는,
상기 호스트에 상기 제2 맵정보를 출력하기 위한 요청을 하는 단계; 및
상기 호스트의 결정에 따라 상기 호스트로부터 상기 제1 명령이 입력되는 단계를 더 포함하는 메모리 시스템의 동작방법.
- 제31항에 있어서,
상기 제3 출력단계는,
상기 출력정보를 참조하여 상기 제2 맵정보에 포함된 M개의 맵 세그먼트 중 상기 호스트로 출력되지 않은 L개의 맵 세그먼트를 상기 출력 맵 세그먼트로서 선택하고,
상기 제1 명령에 대응하여 상기 출력 맵 세그먼트로서 선택된 L개의 맵 세그먼트를 세그먼트 단위씩 L번 연속 상기 호스트로 출력하며,
L은 M이하의 자연수인 메모리 시스템의 동작방법.
- 제27항에 있어서,
상기 제2 맵정보에 포함된 M개의 맵 세그먼트 각각을 N개의 맵 서브-세그먼트(sub-segment)로 분할한 뒤, M*N개의 맵 서브-세그먼트 각각이 갱신되었는지 여부를 나타내는 M*N개의 갱신정보를 생성하는 단계를 더 포함하며, M은 K이상의 자연수이고, N은 2이상의 자연수인 메모리 시스템의 동작방법.
- 제35항에 있어서,
상기 결정단계는,
상기 제2 맵정보에 포함된 어느 하나의 특정 맵 세그먼트에 대응하는 N개의 갱신정보 중 '갱신됨'을 나타내는 갱신정보의 비율이 설정된 비율 이상인 경우, 상기 특정 맵 세그먼트를 상기 제3 맵정보로서 결정하는 메모리 시스템의 동작방법.
- 제35항에 있어서,
상기 호스트로부터 입력된 명령이 제1 논리주소와 제1 물리주소를 포함하는지를 확인하고, 확인결과 포함하는 경우 M*N개의 갱신정보를 참조하여 상기 제1 물리주소의 유효성을 판단하는 판단단계; 및
상기 판단단계의 결과 유효한 경우 상기 제1 물리주소를 사용하여 상기 호스트로부터 입력된 명령을 수행하는 명령수행단계를 더 포함하는 메모리 시스템의 동작방법.
- 제37항에 있어서,
상기 명령수행단계는,
상기 판단단계의 결과 유효하지 않은 경우, 상기 제1 물리주소를 무시하고, 상기 제1 맵정보를 참조하여 상기 제1 논리주소에 대응하는 유효한 물리주소를 탐색한 후, 탐색된 상기 유효한 물리주소를 사용하여 상기 호스트로부터 입력된 명령을 수행하는 메모리 시스템의 동작방법.
- 제37항에 있어서,
상기 판단단계는,
M*N개의 갱신정보 중 상기 제1 논리주소에 대응하는 어느 하나의 갱신정보를 선택하고, 선택된 갱신정보가 '갱신되지 않음'을 나타내는 경우 상기 제1 물리주소를 유효한 것으로 판단하는 단계; 및
상기 선택된 갱신정보가 '갱신됨'을 나타내는 경우 상기 제1 물리주소를 유효하지 않은 것으로 판단하는 단계를 포함하는 메모리 시스템의 동작방법.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190046914A KR102807315B1 (ko) | 2019-04-22 | 2019-04-22 | 메모리 시스템에서 맵 정보를 전송하는 장치 |
US16/733,867 US11354250B2 (en) | 2019-04-22 | 2020-01-03 | Apparatus for transmitting map information in memory system |
CN202010120143.1A CN111831215A (zh) | 2019-04-22 | 2020-02-26 | 用于在存储器系统中传输映射信息的装置 |
US16/838,567 US11422942B2 (en) | 2019-04-02 | 2020-04-02 | Memory system for utilizing a memory included in an external device |
US17/832,755 US11663139B2 (en) | 2019-04-22 | 2022-06-06 | Apparatus for transmitting map information in memory system |
US18/313,382 US11960411B2 (en) | 2019-04-22 | 2023-05-08 | Apparatus for transmitting map information in memory system |
US18/619,190 US20240241834A1 (en) | 2019-04-22 | 2024-03-28 | Apparatus for transmitting map information in memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190046914A KR102807315B1 (ko) | 2019-04-22 | 2019-04-22 | 메모리 시스템에서 맵 정보를 전송하는 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200123684A true KR20200123684A (ko) | 2020-10-30 |
KR102807315B1 KR102807315B1 (ko) | 2025-05-15 |
Family
ID=72832454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190046914A Active KR102807315B1 (ko) | 2019-04-02 | 2019-04-22 | 메모리 시스템에서 맵 정보를 전송하는 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11354250B2 (ko) |
KR (1) | KR102807315B1 (ko) |
CN (1) | CN111831215A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022203238A1 (ko) * | 2021-03-24 | 2022-09-29 | 삼성전자 주식회사 | 스토리지를 포함하는 전자 장치 및 그 방법 |
US12235758B2 (en) | 2021-03-24 | 2025-02-25 | Samsung Electronics Co., Ltd. | Electronic device including storage and method of processing data request using mapping information stored in non-volatile memory loaded into volatile memory |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113835617B (zh) * | 2020-06-23 | 2024-09-06 | 慧荣科技股份有限公司 | 数据处理方法及对应的数据储存装置 |
WO2022126534A1 (zh) * | 2020-12-17 | 2022-06-23 | 华为技术有限公司 | 数据处理方法及相关设备 |
CN113553008A (zh) * | 2021-07-20 | 2021-10-26 | 深圳忆联信息系统有限公司 | 映射表更新方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140215129A1 (en) * | 2013-01-28 | 2014-07-31 | Radian Memory Systems, LLC | Cooperative flash memory control |
US20170192902A1 (en) * | 2015-12-30 | 2017-07-06 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory device and controller, operating method of storage device, and method for accessing storage device |
US20190004944A1 (en) * | 2017-06-29 | 2019-01-03 | Western Digital Technologies, Inc. | System and method for host system memory translation |
US20190102291A1 (en) * | 2017-09-29 | 2019-04-04 | Shannon Systems Ltd. | Data storage device and method for operating non-volatile memory |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5459850A (en) | 1993-02-19 | 1995-10-17 | Conner Peripherals, Inc. | Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks |
EP1986101B1 (en) | 2006-02-14 | 2012-06-20 | Fujitsu Ltd. | Coherency maintaining device and coherency maintaining method |
US8078827B2 (en) | 2007-07-05 | 2011-12-13 | International Business Machines Corporation | Method and apparatus for caching of page translations for virtual machines |
US8161304B2 (en) | 2009-01-20 | 2012-04-17 | Microsoft Corporation | Power management for large memory subsystems |
US8671265B2 (en) | 2010-03-05 | 2014-03-11 | Solidfire, Inc. | Distributed data storage system providing de-duplication of data using block identifiers |
US8417904B2 (en) | 2010-03-17 | 2013-04-09 | Seagate Technology Llc | Garbage collection management in a data storage device |
US8589655B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of I/O in an SSD environment |
KR101366960B1 (ko) | 2011-12-23 | 2014-02-25 | 한양대학교 산학협력단 | 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법 |
US9146857B2 (en) * | 2012-08-18 | 2015-09-29 | Storart Technology Co. Ltd. | Method for mapping management |
US20140089761A1 (en) | 2012-09-24 | 2014-03-27 | Zion Kwok | Method, apparatus and system for providing error correction information |
EP2916589B1 (en) | 2012-11-30 | 2018-08-22 | Huawei Technologies Co., Ltd. | Migration method and device |
US9164888B2 (en) | 2012-12-10 | 2015-10-20 | Google Inc. | Using a logical to physical map for direct user space communication with a data storage device |
JP2016506585A (ja) | 2013-01-08 | 2016-03-03 | ヴァイオリン メモリー インコーポレイテッド | データストレージのための方法及びシステム |
US9110592B2 (en) | 2013-02-04 | 2015-08-18 | Microsoft Technology Licensing, Llc | Dynamic allocation of heterogenous memory in a computing system |
US20140244897A1 (en) | 2013-02-26 | 2014-08-28 | Seagate Technology Llc | Metadata Update Management In a Multi-Tiered Memory |
US9195396B2 (en) | 2013-03-14 | 2015-11-24 | SanDisk Technologies, Inc. | Estimating access frequency statistics for storage device |
US10268584B2 (en) | 2014-08-20 | 2019-04-23 | Sandisk Technologies Llc | Adaptive host memory buffer (HMB) caching using unassisted hinting |
KR102349999B1 (ko) | 2015-03-02 | 2022-01-10 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그 동작 방법 |
US10261725B2 (en) | 2015-04-10 | 2019-04-16 | Toshiba Memory Corporation | Storage system capable of invalidating data stored in a storage device thereof |
US9507711B1 (en) | 2015-05-22 | 2016-11-29 | Sandisk Technologies Llc | Hierarchical FTL mapping optimized for workload |
KR20170002866A (ko) | 2015-06-30 | 2017-01-09 | 전자부품연구원 | 분산 환경에서 사용자 애플리케이션의 액세스 특성에 따른 적응형 캐시 관리 방법 |
KR102403253B1 (ko) | 2015-07-06 | 2022-05-30 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 스토리지 장치 |
TWI575374B (zh) * | 2015-08-04 | 2017-03-21 | 群聯電子股份有限公司 | 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元 |
KR102501751B1 (ko) | 2015-09-22 | 2023-02-20 | 삼성전자주식회사 | 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법 |
KR101631039B1 (ko) | 2015-11-30 | 2016-06-24 | (주)클로닉스 | 컴퓨터 시스템의 운영체제 및 데이터 중 불필요한 파일은 제외하는 마이그레이션 시스템 및 방법 |
KR20170081118A (ko) * | 2015-12-30 | 2017-07-11 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치를 액세스하는 액세스 방법 |
TWI599880B (zh) | 2016-03-22 | 2017-09-21 | 威盛電子股份有限公司 | 非揮發性記憶體裝置及其操作方法 |
TWI592799B (zh) | 2016-07-01 | 2017-07-21 | 群聯電子股份有限公司 | 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置 |
KR101867487B1 (ko) | 2016-12-23 | 2018-07-18 | 경희대학교 산학협력단 | 클라우드 환경에서 퍼지기반의 마이그레이션 시스템 및 방법 |
KR102781499B1 (ko) | 2017-02-06 | 2025-03-17 | 삼성전자주식회사 | 손상된 메타 데이터를 처리하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
US10459636B2 (en) | 2017-03-24 | 2019-10-29 | Sandisk Technologies Llc | System and method for managing data in non-volatile memory systems having multiple mapping layers |
KR20180123265A (ko) | 2017-05-08 | 2018-11-16 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
JP6818666B2 (ja) | 2017-09-20 | 2021-01-20 | キオクシア株式会社 | メモリシステム |
KR20190040614A (ko) * | 2017-10-11 | 2019-04-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
US10558393B2 (en) * | 2017-10-20 | 2020-02-11 | Qualcomm Incorporated | Controller hardware automation for host-aware performance booster |
TWI647566B (zh) | 2018-01-19 | 2019-01-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
US10496548B2 (en) | 2018-02-07 | 2019-12-03 | Alibaba Group Holding Limited | Method and system for user-space storage I/O stack with user-space flash translation layer |
US10579538B2 (en) * | 2018-02-21 | 2020-03-03 | Western Digital Technologies, Inc. | Predicting addresses in non-volatile storage |
US10929285B2 (en) | 2018-02-27 | 2021-02-23 | Western Digital Technologies, Inc. | Storage system and method for generating a reverse map during a background operation and storing it in a host memory buffer |
CN110413199B (zh) | 2018-04-28 | 2023-02-21 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机可读存储介质 |
US10846183B2 (en) | 2018-06-11 | 2020-11-24 | Dell Products, L.P. | Method and apparatus for ensuring data integrity in a storage cluster with the use of NVDIMM |
US10725941B2 (en) * | 2018-06-30 | 2020-07-28 | Western Digital Technologies, Inc. | Multi-device storage system with hosted services on peer storage devices |
US10409511B1 (en) * | 2018-06-30 | 2019-09-10 | Western Digital Technologies, Inc. | Multi-device storage system with distributed read/write processing |
US10635599B2 (en) * | 2018-07-26 | 2020-04-28 | Sandisk Technologies Llc | Memory controller assisted address mapping |
US10897417B2 (en) | 2018-09-19 | 2021-01-19 | Amazon Technologies, Inc. | Automated route propagation among networks attached to scalable virtual traffic hubs |
TWI693516B (zh) | 2018-11-13 | 2020-05-11 | 群聯電子股份有限公司 | 映射表更新方法、記憶體控制電路單元與記憶體儲存裝置 |
US10983918B2 (en) | 2018-12-31 | 2021-04-20 | Micron Technology, Inc. | Hybrid logical to physical caching scheme |
KR102803739B1 (ko) | 2019-04-02 | 2025-05-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
US11237953B2 (en) | 2019-05-21 | 2022-02-01 | Micron Technology, Inc. | Host device physical address encoding |
US10908834B2 (en) | 2019-06-28 | 2021-02-02 | Hitachi, Ltd. | Load balancing for scalable storage system |
-
2019
- 2019-04-22 KR KR1020190046914A patent/KR102807315B1/ko active Active
-
2020
- 2020-01-03 US US16/733,867 patent/US11354250B2/en active Active
- 2020-02-26 CN CN202010120143.1A patent/CN111831215A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140215129A1 (en) * | 2013-01-28 | 2014-07-31 | Radian Memory Systems, LLC | Cooperative flash memory control |
US20170192902A1 (en) * | 2015-12-30 | 2017-07-06 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory device and controller, operating method of storage device, and method for accessing storage device |
US20190004944A1 (en) * | 2017-06-29 | 2019-01-03 | Western Digital Technologies, Inc. | System and method for host system memory translation |
US20190102291A1 (en) * | 2017-09-29 | 2019-04-04 | Shannon Systems Ltd. | Data storage device and method for operating non-volatile memory |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022203238A1 (ko) * | 2021-03-24 | 2022-09-29 | 삼성전자 주식회사 | 스토리지를 포함하는 전자 장치 및 그 방법 |
US12235758B2 (en) | 2021-03-24 | 2025-02-25 | Samsung Electronics Co., Ltd. | Electronic device including storage and method of processing data request using mapping information stored in non-volatile memory loaded into volatile memory |
Also Published As
Publication number | Publication date |
---|---|
US20200334167A1 (en) | 2020-10-22 |
US11354250B2 (en) | 2022-06-07 |
CN111831215A (zh) | 2020-10-27 |
KR102807315B1 (ko) | 2025-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20210027642A (ko) | 메모리 시스템에서 맵 정보를 전송하는 방법 및 장치 | |
KR102807315B1 (ko) | 메모리 시스템에서 맵 정보를 전송하는 장치 | |
KR102691776B1 (ko) | 메모리 시스템에서 멀티 스트림 동작을 제공하는 방법 및 장치 | |
KR102787772B1 (ko) | 슬립모드에서 메모리 시스템의 내부데이터를 전송하는 장치 및 방법 | |
KR102749350B1 (ko) | 메모리 시스템에서 맵정보 및 리드카운트를 전송하는 장치 및 방법 | |
KR20200033625A (ko) | 메모리 시스템에서의 유효 데이터 체크 방법 및 장치 | |
KR20200100956A (ko) | 메모리 시스템의 맵 데이터 관리 방법 및 장치 | |
KR20210157537A (ko) | 메모리 시스템 및 그의 동작 방법 | |
US11281574B2 (en) | Apparatus and method for processing different types of data in memory system | |
KR20210011216A (ko) | 메모리 시스템의 메타 데이터 관리 방법 및 장치 | |
KR20210030599A (ko) | 데이터를 분산 리드할 수 있는 메모리 시스템 및 메모리 시스템의 동작방법 | |
US20200310968A1 (en) | Apparatus and method for transmitting garbage collection status information in a memory system | |
CN111506257A (zh) | 用于在存储器系统中传输映射信息的装置和方法 | |
KR20230081505A (ko) | 메모리 컨트롤러 및 그의 동작 방법 | |
KR20210012641A (ko) | 메모리 시스템, 데이터 시스템 및 그 동작방법 | |
KR20200125262A (ko) | 메모리 시스템, 데이터 시스템 및 그 동작방법 | |
KR102653235B1 (ko) | 메모리 블록을 효율적으로 관리할 수 있는 메모리 시스템 및 메모리 시스템의 동작방법 | |
US20220012180A1 (en) | Memory system for meta data management and operating method of memory system | |
KR102825022B1 (ko) | 메모리 시스템에서 맵정보를 전송하는 장치 | |
US11663139B2 (en) | Apparatus for transmitting map information in memory system | |
KR102837223B1 (ko) | 메모리 시스템 내에서 서로 다른 종류의 데이터를 처리하기 위한 장치 및 방법 | |
KR20210023184A (ko) | 런타임 오버레이를 통해 펌웨어를 관리하는 장치 및 방법 | |
KR20210063814A (ko) | 메모리 시스템의 리드 동작 방법 및 장치 | |
KR20220048080A (ko) | 메모리 시스템에서의 데이터 전달장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20190422 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20220406 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20190422 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: 20250206 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: 20250506 |
|
PG1601 | Publication of registration |