KR20160024530A - 반도체 장치 및 이의 동작 방법 - Google Patents

반도체 장치 및 이의 동작 방법 Download PDF

Info

Publication number
KR20160024530A
KR20160024530A KR1020140111415A KR20140111415A KR20160024530A KR 20160024530 A KR20160024530 A KR 20160024530A KR 1020140111415 A KR1020140111415 A KR 1020140111415A KR 20140111415 A KR20140111415 A KR 20140111415A KR 20160024530 A KR20160024530 A KR 20160024530A
Authority
KR
South Korea
Prior art keywords
memory block
erased
memory
block
program operation
Prior art date
Application number
KR1020140111415A
Other languages
English (en)
Inventor
이희열
Original Assignee
에스케이하이닉스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020140111415A priority Critical patent/KR20160024530A/ko
Priority to US14/592,631 priority patent/US9691494B2/en
Publication of KR20160024530A publication Critical patent/KR20160024530A/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/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/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups

Abstract

본 기술은 메모리 블록들을 소거하는 단계; 상기 메모리 블록들 중, 선택된 메모리 블록이 마지막으로 소거된 메모리 블록인지 판단하는 단계; 및 상기 선택된 메모리 블록이 마지막으로 소거된 메모리 블록이 아니면 상기 선택된 메모리 블록의 프로그램 동작을 수행하고, 상기 선택된 메모리 블록이 마지막으로 소거된 메모리 블록이면 소거된 다른 메모리 블록을 선택하여 상기 프로그램 동작을 수행하는 단계를 포함하는 반도체 장치 및 이의 동작 방법을 포함한다.

Description

