KR20160150384A - 데이터 저장 장치 및 그것의 동작 방법 - Google Patents
데이터 저장 장치 및 그것의 동작 방법 Download PDFInfo
- Publication number
- KR20160150384A KR20160150384A KR1020150088285A KR20150088285A KR20160150384A KR 20160150384 A KR20160150384 A KR 20160150384A KR 1020150088285 A KR1020150088285 A KR 1020150088285A KR 20150088285 A KR20150088285 A KR 20150088285A KR 20160150384 A KR20160150384 A KR 20160150384A
- Authority
- KR
- South Korea
- Prior art keywords
- logical
- processor
- logical area
- entries
- write
- Prior art date
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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
-
- 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
- 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
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
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
데이터 저장 장치는 n개의 논리 존들 -상기 n개의 논리 존들 각각은 k개의 논리 영역들을 포함하고, 상기 n개의 논리 존들에 포함된 논리 영역들은 자신의 오프셋 값에 따라 k개의 논리 영역 그룹들로 그룹핑됨- 및 타겟 논리 영역에 대한 라이트 요청을 수신한 경우, 제1 테이블에서 상기 타겟 논리 영역을 포함하는 논리 존에 대응하는 제1 엔트리에 저장된 제1 액세스 횟수를 증가시키고, 제2 테이블에서 상기 타겟 논리 영역을 포함하는 논리 영역 그룹에 대응하는 제2 엔트리에 저장된 제2 액세스 횟수를 증가시키도록 구성된 프로세서를 포함한다.
Description
본 발명은 데이터 저장 장치에 관한 것으로, 더욱 상세하게는 데이터 저장 장치의 라이트 횟수 관리에 관한 것이다.
데이터 저장 장치는 외부 장치의 라이트 요청에 응답하여, 외부 장치로부터 제공된 데이터를 저장하도록 구성될 수 있다. 또한, 데이터 저장 장치는 외부 장치의 리드 요청에 응답하여, 저장된 데이터를 외부 장치로 제공하도록 구성될 수 있다. 외부 장치는 데이터를 처리할 수 있는 전자 장치로서, 컴퓨터, 디지털 카메라 또는 휴대폰 등을 포함할 수 있다. 데이터 저장 장치는 외부 장치에 내장되어 동작하거나, 분리 가능한 형태로 제작되어 외부 장치에 연결됨으로써 동작할 수 있다.
데이터 저장 장치는 PCMCIA(Personal Computer Memory Card International Association) 카드, CF(Compact Flash) 카드, 스마트 미디어 카드, 메모리 스틱, 다양한 멀티 미디어 카드(MMC, eMMC, RS-MMC, MMC-micro), SD(Secure Digital) 카드(SD, Mini-SD, Micro-SD), UFS(Universal Flash Storage) 또는 SSD(Solid State Drive) 등으로 구성될 수 있다.
데이터 저장 장치는 데이터를 저장하기 위해 불휘발성 메모리 장치를 포함할 수 있다. 불휘발성 메모리 장치는 전원이 인가되지 않더라도 저장된 데이터를 유지할 수 있다. 불휘발성 메모리 장치는 낸드 플래시(NAND Flash) 또는 노어 플래시(NOR Flash)와 같은 플래시 메모리 장치, FeRAM(Ferroelectrics Random Access Memory), PCRAM(Phase-Change Random Access Memory), MRAM(Magnetic Random Access Memory) 또는 ReRAM(Resistive Random Access Memory) 등을 포함할 수 있다.
본 발명의 실시 예는 제한된 메모리 용량에서 라이트 횟수를 효과적으로 관리하는 데이터 저장 장치를 제공하는 데 있다.
본 발명의 실시 예는 라이트 횟수에 근거하여 핫 데이터를 결정하고, 핫 데이터를 핫 메모리 영역에 저장하는 데이터 저장 장치를 제공하는 데 있다.
본 발명의 실시 예에 따른 데이터 저장 장치는 n개의 논리 존들-상기 n개의 논리 존들 각각은 k개의 논리 영역들을 포함하고, 상기 n개의 논리 존들에 포함된 논리 영역들은 자신의 오프셋 값에 따라 k개의 논리 영역 그룹들로 그룹핑됨- 및 타겟 논리 영역에 대한 라이트 요청을 수신한 경우, 제1 테이블에서 상기 타겟 논리 영역을 포함하는 논리 존에 대응하는 제1 엔트리에 저장된 제1 액세스 횟수를 증가시키고, 제2 테이블에서 상기 타겟 논리 영역을 포함하는 논리 영역 그룹에 대응하는 제2 엔트리에 저장된 제2 액세스 횟수를 증가시키도록 구성된 프로세서를 포함할 수 있다.
본 발명의 실시 예에 따른 데이터 저장 장치의 동작 방법은 복수의 논리 존들을 포함하되 상기 복수의 논리 존들 각각은 복수의 논리 영역들을 포함하고, 상기 복수의 논리 존들에 포함된 논리 영역들은 자신의 오프셋 값에 따라 복수의 논리 영역 그룹들로 그룹핑되는, 데이터 저장 장치의 동작 방법으로서, 타겟 논리 영역에 대한 라이트 요청을 수신하는 단계, 제1 테이블에서 상기 타겟 논리 영역을 포함하는 논리 존에 대응하는 엔트리에 저장된 제1 액세스 횟수를 증가시키는 단계 및 제2 테이블에서 상기 타겟 논리 영역을 포함하는 논리 영역 그룹에 대응하는 엔트리에 저장된 제2 액세스 횟수를 증가시키는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 데이터 저장 장치는 제한된 메모리 용량에서 라이트 횟수를 효과적으로 관리하고, 라이트 횟수에 근거하여 분류된 핫 데이터를 핫 메모리 영역에 저장할 수 있다.
도1은 본 발명의 실시 예에 따른 데이터 저장 장치를 도시한 블록도,
도2a 및 도2b는 논리 어드레스들에 근거하여 식별되는 논리 영역들,
도3a 및 도3b는 도1의 프로세서가 제1 및 제2 테이블들의 관리를 통해 라이트 요청된 데이터를 핫 데이터로 결정하는 방법을 설명하기 위한 도면들,
도4는 본 발명의 실시 예에 따른 데이터 저장 장치의 동작 방법을 도시한 순서도,
도5는 본 발명의 실시 예에 따른 데이터 저장 장치의 동작 방법을 도시한 순서도,
도6 내지 도8은 본 발명의 실시 예에 따른 데이터 저장 장치가 제1 및 제2 테이블들의 누적된 라이트 횟수들을 하향 조정하는 방법을 도시한 순서도들,
도9는 본 발명의 실시 예에 따른 데이터 저장 장치의 동작 방법을 도시한 순서도이다.
도2a 및 도2b는 논리 어드레스들에 근거하여 식별되는 논리 영역들,
도3a 및 도3b는 도1의 프로세서가 제1 및 제2 테이블들의 관리를 통해 라이트 요청된 데이터를 핫 데이터로 결정하는 방법을 설명하기 위한 도면들,
도4는 본 발명의 실시 예에 따른 데이터 저장 장치의 동작 방법을 도시한 순서도,
도5는 본 발명의 실시 예에 따른 데이터 저장 장치의 동작 방법을 도시한 순서도,
도6 내지 도8은 본 발명의 실시 예에 따른 데이터 저장 장치가 제1 및 제2 테이블들의 누적된 라이트 횟수들을 하향 조정하는 방법을 도시한 순서도들,
도9는 본 발명의 실시 예에 따른 데이터 저장 장치의 동작 방법을 도시한 순서도이다.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.
도1은 본 발명의 실시 예에 따른 데이터 저장 장치(100)를 도시한 블록도이다.
도1을 참조하면, 데이터 저장 장치(100)는 프로세서(110), 동작 메모리 장치(120) 및 불휘발성 메모리 장치(130)를 포함할 수 있다. 프로세서(110), 동작 메모리 장치(120) 및 불휘발성 메모리 장치(130)는 전송 라인(140)을 통해 신호 및 데이터를 주고받을 수 있다.
프로세서(110)는 데이터 저장 장치(100)의 제반 동작을 제어할 수 있다. 프로세서(110)는 외부 장치로부터 전송된 액세스 요청, 예를 들어, 라이트 요청 또는 리드 요청에 따라 데이터를 라이트하거나 리드하기 위해 불휘발성 메모리 장치(130)를 제어할 수 있다. 프로세서(110)는 불휘발성 메모리 장치(130)의 라이트 동작 또는 리드 동작을 제어하기 위해 불휘발성 메모리 장치(130)로 라이트 커맨드 또는 리드 커맨드를 전송할 수 있다. 프로세서(110)는 데이터 저장 장치(100)를 제어하기 위해 필요한 각종 프로그램 및 데이터들을 동작 메모리 장치(120)에 저장하고 사용할 수 있다.
프로세서(110)는 불휘발성 메모리 장치(130)에 포함된 메모리 영역들을 논리 어드레스들 및 물리 어드레스들에 기반하여 관리할 수 있다. 논리 어드레스는 외부 장치가 메모리 영역들을 식별하는 기준일 수 있다. 물리 어드레스는 데이터 저장 장치(100)가 메모리 영역들을 식별하는 기준으로서 메모리 영역의 실질적인 어드레스일 수 있다. 프로세서(110)는 외부 장치로부터 논리 어드레스에 대한 라이트 요청을 수신하면, 수신된 논리 어드레스에 데이터가 라이트되는 메모리 영역의 물리 어드레스를 맵핑시킬 수 있다. 또한, 불휘발성 메모리 장치(130)는 오버라이트를 할 수 없기 때문에, 프로세서(110)는 데이터 업데이트를 위해서 동일한 논리 어드레스에 대한 새로운 라이트 요청을 수신하면, 해당 논리 어드레스에 데이터가 업데이트되는 새로운 메모리 영역의 물리 어드레스를 새롭게 맵핑시킬 수 있다.
도2a 및 도2b는 논리 어드레스들에 근거하여 식별되는 논리 영역들(LZ0_0~LZn_k)을 도시한다. 즉, 논리 영역들(LZ0_0~LZn_k)은 서로 다른 논리 어드레스들과 각각 대응할 수 있다.
논리 영역들(LZ0_0~LZn_k)은 외부 장치에서 바라보는 불휘발성 메모리 장치(130)의 메모리 구조일 수 있다. 따라서, 논리 영역들(LZ0_0~LZn_k)은 불휘발성 메모리 장치(130)의 물리적인 메모리 영역들과 가변적으로 맵핑될 수 있다. 예를 들어, 논리 영역(LZ0_0)은 현재 저장된 데이터가 업데이트될 때, 업데이트 전에 맵핑되었던 물리 영역과 다른 물리 영역에 맵핑될 수 있다.
도2a및 도2b는 논리 영역들(LZ0_0~LZn_k)이 서로 다른 단위들, 즉, 논리 존(LZ) 및 논리 영역 그룹(LG)으로 관리되는 방법들을 도시한다.
도2a를 참조하면, 논리 영역들(LZ0_0~LZn_k)은 논리 존(LZ)의 단위로 관리될 수 있다. n+1개의 논리 존들(LZ0~LZn) 각각은 k+1개의 논리 영역들을 포함할 수 있다(단, n및 k는 자연수). 예를 들어, 논리 존(LZn)은 k+1개의 논리 영역들(LZn_0~LZn_k)을 포함할 수 있다. n+1개의 논리 존들(LZ0~LZn) 각각에서 k+1개의 논리 영역들은 일정한 오프셋 값들을 가질 수 있다. 예를 들어, 논리 존(LZn)에서 논리 영역(LZn_0)은 오프셋 값 0을 가지고, 논리 영역(LZn_1)은 오프셋 값 1을 가지고, 논리 영역(LZn_k)은 오프셋 값 k를 가질 수 있다.
도2b를 참조하면, 논리 영역들(LZ0_0~LZn_k)은 논리 영역 그룹(LG)의 단위로 관리될 수 있다. 논리 영역들(LZ0_0~LZn_k)은 자신의 오프셋 값에 따라 k+1개의 논리 영역 그룹들(LG0~LGk)로 그룹핑될 수 있다. 즉, 동일한 오프셋 값을 가진 논리 영역들은 하나의 논리 영역 그룹(LG)으로 그룹핑될 수 있다. 예를 들어, 오프셋 값 0을 가진 논리 영역들(LZ0_0~LZn_0)은 논리 영역 그룹(LG0)으로 그룹핑되고, 오프셋 값 1을 가진 논리 영역들(LZ0_1~LZn_1)은 논리 영역 그룹(LG1)으로 그룹핑되고, 오프셋 값 k를 가진 논리 영역들(LZ0_k~LZn_k)은 논리 영역 그룹(LGk)으로 그룹핑될 수 있다.
다시 도1을 참조하면, 프로세서(110)는 타겟 논리 영역에 대한 라이트 요청을 수신할 수 있다. 타겟 논리 영역은 라이트 요청에 포함된 논리 어드레스에 대응하는 논리 영역일 수 있다. 프로세서(110)는 타겟 논리 영역을 라이트한 횟수를 서로 다른 단위들, 즉, 논리 존(LZ)의 단위 및 논리 영역 그룹(LG)의 단위로 각각 카운트하고 제1 테이블(121) 및 제2 테이블(122)을 통해 관리할 수 있다.
우선, 프로세서(110)는 타겟 논리 영역에 대한 라이트 요청을 수신하면, 제1 테이블(121)에서 타겟 논리 영역을 포함하는 논리 존(이하, 타겟 논리 존)에 대응하는 엔트리에 저장된 제1 라이트 횟수를 증가시킬 수 있다. 제1 테이블(121)은 n+1개의 논리 존들(LZ0~LZn)에 각각 대응하는 n+1개의 엔트리들을 포함할 수 있다. 제1 테이블(121)은 논리 영역들(LZ0_0~LZn_k)에 대해 논리 존(LZ)의 단위로 카운트되는 라이트 횟수들을 포함할 수 있다.
또한, 프로세서(110)는 타겟 논리 영역에 대한 라이트 요청을 수신하면, 제2 테이블(122)에서 타겟 논리 영역을 포함하는 논리 영역 그룹(이하, 타겟 논리 영역 그룹)에 대응하는 엔트리에 저장된 제2 라이트 횟수를 증가시킬 수 있다. 제2 테이블(122)은 k+1개의 논리 영역 그룹들(LG0~LGk)에 각각 대응하는 k+1개의 엔트리들을 포함할 수 있다. 제2 테이블(122)은 논리 영역들(LZ0_0~LZn_k)에 대해 논리 영역 그룹(LG)의 단위로 카운트되는 라이트 횟수들을 포함할 수 있다.
프로세서(110)는 타겟 논리 존의 제1 라이트 횟수가 제1 기준값을 초과하는지 여부를 판단할 수 있다. 또한, 프로세서(110)는 타겟 논리 영역 그룹의 제2 라이트 횟수가 제2 기준값을 초과하는지 여부를 판단할 수 있다. 프로세서(110)는 제1 라이트 횟수가 제1 기준값을 초과하고, 제2 라이트 횟수가 제2 기준값을 초과한 것으로 판단하는 경우, 타겟 논리 영역으로 라이트 요청된 데이터를 핫 데이터로 결정할 수 있다. 또는, 프로세서(110)는 제1 라이트 횟수가 제1 기준값을 초과하고, 제2 라이트 횟수가 제2 기준값을 초과한 것으로 판단하는 경우, 타겟 논리 영역에 대응하는 논리 어드레스를 핫 논리 어드레스로 결정할 수 있다.
프로세서(110)는 핫 데이터로 결정된 데이터를 핫 메모리 영역(131)에 저장할 수 있다.
핫 데이터에 대한 라이트 요청은 핫 데이터가 아닌 데이터, 즉, 노멀 데이터에 대한 라이트 요청보다 빈번하게 전송될 것이므로, 핫 데이터는 자주 업데이트될 수 있다. 그리고, 핫 데이터가 업데이트될 때, 이전 버전의 핫 데이터는 무효화될 것이다. 따라서, 핫 데이터가 저장되는 핫 메모리 영역(131)의 무효화는 빠르게 진행될 수 있다. 따라서, 핫 데이터를 핫 메모리 영역(131)에 저장하는 것은 가비지 컬렉션 비용의 절감에 기여할 수 있다. 즉, 가비지 컬렉션 비용은 소거될 메모리 블록에서 유효 데이터를 다른 메모리 블록으로 카피하기 위한 비용을 포함하는 데, 핫 메모리 영역(131)에서 소거될 메모리 블록은 무효화된 정도가 높으므로 유효 데이터의 카피 비용을 크게 요구하지 않을 것이다.
실시 예에 따라, 핫 메모리 영역(131)은 빠르게 액세스할 수 있는 영역일 수 있다. 예를 들어, 핫 메모리 영역(131)은 메모리 셀 당 1비트의 데이터를 저장하는 싱글 레벨 셀들로 구성된 영역일 수 있다. 따라서, 데이터 저장 장치(100)는 핫 논리 어드레스에 대해 빈번하게 수신되는 라이트 요청들을 신속하게 처리할 수 있으므로 동작 속도가 향상될 수 있다.
한편, 프로세서(110)는 타겟 논리 존의 제1 라이트 횟수가 제1 기준값을 초과하지 않거나 타겟 논리 영역 그룹의 제2 라이트 횟수가 제2 기준값을 초과하지 않은 것으로 판단하는 경우, 타겟 논리 영역으로 라이트 요청된 데이터를 노멀 데이터로 결정할 수 있다. 프로세서(110)는 노멀 데이터를 노멀 메모리 영역(132)에 저장할 수 있다.
프로세서(110)는 라이트 요청을 수신할 때마다 제1 및 제2 테이블들(121, 122)의 라이트 횟수들을 카운트하면서 라이트 횟수들에 근거하여 곧바로 해당 데이터가 핫 데이터인지 여부를 판단할 수 있기 때문에, 핫 논리 어드레스에 대한 정보를 별도로 관리할 필요가 없다. 또한, 프로세서(110)는 제1 및 제2 테이블들(121, 122)을 통해 논리 영역들에 대한 라이트 횟수들을 논리 존(LZ)의 단위 및 논리 영역 그룹(LG)의 단위로 관리함으로써 동작 메모리 장치(120)의 제한된 메모리 공간을 효율적으로 활용할 수 있다.
실시 예에 따라, 프로세서(110)는 라이트 횟수를 카운트하기에 앞서, 타겟 논리 영역으로 라이트 요청된 데이터의 크기가 임계 크기 미만인지 여부를 판단할 수 있다. 라이트 요청된 데이터의 크기가 임계 크기 미만으로 판단되는 경우, 프로세서(110)는 제1 및 제2 테이블들(121, 122)에서 제1 및 제2 라이트 횟수들을 카운트할 수 있다. 라이트 요청된 데이터의 크기가 임계 크기 이상인 것으로 판단되는 경우, 프로세서(110)는 제1 및 제2 테이블들(121, 122)에서 제1 및 제2 라이트 횟수들을 카운트하지 않을 수 있다.
한편, 오랜 시간 동안 제1 및 제2 테이블들(121, 122)이 운용되면 라이트 횟수들은 계속 누적되기 때문에, 프로세서는 적절한 주기로 제1 및 제2 테이블들(121, 122)의 라이트 횟수들을 하향 조정할 수 있다.
실시 예에 따라, 프로세서(110)는 라이트 요청을 수신할 때마다 라이트 요청 횟수를 증가시킬 수 있다. 프로세서(110)는 라이트 요청 횟수가 임계 요청 횟수에 도달했는지 여부를 판단할 수 있다. 프로세서(110)는 라이트 요청 횟수가 임계 요청 횟수에 도달한 것으로 판단되는 경우, 제1 및 제2 테이블들(121, 122) 중 적어도 하나에 포함된 엔트리들에 저장된 라이트 횟수들을 하향 조정, 즉, 조정값만큼 감소시키커나 리셋할 수 있다.
실시 예에 따라, 프로세서(110)는 제1 테이블(121)에 포함된 n+1개의 엔트리들 중, 기준값을 초과하는 라이트 횟수들을 저장하는 엔트리들의 개수가 임계 엔트리 개수에 도달한 경우, 제1 및 제2 테이블들(121, 122) 중 적어도 하나에 포함된 엔트리들에 저장된 라이트 횟수들을 하향 조정, 즉, 조정값만큼 감소시키커나 리셋할 수 있다. 상기 기준값은 핫 데이터를 결정하기 위한 제1 기준값과 동일할 수도 있고, 다른 적절한 값일 수도 있다.
실시 예에 따라, 프로세서(110)는 논리 영역에 대한 무효화 커맨드를 수신할 수 있다. 무효화 커맨드는 외부 장치가 특정 논리 영역(또는 특정 논리 영역에 대응하는 논리 어드레스)을 더 이상 사용하지 않을 것임을 데이터 저장 장치(100)에게 통지하기 위해서 사용될 수 있다. 프로세서(110)는 특정 논리 영역에 대한 무효화 커맨드를 수신하면, 제1 및 제2 테이블들(121, 122)에서 특정 논리 영역을 포함하는 논리 존(LZ) 및 논리 영역 그룹(LG)에 대응하는 라이트 횟수들 중 적어도 하나를 하향 조정, 즉, 조정값만큼 감소시키커나 리셋할 수 있다.
실시 예에 따라, 프로세서(110)는 소거 동작을 카운트함으로써 소거 카운트를 관리할 수 있다. 프로세서(110)는 소거 카운트가 임계 소거 카운트에 도달했는지 여부를 판단할 수 있다. 프로세서(110)는 소거 카운트가 임계 소거 카운트에 도달하지 않은 것으로 판단되는 경우, 제1 및 제2 테이블들(121, 122)에 포함된 라이트 횟수들이 제1 및 제2 기준값을 초과하는지 여부를 판단하는 것을 유보할 수 있다. 프로세서(110)는 소거 카운트가 임계 소거 카운트에 도달한 것으로 판단되는 경우, 제1 및 제2 테이블들(121, 122)에 포함된 라이트 횟수들이 제1 및 제2 기준값을 초과하는지 여부를 판단할 수 있다. 즉, 프로세서(110)는 소거 카운트에 근거하여 불휘발성 메모리 장치(130)에 데이터가 충분히 저장된 것으로 판단된 이후에, 핫 데이터를 분류할 수 있다. 소거 카운트가 관리되는 메모리 영역의 단위는, 예를 들어, 메모리 블록 단위 또는 메모리 장치 단위 등일 수 있고, 이들 중 어느 하나에 제한되지 않을 것이다
동작 메모리 장치(120)는 프로세서(110)가 데이터 저장 장치(100)를 제어하기 위해서 구동하는 프로그램, 프로그램 데이터 및 파라미터 등을 저장할 수 있다. 동작 메모리 장치(120)는 프로세서(110)에 의해 관리되는 제1 테이블(121) 및 제2 테이블(122)을 저장할 수 있다. 동작 메모리 장치(120)는, 예를 들어, DRAM 및 SRAM과 같은 휘발성 메모리 장치일 수 있다.
불휘발성 메모리 장치(130)는 프로세서(110)의 제어에 따라 데이터를 저장하기 위한 라이트 동작을 수행할 수 있다. 불휘발성 메모리 장치(130)는 핫 메모리 영역(131) 및 노멀 메모리 영역(132)을 포함할 수 있다.
도3a 및 도3b는 도1의 프로세서(110)가 제1 및 제2 테이블들(121, 122)의 관리를 통해 라이트 요청된 데이터를 핫 데이터로 결정하는 방법을 설명하기 위한 도면들이다. 제1 테이블(121)은 n+1개의 논리 존들(도2의 LZ0~LZn)에 각각 대응하는 n+1개의 엔트리들을 포함할 수 있다. 제2 테이블(122)은 k+1개의 논리 영역 그룹들(도2의 LG0~LGk)에 각각 대응하는 k+1개의 엔트리들을 포함할 수 있다.
이하, 도1 내지 도3b를 참조하여, 프로세서(110)의 동작 방법이 상세하게 설명될 것이다.
도3a를 참조하면, 데이터 저장 장치(100)는 논리 영역(LZ0_1)에 대한 라이트 요청을 수신할 수 있다.
프로세서(110)는 제1 테이블(121)에서 타겟 논리 영역(LZ0_1)을 포함하는 타겟 논리 존(LZ0)에 대응하는 엔트리(301)에 저장된 라이트 횟수를 증가시킬 수 있다. 또한, 프로세서(110)는 제2 테이블(122)에서 타겟 논리 영역(LZ0_1)을 포함하는 타겟 논리 영역 그룹(LG1)에 대응하는 엔트리(302)에 저장된 라이트 횟수를 증가시킬 수 있다.
프로세서(110)는 타겟 논리 존(LZ0)에 대응하는 라이트 횟수 "255"가 제1 기준값을 초과하는지 여부 및 타겟 논리 영역 그룹(LG1)에 대응하는 라이트 횟수 "50"이 제2 기준값을 초과하는지 여부를 판단할 수 있다. 도3a및 도3b에서 제1 기준값 및 제2 기준값은 각각 250 및 50인 것으로 가정할 것이다.
프로세서(110)는 타겟 논리 존(LZ0)에 대응하는 라이트 횟수 "255"는 제1 기준값을 초과하는 것으로 판단할 수 있고, 타겟 논리 영역 그룹(LG1)에 대응하는 라이트 횟수 "50"는 제2 기준값을 초과하지 않는 것으로 판단할 수 있다. 따라서, 프로세서(110)는 타겟 논리 영역(LZ0_1)으로 라이트 요청된 데이터를 노멀 데이터로 결정하고, 노멀 메모리 영역(132)에 저장할 수 있다.
이어서, 도3b를 참조하면, 데이터 저장 장치(100)는 논리 영역(LZ1_1)에 대한 라이트 요청을 수신할 수 있다.
프로세서(110)는 제1 테이블(121)에서 타겟 논리 영역(LZ1_1)을 포함하는 타겟 논리 존(LZ1)에 대응하는 엔트리(303)에 저장된 라이트 횟수를 증가시킬 수 있다. 또한, 프로세서(110)는 제2 테이블(122)에서 타겟 논리 영역(LZ1_1)을 포함하는 타겟 논리 영역 그룹(LG1)에 대응하는 엔트리(304)에 저장된 라이트 횟수를 증가시킬 수 있다.
프로세서(110)는 타겟 논리 존(LZ1)에 대응하는 라이트 횟수 "267"이 제1 기준값을 초과하는지 여부 및 타겟 논리 영역 그룹(LG1)에 대응하는 라이트 횟수 "51"이 제2 기준값을 초과하는지 여부를 판단할 수 있다. 도3b에서 제1 기준값 및 제2 기준값은 각각 250 및 50인 것으로 가정할 것이다.
프로세서(110)는 타겟 논리 존(LZ1)에 대응하는 라이트 횟수가 제1 기준값을 초과하는 것으로 판단할 수 있고, 타겟 논리 영역 그룹(LG1)에 대응하는 라이트 횟수도 제2 기준값을 초과하는 것으로 판단할 수 있다. 따라서, 프로세서(110)는 타겟 논리 영역(LZ1_1)으로 라이트 요청된 데이터를 핫 데이터로 결정하고, 핫 메모리 영역(131)에 저장할 수 있다.
도4는 본 발명의 실시 예에 따른 데이터 저장 장치(100)의 동작 방법을 도시한 순서도이다.
S110 단계에서, 데이터 저장 장치(100)는 타겟 논리 영역에 대한 라이트 요청을 수신할 수 있다.
S120 단계에서, 프로세서(110)는 제1 테이블(121)에서 타겟 논리 영역을 포함하는 타겟 논리 존에 대응하는 엔트리에 저장된 제1 라이트 횟수를 증가시킬 수 있다. 제1 테이블(121)은 복수의 논리 존들에 각각 대응하는 복수의 엔트리들을 포함할 수 있다.
S130 단계에서, 프로세서(110)는 제2 테이블(122)에서 타겟 논리 영역을 포함하는 타겟 논리 영역 그룹에 대응하는 엔트리에 저장된 제2 라이트 횟수를 증가시킬 수 있다. 제2 테이블(122)은 복수의 논리 논리 영역 그룹들에 각각 대응하는 복수의 엔트리들을 포함할 수 있다. 타겟 논리 영역 그룹은 각각의 논리 존들에서 타겟 논리 영역의 오프셋 값과 동일한 오프셋 값을 가진 논리 영역들을 포함할 수 있다. 타겟 논리 영역 그룹에 대응하는 엔트리는 각각의 논리 존들에서 타겟 논리 영역의 오프셋 값과 동일한 오프셋 값을 가진 논리 영역들에 대응할 수 있다.
S140 단계에서, 프로세서(110)는 타겟 논리 존의 제1 라이트 횟수가 제1 기준값을 초과하는지 여부를 판단할 수 있다. 타겟 논리 존의 제1 라이트 횟수가 제1 기준값을 초과하는 것으로 판단되는 경우(예), 절차는 S150 단계로 진행될 수 있다.
S150 단계에서, 프로세서(110)는 타겟 논리 영역 그룹의 제2 라이트 횟수가 제2 기준값을 초과하는지 여부를 판단할 수 있다. 타겟 논리 영역 그룹의 제2 라이트 횟수가 제2 기준값을 초과하는 것으로 판단되는 경우(예), 절차는 S160 단계로 진행될 수 있다.
S160 단계에서, 프로세서(110)는 타겟 논리 영역으로 라이트 요청된 데이터를 핫 데이터로 결정하고 핫 메모리 영역(131)에 저장할 수 있다.
한편, S140 단계에서, 타겟 논리 존의 제1 라이트 횟수가 제1 기준값을 초과하지 않는 것으로 판단되는 경우(아니오), 절차는 S170 단계로 진행될 수 있다.
그리고, S150 단계에서, 타겟 논리 영역 그룹의 제2 라이트 횟수가 제2 기준값을 초과하지 않는 것으로 판단되는 경우(아니오), 절차는 S170 단계로 진행될 수 있다.
S170 단계에서, 프로세서(110)는 타겟 논리 영역으로 라이트 요청된 데이터를 노멀 데이터로 결정하고 노멀 메모리 영역(132)에 저장할 수 있다.
도5는 본 발명의 실시 예에 따른 데이터 저장 장치(100)의 동작 방법을 도시한 순서도이다. 도5에 도시된 절차는 S220 단계를 제외하면, 도4에 도시된 절차와 실질적으로 유사할 수 있다. 도5의 S210 단계는 도4의 S110 단계와 실질적으로 동일하고, 도5의 S230 단계 내지 S280 단계는 도4의 S120 단계 내지 S170 단계와 실질적으로 각각 동일할 수 있다.
S220 단계에서, 프로세서(110)는 타겟 논리 영역으로 라이트 요청된 데이터의 크기가 임계 크기 미만인지 여부를 판단할 수 있다. 라이트 요청된 데이터의 크기가 임계 크기 미만으로 판단되는 경우(예), 절차는 S230 단계로 진행될 수 있다. 라이트 요청된 데이터의 크기가 임계 크기 이상으로 판단되는 경우(아니오), 절차는 종료될 수 있다.
도6 내지 도8은 프로세서(110)가 제1 및 제2 테이블들(121, 122)의 누적된 라이트 횟수들을 하향 조정하는 방법을 도시한 순서도들이다.
도6을 참조하면, S310 단계에서, 데이터 저장 장치(100)는 타겟 논리 영역에 대한 라이트 요청을 수신할 수 있다.
S320 단계에서, 프로세서(110)는 라이트 요청 횟수를 증가시킬 수 있다.
S330 단계에서, 프로세서(110)는 라이트 요청 횟수가 임계 요청 횟수에 도달했는지 여부를 판단할 수 있다. 라이트 요청 횟수가 임계 요청 횟수에 도달한 것으로 판단되는 경우(예), 절차는 S340 단계로 진행될 수 있다. 라이트 요청 횟수가 임계 요청 횟수에 도달하지 않은 것으로 판단되는 경우(아니오), 절차는 종료될 수 있다.
S340 단계에서, 프로세서(110)는 제1 및 제2 테이블들(121, 122) 중 적어도 하나에 포함된 엔트리들에 저장된 라이트 횟수들을 하향 조정, 즉, 조정값만큼 감소시키거나 리셋할 수 있다.
도7을 참조하면, S410 단계에서, 제1 테이블(121)에 포함된 복수의 엔트리들 중, 기준값을 초과하는 라이트 횟수들을 저장하는 엔트리들의 개수가 임계 엔트리 개수에 도달했는지 여부를 판단할 수 있다. 기준값을 초과하는 라이트 횟수들을 저장하는 엔트리들의 개수가 임계 엔트리 개수에 도달한 것으로 판단되는 경우(예), 절차는 S420 단계로 진행될 수 있다. 기준값을 초과하는 라이트 횟수들을 저장하는 엔트리들의 개수가 임계 엔트리 개수에 도달하지 않은 것으로 판단되는 경우(아니오), 절차는 종료될 수 있다.
S420 단계에서, 프로세서(110)는 제1 및 제2 테이블들(121, 122) 중 적어도 하나에 포함된 엔트리들에 저장된 라이트 횟수들을 하향 조정, 즉, 조정값만큼 감소시키거나 리셋할 수 있다.
도8을 참조하면, S510 단계에서, 프로세서(110)는 특정 논리 영역에 대한 무효화 커맨드를 수신할 수 있다.
S520 단계에서, 프로세서(110)는 특정 논리 영역을 포함하는 논리 존 및 논리 영역 그룹에 대응하는 라이트 횟수들 중 적어도 하나를 하향 조정, 즉, 조정값만큼 감소시키커나 리셋할 수 있다.
도9는 본 발명의 실시 예에 따른 데이터 저장 장치(100)의 동작 방법을 도시한 순서도이다. 도9에 도시된 절차는 S640 단계를 제외하면, 도4에 도시된 절차와 실질적으로 유사할 수 있다. 도9의 S610 단계 내지 S630단계는 도4의 S110 단계 내지 S130단계와 실질적으로 각각 동일하고, 도9의 S650 단계 내지 S680 단계는 도4의 S140 단계 내지 S170 단계와 실질적으로 각각 동일할 수 있다.
도9를 참조하면, S640 단계에서, 프로세서(110)는 소거 카운트가 임계 소거 카운트에 도달했는지 여부를 판단할 수 있다. 소거 카운트가 임계 소거 카운트에 도달한 것으로 판단되는 경우(예), 절차는 S650 단계로 진행될 수 있다. 소거 카운트가 임계 소거 카운트에 도달하지 않은 것으로 판단되는 경우(아니오), 절차는 종료될 수 있다. 즉, 프로세서(110)는 소거 카운트가 임계 소거 카운트에 도달하지 않은 것으로 판단되는 경우, 제1 및 제2 라이트 횟수들이 제1 및 제2 기준값을 초과하는지 여부를 판단하는 것을 유보할 수 있다. 프로세서(110)는 소거 카운트가 임계 소거 카운트에 도달한 것으로 판단되는 경우, 즉, 소거 카운트에 근거하여 불휘발성 메모리 장치(130)에 데이터가 충분히 저장된 것으로 판단되는 경우, 핫 데이터를 분류하여 저장할 수 있다. 소거 카운트는, 예를 들어, 메모리 블록 단위 및/또는 메모리 장치 단위로 카운트될 수 있다.
본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100 : 데이터 저장 장치
110 : 프로세서
120 : 동작 메모리 장치
121 : 제1 테이블
122 : 제2 테이블
130 : 불휘발성 메모리 장치
131 : 핫 메모리 영역
132 : 노멀 메모리 영역
140 : 전송 라인
110 : 프로세서
120 : 동작 메모리 장치
121 : 제1 테이블
122 : 제2 테이블
130 : 불휘발성 메모리 장치
131 : 핫 메모리 영역
132 : 노멀 메모리 영역
140 : 전송 라인
Claims (20)
- n개의 논리 존들-상기 n개의 논리 존들 각각은 k개의 논리 영역들을 포함하고, 상기 n개의 논리 존들에 포함된 논리 영역들은 자신의 오프셋 값에 따라 k개의 논리 영역 그룹들로 그룹핑됨-; 및
타겟 논리 영역에 대한 라이트 요청을 수신한 경우, 제1 테이블에서 상기 타겟 논리 영역을 포함하는 논리 존에 대응하는 제1 엔트리에 저장된 제1 액세스 횟수를 증가시키고, 제2 테이블에서 상기 타겟 논리 영역을 포함하는 논리 영역 그룹에 대응하는 제2 엔트리에 저장된 제2 액세스 횟수를 증가시키도록 구성된 프로세서를 포함하는 데이터 저장 장치. - 제1항에 있어서,
상기 프로세서는 상기 제1 액세스 횟수가 제1 기준값을 초과하는지 여부를 판단하고, 상기 제2 액세스 횟수가 제2 기준값을 초과하는지 여부를 판단하고, 판단 결과들에 따라, 상기 타겟 논리 영역으로 라이트 요청된 데이터를 핫 데이터로 결정하는 데이터 저장 장치. - 제2항에 있어서,
상기 프로세서는 소거 카운트가 임계 소거 카운트에 도달했는지 여부를 판단하고, 판단 결과에 따라 상기 제1 액세스 횟수가 상기 제1 기준값을 초과하는지 여부를 판단하는 것과 상기 제2 액세스 횟수가 상기 제2 기준값을 초과하는지 여부를 판단하는 것을 유보하는 데이터 저장 장치. - 제1항에 있어서,
각각의 상기 복수의 논리 존들에서 동일한 오프셋 값을 가진 논리 영역들은 하나의 논리 영역 그룹으로 그룹핑되는 데이터 저장 장치. - 제1항에 있어서,
상기 제1 테이블은 상기 n개의 논리 존들에 대응하는 n개의 엔트리들을 포함하는 데이터 저장 장치. - 제1항에 있어서,
상기 제2 테이블은 상기 k개의 논리 영역 그룹들에 대응하는 k개의 엔트리들을 포함하는 데이터 저장 장치. - 제1항에 있어서,
상기 프로세서는, 상기 타겟 논리 영역으로 라이트 요청된 데이터의 크기가 임계 크기 미만인지 여부를 판단하고, 판단 결과에 따라 상기 제1 및 제2 액세스 횟수들을 증가시키는 데이터 저장 장치. - 제1항에 있어서,
상기 프로세서는, 상기 라이트 요청을 수신한 경우 라이트 요청 횟수를 증가시키고, 상기 라이트 요청 횟수가 임계 요청 횟수에 도달했는지 여부를 판단하고, 판단 결과에 따라 상기 제1 및 제2 테이블들 중 적어도 하나에 포함된 엔트리들에 저장된 액세스 횟수들을 하향 조정하는 데이터 저장 장치. - 제1항에 있어서,
상기 프로세서는, 상기 제1 테이블에 포함된 복수의 엔트리들 중, 기준값을 초과하는 액세스 횟수들을 저장하는 엔트리들의 개수가 임계 엔트리 개수에 도달했는지 여부를 판단하고, 판단 결과에 따라 상기 제1 및 제2 테이블들 중 적어도 하나에 포함된 엔트리들에 저장된 액세스 횟수들을 하향 조정하는 데이터 저장 장치. - 제1항에 있어서,
상기 프로세서는, 상기 타겟 논리 영역에 대한 무효화 커맨드를 수신한 경우, 상기 제1 및 제2 액세스 횟수들 중 적어도 하나를 하향 조정하는 데이터 저장 장치. - 복수의 논리 존들을 포함하되 상기 복수의 논리 존들 각각은 복수의 논리 영역들을 포함하고, 상기 복수의 논리 존들에 포함된 논리 영역들은 자신의 오프셋 값에 따라 복수의 논리 영역 그룹들로 그룹핑되는, 데이터 저장 장치의 동작 방법에 있어서,
타겟 논리 영역에 대한 라이트 요청을 수신하는 단계;
제1 테이블에서 상기 타겟 논리 영역을 포함하는 논리 존에 대응하는 엔트리에 저장된 제1 액세스 횟수를 증가시키는 단계; 및
제2 테이블에서 상기 타겟 논리 영역을 포함하는 논리 영역 그룹에 대응하는 엔트리에 저장된 제2 액세스 횟수를 증가시키는 단계를 포함하는 데이터 저장 장치의 동작 방법. - 제11항에 있어서,
상기 제1 액세스 횟수가 제1 기준값을 초과하는지 여부를 판단하는 단계;
상기 제2 액세스 횟수가 제2 기준값을 초과하는지 여부를 판단하는 단계;
판단 결과들에 따라, 상기 타겟 논리 영역으로 라이트 요청된 데이터를 핫 데이터로 결정하는 단계; 및
상기 핫 데이터를 핫 메모리 영역에 저장하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법. - 제12항에 있어서,
소거 카운트가 임계 소거 카운트에 도달했는지 여부를 판단하는 단계를 더 포함하되,
판단 결과에 따라, 상기 제1 액세스 횟수가 상기 제1 기준값을 초과하는지 여부를 판단하는 단계 및 상기 제2 액세스 횟수가 상기 제2 기준값을 초과하는지 여부를 판단하는 단계는 유보되는 데이터 저장 장치의 동작 방법. - 제11항에 있어서,
각각의 상기 복수의 논리 존들에서 동일한 오프셋 값을 가진 논리 영역들은 하나의 논리 영역 그룹으로 그룹핑되는 데이터 저장 장치의 동작 방법. - 제11항에 있어서,
상기 제1 테이블은 상기 복수의 논리 존들에 각각 대응하는 복수의 엔트리들을 포함하는 데이터 저장 장치의 동작 방법. - 제11항에 있어서,
상기 제2 테이블은 상기 복수의 논리 영역 그룹들에 각각 대응하는 복수의 엔트리들을 포함하는 데이터 저장 장치의 동작 방법. - 제11항에 있어서,
상기 타겟 논리 영역으로 라이트 요청된 데이터의 크기가 임계 크기 미만인지 여부를 판단하는 단계를 더 포함하되,
상기 제1 액세스 횟수를 증가시키는 단계 및 상기 제2 액세스 횟수를 증가시키는 단계는 판단 결과에 따라 수행되는 데이터 저장 장치의 동작 방법. - 제11항에 있어서,
라이트 요청 횟수를 증가시키는 단계;
상기 라이트 요청 횟수가 임계 요청 횟수에 도달했는지 여부를 판단하는 단계; 및
판단 결과에 따라 상기 제1 및 제2 테이블들 중 적어도 하나에 포함된 엔트리들에 저장된 액세스 횟수들을 하향 조정하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법. - 제11항에 있어서,
상기 제1 테이블에 포함된 복수의 엔트리들 중, 기준값을 초과하는 액세스 횟수들을 저장하는 엔트리들의 개수가 임계 엔트리 개수에 도달했는지 여부를 판단하는 단계; 및
판단 결과에 따라 상기 제1 및 제2 테이블들 중 적어도 하나에 포함된 엔트리들에 저장된 액세스 횟수들을 하향 조정하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법. - 제11항에 있어서,
상기 타겟 논리 영역에 대한 무효화 커맨드를 수신하는 단계; 및
상기 제1 및 제2 액세스 횟수들 중 적어도 하나를 하향 조정하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150088285A KR20160150384A (ko) | 2015-06-22 | 2015-06-22 | 데이터 저장 장치 및 그것의 동작 방법 |
US14/924,481 US10013350B2 (en) | 2015-06-22 | 2015-10-27 | Data storage device and operating method thereof |
CN201510855554.4A CN106257432B (zh) | 2015-06-22 | 2015-11-30 | 数据储存设备及其操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150088285A KR20160150384A (ko) | 2015-06-22 | 2015-06-22 | 데이터 저장 장치 및 그것의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160150384A true KR20160150384A (ko) | 2016-12-30 |
Family
ID=57587935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150088285A KR20160150384A (ko) | 2015-06-22 | 2015-06-22 | 데이터 저장 장치 및 그것의 동작 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10013350B2 (ko) |
KR (1) | KR20160150384A (ko) |
CN (1) | CN106257432B (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631538B (zh) * | 2013-12-05 | 2017-04-05 | 华为技术有限公司 | 冷热数据识别门限值计算方法、装置和系统 |
US10101925B2 (en) * | 2015-12-23 | 2018-10-16 | Toshiba Memory Corporation | Data invalidation acceleration through approximation of valid data counts |
EP3792800A1 (en) * | 2019-09-12 | 2021-03-17 | Nxp B.V. | Managing equally sized virtual memory regions and physical memory regions in an electronic device |
US11693781B2 (en) * | 2020-08-20 | 2023-07-04 | Micron Technology, Inc. | Caching or evicting host-resident translation layer based on counter |
TWI829363B (zh) * | 2022-09-26 | 2024-01-11 | 慧榮科技股份有限公司 | 資料處理方法及對應之資料儲存裝置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8891298B2 (en) * | 2011-07-19 | 2014-11-18 | Greenthread, Llc | Lifetime mixed level non-volatile memory system |
TWI400707B (zh) | 2009-07-09 | 2013-07-01 | Phison Electronics Corp | 快閃記憶體邏輯區塊管理方法及其控制電路與儲存系統 |
CN101673243B (zh) * | 2009-09-29 | 2011-09-07 | 威盛电子股份有限公司 | 数据储存装置与方法 |
US8438361B2 (en) * | 2010-03-10 | 2013-05-07 | Seagate Technology Llc | Logical block storage in a storage device |
US8782370B2 (en) * | 2011-05-15 | 2014-07-15 | Apple Inc. | Selective data storage in LSB and MSB pages |
US8819375B1 (en) * | 2011-11-30 | 2014-08-26 | Western Digital Technologies, Inc. | Method for selective defragmentation in a data storage device |
US9032137B2 (en) * | 2012-11-21 | 2015-05-12 | Intel Corporation | Flexible wear management for non-volatile memory |
CN103870205B (zh) * | 2012-12-11 | 2018-08-07 | 联想(北京)有限公司 | 用于存储控制的方法和装置、以及信息处理的方法和装置 |
US9465732B2 (en) * | 2013-03-15 | 2016-10-11 | Sandisk Technologies Llc | Binning of blocks for dynamic linking |
KR102023351B1 (ko) | 2013-03-19 | 2019-11-04 | 삼성전자 주식회사 | 저장 장치 내 할당 촉진을 위한 데이터 분석 방법 및 장치 |
US9501400B2 (en) * | 2013-11-13 | 2016-11-22 | Sandisk Technologies Llc | Identification and operation of sub-prime blocks in nonvolatile memory |
-
2015
- 2015-06-22 KR KR1020150088285A patent/KR20160150384A/ko unknown
- 2015-10-27 US US14/924,481 patent/US10013350B2/en active Active
- 2015-11-30 CN CN201510855554.4A patent/CN106257432B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106257432B (zh) | 2020-10-02 |
CN106257432A (zh) | 2016-12-28 |
US10013350B2 (en) | 2018-07-03 |
US20160371195A1 (en) | 2016-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11030094B2 (en) | Apparatus and method for performing garbage collection by predicting required time | |
CN107111551B (zh) | 用于高速缓存经压缩的数据背景的装置、系统和方法 | |
US10474585B2 (en) | Nonvolatile memory system and a method of operating the nonvolatile memory system | |
US7594067B2 (en) | Enhanced data access in a storage device | |
US20140082323A1 (en) | Address mapping | |
EP3462320B1 (en) | Dynamic page allocation in memory | |
US11449418B2 (en) | Controller and method for selecting victim block for wear leveling operation | |
CN111638852A (zh) | 将数据写入固态硬盘的方法及固态硬盘 | |
US20160253257A1 (en) | Data processing system and operating method thereof | |
CN106257432B (zh) | 数据储存设备及其操作方法 | |
KR101979735B1 (ko) | 비휘발성 메모리 시스템 및 이와 통신하는 호스트 | |
KR20190123090A (ko) | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 | |
KR20200116372A (ko) | 저장 장치, 컨트롤러 및 컨트롤러의 동작 방법 | |
KR102681181B1 (ko) | 메모리 시스템 및 그것의 동작방법 | |
CN112445720A (zh) | 对存储器子系统部件的存取频率进行分类 | |
CN112130749B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
KR102343246B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20230236986A1 (en) | Cache block budgeting techniques | |
KR20210088706A (ko) | 온도에 기초한 상이한 전송 속도들에서의 메모리 내의 데이터의 재배치 | |
CN114077552A (zh) | 用于主机常驻转译层的存储器存取跟踪 | |
KR20180042699A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20200014175A (ko) | 소요시간을 예측하여 가비지 컬렉션을 수행하는 방법 및 장치 | |
US11461013B2 (en) | Controller, operating method of the controller and memory system | |
CN115309666A (zh) | 逻辑到物理映射中的集成式数据透视表 | |
US11698739B2 (en) | Memory system and operating method thereof |