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

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

Info

Publication number
KR20140094278A
KR20140094278A KR1020130006893A KR20130006893A KR20140094278A KR 20140094278 A KR20140094278 A KR 20140094278A KR 1020130006893 A KR1020130006893 A KR 1020130006893A KR 20130006893 A KR20130006893 A KR 20130006893A KR 20140094278 A KR20140094278 A KR 20140094278A
Authority
KR
South Korea
Prior art keywords
memory
word lines
data
memory cells
stored
Prior art date
Application number
KR1020130006893A
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 KR1020130006893A priority Critical patent/KR20140094278A/ko
Priority to US13/844,914 priority patent/US20140208044A1/en
Publication of KR20140094278A publication Critical patent/KR20140094278A/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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

반도체 장치의 동작 방법은 제1 워드라인들과 제1 워드라인들 사이에 각각 배치되는 제2 워드라인들을 포함하는 메모리 블록들의 제1 워드라인들에 연결된 메모리 셀들에 데이터를 저장하는 단계와, 제1 워드라인들의 메모리 셀들에 저장된 데이터가 무효화된 메모리 블록을 검색하는 단계, 및 검색된 메모리 블록의 제2 워드라인들에 연결된 메모리 셀들에 데이터를 저장하는 단계를 포함한다.

Description

반도체 장치 및 이의 동작 방법{Semiconductor apparatus and method of operating the same}
본 발명은 반도체 장치 및 이의 동작 방법에 관한 것으로, 특히 데이터의 입출력이 가능한 반도체 장치 및 이의 동작 방법에 관한 것이다.
데이터의 입출력이 가능한 반도체 장치는 다수의 메모리 블록들을 포함한다. 각각의 메모리 블록은 워드라인들에 연결된 메모리 셀들을 포함하며, 첫 번째 워드라인들에 연결된 메모리 셀들부터 마지막 워드라인들에 연결된 메모리 셀들까지 데이터가 순차적으로 저장된다.
NAND 플래시와 같은 불휘발성 메모리 소자는 프로그램 동작을 통해 데이터가 메모리 셀들이 저장되며, 저장되는 데이터에 따라 메모리 셀의 문턱전압이 변경된다.
정해진 영역 내에 저장되는 데이터의 용량을 늘이기 위하여 소자의 집적도가 높아짐과 동시에 하나의 메모리 셀에 2비트 이상의 데이터를 저장하는 방식이 제안되고 있다. 그런데, 집적도가 높아짐에 따라 워드라인들 사이의 간격이 좁아지고, 이 때문에 서로 인접한 워드라인들 사이에 간섭 현상이 발생된다. 예로써, 프로그램 동작에 의해 데이터 저장이 완료된 메모리 셀들의 문턱전압이 다음 워드라인의 프로그램 동작 시 커패시터 커플링 현상에 의해 높아진다.
이러한 간섭 현상에 의해 데이터를 독출하기 위한 센싱 마진이 줄어들고 메모리 셀에 저장된 데이터가 변경되는 오류에 의해 동작의 전기적 특성 및 신뢰성이 저하된다.
본 발명의 실시예는 동작의 전기적 특성 및 신뢰성을 향상시킬 수 있는 반도체 장치 및 동작 방법을 제공한다.
본 발명의 실시예에 따른 반도체 장치의 동작 방법은 제1 워드라인들과 제1 워드라인들 사이에 각각 배치되는 제2 워드라인들을 포함하는 메모리 블록들의 제1 워드라인들에 연결된 메모리 셀들에 데이터를 저장하는 단계와, 제1 워드라인들의 메모리 셀들에 저장된 데이터가 무효화된 메모리 블록을 검색하는 단계, 및 검색된 메모리 블록의 제2 워드라인들에 연결된 메모리 셀들에 데이터를 저장하는 단계를 포함한다.
본 발명의 실시예에 따른 반도체 장치는 제1 워드라인들과 제1 워드라인들 사이에 각각 배치되는 제2 워드라인들을 각각 포함하는 메모리 블록들, 및 메모리 블록들의 제1 워드라인들과 연결된 메모리 셀들에 데이터를 저장하고, 제1 워드라인들의 메모리 셀들에 저장된 데이터가 모두 무효화된 메모리 블록이 검색되면 검색된 메모리 블록의 제2 워드라인들과 연결된 메모리 셀들에 데이터를 저장하도록 구성된 주변 회로를 포함한다.
본 발명의 다른 실시예에 따른 반도체 장치는 다수의 메모리 블록들을 포함하고, 각각의 메모리 블록은 제1 워드라인들과 제1 워드라인들 사이에 각각 배치되는 제2 워드라인들을 포함하는 메모리 장치, 및 메모리 블록들 중 선택된 메모리 블록의 제1 워드라인들에 연결된 메모리 셀들에 데이터가 먼저 저장되고, 저장된 데이터가 모두 무효화되면 제2 워드라인들과 연결된 메모리 셀들에 데이터가 저장되도록 물리적 어드레스를 논리적 어드레스로 변경하여 메모리 장치로 출력하는 메모리 컨트롤러를 포함한다.
본 발명의 실시예는 동작의 전기적 특성 및 신뢰성을 향상시킬 수 있다.
도 1은 본 발명의 실시예에 따른 반도체 장치를 설명하기 위한 블록도이다.
도 2는 본 발명의 실시예에 따른 반도체 장치의 동작 방법을 설명하기 위한 흐름도이다.
도 3은 도 2에 도시된 단계(S210)의 실시예를 보다 구체적으로 설명하기 위한 흐름도이다.
도 4는 도 2에 도시된 단계(S210)의 실시예를 보다 구체적으로 설명하기 위한 블록도이다.
도 5 및 도 6은 도 2에 도시된 단계(S230)의 실시예를 보다 구체적으로 설명하기 위한 블록도들이다.
도 7 및 도 8은 도 2에 도시된 단계(S240)의 실시예를 보다 구체적으로 설명하기 위한 블록도들이다.
도 9는 본 발명의 다른 실시예에 따른 반도체 장치의 동작 방법을 설명하기 위한 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 단지 본 실시예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범위는 본원의 특허 청구 범위에 의해서 이해되어야 한다.
도 1은 본 발명의 실시예에 따른 반도체 장치를 설명하기 위한 블록도이다.
도 1을 참조하면, 반도체 장치(10)는 컨트롤러(100) 및 메모리 장치(200)를 포함한다. 메모리 컨트롤러(100)는 호스트(HOST) 및 메모리 장치(200)에 연결된다. 호스트(HOST)로부터의 요청에 응답하여, 메모리 컨트롤러(100)는 메모리 장치(200)를 액세스하도록 구성된다. 예를 들면, 메모리 컨트롤러(100)는 메모리 장치(200)의 읽기, 프로그램, 그리고 소거 동작을 제어하도록 구성된다. 메모리 컨트롤러(100)는 메모리 장치(200) 및 호스트(Host) 사이에 인터페이스를 제공하도록 구성된다. 메모리 컨트롤러(100)는 메모리 장치(200)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다. 메모리 장치(200)는 플래시 메모리 장치를 포함한다.
메모리 컨트롤러(100)는 내부 버스(110), 프로세서(120), 저장부(140), 메모리 인터페이스(150), 오류 정정 블록(160; ECC), 그리고 호스트 인터페이스(170)를 포함한다. 내부 버스(110)는 메모리 컨트롤러(100)의 구성요소들 사이에 채널을 제공하도록 구성된다. 예시적으로, 내부 버스(110)는 커맨드 및 데이터를 전송하기 위한 공통 채널일 수 있다. 다른 예로서, 내부 버스(110)는 커맨드 및 데이터를 각각 전송하기 위한 커맨드 채널 및 데이터 채널을 포함할 수 있다.
프로세서(120)는 메모리 컨트롤러(100)의 제반 동작을 제어하도록 구성된다. 프로세서(120)는 메모리 컨트롤러(100)에서 구동되는 소프트웨어 및 펌웨어를 실행하도록 구성될 수 있다. 저장부(140)는 프로세서(120)의 동작 메모리로 이용될 수 있다. 저장부(140)는 메모리 장치(200) 및 호스트(Host) 사이의 버퍼 메모리로 이용될 수 있다. 저장부(140)는 메모리 장치(200) 및 호스트(Host) 사이의 캐시 메모리로 이용될 수 있다. 예시적으로, 저장부(140)는 SRAM(Static RAM), DRAM(Dynamic RAM), SDRAM(Synchronous DRAM), PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), FRAM(Ferroelectric RAM), 노어 플래시 메모리 등과 같이, 랜덤 액세스가 가능한 다양한 메모리들 중 적어도 하나를 포함할 수 있다.
메모리 인터페이스(150)는 플래시 메모리 장치(200)와 통신하기 위한 프로토콜을 포함한다. 예를 들면, 메모리 인터페이스(150)는 낸드(NAND) 인터페이스, 노어(NOR) 인터페이스 등과 같은 플래시 인터페이스들 중 적어도 하나를 포함할 수 있다.
오류 정정 블록(160)은 메모리 장치(200)로부터 읽어진 데이터의 오류를 검출하고, 정정하도록 구성될 수 있다.
호스트 인터페이스(170)는 호스트(HOST) 및 메모리 컨트롤러(100) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함한다. 예시적으로, 메모리 컨트롤러(100)는 USB(Universal Serial Bus) 프로토콜, MMC(multimedia card) 프로토콜, PCI(peripheral component interconnection) 프로토콜, PCI-E(PCI-express) 프로토콜, ATA(Advanced Technology Attachment) 프로토콜, Serial-ATA 프로토콜, Parallel-ATA 프로토콜, SCSI(smallcomputer small interface) 프로토콜, ESDI(enhanced small disk interface) 프로토콜, 그리고 IDE(Integrated Drive Electronics) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 외부(호스트)와 통신하도록 구성된다.
메모리 컨트롤러(100) 및 메모리 장치(200)는 하나의 반도체 장치로 집적될 수 있다. 예시적으로, 메모리 컨트롤러(100) 및 메모리 장치(200)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들면, 메모리 컨트롤러(100) 및 메모리 장치(200)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등을 구성할 수 있다. 메모리 컨트롤러(100) 및 메모리 장치(200)는 하나의 반도체 장치로 집적되어 반도체 드라이브(SSD, Solid State Drive)를 구성할 수도 있다.
메모리 컨트롤러(100)는 플래시 변환 계층(FTL, flash translation layer)(130)을 포함한다. 플래시 변환 계층(130)은 메모리 장치(200)를 제어하기 위한 다양한 수단들을 제공한다.
메모리 장치(200)가 플래시 메모리 장치인 경우, 플래시 메모리 장치(200)는 통상적인 메모리와 상이한 특징들을 갖는다. 우선, 플래시 메모리 장치(200)는 쓰기 전 소거(erase before write) 특성을 갖는다. 그리고, 플래시 메모리 장치(200)의 읽기 동작 및 프로그램 동작의 단위와 소거 동작의 단위는 상이하다. 플래시 메모리 장치(200)의 읽기 및 프로그램 동작은 페이지 단위로 수행되고, 소거 동작은 메모리 블록 단위로 수행된다. 메모리 블록은 복수의 페이지들을 포함한다. 또한, 플래시 메모리 장치(200)의 프로그램 및 소거 횟수는 제한되어 있다. 그리고, 플래시 메모리 장치(200)의 소거 시간, 프로그램 시간, 그리고 읽기 시간은 상이하다.
호스트(HOST)가 플래시 메모리 장치(200)를 액세스할 때, 플래시 변환 계층(130)은 상술한 바와 같은 플래시 메모리 장치(200)의 특성에 기반한 다양한 제어 수단들을 제공한다. 예를 들면, 플래시 변환 계층(FTL)은 호스트(HOST)로부터 수신되는 논리 어드레스를 플래시 메모리 장치(200)의 물리 어드레스로 변환하는 수단을 제공한다. 플래시 변환 계층(130)은 논리 어드레스 및 물리 어드레스 사이의 사상(mapping) 관계에 대한 정보를 테이블화하여 유지한다.플래시 변환 계층(130)은 플래시 메모리 장치(200)의 메모리 블록들의 프로그램 및 소거 횟수가 균일화되도록 제어하는 수단을 제공한다. 예를 들면, 플래시 변환 계층(130)은 마모도 관리(wear leveling) 수단을 제공한다. 플래시 변환 계층(130)은 플래시 메모리 장치(200)의 소거 횟수를 최소화시키기 위한 수단을 제공한다. 예를 들면, 플래시 메모리 장치(200)는 머지(merge) 및 가비지 컬렉션(garbage collection) 등과 같은 제어 수단을 제공한다.
반도체 장치(10)의 파워-온 시에, 파워-온 읽기(power-on read) 동작이 수행된다. 이때, 메모리 컨트롤러(100)는 플래시 메모리 장치(200)로부터 플래시 변환 계층(FTL)을 읽어서 저장할 수 있다. 또한, 별도로 구비된 메모리 컨트롤로(100)의 불휘발성 램에 플래시 변환 계층(FTL)이 저장될 수도 있다. 이 경우, 프로세서(120)는 별도의 불휘발성 램에 저장된 플래시 변환 계층(FTL)을 구동할 것이다. 그리고, 플래시 변환 계층(FTL)은 플래시 메모리 장치(200)에 별도로 저장되지 않는다.
플래시 메모리 장치(200)는 메모리 어레이(210)와 주변 회로(220~250)를 포함한다.
메모리 어레이(210)는 다수의 메모리 블록들을 포함한다. NAND 플래시의 경우 각각의 메모리 블록은 비트라인들과 공통 소스 라인 사이에 연결된 다수의 메모리 스트링들을 포함한다. 각각의 메모리 스트링은 비트라인과 연결되는 드레인 선택 트랜지스터, 공통 소스 라인과 연결되는 소스 선택 트랜지스터, 드레인 선택 트랜지스터 및 소스 선택트랜지스터 사이에 직렬로 연결된 다수의 메모리 셀들을 포함한다. 메모리 스트링들의 메모리 셀들은 워드라인들과 연결된다. 워드라인에 연결된 메모리 셀들은 하나의 물리적 페이지를 구성한다.
주변 회로(220~250)는 메모리 블록의 이븐(또는 오드) 워드라인들과 연결된 메모리 셀들에 데이터를 저장하고, 이븐(또는 오드) 워드라인들의 메모리 셀들에 저장된 데이터가 모두 무효화된 메모리 블록이 검색되면 검색된 메모리 블록의 오드(또는 이븐) 워드라인들과 연결된 메모리 셀들에 데이터를 저장하도록 구성된다. 이러한 주변 회로는 제어 회로(220), 전압 공급 회로(230), 읽기/쓰기 회로(240) 및 입출력 회로(250)를 포함한다.
제어 회로(220)는 메모리 셀들의 프로그램 동작, 리드 동작 및 소거 동작 시 전압 공급 회로(230), 읽기/쓰기 회로(240) 및 입출력 회로(250)를 제어한다.
전압 공급 회로(230)는 프로그램 동작, 리드 동작 또는 소거 동작에 필요한 동작 전압들을 메모리 블록으로 출력한다.
읽기/쓰기 회로(240)는 리드 동작 시 비트라인들을 통해 메모리 셀들에 저장된 데이터를 센싱하여 래치하거나, 프로그램 동작 시 메모리 셀들에 저장되는 데이터에 따라 비트라인들에 프로그램 금지 전압과 프로그램 허용 전압을 선택적으로 인가한다. 읽기/쓰기 회로(240)는 페이지 버퍼로 구현될 수 있다.
입출력 회로(250)는 메모리 컨트롤러(100)로부터 입력된 데이터를 읽기/쓰기 회로(240)로 전달하거나 메모리 셀들로부터 독출된 데이터를 메모리 컨트롤러(100)로 출력하도록 구성된다.
한편, 플래시 메모리 장치(200)의 프로그램 동작은 선택된 메모리 블록의 첫 번째 워드라인부터 마지막 워드라인까지 순차적으로 진행되는 것이 일반적이다. 이 경우, 선택된 워드라인의 프로그램 동작 시 커패시터 커플링에 의한 프로그램 간섭 현상이 발생하여 프로그램 동작이 완료된 이전 워드라인의 메모리 셀들의 문턱전압이 변한다. 소자의 집적도가 높아짐에 따라 워드라인들 사이의 간격이 좁아져서 간섭 현상은 보다 심하게 발생된다. 또한, 하나의 메모리 셀에 2비트 이상의 데이터가 저장됨에 따라 문턱전압 분포들 사이의 간격이 좁아져 센싱 마진이 부족해진다. 이 때문에 동작의 전기적 특성이 저하되고 오류가 발생될 수 있다.
따라서, 본 발명에서는 메모리 컨트롤러(100)가 메모리 장치(200)의 메모리 블록들 중 선택된 메모리 블록의 이븐(또는 오드) 워드라인들에 연결된 메모리 셀들에 데이터가 먼저 저장되도록 물리적 어드레스를 논리적 어드레스로 변경하여 메모리 장치(200)로 출력한다. 메모리 컨트롤러(100)의 논리적 어드레스에 따라 메모리 장치(200)는 이븐(또는 오드) 워드라인들의 메모리 셀들에 데이터를 먼저 저장한다. 이븐(또는 오드) 워드라인들 사이에는 오드(또는 이븐) 워드라인이 위치하며, 오드(또는 이븐) 워드라인이 간섭 현상의 쉴딩 라인 역할을 수행하므로 이븐 워드라인들 사이에서 간섭현상이 발생되는 것을 방지할 수 있다. 또한, 이븐(또는 오드) 워드라인의 프로그램 동작 시 인접한 오드(또는 이븐) 워드라인에 간섭 현상이 발생하더라도 오드(또는 이븐) 워드라인의 메모리 셀들에는 데이터가 저장되지 않은 상태이므로 아무런 문제가 발생되지 않는다.
따라서, 간섭 현상 없이 메모리 셀들에 데이터를 저장할 수 있다. 하지만, 메모리 블록에서 이븐(또는 오드) 워드라인들의 메모리 셀들에만 데이터가 저장되므로 데이터 저장 용량이 절반으로 감소할 수 있다.
낸드 플래시 메모리는 하드디스크와 달리 덮어쓰기 연산을 지원하지 않는다. 따라서, 데이터가 업데이트 되면 대부분의 낸드 플래시 메모리는 빈 공간에 업데이트된 데이터를 기록한다. 그리고 기존에 기록되어 있던 데이터는 무효화(invalid) 시킨다. 이븐(또는 오드) 워드라인들의 메모리 셀들에 저장된 데이터가 모두 무효화되면 오드(또는 이븐) 워드라인들의 메모리 셀들에 데이터가 저장되도록, 메모리 컨트롤러(100)가 물리적 어드레스를 논리적 어드레스로 변경하여 메모리 장치(200)로 출력할 수 있다.
이렇게 오드(또는 이븐) 워드라인들의 메모리 셀들에도 데이터를 저장하면 데이터 저장 용량이 절반으로 감소하는 것을 방지할 수 있다. 또한, 오드(또는 이븐) 워드라인의 프로그램 동작 시 인접한 이븐(또는 오드) 워드라인에 간섭 현상이 발생하더라도 이븐(또는 오드) 워드라인의 메모리 셀들에 저장된 데이터는 무효화된 상태이므로 아무런 문제가 발생되지 않는다.
한편, 플래시 변환 계층(FTL)은 주요 기능으로 물리적 어드레스와 논리적 어드레스를 맵핑 시켜주는 기능과 가비지 컬렉션 기능을 포함한다. 주소 맵핑 기능은 파일 시스템에서 덮어쓰기를 요청 받은 데이터를 다른 빈 공간에 기록하고 기존의 데이터를 무효화 시킨다. 이러한 동작으로 추가적으로 발생할 수 있는 삭제와 복사 연산을 감소시키는 역할을 한다. 그러나 무효화 된 페이지들은 메모리 공간을 차지하고 있으며 사용이 불가능한 공간이다. 이러한 공간을 다시 사용하기 위해서는 삭제 연산이 필요하다. 무효화 된 페이지 공간을 다시 사용 가능하도록 해주는 동작을 가비지 컬렉션이라고 한다. 가비지 컬렉션 기능은 낸드 플래시 메모리에서 특정 블록을 선택하여 해당 블록의 유효한 페이지를 다른 빈 공간에 복사하고 해당 블록은 삭제 하는 동작을 하게 된다. 삭제된 블록 공간내의 모든 페이지 들은 모두 빈 페이지가 되어 쓰기가 가능해지는 공간이 된다.
FTL 기법 중에 현재 가장 많이 사용되고 있는 것은 로그 버퍼 기반의 FTL(log buffer-based FTL) 기법이다. 로그 버퍼 기법은 플래시 메모리 블록들을 데이터 메모리 블록과 로그 메모리 블록으로 나눈다. 데이터 메모리 블록은 일반적인 데이터 저장 공간으로 사용되고, 로그 메모리 블록은 덮어 쓰려는 데이터를 임시로 저장하는 공간으로 사용된다. 따라서 쓰기 명령이 발생하면 해당 쓰기 명령이 덮어쓰기일 경우 해당 데이터를 로그 메모리 블록에 기록한다. 로그 버퍼 기반의 FTL 기법은 덮어쓰기 될 데이터를 로그 메모리 블록에 임시로 기록함으로써 추가적으로 발생할 수 있는 삭제와 쓰기 연산을 줄일 수 있다. 그러나 로그 메모리 블록들의 빈 페이지들을 모두 사용하게 되면, 가비지 컬렉션 과정으로 로그 메모리 블록에 빈 페이지들을 만들어줘야 한다.
이에 따라, 이븐(또는 오드) 워드라인들의 메모리 셀들에 데이터가 모두 저장된 상태에서 이븐(또는 오드) 워드라인들의 메모리 셀들에 저장된 데이터가 모두 무효화된 메모리 블록을 검색되지 않으면, 메모리 컨트롤러(100)는 가비지 컬렉션이 수행되도록 메모리 장치(200)를 제어할 수 있다. 또한, 정해진 메모리 블록들(예, 로그 메모리 블록들)에 포함된 모든 메모리 셀들에 데이터가 저장된 후 가비지 컬렉션이 수행되도록 메모리 컨트롤러(100)가 메모리 장치(200)를 제어할 수 있다. 이때, 메모리 장치(200)는 무효화된 데이터가 저장된 메모리 셀들을 가장 많이 포함하는 메모리 블록의 가비지 컬렉션을 수행할 수 있다. 그리고, 메모리 컨트롤러(100)는 물리적 어드레스를 가비지 컬렉션에 의해 옮겨진 데이터의 논리적 어드레스로 변경하도록 구성된다.
상기에서 설명한 데이터 입력 방식과 가비지 컬렉션 방식의 실시예들을 보다 구체적으로 설명하면 다음과 같다.
각각의 메모리 블록들은 이븐 워드라인들과 이븐 워드라인들 사이마다 각각 배치되는 오드 워드라인들을 포함한다. 이하에서, 모든 이븐 워드라인들의 메모리 셀들에 데이터가 먼저 저장된 후 오드 워드라인들의 메모리 셀들에 데이터가 저장되는 경우가 설명된다. 하지만, 모든 오드 워드라인들의 메모리 셀들에 데이터가 먼저 저장된 후 이븐 워드라인들의 메모리 셀들에 데이터가 저장될 수도 있다. 여기서, 이븐 워드라인들이 제1 워드라인들이 되고 오드 워드라인들이 제2 워드라인들이 될 수 있다. 또한, 오드 워드라인들이 제1 워드라인들이 되고 이븐 워드라인들이 제2 워드라인들이 될 수도 있다.
도 2는 본 발명의 실시예에 따른 반도체 장치의 동작 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 정해진 메모리 블록들 중에서 선택된 메모리 블록의 이븐(또는 오드) 워드라인들의 메모리 셀들에 데이터를 저장한다. 이때, 데이터가 업데이트되면 이전 데이터는 무효화처리된다. 이를 보다 구체적으로 설명하면 다음과 같다. 이하에서는 설명의 편의상, 이븐 워드라인들의 메모리 셀들에 데이터가 먼저 저장되고, 이븐 워드라인들의 메모리 셀들에 저장된 데이터가 모두 무효화 처리되면 오드 워드라인들의 메모리 셀들에 데이터가 저장되는 경우를 설명하기로 한다. 물론, 반대의 경우도 가능하다.
도 3은 도 2에 도시된 단계(S210)의 실시예를 보다 구체적으로 설명하기 위한 흐름도이다. 도 4는 도 2에 도시된 단계(S210)의 실시예를 보다 구체적으로 설명하기 위한 블록도이다.
도 3 및 도 4를 참조하면, 단계(S211)에서 메모리 컨트롤러의 제어에 따라 메모리 장치에서 소거 상태의 메모리 셀들이 연결된 이븐 워드라인을 포함하는 메모리 블록(예, LMB_A)이 선택된다. 한편, 워드라인들은 데이터가 저장되지 않은 메모리 셀들이 연결된 프리 워드라인, 데이터가 저장된 메모리 셀들이 연결된 유효(valid) 워드라인, 데이터가 업데이트되어 무효화 처리된 데이터(무효 데이터)가 저장된 메모리 셀들이 연결된 무효(invalid) 워드라인으로 구분할 수 있다. 이에 따라, 이븐 워드라인들 중에서 프리 워드라인이 포함되는 메모리 블록을 선택한다. 즉, 일부 이븐 워드라인들의 메모리 셀들에 데이터가 저장된 후 데이터 저장이 종료되면, 다음 데이터 입력 시 나머지 이븐 워드라인들의 메모리 셀들에 데이터를 저장되도록 메모리 블록을 선택한다.
여기서, 메모리 블록들은 데이터 메모리 블록들과 로그 메모리 블록들을 포함하며, 로그 메모리 블록들 중에서 하나의 메모리 블록이 선택될 수 있다.
단계(S213)에서, 선택된 메모리 블록(LMB_A)에서 소거 상태의 메모리 셀들에 데이터가 저장된다. 즉, 선택된 매모리 블록들(LMB_A)의 이븐 워드라인들(LWL_A0, LWL_A2, LWL_A4, LWL_A6)의 메모리 셀들에 데이터들(DATA1, DATA2, DATA3, DATA1_1)이 순차적으로 저장된다.
여기서, 업데이트된 데이터(DATA1_1)가 이븐 워드라인(LWL_A6)의 메모리 셀들에 저장되면 이븐 워드라인(LWL_A0)의 메모리 셀들에 저장된 이전 데이터(DATA1)는 무효화처리된다.
단계(S215)에서, 모든 이븐 워드라인들(LWL_A0, LWL_A2, LWL_A4, LWL_A6)의 메모리 셀들에 데이터가 저장되었는지를 판단한다. 아니라면 단계(S213)에서 데이터 저장이 계속된다. 모든 이븐 워드라인들(LWL_A0, LWL_A2, LWL_A4, LWL_A6)의 메모리 셀들에 데이터가 저장되었다면, 단계(S217)에서 소거 상태의 메모리 셀들이 연결된 이븐 워드라인을 포함하는 다른 메모리 블록이 존재하는지 검색한다.
다른 메모리 블록(예, LMB_B)이 존재한다면, 단계(S219)에서 대상으로 검색된 메모리 블록(LMB_B)으로 변경한 후 단계(S213)에서와 같이 데이터 저장 동작이 진행된다.
단계들(S211~S219)이 진행되면, 주변 회로에 의해 메모리 블록(LMB_B)의 이븐 워드라인들(LWL_B0, LWL_B2, LWL_B4, LWL_B6)에는 데이터들(DATA4, DATA5, DATA1_2, DATA6)이 저장되고, 메모리 블록(LMB_C)의 이븐 워드라인들(LWL_C0, LWL_C2, LWL_C4, LWL_C6)에는 데이터들(DATA7, DATA5_1, DATA3_1, DATA6_1)이 저장되고, 메모리 블록(LMB_D)의 이븐 워드라인들(LWL_D0, LWL_D2, LWL_D4, LWL_D6)에는 데이터들(DATA5_2, DATA1_3, DATA2_1, DATA8)이 저장된다. 여기서, 업데이트된 데이터들(DATA1_3, DATA2_1, DATA3_1, DATA5_2, DATA6_1)이 이븐 워드라인들(LWL_D2, LWL_D4, LWL_C4, LWL_D0, LWL_C6)저장됨에 따라, 이전 데이터들(DATA1_2, DATA2, DATA3, DATA5, DATA5_1, DATA6)이 저장된 메모리 셀들의 이븐 워드라이들(LWL_B4, LWL_A2, LWL_A4, LWL_B2, LWL_C2, LWL_B6)은 무효 워드라인들이 된다.
한편, 데이터가 업데이트됨에 따라 모든 이븐 워드라인들(LWL_A0, LWL_A2, LWL_A4, LWL_A6)이 무효 워드라인들이 된 메모리 블록(LMB_A)이 발생한다.
다시 도 2를 참조하면, 단계(S220)에서 이븐 워드라인들의 메모리 셀들에 저장된 데이터가 모두 무효화된 메모리 블록이 존재하는지를 검색한다.
메모리 블록(도 4의 LMB_A)의 이븐 워드라인들(LWL_A0, LWL_A2, LWL_A4, LWL_A6)이 모두 무효 워드라인들이므로, 단계(S220)에서 검색된 메모리 블록(LMB_A)의 오드 워드라인들(LWL_A1, LWL_A3, LWL_A5, LWL_A7)의 메모리 셀들에 데이터를 저장한다. 보다 구체적으로 설명하면 다음과 같다.
도 5 및 도 6은 도 2에 도시된 단계(S230)의 실시예를 보다 구체적으로 설명하기 위한 블록도들이다. 참고로, 단계(S230)는 이븐 워드라인과 오드 워드라인만 바뀐 상태에서 단계들(S211~S219)과 유사한 방식으로 진행될 수 있다.
도 5를 참조하면, 검색된 메모리 블록(LMB_A)에서 소거 상태인 오드 워드라인들(LWL_A1, LWL_A3, LWL_A5, LWL_A7)의 메모리 셀들에 데이터가 저장된다. 즉, 선택된 매모리 블록들(LMB_A)의 오드 워드라인들(LWL_A1, LWL_A3, LWL_A5, LWL_A7)의 메모리 셀들에 데이터들(DATA8_1, DATA4_1, DATA5_3, DATA1_4)이 순차적으로 저장된다.
여기서, 업데이트된 데이터들(DATA8_1, DATA4_1, DATA5_3, DATA1_4)이 오드 워드라인들(LWL_A1, LWL_A3, LWL_A5, LWL_A7)의 메모리 셀들에 저장되면 이전 데이터들(DATA8, DATA4, DATA5_2, DATA1_3)이 저장된 메모리 셀들의 워드라인들(LWL_D6, LWL_B0, LWL_D0, LWL_D2)은 무효 워드라인들이 된다.
이에 따라, 메모리 블록(LWL_B)의 이븐 워드라인들(LWL_B0, LWL_B2, LWL_B4, LWL_B6)도 모두 무효 워드라인들이 되고, 메모리 블록(LWL_B)의 오드 워드라인들(LWL_B1, LWL_B3, LWL_B5, LWL_B7)의 메모리 셀들에도 데이터들(DATA9, DATA2_2, DATA10, DATA3_2)이 순차적으로 저장된다.
업데이트된 데이터들(DATA2_2, DATA3_2)이 오드 워드라인들(LWL_B3, LWL_B7)의 메모리 셀들에 저장되면 이전 데이터들(DATA2_1, DATA3_1)이 저장된 메모리 셀들의 워드라인들(LWL_D4, LWL_C4)은 무효 워드라인들이 된다.
이에 따라, 메모리 블록(LWL_D)의 이븐 워드라인들(LWL_D0, LWL_D2, LWL_D4, LWL_D6)도 모두 무효 워드라인들이 되고, 메모리 블록(LWL_D)의 오드 워드라인들(LWL_D1, LWL_D3, LWL_D5, LWL_D7)의 메모리 셀들에도 데이터들(DATA6_2, DATA7_1, DATA8_2, DATA6_3)이 순차적으로 저장된다.
업데이트된 데이터들(DATA6_2, DATA7_1, DATA8_2, DATA6_3)이 오드 워드라인들(LWL_D1, LWL_D3, LWL_D5, LWL_D7)의 메모리 셀들에 저장되면 이전 데이터들(DATA6_1, DATA7, DATA8_1, DATA6_2)이 저장된 메모리 셀들의 워드라인들(LWL_C6, LWL_C0, LWL_A1, LWL_D1)은 무효 워드라인들이 된다.
이에 따라, 메모리 블록(LWL_C)의 이븐 워드라인들(LWL_C0, LWL_C2, LWL_C4, LWL_C6)도 모두 무효 워드라인들이 되고, 메모리 블록(LWL_C)의 오드 워드라인들(LWL_C1, LWL_C3, LWL_C5, LWL_C7)의 메모리 셀들에도 데이터들(DATA1_5, DATA5_4, DATA4_2, DATA8_3)이 순차적으로 저장된다.
업데이트된 데이터들(DATA1_5, DATA5_4, DATA4_2, DATA8_3)이 오드 워드라인들(LWL_C1, LWL_C3, LWL_C5, LWL_C7)의 메모리 셀들에 저장되면 이전 데이터들(DATA1_4, DATA5_3, DATA4_1, DATA8_2)이 저장된 메모리 셀들의 워드라인들(LWL_A7, LWL_A5, LWL_A3, LWL_D5)은 무효 워드라인들이 된다.
이에 따라, 메모리 블록(LWL_A)의 모든 워드라인들(LWL_A0~LWL_C7)은 모두 무효 워드라인들이 된다.
도 6을 참조하면, 단계(S250)에서 주변 회로는 이븐 및 오드 워드라인들의 메모리 셀들의 데이터가 모두 무효화된 메모리 블록이 존재하는지 검색한다. 그리고 단계(S260)에서 주변 회로는 이븐 워드라인들(LWL_A0, LWL_A2, LWL_A4, LWL_A6) 및 오드 워드라인들(LWL_A1, LWL_A3, LWL_A5, LWL_A7)의 메모리 셀들에 저장된 데이터가 모두 무효화된 메모리 블록(LMB_A)의 소거 동작을 실시한다. 이로써, 메모리 블록(LMB_A)은 사용가능한 메모리 블록으로 재설정된다.
단계(S270)에서 데이터 저장이 완료되지 않고 추가로 진행되어야 하는 경우 단계(S210)로 이동하여 데이터 저장이 계속해서 진행된다.
한편, 이븐 워드라인들의 메모리 셀들에 데이터를 저장할 수 있는 메모리 블록이 검색되지 않고 오드 워드라인들의 메모리 셀들에 데이터를 저장할 수 있는 메모리 블록이 검색되지 않으면, 단계(S240)에서 주변 회로는 가비지 컬렉션을 실시한다.
도 7 및 도 8은 도 2에 도시된 단계(S240)의 실시예를 보다 구체적으로 설명하기 위한 블록도들이다.
도 7을 참조하면, 사용가능한 메모리 블록으로 재설정된 메모리 블록(LMB_A)의 이븐 워드라인들(LWL_A0, LWL_A2, LWL_A4, LWL_A6)의 메모리 셀들에 데이터들(DATA5_5, DATA6_4, DATA1_6, DATA9_1)이 순차적으로 저장된다. 업데이트된 데이터들(DATA5_5, DATA6_4, DATA1_6, DATA9_1)이 이븐 워드라인들(LWL_A0, LWL_A2, LWL_A4, LWL_A6)에 저장됨에 따라, 이전 데이터들(DATA5_4, DATA6_3, DATA1_5, DATA9)이 저장된 워드라인들(LWL_C3, LWL_D7, LWL_C1, LWL_B1)은 무효 워드라인들로 지정된다.
이어서, 추가로 데이터를 저장해야 하는 경우, 정해진 메모리 블록들(LMB_A~LMB_D)에서 데이터의 저장 가능한 메모리 셀들의 워드라인들이 존재하지 않는 경우가 발생될 수 있다. 메모리 블록(LMB_A)의 오드 워드라인들(LWL_A1, LWL_A3, LWL_A5, LWL_A7)의 메모리 셀들에는 데이터들이 저장되어 있지 않지만, 이븐 워드라인들(LWL_A0, LWL_A2, LWL_A4, LWL_A6)의 메모리 셀들에 데이터가 저장되어 있기 때문에 오드 워드라인들(LWL_A1, LWL_A3, LWL_A5, LWL_A7)의 메모리 셀들에 데이터를 저장할 수 없다.
이렇게 이븐 워드라인들의 메모리 셀들에 데이터가 모두 저장된 상태에서 이븐 워드라인들의 메모리 셀들에 저장된 데이터가 모두 무효화되고 오드 워드라인들의 메모리 셀들이 소거 상태인 메모리 블록을 검색되지 않으면, 단계(S240)에서, 메모리 컨트롤러의 제어에 따라 메모리 장치는 가비지 컬렉션을 수행한다. 또는, 정해진 메모리 블록들(LMB_A~LMB_D)에 포함된 모든 메모리 셀들에 데이터가 저장된 후, 메모리 컨트롤러의 제어에 따라 메모리 장치는 가비지 컬렉션을 수행할 수도 있다. 이때, 무효화된 데이터가 저장된 메모리 셀들을 가장 많이 포함하는 메모리 블록(LMB_D)의 가비지 컬렉션을 수행하는 것이 바람직하다.
먼저, 유효 워드라인에 해당하는 이븐 워드라인(LWL_D3)의 메모리 셀에 저장된 데이터(DATA7_1)를 다른 메모리 블록(DMB_A)의 이븐 워드라인(DWL_A0)에 저장한다. 이러한 동작은 카피 백 동작으로 가능하다.
도 8을 참조하면, 데이터(DATA7_1)가 저장되어 있던 메모리 블록의 소거 동작을 실시한다. 그리고, 데이터(DATA7_1)가 저장되어 있던 메모리 블록의 어드레스와 데이터(DATA7_1)가 옮겨져 저장된 메모리 블록의 어드레스를 교환/변경한다. 또한, 소거 동작이 실시된 메모리 블록은 사용 가능한 메모리 블록으로 재설정된다.
여기서, 데이터(DATA7_1)가 데이터 메모리 블록으로 옮겨지고 로그 메모리 블록이 소거되는 경우, 데이터(DATA7_1)가 저장되어 있던 메모리 블록을 데이터 메모리 블록(DMB_A)의 변경하고, 데이터(DATA7_1)가 저장된 메모리 블록을 로그 메모리 블록(LMD_D)로 변경할 수도 있다.
이후, 데이터의 추가 저장이 요구되는 경우, 메모리 블록(LMB_D)의 이븐 워드라인들 중 프리 워드라인들(LWL_D2, LWL_D4, LWL_D6)의 메모리 셀들에 데이터가 순차적으로 저장된다.
상기와 같이, 이븐 워드라인들의 메모리 셀들에만 데이터를 저장하면 간섭 현상이 발생되는 것을 방지할 수 있다. 그리고, 무효 워드라인들 사이에 위치하는 오드 워드라인들의 메모리 셀들에 데이터를 저장하면, 간섭 현상과 데이터 저장 용량의 감소를 함께 방지할 있다. 또한, 가비지 컬렉션을 수행함으로써, 상기에서 설명한 데이터 저장 방법을 보다 효율적으로 실행할 수 있다.
도 9는 본 발명의 다른 실시예에 따른 반도체 장치의 동작 방법을 설명하기 위한 흐름도이다.
도 9를 참조하면, 데이터의 저장이 완료된 후 단계(S910)에서 호스트로부터 데이터의 추가 저장 요청이 접수되면, 다음의 방식으로 데이터가 저장될 메모리 블록을 선택한다.
먼저, 단계(S920)에서 이븐 워드라인들 중 일부 이븐 워드라인들에만 데이터가 저장된 메모리 블록이 존재하는지 확인한다. 메모리 블록이 검색되면 도 2의 단계(S210)에서 설명한 방식으로 소거 상태인 이븐 워드라인들의 메모리 셀들에 데이터를 저장한다. 즉, 이전 데이터 저장 동작에서 일부 이븐 워드라인들의 메모리 셀들에만 데이터를 저장된 후 데이터 저장 동작이 완료되며, 이후 데이터 저장 동작에서는 다음 이븐 워드라인의 메모리 셀들에 데이터를 저장하기 시작한다.
일부 이븐 워드라인들에만 데이터가 저장된 메모리 블록이 존재하지 않으면, 단계(S930)에서 오드 워드라인들 중 일부 오드 워드라인들에만 데이터가 저장된 메모리 블록이 존재하는지 확인한다. 메모리 블록이 검색되면 도 2의 단계(S230)에서 설명한 방식으로 소거 상태인 오드 워드라인들의 메모리 셀들에 데이터를 저장한다. 즉, 이전 데이터 저장 동작에서 일부 오드 워드라인들의 메모리 셀들에만 데이터를 저장된 후 데이터 저장 동작이 완료되며, 이후 데이터 저장 동작에서는 다음 오드 워드라인의 메모리 셀들에 데이터를 저장하기 시작한다.
일부 워드라인들에만 데이터가 저장된 메모리 블록이 존재하지 않으면, 단계(S940)에서 전체 소거 상태의 메모리 블록이 존재하는지 확인한다. 전체 소거 상태의 메모리 블록이 존재하면 단계(S960)에서 전체 소거 상태의 메모리 블록에 데이터 저장을 수행한다. 이때 데이터의 저장은 도 2의 단계(S230)에서 설명한 방식으로 진행될 수 있다.
한편, 전체 소거 상태의 메모리 블록도 존재하지 않으면 데이터 저장이 가능한 메모리 블록이 존재하지 않는다는 것을 의미하므로, 데이터 저장이 가능한 메모리 블록을 만들기 위해 단계(S950)에서 가비지 컬렉션을 수행한다. 가비지 컬렉션은 도 2의 단계(S240)에서 설명한 방식으로 진행될 수 있다. 가비지 컬렉션이 수행됨에 따라 전체 소거 상태의 메모리 블록이 생기고, 단계(S960)에서 소거 상태의 메모리 블록에 데이터 저장을 수행한다.
10 : 반도체 장치 100 : 메모리 컨트롤러
110 : 내부 버스 120 : 프로세서
130 : FTL 140 : 저장부
150 : 메모리 인터페이스 160 : ECC
170 : 호스트 인터페이스 200 : 메모리 장치
210 : 메모리 어레이 220 : 제어 회로
230 : 전압 공급 회로 240 : 읽기/쓰기 회로
250 : 입출력 회로

Claims (21)

  1. 제1 워드라인들과 상기 제1 워드라인들 사이에 각각 배치되는 제2 워드라인들을 포함하는 메모리 블록들의 상기 제1 워드라인들에 연결된 메모리 셀들에 데이터를 저장하는 단계;
    상기 메모리 블록들 중에서 상기 제1 워드라인들의 상기 메모리 셀들에 저장된 데이터가 무효화된 메모리 블록을 검색하는 단계; 및
    검색된 메모리 블록의 상기 제2 워드라인들에 연결된 메모리 셀들에 데이터를 저장하는 단계를 포함하는 반도체 장치의 동작 방법.
  2. 제 1 항에 있어서,
    상기 검색된 메모리 블록은 소거 상태의 메모리 셀들이 연결된 상기 제2 워드라인들을 포함하는 반도체 장치의 동작 방법.
  3. 제 1 항에 있어서,
    상기 메모리 블록들에 포함된 상기 제1 워드라인들의 상기 메모리 셀들에 데이터가 모두 저장된 후에 상기 메모리 블록을 검색하는 반도체 장치의 동작 방법.
  4. 제 1 항에 있어서,
    상기 제1 워드라인 또는 상기 제2 워드라인의 메모리 셀들에 저장된 데이터가 갱신되면 상기 제1 워드라인 또는 상기 제2 워드라인의 메모리 셀들에 저장된 데이터가 무효 데이터가 되는 반도체 장치의 동작 방법.
  5. 제 4 항에 있어서,
    상기 제1 워드라인 또는 상기 제2 워드라인의 메모리 셀들에 저장된 데이터가 갱신되면 갱신 데이터는 다른 워드라인의 메모리 셀들에 저장되는 반도체 장치의 동작 방법.
  6. 제 1 항에 있어서,
    상기 제1 워드라인들 및 제2 워드라인들의 메모리 셀들에 저장된 데이터가 모두 무효 데이터가 된 메모리 블록의 소거 동작을 실시하는 단계를 더 포함하는 반도체 장치의 동작 방법.
  7. 제 1 항에 있어서,
    무효 데이터가 저장된 메모리 셀들을 가장 많이 포함하는 메모리 블록의 가비지 컬렉션을 수행하는 단계를 더 포함하는 반도체 장치의 동작 방법.
  8. 제 7 항에 있어서,
    상기 가비지 컬렉션은 상기 제1 워드라인들의 메모리 셀들에 데이터를 저장할 수 있는 메모리 블록이 검색되지 않고 상기 제2 워드라인들의 메모리 셀들에 데이터를 저장할 수 있는 메모리 블록이 검색되지 않으면 실시되는 반도체 장치의 동작 방법.
  9. 제 1 항에 있어서,
    상기 제1 워드라인들 중 일부 제1 워드라인들의 메모리 셀들에만 데이터가 저장된 메모리 블록이 검색되면 나머지 제1 워드라인들의 메모리 셀들에 데이터를 저장하기 시작하고,
    상기 제2 워드라인들 중 일부 제2 워드라인들의 메모리 셀들에만 데이터가 저장된 메모리 블록이 검색되면 나머지 제2 워드라인들의 메모리 셀들에 데이터를 저장하기 시작하는 반도체 장치의 동작 방법.
  10. 제 1 항에 있어서,
    상기 메모리 블록들은 데이터 메모리 블록들과 로그 메모리 블록들을 포함하는 메모리 어레이에서 상기 로그 메모리 블록들에 해당하는 반도체 장치의 동작 방법.
  11. 제1 워드라인들과 상기 제1 워드라인들 사이에 각각 배치되는 제2 워드라인들을 각각 포함하는 메모리 블록들; 및
    상기 메모리 블록들의 상기 제1 워드라인들과 연결된 메모리 셀들에 데이터를 저장하고, 상기 메모리 블록들 중에서 상기 제1 워드라인들의 메모리 셀들에 저장된 데이터가 모두 무효화된 메모리 블록이 검색되면 검색된 메모리 블록의 상기 제2 워드라인들과 연결된 메모리 셀들에 데이터를 저장하도록 구성된 주변 회로를 포함하는 반도체 장치.
  12. 제 11 항에 있어서,
    상기 메모리 블록들은 데이터 메모리 블록들과 로그 메모리 블록들을 포함하고,
    상기 주변 회로는 상기 로그 메모리 블록들에 포함된 상기 제1 워드라인들의 상기 메모리 셀들에 데이터가 모두 저장된 후에 상기 메모리 블록을 검색하도록 구성되는 반도체 장치.
  13. 제 11 항에 있어서,
    상기 제1 워드라인 또는 상기 제2 워드라인의 메모리 셀들에 저장된 데이터가 갱신되면, 상기 주변 회로는 상기 제1 워드라인 또는 상기 제2 워드라인의 메모리 셀들에 저장된 데이터를 무효화 처리하는 반도체 장치.
  14. 제 13 항에 있어서,
    상기 제1 워드라인 또는 상기 제2 워드라인의 메모리 셀들에 저장된 데이터가 갱신되면, 상기 주변 회로는 갱신된 데이터를 다른 워드라인의 메모리 셀들에 저장하도록 구성되는 반도체 장치.
  15. 제 11 항에 있어서,
    상기 주변 회로는 상기 제1 워드라인들 및 상기 제2 워드라인들의 메모리 셀들에 저장된 데이터가 모두 무효화된 메모리 블록의 소거 동작을 실시하도록 구성되는 반도체 장치.
  16. 제 11 항에 있어서,
    상기 주변 회로는 무효화된 데이터가 저장된 메모리 셀들을 가장 많이 포함하는 메모리 블록의 가비지 컬렉션을 수행하도록 구성되는 반도체 장치.
  17. 제 16 항에 있어서,
    상기 주변 회로는 상기 제1 워드라인들의 메모리 셀들에 데이터를 저장할 수 있거나 상기 제2 워드라인들의 메모리 셀들에 데이터를 저장할 수 있는 메모리 블록이 검색되지 않으면 상기 가비지 컬렉션을 실시하도록 구성되는 반도체 장치.
  18. 제 11 항에 있어서,
    상기 주변 회로는 상기 제1 워드라인들 중 일부 제1 워드라인들의 메모리 셀들에만 데이터가 저장된 메모리 블록이 검색되면 나머지 제1 워드라인들의 메모리 셀들에 데이터를 저장하기 시작하고,
    상기 제2 워드라인들 중 일부 제2 워드라인들의 메모리 셀들에만 데이터가 저장된 메모리 블록이 검색되면 나머지 제2 워드라인들의 메모리 셀들에 데이터를 저장하기 시작하도록 구성되는 반도체 장치의 동작 방법.
  19. 다수의 메모리 블록들을 포함하고, 각각의 메모리 블록은 제1 워드라인들과 상기 제1 워드라인들 사이에 각각 배치되는 제2 워드라인들을 포함하는 메모리 장치; 및
    상기 메모리 블록들 중 선택된 메모리 블록의 상기 제1 워드라인들에 연결된 메모리 셀들에 데이터가 먼저 저장되고, 저장된 데이터가 모두 무효화되면 상기 제2 워드라인들과 연결된 메모리 셀들에 데이터가 저장되도록 물리적 어드레스를 논리적 어드레스로 변경하여 상기 메모리 장치로 출력하는 메모리 컨트롤러를 포함하는 반도체 장치.
  20. 제 19 항에 있어서,
    상기 메모리 장치는 무효화된 데이터가 저장된 메모리 셀들을 가장 많이 포함하는 메모리 블록의 가비지 컬렉션을 수행하도록 구성되는 반도체 장치.
  21. 제 20 항에 있어서,
    상기 메모리 컨트롤러는 상기 물리적 어드레스를 상기 가비지 컬렉션에 의해 옮겨진 데이터의 논리적 어드레스로 변경하도록 구성되는 반도체 장치.
KR1020130006893A 2013-01-22 2013-01-22 반도체 장치 및 이의 동작 방법 KR20140094278A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130006893A KR20140094278A (ko) 2013-01-22 2013-01-22 반도체 장치 및 이의 동작 방법
US13/844,914 US20140208044A1 (en) 2013-01-22 2013-03-16 Semiconductor device and method of operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130006893A KR20140094278A (ko) 2013-01-22 2013-01-22 반도체 장치 및 이의 동작 방법

Publications (1)

Publication Number Publication Date
KR20140094278A true KR20140094278A (ko) 2014-07-30

Family

ID=51208675

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130006893A KR20140094278A (ko) 2013-01-22 2013-01-22 반도체 장치 및 이의 동작 방법

Country Status (2)

Country Link
US (1) US20140208044A1 (ko)
KR (1) KR20140094278A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160044989A (ko) * 2014-10-15 2016-04-26 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법
KR20160071703A (ko) * 2014-12-12 2016-06-22 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20170125178A (ko) * 2016-05-03 2017-11-14 삼성전자주식회사 Raid 스토리지 장치 및 그것의 관리 방법
CN108236547A (zh) * 2017-11-27 2018-07-03 周明忠 电动转向四轮dz下肢残疾失能自理生活辅助机器人
US11269767B2 (en) 2019-07-08 2022-03-08 SK Hynix Inc. Memory controller and operating method thereof

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6269422B2 (ja) * 2014-09-30 2018-01-31 京セラドキュメントソリューションズ株式会社 可搬型記憶装置
JP2017174482A (ja) 2016-03-24 2017-09-28 力晶科技股▲ふん▼有限公司 不揮発性半導体記憶装置とその消去方法
CN113590504A (zh) * 2016-06-29 2021-11-02 北京忆恒创源科技股份有限公司 存储日志帧以及日志条目的固态硬盘
US20180024751A1 (en) * 2016-07-19 2018-01-25 Western Digital Technologies, Inc. Metadata management on a storage device
US10282097B2 (en) * 2017-01-05 2019-05-07 Western Digital Technologies, Inc. Storage system and method for thin provisioning

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080282024A1 (en) * 2007-05-09 2008-11-13 Sudeep Biswas Management of erase operations in storage devices based on flash memories
US8144511B2 (en) * 2009-08-19 2012-03-27 Sandisk Technologies Inc. Selective memory cell program and erase
US8443167B1 (en) * 2009-12-16 2013-05-14 Western Digital Technologies, Inc. Data storage device employing a run-length mapping table and a single address mapping table

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160044989A (ko) * 2014-10-15 2016-04-26 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법
KR20160071703A (ko) * 2014-12-12 2016-06-22 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20170125178A (ko) * 2016-05-03 2017-11-14 삼성전자주식회사 Raid 스토리지 장치 및 그것의 관리 방법
CN108236547A (zh) * 2017-11-27 2018-07-03 周明忠 电动转向四轮dz下肢残疾失能自理生活辅助机器人
US11269767B2 (en) 2019-07-08 2022-03-08 SK Hynix Inc. Memory controller and operating method thereof

Also Published As

Publication number Publication date
US20140208044A1 (en) 2014-07-24

Similar Documents

Publication Publication Date Title
US10657041B2 (en) Data management method and storage device performing the same
US9697116B2 (en) Storage system and writing method thereof
US9195583B2 (en) Methods of managing meta data in a memory system and memory systems using the same
KR20140094278A (ko) 반도체 장치 및 이의 동작 방법
JP5585919B2 (ja) 電源遮断管理
JP6224253B2 (ja) フラッシュメモリ内に記憶されたデータの推測的プリフェッチ
KR102549605B1 (ko) Raid 스토리지 장치의 리커버리 방법
US20110208898A1 (en) Storage device, computing system, and data management method
KR102564774B1 (ko) 메모리 시스템 혹은 데이터 처리 시스템의 동작을 진단하는 장치 혹은 진단을 통해 신뢰성을 확보하는 방법
US11487630B2 (en) Storage device and data processing method thereof
KR20160078611A (ko) 불휘발성 메모리 시스템 및 그것의 동작 방법
US11386005B2 (en) Memory system, memory controller, and method of operating memory system for caching journal information for zone in the journal cache
US11782840B2 (en) Memory system, operation method thereof, and database system including the memory system
KR20200016075A (ko) 메모리 시스템에서의 유효 데이터 탐색 방법 및 장치
US11113202B2 (en) Operating method forcing the second operation to fail using a scatter-gather buffer and memory system thereof
US10942678B2 (en) Method of accessing data in storage device, method of managing data in storage device and storage device performing the same
US20230273878A1 (en) Storage device for classifying data based on stream class number, storage system, and operating method thereof
US10996881B2 (en) Storage device and method of operating the same
US20230195617A1 (en) System and method for defragmentation of memory device
KR20220130526A (ko) 메모리 시스템 및 그 동작 방법
US20240231624A1 (en) Method and apparatus for performing data access management of memory device in predetermined communications architecture with aid of unbalanced table regions
US20240232093A1 (en) Method and apparatus for performing data access management of memory device in predetermined communications architecture with aid of unbalanced table search
US20240232074A1 (en) Method and apparatus for performing data access management of memory device in predetermined communications architecture with aid of unbalanced table update
US11126545B2 (en) Memory system and operating method thereof
KR20240065774A (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