반도체 장치 및 이의 동작 방법{Semiconductor device and operating method thereof}
본 발명은 반도체 장치 및 이의 동작 방법에 관한 것으로, 보다 구체적으로는 반도체 장치의 프로그램 동작에 관한 것이다.
반도체 장치는 데이터가 저장되는 메모리 셀 어레이를 포함한다.
메모리 셀 어레이는 다수의 메모리 블록들을 포함하며, 각각의 메모리 블록은 다수의 메모리 셀들이 포함된 다수의 셀 스트링들로 이루어진다.
반도체 장치가 고집적화됨에 따라, 최근에는 반도체 기판으로부터 수직으로 배열된 셀 스트링들을 포함하는 3차원 반도체 장치가 개발되고 있다. 3차원 반도체 장치의 메모리 셀들은 게이트에 프로그램 전압이 인가되면 전하 트랩막(charge trap layer)에 음전하가 트랩되는 방식으로 프로그램된다.
하지만, 전하 트랩막이 이웃한 메모리 셀들을 따라 연장되어 있기 때문에, 전하 트랩막에 트랩된 음전하가 전하 트랩막을 따라 인접한 메모리 셀 방향으로 확산되기 쉬우며, 이로 인해 반도체 장치의 리텐션(retention) 특성이 열화될 수 있다.
본 발명의 실시예는 반도체 장치의 리텐션 특성을 개선할 수 있는 반도체 장치 및 이의 동작 방법을 제공한다.
본 발명의 실시예에 따른 반도체 장치의 동작 방법은, 메모리 블록들을 소거하는 단계; 상기 메모리 블록들 중, 선택된 메모리 블록이 마지막으로 소거된 메모리 블록인지 판단하는 단계; 및 상기 선택된 메모리 블록이 마지막으로 소거된 메모리 블록이 아니면 상기 선택된 메모리 블록의 프로그램 동작을 수행하고, 상기 선택된 메모리 블록이 마지막으로 소거된 메모리 블록이면 소거된 다른 메모리 블록을 선택하여 상기 프로그램 동작을 수행하는 단계를 포함한다.
본 발명의 실시예에 따른 반도체 장치는, 다수의 메모리 블록들을 포함하며, 상기 메모리 블록들 중 적어도 하나의 메모리 블록이 히든 메모리 블록으로 지정된 메모리 셀 어레이; 상기 메모리 블록들의 소거 동작 및 프로그램 동작을 수행하도록 구성된 주변회로; 및 상기 소거 동작시 상기 메모리 블록들 중 선택된 메모리 블록들을 소거하고, 상기 프로그램 동작시 선택된 메모리 블록이 마지막으로 소거된 메모리 블록인지 판단한 후, 상기 판단 결과에 따라 상기 프로그램 동작을 상기 선택된 메모리 블록에 수행하거나 소거된 다른 메모리 블록에 수행하도록 상기 주변회로를 제어하는 제어회로를 포함한다.
본 기술은 소거 동작과 프로그램 동작 간 시간차를 줌으로써, 프로그램된 메모리 셀들의 리텐션 특성을 개선할 수 있고, 이로 인해 반도체 장치의 신뢰도를 향상시킬 수 있다.
도 1은 본 발명에 따른 반도체 장치의 블록도이다.
도 2는 본 발명에 따른 메모리 셀 어레이를 구체적으로 설명하기 위한 블록도이다.
도 3은 3차원 반도체 장치의 메모리 블록을 설명하기 위한 회로도이다.
도 4는 2차원 반도체 장치의 메모리 블록을 설명하기 위한 회로도이다.
도 5는 전하 트랩 구조를 갖는 메모리 셀들을 설명하기 위한 단면도이다.
도 6은 본 발명에 따른 소거 동작을 설명하기 위한 순서도이다.
도 7은 본 발명에 따른 프로그램 동작을 설명하기 위한 순서도이다.
도 8은 히든 메모리 블록의 프로그램 동작이 종료된 이후에 수행되는 후속 동작을 설명하기 위한 순서도이다.
도 9a 내지 도 9c는 마킹 데이터를 설명하기 위한 도면이다.
도 10은 본 발명의 실시예에 따른 반도체 장치를 포함하는 솔리드 스테이트 드라이브를 설명하기 위한 블록도이다.
도 11은 본 발명의 실시예에 따른 반도체 장치를 포함하는 메모리 시스템을 설명하기 위한 블록도이다.
도 12는 본 발명의 실시 예에 따른 반도체 장치를 포함하는 컴퓨팅 시스템의 개략적인 구성을 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 1은 본 발명에 따른 반도체 장치의 블록도이다.
도 1을 참조하면, 반도체 장치(1000)는 데이터가 저장되는 메모리 셀 어레이(110)와, 메모리 셀 어레이(110)의 프로그램, 리드 및 소거 동작을 수행하는 주변회로(120)과, 주변회로(120)을 제어하는 제어회로(130)를 포함한다.
메모리 셀 어레이(110)는 다수의 메모리 블록들을 포함하는데, 각각의 메모리 블록들은 서로 동일하게 구성된다. 메모리 블록은 다수의 셀 스트링들(미도시)을 포함하며, 셀 스트링들은 2차원 또는 3차원 구조로 이루어질 수 있다. 예를 들면, 2차원 구조를 갖는 셀 스트링들은 반도체 기판상에 수평으로 배열되며, 3차원 구조를 갖는 셀 스트링들은 반도체 기판상에 수직으로 배열될 수 있다.
주변회로(120)은 전압 생성 회로(21), 로우 디코더(22), 페이지 버퍼(23), 컬럼 디코더(24) 및 입출력 회로(25)를 포함한다.
전압 생성 회로(21)는, 동작명령신호(OP_CMD)에 응답하여 다양한 레벨의 동작전압들을 생성한다. 동작명령신호(OP_CMD)는 프로그램 명령신호, 리드 명령신호 및 소거 명령신호를 포함할 수 있다. 예를 들어, 전압 생성 회로(21)는 프로그램 전압(Vpgm), 리드 전압(Vread) 및 패스전압(Vpass)을 생성하며, 이 외에도 다양한 레벨을 갖는 전압들을 생성한다.
로우 디코더(22)는 로우 어드레스(RADD)에 응답하여 메모리 셀 어레이(110)에 포함된 메모리 블록들 중 하나를 선택하고, 선택된 메모리 블록에 연결된 워드라인들(WL), 드레인 셀렉트 라인들(DSL) 및 소오스 셀렉트 라인들(SSL)에 동작전압들을 전달한다.
페이지 버퍼(23)는 비트라인들(BL)을 통해 메모리 블록들과 연결되며, 프로그램, 리드 및 소거 동작시 선택된 메모리 블록과 데이터를 주고 받으며, 전달받은 데이터를 임시로 저장한다.
컬럼 디코더(24)는 컬럼 어드레스(CADD)에 응답하여 페이지 버퍼(23)와 데이터를 주고받는다.
입출력 회로(25)는 외부로부터 전달받은 명령신호(CMD) 및 어드레스(ADD)를 제어회로(130)에 전달하고, 외부로부터 전달받은 데이터(DATA)를 컬럼 디코더(24)에 전송하고, 컬럼 디코더(24)로부터 전달받은 데이터(DATA)를 외부로 출력하거나 제어회로(130)에 전달한다.
제어회로(130)는 명령신호(CMD) 및 어드레스(ADD)에 응답하여 프로그램 동작, 리드 동작 또는 소거 동작을 수행하도록 주변회로(120)를 제어한다. 특히, 제어회로(130)는 프로그램 동작시, 소거 동작이 수행된 메모리 블록에 바로 프로그램 동작을 수행하지 않고, 지연 시간(delay time)을 가진 후에 소거된 메모리 블록에 프로그램 동작을 수행하도록 주변회로(120)를 제어한다. 구체적인 프로그램 동작은 후술하도록 한다.
도 2는 본 발명에 따른 메모리 셀 어레이를 구체적으로 설명하기 위한 블록도이다.
도 2를 참조하면, 메모리 셀 어레이(도 1의 110)는 메인 영역(main region; MR)과 엑스트라 영역(extra region; ER)으로 구분되며, 메인 영역(MR)과 엑스트라 영역(ER)에는 다수의 메모리 블록들이 포함된다. 메인 영역(MR) 또는 엑스트라 영역(ER)에 포함된 메모리 블록들 중 적어도 하나의 메모리 블록이 히든 메모리 블록(hidden memory block)으로 설정될 수 있다.
히든 메모리 블록은, 프로그램 동작시 선택된 메모리 블록이 마지막으로 소거된 메모리 블록인 경우, 임시로 프로그램 동작을 수행하기 위한 메모리 블록으로써, 엑스트라 영역(ER)에 포함된 메모리 블록들 중 어느 하나로 설정되거나(210), 메인 영역(MR)에 포함된 메모리 블록들 중 어느 하나로 설정될 수 있다(220). 따라서, 메모리 블록들을 소거할 때, 히든 메모리 블록을 포함한 적어도 두 개의 메모리 블록들이 소거된다.
메인 영역(MR)과 엑스트라 영역(ER)에 포함된 메모리 블록들은 서로 동일하게 구성될 수 있으며, 3차원 또는 2차원 구조로 구현될 수 있다. 3차원 구조의 메모리 블록과 2차원 구조의 메모리 블록을 각각 설명하면 다음과 같다.
도 3은 3차원 구조의 메모리 블록을 설명하기 위한 회로도이다.
도 3을 참조하면, 3차원 구조의 메모리 블록들 중 어느 하나가 실시 예로써 도시되어 있다. 3차원 구조의 메모리 블록은 메인 블록(main block; MBLK)과 플래그 블록(flag block; FBLK)을 포함한다. 메인 블록(MBLK)과 플래그 블록(FBLK)은 저장되는 데이터의 종류에 차이가 있으며, 구조적으로는 서로 동일하다. 예를 들면, 메인 블록(MBLK)의 노말 메모리 셀들에는 사용자가 사용하는 노말 데이터(normal data)가 저장되고, 플래그 블록(FBLK)의 플래그 셀들에는 반도체 장치 내부에서 사용되는 플래그 데이터(flag data)가 저장된다. 플래그 데이터는 LSB 또는 MSB 프로그램 수행 정보를 포함하는 데이터와 마킹 데이터(marking data)를 포함할 수 있다. 마킹 데이터는 선택된 메모리 블록이 마지막으로 소거된 블록인지를 나타내는 정보와, 선택된 메모리 블록의 프로그램 가능 여부를 나타내는 정보와, 선택된 메모리 블록의 프로그램이 완료되었는지를 나타내는 정보를 포함한다.
3차원 구조의 메모리 블록에서, 셀 스트링들(ST)은 비트라인들(BL0~BLj)과 소오스 라인(SL) 사이에 연결되며, 반도체 기판으로부터 수직하게 배열된다. 도 3에서는 셀 스트링들(ST)이 'I' 자 형태로 구현되어 있으나, 반도체 장치에 따라 'U' 자 형태로 구현될 수도 있다.
셀 스트링들(ST)은 소오스 셀렉트 트랜지스터들(SST), 다수의 메모리 셀들(F0~Fn) 및 드레인 셀렉트 트래지스터들(DST)을 포함한다. 소오스 셀렉트 트랜지스터들(SST)은 소오스 라인(SL)과 메모리 셀들(F0) 사이에 연결되고, 드레인 셀렉트 트랜지스터들(DST)은 비트라인들(BL0~BLj)과 메모리 셀들(Fn) 사이에 연결된다. 소오스 셀렉트 트랜지스터들(SST)의 게이트들은 소오스 셀렉트 라인(SSL)에 연결되고, 메모리 셀들(F0~Fn)의 게이트들은 워드라인들(WL0~WLn)에 연결되고, 드레인 셀렉트 트랜지스터들(DST)의 게이트들은 드레인 셀렉트 라인들(DSL)에 연결된다.
도 4는 2차원 구조의 메모리 블록을 설명하기 위한 회로도이다.
도 4를 참조하면, 2차원 구조의 메모리 블록들 중 어느 하나가 실시 예로써 도시되어 있다. 2차원 구조의 메모리 블록은 메인 블록(main block; MBLK)과 플래그 블록(flag block; FBLK)을 포함한다. 메인 블록(MBLK)과 플래그 블록(FBLK)은 도 3에서 상술하였으므로 구체적인 설명은 생략하도록 한다.
2차원 구조의 메모리 블록에서, 셀 스트링들(ST)은 비트라인들(BL0~BLj)과 소오스 라인(SL) 사이에 연결되며, 반도체 기판상에서 수평으로 배열된다.
셀 스트링들(ST)은 소오스 셀렉트 트랜지스터들(SST), 다수의 메모리 셀들(F0~Fn) 및 드레인 셀렉트 트래지스터들(DST)을 포함한다. 소오스 셀렉트 트랜지스터들(SST)은 소오스 라인(SL)과 메모리 셀들(F0) 사이에 연결되고, 드레인 셀렉트 트랜지스터들(DST)은 비트라인들(BL0~BLj)과 메모리 셀들(Fn) 사이에 연결된다. 소오스 셀렉트 트랜지스터들(SST)의 게이트들은 소오스 셀렉트 라인(SSL)에 연결되고, 메모리 셀들(F0~Fn)의 게이트들은 워드라인들(WL0~WLn)에 연결되고, 드레인 셀렉트 트랜지스터들(DST)의 게이트들은 드레인 셀렉트 라인들(DSL)에 연결된다. 동일한 워드라인에 연결된 메모리 셀들의 그룹을 페이지(page; PG)라 한다.
상술한 도 3과 도 4에 포함된 메모리 셀들은 전하 트랩(charge trap) 구조로 이루어진다. 전하 트랩 구조를 갖는 메모리 셀들의 구체적인 구조는 다음과 같다.
도 5는 전하 트랩 구조를 갖는 메모리 셀들을 설명하기 위한 단면도이다.
도 5를 참조하면, 전하 트랩 구조를 갖는 메모리 셀들은 채널막(51), 게이트 절연막(52), 전하 트랩막(53), 블로킹막(54) 및 게이트막(55)을 포함한다. 전하 트랩막(53)은 게이트 절연막(52)과 블로킹막(54) 사이에 형성되고, 게이트 절연막(52)은 채널막(51)과 전하 트랩막(53) 사이에 형성되며, 블로킹막(54)은 전하 트랩막(53)과 게이트막(55) 사이에 형성된다. 채널막(51)은 폴리실리콘막으로 형성될 수 있고, 게이트 절연막(52) 및 블로킹막(54)은 산화막으로 형성될 수 있고, 전하 트랩막(53)은 질화막으로 형성될 수 있고, 게이트막(55)은 도전막으로 형성될 수 있다.
상술한 반도체 장치의 메모리 셀들은 전하 트랩 구조를 이루고 있기 때문에, 선택된 메모리 셀의 프로그램 동작을 수행하면, 선택된 메모리 셀의 전하 트랩막(53)에 음전하가 트랩된다. 하지만, 전하 트랩막(53)이 셀 스트링을 따라 연장되어 있기 때문에, 전하 트랩막(53)에 트랩된 음전하가 선택된 메모리 셀에 인접한 메모리 셀들의 방향으로 확산될 수 있다. 이러한 음전하의 확산을 억제하기 위하여, 다음과 같이 소거 동작 및 프로그램 동작을 수행한다.
도 6은 본 발명에 따른 소거 동작을 설명하기 위한 순서도이고, 도 9a 내지 도 9c는 마킹 데이터를 설명하기 위한 도면이다.
도 6, 도 9a 및 도 9b를 참조하면, 선택된 메모리 블록의 프로그램 동작을 수행하기 이전에, 프로그램할 메모리 블록을 확보하기 위하여 하나 또는 둘 이상의 메모리 블록들의 소거 동작이 수행되는데, 이때 수행되는 소거 동작은 다음과 같이 수행될 수 있다.
제어회로(도 1의 130)에 소거 명령신호가 인가되면(단계 61), 선택된 메모리 블록의 소거 동작이 수행된다(단계 62). 소거 동작은 선택된 메모리 블록에 포함된 모든 셀들에 대하여 수행된다. 예를 들면, 선택된 메모리 블록의 메인 블록에 포함된 모든 노말 메모리 셀들과 플래그 블록에 포함된 모든 메모리 셀들이 소거된다. 소거 동작이 완료되면, 메모리 셀들의 전하 트랩막(도 5의 53)에는 양전하들(+)이 트랩된다. 예를 들면, 전하 저장막(53)에 트랩된 양전하들(+)은 게이트막(도 5의 55)에 인접한 영역에 주로 분포된다. 메모리 셀들에 저장되는 데이터를 '1' 또는 '0'으로 표현하는 경우, '1'은 소거 상태를 의미하며 '0'은 프로그램된 상태를 나타낸다. 도 9a를 참조하면, 소거 동작이 완료되면, 선택된 메모리 블록의 플래그 셀들(Ca 및 Cr)의 마킹 데이터는 '1'이 된다. 마킹 데이터가 저장되는 플래그 셀들(Ca 및 Cr)은 동일한 페이지 내에 포함된 플래그 셀들 중 적어도 두 개의 플래그 셀들(Ca 및 Cr)을 포함한다. 설명의 편의를 위하여, 'Ca'를 제1 플래그 셀이라 부르고, 'Cr'을 제2 플래그 셀이라 부르도록 한다. 제1 및 제2 플래그 셀들(Ca 및 Cr)은 다수의 워드라인들(WL0 내지 WL2) 중 어느 하나의 워드라인(WL0)에 연결된 플래그 셀들로 지정될 수 있으며, 제1 컬럼(MA)에 포함된 셀을 제1 플래그 셀(Ca)로 정의하고, 제2 컬럼(MAr)에 포함된 셀을 제2 플래스 셀(Cr)로 정의한다. 반도체 장치에 따라 다수의 워드라인들에 연결된 플래그 셀들을 지정할 수도 있으나, 도 9a 에서는 설명의 편의를 위하여 두 개의 플래그 셀들(Ca 및 Cr)을 예를 들어 설명하도록 한다. 제1 플래그 셀(Ca)에 저장되는 마킹 데이터는 마지막으로 소거 동작이 완료된 메모리 블록에 관한 정보가 포함되고, 제2 플래그 셀(Cr)에 저장되는 마킹 데이터는 프로그램 동작이 가능한지 여부에 관한 정보가 포함될 수 있다.
선택된 메모리 블록에 포함된 모든 메모리 셀들이 소거되면(도 6의 단계 61), 선택된 메모리 블록이 소거 대상 메모리 블록들 중 마지막 메모리 블록인지를 판단한다(단계 63).
선택된 메모리 블록이 마지막 메모리 블록이 아니면(단계 63에서 '아니오'), 다음 소거 대상 메모리 블록을 선택하고(단계 64), 선택된 메모리 블록의 소거 동작을 수행한다(단계 62). 이러한 방식으로 소거 대상 메모리 블록들 중 마지막 메모리 블록의 소거 동작이 완료될 때까지 단계 62 내지 단계 64를 반복한다. 소거 대상 메모리 블록이 다수인 경우, 마지막 메모리 블록의 소거 동작이 수행되기까지 시간이 걸리므로, 이전에 소거 동작이 완료된 메모리 블록들에 트랩된 양전하들(+)이 주변으로 확산될 수 있다. 이상적으로는, 메모리 셀 부근의 전하 트랩막(53)에 트랩된 양전하들(+)은 전하 트랩막(53)에 트랩된 후에도 확산되지 않고 그대로 유지되어야 하지만, 실질적으로는, 소거 동작이 완료된 후 시간이 지날수록 전하 트랩막(53)에 트랩된 양전하들(+)은 인접한 메모리 셀들에 연장된 전하 트랩막(53) 내에서 확산된다. 즉, 게이트막(50)이 형성된 영역의 전하 트랩막(53)에 트랩된 양전하들(+)은 시간이 지날수록 전하 트랩막(53) 내에서 양전하들(+)이 없는 영역으로 확산된다.
소거된 메모리 블록이 마지막 메모리 블록이면(단계 63에서 '예'), 선택된 메모리 블록에 마킹 데이터를 저장하기 위한 마킹(marking) 동작을 수행한다(단계 65). 특히, 단계 63에서, 소거 대상 메모리 블록이 하나인 경우, 선택된 메모리 블록은 마지막 메모리 블록으로 판단된다. 도 9b를 참조하면, 선택된 메모리 블록이 마지막으로 소거된 메모리 블록임을 표시하기 위하여, 선택된 메모리 블록의 제1 플래그 셀(Ca)을 프로그램한다. 제1 플래그 셀(Ca)이 프로그램되면, 제1 플래그 셀(Ca)에 저장된 마킹 데이터는 '0'이 된다. 이로 인해, 제1 플래그 셀(Ca)에는 '0' 마킹 데이터가 저장되고, 제2 플래그 셀(Cr)에는 '1' 마킹 데이터가 유지된다. 상술한 바와 같이, 마킹 데이터는 선택된 메모리 블록의 플래그 셀들에 저장될 수 있으나, 플래그 셀들 이외에도 스페어 셀들(spare cells)이나 CAM 셀들(CAM cells)에 저장될 수 있으며, ROM, 제어회로 또는 기타 저장부에도 저장될 수 있다. 플래그 셀들 이외의 다른 저장부에 마킹 데이터를 저장할 경우에는, 마킹 데이터가 선택된 메모리 블록에 대응되도록 맵핑(mapping) 동작을 추가로 수행한다.
마지막으로 소거된 메모리 블록의 마킹 동작(도 6의 단계 65)이 완료되면, 다음과 같이 프로그램 동작이 수행된다.
도 7은 본 발명에 따른 프로그램 동작을 설명하기 위한 순서도이고, 도 9a 내지 도 9c는 마킹 데이터를 설명하기 위한 도면이다.
도 7, 도 9b 및 도 9c를 참조하면, 제어회로(도 1의 130)에 프로그램 명령신호가 인가되면(단계 71), 입력된 어드레스에 의해 하나의 메모리 블록이 선택된다(단계 72).
이어서, 선택된 메모리 블록이 마지막으로 소거된 메모리 블록인지를 판단한다(단계 73). 구체적으로 설명하면, 선택된 메모리 블록의 플래그 블록에 포함된 플래그 셀들을 리드하고, 리드된 데이터에 따라 선택된 메모리 블록이 마지막으로 소거된 메모리 블록인지를 판단한다. 이러한 판단 동작은, 선택된 메모리 블록의 제1 플래그 셀(도 10b의 Ca)을 리드(read)하고, 리드된 마킹 데이터에 기초하여 수행된다. 예를 들면, 제1 플래그 셀(Ca)에 저장된 마킹 데이터가 '0'이면, 선택된 메모리 블록은 마지막으로 소거된 메모리 블록으로 판단되고(단계 73에서 예), 마킹 데이터가 '1'이면, 선택된 메모리 블록은 마지막으로 소거된 메모리 블록이 아닌 것으로 판단된다(단계 73에서 아니오).
선택된 메모리 블록이 마지막으로 소거된 메모리 블록으로 판단된 경우(단계 73에서 예), 선택된 메모리 블록만 프로그램 가능한 메모리 블록인지 판단한다(단계74). 이러한 판단 동작은, 선택된 메모리 블록의 제1 및 제2 플래그 셀들(도 9b의 Ca 및 Cr)을 리드하고, 리드된 마킹 데이터에 기초하여 수행된다. 예를 들어, 제1 및 제2 플래그 셀들(Ca 및 Cr)에 저장된 마킹 데이터가 서로 다르면 선택된 메모리 블록만 프로그램 가능한 메모리 블록으로 판단되고(단계 74의 예), 마킹 데이터가 서로 동일하면 선택된 메모리 블록 이외에 다른 메모리 블록들도 프로그램 가능한 메모리 블록으로 판단된다(단계 74의 아니오).
선택된 메모리 블록만 프로그램 가능한 경우(단계 74의 예), 선택된 메모리 블록은 마지막으로 소거된 메모리 블록이므로, 선택된 메모리 블록을 바로 프로그램하지 않는다. 선택된 메모리 블록을 바로 프로그램하지 않는 대신, 히든 메모리 블록을 선택하고(단계 76), 선택된 히든 메모리 블록의 프로그램 동작을 수행한다(단계 77). 선택된 메모리 블록을 프로그램하지 않는 대신, 히든 메모리 블록을 선택하여 프로그램하는 이유는 다음과 같다. 선택된 메모리 블록은 마지막으로 소거된 메모리 블록이므로, 소거된 메모리 셀들에 트랩된 양전하들(+)의 분포가 확산되지 않을 수 있다. 따라서, 선택된 메모리 블록에 포함된 소거된 메모리 셀들의 양전하들(+)이 확산되는 시간을 확보하기 위하여, 선택된 메모리 블록 대신 소거 상태인 히든 메모리 블록을 선택하고(단계76), 선택된 히든 메모리 블록의 프로그램 동작을 수행한다(단계 77). 히든 메모리 블록의 프로그램 동작은 마지막으로 소거된 메모리 블록에 수행할 프로그램 동작과 동일한 동작이 수행된다.
선택된 메모리 블록만 프로그램 가능한 경우가 아니면(단계 74의 아니오), 다음 메모리 블록을 선택한다(단계 75). 다시 말하면, 선택된 메모리 블록 외에도 소거된 메모리 블록이 있으면, 소거된 메모리 블록들 중에서 하나의 메모리 블록을 선택한다(단계 75). 단계 75에서 선택된 메모리 블록은 마지막으로 소거된 메모리 블록이 아니므로, 단계 73의 판단 동작에 따라 '아니오'로 판단되고, 선택된 메모리 블록의 프로그램 동작이 수행된다(단계 77).
단계 77에서, 선택된 메모리 블록의 프로그램 동작이 수행되면, 선택된 메모리 블록에 포함된 선택된 메모리 셀들의 전하 트랩막에는 음전하들(-)이 트랩된다. 이때, 음전하들(-)은 확산된 양전하들(+) 사이에 대부분 트랩되기 때문에, 선택된 메모리 셀들의 프로그램 동작이 완료되더라도, 선택된 메모리 셀 영역 내의 전하 트랩막(53)에 트랩된 음전하들(-)은 확산이 억제될 수 있다. 즉, 음전하들(-)이 전하 트랩막(53)에 트랩되기 이전에 양전하들(+)이 이미 확산되어 있었으므로, 양전하들(-)의 확산에 의한 음전하들(-)의 확산을 방지할 수 있다.
상술한 프로그램 방법에서, 소거된 메모리 블록이 하나인 경우, 선택된 메모리 블록에 수행될 프로그램 동작을 히든 메모리 블록에 수행하였다. 히든 메모리 블록은 프로그램 동작이 임시로 수행된 블록이므로, 히든 메모리 블록의 프로그램 동작이 종료된 이후에는 다음과 같은 후속 동작을 수행한다.
도 8은 히든 메모리 블록의 프로그램 동작이 종료된 이후에 수행되는 후속 동작을 설명하기 위한 순서도이다.
도 8을 참조하면, 히든 메모리 블록의 프로그램 동작이 종료된 후에는(도 7의 단계 77 또는 도 8의 단계 81), 마지막으로 소거된 메모리 블록에 카피백(copy back) 동작을 수행한다(단계 82). 즉, 히든 메모리 블록에 저장된 데이터를 마지막으로 소거된 메모리 블록에 그대로 복사한다. 카피백 동작이 완료되면(단계 82), 히든 메모리 블록을 소거한다(단계 83).
히든 메모리 블록을 소거한 후에는, 카피백 동작에 의해 데이터가 저장된 메모리 블록의 제2 플래그 셀(도 10c의 Cr)을 프로그램하여, 제2 플래그 셀(Cr)에 저장되어 있던 '1' 마킹 데이터를 '0' 마킹 데이터로 변환시키는 동작을 추가로 수행할 수 있다. 이는, 선택된 메모리 블록이 후속 프로그램 동작시 대시 선택되어 프로그램 동작이 재수행되는 것을 방지하기 위함이다. 즉, 선택된 메모리 블록의 제1 플래그 셀(Ca)에는 마지막으로 소거된 메모리 블록이라는 '0' 데이터가 저장되어 있으므로, 후속 프로그램 동작시 해당 메모리 블록에 다른 프로그램 동작이 수행되지 않도록 제2 플래그 셀(Cr)에 '0' 데이터를 저장한다. 제2 플래그 셀(Cr)에 '0' 데이터가 저장되면, 해당 메모리 블록의 제1 및 제2 플래그 셀들(Ca 및 Cr)은 모두 '0' 데이터를 저장하게 되므로, 단계 74에서 해당 메모리 블록을 프로그램 가능한 메모리 블록으로 판단하지 않는다.
상술한 바와 같이, 소거된 메모리 셀들의 전하 트랩막에 트랩된 양전하들이 확산된 이후에 프로그램 동작을 수행함으로써, 프로그램된 메모리 셀들의 리텐션 특성을 개선할 수 있다. 이로 인해 반도체 장치의 신뢰도를 향상시킬 수 있다.
도 10은 본 발명의 실시예에 따른 반도체 장치를 포함하는 솔리드 스테이트 드라이브를 설명하기 위한 블록도이다.
도 10을 참조하면, 드라이브 장치(2000)는 호스트(2100; Host)와 SSD(2200)를 포함한다. SSD(2200)는 SSD 제어부(2210; SSD Controller), 버퍼 메모리(2220; Buffer Memory) 및 반도체 장치(1000)를 포함한다.
SSD 제어부(2210)는 호스트(2100)와 SSD(2200)와의 물리적 연결을 제공한다. 즉, SSD 제어부(2210)는 호스트(2100)의 버스 포맷(Bus Format)에 대응하여 SSD(2200)와의 인터페이싱을 제공한다. 특히, SSD 제어부(2210)는 호스트(2100)로부터 제공되는 명령어를 디코딩한다. 디코딩된 결과에 따라, SSD 제어부(2210)는 반도체 장치(1000)를 액세스한다. 호스트(2100)의 버스 포맷(Bus format)으로 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI express, ATA, PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI) 등이 포함될 수 있다.
버퍼 메모리(2220)에는 호스트(2100)로부터 제공되는 프로그램 데이터 또는 반도체 장치(1000)로부터 리드된 데이터가 임시적으로 저장된다. 호스트(2100)의 리드 요청시 반도체 장치(1000)에 존재하는 데이터가 캐시되어 있는 경우, 버퍼 메모리(2220)는 캐시된 데이터를 직접 호스트(2100)로 제공하는 캐시 기능을 지원한다. 일반적으로, 호스트(2100)의 버스 포맷(예를 들면, SATA 또는 SAS)에 의한 데이터 전송 속도는 SSD(2200)의 메모리 채널의 전송 속도보다 빠르다. 즉, 호스트(2100)의 인터페이스 속도가 SSD(2200)의 메모리 채널의 전송 속도보다 빠른 경우, 대용량의 버퍼 메모리(2220)를 제공함으로써 속도 차이로 발생하는 퍼포먼스 저하를 최소화할 수 있다. 버퍼 메모리(2220)는 대용량의 보조 기억 장치로 사용되는 SSD(2200)에서 충분한 버퍼링을 제공하기 위해 동기식 DRAM(Synchronous DRAM)으로 제공될 수 있다.
반도체 장치(1000)는 SSD(2200)의 저장 매체로서 제공된다. 예를 들면, 반도체 장치(1000)는 도 2에서 상술한 바와 같이 대용량의 저장 능력을 가지는 불휘발성 메모리 장치로 제공될 수 있으며, 불휘발성 메모리 중에서도 낸드 플래시 메모리(NAND-type Flash memory)로 제공될 수 있다.
도 11은 본 발명의 실시예에 따른 반도체 장치를 포함하는 메모리 시스템을 설명하기 위한 블록도이다.
도 11을 참조하면, 본 발명에 따른 메모리 시스템(3000)은 메모리 제어부(3100)와 반도체 장치(1000)를 포함할 수 있다.
반도체 장치(1000)는 도 1과 실질적으로 동일하게 구성될 수 있으므로, 반도체 장치(1000)에 대한 구체적인 설명은 생략한다.
메모리 제어부(3100)는 반도체 장치(1000)를 제어하도록 구성될 수 있다. SRAM(3110)은 CPU(3120)의 워킹 메모리로 사용될 수 있다. 호스트 인터페이스(3130; Host I/F)는 메모리 시스템(3000)과 접속되는 호스트의 데이터 교환 프로토콜을 구비할 수 있다. 메모리 제어부(3100)에 구비된 에러 정정 회로(3140; ECC)는 반도체 장치(1000)로부터 리드된 데이터에 포함되어 있는 에러를 검출 및 정정할 수 있다. 반도체 인터페이스(3150; Semiconductor I/F)는 반도체 장치(1000)와 인터페이싱 할 수 있다. CPU(3120)는 메모리 제어부(3100)의 데이터 교환을 위한 제어동작을 수행할 수 있다. 또한, 도 11에는 도시되지 않았지만, 메모리 시스템(3000)은 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(미도시됨) 등이 더 제공될 수 있다.
본 발명에 따른 메모리 시스템(3000)은, 컴퓨터, 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), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 장치들 중 하나에 적용될 수 있다.
도 12는 본 발명의 실시 예에 따른 반도체 장치를 포함하는 컴퓨팅 시스템의 개략적인 구성을 설명하기 위한 도면이다.
도 12를 참조하면, 본 발명에 따른 컴퓨팅 시스템(4000)은 버스(4300)에 전기적으로 연결된 반도체 장치(1000), 메모리 제어부(4100), 모뎀(4200), 마이크로프로세서(4400) 및 사용자 인터페이스(4500)를 포함한다. 본 발명에 따른 컴퓨팅 시스템(4000)이 모바일 장치인 경우, 컴퓨팅 시스템(4000)의 동작 전압을 공급하기 위한 배터리(4600)가 추가적으로 제공될 수 있다. 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템(4000)에는 응용 칩셋(application chip set), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램 등이 더 포함될 수 있다.
반도체 장치(1000)는 도 1과 실질적으로 동일하게 구성될 수 있으므로, 반도체 장치(1000)에 대한 구체적인 설명은 생략한다.
메모리 제어부(4100)와 반도체 장치(1000)는 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) 등과 같은 패키지들을 이용하여 실장 될 수 있다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시 예에서 구체적으로 기술되었으나, 상기한 실시 예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시 예가 가능함을 이해할 수 있을 것이다.
1000: 반도체 장치 110: 메모리 셀 어레이
120: 주변회로 130: 제어회로
21: 전압 생성 회로 22: 로우 디코더
23: 페이지 버퍼 24: 컬럼 디코더
25: 입출력 회로 MR: 메인 영역
ER: 엑스트라 영역 MBLK: 메인 블록
FBLK: 플래그 블록 51: 채널막
52: 게이트 절연막 53: 전하 트랩막
54: 블로킹막 55: 게이트막
MA: 제1 컬럼 MAr: 제2 컬럼
Ca: 제1 플래그 셀 Cr: 제2 플래그 셀

Claims (21)

  1. 메모리 블록들을 소거하는 단계;
    상기 메모리 블록들 중, 선택된 메모리 블록이 마지막으로 소거된 메모리 블록인지 판단하는 단계; 및
    상기 선택된 메모리 블록이 마지막으로 소거된 메모리 블록이 아니면 상기 선택된 메모리 블록의 프로그램 동작을 수행하고,
    상기 선택된 메모리 블록이 마지막으로 소거된 메모리 블록이면 소거된 다른 메모리 블록을 선택하여 상기 프로그램 동작을 수행하는 단계를 포함하는 반도체 장치의 동작 방법.
  2. 제1항에 있어서, 상기 메모리 블록들을 소거하는 단계는,
    상기 메모리 블록들을 순차적으로 소거하는 단계; 및
    상기 메모리 블록들 중 마지막으로 소거된 메모리 블록에, 마지막으로 소거된 메모리 블록임을 나타내기 위한 마킹(marking) 동작을 수행하는 단계를 포함하는 반도체 장치의 동작 방법.
  3. 제2항에 있어서, 상기 마킹 동작은,
    상기 마지막으로 소거된 메모리 블록에 포함된 제1 플래그 셀에 마킹 데이터를 프로그램하는 단계를 포함하는 반도체 장치의 동작 방법.
  4. 제3항에 있어서,
    상기 선택된 메모리 블록이 마지막으로 소거된 메모리 블록인지 판단하는 단계는 상기 마킹 데이터에 따라 수행되는 반도체 장치의 동작 방법.
  5. 제4항에 있어서,
    상기 마킹 데이터가 '1'이면 상기 선택된 메모리 블록은 마지막으로 소거된 메모리 블록이 아닌 것으로 판단되고, 상기 마킹 데이터가 '0'이면 상기 선택된 메모리 블록은 마지막으로 소거된 메모리 블록으로 판단되는 반도체 장치의 동작 방법.
  6. 제1항에 있어서,
    상기 메모리 블록들을 소거하는 단계는,
    적어도 하나의 메모리 블록을 히든 메모리 블록으로 설정하고, 상기 히든 메모리 블록을 포함한 적어도 두 개의 메모리 블록들을 소거하는 반도체 장치의 동작 방법.
  7. 제6항에 있어서,
    상기 히든 메모리 블록을 제외하고, 소거된 메모리 블록이 하나인 경우,
    상기 소거된 메모리 블록은 마지막으로 소거된 메모리 블록으로 판단되는 반도체 장치의 동작 방법.
  8. 제7항에 있어서,
    소거된 메모리 블록이 하나인 경우, 상기 소거된 메모리 블록 대신 상기 히든 메모리 블록에 상기 프로그램 동작을 수행하는 반도체 장치의 동작 방법.
  9. 제8항에 있어서,
    상기 히든 메모리 블록의 상기 프로그램 동작이 완료된 후, 상기 히든 메모리 블록에 저장된 데이터를 상기 소거된 메모리 블록에 카피백(copy back)하는 단계를 더 포함하는 반도체 장치의 동작 방법.
  10. 제9항에 있어서,
    상기 소거된 메모리 블록에 상기 데이터를 카피백한 후, 상기 카피백된 메모리 블록에 프로그램 동작이 수행된 메모리 블록임을 나타내기 위한 마킹(marking) 동작을 수행하는 단계를 포함하는 반도체 장치의 동작 방법.
  11. 제10항에 있어서, 상기 마킹 동작은,
    상기 카피백 동작이 수행된 메모리 블록에 제2 플래그 셀에 마킹 데이터를 프로그램하는 단계를 포함하는 반도체 장치의 동작 방법.
  12. 제11항에 있어서,
    상기 제2 플래그 셀에 상기 마킹 데이터가 저장된 메모리 블록은 후속 프로그램 동작에서 제외되는 반도체 장치의 동작 방법.
  13. 다수의 메모리 블록들을 포함하며, 상기 메모리 블록들 중 적어도 하나의 메모리 블록이 히든 메모리 블록으로 지정된 메모리 셀 어레이;
    상기 메모리 블록들의 소거 동작 및 프로그램 동작을 수행하도록 구성된 주변회로; 및
    상기 소거 동작시 상기 메모리 블록들 중 선택된 메모리 블록들을 소거하고, 상기 프로그램 동작시 선택된 메모리 블록이 마지막으로 소거된 메모리 블록인지 판단한 후, 상기 판단 결과에 따라 상기 프로그램 동작을 상기 선택된 메모리 블록에 수행하거나 소거된 다른 메모리 블록에 수행하도록 상기 주변회로를 제어하는 제어회로를 포함하는 반도체 장치.
  14. 제13항에 있어서,
    상기 메모리 블록들은 전하 트랩막 구조로 이루어진 다수의 메모리 셀들을 포함하는 반도체 장치.
  15. 제13항에 있어서, 상기 제어회로는,
    상기 소거 동작시 선택된 메모리 블록들을 순차적으로 소거하고,
    상기 소거된 메모리 블록들 중 마지막으로 소거된 메모리 블록에, 마지막으로 소거된 메모리 블록임을 나타내기 위한 마킹(marking) 동작을 수행하도록 상기 주변회로를 제어하는 반도체 장치.
  16. 제15항에 있어서, 상기 제어회로는,
    상기 마지막으로 소거된 메모리 블록에 포함된 제1 플래그 셀에 '0' 데이터를 프로그램하는 마킹 동작을 수행하도록 상기 주변회로를 제어하는 반도체 장치.
  17. 제16항에 있어서, 상기 제어회로는,
    상기 프로그램 동작시, 선택된 메모리 블록의 상기 제1 플래그 셀을 리드(read)하고, 리드된 데이터가 '1'이면 상기 선택된 메모리 블록을 마지막으로 소거된 메모리 블록이 아닌 것으로 판단되고, 리드된 데이터가 '0'이면 상기 선택된 메모리 블록을 마지막으로 소거된 메모리 블록으로 판단하는 반도체 장치.
  18. 제13항에 있어서, 상기 제어회로는,
    소거된 메모리 블록이 하나인 경우, 상기 소거된 메모리 블록 대신 상기 히든 메모리 블록에 상기 프로그램 동작을 수행하도록 상기 주변회로를 제어하는 반도체 장치.
  19. 제18항에 있어서, 상기 제어회로는,
    상기 히든 메모리 블록의 상기 프로그램 동작이 완료된 후, 상기 히든 메모리 블록에 저장된 데이터를 상기 소거된 메모리 블록에 카피백(copy back)하도록 상기 주변회로를 제어하는 반도체 장치.
  20. 제19항에 있어서, 상기 제어회로는,
    상기 소거된 메모리 블록에 상기 데이터를 카피백한 후, 상기 카피백된 메모리 블록에 프로그램 동작이 수행된 메모리 블록임을 나타내기 위한 마킹(marking) 동작을 수행하도록 상기 주변회로를 제어하는 반도체 장치.
  21. 제20항에 있어서, 상기 제어회로는,
    상기 카피백 동작이 수행된 메모리 블록의 제2 플래그 셀에 마킹 데이터를 프로그램하는 상기 마킹 동작을 수행하도록 상기 주변회로를 제어하는 반도체 장치.
KR1020140111415A 2014-08-26 2014-08-26 반도체 장치 및 이의 동작 방법 KR20160024530A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140111415A KR20160024530A (ko) 2014-08-26 2014-08-26 반도체 장치 및 이의 동작 방법
US14/592,631 US9691494B2 (en) 2014-08-26 2015-01-08 Semiconductor device and method of operating the same using lastly erased memory block

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140111415A KR20160024530A (ko) 2014-08-26 2014-08-26 반도체 장치 및 이의 동작 방법

Publications (1)

Publication Number Publication Date
KR20160024530A true KR20160024530A (ko) 2016-03-07

Family

ID=55402535

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140111415A KR20160024530A (ko) 2014-08-26 2014-08-26 반도체 장치 및 이의 동작 방법

Country Status (2)

Country Link
US (1) US9691494B2 (ko)
KR (1) KR20160024530A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200110547A (ko) 2019-03-14 2020-09-24 삼성전자주식회사 스토리지 장치 및 스토리지 장치를 포함하는 컴퓨팅 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3215237B2 (ja) * 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
JP3692313B2 (ja) * 2001-06-28 2005-09-07 松下電器産業株式会社 不揮発性メモリの制御方法
US20050257017A1 (en) * 2004-05-14 2005-11-17 Hideki Yagi Method and apparatus to erase hidden memory in a memory card
US7814263B2 (en) * 2006-10-26 2010-10-12 Sandisk Il Ltd. Erase history-based flash writing method
JP4439569B2 (ja) * 2008-04-24 2010-03-24 株式会社東芝 メモリシステム
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
CN102741822B (zh) * 2010-12-13 2015-09-09 联发科技(新加坡)私人有限公司 移动装置、nor型闪速存储控制器及其操作方法和错误恢复方法
KR20130042780A (ko) 2011-10-19 2013-04-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
US9298608B2 (en) * 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
KR102312404B1 (ko) * 2015-09-07 2021-10-13 에스케이하이닉스 주식회사 저장 장치 및 이의 동작 방법

Also Published As

Publication number Publication date
US9691494B2 (en) 2017-06-27
US20160062686A1 (en) 2016-03-03

Similar Documents

Publication Publication Date Title
KR101792870B1 (ko) 불휘발성 메모리 장치 및 그것의 읽기 방법
US9576668B2 (en) Semiconductor device and operating method thereof
US9330766B1 (en) Semiconductor device and operating method thereof
KR102128825B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
KR102395722B1 (ko) 저장 장치 및 이의 동작 방법
US9564246B2 (en) Semiconductor device and operating method thereof
US9679638B2 (en) Semiconductor device and method of operating the same
US9496013B1 (en) Semiconductor device and operating method thereof
US9543021B2 (en) Semiconductor device and programming method thereof
US9472290B2 (en) Semiconductor device and method of erasing the same
KR20160058521A (ko) 반도체 장치 및 이의 동작 방법
US20160104540A1 (en) Non-volatile memory device and operating method thereof
US20150332783A1 (en) Method of operating semiconductor device
KR101430637B1 (ko) 불휘발성 메모리 장치 및 그것의 데이터 관리 방법
US9569142B2 (en) Semiconductor device and method of operating the same according to degree of deterioration
KR20150139116A (ko) 반도체 장치 및 이의 동작 방법
KR101642930B1 (ko) 더미 셀을 갖는 불휘발성 메모리 장치 및 그것의 프로그램 방법
US9508445B2 (en) Semiconductor device and read operation method including a source line check circuit
US9691494B2 (en) Semiconductor device and method of operating the same using lastly erased memory block
US9548125B2 (en) Semiconductor device having multi-level cell and method of reading the same
KR20130027153A (ko) 불휘발성 메모리 장치의 제어 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid