KR101989850B1 - 불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법 - Google Patents

불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법 Download PDF

Info

Publication number
KR101989850B1
KR101989850B1 KR1020120034496A KR20120034496A KR101989850B1 KR 101989850 B1 KR101989850 B1 KR 101989850B1 KR 1020120034496 A KR1020120034496 A KR 1020120034496A KR 20120034496 A KR20120034496 A KR 20120034496A KR 101989850 B1 KR101989850 B1 KR 101989850B1
Authority
KR
South Korea
Prior art keywords
address
string selection
memory
ssl
wear leveling
Prior art date
Application number
KR1020120034496A
Other languages
English (en)
Other versions
KR20130112257A (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 KR1020120034496A priority Critical patent/KR101989850B1/ko
Priority to US13/685,772 priority patent/US8990483B2/en
Priority to CN201310114199.6A priority patent/CN103366809B/zh
Publication of KR20130112257A publication Critical patent/KR20130112257A/ko
Application granted granted Critical
Publication of KR101989850B1 publication Critical patent/KR101989850B1/ko

Links

Images

Classifications

    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B43/00EEPROM devices comprising charge-trapping gate insulators
    • H10B43/20EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Memories (AREA)
  • Read Only Memory (AREA)
  • Non-Volatile Memory (AREA)

Abstract

본 발명의 실시 예에 따른 기판상에 수직 방향으로 셀 스트링들이 형성되며, 복수의 스트링 선택 라인들 단위로 상기 셀 스트링들을 선택하는 불휘발성 메모리 장치의 프로그램 방법은, 선택된 메모리 블록의 웨어 레벨링 정보를 검출하는 단계, 상기 웨어 레벨링 정보에 따라 상기 메모리 블록의 스트링 선택 라인들의 선택 순서를 결정하는 단계, 그리고 상기 결정된 선택 순서에 따라 데이터를 상기 메모리 블록에 프로그램하는 단계를 포함한다.

Description

불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법{NON-VOLATILE MEMORY DEVICE, MEMORY SYSTEM, AND PROGRAM METHOD OF THE SAME}
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 불휘발성 메모리 장치, 메모리 시스템, 그리고 그것의 프로그램 방법에 관한 것이다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치(Volatile semiconductor memory device)와 불휘발성 반도체 메모리 장치(Non-volatile semiconductor memory device)로 구분될 수 있다. 휘발성 반도체 메모리 장치는 읽고 쓰는 속도가 빠르지만 전원 공급이 끊기면 저장된 내용이 사라져 버리는 단점이 있다. 반면에, 불휘발성 반도체 메모리 장치는 전원 공급이 중단되더라도 그 내용을 보존한다. 그러므로, 불휘발성 반도체 메모리 장치는 전원이 공급되었는지의 여부에 관계없이 보존되어야 할 내용을 기억시키는 데 쓰인다.
불휘발성 반도체 메모리 장치로는 마스크 롬(Mask read-only memory, MROM), 프로그램 가능한 롬(Programmable read-only memory, PROM), 소거 및 프로그램 가능한 롬(Erasable programmable read-only memory, EPROM), 전기적으로 소거 및 프로그램 가능한 롬(Electrically erasable programmable read-only memory, EEPROM) 등이 있다.
불휘발성 메모리 장치의 대표적인 예로 플래시 메모리 장치가 있다. 플래시 메모리 장치는 컴퓨터, 휴대폰, PDA, 디지털카메라, 캠코더, 보이스 리코더, MP3 플레이어, 개인용 휴대 단말기(PDA), 휴대용 컴퓨터(Handheld PC), 게임기, 팩스, 스캐너, 프린터 등과 같은 정보기기들의 음성 및 영상 데이터 저장 매체로서 널리 사용되고 있다.
최근에, 반도체 메모리 장치의 집적도를 향상시키기 위하여 3차원으로 적층되는 메모리 셀을 갖는 반도체 메모리 장치가 활발히 연구되고 있다.
본 발명의 목적은 웨어 레벨링 정보를 참조하여 프로그램 순서를 조정할 수 있는 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 및 그것의 프로그램 방법을 제공하는 데 있다.
상기 과제를 이루기 위한 본 발명의 실시 예에 따른 기판상에 수직 방향으로 셀 스트링들이 형성되며, 복수의 스트링 선택 라인들 단위로 상기 셀 스트링들을 선택하는 불휘발성 메모리 장치의 프로그램 방법은, 선택된 메모리 블록의 웨어 레벨링 정보를 검출하는 단계, 상기 웨어 레벨링 정보에 따라 상기 메모리 블록의 스트링 선택 라인들의 선택 순서를 결정하는 단계, 그리고 상기 결정된 선택 순서에 따라 데이터를 상기 메모리 블록에 프로그램하는 단계를 포함한다.
상기 과제를 이루기 위한 본 발명의 실시 예에 따른 메모리 시스템은, 복수의 스트링 선택 라인들에 연결되는 메모리 블록을 포함하는 불휘발성 메모리 장치, 그리고 프로그램 동작시에 상기 복수의 스트링 선택 라인들 중 적어도 하나를 선택하도록 상기 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함하되, 상기 메모리 블록의 웨어 레벨링 정보에 따라 상기 복수의 스트링 선택 라인들의 선택 순서가 변경된다.
상기 과제를 이루기 위한 본 발명의 실시 예에 따른 불휘발성 메모리 장치는, 각각 복수의 스트링 선택 라인들에 연결되는 복수의 메모리 블록들을 포함하는 셀 어레이, 상기 셀 어레이의 비트 라인들과 연결되는 페이지 버퍼, 상기 복수의 스트링 선택 라인들을 통해 상기 셀 어레이에 연결되는 디코더, 입력되는 어드레스를 웨어 레벨링 정보를 참조하여 리맵핑하여 상기 디코더에 제공하는 어드레스 리맵퍼, 그리고 입력되는 명령어를 디코딩하여 상기 웨어 레벨링 정보를 추출하고, 추출된 상기 웨어 레벨링 정보를 상기 어드레스 리맵퍼에 제공하는 제어 로직을 포함하되, 상기 어드레스 리맵퍼는 선택된 메모리 블록에서 상기 복수의 스트링 선택 라인들의 선택 순서가 상기 웨어 레벨링 정보에 따라 조정되도록 상기 어드레스를 리맵핑한다.
본 발명의 실시 예에 따르면, 웨어 레벨링 정보를 참조하여 프로그램되는 메모리 셀들의 선택 순서를 조정할 수 있어, 고정된 프로그램 순서에 기인하는 셀의 신뢰성 저하 문제를 해결할 수 있다. 따라서, 본 발명의 실시 예에 따르면 불휘발성 메모리 장치의 메모리 셀의 열화를 감소시키고, 저장되는 데이터의 무결성(Data Integrity)을 높일 수 있다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 보여주는 블록도이다.
도 3은 도 2의 메모리 블록들(BLK1~BLKz) 중 하나(BLKi)를 예시적으로 보여주는 사시도이다.
도 4는 도 3의 수직 구조 낸드형 셀 스트링을 보여주는 단면도이다.
도 5는 본 발명의 수직 구조 불휘발성 메모리 장치의 다른 예를 보여주는 사시도이다.
도 6은 도 5의 메모리 블록(BLKq)의 절단선(Ⅱ-Ⅱ')에 따른 단면도이다.
도 7은 본 발명의 불휘발성 메모리 장치의 선택 구조를 간략히 보여주는 회로도이다.
도 8a 내지 도 8d는 본 발명의 실시 예에 따른 스트링 선택 라인들의 선택 순서들을 보여주는 도면들이다.
도 9는 도 1의 메모리 시스템(100)에서 수행되는 프로그램 방법을 간략히 보여주는 순서도이다.
도 10a 내지 도 10d는 선택된 메모리 블록에 대한 메모리 컨트롤러의 쓰기 어드레스 제공 방법을 보여주는 타이밍도들이다.
도 11은 본 발명의 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 12는 본 발명의 실시 예에 따른 불휘발성 메모리 장치(420)를 보여주는 블록도이다.
도 13은 도 12의 불휘발성 메모리 장치의 프로그램 방법을 간략히 보여주는 순서도이다.
도 14는 도 12의 불휘발성 메모리 장치의 어드레스 리맵퍼(425)의 어드레스 조정을 예시적으로 보여주는 테이블이다.
도 15는 본 발명의 효과를 보여주기 위한 도면이다.
도 16은 본 발명의 실시 예에 따른 솔리드 스테이트 드라이브를 보여주는 블록도이다.
도 17은 본 발명의 실시 예에 따른 데이터 저장 장치를 예시적으로 보여주는 블록도이다.
도 18은 본 발명의 실시 예에 따른 메모리 카드를 예시적으로 보여주는 블록도이다.
도 19는 본 발명에 따른 플래시 메모리 장치 및 그것을 포함하는 컴퓨팅 시스템의 개략적인 구성을 보여주는 도면이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다. 동일한 구성 요소들은 동일한 참조번호를 이용하여 인용될 것이다. 유사한 구성 요소들은 유사한 참조번호들을 이용하여 인용될 것이다. 아래에서 설명될 본 발명에 따른 플래시 메모리 장치의 회로 구성과, 그것에 의해 수행되는 읽기 동작은 예를 들어 설명한 것에 불과하며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능하다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 1을 참조하면, 메모리 시스템(100)은 메모리 컨트롤러(110)와 불휘발성 메모리 장치(120)를 포함한다. 메모리 시스템(100)은 웨어 레벨링 정보를 참조하여 불휘발성 메모리 장치(120)의 스트링 선택 라인(String Selection Line: 이하, SSL)의 선택 순서를 조정할 수 있다.
메모리 컨트롤러(110)는 외부로부터의 쓰기 요청에 응답하여 불휘발성 메모리 장치(120)를 제어한다. 메모리 컨트롤러(110)는 호스트로부터의 쓰기 요청에 응답하여 불휘발성 메모리 장치(120)에 쓰기 명령어(CMD)와 메모리 셀들을 선택하기 위한 어드레스(ADD')를 제공한다. 메모리 컨트롤러(110)는 선택된 메모리 블록에 데이터를 저장하기 위하여 스트링 선택 라인(SSL) 단위로 메모리 셀들을 선택할 수 있다.
하나의 메모리 블록에는 기판에 대해 수직 방향으로 형성되는 복수의 셀 스트링들이 포함된다. 기판에 대해 수직으로 셀 스트링들이 형성되는 수직 구조 불휘발성 메모리 장치에서는, 하나의 메모리 블록은 복수의 스트링 선택 라인들과 연결된다. 그리고 복수의 셀 스트링들은 복수의 스트링 선택 라인들(SSLs)에 의해서 선택될 수 있다. 어느 하나의 스트링 선택 라인이 활성화되면, 활성화된 스트링 선택 라인을 공유하는 셀 스트링들이 선택될 수 있다. 그리고 선택된 셀 스트링들에 포함되는 메모리 셀들의 프로그램이 가능하다.
메모리 컨트롤러(110)는 선택된 메모리 블록의 셀 스트링들을 배열된 순서에 따라 선택할 수 있다. 이뿐만 아니라, 메모리 컨트롤러(110)는 웨어 레벨링 정보(Wear Leveling Information)를 참조하여 선택된 메모리 블록의 셀 스트링들을 배열된 순서의 역순, 지그재그(Zigzag) 순서, 또는 다양한 순서에 따라서 선택할 수 있다.
이러한 동작을 위해서 메모리 컨트롤러(110)는 웨어 레벨링 매니저(10)와 어드레스 리맵퍼(20)를 포함한다. 웨어 레벨링 매니저(10)는 불휘발성 메모리 장치(120)에 포함되는 제반 메모리 블록들에 대한 웨어 레벨링 정보를 저장하고, 업데이트 및 관리한다. 웨어 레벨링 매니저(10)는 예를 들면, 플래시 변환 계층(FTL)과 같은 펌웨어에 의해서 구현될 수 있다.
어드레스 리맵퍼(20)는 웨어 레벨링 매니저(10)에 의해서 제공되는 웨어 레벨링 정보를 참조하여 선택된 메모리 블록에 대한 스트링 선택 라인들의 선택 순서를 재설정한다. 웨어 레벨링 정보는, 예를 들면, 메모리 블록의 소거 카운트(Erase count)일 수 있다. 어드레스 리맵퍼(20)는 선택된 메모리 블록의 소거 카운트(Erase count)가 기준치 이하인 경우에는 스트링 선택 라인들이 배열된 순서에 따라 선택되는 어드레스(ADD)를 출력할 수 있다. 어드레스 리맵퍼(20)는 선택된 메모리 블록의 소거 카운트(Erase count)가 기준치를 초과하면, 선택된 메모리 블록에서 스트링 선택 라인(SSL)의 선택 순서를 변경하도록 설정된 어드레스(ADD')로 출력할 수 있다.
불휘발성 메모리 장치(120)는 셀 스트링의 채널이 기판에 대해서 수직으로 형성되는 수직 구조 불휘발성 메모리 장치이다. 또는, 불휘발성 메모리 장치(120)는 하나의 메모리 블록이 적어도 2개의 스트링 선택 라인들(SSLs)에 연결되는 메모리 장치일 수 있다. 불휘발성 메모리 장치(120)는 저장 매체로서 메모리 장치들이 낸드 플래시 메모리를 예로 들어 설명되었으나, 또 다른 불휘발성 메모리 장치들로 구성될 수 있다. 예를 들면, 불휘발성 메모리 장치(120)는 저장 매체로서 PRAM, MRAM, ReRAM, FRAM 등이 사용될 수 있으며, 이종의 메모리 장치들이 혼용되는 메모리 장치일 수도 있다.
이상의 설명에 따르면, 본 발명의 메모리 시스템(100)은 선택된 메모리 블록의 웨어 레벨링 정보를 참조하여 선택된 메모리 블록 내에서 메모리 셀들의 선택 순서를 변경할 수 있다. 예를 들면, 소거 카운트(Erase Count)가 기준치 이하인 경우, 스트링 선택 라인(SSL)의 배열 순서에 따라 메모리 셀들을 선택할 수 있다. 반면, 소거 카운트(Erase count)가 기준치보다 큰 메모리 블록에 대해서는 스트링 선택 라인(SSL)의 배열 순서의 역순으로 메모리 셀들을 선택할 수 있다. 이러한 설정을 통하여, 불휘발성 메모리 장치(120) 내에 포함되는 메모리 블록들 내부의 메모리 셀들의 열화를 평준화시킬 수 있다. 결과적으로, 본 발명의 적용에 따라 불휘발성 메모리 장치(120)의 수명이나 데이터의 신뢰도를 높일 수 있다.
웨어 레벨링을 평준화하기 위해서, 플래시 메모리 장치의 경우에는 메모리 블록 단위로 관리된다. 그러나 하나의 메모리 블록 내에서도 선택 순서의 고정에 의해 메모리 셀들은 각각 다른 전압 스트레스에 노출될 수 있다. 특히, 수직 구조로 셀 스트링들이 형성되는 낸드 플래시 메모리에서는 이러한 문제가 심각해진다. 워드 라인의 적층에 따라. 하나의 층에 대응하는 메모리 셀들은 하나의 워드 라인을 공유하게 된다. 따라서, 비선택된 스트링 선택 라인(SSL)에 연결된 메모리 셀이라 하더라도, 워드 라인을 통해서 인가되는 높은 프로그램 전압에 노출된다. 따라서, 셀 신뢰성이 감소할 수밖에 없다. 특히, 메모리 블록 내에서 나중에 선택되는 스트링 선택 라인에 연결되는 메모리 셀들일수록 이러한 문제는 현저하게 나타난다. 웨어 레벨링 정보를 참조하여 이러한 스트링 선택 라인의 선택 순서를 변경할 수 있다면, 하나의 메모리 블록 내에서 메모리 셀들이 받는 스트레스를 분산시키는 효과를 기대할 수 있다. 이러한 효과는 후술하는 도 15의 설명에서 상세히 다루기로 한다.
더불어, 상술한 실시 예에서 스트링 선택 라인의 선택 순서를 전환하기 위한 기준으로 웨어 레벨링 정보를 참조하였다. 하지만, 본 발명은 여기에만 국한되지 않는다. 스트링 선택 라인의 선택 순서를 전환하기 위한 기준으로 소거 카운트와 같은 웨어 레벨링 정보뿐만 아니라 다양한 데이터가 이용될 수 있을 것이다.
도 2는 본 발명의 실시 예에 따른 불휘발성 메모리 장치(120)를 보여주는 블록도이다. 도 2를 참조하면, 불휘발성 메모리 장치(120)는 메모리 셀 어레이(121), 디코더(122), 페이지 버퍼(123), 그리고 제어 로직(124)을 포함한다.
메모리 셀 어레이(121)는 워드 라인들(WLs) 또는 선택 라인들(SSL, GSL)을 통해 디코더(122)에 연결된다. 메모리 셀 어레이(121)는 비트 라인들(BLs)을 통해서 페이지 버퍼(123)에 연결된다. 메모리 셀 어레이(121)는 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 각각의 메모리 블록들은 복수의 낸드형 셀 스트링들(NAND Cell Strings)을 포함한다. 복수의 셀 스트링들은 복수의 스트링 선택 라인(SSL)들을 통해서 선택될 수 있다.
셀 스트링들 각각의 채널은 수직 방향으로 형성될 수 있다. 메모리 셀 어레이(121)에는 복수의 워드 라인들이 수직 방향으로 적층되고, 셀 스트링들 각각의 채널이 수직 방향으로 형성될 수 있다. 이런 셀 스트링의 구조로 메모리 셀 어레이(121)가 형성되는 메모리 장치를 수직 구조 불휘발성 메모리 장치 또는 3차원 구조 불휘발성 메모리 장치라 칭하기도 한다. 셀 스트링이 수평 방향으로 형성되거나 수직 방향으로 형성되는 메모리 장치에서 메모리 셀들 각각은 멀티 레벨 셀(MLC)로 구동될 수 있다.
디코더(122)는 메모리 컨트롤러(110)에 의해서 조정된 어드레스(ADD')에 응답하여 메모리 셀 어레이(121)의 메모리 블록들 중 어느 하나를 선택할 수 있다. 그리고 디코더(122)는 선택된 메모리 블록의 스트링 선택 라인들(SSLs)을 조정된 어드레스(ADD')에 따라 활성화한다. 조정된 어드레스(ADD')는 메모리 컨트롤러(110)에서 메모리 블록의 웨어 레벨링 정보(예를 들면, 소거 카운트)를 참조하여 조정된 순서로 스트링 선택 라인(SSL)을 선택하도록 구성된다.
더불어, 디코더(122)는 선택된 메모리 블록의 워드 라인들(WLs) 중 어느 하나를 선택할 수 있다. 디코더(122)는 선택된 메모리 블록의 워드 라인에 워드 라인 전압을 전달한다. 프로그램 동작시 디코더(122)는 선택 워드 라인(Selected WL)에 프로그램 전압(Vpgm)과 검증 전압(Vvfy)을, 비선택 워드 라인(Unselected WL)에는 패스 전압(Vpass)을 전달한다. 그리고 디코더(122)는 선택 라인들(SSL, GSL)에 선택 신호를 제공하여 메모리 블록, 서브 블록 등을 선택할 수 있다.
페이지 버퍼(123)는 동작 모드에 따라 기입 드라이버로서 또는 감지 증폭기로서 동작한다. 프로그램 동작시, 페이지 버퍼(123)는 메모리 셀 어레이(121)의 비트 라인으로 프로그램될 데이터에 대응하는 비트 라인 전압을 전달한다. 읽기 동작시, 페이지 버퍼(123)는 선택된 메모리 셀에 저장된 데이터를 비트 라인을 통해서 감지한다. 페이지 버퍼(123)는 감지된 데이터를 래치하여 외부에 전달한다.
제어 로직(124)은 외부로부터 전달되는 명령어(CMD)에 응답하여 페이지 버퍼(123)와 디코더(122)를 제어한다. 제어 로직(124)은 조정된 어드레스(ADD')에 의해서 선택되는 메모리 셀들에 입력되는 데이터를 프로그램하도록 페이지 버퍼(123)와 디코더(122)를 제어한다.
본 발명의 불휘발성 메모리 장치(120)는 메모리 컨트롤러(110)에 의해서 제공되는 조정된 어드레스(ADD')에 응답하여 선택된 메모리 블록 내에서의 메모리 선택을 수행한다. 조정된 어드레스(ADD')에 따르면, 소거 카운트가 기준치를 초과하면 종전의 스트링 선택 라인의 선택 순서를 전환한다. 선택 순서의 전환에 따라, 하나의 메모리 블록 내에서 메모리 셀들이 받는 스트레스를 평준화 또는 감소시킬 수 있다.
도 3은 도 2의 메모리 블록들(BLK1~BLKz) 중 하나(BLKi)를 예시적으로 보여주는 사시도이다. 도 3을 참조하면, 메모리 블록(BLKi)은 3차원 구조 또는 수직 구조로 형성되는 셀 스트링들을 포함한다. 메모리 블록(BLKi)은 복수의 방향들(x, y, z)을 따라 신장된 구조물들을 포함한다.
메모리 블록(BLKi)을 형성하기 위해서는, 우선 기판(111)이 제공된다. 예를 들면, 기판(111)은 붕소(B, Boron)와 같은 5족 원소가 주입되어 형성된 P-웰로 형성될 수 있을 것이다. 또는, 기판(111)은 N-웰 내에 제공되는 포켓 P-웰로 형성될 수 있을 것이다. 이하에서, 기판(111)은 P-웰 인 것으로 가정하기로 한다. 그러나 기판(111)은 P-웰에만 한정되지 않는다.
기판(111) 상에, x 방향을 따라 복수의 도핑 영역들(311~314)이 형성된다. 예를 들면, 복수의 도핑 영역들(311~314)은 기판(111)과 상이한 n 타입의 도전체로 형성될 수 있을 것이다. 이하에서, 제 1 내지 제 4 도핑 영역들(311~314)은 n 타입을 갖는 것으로 가정한다. 그러나, 제 1 내지 제 4 도핑 영역들(311~314)은 n 타입을 갖는 것으로 한정되지 않는다.
제 1 및 제 2 도핑 영역들(311, 312) 사이의 기판(111)의 영역 상에, y 방향을 따라 신장되는 복수의 절연 물질들(112)이 z 방향을 따라 순차적으로 제공된다. 예를 들면, 복수의 절연 물질들(112)은 z 방향을 따라 특정 거리만큼 이격되어 형성될 것이다. 예시적으로, 절연 물질들(112)은 실리콘 산화물(Silicon Oxide)과 같은 절연 물질을 포함할 것이다.
제 1 및 제 2 도핑 영역들(311, 312) 사이의 기판(111) 상부에, y 방향을 따라 순차적으로 배치되며 z 방향을 따라 절연 물질들(112)을 관통하는 필라(113)가 형성된다. 예시적으로, 필라(113)는 절연 물질들(112)을 관통하여 기판(111)과 연결될 것이다. 여기서, 필라(113)는 제 2 및 제 3 도핑 영역들(312, 313) 사이의 기판 상부와, 제 3 및 제 4 도핑 영역들(313, 314) 사이의 기판 상부에도 형성된다.
예시적으로, 각 필라(113)는 복수의 물질들로 구성될 것이다. 예를 들면, 각 필라(113)의 표면층(114)은 제 1 타입을 갖는 실리콘 물질을 포함할 것이다. 예를 들면, 각 필라(113)의 표면층(114)은 기판(111)과 동일한 타입을 갖는 실리콘 물질을 포함할 것이다. 이하에서, 각 필라(113)의 표면층(114)은 p 타입 실리콘을 포함하는 것으로 가정한다. 그러나, 각 필라(113)의 표면층(114)은 p 타입 실리콘을 포함하는 것으로 한정되지 않는다.
각 필라(113)의 내부층(115)은 절연 물질로 구성된다. 예를 들면, 각 필라(113)의 내부층(115)은 실리콘 산화물(Silicon Oxide)과 같은 절연 물질을 포함할 것이다. 예를 들면, 각 필라(113)의 내부층(115)은 에어 갭(Air gap)을 포함할 수 있다.
제 1 및 제 2 도핑 영역들(311, 312) 사이의 영역에서, 절연 물질들(112), 필라들(113), 그리고 기판(111)의 노출된 표면을 따라 절연막(116)이 제공된다. 예시적으로, z 방향을 따라 제공되는 마지막 절연 물질(112)의 z 방향 쪽의 노출면에 제공되는 절연막(116)은 제거될 수 있다.
제 1 및 제 2 도핑 영역들(311, 312) 사이의 영역에서, 절연막(116)의 노출된 표면상에 제 1 도전 물질들(211~291)이 제공된다. 예를 들면, 기판(111)에 인접한 절연 물질(112) 및 기판(111) 사이에 y 방향을 따라 신장되는 제 1 도전 물질(211)이 제공된다. 더 상세하게는, 기판(111)에 인접한 절연 물질(112)의 하부면의 절연막(116) 및 기판(111) 사이에, x 방향으로 신장되는 제 1 도전 물질(211)이 제공된다.
절연 물질들(112) 중 특정 절연 물질 상부면의 절연막(116) 및 특정 절연 물질 상부에 배치된 절연 물질의 하부면의 절연막(116) 사이에, y 방향을 따라 신장되는 제 1 도전 물질이 제공된다. 예시적으로, 절연 물질들(112) 사이에, y 방향으로 신장되는 복수의 제 1 도전 물질들(221~281)이 제공된다. 예시적으로, 제 1 도전 물질들(211~291)은 금속 물질일 것이다. 예시적으로, 제 1 도전 물질들(211~291)은 폴리 실리콘 등과 같은 도전 물질들일 것이다.
제 2 및 제 3 도핑 영역들(312, 313) 사이의 영역에서, 제 1 및 제 2 도핑 영역들(311, 312) 상의 구조물과 동일한 구조물이 제공될 것이다. 예시적으로, 제 2 및 제 3 도핑 영역들(312, 313) 사이의 영역에서, y 방향으로 신장되는 복수의 절연 물질들(112), y 방향을 따라 순차적으로 배치되며 x 방향을 따라 복수의 절연 물질들(112)을 관통하는 복수의 필라들(113), 복수의 절연 물질들(112) 및 복수의 필라들(113)의 노출된 표면에 제공되는 절연막(116), 그리고 y 방향을 따라 신장되는 복수의 제 1 도전 물질들(212~292)이 제공된다.
제 3 및 제 4 도핑 영역들(313, 314) 사이의 영역에서, 제 1 및 제 2 도핑 영역들(311, 312) 상의 구조물과 동일한 구조물이 제공될 것이다. 예시적으로, 제 3 및 제 4 도핑 영역들(312, 313) 사이의 영역에서, y 방향으로 신장되는 복수의 절연 물질들(112), y 방향을 따라 순차적으로 배치되며 z 방향을 따라 복수의 절연 물질들(112)을 관통하는 복수의 필라들(113), 복수의 절연 물질들(112) 및 복수의 필라들(113)의 노출된 표면에 제공되는 절연막(116), 그리고 y 방향을 따라 신장되는 복수의 제 1 도전 물질들(213~293)이 제공된다.
복수의 필라들(113) 상에 드레인들(320)이 각각 제공된다. 드레인들(320) 상에, x 방향으로 신장된 제 2 도전 물질들(331~333)이 제공된다. 제 2 도전 물질들(331~333)은 y 방향을 따라 순차적으로 배치된다. 제 2 도전 물질들(331~333) 각각은 대응하는 영역의 드레인들(320)과 연결된다. 예시적으로, 드레인들(320) 및 x 방향으로 신장된 제 2 도전 물질(333)은 각각 콘택 플러그들(Contact plug)을 통해 연결될 수 있다. 예시적으로, 제 2 도전 물질들(331~333)은 금속 물질들일 것이다. 예시적으로, 제 2 도전 물질들(331~333)은 폴리 실리콘 등과 같은 도전 물질들일 것이다.
도 4는 도 3의 수직 구조로 형성된 낸드형 셀 스트링을 보여주는 단면도이다. 도 4를 참조하면, 하나의 셀 스트링에는 비트 라인에 연결되는 필라의 주변에 형성되는 복수의 메모리 셀들이 포함된다. 설명의 편의를 위하여, 하나의 셀 스트링에 7개의 메모리 셀들이 형성되는 것으로 가정하기로 한다.
제 1 및 제 2 도핑 영역들(311, 312) 사이에서, z 방향을 따라 복수 층의 절연 물질들(112)을 관통하는 필라(PL)가 형성된다. 필라(PL)는 절연 물질들(112)을 관통하여 기판(111)과 접촉할 수 있다. 필라(PL)는 채널막(114) 및 내부 물질(115)을 포함할 수 있다.
채널막(114)은 제 1 도전형을 갖는 반도체 물질(예를 들면, 실리콘)을 포함할 수 있다. 예를 들면, 채널막(114)은 기판(111)과 동일한 도전형을 갖는 반도체 물질(예를 들면, 실리콘)을 포함할 수 있다. 이하에서, 채널막(114)은 p 타입 실리콘을 포함하는 것으로 가정한다. 그러나, 채널막(114)은 p 타입 실리콘을 포함하는 것으로 한정되지 않는다. 예를 들면, 채널막(114)은 도전형을 갖지 않는 진성 반도체(Intrinsic semiconductor)를 포함할 수 있다.
내부 물질(115)은 절연 물질을 포함한다. 예를 들면, 내부 물질(115)은 실리콘 산화물(Silicon Oxide)과 같은 절연 물질을 포함할 수 있다. 예를 들면, 내부 물질(115)은 에어 갭(Air gap)을 포함할 수 있다.
제 1 및 제 2 도핑 영역들(311, 312) 사이에서, 절연 물질(112) 및 필라(PL)의 노출된 표면들 상에 정보 저장막들(116, 도 3 참조)이 제공된다. 제 1 및 제 2 도핑 영역들(311, 312) 중 인접한 두 개의 도핑 영역들 사이에서, 정보 저장막들(116)의 노출된 표면들 상에 도전 물질들이 제공된다.
도핑 영역들(311, 312) 상에서, 도전 물질들 및 절연 물질들(112)은 워드 라인 컷(WL cut)에 의해 분리될 수 있다. 예시적으로, 도전 물질들(CM1~CM8)은 금속성 도전 물질을 포함 수 있다. 도전 물질들은 폴리 실리콘 등과 같은 비금속성 도전 물질을 포함할 수 있다.
필라(PL) 상에는 드레인(320)이 형성될 수 있다. 예시적으로, 드레인(320)은 제 2 도전형을 갖는 반도체 물질(예를 들면, 실리콘)을 포함할 수 있다. 예를 들면, 드레인(320)은 n 타입 도전형의 반도체 물질(예를 들면, 실리콘)을 포함할 수 있다. 이하에서, 드레인(320)은 n 타입 실리콘을 포함하는 것으로 가정한다. 그러나, 드레인(320)은 n 타입 실리콘을 포함하는 것으로 한정되지 않는다. 예시적으로, 드레인(320)은 필라(PL)의 채널막(114)의 상부로 확장될 수 있다.
드레인(320) 상에, x 방향으로 신장되는 비트 라인(BL)이 제공된다. 비트 라인(BL)은 드레인(320)과 연결된다. 예시적으로, 드레인(320) 및 비트 라인(BL)은 콘택 플러그들(미도시)을 통해 연결될 수 있다. 예시적으로, 비트 라인(BL)은 금속성 도전 물질들을 포함할 수 있다. 예시적으로, 비트 라인들(BL)은 폴리 실리콘 등과 같은 비금속성 도전 물질들을 포함할 수 있다.
도면에서는, 필라(PL)에 의해서 형성되는 셀 스트링의 채널을 서로 다른 z 방향 위치에서의 단면들(210, 220)이 도시되어 있다. 단면(210)은 워드 라인(WL<0>)에 대응하는 평면에서의 채널 홀(Channel Hole)의 단면이고, 단면(220)은 워드 라인(WL<6>)에 대응하는 평면에서의 채널 홀의 단면이다. 즉, 셀 스트링의 채널을 구성하는 필라(PL)의 지름, 또는 채널 홀의 직경은 채널의 깊이에 따라 달라짐을 알 수 있다.
도 5는 본 발명의 수직 구조 불휘발성 메모리 장치의 다른 예를 보여주는 사시도이다. 도 6은 도 5의 메모리 블록(BLKq)의 절단선(Ⅱ-Ⅱ')에 따른 단면도이다. 도 5 및 도 6을 참조하면, 기판(111) 상에, y 방향을 따라 신장되는 워드 라인들(WL<4>, WL<5>, WL<6>, WL<7>)이 z 방향을 따라 순차적으로 제공된다. 워드 라인들(WL<4>, WL<5>, WL<6>, WL<7>)은 z 방향을 따라 미리 설정된 거리만큼 이격되어 제공된다. y 방향을 따라 순차적으로 배치되며, z 방향을 따라 워드 라인들(WL<4>, WL<5>, WL<6>, WL<7>)을 관통하는 제 1 상부 필라들(UP1)이 제공된다. 여기서, 워드 라인들(WL<4>, WL<5>, WL<6>, WL<7>)은 상부 워드 라인들이라 불릴 수 있다.
기판(111) 상에, y 방향을 따라 신장되는 워드 라인들(WL<0>, WL<1>, WL<2>, WL<3>)이 z 방향을 따라 순차적으로 제공된다. 워드 라인들(WL<0>, WL<1>, WL<2>, WL<3>)은 z 방향을 따라 미리 설정된 거리만큼 이격되어 제공된다. y 방향을 따라 순차적으로 배치되며, z 방향을 따라 워드 라인들(WL<0>, WL<1>, WL<2>, WL<3>)을 관통하는 제 1 하부 필라들(DP1)이 제공된다. 그리고, y 방향을 따라 순차적으로 배치되며, z 방향을 따라 워드 라인들(WL<0>, WL<1>, WL<2>, WL<3>)을 관통하는 제 2 하부 필라들(DP2)이 제공된다. 예시적으로, 제 1 하부 필라들(DP1) 및 제 2 하부 필라들(DP2)은 z 방향을 따라 평행하게 배치될 수 있다. 여기서, 워드 라인들(WL<0>, WL<1>, WL<2>, WL<3>)은 하부 워드 라인들이라 불릴 수 있다.
더불어, 기판(111) 상에 y 방향을 따라 신장되는 워드 라인들(WL<4>, WL<5>, WL<6>, WL<7>)이 z 방향을 따라 순차적으로 제공된다. 워드 라인들(WL<4>, WL<5>, WL<6>, WL<7>)은 z 방향을 따라 미리 설정된 거리만큼 이격되어 제공된다. y 방향을 따라 순차적으로 배치되며, z 방향을 따라 워드 라인들(WL<4>, WL<5>, WL<6>, WL<7>)을 관통하는 제 2 상부 필라들(UP2)이 제공된다.
제 1 및 제 2 하부 필라들(DP1, DP2)의 상부에 y 방향으로 신장되는 공통 소스 라인(CSL)이 제공된다. 예시적으로, 공통 소스 라인(CSL)은 n 타입 실리콘일 것이다. 예시적으로, 공통 소스 라인(CSL)이 금속 또는 폴리 실리콘 등과 같이 극성을 갖지 않는 도전 물질로 구성될 때, 공통 소스 라인(CSL) 및 제 1 및 제 2 하부 필라들(DP1, DP2) 사이에 n 타입 소스들이 추가적으로 제공될 수 있다. 예시적으로, 공통 소스 라인(CSL) 및 제 1 및 제 2 하부 필라들(DP1, DP2)은 콘택 플러그들을 통해 각각 연결될 수 있다.
제 1 및 제 2 상부 필라들(UP1, UP2) 상부에 드레인들(320)이 각각 제공된다. 예시적으로, 드레인들(320)은 n 타입 실리콘일 것이다. 드레인들(320)의 상부에 x 방향을 따라 신장되는 복수의 비트 라인들(BL<1>~BL<3>)이 y 방향을 따라 순차적으로 제공된다. 예시적으로, 비트 라인들(BL<1>~BL<3>)은 금속으로 구성될 것이다. 예시적으로, 비트 라인들(BL<1>~BL<3>) 및 드레인들(320)은 콘택 플러그들을 통해 연결될 수 있다.
제 1 및 제 2 상부 필라들(UP1, UP2) 각각은 표면층(116'') 및 내부층(114'')을 포함한다. 제 1 및 제 2 하부 필라들(DP1, DP2) 각각은 표면층(116'') 및 내부층(114'')을 포함한다. 제 1 및 제 2 상부 필라들(UP1, UP2), 그리고 제 1 및 제 2 하부 필라들(DP1, DP2)의 표면층(116'')은 블로킹 절연막, 전하 저장막, 그리고 터널링 절연막을 포함할 것이다.
제 1 및 제 2 상부 필라들(UP1, UP2), 그리고 제 1 및 제 2 하부 필라들(DP1, DP2)의 내부층(114'')은 p-타입 실리콘일 것이다. 제 1 및 제 2 상부 필라들(UP1, UP2), 그리고 제 1 및 제 2 하부 필라들(DP1, DP2)의 내부층(114'')은 바디로 동작한다.
제 1 상부 필라들(UP1) 및 제 1 하부 필라들(DP1)은 제 1 파이프라인 콘택들(PC1)을 통해 연결된다. 예시적으로, 제 1 상부 필라들(UP1) 및 제 1 하부 필라들(DP1)의 표면층들(116'')은 제 1 파이프라인 콘택(PC1)의 표면층들을 통해 각각 연결된다. 제 1 파이프라인 콘택들(PC1)의 표면층들은 제 1 상부 필라들(UP1) 및 제 1 하부 필라들(DP1)의 표면층들(116'')과 동일한 물질들로 구성될 것이다.
예시적으로, 제 1 상부 필라들(UP1) 및 제 1 하부 필라들(DP1)의 내부층들(114'')은 제 1 파이프라인 콘택들(PC1)의 내부층들을 통해 각각 연결된다. 제 1 파이프라인 콘택들(PC1)의 내부층들은 제 1 상부 필라들(UP1) 및 제 1 하부 필라들(DP1)의 내부층들(114'')과 동일한 물질들로 구성될 것이다.
즉, 제 1 상부 필라들(UP1) 및 워드 라인들(WL<4>, WL<5>, WL<6>, WL<7>)은 제 1 상부 스트링들을 형성하고, 제 1 하부 필라들(DP1) 및 워드 라인들(WL<0>, WL<1>, WL<2>, WL<3>)은 제 1 하부 스트링들을 형성한다. 제 1 상부 스트링들 및 제 1 하부 스트링들은 각각 제 1 파이프라인 콘택들(PC1)을 통해 연결된다. 제 1 상부 스트링들의 일단에 드레인들(320) 및 비트 라인들(BL<1>~BL<3>)이 연결된다. 제 1 하부 스트링들의 일단에 공통 소스 라인(CSL)이 연결된다. 즉, 제 1 상부 스트링들 및 제 1 하부 스트링들은 제 1 파이프라인 콘택들(PC1)로 연결됨으로써 비트 라인들(BL<1>~BL<3>) 및 공통 소스 라인(CSL) 사이에 연결된 복수의 스트링들(S1)을 형성한다.
마찬가지로, 제 2 상부 필라들(UP2) 및 워드 라인들(WL<4>, WL<5>, WL<6>, WL<7>)은 제 2 상부 스트링들을 형성하고, 제 2 하부 필라들(DP2) 및 워드 라인들(WL<0>, WL<1>, WL<2>, WL<3>)은 제 2 하부 스트링들을 형성한다. 제 2 상부 스트링들 및 제 2 하부 스트링들은 제 2 파이프라인 콘택들(PC2)을 통해 연결된다. 제 2 상부 스트링들의 일단에 드레인들(320) 및 비트 라인들(BL<1>~BL<3>)이 연결된다. 제 2 하부 스트링들의 일단에 공통 소스 라인(CSL)이 연결된다. 즉, 제 2 상부 스트링들 및 제 2 하부 스트링들은 비트 라인들(BL<1>~BL<3>) 및 공통 소스 라인(CSL) 사이에 연결되는 복수의 스트링들(S2)을 형성한다.
예시적으로, 제 1 및 제 2 파이프라인 콘택들(PC1, PC2) 내의 바디들(114'')에 채널을 형성하기 위하여, 제 1 및 제 2 파이프라인 콘택 게이트들(미도시)이 각각 제공될 수 있다. 예시적으로, 제 1 및 제 2 파이프라인 콘택 게이트들(미도시)은 제 1 및 제 2 파이프라인 콘택들(PC1, PC2)의 표면상에 제공될 것이다.
예시적으로, 인접한 하부 필라들(DP1, DP2)에서 워드 라인들(WL<0>, WL<1>, WL<2>, WL<3>)이 공유되는 것으로 설명되었다. 그러나, 상부 필라들(UP1, 또는 UP2)에 인접한 상부 필라들이 추가될 때, 인접한 상부 필라들은 워드 라인들(WL<4>, WL<5>, WL<6>, WL<7>)을 공유하도록 구성될 수 있다.
이상의 도 3 내지 도 6에서 설명된 수직 구조의 불휘발성 메모리 장치에 따르면, 하나의 메모리 블록에는 복수의 셀 스트링들이 포함된다. 그리고 각각의 셀 스트링들은 적어도 2개의 스트링 선택 라인들에 의해서 선택될 수 있다. 하지만, 동일한 층에 형성되는 메모리 셀들은 비선택된 스트링 선택 라인에 연결된다 할지라도 프로그램 전압에 노출될 수밖에 없는 구조임이 설명되었다.
도 7은 본 발명의 불휘발성 메모리 장치의 선택 구조를 간략히 보여주는 회로도이다. 도 7을 참조하면, 하나의 메모리 블록(BLKi)에는 복수의 셀 스트링들이 포함된다. 그리고 메모리 블록은 복수의 셀 스트링들을 선택하기 위한 복수의 스트링 선택 라인들(SSL<0>~SSL<2>)에 연결된다.
복수의 메모리 블록들 중에서 어느 하나의 메모리 블록을 선택하기 위해서는 선택되는 메모리 블록에 제공되는 블록 선택 신호(BLKWL)가 활성화된다. 블록 선택 신호(BLKWL)에 의해서 디코더(122)에 포함되는 패스 트랜지스터(122a, 122b)가 턴온(Turn-on) 또는 턴오프(Turn-off) 된다. 선택 신호들(SS<0>~SS<2>)은 패스 트랜지스터(122a)에 의해서 복수의 스트링 선택 라인들(SSL<0>~SSL<2>)에 전달된다. 구동 신호들(S<0>~S<7>, GS)은 패스 트랜지스터(122b)에 의해서 복수의 워드 라인들(WL<0>~WL<7>) 및 접지 선택 라인(GSL)에 전달된다.
선택 신호(SS<0>)가 활성화되면, 스트링 선택 라인(SSL<0>)에 연결된 셀 스트링들과 비트 라인들(BL<0>~BL<2>)이 전기적으로 연결된다. 그러면, 서브 블록(SB<0>)에 포함되는 메모리 셀들은 구동 신호들(S<0>~S<7>)의 인가를 통해서 프로그램될 수 있다. 선택 신호(SS<1>)가 활성화되면, 스트링 선택 라인(SSL<1>)에 연결된 셀 스트링들과 비트 라인들(BL<0>~BL<2>)이 전기적으로 연결된다. 이때에는, 서브 블록(SB<1>)에 포함되는 메모리 셀들의 프로그램이 가능하다. 선택 신호(SS<2>)가 활성화되면, 스트링 선택 라인(SSL<2>)에 연결된 셀 스트링들과 비트 라인들(BL<0>~BL<2>)이 전기적으로 연결된다. 그러면, 서브 블록(SB<2>)에 포함되는 메모리 셀들의 프로그램이 가능하다.
본 발명의 실시 예에 따르면, 선택된 메모리 블록의 웨어 레벨링 정보를 참조하여 선택 신호들(SS<0>~SS<2>)의 활성화 순서가 변경될 수 있다. 따라서, 고정된 스트링 선택 라인의 선택 순서에 의해서 하나의 메모리 블록 내에서 특정 메모리 셀들에 현저히 발생하는 전압 스트레스를 감소시킬 수 있다. 이러한 효과는 후술하는 도면에서 상세히 설명될 것이다.
도 8a 내지 도 8d는 본 발명의 실시 예에 따른 스트링 선택 라인들의 선택 순서들을 보여주는 도면들이다.
도 8a는 스트링 선택 라인(SSL<0>~SSL<7>)의 배열 순서에 따라 메모리 셀들이 순차적으로 선택되는 예를 보여준다. 선택된 메모리 블록에서, 먼저 스트링 선택 라인(SSL<0>)에 연결된 메모리 셀들이 선택된다. 예를 들면, 스트링 선택 라인(SSL<0>)에 전원 전압(Vcc)이, 스트링 선택 라인들(SSL<1>~SSL<7>)에는 접지 전압(0V)이 인가되면, 스트링 선택 라인(SSL<0>)에 연결된 셀 스트링들이 선택될 수 있다. 그리고 선택된 셀 스트링들의 메모리 셀들은 워드 라인들(WL<0>~WL<7>)에 순차적으로 인가되는 프로그램 전압에 의해서 프로그램될 것이다.
이어서, 스트링 선택 라인(SSL<1>)에 전원 전압(Vcc)이, 스트링 선택 라인들(SSL<0>, SSL<2>~SSL<7>)에는 접지 전압(0V)이 인가되면, 스트링 선택 라인(SSL<1>)에 연결된 셀 스트링들이 선택될 수 있다. 그리고 선택된 셀 스트링들의 메모리 셀들은 워드 라인들(WL<0>~WL<7>)에 순차적으로 인가되는 프로그램 전압에 의해서 프로그램될 것이다. 이러한 절차에 따라서, 스트링 선택 라인(SSL<7>)까지 순차적으로 선택될 수 있다.
도 8a에 도시된 스트링 선택 라인의 선택 순서는 일반적인 불휘발성 메모리 장치에서 디폴트 값으로 고정된 것일 수 있다. 즉, 소거 카운트가 기준치를 초과하지 않는 경우에는 도시된 순서와 같이 스트링 선택 라인들을 선택하도록 메모리 컨트롤러(110)가 어드레스(ADD)를 생성할 수 있을 것이다.
도 8b는 도 8a에 도시된 순서의 역순으로 스트링 선택 라인들이 선택되는 실시 예를 보여준다. 즉, 선택된 메모리 블록에서 스트링 선택 라인(SSL<7>)에 연결된 메모리 셀들이 먼저 선택된다. 스트링 선택 라인(SSL<7>)에 전원 전압(Vcc)이, 스트링 선택 라인들(SSL<0>~SSL<6>)에는 접지 전압(0V)이 인가되면, 스트링 선택 라인(SSL<7>)에 연결된 셀 스트링들이 선택될 수 있다. 그리고 선택된 셀 스트링들에 대응하는 메모리 셀들은 워드 라인들(WL<0>~WL<7>)에 인가되는 프로그램 전압에 의해서 프로그램될 것이다.
이어서, 스트링 선택 라인(SSL<6>)에 전원 전압(Vcc)이, 스트링 선택 라인들(SSL<0>~SSL<5>, SSL<7>)에는 접지 전압(0V)이 인가되면, 스트링 선택 라인(SSL<5>)에 연결된 셀 스트링들이 선택될 수 있다. 그리고 선택된 셀 스트링들의 메모리 셀들은 워드 라인들(WL<0>~WL<7>)에 순차적으로 인가되는 프로그램 전압에 의해서 프로그램될 것이다. 이러한 절차에 따라서, 스트링 선택 라인(SSL<0>)까지 순차적으로 선택될 수 있다.
도 8c는 선택된 메모리 블록에서 스트링 선택 라인들이 중앙에서 외부측 방향으로 선택되는 실시 예를 보여준다. 이러한 선택 방법은 제 1 선택 방식(ME1)과 제 2 선택 방식(ME2)이 고려될 수 있다.
제 1 선택 방식(ME1)에서는 선택된 메모리 블록에서 스트링 선택 라인(SSL<3>)에 연결된 메모리 셀들이 먼저 선택된다. 이어서, 스트링 선택 라인(SSL<2>), 스트링 선택 라인(SSL<1>), 그리고 스트링 선택 라인(SSL<0>)이 순차적으로 선택된다. 이러한 선택 방식은 ①의 화살표로 나타내었다. 이어서, 선택된 메모리 블록에서 스트링 선택 라인(SSL<4>)에 연결된 메모리 셀들이 먼저 선택된다. 이어서, 스트링 선택 라인(SSL<5>), 스트링 선택 라인(SSL<6>), 그리고 스트링 선택 라인(SSL<7>)이 순차적으로 선택된다. 이러한 선택 방식은 ②의 화살표로 나타내었다.
제 2 선택 방식(ME2)에서는 선택된 메모리 블록에서 스트링 선택 라인(SSL<4>)에 연결된 메모리 셀들이 먼저 선택된다. 이어서, 스트링 선택 라인(SSL<5>), 스트링 선택 라인(SSL<6>), 그리고 스트링 선택 라인(SSL<7>)이 순차적으로 선택된다. 이러한 선택 방식은 ①의 화살표로 나타내었다. 이어서, 선택된 메모리 블록에서 스트링 선택 라인(SSL<3>)에 연결된 메모리 셀들이 먼저 선택된다. 이어서, 스트링 선택 라인(SSL<2>), 스트링 선택 라인(SSL<1>), 그리고 스트링 선택 라인(SSL<0>)이 순차적으로 선택된다. 이러한 선택 방식은 ②의 화살표로 나타내었다.
도 8d는 선택된 메모리 블록에서 스트링 선택 라인들이 중앙에서 외부 방향으로 선택되는 다른 실시 예를 보여준다. 이러한 선택 방법으로 제 1 지그재그 방식(Zig1)과 제 2 지그재그 방식(Zig2)이 고려될 수 있다.
제 1 지그재그 방식(Zig1)에서는 선택된 메모리 블록에서 스트링 선택 라인(SSL<3>)에 연결된 메모리 셀들이 먼저 선택된다. 스트링 선택 라인(SSL<4>), 스트링 선택 라인(SSL<2>), 스트링 선택 라인(SSL<5>), 그리고 스트링 선택 라인(SSL<1>)이 순차적으로 선택된다. 이어서, 스트링 선택 라인(SSL<6>), 스트링 선택 라인(SSL<0>), 그리고 스트링 선택 라인(SSL<7>)이 순차적으로 선택된다.
제 2 지그재그 방식(Zig2)에 의하면 선택된 메모리 블록에서 스트링 선택 라인(SSL<4>)에 연결된 메모리 셀들이 먼저 선택된다. 이어서 스트링 선택 라인(SSL<3>), 스트링 선택 라인(SSL<5>), 스트링 선택 라인(SSL<2>), 그리고 스트링 선택 라인(SSL<6>)이 순차적으로 선택된다. 이어서, 스트링 선택 라인(SSL<1>), 스트링 선택 라인(SSL<7>), 그리고 스트링 선택 라인(SSL<0>)이 순차적으로 선택된다.
이상에서 설명된 하나의 메모리 블록 내에서 스트링 선택 라인들의 선택 순서는 예시적인 것에 불과하다. 메모리 블록의 웨어 레벨링 값에 대응하여 다양한 선택 순서에 따라 스트링 선택 라인을 선택하도록 어드레스가 조정될 수 있을 것이다.
도 9는 도 1의 메모리 시스템(100)에서 수행되는 프로그램 방법을 간략히 보여주는 순서도이다. 도 9를 참조하면, 프로그램 동작시 메모리 컨트롤러(110)는 선택된 메모리 블록에 대한 웨어 레벨링 정보(WLCNT)를 참조하여 스트링 선택 라인의 주소를 재구성할 수 있다. 이하에서는 웨어 레벨링 정보(WLCNT)는 소거 카운트로 고려하여 설명될 것이다.
단계 S110에서, 호스트로부터 쓰기 요청이 발생하면 메모리 컨트롤러(110)는 쓰기 요청에 대응하는 논리 어드레스(Logical Address)를 제공받는다. 일반적으로 호스트로부터 제공되는 논리 어드레스에 대응하는 물리 어드레스(Physical Address)가 플래시 변환 계층(Flash Translation Layer: FTL)의 주소 사상법에 의해서 맵핑된다. 이때 맵핑된 어드레스(ADD)에 따르면, 메모리 블록에서 스트링 선택 라인의 선택 순서가 배열 순서에 따라 순차적으로 발생할 것이다.
단계 S120에서, 메모리 컨트롤러(110)는 선택된 메모리 블록에 대한 웨어 레벨링 정보(예를 들면, 소거 카운트)를 검출하게 될 것이다. 선택된 메모리 블록에 대한 웨어 레벨링 정보는 메모리 컨트롤러(110)에 포함되는 웨어 레벨링 매니저(10)로부터 제공받을 수 있다.
단계 S130에서, 메모리 컨트롤러(110)는 웨어 레벨링 정보(WLCNT)를 참조하여 선택된 메모리 블록의 스트링 선택 라인의 선택 순서를 결정하기 위한 동작 분기를 수행한다. 먼저, 선택된 메모리 블록의 웨어 레벨링 정보(WLCNT)의 크기가 0 이상이고 1K(=1024)보다 작은 경우, 절차는 단계 S140으로 이동한다. 반면, 선택된 메모리 블록의 웨어 레벨링 정보(WLCNT)의 크기가 1K(1024) 이상이고 2K(=1024 × 2)보다 작은 경우, 절차는 단계 S150으로 이동한다. 그리고 선택된 메모리 블록의 웨어 레벨링 정보(WLCNT)의 크기가 2K(=1024 × 2) 이상인 경우, 절차는 단계 S160으로 이동한다. 여기서, 메모리 블록들을 웨어 레벨링 정보(WLCNT)에 따라 3개의 그룹으로 분류하였으나, 이는 예시에 불과하다. 메모리 블록들은 웨어 레벨링 정보(WLCNT)에 따라 2개나 또는 4개 이상의 그룹으로도 분류될 수 있다.
단계 S140에서, 메모리 컨트롤러(110)는 웨어 레벨링 정보(WLCNT)의 크기가 0 이상이고 1K(=1024)보다 작은 메모리 블록에 대해서는 스트링 선택 라인 어드레스(SSL Address)를 디폴트 값으로 유지한다. 메모리 컨트롤러(110)의 어드레스 리맵퍼(20)는 선택된 메모리 블록의 스트링 선택 라인이 배열된 순서(SSL<0> to SSL<7>)에 따라서 선택되도록 스트링 선택 라인 어드레스(SSL Address)를 설정한다. 스트링 선택 라인(SSL)의 선택 순서가 배열된 순서에 따르도록 디폴트 값이 설정된 경우라면, 어드레스 리맵퍼(20)는 디폴트 값에 대응하는 스트링 선택 라인 어드레스(SSL Address)를 바이패스(Bypass)할 것이다.
단계 S150에서, 메모리 컨트롤러(110)는 웨어 레벨링 정보(WLCNT)의 크기가 1K(=1024) 이상이고 2K(=1024 × 2)보다 작은 메모리 블록의 스트링 선택 라인 어드레스(SSL Address)를 재구성한다. 메모리 컨트롤러(110)의 어드레스 리맵퍼(20)는 선택된 메모리 블록의 스트링 선택 라인들(SSLs)이 배열된 순서(SSL<0> to SSL<7>)와는 다르게 선택되도록 스트링 선택 라인 어드레스(SSL Address)를 설정한다. 예를 들면, 도 8c나 8d에 도시된 순서들 중 어느 하나로 스트링 선택 라인들(SSLs)이 선택되도록 어드레스 리맵퍼(20)는 스트링 선택 라인 어드레스(SSL Address)를 조정할 수 있다.
단계 S160에서, 메모리 컨트롤러(110)는 웨어 레벨링 정보(WLCNT)의 크기가 2K(=1024 × 2) 이상인 메모리 블록에 대해서는 배열된 순서의 역순으로 스트링 선택 라인들이 선택되도록 스트링 선택 라인 어드레스(SSL Address)를 조정한다. 예를 들면, 메모리 컨트롤러(110)의 어드레스 리맵퍼(20)는 선택된 메모리 블록의 스트링 선택 라인이 배열된 순서(SSL<0> to SSL<7>)의 역순(SSL<7> to SSL<0>)으로 순차적으로 선택되도록 스트링 선택 라인 어드레스(SSL Address)를 조정한다.
단계 S170에서, 메모리 컨트롤러(110)는 바이패스(Bypass) 되거나 조정된 스트링 선택 라인 어드레스(SSL Address)에 따라 선택된 메모리 블록에 데이터를 프로그램하게 될 것이다.
이상의 프로그램 방법에 따르면, 웨어 레벨링 정보(WLCNT)에 따라 스트링 선택 라인의 어드레스를 조정하는 동작이 메모리 컨트롤러(110)에서 수행된다. 따라서, 불휘발성 메모리 장치(120)는 스트링 선택 라인 어드레스를 조정하거나 조정하기 위한 지원 기능을 구비할 필요가 없다.
도 10a 내지 도 10d는 선택된 메모리 블록에 대한 메모리 컨트롤러의 쓰기 명령어와 어드레스의 제공 방법을 보여주는 타이밍도들이다. 메모리 컨트롤러(110, 도 1 참조)는 선택된 메모리 블록의 웨어 레벨링 정보(WLCNT)에 따라 스트링 선택 라인 어드레스의 출력 순서를 결정하게 될 것이다. 그리고 결정된 순서에 따라서 메모리 셀들을 선택하기 위한 어드레스를 불휘발성 메모리 장치(120)로 제공하게 될 것이다. 여기서, 스트링 선택 라인 어드레스(SSL Address)의 전달 순서를 설명하기 위해서 행 어드레스(RA)나 열 어드레스(CA)의 구체적인 변화는 생략하기로 한다. 따라서, 하나의 스트링 선택 라인 어드레스(SSL Address)에 대해서 수차례 입력되는 행 어드레스(RA)나 열 어드레스(CA)들에 대해서는 쓰기 명령어 시퀀스에서 도시하지 않기로 한다.
도 10a를 참조하면, 메모리 컨트롤러(110)는 불휘발성 메모리 장치(120)에 선택된 메모리 블록에 대한 스트링 선택 라인 어드레스를 배열 순서에 따라 제공한다. 메모리 컨트롤러(110)는 불휘발성 메모리 장치(120)에 쓰기 명령어 시퀀스를 제공한다. 메모리 컨트롤러(110)는 불휘발성 메모리 장치(120)의 상태 신호(R/B)가 레디 상태(High)일 때, 쓰기 명령어 시퀀스(80h-ADD0-Din-10h)를 불휘발성 메모리 장치(120)의 입출력 단자(I/Oi)를 통해서 전달한다. 프로그램 컨펌(Program confirm)을 나타내는 '10h'의 입력에 따라 불휘발성 메모리 장치(120)는 상태 신호(R/B)를 비지 상태(Low)로 전환한다. 그리고 불휘발성 메모리 장치(120)는 제공받은 데이터 'Din'를 어드레스(ADD0)에 대응하는 메모리 영역에 프로그램하게 될 것이다.
여기서, 어드레스(ADD0)에는 열 어드레스(CA), 행 어드레스(RA), 블록 어드레스(BA), 그리고 스트링 선택 라인 어드레스(SSL<0>)가 포함될 수 있다. 도면에서는 선택된 스트링 선택 라인들(SSL<0>)에 대해서 하나의 명령어 시퀀스를 도시하였으나, 각각의 열들에 대해서, 그리고 각각의 행들(예를 들면, WL<0>~WL<7>)에 대한 쓰기 명령어 시퀀스가 후속적으로 제공될 수 있음을 잘 이해될 것이다. 그러나 설명의 편의를 위해서 각각의 스트링 선택 라인들(SSL<0>, SSL<1>, SSL<2>)만을 명령어 시퀀스에서 대표적으로 도시하였다.
어드레스(ADD1)에는 열 어드레스(CA), 행 어드레스(RA), 블록 어드레스(BA), 그리고 스트링 선택 라인 어드레스(SSL<1>)가 포함된다. 그리고 어드레스(ADD2)에는 열 어드레스(CA), 행 어드레스(RA), 블록 어드레스(BA), 그리고 스트링 선택 라인 어드레스(SSL<2>)가 포함될 수 있다. 이러한 쓰기 명령어 시퀀스의 제공 방법에 따르면, 선택된 메모리 블록의 스트링 선택 라인들(SSLs)은 배열 순서(SSL<0> to SSL<7>)에 따라 순차적으로 선택될 것이다.
도 10b를 참조하면, 메모리 컨트롤러(110)는 불휘발성 메모리 장치(120)에 선택된 메모리 블록에 대한 스트링 선택 라인 어드레스를 배열 순서의 역순으로 제공할 수 있다. 어드레스(ADD0)에는 열 어드레스(CA), 행 어드레스(RA), 블록 어드레스(BA), 그리고 스트링 선택 라인 어드레스(SSL<7>)가 포함될 수 있다. 이어지는 어드레스(ADD1)에는 열 어드레스(CA), 행 어드레스(RA), 블록 어드레스(BA), 그리고 스트링 선택 라인 어드레스(SSL<6>)가 포함될 수 있다. 어드레스(ADD2)에는 열 어드레스(CA), 행 어드레스(RA), 블록 어드레스(BA), 그리고 스트링 선택 라인 어드레스(SSL<5>)가 포함될 수 있다. 이러한 쓰기 명령어 시퀀스의 제공 방법에 따르면, 선택된 메모리 블록의 스트링 선택 라인들(SSLs)은 배열 순서(SSL<0> to SSL<7>)와는 역순(SSL<7> to SSL<0>)으로 선택될 것이다.
도 10c를 참조하면, 도 8c에 도시된 제 1 선택 방식(ME1)에 대응하는 쓰기 명령어 시퀀스가 도시되어 있다. 메모리 컨트롤러(110)는 선택된 메모리 블록에 대한 스트링 선택 라인 어드레스를 메모리 블록의 중앙부에서 외곽부로 이동하는 방향(Mid to Edge)으로 제공할 수 있다. 여기서, 각각의 스트링 선택 라인들에 대응하는 쓰기 명령어 시퀀스들에는 각각의 열들 또는 각각의 행들(예를 들면, WL<0>~WL<7>)에 대한 쓰기 명령어 시퀀스가 추가적으로 후속될 수 있음을 잘 이해될 것이다.
먼저, 어드레스(ADD0)에는 스트링 선택 라인 어드레스(SSL<3>)가, 어드레스(ADD1)에는 스트링 선택 라인 어드레스(SSL<2>)가, 어드레스(ADD2)에는 스트링 선택 라인 어드레스(SSL<1>)가, 그리고 어드레스(ADD3)에는 스트링 선택 라인 어드레스(SSL<0>)가 포함될 수 있다. 이어지는 어드레스(ADD4)에는 스트링 선택 라인 어드레스(SSL<4>)가, 어드레스(ADD5)에는 스트링 선택 라인 어드레스(SSL<5>)가, 어드레스(ADD6)에는 스트링 선택 라인 어드레스(SSL<6>)가, 그리고 어드레스(ADD7)에는 스트링 선택 라인 어드레스(SSL<7>)가 포함될 수 있다.
이러한 순서는 도 8c에 도시된 제 2 선택 방식(ME2)을 적용하기 위해서 일부 변경될 수 있음은 잘 이해될 것이다.
도 10d를 참조하면, 도 8d에 도시된 제 1 지그재그 선택 방식(Zig1)에 대응하는 쓰기 명령어 시퀀스가 도시되어 있다. 메모리 컨트롤러(110)는 선택된 메모리 블록에 대한 스트링 선택 라인 어드레스를 제 1 지그재그 선택 방식(Zig1) 또는 제 2 지그재그 방식(Zig2)에 따라 제공할 수 있다. 여기서, 각각의 스트링 선택 라인에 대응하는 쓰기 명령어 시퀀스들에는 각각의 열들 또는 각각의 행들(예를 들면, WL<0>~WL<7>)에 대한 쓰기 명령어 시퀀스가 후속될 수 있음을 잘 이해될 것이다.
먼저, 어드레스(ADD0)에는 스트링 선택 라인 어드레스(SSL<3>)가, 어드레스(ADD1)에는 스트링 선택 라인 어드레스(SSL<4>)가, 어드레스(ADD2)에는 스트링 선택 라인 어드레스(SSL<2>)가, 그리고 어드레스(ADD3)에는 스트링 선택 라인 어드레스(SSL<5>)가 포함될 수 있다. 도시되지는 않았지만, 이어지는 어드레스(ADD4)에는 스트링 선택 라인 어드레스(SSL<1>)가, 어드레스(ADD5)에는 스트링 선택 라인 어드레스(SSL<6>)가, 어드레스(ADD6)에는 스트링 선택 라인 어드레스(SSL<0>)가, 그리고 어드레스(ADD7)에는 스트링 선택 라인 어드레스(SSL<7>)가 포함될 수 있다.
이상에서는 메모리 컨트롤러(110)에 의한 어드레스 리맵핑을 통해서 본 발명의 스트링 선택 라인의 선택 순서를 변경하는 기술이 설명되었다. 이 경우, 기존에 존재하는 불휘발성 메모리 장치에 본 발명의 프로그램 방법을 적용할 수 있다는 이점이 존재한다.
도 11은 본 발명의 다른 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 11을 참조하면, 메모리 시스템(400)은 메모리 컨트롤러(410)와 불휘발성 메모리 장치(420)를 포함한다. 여기서, 메모리 컨트롤러(410)는 웨어 레벨링 정보를 참조하여 불휘발성 메모리 장치(420)에 특화된 쓰기 명령어(CMD)를 제공할 수 있다. 예를 들면, 메모리 컨트롤러(410)는 웨어 레벨링 정보를 포함하는 쓰기 명령어(CMD)를 불휘발성 메모리 장치(420)에 제공할 수 있다. 그러면, 불휘발성 메모리 장치(420)가 웨어 레벨링 정보를 포함하는 쓰기 명령어(CMD)에 응답하여 스트링 선택 라인 어드레스를 재구성할 수 있다.
이러한 기능을 구현하기 위해, 메모리 컨트롤러(410)는 불휘발성 메모리 장치(420)의 제반 메모리 블록들에 대한 웨어 레벨링 정보(Wear Leveling Information)를 관리하는 웨어 레벨링 매니저(415)를 포함한다. 메모리 컨트롤러(410)는 외부로부터의 쓰기 요청이 발행하면, 선택된 메모리 블록의 웨어 레벨링 정보(WLCNT)를 포함하는 쓰기 명령어(CMD)를 불휘발성 메모리 장치(420)에 전달한다.
메모리 블록의 웨어 레벨링 정보(WLCNT)를 포함하는 쓰기 명령어(CMD)에 응답하여 불휘발성 메모리 장치(420)는 선택된 메모리 블록의 스트링 선택 라인 어드레스를 리맵핑한다. 이러한 스트링 선택 라인 어드레스를 조정하기 위한 수단으로 불휘발성 메모리 장치(420)는 어드레스 리맵퍼(425)를 포함할 수 있다. 어드레스 리맵퍼(425)는 명령어에 포함되는 웨어 레벨링 정보(WLCNT)를 참조하여 선택된 메모리 블록에 대한 스트링 선택 라인들의 선택 순서를 재설정한다. 불휘발성 메모리 장치(420)는 어드레스 리맵퍼(425)의 동작에 의해서 선택된 메모리 블록의 스트링 선택 라인을 배열된 순서, 또는 배열된 순서의 역순으로, 또는 지그재그 순서 등으로 선택할 수 있다.
이상의 설명에 따르면, 본 발명의 메모리 시스템(400)은 웨어 레벨링 정보(WLCNT)를 쓰기 명령어와 함께 제공하는 메모리 컨트롤러(410)를 포함한다. 그리고 쓰기 명령어에 동반하는 웨어 레벨링 정보(WLCNT)를 참조하여 선택된 메모리 블록의 스트링 선택 라인의 선택 순서를 조정하는 불휘발성 메모리 장치(420)를 포함한다. 따라서, 메모리 컨트롤러(410)의 부담을 불휘발성 메모리 장치(420)가 분담할 수 있다.
도 12는 본 발명의 실시 예에 따른 불휘발성 메모리 장치(420)를 보여주는 블록도이다. 도 12를 참조하면, 불휘발성 메모리 장치(420)는 메모리 셀 어레이(421), 디코더(422), 페이지 버퍼(423), 제어 로직(424), 그리고 어드레스 리맵퍼(425)를 포함한다. 메모리 셀 어레이(421), 디코더(422), 그리고 페이지 버퍼(423)는 실질적으로 도 1의 그것들과 동일하므로, 상세한 설명은 생략하기로 한다.
제어 로직(424)은 외부로부터 전달되는 명령어(CMD)에 응답하여 페이지 버퍼(423)와 어드레스 리맵퍼(425)를 제어한다. 제어 로직(424)은 명령어(CMD)에 포함된 웨어 레벨링 정보(WLCNT)를 어드레스 리맵퍼(425)에 제공한다. 그러면, 어드레스 리맵퍼(425)는 웨어 레벨링 정보(WLCNT)를 참조하여 입력되는 어드레스(ADD)의 스트링 선택 라인 어드레스를 재구성한다. 스트링 선택 라인의 순서가 조정된 어드레스(ADD')가 디코더(422)에 전달될 것이다. 어드레스 리맵퍼(425)의 동작에 의해서 선택된 메모리 블록의 스트링 선택 라인을 배열된 순서, 또는 배열된 순서의 역순으로, 또는 지그재그 순서 등으로 선택할 수 있다.
본 발명의 불휘발성 메모리 장치(220)는 메모리 컨트롤러(410)에 의해서 제공되는 웨어 레벨링 정보(WLCNT)를 참조하여 스트링 선택 라인 어드레스를 조정할 수 있다. 이러한 조정에 따라, 소거 카운트가 기준치를 초과하면 종전의 스트링 선택 라인의 선택 순서를 전환한다. 따라서, 선택 순서의 전환에 따라 하나의 메모리 블록 내에서 메모리 셀이 받는 스트레스를 감소시킬 수 있다.
도 13은 도 12의 불휘발성 메모리 장치의 프로그램 방법을 간략히 보여주는 순서도이다. 도 13을 참조하면, 불휘발성 메모리 장치(420)는 명령어에 포함되는 웨어 레벨링 정보를 참조하여 스트링 선택 라인의 어드레스를 리맵핑할 수 있다.
단계 S210에서, 불휘발성 메모리 장치(420)는 웨어 레벨링 정보(WLCNT)를 포함하는 쓰기 명령어(CMD)를 메모리 컨트롤러(410)로부터 제공받는다. 메모리 컨트롤러(410)에 의해서 선택된 메모리 블록에 대응하는 웨어 레벨링 정보가 검출되고, 쓰기 명령어에 포함되도록 코딩이 이루어질 수 있다. 제어 로직(424)은 쓰기 명령어를 디코딩하여 웨어 레벨링 정보(WLCNT)를 추출하고, 웨어 레벨링 정보(WLCNT)를 어드레스 리맵퍼(425)에 전달할 것이다.
단계 S220에서, 어드레스 리맵퍼(425)는 웨어 레벨링 정보(WLCNT)로부터, 선택된 메모리 블록의 그룹 정보를 획득할 것이다. 그리고 어드레스 리맵퍼(425)는 그룹 정보에 따라 입력되는 어드레스(ADD)를 조정된 어드레스(ADD')로 재구성한다.
단계 S230에서, 어드레스 리맵퍼(425)는 웨어 레벨링 정보(WLCNT)에 따라 선택된 메모리 블록의 스트링 선택 라인의 선택 순서를 결정하기 위한 동작 분기를 수행한다. 먼저, 선택된 메모리 블록의 웨어 레벨링 정보(WLCNT)의 크기가 0 이상이고 1K(=1024)보다 작은 경우, 절차는 단계 S240으로 이동한다. 반면, 선택된 메모리 블록의 웨어 레벨링 정보(WLCNT)의 크기가 1K(1024) 이상이고 2K(=1024 × 2)보다 작은 경우, 절차는 단계 S250으로 이동한다. 그리고 선택된 메모리 블록의 웨어 레벨링 정보(WLCNT)의 크기가 2K(=1024 × 2) 이상인 경우, 절차는 단계 S260으로 이동한다. 여기서, 메모리 블록들을 웨어 레벨링 정보(WLCNT)에 따라 3개의 그룹으로 분류하였으나, 이는 예시에 불과하다. 메모리 블록들은 웨어 레벨링 정보(WLCNT)에 따라 2개 이상의 그룹으로 분류될 수 있다.
단계 S240에서, 어드레스 리맵퍼(425)는 웨어 레벨링 정보(WLCNT)의 크기가 0 이상이고 1K(=1024)보다 작은 메모리 블록에 대해서는 스트링 선택 라인 어드레스(SSL Address)를 디폴트 값으로 유지한다. 어드레스 리맵퍼(425)는 선택된 메모리 블록의 스트링 선택 라인이 배열된 순서(SSL<0> to SSL<7>)에 따라서 선택되도록 스트링 선택 라인 어드레스(SSL Address)를 설정한다. 스트링 선택 라인(SSL)의 선택 순서가 배열된 순서에 따르는 디폴트 값인 경우라면, 어드레스 리맵퍼(425)는 디폴트 값에 대응하는 스트링 선택 라인 어드레스(SSL Address)를 바이패스(Bypass)할 수 있을 것이다.
단계 S250에서, 어드레스 리맵퍼(425)는 웨어 레벨링 정보(WLCNT)의 크기가 1K(=1024) 이상이고 2K(=1024 × 2)보다 작은 메모리 블록의 스트링 선택 라인 어드레스(SSL Address)를 재구성한다. 어드레스 리맵퍼(425)는 선택된 메모리 블록의 스트링 선택 라인들(SSLs)이 배열된 순서(SSL<0> to SSL<7>)와는 다른 순서에 따라 선택되도록 스트링 선택 라인 어드레스(SSL Address)를 설정한다. 예를 들면, 도 8c나 8d에 도시된 순서로 스트링 선택 라인들(SSLs)이 선택되도록 어드레스 리맵퍼(425)는 스트링 선택 라인 어드레스(SSL Address)를 조정할 수 있다.
단계 S260에서, 어드레스 리맵퍼(425)는 웨어 레벨링 정보(WLCNT)의 크기가 2K(=1024 × 2) 이상인 메모리 블록에 대해서는 배열된 순서의 역순으로 스트링 선택 라인들이 선택되도록 스트링 선택 라인 어드레스(SSL Address)를 조정한다. 예를 들면, 어드레스 리맵퍼(425)는 선택된 메모리 블록의 스트링 선택 라인이 배열된 순서(SSL<0> to SSL<7>)의 역순(SSL<7> to SSL<0>)으로 순차적으로 선택되도록 스트링 선택 라인 어드레스(SSL Address)를 조정한다.
단계 S170에서, 제어 로직(424)은 조정된 어드레스(ADD')에 대응하는 메모리 영역에 데이터를 프로그램할 것이다. 즉, 어드레스 리맵퍼(425)에 의해서 웨어 레벨링 정보(WLCNT)를 고려한 스트링 선택 라인 어드레스(SSL Address)에 따라 선택된 메모리 블록의 메모리 셀들이 프로그램될 것이다.
이상의 프로그램 방법에 따르면, 메모리 컨트롤러(410)는 웨어 레벨링 정보(WLCNT)를 쓰기 명령어와 함께 불휘발성 메모리 장치(420)에 제공한다. 그리고 불휘발성 메모리 장치(420)는 제공된 웨어 레벨링 정보(WLCNT)를 참조하여 선택된 메모리 블록의 스트링 선택 라인의 어드레스를 재구성한다.
도 14는 도 12의 불휘발성 메모리 장치의 어드레스 리맵퍼(425)의 어드레스 조정을 예시적으로 보여주는 테이블이다. 도 14를 참조하면, 입력되는 스트링 선택 라인 어드레스(SSL ADD)는 웨어 레벨링 정보(WLCNT)에 따라서 동일한 순서 또는 변경된 순서로 리맵핑된다.
먼저, 어드레스 리맵퍼(425)는 선택된 메모리 블록의 웨어 레벨링 정보(WLCNT)의 크기가 0 이상이고 1K(=1024)보다 작은 경우, 조정된 어드레스(ADD')를 입력된 값과 동일하게 출력한다. 즉, 입력된 어드레스(ADD)의 스트링 선택 라인의 어드레스가 SSL<3>에 대응하는 경우, 어드레스 리맵퍼(425)는 동일한 스트링 선택 라인 어드레스(SSL<3>)로 출력할 수 있다.
반면, 어드레스 리맵퍼(425)는 선택된 메모리 블록의 웨어 레벨링 정보(WLCNT)의 크기가 1K(=1024) 이상이고 2K(=1024×2)보다 작은 경우, 지그재그 방식으로 스트링 선택 라인들을 선택하도록 입력 어드레스를 조정할 것이다. 도시된 예를 참조하면, 입력 스트링 선택 라인 어드레스들(SSL<0>, SSL<1>, SSL<2>, SSL<3>)은 각각 스트링 선택 라인들(SSL<3>, SSL<4>, SSL<2>, SSL<5>)에 맵핑될 것이다. 그리고 입력 스트링 선택 라인 어드레스들(SSL<4>, SSL<5>, SSL<6>, SSL<7>)은 각각 스트링 선택 라인들(SSL<1>, SSL<6>, SSL<0>, SSL<7>)에 맵핑될 것이다.
어드레스 리맵퍼(425)는 웨어 레벨링 정보(WLCNT)의 크기가 2K(=1024 × 2) 이상인 메모리 블록에 대해서는 배열된 순서의 역순으로 스트링 선택 라인들이 선택되도록 스트링 선택 라인 어드레스를 조정한다. 예를 들면, 입력 스트링 선택 라인 어드레스들(SSL<0>, SSL<1>, SSL<2>, SSL<3>)은 각각 스트링 선택 라인들(SSL<7>, SSL<6>, SSL<5>, SSL<4>)에 맵핑될 것이다. 그리고 입력 스트링 선택 라인 어드레스들(SSL<4>, SSL<5>, SSL<6>, SSL<7>)은 각각 스트링 선택 라인들(SSL<3>, SSL<2>, SSL<1>, SSL<0>)에 맵핑될 것이다.
도 15는 본 발명의 효과를 보여주기 위한 도면이다. 도 15를 참조하면, 하나의 메모리 블록에 대한 스트링 선택 라인의 선택 순서가 고정된 경우, 프로그램을 진행함에 따라 형성되는 메모리 셀들의 문턱 전압 산포를 간략히 보여준다. 스트링 선택 라인들(SSL<0>, SSL<1>, …, SSL<6>, SSL<7>) 각각이 공유하는 메모리 셀들의 문턱 전압 산포가 프로그램의 진행에 따라 도시되어 있다.
먼저, 스트링 선택 라인(SSL<0>)에 연결된 메모리 셀들을 고려하면, 프로그램 이전에는 모든 메모리 셀들의 문턱 전압이 산포(500)에 대응하는 것으로 간주할 수 있다. 그러나 선택된 메모리 셀들에 2-비트 데이터가 프로그램되는 순간에는 실선으로 표시된 문턱 전압 산포들(510, 520, 530, 540)로 나타날 수 있다. 하지만, 이후에 다른 스트링 선택 라인들(SSL<1>~SSL<7>)에 연결된 메모리 셀들이 모두 프로그램될 때까지는 적층된 워드 라인 구조에 의해서, 스트링 선택 라인(SSL<0>)에 연결된 메모리 셀들은 스트레스를 받게 된다. 따라서, 스트링 선택 라인들(SSL<7>)에 연결되는 메모리 셀들이 프로그램 완료된 이후에는 점선으로 표시된 문턱 전압 산포들(510', 520', 530', 540')로 변화될 수 있다.
스트링 선택 라인(SSL<1>)에 연결된 메모리 셀들에 있어서, 프로그램 이전에는 모든 메모리 셀들의 문턱 전압은 산포(500)에 대응하는 것으로 간주할 수 있다. 그러나 스트링 선택 라인(SSL<1>)에 연결된 메모리 셀들이 프로그램 완료되는 순간에는 실선으로 표시된 문턱 전압 산포들(511, 521, 531, 541)로 나타날 수 있다. 하지만, 이후에 다른 스트링 선택 라인들(SSL<2>~SSL<7>)에 연결된 메모리 셀들이 모두 프로그램될 때까지는 적층된 워드 라인 구조에 의해서, 스트링 선택 라인(SSL<1>)에 연결된 메모리 셀들은 스트레스를 받게 된다. 따라서, 스트링 선택 라인들(SSL<7>)에 연결되는 메모리 셀들이 프로그램 완료된 이후에는 점선으로 표시된 문턱 전압 산포들(511', 521', 531', 541')로 변화된다.
스트링 선택 라인(SSL<6>)에 연결된 메모리 셀들에 있어서, 프로그램 이전에는 모든 메모리 셀들의 문턱 전압은 산포(500)에 대응하는 것으로 간주할 수 있다. 그러나 스트링 선택 라인(SSL<6>)에 연결된 메모리 셀들이 프로그램 완료되는 순간에는 실선으로 표시된 문턱 전압 산포들(516, 526, 536, 546)로 나타날 수 있다. 하지만, 이후에 스트링 선택 라인(SSL<7>)에 연결된 메모리 셀들이 모두 프로그램될 때까지는 스트링 선택 라인(SSL<6>)에 연결된 메모리 셀들은 스트레스를 받게 된다. 따라서, 스트링 선택 라인들(SSL<6>)에 연결되는 메모리 셀들이 프로그램 완료된 이후에는 점선으로 표시된 문턱 전압 산포들(516', 526', 536', 546')로 변화된다. 여기서, 스트링 선택 라인(SSL<6>)에 연결된 메모리 셀들 중 소거 상태로 존재하는 메모리 셀들은 스트링 선택 라인(SSL<0>)에 연결된 메모리 셀들이 프로그램될 시점부터 누적된 스트레스에 노출된다. 따라서, 소거 상태(E0)에 대응하는 산포(516') 확산되는 방향으로 나타난다. 이러한 문제는 메모리 셀들에 과도한 스트레스를 제공하여, 산화막 열화를 가속시키는 원인이 되고 있다.
특히, 스트링 선택 라인(SSL<7>)에 연결된 메모리 셀들에 있어서, 프로그램 이전에는 모든 메모리 셀들의 문턱 전압은 산포(500)에 대응하는 것으로 간주할 수 있다. 스트링 선택 라인(SSL<7>)에 연결된 메모리 셀들의 프로그램 이전에는 실선으로 나타난 문턱 전압 산포(517)로 나타날 수 있다. 문턱 전압 산포(517)에 따르면, 소거 상태(E0)에 대응하는 메모리 셀들 중에서 반복되는 스트레스로 인하여 문턱 전압이 0V 이상으로 높아진 것들이 존재한다. 스트링 선택 라인(SSL<7>)에 연결된 메모리 셀들에 대한 프로그램이 완료되면, 점선으로 표시된 산포들(517', 527', 537', 547')로 나타날 수 있다.
여기서, 소거 상태(E0)에 대응하는 메모리 셀들의 문턱 전압 산포(517')에 따르면, 데이터 읽기시 에러의 원인이 될 수도 있다. 그리고 스트링 선택 라인(SSL<7>)에 연결된 메모리 셀들은 확률적으로 반복적인 스트레스에 노출되어 메모리 셀의 산화막 열화가 상대적으로 빨라질 수 있다.
본 발명의 웨어 레벨링 정보를 기반으로 한 스트링 선택 라인의 선택 순서 변경을 통해서 이러한 문제의 해결이 가능하다. 본 발명의 실시 예에 따르면, 하나의 메모리 블록 내부에서 메모리 셀의 열화를 평준화할 수 있다. 소거 카운트가 증가하더라도 메모리 블록 내부의 전압 스트레스에 의한 메모리 셀들의 열화가 균일하게 발생한다. 따라서, 전압 스트레스가 집중되는 경우에 비하여 메모리 셀의 신뢰성은 상대적으로 높아지게 될 것이다.
도 16은 본 발명의 실시 예에 따른 솔리드 스테이트 디스크(이하, SSD)를 포함하는 사용자 장치를 보여주는 블록도이다. 도 16을 참조하면, 사용자 장치(1000)는 호스트(1100)와 SSD(1200)를 포함한다. SSD(1200)는 SSD 컨트롤러(1210), 버퍼 메모리(1220), 그리고 불휘발성 메모리 장치(1230)를 포함한다.
SSD 컨트롤러(1210)는 호스트(1100)와 SSD(1200)와의 물리적 연결을 제공한다. 즉, SSD 컨트롤러(1210)는 호스트(1100)의 버스 포맷(Bus format)에 대응하여 SSD(1200)와의 인터페이싱을 제공한다. 특히, SSD 컨트롤러(1210)는 호스트(1100)로부터 제공되는 명령어를 디코딩한다. 디코딩된 결과에 따라, SSD 컨트롤러(1210)는 불휘발성 메모리 장치(1230)를 액세스한다. 호스트(1100)의 버스 포맷(Bus format)으로 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI express, ATA, PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI) 등이 포함될 수 있다.
버퍼 메모리(1220)에는 호스트(1100)로부터 제공되는 쓰기 데이터 또는 불휘발성 메모리 장치(1230)로부터 읽혀진 데이터가 일시 저장된다. 호스트(1100)의 읽기 요청시에 불휘발성 메모리 장치(1230)에 존재하는 데이터가 캐시되어 있는 경우에는, 버퍼 메모리(1220)는 캐시된 데이터를 직접 호스트(1100)로 제공하는 캐시 기능을 지원한다. 일반적으로, 호스트(1100)의 버스 포맷(예를 들면, SATA 또는 SAS)에 의한 데이터 전송 속도는 SSD(1200)의 메모리 채널의 전송 속도보다 월등히 빠르다. 즉, 호스트(1100)의 인터페이스 속도가 월등히 높은 경우, 대용량의 버퍼 메모리(1220)를 제공함으로써 속도 차이로 발생하는 퍼포먼스 저하를 최소화할 수 있다.
버퍼 메모리(1220)는 대용량의 보조 기억 장치로 사용되는 SSD(1200)에서 충분한 버퍼링을 제공하기 위해 동기식 DRAM(Synchronous DRAM)으로 제공될 수 있다. 하지만, 버퍼 메모리(1220)가 여기의 개시에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
불휘발성 메모리 장치(1230)는 SSD(1200)의 저장 매체로서 제공된다. 예를 들면, 불휘발성 메모리 장치(1230)는 대용량의 저장 능력을 가지는 수직 구조 낸드 플래시 메모리(NAND-type Flash memory)로 제공될 수 있다. 불휘발성 메모리 장치(1230)는 복수의 메모리 장치로 구성될 수 있다. 이 경우, 각각의 메모리 장치들은 채널 단위로 SSD 컨트롤러(1210)와 연결된다. 저장 매체로서 불휘발성 메모리 장치(1230)가 낸드 플래시 메모리를 예로 들어 설명되었으나, 또 다른 불휘발성 메모리 장치들로 구성될 수 있다. 예를 들면, 저장 매체로서 PRAM, MRAM, ReRAM, FRAM, NOR 플래시 메모리 등이 사용될 수 있으며, 이종의 메모리 장치들이 혼용되는 메모리 시스템도 적용될 수 있다. 불휘발성 메모리 장치는 실질적으로 도 1에서 설명된 것과 동일하게 구성될 수 있다.
상술한 SSD(1200)에서, SSD 컨트롤러(1210)는 웨어 레벨링 정보를 참조하여 불휘발성 메모리 장치(1230)의 스트링 선택 라인의 선택 순서를 조정할 수 있다. 이러한 동작에 따라 본 발명의 SSD(1200)의 수명 연장과 데이터 신뢰성을 높일 수 있다.
도 17은 본 발명의 다른 실시 예에 따른 메모리 시스템(2000)을 예시적으로 보여주는 블록도이다. 도 17을 참조하면, 본 발명에 따른 메모리 시스템(2000)은 메모리 컨트롤러(2200)와 불휘발성 메모리(2100)를 포함할 수 있다.
불휘발성 메모리(2100)는 도 1 또는 도 11의 불휘발성 메모리 장치(120, 420)와 실질적으로 동일하게 구성될 수 있다. 따라서, 불휘발성 메모리(2100)에 대한 구체적인 설명은 생략하기로 한다.
메모리 컨트롤러(2200)는 불휘발성 메모리(2100)를 제어하도록 구성될 수 있다. SRAM(2230)은 CPU(2210)의 워킹 메모리로 사용될 수 있다. 호스트 인터페이스(2220)는 메모리 시스템(2000)과 접속되는 호스트의 데이터 교환 프로토콜을 구비할 수 있다. 메모리 컨트롤러(2200)에 구비된 에러 정정 회로(2240)는 불휘발성 메모리(2100)로부터 읽어 온 읽기 데이터에 포함되어 있는 에러를 검출 및 정정할 수 있다. 메모리 인터페이스(2260)는 본 발명의 불휘발성 메모리(2100)와 인터페이싱 할 수 있다. CPU(2210)는 메모리 컨트롤러(2200)의 데이터 교환을 위한 제반 제어 동작을 수행할 수 있다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 메모리 시스템(2000)는 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(미도시됨) 등이 더 제공될 수 있다.
메모리 컨트롤러(2100)는 USB, MMC, PCI-E, SAS, SATA, PATA, SCSI, ESDI, 그리고 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 것이다.
상술한 메모리 시스템(2000)에서, 메모리 컨트롤러(2100)는 웨어 레벨링 정보를 참조하여 불휘발성 메모리(2100)의 스트링 선택 라인의 선택 순서를 조정할 수 있다. 이러한 동작에 따라 본 발명의 메모리 시스템(2000)의 수명 연장과 데이터 신뢰성을 높일 수 있다.
본 발명에 따른 메모리 시스템(2000)는, 컴퓨터, 휴대용 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA, 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), 디지털 카메라(digital camera), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 사용자 장치들 중 하나에 적용될 수 있다.
도 18은 본 발명의 다른 실시 예에 따른 데이터 저장 장치(3000)를 예시적으로 보여주는 블록도이다. 도 28을 참조하면, 본 발명에 따른 데이터 저장 장치(3000)는 플래시 메모리(3100)와 플래시 컨트롤러(3200)를 포함할 수 있다. 플래시 컨트롤러(3200)는 데이터 저장 장치(3000) 외부로부터 수신된 제어 신호들에 기초하여 플래시 메모리(3100)를 제어할 수 있다.
상술한 데이터 저장 장치(3000)에서, 플래시 메모리(3100)는 도 1 또는 도 11의 불휘발성 메모리 장치와 실질적으로 동일하게 동작할 수 있다. 플래시 컨트롤러(3200)는 웨어 레벨링 정보를 참조하여 플래시 메모리(3100)의 스트링 선택 라인의 선택 순서를 조정할 수 있다. 이러한 동작에 따라 본 발명의 데이터 저장 장치(3000)의 수명 연장과 데이터 신뢰성을 높일 수 있다.
본 발명의 데이터 저장 장치(3000)는 메모리 카드 장치, SSD 장치, 멀티미디어 카드 장치, SD 카드, 메모리 스틱 장치, 하드 디스크 드라이브 장치, 하이브리드 드라이브 장치, 또는 범용 직렬 버스 플래시 장치를 구성할 수 있다. 예를 들면, 본 발명의 데이터 저장 장치(3000)는 디지털, 카메라, 개인 컴퓨터 등과 같은 사용자 장치를 사용하기 위한 산업 표준을 만족하는 카드를 구성할 수 있다.
도 19는 본 발명에 따른 플래시 메모리 장치(4100) 및 그것을 포함하는 컴퓨팅 시스템(4000)의 개략적인 구성을 보여주는 도면이다. 도 29를 참조하면, 본 발명에 따른 컴퓨팅 시스템(4000)은 버스(4400)에 전기적으로 연결된 플래시 메모리 장치(4100), 메모리 컨트롤러(4200), 베이스밴드 칩셋(baseband chipset)과 같은 모뎀(4300), 마이크로프로세서(4500), 그리고 사용자 인터페이스(4600)를 포함할 수 있다.
도 19에 도시된 플래시 메모리 장치(4100)와 메모리 컨트롤러(4200)의 구성은 도 1 또는 도 11에 도시된 메모리 시스템(100, 400)과 실질적으로 동일하게 구성될 수 있다. 메모리 컨트롤러(4200)는 웨어 레벨링 정보를 참조하여 플래시 메모리 장치(4100)의 스트링 선택 라인의 선택 순서를 조정할 수 있다. 이러한 동작에 따라 본 발명의 컴퓨팅 시스템(4000)의 수명 연장과 데이터 신뢰성을 높일 수 있다.
본 발명에 따른 컴퓨팅 시스템이 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리(4700)가 추가적으로 제공될 수 있다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있다. 메모리 컨트롤러(4200)와 플래시 메모리 장치(4100)는, 예를 들면, 데이터를 저장하는 데 불휘발성 메모리를 사용하는 SSD(Solid State Drive/Disk)를 구성할 수 있다.
본 발명에 따른 불휘발성 메모리 장치 그리고/또는 메모리 컨트롤러는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 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), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장 될 수 있다.
이상에서와 같이 도면과 명세서에서 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허 청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10, 415 : 웨어 레벨링 매니저 20, 425 : 어드레스 리맵퍼
110, 410 : 메모리 컨트롤러
120, 420 : 불휘발성 메모리 장치
121, 421 : 셀 어레이
122, 422 : 디코더
123, 423 : 페이지 버퍼
124, 424 : 제어 로직
111 : 기판 112 : 절연 물질
113 : 필라 114 : 표면층
115 : 내부층 116 : 절연막
211, 221, 231, 241, 251, 261, 271, 281, 291 : 제 1 도전 물질
213, 223, 233, 243, 253, 263, 273, 283, 293 : 제 1 도전 물질
311, 312, 313, 314 : 도핑 영역
320 : 드레인 331, 332, 333 : 비트 라인
1100 : 호스트 1200 : SSD
1210 : SSD 컨트롤러 1220 : 버퍼 메모리
1230 : 불휘발성 메모리 장치 2100 : 플래시 메모리
2200 : 메모리 컨트롤러 2210 : CPU
2220 : 호스트 인터페이스 2230 : SRAM
2240 : ECC 2260 : 메모리 인터페이스
3100 : 플래시 메모리 3200 : 플래시 인터페이스
4100 : 플래시 메모리 4200 : 메모리 컨트롤러
4300 : 모뎀 4400 : 시스템 버스
4500 : 마이크로 프로세서 4600 : 유저 인터페이스
4700 : 배터리

Claims (11)

  1. 기판상에 수직 방향으로 셀 스트링들이 형성되며, 스트링 선택 라인 단위로 메모리 셀들을 선택하는 불휘발성 메모리 장치의 프로그램 방법에 있어서:
    블록 어드레스 및 스트링 선택 라인 어드레스를 수신하는 단계;
    상기 블록 어드레스에 의해 선택된 메모리 블록의 웨어 레벨링 정보를 검출하는 단계;
    상기 웨어 레벨링 정보에 따라 상기 메모리 블록의 스트링 선택 라인들의 선택 순서를 결정하는 단계;
    결정된 상기 선택 순서에 따라 상기 불휘발성 메모리 장치에 입력될 스트링 선택 라인 어드레스를 리맵핑하는 단계; 그리고
    리맵핑된 상기 스트링 선택 라인 어드레스에 따라 상기 메모리 블록에 데이터를 기입하는 단계를 포함하는 프로그램 방법.
  2. 제 1 항에 있어서,
    상기 선택 순서를 결정하는 단계에서, 상기 웨어 레벨링 정보가 기준치를 초과하면 상기 스트링 선택 라인들의 선택 순서를 변경하는 프로그램 방법.
  3. 제 2 항에 있어서,
    상기 선택 순서에는 상기 스트링 선택 라인들의 배열 순서에 따라 선택하는 제 1 순서(Sequence), 상기 스트링 선택 라인들의 배열 순서의 역순으로 선택하는 제 2 순서, 그리고 상기 스트링 선택 라인들이 배열된 중심부에서 외부 방향으로 선택하는 제 3 순서를 포함하는 프로그램 방법.
  4. 제 1 항에 있어서,
    상기 웨어 레벨링 정보는 상기 메모리 블록의 소거 카운트(Erase count)에 대응하는 프로그램 방법.
  5. 복수의 스트링 선택 라인들에 연결되는 메모리 블록을 포함하는 불휘발성 메모리 장치; 그리고
    프로그램 동작시에 상기 복수의 스트링 선택 라인들 중 적어도 하나를 선택하도록 상기 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함하되,
    상기 메모리 컨트롤러는, 상기 메모리 블록의 웨어 레벨링 정보에 따라 상기 복수의 스트링 선택 라인들의 선택 순서가 변경되도록 스트링 선택 라인 어드레스를 리맵핑하여 상기 불휘발성 메모리 장치에 제공하는 메모리 시스템.
  6. 삭제
  7. 제 5 항에 있어서,
    상기 메모리 컨트롤러는:
    상기 메모리 블록의 웨어 레벨링 정보를 제공하기 위한 웨어 레벨링 매니저; 그리고
    상기 웨어 레벨링 정보에 따라 상기 스트링 선택 라인의 어드레스를 조정하는 어드레스 리맵퍼를 포함하는 메모리 시스템.
  8. 제 5 항에 있어서,
    상기 메모리 컨트롤러는 상기 웨어 레벨링 정보를 포함하는 쓰기 명령어를 상기 불휘발성 메모리 장치에 제공하는 메모리 시스템.
  9. 제 8 항에 있어서,
    상기 불휘발성 메모리 장치는 상기 쓰기 명령어를 참조하여, 상기 리맵핑된 스트링 선택 라인 어드레스를 수신하는 메모리 시스템.
  10. 각각 복수의 스트링 선택 라인들에 연결되는 복수의 메모리 블록들을 포함하는 셀 어레이;
    상기 셀 어레이의 비트 라인들과 연결되는 페이지 버퍼;
    상기 복수의 스트링 선택 라인들을 통해 상기 셀 어레이에 연결되는 디코더;
    웨어 레벨링 정보를 참조하여, 입력되는 스트링 선택 라인 어드레스를 리맵핑하여 상기 디코더에 제공하는 어드레스 리맵퍼; 그리고
    입력되는 명령어를 디코딩하여 상기 웨어 레벨링 정보를 추출하고, 추출된 상기 웨어 레벨링 정보를 상기 어드레스 리맵퍼에 제공하는 제어 로직을 포함하되,
    상기 어드레스 리맵퍼는 선택된 메모리 블록에서 상기 복수의 스트링 선택 라인들의 선택 순서가 상기 웨어 레벨링 정보에 따라 조정되도록 상기 스트링 선택 라인 어드레스를 리맵핑하는 불휘발성 메모리 장치.
  11. 제 10 항에 있어서,
    상기 어드레스 리맵퍼는, 상기 선택된 메모리 블록에 대응하는 상기 웨어 레벨링 정보의 크기에 따라 상기 스트링 선택 라인들의 선택 순서를 결정하되,
    상기 선택 순서에는 상기 복수의 스트링 선택 라인들의 물리적 배열 순서에 따라 선택되는 제 1 순서(Sequence), 상기 물리적 배열 순서의 역순으로 선택하는 제 2 순서, 그리고 물리적 배열 순서에서 중심부에서 외부 방향으로 선택하는 제 3 순서를 포함하는 불휘발성 메모리 장치.
KR1020120034496A 2012-04-03 2012-04-03 불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법 KR101989850B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020120034496A KR101989850B1 (ko) 2012-04-03 2012-04-03 불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법
US13/685,772 US8990483B2 (en) 2012-04-03 2012-11-27 Nonvolatile memory device, memory system, and program method therof
CN201310114199.6A CN103366809B (zh) 2012-04-03 2013-04-03 非易失性存储装置、存储系统及其编程方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120034496A KR101989850B1 (ko) 2012-04-03 2012-04-03 불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20130112257A KR20130112257A (ko) 2013-10-14
KR101989850B1 true KR101989850B1 (ko) 2019-06-18

Family

ID=49236635

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120034496A KR101989850B1 (ko) 2012-04-03 2012-04-03 불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법

Country Status (3)

Country Link
US (1) US8990483B2 (ko)
KR (1) KR101989850B1 (ko)
CN (1) CN103366809B (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150002001A (ko) * 2013-06-28 2015-01-07 에스케이하이닉스 주식회사 반도체 메모리 장치
KR102085127B1 (ko) * 2013-11-13 2020-04-14 삼성전자주식회사 메모리 컨트롤러의 구동 방법 및 메모리 컨트롤러에 의해서 제어되는 비휘발성 메모리 장치
KR102210520B1 (ko) * 2013-12-19 2021-02-02 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 소거 방법
US9471428B2 (en) 2014-05-06 2016-10-18 International Business Machines Corporation Using spare capacity in solid state drives
KR102234273B1 (ko) * 2014-07-02 2021-04-02 삼성전자주식회사 반도체 메모리 장치
KR102259943B1 (ko) * 2014-12-08 2021-06-04 삼성전자주식회사 멀티 플래인을 포함하는 불 휘발성 메모리 장치
KR102258126B1 (ko) * 2015-03-19 2021-05-28 삼성전자주식회사 메모리 컨트롤러의 작동 방법, 이를 포함하는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
KR102312404B1 (ko) * 2015-09-07 2021-10-13 에스케이하이닉스 주식회사 저장 장치 및 이의 동작 방법
KR102532581B1 (ko) * 2016-03-17 2023-05-17 에스케이하이닉스 주식회사 메모리 장치를 포함하는 메모리 시스템 및 그의 동작 방법
CN107293324B (zh) * 2016-04-13 2019-12-03 华邦电子股份有限公司 存储器装置及存储器区块使用方法
KR102553170B1 (ko) 2016-06-08 2023-07-10 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10325657B2 (en) * 2017-01-25 2019-06-18 Samsung Electronics Co., Ltd. Non-volatile memory devices and methods of programming the same
JP6765322B2 (ja) * 2017-02-28 2020-10-07 キオクシア株式会社 メモリシステムおよび制御方法
US11551990B2 (en) * 2017-08-11 2023-01-10 Advanced Micro Devices, Inc. Method and apparatus for providing thermal wear leveling
US11742038B2 (en) * 2017-08-11 2023-08-29 Advanced Micro Devices, Inc. Method and apparatus for providing wear leveling
KR102549540B1 (ko) * 2017-09-22 2023-06-29 삼성전자주식회사 스토리지 장치 및 그 동작 방법
JP7010667B2 (ja) * 2017-11-06 2022-01-26 キオクシア株式会社 メモリシステムおよび制御方法
KR20190066327A (ko) * 2017-12-05 2019-06-13 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
TWI689816B (zh) * 2018-03-06 2020-04-01 群聯電子股份有限公司 區塊管理方法、記憶體控制電路單元與記憶體儲存裝置
CN110275668B (zh) * 2018-03-14 2022-09-13 群联电子股份有限公司 区块管理方法、存储器控制电路单元与存储器存储装置
US10922221B2 (en) 2018-03-28 2021-02-16 Micron Technology, Inc. Memory management
KR102658831B1 (ko) 2018-12-31 2024-04-18 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치를 이용한 계산 방법
US11462270B2 (en) 2018-12-31 2022-10-04 Samsung Electronics Co., Ltd. Nonvolatile memory device and memory system including the same
KR20230046003A (ko) * 2021-09-29 2023-04-05 삼성전자주식회사 비휘발성 메모리 장치

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7224604B2 (en) * 2005-03-14 2007-05-29 Sandisk Il Ltd. Method of achieving wear leveling in flash memory using relative grades
KR100763093B1 (ko) 2006-09-29 2007-10-04 주식회사 하이닉스반도체 플래쉬 메모리 장치의 프로그램 방법
US7751245B2 (en) 2007-10-10 2010-07-06 Micron Technology, Inc. Programming sequence in NAND memory
CN101419834B (zh) * 2007-10-22 2011-03-30 群联电子股份有限公司 平均磨损方法及使用此方法的控制器
KR101422702B1 (ko) 2007-12-28 2014-07-25 삼성전자주식회사 3차원 메모리 장치 및 그것의 프로그램 방법
JP5275052B2 (ja) 2009-01-08 2013-08-28 株式会社東芝 不揮発性半導体記憶装置
JP2010199235A (ja) 2009-02-24 2010-09-09 Toshiba Corp 不揮発性半導体記憶装置
JP5279560B2 (ja) 2009-03-11 2013-09-04 株式会社東芝 不揮発性半導体記憶装置
KR101586047B1 (ko) * 2009-03-25 2016-01-18 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
JP2011002178A (ja) 2009-06-19 2011-01-06 Mitsubishi Heavy Ind Ltd ボイラープラント
KR101635504B1 (ko) 2009-06-19 2016-07-04 삼성전자주식회사 3차원 수직 채널 구조를 갖는 불 휘발성 메모리 장치의 프로그램 방법
JP2011014205A (ja) 2009-07-03 2011-01-20 Renesas Electronics Corp 不揮発性半導体記憶装置
KR101682662B1 (ko) 2009-07-20 2016-12-06 삼성전자주식회사 3차원 메모리 장치 및 그것의 프로그램 방법
JP5788183B2 (ja) * 2010-02-17 2015-09-30 三星電子株式会社Samsung Electronics Co.,Ltd. 不揮発性メモリ装置、それの動作方法、そしてそれを含むメモリシステム
KR20110131648A (ko) * 2010-05-31 2011-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
KR101692389B1 (ko) * 2010-06-15 2017-01-04 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법
KR101577721B1 (ko) * 2010-07-09 2015-12-29 삼성전자주식회사 메모리 시스템 및 그것의 리프레쉬 방법
KR101710089B1 (ko) * 2010-08-26 2017-02-24 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
KR20120107336A (ko) * 2011-03-21 2012-10-02 삼성전자주식회사 메모리 시스템 및 그것의 어드레싱 방법

Also Published As

Publication number Publication date
CN103366809A (zh) 2013-10-23
CN103366809B (zh) 2018-11-02
US8990483B2 (en) 2015-03-24
KR20130112257A (ko) 2013-10-14
US20130262751A1 (en) 2013-10-03

Similar Documents

Publication Publication Date Title
KR101989850B1 (ko) 불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법
KR101915719B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 동작 방법
KR101868377B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
US9959933B2 (en) Non-volatile memory devices and methods of operating the same
US9147492B2 (en) Control method of nonvolatile memory device
KR101962786B1 (ko) 불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법
US9478296B2 (en) Erase method of nonvolatile memory device and storage device employing the same
KR101988434B1 (ko) 불휘발성 메모리 장치 및 그것의 서브-블록 관리 방법
KR101997572B1 (ko) 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 쓰기 방법
KR101686590B1 (ko) 플래시 메모리 시스템 및 그것의 워드 라인 인터리빙 방법
TWI518850B (zh) 非揮發性記憶體裝置、其操作方法以及包含該方法裝置之記憶體系統
KR102210520B1 (ko) 비휘발성 메모리 장치 및 그것의 소거 방법
KR101916718B1 (ko) 불휘발성 메모리 장치 및 그것의 메모리 관리 방법
US9514828B2 (en) Nonvolatile memory device, erase method thereof and memory system including the same
US9754673B2 (en) Method of initializing and driving 3D non-volatile memory device using time varying erase signal
KR101903091B1 (ko) 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법
KR20170056804A (ko) 3 차원 비휘발성 메모리 소자의 초기화 방법
US9576668B2 (en) Semiconductor device and operating method thereof
KR20130135621A (ko) 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 리페어 방법
KR20120140508A (ko) 불휘발성 메모리 장치 및 그것의 읽기 방법
KR102245822B1 (ko) 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 프로그램 방법
KR20130016619A (ko) 불휘발성 메모리 장치의 프로그램 방법
US8279671B2 (en) Flash memory devices, methods for programming the same, and memory systems including the same
KR20150075170A (ko) 메모리 컨트롤러 구동방법 및 메모리 컨트롤러
CN110390984B (zh) 存储器系统和存储器系统的操作方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant