KR102403266B1 - 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 - Google Patents
데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 Download PDFInfo
- Publication number
- KR102403266B1 KR102403266B1 KR1020150088469A KR20150088469A KR102403266B1 KR 102403266 B1 KR102403266 B1 KR 102403266B1 KR 1020150088469 A KR1020150088469 A KR 1020150088469A KR 20150088469 A KR20150088469 A KR 20150088469A KR 102403266 B1 KR102403266 B1 KR 102403266B1
- Authority
- KR
- South Korea
- Prior art keywords
- controller
- data
- nonvolatile memory
- logical address
- memory
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
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)
- Read Only Memory (AREA)
Abstract
Description
도 1은 본 발명의 일 실시 예에 따른 데이터 처리 시스템을 나타내는 블록도이다.
도 2는 도 1에 도시된 데이터 저장 장치의 구체적인 블록도이다.
도 3은 도 2에 도시된 제1클러스터의 실시 예를 나타내는 블록도이다.
도 4는 도 3에 도시된 제1스케일-아웃 장치의 개략도이다.
도 5는 도 4에 도시된 제1스케일-아웃 장치의 반도체 패키지의 실시 예이다.
도 6은 도 1에 도시된 컨트롤러와 제1스케일-아웃 저장 장치를 포함하는 반도체 패키지의 실시 예이다.
도 7은 도 4에 도시된 제1스케일-아웃 컨트롤러의 블록도이다.
도 8a는 도 1에 도시된 데이터 처리 시스템의 작동을 설명하기 위한 블록도이다.
도 8b는 논리 어드레스 스왑 작동을 수행하는 도 1에 도시된 데이터 처리 시스템의 작동을 설명하기 위한 블록도이다.
도 9는 본 발명의 일 실시 예에 따른 스왑 매핑 테이블 업데이트 작동을 설명하기 위한 플로우이다.
도 10은 본 발명의 다른 실시 예에 따른 스왑 매핑 테이블 업데이트 작동을 설명하기 위한 플로우이다.
도 11은 논리 어드레스 스왑 작동을 위한 스왑 매핑 테이블의 일 실시 예이다.
도 12는 논리 어드레스, 물리 어드레스, 및 글로벌 논리 어드레스의 관계를 설명하는 개념도이다.
도 13은 도 8b에 도시된 데이터 저장 장치의 데이터 스왑 작동을 설명하는 개념도이다.
도 14는 논리 어드레스 스왑 작동을 위한 스왑 매핑 테이블의 다른 실시 예이다.
도 15는 스왑 매핑 테이블이 스케일-아웃 저장 장치에 포함될 때, 데이터 저장 장치의 작동을 설명하는 개념도이다.
도 16은 본 발명의 다른 실시 예에 따른 데이터 처리 시스템을 나타내는 블록도이다.
도 17은 본 발명의 또 다른 실시 예에 따른 데이터 처리 시스템을 나타내는 블록도이다.
도 18은 도 8a 또는 도 8b에 도시된 데이터 저장 장치의 작동을 설명하는 플로우 차트이다.
200: 호스트
300: 데이터 저장 장치
310: 컨트롤러
400: 메모리 클러스터
410, 430, 및 450: 클러스터
410-1, 410-2. 410-4: 스케일-아웃 저장 장치, 멀티 칩 셋
410-1A, 410-2A, 410-4A: 스케일-아웃 장치
411-1, 411-2, 411-4, 431-1: 스케일-아웃 컨트롤러, 코어
Claims (20)
- 제1휘발성 메모리, 제1불휘발성 메모리, 및 상기 제1휘발성 메모리와 상기 제1불휘발성 메모리를 제어하고, 상기 제1불휘발성 메모리에 포함된 저장 영역들 각각의 웨어 카운트와 기준 웨어-아웃 카운트를 비교하는 제1코어를 포함하는 제1멀티 칩 셋;
제2휘발성 메모리, 제2불휘발성 메모리, 및 상기 제2휘발성 메모리와 상기 제2불휘발성 메모리를 제어하는 제2코어를 포함하는 제2멀티 칩 셋;
제3휘발성 메모리, 제3불휘발성 메모리, 및 상기 제3휘발성 메모리와 상기 제3불휘발성 메모리를 제어하는 제3코어를 포함하는 제3멀티 칩 셋;
상기 제1멀티 칩 셋과 상기 제2멀티 칩 셋과 연결되고, 상기 비교 결과에 기반하여 상기 제1불휘발성 메모리에 포함된 제1저장 영역이 상기 기준 웨어-아웃 카운트보다 높은 웨어 카운트를 가지는 경우, 상기 제1불휘발성 메모리에 포함된 상기 제1저장 영역에 대한 제1논리 어드레스와 상기 제2불휘발성 메모리에 포함된 제2저장 영역에 대한 제2논리 어드레스를 스왑(swap)하는 컨트롤러; 및
상기 컨트롤러에 의하여 서로 스왑된 상기 제1논리 어드레스와 상기 제2논리 어드레스를 포함하는 테이블을 저장하는 메모리를 포함하되,
상기 컨트롤러는 호스트로부터 상기 제1논리 어드레스를 수신하고, 상기 테이블을 참조하여 상기 스왑된 제2논리 어드레스를 상기 제2멀티 칩 셋으로 전송하고,
상기 제1불휘발성 메모리 및 상기 제3불휘발성 메모리는 사용자 데이터를 저장하고, 상기 제2불휘발성 메모리는 오버프로비져닝(overprovisioning) 영역인 데이터 저장 장치. - 제1항에 있어서,
상기 컨트롤러는 상기 제1저장 영역에 저장된 제1데이터와 상기 제2저장 영역에 저장된 제2데이터를 스왑하는 데이터 저장 장치. - 제1항에 있어서,
상기 제1저장 영역의 웨어 카운트는 상기 제2저장 영역의 웨어 카운트보다 높은 데이터 저장 장치. - 제3항에 있어서,
상기 웨어 카운트는 이레이즈 카운트, 프로그램 카운트, 리드 카운트, 배드 블록 발생 횟수, 및 리드 에러 발생 횟수 중 적어도 하나에 기반하는 데이터 저장 장치. - 제1항에 있어서,
상기 제1저장 영역은 핫 데이터 및 콜드 데이터 중에서 어느 하나를 저장하기 위한 영역이고,
상기 제2저장 영역은 상기 핫 데이터 및 상기 콜드 데이터 중에서 다른 하나를 저장하는 영역인 데이터 저장 장치. - 제1항에 있어서,
상기 제1휘발성 메모리 및 상기 제1코어는 제1반도체 패키지에 포함되고, 상기 제2휘발성 메모리 및 상기 제2코어는 제2반도체 패키지에 포함되는 데이터 저장 장치. - 제1항에 있어서,
상기 컨트롤러는 상기 컨트롤러의 제1요청에 따라 상기 제1코어로부터 제1채널을 통하여 제1논리 어드레스를 수신하고, 상기 컨트롤러의 제2요청에 따라 상기 제2코어로부터 제2채널을 통하여 제2논리 어드레스를 수신하는 데이터 저장 장치. - 제1항에 있어서,
상기 제1휘발성 메모리와 상기 제2휘발성 메모리 각각은 DRAM이고,
상기 제1불휘발성 메모리와 상기 제2불휘발성 메모리 각각은 플래시 메모리이고,
상기 데이터 저장 장치는 솔리드 스테이트 드라이브(SSD)인 데이터 저장 장치. - 제1항에 있어서,
상기 컨트롤러는 상기 비교 결과에 기반하여 상기 제3불휘발성 메모리의 제3저장 영역이 상기 기준 웨어-아웃 카운트보다 높은 웨어 카운트를 가지는 경우, 상기 제3불휘발성 메모리의 상기 제3저장 영역의 제3논리 어드레스와 상기 제2불휘발성 메모리의 상기 제2저장 영역의 상기 제2논리 어드레스를 스왑하는 데이터 저장 장치. - 제1휘발성 메모리, 제1불휘발성 메모리, 및 상기 제1휘발성 메모리와 상기 제1불휘발성 메모리를 제어하는 제1코어를 포함하는 제1멀티 칩 셋 및 제2휘발성 메모리, 제2불휘발성 메모리, 및 상기 제2휘발성 메모리와 상기 제2불휘발성 메모리를 제어하는 제2코어를 포함하는 제2멀티 칩 셋을 포함하는 데이터 저장 장치의 동작 방법에 있어서:
호스트로부터 제1논리 어드레스 및 데이터를 가지는 프로그램 요청을 수신하는 단계;
상기 제1코어에 의하여, 상기 제1불휘발성 메모리에 포함된 저장 영역들 각각의 웨어 카운트와 기준 웨어-아웃 카운트를 비교하고, 상기 저장 영역들 각각의 상기 웨어 카운트가 상기 기준 웨어-아웃 카운트보다 높은지 여부를 결정하는 단계; 및
컨트롤러에 의하여, 상기 비교 결과에 기반하여 상기 제1불휘발성 메모리에 포함된 제1저장 영역이 상기 기준 웨어-아웃 카운트보다 높은 웨어 카운트를 가지는 경우, 상기 제1불휘발성 메모리에 포함된 상기 제1저장 영역의 제1로직 어드레스와 상기 제2불휘발성 메모리에 포함된 제2저장 영역의 제2로직 어드레스를 스왑(swap)하는 단계를 포함하는 데이터 저장 장치의 동작 방법. - 제10항에 있어서,
상기 컨트롤러는 상기 제2불휘발성 메모리에 포함된 상기 제2저장 영역에 데이터를 제공하는 데이터 저장 장치의 동작 방법. - 제10항에 있어서,
상기 컨트롤러에 의하여 스왑된 상기 제1로직 어드레스 및 상기 제2로직 어드레스를 포함하는 테이블을 메모리에 저장하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법. - 제12항에 있어서,
상기 컨트롤러는 상기 테이블을 참조하여 스왑된 상기 제2로직 어드레스를 상기 제 2 멀티 칩 셋으로 전송하는 데이터 저장 장치의 동작 방법. - 제10항에 있어서,
상기 웨어 카운트는 이레이즈 카운트, 프로그램 카운트, 리드 카운트, 배드 블록 발생 횟수, 및 리드 에러 발생 횟수 중 적어도 하나에 기반하는 데이터 저장 장치의 동작 방법. - 제10항에 있어서,
상기 제1저장 영역은 핫 데이터 및 콜드 데이터 중에서 어느 하나를 저장하기 위한 영역이고,
상기 제2저장 영역은 상기 핫 데이터 및 상기 콜드 데이터 중에서 다른 하나를 저장하는 영역이고,
상기 핫 데이터는 상기 콜드 데이터에 비하여 더 빈번하게 액세스되는 데이터 저장 장치의 동작 방법. - 제10항에 있어서,
상기 제1휘발성 메모리 및 상기 제1코어는 제1반도체 패키지에 포함되고,
상기 제2휘발성 메모리 및 상기 제2코어는 제2반도체 패키지에 포함되는 데이터 저장 장치의 동작 방법. - 제16항에 있어서,
상기 제1반도체 패키지 및 제2반도체 패키지 각각은 멀티-칩 패키지(MCP)인 데이터 저장 장치의 동작 방법. - 제10항에 있어서,
상기 제1멀티 칩 셋 및 상기 컨트롤러는 하나의 반도체 패키지로 구현되는 데이터 저장 장치의 동작 방법. - 제18항에 있어서,
상기 반도체 패키지는 임베디드 패키지 온 패키지(embedded Package On Package)인 데이터 저장 장치의 동작 방법. - 제1휘발성 메모리, 제1불휘발성 메모리, 및 상기 제1휘발성 메모리와 상기 제1불휘발성 메모리를 제어하고, 상기 제1불휘발성 메모리에 포함된 저장 영역들 각각의 웨어 카운트와 기준 웨어-아웃 카운트를 비교하는 제1코어를 포함하는 제1멀티 칩 셋;
제2휘발성 메모리, 제2불휘발성 메모리, 및 상기 제2휘발성 메모리와 상기 제2불휘발성 메모리를 제어하고, 상기 제2불휘발성 메모리에 포함된 저장 영역들 각각의 웨어 카운트와 상기 기준 웨어-아웃 카운트를 비교하는 제2코어를 포함하는 제2멀티 칩 셋;
제3휘발성 메모리, 제3불휘발성 메모리, 및 상기 제3휘발성 메모리와 상기 제3불휘발성 메모리를 제어하는 제3코어를 포함하는 제3멀티 칩 셋;
상기 제1멀티 칩 셋, 상기 제2멀티 칩 셋 및 상기 제3멀티 칩 셋과 연결되고, 상기 비교 결과에 기반하여 상기 제1불휘발성 메모리에 포함된 제1저장 영역이 상기 기준 웨어-아웃 카운트보다 높은 웨어 카운트를 가지고 상기 제2불휘발성 메모리에 포함된 제2저장 영역이 상기 기준 웨어-아웃 카운트보다 낮은 웨어 카운트를 가지는 경우, 상기 제1불휘발성 메모리에 포함된 상기 제1저장 영역의 제1논리 어드레스와 상기 제2불휘발성 메모리에 포함된 상기 제2저장 영역의 제2논리 어드레스를 스왑(swap)하는 컨트롤러; 및
상기 컨트롤러에 의하여 서로 스왑된 상기 제1논리 어드레스와 상기 제2논리 어드레스를 포함하는 테이블을 저장하는 메모리를 포함하되,
상기 컨트롤러는 호스트로부터 제1논리 어드레스를 수신하고, 상기 테이블을 참조하여 상기 스왑된 제2논리 어드레스를 상기 제2멀티 칩 셋으로 전송하고,
상기 제1불휘발성 메모리 및 제2불휘발성 메모리는 사용자 데이터를 저장하고, 상기 제3불휘발성 메모리는 오버프로비져닝(overprovisioning) 영역인 데이터 저장 장치.
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020150088469A KR102403266B1 (ko) | 2015-06-22 | 2015-06-22 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
| US15/083,477 US9977610B2 (en) | 2015-06-22 | 2016-03-29 | Data storage device to swap addresses and operating method thereof |
| CN201610457023.4A CN106294194B (zh) | 2015-06-22 | 2016-06-22 | 数据存储装置和具有该数据存储装置的数据处理系统 |
| US15/956,345 US10579279B2 (en) | 2015-06-22 | 2018-04-18 | Data storage device and data processing system having the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020150088469A KR102403266B1 (ko) | 2015-06-22 | 2015-06-22 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20160150451A KR20160150451A (ko) | 2016-12-30 |
| KR102403266B1 true KR102403266B1 (ko) | 2022-05-27 |
Family
ID=57588121
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020150088469A Active KR102403266B1 (ko) | 2015-06-22 | 2015-06-22 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
Country Status (3)
| Country | Link |
|---|---|
| US (2) | US9977610B2 (ko) |
| KR (1) | KR102403266B1 (ko) |
| CN (1) | CN106294194B (ko) |
Families Citing this family (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102639670B1 (ko) * | 2016-06-30 | 2024-02-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
| US10289544B2 (en) * | 2016-07-19 | 2019-05-14 | Western Digital Technologies, Inc. | Mapping tables for storage devices |
| US10156996B2 (en) * | 2016-09-06 | 2018-12-18 | Toshiba Memory Corporation | Memory device and read processing method using read counts, first, second, and third addresses |
| CN107608624A (zh) * | 2017-08-11 | 2018-01-19 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘性能的方法 |
| US10446243B2 (en) * | 2017-12-18 | 2019-10-15 | Macronix International Co., Ltd. | Storage device and associated control method to determine target memory blocks for probe operation |
| KR20190107504A (ko) * | 2018-03-12 | 2019-09-20 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
| KR102586741B1 (ko) * | 2018-04-23 | 2023-10-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
| KR102545189B1 (ko) | 2018-09-07 | 2023-06-19 | 삼성전자주식회사 | 스토리지 장치, 스토리지 시스템 및 스토리지 장치의 동작 방법 |
| KR102590439B1 (ko) * | 2018-10-01 | 2023-10-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
| KR20200042780A (ko) * | 2018-10-16 | 2020-04-24 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
| KR20200085522A (ko) | 2019-01-07 | 2020-07-15 | 에스케이하이닉스 주식회사 | 이종 메모리를 갖는 메인 메모리 장치, 이를 포함하는 컴퓨터 시스템 및 그것의 데이터 관리 방법 |
| KR102842450B1 (ko) * | 2019-04-16 | 2025-08-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 내 복수의 메모리 블록의 특성을 결정하는 방법 및 장치 |
| CN110045992B (zh) * | 2019-04-24 | 2020-03-13 | 北京翼辉信息技术有限公司 | 一种适用于多核板卡的通用系统及方法 |
| KR102322727B1 (ko) | 2019-07-29 | 2021-11-05 | 에스케이하이닉스 주식회사 | 데이터 스왑을 위한 메모리 시스템 및 그 동작방법 |
| KR20210025344A (ko) * | 2019-08-27 | 2021-03-09 | 에스케이하이닉스 주식회사 | 이종 메모리를 갖는 메인 메모리 장치, 이를 포함하는 컴퓨터 시스템, 그것의 데이터 관리 방법 |
| KR20210115954A (ko) | 2020-03-17 | 2021-09-27 | 에스케이하이닉스 주식회사 | 컨트롤러 및 메모리 시스템 |
| KR20210121696A (ko) * | 2020-03-31 | 2021-10-08 | 에스케이하이닉스 주식회사 | 컨트롤러 및 메모리 시스템 |
| US11416163B2 (en) * | 2020-04-09 | 2022-08-16 | SK Hynix Inc. | Systems and methods for dynamic logical block address distribution between multicores |
| KR20210126925A (ko) * | 2020-04-13 | 2021-10-21 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 |
| KR20210142477A (ko) | 2020-05-18 | 2021-11-25 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
| KR20220049842A (ko) | 2020-10-15 | 2022-04-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
| KR20220075936A (ko) * | 2020-11-30 | 2022-06-08 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
| KR20230048747A (ko) | 2021-10-05 | 2023-04-12 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
| CN114003516B (zh) * | 2021-12-30 | 2022-05-10 | 深圳市吉方工控有限公司 | 一种bios设置存为缺省值的方法、系统、设备及存储介质 |
| KR20230135279A (ko) * | 2022-03-16 | 2023-09-25 | 삼성전자주식회사 | 스토리지 장치, 및 스토리지 장치의 구동 방법 |
| KR20240012721A (ko) | 2022-07-21 | 2024-01-30 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그것을 포함하는 메모리 시스템 |
| KR20240062217A (ko) | 2022-10-28 | 2024-05-09 | 에스케이하이닉스 주식회사 | 글로벌 웨어-레벨링을 수행하는 스토리지 장치, 컨트롤러 및 그 방법 |
| US12147670B2 (en) | 2023-01-09 | 2024-11-19 | Silicon Motion, Inc. | Method and apparatus for performing data access management of memory device in predetermined communications architecture with aid of unbalanced table regions |
| US12117932B2 (en) | 2023-01-09 | 2024-10-15 | Silicon Motion, Inc. | Method and apparatus for performing data access management of memory device in predetermined communications architecture with aid of unbalanced table update |
| US12130743B2 (en) | 2023-01-09 | 2024-10-29 | Silicon Motion, Inc. | Method and apparatus for performing data access management of memory device in predetermined communications architecture with aid of unbalanced table search |
| CN119690335A (zh) * | 2024-11-25 | 2025-03-25 | 联和存储科技(江苏)有限公司 | Nand flash坏块的管理方法、系统、装置和闪存 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090157947A1 (en) | 2007-12-14 | 2009-06-18 | Silicon Motion, Inc. | Memory Apparatus and Method of Evenly Using the Blocks of a Flash Memory |
| US20100023800A1 (en) | 2005-09-26 | 2010-01-28 | Eliyahou Harari | NAND Flash Memory Controller Exporting a NAND Interface |
| US20140143474A1 (en) | 2012-11-21 | 2014-05-22 | Prashant S. Damle | Flexible wear management for non-volatile memory |
| US20150095546A1 (en) | 2013-10-02 | 2015-04-02 | Alan Bennett | System and method for bank logical data remapping |
| US20150149728A1 (en) | 2013-11-28 | 2015-05-28 | SK Hynix Inc. | Semiconductor device and operating method thereof |
Family Cites Families (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
| US20070156587A1 (en) * | 2000-01-06 | 2007-07-05 | Super Talent Electronics Inc. | Content Protection Using Encryption Key Embedded with Content File |
| US8171204B2 (en) | 2000-01-06 | 2012-05-01 | Super Talent Electronics, Inc. | Intelligent solid-state non-volatile memory device (NVMD) system with multi-level caching of multiple channels |
| KR100845137B1 (ko) | 2006-10-02 | 2008-07-09 | 삼성전자주식회사 | 메모리 장치의 배드 블록 주소를 번역하는 방법, 메모리장치의 배드 블록 주소를 번역하는 장치 및 이를 포함하는메모리 장치 컨트롤러 |
| US8429352B2 (en) | 2007-06-08 | 2013-04-23 | Sandisk Technologies Inc. | Method and system for memory block flushing |
| 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 |
| CN101382918B (zh) * | 2008-07-26 | 2011-06-22 | 深圳市硅格半导体有限公司 | 一种基于数据交换区的NAND Flash闪存优化管理方法 |
| KR101155566B1 (ko) | 2008-12-01 | 2012-06-19 | 한국전자통신연구원 | 공간 데이터의 페이지 매핑 방법 |
| US20100174845A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
| US20110041005A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System |
| US20110041039A1 (en) * | 2009-08-11 | 2011-02-17 | Eliyahou Harari | Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device |
| US20110040924A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code |
| US8601202B1 (en) * | 2009-08-26 | 2013-12-03 | Micron Technology, Inc. | Full chip wear leveling in memory device |
| KR101086876B1 (ko) | 2009-09-30 | 2011-11-25 | 주식회사 하이닉스반도체 | 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법 |
| EP2507710B1 (en) | 2009-11-30 | 2018-10-31 | Hewlett-Packard Enterprise Development LP | Remapping for memory wear leveling |
| US8443263B2 (en) * | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
| US8595411B2 (en) * | 2009-12-30 | 2013-11-26 | Sandisk Technologies Inc. | Method and controller for performing a sequence of commands |
| CN102201259A (zh) * | 2010-03-24 | 2011-09-28 | 建兴电子科技股份有限公司 | 非易失性存储器的平均抹写方法 |
| US8838935B2 (en) * | 2010-09-24 | 2014-09-16 | Intel Corporation | Apparatus, method, and system for implementing micro page tables |
| KR101736384B1 (ko) * | 2010-09-29 | 2017-05-16 | 삼성전자주식회사 | 비휘발성 메모리 시스템 |
| CN102955743A (zh) * | 2011-08-25 | 2013-03-06 | 建兴电子科技股份有限公司 | 固态储存装置及其损耗平均控制方法 |
| US9251056B2 (en) * | 2012-06-01 | 2016-02-02 | Macronix International Co., Ltd. | Bucket-based wear leveling method and apparatus |
| US9678863B2 (en) * | 2012-06-12 | 2017-06-13 | Sandisk Technologies, Llc | Hybrid checkpointed memory |
| US20140173178A1 (en) | 2012-12-19 | 2014-06-19 | Apple Inc. | Joint Logical and Physical Address Remapping in Non-volatile Memory |
| US20140189211A1 (en) | 2012-12-31 | 2014-07-03 | Sandisk Enterprise Ip Llc | Remapping Blocks in a Storage Device |
| US9021187B2 (en) | 2013-01-29 | 2015-04-28 | Sandisk Technologies Inc. | Logical block address remapping |
| CN103279448A (zh) * | 2013-04-24 | 2013-09-04 | 南京龙渊微电子科技有限公司 | 基于数据缓存重配置的多核间数据交换方法及装置 |
| KR102088403B1 (ko) * | 2013-08-08 | 2020-03-13 | 삼성전자 주식회사 | 저장장치, 이를 포함하는 컴퓨터 시스템 및 이의 동작 방법 |
| US9195590B2 (en) * | 2013-08-29 | 2015-11-24 | Micron Technology, Inc. | Sub-sector wear leveling in memories |
| US9710198B2 (en) * | 2014-05-07 | 2017-07-18 | Sandisk Technologies Llc | Method and computing device for controlling bandwidth of swap operations |
| US20150324132A1 (en) * | 2014-05-07 | 2015-11-12 | Sandisk Technologies Inc. | Method and Computing Device for Fast Erase of Swap Memory |
| US9928169B2 (en) * | 2014-05-07 | 2018-03-27 | Sandisk Technologies Llc | Method and system for improving swap performance |
| US9665296B2 (en) * | 2014-05-07 | 2017-05-30 | Sandisk Technologies Llc | Method and computing device for using both volatile memory and non-volatile swap memory to pre-load a plurality of applications |
| US9633233B2 (en) * | 2014-05-07 | 2017-04-25 | Sandisk Technologies Llc | Method and computing device for encrypting data stored in swap memory |
| JP2016170703A (ja) * | 2015-03-13 | 2016-09-23 | 富士通株式会社 | 記憶装置、記憶装置の制御方法、及び情報処理システム |
| US9971685B2 (en) * | 2016-04-01 | 2018-05-15 | Intel Corporation | Wear leveling based on a swapping operation between sets of physical block addresses of a non-volatile memory |
-
2015
- 2015-06-22 KR KR1020150088469A patent/KR102403266B1/ko active Active
-
2016
- 2016-03-29 US US15/083,477 patent/US9977610B2/en active Active
- 2016-06-22 CN CN201610457023.4A patent/CN106294194B/zh active Active
-
2018
- 2018-04-18 US US15/956,345 patent/US10579279B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100023800A1 (en) | 2005-09-26 | 2010-01-28 | Eliyahou Harari | NAND Flash Memory Controller Exporting a NAND Interface |
| US20090157947A1 (en) | 2007-12-14 | 2009-06-18 | Silicon Motion, Inc. | Memory Apparatus and Method of Evenly Using the Blocks of a Flash Memory |
| US20140143474A1 (en) | 2012-11-21 | 2014-05-22 | Prashant S. Damle | Flexible wear management for non-volatile memory |
| US20150095546A1 (en) | 2013-10-02 | 2015-04-02 | Alan Bennett | System and method for bank logical data remapping |
| US20150149728A1 (en) | 2013-11-28 | 2015-05-28 | SK Hynix Inc. | Semiconductor device and operating method thereof |
Also Published As
| Publication number | Publication date |
|---|---|
| US9977610B2 (en) | 2018-05-22 |
| CN106294194A (zh) | 2017-01-04 |
| KR20160150451A (ko) | 2016-12-30 |
| US20160371019A1 (en) | 2016-12-22 |
| CN106294194B (zh) | 2022-03-18 |
| US10579279B2 (en) | 2020-03-03 |
| US20180239542A1 (en) | 2018-08-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102403266B1 (ko) | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 | |
| US11182078B2 (en) | Method of accessing a data storage device using a multi-access command | |
| US10534560B2 (en) | Data storage device and data processing system having the same | |
| US9996282B2 (en) | Method of operating data storage device and method of operating system including the same | |
| US11287978B2 (en) | Data storage devices, having scale-out devices to map and control groups on non-volatile memory devices | |
| KR102258126B1 (ko) | 메모리 컨트롤러의 작동 방법, 이를 포함하는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템 | |
| KR20170106752A (ko) | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 | |
| US10114550B2 (en) | Data storage device and data processing system including the data storage device | |
| US20160291869A1 (en) | Data storage device and data processing system including the same | |
| US10466938B2 (en) | Non-volatile memory system using a plurality of mapping units and operating method thereof | |
| KR102397582B1 (ko) | 데이터 저장 장치, 이를 포함하는 데이터 처리 시스템, 및 이의 작동 방법 | |
| US10416886B2 (en) | Data storage device that reassigns commands assigned to scale-out storage devices and data processing system having the same | |
| US10331366B2 (en) | Method of operating data storage device and method of operating system including the same | |
| US20170031633A1 (en) | Method of operating object-oriented data storage device and method of operating system including the same |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20150622 |
|
| PG1501 | Laying open of application | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20200429 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20150622 Comment text: Patent Application |
|
| 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: 20220224 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20220524 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20220525 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration |