KR20110019227A - 웨어-레벨링 기능을 갖는 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 - Google Patents

웨어-레벨링 기능을 갖는 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 Download PDF

Info

Publication number
KR20110019227A
KR20110019227A KR1020090076849A KR20090076849A KR20110019227A KR 20110019227 A KR20110019227 A KR 20110019227A KR 1020090076849 A KR1020090076849 A KR 1020090076849A KR 20090076849 A KR20090076849 A KR 20090076849A KR 20110019227 A KR20110019227 A KR 20110019227A
Authority
KR
South Korea
Prior art keywords
block
address
controller
replaced
erased
Prior art date
Application number
KR1020090076849A
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 KR1020090076849A priority Critical patent/KR20110019227A/ko
Publication of KR20110019227A publication Critical patent/KR20110019227A/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
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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/7211Wear leveling

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

본 발명은 웨어-레벨링 기능을 갖는 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템에 관한 것이다. 본 발명에 따른 상기 메모리 장치는 불휘발성 메모리 코어 및 상기 메모리 장치 내부에 메모리 셀의 마모 정도를 제어하기 위한 제어부를 포함한다. 상기 제어부는 상기 메모리 셀의 선택된 영역의 마모 정도를 판단하고, 상기 선택된 영역의 마모 정도가 상기 메모리 셀의 다른 영역보다 높은 경우 상기 마모 정도가 높은 영역을 상기 메모리 셀의 다른 영역으로 교체하는 것을 특징으로 한다. 본 발명에 의하면, 상기 메모리 장치 내부에 상기 메모리 셀의 마모 정도를 제어하기 위한 제어부를 구비하기 때문에 메모리 시스템의 수명을 연장시킬 수 있다.
Figure P1020090076849
불휘발성 메모리 장치, 컨트롤러, 웨어-레벨링

Description

