KR102329800B1 - 메모리 장치 및 메모리 장치의 에지 워드라인 관리 방법 - Google Patents

메모리 장치 및 메모리 장치의 에지 워드라인 관리 방법 Download PDF

Info

Publication number
KR102329800B1
KR102329800B1 KR1020150147542A KR20150147542A KR102329800B1 KR 102329800 B1 KR102329800 B1 KR 102329800B1 KR 1020150147542 A KR1020150147542 A KR 1020150147542A KR 20150147542 A KR20150147542 A KR 20150147542A KR 102329800 B1 KR102329800 B1 KR 102329800B1
Authority
KR
South Korea
Prior art keywords
memory
data
program
dummy
memory device
Prior art date
Application number
KR1020150147542A
Other languages
English (en)
Other versions
KR20170047098A (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 KR1020150147542A priority Critical patent/KR102329800B1/ko
Priority to US15/296,197 priority patent/US20170117056A1/en
Publication of KR20170047098A publication Critical patent/KR20170047098A/ko
Priority to CN201710560786.6A priority patent/CN107958680A/zh
Application granted granted Critical
Publication of KR102329800B1 publication Critical patent/KR102329800B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • 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
    • 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/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
    • 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/12Programming voltage switching 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
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching 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
    • 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
    • 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/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • G11C16/3409Circuits or methods to recover overerased nonvolatile memory cells detected during erase verification, usually by means of a "soft" programming step
    • 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/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/75Array having a NAND structure comprising, for example, memory cells in series or memory elements in series, a memory element being a memory cell in parallel with an access transistor

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Abstract

메모리 장치 및 메모리 장치의 에지 워드라인 관리 방법에 관하여 개시한다. 메모리 장치의 에지 워드라인 관리 방법은 소거 커맨드에 따라서 메모리 장치에서의 소거 동작을 수행하는 단계, 더미 패턴의 데이터를 랜덤하게 결정하는 단계 및, 상기 소거 동작을 수행하고 나서 상기 소거 동작이 수행된 메모리 블록에 포함된 셀 스트링의 메인 메모리 셀로부터 인접한 더미 메모리 셀에 상기 더미 패턴의 데이터를 기입하는 포스트 프로그램(post-program) 동작을 수행하는 단계를 포함한다.

Description

메모리 장치 및 메모리 장치의 에지 워드라인 관리 방법 {Memory device and method for managing edge word line in memory device}
본 발명의 기술적 사상은 메모리 장치에 관한 것으로서, 자세하게는 메모리 장치 및 메모리 장치의 에지 워드라인 관리 방법에 관한 것이다.
메모리 장치는 데이터를 저장하는데 사용되며, 휘발성 메모리 장치와 불휘발성 메모리 장치로 구분된다. 휘발성 메모리 장치는 전원이 차단될 때 저장된 데이터를 잃지만, 불휘발성 메모리 장치는 전원이 차단되더라도 저장된 데이터를 보존한다. 불휘발성 메모리 장치의 일 예로서, 플래시 메모리 장치는 휴대폰, 디지털 카메라, 휴대용 정보 단말기(PDA), 컴퓨터 장치 등에서 사용될 수 있다. 이러한 불휘발성 메모리 장치는 데이터 신뢰성 및 수율 향상이 요구된다.
본 발명의 기술적 사상이 해결하려는 과제는 메모리 장치에서의 페이지 별 비트 에러 레이트를 균등화시키기 위한 메모리 장치 및 메모리 장치의 에지 워드라인 관리 방법을 제공하는데 있다.
본 발명의 기술적 사상에 따른 메모리 장치의 에지 워드라인 관리 방법은 소거 커맨드에 따라서 메모리 장치에서의 소거 동작을 수행하는 단계, 더미 패턴의 데이터를 랜덤하게 결정하는 단계 및, 상기 소거 동작을 수행하고 나서 상기 소거 동작이 수행된 메모리 블록에 포함된 셀 스트링의 메인 메모리 셀로부터 인접한 더미 메모리 셀에 상기 더미 패턴의 데이터를 기입하는 포스트 프로그램(post-program) 동작을 수행하는 단계를 포함한다.
또한, 본 발명의 기술적 사상에 따른 메모리 장치의 에지 워드라인 관리 방법은 메모리 장치의 프리 메모리 블록(free memory block)에서의 첫 번째 프로그램 동작을 수행하기 위한 프로그램 커맨드가 수신되는 경우에 더미 패턴의 데이터를 랜덤하게 결정하는 단계, 상기 프리 메모리 블록에 포함된 셀 스트링의 메인 메모리 셀로부터 인접한 더미 메모리 셀에 상기 더미 패턴의 데이터를 기입하는 프리 프로그램(pre-program) 동작을 수행하는 단계 및, 상기 프리 프로그램 동작을 수행하고 나서 상기 메인 메모리 셀에서 상기 프로그램 커맨드에 따른 프로그램 동작을 수행하는 단계를 포함한다.
본 발명에 따르면 소거 동작을 수행하고 나서 소거된 메모리 블록에서의 최초의 프로그램 동작을 수행하기 전에 메인 메모리 셀에 인접된 더미 메모리 셀에 더미 패턴의 데이터를 프로그램함으로써, 메모리 셀들의 신뢰성을 동등하게 만들 수 있는 효과가 발생된다. 이를 통하여 메모리 장치의 페이지 별 비트 에러 레이트가 균등해져서 수율을 향상시킬 수 있는 효과가 발생된다.
그리고, 본 발명에 따르면 더미 워드 라인에 프로그램되는 더미 패턴의 데이터를 랜덤하게 생성함으로써, 더미 워드 라인에 연결된 더미 메모리 셀들의 성능이 빠르게 열화되는 것을 방지할 있는 효과가 발생된다.
도 1은 본 발명의 일 실시 예에 따른 메모리 시스템을 개략적으로 나타내는 블록도이다.
도 2는 본 발명의 다른 실시 예에 따른 메모리 시스템을 개략적으로 나타내는 블록도이다.
도 3은 본 발명의 또 다른 실시 예에 따른 메모리 시스템을 개략적으로 나타내는 블록도이다.
도 4는 본 발명의 또 다른 실시 예에 따른 메모리 시스템을 개략적으로 나타내는 블록도이다.
도 5는 도 1의 메모리 시스템에 포함된 메모리 장치를 상세하게 나타내는 블록도이다.
도 6은 도 2 또는 도 4의 메모리 시스템에 포함된 메모리 장치를 상세하게 나타내는 블록도이다.
도 7은 도 3의 메모리 시스템에 포함된 메모리 장치를 상세하게 나타내는 블록도이다.
도 8은 도 5 내지 도 7에 도시된 메모리 셀 어레이의 일 예를 나타낸다.
도 9는 도 8에 도시된 메모리 셀 어레이에 포함된 메모리 블록의 일 예를 나타내는 회로도이다.
도 10은 도 8에 도시된 메모리 셀 어레이에 포함된 메모리 블록의 다른 예를 나타내는 회로도이다.
도 11은 도 9 또는 도 10에 도시된 메모리 블록에 포함된 메모리 셀의 일 예를 보여주는 단면도이다.
도 12는 도 1 또는 도 3에 도시된 메모리 컨트롤러의 블록 구성의 일 예를 보여준다.
도 13은 도 2에 도시된 메모리 컨트롤러의 블록 구성의 일 예를 보여준다.
도 14는 도 4에 도시된 메모리 컨트롤러의 블록 구성의 일 예를 보여준다.
도 15는 포스트 프로그램 모드 또는 프리 프로그램 모드가 디스에이블 된 조건에서의 도 9 또는 도 10의 메모리 블록에 포함된 하나의 셀 스트링에서의 최초의 프로그램 상태를 보여준다.
도 16은 포스트 프로그램 모드 또는 프리 프로그램 모드가 디스에이블 된 조건에서의 프로그램 실행에 따른 메모리 블록에서의 워드라인 별 메모리 셀들의 문턱 전압 산포를 보여준다.
도 17은 포스트 프로그램 모드 또는 프리 프로그램 모드가 인에이블 된 조건에서의 도 9 또는 도 10의 메모리 블록에 포함된 하나의 셀 스트링에 대한 소거 동작 후의 프로그램 과정을 보여준다.
도 18은 포스트 프로그램 모드 또는 프리 프로그램 모드가 인에이블 된 조건에서의 프로그램 실행에 따른 메모리 블록에서의 워드라인 별 메모리 셀들의 문턱 전압 산포를 보여준다.
도 19는 본 발명의 실시 예에 따른 포스트 프로그램 동작 또는 프리 프로그램 동작에 이용되는 더미 패턴의 데이터를 랜덤하게 결정하는 방법의 예를 설명하기 위한 도면이다.
도 20은 본 발명의 실시 예에 따른 포스트 프로그램 동작에 이용되는 더미 패턴의 데이터를 랜덤하게 결정하는 방법의 다른 예를 설명하기 위한 도면이다.
도 21은 본 발명의 실시 예에 따른 포스트 프로그램 동작 또는 프리 프로그램 동작에 이용되는 더미 패턴의 데이터를 랜덤하게 결정하는 방법의 다른 예를 설명하기 위한 도면이다.
도 22는 본 발명의 실시 예에 따른 포스트 프로그램 동작에 이용되는 더미 패턴의 데이터를 랜덤하게 결정하는 방법의 또 다른 예를 설명하기 위한 도면이다.
도 23은 본 발명에 따른 메모리 장치의 에지 워드라인 관리 방법의 흐름도의 일 예를 보여준다.
도 24는 본 발명에 따른 메모리 장치의 에지 워드라인 관리 방법의 흐름도의 다른 예를 보여준다.
도 25는 본 발명에 따른 메모리 장치의 에지 워드라인 관리 방법의 흐름도의 또 다른 예를 보여준다.
도 26은 본 발명에 따른 메모리 장치의 에지 워드라인 관리 방법의 흐름도의 또 다른 예를 보여준다.
도 27은 본 발명의 실시 예들에 따른 메모리 시스템을 메모리 카드 시스템에 적용한 예를 나타내는 블록도이다.
도 28은 본 발명의 실시 예들에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 29는 본 발명의 실시 예들에 따른 메모리 시스템을 SSD 시스템에 적용한 예를 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시 예에 따른 메모리 시스템(100A)을 개략적으로 나타내는 블록도이다.
도 1에 도시된 바와 같이, 메모리 시스템(100A)은 메모리 장치(10A)와 메모리 컨트롤러(20A)를 포함한다. 메모리 장치(10A)는 메모리 셀 어레이(11) 및 포스트 프로그램 관리부(12-1A)를 포함할 수 있다.
메모리 셀 어레이(11)는 복수의 워드 라인들과 복수의 비트 라인들이 교차하는 영역들에 배치되는 복수의 메모리 셀들을 포함할 수 있다. 일 실시예에서, 복수의 메모리 셀들은 플래시 메모리 셀들일 수 있다. 예로서, 메모리 셀 어레이(11)는 낸드(NAND) 플래시 메모리 셀 어레이 또는 노아(NOR) 플래시 메모리 셀 어레이일 수 있다. 이하에서는, 복수의 메모리 셀들이 낸드 플래시 메모리 셀들인 경우를 예로 하여 본 발명의 실시 예들을 상술하기로 한다.
메모리 셀 어레이(11)는 다수의 메모리 셀들이 직렬로 연결되는 스트링(string) 구조로 이루어진다. 예로서, 각각의 셀 스트링은 공통 소스 라인(Common Source Line; CSL)과 비트 라인(BL) 사이에 접지 선택 트랜지스터, 하나 이상의 더미 메모리 셀, 복수의 메인 메모리 셀들, 스트링 선택 트랜지스터가 직렬로 연결된다. 공통 소스 라인(CSL) 쪽에서 메인 메모리 셀들에 미치는 커플링(coupling) 영향을 줄이기 위하여 더미 메모리 셀은 접지 선택 트랜지스터와 복수의 메인 메모리 셀들 사이에 배치한다. 즉, 메인 메모리 셀의 에지(edge)에 더미 메모리 셀을 배치한다.
다른 예로서, 각각의 셀 스트링은 공통 소스 라인(Common Source Line; CSL)과 비트 라인(BL) 사이에 접지 선택 트랜지스터, 하나 이상의 더미 메모리 셀, 복수의 메인 메모리 셀들, 하나 이상의 더미 메모리 셀, 스트링 선택 트랜지스터가 직렬로 연결될 수도 있다.
그리고, 셀 스트링 구조의 취약점인 백 패턴 종속성(back pattern dependency)를 최소화하기 위하여 셀 스트링에서 글로벌 소스 라인(Global source line; GSL)이 접속되는 접지 선택 트랜지스터에서 가장 가까운 메모리 셀부터 순차적으로 프로그램을 진행한다. 여기에서, 글로벌 소스 라인(GSL)은 접지 선택 라인(Ground Selection Line)이라 칭할 수도 있다.
예로서, 메모리 셀 어레이(11)는 2차원 플래너 낸드 플래시 메모리 셀 구조로 설계될 수 있다. 다른 예로서, 메모리 셀 어레이(11)는 3차원 수직 구조의 낸드(vertical NAND, VNAND) 플래시 메모리 셀 구조로 설계될 수 있다.
본 발명의 기술적 사상에 의한 일 실시 예에서, 3 차원 (3D) 구조의 메모리 셀 어레이(11)는 실리콘 기판 위에 배치되는 활성 영역과, 메모리 셀들의 동작과 관련된 회로로서 상기 기판상에 또는 상기 기판 내에 형성된 회로를 가지는 메모리 셀 어레이들의 적어도 하나의 물리적 레벨에 모놀리식으로 형성된다. 상기 용어 "모놀리식"은 상기 어레이를 구성하는 각 레벨의 층들이 상기 어레이 중 각 하부 레벨의 층들의 바로 위에 적층되어 있음을 의미한다.
본 발명의 기술적 사상에 의한 일 실시 예에서, 상기 3D 구조의 메모리 어레이는 적어도 하나의 메모리 셀이 다른 메모리 셀의 위에 위치하도록 수직 방향으로 배치된 버티칼 NAND 스트링들을 포함한다. 상기 적어도 하나의 메모리 셀은 전하 트랩층을 포함할 수 있다.
미국 특허공개공보 제7,679,133호, 동 제8,553,466호, 동 제8,654,587호, 동 제8,559,235호, 및 미국 특허출원공개공보 제2011/0233648호는 3D 메모리 어레이가 복수 레벨로 구성되고 워드 라인들 및/또는 비트 라인들이 레벨들간에 공유되어 있는 3D 메모리 어레이에 대한 적절한 구성들을 상술하는 것들로서, 본 명세서에 인용 형식으로 결합될 수 있다.
포스트 프로그램 관리부(12-1A)는 도 23 또는 도 24에 도시된 바와 같은 메모리 장치(10A)의 에지 워드라인 관리 방법의 흐름도를 수행하기 위한 하드웨어 또는 소프트웨어를 구비한다.
포스트 프로그램 관리부(12-1A)는 메모리 컨트롤러(20A)로부터 수신되는 소거 커맨드에 따른 소거 동작을 마치고 나서, 소거 동작이 수행된 메모리 블록의 메인 메모리 셀로부터 인접한 더미 메모리 셀에 랜덤한 더미 패턴의 데이터를 기입하는 포스트 프로그램(post-program) 동작을 수행한다. 예로서, 포스트 프로그램 관리부(12-1A)는 소거 동작을 수행하고 나서 소거 동작이 수행된 메모리 블록에 포함된 셀 스트링의 메인 메모리 셀로부터 인접한 더미 메모리 셀에 더미 패턴의 데이터를 기입하는 포스트 프로그램 동작을 수행한다.
예로서, 포스트 프로그램 동작에 의하여 더미 패턴의 데이터가 기입되는 더미 메모리 셀은 셀 스트링의 접지 선택 트랜지스터와 메인 메모리 셀 사이에 배치된다. 예로서, 메모리 블록에 포함된 셀 스트링의 메인 메모리 셀과 접지 선택 트랜지스터 사이에 복수 개의 더미 메모리 셀들이 배치된 경우에, 포스트 프로그램 관리부(12-1A)는 메인 메모리 셀부터 가장 가깝게 인접된 더미 메모리 셀에 더미 패턴의 데이터를 기입하는 동작을 수행한다.
포스트 프로그램 관리부(12-1A)는 포스트 프로그램에서 이용되는 더미 패턴의 데이터를 랜덤하게 결정한다. 만일, 더미 워드 라인에 연결된 더미 메모리 셀들에 모두 '0'을 프로그램 할 경우에 메인 메모리 셀이 N(N은 1 이상의 정수)번 프로그램 되는 동안에 더미 메모리 셀은 2N번이 프로그램 되는 결과를 초래한다. 이에 따라서, 더미 메모리 셀은 최악의(worst) 메모리 셀이 되고, 이로 인하여 인접한 메인 메모리 셀에 나쁜 영향을 줄 수 있다. 이에 따라서, 더미 패턴의 데이터를 랜덤하게 결정할 필요가 있다.
예로서, 포스트 프로그램 관리부(12-1A)는 소거 동작 전에 소거할 메모리 블록의 초기 설정된 워드라인에서 읽어내어 백업된 데이터를 더미 패턴의 데이터로 결정할 수 있다. 다른 예로서, 포스트 프로그램 관리부(12-1A)는 소거 동작 전에 랜덤하게 결정된 메모리 블록의 초기 설정된 워드라인에서 읽어낸 데이터를 더미 패턴의 데이터로 결정할 수 있다. 또 다른 예로서, 포스트 프로그램 관리부(12-1A)는 소거 동작 전에 랜덤하게 결정된 메모리 블록의 초기 설정된 워드라인에서 읽어낸 데이터의 일부를 반전시킨 데이터로 더미 패턴의 데이터를 결정할 수 있다. 또 다른 예로서, 포스트 프로그램 관리부(12-1A)는 소거 동작의 검증 처리 과정에서 생성되는 정보를 이용하여 2개 이상의 후보 데이터 패턴들 중에서 선택된 하나의 데이터 패턴을 더미 패턴의 데이터로 결정할 수 있다. 또 다른 예로서, 포스트 프로그램 관리부(12-1A)는 적어도 2개 이상의 후보 데이터 패턴들을 설정하고, 메모리 장치(10A)에서 이용되는 하나 이상의 클럭 신호의 특정 시점에서의 검출된 위상에 기초하여 후보 데이터 패턴들 중에서 선택되는 하나의 데이터 패턴을 더미 패턴의 데이터로 결정할 수 있다.
이와 같이, 메모리 장치(10A)의 포스트 프로그램 관리부(12-1A)에서 더미 패턴의 데이터를 생성할 수 있으므로, 포스트 프로그램 동작에 필요한 더미 패턴의 데이터를 메모리 컨트롤러(20A)로부터 제공받지 않아도 된다.
포스트 프로그램 관리부(12-1A)는 포스트 프로그램 모드 설정 상태가 인에이블(enable) 되어 있는 경우에는 포스트 프로그램 동작을 수행하고, 포스트 프로그램 모드 설정 상태가 디스에이블(disable) 되어 있는 경우에는 포스트 프로그램 동작을 수행하지 않도록 메모리 장치(10A)에서의 포스트 프로그램 동작을 제어할 수 있다. 예로서, 포스트 프로그램 관리부(12-1A)는 메모리 블록 별 프로그램/소거 사이클 회수가 초기 설정된 임계 값을 초과하는 경우에 해당 메모리 블록에 대하여 포스트 프로그램 모드를 인에이블 상태로 설정할 수 있다.
메모리 컨트롤러(20A)는 메모리 장치(10A)에 대한 제어 동작을 수행할 수 있다. 구체적으로, 메모리 컨트롤러(20A)는 메모리 장치(10A)를 제어하기 위한 어드레스(ADDR), 커맨드(CMD) 및 제어 신호(CTRL)를 생성할 수 있다. 그리고, 메모리 컨트롤러(20A)는 메모리 장치(10A)에 어드레스(ADDR), 커맨드(CMD) 및 제어 신호(CTRL)를 제공함으로써, 메모리 장치(10A)에 대한 프로그램(program)(또는 쓰기), 독출(read) 및 소거(erase) 동작을 제어할 수 있다. 또한, 프로그램 동작을 위한 데이터(DATA)와 독출된 데이터(DATA)가 메모리 컨트롤러(20A)와 메모리 장치(10A) 사이에서 송수신될 수 있다.
도 2는 본 발명의 다른 실시 예에 따른 메모리 시스템(100B)을 개략적으로 나타내는 블록도이다.
도 2에 도시된 바와 같이, 메모리 시스템(100B)은 메모리 장치(10B)와 메모리 컨트롤러(20B)를 포함한다. 메모리 장치(10B)는 메모리 셀 어레이(11)를 포함하고, 메모리 컨트롤러(20B)는 포스트 프로그램 관리부(21)를 포함할 수 있다.
메모리 장치(10B)의 셀 어레이(11)는 도 1에서 이미 설명하였으므로, 중복적인 설명은 피하기로 한다.
도 1의 실시 예에서는 포스트 프로그램 관리부(12-1A)가 메모리 장치(10A)에 배치되어 있는데 비하여, 도 2의 실시 예에서는 포스트 프로그램 관리부(21)가 메모리 컨트롤러(20B)에 배치되어 있다.
메모리 컨트롤러(20B)는 메모리 장치(10B)에 대한 제어 동작을 수행할 수 있다. 구체적으로, 메모리 컨트롤러(20B)는 메모리 장치(10B)를 제어하기 위한 어드레스(ADDR), 커맨드(CMD) 및 제어 신호(CTRL)를 생성할 수 있다. 그리고, 메모리 컨트롤러(20B)는 메모리 장치(10B)에 어드레스(ADDR), 커맨드(CMD) 및 제어 신호(CTRL)를 제공함으로써, 메모리 장치(10B)에 대한 프로그램(program)(또는 쓰기), 독출(read) 및 소거(erase) 동작을 제어할 수 있다. 또한, 프로그램 동작을 위한 데이터(DATA)와 독출된 데이터(DATA)가 메모리 컨트롤러(20B)와 메모리 장치(10B) 사이에서 송수신될 수 있다.
포스트 프로그램 관리부(21)는 도 23 또는 도 24에 도시된 바와 같은 메모리 장치(10B)의 에지 워드라인 관리 방법의 흐름도를 수행하기 위한 하드웨어 또는 소프트웨어를 구비한다.
포스트 프로그램 관리부(21)는 메모리 장치(10B)에서의 소거 동작을 마친 후에, 소거 동작이 수행된 메모리 블록의 메인 메모리 셀로부터 인접한 더미 메모리 셀에 랜덤한 더미 패턴의 데이터를 기입하는 포스트 프로그램(post-program) 동작을 수행하기 위한 프로그램 커맨드, 어드레스 및 랜덤한 더미 패턴의 데이터를 메모리 장치(10B)로 전송한다.
예로서, 포스트 프로그램 관리부(21)는 소거 동작을 수행하고 나서 소거 동작이 수행된 메모리 블록에 포함된 셀 스트링의 메인 메모리 셀로부터 인접한 더미 메모리 셀이 연결된 더미 워드라인을 선택하고, 선택된 더미 워드라인에 연결된 더미 메모리 셀들에 랜덤한 더미 패턴의 데이터를 프로그램하기 위한 커맨드, 어드레스 및 데이터를 메모리 장치(10B)로 전송한다.
예로서, 포스트 프로그램 관리부(21)는 셀 스트링의 접지 선택 트랜지스터와 메인 메모리 셀 사이에 배치된 더미 메모리 셀이 연결된 더미 워드라인을 선택하고, 선택된 더미 워드라인에 연결된 더미 메모리 셀들에 랜덤한 더미 패턴의 데이터를 프로그램하기 위한 커맨드, 어드레스 및 데이터를 메모리 장치(10B)로 전송한다.
예로서, 포스트 프로그램 관리부(21)는 셀 스트링의 메인 메모리 셀과 접지 선택 트랜지스터 사이에 복수 개의 더미 메모리 셀들이 배치된 경우에, 메인 메모리 셀부터 가장 가깝게 인접된 더미 메모리 셀이 연결된 더미 워드라인을 선택하고, 선택된 더미 워드라인에 연결된 더미 메모리 셀들에 랜덤한 더미 패턴의 데이터를 프로그램하기 위한 커맨드, 어드레스 및 데이터를 메모리 장치(10B)로 전송한다.
포스트 프로그램 관리부(21)는 포스트 프로그램에서 이용되는 더미 패턴의 데이터를 랜덤하게 결정하고, 랜덤하게 결정된 더미 패턴의 데이터를 메모리 장치(100B)로 전송한다. 예로서, 포스트 프로그램 관리부(21)는 소거 동작 전에 소거할 메모리 블록의 초기 설정된 워드라인에서 읽어낸 데이터를 더미 패턴의 데이터로 결정할 수 있다. 다른 예로서, 포스트 프로그램 관리부(21)는 소거 동작 전에 랜덤하게 결정된 메모리 블록의 초기 설정된 워드라인에서 읽어낸 데이터를 더미 패턴의 데이터로 결정할 수 있다. 또 다른 예로서, 포스트 프로그램 관리부(21)는 소거 동작 전에 랜덤하게 결정된 메모리 블록의 초기 설정된 워드라인에서 읽어낸 데이터의 일부를 반전시킨 데이터로 더미 패턴의 데이터를 결정할 수 있다. 또 다른 예로서, 포스트 프로그램 관리부(21)는 소거 동작의 검증 처리 과정에서 생성되는 정보를 이용하여 2개 이상의 후보 데이터 패턴들 중에서 선택된 하나의 데이터 패턴을 더미 패턴의 데이터로 결정할 수 있다. 또 다른 예로서, 포스트 프로그램 관리부(21)는 적어도 2개 이상의 후보 데이터 패턴들을 설정하고, 메모리 장치(10B)에서 이용되는 하나 이상의 클럭 신호의 특정 시점에서의 검출된 위상에 기초하여 후보 데이터 패턴들 중에서 선택되는 하나의 데이터 패턴을 더미 패턴의 데이터로 결정할 수 있다.
포스트 프로그램 관리부(21)는 포스트 프로그램 모드 설정 상태가 인에이블 되어 있는 경우에는 포스트 프로그램 동작을 수행하고, 포스트 프로그램 모드 설정 상태가 디스에이블 되어 있는 경우에는 포스트 프로그램 동작을 수행하지 않도록 메모리 장치에서의 포스트 프로그램 동작을 제어할 수 있다. 예로서, 포스트 프로그램 관리부(21)는 메모리 블록 별 프로그램/소거 사이클 회수가 초기 설정된 임계 값을 초과하는 경우에 해당 메모리 블록에 대하여 포스트 프로그램 모드 인에이블 상태로 설정할 수 있다.
도 3은 본 발명의 또 다른 실시 예에 따른 메모리 시스템(100C)을 개략적으로 나타내는 블록도이다.
도 3에 도시된 바와 같이, 메모리 시스템(100C)은 메모리 장치(10C)와 메모리 컨트롤러(20C)를 포함한다. 메모리 장치(10C)는 메모리 셀 어레이(11) 및 프리 프로그램 관리부(12-1C)를 포함할 수 있다.
메모리 장치(10C)의 셀 어레이(11)는 도 1에서 이미 설명하였으므로, 중복적인 설명은 피하기로 한다. 그리고, 메모리 컨트롤러(20C)도 도 1의 메모리 컨트롤러(20A)와 실질적으로 동일한 동작을 수행하므로, 중복적인 설명은 피하기로 한다.
프리 프로그램 관리부(12-1C)는 도 25 또는 도 26에 도시된 바와 같은 메모리 장치(10C)의 에지 워드라인 관리 방법의 흐름도를 수행하기 위한 하드웨어 또는 소프트웨어를 구비한다.
프리 프로그램 관리부(12-1C)는 메모리 컨트롤러(20C)로부터 메모리 장치(10C)의 프리 메모리 블록(free memory block)에서의 첫 번째 프로그램 동작을 수행하기 위한 프로그램 커맨드가 수신되는 경우에, 프리 메모리 블록에 포함된 셀 스트링의 메인 메모리 셀로부터 인접한 더미 메모리 셀에 랜덤한 더미 패턴의 데이터를 기입하는 프리 프로그램(pre-program) 동작을 수행하고 나서 프로그램 커맨드를 수행하도록 메모리 장치(10C)를 제어한다. 여기에서, 프리 메모리 블록은 소거 동작을 수행한 후에 데이터가 기입되지 않은 빈 메모리 블록을 의미한다.
즉, 프리 프로그램 관리부(12-1C)는 프리 메모리 블록(free memory block)에서의 첫 번째 프로그램 동작을 수행하기 전에 프리 메모리 블록에 포함된 셀 스트링의 메인 메모리 셀로부터 인접한 더미 메모리 셀에 랜덤한 더미 패턴의 데이터를 기입하는 프리 프로그램(pre-program) 동작을 수행한다.
예로서, 프리 프로그램 동작에 의하여 더미 패턴의 데이터가 기입되는 더미 메모리 셀은 셀 스트링의 접지 선택 트랜지스터와 메인 메모리 셀 사이에 배치된다. 예로서, 메모리 블록에 포함된 셀 스트링의 메인 메모리 셀과 접지 선택 트랜지스터 사이에 복수 개의 더미 메모리 셀들이 배치된 경우에, 프리 프로그램 관리부(12-1C)는 메인 메모리 셀부터 가장 가깝게 인접된 더미 메모리 셀에 더미 패턴의 데이터를 기입하는 동작을 수행한다.
프리 프로그램 관리부(12-1C)는 프리 프로그램에서 이용되는 더미 패턴의 데이터를 랜덤하게 결정한다. 예로서, 프리 프로그램 관리부(12-1C)는 적어도 2개 이상의 후보 데이터 패턴들을 설정하고, 메모리 장치(10C)에서 이용되는 하나 이상의 클럭 신호의 특정 시점에서의 검출된 위상에 기초하여 후보 데이터 패턴들 중에서 선택되는 하나의 데이터 패턴을 더미 패턴의 데이터로 결정할 수 있다.
이와 같이, 메모리 장치(10C)의 프리 프로그램 관리부(12-1C)에서 더미 패턴의 데이터를 생성할 수 있으므로, 프리 프로그램 동작에 필요한 더미 패턴의 데이터를 메모리 컨트롤러(20C)로부터 제공받지 않아도 된다.
프리 프로그램 관리부(12-1C)는 프리 프로그램 모드 설정 상태가 인에이블 되어 있는 경우에는 프리 프로그램 동작을 수행하고, 프리 프로그램 모드 설정 상태가 디스에이블 되어 있는 경우에는 프리 프로그램 동작을 수행하지 않도록 메모리 장치(10C)에서의 프리 프로그램 동작을 제어할 수 있다. 예로서, 프리 프로그램 관리부(12-1C)는 메모리 블록 별 프로그램/소거 사이클 회수가 초기 설정된 임계 값을 초과하는 경우에 해당 메모리 블록에 대하여 프리 프로그램 모드 인에이블 상태로 설정할 수 있다.
도 4는 본 발명의 또 다른 실시 예에 따른 메모리 시스템(100D)을 개략적으로 나타내는 블록도이다.
도 4에 도시된 바와 같이, 메모리 시스템(100D)은 메모리 장치(10D)와 메모리 컨트롤러(20D)를 포함한다. 메모리 장치(10D)는 메모리 셀 어레이(11)를 포함하고, 메모리 컨트롤러(20D)는 프리 프로그램 관리부(22)를 포함할 수 있다.
메모리 장치(10D)의 셀 어레이(11)는 도 1에서 이미 설명하였으므로, 중복적인 설명은 피하기로 한다.
도 3의 실시 예에서는 프리 프로그램 관리부(12-1C)가 메모리 장치(10C)에 배치되어 있는데 비하여, 도 4의 실시 예에서는 프리 프로그램 관리부(22)가 메모리 컨트롤러(20D)에 배치되어 있다.
메모리 컨트롤러(20D)는 메모리 장치(10D)에 대한 제어 동작을 수행할 수 있다. 구체적으로, 메모리 컨트롤러(20D)는 메모리 장치(10D)를 제어하기 위한 어드레스(ADDR), 커맨드(CMD) 및 제어 신호(CTRL)를 생성할 수 있다. 그리고, 메모리 컨트롤러(20D)는 메모리 장치(10D)에 어드레스(ADDR), 커맨드(CMD) 및 제어 신호(CTRL)를 제공함으로써, 메모리 장치(10D)에 대한 프로그램(program)(또는 쓰기), 독출(read) 및 소거(erase) 동작을 제어할 수 있다. 또한, 프로그램 동작을 위한 데이터(DATA)와 독출된 데이터(DATA)가 메모리 컨트롤러(20D)와 메모리 장치(10D) 사이에서 송수신될 수 있다.
프리 프로그램 관리부(22)는 도 23 또는 도 24에 도시된 바와 같은 메모리 장치(10D)의 에지 워드라인 관리 방법의 흐름도를 수행하기 위한 하드웨어 또는 소프트웨어를 구비한다.
프리 프로그램 관리부(22)는 메모리 장치(10D)의 프리 메모리 블록(free memory block)에서의 첫 번째 프로그램 동작을 수행하기 전에 프리 메모리 블록에 포함된 셀 스트링의 메인 메모리 셀로부터 인접한 더미 메모리 셀에 랜덤한 더미 패턴의 데이터를 기입하는 프리 프로그램(pre-program) 동작을 수행하기 위한 프로그램 커맨드, 어드레스 및 랜덤한 더미 패턴의 데이터를 메모리 장치(10D)로 전송한다.
예로서, 프리 프로그램 관리부(22)는 셀 스트링의 접지 선택 트랜지스터와 메인 메모리 셀 사이에 배치된 더미 메모리 셀이 연결된 더미 워드라인을 선택하고, 선택된 더미 워드라인에 연결된 더미 메모리 셀들에 랜덤한 더미 패턴의 데이터를 프로그램하기 위한 커맨드, 어드레스 및 데이터를 메모리 장치(10D)로 전송한다.
예로서, 프리 프로그램 관리부(22)는 셀 스트링의 메인 메모리 셀과 접지 선택 트랜지스터 사이에 복수 개의 더미 메모리 셀들이 배치된 경우에, 메인 메모리 셀부터 가장 가깝게 인접된 더미 메모리 셀이 연결된 더미 워드라인을 선택하고, 선택된 더미 워드라인에 연결된 더미 메모리 셀들에 랜덤한 더미 패턴의 데이터를 프로그램하기 위한 커맨드, 어드레스 및 데이터를 메모리 장치(10D)로 전송한다.
프리 프로그램 관리부(22)는 프리 프로그램에서 이용되는 더미 패턴의 데이터를 랜덤하게 결정한다. 예로서, 프리 프로그램 관리부(22)는 적어도 2개 이상의 후보 데이터 패턴들을 설정하고, 메모리 장치(10D)에서 이용되는 하나 이상의 클럭의 특정 시점에서의 검출된 위상에 기초하여 후보 데이터 패턴들 중에서 선택되는 하나의 데이터 패턴을 더미 패턴의 데이터로 결정할 수 있다.
프리 프로그램 관리부(22)는 프리 프로그램 모드 설정 상태가 인에이블 되어 있는 경우에는 프리 프로그램 동작을 수행하고, 프리 프로그램 모드 설정 상태가 디스에이블 되어 있는 경우에는 프리 프로그램 동작을 수행하지 않도록 메모리 장치(10D)에서의 프리 프로그램 동작을 제어할 수 있다. 예로서, 프리 프로그램 관리부(22)는 메모리 블록 별 프로그램/소거 사이클 회수가 초기 설정된 임계 값을 초과하는 경우에 해당 메모리 블록에 대하여 프리 프로그램 모드 인에이블 상태로 설정할 수 있다.
도 5는 도 1의 메모리 시스템(100A)에 포함된 메모리 장치(10A)를 상세하게 나타내는 블록도이다.
도 5를 참조하면, 메모리 장치(10A)는 메모리 셀 어레이(11), 제어 로직(control logic; 12A), 전압 생성부(13), 로우 디코더(14) 및 페이지 버퍼(15)를 포함할 수 있다. ROM(16A)을 옵션으로 사용할 수 있다. 예로서, 제조 공정에서 더미 패턴으로 사용할 복수의 후보 데이터들을 ROM(16A)에 저장할 수 있다. 다른 예로서, ROM(16A)을 사용하지 않고 메모리 셀 어레이(11)로부터 읽어내어 페이지 버퍼(15)에 저장된 데이터를 이용하여 더미 패턴의 데이터를 결정할 수도 있다. 또 다른 예로서, 페이지 버퍼(15)와 비트 라인 연결 구조를 이용하여 짝수/홀수 비트 라인에서의 서로 다른 논리 값으로 생성되는 데이터 패턴을 더미 패턴의 데이터로 결정할 수도 있다. 이하에서는, 메모리 장치(10A)에 포함된 구성 요소들에 대하여 상술하기로 한다.
메모리 셀 어레이(11)는 하나 이상의 스트링 선택 라인(SSL), 복수의 워드 라인들(WL) 및 하나 이상의 접지 선택 라인(GSL)에 연결될 수 있으며, 또한 복수의 비트 라인들(BL)에 연결될 수 있다. 메모리 셀 어레이(11)는 복수의 워드 라인들(WL) 및 복수의 비트 라인들(BL)이 교차하는 영역들에 배치되는 복수의 메모리 셀들을 포함할 수 있다. 복수의 워드 라인들(WL)은 메인 워드 라인들(MWL)과 하나 이상의 더미 워드 라인(DWL)이 포함될 수 있다. 더미 워드 라인(DWL)은 메인 워드 라인의 데이터 신뢰성을 향상시키기 위한 역할을 한다.
메모리 셀 어레이(11)에 소거 전압이 인가되면 복수의 메모리 셀들(MC)은 소거 상태가 되며, 메모리 셀 어레이(11)에 프로그램 전압이 인가되면 복수의 메모리 셀들(MC)은 프로그램 상태가 된다. 이때, 각 메모리 셀(MC)은 문턱 전압에 따라 구분되는 소거 상태 및 제1 내지 제n 프로그램 상태들(P1 내지 Pn) 중 하나를 가질 수 있다.
여기서, n은 2 이상의 자연수일 수 있다. 예를 들어, 메모리 셀(MC)이 2 비트 레벨 셀인 경우 n은 3일 수 있다. 다른 예에서, 메모리 셀(MC)이 3 비트 레벨 셀인 경우 n은 7일 수 있다. 또 다른 예에서, 메모리 셀(MC)이 4 비트 레벨 셀인 경우 n은 15일 수 있다. 이와 같이, 복수의 메모리 셀들(MC)은 멀티 레벨 셀들을 포함할 수 있다. 그러나, 본 발명의 기술적 사상은 이에 한정되지 않고, 복수의 메모리 셀들(MC)은 싱글 레벨 셀들을 포함할 수도 있다.
제어 로직(12A)은 메모리 컨트롤러(20A)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여, 메모리 셀 어레이(11)에 데이터를 기입하거나 메모리 셀 어레이(11)로부터 데이터를 독출하거나, 메모리 셀 어레이(11)를 소거하기 위한 각종 제어 신호를 출력할 수 있다. 이로써, 제어 로직(12A)은 메모리 장치(10A) 내의 각종 동작을 전반적으로 제어할 수 있다.
제어 로직(12A)에는 포스트 프로그램 관리부(12-1A)를 포함한다. 포스트 프로그램 관리부(12-1A)는 소거 커맨드에 따른 소거 동작을 마치고 나서, 소거 동작이 수행된 메모리 블록의 메인 메모리 셀로부터 인접한 더미 메모리 셀에 랜덤한 더미 패턴의 데이터를 기입하는 포스트 프로그램(post-program) 동작을 수행하기 위한 각종 제어 신호를 출력할 수 있다.
제어 로직(12A)에서 출력된 각종 제어 신호는 전압 생성부(13), 로우 디코더(14) 및 페이지 버퍼(15)에 제공될 수 있다. 구체적으로, 제어 로직(12A)은 전압 생성부(13)에 전압 제어 신호(CTRL_vol)를 제공할 수 있고, 로우 디코더(14)에 로우 어드레스(X_ADDR)를 제공할 수 있으며, 페이지 버퍼(15)에 칼럼 어드레스(Y_ADDR)를 제공할 수 있다.
전압 생성부(13)는 전압 제어 신호(CTRL_vol)를 기초로 하여 메모리 셀 어레이(11)에 대한 프로그램, 독출 및 소거 동작을 수행하기 위한 다양한 종류의 전압들을 생성할 수 있다. 구체적으로, 전압 생성부(13)는 복수의 워드 라인들(WL)을 구동하기 위한 제1 구동 전압(VWL), 복수의 스트링 선택 라인들(SSL)을 구동하기 위한 제2 구동 전압(VSSL) 및 복수의 접지 선택 라인들(GSL)을 구동하기 위한 제3 구동 전압(VGSL)을 생성할 수 있다.
이때, 제1 구동 전압(VWL)은 프로그램 전압(또는 기입 전압), 독출 전압, 소거 전압, 패스 전압 또는 프로그램 검증 전압일 수 있다. 또한, 제2 구동 전압(VSSL)은 스트링 선택 전압, 즉, 온(on) 전압 또는 오프(off) 전압일 수 있다. 나아가, 제3 구동 전압(VGSL)은 접지 선택 전압, 즉, 온 전압 또는 오프 전압일 수 있다.
로우 디코더(14)는 복수의 워드 라인들(WL)을 통해 메모리 셀 어레이(11)에 연결되고, 제어 로직(12A)으로부터 수신한 로우 어드레스(X_ADDR)에 응답하여 복수의 워드 라인들(WL) 중 일부 워드 라인을 활성화할 수 있다. 구체적으로, 독출 동작 시에 로우 디코더(14)는 선택된 워드 라인에 독출 전압을 인가하고, 비 선택된 워드 라인에 패스 전압을 인가할 수 있다.
한편, 프로그램 동작 시에 로우 디코더(14)는 선택된 워드 라인에 프로그램 전압을 인가하고, 비 선택된 워드 라인에 패스 전압을 인가할 수 있다.
그리고, 소거 동작 시에 로우 디코더(14)는 워드 라인들(WL)에 소거용 전압(예로서, 0V)을 인가하고, 스트링 선택 라인(SSL) 및 접지 선택 라인(GSL)을 각각 플로팅(Floating) 시킬 수 있다.
페이지 버퍼(15)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(11)에 연결될 수 있다. 구체적으로, 독출 동작 시에 페이지 버퍼(15)는 감지 증폭기(sense amplifier)로 동작하여 메모리 셀 어레이(11)에 저장된 데이터(DATA)를 출력할 수 있다. 한편, 프로그램 동작 시에 페이지 버퍼(15)는 기입 드라이버(write driver)로 동작하여 메모리 셀 어레이(11)에 저장하고자 하는 데이터(DATA)를 입력시킬 수 있다.
도 6은 도 2 및 도 4의 메모리 시스템(100B, 100D)에 포함된 메모리 장치(10B 또는 10D)를 상세하게 나타내는 블록도이다.
도 6을 참조하면, 메모리 장치(10A)는 메모리 셀 어레이(11), 제어 로직(control logic; 12), 전압 생성부(13), 로우 디코더(14) 및 페이지 버퍼(15)를 포함할 수 있다. 메모리 셀 어레이(11), 전압 생성부(13), 로우 디코더(14) 및 페이지 버퍼(15)는 도 5에서 이미 설명하였으므로, 중복적인 설명은 피하기로 한다.
그리고, 제어 로직(12)은 도 5에 도시된 제어 로직(12A)에서 포스트 프로그램 관리부(12-1A)가 생략된 구성을 갖는다. 제어 로직(12)은 메모리 컨트롤러(20B 또는 20D)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여, 메모리 셀 어레이(11)에 데이터를 기입하거나 메모리 셀 어레이(11)로부터 데이터를 독출하거나, 메모리 셀 어레이(11)를 소거하기 위한 각종 제어 신호를 출력할 수 있다. 이로써, 제어 로직(12)은 메모리 장치(10B 또는 10D) 내의 각종 동작을 전반적으로 제어할 수 있다.
도 7은 도 3의 메모리 시스템(100C)에 포함된 메모리 장치(10C)를 상세하게 나타내는 블록도이다.
도 7을 참조하면, 메모리 장치(10C)는 메모리 셀 어레이(11), 제어 로직(control logic; 12C), 전압 생성부(13), 로우 디코더(14) 및 페이지 버퍼(15)를 포함할 수 있다. ROM(16C)을 옵션으로 사용할 수 있다. 예로서, 제조 공정에서 더미 패턴으로 사용할 복수의 후보 데이터들을 ROM(16C)에 저장할 수 있다. 다른 예로서, ROM(16C)을 사용하지 않고 메모리 셀 어레이(11)로부터 읽어내어 페이지 버퍼(15)에 저장된 데이터를 이용하여 더미 패턴의 데이터를 결정할 수도 있다. 또 다른 예로서, 페이지 버퍼(15)와 비트 라인 연결 구조를 이용하여 짝수/홀수 비트 라인에서의 서로 다른 논리 값으로 생성되는 데이터 패턴을 더미 패턴의 데이터로 결정할 수도 있다. 메모리 셀 어레이(11), 전압 생성부(13), 로우 디코더(14) 및 페이지 버퍼(15)는 도 5에서 이미 설명하였으므로, 중복적인 설명은 피하기로 한다.
제어 로직(12C)은 메모리 컨트롤러(20C)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여, 메모리 셀 어레이(11)에 데이터를 기입하거나 메모리 셀 어레이(11)로부터 데이터를 독출하거나, 메모리 셀 어레이(11)를 소거하기 위한 각종 제어 신호를 출력할 수 있다. 이로써, 제어 로직(12C)은 메모리 장치(10C) 내의 각종 동작을 전반적으로 제어할 수 있다.
제어 로직(12C)에는 프리 프로그램 관리부(12-1C)를 포함한다. 포스트 프로그램 관리부(12-1C)는 소거 커맨드에 따른 소거 동작을 마치고 나서, 소거 동작이 수행된 메모리 블록의 메인 메모리 셀로부터 인접한 더미 메모리 셀에 랜덤한 더미 패턴의 데이터를 기입하는 포스트 프로그램(post-program) 동작을 수행하기 위한 각종 제어 신호를 출력할 수 있다.
도 8은 도 5 내지 도 7에 도시된 메모리 셀 어레이(11)의 일 예를 나타낸다.
도 8을 참조하면, 메모리 셀 어레이(11)는 플래시 메모리 셀 어레이일 수 있다. 이때, 메모리 셀 어레이(11)는 a(a는 2 이상의 정수)개의 메모리 블록들(BLK1 내지 BLKa)을 포함하고, 각 메모리 블록(BLK1 내지 BLKa)은 b(b는 2이상의 정수)개의 페이지들(PAGE1 내지 PAGEb)을 포함하며, 각 페이지들(PAGE1 내지 PAGEb)은 c(c는 2 이상의 정수)개의 섹터들(SEC1 내지 SECc)을 포함할 수 있다. 도 8에서는 도시의 편의를 위해, 메모리 블록 BLK1에 대하여만 페이지들(PAGE0 내지 PAGEb) 및 섹터들(SEC1 내지 SECc)을 도시하였으나, 다른 메모리 블록들(BLK2 내지 BLKa)도 블록 BLK1과 동일한 구조를 가질 수 있다.
도 9는 도 8에 도시된 메모리 셀 어레이에 포함된 메모리 블록(BLK1)의 일 예를 나타내는 회로도이다.
도 9를 참조하면, 제1 메모리 블록(BLK1)은 수평 구조의 낸드 플래쉬 메모리일 수 있고, 도 8에 도시된 각 메모리 블록들(BLK1 내지 BLKa)은 도 9와 같이 구현될 수 있다. 제1 메모리 블록(BLK1)은 예를 들어, 8개의 메모리 셀들이 직렬로 연결되는 d(d는 2 이상의 정수)개의 셀 스트링(STR)들을 포함할 수 있다. 각 셀 스트링(STR)은 직렬로 연결된 메모리 셀들의 양 끝에 각각 연결되는 스트링 선택 트랜지스터(SST) 및 접지 선택 트랜지스터(GST)를 포함할 수 있다. 여기에서, 하나의 셀 스트링에 포함되는 8개의 메모리 셀들 중에서 접지 선택 트랜지스터(GST)에 인접된 하나 이상의 메모리 셀을 더미 메모리 셀로 설정할 수 있다.
도 9의 실시 예에서는 접지 선택 트랜지스터(GST)에 인접된 2개의 메모리 셀들을 더미 메모리 셀(DMC)로 설정하였다. 이에 따라서, 하나의 셀 스트링에 포함되는 8개의 메모리 셀들 중에서 6개의 메모리 셀들이 메인 메모리 셀(MMC)로 설정된다. 다른 예로서, 스트링 선택 트랜지스터(SST)와 메인 메모리 셀(MMC) 사이에 하나 이상의 더미 메모리 셀(DMC)을 추가할 수도 있다.
그리고, 더미 메모리 셀(DMC)에는 더미 워드 라인(DWL)이 연결되고, 메인 메모리 셀(MMC)에는 메인 워드 라인(MWL)이 연결된다. 이와 같이, 공통 소스 라인(CSL) 쪽에서 메인 메모리 셀들에 미치는 커플링(coupling) 영향을 줄이기 위하여 더미 메모리 셀은 접지 선택 트랜지스터(GST)와 복수의 메인 메모리 셀들(MMC1 ~ MMC6) 사이에 배치한다. 즉, 메인 메모리 셀의 에지(edge)에 하나 이상의 더미 메모리 셀을 배치한다.
여기서, 셀 스트링들(STR)의 개수, 더미 워드 라인들(DWL)의 개수, 메인 워드 라인들(MWL)의 개수, 비트 라인들(BL)의 개수는 실시예에 따라 다양하게 변경될 수 있다.
도 9와 같은 구조를 갖는 낸드 플래쉬 메모리 장치는 메모리 블록 단위로 소거가 수행되고, 각 워드 라인에 대응하는 페이지 단위로 프로그램을 수행할 수 있다. 일 예에서, 메모리 셀이 싱글 레벨 셀인 경우, 각 워드 라인에 하나의 페이지가 대응될 수 있다. 다른 예에서, 메모리 셀이 멀티 레벨 셀 또는 트리플 레벨 셀인 경우, 각 워드 라인에 복수의 페이지들이 대응될 수 있다.
도 10은 도 8에 도시된 메모리 셀 어레이에 포함된 메모리 블록의 다른 예를 나타내는 회로도이다.
도 10은 도 8의 메모리 셀 어레이에 포함된 메모리 블록의 다른 예(BLK1')를 나타내는 회로도이다.
도 10을 참조하면, 제1 메모리 블록(BLK1')은 수직 구조의 낸드 플래쉬 메모리일 수 있고, 도 8에 도시된 각 메모리 블록들(BLK1 내지 BLKa)은 도 10과 같이 구현될 수 있다. 제1 메모리 블록(BLK1')은 복수의 셀 스트링들(STR11 내지 STR33), 복수의 워드 라인들(DWL1, DW2, WL1 ~ WL6), 복수의 비트 라인들(BL1 내지 BL3), 접지 선택 라인(GSL), 복수의 스트링 선택 라인들(SSL1 내지 SSL3) 및 공통 소스 라인(CSL)을 포함할 수 있다. 여기서, 셀 스트링들의 개수, 워드 라인들의 개수, 비트 라인들의 개수, 접지 선택 라인의 개수 및 스트링 선택 라인들의 개수는 실시 예에 따라 다양하게 변경될 수 있다.
비트 라인(BL1 내지 BL3)과 공통 소스 라인(CSL) 사이에는 셀 스트링(STR11 내지 STR33)이 연결된다. 각 셀 스트링(예를 들면, STR11)은 직렬로 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(DMC 및 MMC) 및 접지 선택 트랜지스터(GST)를 포함할 수 있다.
도 10의 실시 예에서는 셀 스트링에서 접지 선택 트랜지스터(GST)에 인접된 2개의 메모리 셀들을 더미 메모리 셀(DMC)로 설정하였다. 이에 따라서, 하나의 셀 스트링에 포함되는 8개의 메모리 셀들 중에서 6개의 메모리 셀들이 메인 메모리 셀(MMC)로 설정된다. 다른 예로서, 스트링 선택 트랜지스터(SST)와 메인 메모리 셀(MMC) 사이에 하나 이상의 더미 메모리 셀(DMC)을 추가할 수도 있다.
스트링 선택 트랜지스터(SST)는 스트링 선택 라인(SSL1 내지 SSL3)에 연결된다. 복수의 메모리 셀(MC1 내지 MC8)은 각각 대응하는 워드 라인(WL1 내지 WL8)에 연결된다. 접지 선택 트랜지스터(GST)는 접지 선택 라인(GSL)에 연결되어 있다. 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인(BL)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결된다.
동일 높이의 워드 라인(예를 들면, WL1)은 공통으로 연결되어 있고, 스트링 선택 라인(SSL1 내지 SSL3)은 분리되어 있다. 워드 라인 WL1에 연결되어 있고 셀 스트링(NS11, NS12, NS13)에 속해 있는 메모리 셀들을 프로그램하는 경우에는, 워드 라인 WL1과 스트링 선택 라인 SSL1이 선택된다.
도 11은 도 9 및 도 10에 도시된 메모리 블록에 포함된 메모리 셀의 일 예를 보여주는 단면도이다. 여기에서, 메모리 셀은 더미 메모리 셀(DMC) 또는 메인 메모리 셀(MMC)이 될 수 있다.
도 11을 참조하면, 메모리 셀은 채널 영역(1), 전하 저장층(2) 및 제어 게이트(CG, 3)를 포함할 수 있다. 일 예에서, 전하 저장층(2)은 도체인 플로팅 게이트로 구현될 수 있고, 이러한 구성을 가지는 메모리 셀을 플로팅 게이트 구조 셀이라고 지칭할 수 있다. 다른 예에서, 전하 저장층(2)은 부도체, 예를 들어, SiN로 구현될 수 있고, 이러한 구성을 가지는 메모리 셀을 전하 트랩형 플래시(charge trap flash, CTF) 셀이라고 지칭할 수 있다.
메모리 셀에 대한 프로그램 동작을 수행하기 위해서, 상대적으로 높은 프로그램 전압이 제어 게이트(3)에 인가되고, 채널 영역(1)에 상대적으로 낮은 전압(예를 들면, 0V)이 인가될 수 있다. 이러한 바이어스 조건에 따라, 제어 게이트(3)에서 채널 영역(1)의 방향으로 전계가 형성됨으로써, 전하들, 예를 들어, 전자들(electrons)이 화살표 P 방향으로 채널 영역(1)에서 전하 저장층(2)으로 이동될 수 있으며, 이에 따라, 메모리 셀이 프로그램될 수 있다.
그리고, 메모리 셀에 대한 소거 동작을 수행하기 위해서, 상대적으로 낮은 소거 전압(예를 들면, 0V)이 제어 게이트(3)에 인가되고, 채널 영역(1)에 상대적으로 높은 전압이 인가될 수 있다. 이러한 바이어스 조건에 따라, 채널 영역(1)에서 제어 게이트(3)의 방향으로 전계가 형성됨으로써, 전하들, 예를 들어, 전자들(electrons)이 화살표 E 방향으로 전하 저장층(2)에서 채널 영역(1)으로 이동될 수 있으며, 이에 따라, 메모리 셀이 소거될 수 있다.
도 12는 도 1 또는 도 3에 도시된 메모리 컨트롤러(20A 또는 20C)의 블록 구성의 일 예를 보여준다.
도 12에 도시된 바와 같이, 메모리 컨트롤러(20A 또는 20C)는 프로세서(210A), RAM(Random Access Memory; 220A), 호스트 인터페이스(230), 메모리 인터페이스(240) 및 버스(250)를 구비한다.
메모리 컨트롤러(20)의 구성요소들은 버스(250)를 통하여 전기적으로 연결될 수 있다.
프로세서(210A)는 RAM(220A)에 저장된 프로그램 코드 및 데이터들을 이용하여 메모리 시스템(100A 또는 100C)의 동작을 전반적으로 제어한다. 예로서, 프로세서(210A)는 마이크로프로세서(micro-processor) 또는 중앙처리장치(Central Processing Unit; CPU)로 구현될 수 있다. 메모리 시스템(100A 또는 100C)이 초기화될 때 프로세서(210A)는 메모리 시스템(100A 또는 100C)에서 수행되는 동작들을 제어하는데 필요한 프로그램 코드 및 데이터들을 메모리 장치(10A 또는 10C)로부터 읽어내어 RAM(220A)에 로딩시킬 수 있다.
프로세서(210A)는 리드 동작 시에는 리드 커맨드 및 어드레스를 메모리 장치(10)에 제공하고, 프로그램 동작 시에는 프로그램 커맨드, 어드레스, 그리고 데이터를 제공하고, 소거 동작 시에는 소거 커맨드 및 어드레스를 제공한다. 그리고, 프로세서(210A)는 RAM(220A)에 저장된 시스템 데이터를 이용하여 호스트로부터 수신되는 논리적 어드레스를 물리적 어드레스로 변환시키는 처리를 수행할 수 있다.
호스트 인터페이스(230)는 메모리 시스템(100A 또는 100C)과 접속되는 호스트와의 데이터 교환 프로토콜을 구비하고, 메모리 시스템(100A 또는 100C)과 호스트를 상호 연결한다. 호스트 인터페이스(230)는 ATA(Advanced Technology Attachment) 인터페이스, SATA(Serial Advanced Technology Attachment) 인터페이스, PATA(Parallel Advanced Technology Attachment) 인터페이스, USB(Universal Serial Bus) 또는 SAS(Serial Attached Small Computer System) 인터페이스, SCSI(Small Computer System Interface), eMMC(embedded Multi Media Card) 인터페이스, UFS(Universal Flash Storage) 인터페이스로 구현할 수 있다. 그러나 이는 예시일 뿐 이에 제한되는 것은 아니다. 호스트 인터페이스(230)는 프로세서(210A)의 제어에 따라서 호스트로부터 커맨드, 어드레스 및 데이터를 수신하거나, 호스트로 데이터를 전송할 수 있다.
메모리 인터페이스(240)는 메모리 장치(10A 또는 10C)와 전기적으로 연결되어 있다. 메모리 인터페이스(240)는 프로세서(210A)의 제어에 따라서 메모리 장치(10A 또는 10C)로 커맨드, 어드레스 및 데이터를 전송하거나, 메모리 장치(10A 또는 10C)로부터 데이터를 수신할 수 있다. 메모리 인터페이스(240)는 NAND 플래시 메모리 또는 NOR 플래시 메모리를 지원하도록 구성될 수 있다. 메모리 인터페이스(240)는 복수 개의 채널들을 통하여 소프트웨어 또는 하드웨어 인터리브 동작들이 수행되도록 구성될 수도 있다.
도 13은 도 2에 도시된 메모리 컨트롤러(20B)의 블록 구성의 일 예를 보여준다
도 13에 도시된 바와 같이, 메모리 컨트롤러(20B)는 프로세서(210B), RAM(Random Access Memory; 220B), 호스트 인터페이스(230), 메모리 인터페이스(240) 및 버스(250)를 구비한다.
RAM(220B)에는 메모리 시스템(100B)에서 수행되는 동작들을 제어하는데 필요한 프로그램 코드 및 데이터들이 저장된다. 예로서, 메모리 시스템(100B)이 초기화될 때 프로세서(210B)는 메모리 시스템(100B)에서 수행되는 동작들을 제어하는데 필요한 프로그램 코드 및 데이터들을 메모리 장치(10B)로부터 읽어내어 RAM(220B)에 로딩시킬 수 있다. 특히, RAM(220B)에는 포스트 프로그램 관리 동작을 수행하기 위한 프로그램 코드 (PC1; 220-1)가 저장될 수 있다.
프로세서(210B)는 RAM(220B)에 저장된 프로그램 코드 및 데이터들을 이용하여 메모리 시스템(100B)의 동작을 전반적으로 제어한다. 예로서, 프로세서(210B)는 RAM(220B)에 저장된 프로그램 코드(PC1; 220-1)를 이용하여 도 2에서 설명한 바와 같은 포스트 프로그램 관리부(21)의 동작을 수행한다. 예로서, 프로세서(210B)는 RAM(220B)에 저장된 프로그램 코드(PC1; 220-1)를 이용하여 도 23 또는 도 24에 도시된 바와 같은 메모리 장치의 에지 워드라인 관리 방법의 흐름도를 수행할 수 있다.
호스트 인터페이스(230), 메모리 인터페이스(240) 및 버스(250)는 도 12에서 이미 설명하였으므로, 중복적인 설명은 피하기로 한다.
도 14는 도 4에 도시된 메모리 컨트롤러(20D)의 블록 구성의 일 예를 보여준다.
도 14에 도시된 바와 같이, 메모리 컨트롤러(20D)는 프로세서(210D), RAM(Random Access Memory; 220D), 호스트 인터페이스(230), 메모리 인터페이스(240) 및 버스(250)를 구비한다.
RAM(220D)에는 메모리 시스템(100D)에서 수행되는 동작들을 제어하는데 필요한 프로그램 코드 및 데이터들이 저장된다. 예로서, 메모리 시스템(100D)이 초기화될 때 프로세서(210D)는 메모리 시스템(100D)에서 수행되는 동작들을 제어하는데 필요한 프로그램 코드 및 데이터들을 메모리 장치(10D)로부터 읽어내어 RAM(220D)에 로딩시킬 수 있다. 특히, RAM(220D)에는 프리 프로그램 관리 동작을 수행하기 위한 프로그램 코드(PC2; 220-2)가 저장될 수 있다.
프로세서(210D)는 RAM(220D)에 저장된 프로그램 코드 및 데이터들을 이용하여 메모리 시스템(100D)의 동작을 전반적으로 제어한다. 예로서, 프로세서(210D)는 RAM(220D)에 저장된 프로그램 코드(PC2; 220-2)를 이용하여 도 4에서 설명한 바와 같은 프리 프로그램 관리부(22)의 동작을 수행한다. 예로서, 프로세서(210D)는 RAM(220D)에 저장된 프로그램 코드(PC2; 220-2)를 이용하여 도 25 또는 도 26에 도시된 바와 같은 메모리 장치의 에지 워드라인 관리 방법의 흐름도를 수행할 수 있다.
호스트 인터페이스(230), 메모리 인터페이스(240) 및 버스(250)는 도 12에서 이미 설명하였으므로, 중복적인 설명은 피하기로 한다.
도 15는 포스트 프로그램 모드 또는 프리 프로그램 모드가 디스에이블 된 조건에서의 도 9 또는 도 10의 메모리 블록에 포함된 하나의 셀 스트링에서의 최초의 프로그램 상태를 보여준다.
도 15를 참조하면, 셀 스트링은 다수의 메모리 셀들이 직렬로 연결되는 스트링 구조를 갖는다. 예로서, 공통 소스 라인(CSL)으로부터 메인 메모리 셀(MMC)에 미치는 영향을 줄이기 위하여 접지 선택 트랜지스터와 메인 메모리 셀(MMC1) 사이에 2개의 더미 메모리 셀들(DMC1, DMC2)이 배치된다. 그리고, 접지 선택 라인(GSL)에서 가까운 메모리 셀들로부터 순차적으로 프로그램이 수행된다. 도 15에서 더미 메모리 셀들(DMC1, DMC2)은 더미 워드 라인 DWL1 및 DWL2에 각각 연결된다.
이에 따라서, 포스트 프로그램 모드 또는 프리 프로그램 모드가 디스에이블 된 조건에서의 소거 동작을 수행하고 나서 최초의 프로그램 동작은 접지 선택 라인(GSL)에서 가까운 메인 메모리 셀인 MMC1에서 이루어진다. 즉, 소거 동작 후의 최초로 워드 라인 WL1에 연결된 메모리 셀 MMC1이 프로그램(P_1 PGM) 된다.
이와 같이, 포스트 프로그램 모드 또는 프리 프로그램 모드가 디스에이블 된 조건에서의 프로그램 실행에 따른 워드라인 별 메모리 셀들의 문턱 전압 산포를 도 16에 도시하였다.
도 16을 참조하면, 메인 워드 라인 WL1에 연결된 메모리 셀들에 대한 프로그램 상태(P1)의 문턱 전압 산포는 메인 워드 라인 WL2 ~ MWLn(여기에서, n은 3 이상의 정수)에 연결된 메모리 셀들에 대한 프로그램 상태(P1)의 문턱 전압 산포에 비하여 소거 상태(E0)의 문턱 전압 쪽으로 시프트 되었다는 사실을 알 수 있다. 이는 메인 워드 라인 WL1은 인접 페이지가 모두 소거된 상태에서 프로그램 되므로, 소거 후에 최초로 메인 워드 라인 WL1의 페이지를 프로그램하기 위해서는 가장 많은 챠지 트랩이 필요하다. 이로 인하여 도 16에 도시된 바와 같이, 셀 스트링에서 메인 워드 라인 WL1의 메모리 셀들에 대한 신뢰성이 가장 취약한 상태가 된다.
도 17은 포스트 프로그램 모드 또는 프리 프로그램 모드가 인에이블 된 조건에서의 하나의 셀 스트링에 대한 소거 동작 후의 프로그램 과정을 보여준다.
도 17의 (a)는 소거 동작이 수행된 메모리 블록에 포함된 셀 스트링에 포함된 더미 메모리 셀(DMC) 및 메인 메모리 셀(MMC)의 상태를 보여준다. 즉, 소거 동작이 수행된 후의 더미 워드 라인(DWL1, DWL2)에 연결된 더미 메모리 셀들(DMC1, DMC2) 및 메인 워드 라인(WL1 ~ WLn)의 메인 메모리 셀들(MMC1 ~ MMCn)은 모두 소거 상태(E0)의 문턱 전압을 갖는다.
도 17의 (b)는 소거 동작 후의 포스트 프로그램 모드 또는 프리 프로그램 모드의 수행에 따라서 셀 스트링의 메인 메모리 셀로부터 인접한 더미 메모리 셀(DMC2)에 더미 패턴의 데이터가 프로그램 된 상태를 보여준다. 즉, 소거 동작이 수행되고 나서 메인 워드 라인(WL1 ~ WLn)에 대한 프로그램 동작을 수행하기 전에 메인 워드 라인(WL1)에 인접한 더미 워드 라인(DWL2)에 연결된 더미 메모리 셀(DMC2)이 더미 패턴의 데이터로 프로그램 된다(P_1').
도 17의 (c)는 포스트 프로그램 모드 또는 프리 프로그램 모드의 수행하고 나서 셀 스트링의 첫 번째 메인 메모리 셀인 MMC1이 프로그램 된 상태(P_1 PGM)를 보여준다. 즉, 소거 동작을 수행하고 나서 포스트 프로그램 동작 또는 프리 프로그램 동작을 메인 워드 라인(WL1)에 인접한 더미 워드 라인(DWL2)에 연결된 더미 메모리 셀(DMC2)을 프로그램 한 후에 메인 워드 라인(WL1)에 연결된 메인 메모리 셀(MMC1)을 프로그램 한 상태를 보여준다.
이와 같이, 포스트 프로그램 모드 또는 프리 프로그램 모드가 인에이블 된 조건에서의 프로그램 실행에 따른 워드라인 별 메모리 셀들의 문턱 전압 산포를 도 18에 도시하였다.
도 18을 참조하면, 포스트 프로그램 동작 또는 프리 프로그램 동작에 의하여 프로그램 된 더미 워드 라인 DWL2에 연결된 메모리 셀들에 대한 프로그램 상태(P1)의 문턱 전압 산포는 메인 워드 라인 WL1 ~ WLn(여기에서, n은 3 이상의 정수)에 연결된 메모리 셀들에 대한 프로그램 상태(P1)의 문턱 전압 산포에 비하여 소거 상태(E0)의 문턱 전압 쪽으로 시프트 되었다는 사실을 알 수 있다. 이는 더미 워드 라인 DWL2는 인접 페이지가 모두 소거된 상태에서 프로그램 되므로, 소거 후에 최초로 더미 워드 라인 DWL2의 페이지를 프로그램하기 위해서는 가장 많은 챠지 트랩이 필요하다. 이로 인하여 도 18에 도시된 바와 같이, 셀 스트링에서 더미 워드 라인 DWL2의 메모리 셀들에 대한 신뢰성이 가장 취약한 상태가 되고, 첫 번째 메인 워드 라인 WL1의 메모리 셀들에 대한 신뢰성은 향상된다.
즉, 소거 후의 포스트 프로그램 동작 또는 프리 프로그램 동작에 의하여 더미 워드 라인 DWL2에 연결된 메모리 셀들에 대한 프로그램 동작에 의하여 메인 워드 라인 WL1 ~ WLn에 연결된 메모리 셀들에 대한 신뢰성은 향상된다.
참고적으로, 프로그램 할 입력 데이터를 랜덤마이저(randomizer) 처리하여 랜덤화시킨 후에 메인 워드 라인의 메모리 셀들에 프로그램한다. 만일, 더미 워드 라인 DWL2에 프로그램 되는 더미 패턴의 데이터가 모든 비트에서 '0'인 경우에 메인 메모리 셀이 N번 프로그램 되는 동안에 2N번 프로그램 되어 더미 워드 라인 DWL2에 연결된 더미 메모리 셀들이 최악의(worst) 메모리 셀이 될 수 있다. 이에 따라서, 더미 워드 라인에 프로그램할 더미 패턴의 데이터를 랜덤하게 결정할 필요가 있다.
도 19는 본 발명의 실시 예에 따른 포스트 프로그램 동작 또는 프리 프로그램 동작에 이용되는 더미 패턴의 데이터를 랜덤하게 결정하는 방법의 예를 설명하기 위한 도면이다.
도 19를 참조하면, 2개의 클럭 신호를 이용하여 검출된 위상에 기초하여 2개의 후보 데이터 패턴들 중에서 하나의 데이터 패턴을 더미 패턴의 데이터로 결정한다. 예로서, 2개의 후보 데이터 패턴들은 '0101010101….01'의 제1후보 데이터 패턴 및 '10101010….10'의 제2후보 데이터 패턴으로 설정할 수 있다. 2개의 후보 데이터 패턴들은 상호 반전된 데이터로 설정될 수 있다. 예로서, 후보 데이터 패턴들은 도 5의 ROM(16A) 또는 도 7의 ROM(16C)에 저장될 수 있다. 예로서, 2개의 클럭 신호는 메인 클럭 신호와 펌프 클럭 신호가 포함될 수 있다. 여기에서, 펌프 클럭 신호는 전압 레벨 승압 처리에 이용되는 클럭 신호를 의미한다.
예로서, 랜덤한 타이밍 또는 특정 타이밍에서의 제1클럭 신호의 라이징 에지에서 검출되는 제2클럭 신호의 위상이 "하이(high)"인 경우에는 제1후보 데이터 패턴을 더미 패턴의 데이터로 결정할 수 있다. 그리고, 랜덤한 타이밍 또는 특정 타이밍에서의 제1클럭 신호의 라이징 에지에서 검출되는 제2클럭 신호의 위상이 "로우(low)"인 경우에는 제2후보 데이터 패턴을 더미 패턴의 데이터로 결정할 수 있다.
도 20은 본 발명의 실시 예에 따른 포스트 프로그램 동작에 이용되는 더미 패턴의 데이터를 랜덤하게 결정하는 방법의 다른 예를 설명하기 위한 도면이다.
도 20을 참조하면, 소거 동작의 검증 처리 과정에서 생성되는 정보를 이용하여 2개 이상의 후보 데이터 패턴들 중에서 선택된 하나의 데이터 패턴을 더미 패턴의 데이터로 결정한다. 예로서, 소거 검증 과정에서 검출된 페일 비트(fail)의 개수가 기준 값인 M개 미만인 경우에 소거 패스로 처리하는데, 소거 패스일 때 검출된 페일 비트(fail)의 개수에 기초하여 더미 패턴의 데이터를 결정할 수 있다. 세부적인 예로서, 2개의 후보 데이터 패턴들을 설정한 상태에서 소거 패스일 때 검출된 페일 비트(fail)의 개수가 홀수인 경우는 제1후보 데이터 패턴을 더미 패턴의 데이터로 결정하고, 짝수일 경우에 제2후보 데이터 패턴을 더미 패턴의 데이터로 결정할 수 있다.
도 21은 본 발명의 실시 예에 따른 포스트 프로그램 동작 또는 프리 프로그램 동작에 이용되는 더미 패턴의 데이터를 랜덤하게 결정하는 방법의 다른 예를 설명하기 위한 도면이다.
도 21을 참조하면, 더미 패턴의 데이터로 사용할 복수의 후보 데이터 패턴들을 저장하는 ROM(예로서, 도 5의 16A 또는 도 7의 16C)을 사용하지 않고, 페이지 버퍼(15)와 비트 라인 연결 구조를 이용하여 짝수/홀수의 패턴을 랜덤하게 생성할 수 있다. 예로서, 도 19에 도시된 바와 같이, 2개의 클럭 신호를 이용하여 검출된 위상이 'high'인 경우에, 홀수 비트 라인을 '0'으로 설정하고 짝수 비트 라인을 '1'로 설정하도록 페이지 버퍼(15)를 제어할 수 있다. 같은 방식으로, 2개의 클럭 신호를 이용하여 검출된 위상이 'low'인 경우에, 홀수 비트 라인을 '1'로 설정하고 짝수 비트 라인을 '0'으로 설정하도록 페이지 버퍼(15)를 제어할 수 있다. 다른 예로서, 소거 동작의 검증 처리 과정에서 생성되는 정보를 이용하여 홀수 비트 라인과 짝수 비트 라인의 값을 랜덤하게 결정할 수도 있다. 예로서, 소거 패스일 때 검출된 페일 비트(fail)의 개수가 홀수일 때 홀수 비트 라인을 '1'로 설정하고 짝수 비트 라인을 '0'으로 설정하도록 페이지 버퍼(15)를 제어할 수 있다. 같은 방식으로, 소거 패스일 때 검출된 페일 비트(fail)의 개수가 짝수일 때 짝수 비트 라인을 '1'로 설정하고 홀스 비트 라인을 '0'으로 설정하도록 페이지 버퍼(15)를 제어할 수 있다.
도 22는 본 발명의 실시 예에 따른 포스트 프로그램 동작에 이용되는 더미 패턴의 데이터를 랜덤하게 결정하는 방법의 또 다른 예를 설명하기 위한 도면이다.
도 22의 (a)를 참조하면, 소거 동작 전에 임의의 워드 라인 WLx의 데이터를 읽어내어 페이지 버퍼(15) 또는 메모리 컨트롤러의 RAM(도 13의 220B 또는 도 14의 220D)에 백업한다. 백업 동작 후에 도 22의 (b)와 같이, 소거할 메모리 블록의 더미 워드 라인을 포함하는 모든 워드 라인들에 연결된 메모리 셀들을 소거한다.
그리고 나서, 도 22의 (c)와 같이 백업된 데이터 패턴으로 더미 워드 라인 DWL2를 프로그램한다. 이에 따라서, 더미 워드 라인 DWL2에는 소거 동작 전에 임의의 워드 라인 WLx에 저장된 데이터가 프로그램 된다.
다른 예로서, 더미 데이터에 대한 랜덤성을 증가시키기 위하여 소거 동작 전에 임의의 워드 라인 WLx의 데이터를 읽어내어 백업한 후에, 백업된 데이터 패턴의 일부를 반전시켜 더미 데이터 패턴으로 이용할 수도 있다.
그러면, 도 1 및 도 2에 도시된 포스트 프로그램 관리부(12-1A 또는 21) 또는 도 3 및 도 4에 도시된 프리 프로그램 관리부(12-1C 또는 22)에 의하여 수행되는 메모리 장치의 에지 워드라인 관리 동작에 대하여 도 23 내지 도 26의 흐름도를 참조하여 설명하기로 한다.
우선, 도 1 및 도 2에 도시된 포스트 프로그램 관리부(12-1A 또는 21)에 의하여 수행되는 메모리 장치의 에지 워드라인 관리 동작을 도 23 및 도 24의 흐름도를 참조하여 설명하기로 한다. 아래에서는 설명의 편의를 위하여 도 1을 중심으로 설명하기로 한다.
도 23은 본 발명에 따른 메모리 장치의 에지 워드라인 관리 방법의 흐름도의 일 예를 보여준다.
포스트 프로그램 관리부(12-1A)는 메모리 장치(10A)로 소거 커맨드가 수신되는지를 판단한다(S110).
소거 커맨드가 수신되면 메모리 장치(10A)는 소거 커맨드와 더불어 수신되는 어드레스가 지정하는 메모리 블록에 대한 소거 동작을 수행한다(S120).
그리고 나서, 포스트 프로그램 관리부(12-1A)는 더미 패턴의 데이터를 결정한다(S130). 여기에서, 더미 패턴의 데이터는 랜덤하게 결정할 수 있다. 예로서, 포스트 프로그램 관리부(12-1A)는 메모리 장치(10A)에서 이용되는 하나 이상의 클럭의 특정 시점에서의 검출된 위상에 기초하여 후보 데이터 패턴들 중에서 선택되는 하나의 데이터 패턴을 더미 패턴의 데이터로 결정할 수 있다. 다른 예로서, 소거 동작 전에 메모리 블록의 초기 설정된 워드라인에서 읽어낸 데이터를 더미 패턴의 데이터로 결정할 수 있다. 또 다른 예로서, 소거 동작 전에 메모리 블록의 초기 설정된 워드라인에서 읽어낸 데이터의 일부를 반전시킨 데이터로 더미 패턴의 데이터를 결정할 수 있다. 또 다른 예로서, 소거 동작의 검증 처리 과정에서 생성되는 정보를 이용하여 2개 이상의 후보 데이터 패턴들 중에서 선택된 하나의 데이터 패턴을 더미 패턴의 데이터로 결정할 수 있다.
다음으로, 포스트 프로그램 관리부(12-1A)는 소거 동작이 수행된 메모리 블록의 메인 메모리 셀로부터 인접한 더미 메모리 셀에 오퍼레이션 S130에서 결정된 더미 패턴의 데이터를 기입하는 포스트 프로그램(post-program) 동작을 수행한다(S140). 예로서, 도 9 또는 도 10의 메모리 블록에서의 메인 워드 라인들(MWL)과 접지 선택 라인(GSL) 사이에 존재하는 더미 워드 라인들(DWL) 중에서 메인 워드 라인에 가장 인접된 더미 워드 라인(DWL2)에 연결된 더미 메모리 셀들을 오퍼레이션 S130에서 결정된 더미 패턴의 데이터로 프로그램하는 동작을 수행한다.
도 24는 본 발명에 따른 메모리 장치의 에지 워드라인 관리 방법의 흐름도의 다른 예를 보여준다.
포스트 프로그램 관리부(12-1A)는 메모리 장치(10A)로 소거 커맨드가 수신되는지를 판단한다(S210).
소거 커맨드가 수신되면 메모리 장치(10A)는 소거 커맨드와 더불어 수신되는 어드레스가 지정하는 메모리 블록에 대한 소거 동작을 수행한다(S220).
그리고 나서, 포스트 프로그램 관리부(12-1A)는 포스트 프로그램 모드가 인에이블 되어 있는지를 판단한다(S230). 예로서, 메모리 블록 별 프로그램/소거 사이클 회수가 초기 설정된 임계 값을 초과하는 경우에 해당 메모리 블록에 대하여 포스트 프로그램 모드 인에이블 상태로 설정할 수 있다. 다른 예로서, 테스트 공정 또는 사용자 환경에서 포스트 프로그램 모드를 인에이블 상태로 설정할 수도 있다.
오퍼레이션 S230의 판단 결과 포스트 프로그램 모드가 인에이블 되어 있는 경우에, 포스트 프로그램 관리부(12-1A)는 더미 패턴의 데이터를 결정한다(S240). 도 24의 오퍼레이션 S240에서 설명한 바와 같은 다양한 방법으로 더미 패턴의 데이터를 랜덤하게 결정할 수 있다.
그리고 나서, 포스트 프로그램 관리부(12-1A)는 소거 동작이 수행된 메모리 블록의 메인 메모리 셀로부터 인접한 더미 메모리 셀에 오퍼레이션 S240에서 결정된 더미 패턴의 데이터를 기입하는 포스트 프로그램(post-program) 동작을 수행한다(S250). 예로서, 도 9 또는 도 10의 메모리 블록에서의 메인 워드 라인들(MWL)과 접지 선택 라인(GSL) 사이에 존재하는 더미 워드 라인들(DWL) 중에서 메인 워드 라인에 가장 인접된 더미 워드 라인(DWL2)에 연결된 더미 메모리 셀들을 오퍼레이션 S250에서 결정된 더미 패턴의 데이터로 프로그램하는 동작을 수행한다.
다음으로, 도 3 및 도 4에 도시된 프리 프로그램 관리부(12-1C 또는 22)에 의하여 수행되는 메모리 장치의 에지 워드라인 관리 동작을 도 25 및 도 26의 흐름도를 참조하여 설명하기로 한다. 아래에서는 설명의 편의를 위하여 도 3을 중심으로 설명하기로 한다.
도 25는 본 발명에 따른 메모리 장치의 에지 워드라인 관리 방법의 흐름도의 또 다른 예를 보여준다.
프리 프로그램 관리부(12-1C)는 메모리 장치(10C)로 프로그램 커맨드가 수신되는지를 판단한다(S310).
오퍼레이션 S310의 판단 결과 프로그램 커맨드가 수신된 경우에, 프리 프로그램 관리부(12-1C)는 수신된 프로그램 커맨드가 프리 메모리 블록(free memory block)의 첫 번째 프로그램 커맨드인지를 판단한다(S320). 여기에서, 프리 메모리 블록은 소거 동작을 수행한 후에 데이터가 기입되지 않은 빈 메모리 블록을 의미한다. 예로서, 도 9 또는 도 10의 메모리 블록에서 워드라인 WL1에 대응되는 어드레스에 대한 프로그램 커맨드가 수신된 경우에 프리 메모리 블록(free memory block)의 첫 번째 프로그램 커맨드로 판단할 수 있다. 이는 플래시 메모리의 셀 스트링에서 공통 소스 라인(CSL)에서 가장 가까운 워드 라인부터 프로그램을 수행하기 때문이다. 즉, 프리 메모리 블록의 첫 번째 프로그램은 더미 워드 라인을 제외한 워드 라인들 중에서 공통 소스 라인(CSL)에서 가장 가까운 메인 워드 라인인 WL1에서 수행된다.
오퍼레이션 S320의 판단 결과 프리 메모리 블록의 첫 번째 프로그램 커맨드인 경우에, 프리 프로그램 관리부(12-1C)는 더미 패턴의 데이터를 결정한다(S330). 여기에서, 더미 패턴의 데이터는 랜덤하게 결정할 수 있다. 예로서, 적어도 2개 이상의 후보 데이터 패턴들을 설정하고, 하나 이상의 클럭 신호의 특정 시점에서의 검출된 위상에 기초하여 후보 데이터 패턴들 중에서 선택되는 하나의 데이터 패턴을 더미 패턴의 데이터로 결정할 수 있다.
다음으로, 프리 프로그램 관리부(12-1C)는 프리 메모리 블록의 메인 메모리 셀로부터 인접한 더미 메모리 셀에 오퍼레이션 S330에서 결정된 더미 패턴의 데이터를 기입하는 프리 프로그램(pre-program) 동작을 수행한다(S340). 예로서, 오퍼레이션 S310에서 수신된 프로그램 커맨드가 수행될 프리 메모리 블록이 도 9 또는 도 10과 같은 경우에, 메인 워드 라인들(MWL)과 접지 선택 라인(GSL) 사이에 존재하는 더미 워드 라인들(DWL) 중에서 메인 워드 라인에 가장 인접된 더미 워드 라인(DWL2)에 연결된 더미 메모리 셀들을 더미 패턴의 데이터로 프로그램하는 동작을 수행한다.
오퍼레이션 S320의 판단 결과 프리 메모리 블록의 첫 번째 프로그램 커맨드가 아니거나 오퍼레이션 S340에 따른 프리 프로그램 동작을 수행하고 나서, 메모리 장치(10C)는 오퍼레이션 S310에서 수신된 프로그램 커맨드를 수행한다(S350). 예로서, 도 9 또는 도 10의 메모리 블록에서 더미 워드 라인(DWL2)에 연결된 더미 메모리 셀들을 더미 패턴의 데이터로 프리 프로그램하는 동작을 수행하고 나서, 워드 라인 WL1에 연결된 메모리 셀들을 프로그램 커맨드와 함께 데이터로 프로그램하는 동작을 수행한다.
도 26은 본 발명에 따른 메모리 장치의 에지 워드라인 관리 방법의 흐름도의 또 다른 예를 보여준다.
프리 프로그램 관리부(12-1C)는 메모리 장치(10C)로 프로그램 커맨드가 수신되는지를 판단한다(S410).
오퍼레이션 S410의 판단 결과 프로그램 커맨드가 수신된 경우에, 프리 프로그램 관리부(12-1C)는 프리 프로그램 모드가 인에이블 되어 있는지를 판단한다(S420). 예로서, 메모리 블록 별 프로그램/소거 사이클 회수가 초기 설정된 임계 값을 초과하는 경우에 해당 메모리 블록에 대하여 프리 프로그램 모드 인에이블 상태로 설정할 수 있다. 다른 예로서, 테스트 공정 또는 사용자 환경에서 프리 프로그램 모드를 인에이블 상태로 설정할 수도 있다.
오퍼레이션 S420의 판단 결과 프리 프로그램 모드가 인에이블 되어 있는 경우에, 프리 프로그램 관리부(12-1C)는 오퍼레이션 S410에서 수신된 프로그램 커맨드가 프리 메모리 블록(free memory block)의 첫 번째 프로그램 커맨드인지를 판단한다(S430).
오퍼레이션 S430의 판단 결과 프리 메모리 블록의 첫 번째 프로그램 커맨드인 경우에, 프리 프로그램 관리부(12-1C)는 더미 패턴의 데이터를 결정한다(S440). 예로서, 도 25의 오퍼레이션 S330에서 설명한 바와 같은 방법으로 더미 패턴의 데이터를 랜덤하게 결정할 수 있다.
다음으로, 프리 프로그램 관리부(12-1C)는 프리 메모리 블록의 메인 메모리 셀로부터 인접한 더미 메모리 셀에 오퍼레이션 S430에서 결정된 더미 패턴의 데이터를 기입하는 프리 프로그램(pre-program) 동작을 수행한다(S450). 예로서, 오퍼레이션 S310에서 수신된 프로그램 커맨드가 수행될 프리 메모리 블록이 도 9 또는 도 10과 같은 경우에, 더미 워드 라인(DWL2)에 연결된 더미 메모리 셀들을 더미 패턴의 데이터로 프로그램하는 동작을 수행할 수 있다.
오퍼레이션 S420의 판단 결과 프리 프로그램 모드가 디스에이블되어 있거나, 오퍼레이션 S430의 판단 결과 프리 메모리 블록의 첫 번째 프로그램 커맨드가 아니거나, 오퍼레이션 S450에 따른 프리 프로그램 동작을 수행하고 나서, 메모리 장치(10C)는 오퍼레이션 S410에서 수신된 프로그램 커맨드를 수행한다(S460). 예로서, 도 9 또는 도 10의 메모리 블록에서 더미 워드 라인(DWL2)에 연결된 더미 메모리 셀들을 더미 패턴의 데이터로 프리 프로그램하는 동작을 수행하고 나서, 워드 라인 WL1에 연결된 메모리 셀들을 프로그램 커맨드와 함께 데이터로 프로그램하는 동작을 수행한다.
도 27은 본 발명의 실시예들에 따른 메모리 시스템을 메모리 카드 시스템(1000)에 적용한 예를 나타내는 블록도이다.
도 27을 참조하면, 메모리 카드 시스템(1000)은 호스트(1100) 및 메모리 카드(1200)를 포함할 수 있다. 호스트(1100)는 호스트 컨트롤러(1110) 및 호스트 접속부(1120)를 포함할 수 있다. 메모리 카드(1200)는 카드 접속부(1210), 메모리 컨트롤러(1220) 및 메모리 장치(1230)를 포함할 수 있다. 메모리 컨트롤러(1220) 및 메모리 장치(1230)는 도 1 내지 도 4에 도시된 메모리 컨트롤러(20A ~ 20D) 및 메모리 장치(10A ~ 10D)가 적용될 수 있다.
호스트(1100)는 메모리 카드(1200)에 데이터를 기입하거나, 메모리 카드(1200)에 저장된 데이터를 독출할 수 있다. 호스트 컨트롤러(1110)는 커맨드(CMD), 호스트(1100) 내의 클럭 발생기(미도시)에서 발생한 클럭 신호(CLK) 및 데이터(DATA)를 호스트 접속부(1120)를 통해 메모리 카드(1200)로 전송할 수 있다.
메모리 컨트롤러(1220)는 카드 접속부(1210)를 통해 수신된 커맨드에 응답하여, 메모리 컨트롤러(1220) 내에 있는 클럭 발생기(미도시)에서 발생한 클럭 신호에 동기하여 데이터를 메모리 장치(1230)에 저장할 수 있다. 메모리 장치(1230)는 호스트(1100)로부터 전송된 데이터를 저장할 수 있다.
메모리 카드(1230)는 컴팩트 플래시 카드(CFC: Compact Flash Card), 마이크로 드라이브(Microdrive), 스마트 미디어 카드(SMC: Smart Media Card) 멀티미디어 카드(MMC: Multimedia Card), 보안 디지털 카드(SDC: Security Digital Card), 메모리 스틱(Memory Stick), 및 USB 플래시 메모리 드라이버 등으로 구현될 수 있다.
도 28은 본 발명의 실시 예들에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템(2000)을 나타내는 블록도이다.
도 28을 참조하면, 컴퓨팅 시스템(2000)은 메모리 시스템(2100), 프로세서(2200), RAM(2300), 입출력 장치(2400) 및 전원 장치(2500)를 포함할 수 있다.
메모리 시스템(2100)은 메모리 장치(2110) 및 메모리 컨트롤러(2120)를 포함한다. 메모리 장치(2110) 및 메모리 컨트롤러(2120)는 도 1 내지 도 4에 도시된 메모리 컨트롤러(20A ~ 20D) 및 메모리 장치(10A ~ 10D)가 적용될 수 있다.
한편, 도 28에는 도시되지 않았지만, 컴퓨팅 시스템(2000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다. 컴퓨팅 시스템(2000)은 퍼스널 컴퓨터로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(personal digital assistant) 및 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.
프로세서(2200)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시예에 따라, 프로세서(2200)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일수 있다. 프로세서(2200)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스(2600)를 통하여 RAM(2300), 입출력 장치(2400) 및 메모리 시스템(2100)과 통신을 수행할 수 있다. 실시 예에 따라, 프로세서(2200)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
RAM(2300)은 컴퓨팅 시스템(2000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, RAM(2300)은 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다.
입출력 장치(2400)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(2500)는 컴퓨팅 시스템(2000)의 동작에 필요한 동작 전압을 공급할 수 있다.
도 29는 본 발명의 실시 예들에 따른 메모리 시스템을 SSD 시스템(3000)에 적용한 예를 나타내는 블록도이다.
도 29를 참조하면, SSD 시스템(3000)은 호스트(3100) 및 SSD(3200)를 포함할 수 있다. SSD(3200)는 신호 커넥터(signal connector)를 통해 호스트(3100)와 신호를 주고 받으며, 전원 커넥터(power connector)를 통해 전원을 입력 받는다. SSD(3200)는 메모리 컨트롤러(3210), 보조 전원 장치(3220) 및 복수의 메모리 장치들(3230, 3240, 3250)을 포함할 수 있다. 메모리 컨트롤러(3210) 및 복수의 메모리 장치들(3230, 3240, 3250)은 도 1 내지 도 4에 도시된 메모리 컨트롤러(20A ~ 20D) 및 메모리 장치(10A ~ 10D)가 적용될 수 있다.
본 발명은 방법, 장치, 시스템 등으로서 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필연적으로 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되어 질 수 있다. 프로세서 판독 가능 매체는 정보를 저장할 수 있는 어떠한 매체도 포함한다. 프로세서 판독 가능 매체의 예로는 전자 회로, 반도체 메모리 소자, ROM, 플래시 메모리, 이레이져블 ROM(EROM; Erasable ROM), 플로피 디스크, 광 디스크, 하드디스크 등이 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
100A, 100B, 100C, 100D: 메모리 시스템
10A, 10B, 10C, 10D: 메모리 장치
20A, 20B, 20C, 20D: 메모리 컨트롤러
11: 메모리 셀 어레이
12-1A, 21: 포스트 프로그램 관리부
12-1C, 22: 프리 프로그램 관리부
12, 12A, 12C: 제어 로직 13: 전압 생성부
14: 로우 디코더 15: 페이지 버퍼
16A, 16C: ROM
210A, 210B, 210D: 프로세서
220A, 220B, 220D: RAM
220-1: 포스트 프로그램 관리용 프로그램 코드(PC1)
220-2: 프리 프로그램 관리용 프로그램 코드(PC2)
230: 호스트 인터페이스 240: 메모리 인터페이스
250: 버스

Claims (10)

  1. 소거 커맨드에 따라서 메모리 장치에서의 소거 동작을 수행하는 단계;
    더미 패턴의 데이터를 랜덤하게 결정하는 단계; 및
    상기 소거 동작을 수행하고 나서 상기 소거 동작이 수행된 메모리 블록에 포함된 셀 스트링들의 메인 메모리 셀들로부터 인접한 더미 메모리 셀들에 상기 더미 패턴의 데이터를 기입하는 포스트 프로그램(post-program) 동작을 수행하는 단계를 포함함을 특징으로 하는 메모리 장치의 에지 워드라인 관리 방법.
  2. 제1항에 있어서, 상기 더미 메모리 셀은 상기 셀 스트링의 접지 선택 트랜지스터와 메인 메모리 셀 사이에 배치되는 것을 특징하는 메모리 장치의 에지 워드라인 관리 방법.
  3. 제1항에 있어서, 상기 메모리 블록에 포함된 셀 스트링의 메인 메모리 셀과 접지 선택 트랜지스터 사이에 복수 개의 더미 메모리 셀들이 배치된 경우에, 상기 메인 메모리 셀부터 가장 가깝게 인접된 더미 메모리 셀에 상기 더미 패턴의 데이터를 기입하는 것을 특징으로 하는 메모리 장치의 에지 워드라인 관리 방법.
  4. 제1항에 있어서, 상기 더미 패턴의 데이터는 상기 소거 동작 전에 초기 설정된 워드라인에서 읽어내어 백업한 데이터로 결정되는 것을 특징으로 하는 메모리 장치의 에지 워드라인 관리 방법.
  5. 제1항에 있어서, 상기 더미 패턴의 데이터는 상기 소거 동작의 검증 처리 과정에서 생성되는 정보를 이용하여 2개 이상의 후보 데이터 패턴들 중에서 선택되는 하나의 데이터 패턴으로 결정되는 것을 특징으로 하는 메모리 장치의 에지 워드라인 관리 방법.
  6. 제1항에 있어서, 상기 더미 패턴의 데이터는 적어도 2개 이상의 후보 데이터 패턴들을 설정하고, 상기 메모리 장치에서 이용되는 하나 이상의 클럭의 특정 시점에서의 검출된 위상에 기초하여 상기 후보 데이터 패턴들 중에서 선택되는 하나의 데이터 패턴으로 결정되는 것을 특징으로 하는 메모리 장치의 에지 워드라인 관리 방법.
  7. 제1항에 있어서, 포스트 프로그램 모드 설정 상태를 확인하는 단계를 더 포함하고, 상기 포스트 프로그램 모드 설정 상태가 인에이블 되어 있는 경우에는 상기 포스트 프로그램 동작을 수행하고, 상기 포스트 프로그램 모드 설정 상태가 디스에이블 되어 있는 경우에는 상기 포스트 프로그램 동작을 수행하지 않는 것을 특징으로 하는 메모리 장치의 에지 워드라인 관리 방법.
  8. 메모리 장치의 프리 메모리 블록(free memory block)에서의 첫 번째 프로그램 동작을 수행하기 위한 프로그램 커맨드가 수신되는 경우에 더미 패턴의 데이터를 랜덤하게 결정하는 단계;
    상기 프리 메모리 블록에 포함된 셀 스트링들의 메인 메모리 셀들로부터 인접한 더미 메모리 셀에 상기 더미 패턴의 데이터를 기입하는 프리 프로그램(pre-program) 동작을 수행하는 단계; 및
    상기 프리 프로그램 동작을 수행하고 나서 상기 메인 메모리 셀들에서 상기 프로그램 커맨드에 따른 프로그램 동작을 수행하는 단계를 포함함을 특징으로 하는 메모리 장치의 에지 워드라인 관리 방법.
  9. 제8항에 있어서, 상기 더미 패턴의 데이터는 상기 메모리 장치에서 이용되는 하나 이상의 클럭의 특정 시점에서의 검출된 위상에 기초하여 적어도 2개 이상의 후보 데이터 패턴들 중에서 선택되는 하나의 데이터 패턴으로 결정되는 것을 특징으로 하는 메모리 장치의 에지 워드라인 관리 방법.
  10. 제8항에 있어서, 프리 프로그램 모드 설정 상태를 확인하는 단계를 더 포함하고, 상기 프리 프로그램 모드 설정 상태가 인에이블 되어 있는 경우에는 상기 프리 프로그램 동작을 수행하고, 상기 프리 프로그램 모드 설정 상태가 디스에이블 되어 있는 경우에는 상기 프리 프로그램 동작을 수행하지 않는 것을 특징으로 하는 메모리 장치의 에지 워드라인 관리 방법.
KR1020150147542A 2015-10-22 2015-10-22 메모리 장치 및 메모리 장치의 에지 워드라인 관리 방법 KR102329800B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150147542A KR102329800B1 (ko) 2015-10-22 2015-10-22 메모리 장치 및 메모리 장치의 에지 워드라인 관리 방법
US15/296,197 US20170117056A1 (en) 2015-10-22 2016-10-18 Memory device and an edge word line management method thereof
CN201710560786.6A CN107958680A (zh) 2015-10-22 2017-07-11 存储器装置的边缘字线管理方法及操作存储器装置的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150147542A KR102329800B1 (ko) 2015-10-22 2015-10-22 메모리 장치 및 메모리 장치의 에지 워드라인 관리 방법

Publications (2)

Publication Number Publication Date
KR20170047098A KR20170047098A (ko) 2017-05-04
KR102329800B1 true KR102329800B1 (ko) 2021-11-22

Family

ID=58558908

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150147542A KR102329800B1 (ko) 2015-10-22 2015-10-22 메모리 장치 및 메모리 장치의 에지 워드라인 관리 방법

Country Status (3)

Country Link
US (1) US20170117056A1 (ko)
KR (1) KR102329800B1 (ko)
CN (1) CN107958680A (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190371405A1 (en) * 2018-05-30 2019-12-05 Circuit Blvd., Inc. Method of filling up data on open-channel solid state drive (ssd) and an apparatus performing the same
KR102461751B1 (ko) * 2018-07-31 2022-11-02 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
KR102554418B1 (ko) * 2018-10-01 2023-07-11 삼성전자주식회사 메모리 컨트롤러 및 이를 포함하는 스토리지 장치
CN109887534B (zh) * 2018-12-29 2021-01-01 上海百功半导体有限公司 闪存器件及其边界字线配置方法/系统、存储介质/控制器
US11055174B2 (en) * 2018-12-31 2021-07-06 SK Hynix Inc. Soft chipkill recovery for bitline failures
KR20200104668A (ko) * 2019-02-27 2020-09-04 삼성전자주식회사 수직형 메모리 장치 및 이의 동작 방법
CN109949835B (zh) * 2019-03-25 2021-11-16 长江存储科技有限责任公司 3d存储器件及其数据操作方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090185421A1 (en) 2008-01-21 2009-07-23 Sung-Won Yun Charge-Trap Flash Memory Device with Reduced Erasure Stress and Related Programming and Erasing Methods Thereof
US20100097862A1 (en) 2008-10-20 2010-04-22 Samsung Electronics Co., Ltd. Flash memory devices with memory cells strings including dummy transistors with selective threshold voltages

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100754894B1 (ko) * 2005-04-20 2007-09-04 삼성전자주식회사 더미 메모리 셀을 가지는 낸드 플래시 메모리 장치
KR100919156B1 (ko) * 2006-08-24 2009-09-28 삼성전자주식회사 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 방법
US20090135656A1 (en) * 2006-12-14 2009-05-28 Samsung Electronics Co., Ltd. Non-volatile semiconductor memory device with dummy cells and method of programming the same
KR100896190B1 (ko) * 2007-06-11 2009-05-12 삼성전자주식회사 불휘발성 메모리 장치의 소거 방법
KR100960466B1 (ko) * 2007-12-27 2010-05-28 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
KR101360136B1 (ko) * 2008-04-18 2014-02-10 삼성전자주식회사 플래시 메모리 장치 및 그것의 동작 방법, 그리고 그것을포함하는 메모리 시스템
US7983078B2 (en) * 2008-09-24 2011-07-19 Sandisk Technologies Inc. Data retention of last word line of non-volatile memory arrays
US8169822B2 (en) * 2009-11-11 2012-05-01 Sandisk Technologies Inc. Data state-dependent channel boosting to reduce channel-to-floating gate coupling in memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090185421A1 (en) 2008-01-21 2009-07-23 Sung-Won Yun Charge-Trap Flash Memory Device with Reduced Erasure Stress and Related Programming and Erasing Methods Thereof
US20100097862A1 (en) 2008-10-20 2010-04-22 Samsung Electronics Co., Ltd. Flash memory devices with memory cells strings including dummy transistors with selective threshold voltages

Also Published As

Publication number Publication date
KR20170047098A (ko) 2017-05-04
CN107958680A (zh) 2018-04-24
US20170117056A1 (en) 2017-04-27

Similar Documents

Publication Publication Date Title
KR102444238B1 (ko) 메모리 장치의 프로그램 방법 및 이를 적용하는 메모리 시스템
KR102329800B1 (ko) 메모리 장치 및 메모리 장치의 에지 워드라인 관리 방법
KR102414186B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
US9858993B2 (en) Non-volatile memory device and method of programming the same
KR101891164B1 (ko) 프로그램 스케줄러를 포함하는 플래시 메모리 장치
KR102530071B1 (ko) 페이지 버퍼를 포함하는 불휘발성 메모리 장치 및 그 동작방법
US9978458B2 (en) Memory device, memory system, and read/verify operation method of the memory device
US8767468B2 (en) Nonvolatile memory device capable of reducing read disturbance and read method thereof
KR102284658B1 (ko) 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 상기 비휘발성 메모리 장치의 동작 방법
KR20170099647A (ko) 메모리 장치 및 메모리 시스템
US8902666B2 (en) Programming method for nonvolatile memory device
KR20170085774A (ko) 프로그램 전압을 보정하는 플래시 메모리 장치, 3차원 메모리 장치, 메모리 시스템 및 그의 프로그램 방법
KR20150131449A (ko) 불휘발성 메모리 장치 및 그것을 포함하는 스토리지 장치의 동작 방법
US20150078098A1 (en) Nonvolatile memory device and program method thereof
KR20140025164A (ko) 불휘발성 메모리 장치 및 그것의 데이터 처리 방법
US9672931B2 (en) Non-volatile memory device, memory system, and methods of operating the device and system
US11854623B2 (en) Memory controller, memory device and memory system having improved threshold voltage distribution characteristics and related operating methods
US9589640B2 (en) Data storage device including nonvolatile memory device and operating method thereof
US10268575B2 (en) Nonvolatile memory device and memory system including the same
US20150178000A1 (en) Method of managing a memory, and a memory system
KR102336458B1 (ko) 고속으로 결함 비트 라인을 검출하는 불휘발성 메모리 장치 및 그것의 테스트 시스템
KR20210034274A (ko) 비휘발성 메모리 장치의 구동 방법 및 이를 수행하는 비휘발성 메모리 장치
US9607700B2 (en) Non-volatile memory device, memory system, and methods of operating the device and system
KR20150061098A (ko) 메모리 시스템 및 상기 메모리 시스템의 프로그래밍 방법
KR102601211B1 (ko) 빠른 재사용 메모리 블록 검출 방법 및 이를 이용한 메모리 블록 관리 방법

Legal Events

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