KR101716716B1 - 플래그 셀들을 갖는 플래시 메모리 장치 및 그것의 프로그램 동작 방법 - Google Patents

플래그 셀들을 갖는 플래시 메모리 장치 및 그것의 프로그램 동작 방법 Download PDF

Info

Publication number
KR101716716B1
KR101716716B1 KR1020100106218A KR20100106218A KR101716716B1 KR 101716716 B1 KR101716716 B1 KR 101716716B1 KR 1020100106218 A KR1020100106218 A KR 1020100106218A KR 20100106218 A KR20100106218 A KR 20100106218A KR 101716716 B1 KR101716716 B1 KR 101716716B1
Authority
KR
South Korea
Prior art keywords
cells
flag
main
program
memory device
Prior art date
Application number
KR1020100106218A
Other languages
English (en)
Other versions
KR20120046846A (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 KR1020100106218A priority Critical patent/KR101716716B1/ko
Priority to US13/205,771 priority patent/US8611150B2/en
Publication of KR20120046846A publication Critical patent/KR20120046846A/ko
Application granted granted Critical
Publication of KR101716716B1 publication Critical patent/KR101716716B1/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/10Programming or data input circuits
    • 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/5642Sensing or reading circuits; Data output circuits
    • 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
    • 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/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells

Landscapes

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

Abstract

본 발명은 플래시 메모리 장치 및 그것의 프로그램 동작 방법에 관한 것이다. 본 발명의 실시 예에 따른 플래시 메모리 장치는 메인 셀들과 플래그 셀들을 갖는 메모리 셀 어레이, 상기 메인 셀들에 대한 프로그램 패스 여부를 판정하는 제 1 판정 회로, 및 판정 기준을 상기 제 1 판정 회로보다 더욱 엄격하게 적용하여 상기 플래그 셀들에 대한 프로그램 패스 여부를 판정하는 제 2 판정 회로를 포함한다.

Description

플래그 셀들을 갖는 플래시 메모리 장치 및 그것의 프로그램 동작 방법{FLASH MEMORY DEVICE HAVING FLAG CELLS AND PROGRAM OPERATING METHOD THEREOF}
본 발명은 반도체 메모리 장치 및 그것의 동작 방법에 관한 것으로, 좀 더 구체적으로 플래시 메모리 장치 및 그것의 프로그램 동작 방법에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화인듐(InP, indium phospide) 등과 같은 반도체를 이용하여 구현되는 저장 장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile memory device)와 불휘발성 메모리 장치(Nonvolatile memory device)로 구분된다.
휘발성 메모리 장치는 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리 장치에는 SRAM(Static RAM), DRAM(Dynamic RAM), SDRAM(Synchronous DRAM) 등이 있다. 불휘발성 메모리 장치는 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 메모리 장치이다. 불휘발성 메모리 장치에는 ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Electrically Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), 플래시 메모리, PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), FRAM(Ferroelectric RAM) 등이 있다. 플래시 메모리는 크게 노어형(NOR-type)과 낸드형(NAND-type)으로 구분된다.
플래시 메모리 장치의 메모리 셀들은 각각의 메모리 셀에 저장되는 비트 수에 따라 결정되는 데이터 상태를 갖는다. 하나의 메모리 셀에 1-비트 데이터를 저장하는 메모리 셀을 단일 비트 셀(Single-Bit Cell) 또는 단일 레벨 셀(Single-Level Cell: SLC)이라고 한다. 그리고, 메모리 셀에 멀티-비트 데이터(예를 들어, 2-비트 이상)를 저장하는 메모리 셀을 멀티 비트 셀(Multi-Bit Cell) 또는 멀티 레벨 셀(Multi-Level Cell: MLC)이라고 한다. 최근 들어, 메모리 장치의 고집적도 경향에 따라, 멀티 레벨 셀들을 갖는 플래시 메모리 장치에 대한 연구가 활발히 진행되고 있다.
본 발명의 목적은 프로그램 동작 속도를 높이면서 신뢰성을 향상시킬 수 있는 플래시 메모리 장치 및 그것의 프로그램 동작 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 플래시 메모리 장치는 메인 셀들과 플래그 셀들을 갖는 메모리 셀 어레이, 상기 메인 셀들에 대한 프로그램 패스 여부를 판정하는 제 1 판정 회로, 및 판정 기준을 상기 제 1 판정 회로보다 더욱 엄격하게 적용하여 상기 플래그 셀들에 대한 프로그램 패스 여부를 판정하는 제 2 판정 회로를 포함한다.
실시 예에 있어서, 상기 플래그 셀들에 대한 프로그램 동작시에, 상기 플래그 셀들 중 검증 읽기 전압보다 작은 문턱 전압을 갖는 적어도 하나의 플래그 셀이 검출되는 경우, 상기 플래그 셀들이 프로그램 페일된 것으로 판정된다.
실시 예에 있어서, 상기 제 1 판정 회로는, 상기 메인 셀들에 대한 프로그램 동작시에, 상기 메인 셀들에 대한 페일 비트 수를 카운트하고, 상기 카운트된 페일 비트 수가 허용 범위를 만족하는지 여부에 따라 상기 메인 셀들에 대한 프로그램 패스 여부를 판정한다. 상기 제 2 판정 회로는, 상기 플래그 셀들에 대한 프로그램 동작시에, 상기 플래그 셀들에 대한 페일 비트 수를 카운트하고, 상기 카운트된 페일 비트 수가 상기 제 1 판정 회로의 허용 범위보다 제한적인 허용 범위를 만족하는지 여부에 따라 상기 플래그 셀들에 대한 프로그램 패스 여부를 판정한다.
실시 예에 있어서, 상기 메인 셀들 및 플래그 셀들의 수는 프로그램 루프마다 카운트된다.
실시 예에 있어서, 상기 메인 셀들 및 플래그 셀들은 페이지 단위로 프로그램되고, 상기 플래그 셀들은 상기 플래그 셀들에 대응하는 페이지의 메인 셀들이 프로그램되는 동안 프로그램된다.
실시 예에 있어서, 상기 메인 셀들 및 상기 플래그 셀들은 3-비트의 데이터를 저장하는 멀티 레벨 셀들로서 구현된다.
실시 예에 있어서, 상기 플래그 셀들은 상기 메인 셀들이 MSB 프로그램되었는지 여부를 나타내기 위해 적어도 두 개의 상태들 중 하나를 갖도록 프로그램된다.
실시 예에 있어서, 상기 플래시 메모리 장치는, 상기 제 1 판정 회로의 판정 결과에 응답하여 상기 메인 셀들에 대한 프로그램 동작을 제어하고, 상기 제 2 판정 회로의 판정 결과에 응답하여 상기 플래그 셀들에 대한 프로그램 동작을 제어하는 제어 로직 회로를 더 포함할 수 있다.
본 발명의 다른 실시 예에 따른 플래시 메모리 장치는, 메모리 셀 어레이, 제 1 및 제 2 판정회로, 그리고 제어 로직 회로를 포함한다. 상기 메모리 셀 어레이는 메인 셀들, 상기 메인 셀들 중 2-비트 메인 셀들에 대응하는 제 1 플래그 셀들, 그리고 상기 메인 셀들 중 3-비트 메인 셀들에 대응하는 제 2 플래그 셀들을 갖는다. 상기 제 1 판정 회로는 상기 메인 셀들에 대한 프로그램 패스 여부를 판정하고, 판정 결과로서 메인 판정 신호를 출력한다. 상기 제 2 판정 회로는 판정 기준을 상기 제 1 판정 회로보다 더욱 엄격하게 적용하여 상기 제 1 및 제 2 플래그 셀들에 대한 프로그램 패스 여부를 판정하고, 판정 결과로서 플래그 판정 신호를 출력한다. 그리고, 상기 제어 로직 회로는 상기 제 메인 판정 신호에 응답하여 상기 메인 셀들에 대한 프로그램 동작을 제어하고, 상기 제 플래그 판정 신호에 응답하여 상기 제 1 및 제 2 플래그 셀들에 대한 프로그램 동작을 제어한다.
실시 예에 있어서, 상기 제 1 판정 회로는, 상기 메인 셀들에 대한 프로그램 동작시에, 적어도 하나의 메인 셀이 검증 읽기 전압보다 낮은 문턱 전압을 갖더라도, 상기 검증 읽기 전압보다 낮은 문턱 전압을 갖는 메인 셀들의 수가 허용 범위를 만족하는 경우에는, 상기 메인 셀들이 프로그램 패스된 것으로 판정한다. 상기 제 2 판정 회로는, 상기 제 1 및 제 2 플래그 셀들에 대한 프로그램 동작시에, 상기 제 1 및 제 2 플래그 셀들이 모두 검증 읽기 전압과 같거나 그보다 높은 문턱 전압을 갖는 경우, 상기 제 1 및 제 2 플래그 셀들이 프로그램 패스된 것으로 판정한다.
실시 예에 있어서, 상기 제 1 플래그 셀들은 상기 2-비트 메인 셀들이 MSB 프로그램되었는지 여부를 나타내기 위해 적어도 두 개의 상태들 중 하나를 갖도록 프로그램되고, 상기 제 2 플래그 셀들은 상기 3-비트 메인 셀들이 MSB 프로그램되었는지 여부를 나타내기 위해 적어도 두 개의 상태들 중 하나를 갖도록 프로그램된다.
실시 예에 있어서, 상기 제 1 플래그 셀들에 대한 프로그램 동작시에 인가되는 검증 읽기 전압과 상기 제 2 플래그 셀들에 대한 프로그램 동작시에 인가되는 검증 읽기 전압은 서로 다른 것을 특징으로 한다.
본 발명의 실시 예에 따른 플래시 메모리 장치의 프로그램 방법은, 메인 셀들을 프로그램하는 단계, 상기 메인 셀들에 대응하는 플래그 셀들을 프로그램하는 단계, 상기 메인 셀들에 대한 페일 비트 수를 카운트하는 단계, 상기 플래그 셀들에 대한 페일 비트 수를 카운트하는 단계, 상기 메인 셀들에 대한 페일 비트 수가 제 1 허용 범위를 만족하는지 여부에 따라 상기 메인 셀들에 대한 프로그램 패스 여부를 판정하는 단계, 및 상기 플래그 셀들에 대한 페일 비트 수가 상기 제 1 허용 범위보다 제한적인 제 2 허용 범위를 만족하는지 여부에 따라 상기 플래그 셀들에 대한 프로그램 패스 여부를 판정하는 단계를 포함한다.
실시 예에 있어서, 상기 플래그 셀들에 대한 프로그램 패스 여부를 판정하는 단계에서, 상기 플래그 셀들에 대한 페일 비트 수가 1이거나 그보다 큰 경우에는 상기 플래그 셀들이 프로그램 페일된 것으로 판정된다.
실시 예에 있어서, 상기 프로그램 방법은 상기 플래그 셀들이 프로그램 페일된 것으로 판정되는 경우에는, 상기 플래그 셀들에 대한 프로그램 루프를 반복하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 제 1 허용 범위는 ECC(Error Correction Code) 알고리즘에 의해 정정될 수 있는 오류 비트 수에 대응한다.
본 발명의 실시 예에 따른 플래시 메모리 장치 및 그것의 프로그램 동작 방법에 의하면, 프로그램 동작시에, 메모리 셀들에 대해서는 완화된 검증 기준을 적용하고, 메모리 셀들의 프로그램 상태를 저장하는 플래그 셀들에 대해서는 엄격한 검증 기준을 적용함으로써, 프로그램 동작 속도를 높이면서 신뢰성을 향상시킬 수 있다.
도 1은 본 발명의 제 1 실시 예에 따른 플래시 메모리 장치를 간략하게 보여주는 블록도이다.
도 2는 도 1에 도시된 메모리 셀 어레이의 구조를 예시적으로 보여주는 회로도이다.
도 3은 본 발명의 제 2 실시 예에 따른 플래시 메모리 장치를 간략하게 보여주는 블록도이다.
도 4는 도 3에 도시된 메모리 셀 어레이의 구조를 예시적으로 보여주는 회로도이다.
도 5 및 도 6은 멀티 레벨 셀들의 문턱 전압 분포를 예시적으로 보여주는 도면이다.
도 7 및 도 8은 본 발명의 실시 예에 따른 플래시 메모리 장치의 프로그램 방법을 설명하기 위한 순서도이다.
도 9는 본 발명의 실시 예에 따른 플래시 메모리 장치를 사용하는 메모리 시스템을 보여주는 블록도이다.
도 10은 본 발명의 실시 예에 따른 플래시 메모리 장치를 포함하는 메모리 카드를 보여주는 블록도이다.
도 11은 도 9에 도시된 메모리 카드의 내부 구성 및 호스트와의 연결 관계를 보여주는 블록도이다.
도 12는 본 발명의 실시 예에 따른 플래시 메모리 장치를 솔리드 스테이트 드라이브(SSD)로 구현한 예를 보여주는 블록도이다.
도 13은 도 12에 도시된 SSD 컨트롤러의 구성을 예시적으로 보여주는 블록도이다.
도 14는 본 발명의 실시 예에 따른 플래시 메모리 장치를 전자 장치로 구현한 예를 보여주는 블록도이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명할 것이다.
간결한 설명을 위하여, 플래시 메모리 장치를 참조하여 본 발명의 실시 예가 설명될 것이다. 그러나, 본 발명의 실시 예는 플래시 메모리 장치인 것으로 한정되지 않는다. 예시적으로, 본 발명의 기술적 사상은 ROM, PROM, EPROM, EEPROM, MRAM, PRAM, RRAM, FRAM 등과 같은 불휘발성 메모리 장치에 적용 및 응용될 수 있다.
도 1은 본 발명의 제 1 실시 예에 따른 플래시 메모리 장치(100)를 간략하게 보여주는 블록도이다. 도 1을 참조하면, 플래시 메모리 장치(100)는 메모리 셀 어레이(memory cel array, 110), 행 디코더(row decoder, 120), 읽기/쓰기 회로(read/write circuit, 130), 제어 로직 회로(control logic circuit, 140) 및 전압 발생기(voltage generator, 150)를 포함한다.
메모리 셀 어레이(110)는 매트릭스 형태로 배열되는 메모리 셀들을 포함한다. 메모리 셀들 각각은 단일 비트 데이터 또는 멀티 비트 데이터를 저장하도록 구성될 수 있다. 즉, 메모리 셀들은 멀티 레벨 셀(Single-Level Cell, 이하, “SLC”라고 칭함)들, 멀티 레벨 셀(Multi-Level Cell, 이하, “MLC”라고 칭함)들, 또는 SLC들과 MLC들의 혼합 형태로 구현될 수 있다.
메모리 셀 어레이(110)는 메인 데이터(MCD)를 저장하기 위한 메인 셀 영역(main, cell area, 111) 및 플래그 데이터(FCD)를 저장하기 위한 플래그 셀 영역(flag cell area, 112)을 포함한다. 여기서, 플래그 데이터(FCD)는 메인 셀 영역(111)에 포함되는 메모리 셀들(이하, “메인 셀들”이라고 칭함)의 프로그램 상태를 페이지 단위로 나타내는 데이터를 말한다. 예를 들어, 플래그 데이터(FCD)는 대응하는 페이지의 메모리 셀들이 MSB(Most Significant Bit) 프로그램되었는지 여부를 나타낸다. 플래그 데이터(FCD)는 플래그 셀 영역(112)에 포함되는 메모리 셀들(이하, “플래그 셀들”이라고 칭함)에 저장된다. 메모리 셀 어레이(110)는 이하의 도 2를 참조하여 더욱 상세하게 설명될 것이다.
행 디코더(120)는 제어 로직 회로(140)의 제어에 응답하여 동작한다. 행 디코더(120)는 어드레스 버퍼 등과 같은 잘 알려진 구성 요소들을 포함할 수 있다. 행 디코더(120)는 외부로부터 제공되는 행 어드레스를 디코딩한다. 행 디코더(120)는 디코딩된 행 어드레스에 따라 메모리 셀 어레이(110)에 연결되는 워드 라인들을 구동한다. 행 디코더(120)는 전압 발생기(150)에서 제공하는 선택 읽기 전압, 비선택 읽기 전압, 프로그램 전압, 검증 읽기 전압 등과 같은 워드 라인 전압들을 대응하는 워드 라인에 인가한다.
읽기/쓰기 회로(130)는 비트 라인들(MBLs, FBLs)을 통해 메모리 셀 어레이(110)에 연결되고, 읽기/쓰기 회로(130)는 제어 로직 회로(150)의 제어에 응답하여 동작한다. 읽기/쓰기 회로(130)는 열 디코더(미도시됨)로부터 전달되는 디코딩된 열 어드레스에 따라 비트 라인들(MBLs, FBLs)을 선택한다. 읽기/쓰기 회로(130)는 읽기 동작 및 검증 동작시에 메모리 셀 어레이(110)로부터 데이터를 독출하도록 그리고 프로그램 동작시에 메모리 셀 어레이(110)에 데이터를 기입하도록 구성된다. 즉, 읽기/쓰기 회로(130)는 동작 모드에 따라 감지 증폭기(sense amplifier) 또는 기입 구동기(write driver)로서 동작한다.
비록 도면에는 도시되지 않았지만, 플래시 메모리 장치(100)는 데이터 입출력 회로를 더 포함할 수 있다. 데이터 입출력 회로는 읽기/쓰기 회로(130)에 의해 독출된 데이터를 외부로 송신한다. 또한, 데이터 입출력 회로는 읽기/쓰기 회로(130)에 의해 기입될 데이터를 외부로부터 수신한다.
읽기/쓰기 회로(130)는 페이지 버퍼 회로(131), 메인 판단 회로(132) 및 플래그 판단 회로(133)를 포함한다. 비록 도면에는 도시되지 않았지만, 읽기/쓰기 회로는(130)는 열 선택 회로 등과 같은 잘 알려진 구성 요소들을 포함할 수 있다.
페이지 버퍼 회로(131)는 메인 비트 라인들(MBLs)을 통해 메인 셀 영역(111)으로부터 독출된 메인 데이터(MCD) 및 플래그 비트 라인들(FBLs)을 통해 플래그 셀 영역(112)으로부터 독출된 플래그 데이터(FCD)를 저장한다. 또한, 페이지 버퍼 회로(131)는 메인 비트 라인들(MBLs)을 통해 메인 셀 영역(111)에 기입될 메인 데이터(MCD) 및 플래그 비트 라인들(FBLs)을 통해 플래그 셀 영역(112)에 기입될 플래그 데이터(FCD)를 저장한다.
메인 판단 회로(132)는 검증 동작시에 독출되는 메인 데이터(MCD)에 근거하여 메인 셀들에 대한 프로그램 패스 여부를 판단한다. 이를 위해, 메인 판단 회로(132)는 프로그램 루프마다 검증 읽기 전압보다 낮은 문턱 전압을 갖는 메인 셀들의 수를 카운트한다. 즉, 메인 판단 회로(132)는 프로그램 루프마다 메인 셀들에 대한 페일 비트 수를 카운트한다.
메인 판단 회로(132)는 메인 셀들에 대한 페일 비트 수가 허용 범위를 만족하는 경우에는 프로그램이 완료된 것이라고 판단하고, 메인 셀들에 대한 페일 비트 수가 허용 범위를 벗어나는 경우에는 프로그램이 완료되지 않은 것이라고 판단한다. 그리고, 메인 판단 회로(132)는 메인 셀들에 대한 프로그램 패스 여부에 대한 판단 결과를 나타내는 메인 판단 신호(MJS)를 제어 로직 회로(140)에 제공한다.
한편, 페일 비트들은 읽기 동작 시에 오류 정정 코드(Error Correction Code: ECC) 알고리즘을 이용하여 정정될 수 있다. 다만, 정정될 수 있는 페일 비트 수는 ECC 알고리즘의 처리 능력에 의존한다. 결국, ECC 알고리즘의 처리 능력은 페일 비트 수의 허용 범위를 결정한다.
본 발명의 실시 예에 의하면, 메인 셀들에 대한 페일 비트들은 읽기 동작시에 ECC 알고리즘에 의해 정정될 수 있다. 따라서, 메인 셀들에 대한 페일 비트 수가 허용 범위를 만족하는 경우에는 프로그램 동작을 완료함으로써, 프로그램 시간 및 프로그램 간섭(program disturbance)을 줄일 수 있다.
플래그 판단 회로(133)는 검증 동작시에 독출되는 플래그 데이터(FCD)에 근거하여 플래그 셀들에 대한 프로그램 패스 여부를 판단한다. 이를 위해, 플래그 판단 회로(133)는 프로그램 루프마다 검증 읽기 전압보다 낮은 문턱 전압을 갖는 플래그 셀들의 수를 카운트한다. 즉, 플래그 판단 회로(133)는 프로그램 루프마다 플래그 셀들에 대한 페일 비트 수를 카운트한다.
플래그 판단 회로(133)는 플래그 셀들에 대한 페일 비트 수가 허용 범위를 만족하는 경우에는 프로그램이 완료된 것이라고 판단하고, 플래그 셀들에 대한 페일 비트 수가 허용 범위를 벗어나는 경우에는 프로그램이 완료되지 않은 것이라고 판단한다. 다만, 플래그 판단 회로(133)는 플래그 셀들에 대한 페일 비트 수의 허용 범위를 메인 셀들에 대한 페일 비트 수의 허용 범위보다 더욱 엄격하게 적용하여 프로그램 패스 여부를 판단한다. 예를 들어, 플래그 판단 회로(133)는 플래그 셀들에 대해 적어도 하나의 페일 비트라도 카운트되는 경우에는 프로그램이 완료되지 않은 것이라고 판단한다. 그리고, 플래그 판단 회로(133)는 플래그 셀들에 대한 프로그램 패스 여부에 대한 판단 결과를 나타내는 플래그 판단 신호(FJS)를 제어 로직 회로(140)에 제공한다.
한편, MLC들의 LSB 프로그램 동작과 MLC들의 MSB 프로그램 동작은 플래그 데이터(FCD)의 분석 결과에 따라 선택되는 프로그램 알고리즘에 의해 수행된다. 그리고, MLC들의 LSB 읽기 동작과 MLC들의 MSB 읽기 동작은 플래그 데이터(FCD)의 분석 결과에 따라 선택되는 읽기 알고리즘에 의해 수행된다. 다시 말해, 메인 셀들에 대한 프로그램 및 읽기 동작 동안, 플래그 데이터(FCD)가 참조 정보로서 사용된다. 따라서, 메인 셀들에 대한 정상적인 프로그램 및 읽기 동작을 위해서는, 플래그 데이터(FCD)가 정확하게 프로그램되는 것이 요구된다.
본 발명의 실시 예에 의하면, 플래그 셀들에 대한 페일 비트 수의 허용 범위를 메인 셀들에 대한 페일 비트 수의 허용 범위보다 엄격하게 적용하여 프로그램 패스 여부를 판단함으로써, 프로그램 및 읽기 동작의 신뢰성을 향상시킬 수 있다.
제어 로직 회로(140)는 플래시 메모리 장치(100)의 프로그램, 소거 및 읽기 동작과 같은 전반적인 동작을 제어한다. 예를 들어, 제어 로직 회로(140)는, 프로그램 동작시에, 프로그램 전압이 선택 워드 라인에 인가되고, 패스 전압이 비선택 워드 라인들에 인가되도록 행 디코더(120), 읽기/쓰기 회로(130) 및 전압 발생기(150)를 제어한다. 여기서, 프로그램 전압은 증가형 스텝 펄스 프로그래밍(Incremental Step Pulse Programming: ISPP) 방식에 따라 발생할 수 있다. 즉,프로그램 전압은 프로그램 루프들이 반복됨에 따라 단계적으로 증가할 수 있다.
제어 로직 회로(140)는 플래그 셀들에 저장된 플래그 데이터(FCD)를 분석한다. 그리고, 제어 로직 회로(140)는 플래그 데이터(FCD)의 분석 결과(플래그 셀들에 대응하는 메인 셀들이 MSB 프로그램되었는지 여부)에 따라 프로그램 알고리즘들 및 읽기 알고리즘들 중 하나를 선택한다. 제어 로직 회로(140)는 선택된 알고리즘에 따른 동작을 수행하도록 행 디코더(120), 읽기/쓰기 회로(130) 및 전압 발생기(150)를 제어한다.
제어 로직 회로(140)는 메인 판단 신호(MJS)에 응답하여 메인 셀들에 대한 프로그램 동작을 제어한다. 예를 들어, 제어 로직 회로(140)는 메인 판단 신호(MJS)에 따라 페이지 단위의 메인 셀들에 대한 프로그램 동작을 계속 수행하거나 종료한다.
제어 로직 회로(140)는 플래그 판단 신호(FJS)에 응답하여 플래그 셀들에 대한 프로그램 동작을 제어한다. 예를 들어, 제어 로직 회로(140)는 플래그 판단 신호(FJS)에 따라 페이지 단위의 플래그 셀들에 대한 프로그램 동작을 계속 수행하거나 종료한다.
전압 발생기(150)는 제어 로직 회로(150)의 제어에 응답하여 동작 모드에 따른 워드 라인 전압들을 발생한다. 그리고, 전압 발생기(150)는 이런 워드 라인 전압들을 행 디코더(120)에 제공한다.
도 2는 도 1에 도시된 메모리 셀 어레이(110)의 구조를 예시적으로 보여주는 회로도이다. 도 2를 참조하면, 상술한 바와 같이, 메모리 셀 어레이(110)는 메인 셀 영역(111)과 플래그 셀 영역(112)을 포함한다. 도 2에 도시된 메모리 셀 어레이(110)는 하나의 메모리 블록에 대응한다. 그러나, 메모리 셀 어레이(110)는 복수의 메모리 블록들을 포함할 수 있다.
메모리 셀 어레이(110), 즉, 메인 셀 영역(111)과 플래그 셀 영역(112)은 복수의 스트링들을 포함한다. 복수의 스트링들은 대응하는 비트 라인들(MBL1~MBLn, FBL1~FBLi)에 각각 연결된다. 예를 들어, 메인 셀 영역(111)의 스트링들은 대응하는 메인 비트 라인들(MBL1~MBLn)에 각각 연결된다. 플래그 셀 영역(112)의 스트링들은 대응하는 플래그 비트 라인들(FBL1~FBLi)에 각각 연결된다.
스트링들 각각은 스트링 선택 트랜지스터(SST), 접지 선택 트랜지스터(GST) 및 복수의 메모리 셀들(MC1~MCn)로 구성된다. 복수의 메모리 셀들(MC1~MCn)은 스트링 선택 트랜지스터(SST) 및 접지 선택 트랜지스터(GST) 사이에 연결된다. 스트링 선택 트랜지스터(SST)의 드레인/소스는 대응하는 비트 라인에 연결된다. 접지 선택 트랜지스터(GST)의 소스/드레인은 공통 소스 라인(CSL)에 연결된다. 스트링 선택 트랜지스터(SST)는 스트링 선택 라인(SSL)을 통해 인가되는 전압에 의해 제어되고, 접지 선택 트랜지스터(GST)는 접지 선택 라인(GSL)을 통해 인가되는 전압에 의해 제어된다. 메모리 셀들(MC1~MCn)의 제어 게이트들은 대응하는 워드 라인들(WL1~WLn)에 각각 연결된다.
플래그 셀들은 대응하는 페이지의 메인 셀들이 MSB 프로그램되었는지 여부를 식별할 수 있도록 프로그램된다. 이를 위해, 플래그 셀들은 대응하는 페이지의 메인 셀들이 MSB 프로그램되는 동안 프로그램될 수 있다. 그리고, 플래그 셀들에 대응하는 페이지의 메인 셀들이 MSB 프로그램되었는지 여부는 플래그 셀들에 저장된 플래그 데이터를 분석하여 식별될 수 있다.
본 발명의 실시 예에 있어서, 메인 셀들 및 플래그 셀들은 2비트 또는 3비트의 데이터를 저장하는 MLC로 구현된다. 다만, 메인 셀들 및 플래그 셀들은 이에 한정되지 않고, 4비트 이상의 데이터를 저장하는 MLC로 구현될 수 있다.
도 3은 본 발명의 제 2 실시 예에 따른 플래시 메모리 장치(200)를 간략하게 보여주는 블록도이다. 그리고, 도 4는 도 3에 도시된 메모리 셀 어레이(200)의 구조를 예시적으로 보여주는 회로도이다. 이하에서, 본 발명의 제 2 실시 예에 따른 플래시 메모리 장치(200)에 대해 제 1 실시 예에 따른 플래시 메모리 장치(200)와의 차이점을 위주로 설명될 것이다. 그리고, 제 1 실시 예에 따른 플래시 메모리 장치(200)와의 중복되는 설명은 생략하기로 한다.
도 3을 참조하면, 메모리 셀 어레이(210)는 메인 셀 영역(211), 제 1 플래그 셀 영역(212) 및 제 2 플래그 셀 영역(213)을 포함한다. 본 발명의 실시 예에 있어서, 제 1 플래그 영역(212)의 플래그 셀들은 2비트의 데이터를 저장하는 메인 셀들(이하, “2-비트 메인 셀들”이라고 칭함)이 MSB 프로그램되었는지 여부를 나타내는 제 1 플래그 데이터(FCD1)를 저장한다. 제 2 플래그 영역(213)의 플래그 셀들은 3비트의 데이터를 저장하는 메인 셀들(이하, “3-비트 메인 셀들”이라고 칭함)이 MSB 프로그램되었는지 여부를 나타내는 제 2 플래그 데이터(FCD2)를 저장한다.
플래그 판단 회로(233)는 검증 동작시에 독출되는 제 1 및 제 2 플래그 데이터(FCD1, FCD2)에 근거하여 플래그 셀들에 대한 프로그램 패스 여부를 판단한다. 이를 위해, 플래그 판단 회로(233)는 프로그램 루프마다 검증 읽기 전압보다 낮은 문턱 전압을 갖는 플래그 셀들의 수를 카운트한다. 즉, 플래그 판단 회로(233)는 프로그램 루프마다 플래그 셀들에 대한 페일 비트 수를 카운트한다.
도 1을 참조하여 설명된 바와 같이, 플래그 판단 회로(233)는 플래그 셀들에 대한 페일 비트 수의 허용 범위를 메인 셀들에 대한 페일 비트 수의 허용 범위보다 더욱 엄격하게 적용하여 프로그램 패스 여부를 판단한다. 예를 들어, 플래그 판단 회로(233)는 플래그 셀들에 대해 적어도 하나의 페일 비트라도 카운트되는 경우에는 프로그램이 완료되지 않은 것이라고 판단한다.
플래그 판단 회로(233)는 제 1 플래그 셀들에 대한 프로그램 패스 여부에 대한 판단 결과를 나타내는 제 1 플래그 판단 신호(FJS1) 및 제 2 플래그 셀들에 대한 프로그램 패스 여부에 대한 판단 결과를 나타내는 제 2 플래그 판단 신호(FJS2)를 제어 로직 회로(140)에 제공한다.
도 4를 참조하면, 메모리 셀 어레이(210), 즉, 메인 셀 영역(211)과 제 1 및 제 2 플래그 셀 영역(212, 213)은 복수의 스트링들을 포함한다. 복수의 스트링들은 대응하는 비트 라인들(MBL1~MBLn, FBL1_1~FBL1_i, FBL2_1~FBL2_j)에 각각 연결된다. 예를 들어, 메인 셀 영역(211)의 스트링들은 대응하는 메인 비트 라인들(MBL1~MBLn)에 각각 연결된다. 제 1 및 제 2 플래그 셀 영역(212, 213)의 스트링들은 대응하는 플래그 비트 라인들(FBL1_1~FBL1_i, FBL2_1~FBL2_j)에 각각 연결된다.
제 1 플래그 영역(212)의 플래그 셀들은 대응하는 페이지의 2-비트 메인 셀들이 MSB 프로그램되었는지 여부를 식별할 수 있도록 프로그램된다. 이를 위해, 제 1 플래그 영역(212)의 플래그 셀들은 대응하는 페이지의 2-비트 메인 셀들이 MSB 프로그램되는 동안 프로그램될 수 있다. 그리고, 제 1 플래그 영역(212)의 플래그 셀들에 대응하는 페이지의 2-비트 메인 셀들이 MSB 프로그램되었는지 여부는 제 1 플래그 데이터를 분석하여 식별될 수 있다.
제 2 플래그 영역(213)의 플래그 셀들은 대응하는 페이지의 3-비트 메인 셀들이 MSB 프로그램되었는지 여부를 식별할 수 있도록 프로그램된다. 이를 위해, 제 2 플래그 영역(213)의 플래그 셀들은 대응하는 페이지의 3-비트 메인 셀들이 MSB 프로그램되는 동안 프로그램될 수 있다. 그리고, 제 2 플래그 영역(213)의 플래그 셀들에 대응하는 페이지의 3-비트 메인 셀들이 MSB 프로그램되었는지 여부는 제 2 플래그 데이터를 분석하여 식별될 수 있다.
이와 같이, 본 발명의 실시 예에 있어서, 메모리 셀 어레이(210)는 복수의 플래그 영역들(212, 213)을 포함할 수 있다. 예를 들어, 메모리 셀 어레이(210)는 제 1 플래그 데이터를 저장하기 위한 제 1 플래그 영역(212) 및 제 2 플래그 데이터를 저장하기 위한 제 2 플래그 영역(213)으로 구분될 수 있다. 여기서, 제 1 플래그 데이터에 대응하는 메인 셀들이 저장하는 데이터의 비트 수와 제 2 플래그 데이터에 대응하는 메인 셀들이 저장하는 데이터의 비트 수는 서로 다르도록 구성될 수 있다.
도 5 및 도 6은 멀티 레벨 셀들(MLCs)의 문턱 전압 분포를 예시적으로 보여주는 도면이다. 도 5에는 2-비트 MLC들로 구성된 메인 셀들과 플래그 셀들의 문턱 전압 분포가 예시적으로 도시되어 있다. 도 6에는 3-비트 MLC들로 구성된 메인 셀들과 플래그 셀들의 문턱 전압 분포가 예시적으로 도시되어 있다.
도 5를 참조하면, 메인 셀들 각각은 문턱 전압에 따라 소거 상태(E), 제 1 내지 제 3 프로그램 상태(P1~P3) 중 하나를 가질 수 있다. 제 1 프로그램 상태(P1)를 갖는 메인 셀들의 문턱 전압은 소거 상태(E)를 갖는 메인 셀들의 문턱 전압보다 높다. 제 2 프로그램 상태(P2)를 갖는 메인 셀들의 문턱 전압은 제 1 프로그램 상태(P1)를 갖는 메인 셀들의 문턱 전압보다 높다. 제 3 프로그램 상태(P3)를 갖는 메인 셀들의 문턱 전압은 제 2 프로그램 상태(P2)를 갖는 메인 셀들의 문턱 전압보다 높다.
플래그 셀들 각각은 문턱 전압에 따라 소거 상태(E) 및 제 2 프로그램 상태(P2) 중 하나를 가질 수 있다. 여기서, 플래그 셀들의 소거 상태(E)는 대응하는 메인 셀들이 MSB 프로그램되어 있지 않은 경우를 나타내고, 플래그 셀들의 제 2 프로그램 상태(P2)는 대응하는 메인 셀들이 MSB 프로그램되어 있는 경우를 나타낸다.
제 1 내지 제 3 검증 읽기 전압(Vvr1~Vvr3)이 검증 동작시에 메인 셀들의 상태들을 검증하기 위해 사용될 수 있다. 예를 들어, 제 1 내지 제 3 검증 읽기 전압(Vvr1~Vvr3) 중 하나가 프로그램 루프마다 프로그램 및 읽기 알고리즘에 따라 선택되어 선택 워드 라인에 인가될 수 있다. 그리고, 제 2 검증 읽기 전압(Vvr2)이 검증 동작시에 플래그 셀들의 상태들을 검증하기 위해 사용될 수 있다.
메인 셀들에 대한 프로그램 패스 여부를 판단하기 위해, 제 1 내지 제 3 검증 읽기 전압(Vvr1~Vvr3) 중 선택되는 검증 읽기 전압보다 낮은 문턱 전압을 갖는 메인 셀들의 수(메인 셀들에 대한 페일 비트 수)가 프로그램 루프마다 카운트된다. 그리고, 메인 셀들에 대한 페일 비트 수가 허용 범위를 만족하는 경우에는, 페이지 단위의 프로그램 동작이 완료된다. 반면에, 메인 셀들에 대한 페일 비트 수가 허용 범위를 벗어나는 경우에는, 메인 셀들에 대한 페일 비트 수가 허용 범위를 만족할 때까지 프로그램 루프들이 반복된다.
플래그 셀들에 대한 프로그램 패스 여부를 판단하기 위해, 제 2 검증 읽기 전압(Vvr2)보다 낮은 문턱 전압을 갖는 플래그 셀들의 수(플래그 셀들에 대한 페일 비트 수)가 프로그램 루프마다 카운트된다. 그리고, 플래그 셀들에 대한 페일 비트 수가 허용 범위를 만족하는 경우에는, 페이지 단위의 프로그램 동작이 완료된다. 반면에, 플래그 셀들에 대한 페일 비트 수가 허용 범위를 벗어나는 경우에는, 메인 셀들에 대한 페일 비트 수가 허용 범위를 만족할 때까지 프로그램 루프들이 반복된다.
본 발명의 실시 예에 있어서, 프로그램 패스 여부는 플래그 셀들에 대한 페일 비트 수의 허용 범위를 메인 셀들에 대한 페일 비트 수의 허용 범위보다 엄격하게 적용하여 판단된다. 예를 들어, 같은 페이지에 대응하는 모든 플래그 셀들이 검증 읽기 전압이상의 문턱 전압을 갖는 경우, 플래그 셀들에 대해 페이지 단위의 프로그램이 완료되었다고 판단될 수 있다.
도 6을 참조하면, 메인 셀들 각각은 문턱 전압에 따라 소거 상태(E), 제 1 내지 제 7 프로그램 상태(P1~P7) 중 하나를 가질 수 있다. 플래그 셀들 각각은 문턱 전압에 따라 소거 상태(E) 및 제 5 프로그램 상태(P5) 중 하나를 가질 수 있다. 여기서, 플래그 셀들의 소거 상태(E)는 대응하는 메인 셀들이 MSB 프로그램되어 있지 않은 경우를 나타내고, 플래그 셀들의 제 5 프로그램 상태(P5)는 대응하는 메인 셀들이 MSB 프로그램되어 있는 경우를 나타낸다.
제 1 내지 제 7 검증 읽기 전압(Vvr1~Vvr7)이 검증 동작시에 메인 셀들의 상태들을 검증하기 위해 사용될 수 있다. 예를 들어, 제 1 내지 제 7 검증 읽기 전압(Vvr1~Vvr7) 중 하나가 프로그램 루프마다 프로그램 및 읽기 알고리즘에 따라 선택되어 선택 워드 라인에 인가될 수 있다. 그리고, 제 4 검증 읽기 전압(Vvr4)이 검증 동작시에 플래그 셀들의 상태들을 검증하기 위해 사용될 수 있다. 이하에서, 도 5에 대한 설명과 중복되는 설명은 생략하기로 한다.
도 7 및 도 8은 본 발명의 실시 예에 따른 플래시 메모리 장치의 프로그램 방법을 설명하기 위한 순서도이다. 도 7에는 메인 셀들에 대한 프로그램 방법을 설명하기 위한 순서도가 도시되고 있다. 도 8에는 플래그 셀들에 대한 프로그램 방법을 설명하기 위한 순서도가 도시되고 있다.
도 7을 참조하면, 단계 S110에서, 메인 셀들이 페이지 단위로 프로그램된다. 단계 S120에서, 검증 읽기 전압을 선택 워드 라인에 인가하고, 검증 읽기 전압보다 낮은 문턱 전압을 갖는 메인 셀들의 수(NUM_FM)가 카운트된다. 즉, 메인 셀들에 대한 페일 비트 수(NUM_FM)가 카운트된다.
단계 S130에서, 메인 셀들에 대한 페일 비트 수(NUM_FM)가 허용치(PVAL)를 초과하는지 여부를 판단한다. 메인 셀들에 대한 페일 비트 수(NUM_FM)가 허용치(PVAL)보다 큰 경우, 단계 S110 및 단계 S120이 반복된다. 즉, 메인 셀들에 대한 다음 프로그램 루프가 반복된다. 이때, 허용치(PVAL)는 적어도 1이거나 그보다 큰 수일 것이다. 메인 셀들에 대한 페일 비트 수(NUM_FM)가 허용치(PVAL)와 같거나 그보다 작은 경우, 단계 S140에서, 페이지 단위의 메인 셀들이 모두 프로그램 패스로서 처리된다.
도 8을 참조하면, 단계 S210에서, 플래그 셀들이 페이지 단위로 프로그램된다. 단계 S220에서, 검증 읽기 전압을 선택 워드 라인에 인가하고, 검증 읽기 전압보다 낮은 문턱 전압을 갖는 플래그 셀들의 수(NUM_FF)가 카운트된다. 즉, 플래그 셀들에 대한 페일 비트 수(NUM_FF)가 카운트된다.
단계 S230에서, 플래그 셀들에 대한 페일 비트 수(NUM_FF)가 0인지 여부를 판단한다. 플래그 셀들에 대한 페일 비트 수(NUM_FF)가 0보다 큰 경우, 단계 S210 및 단계 S220이 반복된다. 즉, 플래그 셀들에 대한 다음 프로그램 루프가 반복된다. 플래그 셀들에 대한 페일 비트 수(NUM_FF)가 0인 경우, 단계 S240에서, 페이지 단위의 플래그 셀들이 모두 프로그램 패스로서 처리된다. 이와 같이, 프로그램 패스 여부를 판단함에 있어서, 플래그 셀들에 대한 페일 비트 수의 허용 범위가 메인 셀들에 대한 페일 비트 수의 허용 범위보다 엄격하게 적용된다.
본 발명의 실시 예에 따른 플래시 메모리 장치는 여러 가지 제품에 적용 또는 응용될 수 있다. 본 발명의 실시 예에 따른 플래시 메모리 장치는 퍼스널 컴퓨터, 디지털 카메라, 캠코더, 휴대 전화, MP3, PMP, PSP, PDA 등과 같은 전자 장치들뿐만 아니라, 메모리 카드, USB 메모리, 솔리드 스테이트 드라이브(Solid State Drive, 이하 SSD라 함) 등과 같은 저장 장치로 구현될 수 있다.
도 9는 본 발명의 실시 예에 따른 플래시 메모리 장치를 사용하는 메모리 시스템을 보여주는 블록도이다. 도 9를 참조하면, 메모리 시스템(1000)은 플래시 메모리 장치(1100) 및 메모리 컨트롤러(1200)를 포함한다.
플래시 메모리 장치(1100) 및 메모리 컨트롤러(1200)는 하나의 저장 장치 내에 포함될 수 있다. 이러한 저장 장치에는 USB 메모리 및 메모리 카드(MMC, SD 카드, xD 카드, CF 카드, SIM 카드 등) 등과 같은 이동식 저장 장치도 포함된다. 또한, 이러한 저장 장치는 컴퓨터, 노트북, 디지털 카메라, 휴대폰, MP3 플레이어, PMP, 게임기 등과 같은 호스트(Host)에 접속되어 사용될 수 있다.
플래시 메모리 장치(1100)는 메인 셀들 및 플래그 셀들을 갖는 메모리 셀 어레이를 포함한다. 플래시 메모리 장치(1100)는 메인 셀들에 대한 페일 비트 수가 허용 범위를 만족하는 경우에는 프로그램 동작을 완료하도록 구성된다. 그리고, 플래시 메모리 장치(1100)는 플래그 셀들에 대한 페일 비트 수의 허용 범위를 메인 셀들에 대한 페일 비트 수의 허용 범위보다 엄격하게 적용하여 프로그램 패스 여부를 판단하도록 구성된다.
메모리 컨트롤러(1200)는 플래시 인터페이스(1210), 호스트 인터페이스(1220), ECC 회로(1230), 중앙처리장치(CPU, 1240), 그리고 버퍼 메모리(1250)를 포함한다.
플래시 인터페이스(1210)는 플래시 메모리 장치(1100)와 커맨드, 어드레스, 데이터 등을 주고 받는데 사용된다. 즉, 플래시 인터페이스(1210)는 읽기 동작 시에는 읽기 커맨드 및 어드레스를 제공하고, 쓰기 동작 시에는 쓰기 커맨드, 어드레스, 그리고 데이터를 제공한다. 호스트 인터페이스(1220)는 호스트로부터 쓰기나 읽기 등의 요청을 받거나, 호스트의 요청에 응답하여 데이터를 제공하는 데 사용된다.
ECC 회로(1230)는 플래시 메모리 장치(1100)로 전송되는 데이터를 이용하여, 패러티 비트 (또는 ECC 데이터)를 생성한다. 이렇게 생성된 패러티 비트는 플래시 메모리 장치(1100)의 스페어 영역(spare area)에 저장된다. ECC 회로(1230)는 플래시 메모리 장치(1100)로부터 읽혀진 데이터의 에러를 검출한다. 만약 검출된 에러가 정정 범위 내이면, ECC 회로(1230)는 검출된 에러를 정정한다. 한편, ECC 회로(1230)는 메모리 시스템(1000)에 따라, 메모리 컨트롤러(1200) 내에 위치하거나 밖에 위치할 수 있다.
중앙처리장치(1240)는 호스트의 요청에 응답하여 플래시 메모리 장치(1100)의 읽기 또는 쓰기 동작 등을 제어하도록 구성된다. 버퍼 메모리(1250)는 플래시 메모리 장치(1100)로부터 읽혀진 데이터 또는 호스트로부터 제공되는 데이터를 임시로 저장할 수 있다. 또한, 버퍼 메모리(1250)는 플래시 변환 레이어(Flash Translation Layer; FTL)와 같은 펌웨어를 구동하는 데 사용될 수도 있다. 플래시 변환 레이어(FTL)는 중앙처리장치(1240)에 의해 운용된다. 버퍼 메모리(1250)는 DRAM, SRAM 등으로 구현될 수 있다.
한편, 버퍼 메모리(1250)는 읽기 에러 정보를 관리하는 데 필요한 테이블 정보를 저장할 수 있다. 이 테이블 정보는 메타(meta) 데이터로, 중앙처리장치(1240) 제어 하에 플래시 메모리 장치(1100)의 메타 영역에 저장된다. 이 테이블 정보는 파워 업 시에 메타 영역으로부터 버퍼 메모리(1250)로 복사된다. 비록 도면에는 도시되지 않았지만, 메모리 시스템(1000)은 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM이 더 포함될 수 있다.
도 10은 본 발명의 실시 예에 따른 플래시 메모리 장치를 포함하는 메모리 카드를 보여주는 블록도이다. 도 10은 메모리 카드 중에서 SD 카드의 외형을 보여준다. 도 10을 참조하면, SD 카드는 9개의 핀으로 구성되어 있다. SD 카드는 4개의 데이터 핀(예를 들면, 1, 7, 8, 9), 한 개의 커맨드 핀(예를 들면, 2), 한 개의 클록 핀(예를 들면, 5), 3개의 전원 핀(예를 들면, 3, 4, 6)을 갖는다.
여기서, 커맨드 핀(핀 번호 2)을 통해 커맨드(command) 및 응답 신호(response)가 전달된다. 일반적으로, 커맨드(command)는 호스트로부터 메모리 카드로 전송되고, 응답 신호(response)는 메모리 카드로부터 호스트로 전송된다.
본 발명의 실시 예에 따른 메모리 시스템(1000)은 SD 카드 등과 같은 이동식 저장장치로 구현될 수 있다. 메모리 시스템(1000)은 플래시 메모리 장치(1100) 및 플래시 메모리 장치(1100)를 제어하기 위한 메모리 컨트롤러(1200)를 포함할 수 있다.
플래시 메모리 장치(1100)는 메인 셀들 및 플래그 셀들을 갖는 메모리 셀 어레이를 포함한다. 플래시 메모리 장치(1100)는 메인 셀들에 대한 페일 비트 수가 허용 범위를 만족하는 경우에는 프로그램 동작을 완료하도록 구성된다. 그리고, 플래시 메모리 장치(1100)는 플래그 셀들에 대한 페일 비트 수의 허용 범위를 메인 셀들에 대한 페일 비트 수의 허용 범위보다 엄격하게 적용하여 프로그램 패스 여부를 판단하도록 구성된다.
도 11은 도 10에 도시된 메모리 카드의 내부 구성 및 호스트와의 연결 관계를 보여주는 블록도이다. 메모리 카드 시스템(2000)은 호스트(2100)와 메모리 카드(2200)를 포함한다. 호스트(2100)는 호스트 컨트롤러(2110) 및 호스트 접속 유닛(2120)을 포함한다. 메모리 카드(2200)는 카드 접속 유닛(2210), 카드 컨트롤러(2220), 그리고 메모리(2230)를 포함한다.
호스트 접속 유닛(2120) 및 카드 접속 유닛(2210)은 복수의 핀으로 구성된다. 이들 핀에는 커맨드 핀, 데이터 핀, 클록 핀, 전원 핀 등이 포함되어 있다. 핀의 수는 메모리 카드(2200)의 종류에 따라 달라진다. 예시적으로, SD 카드는 9개의 핀을 갖는다.
호스트(2100)는 메모리 카드(2200)에 데이터를 쓰거나, 메모리 카드(2200)에 저장된 데이터를 읽는다. 호스트 컨트롤러(2110)는 커맨드(예를 들면, 쓰기 커맨드), 호스트(2100) 내의 클록 발생기(도시되지 않음)에서 발생한 클록 신호(CLK), 그리고 데이터(DAT)를 호스트 접속 유닛(2120)을 통해 메모리 카드(2200)로 전송한다.
카드 컨트롤러(2220)는 카드 접속 유닛(2210)을 통해 수신된 쓰기 커맨드에 응답하여, 카드 컨트롤러(2220) 내에 있는 클록 발생기(도시되지 않음)에서 발생한 클록 신호(CLK)에 동기하여 데이터를 메모리(2230)에 저장한다. 메모리(2230)는 호스트(2100)로부터 전송된 데이터를 저장한다. 예를 들어, 호스트(2100)가 디지털 카메라인 경우에는 영상 데이터를 저장한다.
본 발명의 실시 예에 따른 메모리 시스템(1000)은 메모리 카드 시스템(2000)으로 구현될 수 있다. 메모리 시스템(1000)은 플래시 메모리 장치(1100) 및 메모리 컨트롤러(1200)를 포함한다. 여기서, 플래시 메모리 장치(1100)는 메모리(2230)로 구현되고, 메모리 컨트롤러(1200)는 카드 컨트롤러(2220)로 구현될 수 있다.
플래시 메모리 장치(1100)는 메인 셀들 및 플래그 셀들을 갖는 메모리 셀 어레이를 포함한다. 플래시 메모리 장치(1100)는 메인 셀들에 대한 페일 비트 수가 허용 범위를 만족하는 경우에는 프로그램 동작을 완료하도록 구성된다. 그리고, 플래시 메모리 장치(1100)는 플래그 셀들에 대한 페일 비트 수의 허용 범위를 메인 셀들에 대한 페일 비트 수의 허용 범위보다 엄격하게 적용하여 프로그램 패스 여부를 판단하도록 구성된다.
도 12는 본 발명의 실시 예에 따른 플래시 메모리 장치를 솔리드 스테이트 드라이브(SSD)로 구현한 예를 보여주는 블록도이다. 도 12를 참조하면, SSD 시스템(3000)은 호스트(3100)와 SSD(3200)를 포함한다. SSD(3200)는 신호 커넥터(signal connector, 3231)를 통해 호스트(3100)와 신호를 주고 받으며, 전원 커넥터(power connector, 3221)를 통해 전원을 입력받는다. SSD(3200)는 복수의 불휘발성 메모리 장치(3201~320n), SSD 컨트롤러(3210), 그리고 보조 전원 장치(3220)를 포함한다.
복수의 불휘발성 메모리 장치(3201~320n)는 SSD(3200)의 저장 매체로서 사용된다. 복수의 불휘발성 메모리 장치(3201~320n)는 대용량의 저장 능력을 가지는 플래시 메모리 장치로 구현될 수 있다. SSD(3200)는 주로 플래시 메모리를 사용하고 있으나, 플래시 메모리 이외에도 PRAM, MRAM, ReRAM, FRAM 등의 불휘발성 메모리 장치가 사용될 수도 있다.
복수의 불휘발성 메모리 장치(3201~320n)는 복수의 채널(CH1~CHn)을 통해 SSD 컨트롤러(3210)와 연결될 수 있다. 하나의 채널에는 하나 또는 그 이상의 메모리 장치가 연결될 수 있다. 하나의 채널에 연결되는 메모리 장치들은 동일한 데이터 버스에 연결될 수 있다.
SSD 컨트롤러(3210)는 신호 커넥터(3231)를 통해 호스트(3100)와 신호(SGL)를 주고 받는다. 여기에서, 신호(SGL)에는 커맨드, 어드레스, 데이터 등이 포함될 수 있다. SSD 컨트롤러(3210)는 호스트(3100)의 커맨드에 따라 해당 메모리 장치에 데이터를 쓰거나 해당 메모리 장치로부터 데이터를 읽어낸다. SSD 컨트롤러(3210)의 내부 구성은 이하의 도 13을 참조하여 상세하게 설명될 것이다.
보조 전원 장치(3220)는 전원 커넥터(3221)를 통해 호스트(3100)와 연결된다. 보조 전원 장치(3220)는 호스트(3100)로부터 입력되는 전력(PWR)을 충전할 수 있다. 한편, 보조 전원 장치(3220)는 SSD(3200) 내에 위치할 수도 있고, SSD(3200) 밖에 위치할 수 있다. 예를 들면, 보조 전원 장치(3220)는 메인 보드에 위치하고, SSD(3200)에 보조 전원을 제공할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템(1000)은 SSD 시스템(3000)으로 구현될 수 있다. 메모리 시스템(1000)은 플래시 메모리 장치(1100) 및 플래시 메모리 장치(1100)를 제어하기 위한 메모리 컨트롤러(1200)를 포함할 수 있다. 여기서, 플래시 메모리 장치(1100)는 복수의 불휘발성 메모리 장치(3201~320n)로 구현되고, 메모리 컨트롤러(1200)는 SSD 컨트롤러(3210)로 구현될 수 있다.
플래시 메모리 장치(1100)는 메인 셀들 및 플래그 셀들을 갖는 메모리 셀 어레이를 포함한다. 플래시 메모리 장치(1100)는 메인 셀들에 대한 페일 비트 수가 허용 범위를 만족하는 경우에는 프로그램 동작을 완료하도록 구성된다. 그리고, 플래시 메모리 장치(1100)는 플래그 셀들에 대한 페일 비트 수의 허용 범위를 메인 셀들에 대한 페일 비트 수의 허용 범위보다 엄격하게 적용하여 프로그램 패스 여부를 판단하도록 구성된다.
도 13은 도 12에 도시된 SSD 컨트롤러의 구성을 예시적으로 보여주는 블록도이다. 도 13을 참조하면, SSD 컨트롤러(3210)는 NVM 인터페이스(3211), 호스트 인터페이스(3212), ECC 회로(3213), 중앙 처리 장치(CPU, 3214), 그리고 버퍼 메모리(3215)를 포함한다.
NVM 인터페이스(3211)는 버퍼 메모리(3215)로부터 전달된 데이터를 각각의 채널들(CH1~CHn)로 스캐터링(Scattering)한다. 그리고 NVM 인터페이스(3211)는 불휘발성 메모리 장치(3201~320n)로부터 읽은 데이터를 버퍼 메모리(3215)로 전달한다. 여기서, NVM 인터페이스(3211)는 낸드 플래시 메모리의 인터페이스 방식을 사용할 수 있다. 즉, SSD 컨트롤러(3210)는 낸드 플래시 메모리 인터페이스 방식에 따라 프로그램, 읽기 및 소거 동작 등을 수행할 수 있다.
호스트 인터페이스(3212)는 호스트(Host)의 프로토콜에 대응하여 SSD(3200)와의 인터페이싱을 제공한다. 호스트 인터페이스(3212)는 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI express, ATA, PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI) 등을 이용하여 호스트(Host)와 통신할 수 있다. 또한, 호스트 인터페이스(3212)는 호스트(Host)가 SSD(3200)를 하드 디스크 드라이브(HDD)로 인식하도록 지원하는 디스크 에뮬레이션(Disk Emulation) 기능을 수행할 수 있다.
ECC 회로(3213)는 불휘발성 메모리(3201~320n)로 전송되는 데이터를 이용하여, 패러티 비트를 생성한다. 이렇게 생성된 패러티 비트는 불휘발성 메모리(3201~320n)의 스페어 영역(spare area)에 저장된다. ECC 회로(3213)는 불휘발성 메모리(3201~320n)로부터 읽혀진 데이터의 에러를 검출한다. 만약 검출된 에러가 정정 범위 내이면, ECC 회로(3213)는 검출된 에러를 정정한다.
중앙 처리 장치(3214)는 호스트(Host)로부터 입력된 신호(SGL)를 분석하고 처리한다. 중앙 처리 장치(3214)는 호스트 인터페이스(3212)나 NVM 인터페이스(3211)를 통해 호스트(Host)나 불휘발성 메모리(3201~320n)를 제어한다. 중앙 처리 장치(3214)는 SSD(3200)을 구동하기 위한 펌웨어에 따라서 불휘발성 메모리 장치(3201~320n)의 동작을 제어한다.
버퍼 메모리(3215)는 호스트(Host)로부터 제공되는 쓰기 데이터 또는 불휘발성 메모리 장치로부터 읽은 데이터를 임시로 저장한다. 또한, 버퍼 메모리(3215)는 불휘발성 메모리 장치(3201~320n)에 저장될 메타 데이터나 캐시 데이터를 저장할 수 있다. 서든 파워 오프 동작 시에, 버퍼 메모리(3215)에 저장된 메타 데이터나 캐시 데이터는 불휘발성 메모리 장치(3201~320n)에 저장된다. 버퍼 메모리(3215)에는 DRAM, SRAM 등이 포함될 수 있다.
도 14는 본 발명의 실시 예에 따른 플래시 메모리 장치를 전자 장치로 구현한 예를 보여주는 블록도이다. 여기에서, 전자 장치(4000)는 퍼스널 컴퓨터(PC)로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(Personal Digital Assistant), 그리고 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.
도 14를 참조하면, 전자 장치(4000)는 메모리 시스템(4100), 전원 장치(4200), 보조 전원 장치(4250), 중앙처리장치(4300), 램(4400), 그리고 사용자 인터페이스(4500)를 포함한다. 메모리 시스템(4100)은 플래시 메모리(4110) 및 메모리 컨트롤러(4120)를 포함한다.
본 발명의 실시 예에 따른 메모리 시스템(1000)은 전자 장치(4000)의 메모리 시스템(4100)으로 구현될 수 있다. 메모리 시스템(1000)은 플래시 메모리 장치(1100) 및 플래시 메모리 장치(1100)를 제어하기 위한 메모리 컨트롤러(1200)를 포함할 수 있다. 여기서, 플래시 메모리 장치(1100)는 전자 장치(4000)의 플래시 메모리(4110)로 구현되고, 메모리 컨트롤러(1200)는 전자 장치(4000)의 메모리 컨트롤러(4120)로 구현될 수 있다.
플래시 메모리 장치(1100)는 메인 셀들 및 플래그 셀들을 갖는 메모리 셀 어레이를 포함한다. 플래시 메모리 장치(1100)는 메인 셀들에 대한 페일 비트 수가 허용 범위를 만족하는 경우에는 프로그램 동작을 완료하도록 구성된다. 그리고, 플래시 메모리 장치(1100)는 플래그 셀들에 대한 페일 비트 수의 허용 범위를 메인 셀들에 대한 페일 비트 수의 허용 범위보다 엄격하게 적용하여 프로그램 패스 여부를 판단하도록 구성된다.
본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
100: 플래시 메모리 장치 110: 메모리 셀 어레이
111: 메인 셀 영역 110: 플래그 셀 영역
120: 행 디코더 130: 읽기/쓰기 회로
131: 페이지 버퍼 회로 132: 메인 판단 회로
133: 플래그 판단 회로 140: 제어 로직 회로
150: 전압 발생기

Claims (10)

  1. 메인 셀들과 플래그 셀들을 갖는 메모리 셀 어레이;
    상기 메인 셀들에 대한 프로그램 패스 여부를 판정하는 제 1 판정 회로; 및
    상기 제 1 판정 회로의 허용 범위보다 제한적인 허용 범위의 페일 비트 수를 기준으로 상기 플래그 셀들에 대한 프로그램 패스 여부를 판정하는 제 2 판정 회로를 포함하는 플래시 메모리 장치.
  2. 제 1 항에 있어서,
    상기 플래그 셀들에 대한 프로그램 동작시에, 상기 플래그 셀들 중 검증 읽기 전압보다 작은 문턱 전압을 갖는 적어도 하나의 플래그 셀이 검출되는 경우, 상기 플래그 셀들이 프로그램 페일된 것으로 판정되는 플래시 메모리 장치.
  3. 제 1 항에 있어서,
    상기 제 1 판정 회로는,
    상기 메인 셀들에 대한 프로그램 동작시에, 상기 메인 셀들에 대한 페일 비트 수를 카운트하고, 상기 카운트된 페일 비트 수가 허용 범위를 만족하는지 여부에 따라 상기 메인 셀들에 대한 프로그램 패스 여부를 판정하는 플래시 메모리 장치.
  4. 제 1 항에 있어서,
    상기 제 2 판정 회로는,
    상기 플래그 셀들에 대한 프로그램 동작시에, 상기 플래그 셀들에 대한 페일 비트 수를 카운트하고, 상기 카운트된 페일 비트 수가 상기 제 1 판정 회로의 허용 범위보다 제한적인 허용 범위를 만족하는지 여부에 따라 상기 플래그 셀들에 대한 프로그램 패스 여부를 판정하는 플래시 메모리 장치.
  5. 제 1 항에 있어서,
    상기 제 1 판정 회로의 판정 결과에 응답하여 상기 메인 셀들에 대한 프로그램 동작을 제어하고, 상기 제 2 판정 회로의 판정 결과에 응답하여 상기 플래그 셀들에 대한 프로그램 동작을 제어하는 제어 로직 회로를 더 포함하는 플래시 메모리 장치.
  6. 메인 셀들, 상기 메인 셀들 중 2-비트 메인 셀들에 대응하는 제 1 플래그 셀들, 그리고 상기 메인 셀들 중 3-비트 메인 셀들에 대응하는 제 2 플래그 셀들을 갖는 메모리 셀 어레이;
    상기 메인 셀들에 대한 프로그램 패스 여부를 판정하고, 판정 결과로서 메인 판정 신호를 출력하는 제 1 판정 회로;
    상기 제 1 판정 회로의 허용 범위보다 제한적인 허용 범위의 페일 비트 수를 기준으로 상기 제 1 및 제 2 플래그 셀들에 대한 프로그램 패스 여부를 판정하고, 판정 결과로서 플래그 판정 신호를 출력하는 제 2 판정 회로; 및
    상기 메인 판정 신호에 응답하여 상기 메인 셀들에 대한 프로그램 동작을 제어하고, 상기 플래그 판정 신호에 응답하여 상기 제 1 및 제 2 플래그 셀들에 대한 프로그램 동작을 제어하는 제어 로직 회로를 포함하는 플래시 메모리 장치.
  7. 제 6 항에 있어서,
    상기 제 1 판정 회로는,
    상기 메인 셀들에 대한 프로그램 동작시에, 적어도 하나의 메인 셀이 검증 읽기 전압보다 낮은 문턱 전압을 갖더라도, 상기 검증 읽기 전압보다 낮은 문턱 전압을 갖는 메인 셀들의 수가 허용 범위를 만족하는 경우에는, 상기 메인 셀들이 프로그램 패스된 것으로 판정하는 플래시 메모리 장치.
  8. 제 6 항에 있어서,
    상기 제 2 판정 회로는,
    상기 제 1 및 제 2 플래그 셀들에 대한 프로그램 동작시에, 상기 제 1 및 제 2 플래그 셀들이 모두 검증 읽기 전압과 같거나 그보다 높은 문턱 전압을 갖는 경우, 상기 제 1 및 제 2 플래그 셀들이 프로그램 패스된 것으로 판정하는 플래시 메모리 장치.
  9. 플래시 메모리 장치의 프로그램 방법에 있어서:
    메인 셀들을 프로그램하는 단계;
    상기 메인 셀들에 대응하는 플래그 셀들을 프로그램하는 단계;
    상기 메인 셀들에 대한 페일 비트 수를 카운트하는 단계;
    상기 플래그 셀들에 대한 페일 비트 수를 카운트하는 단계;
    상기 메인 셀들에 대한 페일 비트 수가 제 1 허용 범위를 만족하는지 여부에 따라 상기 메인 셀들에 대한 프로그램 패스 여부를 판정하는 단계; 및
    상기 플래그 셀들에 대한 페일 비트 수가 상기 제 1 허용 범위보다 제한적인 제 2 허용 범위를 만족하는지 여부에 따라 상기 플래그 셀들에 대한 프로그램 패스 여부를 판정하는 단계를 포함하는 프로그램 방법.
  10. 제 9 항에 있어서,
    상기 플래그 셀들에 대한 프로그램 패스 여부를 판정하는 단계에서,
    상기 플래그 셀들에 대한 페일 비트 수가 1이거나 그보다 큰 경우에는 상기 플래그 셀들이 프로그램 페일된 것으로 판정되는 프로그램 방법.
KR1020100106218A 2010-10-28 2010-10-28 플래그 셀들을 갖는 플래시 메모리 장치 및 그것의 프로그램 동작 방법 KR101716716B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100106218A KR101716716B1 (ko) 2010-10-28 2010-10-28 플래그 셀들을 갖는 플래시 메모리 장치 및 그것의 프로그램 동작 방법
US13/205,771 US8611150B2 (en) 2010-10-28 2011-08-09 Flash memory device including flag cells and method of programming the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100106218A KR101716716B1 (ko) 2010-10-28 2010-10-28 플래그 셀들을 갖는 플래시 메모리 장치 및 그것의 프로그램 동작 방법

Publications (2)

Publication Number Publication Date
KR20120046846A KR20120046846A (ko) 2012-05-11
KR101716716B1 true KR101716716B1 (ko) 2017-03-15

Family

ID=45996627

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100106218A KR101716716B1 (ko) 2010-10-28 2010-10-28 플래그 셀들을 갖는 플래시 메모리 장치 및 그것의 프로그램 동작 방법

Country Status (2)

Country Link
US (1) US8611150B2 (ko)
KR (1) KR101716716B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130060749A (ko) * 2011-11-30 2013-06-10 에스케이하이닉스 주식회사 불휘발성 메모리 장치, 그것의 읽기 방법 및 그것을 포함하는 데이터 저장 장치
KR20130136734A (ko) * 2012-06-05 2013-12-13 에스케이하이닉스 주식회사 불휘발성 메모리 장치
KR20140006460A (ko) * 2012-07-05 2014-01-16 에스케이하이닉스 주식회사 불휘발성 메모리 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 저장 장치
KR102025193B1 (ko) 2013-02-19 2019-09-25 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법, 메모리 컨트롤러를 포함하는 메모리 시스템
KR20140144989A (ko) * 2013-06-12 2014-12-22 에스케이하이닉스 주식회사 메모리 시스템, 반도체 메모리 장치 및 그것들의 동작 방법
US9875810B2 (en) 2013-07-24 2018-01-23 Microsoft Technology Licensing, Llc Self-identifying memory errors
US9342401B2 (en) * 2013-09-16 2016-05-17 Sandisk Technologies Inc. Selective in-situ retouching of data in nonvolatile memory
US9286160B2 (en) * 2014-02-07 2016-03-15 Stmicroelectronics S.R.L. System and method for phase change memory with erase flag cells
US9437303B1 (en) * 2015-08-25 2016-09-06 Macronix International Co., Ltd. Programming method of memory array
US9672928B2 (en) * 2015-11-10 2017-06-06 Samsung Electronics Co., Ltd. Method and apparatus for estimating read levels of nonvolatile memory and for programming pilot signals used for such estimation
KR20200091712A (ko) * 2019-01-23 2020-07-31 에스케이하이닉스 주식회사 반도체 메모리 장치, 컨트롤러 및 이들의 동작 방법
US20240038315A1 (en) * 2022-07-26 2024-02-01 Sandisk Technologies Llc Early detection of programming failure for non-volatile memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7532495B2 (en) 2006-12-13 2009-05-12 Samsung Electronics Co., Ltd. Nonvolatile memory device having flag cells for storing MSB program state

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3941149B2 (ja) 1996-12-03 2007-07-04 ソニー株式会社 半導体不揮発性記憶装置
KR100486132B1 (ko) 1996-12-03 2005-09-02 소니 가부시끼 가이샤 Ecc를이용한신속한데이터프로그래밍및소거기능을가지는불휘발성반도체기억장치
KR101456592B1 (ko) 2008-06-17 2014-10-31 삼성전자주식회사 멀티-비트 플래시 메모리 장치 및 그것의 플래그 셀 분석방법
KR20100013962A (ko) 2008-08-01 2010-02-10 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
KR20100088913A (ko) * 2009-02-02 2010-08-11 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 동작 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7532495B2 (en) 2006-12-13 2009-05-12 Samsung Electronics Co., Ltd. Nonvolatile memory device having flag cells for storing MSB program state

Also Published As

Publication number Publication date
KR20120046846A (ko) 2012-05-11
US20120106247A1 (en) 2012-05-03
US8611150B2 (en) 2013-12-17

Similar Documents

Publication Publication Date Title
KR101716716B1 (ko) 플래그 셀들을 갖는 플래시 메모리 장치 및 그것의 프로그램 동작 방법
US10249383B2 (en) Data storage device and operating method thereof
KR101678907B1 (ko) 리드 디스터번스를 줄일 수 있는 불휘발성 메모리 장치 및 그것의 읽기 방법
KR102090589B1 (ko) 비휘발성 메모리 장치의 데이터 저장 방법 및 비휘발성 메모리 장치의 테스트 방법
KR101616100B1 (ko) 메모리 시스템 및 그것의 동작 방법
KR101944793B1 (ko) 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법
US9281068B2 (en) Nonvolatile memory and related reprogramming method
KR101891164B1 (ko) 프로그램 스케줄러를 포함하는 플래시 메모리 장치
TWI610170B (zh) 半導體記憶體裝置、其讀取方法以及具有該半導體記憶體裝置的資料儲存裝置
US20110066899A1 (en) Nonvolatile memory system and related method of performing erase refresh operation
CN111258793B (zh) 存储器控制器及其操作方法
US9940193B2 (en) Chunk definition for partial-page read
KR20170099610A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20130033017A (ko) 불휘발성 메모리 장치의 동작 방법
KR20100107294A (ko) 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법
KR102089570B1 (ko) 저장 장치 및 그것의 데이터 처리 방법
US8593884B2 (en) Data storage system and a data retention method thereof
KR101949987B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US9524791B1 (en) Data storage device and operating method thereof
US20210158875A1 (en) Memory device and method of operating the same
KR20120118764A (ko) 불휘발성 메모리 장치의 프로그램 방법
KR20110102735A (ko) 워드 라인들 사이의 간섭을 줄이기 위한 불휘발성 메모리 장치 및 그것의 동작 방법
US20220189557A1 (en) Memory device and method of operating the same
US10650897B2 (en) Storage device and method for operating the same
KR20140121159A (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