KR101469771B1 - 플래시 메모리를 포함하는 반도체 장치 및 이의 어드레스 사상 방법 - Google Patents

플래시 메모리를 포함하는 반도체 장치 및 이의 어드레스 사상 방법 Download PDF

Info

Publication number
KR101469771B1
KR101469771B1 KR1020080122041A KR20080122041A KR101469771B1 KR 101469771 B1 KR101469771 B1 KR 101469771B1 KR 1020080122041 A KR1020080122041 A KR 1020080122041A KR 20080122041 A KR20080122041 A KR 20080122041A KR 101469771 B1 KR101469771 B1 KR 101469771B1
Authority
KR
South Korea
Prior art keywords
log
type
unit
block
logical address
Prior art date
Application number
KR1020080122041A
Other languages
English (en)
Other versions
KR20100063495A (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 KR1020080122041A priority Critical patent/KR101469771B1/ko
Priority to US12/629,268 priority patent/US8239616B2/en
Publication of KR20100063495A publication Critical patent/KR20100063495A/ko
Application granted granted Critical
Publication of KR101469771B1 publication Critical patent/KR101469771B1/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash 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

Abstract

플래시 메모리를 포함하는 반도체 장치 및 이의 어드레스 사상 방법이 개시된다. 본 발명의 실시예에 따른 플래시 메모리를 포함하는 반도체 장치는 상기 반도체 장치의 프로세서의 요청에 따라 서로 다른 타입(type)의 제 1 로그 방식 및 제 2 로그 방식 중 하나를 선택하여 제어 신호로 출력하는 로그 타입 결정부; 상기 제어 신호가 상기 제 1 로그 방식이 선택되었음을 나타내는 경우, 상기 플래시 메모리로의 프로그램을 위한 논리 주소 및 프로그램 데이터를 수신하여 대응되는 로그 블럭에 기입하는 제 1 타입 로그부; 상기 제어 신호가 상기 제 2 로그 방식이 선택되었음을 나타내는 경우, 상기 플래시 메모리로의 프로그램을 위한 논리 주소 및 프로그램 데이터를 수신하여 대응되는 로그 블럭에 기입하는 제 2 타입 로그부; 및 상기 제어 신호에 포함되는 컨버젼 요청에 응답하여 상기 제 1 타입 로그부 및 상기 제 2 타입 로그부 중 하나의 로그부에 속하는 로그 블럭을 다른 하나의 로그부의 로그 블럭으로 변환하는 머지부를 구비한다.

Description

플래시 메모리를 포함하는 반도체 장치 및 이의 어드레스 사상 방법{Semiconductor device comprising flash memory and address mapping method thereof}
본 발명은 반도체 장치에 관한 것으로서, 특히 서로 다른 로그 방식 간의 저장 공간을 효율적으로 할당할 수 있는 플래시 메모리를 포함하는 반도체 장치 및 이의 어드레스 사상 방법에 관한 것이다.
플래시 메모리는 프로그램 동작을 수행하기 전에 반드시 소거 동작이 선행되어야 한다. 그런데, 플래시 메모리의 프로그램 및 독출은 페이지 단위로 수행되는 반면, 소거 동작은 블럭 단위로 수행된다. 따라서, 플래시 메모리로의 프로그램 동작시,프로그램하고자 하는 논리주소를 삭제 연산이 수행된 물리주소로 맵핑(mapping)키시는 플래시 변한 계층(FTL: Flash Translation Layer)이 사용된다.
FTL 알고리즘으로 대표적인 것으로 로그 블럭 사상법이 있다. 로그 블럭 사상법은 한정된 수의 로그 블럭을 기입 버퍼로 이용하는 블럭 사상법이다.
본 발명이 이루고자하는 기술적 과제는 서로 다른 로그 방식 간의 저장 공간을 효율적으로 할당할 수 있는 플래시 메모리를 포함하는 반도체 장치 및 이의 어드레스 사상 방법을 제공하는 것에 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 플래시 메모리를 포함하는 반도체 장치는 상기 반도체 장치의 프로세서의 요청에 따라 서로 다른 타입(type)의 제 1 로그 방식 및 제 2 로그 방식 중 하나를 선택하여 제어 신호로 출력하는 로그 타입 결정부; 상기 제어 신호가 상기 제 1 로그 방식이 선택되었음을 나타내는 경우, 상기 플래시 메모리로의 프로그램을 위한 논리 주소 및 프로그램 데이터를 수신하여 대응되는 로그 블럭에 기입하는 제 1 타입 로그부; 상기 제어 신호가 상기 제 2 로그 방식이 선택되었음을 나타내는 경우, 상기 플래시 메모리로의 프로그램을 위한 논리 주소 및 프로그램 데이터를 수신하여 대응되는 로그 블럭에 기입하는 제 2 타입 로그부; 및 상기 제어 신호에 포함되는 컨버젼 요청에 응답하여 상기 제 1 타입 로그부 및 상기 제 2 타입 로그부 중 하나의 로그부에 속하는 로그 블럭을 다른 하나의 로그부의 로그 블럭으로 변환하는 머지부를 구비한다.
바람직하게는, 상기 제 1 로그 방식은 상기 플래시 메모리로의 프로그램을 위한 논리 주소에 대하여 랜덤하게 로그 블럭을 형성하는 로그 방식이고, 상기 제 2 로그 방식은 상기 플래시 메모리로의 프로그램을 위한 논리 주소에 대하여 순차적으로 로그 블럭을 형성하는 로그 방식일 수 있다.
바람직하게는, 상기 머지부는 하나의 로그부의 로그 블럭에 저장된 페이지를 다른 하나의 로그부의 로그 블럭에 저장하여 변환 동작을 수행할 수 있다. 또는, 상기 머지부는 상기 로그 블럭과 상기 로그 블럭에 대응되는 페이지 주소에 대한 맴핑 정보를 저장하는 맵핑 테이블에서, 하나의 로그부에 대한 제 1 맵핑부에 저장된 맵핑 정보를 다른 하나의 로그부에 대한 제 2 맵핑부에 저장하여 변환 동작을 수행할 수 있다.
바람직하게는, 상기 로그 타입 결정부는 상기 논리 주소가 상기 제 2 타입 로그부의 로그 블럭에 저장된 페이지들의 논리 주소에 상응하고 연속적인 경우, 상기 논리 주소에 대한 로그 타입을 제 2 타입으로 선택할 수 있다. 반면, 상기 로그 타입 결정부는 상기 논리 주소가 상기 제 2 타입 로그부의 로그 블럭에 저장된 페이지들의 논리 주소에 상응하나 연속적이지 아니한 경우, 상응하는 로그 블럭의 카피 머지 여부를 판단하고, 카피 머지가 가능하지 아니하다면 상기 컨버젼 요청을 포함하여 상기 제어 신호를 생성할 수 있다.
또한, 상기 로그 타입 결정부는 상기 논리 주소가 상기 제 2 타입 로그부의 로그 블럭에 저장된 페이지들의 논리 주소에 상응하지 아니하는 경우, 상기 프로그램 데이터의 크기에 따라 상기 제 1 타입을 선택하거나 상기 제 2 타입을 선택할 수 있다. 이때, 상기 로그 타입 결정부는 상기 프로그램 데이터가 소정 크기 이상이면 상기 제 2 타입을 선택하고, 상기 제 2 타입 로그부에 새로운 로그 블럭이 형 성되도록 제어 신호를 설정할 수 있다.
바람직하게는, 상기 제 1 타입 로그부 또는 상기 제 2 타입 로그부의 머지 요청에 응답하여 전송되는 로그 블럭을 저장하는 데이터 블럭이 더 구비될 수 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명이 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 실시예에 따른 반도체 장치의 일부를 나타내는 블럭도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 반도체 장치(100)는 로그 타입 결정부(110), 제 1 타입 로그부(120), 제 2 타입 로그부(130) 및 데이터 블럭(150)을 구비한다. 이때, 로그 타입 결정부(110), 제 1 타입 로그부(120) 및 제 2 타입 로그부(130)는 도 1의 반도체 장치(100)에 포함되는 컨트롤러(미도시)에 구비될 수 있고, 데이터 블럭(150)은 도 1의 반도체 장치(100)에 포함되는 플래시 메모리(미도시)에 구비될 수 있다. 다만, 이에 한정되는 것은 아니고, 로그 타입 결정부(110), 제 1 타입 로그부(120) 및 제 2 타입 로그부(130)도 플래시 메모리에 구 비될 수도 있다.
로그 타입 결정부(110)는 반도체 장치(100)의 프로세서(미도시)의 요청에 따라, 서로 다른 타입(type)의 로그 스킴(log scheme)들 중 하나를 선택할 수 있다. 예를 들어, 로그 타입 결정부(110)는 논리 주소(LBA)에 랜덤(random)하게 로그 블럭(log block)을 형성하는 제 1 타입 로그 스킴, 및 논리 주소에 순차적으로 로그 블럭을 형성하는 제 2 타입 로그 스킴 중 하나를 선택할 수 있다. 다만, 로그 타입 결정부(110)는 이에 한정되는 것은 아니고 셋 이상의 서로 타입의 로그 스킴 중 하나를 선택할 수도 있다.
로그 타입 결정부(110)는 다양한 팩터(factor)들에 근거하여 로그 타입을 선택할 수 있다. 로그 타입 결정부(110)의 동작 알고리즘에 대하여는 후술된다. 로그 타입 결정부(110)는 선택된 타입에 대한 정보를 나타내는 제어 신호(XCON)를 생성할 수 있다.
제 1 타입 로그부(120)은 제어 신호(XCON)가 제 1 타입이 선택되었음을 나타내는 경우, 논리 주소(LBA) 및 프로그램 데이터(PDTA)를 수신하여 대응되는 로그 블럭에 기입한다. 마찬가지로, 제 2 타입 로그부(130)은 제어 신호(XCON)가 제 2 타입이 선택되었음을 나타내는 경우, 논리 주소(LBA) 및 프로그램 데이터(PDTA)를 수신하여 대응되는 로그 블럭에 기입한다.
각각, 제 1 타입 로그부(120) 및 제 2 타입 로그부(130)에 형성된 로그 블럭들의 예가 도 2에 도시된다.
도 2의 (a)에 도시되는 제 1 타입 로그부(120)에 형성되는 로그 블럭 들(LBLKA1 ~ LBLKA5)은 논리 주소에 랜덤하게 페이지들을 저장한다. 다만, 로그 블럭 LBLKA5와 같이 우연히 논리 주소에 순차적으로 페이지들을 저장하는 경우도 발생할 수 있다. 반면, 도 2의 (b)에 도시되는 제 2 타입 로그부(130)에 형성되는 로그 블럭들(LBLKB1 ~ LBLKB4)은 논리 주소에 순차적으로 페이지들을 저장한다.
그런데, 이렇듯 각 로그 타입에 할당되는 저장 공간이 한정되어 있으면, 특정 로그 타입에 의한 기입 요청이 다른 타입 로그 타입에 대한 것보다 현저히 많은 경우, 다른 로그 타입에 대한 저장 공간은 여유로움에도 불구하고 특정 로그 타입에 대한 저장 공간을 확보하기 위한 소거 동작 등을 수행해야 하는 문제가 발생할 수 있다. 이 경우, 시간적 지연이 발생함으로 장치 전체적으로 볼 때, 동작 속도가 저하될 수 있다.
이와 같은 비효율성을 극복하기 위하여, 도 1의 본 발명의 실시예에 따른 반도체 장치(100)는 도 3과 같은 사상 알고리즘(300)을 채택한다.
도 1 및 도 3을 참조하면, 도 1의 반도체 장치에 포함되는 플래시 메모리로의 프로그램 요청에 대하여, 요청된 논리 주소(LBA)에 대한 로그 타입을 선택(S320)하여 제어 신호(XCON)로 출력한다. 이를 위해, 먼저 요청된 논리 주소(LBA)가 제 2 타입 로그부(130)의 로그 블럭에 저장된 페이지들의 논리 주소에 상응하는지를 판단한다(S321). 예를 들어, 논리 주소 "0x1409"에 대한 프로그램 요청이 있었다면, "0x1409"에 대한 페이지가 기입될 여지가 있는 로그 블럭이 제 2 타입 로그부(130)에 존재하는지를 판단할 수 있다.
이하에서는 설명의 편의를 위해 제 2 타입의 로그 블럭을 "LLB"라 한다. 도 2를 참조하면, "0x1403" 내지 "0x1407"에 대한 페이지를 저장하고 있는 로그 블럭 LBLKB2가 제 2 타입 로그부(130)에 존재함을 알 수 있다. 로그 블럭 LBLKB2는 논리 주소에 대하여 순차적인 제 2 타입의 로그 블럭이므로, "0x1409"는 로그 블럭 LBLKB2에 기입될 여지가 있다.
이 경우(S321의 "Y"), 요청된 논리 주소(LBA)가 해당 로그 블럭에 저장된 페이지의 논리 주소에 연속적인지를 판단한다(S322). 예를 들어, 요청된 논리 주소(LBA)가 "0x1408"이면 로그 블럭 LBLKB2의 "0x1407"에 연속적이므로(S322의 "Y"), 요청된 논리 주소(LBA)에 대한 로그 타입을 제 2 타입으로 선택할 수 있다.
반면, 전술된 예와 같이, 요청된 논리 주소(LBA)가 "0x1409"이면 로그 블럭 LBLKB2의 "0x1407"에 연속적이지 아니하므로(S322의 "N"), 다음 동작을 수행한다.
이때, S321 및 S322와 같은 판단은, 로그 블럭에 포함되는 페이지에 대한 맵핑 테이블(160)을 참조함으로써 가능할 수 있다. 맵핑 테이블(170)은 휘발성 메모리로 구현될 수 있다.
바람직하게는, 본 발명의 실시예에 따른 반도체 장치(100)는 로그 블럭에 저장 가능한 페이지가 일정 개수 이하이면 데이터 블럭(150)으로 카피 머지(copy merge)를 수행할 수 있다. 카피 머지 및 이하에서 설명되는 다양한 머지 동작은 도 1의 머지부(140)에 의할 수 있다. 카피 머지는 널리 알려진 바와 같이, 로그 블럭을 데이터 블럭(150)으로 카피하는 동작을 말한다.
따라서, 도 3의 사상 방법(300)은 요청된 논리 주소(LBA)에 대응되는 로그 블럭이 "LLB"로 존재하나 해당 로그 블럭에 속하는 논리 주소들에 연속적이지 못한 경우(S322의 "N"), 해당 로그 블럭의 저장 공간이 임계값 이하인지를 판단한다(S323).
해당 로그 블럭의 저장 공간이 임계값 이하라면(S323의 "Y") 해당 로그 블럭을 데이터 블럭으로 카피한다(S324). 만약 임계값이 3(해당 로그 블럭에 저장 가능한 페이지 개수가 3)이라면, 전술된 예와 같이, 요청된 논리 주소(LBA)가 "0x1409"에 대응되는 로그 블럭 LBLKB2은 데이터 블럭(150)으로 카피된다. 데이터 블럭으로 카피 머지된 로그 블럭에는 새로운 데이터가 오버라이트(overwrite)될 수 있다.
이 경우, 여전히 "0x1409"에 대하여 로그 블럭으로의 기입 동작이 이루어지지 아니하였으므로, 다시 요청된 논리 주소 "0x1409"에 상응하는 로그 블럭이 "LLB"에 존재하는지를 판단한다(S321). 요청된 논리 주소 "0x1409"에 상응하는 로그 블럭은 이미 데이터 블럭(150)으로 카피되어 "LLB"로 존재하지 아니하므로(S322의 "N"), 요청된 논리 주소에 대한 로그 타입을 "LLB"로 선택할지 여부를 판단한다(S325).
S325는 특히, 현재 프로그램 요청된 데이터의 크기(페이지의 개수)가 n(n은 자연수)개 이하인지 여부를 판단할 수 있다. n의 값은 시스템 사양 등에 근거하여 설정될 수 있다. 프로그램 요청된 데이터의 크기가 n보다 크면(S325의 "N"), 요청된 논리 주소(LBA)에 대한 로그 타입을 제 2 타입로 선택할 수 있다. 프로그램 요청된 데이터의 크기가 n보다 크면(S325의 "N"), 대응되는 논리 주소가 연속적이여서 제 2 타입 로그부로 저장하는 것이 효율적이기 때문이다.
반면, 프로그램 요청된 데이터의 크기가 n보다 작으면(S325의 "Y"), 요청된 논리 주소(LBA)에 대한 로그 타입을 제 1 타입으로 선택할 수 있다. 이하에서는 설명의 편의를 위해 제 1 타입의 로그 블럭을 "GLB"로 나타낸다. 또한, 해당 로그 블럭의 저장 공간이 임계값 이하라면(S323의 "N") 요청된 논리 주소(LBA)에 대한 로그 타입을 제 1 타입으로 선택할 수 있다.
이와 같이, 로그 타입 결정부(110)에 의한 로그 타입이 결정되면(S320), 제어 신호(XCON)에 응답하여 제 1 타입 로그부(120)는 요청된 논리 주소(LBA)에 대하여 제 2 타입으로 로그 블럭에 기입하고(S340), 제 2 타입 로그부(130)는 제 1 타입으로 로그 블럭에 기입한다(S360).
계속해서 도 1 및 도 3을 참조하면, 로그 타입 결정부(110)에 의한 로그 타입이 제 2 타입로 선택되면(S325의 "N" 및 S322의 "Y"), 제 2 타입 로그부(130)는 요청된 논리 주소(LBA)에 대하여 제 2 타입으로 로그 블럭에 기입한다(S340). 이때, 요청된 논리 주소에 대한 제 2 타입 로그부(130)의 로그 블럭의 저장 공간이 존재하는 경우(S322의 "Y"), 해당 로그 블럭에 바로 데이터(PDTA)를 저장하면 된다(S342).
반면, 요청된 논리 주소에 대한 로그 블럭의 저장 공간이 존재하지 아니하는 경우(S325의 "N"), 제 2 타입 로그부(130)는 새로운 로그 블럭을 할당한 후(S344) 대응되는 프로그램 데이터(PDTA)를 기입할 수 있다(S342).
로그 타입 결정부(110)에 의한 로그 타입이 제 1 타입으로 선택되면(S325의 "Y" 및 S323의 "N"), 제 1 타입 로그부(120)는 요청된 논리 주소(LBA)에 대하여 제 1 타입으로 로그 블럭에 기입한다(S360). 이때, 프로그램 요청된 데이터의 크기가 n개의 페이지의 크기보다 크다면(S325의 "Y"), 제 1 타입 로그부(120)의 로그 블럭에 바로 데이터(PDTA)를 저장하면 된다(S362). 프로그램 요청된 데이터의 크기가 n개의 페이지의 크기보다 크다면(S325의 "Y"), 제 2 타입 로그부(130)보다 상대적으로 저장 공간의 여유가 크다고 가정되는 제 1 타입 로그부(120)에 저장하는 것이 효율적일 수 있기 때문이다.
반면, 대응되는 제 2 타입의 로그 블럭의 저장 공간이 임계값보다 큰 경우(S325의 "N"), 해당 로그 블럭을 제 1 타입으로 변환시킨 후(S364), 대응되는 프로그램 데이터(PDTA)를 기입할 수 있다(S362). 이때, 제 2 타입의 로그 블럭("LLB")의 제 2 타입의 로그 블럭("GLB")으로의 변환은 맵핑 테이블에서의 해당 로그 블럭에 대한 포인터 값을 변환시킴으로써 수행될 수 있다.
이렇듯, 본 발명의 실시예에 따른 반도체 장치 및 이에 포함되는 플래시 메모리에서의 사상 방법은 서로 다른 로그 방식 간의 저장 공간을 효율적으로 할당할 수 있다.
계속해서 도 1 및 도 3을 참조하면, 요청된 논리 주소(LBA)에 대한 로그 블럭 할당이 완료되면(S342 또는 S362), 머지부(140)에 의해 로그 블럭들에 대한 머지 또는 컴팩션 동작 등을 수행할 수 있다(S380). 도 3의 S380에 도시되는 심플 머지, 스왑 머지 및 컴팩션 동작은 당업자에게 널리 알려진 사항이므로 이에 대한 더 자세한 설명은 생략한다.
이상에서는 서로 다른 로그 방식 간의 저장 공간의 비율을 가변적으로 할당함으로써, 저장 공간을 효율적으로 할당하는 경우에 대하여 설명하였다. 이와 달 리, 서로 다른 로그 방식에 대한 맴핑 테이블에서의 사상 정보만을 수정함으로써 저장 공간을 효율을 할당하는 실시예가 도 4에 도시된다.
도 2 및 도 4의 (a)를 참조하면, 제 1 타입 로그부(120)에 속하는 로그 블럭 LBLKA5의 어드레스가 "0x0340"으로 시작한다고 가정할 때("0x0340"으로 시작하는 로그 블럭을 로그 블럭 "0x034"라 할 수 있다), 제 1 타입 로그부(120)에 대응되는 맴핑 테이블(GMT)은 로그 블럭 LBLKA5에 대한 페이지 맵핑 정보를 포함한다. 즉, 제 1 타입 로그부(120)에 대응되는 맴핑 테이블(GMT)은 "0x0340"에 논리 주소 "0x138A"의 페이지가 저장되고, "0x0341"에 논리 주소 "0x138B"의 페이지가 저장되며, "0x0342"에 논리 주소 "0x138C"의 페이지가 저장됨을 나타내고 있다.
반면, 제 2 타입 로그부(130)에 대응되는 맴핑 테이블(LMT)은 로그 블럭 LBLKA5가 제 2 타입 로그부(130)에 존재하지 아니하므로 로그 블럭 LBLKA5에 대한 페이지 맵핑 정보를 포함하지 아니한다. 즉, LMT "0x138"의 값이 "0xFFFF"이고, LMT "0x138"의 값이 나타내는 로그 블럭 "0x034"에 대한 페이지 맵핑 테이블인 LPM이 빈 상태로 있다.
이때, 도 4의 (b)와 같이, 맴핑 테이블의 사상 정보만을 변화시킴으로써, "LLB"를 "GLB"로 변환시킬 수 있다(도 3의 S364). 즉, 도 2 및 도 4의 (b)를 참조하면, 제 1 타입 로그부(120)에 대응되는 맴핑 테이블(GMT)에서의 로그 블럭 LBLKA5에 대한 맵핑 정보를 삭제하고(GMT가 빈 상태가 된다), 이를 제 2 타입 로그부(130)에 기입함으로써 로그 블럭 LBLKA5을 "LLB"를 "GLB"로 변환시킬 수 있다. 이때, LMT "0x138"이 "0x340"과 맵핑되고, LPM에 "0xA", "0xB" 및 "0xC"이 기입된 다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시예에 따른 반도체 장치의 일부를 나타내는 블럭도이다.
도 2는 도 1의 제 1 타입 로그부 및 제 2 타입 로그부에 형성된 로그 블럭들의 예를 나타내는 도면이다.
도 3은 도 1의 반도체 장치에서의 사상 알고리즘을 나타내는 순서도이다.
도 4는 도 1의 반도체 장치가 서로 다른 로그 방식에 대한 맴핑 테이블에서의 사상 정보만을 수정하는 동작을 설명하기 위한 도면이다.

Claims (9)

  1. 플래시 메모리를 포함하는 반도체 장치에 있어서,
    상기 반도체 장치의 프로세서의 요청에 따라 서로 다른 타입(type)의 제 1 로그 방식 및 제 2 로그 방식 중 하나를 선택하여 제어 신호로 출력하는 로그 타입 결정부;
    상기 제어 신호가 상기 제 1 로그 방식이 선택되었음을 나타내는 경우, 상기 플래시 메모리로의 프로그램을 위한 논리 주소 및 프로그램 데이터를 수신하여 대응되는 로그 블럭에 기입하는 제 1 타입 로그부;
    상기 제어 신호가 상기 제 2 로그 방식이 선택되었음을 나타내는 경우, 상기 플래시 메모리로의 프로그램을 위한 논리 주소 및 프로그램 데이터를 수신하여 대응되는 로그 블럭에 기입하는 제 2 타입 로그부; 및
    상기 제어 신호에 포함되는 컨버젼 요청에 응답하여 상기 제 1 타입 로그부 및 상기 제 2 타입 로그부 중 하나의 로그부에 속하는 로그 블럭을 다른 하나의 로그부의 로그 블럭으로 변환하는 머지부를 구비하는 것을 특징으로 하는 반도체 장치.
  2. 제 1 항에 있어서,
    상기 제 1 로그 방식은,
    상기 플래시 메모리로의 프로그램을 위한 논리 주소에 대하여 랜덤하게 로그 블럭을 형성하는 로그 방식이고,
    상기 제 2 로그 방식은,
    상기 플래시 메모리로의 프로그램을 위한 논리 주소에 대하여 순차적으로 로그 블럭을 형성하는 로그 방식인 것을 특징으로 하는 반도체 장치.
  3. 제 1 항에 있어서, 상기 머지부는,
    하나의 로그부의 로그 블럭에 저장된 페이지를 다른 하나의 로그부의 로그 블럭에 저장하여 변환 동작을 수행하는 것을 특징으로 하는 반도체 장치.
  4. 제 1 항에 있어서, 상기 머지부는,
    상기 로그 블럭과 상기 로그 블럭에 대응되는 페이지 주소에 대한 맴핑 정보를 저장하는 맵핑 테이블에서, 하나의 로그부에 대한 제 1 맵핑부에 저장된 맵핑 정보를 다른 하나의 로그부에 대한 제 2 맵핑부에 저장하여 변환 동작을 수행하는 것을 특징으로 하는 반도체 장치.
  5. 제 1 항에 있어서, 상기 로그 타입 결정부는,
    상기 논리 주소가 상기 제 2 타입 로그부의 로그 블럭에 저장된 페이지들의 논리 주소에 상응하고 연속적인 경우, 상기 논리 주소에 대한 로그 타입을 제 2 타입으로 선택하는 것을 특징으로 하는 반도체 장치.
  6. 제 5 항에 있어서, 상기 로그 타입 결정부는,
    상기 논리 주소가 상기 제 2 타입 로그부의 로그 블럭에 저장된 페이지들의 논리 주소에 상응하나 연속적이지 아니한 경우, 상응하는 로그 블럭의 카피 머지 여부를 판단하고, 카피 머지가 가능하지 아니하다면 상기 컨버젼 요청을 포함하여 상기 제어 신호를 생성하는 것을 특징으로 하는 반도체 장치.
  7. 제 5 항에 있어서, 상기 로그 타입 결정부는,
    상기 논리 주소가 상기 제 2 타입 로그부의 로그 블럭에 저장된 페이지들의 논리 주소에 상응하지 아니하는 경우, 상기 프로그램 데이터의 크기에 따라 상기 제 1 타입을 선택하거나 상기 제 2 타입을 선택하는 것을 특징으로 하는 반도체 장치.
  8. 제 7 항에 있어서, 상기 로그 타입 결정부는,
    상기 프로그램 데이터가 소정 크기 이상이면 상기 제 2 타입을 선택하고, 상기 제 2 타입 로그부에 새로운 로그 블럭이 형성되도록 제어 신호를 설정하는 것을 특징으로 하는 반도체 장치.
  9. 제 1 항에 있어서,
    상기 제 1 타입 로그부 또는 상기 제 2 타입 로그부의 머지 요청에 응답하여 전송되는 로그 블럭을 저장하는 데이터 블럭가 더 구비하는 것을 특징으로 하는 반 도체 장치.
KR1020080122041A 2008-12-03 2008-12-03 플래시 메모리를 포함하는 반도체 장치 및 이의 어드레스 사상 방법 KR101469771B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080122041A KR101469771B1 (ko) 2008-12-03 2008-12-03 플래시 메모리를 포함하는 반도체 장치 및 이의 어드레스 사상 방법
US12/629,268 US8239616B2 (en) 2008-12-03 2009-12-02 Semiconductor device comprising flash memory and address mapping method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080122041A KR101469771B1 (ko) 2008-12-03 2008-12-03 플래시 메모리를 포함하는 반도체 장치 및 이의 어드레스 사상 방법

Publications (2)

Publication Number Publication Date
KR20100063495A KR20100063495A (ko) 2010-06-11
KR101469771B1 true KR101469771B1 (ko) 2014-12-08

Family

ID=42223824

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080122041A KR101469771B1 (ko) 2008-12-03 2008-12-03 플래시 메모리를 포함하는 반도체 장치 및 이의 어드레스 사상 방법

Country Status (2)

Country Link
US (1) US8239616B2 (ko)
KR (1) KR101469771B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111679787B (zh) 2016-04-27 2023-07-18 慧荣科技股份有限公司 闪存装置、闪存控制器及闪存存储管理方法
US10019314B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
CN107590162A (zh) * 2016-07-08 2018-01-16 中兴通讯股份有限公司 日志文件的存储方法及装置
WO2018232089A1 (en) * 2017-06-14 2018-12-20 Burlywood, LLC Extent-based data location table management
CN108920297A (zh) * 2018-07-13 2018-11-30 郑州云海信息技术有限公司 一种诊断黑盒日志中pcie报错信息的方法和系统
KR20200022118A (ko) * 2018-08-22 2020-03-03 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법
US20220229574A1 (en) * 2021-01-20 2022-07-21 Micron Technology, Inc. Data migration techniques

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144360A1 (en) * 2003-12-30 2005-06-30 Bennett Alan D. Non-volatile memory and method with block management system
US20070033330A1 (en) * 2005-08-03 2007-02-08 Sinclair Alan W Reclaiming Data Storage Capacity in Flash Memory Systems
US20100005270A1 (en) * 2008-03-07 2010-01-07 Via Technologies, Inc. Storage unit management methods and systems

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509474B2 (en) 2005-06-08 2009-03-24 Micron Technology, Inc. Robust index storage for non-volatile memory
KR100806343B1 (ko) 2006-10-19 2008-02-27 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 맵핑테이블 관리 방법
KR100771521B1 (ko) 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144360A1 (en) * 2003-12-30 2005-06-30 Bennett Alan D. Non-volatile memory and method with block management system
KR20060130085A (ko) * 2003-12-30 2006-12-18 쌘디스크 코포레이션 블록 관리 시스템을 구비한 비휘발성 메모리 및 방법
US20070033330A1 (en) * 2005-08-03 2007-02-08 Sinclair Alan W Reclaiming Data Storage Capacity in Flash Memory Systems
US20100005270A1 (en) * 2008-03-07 2010-01-07 Via Technologies, Inc. Storage unit management methods and systems

Also Published As

Publication number Publication date
KR20100063495A (ko) 2010-06-11
US20100138595A1 (en) 2010-06-03
US8239616B2 (en) 2012-08-07

Similar Documents

Publication Publication Date Title
KR101469771B1 (ko) 플래시 메모리를 포함하는 반도체 장치 및 이의 어드레스 사상 방법
CN109240938B (zh) 存储系统以及控制非易失性存储器的控制方法
EP3436953B1 (en) Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device
US9213645B2 (en) Command aware partial page programming
US9396107B2 (en) Memory system having memory controller with cache memory and NVRAM and method of operating same
US20190220396A1 (en) Data Storage Device
KR101465789B1 (ko) 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법
TWI306263B (ko)
US20140223089A1 (en) Method and device for storing data in a flash memory using address mapping for supporting various block sizes
US20100082917A1 (en) Solid state storage system and method of controlling solid state storage system using a multi-plane method and an interleaving method
US20130103893A1 (en) System comprising storage device and related methods of operation
US10203899B2 (en) Method for writing data into flash memory apparatus, flash memory apparatus, and storage system
US20120191897A1 (en) Non-volatile memory system and management method thereof
CN108027764B (zh) 可转换的叶的存储器映射
US10929303B2 (en) Data storage device utilizing virtual blocks to improve performance and data storage method thereof
KR20190099648A (ko) 메모리 장치, 반도체 장치 및 반도체 시스템
KR20180126656A (ko) 데이터 저장 장치 및 그것의 동작 방법
US10387579B2 (en) Data pattern detecting device, semiconductor device including the same, and operating method thereof
TW201126338A (en) Flash memory device and data access method for flash memories
JP4242245B2 (ja) フラッシュrom制御装置
JP2006011533A (ja) メモリカード、半導体装置、及び半導体メモリの制御方法
KR20090098275A (ko) 플래시 메모리 시스템
JP2005115562A (ja) フラッシュrom制御装置
CN110990301A (zh) 多plane存储介质的顺序读方法及相关装置
US20090055574A1 (en) NAND Flash Memory Device And Related Method Thereof

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant