KR20100114305A - 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템 - Google Patents

데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템 Download PDF

Info

Publication number
KR20100114305A
KR20100114305A KR1020090032771A KR20090032771A KR20100114305A KR 20100114305 A KR20100114305 A KR 20100114305A KR 1020090032771 A KR1020090032771 A KR 1020090032771A KR 20090032771 A KR20090032771 A KR 20090032771A KR 20100114305 A KR20100114305 A KR 20100114305A
Authority
KR
South Korea
Prior art keywords
data
signal
data block
group
block
Prior art date
Application number
KR1020090032771A
Other languages
English (en)
Other versions
KR101574540B1 (ko
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 KR1020090032771A priority Critical patent/KR101574540B1/ko
Priority to US12/754,753 priority patent/US8595412B2/en
Publication of KR20100114305A publication Critical patent/KR20100114305A/ko
Application granted granted Critical
Publication of KR101574540B1 publication Critical patent/KR101574540B1/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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

데이터 저장 장치가 제공된다. 데이터 저장 장치는, 다수의 데이터 블록들을 포함하는 플래시 메모리 및 상기 다수의 데이터 블록들을 제1 그룹의 데이터 블록과 제2 그룹의 데이터 블록으로 분류하고, 외부로부터 입력되는 데이터 신호의 판단 결과에 따라 상기 데이터 신호를 상기 제1 그룹의 데이터 블록에 기록하거나 또는 상기 데이터 신호를 상기 제1 그룹의 데이터 블록으로부터 확장된 상기 제2 그룹의 데이터 블록에 기록하는 플래시 변환 레이어를 포함한다.
SSD, FTL, IBL

Description

데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템{Data storage device and data storage system including of the same}
본 발명의 실시예는 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템에 관한 것으로서, 보다 상세하게는 머지 동작 횟수를 감소시킬 수 있는 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템에 관한 것이다.
플래시 메모리를 사용하는 데이터 저장 장치에서는 플래시 메모리를 효율적으로 관리하기 위하여 플래시 변환 레이어(Flash Translation Layer; FTL)가 사용되고 있다.
FTL은 외부, 예컨대 호스트 등과 같은 파일 시스템으로부터 입력되는 논리 어드레스(Local Address; LA)를 물리 어드레스(Physical Address; PA)로 변환하는 어드레스 맵핑 동작을 수행하고, 어드레스 맵핑 동작의 결과에 따라 논리 어드레스와 함께 입력된 데이터를 플래시 메모리에 저장할 수 있다.
FTL의 어드레스 맵핑 동작의 대표적인 방법으로는 페이지 맵핑 방법, 블록 맵핑 방법 및 하이브리드 맵핑 방법 등이 있다. 이중에서 하이브리드 맵핑 방법은 페이지 맵핑 방법과 블록 맵핑 방법의 단점을 보완하기 위한 것이다.
일반적으로 하나의 플래시 메모리는 다수의 메모리 블록들을 포함할 수 있고, 다수의 메모리 블록들 각각은 다수의 페이지들을 포함할 수 있다. FTL의 하이브리드 맵핑 방법은 데이터 블록에 대해서는 블록 맵핑 방법을 사용하고, 로그 블록에 대해서는 페이지 맵핑 방법을 사용한다. 여기서, 데이터 블록에는 외부로부터 입력된 초기 데이터가 저장될 수 있으며, 로그 블록에는 데이터 블록에 저장된 초기 데이터의 갱신 데이터가 저장될 수 있다.
그러나, 상술한 하이브리드 맵핑 방법에서 플래시 메모리의 로그 블록이 소진되는 경우에 수행되는 머지(merge) 동작의 빈번함으로 인하여 플래시 메모리의 성능 저하 현상이 발생되고 있으며, 이에 따라 플래시 메모리의 다수의 메모리 블록들 간의 효율성이 떨어지게 된다.
본 발명이 해결하고자 하는 과제는, 머지 동작 횟수를 감소시킬 수 있는 데이터 저장 장치를 제공하고자 하는데 있다.
본 발명이 해결하고자 하는 다른 과제는, 이러한 데이터 저장 장치를 포함하는 데이터 저장 시스템을 제공하고자 하는데 있다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 데이터 저장 장치는, 다수의 데이터 블록들을 포함하는 플래시 메모리 및 다수의 데이터 블록들을 제1 그룹의 데이터 블록과 제2 그룹의 데이터 블록으로 분류하고, 외부로부터 입력 되는 데이터 신호의 판단 결과에 따라 데이터 신호를 제1 그룹의 데이터 블록에 기록하거나 또는 데이터 신호를 제1 그룹의 데이터 블록으로부터 확장된 제2 그룹의 데이터 블록에 기록하는 플래시 변환 레이어를 포함한다.
상기 다른 과제를 해결하기 위한 본 발명의 일 실시예에 따른 데이터 저장 시스템은, 데이터 신호와 논리 어드레스를 출력하는 호스트 및 호스트로부터 제공된 데이터 신호를 정해진 위치에 기록하는 데이터 저장 장치를 포함한다.
본 발명의 실시예에 따른 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템에 따르면, 플래시 메모리의 데이터 블록을 확장하여 머지 연산 동작 횟수를 감소시키고, 각 블록 간 효율성을 높여 데이터 저장 장치의 성능을 향상시킬 수 있는 효과가 있다.
본 명세서 또는 출원에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니된다.
본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들 을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명에 따른 데이터 저장 장치는 다양한 분야, 예컨대 컴퓨터 시스템, 단말 장치 시스템, 입출력 장치 시스템, 하드 디스크 레코더(HDD recorder), 휴대 전화(cellular phone)와 PDA 등의 개인 단말기(terminal), 컴퓨터(PC, 랩탑 PC, 노트북 등), 네비게이터 장치(navigator device), 가정 자동화 시스템(home automation system), 음악 재생기(mp3플레이어 등), 캠코더, 영상 재생기(DVIX 플레이어 등), 스토리지 서버(storage sever), PMP(potable multimedia player), SSD(Solid State Drive/Disk) 또는 스마트 카드를 포함하는 카드 시스템 등에서 데이터 저장용으로 사용될 수 있다. 이하에서는, 설명의 편의를 위하여 상술한 다양한 분야들 중에서 데이터 저장 장치가 SSD로 사용되는 예를 들어 설명하고, 이에 따라 데이터 저장 시스템은 SSD를 사용하는 컴퓨터 시스템 또는 메모리 카드 시스템을 예를 들어 설명한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 데이터 저장 시스템의 개략적인 블록도이고, 도 2는 도 1에 도시된 제어 모듈의 개략적인 블록도이고, 도 3은 도 1에 도시된 플래시 메모리의 개략적인 도면이다.
도 1 내지 도 3을 참조하면, 데이터 저장 시스템(300)은 호스트(200)와 데이터 저장 장치(100)를 포함할 수 있다.
호스트(200)는 파일 시스템(File System)일 수 있으며, 데이터 저장 장치(100)에 프로그램(또는, write)될 데이터 신호(DATA)를 제공하거나 또는 데이터 저장 장치(100)로부터 리드된 데이터를 제공받을 수 있다.
호스트(200)는 데이터 저장 장치(100)로 데이터 신호(DATA)와 이에 대응되는 어드레스, 예컨대 데이터 신호(DATA)가 프로그램 될 위치(또는, 영역)를 나타내는 논리 어드레스(Local Address; LA)를 함께 출력할 수 있다.
데이터 저장 장치(100)는 적어도 하나의 플래시 메모리(110)와 이의 동작을 제어할 수 있는 플래시 변환 레이어(Flash Translation Layer; FTL)(120)를 포함할 수 있다. 데이터 저장 장치(100)는 호스트(200)로부터 제공된 데이터 신호(DATA)를 플래시 메모리(110)의 정해진 위치, 예컨대 데이터 신호(DATA)와 함께 입력된 논리 어드레스(LA)에 기초한 위치에 라이트(write, 또는 프로그램)하여 저장할 수 있다.
예컨대, 후술될 FTL(120)의 맵핑 모듈(140)은 호스트(200)로부터 제공된 논리 어드레스(LA)를 플래시 메모리(110)의 실질적인 위치를 나타내는 물리 어드레 스(Physical Address; PA)로 맵핑(mapping)하여 변환하고, 변환 결과에 따라 데이터 신호(DATA)를 대응되는 플래시 메모리(110)의 물리 어드레스(PA)에 라이트할 수 있다.
플래시 메모리(110)는 적어도 하나의 데이터 블록(111)과 적어도 하나의 로그(LOG) 블록(113)을 포함할 수 있다. 데이터 블록(111)과 로그 블록(113) 각각은 다수의 페이지들을 포함할 수 있다.
도 1 및 도 3을 참조하면, 플래시 메모리(110)는 제1 데이터 블록(111_1), 제2 데이터 블록(111_2) 및 로그 블록(113)을 포함할 수 있다. 제1 데이터 블록(111_1), 제2 데이터 블록(111_2) 및 로그 블록(113) 각각은 다수의 페이지들(P1, P2, P3)을 포함할 수 있다. 또한, 제1 데이터 블록(111_1)과 제2 데이터 블록(111_2) 각각은 데이터 영역(D1, D2)과 IBL(In Block Logging; IBL 영역(I1, I2)으로 구분될 수 있으며, 데이터 영역(D1, D2)과 IBL 영역(I1, I2) 각각은 다수의 페이지들(P1, P2, P3)을 포함할 수 있다.
제1 데이터 블록(111_1)의 데이터 영역(D1)과 제2 데이터 블록(111_2)의 데이터 영역(D2)에는 호스트(200)로부터 제공된 원 데이터 신호가 저장될 수 있으며, 제1 데이터 블록(111_1)의 IBL 영역(I1)과 제2 데이터 블록(111_2)의 IBL 영역(I2)에는 호스트(200)로부터 제공된 갱신 데이터 신호가 저장될 수 있다. 호스트(200)로부터 제공된 갱신 데이터 신호는 로그 블록(113)의 다수의 페이지들(P3) 각각에도 저장될 수 있다.
FTL(120)은 제어 모듈(130)과 맵핑 모듈(140)을 포함할 수 있다.
제어 모듈(130)은 호스트(200)로부터 제공된 데이터 신호(DATA)에 기초하여 제어 신호(CNT)를 출력할 수 있다. 제어 신호(CNT)는 맵핑 모듈(140)의 어드레스 맵핑 동작 또는 라이트 동작을 제어할 수 있다.
예컨대, 제어 모듈(130)로부터 출력된 제어 신호(CNT)는 맵핑 모듈(140)로 제공될 수 있다. 제어 신호(CNT)는 맵핑 모듈(140)에 의해 데이터 신호(DATA)가 플래시 메모리(110)에 라이트될 때, 데이터 신호(DATA)가 논리 어드레스(LA)에 대응되어 변환된 물리 어드레스(PA)를 가지는 데이터 블록에 라이트되거나, 또는 데이터 신호(DATA)가 후술될 확장된 데이터 블록에 라이트될 수 있도록 제어할 수 있다.
제어 모듈(130)은 데이터 판단부(131), 상태 판단부(133), 확장 선택부(135) 및 링크 제어부(137)를 포함할 수 있다.
데이터 판단부(131)는 호스트(200)로부터 제공된 데이터 신호(DATA)를 판단하고, 판단 결과에 따라 데이터 신호(DATA)의 저장 위치를 결정할 수 있다.
예컨대, 데이터 판단부(131)는 호스트(200)로부터 제공된 데이터 신호(DATA)가 원 데이터 신호인지 또는 갱신 데이터 신호인지를 판단할 수 있다. 또한, 판단 결과에 따라 데이터 신호(DATA)와 함께 제공된 논리 어드레스(LA)에 기초하여 데이터 신호(DATA)의 라이트 위치를 결정할 수 있다.
여기서, 원 데이터 신호는 플래시 메모리(110)의 데이터 블록 내에 하나의 논리 어드레스(LA)에 최초 기록되는 데이터이며, 갱신 데이터 신호는 플래시 메모리(110)의 데이터 블록 내에 동일한 논리 어드레스(LA)에 대하여 이미 기록된 데이 터가 있는 경우의 데이터를 의미할 수 있다.
예를 들어, 데이터 판단부(131)는 입력된 데이터 신호(DATA)가 원 데이터 신호이면, 데이터 신호(DATA)와 함께 입력된 논리 어드레스(LA)에 기초하여 대응되는 데이터 블록(111_1 또는 111_2)을 선택하고, 선택된 데이터 블록(111_1 또는 111_2)의 데이터 영역(D1 또는 D2)에 데이터 신호(DATA)가 저장되도록 결정할 수 있다.
또한, 데이터 판단부(131)는 입력된 데이터 신호(DATA)가 갱신 데이터 신호이면, 데이터 신호(DATA)와 함께 입력된 논리 어드레스(LA)에 기초하여 대응되는 데이터 블록(111_1 또는 111_2)을 선택하고, 선택된 데이터 블록(111_1 또는 111_2)의 IBL 영역(I1 또는 I2)에 데이터 신호(DATA)가 저장되도록 결정할 수 있다.
또한, 데이터 판단부(131)는 입력된 데이터 신호(DATA)가 갱신 데이터 신호일 때, 원래의 데이터 블록, 즉 데이터 신호(DATA)와 함께 입력된 논리 어드레스(LA)에 대응되는 데이터 블록이 아닌 확장된 데이터 블록(111_2)의 IBL 영역(I2)에 데이터 신호(DATA)가 저장되도록 결정할 수 있다.
예컨대, 데이터 판단부(131)는 후술될 상태 판단부(133)로부터 제공된 분류 정보(AI)에 기초하여 데이터 신호(DATA)가 저장되는 데이터 블록을 확장할 것인지를 결정할 수 있다.
만약 데이터 판단부(131)에 입력되는 데이터 신호(DATA)가 갱신 데이터 신호이고 분류 정보(AI)에 기초하여 데이터 블록을 확장하여야 한다면, 데이터 판단 부(131)는 확장 신호(ES)를 출력할 수 있다. 확장 신호(ES)는 후술될 확장 선택부(135)로 입력되고, 확장 선택부(135)는 확장 신호(ES)에 따라 플래시 메모리(110)의 다수의 데이터 블록들(111_1, 111_2) 중에서 하나의 데이터 블록을 확장 데이터 블록으로 선택할 수 있다.
상태 판단부(133)는 플래시 메모리(110)로부터 제공된 상태 정보(SI), 예컨대 다수의 데이터 블록들(111_1, 111_2)에 대한 상태 정보에 기초하여 다수의 데이터 블록들(111_1, 111_2)을 제1 그룹과 제2 그룹으로 분류할 수 있고, 분류 정보(AI)를 출력할 수 있다. 플래시 메모리(110)로부터 제공되는 상태 정보(SI)에는 플래시 메모리(110)의 다수의 데이터 블록들(111_1, 111_2) 각각이 가지고 있는 남은 저장 공간 정보, 예컨대 남아있는 페이지 정보를 포함할 수 있다.
상태 판단부(133)에 의하여 분류된 제1 그룹과 제2 그룹 각각은 다수의 데이터 블록들을 포함할 수 있다. 제1 그룹과 제2 그룹은 외부에 의하여 억세스(Acess)되는 횟수에 따라 분류될 수 있는데, 예컨대 제1 그룹의 다수의 데이터 블록들은 제2 그룹의 다수의 데이터 블록들에 비하여 억세스 횟수가 많을 수 있다.
상태 판단부(133)는 상술한 바와 같이 제1 그룹과 제2 그룹으로 다수의 데이터 블록들을 분류한 분류 정보(AI)를 출력할 수 있다. 분류 정보(AI)에는 플래시 메모리(110)로부터 제공된 제1 그룹과 제2 그룹 각각에 포함된 다수의 데이터 블록들(111_1, 111_2) 각각의 상태 정보(SI), 즉 다수의 데이터 블록들(111_1, 111_2) 각각에 남은 저장 공간 정보, 예컨대 남은 페이지 정보가 포함될 수 있다.
확장 선택부(135)는 데이터 판단부(131)로부터 확장 신호(ES)가 출력되면, 확장 신호(ES)에 기초하여 플래시 메모리(110)의 다수의 데이터 블록들(111_1, 111_2) 중에서 하나의 데이터 블록을 확장 데이터 블록으로 선택할 수 있다.
예컨대, 데이터 판단부(131)와 확장 선택부(135)는 상태 판단부(133)로부터 분류 정보(AI)를 제공받을 수 있다. 데이터 판단부(131)가 입력되는 데이터 신호(DATA)와 분류 정보(AI)에 기초하여 확장 신호(ES)를 확장 선택부(135)로 출력하면, 확장 선택부(135)는 분류 정보(AI)에 기초하여 제1 그룹과 제2 그룹으로 분류된 다수의 데이터 블록들 중에서 하나의 데이터 블록을 확장 데이터 블록으로 선택할 수 있다.
여기서, 확장 선택부(135)는 제2 그룹의 다수의 데이터 블록들 중에서 하나의 데이터 블록(111_2)을 확장 데이터 블록으로 선택할 수 있다. 확장 선택부(135)는 선택된 확장 데이터 블록의 어드레스(A111_2)를 포함하는 선택 신호(SS)를 출력할 수 있다.
링크 제어부(137)는 확장 선택부(135)로부터 출력된 선택 신호(SS)에 기초하여 맵핑 모듈(140)의 어드레스 맵핑 동작을 제어할 수 있는 제어 신호(CNT)를 출력할 수 있다.
예컨대, 링크 제어부(137)는 맵핑 모듈(140)이 데이터 신호(DATA)를 논리 어드레스(LA)에 대응되는 물리 어드레스(PA)를 가지는 데이터 블록에 라이트 동작을 수행함에 있어서, 확장 선택부(135)로부터 출력된 선택 신호(SS)에 따라 확장 데이터 블록의 어드레스(A111_2)를 함께 라이트 하도록 제어하기 위한 제어 신호(CNT)를 출력할 수 있다.
즉, 맵핑 모듈(140)은 링크 제어부(137)로부터 출력된 제어 신호(CNT)에 기초하여 호스트(200)로부터 입력된 데이터 신호(DATA)와 함께 확장 선택부(135)에 의하여 선택된 확장 데이터 블록의 어드레스(A111_2)를 라이트할 수 있다.
맵핑 모듈(140)은 링크 제어부(137)로부터 출력되는 제어 신호(CNT)에 기초하여 호스트(200)로부터 출력되는 논리 어드레스(LA)를 물리 어드레스(PA)로 어드레스 맵핑하고, 맵핑 결과에 따라 데이터 신호(DATA)를 이에 대응되는 물리 어드레스(PA)에 의하여 지정된 플래시 메모리(110)의 데이터 블록에 라이트할 수 있다.
맵핑 모듈(140)은 호스트(200)로부터 출력되는 논리 어드레스(LA)를 물리 어드레스(PA)로 맵핑할 수 있는 어드레스 맵핑부(미도시)를 포함할 수 있다. 어드레스 맵핑부는 다양한 어드레스 맵핑 방법을 이용하여 논리 어드레스(LA)를 물리 어드레스(PA)로 맵핑할 수 있다. 예컨대, 어드레스 맵핑부는 페이지 맵핑 방법(Page Mapping Method), 블록 맵핑 방법(Block Mapping Method) 및 하이브리드 맵핑 방법(Hybrid Mapping Method) 중에서 하나의 맵핑 방법을 이용하여 어드레스 맵핑 동작을 수행할 수 있다.
페이지 맵핑 방법은 페이지 단위로 어드레스 맵핑 동작을 수행하는 방법이고, 블록 맵핑 방법은 블록 단위로 어드레스 맵핑 동작을 수행하는 방법이며, 하이브리드 맵핑 방법은 페이지 맵핑 방법과 블록 맵핑 방법을 혼합하여 어드레스 맵핑 동작을 수행하는 방법이다.
여기서, 하이브리드 맵핑 방법은 호스트(200)로부터 제공된 데이터 신호(DATA)가 원 데이터 신호이면 블록 맵핑 방법을 이용하여 어드레스 맵핑 동작을 수행하고, 호스트(200)로부터 제공된 데이터 신호(DATA)가 갱신 데이터 신호이면 페이지 맵핑 방법을 이용하여 어드레스 맵핑 동작을 수행할 수 있다. 본 실시예에서는 하나의 예로써, 맵핑 모듈(140)이 하이브리드 맵핑 방법을 이용하는 예를 들어 설명한다.
어드레스 맵핑부에 의하여 논리 어드레스(LA)가 물리 어드레스(PA)로 변환되면, 맵핑 모듈(140)은 변환된 물리 어드레스(PA)에 기초하여 데이터 신호(DATA)를 플래시 메모리(110)의 데이터 블록에 라이트할 수 있다.
이하에서, 상술한 데이터 저장 시스템의 라이트 동작에 대하여 상세히 설명한다.
도 4는 도 1에 도시된 데이터 저장 시스템의 동작 순서도이다.
도 1 내지 도 4를 참조하면, 호스트(200)는 데이터 저장 장치(100)로 데이터 신호(DATA)와 이에 대응되는 논리 어드레스(LA)를 함께 출력할 수 있다(S10).
데이터 저장 장치(100)의 FTL(120)은 입력되는 데이터 신호(DATA)를 판단할 수 있다(S20).
예컨대, 데이터 신호(DATA)는 FTL(120)의 제어 모듈(130)로 입력될 수 있다. 제어 모듈(130)의 데이터 판단부(131)는 입력된 데이터 신호(DATA)가 원 데이터 신호인지 또는 갱신 데이터 신호인지를 판단할 수 있다.
데이터 판단부(131)의 판단 결과, 입력된 데이터 신호(DATA)가 원 데이터 신호이면, 데이터 판단부(131)는 데이터 신호(DATA)가 플래시 메모리(110)의 데이터 블록의 데이터 영역에 저장 되도록 결정할 수 있다.
맵핑 모듈(140)은 변환된 물리 어드레스(PA), 즉 데이터 신호(DATA)와 함께 입력된 논리 어드레스(LA)가 어드레스 맵핑을 통하여 변환된 물리 어드레스(PA)에 기초하여 데이터 신호(DATA)를 데이터 블록의 데이터 영역에 라이트할 수 있다.
여기서, 플래시 메모리(110)는 FTL(120)의 상태 판단부(133)에 의하여 분류된 제1 그룹과 제2 그룹을 포함할 수 있으며, 맵핑 모듈(140)은 플래시 메모리(110)의 제1 그룹에 포함된 하나의 데이터 블록(111_1)의 데이터 영역(D1)에 데이터 신호(DATA)를 라이트할 수 있다.
도 3을 참조하면, 호스트(200)로부터 입력된 데이터 신호(DATA)가 4이고, 데이터 판단부(131)의 판단 결과 원 데이터 신호이면, 데이터 신호(DATA)는 맵핑 모듈(140)에 의하여 플래시 메모리(110)의 제1 그룹 내의 하나의 데이터 블록(111_1)의 데이터 영역(D1)에 포함된 다수의 페이지들 중에서 하나의 페이지에 라이트될 수 있다.
한편, 데이터 판단부(131)의 판단 결과, 입력된 데이터 신호(DATA)가 갱신 데이터 신호이면, 데이터 판단부(131)는 상태 판단부(133)로부터 제공된 분류 정보(AI)를 참조하여 데이터 신호(DATA)가 라이트 될 데이터 블록의 현재 상태, 즉 남아 있는 페이지 개수를 판단할 수 있다(S30).
예컨대, 데이터 판단부(131)는 상태 판단부(133)로부터 제공된 분류 정보(AI)를 참조하여 데이터 신호(DATA)가 라이트될 데이터 블록의 IBL 영역의 남은 페이지 개수를 판단할 수 있다. 이때, 데이터 판단부(131)는 데이터 블록의 페이지 오프셋(page offset)을 확인하는 방법으로 남은 페이지 개수를 판단할 수 있다.
데이터 판단부(131)가 남은 페이지 개수를 판단한 결과 남은 페이지 개수가 1보다 크면(예컨대, 남은 페이지 개수가 1보다 큰 자연수이면), 데이터 판단부(131)는 데이터 신호(DATA)가 데이터 블록의 IBL 영역에 저장 되도록 결정할 수 있다.
맵핑 모듈(140)은 변환된 물리 어드레스(PA), 즉 데이터 신호(DATA)와 함께 입력된 논리 어드레스(LA)가 어드레스 맵핑을 통하여 변환된 물리 어드레스(PA)에 기초하여 데이터 신호(DATA)를 데이터 블록의 IBL 영역에 라이트할 수 있다.
여기서, 맵핑 모듈(140)은 플래시 메모리(110)의 제1 그룹에 포함된 하나의 데이터 블록(111_1)의 IBL 영역(I1)에 데이터 신호(DATA)를 라이트할 수 있다.
도 3을 참조하면, 호스트(200)로부터 입력된 데이터 신호(DATA)가 4'이고, 데이터 판단부(131)의 판단 결과 갱신 데이터 신호이며, 데이터 신호(DATA)가 라이트 될 플래시 메모리(110)의 제1 그룹의 데이터 블록(111_1)의 IBL 영역(I1)에 남아 있는 페이지 개수가 1보다 크면, 데이터 신호(DATA)는 맵핑 모듈(140)에 의하여 IBL 영역(I1)에 포함된 다수의 페이지들 중에서 하나의 페이지에 라이트될 수 있다.
그러나, 데이터 판단부(131)가 상태 판단부(133)로부터 제공된 분류 정보(AI)를 참조하여 데이터 블록의 IBL 영역의 남은 페이지 개수를 판단한 결과 남은 페이지 개수가 1이면, 데이터 판단부(131)는 다수의 데이터 블록들 중에서 하나의 데이터 블록을 확장 데이터 블록으로 선택하기 위한 확장 신호(ES)를 출력할 수 있다.
데이터 판단부(131)로부터 출력된 확장 신호(ES)는 확장 선택부(135)로 제공될 수 있으며, 확장 선택부(135)는 확장 신호(ES)에 기초하여 상태 판단부(133)에 의하여 분류된 다수의 데이터 블록들 중에서 하나의 데이터 블록을 확장 데이터 블록으로 선택할 수 있다(S40).
예컨대, 확장 선택부(135)는 데이터 판단부(131)로부터 확장 신호(ES)가 출력되면, 상태 판단부(133)에 의하여 분류된 제1 그룹과 제2 그룹 각각의 데이터 블록 중에서 하나의 데이터 블록을 확장 데이터 블록으로 선택할 수 있다. 이때, 확장 선택부(135)는 선택된 확장 데이터 블록의 어드레스를 포함하는 선택 신호(SS)를 링크 제어부(137)로 출력할 수 있다.
도 3을 참조하면, 호스트(200)로부터 입력된 데이터 신호(DATA)가 7'이고, 데이터 판단부(131)의 판단 결과 갱신 데이터 신호이며, 데이터 신호(DATA)가 라이트 될 플래시 메모리(110)의 제1 그룹의 데이터 블록(111_1)의 IBL 영역(I1)에 남은 페이지 개수가 1이면, 데이터 판단부(131)는 확장 신호(ES)를 출력할 수 있다.
확장 선택부(135)는 확장 신호(ES)에 따라 제1 그룹의 데이터 블록(111_1)과 제2 그룹의 데이터 블록(111_2) 중에서 제2 그룹의 데이터 블록(111_2)을 확장 데이터 블록으로 선택할 수 있다.
확장 선택부(135)는 제2 그룹의 데이터 블록(111_2)을 확장 데이터 블록으로 선택하는 선택 신호(SS)를 출력할 수 있는데, 선택 신호(SS)는 확장 데이터 블록, 즉 제2 그룹의 데이터 블록(111_2)의 어드레스(A111_2)를 포함할 수 있다.
확장 선택부(135)에 의하여 확장 데이터 블록이 선택되면, 링크 제어부(137) 는 선택 신호(SS)에 기초하여 제어 신호(CNT)를 출력할 수 있다. 제어 신호(CNT)에는 확장된 데이터 블록, 즉 제2 그룹의 데이터 블록(111_2)의 어드레스(A111_2)가 포함될 수 있다.
맵핑 모듈(140)은 제어 신호(CNT)에 기초하여 변환된 물리 어드레스(PA)를 가지는 데이터 블록, 예컨대 제1 그룹의 데이터 블록(111_1)의 IBL 영역(I1)에 데이터 신호(DATA)와 확장된 데이터 블록의 어드레스(A111_2)를 함께 라이트할 수 있다.
맵핑 모듈(140)은 제어 신호(CNT)에 기초하여 변환된 물리 어드레스(PA)에 대응되는 플래시 메모리(110)의 데이터 블록의 IBL 영역에 데이터 신호(DATA)와 확장된 데이터 블록의 어드레스를 함께 라이트할 수 있다(S45).
예컨대, 확장 선택부(135)는 선택된 확장 데이터 블록, 즉 제2 그룹의 데이터 블록(111_2)의 어드레스(A111_2)를 포함하는 선택 신호(SS)를 링크 제어부(137)로 출력하고, 링크 제어부(137)는 선택 신호(SS)에 기초하여 제어 신호(CNT)를 맵핑 모듈(140)로 출력할 수 있다.
맵핑 모듈(140)은 변환된 물리 어드레스(PA)에 대응되는 데이터 블록, 즉 제1 그룹의 데이터 블록(111_1)의 IBL 영역(I1)에 데이터 신호(DATA)와 링크 제어부(137)로부터 제공된 제어 신호(CNT)에 포함된 확장 데이터 블록의 어드레스(A111_2)를 함께 라이트할 수 있다.
도 3을 참조하면, 링크 제어부(137)는 확장된 제2 그룹의 데이터 블록(111_2)의 어드레스(A111_2)를 포함하는 제어 신호(CNT)를 맵핑 모듈(140)로 출 력할 수 있다.
맵핑 모듈(140)은 제어 신호(CNT)에 따라 변환된 물리 어드레스(PA)에 대응되는 데이터 블록, 즉 제1 그룹의 데이터 블록(111_1)의 IBL 영역(I1)에 데이터 신호(DATA) 7'와 확장된 제2 그룹의 데이터 블록(111_2) 어드레스(A111_2)를 함께 라이트할 수 있다.
한편, 호스트(200)로부터 새로운 데이터 신호(DATA) 4''가 입력되고, 데이터 판단부(131)의 판단 결과 갱신 데이터 신호이면, 데이터 판단부(131)는 앞서 호스트(200)로부터 입력된 데이터 신호(DATA) 7'와 함께 제1 그룹의 데이터 블록(111_1)의 IBL 영역(I1)에 라이트 된 제2 그룹의 데이터 블록(111_2)의 어드레스(A111_2)를 참조할 수 있다.
참조 결과에 따라 데이터 판단부(131)는 새로운 데이터 신호(DATA) 4''가 확장 데이터 블록, 즉 제2 그룹의 데이터 블록(111_2)의 IBL 영역(I2)에 저장되도록 결정할 수 있다. 이에 따라, 맵핑 모듈(140)은 새로운 데이터 신호(DATA) 4''를 제2 그룹의 데이터 블록(111_2)의 IBL 영역(I2)에 라이트할 수 있다.
상술한 바와 같이, 본 실시예들에 따른 데이터 저장 시스템(300)에서는, 억세스 횟수가 떨어지는 플래시 메모리(110)의 데이터 블록, 예컨대 제2 그룹으로 분류된 데이터 블록(111_2)를 확장 데이터 블록으로 이용하게 된다. 이에 따라 데이터 저장 장치(200)는 로그 블록(113)이 아닌 확장 데이터 블록에 호스트(200)로부터 입력되는 갱신 데이터 신호를 저장할 수 있게 되며, 머지 동작의 횟수를 감소시킬 수 있다.
한편, 호스트(200)로부터 제1 그룹의 데이터 블록(111_1)에 저장된 데이터들을 갱신하기 위하여 데이터 신호(DATA)가 계속 입력되고, 이에 따라 확장 데이터 블록의 IBL 영역에 남은 페이지 개수가 1이 된다면, 확장 선택부(135)는 다시 한번 확장 데이터 블록을 선택할 수 있다.
예컨대, 도 3을 참조하면, 호스트(200)로부터 입력된 데이터 신호(DATA)에 의해 확장된 제2 그룹의 데이터 블록(111_2)의 IBL 영역(I2)에 남은 페이지가 개수가 1이라면, 데이터 판단부(131)는 다시 한번 확장 신호(ES)를 출력할 수 있으며, 확장 선택부(135)는 확장 신호(ES)에 기초하여 확장 데이터 블록을 다시 한번 선택할 수 있다.
이때, 확장 선택부(135)는 플래시 메모리(110)의 로그 블록(113)을 확장 데이터 블록으로 선택할 수 있으며, 실시예에 따라서는 제2 그룹의 나머지 데이터 블록들, 예컨대 이미 확장된 제2 그룹의 데이터 블록(111_2)을 제외한 나머지 데이터 블록들 중에서 하나의 데이터 블록을 확장 데이터 블록으로 선택할 수도 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 데이터 저장 시스템의 개략적인 블록도이다.
도 2는 도 1에 도시된 제어 모듈의 개략적인 블록도이다.
도 3은 도 1에 도시된 플래시 메모리의 개략적인 도면이다.
도 4는 도 1에 도시된 데이터 저장 시스템의 동작 순서도이다.

Claims (7)

  1. 다수의 데이터 블록들을 포함하는 플래시 메모리; 및
    상기 다수의 데이터 블록들을 제1 그룹의 데이터 블록과 제2 그룹의 데이터 블록으로 분류하고, 외부로부터 입력되는 데이터 신호의 판단 결과에 따라 상기 데이터 신호를 상기 제1 그룹의 데이터 블록에 기록하거나 또는 상기 데이터 신호를 상기 제1 그룹의 데이터 블록으로부터 확장된 상기 제2 그룹의 데이터 블록에 기록하는 플래시 변환 레이어를 포함하는 데이터 저장 장치.
  2. 제1 항에 있어서, 상기 플래시 변환 레이어는,
    상기 데이터 신호를 판단하고, 판단 결과에 따라 상기 데이터 신호의 기록 위치를 결정하는 데이터 판단부;
    상기 다수의 데이터 블록들을 상기 제1 그룹의 데이터 블록과 상기 제2 그룹의 데이터 블록으로 분류하는 상태 판단부;
    상기 상태 판단부의 분류 결과에 기초하여 상기 제2 그룹의 데이터 블록을 확장 데이터 블록으로 선택하는 확장 선택부; 및
    선택된 확장 데이터 블록의 어드레스를 포함하는 제어 신호를 출력하는 링크 제어부를 포함하는 데이터 저장 장치.
  3. 제2 항에 있어서,
    상기 플래시 변환 레이어는 상기 데이터 신호를 상기 다수의 데이터 블록들 중에서 하나의 데이터 블록에 기록하기 위한 맵핑 모듈을 더 포함하고,
    상기 맵핑 모듈은 상기 링크 제어부로부터 출력된 상기 제어 신호에 기초하여 상기 하나의 데이터 블록에 상기 데이터 신호와 상기 선택된 확장 데이터 블록의 어드레스를 함께 기록하는 데이터 저장 장치.
  4. 제3 항에 있어서, 상기 플래시 변환 레이어는 상기 외부로부터 상기 데이터 신호와 논리 어드레스를 함께 입력받고,
    상기 맵핑 모듈은 상기 논리 어드레스를 맵핑하고, 맵핑 결과에 기초하여 상기 하나의 데이터 블록에 상기 데이터 신호와 상기 선택된 확장 데이터 블록의 어드레스를 함께 기록하는 데이터 저장 장치.
  5. 제2 항에 있어서, 상기 다수의 데이터 블록들 각각은 데이터 영역과 IBL 영역을 포함하고,
    상기 데이터 판단부는, 상기 데이터 신호가 원 데이터 신호이면 상기 데이터 신호를 상기 데이터 영역에 기록하도록 결정하고, 상기 데이터 신호가 갱신 데이터 신호이면 상기 데이터 신호를 상기 IBL 영역에 기록하도록 결정하는 데이터 저장 장치.
  6. 제2 항에 있어서, 상기 다수의 데이터 블록들 각각은 데이터 영역과 IBL 영 역을 포함하고, 상기 데이터 영역과 상기 IBL 영역 각각은 다수의 페이지들을 포함하며,
    상기 데이터 판단부는, 상기 데이터 신호가 갱신 데이터 신호이고 상기 데이터 블록의 상기 IBL 영역의 남은 페이지 개수가 1이면, 상기 데이터 신호가 기록될 상기 데이터 블록을 확장하기 위한 확장 신호를 출력하고,
    상기 확장 선택부는 상기 데이터 판단부로부터 출력된 상기 확장 신호와 상기 상태 판단부의 분류 결과에 기초하여 상기 제2 그룹의 데이터 블록을 상기 확장 데이터 블록으로 선택하는 데이터 저장 장치.
  7. 데이터 신호와 논리 어드레스를 출력하는 호스트; 및
    상기 호스트로부터 제공된 상기 데이터 신호를 정해진 위치에 기록하는 데이터 저장 장치를 포함하고,
    상기 데이터 저장 장치는,
    다수의 데이터 블록들을 포함하는 플래시 메모리; 및
    상기 다수의 데이터 블록들을 제1 그룹의 데이터 블록과 제2 그룹의 데이터 블록으로 분류하고, 상기 데이터 신호의 판단 결과에 따라 상기 데이터 신호를 상기 제1 그룹의 데이터 블록에 기록하거나 또는 상기 데이터 신호를 상기 제1 그룹의 데이터 블록으로부터 확장된 상기 제2 그룹의 데이터 블록에 기록하는 플래시 변환 레이어를 포함하는 데이터 저장 시스템.
KR1020090032771A 2009-04-15 2009-04-15 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템 KR101574540B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090032771A KR101574540B1 (ko) 2009-04-15 2009-04-15 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템
US12/754,753 US8595412B2 (en) 2009-04-15 2010-04-06 Data storage device and data storage system including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090032771A KR101574540B1 (ko) 2009-04-15 2009-04-15 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템

Publications (2)

Publication Number Publication Date
KR20100114305A true KR20100114305A (ko) 2010-10-25
KR101574540B1 KR101574540B1 (ko) 2015-12-07

Family

ID=42981845

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090032771A KR101574540B1 (ko) 2009-04-15 2009-04-15 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템

Country Status (2)

Country Link
US (1) US8595412B2 (ko)
KR (1) KR101574540B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582593A (zh) * 2018-11-05 2019-04-05 华侨大学 一种基于计算的ftl地址映射方法及数据读、写方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130282956A1 (en) * 2012-04-20 2013-10-24 Pradeep Ramdeo Automobile MP3 System
KR20170130138A (ko) * 2016-05-18 2017-11-28 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
CN118170693A (zh) * 2022-12-08 2024-06-11 深圳大普微电子科技有限公司 物理地址映射方法及组件,数据处理方法及组件

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526599B2 (en) * 2002-10-28 2009-04-28 Sandisk Corporation Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
US7111147B1 (en) * 2003-03-21 2006-09-19 Network Appliance, Inc. Location-independent RAID group virtual block management
US7383375B2 (en) * 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
KR100684887B1 (ko) * 2005-02-04 2007-02-20 삼성전자주식회사 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법
KR20090121631A (ko) * 2008-05-22 2009-11-26 삼성전자주식회사 반도체 메모리 장치, 메모리 시스템 및 그것의 데이터 복구방법
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
KR20080033649A (ko) 2006-10-12 2008-04-17 삼성전자주식회사 머지 빈도를 줄일 수 있는 플래쉬 메모리 시스템 및 그관리 방법
KR100885181B1 (ko) 2007-02-06 2009-02-23 삼성전자주식회사 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법
US8095723B2 (en) * 2007-02-16 2012-01-10 Electronics And Telecommunications Research Institute Log-based flash translation layer and operating method thereof
KR101477047B1 (ko) * 2008-02-29 2014-12-30 삼성전자주식회사 메모리 시스템 및 그것의 블록 병합 방법
US8838876B2 (en) * 2008-10-13 2014-09-16 Micron Technology, Inc. Translation layer in a solid state storage device
KR101028929B1 (ko) * 2008-12-31 2011-04-12 성균관대학교산학협력단 실시간 시스템을 위한 로그 블록 연관성 분산 방법 및 이를수행하는 플래시 메모리 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582593A (zh) * 2018-11-05 2019-04-05 华侨大学 一种基于计算的ftl地址映射方法及数据读、写方法
CN109582593B (zh) * 2018-11-05 2022-09-30 华侨大学 一种基于计算的ftl地址映射读、写方法

Also Published As

Publication number Publication date
US20100268870A1 (en) 2010-10-21
KR101574540B1 (ko) 2015-12-07
US8595412B2 (en) 2013-11-26

Similar Documents

Publication Publication Date Title
KR101303524B1 (ko) 불휘발성 메모리에 대한 메타데이터 리던던시 스킴
US8332573B2 (en) Method and apparatus for performing address mapping in virtual file system of storage unit having a plurality of non-volatile data storage media
US8650379B2 (en) Data processing method for nonvolatile memory system
US9405485B2 (en) Method and apparatus for writing data to a flash memory
KR100533682B1 (ko) 플래시 메모리의 데이터 관리 장치 및 방법
US9671961B2 (en) Memory controller, storage apparatus, information processing system, and control method for the same
US20100161887A1 (en) Storage device, control method thereof, and electronic device using storage device
JP2012517645A (ja) 半導体ディスクシステムのバッファキャッシュプログラミング方法およびバッファキャッシュプログラミング装置
US8495286B2 (en) Write buffer for improved DRAM write access patterns
KR101374065B1 (ko) 칩 레벨 평행 플래시 메모리를 위한 정보 분별 방법 및 장치
KR101543246B1 (ko) 데이터 저장 장치의 동작 방법 및 이에 따른 데이터 저장 장치
US9558124B2 (en) Data storage system with passive partitioning in a secondary memory
KR20120081351A (ko) Ftl을 수행하는 비휘발성 메모리 장치 및 그의 제어 방법
JP2008198200A (ja) データストレ−ジを管理するためのシステム及び方法
CN113419675B (zh) 用于存储器的写操作方法及读操作方法
KR20100114305A (ko) 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템
CN114036079B (zh) 映射表压缩方法、系统、存储器控制器、固态硬盘及数据读取方法
CN102362263A (zh) Ssd控制器与ssd控制器的操作方法
US11010069B2 (en) Information processing apparatus and method for managing memory using address conversion
US20170115925A1 (en) Valid data merging method, memory controller and memory storage apparatus
JP6100927B2 (ja) 情報処理装置
US8832358B2 (en) Data writing method, memory controller and memory storage apparatus
CN104424124A (zh) 内存装置、电子设备和用于控制内存装置的方法
KR100479170B1 (ko) 메모리 억세스 제어장치 및 방법
US9836220B2 (en) Data processing system and method of operating the same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
LAPS Lapse due to unpaid annual fee