웨어-레벨링 기능을 갖는 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템{Non-volatile Memory Device Having Wear-Leveling Function and Memory System Thereof}
본 발명은 메모리 장치에 관한 것으로, 더욱 상세하게는 플래시 메모리 장치에 관한 것이다.
일반적으로 불휘발성 메모리 장치란, 전기적으로 데이터의 소거(Erase) 및 저장(Program)이 가능하고 전원이 차단되어도 데이터의 보존이 가능한 장치이다.
불휘발성 메모리 장치들은 다양한 형태의 메모리 셀 트랜지스터를 포함하며, 셀 어레이 구조에 따라 크게 노어형(NOR Type) 플래시 메모리(Flash Memory) 장치와 낸드형(NAND Type) 플래시 메모리 장치로 구분된다. 노어형 플래시 메모리 장치는 메모리 셀 트렌지스터들이 각각 독립적으로 비트 라인(Bit Line)과 워드 라인(Word Line)에 연결되는 구조를 가지므로 액세스(Access) 시간이 빠르다.
낸드형 플래시 메모리 장치는 복수의 메모리 셀 트렌지스터들이 직렬적으로 연결된 셀 스트링(String) 구조로 인해, 고집적화에 유리하다. 그리고 복수의 메모리 셀 트렌지스터들에 저장된 정보를 동시에 변경하는 동작 방식을 채택하기 때문 에, 낸드형 플래시 메모리 장치의 정보 갱신(Update) 속도가 빠르다.
이에 따라 플래시 메모리 장치는 엠피쓰리 플레이어(MP3 Player), 디지털 카메라(Digital Camera), 솔리드 스테이트 드라이브(Solid State Drive: SSD) 등과 같이 저전력 및 대용량 저장 장치를 필요로 하는 다양한 분야에서 활용되고 있다.
플래시 메모리 장치 사용자는 데이터를 관리하기 위하여 일반적으로 파일 시스템(File System), 호스트 드라이버(Host Driver), 메모리 컨트롤러(Memory Controller)를 거쳐 플래시 메모리 장치에 접근한다. 플래시 메모리 장치는 특성상 데이터 오버라이트(Data Overwrite)를 수행할 수 없으며, 메모리 컨트롤러는 데이터를 프로그램(Program) 하기 위해서 이레이즈(Erase) 동작을 우선 처리해야 한다. 또한 프로그램 또는 이레이즈 동작이 행해질 수 있는 플래시 메모리 장치의 수명이 정해져 있어서, 메모리 컨트롤러의 웨어-레벨링(Wear-Leveling) 기술이 중요하며, 플래시 메모리 장치의 균등한 마모 정도를 유지하는 것이 메모리 시스템의 수명을 결정하는 중요한 기술 중의 하나이다.
본 발명의 목적은 웨어-레벨링 기능을 내장한 플래시 메모리 장치를 제공하는 데 있다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치는 메모리 셀 어레이를 포함하는 불휘발성 메모리 코어 및 상기 메모리 셀 어레이의 마모 정도를 제어하기 위한 제어부를 포함하되, 상기 제어부는 상기 메모리 셀 어레이의 선택된 블럭을 이레이즈하고, 상기 이레이즈 된 블럭의 이레이즈 횟수를 판단하고, 상기 이레이즈 된 블럭의 이레이즈 횟수가 상기 메모리 셀 어레이의 다른 블럭들보다 많은 경우 상기 이레이즈 된 블럭의 주소를 상기 메모리 셀 어레이의 임의의 블럭의 주소로 교체하고, 외부 장치의 요청에 상기 교체된 주소로 응답하는 것을 특징으로 할 수 있다.
예시적인 실시예에 있어서, 상기 마모 정도를 제어하기 위한 제어부는, 상기 이레이즈 된 블럭의 이레이즈 횟수를 저장하고, 상기 이레이즈 된 블럭의 교체 여부를 판단하는 제 1 제어부, 상기 교체된 블럭의 데이터를 상기 이레이즈 된 블럭으로 복사하는 제 2 제어부, 상기 이레이즈 된 블럭의 주소와 상기 교체된 블럭의 주소를 서로 교체하여 저장하고, 상기 외부 장치의 요청에 상기 교체된 주소로 응답하도록 제어하는 제 3 제어부를 포함할 수 있다.
예시적인 실시예에 있어서, 상기 제 1 제어부는 상기 이레이즈 된 블럭의 이 레이즈 횟수를 저장하기 위한 불휘발성 메모리 장치를 포함할 수 있다.
예시적인 실시예에 있어서, 상기 제 2 제어부는 상기 교체된 블럭의 데이터를 상기 이레이즈 된 블럭으로 복사하기 위한 버퍼 메모리 장치를 포함할 수 있다.
예시적인 실시예에 있어서, 상기 제 3 제어부는 상기 이레이즈 된 블럭의 주소와 상기 교체된 블럭의 주소를 서로 교체하여 저장하기 위한 불휘발성 메모리 장치를 포함하고, 상기 외부 장치의 요청에 상기 교체된 주소로 응답하도록 제어하기 위한 주소 변환부를 포함할 수 있다.
본 발명의 실시예에 따른 불휘발성 메모리 장치는 상기 제 1 제어부가 상기 선택된 블럭의 이레이즈 횟수를 증가시켜 상기 제 1 제어부에 포함된 불휘발성 메모리 장치에 저장하고, 상기 메모리 코어가 상기 선택된 블럭을 이레이즈할 수 있다.
본 발명의 실시예에 따른 불휘발성 메모리 장치는 상기 제 2 제어부가 상기 교체된 블럭의 데이터를 상기 이레이즈 된 블럭으로 복사하고, 상기 제 3 제어부가 상기 이레이즈 된 블럭의 주소와 상기 교체된 블럭의 주소를 서로 교체하여 상기 제 3 제어부에 포함된 불휘발성 메모리 장치에 저장하고, 상기 외부 장치의 요청에 상기 교체된 주소로 응답할 수 있다.
예시적인 실시예에 있어서, 상기 메모리 셀 어레이의 마모 정도를 제어하기 위한 제어부는, 상기 메모리 셀 어레이의 선택된 페이지를 프로그램하고, 상기 프로그램 된 페이지의 프로그램 횟수를 판단하고, 상기 프로그램 된 페이지의 프로그램 횟수가 상기 메모리 셀 어레이의 다른 페이지들보다 많은 경우 상기 프로그램 된 페이지의 주소를 상기 메모리 셀 어레이의 다른 페이지의 주소로 교체하고, 외부 장치의 요청에 상기 교체된 주소로 응답할 수 있다.
본 발명의 실시예에 따른 메모리 시스템은 불휘발성 메모리 장치 및 상기 불휘발성 메모리 장치를 제어하기 위한 메모리 컨트롤러를 포함하며, 상기 불휘발성 메모리 장치는 상기 메모리 컨트롤러의 이레이즈 요청시 상기 이레이즈 요청된 블럭을 이레이즈하고, 상기 이레이즈 된 블럭의 이레이즈 횟수를 판단하고, 상기 이레이즈 된 블럭의 이레이즈 횟수가 상기 메모리 영역의 다른 블럭들보다 많은 경우 상기 이레이즈 된 블럭의 주소를 상기 메모리 셀 어레이의 다른 블럭의 주소로 교체하고, 상기 메모리 컨트롤러의 요청에 상기 교체된 주소로 응답할 수 있다.
예시적인 실시예에 있어서, 상기 불휘발성 메모리 장치는 메모리 셀 어레이를 포함하는 불휘발성 메모리 코어 및 상기 메모리 셀 어레이의 마모 정도를 제어하기 위한 제어부를 포함하되, 상기 제어부는 상기 이레이즈 된 블럭의 이레이즈 횟수를 저장하고, 상기 이레이즈 된 블럭의 교체 여부를 판단하는 제 1 제어부, 상기 교체된 블럭의 데이터를 상기 이레이즈 된 블럭으로 복사하는 제 2 제어부, 상기 이레이즈 된 블럭의 주소와 상기 교체된 블럭의 주소를 서로 교체하여 저장하고, 외부 장치의 요청에 상기 교체된 주소로 응답하도록 제어하는 제 3 제어부를 포함할 수 있다.
본 발명의 실시 예에 따르면, 웨어-레벨링 기능을 구비하도록 메모리 장치를 구현함으로써 메모리 시스템의 수명을 연장시킬 수 있다.
본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
도면들에 있어서, 본 발명의 실시 예들은 도시된 특정 형태로 제한되는 것이 아니며 명확성을 기하기 위하여 과장된 것이다. 또한 명세서 전체에 걸쳐서 동일한 참조번호로 표시된 부분들은 동일한 구성요소를 나타낸다.
본 명세서에서 ‘및/또는’이란 표현은 전후에 나열된 구성요소들 중 적어도 하나를 포함하는 의미로 사용된다. 또한 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 ‘포함한다’ 또는 ‘포함하는’으로 언급된 구성요소, 단계, 동작 및 소자는 하나 이상의 다른 구성요소, 단계, 동작 및 소자의 존재 또는 추가를 의미한다.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 메모리 장치의 블럭도이다.
본 발명의 실시 예에 따른 메모리 장치(100)는 낸드 플래시 메모리 장치일 것이다. 하지만, 본 발명이 낸드 플래시 메모리 장치에 국한되지 않음은 잘 이해될 것이다. 예를 들면, 본 발명은 노어 플래시 메모리 장치, PRAM, FRAM, MRAM 등과 같은 불휘발성 메모리 장치들에 적용될 수 있다.
도 1을 참조하면, 본 발명의 플래시 메모리 장치(100)는 메모리 코어(110)와 웨어-레벨링 제어부(150)로 구성될 수 있다.
메모리 코어(110)는 커맨드 인터페이스 로직(Command Interface Logic, 115), 메인 컨트롤러 및 고전압 발생기(Main Controller/HV Generator, 120), 메모리 셀 어레이(Memory Cell Array, 125), X-디코더(X-Decoder, 130), Y-디코더(Y-Decoder, 135), 감지 증폭기 및 라이트 드라이버(Sense Amp./Write Driver, 140), 그리고 입출력 버퍼(Input Output Buffer, 145)를 포함할 수 있다.
커맨드 인터페이스 로직(115)은 외부 제어 신호들에 대하여 커맨드, 어드레스 및 데이터의 종류를 판별하고 메인 컨트롤러 및 고전압 발생기(120), 레지스터(도시하지 않음) 및 각각의 로직 블럭(Logic Block)에 신호를 보낸다. 외부 제어 신호들은 칩 인에이블(Chip Enable: CE#) 신호, 어드레스 래치 인에이블(Address Latch Enable: ALE) 신호, 커맨드 래치 인에이블(Command Latch Enable: CLE) 신호, 라이트 인에이블(Write Enable: WE#) 신호 및 리드 인에이블(Read Enable: RE#) 신호를 포함할 수 있다.
메인 컨트롤러 및 고전압 발생기(120)는 플래시 메모리 장치(100)에 요청되는 동작들(예를 들면, 명령들)에 응답하여 메모리 장치를 제어하고, 각종 내부 타이밍(Timing) 신호 및 고전압 신호를 발생한다. 명령들은 프로그램 명령(Program Command), 이레이즈 명령(Erase Command) 및 리드 명령(Read Command)을 포함할 수 있다. 메모리 셀 어레이(125)는 데이터가 저장되는 공간이다. 메모리 셀 어레이(125)는 부유 게이트, 전하 트랩 층 등과 같은 전하 저장 층을 갖는 복수의 메모리 셀들을 포함할 수 있다.
행 디코더(130)는 입출력 버퍼(145)를 통해 입력된 로우 어드레스(Row Address)를 디코딩(Decoding)하여 메모리 셀 어레이(125)의 워드라인(Word Line)을 선택한다. 열 디코더(135)는 입출력 버퍼(145)를 통해 입력된 칼럼 어드레스(Column Address)를 디코딩(Decoding)하여 메모리 셀 어레이(125)의 비트라인(Bit Line)을 선택한다. 감지 증폭기 및 라이트 드라이버(140)는 메모리 셀 어레이(125)에 저장된 데이터를 리드(Read)하거나 메모리 셀 어레이(125)에 데이터를 프로그램(Program)하는 동작을 수행한다. 입출력 버퍼(145)는 플래시 메모리 장치(100)의 내부/외부로 신호를 전달한다.
본 발명의 실시 예에 따르면, 웨어-레벨링 제어부(150)는 플래시 메모리 장치(100)의 웨어-레벨링 동작을 제어한다. 웨어-레벨링 제어부(150)는 플래시 메모리 장치(100)의 동작을 제어하는 메인 컨트롤러(120)와 하드웨어적으로 분리되어 구성될 수 있다. 즉, 웨어-레벨링 제어부(150)는 플래시 메모리 장치(100)의 웨어-레벨링 동작을 처리하기 위한 독립적인 컨트롤러로 구성될 수 있다.
도 2는 도 1에 도시된 웨어-레벨링 제어부(150)에 대한 블럭도이다. 도 1 및 도 2를 참조하여 웨어-레벨링 제어부(150)가 보다 구체적으로 설명될 것이다.
플래시 메모리 장치(100)는 구조적인 특징으로 인해 페이지(Page)를 단위로 프로그램 동작을 실행하며, 복수의 페이지들로 구성된 블럭(Block)을 단위로 이레 이즈 동작을 실행한다. 또한, 데이터를 프로그램 하는 경우 이레이즈 동작이 선행되어야 한다.
또한, 플래시 메모리 장치(100)의 메모리 셀은 기술한 바와 같이 부유 게이트, 전하 트랩 층 등과 같은 전하 저장 층을 갖는 셀 트랜지스터로 구현될 수 있다. 예를 들면, 부유 게이트로 전하 저장 층이 구현되는 경우, 활성 영역 상에 형성되는 터널 절연막(Tunnel Oxide), 데이터가 저장되는 플로팅 게이트(Floating Gate) 및 플로팅 게이트를 제어하는 컨트롤 게이트(Control Gate)가 차례로 적층될 수 있다.
페이지 단위 프로그램 또는 블럭 단위 이레이즈 동작이 많이 발생하게 되면 터널 절연막이 마모될 수 있다. 이에 따라, 플래시 메모리 장치(100)의 특성이 저하될 수 있다. 예를 들면, 저장된 데이터의 손실, 동작 시간의 증가 및 플래시 메모리 장치(100)의 용량 감소가 발생할 수 있다.
플래시 메모리 장치(100)가 장기간 신뢰도를 가지고 사용되기 위해서는 플래시 메모리 장치(100)를 포함하는 메모리 시스템은 페이지들 또는 블럭들이 균등하게 사용될 수 있도록 구현되어야 한다. 이를 위해 메모리 시스템은 웨어-레벨링(Wear-Leveling) 기법을 사용할 수 있다. 본 발명의 실시 예에 따른 플래시 메모리 장치(100)는 웨어-레벨링 제어부(150)를 통해 웨어-레벨링 기법을 구현할 수 있다.
도 2에 도시된 바와 같이, 웨어-레벨링 제어부(150)는 이레이즈 카운트부(Erase Count Block, 160), 어드레스 맵핑부(Address Mapping Block, 170), 스위 칭 버퍼부(Switching Buffer Block, 180), 그리고 이레이즈 컨트롤러(Erase Controller, 190)를 포함할 수 있다.
이레이즈 카운트부(160)는 메모리 셀 어레이(125)의 각 블럭들에 대한 이레이즈 횟수를 저장하고, 저장된 각 블럭들의 이레이즈 횟수를 읽어서 산술 및 논리 연산을 수행하여 서로 비교한다. 또한 비교한 이레이즈 횟수를 바탕으로 메모리 셀 어레이(125)의 블럭 교체 여부를 판단한다.
어드레스 맵핑부(170)는 메모리 셀 어레이(도 1의 125)의 이레이즈 횟수가 많은 임의의 블럭이 다른 블럭과 교체되어야 할 때, 메모리 셀 어레이(도 1의 125)의 블럭들 중에서 교체될 블럭을 선택하고, 선택된 블럭의 어드레스를 저장한다. 또한 어드레스 맵핑부(170)는 저장된 교체 블럭 어드레스를 바탕으로 메모리 셀 어레이(도 1의 125)의 블럭 어드레스를 스위칭(Switching)하고, 스위칭 된 블럭 어드레스를 X-디코더(도 1의 130)에 전달한다.
스위칭 버퍼부(180)는 메모리 셀 어레이(도 1의 125)의 이레이즈 횟수가 많은 임의의 블럭이 다른 블럭과 교체될 때, 두 블럭 간의 데이터 교환을 수행한다.
이레이즈 컨트롤러(190)는 플래시 메모리 장치(도 1의 125)에 이레이즈 동작이 요청될 때, 이레이즈 카운트부(160), 어드레스 맵핑부(170), 스위칭 버퍼부(180)를 제어하여 이레이즈 동작을 수행한다.
즉, 이레이즈 컨트롤러(190)는 이레이즈 카운트부(160)에 이레이즈 요청된 블럭의 이레이즈 횟수를 증가시키는 명령 및 이레이즈 횟수를 비교하는 명령을 요청하고, 메인 컨트롤러(도 1의 120)에 이레이즈 요청된 블럭의 이레이즈 동작을 요 청한다. 또한 이레이즈 컨트롤러(190)는 이레이즈 요청된 블럭이 교체될 때, 어드레스 맵핑부(170)에 이레이즈 요청된 블럭의 블럭 어드레스 스위칭을 요청한다.
도 3은 도 2에 도시된 이레이즈 카운트부(160)에 대한 블럭도이다.
도 2 및 도 3을 참조하여 이레이즈 카운트부(160)가 보다 구체적으로 설명될 것이다.
도 2 및 도 3을 참조하면, 이레이즈 카운트부(160)는 이레이즈 카운트 컨트롤러(161) 및 이레이즈 횟수를 저장하기 위한 불휘발성 메모리 장치(163)를 포함할 수 있다.
이레이즈 카운트 컨트롤러(161)는 메모리 셀 어레이(도 1의 125)의 각 블럭들에 대한 이레이즈 횟수를 불휘발성 메모리 장치(163)에 저장한다. 즉, 플래시 메모리 장치(도 1의 100)에 요청되는 이레이즈 명령에 따라 메모리 셀 어레이(도 1의 125)의 임의의 블럭이 이레이즈 되면 선행 동작으로써 이레이즈 카운트 컨트롤러(161)는 해당 블럭의 이레이즈 횟수를 증가하여 불휘발성 메모리 장치(163)에 저장한다.
이레이즈 카운트 컨트롤러(161)는 불휘발성 메모리 장치(163)에 저장된 이레이즈 횟수를 바탕으로 메모리 셀 어레이(도 1의 125)의 각 블럭들의 이레이즈 횟수를 산술 및 논리 연산을 수행하여 서로 비교한다.
이레이즈 카운트 컨트롤러(161)는 비교한 이레이즈 횟수를 바탕으로 메모리 셀 어레이(도 1의 125)의 이레이즈 횟수가 많은 블럭을 이레이즈 횟수가 적은 블럭으로 교체해야 하는지를 판단한다.
예를 들면, 이레이즈 카운트 컨트롤러(161)가 블럭이 이레이즈 될 수 있는 최대값을 10000회라고 설정한 경우, 메모리 셀 어레이(도 1의 125)의 임의의 블럭의 이레이즈 횟수가 최대값에 도달할 때 임의의 블럭 즉, 10000회 이레이즈 된 블럭은 메모리 셀 어레이(도 1의 125)의 다른 블럭과 교체될 것이다.
다른 예로써, 이레이즈 카운트 컨트롤러(161)는 메모리 셀 어레이(도 1의 125)의 이레이즈 횟수가 가장 작은 블럭과 이레이즈 횟수가 가장 큰 블럭의 차이가 설정된 값 이상으로 차이가 나면 이레이즈 횟수가 가장 작은 블럭과 이레이즈 횟수가 가장 큰 블럭이 서로 교체 되어야 한다는 판단을 할 수 있다. 즉, 이레이즈 카운트 컨트롤러(161)가 메모리 셀 어레이(도 1의 125)의 블럭 이레이즈 횟수의 최소값과 최대값의 차이를 2500회로 설정한 경우, 이레이즈 카운트 컨트롤러(161)는 메모리 셀 어레이(도 1의 125)의 이레이즈 횟수가 가장 작은 블럭과 이레이즈 횟수가 가장 큰 블럭의 차이가 2500회 일 때 이레이즈 횟수가 가장 큰 블럭이 메모리 셀 어레이(도 1의 125)의 다른 블럭과 교체될 것이다.
이레이즈 횟수를 저장하기 위한 불휘발성 메모리 장치(163)는 이레이즈 카운트 어레이(165) 및 감지 증폭기 및 라이트 드라이버(166)를 포함할 수 있다.
이레이즈 카운트 어레이(165)는 메모리 셀 어레이(도 1의 125)의 각 블럭들에 대한 이레이즈 횟수가 저장되는 영역이다. 감지 증폭기 및 라이트 드라이버(166)는 이레이즈 카운트 어레이(165)에 저장된 데이터를 리드(Read)하거나 이레이즈 카운트 어레이(165)에 데이터를 프로그램(Program)하는 동작을 수행한다.
본 발명의 실시 예에 따르면, 이레이즈 횟수를 저장하기 위한 불휘발성 메모 리 장치(163)는 낸드 플래시 메모리 장치일 것이다. 하지만, 이레이즈 횟수를 저장하기 위한 불휘발성 메모리 장치(163)는 낸드 플래시 메모리 장치로 국한되지 않음은 잘 이해될 것이다. 예를 들면, 노어 플래시 메모리 장치, PRAM, FRAM, MRAM 등과 같은 불휘발성 메모리 장치들로 구성될 수 있다. 또한 이레이즈 횟수를 저장하기 위한 불휘발성 메모리 장치(163)는 메모리 셀 어레이(도 1의 125)의 일부 영역으로 구성될 수 있다.
도 4a 내지 도 4b는 본 발명의 실시 예에 따른 도 3의 이레이즈 카운트 어레이(165)에 대한 예시적인 도면이다.
도 4a 내지 도 4b를 참조하면, 이레이즈 카운트 어레이(165)에는 메모리 셀 어레이(도 1의 125)의 각 블럭들에 대한 이레이즈 횟수가 저장된다. 도 4a를 예를 들면, 메모리 셀 어레이(도 1의 125)의 임의의 블럭이 1회 이레이즈 될 때마다 해당 블럭의 이레이즈 횟수를 저장하는 이레이즈 카운트 어레이(165)에 데이터 "1"이 저장될 수 있다. 블럭0(BLK0)의 경우, 6회 이레이즈 되었기 때문에 데이터 "1"이 6회 저장될 수 있다. 저장된 데이터는 이레이즈 카운트 컨트롤러(161)에 의해 합계되어 이레이즈 횟수로 사용될 수 있다.
다른 예로써, 도 4b를 예를 들면, 메모리 셀 어레이(도 1의 125)의 임의의 블럭이 1회 이레이즈 될 때마다 해당 블럭의 이레이즈 횟수를 저장하는 이레이즈 카운트 어레이(165)에 최종 이레이즈 횟수가 저장될 수 있다. 블럭2(BLK2)의 경우, 3회 이레이즈 되었기 때문에 데이터 "3"이 저장될 수 있다.
도 5는 도 2에 도시된 어드레스 맵핑부(170)에 대한 블럭도이다.
도 2 및 도 5를 참조하여 어드레스 맵핑부(170)가 보다 구체적으로 설명될 것이다.
도 2 및 도 5를 참조하면, 어드레스 맵핑부(170)는 어드레스 맵핑 컨트롤러(171), 어드레스 맵핑 테이블을 저장하기 위한 불휘발성 메모리 장치(173), 어드레스 래치 컨트롤러(177), 그리고 어드레스 맵핑 래치(179)를 포함할 수 있다.
어드레스 맵핑 컨트롤러(171)는 메모리 셀 어레이(도 1의 125)의 이레이즈 횟수가 많은 임의의 블럭이 다른 블럭과 교체되어야 할 때, 메모리 셀 어레이(도 1의 125)의 블럭들 중에서 교체될 블럭을 선택한다. 예를 들면, 어드레스 맵핑 컨트롤러(171)는 메모리 셀 어레이(도 1의 125)의 블럭들 중에서 이레이즈 횟수가 가장 적은 블럭을 교체될 블럭으로 선택할 수 있다.
어드레스 맵핑 컨트롤러(171)는 메모리 셀 어레이(도 1의 125)의 이레이즈 횟수가 많은 임의의 블럭의 어드레스와 교체될 블럭의 어드레스를 맵핑 테이블로 작성한다. 어드레스 맵핑 컨트롤러(171)는 작성된 맵핑 테이블을 불휘발성 메모리 장치(173)에 저장한다.
어드레스 맵핑 테이블을 저장하기 위한 불휘발성 메모리 장치(173)는 어드레스 맵핑 테이블 어레이(175) 및 감지 증폭기 및 라이트 드라이버(176)를 포함할 수 있다.
어드레스 맵핑 테이블 어레이(175)는 메모리 셀 어레이(도 1의 125)의 각 블럭들이 이레이즈 횟수로 인하여 다른 블럭으로 교체되었을 때, 교체된 블럭의 어드레스 정보가 저장되는 영역이다. 감지 증폭기 및 라이트 드라이버(176)는 어드레스 맵핑 테이블 어레이(175)에 저장된 데이터를 리드(Read)하거나 어드레스 맵핑 테이블 어레이(175)에 데이터를 프로그램(Program)하는 동작을 수행한다.
본 발명의 실시 예에 따르면, 어드레스 맵핑 테이블을 저장하기 위한 불휘발성 메모리 장치(173)는 낸드 플래시 메모리 장치일 것이다. 하지만, 어드레스 맵핑 테이블을 저장하기 위한 불휘발성 메모리 장치(173)는 낸드 플래시 메모리 장치로 국한되지 않음은 잘 이해될 것이다. 예를 들면, 노어 플래시 메모리 장치, PRAM, FRAM, MRAM 등과 같은 불휘발성 메모리 장치들로 구성될 수 있다. 또한 어드레스 맵핑 테이블을 저장하기 위한 불휘발성 메모리 장치(173)는 메모리 셀 어레이(도 1의 125)의 일부 영역으로 구성될 수 있다.
도 6은 본 발명의 실시 예에 따른 도 5의 어드레스 맵핑 테이블 어레이(175)에 대한 예시적인 도면이다.
도 6을 참조하면, 어드레스 맵핑 테이블 어레이(175)에는 메모리 셀 어레이(도 1의 125)의 임의의 블럭이 이레이즈 횟수로 인하여 다른 블럭으로 교체되었을 때, 교체된 블럭의 어드레스가 저장될 수 있다. 블럭1(BLK1)의 경우, 예를 들면, 첫 번째 블럭 교체시에 블럭 어드레스 100으로 교체되어 저장될 수 있고, 두 번째 블럭 교체시에 블럭 어드레스 655로 교체되어 저장될 수 있다. 이 경우, 플래시 메모리 장치(도 1의 100)에 블럭1(BLK1)에 대한 액세스(Access)가 요청되면, 최종 어드레스로 저장된 블럭655가 맵핑되어 액세스 될 수 있다.
도 5를 다시 참조하면, 어드레스 래치 컨트롤러(177)는 어드레스 맵핑 테이블 어레이(175)에 저장된 어드레스 맵핑 테이블을 바탕으로 메모리 셀 어레이(도 1 의 125)의 각 블럭들에 해당하는 최종 맵핑 어드레스를 판단한다. 어드레스 래치 컨트롤러(177)는 판단한 최종 어드레스를 최종 맵핑 테이블로 작성할 수 있다. 도 6의 블럭들을 예를 들면, 어드레스 래치 컨트롤러(177)는 블럭0(BLK0)은 블럭993, 블럭1(BLK1)은 블럭665, 블럭2(BLK2)는 블럭2(즉, 교체 어드레스가 없음) 등과 같이 각 블럭들의 교체된 최종 어드레스를 스캔하여 최종 맵핑 테이블을 작성할 수 있다.
어드레스 맵핑 래치(179)는 어드레스 래치 컨트롤러(177)가 작성한 최종 맵핑 테이블을 바탕으로 메모리 셀 어레이(도 1의 125)의 각 블럭들에 대하여 어드레스를 스위칭한다. 즉, 플래시 메모리 장치(도 1의 100)에 임의의 블럭에 대한 액세스 요청이 있을 때, 해당 블럭이 교체된 블럭 어드레스를 가지는 경우, 어드레스 맵핑 래치(179)는 해당 블럭의 어드레스를 교체된 블럭 어드레스로 스위칭한다. 어드레스 맵핑 래치(179)는 스위칭 된 블럭 어드레스를 X-디코더(도 1의 130)에 전달한다.
도 7은 도 2에 도시된 스위칭 버퍼부(180)에 대한 블럭도이다.
도 2 및 도 7을 참조하여 스위칭 버퍼부(180)가 보다 구체적으로 설명될 것이다.
도 2 및 도 7을 참조하면, 스위칭 버퍼부(180)는 스위칭 버퍼 컨트롤러(183) 및 스위칭 버퍼(185)를 포함할 수 있다.
스위칭 버퍼 컨트롤러(183)는 메모리 셀 어레이(도 1의 125)의 이레이즈 횟수가 많은 임의의 블럭이 다른 블럭과 교체될 때, 두 블럭 간의 데이터 교환을 제 어한다. 즉, 교체되는 블럭에 데이터가 저장된 경우, 저장된 데이터를 스위칭 버퍼(185)에 복사한다. 어드레스 맵핑 제어부(170)에 의해 두 블럭의 어드레스 스위칭이 완료 되면, 스위칭 버퍼 컨트롤러(183)는 스위칭 버퍼(185)에 저장된 데이터를 이레이즈 횟수가 많은 해당 블럭으로 복사한다.
본 발명의 실시 예에 따르면, 웨어-레벨링 제어부(150)는 플래시 메모리 장치(100)의 임의의 블럭에 이레이즈 동작이 요청될 때, 이레이즈 요청된 블럭과 다른 블럭의 이레이즈 횟수를 비교할 수 있다. 웨어-레벨링 제어부(150)는 이레이즈 요청된 블럭의 이레이즈 횟수가 다른 블럭보다 상대적으로 많은 경우, 이레이즈 횟수가 상대적으로 적은 임의의 블럭으로 블럭 어드레스를 교체할 수 있다. 이에 따라, 플래시 메모리 장치(100)의 블럭들이 균등하게 사용될 수 있다.
본 발명의 다른 실시예에 따르면, 웨어-레벨링 제어부(150)는 플래시 메모리 장치(100)의 임의의 페이지에 프로그램 동작이 요청될 때, 프로그램 요청된 페이지와 다른 페이지의 프로그램 횟수를 비교할 수 있다. 웨어-레벨링 제어부(150)는 프로그램 요청된 페이지의 프로그램 횟수가 다른 페이지보다 상대적으로 많은 경우, 프로그램 횟수가 상대적으로 적은 임의의 페이지로 페이지 어드레스를 교체할 수 있다. 이에 따라, 플래시 메모리 장치(100)의 페이지들이 균등하게 사용될 수 있다.
도 8은 본 발명의 실시 예에 따른 메모리 장치의 이레이즈 동작을 설명하기 위한 순서도이다. 이하, 플래시 메모리 장치(도 1의 100)의 동작 방법이 도 2 및 도 8에 의거하여 상세히 설명될 것이다.
S810 단계에서, 메모리 셀 어레이(도 1의 125)의 임의의 블럭에 이레이즈 동작이 요청되면, 이레이즈 컨트롤러(190)는 이레이즈 요청된 블럭(이하, '타겟 블럭'으로 칭하기로 함)의 이레이즈 횟수를 증가시키는 명령을 이레이즈 카운트부(160)에 요청한다. 이레이즈 카운트부(160)는 타겟 블럭의 이레이즈 횟수를 1회 증가하고 저장한다.
S820 단계에서, 이레이즈 컨트롤러(190)는 타겟 블럭의 이레이즈 동작을 메인 컨트롤러(도 1의 120)에 요청한다. 메인 컨트롤러(도 1의 120)는 타겟 블럭의 이레이즈 동작을 실행한다.
S830 단계에서, 이레이즈 컨트롤러(190)는 타겟 블럭의 이레이즈 횟수를 확인하는 명령을 이레이즈 카운트부(160)에 요청한다. 이레이즈 카운트부(160)는 타겟 블럭의 이레이즈 횟수를 메모리 셀 어레이(도 1의 125)의 다른 블럭의 이레이즈 횟수와 비교한다.
S840 단계에서, 타겟 블럭의 이레이즈 횟수가 메모리 셀 어레이(도 1의 125)의 다른 블럭의 이레이즈 횟수보다 적은 경우, 이레이즈 카운트부(160)는 이레이즈 컨트롤러(190)에 블럭 교체가 필요없음을 알리고, 이레이즈 컨트롤러(190)는 이레이즈 동작을 완료한다.
타겟 블럭의 이레이즈 횟수가 메모리 셀 어레이(도 1의 125)의 다른 블럭의 이레이즈 횟수보다 많은 경우, 이레이즈 카운트부(160)는 이레이즈 컨트롤러(190)에 블럭 교체를 요청하고, 이레이즈 컨트롤러(190)는 어드레스 맵핑부(170)에 교체될 블럭 선정을 요청한다. 어드레스 맵핑부(170)는 메모리 셀 어레이(도 1의 125) 의 블럭들 중에서 이레이즈 횟수가 가장 작은 블럭을 교체될 블럭(이하, '리플레이스 블럭'으로 칭하기로 함)으로 선정한다.
S850 단계에서, 이레이즈 컨트롤러(190)는 리플레이스 블럭에 데이터가 저장되어 있는지 판단한다. 리플레이스 블럭에 데이터가 저장되어 있는 경우, 이레이즈 컨트롤러(190)는 리플레이스 블럭의 데이터를 타겟블럭으로 복사하도록 스위칭 버퍼부(180)에 요청한다(S860 단계).
S870 단계에서, 이레이즈 컨트롤러(190)는 어드레스 맵핑부(170)에 타겟 블럭과 리플레이스 블럭의 어드레스 교체를 요청하고, 어드레스 맵핑부(170)는 타겟 블럭과 리플레이스 블럭의 어드레스를 교체한다. 즉, 플래시 메모리 장치(도 1의 100)에 타겟 블럭의 액세스가 요청되는 경우 리플레이스 블럭이 액세스 되도록 어드레스 맵핑 테이블을 수정하고 블럭 어드레스를 스위칭한다.
S880 단계에서, 이레이즈 컨트롤러(190)는 리플레이스 블럭의 이레이즈 횟수를 증가시키는 명령을 이레이즈 카운트부(160)에 요청한다. 이레이즈 카운트부(160)는 리플레이스 블럭의 이레이즈 횟수를 1회 증가하고 저장한다.
S890 단계에서, 이레이즈 컨트롤러(190)는 리플레이스 블럭의 이레이즈 동작을 메인 컨트롤러(도 1의 120)에 요청한다. 메인 컨트롤러(도 1의 120)는 리플레이스 블럭의 이레이즈 동작을 실행한다.
도 9는 본 발명의 실시 예에 따른 메모리 장치를 포함하는 메모리 시스템을 예시적으로 보여주는 블럭도이다.
도 9를 참조하면, 본 발명의 실시 예에 따른 메모리 시스템(900)은 메모리 컨트롤러(920) 및 불휘발성 메모리 장치(950)를 포함할 수 있다.
메모리 컨트롤러(920)는 호스트(Host, 910) 및 불휘발성 메모리 장치(950)에 연결된다. 호스트(910)로부터의 요청에 응답하여, 메모리 컨트롤러(920)는 불휘발성 메모리 장치(950)를 액세스하도록 구성된다. 예를 들면, 메모리 컨트롤러(920)는 불휘발성 메모리 장치(950)의 리드, 라이트 그리고 이레이즈 동작을 제어하도록 구성된다. 메모리 컨트롤러(920)는 불휘발성 메모리 장치(950) 및 호스트(910) 사이에 인터페이스를 제공하도록 구성된다. 메모리 컨트롤러(920)는 불휘발성 메모리 장치(950)를 제어하기 위한 펌웨어(Firmware)를 구동하도록 구성된다.
메모리 컨트롤러(920)는 램(Random Access Memory: RAM), 중앙처리장치(Central Processing Unit: CPU), 호스트 인터페이스(Host Interface), 에러 정정 블럭(Error Correcting Code: ECC), 그리고 메모리 인터페이스(Memory Interface)와 같은 잘 알려진 구성 요소들을 포함할 수 있다. 램(925)은 중앙처리장치의 동작 메모리(Working Memory)로써 이용될 수 있다. 중앙처리장치(930)는 메모리 컨트롤러(920)의 제반 동작을 제어할 수 있다.
호스트 인터페이스(935)는 호스트(910) 및 메모리 컨트롤러(920) 사이의 데이터 교환을 수행하기 위한 프로토콜(Protocol)을 포함할 수 있다. 예를 들면, 메모리 컨트롤러(920)는 USB(Universal Serial Bus) 프로토콜, MMC(Multimedia Card) 프로토콜, PCI(Peripheral Component Interconnection) 프로토콜, PCI-E(PCI-Express) 프로토콜, ATA(Advanced Technology Attachment) 프로토콜, SATA(Serial ATA) 프로토콜, SCSI(Small Computer Small Interface) 프로토콜, ESDI(Enhanced Small Disk Interface) 프로토콜, 그리고 IDE(Integrated Drive Electronics) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 수 있다.
에러 정정 블럭(940)은 불휘발성 메모리 장치(950)로부터 읽어진 데이터의 오류를 검출하고, 정정하도록 구성될 수 있다. 에러 정정 블럭(940)은 메모리 컨트롤러(920)의 구성 요소로 제공될 수 있다. 다른 예로써, 에러 정정 블럭(940)은 불휘발성 메모리 장치(950)의 구성 요소로 제공될 수 있다. 메모리 인터페이스(945)는 불휘발성 메모리 장치(950)와 인터페이싱(Interfacing)할 수 있다. 비록 도면에는 도시되지 않았지만, 메모리 시스템(900)은 호스트(910)와의 인터페이싱을 위한 코드 데이터(Code Data)를 저장하는 ROM(Read Only Memory)등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
메모리 컨트롤러(920) 및 불휘발성 메모리 장치(950)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들면, 메모리 컨트롤러(920) 및 불휘발성 메모리 장치(950)는 하나의 반도체 장치로 집적되어 PCMCIA(Personal Computer Memory Card International Association) 카드, CF(Compact Flash) 카드, 스마트 미디어(Smart Media) 카드, 메모리 스틱(Memory Stick), 멀티 미디어(Multi Media) 카드(MMC, RS-MMC, MMC-micro), SD(Secure Digital) 카드(SD, Mini-SD, Micro-SD, SDHC), UFS(Universal Flash Storage) 등을 구성할 수 있다.
다른 예로써, 메모리 시스템(900)은 반도체 드라이브(Solid State Drive: SSD), 컴퓨터, 휴대용 컴퓨터(Portable Computer), UMPC(Ultra Mobile Personal Computer), 워크스테이션(Work Station), 넷북(Net Book), PDA(Personal Digital Assistant), 웹 타블렛(Web Tablet), 무선 전화기(Wireless Phone), 모바일 폰(Mobile Phone), 디지털 카메라(Digital Camera), 디지털 음성 녹음기(Digital Audio Recorder), 디지털 음성 재생기(Digital Audio Player), 디지털 동영상 녹화기(Digital Video Recorder), 디지털 동영상 재생기(Digital Video Player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크(Home Network)를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크(Computer Network)를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크(Telematics Network)를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 시스템(Computer System)을 구성하는 다양한 구성 요소들 중 하나, RFID(Radio Frequency Identification) 장치 또는 임베디드 시스템(Embedded System)에 적용될 수 있다.
다른 예로써, 불휘발성 메모리 장치(950) 또는 메모리 시스템(900)은 다양한 형태들의 패키지(Package)로 실장될 수 있다. 예를 들면, 불휘발성 메모리 장치(950) 또는 메모리 시스템(900)은 POP(Package on Package), Ball grid arrays(BGAs), Chip Scale Packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 방식으로 패키지화 되어 실장될 수 있다.
도 1은 본 발명의 실시 예에 따른 메모리 장치의 블럭도이다.
도 2는 도 1에 도시된 웨어-레벨링 제어부에 대한 블럭도이다.
도 3은 도 2에 도시된 이레이즈 카운트부에 대한 블럭도이다.
도 4a 내지 도 4b는 본 발명의 실시 예에 따른 도 3의 이레이즈 카운트 어레이를 예시적으로 보여주는 도면이다.
도 5는 도 2에 도시된 어드레스 맵핑부에 대한 블럭도이다.
도 6은 본 발명의 실시 예에 따른 도 5의 어드레스 맵핑 테이블 어레이를 예시적으로 보여주는 도면이다.
도 7 은 도 2에 도시된 스위칭 버퍼부에 대한 블럭도이다.
도 8은 본 발명의 실시 예에 따른 메모리 장치의 이레이즈 동작을 설명하기 위한 순서도이다.
도 9는 본 발명의 실시 예에 따른 메모리 장치를 포함하는 메모리 시스템을 예시적으로 보여주는 블럭도이다.

Claims (10)

  1. 메모리 셀 어레이를 포함하는 불휘발성 메모리 코어; 및
    상기 메모리 셀 어레이의 마모 정도를 제어하기 위한 제어부를 포함하되,
    상기 제어부는 상기 메모리 셀 어레이의 선택된 블럭을 이레이즈하고, 상기 이레이즈 된 블럭의 이레이즈 횟수를 판단하고, 상기 이레이즈 된 블럭의 이레이즈 횟수가 상기 메모리 셀 어레이의 다른 블럭들보다 많은 경우 상기 이레이즈 된 블럭의 주소를 상기 메모리 셀 어레이의 임의의 블럭의 주소로 교체하고, 외부 장치의 요청에 상기 교체된 주소로 응답하는 불휘발성 메모리 장치.
  2. 제 1 항에 있어서,
    상기 제어부는,
    상기 이레이즈 된 블럭의 이레이즈 횟수를 저장하고, 상기 이레이즈 된 블럭의 교체 여부를 판단하는 제 1 제어부,
    상기 교체된 블럭의 데이터를 상기 이레이즈 된 블럭으로 복사하는 제 2 제어부,
    상기 이레이즈 된 블럭의 주소와 상기 교체된 블럭의 주소를 서로 교체하여 저장하고, 상기 외부 장치의 요청에 상기 교체된 주소로 응답하도록 제어하는 제 3 제어부를 포함하는 불휘발성 메모리 장치.
  3. 제 2 항에 있어서,
    상기 제 1 제어부는,
    상기 이레이즈 된 블럭의 이레이즈 횟수를 저장하기 위한 불휘발성 메모리 장치를 포함하는 불휘발성 메모리 장치.
  4. 제 2 항에 있어서,
    상기 제 2 제어부는,
    상기 교체된 블럭의 데이터를 상기 이레이즈 된 블럭으로 복사하기 위한 버퍼 메모리 장치를 포함하는 불휘발성 메모리 장치.
  5. 제 2 항에 있어서,
    상기 제 3 제어부는,
    상기 이레이즈 된 블럭의 주소와 상기 교체된 블럭의 주소를 서로 교체하여 저장하기 위한 불휘발성 메모리 장치를 포함하고,
    상기 외부 장치의 요청에 상기 교체된 주소로 응답하도록 제어하기 위한 주소 변환부를 포함하는 불휘발성 메모리 장치.
  6. 제 1 항에 있어서,
    상기 메모리 셀 어레이의 선택된 블럭을 이레이즈 하는 것은,
    상기 제 1 제어부가 상기 선택된 블럭의 이레이즈 횟수를 증가시켜 상기 제 1 제어부에 포함된 불휘발성 메모리 장치에 저장하고,
    상기 메모리 코어가 상기 선택된 블럭을 이레이즈하는 불휘발성 메모리 장치.
  7. 제 1 항에 있어서,
    상기 이레이즈 된 블럭의 주소를 교체하는 것은,
    상기 제 2 제어부가 상기 교체된 블럭의 데이터를 상기 이레이즈 된 블럭으로 복사하고,
    상기 제 3 제어부가 상기 이레이즈 된 블럭의 주소와 상기 교체된 블럭의 주소를 서로 교체하여 상기 제 3 제어부에 포함된 불휘발성 메모리 장치에 저장하고, 상기 외부 장치의 요청에 상기 교체된 주소로 응답하는 불휘발성 메모리 장치.
  8. 제 1 항에 있어서,
    상기 제어부는,
    상기 메모리 셀 어레이의 선택된 페이지를 프로그램하고, 상기 프로그램 된 페이지의 프로그램 횟수를 판단하고, 상기 프로그램 된 페이지의 프로그램 횟수가 상기 메모리 셀 어레이의 다른 페이지들보다 많은 경우 상기 프로그램 된 페이지의 주소를 상기 메모리 셀 어레이의 다른 페이지의 주소로 교체하고, 외부 장치의 요청에 상기 교체된 주소로 응답하는 불휘발성 메모리 장치.
  9. 불휘발성 메모리 장치 및 상기 불휘발성 메모리 장치를 제어하기 위한 메모리 컨트롤러를 포함하며,
    상기 불휘발성 메모리 장치는 상기 메모리 컨트롤러의 이레이즈 요청시 상기 이레이즈 요청된 블럭을 이레이즈하고, 상기 이레이즈 된 블럭의 이레이즈 횟수를 판단하고, 상기 이레이즈 된 블럭의 이레이즈 횟수가 상기 메모리 영역의 다른 블럭들보다 많은 경우 상기 이레이즈 된 블럭의 주소를 상기 메모리 셀 어레이의 다른 블럭의 주소로 교체하고, 상기 메모리 컨트롤러의 요청에 상기 교체된 주소로 응답하는 메모리 시스템.
  10. 제 9 항에 있어서,
    상기 불휘발성 메모리 장치는,
    메모리 셀 어레이를 포함하는 불휘발성 메모리 코어; 및
    상기 메모리 셀 어레이의 마모 정도를 제어하기 위한 제어부를 포함하되,
    상기 제어부는 상기 이레이즈 된 블럭의 이레이즈 횟수를 저장하고, 상기 이레이즈 된 블럭의 교체 여부를 판단하는 제 1 제어부,
    상기 교체된 블럭의 데이터를 상기 이레이즈 된 블럭으로 복사하는 제 2 제어부,
    상기 이레이즈 된 블럭의 주소와 상기 교체된 블럭의 주소를 서로 교체하여 저장하고, 외부 장치의 요청에 상기 교체된 주소로 응답하도록 제어하는 제 3 제어부를 포함하는 메모리 시스템.
KR1020090076849A 2009-08-19 2009-08-19 웨어-레벨링 기능을 갖는 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 KR20110019227A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090076849A KR20110019227A (ko) 2009-08-19 2009-08-19 웨어-레벨링 기능을 갖는 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090076849A KR20110019227A (ko) 2009-08-19 2009-08-19 웨어-레벨링 기능을 갖는 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템

Publications (1)

Publication Number Publication Date
KR20110019227A true KR20110019227A (ko) 2011-02-25

Family

ID=43776623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090076849A KR20110019227A (ko) 2009-08-19 2009-08-19 웨어-레벨링 기능을 갖는 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템

Country Status (1)

Country Link
KR (1) KR20110019227A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996786B2 (en) 2011-01-28 2015-03-31 SK Hynix Inc. Nonvolatile memory system and block management method
CN111433731A (zh) * 2017-12-05 2020-07-17 美光科技公司 非易失性存储器中的数据移动操作

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996786B2 (en) 2011-01-28 2015-03-31 SK Hynix Inc. Nonvolatile memory system and block management method
CN111433731A (zh) * 2017-12-05 2020-07-17 美光科技公司 非易失性存储器中的数据移动操作

Similar Documents

Publication Publication Date Title
KR102501751B1 (ko) 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법
US9075740B2 (en) Memory system
US8621266B2 (en) Nonvolatile memory system and related method of performing erase refresh operation
KR101997572B1 (ko) 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 쓰기 방법
US20130138870A1 (en) Memory system, data storage device, memory card, and ssd including wear level control logic
KR102295208B1 (ko) 프로그램 영역을 동적으로 할당하는 저장 장치 및 그것의 프로그램 방법
US8751735B2 (en) Protection against data corruption for multi-level memory cell (MLC) flash memory
US10503433B2 (en) Memory management method, memory control circuit unit and memory storage device
US11543986B2 (en) Electronic system including host, memory controller and memory device and method of operating the same
KR20150055884A (ko) 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법
CN112860194B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
KR20210157544A (ko) 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
US20230221895A1 (en) Memory system and operating method of memory system storing doorbell information in the buffer memory
KR102654308B1 (ko) 메모리 시스템 및 그것의 동작방법
US11029854B2 (en) Memory controller for concurrently writing host data and garbage collected data and operating method thereof
US11294596B2 (en) Memory controller and operating method thereof
KR20110019227A (ko) 웨어-레벨링 기능을 갖는 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
US11314652B2 (en) Memory controller and method of operating the same
US11366725B2 (en) Storage device and method of operating the same
US20210132804A1 (en) Storage device and method of operating the storage device
US20160062688A1 (en) Flash memory device, flash memory system, and operating method
KR20100028782A (ko) 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 관리 방법
KR20210028335A (ko) 메모리 시스템, 메모리 컨트롤러 및 동작 방법
US11467745B2 (en) Storage device and method of operating the same
KR20220029903A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination