KR20160150384A - 데이터 저장 장치 및 그것의 동작 방법 - Google Patents

데이터 저장 장치 및 그것의 동작 방법 Download PDF

Info

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
Application number
KR1020150088285A
Other languages
English (en)
Inventor
김세현
Original Assignee
에스케이하이닉스 주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020150088285A priority Critical patent/KR20160150384A/ko
Priority to US14/924,481 priority patent/US10013350B2/en
Priority to CN201510855554.4A priority patent/CN106257432B/zh
Publication of KR20160150384A publication Critical patent/KR20160150384A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space 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

데이터 저장 장치 및 그것의 동작 방법{DATA STORAGE DEVICE AND OPERATING METHOD THEREOF}
본 발명은 데이터 저장 장치에 관한 것으로, 더욱 상세하게는 데이터 저장 장치의 라이트 횟수 관리에 관한 것이다.
데이터 저장 장치는 외부 장치의 라이트 요청에 응답하여, 외부 장치로부터 제공된 데이터를 저장하도록 구성될 수 있다. 또한, 데이터 저장 장치는 외부 장치의 리드 요청에 응답하여, 저장된 데이터를 외부 장치로 제공하도록 구성될 수 있다. 외부 장치는 데이터를 처리할 수 있는 전자 장치로서, 컴퓨터, 디지털 카메라 또는 휴대폰 등을 포함할 수 있다. 데이터 저장 장치는 외부 장치에 내장되어 동작하거나, 분리 가능한 형태로 제작되어 외부 장치에 연결됨으로써 동작할 수 있다.
데이터 저장 장치는 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는 본 발명의 실시 예에 따른 데이터 저장 장치의 동작 방법을 도시한 순서도이다.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.
도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 : 전송 라인

Claims (20)

  1. n개의 논리 존들-상기 n개의 논리 존들 각각은 k개의 논리 영역들을 포함하고, 상기 n개의 논리 존들에 포함된 논리 영역들은 자신의 오프셋 값에 따라 k개의 논리 영역 그룹들로 그룹핑됨-; 및
    타겟 논리 영역에 대한 라이트 요청을 수신한 경우, 제1 테이블에서 상기 타겟 논리 영역을 포함하는 논리 존에 대응하는 제1 엔트리에 저장된 제1 액세스 횟수를 증가시키고, 제2 테이블에서 상기 타겟 논리 영역을 포함하는 논리 영역 그룹에 대응하는 제2 엔트리에 저장된 제2 액세스 횟수를 증가시키도록 구성된 프로세서를 포함하는 데이터 저장 장치.
  2. 제1항에 있어서,
    상기 프로세서는 상기 제1 액세스 횟수가 제1 기준값을 초과하는지 여부를 판단하고, 상기 제2 액세스 횟수가 제2 기준값을 초과하는지 여부를 판단하고, 판단 결과들에 따라, 상기 타겟 논리 영역으로 라이트 요청된 데이터를 핫 데이터로 결정하는 데이터 저장 장치.
  3. 제2항에 있어서,
    상기 프로세서는 소거 카운트가 임계 소거 카운트에 도달했는지 여부를 판단하고, 판단 결과에 따라 상기 제1 액세스 횟수가 상기 제1 기준값을 초과하는지 여부를 판단하는 것과 상기 제2 액세스 횟수가 상기 제2 기준값을 초과하는지 여부를 판단하는 것을 유보하는 데이터 저장 장치.
  4. 제1항에 있어서,
    각각의 상기 복수의 논리 존들에서 동일한 오프셋 값을 가진 논리 영역들은 하나의 논리 영역 그룹으로 그룹핑되는 데이터 저장 장치.
  5. 제1항에 있어서,
    상기 제1 테이블은 상기 n개의 논리 존들에 대응하는 n개의 엔트리들을 포함하는 데이터 저장 장치.
  6. 제1항에 있어서,
    상기 제2 테이블은 상기 k개의 논리 영역 그룹들에 대응하는 k개의 엔트리들을 포함하는 데이터 저장 장치.
  7. 제1항에 있어서,
    상기 프로세서는, 상기 타겟 논리 영역으로 라이트 요청된 데이터의 크기가 임계 크기 미만인지 여부를 판단하고, 판단 결과에 따라 상기 제1 및 제2 액세스 횟수들을 증가시키는 데이터 저장 장치.
  8. 제1항에 있어서,
    상기 프로세서는, 상기 라이트 요청을 수신한 경우 라이트 요청 횟수를 증가시키고, 상기 라이트 요청 횟수가 임계 요청 횟수에 도달했는지 여부를 판단하고, 판단 결과에 따라 상기 제1 및 제2 테이블들 중 적어도 하나에 포함된 엔트리들에 저장된 액세스 횟수들을 하향 조정하는 데이터 저장 장치.
  9. 제1항에 있어서,
    상기 프로세서는, 상기 제1 테이블에 포함된 복수의 엔트리들 중, 기준값을 초과하는 액세스 횟수들을 저장하는 엔트리들의 개수가 임계 엔트리 개수에 도달했는지 여부를 판단하고, 판단 결과에 따라 상기 제1 및 제2 테이블들 중 적어도 하나에 포함된 엔트리들에 저장된 액세스 횟수들을 하향 조정하는 데이터 저장 장치.
  10. 제1항에 있어서,
    상기 프로세서는, 상기 타겟 논리 영역에 대한 무효화 커맨드를 수신한 경우, 상기 제1 및 제2 액세스 횟수들 중 적어도 하나를 하향 조정하는 데이터 저장 장치.
  11. 복수의 논리 존들을 포함하되 상기 복수의 논리 존들 각각은 복수의 논리 영역들을 포함하고, 상기 복수의 논리 존들에 포함된 논리 영역들은 자신의 오프셋 값에 따라 복수의 논리 영역 그룹들로 그룹핑되는, 데이터 저장 장치의 동작 방법에 있어서,
    타겟 논리 영역에 대한 라이트 요청을 수신하는 단계;
    제1 테이블에서 상기 타겟 논리 영역을 포함하는 논리 존에 대응하는 엔트리에 저장된 제1 액세스 횟수를 증가시키는 단계; 및
    제2 테이블에서 상기 타겟 논리 영역을 포함하는 논리 영역 그룹에 대응하는 엔트리에 저장된 제2 액세스 횟수를 증가시키는 단계를 포함하는 데이터 저장 장치의 동작 방법.
  12. 제11항에 있어서,
    상기 제1 액세스 횟수가 제1 기준값을 초과하는지 여부를 판단하는 단계;
    상기 제2 액세스 횟수가 제2 기준값을 초과하는지 여부를 판단하는 단계;
    판단 결과들에 따라, 상기 타겟 논리 영역으로 라이트 요청된 데이터를 핫 데이터로 결정하는 단계; 및
    상기 핫 데이터를 핫 메모리 영역에 저장하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  13. 제12항에 있어서,
    소거 카운트가 임계 소거 카운트에 도달했는지 여부를 판단하는 단계를 더 포함하되,
    판단 결과에 따라, 상기 제1 액세스 횟수가 상기 제1 기준값을 초과하는지 여부를 판단하는 단계 및 상기 제2 액세스 횟수가 상기 제2 기준값을 초과하는지 여부를 판단하는 단계는 유보되는 데이터 저장 장치의 동작 방법.
  14. 제11항에 있어서,
    각각의 상기 복수의 논리 존들에서 동일한 오프셋 값을 가진 논리 영역들은 하나의 논리 영역 그룹으로 그룹핑되는 데이터 저장 장치의 동작 방법.
  15. 제11항에 있어서,
    상기 제1 테이블은 상기 복수의 논리 존들에 각각 대응하는 복수의 엔트리들을 포함하는 데이터 저장 장치의 동작 방법.
  16. 제11항에 있어서,
    상기 제2 테이블은 상기 복수의 논리 영역 그룹들에 각각 대응하는 복수의 엔트리들을 포함하는 데이터 저장 장치의 동작 방법.
  17. 제11항에 있어서,
    상기 타겟 논리 영역으로 라이트 요청된 데이터의 크기가 임계 크기 미만인지 여부를 판단하는 단계를 더 포함하되,
    상기 제1 액세스 횟수를 증가시키는 단계 및 상기 제2 액세스 횟수를 증가시키는 단계는 판단 결과에 따라 수행되는 데이터 저장 장치의 동작 방법.
  18. 제11항에 있어서,
    라이트 요청 횟수를 증가시키는 단계;
    상기 라이트 요청 횟수가 임계 요청 횟수에 도달했는지 여부를 판단하는 단계; 및
    판단 결과에 따라 상기 제1 및 제2 테이블들 중 적어도 하나에 포함된 엔트리들에 저장된 액세스 횟수들을 하향 조정하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  19. 제11항에 있어서,
    상기 제1 테이블에 포함된 복수의 엔트리들 중, 기준값을 초과하는 액세스 횟수들을 저장하는 엔트리들의 개수가 임계 엔트리 개수에 도달했는지 여부를 판단하는 단계; 및
    판단 결과에 따라 상기 제1 및 제2 테이블들 중 적어도 하나에 포함된 엔트리들에 저장된 액세스 횟수들을 하향 조정하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  20. 제11항에 있어서,
    상기 타겟 논리 영역에 대한 무효화 커맨드를 수신하는 단계; 및
    상기 제1 및 제2 액세스 횟수들 중 적어도 하나를 하향 조정하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
KR1020150088285A 2015-06-22 2015-06-22 데이터 저장 장치 및 그것의 동작 방법 KR20160150384A (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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