KR102048017B1 - 비휘발성 메모리 장치의 테스트 및 운영 방법 - Google Patents

비휘발성 메모리 장치의 테스트 및 운영 방법 Download PDF

Info

Publication number
KR102048017B1
KR102048017B1 KR1020130106305A KR20130106305A KR102048017B1 KR 102048017 B1 KR102048017 B1 KR 102048017B1 KR 1020130106305 A KR1020130106305 A KR 1020130106305A KR 20130106305 A KR20130106305 A KR 20130106305A KR 102048017 B1 KR102048017 B1 KR 102048017B1
Authority
KR
South Korea
Prior art keywords
value
memory device
memory area
nonvolatile memory
memory
Prior art date
Application number
KR1020130106305A
Other languages
English (en)
Other versions
KR20150027635A (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 KR1020130106305A priority Critical patent/KR102048017B1/ko
Priority to US14/468,736 priority patent/US9214206B2/en
Publication of KR20150027635A publication Critical patent/KR20150027635A/ko
Application granted granted Critical
Publication of KR102048017B1 publication Critical patent/KR102048017B1/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1202Word line control

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

비휘발성 메모리 장치의 테스트 및 운영 방법이 개시된다. 본 발명의 예시적 실시예에 따른 비휘발성 메모리 장치의 테스트 방법은 메모리 영역의 워드라인들에 각각 대응하는 프로그램 루프 횟수들에 기초하여 제1 및 제2 값을 계산할 수 있다. 메모리 영역의 특성값은 제1 및 제2 값에 기초하여 계산될 수 있고, 기준값과 비교되어 메모리 영역의 불량 여부를 결정할 수 있다.

Description

비휘발성 메모리 장치의 테스트 및 운영 방법{Test and management method of nonvolatile memory device}
본 발명의 기술적 사상은 비휘발성 메모리 장치의 테스트 및 운영 방법에 관한 것으로서, 자세하게는 메모리 영역을 포함하는 비휘발성 메모리 장치의 테스트 및 운영 방법에 관한 것이다.
비휘발성 메모리 장치는 전력 공급이 차단되어도 저장하고 있는 데이터를 유지할 수 있다. 비휘발성 메모리 장치의 일예로서 플래시 메모리 장치는 전기적으로 데이터를 기록하거나 소거가 가능한 메모리 셀을 포함할 수 있고, 메모리 셀은 플로팅 게이트 트랜지스터를 포함할 수 있다. 메모리 셀은 플로팅 게이트 트랜지스터의 문턱 전압을 조절함으로써 데이터를 저장할 수 있다.
플로팅 게이트 트랜지스터의 문턱 전압은 플로팅 게이트 트랜지스터의 게이트에 높은 전압이 인가됨으로써 변경될 수 있다. 메모리 셀에 포함되는 플로팅 게이트 트랜지스터는 워드라인에 연결될 수 있고, 워드라인을 통해서 인가되는 전압에 의해 플로팅 게이트 트랜지스터의 문턱 전압은 변경될 수 있다.
본 발명의 기술적 사상은 비휘발성 메모리 장치의 테스트 및 운영 방법에 관한 것으로서, 메모리 영역의 불량 여부를 판별하는 비휘발성 메모리 장치의 테스트 방법 및 불량 메모리 영역을 포함하는 비휘발성 메모리 장치의 운영 방법을 제공한다.
본 발명의 기술적 사상의 일면에 따른 비휘발성 메모리 장치의 테스트 방법에 있어서, 상기 비휘발성 메모리 장치는 복수개의 워드라인들에 연결된 메모리 셀들을 포함하는 메모리 영역을 포함할 수 있고, 상기 테스트 방법은 상기 복수개의 워드라인들에 각각 대응하는 복수개의 프로그램 루프 횟수들 중 하나를 제1 값으로서 선택하는 단계, 상기 복수개의 프로그램 루프 횟수들 중 N개에 기초하여 제2 값을 계산하는 단계, 상기 제1 및 제2 값에 기초하여 상기 메모리 영역의 특성값을 계산하는 단계 및 기준값 및 상기 특성값에 기초하여 상기 메모리 영역의 불량 여부를 판단하는 단계를 포함할 수 있다.
본 발명의 예시적 실시예에 따라 상기 제1 값은 상기 복수개의 프로그램 루프 횟수들의 최대값일 수 있고, 상기 제2 값은 상기 복수개의 프로그램 루프 횟수들 중 N개의 합계일 수 있다.
본 발명의 예시적 실시예에 따라 상기 특성값은 상기 제1 값에 상기 제2 값을 N으로 나눈 몫을 감산한 값일 수 있다.
본 발명의 예시적 실시예에 따라 상기 특성값은 상기 제1 값과 N의 곱에 상기 제2 값을 감산한 값일 수 있다.
본 발명의 예시적 실시예에 따라 상기 판단하는 단계는 상기 기준값 또는 상기 기준값과 N의 곱 및 상기 특성값을 비교하는 단계 및 상기 특성값이 더 큰 경우 상기 메모리 영역을 불량으로 판단하는 단계를 포함할 수 있다.
본 발명의 예시적 실시예에 따라 상기 테스트 방법은 상기 비휘발성 메모리 장치 외부로부터 제어 신호를 수신하는 단계 및 상기 제어 신호에 따라 상기 기준값 또는 N을 설정하는 단계를 더 포함할 수 있다.
본 발명의 예시적 실시예에 따라 상기 제2 값은 상기 복수개의 워드라인들 중 등간격으로 배치된 N개의 워드라인들에 대응하는 프로그램 루프 횟수들의 합계에 기초하여 계산될 수 있다.
본 발명의 예시적 실시예에 따라 상기 제1 값은 상기 복수개의 워드라인들 중 랜덤하게 선택된 N개의 워드라인들에 대응하는 프로그램 루프 횟수들의 합계에 기초하여 계산될 수 있다.
본 발명의 예시적 실시예에 따라 상기 테스트 방법은 상기 판단하는 단계의 결과에 따른 신호를 상기 비휘발성 메모리 장치의 외부로 출력하는 단계를 더 포함할 수 있다.
본 발명의 예시적 실시예에 따라 상기 비휘발성 메모리는 장치는 NAND 플래시 메모리 장치일 수 있고, 상기 메모리 영역은 메모리 블록일 수 있다.
본 발명의 예시적 실시예에 따라 상기 테스트 방법은 상기 비휘발성 메모리 장치에 포함되는 테스트부에 의해 수행될 수 있다.
본 발명의 기술적 사상의 다른 일면에 따른 비휘발성 메모리 장치의 운영 방법에 있어서, 상기 비휘발성 메모리 장치는 복수개의 워드라인들에 연결된 메모리 셀들을 포함하는 메모리 영역을 포함할 수 있고, 상기 테스트 방법은 상기 메모리 영역의 특성값과 비교될 기준값을 설정하는 단계 및 상기 기준값을 상기 비휘발성 메모리 장치로 전송하는 단계를 포함할 수 있고, 상기 특성값은 제1 및 제2 값에 기초하여 계산될 수 있, 상기 제1 값은 상기 복수개의 워드라인들에 각각 대응하는 복수개의 프로그램 루프 횟수들 중 선택될 수 있고, 상기 제2 값은 상기 복수개의 프로그램 루프 횟수들 중 N개에 기초하여 계산될 수 있다.
본 발명의 예시적 실시예에 따라 상기 테스트 방법은 상기 메모리 영역의 테스트를 시작하도록 하는 신호를 상기 비휘발성 메모리 장치로 전송하는 단계, 상기 비휘발성 메모리 장치로부터 상기 메모리 영역의 불량 여부에 따른 신호를 수신하는 단계 및 상기 수신된 신호에 따라 상기 메모리 영역을 사용불가능 메모리 영역 리스트에 추가시키는 단계를 더 포함할 수 있다.
본 발명의 예시적 실시예에 따라 N을 변경하는 신호를 상기 비휘발성 메모리 장치로 전송하는 단계를 더 포함할 수 있다.
본 발명의 예시적 실시예에 따라 상기 운영 방법은 상기 비휘발성 메모리 장치와 통신하는 메모리 컨트롤러에 의해 수행될 수 있다.
상기 비휘발성 메모리 장치의 테스트 방법에 따르면, 비휘발성 메모리 장치가 제조된 공정의 편차가 반영될 수 있으므로 비휘발성 메모리 장치의 품질 및 수율이 향상될 수 있다.
또한, 상기 비휘발성 메모리 장치의 운영 방법에 따르면, 비휘발성 메모리 장치가 제조된 공정의 편차로부터 독립적인 기준값이 설정될 수 있으므로 보다 정확하게 불량 메모리 영역을 판별할 수 있다.
도 1은 본 발명의 예시적 실시예에 따른 비휘발성 메모리 장치의 테스트 방법을 나태는 순서도이다.
도 2는 본 발명의 예시적 실시예에 따른 비휘발성 메모리 장치를 개략적으로 나타내는 블록도이다.
도 3은 본 발명의 예시적 실시예에 따라 도 2의 연산부의 구현예를 개략적으로 나타내는 블록도이다.
도 4a 및 4b는 본 발명의 예시적 실시예들에 따라 도 2의 판단부의 구현예들을 걔략적으로 나타내는 도면들이다.
도 5는 본 발명의 예시적 실시예에 따라 특성값을 계산하는 방법을 개략적으로 나타내는 도면이다.
도 6a 및 6b는 본 발명의 예시적 실시예들에 따라 도 5의 서브 그룹의 예들을 나타내는 도면이다.
도 7은 본 발명의 예시적 실시예에 따라 제1 및 제2 값을 계산하는 방법을 나타내는 순서도이다.
도 8a 및 8b는 본 발명의 예시적 실시예들에 따라 메모리 영역의 불량 여부를 판단하는 방법을 개략적으로 나타내는 순서도들이다.
도 9는 본 발명의 예시적 실시예에 따라 비휘발성 메모리 장치를 운영하는 방법을 나타내는 도면이다.
도 10은 본 발명의 예시적 실시예에 따른 비휘발성 메모리 시스템을 장착하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 11은 본 발명의 예시적 실시예에 따른 메모리 카드를 나타내는 도면이다.
이하에서는 본 발명의 바람직한 실시예가, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 철저한 이해를 제공할 의도 외에는 다른 의도 없이, 첨부한 도면들을 참조로 하여 상세히 설명될 것이다.
도 1은 본 발명의 예시적 실시예에 따른 비휘발성 메모리 장치의 테스트 방법을 나태는 순서도이다. 비휘발성 메모리 장치는 복수개의 메모리 영역들로 구성된 셀 어레이를 포함할 수 있다. 본 발명의 예시적 실시예에 따른 비휘발성 메모리 장치의 테스트 방법은 셀 어레이에 포함된 메모리 영역을 테스트함으로써 메모리 영역의 불량 여부를 판별할 수 있다. 불량 메모리 영역은 정상적으로 데이터를 기록하거나 독출할 수 없는 메모리 셀을 포함하는 것으로서, 비휘발성 메모리 장치가 제조되는 공정에서 다양한 원인에 의하여 발생할 수 있다.
하나의 메모리 영역은 복수개의 워드라인들에 연결된 메모리 셀들을 포함할 수 있고, 메모리 셀은 워드라인에 인가된 전압에 의해서 프로그램될 수 있다. 메모리 셀을 프로그램하기 위하여, 워드라인에 가변적인 전압을 인가하고 메모리 셀을 검증하는 동작이 반복적으로 수행될 수 있다. 즉, 워드라인에 연결된 메모리 셀들은 적어도 1회 이상의 프로그램 루프를 통해서 프로그램 될 수 있다. 예컨대, 비휘발성 메모리 장치의 일예로서 플래시 메모리 장치는 ISPP(incremental step pulse programming)에 의해 메모리 셀을 프로그램할 수 있다. 불량 메모리 영역에 포함되는 메모리 셀은 정상 메모리 영역에 포함되는 메모리 셀보다 훨씬 더 높은 프로그램 루프 횟수를 가질 수 있다.
본 발명의 예시적 실시예에 따라, 비휘발성 메모리 장치는 하나의 메모리 영역에 포함되는 복수개의 워드라인들 각각에 대응하는 프로그램 루프 횟수들을 카운트 할 수 있고, 복수개의 프로그램 루프 횟수들 중 하나를 제1 값으로서 선택할 수 있다(S01). 예컨대, 제1 값은 하나의 메모리 영역에 포함되는 모든 워드라인들에 대응하는 프로그램 루프 횟수들 중 어느 하나일 수 있다.
본 발명의 예시적 실시예에 따라, 비휘발성 메모리 장치는 하나의 메모리 영역에 포함되는 워드라인들 중 N개의 워드라인들에 대응하는 프로그램 루프 횟수들에 기초하여 제2 값을 계산할 수 있다(S02). 예컨대, 하나의 메모리 영역에 포함되는 워드라인의 개수와 N이 일치하는 경우, 제2 값은 메모리 영역에 포함되는 모든 워드라인들에 대응하는 프로그램 루프 횟수들에 기초하여 계산될 수 있다. 한편, N이 하나의 메모리 영역에 포함되는 워드라인의 개수 보다 작은 경우, 제2 값은 메모리 영역에 포함되는 모든 워드라인들에 대응하는 프로그램 루프 횟수들 중 일부에 기초하여 계산될 수 있다.
본 발명의 예시적 실시예에 따라, 비휘발성 메모리 장치는 제1 및 제2 값에 기초하여 메모리 영역의 특성값을 계산할 수 있다(S03). 특성값은 메모리 영역의 상태를 나타내는 수치로서, 메모리 영역이 불량인지 여부를 판단하는데 사용될 수 있다. 복수개의 프로그램 루프 횟수들 중 하나인 제1 값 및 N개의 프로그램 루프 횟수들에 기초하여 계산된 제2 값에 기초하여 메모리 영역의 특성값을 계산함으로써, 메모리 영역의 불량 여부를 판단하는데 있어서 비휘발성 메모리 장치가 제조된 공정의 편차에 따른 영향이 감소할 수 있다.
본 발명의 예시적 실시예에 따라, 비휘발성 메모리 장치는 특성값 및 기준값에 기초하여 메모리 영역의 불량 여부를 판단할 수 있다(S04). 예컨대, 비휘발성 메모리 장치는 특성값 및 기준값을 비교할 수 있고, 상기 비교 결과에 따라 메모리 영역의 불량 여부를 판단할 수 있다. 또한, 비휘발성 메모리 장치는 메모리 영역의 불량 여부에 따른 신호를 비휘발성 메모리 장치 외부로, 예컨대 메모리 컨트롤러로 전송할 수 있다.
도 2는 본 발명의 예시적 실시예에 따른 비휘발성 메모리 장치를 개략적으로 나타내는 블록도이다. 비휘발성 메모리 장치(10)는 메모리 컨트롤러(20)와 통신할 수 있다. 예컨대, 메모리 컨트롤러(20)는 명령 신호, 주소 신호를 비휘발성 메모리 장치(10)로 전송할 수 있고, 비휘발성 메모리 장치(10)와 데이터 신호를 주고 받을 수 있다. 비휘발성 메모리 장치(10)는 전원 공급이 차단되어도 저장하고 있는 데이터를 유지하는 저장 장치로서, 예컨대 플래시 메모리 장치, MRAM(Magnetic Random Access Memory), RRAM(Resistance RAM), FRAM(Ferroelectric RAM) 또는 PCM(Phase Change Memory)등이 될 수 있다. 이하에서, 비휘발성 메모리 장치(10)는 플래시 메모리 장치인 것으로 설명되지만, 본 발명이 이에 제한되는 것은 아니다.
도 2에 도시된 바와 같이, 비휘발성 메모리 장치(10)는 셀 어레이(100), 제어부(200), 테스트부(300) 및 레지스터부(400)를 포함할 수 있다. 셀 어레이(100)는 데이터를 저장하는 메모리 셀(101)을 포함할 수 있다. 메모리 셀(101)은 비휘발성 메모리 장치(10)에서 데이터를 저장하는 단위로서, 하나의 메모리 셀(101)이 저장하는 데이터의 크기는 메모리 셀(101)의 종류에 따라 결정될 수 있다. 예컨대, 메모리 셀(101)은 SLC(single level cell), MLC(multi level cell), TLC(triple level cell) 및 QLC(quadruple level cell) 등이 될 수 있다. SLC, MLC, TLC 및 QLC는 각각 1비트, 2비트, 3비트 및 4비트의 데이터를 저장할 수 있다.
도 2에 도시된 바와 같이, 메모리 셀(101)은 하나의 워드라인(WL)에 연결될 수 있다. 하나의 워드라인(WL)은 복수개의 메모리 셀(101)들과 연결될 수 있고, 셀 어레이(100)는 복수개의 워드라인(WL)들을 포함할 수 있다. 셀 어레이(100)는 하나이상의 메모리 영역(110)으로 구성될 수 있으며, 메모리 영역(110)은 복수개의 워드라인(WL)들에 연결된 메모리 셀(101)들을 포함할 수 있다. 예컨대, 도 2에 도시된 바와 같이, 메모리 영역(110)은 M개의 워드라인들(WL(1)~WL(M))에 연결된 메모리 셀(101)들을 포함할 수 있다.
플래시 메모리 장치에 있어서, 데이터의 기록(write)은 페이지 단위로 수행되는 반면 데이터의 소거(erase)는 페이지보다 큰 블록 단위로 수행될 수 있다. 페이지는 하나의 워드라인(WL)에 연결된(또는 공유하는) 메모리 셀(101)들에 대응하는 데이터의 크기일 수 있고, 블록은 복수개의 페이지에 대응하는 데이터의 크기 또는 동시에 소거되는 메모리 셀(101)들의 집합일 수 있다. 본 발명의 예시적 실시예에 따라, 메모리 영역(110)은 하나의 블록 또는 인접하는 복수개의 블록들일 수 있고, 도 2에 도시된 바와 같이 M개의 워드라인들(WL(1)~WL(M))에 연결된 메모리 셀(101)들을 포함할 수 있다.
제어부(200)는 비휘발성 메모리 장치(10)에 포함된 구성요소들을 제어할 수 있고, 비휘발성 메모리 장치(10) 외부의 메모리 컨트롤러(20)와 신호를 송수신 할 수 있다. 본 발명의 예시적 실시예에 따라, 제어부(200)는 메모리 컨트롤러(20)로부터 수신한 신호에 따라 기준값(STD) 또는 도 1에서 설명한 N을 설정하는 신호(SET)를 테스트부(300)에 전송할 수 있다. 테스트부(300)는 제어부(200)로부터 수신한 신호(SET)에 따라 기준값(STD)을 레지스터부(400)의 제3 레지스터(403)에 저장하거나 N을 설정할 수 있다. 또한, 제어부(200)는 테스트부(300)로부터 메모리 영역(110)의 불량 여부에 따른 신호(RES)를 수신할 수 있고, 수신된 신호(RES)에 따라 메모리 컨트롤러(20)로 메모리 영역(110)의 불량 여부를 나타내는 신호를 전송할 수 있다.
테스트부(300)는 셀 어레이(100)가 포함하는 메모리 영역(110)을 테스트할 수 있다. 예컨대, 테스트부(300)는 메모리 영역(110)에 포함되는 워드라인들(WL(1)~WL(M)) 각각에 대응하는 프로그램 루프 횟수들에 기초하여 메모리 영역(110)을 테스트할 수 있다. 도 2에 도시된 바와 같이, 테스트부(300)는 카운터(310), 연산부(320) 및 판단부(330)를 포함할 수 있다. 본 발명의 예시적 실시예에 따라, 카운터(310)는 메모리 영역(110)의 워드라인들(WL(1)~WL(M)) 중 하나에 연결된 메모리 셀(101)들을 프로그램하고 검증하는 동작의 횟수, 즉 프로그램 루프 횟수를 카운트할 수 있다. 연산부(320)는 카운터(310)의 출력 신호에 기초하여 제1 및 제2 값(VAL1, VAL2)을 계산할 수 있고, 레지스터부(400)에 포함된 제1 및 제2 레지스터(401, 402)에 제1 및 제2 값(VAL1, VAL2)을 저장할 수 있다. 판단부(330)는 제1 및 제2 레지스터(401, 402)에 각각 저장된 제1 및 제2 값(VAL1, VAL2)에 기초하여 특성값을 계산할 수 있고, 계산된 특성값 및 제3 레지스터(403)에 저장된 기준값(STD)에 기초하여 메모리 영역(110)의 불량 여부를 판단할 수 있다.
도 2에 도시된 바와 같이, 메모리 컨트롤러(20)는 정보 저장부(22)를 포함할 수 있다. 전술한 바와 같이, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)로부터 메모리 영역(110)의 불량 여부에 따른 신호를 수신할 수 있다. 메모리 컨트롤러(20)는 메모리 영역(110)이 불량인 경우, 메모리 영역(110)을 사용불가능 메모리 영역 리스트에 추가할 수 있다. 예컨대, 메모리 컨트롤러(20)는 정보 저장부(22)에 불량으로 판단된 메모리 영역의 인덱스 또는 주소를 저장할 수 있다. 메모리 컨트롤러(20)는 정보 저장부(22)에 저장된 데이터에 기초하여 비휘발성 메모리 장치(10)의 불량 메모리 영역을 사용하지 않을 수 있다.
도 3은 본 발명의 예시적 실시예에 따라 도 2의 연산부의 구현예를 개략적으로 나타내는 블록도이다. 도 3에 도시된 바와 같이, 카운터(310)는 하나의 워드라인(WL)에 연결된 메모리 셀(101)들의 프로그램 루프 횟수를 카운트한 신호(CNT)를 연산부(320)로 전송할 수 있다. 카운터(310)는 메모리 영역(110)의 워드라인들(WL(1)~WL(M)) 각각에 대하여 프로그램 루프 횟수를 카운트한 신호(CNT)를 출력할 수 있다.
도 2에서 설명한 바와 같이, 연산부(320)는 카운터(310)가 출력하는 신호(CNT)를 수신할 수 있고, 제1 및 제2 값(VAL1, VAL2)을 계산할 수 있다. 본 발명의 예시적 실시예에 따라, 연산부(320)는 제1 비교기(322) 및 가산기(324)를 포함할 수 있다. 제1 비교기(322) 및 가산기(324)는 각각 카운터(310)의 출력 신호(CNT)를 수신할 수 있고, 각각 제1 및 제2 값(VAL1, VAL2)을 계산할 수 있다.
도 3에 도시된 바와 같이, 제1 비교기(322)는 카운터(310)의 출력 신호(CNT) 및 제1 레지스터(401)에 저장된 제1 값(VAL1)을 비교할 수 있고, 그 중 큰 값을 출력할 수 있다. 예컨대, 카운터(310)의 출력 신호(CNT)가 제1 레지스터(401)에 저장된 제1 값(VAL1)보다 큰 경우, 제1 비교기(322)는 카운터(310)의 출력 신호(CNT)를 출력할 수 있고, 제1 비교기(322)가 출력한 카운터(310)의 출력 신호(CNT)는 제1 레지스터(401)에 저장될 수 있다. 즉, 제1 레지스터(401)가 저장하는 제1 값(VAL1)은 카운터(310)의 출력 신호(CNT)로 변경될 수 있다. 한편, 카운터(310)의 출력 신호(CNT)가 제1 레지스터(401)에 저장된 제1 값(VAL1)보다 작은 경우, 제1 비교기(322)는 제1 레지스터(401)가 저장하는 제1 값(VAL1)을 출력하여 제1 레지스터(401)에 덮어쓰거나, 제1 레지스터(401)가 제1 값(VAL1)을 유지하도록 제1 레지스터(401)를 제어할 수 있다. 카운터(310) 및 제1 비교기(322)가 전술한 동작을 메모리 영역(110)의 모든 워드라인들(WL(1)~WL(M))에 대하여 수행하는 경우, 제1 레지스터(401)는 워드라인들(WL(1)~WL(M))의 프로그램 루프 횟수들 중 최대값을 저장할 수 있다. 즉, 제1 값(VAL1)은 메모리 영역(110)에서 가장 높은 프로그램 루프 횟수를 가지는 워드라인의 프로그램 루프 횟수일 수 있다.
도 3에 도시된 바와 같이, 가산기(324)는 카운터(310)의 출력 신호(CNT) 및 제2 레지스터(402)에 저장된 제2 값(VAL2)을 가산할 수 있다. 가신기(324)는 카운터(310)의 출력 신호(CNT) 및 제2 레지스터(402)에 저장된 제2 값(VAL2)을 가산한 값을 제2 레지스터(402)에 저장할 수 있다. 본 발명의 예시적 실시예에 따라, 가산기(324)는 카운터(310)가 출력하는 신호(CNT)들 중 N개를 가산할 수 있다. 즉, 가산기(324)는 카운터(310)가 출력하는 신호(CNT)를 제2 레지스터(402)에 저장된 제2 값(VAL2)과 선택적으로 가산할 수 있다. 카운터(310) 및 가산기(402)가 전술한 동작을 메모리 영역(110)의 모든 워드라인들(WL(1)~WL(M))에 대하여 수행하는 경우, 제2 레지스터(402)는 워드라인들(WL(1)~WL(M))의 프로그램 루프 횟수들 중 N개의 합계를 저장할 수 있다. 즉, 제2 값(VAL2)는 메모리 영역(110)의 워드라인들(WL(1)~WL(M))에 대응하는 프로그램 루프 횟수들의 소계일 수 있다. N개의 프로그램 루프 횟수들을 선택하는 내용은 후술한다.
도 4a 및 4b는 본 발명의 예시적 실시예들에 따라 도 2의 판단부의 구현예들을 개략적으로 나타내는 도면들이다. 도 2를 같이 참조하면, 판단부(330)는 레지스터부(400)에 포함된 제1, 제2 및 제3 레지스터(401, 402, 403)에 각각 저장된 제1 값(VAL1), 제2 값(VAL2) 및 기준값(STD)에 기초하여 메모리 영역(110)의 불량 여부를 판단할 수 있다. 판단부(330)는 메모리 영역(110)의 불량 여부의 판단 결과에 따른 신호(RES)를 제어부(200)로 전송할 수 있다.
도 4a는 본 발명의 예시적 실시예에 따라 도 2의 판단부의 구현예를 나타내는 블록도이다. 도 4a에 도시된 실시예에서 판단부(330a)는 감산기(332), 제2 비교기(334) 및 제산기(336)를 포함할 수 있다. 도 3을 참조하면, 제1 레지스터(401)에 저장된 제1 값(VAL1)은 메모리 영역(110)의 프로그램 루프 횟수들 중 최대값일 수 있고, 제2 레지스터(402)에 저장된 제2 값(VAL2)은 메모리 영역(110)의 프로그램 루프 횟수들의 소계(N개의 합계)일 수 있다.
제산기(336)는 제2 레지스터(402)에 저장된 제2 값(VAL2)을 N으로 나눈 몫을 출력할 수 있다. 즉, 제산기(336)는 N개의 프로그램 루프 횟수들의 평균값을 출력할 수 있다. 본 발명의 예시적 실시예에 따라, 제산기(336)는 근사적으로 제2 값(VAL2)을 N으로 나눈 몫을 출력할 수 있다. 예컨대, 제산기(336)는 제2 값(VAL2)을 LSB(least significant bit) 방향으로 시프트하여 출력할 수 있다. 특히, N이 2x인 경우, 제산기(336)는 제2 값(VAL2)을 LSB 방향으로 x개의 비트에 대응하는 만큼 시프트하여 출력할 수 있다.
감산기(332)는 제1 값(VAL1)에 제산기(336)가 출력하는 값을 감산하여, 특성값(CHA)을 출력할 수 있다. 제1 값(VAL1)은 메모리 영역(110)의 프로그램 루프 횟수들 중 최대값일 수 있고, 제산기(336)는 N개의 프로그램 루프 횟수들의 평균값을 출력하므로, 특성값(CHA)은 메모리 영역(110)의 프로그램 루프 횟수들 중 최대값과 N개 프로그램 루프 횟수들의 평균값이 차이값일 수 있다.
메모리 영역(110)에서 비정상적으로 높은 프로그램 루프 횟수를 가지는 워드라인은 그 워드라인에 연결된 메모리 셀(101)에 데이터를 기록하는 것뿐만 아니라 메모리 셀(101)에 저장된 데이터를 독출하는 것에 에러를 발생시킬 수 있다. 워드라인의 높은 프로그램 루프 횟수는 워드라인에 발생한 결함(defect)에 기인하는 높은 저항치, 워드라인들 사이의 브릿지 및 커플링 등으로 인해 유발될 수 있다. 따라서, 메모리 영역(110)에서 프로그램 루프 횟수들 중 최대값이 메모리 영역(110)의 불량 여부를 판단하는데 사용될 수 있다.
한편, 메모리 영역(110) 전체에 비휘발성 메모리 장치(10)가 제조된 공정이 영향을 미칠 수 있다. 이러한 공정 편차에 의해 각각의 비휘발성 메모리 장치(10) 또는 비휘발성 메모리 장치(10)가 포함하는 메모리 영역(110)은 전체적으로 그 특성이 영향을 받을 수 있다. 따라서, 본 발명의 예시적 실시예에 따라 이러한 공정 편차에 따른 영향을 고려하여 메모리 영역(110)의 불량 여부를 판별하도록, 메모리 영역(110)의 프로그램 루프 횟수들의 평균이 사용될 수 있다. 본 발명의 실시예들에 따라, 상기 평균은 메모리 영역(110)의 프로그램 루프 횟수들 전체(도 2를 참조하면, N=M)의 평균일 수도 있고, 또는 연산량을 감소시키기 위하여 프로그램 루프 횟수들 중 일부(N<M)일 수도 있다.
제2 비교기(334)는 특성값(CHA) 및 제3 레지스터(403)에 저장된 기준값(STD)을 비교할 수 있다. 제3 레지스터(403)에 저장된 기준값(STD)은 비휘발성 메모리 장치(10) 외부로부터 설정될 수 있다. 제2 비교기(334)는 특성값(CHA)이 기준값(STD)보다 큰 경우(또는 크거나 같은 경우), 메모리 영역(110)이 불량임을 나타내는 신호(RES)를 출력할 수 있다. 즉, 메모리 영역(110)의 프로그램 루프 횟수들의 평균값에 비해 최대값이 얼마나 높은지를 기준으로 메모리 영역(110)의 불량 여부를 판단할 수 있다. 도 4a에 도시된 바와 같이, 제2 비교기(334)가 출력한 신호(RES)는 제어부(200)에 전송될 수 있고, 제어부(220)는 비교기(334)로부터 수신한 신호(RES)에 기초하여 메모리 영역(110)의 불량 여부에 대한 신호를 비휘발성 메모리 장치(10)의 외부로 출력할 수 있다.
기준값(STD)은 메모리 영역(110)의 프로그램 루프 횟수들의 최대값 및 평균값의 차이에 대응하는 특성값(CHA)을 고려하여 설정될 수 있다. 전술한 바와 같이 특성값(CHA)을 계산함으로써, 기준값(STD)은 공정 편차로부터 독립적으로 설정될 수 있다. 이에 따라, 메모리 영역(110)은 보다 강화된 기준(즉, 보다 낮은 기준값(STD))에 의해서 테스트될 수 있고, 그 결과 메모리 영역(110)을 포함하는 비휘발성 메모리 장치(10)의 수율 및 품질이 높아질 수 있다.
도 4b는 본 발명의 예시적 실시예에 따라 도 2의 판단부의 구현예를 나타내는 블록도이다. 도 4b에 도시된 실시예에서 판단부(330b)는 감산기(332), 제2 비교기(334), 제1 및 제2 승산기(338, 339)를 포함할 수 있다. 도 3을 참조하면, 제1 레지스터(401)에 저장된 제1 값(VAL1)은 메모리 영역(110)의 프로그램 루프 횟수들 중 최대값일 수 있고, 제2 레지스터(402)에 저장된 제2 값(VAL2)은 메모리 영역(110)의 프로그램 루프 횟수들의 소계(N개의 합계)일 수 있다.
제1 승산기(338)는 제1 레지스터(401)에 저장된 제1 값(VAL1)과 N의 곱을 출력할 수 있고, 제2 승산기(339)는 제3 레지스터(403)에 저장된 기준값(STD)과 N의 곱을 출력할 수 있다. 즉, 감산기(332)가 프로그램 루프 횟수들의 최대값인 제1 값(VAL1)과 프로그램 루프 횟수들 중 N개의 합계인 제2 값(VAL2)와의 차이를 계산하기 전에, 제1 승산기(338)는 제1 값(VAL1)을 N배할 수 있다. 제2 비교기(334)가 특성값(CHA)과 기준값(STD)을 비교하기 전에, 제2 승산기(339)는 또한 기준값(STD)을 N배할 수 있다. 본 발명의 예시적 실시예에 따라, 제1 및 제2 승산기(338, 339))는 제1 값(VAL1) 및 기준값(STD)을 MSB(most significant bit) 방향으로 시프트하여 출력할 수 있다. 특히, N이 2x인 경우, 제1 및 제2 승산기(338, 339) 제1 값(VAL1) 및 기준값(STD)을 MSB 방향으로 x개의 비트에 대응하는 만큼 시프트하여 출력할 수 있다.
감산기(332)는 제1 값(VAL1)과 N의 곱에 제2 레지스터(402)가 출력하는 제2 값(VAL2)을 감산하여, 특성값(CHA)을 출력할 수 있다. 즉, 도 4b에 도시된 실시예에서 감산기(332)는 프로그램 루프 횟수들의 최대값을 N배한 값과 프로그램 루프 횟수들 중 N개의 합계의 차이값을 특성값(CHA)으로서 출력할 수 있다.
제2 비교기(334)는 특성값(CHA) 및 기준값(STD)과 N의 곱을 비교할 수 있다. 제2 비교기(334)는 특성값(CHA)이 기준값(STD)과 N의 곱보다 큰 경우(또는 크거나 같은 경우), 메모리 영역(110)이 불량임을 나타내는 신호(RES)를 출력할 수 있다. 즉, 메모리 영역(110)의 프로그램 루프 횟수들 중 N개의 합계에 비해 최대값을 N배한 값이 얼마나 높은지를 기준으로 메모리 영역(110)의 불량 영부를 판단할 수 있다. 도 4b에 도시된 바와 같이, 제2 비교기(334)가 출력한 신호(RES)는 제어부(200)에 전송될 수 있고, 제어부(220)는 비교기(334)로부터 수신한 신호(RES)에 기초하여 메모리 영역(110)의 불량 여부에 대한 신호를 비휘발성 메모리 장치(10)의 외부로 출력할 수 있다.
본 발명의 예시적 실시예에 따라, 제2 승산기(339)는 생략될 수 있다. 예컨대, 기준값(403)은 프로그램 루프 횟수들의 N배에 해당하는 값을 고려하여 설정될 수 있고, 제3 레지스터(403)에 저장될 수 있다. 즉, 제3 레지스터(403)가 제2 승산기(339)가 출력하는 값을 저장함으로써, 판단부(330a)는 제2 승산기(339)를 생략할 수 있다.
도 5는 본 발명의 예시적 실시예에 따라 특성값을 계산하는 방법을 개략적으로 나타내는 도면이다. 도 2 및 5를 참조하면, 하나의 메모리 영역(110)의 워드라인들(WL(1)~WL(M))은 각각 데이터를 성공적으로 저장하는데 소요되는 프로그램 루프 횟수를 가질 수 있다. 본 발명의 예시적 실시예에 따라 비휘발성 메모리 장치(10)는 워드라인들(WL(1)~WL(M))의 프로그램 루프 횟수들 중 최대값(MAX)을 찾을 수 있다. 또한, 비휘발성 메모리 장치(10)는 프로그램 루프 횟수들의 소계(SUB_TOT)를 계산할 수 있다. 소계(SUB_TOT)는 프로그램 루프 횟수들 중 N개의 합계일 수 있다. 즉, 소계(SUB_TOT)는 워드라인들(WL(1)~WL(M)) 중 서브 그룹(G)에 속하는 워드라인들이 가지는 프로그램 루프 횟수들의 합계일 수 있다. 서브 그룹(G)는 메모리 영역(110)의 워드라인들(WL(1)~WL(M))을 전부 포함할 수도 있고, 그 중 일부를 포함할 수도 있다. 예컨대, 서브 그룹(G)는 메모리 영역(110)의 워드라인들(WL(1)~WL(M)) 중 등간격으로 배치된 N개의 워드라인들 또는 랜덤하게 선택된 N개의 워드라인들을 포함할 수 있다. 비휘발성 메모리 장치(10)는 소계(SUB_TOT)로부터 평균값(SUB_AVG)을 계산할 수 있다. 비휘발성 메모리 장치(10)는 최대값(MAX)에 평균값(SUB_AVG)을 감산하여 특성값(CHA)을 계산할 수 있다.
도 6a 및 6b는 본 발명의 예시적 실시예들에 따라 도 5의 서브 그룹의 예들을 나타내는 도면이다. 본 발명의 예시적 실시예에 따라 제2 값은 프로그램 루프 횟수들의 소계(SUB_TOT)일 수 있고, 소계(SUB_TOT)는 프로그램 루프 횟수들 중 N개의 합계일 수 있다.
도 6a에 도시된 바와 같이, 본 발명의 예시적 실시예에 따라 프로그램 루프 횟수들 중 N개의 합계는 메모리 영역(110)의 워드라인들 중 등간격으로 배치된 N개의 워드라인들에 대응하는 프로그램 루프 횟수들의 합계일 수 있다. 메모리 영역(110)은 M개의 워드라인들(WL(1)~WL(M))을 포함할 수 있고, 도 5의 서브 그룹(G)은 등간격으로 배치된 M/4개의 워드라인들을 포함할 수 있다. 한편, 도 6b에 도시된 바와 같이, 본 발명의 예시적 실시예에 따라 프로그램 루프 횟수들 중 N개의 합계는 메모리 영역(110)의 워드라인들 중 랜덤하게 선택된 N개의 워드라인들에 대응하는 프로그램 루프 횟수들의 합계일 수 있다.
도 7은 본 발명의 예시적 실시예에 따라 제1 및 제2 값을 계산하는 방법을 나타내는 순서도이다. 본 발명의 예시적 실시예에 따라, 제1 값(VAL1)은 메모리 영역(110)의 프로그램 루프 횟수들의 최대값(MAX)일 수 있고, 제2 값(VAL2)는 프로그램 루프 횟수들 중 N개의 합계(SUB_TOT)일 수 있다. 도 7은 본 발명의 예시적 실시예에 따른 방법을 이해하기 위해 예시적으로 나타내는 순서도일 뿐이며, 도 7에 도시된 변수들이 본 발명을 제한하지 않는 점을 유의하여야 한다.
도 2 및 3을 같이 참조하면, 비휘발성 메모리 장치(10)의 테스트부(300)는 메모리 영역(110)의 불량 여부를 판단하기 위해 초기화 단계를 수행할 수 있다(S11). 예컨대, 도 7에 도시된 바와 같이, 최대값(MAX) 및 합계(SUB_TOT)의 값을 영으로 설정할 수 있고, 워드라인을 카운트하는 변수(k)를 1으로 설정할 수 있다. 이에 따라, 제1 및 제2 레지스터(401, 402)는 영을 저장할 수 있다.
테스트부(300)에 포함된 카운터(310)는 워드라인(WL(k))의 프로그램 루프 횟수(C)를 카운터하여 출력할 수 있다(S12). 예컨대, 카운터(310)는 ISPP에 의해서 워드라인(WL(k))에 연결된 메모리 셀(101)들에 ‘0’의 데이터를 기록하기 위해 프로그램 및 검증 동작을 수행하는 횟수(C)를 카운트하여 출력할 수 있다. 제1 비교기(322)는 프로그램 루프 횟수(C)와 최대값(MAX)을 비교할 수 있다(S13). 만약 워드라인(WL(k))의 프로그램 루프 횟수(C)가 최대값(MAX)보다 큰 경우, 최대값(MAX)은 프로그램 루프 횟수(C)로 변경될 수 있다(S14).
그 다음에, 가산기(324)는 워드라인(WL(k))이 서브 그룹(G)에 포함되는지 판단할 수 있다(S15). 만약 워드라인(WL(k))이 서브 그룹(G)에 포함되는 경우, 프로그램 루프 횟수(C)는 합계(SUB_TOT)에 누적될 수 있다(S16). 그 다음에, 테스트부(300)는 메모리 영역(110)의 모든 워드라인들(WL(1)~WL(k))에 대해서 최대값(MAX) 또는 합계(SUB_TOT)를 계산하는 과정을 수행하였는지 판단할 수 있다(S17). 즉, 워드라인을 카운트하는 변수(k)가 M인지 판단할 수 있다. 변수(k)가 M인 경우, 테스트부(300)는 최대값(MAX) 및 합계(SUB_TOT)를 계산하는 과정을 종료할 수 있다. 그렇지 않은 경우, 테스트부(300)는 변수(k)를 1만큼 증가시킬 수 있고(S18), 카운터(310)는 다음의 워드라인(WL(k))의 프로그램 루프 횟수를 카운트 할 수 있다(S12).
한편, 본 발명의 예시적 실시예에 따라, 도 7에 도시된 것과 달리 합계(SUB_TOT)를 선택적으로 계산하는 단계들(S15, S16)이 최대값(MAX)를 계산하고 업데이트 하는 단계들(S13, S14) 보다 먼저 수행되거나, 병렬적으로 동시에 수행될 수 있다.
도 8a 및 8b는 본 발명의 예시적 실시예들에 따라 메모리 영역의 불량 여부를 판단하는 방법을 개략적으로 나타내는 순서도들이다. 도 8a는 도 4a에 도시된 실시예에 대응할 수 있고 도 8b는 도 4b에 도시된 실시예에 대응할 수 있다. 도 2를 같이 참조하면, 판단부(330)는 제1, 제2 및 제3 레지스터(401, 402, 403)에 각각 저장된 값들인 제1, 제2 값 및 기준값(VAL1, VAL2, STD)에 기초하여 특성값(CHA)을 계산할 수 있고, 메모리 영역(110)의 불량 여부를 판단할 수 있다. 본 발명의 예시적 실시예에 따라, 도 8a 및 8b에서 제1 값(VAL1)은 프로그램 루프 횟수들의 최대값(MAX)이고, 제2 값(VAL2)은 프로그램 루프 횟수들 중 N개의 합계(SUB_TOT)일 수 있다.
도 8a는 도 4a에 도시된 본 발명의 예시적 실시예에 따라 메모리 영역의 불량 여부를 판단하는 방법을 나타내는 순서도이다. 도 4a를 같이 참조하면, 판단부(330a)의 감산기(332)는 최대값(MAX)에서 합계(SUB_TOT)를 N으로 나눈 몫을 감산하여 특성값(CHA)을 계산할 수 있다(S21). 판단부(330a)의 제2 비교기(334)는 특성값(CHA) 및 기준값(STD)을 비교할 수 있다(S22). 판단부(330a)는 특성값(CHA)이 기준값(STD)보다 큰 경우 메모리 영역(110)을 불량으로 판단할 수 있고(S23), 그렇지 않은 경우, 메모리 영역(110)을 정상으로 판단할 수 있다(S24). 즉, 제2 비교기(334)는 특성값(CHA) 및 기준값(STD)를 비교하여, 특성값(CHA)이 기준값(STD)보다 큰 경우 메모리 영역(110)이 불량임을 나타내는 신호(RES)를 출력할 수 있다.
도 8b는 도 4b에 도시된 본 발명의 예시적 실시예에 따라 메모리 영역의 불량 여부를 판단하는 방법을 나타내는 순서도이다. 도 4b를 같이 참조하면, 판단부(330b)의 감산기(332)는 최대값(MAX)과 N의 곱에 합계(SUB_TOT)를 감산하여 특성값(CHA)을 계산할 수 있다(S31). 판단부(330b)의 제2 비교기(334)는 특성값(CHA) 및 기준값(STD)과 N의 곱을 비교할 수 있다(S32). 판단부(330b)는 특성값(CHA)이 기준값(STD)과 N의 곱보다 큰 경우, 메모리 영역(1100을 불량으로 판단할 수 있고(S33), 그렇지 않은 경우, 메모리 영역(110)을 정상으로 판단할 수 있다(S34). 즉, 제2 비교기(334)는 특성값(CHA) 및 기준값(STD)와 N의 곱을 비교하여, 특성값(CHA)이 기준값(STD)와 N의 곱보다 큰 경우 메모리 영역(110)이 불량임을 나타내는 신호(RES)를 출력할 수 있다.
도 9는 본 발명의 예시적 실시예에 따라 비휘발성 메모리 장치를 운영하는 방법을 나타내는 도면이다. 도 2를 같이 참조하면, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)와 통신할 수 있고, 비휘발성 메모리 장치(10)를 제어 또는 운영할 수 있다. 예컨대, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)에 데이터를 기록하기 위하여 명령, 주소 및 데이터를 전송할 수 있다. 또한, 메모리 컨트롤러(20)는 메모리 영역(110)의 불량 여부에 따른 신호를 비휘발성 메모리 장치(10)로부터 수신할 수 있고, 이를 이용하여 비휘발성 메모리 장치(10)를 운영할 수 있다.
선행하는 도면들을 같이 참조하면, 컨트롤러(20)는 메모리 영역(110)의 특성값(CHA)과 비교될 기준값(STD)을 설정할 수 있다(S51). 전술한 바와 같이, 비휘발성 메모리 장치(10)의 특성값(CHA)은 제1 및 제2 값(VAL1, VAL2)을 기초로 하여 계산될 수 있으므로, 메모리 컨트롤러(20)는 제1 및 제2 값(VAL1, VAL2)을 고려하여 기준값(STD)을 설정할 수 있다. 예컨대, 제1 값(VAL1)이 메모리 영역(110)의 워드라인들이 가지는 프로그램 루프 횟수들의 최대값이고, 제2 값(VAL2)이 상기 프로그램 루프들 중 N개의 합계인 경우, 메모리 컨트롤러(20)는 상기 최대값 및 합계를 고려하여 기준값(STD)을 설정할 수 있다. 전술한 바와 같이, 메모리 컨트롤러(20)는 프로그램 루프들 중 N개의 합계를 고려함으로써 공정 편차에 독립적으로 기준값(STD)을 설정할 수 있다.
메모리 컨트롤러(20)는 설정한 기준값(STD)을 비휘발성 메모리 장치(10)에 전송할 수 있다(S52). 비휘발성 메모리 장치(10)에 포함된 제어부(200)는 메모리 컨트롤러(20)로부터 기준값(STD)을 수신할 수 있고, 테스트부(300)는 이를 전달받아 제3 레지스터(R3)에 저장할 수 있다. 메모리 컨트롤러(20)는 메모리 영역(110)의 테스트를 시작하도록 하는 신호를 비휘발성 메모리 장치(10)에 전송할 수 있다. 비휘발성 메모리 장치(10)의 제어부(200)는 테스트부(300)가 메모리 영역(110)의 테스트를 시작하도록 테스트부(300)를 제어할 수 있다.
메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)로부터 메모리 영역의 불량 여부에 따른 신호를 수신할 수 있다(S54). 전술한 본 발명의 실시예들 중 어느 하나에 따라 비휘발성 메모리 장치(10)의 테스트부(300)는 메모리 영역(110)을 테스트하여 메모리 영역(110)의 불량 여부에 따른 신호(RES)를 제어부(200)로 전송할 수 있고, 메모리 컨트롤러(20)는 제어부(200)로부터 상기 신호(RES)에 의존하는 신호를 수신할 수 있다.
메모리 컨트롤러(20)는 비휘발성 메모리 장치(10)로부터 수신한 신호에 따라 메모리 영역(110)이 불량인지를 확인할 수 있다(S55). 메모리 영역(110)이 불량인 경우, 메모리 컨트롤러(20)는 메모리 영역(110)을 사용불가능 메모리 영역 리스트에 추가할 수 있다(S56). 예컨대, 메모리 컨트롤러(20)는 불량으로 판단된 메모리 영역(110)의 인덱스 또는 주소를 메모리 컨트롤러(20)의 정보 저장부(22)에 저장할 수 있다. 메모리 컨트롤러(20)는 정보 저장부(22)에 저장된 인덱스 또는 주소에 기초하여 비휘발성 메모리 장치(10)가 포함하는 불량 메모리 영역을 사용하지 않을 수 있다.
도 10은 본 발명의 예시적 실시예에 따른 비휘발성 메모리 시스템을 장착하는 컴퓨팅 시스템(1000)을 나타내는 블록도이다. 모바일 기기나 데스크 탑 컴퓨터와 같은 컴퓨팅 시스템(1000)에 본 발명의 예시적 실시예들 중 어느 하나에 따른 비휘발성 메모리 시스템이 비휘발성 저장장치(1320)로서 장착될 수 있다.
본 발명의 예시적 실시예에 따른 컴퓨팅 시스템(1000)은 중앙처리장치(1100), 램(1200), 유저 인터페이스(1300) 및 비휘발성 저장장치(1320)를 포함할 수 있으며, 이들 구성요소들은 각각 버스(1330)에 전기적으로 연결될 수 있다. 비휘발성 저장장치(1320)에 포함된 비휘발성 메모리 장치는, 예컨대 NAND 플래시 메모리, NOR 플래시 메모리, MRAM(Magnetic Random Access Memory), RRAM(Resistance RAM), FRAM(Ferroelectric RAM) 또는 PCM(Phase Change Memory) 등이 될 수 있다.
전술한 예시적 실시예들과 같이 비휘발성 저장장치(1320)는 메모리 컨트롤러 및 비휘발성 메모리 장치를 포함할 수 있다. 비휘발성 메모리 장치는 테스트부를 포함할 수 있고, 테스트부는 셀 어레이에 포함된 메모리 영역을 테스트할 수 있다. 테스트부는 메모리 영역의 워드라인들에 대응하는 프로그램 루프 횟수들로부터 유래된 제1 및 제2 값에 기초하여 메모리 영역의 특성값을 계산할 수 있다. 테스트부는 특성값과 기준값을 비교하여 메모리 영역의 불량 여부를 판단할 수 있고, 메모리 영역의 불량 여부에 따른 신호를 제어부를 통해 비휘발성 메모리 장치의 외부로(즉, 메모리 컨트롤러로) 전송할 수 있다. 메모리 컨트롤러는 기준값을 설정 및 전송할 수 있고, 메모리 영역의 불량 여부에 대한 정보에 기초하여 비휘발성 메모리 장치를 운영할 수 있다.
도 11은 본 발명의 예시적 실시예에 따른 메모리 카드를 나타내는 도면이다. 본 발명의 예시적 실시예들 중 어느 하나에 따른 비휘발성 메모리 시스템은 메모리 카드로서 구현될 수 있다. 메모리 카드(2000)는 모바일 기기나 데스크 탑 컴퓨터와 같은 전자기기에 연결하여 사용할 수 있는 휴대용 저장장치가 될 수 있다. 도 11에 도시된 바와 같이, 메모리 카드(2000)는 메모리 컨트롤러(2100), 비휘발성 메모리 장치(2200) 및 포트 영역(2300)를 포함할 수 있다. 메모리 카드(2000)는, 예컨대 MMC(multimedia card), eMMC(embedded multimedia card) 또는 SD(secure digital) 카드 등이 될 수 있다.
메모리 컨트롤러(2100)는 포트 영역(2300)을 통해서 외부의 호스트와 통신할 수 있고, 비휘발성 메모리 장치(2200)를 제어할 수 있다. 전술한 실시예들과 같이, 비휘발성 메모리 장치(2200)는 셀 어레이, 제어부, 테스트부 및 레지스터부를 포함할 수 있다. 테스트부는 메모리 영역의 프로그램 루프 횟수들 중 선택된 제1 값 및 프로그램 루프 횟수들 중 N개의 합계에 기초한 제2 값에 따라 메모리 영역의 특성값을 계산할 수 있다. 테스트부는 특성값과 메모리 컨트롤러(2100)가 설정한 기준값을 비교하여 메모리 영역의 불량 여부를 판단할 수 있다. 메모리 컨트롤러(2100)는 정보 저장부에 메모리 영역의 불량 여부에 따른 데이터를 저장할 수 있고, 정보 저장부에 저장된 데이터에 기초하여 비휘발성 메모리 장치(2200)를 운영할 수 있다.
상기한 실시예의 설명은 본 발명의 더욱 철저한 이해를 위하여 도면을 참조로 예를 든 것에 불과하므로, 본 발명을 한정하는 의미로 해석되어서는 안될 것이다. 또한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기본적 원리를 벗어나지 않는 범위 내에서 다양한 변화와 변경이 가능함은 명백하다 할 것이다.

Claims (10)

  1. 비휘발성 메모리 장치의 테스트 방법으로서,
    상기 비휘발성 메모리 장치는 복수개의 워드라인들에 연결된 메모리 셀들을 포함하는 메모리 영역을 포함하고,
    상기 테스트 방법은
    상기 복수개의 워드라인들에 각각 대응하는 복수개의 프로그램 루프 횟수들중 하나를 제1 값으로서 선택하는 단계;
    상기 복수개의 프로그램 루프 횟수들 중 N개에 기초하여 제2 값을 계산하는 단계;
    상기 제1 및 제2 값에 기초하여 상기 메모리 영역의 특성값을 계산하는 단계; 및
    기준값 및 상기 특성값에 기초하여 상기 메모리 영역의 불량 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 테스트 방법.
  2. 제1항에 있어서,
    상기 제1 값은 상기 복수개의 프로그램 루프 횟수들의 최대값이고,
    상기 제2 값은 상기 복수개의 프로그램 루프 횟수들 중 N개의 합계인 것을 특징으로 하는 테스트 방법.
  3. 제2항에 있어서,
    상기 특성값은 상기 제1 값에 상기 제2 값을 N으로 나눈 몫을 감산한 값인 것을 특징으로 하는 테스트 방법.
  4. 제2항에 있어서,
    상기 특성값은 상기 제1 값과 N의 곱에 상기 제2 값을 감산한 값인 것을 특징으로 하는 테스트 방법.
  5. 제1항에 있어서, 상기 판단하는 단계는
    상기 기준값 또는 상기 기준값과 N의 곱 및 상기 특성값을 비교하는 단계; 및
    상기 특성값이 더 큰 경우 상기 메모리 영역을 불량으로 판단하는 단계를 포함하는 것을 특징으로 하는 테스트 방법.
  6. 제1항에 있어서,
    상기 비휘발성 메모리 장치 외부로부터 제어 신호를 수신하는 단계; 및
    상기 제어 신호에 따라 상기 기준값 또는 N을 설정하는 단계를 더 포함하는 것을 특징으로 하는 테스트 방법.
  7. 제1항에 있어서,
    상기 판단하는 단계의 결과에 따른 신호를 상기 비휘발성 메모리 장치의 외부로 출력하는 단계를 더 포함하는 것을 특징으로 하는 테스트 방법.
  8. 제1항에 있어서,
    상기 비휘발성 메모리는 장치는 NAND 플래시 메모리 장치이고,
    상기 메모리 영역은 메모리 블록인 것을 특징으로 하는 테스트 방법.
  9. 비휘발성 메모리 장치의 운영 방법으로서,
    상기 비휘발성 메모리 장치는 복수개의 워드라인들에 연결된 메모리 셀들을 포함하는 메모리 영역을 포함하고,
    상기 운영 방법은
    상기 메모리 영역의 특성값과 비교될 기준값을 설정하는 단계; 및
    상기 기준값을 상기 비휘발성 메모리 장치로 전송하는 단계를 포함하고,
    상기 특성값은 제1 및 제2 값에 기초하여 계산되고,
    상기 제1 값은 상기 복수개의 워드라인들에 각각 대응하는 복수개의 프로그램 루프 횟수들 중 선택되고,
    상기 제2 값은 상기 복수개의 프로그램 루프 횟수들 중 N개에 기초하여 계산되는 것을 특징으로 하는 운영 방법.
  10. 제9항에 있어서,
    상기 메모리 영역의 테스트를 시작하도록 하는 신호를 상기 비휘발성 메모리 장치로 전송하는 단계;
    상기 비휘발성 메모리 장치로부터 상기 메모리 영역의 불량 여부에 따른 신호를 수신하는 단계; 및
    상기 수신된 신호에 따라 상기 메모리 영역을 사용불가능 메모리 영역 리스트에 추가시키는 단계를 더 포함하는 것을 특징으로 하는 운영 방법.
KR1020130106305A 2013-09-04 2013-09-04 비휘발성 메모리 장치의 테스트 및 운영 방법 KR102048017B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130106305A KR102048017B1 (ko) 2013-09-04 2013-09-04 비휘발성 메모리 장치의 테스트 및 운영 방법
US14/468,736 US9214206B2 (en) 2013-09-04 2014-08-26 Method of testing non-volatile memory device and method of managing non-volatile memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130106305A KR102048017B1 (ko) 2013-09-04 2013-09-04 비휘발성 메모리 장치의 테스트 및 운영 방법

Publications (2)

Publication Number Publication Date
KR20150027635A KR20150027635A (ko) 2015-03-12
KR102048017B1 true KR102048017B1 (ko) 2019-12-02

Family

ID=52583070

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130106305A KR102048017B1 (ko) 2013-09-04 2013-09-04 비휘발성 메모리 장치의 테스트 및 운영 방법

Country Status (2)

Country Link
US (1) US9214206B2 (ko)
KR (1) KR102048017B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9437321B2 (en) * 2014-10-28 2016-09-06 Sandisk Technologies Llc Error detection method
CN108228400A (zh) * 2016-12-15 2018-06-29 北京兆易创新科技股份有限公司 一种emmc测试方法及装置
TWI662553B (zh) * 2018-08-27 2019-06-11 群聯電子股份有限公司 記憶體測試方法與記憶體測試系統
US10915248B1 (en) * 2019-08-07 2021-02-09 Macronix International Co., Ltd. Memory device
CN111142889B (zh) * 2019-12-30 2023-03-14 深圳佰维存储科技股份有限公司 eMMC自动化量产方法、装置、存储介质和电子设备
KR20230050549A (ko) 2021-10-07 2023-04-17 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 포함하는 스토리지 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4323707B2 (ja) 2000-10-25 2009-09-02 富士通マイクロエレクトロニクス株式会社 フラッシュメモリの欠陥管理方法
JP4256175B2 (ja) * 2003-02-04 2009-04-22 株式会社東芝 不揮発性半導体メモリ
JP2007004892A (ja) 2005-06-23 2007-01-11 Toshiba Corp 半導体集積回路装置
JP2009266349A (ja) 2008-04-28 2009-11-12 Toshiba Corp 不揮発性半導体記憶装置
US8400854B2 (en) 2009-09-11 2013-03-19 Sandisk Technologies Inc. Identifying at-risk data in non-volatile storage
US8514630B2 (en) 2010-07-09 2013-08-20 Sandisk Technologies Inc. Detection of word-line leakage in memory arrays: current based approach
US8379454B2 (en) 2011-05-05 2013-02-19 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
KR101939235B1 (ko) * 2011-08-03 2019-01-17 삼성전자 주식회사 비휘발성 메모리 장치 및 그것의 프로그램 방법
KR101845509B1 (ko) 2011-10-05 2018-04-05 삼성전자주식회사 비휘발성 메모리 장치 및 이의 프로그램 방법
TWI534810B (zh) * 2011-12-09 2016-05-21 Toshiba Kk Nonvolatile semiconductor memory device

Also Published As

Publication number Publication date
US20150063030A1 (en) 2015-03-05
US9214206B2 (en) 2015-12-15
KR20150027635A (ko) 2015-03-12

Similar Documents

Publication Publication Date Title
US10210943B2 (en) End of life prediction based on memory wear
KR102048017B1 (ko) 비휘발성 메모리 장치의 테스트 및 운영 방법
US9299459B2 (en) Method and apparatus of measuring error correction data for memory
TW201939279A (zh) 記憶體中基於機率資料結構之前瞻修正動作
KR20140072118A (ko) 플래시 메모리 시스템
JP2015516640A (ja) メモリのブロックに対してプログラミングステップサイズを調整するシステムおよび方法
US11854623B2 (en) Memory controller, memory device and memory system having improved threshold voltage distribution characteristics and related operating methods
US8385116B2 (en) Nonvolatile semiconductor storage device, controller and threshold adjustment method
TW201346918A (zh) 判定針對記憶體之字線之程式化步階大小之系統及方法
US10970160B2 (en) Bit error rate based dynamic program step characteristic adjustment
US10754583B2 (en) Level width based dynamic program step characteristic adjustment
US10650879B2 (en) Device and method for controlling refresh cycles of non-volatile memories
US11211131B2 (en) Adjusting program effective time using program step characteristics
US20240029802A1 (en) Read disturb management
CN117636922A (zh) 产生表征相对于电压分布施加的读取电压电平的元数据的存储器装置
KR101368834B1 (ko) 내구도를 복수의 단계로 구분하는 플래시 메모리 제어장치

Legal Events

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