KR102179270B1 - 불휘발성 메모리 장치 및 그것의 동작 방법 - Google Patents

불휘발성 메모리 장치 및 그것의 동작 방법 Download PDF

Info

Publication number
KR102179270B1
KR102179270B1 KR1020140093320A KR20140093320A KR102179270B1 KR 102179270 B1 KR102179270 B1 KR 102179270B1 KR 1020140093320 A KR1020140093320 A KR 1020140093320A KR 20140093320 A KR20140093320 A KR 20140093320A KR 102179270 B1 KR102179270 B1 KR 102179270B1
Authority
KR
South Korea
Prior art keywords
memory cells
data
programmed
state
program
Prior art date
Application number
KR1020140093320A
Other languages
English (en)
Other versions
KR20160012300A (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 KR1020140093320A priority Critical patent/KR102179270B1/ko
Priority to US14/639,331 priority patent/US9349482B2/en
Publication of KR20160012300A publication Critical patent/KR20160012300A/ko
Application granted granted Critical
Publication of KR102179270B1 publication Critical patent/KR102179270B1/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/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
    • 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
    • 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/107Programming all cells in an array, sector or block to the same state prior to flash erasing
    • 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

Abstract

본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법은: 선택된 메모리 셀들로 프로그램 전압을 인가하는 단계; 상기 프로그램 전압이 인가된 메모리 셀들에 연결된 비트 라인들로 선택된 검증 전압을 인가하는 단계; 상기 검증 전압이 인가된 메모리 셀들에 대해 센싱 동작을 수행하는 단계; 상기 센싱 결과 및 타깃 상태 데이터를 참조하여 타깃 상태로 프로그램되는 메모리 셀들을 선택하는 단계; 그리고 상기 선택된 메모리 셀들이 프로그램 패스 또는 페일 되었는지 여부를 판단하는 단계를 포함할 수 있다. 본 발명의 실시 예에 따르면, 프로그램 검증 속도를 향상시켜, 프로그램 시간을 단축할 수 있다.

Description

불휘발성 메모리 장치 및 그것의 동작 방법{NONVOLATILE MEMORY DEVICE AND OPERATING METHOD THEREOF}
본 발명은 불휘발성 메모리 장치의 검증 방법에 관한 것이다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치(Volatile semiconductor memory device)와 불휘발성 반도체 메모리 장치(Non-volatile semiconductor memory device)로 구분될 수 있다. 휘발성 반도체 메모리 장치는 읽고 쓰는 속도가 빠르지만 전원 공급이 끊기면 저장된 내용이 사라져 버리는 단점이 있다. 반면에, 불휘발성 반도체 메모리 장치는 전원 공급이 중단되더라도 그 내용이 보존된다. 그러므로, 불휘발성 반도체 메모리 장치는 전원이 공급되었는지의 여부에 관계없이 보존되어야 할 내용을 저장하는 데 쓰인다.
불휘발성 메모리 장치의 대표적인 예로 플래시 메모리 장치가 있다. 플래시 메모리 장치는 솔리드 스테이트 드라이브(solid state drive; SSD), 컴퓨터, 휴대폰, 스마트폰, 디지털카메라, 캠코더, 보이스 리코더, MP3 플레이어, 개인용 휴대 단말기(PDA), 휴대용 컴퓨터(Handheld PC), 게임기, 팩스, 스캐너, 프린터 등과 같은 정보기기들의 음성 및 영상 데이터 저장 매체로서 널리 사용되고 있다. 최근, SSD 또는 스마트폰과 같은 모바일 장치들에 탑재하기 위하여 불휘발성 메모리 장치의 고용량, 고속 입출력, 저전력화 기술들이 활발하게 연구되고 있다.
특히 하나의 메모리 셀에 복수의 데이터 비트를 저장하는 경우, 프로그램 루프가 복수 회 실행될 수 있다. 뿐만 아니라, 매 프로그램 루프마다 각각의 프로그램 상태에 대해 검증 동작을 실행해야 한다. 따라서, 프로그램 시간을 단축시키기 위해 프로그램 검증 시간을 단축시키는 것이 중요한 문제로 부각되고 있다.
본 발명의 목적은 불휘발성 메모리 장치의 프로그램 동작시 검증 속도를 향상시키는 방법을 제공하는데 있다.
본 발명의 실시 예에 따른, 불휘발성 메모리 장치의 프로그램 방법은: 복수의 메모리 셀들 중 선택된 메모리 셀들로 프로그램 전압을 인가하는 단계; 상기 프로그램 전압이 인가된 메모리 셀들에 연결된 비트 라인들을 프리차지한 후, 복수의 검증 전압들 중 선택된 검증 전압을 인가하는 단계; 상기 검증 전압이 인가된 메모리 셀들에 대하여 센싱 동작을 수행하는 단계; 상기 센싱 결과 및 타깃 상태 데이터를 참조하여 타깃 상태로 프로그램되는 메모리 셀들을 선택하는 단계; 그리고 상기 선택된 메모리 셀들이 프로그램 패스 또는 페일 되었는지 여부를 판단하는 단계를 포함할 수 있다.
실시 예로써, 상기 선택하는 단계는 데이터 래치들에 저장된 상태 데이터 중 적어도 한 비트를 센스 래치로 덤핑함으로써 상기 타깃 상태보다 높은 문턱 전압을 갖는 상위 상태들을 배제시키는 단계를 포함할 수 있다.
다른 실시 예로써, 상기 타깃 메모리 셀들이 인히빗 되도록 상기 데이터 래치들을 기준 데이터 비트로 덤핑하는 단계를 더 포함할 수 있다.
또 다른 실시 예로써, 상기 상태 데이터는 순차적인 바이너리 코드 형태의 오더링에 의거하여 설정될 수 있다.
또 다른 실시 예로써, 상기 프리차지하는 단계 이전에, 상기 센스 래치의 값을 초기화하는 단계를 더 포함할 수 있다.
또 다른 실시 예로써, 상기 타깃 상태보다 낮은 문턱 전압으로 프로그램되고 오프-셀로 센싱된 메모리 셀들이 인히빗 되도록, 상기 데이터 래치들이 상기 기준 데이터 비트로 덤핑될 수 있다.
또 다른 실시 예로써, 상기 타깃 상태보다 높은 문턱 전압으로 프로그램되지만 프로그램이 완료되지 않은 메모리 셀들은 인히빗 되지 않도록, 상기 상태 데이터 중 적어도 한 비트가 상기 센스 래치로 덤핑될 수 있다.
또 다른 실시 예로써, 상기 프로그램하는 단계에서의 상태 데이터의 오더링은 디폴트값으로 제공되는 상태 데이터의 오더링과 서로 다를 수 있다.
또 다른 실시 예로써, 상기 프로그램하는 단계 이전에, 디폴트값으로 제공되는 상기 상태 데이터를 상기 순차적인 바이너리 코드 형태로 리오더링하는 단계를 더 포함할 수 있다.
또 다른 실시 예로써, 상기 프로그램하는 단계에서의 상태 데이터의 오더링은 디폴트값으로 제공되는 상태 데이터의 오더링과 동일할 수 있다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치는: 복수의 메모리 셀들을 포함하는 메모리 셀 어레이; 상기 복수의 메모리 셀들에 연결된 복수의 비트 라인들 각각에 연결되는 페이지 버퍼들을 포함하는 페이지 버퍼 블록; 그리고 상기 복수의 메모리 셀들 중 선택된 메모리 셀들로 프로그램 전압을 인가하고, 상기 프로그램 전압이 인가된 메모리 셀들에 연결된 비트 라인들을 프리차지한 후 복수의 검증 전압들 중 선택된 검증 전압을 인가하고, 상기 검증 전압이 인가된 메모리 셀들에 대해 센싱 동작을 수행하도록 상기 페이지 버퍼들을 제어하고, 그리고 상기 센싱 결과 및 타깃 상태 데이터를 참조하여 타깃 상태로 프로그램되는 메모리 셀들을 선택하도록 상기 페이지 버퍼들을 제어하는 제어 로직을 포함할 수 있다.
실시 예로써, 상기 페이지 버퍼들 각각은: 프로그램 동작시, 프로그램될 상태에 대응하는 상기 상태 데이터를 저장하는 복수의 데이터 래치들; 상기 프로그램 동작시, 외부로부터 프로그램 데이터를 입력받고, 상기 입력된 프로그램 데이터를 상기 복수의 데이터 래치들로 전송하는 캐시 래치; 상기 센싱 동작 전에, 상기 비트 라인들로 프리차지 전압을 인가하는 프리차지 회로; 그리고 상기 센싱 동작에 따른 비트 라인의 전압을 래치함으로써 센싱 데이터를 저장하는 센스 래치를 포함할 수 있다.
다른 실시 예로써, 상기 제어 로직은 상기 데이터 래치들에 저장된 데이터중 적어도 한 비트를 상기 센스 래치로 덤핑함으로써 상기 타깃 상태를 선택할 수 있다.
또 다른 실시 예로써, 상기 제어 로직은 상기 상태 데이터가 순차적인 바이너리 코드 형태로 리오더링 되도록 제어할 수 있다.
또 다른 실시 예로써, 상기 제어 로직은, 상기 타깃 상태보다 낮은 문턱 전압으로 프로그램되고 오프-셀로 센싱된 메모리 셀들이 인히빗 되도록 상기 데이터 래치들을 기준 데이터 비트로 덤핑하고, 상기 타깃 상태보다 높은 문턱 전압으로 프로그램되지만 프로그램이 완료되지 않은 메모리 셀들은 인히빗 되지 않도록 상기 상태 데이터 중 적어도 한 비트를 상기 센스 래치로 덤핑할 수 있다.
본 발명의 실시 예에 따른, 복수의 페이지 버퍼들을 포함하되, 각각의 페이지 버퍼들은 센스 래치 및 복수의 데이터 래치들을 포함하는, 불휘발성 메모리 장치의 프로그램 방법은: 복수의 메모리 셀들 중 선택된 메모리 셀들로 프로그램 전압을 인가하는 단계; 상기 프로그램 전압이 인가된 메모리 셀들에 연결된 비트 라인들을 프리차지한 후, 복수의 검증 전압들 중 선택된 검증 전압을 인가하는 단계; 상기 검증 전압이 인가된 메모리 셀들에 대하여 센싱 동작을 수행하는 단계; 상기 센스 래치에 저장된 상기 센싱 결과 및 타깃 상태 데이터를 참조하여 타깃 상태로 프로그램되는 메모리 셀들을 선택하는 단계; 그리고 상기 센싱 결과를 참조하여, 상기 선택된 메모리 셀들이 프로그램 패스 또는 페일 되었는지 여부를 판단하는 단계를 포함할 수 있다.
실시 예로써, 상기 선택하는 단계는 상기 데이터 래치들에 저장된 상태 데이터 중 적어도 한 비트를 상기 센스 래치에 덤핑함으로써 상기 타깃 상태보다 높은 문턱 전압을 갖는 상위 상태들을 배제시키는 단계를 포함할 수 있다.
다른 실시 예로써, 상기 타깃 메모리 셀들이 인히빗 되도록 상기 데이터 래치들을 기준 데이터 비트로 덤핑하는 단계를 더 포함할 수 있다.
또 다른 실시 예로써, 상기 상태 데이터는 내림차순 또는 오름차순의 바이너리 코드(ascending ordered or descending ordered binary code)일 수 있다.
또 다른 실시 예로써, 상기 타깃 상태보다 낮은 문턱 전압으로 프로그램되고 오프-셀로 센싱된 메모리 셀들이 인히빗 되도록, 상기 데이터 래치들이 상기 기준 데이터 비트로 덤핑될 수 있다.
본 발명의 실시 예에 따르면, 불휘발성 메모리 장치의 검증 속도를 향상시켜 프로그램 시간을 단축할 수 있다.
도 1은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 보여주는 블록도이다.
도 2는 도 1에 도시된 페이지 버퍼를 예시적으로 보여주는 도면이다.
도 3은 본 발명의 따른 메모리 셀의 문턱 전압 산포를 예시적으로 보여주는 도면이다.
도 4는 본 발명의 실시 예에 따른 프로그램 루프를 보여주는 도면이다.
도 5는 일반적인 상태의 오더링과 본 발명의 실시 예에 따른 상태의 오더링을 보여주는 표이다.
도 6a 및 도 6b는 일반적인 검증 동작시 센스 래치 및 데이터 래치들에서의 덤핑 과정을 보여주는 도면이다.
도 7a 및 도 7b는 본 발명의 실시 예에 따른 검증 동작시 센스 래치 및 데이터 래치들에서의 덤핑 과정을 보여주는 도면이다.
도 8a 및 도 8b는 본 발명의 다른 실시 예에 따른 검증 동작시 센스 래치 및 데이터 래치들에서의 덤핑 과정을 보여주는 도면이다.
도 9는 본 발명의 실시 예에 따른 프로그램 루프의 실행 과정을 보여주는 흐름도이다.
도 10은 본 발명의 다른 실시 예에 따른 프로그램 루프의 실행 과정을 보여주는 흐름도이다.
도 11은 본 발명의 실시 예에 따른 VNAND의 블록을 보여주는 도면이다.
도 12는 본 발명의 다른 실시 예에 따른 VNAND의 블록을 보여주는 도면이다.
도 13은 본 발명의 실시 예에 따른 SSD를 예시적으로 보여주는 블록도이다.
도 14는 본 발명의 실시 예에 따른 eMMC를 예시적으로 보여주는 블록도이다.
도 15는 본 발명의 실시 예에 따른 UFS 시스템을 예시적으로 보여주는 블록도이다.
도 16은 본 발명의 실시 예에 따른 불휘발성 메모리 장치가 적용된 휴대용 단말기를 나타내는 블록도이다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
아래에서, 장치 및 방법이 본 발명의 특징 및 기능을 설명하기 위한 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 용도에 따라 수정되거나 변경될 수 있다.
한 요소 또는 층이 다른 요소 또는 층에 "연결되는", "결합하는", 또는 "인접하는" 것으로 언급되는 때에는, 다른 요소 또는 층에 직접적으로 연결되거나, 결합 되거나, 또는 인접하는 것일 수 있고, 혹은 그 사이에 끼워지는 요소 또는 층이 존재할 수 있음이 잘 이해될 것이다. 본 명세서에서 사용되는 "및/또는"이라는 용어는 나열된 요소들의 하나 또는 그 이상의 가능한 조합들을 포함할 것이다.
비록 "제 1", "제 2" 등의 용어가 여기서 다양한 요소를 설명하기 위해 사용될 수 있다 하더라도, 이들 요소는 이 용어들에 의해 한정되지 않는다. 이 용어들은 단지 다른 것들로부터 하나의 구성요소를 구별하기 위해 사용될 수 있다. 따라서, 본 명세서에서 사용된 제 1 구성요소, 구간, 층과 같은 용어는 본 발명의 사상을 벗어나지 않는 범위 내에서 제 2 구성요소, 구간, 층 등으로 사용될 수 있다.
"아래의", "하부의", "위의", "상부의", 및 이와 유사한 용어들은 직접적으로(directly) 또는 다른 층을 개재하여(indirectly) 배치되는 경우를 모두 포함한다. 그리고, 공간적으로 상대적인 이러한 용어들은 도면에 도시된 방향에 더하여 다른 방향을 포함하는 것으로 이해되어야 한다. 예를 들어, 만일 디바이스가 뒤집히면, "아래의"로 설명된 구성요소는 "위의"가 될 것이다.
본 명세서에서 설명되는 용어는 단지 특정한 실시 예를 설명하기 위한 목적으로 사용되며, 그것에 한정되지 않는다. "하나의"와 같은 용어는 달리 명백하게 지칭하지 않으면 복수의 형태를 포함하는 것으로 이해되어야 한다. "포함하는" 또는 "구성되는"과 같은 용어는 설명된 특징, 단계, 동작, 성분, 및/또는 구성요소의 존재를 명시하며, 추가적인 하나 또는 그 이상의 특징, 단계, 동작, 성분, 구성요소 및/또는 그들의 그룹의 존재를 배제하지 않는다.
달리 정의되지 않으면, 본 명세서에서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 지닌 자에 의해 공통적으로 이해될 수 있도록 동일한 의미를 갖는 것으로 사용된다. 그리고, 사전에서 공통적으로 정의된 용어들은 관련 분야에서 일관된 의미를 갖는 것으로 해석되어야 하며, 달리 정의되지 않으면, 과도한 의미로써 사용되지 않는다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시 예를 첨부된 도면을 참조하여 설명할 것이다.
도 1은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 보여주는 블록도이다. 도 1을 참조하면, 불휘발성 메모리 장치(100)는 메모리 셀 어레이(110), 로우 디코더(120), 페이지 버퍼 블록(130), 컬럼 디코더 및 입출력 버퍼(140), 패스/페일 체커(150), 제어 로직(160), 및 전압 발생기(170)를 포함할 수 있다.
메모리 셀 어레이(110)는 복수의 블록들을 포함할 수 있다. 설명의 편의를 위해, 도 1에서는 하나의 메모리 블록만이 도시되었다. 메모리 블록은 복수의 비트 라인들(BL1 ~ BLn) 각각에 연결된 스트링들을 포함할 수 있다. 여기서 스트링은 직렬 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1~MCm), 접지 선택 트랜지스터(GST)를 포함할 수 있다. 스트링 선택 트랜지스터(SST)는 스트링 선택 라인(SSL)을 통하여 전송되는 전압에 의하여 구동될 수 있다. 접지 선택 트랜지스터(GST)는 접지 선택 라인(GSL)을 통하여 전송되는 전압에 의하여 구동될 수 있다. 복수의 메모리 셀들(MC1 ~ MCm) 각각은 대응하는 워드 라인들(WL1 ~ WLm)에 전송되는 전압들에 의하여 구동될 수 있다. 복수의 메모리 셀들(MC1 ~ MCm) 각각은 1 비트 이상의 데이터를 저장할 수 있다.
로우 디코더(120)는 제어 로직(160)으로부터 입력된 행 어드레스(X-Add)에 응답하여 복수의 메모리 블록들 중 어느 하나를 선택할 수 있다. 로우 디코더(120)는 구동에 필요한 워드 라인 전압들(예를 들어, 프로그램 전압, 패스 전압, 소거 전압, 검증 전압, 읽기 전압, 읽기 패스 전압 등)을 워드 라인들로 전송할 수 있다.
페이지 버퍼 블록(130)은 동작 모드에 따라 쓰기 드라이버 또는 센스 앰프로써 동작할 수 있다. 예를 들어, 페이지 버퍼 블록(130)은 읽기 동작시 센스 앰프(sense amplifier)로써 동작하거나, 쓰기 동작시 쓰기 드라이버(write driver)로써 동작할 수 있다. 페이지 버퍼 블록(130)은 복수의 비트 라인들(BL1 내지 BLn)에 각각 대응하는 복수의 페이지 버퍼들(PB1 내지 PBn)을 포함할 수 있다.
페이지 버퍼들(PB1 내지 PBn) 각각은 복수의 래치들을 포함할 수 있다. 예를 들어, 복수의 래치들은 센스 래치, 캐시 래치, 및 데이터 래치들로 구성될 수 있다. 센스 래치는 읽기/검증 동작시 감지 동작(sensing operation) 전에 감지 동작을 수행할 상태에 대응하는 데이터를 저장하거나, 감지 동작 후에 메모리 셀로부터 읽혀진 데이터를 저장할 수 있다. 캐시 래치는 프로그램 동작시 데이터 래치들에 저장된 데이터를 임시로 저장할 수 있다. 데이터 래치들은 프로그램 동작시 프로그램될 상태를 지시하는 상태 데이터(state data)를 저장할 수 있다. 상기 상태 데이터는 프로그램될 타깃 상태에 상응하는 타깃 상태 데이터(target state data)일 수 있다.
컬럼 디코더 및 입출력 버퍼(140)는 컬럼 어드레스(Y-Add)에 응답하여 페이지 버퍼 블록(130)의 페이지 버퍼들을 선택할 수 있다. 프로그램 동작시, 선택된 페이지 버퍼에는 컬럼 디코더 및 입출력 버퍼(140)를 통해 제공되는 프로그램 비트들이 저장될 수 있다. 읽기 동작시, 선택된 페이지 버퍼로부터 제공되는 데이터는 컬럼 디코더 및 입출력 버퍼(140)를 통해 외부로 출력될 수 있다. 검증 동작시, 컬럼 디코더 및 입출력 버퍼(140)는 센싱된 데이터를 패스/페일 체커(150)로 전달할 수 있다.
패스/페일 체커(150)는 컬럼 디코더 및 입출력 버퍼(140)로부터 제공되는 센싱 데이터를 참조하여 선택된 메모리 셀이 프로그램 패스 되었는지 여부를 판단할 수 있다. 만일 검증 동작을 통해서 센싱된 데이터가 타깃 전압 이상의 문턱 전압을 갖는 것으로 센싱되면, 패스/페일 체커(150)는 패스(pass) 신호를 제어 로직(160)으로 전달할 수 있다. 그렇지 않으면, 패스/페일 체커(150)는 페일(fail) 신호를 제어 로직(160)으로 전달할 수 있다.
제어 로직(160)은 커맨드(CMD)에 응답하여 불휘발성 메모리 장치(100)의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어 로직(160)은 구동에 필요한 전압을 발생하도록 전압 발생기(170)를 제어하고, 발생된 전압들을 워드 라인들(WL1 내지 WLm)로 전송하도록 로우 디코더(120)를 제어할 수 있다. 제어 로직(160)은 프로그램될 페이지 데이터 및 읽혀진 페이지 데이터의 입출력을 위해 컬럼 디코더 및 입출력 버퍼(150)를 제어할 수 있다.
제어 로직(160)은 리오더링 회로(162)를 포함할 수 있다. 리오더링 회로(162)는 상태 오더링을 변경하도록 제어하는 리오더링 제어 신호(RCS)를 페이지 버퍼 블록(130)으로 전송할 수 있다. 리오더링 제어 신호(RCS)에 응답하여, 데이터 검증 동작시 페이지 버퍼 내에서의 덤핑 횟수를 감소시키기 위해, 페이지 버퍼들(PB1 내지 PBn)의 데이터 래치들에 저장된 상태 데이터는 새롭게 정렬될 수 있다.
일반적인 검증 동작에 따르면, 센싱의 대상이 되는 타깃 상태를 확정하여 타깃 상태로 프로그램된 타깃 메모리 셀이 선택된 후, 타깃 메모리 셀에 연결된 비트 라인을 통하여 센싱 동작이 수행된다. 그러나, 본 발명의 실시 예에 따르면, 프로그램된 메모리 셀들에 대해 일괄적으로 센싱 동작이 수행된 후, 타깃 상태 및 이에 대응하는 타깃 메모리 셀이 선택된다. 그리고, 타깃 메모리 셀이 프로그램 패스/페일 되었는지 여부가 판단된다. 그 결과, 페이지 버퍼들(PB1 내지 PBn)에서의 덤핑 횟수를 감소시켜 프로그램 속도를 향상시킬 수 있다.
전압 발생기(170)는 제어 로직(160)의 제어에 따라 프로그램 전압(Vpgm), 검증 전압(Vvfy), 패스 전압(Vpass), 읽기 전압(Vread) 등을 생성할 수 있다.
도 2는 도 1에 도시된 페이지 버퍼를 예시적으로 보여주는 도면이다. 예시적으로 페이지 버퍼(130-1)가 도시되었으나, 페이지 버퍼 블록(130)에 포함된 페이지 버퍼들은 서로 동일한 구조를 갖는다. 도 2를 참조하면, 페이지 버퍼(130-1)는 프리차지 회로(132), 적어도 하나의 센스 래치(134), 데이터 래치들(136-1 내지 136-k), 및 적어도 하나의 캐시 래치(138)를 포함할 수 있다. 페이지버퍼(130-1)는 하나의 비트라인(BL1)에 연결될 수 있다.
프리차지 회로(132)는 읽기 동작 또는 감지 동작에서의 감지 동작시 선택된 비트 라인으로 프리차지 전압을 제공할 수 있다. 프리차지 회로(132)는 비트 라인(BL1)을 통하여 메모리 셀(MC)로 연결될 수 있다.
센스 래치(134)는 센싱 동작 전에 메모리 셀(MC)이 감지의 대상이 되는지 여부를 지시하는 데이터[즉, 비트 라인(BL1)을 선택하는 것을 지시하는 데이터]를 저장할 수 있다. 또는, 센스 래치(134)는 센싱 동작 후에 센싱 노드(S0)의 전압을 센싱하여 메모리 셀의 출력 값을 래치함으로써 비트 라인(BL1)에 연결된 메모리 셀(MC)에 프로그램된 데이터를 저장할 수 있다.
데이터 래치들(136-1 내지 136-k)은 프로그램 동작시 메모리 셀(MC)에 프로그램될 상태를 지시하는 상태 데이터를 저장할 수 있다. 이때, 프로그램될 상태는 2k-1 개일 수 있다. 예를 들어, 메모리 셀(MC)에 3-비트 데이터가 프로그램되는 경우, 데이터 래치들은 3개일 수 있으며, 프로그램될 상태는 7개일 수 있다.
캐시 래치(138)는 프로그램 동작시 외부로부터 데이터를 입력받고, 입력된 데이터를 데이터 래치들(136-1 내지 136-k)로 전달할 수 있다.
일반적인 검증 동작의 경우, 데이터 래치들(136-1 내지 136-k)에 저장된 상태 데이터는 센스 래치(134)로 순차적으로 덤핑된다. 그리고, 제어 로직(160)은 센스 래치(134)에 덤핑된 값을 참조하여, 프로그램된 메모리 셀(MC)이 검증의 대상이 되는 타깃 메모리 셀인지 여부를 판단한다. 판단 결과 타깃 메모리 셀이라고 판단되는 경우, 타깃 메모리 셀에 대해 센싱 동작을 수행하여 프로그램 패스/페일 여부가 판단된다.
그러나, 본 발명의 실시 예에 따르면, 검증 단계에 앞서 프로그램 단계에서, 제어 로직(160)은 디폴트값으로 제공되는 상태 데이터의 오더링을 변경하도록 제어하는 리오더링 제어 신호(RCS)를 페이지 버퍼(130-1)로 전송할 수 있다. 수신된 리오더링 제어 신호(RCS)에 응답하여, 데이터 래치들(136-1 내지 136-k)에 저장된 상태 데이터는 리오더링 될 수 있다. 예를 들어, 리오더링된 상태 데이터는 순차적인 바이너리 코드(sequential binary code) 형태의 상태 데이터일 수 있다. 순차적인 바이너리 코드 형태란, 내림차순 또는 오름차순의 바이너리 코드(ascending ordered or descending ordered binary code)로써, 이를 10진수로 환산하면 내림차순 또는 오름차순으로 정렬된다는 의미이다. 리오더링된 상태 데이터에 의거하여, 메모리 셀(MC)에 대한 프로그램 동작이 완료되면, 검증 동작이 진행될 수 있다. 그러나, 실시 예에 따라서, 순차적인 바이너리 코드 형태의 상태 데이터가 디폴트값으로 설정되어 프로그램 동작이 진행되는 경우, 상태 데이터를 리오더링하는 단계는 실행되지 않을 수 있다.
프로그램된 메모리 셀들에 대해 일괄적으로 센싱 동작이 수행된다. 센싱 결과(즉, 온-셀 인지 또는 오프-셀 인지 여부)에 관한 정보가 센스 래치(134)에 저장될 수 있다. 센싱 동작 후, 데이터 래치들(136-1 내지 136-k)에 저장된 상태 데이터는 센스 래치(134)로 순차적으로 덤핑 된다. 그리고, 제어 로직(160)은 센스 래치(134)에 덤핑된 값을 참조하여, 검증의 대상이 되는 타깃 셀을 선택한다. 그리고, 패스/페일 체커(도 1 참조, 150)는 메모리 셀(MC)이 프로그램 패스 또는 페일 되었는지 여부를 판단한다.
본 발명의 실시 예에 따르면, 메모리 셀에 대한 검증 동작시, 프로그램된 메모리 셀들에 대해 일괄적으로 센싱 동작을 수행한 후, 센싱 대상을 선택함으로써, 덤핑 횟수를 감소시킬 수 있다. 그 결과, 프로그램 속도를 향상시킬 수 있다.
도 3은 본 발명의 실시 예에 따른 메모리 셀의 문턱 전압 산포를 예시적으로 보여주는 도면이다. 도 3에는 메모리 셀에 3-비트 데이터가 프로그램되는 경우가 예시적으로 도시되었다. 도 3을 참조하면, 메모리 셀은 8개의 상태들(E0 내지 P7) 중 어느 하나로 프로그램될 수 있다. 도 3에 도시된 전압들(Vvfy1 ~ Vvfy7) 각각은 상태들(P1 내지 P7)을 검증하기 위한 검증 전압들이다.
도 4는 본 발명의 실시 예에 따른 프로그램 루프를 보여주는 도면이다. 도 4를 참조하면, 하나의 프로그램 루프는 프로그램 동작과 검증 동작을 포함할 수 있다. 프로그램 동작시 메모리 셀에는 프로그램 전압(Vpgm)이 인가될 수 있으며, 검증 동작시 메모리 셀에는 검증 전압들(Vvfy1 ~ Vvfy7)이 인가될 수 있다. 프로그램 동작은 ISPP(Incremental Step Pulse Programming) 방식에 의거하여 실행될 수 있다.
검증 동작 구간은 P1 상태 내지 P7 상태를 검증하는 복수의 구간들로 구성될 수 있다. 복수의 구간들 각각은 센싱 동작을 수행하는 구간(sen)과, 검증의 대상이 되는 상태를 선택하는 구간(sel)으로 구분될 수 있다.
본 발명의 실시 예에 따르면, 검증의 대상이 되는 상태를 선택한 후 센싱 동작을 수행하는 일반적인 검증 동작과는 달리, 프로그램된 메모리 셀들에 대해 일괄적으로 센싱 동작을 수행한 후 검증의 대상이 되는 상태를 선택한다. 뿐만 아니라, 검증의 대상이 되는 상태를 선택하는 과정에서 덤핑 횟수를 감소시키기 위해, 프로그램 동작 구간에서 상태 데이터 오더링을 변경시킬 수 있다. 따라서, 덤핑 횟수를 줄여 프로그램 속도를 향상시킬 수 있다.
도 5는 일반적인 상태 데이터의 오더링과 본 발명의 실시 예에 따른 상태 데이터의 오더링을 보여주는 표이다. 예를 들어, 디폴트값으로써 디폴트 상태 데이터 오더링이 제공될 수 있으며, 프로그램 동작시 데이터 래치들에 저장된 상태 데이터들은 순차적인 바이너리 코드 형태의 상태 데이터로 리오더링될 수 있다. "순차적인"이라는 의미는, 리오더링된 상태 데이터를 10진수로 변경하였을 경우 내림차순 또는 오름차순으로 데이터가 정렬된다는 의미이다. 도 5를 참조하면, 리오더링된 E0 내지 P7의 상태 데이터는 8부터 1까지 내림차순으로 정렬됨을 확인할 수 있다.
도 6a 및 도 6b는 일반적인 검증 동작시 센스 래치 및 데이터 래치들에서의 덤핑 과정을 보여주는 도면이다. 메모리 셀은 3-비트의 데이터를 저장하고, 검증의 대상이 되는 타깃 상태는 P1 이라고 가정한다.
도 6a 및 도 6b를 참조하여, 검증 동작이 시작되면 비트 라인을 통하여, 프로그램된 메모리 셀들에 연결된 페이지 버퍼의 센스 래치는 "0"으로 초기화될 수 있다.
센싱의 대상이 되는 P1 상태를 선택하는 동작이, 센스 래치 초기화 후, 실행될 수 있다. 프로그램된 메모리 셀에 연결된 페이지 버퍼들 중, 데이터 래치(DL3)에 저장된 비트 값이 "0"인 페이지 버퍼들의 센스 래치들의 값은 "1"로 덤핑될 수 있다(①). 그리고, 프로그램된 메모리 셀에 연결된 페이지 버퍼들 중, 데이터 래치(DL2)에 저장된 비트 값이 "0"인 페이지 버퍼들의 센스 래치들의 값은 "0"으로 덤핑될 수 있다(②). 그 후, 프로그램된 메모리 셀에 연결된 페이지 버퍼들 중, 데이터 래치(DL1)에 저장된 비트 값이 "0"인 페이지 버퍼들의 센스 래치들의 값은 "0"으로 덤핑될 수 있다(③). 상기 단계들을 통해 센싱의 대상이 되는 타깃 상태(P1)가 선택되었다.
타깃 상태로 프로그램된 메모리 셀들을 인히빗 시키기 위해 인히빗 덤프 동작이 실행된다. 즉, 타깃 상태(P1)의 상태 데이터 "110"이 저장된 페이지 버퍼들의 상태 데이터는 기준 데이터 비트(예를 들어, "111")로 변경된다. P1 상태의 경우, 데이터 래치(DL3)의 값이 "1"로 덤핑될 것이다.
센싱 동작이 실행될 수 있다. 센싱 동작은 타깃 상태(P1)로 프로그램된 메모리 셀들에 대해서 행해질 것이며, 이는 센스 래치의 값이 "1"인 페이지 버퍼에 연결된 메모리 셀들에 대해서만 실행될 것이다. 센싱 결과는 온-셀 또는 오프-셀일 수 있으며, 센스 래치에 "1" 또는 "0"이 저장될 것이다. 저장된 값에 의거하여 프로그램의 패스 또는 페일 여부가 판단될 것이다.
센싱 동작 후, 인히빗 덤프가 실행된 페이지 버퍼에 대해 원래의 상태 데이터로 회복시키는 단계가 실행된다. 회복시키는 단계는 온-셀로 센싱된 메모리 셀에 연결된 페이지 버퍼에 대해 실행될 수 있다. 이 경우, 데이터 래치(DL3)의 값은 "1"에서 "0"으로 회복될 것이다.
상기 검토한 바에 의하면, P1 스테이트로 프로그램되었는지 여부를 검증하기 위해, 총 5번의 덤핑이 실행되었음을 알 수 있다. 다른 프로그램 스테이트들(P2 내지 P7)에서의 덤핑 횟수는 도 5에 나타나 있다.
도 7a 및 도 7b는 본 발명의 실시 예에 따른 검증 동작시 센스 래치 및 데이터 래치들에서의 덤핑 과정을 보여주는 도면이다.
프로그램 루프는 프로그램 동작 및 검증 동작으로 구성될 수 있다. 프로그램 동작에 앞서, 디폴트값으로 설정된 상태 데이터는 도 7a에 도시된 바와 같이 리오더링 될 수 있다. 또는, 7a의 순차적인 바이너리 코드 형태의 상태 데이터가 디폴트값으로 설정되어 있는 경우, 리오더링하는 단계는 실행되지 않을 수 있다.
검증 동작이 시작되면 비트 라인을 통하여, 프로그램된 메모리 셀들에 연결된 페이지 버퍼의 센스 래치는 "0"으로 초기화될 수 있다.
센싱 동작이, 센스 래치 초기화 후, 실행될 수 있다. 타깃 상태 선택 후, 타깃 상태로 프로그램된 메모리 셀에 대해 센싱 동작을 수행하는 일반적인 방법과는 달리, 본 발명의 실시 예에 따르면, 프로그램된 메모리 셀들에 대해 일괄적으로 센싱 동작을 수행한 후, 타깃 상태를 선택하여 검증 동작을 수행한다. 센싱 결과 온-셀로 판단되면, 센스 래치에는 "0"이 저장될 것이다. 반대로, 센싱 결과 오프-셀로 판단되면, 센스 래치에는 "1"이 저장될 것이다.
센싱의 대상이 되는 타깃 상태(P1)를 선택하는 동작이, 센싱 동작 후, 실행될 수 있다. 우선, 데이터 래치(DL1)에 저장된 값이 "0"인 페이지 버퍼들의 센스 래치 값을 "0"으로 덤핑하는 동작이 실행될 수 있다(①). 그리고, 데이터 래치(DL2)에 저장된 값이 "0"인 페이지 버퍼들의 센스 래치 값을 "0"으로 덤핑하는 동작이 실행될 수 있다(②). 상기 과정들을 통하여, 타깃 상태(P1)의 상위 상태들(P2 내지 P7)이 배제 되었다. 즉, 타깃 상태(P1)의 상태 데이터를 저장하고 있는 페이지 버퍼들의 센스 래치만 "1"로 설정되었다. 타깃 상태(P1)의 상태 데이터를 저장하고 있는 페이지 버퍼들의 센스 래치 값을 이용하여 프로그램이 패스 또는 페일되었는지 여부가 최종적으로 판단된다.
타깃 상태(P1)로 프로그램된 메모리 셀들을 인히빗 시키기 위해 인히빗 덤프 동작이 실행될 수 있다. 즉, 타깃 상태(P1)의 상태 데이터 "110"이 저장된 페이지 버퍼들의 상태 데이터는 기준 데이터 비트(예를 들어, "111")로 변경된다. P1 스테이트의 경우, 데이터 래치(DL3)의 값이 "1"로 덤핑될 것이다.
상기 검토한 바에 의하면, P1 스테이트로 프로그램되었는지 여부를 검증하기 위해, 총 3번의 덤핑이 실행되었음을 알 수 있다.
본발명의 실시 예에 의하면, 순차적인 바이너리 코드 형태의 상태 데이터로 메모리 셀들을 프로그램한다. 순차적인 바이너리 코드 형태의 상태 데이터는 디폴트값일 수 있으며, 디폴트값이 아닌 경우, 프로그램 동작에 앞서 순차적인 바이너리 코드 형태의 상태 데이터 리오더링 동작이 실행될 수 있다. 그리고, 일반적인 검증 동작과는 달리, 센싱 동작이 실행된 후, 타깃 상태를 선택하여 검증 동작이 실행될 수 있다. 그 결과, 타깃 상태를 선택하는 단계에서의 덤핑 횟수를 감소시켜 프로그램 속도를 향상시킬 수 있다.
도 8a 내지 도 8c는 본 발명의 다른 실시 예에 따른 검증 동작시 센스 래치 및 데이터 래치들에서의 덤핑 과정을 보여주는 도면이다. 기본적인 과정은 도 7a 및 7b에서 설명된 것과 유사하므로, 중복되는 설명은 생략하기로 한다.
상태 데이터들 중, 서로 인접한 비트들이 "0"인 경우, 상태 데이터가 저장된 페이지 버퍼 내에서 발생하는 덤핑 횟수는 더 감소할 수 있다. 예를 들어, 도 8a에 도시된 P3, P6 및 P7 상태들이 그 경우이다.
도 8a 및 8b를 참조하여, 프로그램된 메모리 셀들에 대한 일괄적인 센싱 동작이 실행된 후, 데이터 래치(DL1)에 저장된 값이 "0"인 페이지 버퍼들의 센스 래치 값을 "0"으로 덤핑하는 동작이 실행될 수 있다(①). 그리고, 데이터 래치들(DL2 및 DL3)에 저장된 값이 "0"인 페이지 버퍼들의 센스 래치 값을 "0"으로 덤핑하는 동작이 실행될 수 있다(②). 상기 과정들을 통하여, 타깃 상태(P3)의 상위 상태들(P4 내지 P7)이 제거될 수 있다.
상기 검토한 바에 의하면, P3 스테이트로 프로그램되었는지 여부를 검증하기 위해, 총 2번의 덤핑이 실행되었음을 알 수 있다. 본 발명의 실시 예에 따라, 다른 스테이트들에 대하여 검증 동작을 실행하는 경우의 덤핑 횟수는 도 5에 도시되어 있다.
그러나, 센싱 결과는 항상 바람직하지 않을 수 있다. 예를 들어, 어떤 이유로 인하여 타깃 상태(P3)의 검증 레벨보다는 하위 상태(예를 들어, P2)이지만, 오프-셀로 센싱되는 경우가 있을 수 있다. 이러한 경우의 동작 방법에 대해서는 도 8c를 통하여 상세하게 설명하도록 한다.
도 8c를 참조하여, 타깃 상태는 P3이고, 상태 데이터(P2)가 저장된 페이지 버퍼의 센스 래치가 오프-셀로 센싱되었다고 가정하자. 이는 하위 상태(P2)에 대한 검증 단계에서 인히빗 되었어야 하지만, 인히빗 되지 않은 경우에 해당한다. 타깃 상태(P3)의 검증 단계에서, 하위 상태(P2)의 데이터를 저장하고 있는 페이지 버퍼의 센스 래치에서 센싱된 값이 오프-셀인 경우의 동작 방법은 다음과 같다.
이 경우, 데이터 래치들에 타깃 상태(P3) 데이터가 저장된 페이지 버퍼뿐만 아니라 하위 상태(P2) 데이터가 저장된 페이지 버퍼들에 대해서도 인히빗 덤프가 실행될 수 있다. 우선, 센스 래치가 덤핑될 수 있다(①). 그 후, 상태 데이터(P2)를 저장하고 있는 페이지 버퍼의 데이터 래치(DL2)는 "1"로 덤핑될 것이다(②). 그리고, 상태 데이터(P3)를 저장하고 있는 페이지 버퍼의 데이터 래치들(DL2, 3)은 "1"로 덤핑될 것이다(③). 이때, 덤핑(②)와 덤핑(③)은 서로 다른 페이지 버퍼 내에서 발생하는 것으로서, 동시에 실행될 것이다.
그리고, 타깃 상태(P3)의 검증 레벨보다는 하위 상태(예를 들어, P2)이지만, P2 상태의 검증 단계에서 인히빗 되지 않고, P3 상태의 검증 단계에서 온-셀로 센싱 되는 경우도 있을 수 있다. 이 경우, 해당 메모리 셀은 다음의 프로그램 루프에서 다시 프로그램되며, 검증 동작을 거치게 될 것이다.
도 9는 본 발명의 실시 예에 따른 프로그램 루프의 실행 과정을 보여주는 흐름도이다.
S110 단계에서, 프로그램 동작이 실행될 수 있다. 프로그램 동작은 복수의 메모리 셀들 중 선택된 메모리 셀들에 대해 실행될 수 있다. 각각의 메모리 셀들은 복수의 비트들을 저장할 수 있다.
S120 단계에서, 프로그램된 메모리 셀들에 대한 센싱 동작이 실행될 수 있다. 타깃 상태를 확정한 후, 타깃 상태에 대응하는 타깃 메모리 셀들에 대해 센싱 동작을 수행하는 일반적인 경우와는 달리, 프로그램된 메모리 셀들에 대해 일괄적으로 센싱 동작을 실행한다.
S130 단계에서, 센싱 결과를 참조하여 타깃 상태의 상위 상태들을 배제시킴으로써, 타깃 상태를 선택하는 단계가 실행될 수 있다. 상위 상태들을 배제시키는 것은, 앞서 설명된 바와 같이, 페이지 버퍼의 데이터 래치들에 저장된 값에 따라 센스 래치를 덤핑함으로써 행해질 수 있다.
S140 단계에서, 프로그램 패스 또는 페일 여부를 판단하는 단계가 실행될 수 있다. 패스/페일 체커(도 1 참조, 150)는 센스 래치에 덤핑된 값을 참조하여, 프로그램 패스 또는 페일 여부를 판단하고, 판단 결과를 제어 로직(도 1 참조, 160)으로 전송할 수 있다.
도 10은 본 발명의 다른 실시 예에 따른 프로그램 루프의 실행 과정을 보여주는 흐름도이다.
S210 단계에서, 순차적인 바이너리 코드 형태의 상태 데이터로 리오더링하는 단계가 실행될 수 있다. 이는 디폴트값인 상태 데이터와 리오더링 된 상태 데이터가 다른 경우에 실행되는 것이며, 리오더링 된 상태 데이터가 디폴트값인 경우, 실행되지 않을 수 있다.
S220 단계에서, 프로그램 동작이 실행될 수 있다. 프로그램 동작은 복수의 메모리 셀들 중 선택된 메모리 셀들에 대해 실행될 수 있다. 각각의 메모리 셀들은 복수의 비트들을 저장할 수 있다.
S230 단계에서, 센스 래치를 초기화하는 단계가 실행될 수 있다. 예를 들어, 초기화된 값은 "0"일 수 있다.
S240 단계에서, 프로그램된 메모리 셀들에 연결된 비트 라인들을 프리차지하는 단계가 실행될 수 있다.
S250 단계에서, 프로그램된 메모리 셀들에 대한 센싱 동작이 실행될 수 있다. 타깃 상태를 확정한 후, 타깃 상태에 대응하는 타깃 메모리 셀들에 대해 센싱 동작을 수행하는 일반적인 경우와는 달리, 프로그램된 메모리 셀들에 대해 일괄적으로 센싱 동작을 실행한다.
S260 단계에서, 센싱 결과를 참조하여 타깃 상태의 상위 상태들을 배제시킴으로써, 타깃 상태를 선택하는 단계가 실행될 수 있다. 상위 상태들을 배제시키는 것은, 앞서 설명된 바와 같이, 페이지 버퍼의 데이터 래치들에 저장된 값에 따라 센스 래치를 덤핑함으로써 행해질 수 있다.
S270 단계에서, 타깃 상태에 대응하는 타깃 메모리 셀들을 인히빗 시키는 동작이 실행될 수 있다. 이는 타깃 상태 데이터를 저장하고 있는 페이지 버퍼에 연결된 메모리 셀들을 다음 프로그램 루프에서 인히빗 시키기 위함이다. 예를 들어, 데이터 래치들에 저장된 값을 모두 "1"로 변경하기 위해 "0"이 저장된 데이터 래치들에 대해 인히빗 덤프가 실행될 수 있다.
S280 단계에서, 프로그램 패스 또는 페일 여부를 판단하는 단계가 실행될 수 있다. 패스/페일 체커(도 1 참조, 150)는 센스 래치에 덤핑된 값을 참조하여, 프로그램 패스 또는 페일 여부를 판단하고, 판단 결과를 제어 로직(도 1 참조, 160)로 전송할 수 있다.
본 발명의 실시 예에 따르면, 순차적인 바이너리 코드 형태의 상태 데이터로 메모리 셀들을 프로그램한다. 순차적인 바이너리 코드 형태의 상태 데이터는 디폴트값일 수 있으며, 디폴트값이 아닌 경우, 프로그램 동작에 앞서 순차적인 바이너리 코드 형태의 상태 데이터 리오더링 동작이 실행될 수 있다. 그리고, 일반적인 검증 동작과는 달리, 센싱 동작이 실행된 후, 타깃 상태를 선택하여 검증 동작이 실행될 수 있다. 그 결과, 타깃 상태를 선택하는 단계에서의 덤핑 횟수를 감소시켜 프로그램 속도를 향상시킬 수 있다.
본 발명은 VNAND에 적용 가능하다.
도 11은 본 발명의 실시 예에 따른 VNAND의 블록을 보여주는 도면이다. 도 14를 참조하면, 기판 위에 4개의 서브 블록들이 형성될 수 있다. 각각의 서브 블록들은 기판 위의 워드 라인 컷들 사이에 적어도 하나의 접지 선택 라인(GSL), 복수의 워드 라인들(WLs), 적어도 하나의 스트링 선택 라인(SSL)이 레이어 형태로 적층됨으로써 형성될 수 있다. 적어도 하나의 스트링 선택 라인(SSL)은 스트링 선택 라인 컷으로 분리될 수 있다. 각각의 워드 라인 컷들은, 도시되지 않았지만 공통 소스 라인(Common Source Line: CSL)을 포함할 수 있다. 예를 들어, 각각의 워드 라인 컷에 포함된 공통 소스 라인(CSL)은 공통으로 연결될 수 있다. 비트 라인에 연결된 필라(pilar)가 적어도 하나의 접지 선택 라인(GSL), 복수의 워드 라인들(WLs), 적어도 하나의 스트링 선택 라인(SSL)을 관통함으로써, 스트링이 형성될 수 있다.
도 11에서는 워드 라인 컷들 사이의 대상을 서브 블록으로 도시하였는데, 본 발명이 반드시 여기에 제한되지 않는다. 본 발명의 서브 블록은 워드 라인 컷과 스트링 선택 라인 컷 사이의 대상을 서브 블록으로 명명할 수 있다.
본 발명의 실시 예에 따른 블록(BLK)은 두 개의 워드 라인들이 하나로 병합된 구조, 달리 말하면, 워드 라인 병합 구조(merged wordline structure)로 구현될 수 있다.
도 12는 본 발명의 다른 실시 예에 따른 VNAND의 블록을 보여주는 도면이다. 설명의 편의를 위하여 메모리 블록(BLK)의 워드 라인의 층수는 4라고 가정한다. 메모리 블록(BLK)은 인접한 직렬 연결된 메모리 셀들의 하단들을 파이프로 연결하는 PBiCS(pipe-shaped bit cost scalable) 구조로 구현될 수 있다. 메모리 블록(BLK)은 m×n (m, n은 자연수)의 스트링들(NS)을 포함한다.
도 12에서는 예시적으로 m=6, n=2인 경우가 도시되었다. 각 스트링(NS)은 직렬 연결된 메모리 셀들(MC1 내지 MC8)을 포함할 수 있다. 여기서 메모리 셀들(MC1 내지 MC8)의 제 1 상단은 스트링 선택 트랜지스터(SST)에 연결되고, 메모리 셀들(MC1 내지 MC8)의 제 2 상단은 접지 선택 트랜지스터(GST)에 연결되고, 메모리 셀들(MC1 내지 MC8)의 하단은 파이프 연결될 수 있다.
스트링(NS)을 구성하는 메모리 셀들은 복수의 반도체 층에 적층됨으로써 형성될 수 있다. 각 스트링(NS)은 제 1 필라(PL11), 제 2 필라(PL12), 제 1 필라(PL11) 및 제 2 필라(PL12)를 연결하는 필라 연결부(PL13)를 포함할 수 있다. 제 1 필라(PL11)는 비트 라인(예를 들어, BL1)과 필라 연결부(PL13)에 연결되고, 스트링 선택 라인(SSL), 워드 라인들(WL5 ~ WL8) 사이를 관통함으로써 형성될 수 있다. 제 2 필라(PL12)는 공통 소스 라인(CSL)과 필라 연결부(PL13)에 연결되고, 접지 선택 라인(GSL), 워드 라인들(WL1 ~ WL4) 사이를 관통함으로써 형성될 수 있다. 도 12에 도시된 바와 같이, 스트링(NS)은 U 자형 필라 형태로 구현될 수 있다.
예를 들어, 백-게이트(BG)는 기판 위에 형성되고, 백-게이트(BC) 내부에 필라 연결부(PL13)가 구현될 수 있다. 예를 드어, 백-게이트(BG)는 블록(BLK)에 공통적으로 존재할 수 있다. 백-게이트(BG)는 다른 블록의 백-게이트와 서로 분리된 구조일 수 있다.
본 발명은 솔리드 스테이트 드라이브(solid state drive; SSD)에 적용 가능하다.
도 13은 본 발명의 실시 예에 따른 SSD를 예시적으로 보여주는 블록도이다. 도 13을 참조하면, SSD(1000)는 복수의 불휘발성 메모리 장치들(1100) 및 SSD 컨트롤러(1200)를 포함한다.
불휘발성 메모리 장치들(1100)은 옵션적으로 외부 고전압(Vpp)을 제공받도록 구현될 수 있다. 불휘발성 메모리 장치들(1100) 각각은 본 발명의 실시 예에 따른 검증 동작을 실행하도록 구현될 수 있다.
SSD 컨트롤러(1200)는 복수의 채널들(CH1 ~ CHi, i는 2 이상의 정수)을 통하여 불휘발성 메모리 장치들(1100)에 연결된다. SSD 컨트롤러(1200)는 적어도 하나의 프로세서(1210), 버퍼 메모리(1220), 에러 정정 회로(1230), 호스트 인터페이스(1250) 및 불휘발성 메모리 인터페이스(1260)를 포함할 수 있다.
버퍼 메모리(1220)는 메모리 컨트롤러(1200)의 동작에 필요한 데이터를 임시로 저장할 수 있다. 버퍼 메모리(1220)는 데이터 혹은 명령을 저장하는 복수의 메모리 라인들을 포함할 수 있다. 여기서 복수의 메모리 라인들은 캐시 라인들에 다양한 방법으로 맵핑 될 수 있다. 버퍼 메모리(1220)는 페이지 비트맵 정보 및 읽기 카운트 정보를 저장할 수 있다. 페이지 비트맵 정보 혹은 읽기 카운트 정보는 파워-업시 불휘발성 메모리 장치(1100)로부터 읽혀지고, 내부 동작에 따라 업데이트 될 수 있다. 업데이트된 페이지 비트맵 정보 혹은 읽기 카운트 정보는 주기적 혹은 비주기적으로 불휘발성 메모리 장치(1100)에 저장될 수 있다.
에러 정정 회로(1230)는 쓰기 동작에서 프로그램될 데이터의 에러 정정 코드값을 계산하고, 읽기 동작에서 읽혀진 데이터를 에러 정정 코드값에 근거로 하여 에러 정정하고, 데이터 복구 동작에서 불휘발성 메모리 장치(1100)로부터 복구된 데이터의 에러를 정정할 수 있다. 도시되지 않았지만, 메모리 컨트롤러(1200)를 동작하는 데 필요한 코드 데이터를 저장하는 코드 메모리가 더 포함될 수 있다. 코드 메모리는 불휘발성 메모리 장치로 구현될 수 있다.
호스트 인터페이스(1250)는 외부의 장치와 인터페이스 기능을 제공할 수 있다. 여기서 호스트 인터페이스(1250)는 낸드 플래시 인터페이스일 수 있다. 이 외에도 호스트 인터페이스(1250)는 다양한 인터페이스에 의해 구현될 수 있으며, 복수의 인터페이스들로 구현될 수도 있다. 불휘발성 메모리 인터페이스(1260)는 불휘발성 메모리 장치(1100)와 인터페이스 기능을 제공할 수 있다.
본 발명의 실시 예에 따른 SSD(1000)는, 순차적인 바이너리 코드 형태의 상태 데이터에 따라 프로그램 동작을 실행하고, 검증 단계에서 센싱 동작 후 타깃 상태를 선택함으로써 프로그램 속도를 향상시킬 수 있다.
본 발명은 eMMC(embedded multimedia card, moviNAND, iNAND)에도 적용 가능하다.
도 14는 본 발명의 실시 예에 따른 eMMC를 예시적으로 보여주는 블록도이다. 도 14를 참조하면, eMMC(2000)는 적어도 하나의 낸드 플래시 메모리 장치(2100) 및 컨트롤러(2200)를 포함할 수 있다.
낸드 플래시 메모리 장치(2100)는 본 발명의 실시 예에 따른 프로그램 동작을 실행하도록 구현될 수 있다. 예를 들어, 낸드 플래시 메모리 장치(2100)는 순차적인 바이너리 코드 형태의 상태 데이터로 프로그램될 수 있다. 낸드 플래시 메모리 장치(2100)는 검증 동작시 센싱 동작을 실행한 후 타깃 상태를 선택할 수 있다.
메모리 컨트롤러(2200)는 채널을 통하여 낸드 플래시 메모리 장치(2100)에 연결될 수 있다. 메모리 컨트롤러(2200)는 적어도 하나의 컨트롤러 코어(2210), 호스트 인터페이스(2250) 및 낸드 인터페이스(2260)를 포함할 수 있다. 적어도 하나의 컨트롤러 코어(2210)는 eMMC(2000)의 전반적인 동작을 제어할 수 있다. 호스트 인터페이스(2250)는 컨트롤러(2210)와 호스트의 인터페이싱을 수행할 수 있다. 낸드 인터페이스(2260)는 낸드 플래시 메모리 장치(2100)와 컨트롤러(2200)의 인터페이싱을 수행할 수 있다. 예를 들어, 호스트 인터페이스(2250)는 병렬 인터페이스(예를 들어, MMC 인터페이스)일 수 있다. 예를 들어, eMMC(2000)의 호스트 인터페이스(2250)는 직렬 인터페이스(예를 들어, UHS-II, UFS 인터페이스)일 수 있다. 예를 들어, 호스트 인터페이스(2250)는 낸드 인터페이스일 수 있다.
eMMC(2000)는 호스트로부터 전원 전압들(Vcc 및 Vccq)을 제공받을 수 있다. 여기서, 제 1 전원 전압(Vcc, 예를 들어 3.3V)은 낸드 플래시 메모리 장치(1100) 및 낸드 인터페이스(1230)에 제공되고, 제 2 전원 전압(Vccq, 예를 들어 1.8V/3.3V)은 컨트롤러(1200)에 제공될 수 있다. 예를 들어, eMMC(1000)는 외부 고전압(Vpp)을 옵션적으로 제공받을 수 있다.
본 발명의 실시 예에 따른 eMMC(2000)는 순차적인 바이너리 코드 형태의 상태 데이터에 따라 프로그램 동작을 실행하고, 검증 단계에서 센싱 동작 후 타깃 상태를 선택함으로써 프로그램 속도를 향상시킬 수 있다.
본 발명은 UFS(uiversal flash storage)에도 적용 가능하다.
도 15는 본 발명의 실시 예에 따른 UFS 시스템을 예시적으로 보여주는 블록도이다. 도 15를 참조하면, UFS 시스템(3000)은 UFS 호스트(3100), 적어도 하나의 임베디드 UFS 장치(3200), 착탈형 UFS 카드(3300)를 포함할 수 있다. UFS 호스트(3100) 및 임베디드 UFS 장치(3200) 사이의 통신 및 UFS 호스트(3100) 및 착탈형 UFS 카드(3300) 사이의 통신은 M-PHY 계층을 통하여 수행될 수 있다.
임베디드 UFS 장치(3200), 및 착탈형 UFS 카드(3300) 중 적어도 하나는 본 발명의 실시 예에 따른 검증 동작을 실행하도록 구현될 수 있다.
한편, 호스트(3100)는 착탈형 UFS 카드(3400)는 UFS 프로토콜이 아닌 다른 프로토콜에 의해 통신하도록 브릿지(bridge)를 구비할 수 있다. UFS 호스트(3100)와 착탈형 UFS 카드(3400)는 다양한 카드 프로토콜(예를 들어, UFDs, MMC, eMMC SD(secure digital), mini SD, Micro SD 등)에 의해 통신할 수 있다.
본 발명은 모바일 장치에도 적용 가능하다.
도 16은 본 발명의 실시 예에 따른 불휘발성 메모리 장치가 적용된 휴대용 단말기를 나타내는 블록도이다. 도 16을 참조하여, 휴대용 단말기(4000)는 이미지 처리부(4100), 무선 송수신부(4200), 오디오 처리부(4300), 이미지 파일 생성부(4400), 불휘발성 메모리 장치(4500), 사용자 인터페이스(4600), 및 컨트롤러(4700)를 포함할 수 있다.
이미지 처리부(4100)는 렌즈(4110), 이미지 센서(4120), 이미지 프로세서(4130), 그리고 디스플레이부(4140)를 포함할 수 있다. 무선 송수신부(4200)는 안테나(4210), RF 부(4220), 및 모뎀(4230)을 포함할 수 있다. 오디오 처리부(4300)는 오디오 프로세서(4310), 마이크(4320), 및 스피커(4330)를 포함할 수 있다.
불휘발성 메모리 장치(4500)는 메모리 카드(MMC, eMMC, SD, micro SD) 등으로 제공될 수 있다. 더불어, 컨트롤러(4700)는 응용 프로그램, 운영 체제 등을 구동하는 시스템 온 칩(SoC)으로 제공될 수 있다. 시스템 온 칩에서 구동되는 운영 체제의 커널(Kernel)에는 입출력 스케줄러(I/O Scheduler) 및 불휘발성 메모리 장치(1500)를 제어하기 위한 장치 드라이버(Device Driver)가 포함될 수 있다. 장치 드라이버(Device driver)는 입출력 스케줄러에서 관리되는 동기 큐의 수를 참조하여 불휘발성 메모리 장치(4500)의 액세스 성능을 제어하거나, SoC 내부의 CPU 모드, DVFS 레벨 등을 제어할 수 있다.
불휘발성 메모리 장치(4500) 및/또는 컨트롤러(4700)는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 불휘발성 메모리 장치 및/또는 컨트롤러는 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) 등과 같은 패키지들을 이용하여 실장 될 수 있다.
본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
100: 불휘발성 메모리 장치 110: 메모리 셀 어레이
120: 로우 디코더 130: 페이지 버퍼 블록
130-n: 페이지 버퍼 140: 컬럼 디코더 및 입출력 버퍼
150: 패스/페일 체커 160: 제어 로직
162: 리오더링 회로 170: 전압 발생기

Claims (10)

  1. 불휘발성 메모리 장치의 프로그램 방법에 있어서:
    워드 라인에 연결된 복수의 메모리 셀들 중 선택된 메모리 셀들을 프로그램하는 단계;
    상기 워드 라인에 연결된 상기 프로그램 된 메모리 셀들 및 비 프로그램 된 메모리 셀들을 포함하는 상기 복수의 메모리 셀들에 연결된 비트 라인들을 프리차지하는 단계;
    상기 워드 라인에 복수의 검증 전압들 중 선택된 검증 전압을 인가하는 단계;
    상기 선택된 검증 전압이 인가된 워드 라인에 연결된 상기 복수의 메모리 셀들에 대하여 센싱 동작을 수행하는 단계;
    상기 센싱 결과 및 타깃 상태 데이터를 참조하여 상기 복수의 메모리 셀들 중 타깃 상태로 프로그램되는 타깃 메모리 셀들을 선택하는 단계; 그리고
    상기 선택된 타깃 메모리 셀들이 프로그램 패스 또는 페일 되었는지 여부를 판단하는 단계를 포함하되,
    상기 선택하는 단계는 데이터 래치들에 저장된 상태 데이터 중 적어도 한 비트를 센스 래치로 덤핑함으로써 상기 타깃 상태보다 높은 문턱 전압을 갖는 상위 상태들을 배제시키는 단계를 포함하고,
    상기 상태 데이터는 순차적인 바이너리 코드 형태의 오더링에 의거하여 설정되는 불휘발성 메모리 장치의 프로그램 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 타깃 메모리 셀들이 인히빗 되도록 상기 데이터 래치들을 기준 데이터 비트로 덤핑하는 단계를 더 포함하는 불휘발성 메모리 장치의 프로그램 방법.
  4. 삭제
  5. 제 3 항에 있어서,
    상기 프리차지하는 단계 이전에, 상기 센스 래치의 값을 초기화하는 단계를 더 포함하는 불휘발성 메모리 장치의 프로그램 방법.
  6. 제 3 항에 있어서,
    상기 타깃 상태보다 낮은 문턱 전압으로 프로그램되고 오프-셀로 센싱된 메모리 셀들이 인히빗 되도록, 상기 데이터 래치들이 상기 기준 데이터 비트로 덤핑되는 불휘발성 메모리 장치의 프로그램 방법.
  7. 제 3 항에 있어서,
    상기 타깃 상태보다 높은 문턱 전압으로 프로그램되지만 프로그램이 완료되지 않은 메모리 셀들은 인히빗 되지 않도록, 상기 상태 데이터 중 적어도 한 비트가 상기 센스 래치로 덤핑되는 불휘발성 메모리 장치의 프로그램 방법.
  8. 워드 라인에 연결된 복수의 메모리 셀들을 포함하는 메모리 셀 어레이;
    상기 복수의 메모리 셀들에 연결된 복수의 비트 라인들 각각에 연결되는 페이지 버퍼들을 포함하는 페이지 버퍼 블록; 그리고
    상기 복수의 메모리 셀들 중 선택된 메모리 셀들을 프로그램하고, 상기 워드 라인에 연결된 상기 프로그램 된 메모리 셀들 및 비 프로그램 된 메모리 셀들을 포함하는 상기 복수의 메모리 셀들에 연결된 비트 라인들을 프리차지하고, 상기 워드라인에 복수의 검증 전압들 중 선택된 검증 전압을 인가하고, 상기 선택된 검증 전압이 인가된 워드라인에 연결된 상기 복수의 메모리 셀들에 대해 센싱 동작을 수행하도록 상기 페이지 버퍼들을 제어하고, 그리고 상기 센싱 결과 및 타깃 상태 데이터를 참조하여 상기 복수의 메모리 셀들 중 타깃 상태로 프로그램되는 타깃 메모리 셀들을 선택하도록 상기 페이지 버퍼들을 제어하는 제어 로직을 포함하되,
    상기 페이지 버퍼들 각각은:
    상기 프로그램 동작 시, 프로그램 될 상태에 대응하는 상태 데이터를 저장하는 복수의 데이터 래치들;
    상기 프로그램 동작 시, 외부로부터 프로그램 데이터를 입력 받고, 상기 입력된 프로그램 데이터를 상기 복수의 데이터 래치들로 전송하는 캐시 래치;
    상기 센싱 동작 전에, 상기 비트 라인들로 프리차지 전압을 인가하는 프리차지 회로; 그리고
    상기 센싱 동작에 따른 비트 라인의 전압을 래치함으로써 센싱 데이터를 저장하는 센스 래치를 포함하고,
    상기 제어 로직은 상기 복수의 데이터 래치들에 저장된 상태 데이터 중 적어도 한 비트를 센스 래치로 덤핑함으로써 상기 타깃 상태보다 높은 문턱 전압을 갖는 상위 상태들을 배제시키고,
    상기 상태 데이터는 순차적인 바이너리 코드 형태의 오더링에 의거하여 설정되는 불휘발성 메모리 장치.
  9. 삭제
  10. 삭제
KR1020140093320A 2014-07-23 2014-07-23 불휘발성 메모리 장치 및 그것의 동작 방법 KR102179270B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140093320A KR102179270B1 (ko) 2014-07-23 2014-07-23 불휘발성 메모리 장치 및 그것의 동작 방법
US14/639,331 US9349482B2 (en) 2014-07-23 2015-03-05 Nonvolatile memory device and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140093320A KR102179270B1 (ko) 2014-07-23 2014-07-23 불휘발성 메모리 장치 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20160012300A KR20160012300A (ko) 2016-02-03
KR102179270B1 true KR102179270B1 (ko) 2020-11-18

Family

ID=55167251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140093320A KR102179270B1 (ko) 2014-07-23 2014-07-23 불휘발성 메모리 장치 및 그것의 동작 방법

Country Status (2)

Country Link
US (1) US9349482B2 (ko)
KR (1) KR102179270B1 (ko)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102308777B1 (ko) * 2014-06-02 2021-10-05 삼성전자주식회사 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템의 동작방법
US10163479B2 (en) 2015-08-14 2018-12-25 Spin Transfer Technologies, Inc. Method and apparatus for bipolar memory write-verify
KR102519541B1 (ko) * 2016-04-21 2023-04-10 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 동작 방법
US10628316B2 (en) 2016-09-27 2020-04-21 Spin Memory, Inc. Memory device with a plurality of memory banks where each memory bank is associated with a corresponding memory instruction pipeline and a dynamic redundancy register
US10437723B2 (en) 2016-09-27 2019-10-08 Spin Memory, Inc. Method of flushing the contents of a dynamic redundancy register to a secure storage area during a power down in a memory device
US10192601B2 (en) 2016-09-27 2019-01-29 Spin Transfer Technologies, Inc. Memory instruction pipeline with an additional write stage in a memory device that uses dynamic redundancy registers
US10546625B2 (en) 2016-09-27 2020-01-28 Spin Memory, Inc. Method of optimizing write voltage based on error buffer occupancy
US10818331B2 (en) 2016-09-27 2020-10-27 Spin Memory, Inc. Multi-chip module for MRAM devices with levels of dynamic redundancy registers
US10460781B2 (en) 2016-09-27 2019-10-29 Spin Memory, Inc. Memory device with a dual Y-multiplexer structure for performing two simultaneous operations on the same row of a memory bank
US10360964B2 (en) 2016-09-27 2019-07-23 Spin Memory, Inc. Method of writing contents in memory during a power up sequence using a dynamic redundancy register in a memory device
US10437491B2 (en) * 2016-09-27 2019-10-08 Spin Memory, Inc. Method of processing incomplete memory operations in a memory device during a power up sequence and a power down sequence using a dynamic redundancy register
US10366774B2 (en) 2016-09-27 2019-07-30 Spin Memory, Inc. Device with dynamic redundancy registers
US10192602B2 (en) 2016-09-27 2019-01-29 Spin Transfer Technologies, Inc. Smart cache design to prevent overflow for a memory device with a dynamic redundancy register
US10446210B2 (en) 2016-09-27 2019-10-15 Spin Memory, Inc. Memory instruction pipeline with a pre-read stage for a write operation for reducing power consumption in a memory device that uses dynamic redundancy registers
US10387058B2 (en) 2016-09-29 2019-08-20 Micron Technology, Inc. Apparatuses and methods to change data category values
US10529439B2 (en) 2017-10-24 2020-01-07 Spin Memory, Inc. On-the-fly bit failure detection and bit redundancy remapping techniques to correct for fixed bit defects
US10481976B2 (en) 2017-10-24 2019-11-19 Spin Memory, Inc. Forcing bits as bad to widen the window between the distributions of acceptable high and low resistive bits thereby lowering the margin and increasing the speed of the sense amplifiers
US10656994B2 (en) 2017-10-24 2020-05-19 Spin Memory, Inc. Over-voltage write operation of tunnel magnet-resistance (“TMR”) memory device and correcting failure bits therefrom by using on-the-fly bit failure detection and bit redundancy remapping techniques
US10489245B2 (en) 2017-10-24 2019-11-26 Spin Memory, Inc. Forcing stuck bits, waterfall bits, shunt bits and low TMR bits to short during testing and using on-the-fly bit failure detection and bit redundancy remapping techniques to correct them
US10395712B2 (en) 2017-12-28 2019-08-27 Spin Memory, Inc. Memory array with horizontal source line and sacrificial bitline per virtual source
US10424726B2 (en) 2017-12-28 2019-09-24 Spin Memory, Inc. Process for improving photoresist pillar adhesion during MRAM fabrication
US10395711B2 (en) 2017-12-28 2019-08-27 Spin Memory, Inc. Perpendicular source and bit lines for an MRAM array
US10811594B2 (en) 2017-12-28 2020-10-20 Spin Memory, Inc. Process for hard mask development for MRAM pillar formation using photolithography
US10360962B1 (en) 2017-12-28 2019-07-23 Spin Memory, Inc. Memory array with individually trimmable sense amplifiers
US10891997B2 (en) 2017-12-28 2021-01-12 Spin Memory, Inc. Memory array with horizontal source line and a virtual source line
US10840436B2 (en) 2017-12-29 2020-11-17 Spin Memory, Inc. Perpendicular magnetic anisotropy interface tunnel junction devices and methods of manufacture
US10886330B2 (en) 2017-12-29 2021-01-05 Spin Memory, Inc. Memory device having overlapping magnetic tunnel junctions in compliance with a reference pitch
US10784439B2 (en) 2017-12-29 2020-09-22 Spin Memory, Inc. Precessional spin current magnetic tunnel junction devices and methods of manufacture
US10840439B2 (en) 2017-12-29 2020-11-17 Spin Memory, Inc. Magnetic tunnel junction (MTJ) fabrication methods and systems
US10546624B2 (en) 2017-12-29 2020-01-28 Spin Memory, Inc. Multi-port random access memory
US10424723B2 (en) 2017-12-29 2019-09-24 Spin Memory, Inc. Magnetic tunnel junction devices including an optimization layer
US10367139B2 (en) 2017-12-29 2019-07-30 Spin Memory, Inc. Methods of manufacturing magnetic tunnel junction devices
US10438996B2 (en) 2018-01-08 2019-10-08 Spin Memory, Inc. Methods of fabricating magnetic tunnel junctions integrated with selectors
US10438995B2 (en) 2018-01-08 2019-10-08 Spin Memory, Inc. Devices including magnetic tunnel junctions integrated with selectors
US10446744B2 (en) 2018-03-08 2019-10-15 Spin Memory, Inc. Magnetic tunnel junction wafer adaptor used in magnetic annealing furnace and method of using the same
US11107974B2 (en) 2018-03-23 2021-08-31 Spin Memory, Inc. Magnetic tunnel junction devices including a free magnetic trench layer and a planar reference magnetic layer
US10734573B2 (en) 2018-03-23 2020-08-04 Spin Memory, Inc. Three-dimensional arrays with magnetic tunnel junction devices including an annular discontinued free magnetic layer and a planar reference magnetic layer
US10784437B2 (en) 2018-03-23 2020-09-22 Spin Memory, Inc. Three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer
US11107978B2 (en) 2018-03-23 2021-08-31 Spin Memory, Inc. Methods of manufacturing three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer
US10411185B1 (en) 2018-05-30 2019-09-10 Spin Memory, Inc. Process for creating a high density magnetic tunnel junction array test platform
US10559338B2 (en) 2018-07-06 2020-02-11 Spin Memory, Inc. Multi-bit cell read-out techniques
US10600478B2 (en) 2018-07-06 2020-03-24 Spin Memory, Inc. Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations
US10593396B2 (en) 2018-07-06 2020-03-17 Spin Memory, Inc. Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations
US10692569B2 (en) 2018-07-06 2020-06-23 Spin Memory, Inc. Read-out techniques for multi-bit cells
US10650875B2 (en) 2018-08-21 2020-05-12 Spin Memory, Inc. System for a wide temperature range nonvolatile memory
US10699761B2 (en) 2018-09-18 2020-06-30 Spin Memory, Inc. Word line decoder memory architecture
US10971680B2 (en) 2018-10-01 2021-04-06 Spin Memory, Inc. Multi terminal device stack formation methods
US11621293B2 (en) 2018-10-01 2023-04-04 Integrated Silicon Solution, (Cayman) Inc. Multi terminal device stack systems and methods
US11107979B2 (en) 2018-12-28 2021-08-31 Spin Memory, Inc. Patterned silicide structures and methods of manufacture
KR20200098009A (ko) * 2019-02-11 2020-08-20 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법
KR20200117746A (ko) * 2019-04-05 2020-10-14 삼성전자주식회사 비휘발성 메모리 장치, 비휘발성 메모리 장치의 동작 방법 및 비휘발성 메모리 장치를 포함하는 메모리 시스템
KR20200130573A (ko) * 2019-05-09 2020-11-19 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 및 불휘발성 메모리 장치를 포함하는 스토리지 시스템
KR20210025162A (ko) * 2019-08-26 2021-03-09 삼성전자주식회사 불휘발성 메모리 장치, 스토리지 장치, 그리고 불휘발성 메모리 장치의 동작 방법
US11158379B2 (en) 2019-08-26 2021-10-26 Samsung Electronics Co., Ltd. Nonvolatile memory device, storage device, and operating method of nonvolatile memory device
KR20210155660A (ko) 2020-06-16 2021-12-23 에스케이하이닉스 주식회사 메모리 장치 및 이의 제어 방법
KR20230012638A (ko) * 2020-09-24 2023-01-26 양쯔 메모리 테크놀로지스 씨오., 엘티디. Nand 메모리 프로그래밍 아키텍처 및 방법
US11942165B2 (en) 2020-09-24 2024-03-26 Yangtze Memory Technologies Co., Ltd. Architecture and method for NAND memory programming

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101139133B1 (ko) 2010-07-09 2012-04-30 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100525004B1 (ko) 2004-02-26 2005-10-31 삼성전자주식회사 멀티레벨 셀(Multi-level cell)플래쉬메모리장치 및 이의 프로그램 방법
US7616500B2 (en) 2007-02-20 2009-11-10 Sandisk Corporation Non-volatile storage apparatus with multiple pass write sequence
KR101322378B1 (ko) 2007-07-09 2013-10-30 삼성전자주식회사 불휘발성 반도체 메모리 장치 및 그것의 프로그램 방법
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
US7826271B2 (en) 2008-06-12 2010-11-02 Sandisk Corporation Nonvolatile memory with index programming and reduced verify
US7768836B2 (en) 2008-10-10 2010-08-03 Sandisk Corporation Nonvolatile memory and method with reduced program verify by ignoring fastest and/or slowest programming bits
KR20100056860A (ko) 2008-11-20 2010-05-28 주식회사 하이닉스반도체 비휘발성 메모리 소자의 프로그램 방법
US8102705B2 (en) 2009-06-05 2012-01-24 Sandisk Technologies Inc. Structure and method for shuffling data within non-volatile memory devices
US8223556B2 (en) 2009-11-25 2012-07-17 Sandisk Technologies Inc. Programming non-volatile memory with a reduced number of verify operations
KR101691092B1 (ko) * 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
KR101662277B1 (ko) * 2010-05-12 2016-10-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR20110131648A (ko) * 2010-05-31 2011-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
KR101656384B1 (ko) * 2010-06-10 2016-09-12 삼성전자주식회사 불휘발성 메모리 장치의 데이터 기입 방법
KR101674070B1 (ko) * 2010-07-07 2016-11-22 에스케이하이닉스 주식회사 불휘발성 메모리 소자의 프로그램 동작 방법
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
KR101184830B1 (ko) * 2010-10-27 2012-09-20 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR20120061574A (ko) * 2010-12-03 2012-06-13 에스케이하이닉스 주식회사 펌프회로 및 이를 구비한 반도체 메모리 장치
US8472257B2 (en) 2011-03-24 2013-06-25 Sandisk Technologies Inc. Nonvolatile memory and method for improved programming with reduced verify
KR20120131487A (ko) * 2011-05-25 2012-12-05 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
KR101736457B1 (ko) * 2011-07-12 2017-05-17 삼성전자주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치의 소거 방법, 불휘발성 메모리 장치의 동작 방법, 불휘발성 메모리 장치를 포함하는 메모리 시스템, 메모리 시스템의 동작 방법, 불휘발성 메모리 장치를 포함하는 메모리 카드 및 솔리드 스테이트 드라이브
KR101787612B1 (ko) * 2011-07-12 2017-10-19 삼성전자주식회사 비휘발성 메모리 장치의 데이터 저장 방법 및 구동 방법
KR101216876B1 (ko) * 2011-09-20 2012-12-28 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
KR20130031484A (ko) * 2011-09-21 2013-03-29 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 이의 동작 방법
KR101775660B1 (ko) * 2011-09-29 2017-09-07 삼성전자주식회사 워드 라인 전압의 변화없이 상이한 문턱 전압들을 갖는 메모리 셀들을 읽는 방법 및 그것을 이용한 불 휘발성 메모리 장치
KR101878455B1 (ko) * 2011-11-18 2018-07-16 삼성전자주식회사 비휘발성 메모리 장치의 데이터 독출 방법 및 구동 방법
KR20130057086A (ko) 2011-11-23 2013-05-31 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR20130072668A (ko) 2011-12-22 2013-07-02 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 동작 방법
KR20130072518A (ko) * 2011-12-22 2013-07-02 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
KR20130072665A (ko) * 2011-12-22 2013-07-02 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR20150041260A (ko) * 2013-10-07 2015-04-16 에스케이하이닉스 주식회사 반도체 장치 및 그것의 동작 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101139133B1 (ko) 2010-07-09 2012-04-30 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법

Also Published As

Publication number Publication date
US20160027525A1 (en) 2016-01-28
KR20160012300A (ko) 2016-02-03
US9349482B2 (en) 2016-05-24

Similar Documents

Publication Publication Date Title
KR102179270B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
CN108573722B (zh) 操作非易失性存储器件的方法和非易失性存储器件
CN107093465B (zh) 包括电压搜索单元的数据存储器装置
KR101617641B1 (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법
JP6262426B2 (ja) メモリシステム及びそれのブロック複写方法
US9390001B2 (en) Nonvolatle memory device and memory system having the same, and related memory management, erase and programming methods
US9396800B2 (en) Memory system and programming method thereof
KR101626548B1 (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법
KR101596826B1 (ko) 비휘발성 메모리 장치 및 그것의 바이어스 전압 인가 방법
CN108305658B (zh) 半导体存储装置及其操作方法
KR102248835B1 (ko) 불 휘발성 메모리 장치 및 그것의 동작 방법
US10497452B2 (en) Semiconductor memory device and method of operating the same
TWI746844B (zh) 記憶體裝置及其操作方法
CN109754827B (zh) 半导体存储器装置及其操作方法
KR102128825B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
KR102102171B1 (ko) 멀티 레벨 셀 메모리 시스템
KR20190012771A (ko) 컨트롤러 및 그 동작 방법
KR102340328B1 (ko) 반도체 메모리 장치 및 이의 동작 방법
KR102353363B1 (ko) 메모리 시스템의 동작 방법
KR102133362B1 (ko) 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템, 및 그것의 프로그램 방법
CN114267387A (zh) 控制器及半导体存储装置的操作方法以及存储系统
KR101691097B1 (ko) 홀수의 매트들을 구비한 비휘발성 메모리 장치, 그것의 블록 설정 방법, 그것을 포함하는 메모리 시스템
KR20210066551A (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