KR20130061967A - 메모리 시스템 및 그것의 웨어 레벨링 방법 - Google Patents

메모리 시스템 및 그것의 웨어 레벨링 방법 Download PDF

Info

Publication number
KR20130061967A
KR20130061967A KR1020110128312A KR20110128312A KR20130061967A KR 20130061967 A KR20130061967 A KR 20130061967A KR 1020110128312 A KR1020110128312 A KR 1020110128312A KR 20110128312 A KR20110128312 A KR 20110128312A KR 20130061967 A KR20130061967 A KR 20130061967A
Authority
KR
South Korea
Prior art keywords
wear
wear leveling
block
memory device
program
Prior art date
Application number
KR1020110128312A
Other languages
English (en)
Inventor
이철호
김세진
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020110128312A priority Critical patent/KR20130061967A/ko
Priority to US13/607,980 priority patent/US20130145079A1/en
Publication of KR20130061967A publication Critical patent/KR20130061967A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers

Abstract

본 발명에 따른 적어도 하나의 비휘발성 메모리 장치 및 상기 적어도 하나의 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하는 메모리 시스템의 웨어 레벨링 방법은, 복수의 마모 파라미터들을 입력받는 단계, 상기 입력된 마모 파라미터들을 근거로 하여 블록의 마모도 등급을 설정하는 단계, 및 상기 설정된 마모도 등급을 이용하여 웨어 레벨링을 수행하는 단계를 포함한다.

Description

메모리 시스템 및 그것의 웨어 레벨링 방법{MEMORY SYSTEM AND WEAR LEVELING METHOD THEREOF}
본 발명은 메모리 시스템 및 그것의 웨어 레벨링 방법에 관한 것이다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치와 비휘발성 반도체 메모리 장치로 나누어진다. 비휘발성 반도체 메모리 장치는 전원이 차단되어도 데이터를 저장할 수 있다. 비휘발성 메모리에 저장되는 데이터는 메모리 제조 기술에 따라 영구적이거나 재프로그램 가능하다. 비휘발성 반도체 메모리 장치는 컴퓨터, 항공 전자 공학, 통신, 및 소비자 전자 기술 산업과 같은 넓은 범위의 응용에서 프로그램 및 마이크로 코드의 저장을 위해서 사용된다.
비휘발성 메모리 장치의 일종으로 플래시(flash) 메모리 장치가 있다. 플래시 메모리 장치는 디스크(disk) 장치와는 달리 프로그램 동작 전에 소거 동작이 선행되어야 한다(erase before program). 플래시 메모리 장치에 저장된 데이터를 직접 갱신(update)하는 것은 불가능하기 때문이다. 그런데, 소거 동작은 플래시 메모리 장치를 마모(wear)시킨다. 플래시 메모리 장치 내의 각 블록은 소거될 수 있는 한계 회수를 가진다. 따라서, 각 블록에 대한 소거 회수를 평준화할 것이 요구된다.
본 발명의 목적은 보다 정밀하게 마모도를 관리하는 메모리 시스템을 제공하는데 있다.
본 발명의 실시 예에 따른 적어도 하나의 비휘발성 메모리 장치 및 상기 적어도 하나의 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하는 메모리 시스템의 웨어 레벨링 방법은: 복수의 마모 파라미터들을 입력받는 단계; 상기 입력된 마모 파라미터들을 근거로 하여 블록의 마모도 등급을 설정하는 단계; 및 상기 설정된 마모도 등급을 이용하여 웨어 레벨링을 수행하는 단계를 포함한다.
실시 예에 있어서, 상기 마모 파라미터들은, 블록의 읽기 동작시 발생된 에러의 개수, 블록의 프로그램 소거 싸이클 회수, 상기 비휘발성 메모리 장치의 온도 정보, 블록에 프로그램 동작을 처음으로 수행한 뒤 경과한 시간 정보, 블록의 마모도를 체크하기 위한 적어도 하나의 셀의 문턱전압 변경 정보 중 적어도 2개이다.
실시 예에 있어서, 상기 마모도 등급을 설정하는 단계는, 사전에 결정된 주기인 지를 판별하는 단계를 더 포함한다.
실시 예에 있어서, 상기 사전에 결정된 주기는, 블록이 경험한 프로그램 동작의 회수가 사전에 결정된 적어도 하나의 값이 될 때이다.
실시 예에 있어서, 상기 사전에 결정된 주기는, 블록에 처음 프로그램 동작을 수행한 뒤 경과된 시간이 사전에 결정된 적어도 하나의 값이 될 때이다.
실시 예에 있어서, 상기 사전에 결정된 주기는, 블록의 읽기 동작시 발생된 에러의 개수가 사전에 결정된 적어도 하나의 값이 될 때이다.
실시 예에 있어서, 상기 설정된 마모도 등급은 테이블 형태로 상기 비휘발성 메모리 장치에 저장된다.
실시 예에 있어서, 상기 저장된 마모도 등급과 상기 복수의 마모 파라미터들을 근거로 하여 상기 블록의 마모도 등급을 조정하고, 상기 조정된 마모도 등급을 이용하여 웨어 레벨링을 수행하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 메모리 시스템은, 적어도 하나의 비휘발성 메모리 장치; 및 상기 적어도 하나의 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하고, 상기 메모리 제어기는 복수의 마모 파라미터들을 근거로 하여 웨어 레벨링을 수행하는 지능형 웨어 레벨링 모듈을 포함하고, 상기 복수의 마모 파라미터들 중 적어도 2개는 읽기 동작시 발생되는 에러의 개수 및 프로그램 소거 싸이클 회수이다.
실시 예에 있어서, 상기 메모리 제어기는, 상기 읽기 동작시 읽혀진 데이터의 에러를 정정하기 위한 에러 정정 회로를 포함하고, 상기 에러 정정 회로는 상기 에러의 개수를 검출한다.
실시 예에 있어서, 상기 지능형 웨어 레벨링 모듈은, 상기 에러의 개수 및 상기 프로그램 소거 싸이클 회수를 입력받아 주기적으로 블록의 마모도 등급을 결정하는 등급 관리자; 및 상기 결정된 등급을 이용하여 웨어 레벨링을 수행하는 웨어 레벨링 모듈을 포함한다.
실시 예에 있어서, 상기 지능형 웨어 레벨링 모듈은, 상기 에러의 개수, 상기 프로그램 소거 싸이클 회수, 및 상기 적어도 하나의 비휘발성 메모리 장치의 온도 정보를 입력받아 주기적으로 블록의 마모도 등급을 결정하는 등급 관리자; 및 상기 결정된 등급을 이용하여 웨어 레벨링을 수행하는 웨어 레벨링 모듈을 포함한다.
실시 예에 있어서, 상기 지능형 웨어 레벨링 모듈은, 상기 에러의 개수, 상기 프로그램 소거 싸이클 회수, 및 블록에 처음 프로그램 동작을 수행한 뒤 경과한 시간 정보를 입력받아 주기적으로 블록의 마모도 등급을 결정하는 등급 관리자; 및 상기 결정된 등급을 이용하여 웨어 레벨링을 수행하는 웨어 레벨링 모듈을 포함한다.
실시 예에 있어서, 상기 지능형 웨어 레벨링 모듈은, 상기 에러의 개수, 상기 프로그램 소거 싸이클 회수, 상기 적어도 하나의 비휘발성 메모리 장치의 온도 정보, 및 블록에 처음 프로그램 동작을 수행한 뒤 경과한 시간 정보를 입력받아 주기적으로 블록의 마모도 등급을 결정하는 등급 관리자; 및 상기 결정된 등급을 이용하여 웨어 레벨링을 수행하는 웨어 레벨링 모듈을 포함한다.
실시 예에 있어서, 상기 지능형 웨어 레벨링 모듈은, 주기적으로 블록의 적어도 하나의 셀의 문턱전압 변경 정보를 판별하는 타겟 문턱전압 변경 판별기; 상기 에러의 개수, 상기 프로그램 소거 싸이클 회수, 및 상기 문턱전압 변경 정보를 입력받아 블록의 마모도 등급을 결정하는 등급 관리자; 및 상기 결정된 등급을 이용하여 웨어 레벨링을 수행하는 웨어 레벨링 모듈을 포함한다.
상술한 바와 같이 본 발명에 따른 메모리 시스템 및 그것의 웨어 레벨링 방법은 복수의 마모 파라미터들을 이용하여 웨어 레벨링을 수행함으로써 보다 정밀하게 마모도를 관리할 수 있다.
도 1은 본 발명에 따른 메모리 시스템을 예시적으로 보여주는 도면이다.
도 2는 도 1에 도시된 어느 하나의 블록을 예시적으로 보여주는 도면이다.
도 3은 도 1에 도시된 지능형 웨어 레벨링 모듈에 대한 제 1 실시 예를 보여주는 블록도이다.
도 4는 도 3에 도시된 지능형 웨어 레벨링 모듈의 웨어 레벨링 방법에 제 1 실시 예를 보여주는 흐름도이다.
도 5는 도 3에 도시된 지능형 웨어 레벨링 모듈의 웨어 레벨링 방법에 제 2 실시 예를 보여주는 흐름도이다.
도 6은 도 1에 도시된 지능형 웨어 레벨링 모듈에 대한 제 2 실시 예를 보여주는 블록도이다.
도 7은 도 1에 도시된 지능형 웨어 레벨링 모듈에 대한 제 3 실시 예를 보여주는 블록도이다.
도 8은 도 1에 도시된 지능형 웨어 레벨링 모듈에 대한 제 4 실시 예를 보여주는 블록도이다.
도 9는 도 1에 도시된 지능형 웨어 레벨링 모듈에 대한 제 5 실시 예를 보여주는 블록도이다.
도 10은 본 발명의 실시 예에 따른 VNAND의 어느 하나의 블록을 예시적으로 보여주는 도면이다.
도 11 내지 도 17은 본 발명의 다양한 응용 예들을 보여주는 도면들이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시 예를 첨부된 도면을 참조하여 설명할 것이다.
도 1은 본 발명에 따른 메모리 시스템을 예시적으로 보여주는 도면이다. 도 1을 참조하면, 메모리 시스템(10)은 비휘발성 메모리 장치(100) 및 그것을 제어하는 제어기(200)를 포함한다.
비휘발성 메모리 장치(100)는 낸드 플래시 메모리(NAND Flash Memory), 수직형 낸드 플래시 메모리(Vertical NAND, 이하, 'VNAND'라고 함), 노아 플래시 메모리(NOR Flash Memory), 저항성 램(Resistive Random Access Memory: RRAM), 상변화 메모리(Phase-Change Memory: PRAM), 자기저항 메모리(Magnetoresistive Random Access Memory: MRAM), 강유전체 메모리(Ferroelectric Random Access Memory: FRAM), 스핀주입 자화반전 메모리(Spin Transfer Torque Random Access Memory: STT-RAM) 등이 될 수 있다. 또한, 본 발명의 비휘발성 메모리 장치는 3차원 어레이 구조(Three-Dimentional Array Structure)로 구현될 수 있다. 본 발명은 전하 저장층이 전도성 부유 게이트로 구성된 플래시 메모리 장치는 물론, 전하 저장층이 절연막으로 구성된 차지 트랩형 플래시(Charge Trap Flash, "CTF"라 불림)에도 모두 적용 가능하다. 아래에서는 설명의 편의를 위하여 비휘발성 메모리 장치(100)가 낸드 플래시 메모리 장치라고 하겠다.
비휘발성 메모리 장치(100)는 데이터를 저장하기 위한 복수의 블록들(BLK0~BLKz, 여기서 z는 자연수)을 포함한다.
메모리 제어기(200)는 비휘발성 메모리 장치(100)를 제어한다. 메모리 제어기(200)는 블록들(BLK0~BLKz) 각각의 마모도를 관리하기 위한 지능형 웨어 레벨링 모듈(220)을 포함한다.
지능형 웨어 레벨링 모듈(220)은 복수의 마모 파라미터들(wearout parameters)을 근거로 하여 블록들(BLK0~BLKz) 각각의 마모도를 평가하고, 평가된 마모도를 근거로 하여 블록들(BLK0~BLKz) 각각의 마모도가 일정하게 유지되도록 웨어 레벨링을 수행한다.
마모 파라미터들은, 프로그램/소거 싸이클(P/E cycle) 회수, 에러정정 동작시 에러(ECC error) 정보, 비휘발성 메모리 장치의 온도 정보, 블록에 프로그램이 수행된 시점부터 현재까지의 타이밍 정보, 소정의 플래그 셀의 문턱전압 산포의 변경 정보, 소거 동작이 완료될 때까지의 루프 회수 등 될 수 있다. 실시 예에 있어서, 마모 파라미터들을 중 적어도 하나는 프로그램/소거 싸이클(P/E cycle) 회수를 포함한다.
지능형 웨어 레벨링 모듈(220)은 복수의 마모 파라미터들을 이용하여 블록들(BLK0~BLKz) 각각의 마모도를 관리한다. 즉, 지능형 웨어 레벨링 모듈(220)은 복수의 마모 파라미터들에 의해 평가된 마모도를 근거로 하여 블록들(BLK0~BLKz) 각각의 마모도 등급(wearlevel grade)을 설정하고, 설정된 마모도 등급에 따라 웨어 레벨링을 수행한다.
일반적으로, 웨어 레벨링은 신규한 프로그램 동작 혹은 복사 동작시 마모도가 낮은 블록에 프로그램을 수행시킴으로써, 블록들(BLK0~BLKz) 각각의 마모도가 일정하게 유지시킨다. 한편, 웨어 레벨링에 대한 자세한 것은, 삼성전자에서 출원하였으며, 이 출원의 참고문헌들로 결합된 미국 등록 특허 번호 US 8,028,121, 미국 공개 특허들 US 2009/0077429, US 2010/0027335, US 2010/0115192, US 2010/0246266, US 2011/0131367에서 설명될 것이다.
일반적인 메모리 시스템은, 블록들의 프로그램/소거 싸이클 회수를 근거로 웨어 레벨링을 수행한다. 그런데 블록들 중에는 베스트 셀들(best cells)로 구성된 건강한(healty) 블록이 있는 반면에, 워스트 셀들(worst cells)로 구성된 약한(weak) 블록이 있다. 여기서 베스트 셀들이란 열화 특성이 좋은 메모리 셀들이고, 워스트 셀들은 열화 특성이 좋지 않은 메모리 셀들이다. 건강한 블록과 약한 블록은 프로그램/소거 싸이클 회수에 대응하는 내구성(endurance)이 다르다. 그럼에도 불구하고, 일반적인 메모리 시스템은, 블록의 내구성에 상관없이 프로그램/소거 싸이클 회수를 근거로 하여 웨어 레벨링을 수행함으로써, 비휘발성 메모리 장치의 신뢰성을 저하시킨다. 즉, 비휘발성 메모리 장치의 신뢰성이 워스트 셀들로 구성된 약한 블록의 신뢰성으로 제한받는다.
반면에, 본 발명에 따른 메모리 시스템(10)은 적어도 2 개의 마모 파라미터들을 근거로하여 블록들(BLK0~BLKz) 각각의 마모도를 관리함으로써, 종래의 그것보다 정확/정밀하게 웨어 레벨링(wear leveling)을 수행할 수 있다. 즉, 본 발명의 메모리 시스템(10)은 건강한 블록과 약한 블록에 따라(다른 말로, 블록의 건강 상태에 따라) 적합한 웨어 레벨링을 수행할 수 있다. 예를 들어, 본 발명의 메모리 시스템(10)은 동일한 프로그램/소거 싸이클 회수에 도달하더라도 약한 블록은 배드 블록으로 처리되는 반면에, 건강한 블록은 배드 블록으로 처리되지 않는다. 그 결과로써, 본 발명의 메모리 시스템(10)은, 종래의 그것과 비교하여 비휘발성 메모리 장치(100)의 신뢰성을 전체적으로 향상시킨다.
정리하면, 본 발명의 메모리 시스템(10)은 복수의 마모 파라미터들에 관련된 마모도 등급에 따라 블록들(BLK0~BLKz) 각각의 프로그램/소거 싸이클(cycle) 회수를 비균등하게 관리함으로써, 블록들(BLK0~BLKz) 각각의 마모도를 균등하게 관리할 수 있다.
도 2는 도 1에 도시된 어느 하나의 블록을 예시적으로 보여주는 도면이다. 도 2를 참조하면, 도 2에서는 제 1 블록(BLK0)을 도시한다. 블록(BLK0)은, 비트라인들(BL0~BLn, n은 자연수) 각각에 연결된 적어도 하나의 스트링(ST)을 포함한다. 스트링(ST)은 직렬 연결된 스트링 선택 트랜지스터(SST), 메모리 셀들(MC0~MCm, m은 자연수), 접지 선택 트랜지스터(GST)를 포함한다. 스트링 선택 트랜지스터(SST)는 스트링 선택 라인(SSL)을 통하여 전송되는 전압들에 의하여 구동된다. 접지 선택 트랜지스터들(GST)은 접지 선택 라인(GSL)을 통하여 전송되는 전압들에게 의하여 구동된다. 메모리 셀들(MC0~MCm) 각각은 적어도 하나의 비트의 데이터를 저장하고, 대응하는 워드라인들(WL0~WLm)에 전송되는 전압들에 의하여 구동된다.
도 3은 도 1에 도시된 지능형 웨어 레벨링 모듈(220)에 대한 제 1 실시 예를 보여주는 블록도이다. 도 3을 참조하면, 지능형 웨어 레벨링 모듈(220)은 등급 관리자(222) 및 웨어 레벨링 모듈(224)을 포함한다.
등급 관리자(222)는 ECC 에러 정보와 프로그램/소거 싸이클 회수를 근거로 하여 블록의 마모도 등급을 결정한다. 실시 예에 있어서, ECC 에러 정보는 읽기 동작시 에러 정정을 수행할 때 검출된 에러의 개수 혹은 그것들의 총합일 수 있다. 여기서 ECC 에러 정보는 블록 단위로 관리되거나 페이지 단위로 관리될 수 있다.
웨어 레벨링 모듈(224)은 결정된 블록의 마모도 등급을 비휘발성 메모리 장치(100)에 테이블 형식으로 저장하거나, 저장된 마모도 등급을 근거로 하여 블록들(BLK0~BLKz)의 웨어 레벨링을 수행한다.
본 발명에 따른 지능형 웨어 레벨링 모듈(220)은 ECC 에러 정보 및 프로그램/소거 싸이클 회수를 근거로 블록의 마모도 등급을 결정하고, 결정된 블록의 마모도 등급에 따라 웨어 레벨링을 수행한다.
도 4는 도 3에 도시된 지능형 웨어 레벨링 모듈(220)의 웨어 레벨링 방법에 제 1 실시 예를 보여주는 흐름도이다. 도 3 및 도 4를 참조하면, 웨어 레벨링 방법은 다음과 같다.
등급 관리자(222)는 ECC 에러 정보 및 프로그램/소거 싸이클 회수를 이용하여 블록의 마모도 등급을 설정한다(S110). 등급 관리자(222)는 사전에 학습을 통하여 ECC 에러 정보 및 프로그램/소거 싸이클 회수의 상관 관계로부터 도출된 마모도 등급에 대한 정보를 기초로하여 블록의 마모도 등급을 설정할 수 있다. 각 블록은 ECC 에러 정보 및 프로그램/소거 싸이클 회수를 저장할 수 있다. 각 블록의 ECC 에러 정보 및 프로그램/소거 싸이클 회수는 테이블 형태로(이하, 마모 파라미터 테이블) 저장될 수 있다. 즉, 마모 파라미터 테이블은 각 블록에 대응하는 ECC 에러 정보 및 프로그램/소거 싸이클 회수를 포함할 수 있다.
설정된 블록의 마모도 등급은 테이블 형태(이하, 마모도 등급 테이블)로 비휘발성 메모리 장치(100)에 저장된다(S120). 즉, 마모도 등급 테이블은 각 블록에 대응하는 마모도 등급에 대한 정보를 포함할 것이다.
웨어 레벨링 모듈(224)은 마모도 등급에 관련된 마모도 등급 테이블을 근거로 하여 웨어 레벨링을 수행한다(S130). 여기서 웨어 레벨링은, 주기적으로 수행될 수 있다.
본 발명에 따른 웨어 레벨링 방법은, ECC 에러 정보 및 프로그램/소거 싸이클 회수를 근거로 블록의 마모도 등급을 설정하고, 이에 따라 웨어 레벨링을 수행한다.
도 5는 도 3에 도시된 지능형 웨어 레벨링 모듈(220)의 웨어 레벨링 방법에 제 2 실시 예를 보여주는 흐름도이다. 도 3 및 도 5를 참조하면, 웨어 레벨링 방법은 다음과 같다.
등급 관리자(222)는 소정의 주기가 되었는지를 판별한다(S210). 실시 예에 있어서, 소정의 주기는, 블록의 프로그램/소거 싸이클 회수에 대한 정보일 수 있다. 예를 들어, 등급 관리자(222)는 블록의 프로그램/소거 싸이클 회수가 N(N은 2보다 큰 정수)의 배수인가를 판별할 수 있다. 다른 실시 예에 있어서, 소정의 주기는, 블록의 최초 프로그램 동작 때부터 경과된 일정한 간격의 시간일 수 있다. 또 다른 실시 예에 있어서, 소정의 주기는, 읽기 동작시 블록의 에러의 개수가 소정의 적어도 하나의 값이 될 때일 수 있다.
등급 관리자(222)는 ECC 에러 정보 및 프로그램/소거 싸이클 회수를 이용하여 블록의 마모도 등급을 체크한다(S220). 체크된 블록의 마모도 등급은 테이블 형태(이하, 마모도 등급 테이블)로 비휘발성 메모리 장치(100)에 저장된다(S230). 웨어 레벨링 모듈(224)은 마모도 등급에 관련된 마모도 등급 테이블을 근거로 하여 웨어 레벨링을 수행한다(S240).
본 발명에 따른 웨어 레벨링 방법은, 주기적으로 ECC 에러 정보 및 프로그램/소거 싸이클 회수를 근거로 블록의 마모도 등급을 설정하고, 이에 따라 웨어 레벨링을 수행한다.
도 3에서 도 5는 ECC 에러 정보 및 프로그램/소거 싸이클 회수를 근거로 마모도 등급이 결정된다. 그러나 본 발명이 여기에 제한되지 않을 것이다. 도 6 내지 도 9에서는 지능형 웨어 레벨링 모듈에 대한 다양한 실시 예들을 설명하겠다.
도 6은 도 1에 도시된 지능형 웨어 레벨링 모듈(220-1)에 대한 제 2 실시 예를 보여주는 블록도이다. 도 6에 도시된 바와 같이, 등급 관리자(222-1)는 ECC 에러 정보, 프로그램/소거 싸이클 회수, 및 온도 정보를 근거로 하여 블록의 마모도 등급을 결정할 것이다. 여기서 온도 정보는, 비휘발성 메모리 장치(100)의 온도일 것이다.
실시 예에 있어서, 비휘발성 메모리 장치(100)는 온도를 측정하기 위한 온도 센서를 내장할 수 있다. 여기서 온도 센서는 실시간으로 온도를 측정하고, 측정된 온도 정보를 메모리 제어기(200)의 등급 관리자(222-1)로 전송할 수 있다. 또한, 온도 센서는 메모리 제어기(220)의 요청에 따라 온도를 측정하고, 측정된 온도를 등급 관리자(222-1)로 전송할 수도 있다. 다른 실시 예에 있어서, 비휘발성 메모리 장치(100)의 블록들(BLK0~BLKz) 각각은 온도를 측정하기 위한 온도 센서를 구비할 수 있다.
실시 예에 있어서, 블록들(BLK0~BLKz)의 마모도 등급 테이블은, ECC 에러 정보 및 프로그램/소거 싸이클 회수를 포함할 수 있다. 등급 관리자(222-1)는 마모도 등급 테이블 및 온도 정보를 근거로 하여, 블록의 마모도 등급을 조정/보정/변경할 수 있다.
웨어 레벨링 모듈(224-1)은 조정된 마모도 등급을 근거로 하여 웨어 레벨링을 수행한다.
본 발명에 따른 웨어 레벨링 방법은, ECC 에러 정보, 프로그램/소거 싸이클 회수, 온도 정보를 근거로 하여 웨어 레벨링을 수행한다.
도 7은 도 1에 도시된 지능형 웨어 레벨링 모듈(220-2)에 대한 제 3 실시 예를 보여주는 블록도이다. 도 7에 도시된 바와 같이, 등급 관리자(222-2)는 ECC 에러 정보, 프로그램/소거 싸이클 회수, 및 타이밍 정보를 근거로 하여 블록의 마모도 등급을 결정할 것이다. 여기서 타이밍 정보, 블록의 최초 프로그램 동작이 수행된 시간관련 정보일 수 있다.
실시 예에 있어서, 블록들(BLK0~BLKz)의 마모도 등급 테이블은, ECC 에러 정보 및 프로그램/소거 싸이클 회수를 포함할 수 있다. 등급 관리자(222-2)는 마모도 등급 테이블 및 타이밍 정보를 근거로 하여, 블록의 마모도 등급을 조정/보정/변경할 수 있다. 웨어 레벨링 모듈(224-2)은 조정된 마모도 등급을 근거로 하여 웨어 레벨링을 수행한다.
본 발명에 따른 웨어 레벨링 방법은, ECC 에러 정보, 프로그램/소거 싸이클 회수, 및 타이밍 정보를 근거로 하여 웨어 레벨링을 수행한다.
도 8은 도 1에 도시된 지능형 웨어 레벨링 모듈(220-3)에 대한 제 4 실시 예를 보여주는 블록도이다. 도 8에 도시된 바와 같이, 등급 관리자(222-2)는 ECC 에러 정보, 프로그램/소거 싸이클 회수, 온도 정보 및 타이밍 정보를 근거로 하여 블록의 마모도 등급을 결정할 것이다.
실시 예에 있어서, 블록들(BLK0~BLKz)의 마모도 등급 테이블은, ECC 에러 정보 및 프로그램/소거 싸이클 회수를 포함할 수 있다. 등급 관리자(222-3)는 마모도 등급 테이블, 온도 정보 및 타이밍 정보를 근거로 하여, 블록의 마모도 등급을 조정/보정/변경할 수 있다. 웨어 레벨링 모듈(224-3)은 조정된 마모도 등급을 근거로 하여 웨어 레벨링을 수행한다.
본 발명에 따른 웨어 레벨링 방법은, ECC 에러 정보, 프로그램/소거 싸이클 회수, 온도 정보, 및 타이밍 정보를 근거로 하여 웨어 레벨링을 수행한다.
도 9는 도 1에 도시된 지능형 웨어 레벨링 모듈(220-4)에 대한 제 5 실시 예를 보여주는 블록도이다. 도 8을 참조하면, 지능형 웨어 레벨링 모듈(220-4)은 타겟 문턱전압 변경 판별기(221), 등급 관리자(222-4), 및 웨어 레벨링 모듈(224-4)을 포함한다.
타겟 문턱전압 변경 판별기(221)는 마모도 등급 결정이 필요할 때, 대응하는 블록에 사전에 결정된 적어도 하나의 셀들의 문턱전압 변경 정도를 측정한다. 등급 관리자(222-4)는 ECC 에러 정보, 프로그램/소거 싸이클 회수, 및 측정된 문턱전압 변경 정보를 근거로 하여 블록의 마모도 등급을 결정할 것이다. 실시 예에 있어서, 블록들(BLK0~BLKz)의 마모도 등급 테이블은, ECC 에러 정보, 프로그램/소거 싸이클 회수, 및 측정된 문턱전압 변경 정보를 포함할 수 있다. 웨어 레벨링 모듈(224-3)은 마모도 등급테이블을 근거로 하여 웨어 레벨링을 수행한다.
본 발명에 따른 웨어 레벨링 방법은, ECC 에러 정보, 프로그램/소거 싸이클 회수, 및 문턱전압 변경 정보를 근거로 하여 웨어 레벨링을 수행한다.
본 발명은 VNAND(vertical NAND)에도 적용가능하다.
도 10은 본 발명의 실시 예에 따른 VNAND의 어느 하나의 블록을 예시적으로 보여주는 도면이다. 도 10을 참조하면, 블록(BLK)은 워드라인 병합 구조로 구현된다. 기판위에 워드라인 컷들(WL cuts) 사이에는 두 개의 접지 스트링 라인들(GSL: GSL1, GSL2), 복수의 워드라인들(WL), 두 개의 스트링 선택 라인들(SSL: SSL1, SSL2)이 적층된다. 여기서 스트링 선택 라인들(SSL1, SSL2)은 스트링 선택 라인 컷(SSL cut)으로 분리된다.
복수의 필라들(Pillar)이 접지 스트링 라인들(GSL1, GSL2), 복수의 워드라인들(WL), 스트링 선택 라인들(SSL1, SSL2)을 관통한다. 여기서 접지 스트링 라인(GSL), 복수의 워드라인들(WL), 적어도 하나의 스트링 선택 라인(SSL)은 기판 형태로 구현된다. 또한, 복수의 필라들의 상부면에는 비트라인들(BL)이 연결된다.
도 10에서 스트링 선택 라인(SSL)은 두 개의 기판 형태로 구현되지만, 본 발명이 여기에 제한될 필요는 없다. 본 발명의 스트링 선택 라인(SSL)은 적어도 하나의 기판 형태로 구현될 수 있다. 도 10에서 접지 선택 라인(GSL)은 두 개의 기판 형태로 구현되지만, 본 발명이 여기에 제한될 필요는 없다. 본 발명의 접지 선택 라인(GSL)은 적어도 하나의 기판 형태로 구현될 수 있다. 도 10에서 블록(BLK)은 워드라인 병합 구조이지만, 본 발명이 여기에 제한될 필요는 없다. 한편, VNAND의 블록의 구조에 대한 좀더 자세한 것은, 삼성 전자에서 출원하였으며, 이 출원의 참고 문헌으로 결합된 미국 공개 번호들 US 2009/0310415, US 2010/0078701, US 2010/0117141, US 2010/0140685, US 2010/0213527, US 2010/0224929, US 2010/0315875, US 2010/0322000, US 2011/0013458, US 2011/0018036에 설명될 것이다.
아래에서는 본 발명의 응용 예들을 설명하겠다.
도 11은 본 발명에 따른 메모리 시스템을 예시적으로 보여주는 블록도이다. 도 11을 참조하면, 메모리 시스템(1000)은 적어도 하나의 비휘발성 메모리 장치(1100) 및 메모리 제어기(1200)를 포함한다. 메모리 시스템(1000)은, 도 1에 도시된 메모리 시스템(10)과 동일한 구성 및 동작을 갖도록 구현될 것이다.
비휘발성 메모리 장치(1100)는 옵션적으로 고전압(Vpp)을 제공받을 수 있다. 메모리 제어기(1200)는 복수의 채널들을 통하여 비휘발성 메모리 장치(1100)에 연결된다. 메모리 제어기(1200)는 적어도 하나의 중앙처리장치(1210), 버퍼 메모리(1220), 에러 정정회로(1230), 비휘발성 메모리(1240), 호스트 인터페이스(1250) 및 메모리 인터페이스(1260)를 포함한다. 비휘발성 메모리(1240)는 도 1에 도시된 집중 프로그램 모듈(220)을 프로그램 형태로 저장할 수 있다. 도시되지 않았지만, 메모리 제어기(1200)는 데이터를 랜덤화시키거나 디랜덤화시키는 랜덤화 회로를 더 포함할 수 있다. 본 발명의 메모리 시스템(1000)은 PPN(Perfect Page New)에 적용가능하다.
한편, 메모리 시스템에 대한 좀더 자세한 것은 삼성전자에서 출원하였으며 참고 문헌으로 결합된 미국 등록 특허 번호 US 8,027,194 및 미국 공개 번호 US 2010-0082890에서 설명될 것이다.
도 12는 본 발명의 실시 예에 따른 메모리 카드에 대한 블록도이다. 도 12를 참조하면, 메모리 카드(2000)는 적어도 하나의 플래시 메모리 장치(2100), 버퍼 메모리 장치(2200) 및 그것들을 제어하는 메모리 제어기(2300)를 포함한다. 메모리 카드(2000)은, 도 1에 도시된 메모리 시스템(10)과 동일한 구성 및 동작을 갖도록 구현될 것이다.
플래시 메모리 장치(2100)는 외부 고전압(Vpp)을 옵션적으로 제공받을 수 있다. 버퍼 메모리 장치(2200)는 메모리 카드(2000)의 동작 중 생성되는 데이터를 임시로 저장하기 위한 장치이다. 버퍼 메모리 장치(2200)는 디램 혹은 에스램 등으로 구현될 수 있다. 메모리 제어기(2300)는 복수의 채널들을 통하여 플래시 메모리 장치(2100)에 연결된다. 메모리 제어기(2300)는 호스트 및 플래시 메모리 장치(2100)에 사이에 연결된다. 호스트로부터의 요청에 응답하여, 메모리 제어기(2300)는 플래시 메모리 장치(2100)를 억세스한다.
메모리 제어기(2300)는 적어도 하나의 마이크로 프로세서(2310), 호스트 인터페이스(2320), 플래시 인터페이스(2330)를 포함한다. 적어도 하나의 마이크로 프로세서(2310)는 펌웨어(firmware)를 동작하도록 구현된다. 호스트 인터페이스(2320)는 호스트와 메모리 카드(2000) 사이에 데이터 교환을 수행하기 위한 카드 프로토콜(예를 들어, SD/MMC)을 통해 호스트와 인터페이싱한다.
이러한 메모리 카드(2000)는 멀티미디어 카드(Multimedia Card: MMC), 보안 디지털(Security Digital: SD), miniSD, 메모리 스틱(Memory Stick), 스마트미디어(Smart Media), 트랜스플래시(TransFlash) 카드 등에 적용가능하다.
한편, 메모리 카드(2000)에 대한 좀더 자세한 것은 삼성전자에서 출원하였으며 참고 문헌으로 결합된 미국 공개 번호 US 2010-0306583에서 설명될 것이다.
도 13은 본 발명에 따른 모비낸드를 예시적으로 보여주는 블록도이다. 도 13을 참조하면, 모비낸드(3000)는 적어도 하나의 낸드 플래시 메모리 장치(3100) 및 제어기(3200)를 포함할 수 있다. 모비낸드(3000)는 MMC 4.4(다른 말로, eMMC) 규격을 지원한다. 모비낸드(3000)는, 도 1에 도시된 메모리 시스템(10)과 동일한 구성 및 동작을 갖도록 구현될 것이다.
낸드 플래시 메모리 장치(3100)는 SDR(Sing Data Rate) 낸드 혹은 DDR(Double Data Rate) 낸드일 수 있다. 실시 예에 있어서, 낸드 플래시 메모리 장치(3100)는 단품의 낸드 플래시 메모리 장치들을 포함할 수 있다. 여기서, 단품의 낸드 플래시 메모리 장치들은 하나의 패키지(예를 들어, FBGA, Fine-pitch Ball Grid Array)에 적층되어 구현될 수 있다.
메모리 제어기(3200)는 복수의 채널들을 통하여 플래시 메모리 장치(3100)에 연결된다. 제어기(3200)는 적어도 하나의 제어기 코어(3210), 호스트 인터페이스(3250) 및 낸드 인터페이스(3260)를 포함한다. 적어도 하나의 제어기 코어(3210)는 모비낸드(3000)의 전반적인 동작을 제어한다. 호스트 인터페이스(3250)는 제어기(3210)와 호스트의 인터페이싱을 수행한다. 낸드 인터페이스(3260)는 낸드 플래시 메모리 장치(3100)와 제어기(3200)의 인터페이싱을 수행한다. 실시 예에 있어서, 호스트 인터페이스(3250)는 병렬 인터페이스(예를 들어, MMC 인터페이스)일 수 있다. 다른 실시 예에 있어서, 모비낸드(3000)의 호스트 인터페이스(3250)는 직렬 인터페이스(예를 들어, UHS-II, UFS 인터페이스)일 수 있다.
모비낸드(3000)는 호스트로부터 전원 전압들(Vcc, Vccq)을 제공받는다. 여기서, 제 1 전원 전압(Vcc: 3.3V)은 낸드 플래시 메모리 장치(3100) 및 낸드 인터페이스(3230)에 제공되고, 제 2 전원 전압(Vccq: 1.8V/3.3V)은 제어기(3200)에 제공된다. 실시 예에 있어서, 모비낸드(3000)는 외부 고전압(Vpp)을 옵션적으로 제공받을 수 있다.
본 발명의 실시 예에 따른 모비낸드(3000)는 대용량의 데이터를 저장하는 데 유리할 뿐 아니라, 향상된 읽기 동작 특성을 갖는다. 본 발명의 실시 예에 따른 모비낸드(3000)는 소형 및 저전력이 요구되는 모바일 제품(예를 들어, 갤럭시S, 아이폰 등)에 응용 가능하다.
도 13에 도시된 모비낸드(3000)는 복수의 전원 전압들(Vcc, Vccq)을 제공받는다. 그러나 본 발명의 모비낸드가 반드시 여기에 제한될 필요는 없다. 본 발명의 모비낸드는 전원 전압(Vcc)을 입력받아 내부에서 부스팅 혹은 레귤레이팅함으로써, 낸드 인터페이스 및 낸드 플래시 메모리에 적합한 전원 전압(3.3V)을 발생하도록 구현될 수도 있다. 이러한 내부 부스팅 혹은 레귤레이팅 동작에 대한 자세한 것은 삼성전자에서 출원하였으며 참고문헌으로 결합된 미국 등록 특허 7,092,308에서 설명될 것이다.
도 14는 본 발명에 따른 SSD(solid state disk)를 예시적으로 보여주는 블록도이다. 도 14를 참조하면, SSD(4000)는 복수의 플래시 메모리 장치들(4100) 및 SSD 제어기(4200)를 포함한다. SSD(4000)는 도 1에 도시된 메모리 시스템(10)과 동일한 구성 및 동작을 갖도록 구현될 것이다.
플래시 메모리 장치들(4100)은 옵션적으로 외부 고전압(Vpp)을 제공받도록 구현될 수 있다. SSD 제어기(4200)는 복수의 채널들(CH1~CHi, i는 2 이상의 정수)을 통하여 플래시 메모리 장치들(4100)에 연결된다. SSD 제어기(4200)는 적어도 하나의 중앙처리장치(4210), 버퍼 메모리(4220), 호스트 인터페이스(4250) 및 플래시 인터페이스(4260)를 포함한다.
버퍼 메모리(4220)는 외부와 플래시 메모리 장치들(4100) 간의 이동 데이터를 임시로 저장한다. 또한, 버퍼 메모리(4220)는 중앙처리장치(4210)에 의해서 운용될 프로그램을 저장하는 데에도 사용된다. 버퍼 메모리(4220)는 디램(DRAM) 혹은 에스램(SRAM)으로 구현될 수 있다. 도 21에서 버퍼(4220)는 SSD 제어기(4200) 내부에 포함되지만, 본 발명이 반드시 여기에 제한될 필요는 없다. 본 발명의 실시 예에 따른 버퍼 메모리는 SSD 제어기(4200)의 외부에 배치될 수 있다.
호스트 인터페이스(4250)는 중앙처리장치(4210)의 제어에 따라 호스트와 통신 프로토콜 방식으로 데이터를 교환한다. 실시 예에 있어서, 통신 프로토콜은 ATA(Advanced Technology Attachment) 프로토콜일 수 있다. 이러한 ATA 프로토콜은 SATA(Serial Advanced Technology Attachment) 인터페이스, PATA(Parallel Advanced Technology Attachment) 인터페이스, ESATA(External SATA) 인터페이스 등을 포함한다. 다른 실시 예에 있어서, 통신 프로토콜은 USB(Universal Serial Bus) 프로토콜일 수 있다. 호스트 인터페이스(4250)를 통해 호스트로부터 입력되는 데이터나 호스트로 전송되어야 할 데이터는 중앙처리장치(4210)의 제어에 따라 CPU 버스를 경유하지 않고 버퍼 메모리(4220)를 통해 전송된다.
플래시 인터페이스(4260)는 저장 장치로 사용되는 플래시 메모리 장치들(4100)과 SSD 제어기(4200) 사이의 인터페이싱을 수행한다. 플래시 인터페이스(4260)는 낸드 플래시 메모리, 원내드(One-NAND) 플래시 메모리, 멀티 레벨 플래시 메모리, 싱글 레벨 플래시 메모리를 지원하도록 구성될 수 있다.
본 발명의 실시 예에 따른 SSD(4000)는 발열 문제시 전력 소비를 줄이는 집중 프로그램 동작을 수행한다. 그 결과로써 본 발명의 SSD(4000)는 저장된 데이터의 신뢰성을 향상시킬 수 있다. 한편, SSD(4000)에 대한 좀더 자세한 것은 삼성전자에서 출원하였으며 참고 문헌으로 결합된 미국 등록 특허 번호 8,027,194 및 미국 공개 번호 US 2010-0082890에서 설명될 것이다.
도 15는 본 발명에 따른 서버 시스템을 예시적으로 보여주는 블록도이다. 도 15를 참조하면, 서버 시스템(7000)은 서버(7100), 및 서버(7100)를 동작하는 데 필요한 데이터를 저장하는 적어도 하나의 SSD(7200)를 포함한다. 여기서 적어도 하나의 SSD(7200)는, 도 14에 도시된 SSD(4000)와 동일한 기능 혹은 동작을 갖도록 구현될 것이다.
서버(7100)는 응용 통신 모듈(7110), 데이터 처리 모듈(7120), 업그레이드 모듈(7130), 스케줄링 센터(7140), 로컬 리소스 모듈(7150), 및 리페어 정보 모듈(7160)을 포함한다. 응용 통신 모듈(7110)은 서버(7100)와 네트워크에 연결된 컴퓨팅 시스템과 통신하거나 혹은 서버(7100)와 SSD(7200)이 통신하도록 구현된다. 응용 통신 모듈(7110)은 사용자 인터페이스를 통하여 제공된 데이터 혹은 정보를 데이터 처리 모듈(7120)로 전송한다.
데이터 처리 모듈(7120)은 로컬 리소스 모듈(7150)에 링크된다. 여기서 로컬 리소스 모듈(7150)은 서버(7100)에 입력된 데이터 혹은 정보를 근거로 하여 사용자에게 리페어 숍들(repair shops)/딜러들(dealers)/기술적인 정보의 목록을 제공한다. 업그레이드 모듈(7130)은 데이터 처리 모듈(7120)과 인터페이싱 한다. 업그레이드 모듈(7130)은 SSD(7200)로부터 전송된 데이터 혹은 정보를 근거로 하여 펌웨어, 리셋 코드, 진단 시스템 업그레이드 혹은 다른 정보들을 전자기기(appliance)에 업그레이드한다.
스케쥴링 센터(7140)는 서버(7100)에 입력된 데이터 혹은 정보를 근거로 하여 사용자에게 실시간의 옵션을 허용한다. 리페어 정보 모듈(7160)은 데이터 처리 모듈(7120)과 인터페이싱한다. 리페어 정보 모듈(7160)은 사용자에게 리페어 관련 정보(예를 들어, 오디오, 비디오, 혹은 문서 파일)를 제공하는데 이용된다. 데이터 처리 모듈(7120)은 SSD(7200)로부터 전송된 정보를 근거로 하여 관련된 정보를 패키징한다. 그 뒤, 이러한 정보는 SSD(7200)에 전송되거나 혹은 사용자에게 디스플레이된다.
본 발명에 따른 서버 시스템(4000)은 정확한 마모도를 기준으로 웨어 레벨링을 수행함으로써, 시스템 전체적으로 성능 향상을 꾀할 수 있다.
본 발명은 모바일 장치(예를 들어, 갤럭시S, 아이폰 등)에도 적용가능하다.
도 16은 본 발명에 따른 모바일 장치를 예시적으로 보여주는 블록도이다. 도 16을 참조하면, 모바일 장치(8000)는 통신 유닛(8100), 제어기(8200), 메모리 유닛(8300), 디스플레이 유닛(8400), 터치 스크린 유닛(8500), 및 오디오 유닛(8600)을 포함한다.
메모리 유닛(8300)은 적어도 하나의 디램(8310), 적어도 하나의 원낸드(8320), 및 적어도 하나의 모비낸드(8330)를 포함한다. 원낸드(8320) 및 모비 낸드(8330) 중 적어도 하나는 도 1에 도시된 메모리 시스템(10)과 동일한 구성 및 동작을 갖도록 구현될 것이다.
한편, 모바일 장치에 대한 좀더 자세한 것은, 삼성 전자에서 출원하였으며, 이 출원의 참고 문헌으로 결합된 미국 공개 번호들 US 2010/0010040, US 2010/0062715, US 2010/0309237, US 2010/0315325에서 설명될 것이다.
본 발명에 따른 모바일 장치(8000)는 정확한 마모도를 기준으로 웨어 레벨링을 수행함으로써 비휘발성 메모리 장치의 소거 동작의 기회를 상대적으로 줄이고, 이에 따른 전력소비 및 발열 문제를 감소시킬 수 있다.
본 발명은 태블릿(예를 들어, 갤럭시탭, 아이패드 등)에도 적용가능하다.
도 17은 본 발명에 따른 휴대용 전자 장치(9000)를 예시적으로 보여주는 블록도이다. 도 17를 참조하면, 휴대용 전자 장치(9000)는 일반적으로 적어도 하나의 컴퓨터 판독 가능 매체(9020), 처리 시스템(9040), 입출력 서브시스템(9060), 무선 주파수 회로(9080) 및 오디오 회로(9100)를 포함한다. 각 구성요소들 적어도 하나의 통신 버스 혹은 신호선(9030)로 연결될 수 있다.
휴대용 전자 장치(9000)는, 제한되지 않는 핸드헬드 컴퓨터(handheld computer), 태블릿 컴퓨터, 이동 전화, 미디어 플레이어, PDA(personal digital assistant) 등과 이들 아이템 중 둘 이상의 조합을 포함하는 임의의 휴대용 전자 장치일 수 있다. 여기서 적어도 하나의 컴퓨터 판독 가능 매체(9020)는 도 1에 도시된 메모리 시스템(100)과 동일한 구성 및 동작을 갖도록 구현될 것이다.
한편, 휴대용 전자 장치(9000)에 대한 좀더 자세한 것은 참고 문헌으로 결합된 미국 등록번호 US 7,509,588에서 설명될 것이다.
본 발명의 실시 예에 따른 메모리 시스템 혹은 저장 장치는 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 실시 예에 있어서, 본 발명의 실시 예에 따른 메모리 시스템 혹은 저장 장치는 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), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장될 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10: 메모리 시스템
100: 비휘발성 메모리 장치
200: 메모리 제어기
220, 220-1, 220-2, 220-3, 220-4: 지능형 웨어 레벨링 모듈
222, 222-1, 222-2, 222-3, 222-4: 등급 관리자
224, 224-1, 224-2, 224-3, 224-4: 웨어 레벨링 모듈
221: 타겟 문턱전압 변경 판별기

Claims (10)

  1. 적어도 하나의 비휘발성 메모리 장치 및 상기 적어도 하나의 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하는 메모리 시스템의 웨어 레벨링 방법에 있어서:
    복수의 마모 파라미터들을 입력받는 단계;
    상기 입력된 마모 파라미터들을 근거로 하여 블록의 마모도 등급을 설정하는 단계; 및
    상기 설정된 마모도 등급을 이용하여 웨어 레벨링을 수행하는 단계를 포함하는 웨어 레벨링 방법.
  2. 제 1 항에 있어서,
    상기 마모 파라미터들은, 블록의 읽기 동작시 발생된 에러의 개수, 블록의 프로그램 소거 싸이클 회수, 상기 비휘발성 메모리 장치의 온도 정보, 블록에 프로그램 동작을 처음으로 수행한 뒤 경과한 시간 정보, 블록의 마모도를 체크하기 위한 적어도 하나의 셀의 문턱전압 변경 정보 중 적어도 2개인 웨어 레벨링 방법.
  3. 제 1 항에 있어서,
    상기 마모도 등급을 설정하는 단계는, 사전에 결정된 주기인 지를 판별하는 단계를 더 포함하는 웨어 레벨링 방법.
  4. 제 3 항에 있어서,
    상기 사전에 결정된 주기는, 블록이 경험한 프로그램 동작의 회수가 사전에 결정된 적어도 하나의 값이 될 때인 웨어 레벨링 방법.
  5. 제 3 항에 있어서,
    상기 사전에 결정된 주기는, 블록의 읽기 동작시 발생된 에러의 개수가 사전에 결정된 적어도 하나의 값이 될 때인 웨어 레벨링 방법.
  6. 적어도 하나의 비휘발성 메모리 장치; 및
    상기 적어도 하나의 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하고,
    상기 메모리 제어기는 복수의 마모 파라미터들을 근거로 하여 웨어 레벨링을 수행하는 지능형 웨어 레벨링 모듈을 포함하고,
    상기 복수의 마모 파라미터들 중 적어도 2개는 읽기 동작시 발생되는 에러의 개수 및 프로그램 소거 싸이클 회수인 메모리 시스템.
  7. 제 6 항에 있어서,
    상기 메모리 제어기는,
    상기 읽기 동작시 읽혀진 데이터의 에러를 정정하기 위한 에러 정정 회로를 포함하고,
    상기 에러 정정 회로는 상기 에러의 개수를 검출하는 메모리 시스템.
  8. 제 7 항에 있어서,
    상기 지능형 웨어 레벨링 모듈은,
    상기 에러의 개수 및 상기 프로그램 소거 싸이클 회수를 입력받아 주기적으로 블록의 마모도 등급을 결정하는 등급 관리자; 및
    상기 결정된 등급을 이용하여 웨어 레벨링을 수행하는 웨어 레벨링 모듈을 포함하는 메모리 시스템.
  9. 제 7 항에 있어서,
    상기 지능형 웨어 레벨링 모듈은,
    상기 에러의 개수, 상기 프로그램 소거 싸이클 회수, 및 상기 적어도 하나의 비휘발성 메모리 장치의 온도 정보를 입력받아 주기적으로 블록의 마모도 등급을 결정하는 등급 관리자; 및
    상기 결정된 등급을 이용하여 웨어 레벨링을 수행하는 웨어 레벨링 모듈을 포함하는 메모리 시스템.
  10. 제 6 항에 있어서,
    상기 지능형 웨어 레벨링 모듈은,
    상기 마모 파라미터들에 관련된 마모도 등급에 따라 블록들 각각의 프로그램 소거 싸이클 회수를 비균등하게 관리함으로써, 상기 블록들 각각의 마모도를 균등하게 관리하는 메모리 시스템.
KR1020110128312A 2011-12-02 2011-12-02 메모리 시스템 및 그것의 웨어 레벨링 방법 KR20130061967A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110128312A KR20130061967A (ko) 2011-12-02 2011-12-02 메모리 시스템 및 그것의 웨어 레벨링 방법
US13/607,980 US20130145079A1 (en) 2011-12-02 2012-09-10 Memory system and related wear-leveling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110128312A KR20130061967A (ko) 2011-12-02 2011-12-02 메모리 시스템 및 그것의 웨어 레벨링 방법

Publications (1)

Publication Number Publication Date
KR20130061967A true KR20130061967A (ko) 2013-06-12

Family

ID=48524844

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110128312A KR20130061967A (ko) 2011-12-02 2011-12-02 메모리 시스템 및 그것의 웨어 레벨링 방법

Country Status (2)

Country Link
US (1) US20130145079A1 (ko)
KR (1) KR20130061967A (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160150554A (ko) * 2015-06-22 2016-12-30 삼성전자주식회사 비휘발성 메모리 장치, 메모리 시스템 및 그것의 동작 방법
US9710328B2 (en) 2014-12-17 2017-07-18 SK Hynix Inc. Semiconductor memory device and operating method thereof
US9792058B2 (en) 2015-07-15 2017-10-17 SK Hynix Inc. System and method of selecting source and destination blocks for wear-leveling
US9996277B2 (en) 2015-11-23 2018-06-12 SK Hynix Inc. Memory system and operating method of memory system
US10073628B2 (en) 2015-12-23 2018-09-11 SK Hynix Inc. Memory system and operating method of memory system
KR20190106271A (ko) * 2018-03-08 2019-09-18 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200027862A (ko) * 2018-09-05 2020-03-13 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US10818365B2 (en) 2018-02-01 2020-10-27 SK Hynix Inc. Memory system and operating method thereof
US11403015B2 (en) 2018-11-09 2022-08-02 SK Hynix Inc. Memory system and operating method thereof

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9170897B2 (en) 2012-05-29 2015-10-27 SanDisk Technologies, Inc. Apparatus, system, and method for managing solid-state storage reliability
US9063874B2 (en) * 2008-11-10 2015-06-23 SanDisk Technologies, Inc. Apparatus, system, and method for wear management
KR20140096875A (ko) * 2013-01-29 2014-08-06 삼성전자주식회사 메모리 시스템의 및 그것의 블록 관리 방법
US9477546B2 (en) * 2013-06-21 2016-10-25 Marvell World Trade Ltd. Methods and apparatus for optimizing lifespan of a storage device
GB201322075D0 (en) 2013-12-13 2014-01-29 Ibm Device for selecting a level for at least one read voltage
KR20150112075A (ko) * 2014-03-26 2015-10-07 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US9362000B2 (en) * 2014-09-05 2016-06-07 Kabushiki Kaisha Toshiba Memory system and management method thereof
KR20160043763A (ko) * 2014-10-14 2016-04-22 삼성전자주식회사 칩 및 칩의 제어 방법
US9563373B2 (en) 2014-10-21 2017-02-07 International Business Machines Corporation Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management
US10365859B2 (en) 2014-10-21 2019-07-30 International Business Machines Corporation Storage array management employing a merged background management process
DE102014115885B4 (de) * 2014-10-31 2018-03-08 Infineon Technologies Ag Funktionstüchtigkeitszustand von nicht-flüchtigem Speicher
US9740425B2 (en) 2014-12-16 2017-08-22 Sandisk Technologies Llc Tag-based wear leveling for a data storage device
US10339048B2 (en) 2014-12-23 2019-07-02 International Business Machines Corporation Endurance enhancement scheme using memory re-evaluation
US9990279B2 (en) 2014-12-23 2018-06-05 International Business Machines Corporation Page-level health equalization
CN105989887B (zh) * 2015-03-02 2020-01-07 群联电子股份有限公司 抹除操作配置方法、存储器控制电路单元与存储器
KR102393323B1 (ko) * 2015-08-24 2022-05-03 삼성전자주식회사 재사용 주기를 이용하여 사용자 데이터를 쓰기 위한 워드라인을 결정하는 저장 장치의 동작 방법
KR102456104B1 (ko) 2015-08-24 2022-10-19 삼성전자주식회사 데이터 신뢰성에 따라 동작 조건을 변경하는 저장 장치의 동작 방법
KR102333746B1 (ko) * 2015-09-02 2021-12-01 삼성전자주식회사 재사용 주기에 따라 마모도를 관리하는 저장 장치의 동작 방법
US9928154B2 (en) * 2016-01-12 2018-03-27 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Leveling stress factors among like components in a server
US10732856B2 (en) * 2016-03-03 2020-08-04 Sandisk Technologies Llc Erase health metric to rank memory portions
KR102553170B1 (ko) 2016-06-08 2023-07-10 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20180020706A (ko) 2016-08-19 2018-02-28 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
KR20180045089A (ko) * 2016-10-24 2018-05-04 에스케이하이닉스 주식회사 메모리 시스템 및 이를 이용한 웨어-레벨링 방법
KR102422032B1 (ko) * 2017-08-16 2022-07-19 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US11086529B2 (en) 2018-09-26 2021-08-10 Western Digital Technologies, Inc. Data storage systems and methods for improved data relocation based on read-level voltages associated with error recovery
US10831396B2 (en) * 2018-12-18 2020-11-10 Micron Technology, Inc. Data storage organization based on one or more stresses
US20210232323A1 (en) * 2019-03-29 2021-07-29 Pure Storage, Inc. Managing voltage threshold shifts
KR102601152B1 (ko) * 2019-05-10 2023-11-13 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11573720B2 (en) * 2020-08-19 2023-02-07 Micron Technology, Inc. Open block family duration limited by time and temperature
CN116405726B (zh) * 2023-06-05 2023-10-20 深圳市华曦达科技股份有限公司 基于emmc磨损度的数据存储控制方法、系统和可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7903486B2 (en) * 2007-11-19 2011-03-08 Sandforce, Inc. System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
KR101662273B1 (ko) * 2009-11-27 2016-10-05 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 마모도 관리 방법

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710328B2 (en) 2014-12-17 2017-07-18 SK Hynix Inc. Semiconductor memory device and operating method thereof
KR20160150554A (ko) * 2015-06-22 2016-12-30 삼성전자주식회사 비휘발성 메모리 장치, 메모리 시스템 및 그것의 동작 방법
US9792058B2 (en) 2015-07-15 2017-10-17 SK Hynix Inc. System and method of selecting source and destination blocks for wear-leveling
US9996277B2 (en) 2015-11-23 2018-06-12 SK Hynix Inc. Memory system and operating method of memory system
US10073628B2 (en) 2015-12-23 2018-09-11 SK Hynix Inc. Memory system and operating method of memory system
US10818365B2 (en) 2018-02-01 2020-10-27 SK Hynix Inc. Memory system and operating method thereof
KR20190106271A (ko) * 2018-03-08 2019-09-18 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200027862A (ko) * 2018-09-05 2020-03-13 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US10838627B2 (en) 2018-09-05 2020-11-17 SK Hynix Inc. Memory system and method of operating the same
US11403015B2 (en) 2018-11-09 2022-08-02 SK Hynix Inc. Memory system and operating method thereof

Also Published As

Publication number Publication date
US20130145079A1 (en) 2013-06-06

Similar Documents

Publication Publication Date Title
KR20130061967A (ko) 메모리 시스템 및 그것의 웨어 레벨링 방법
KR101832934B1 (ko) 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템, 그것의 블록 관리 방법, 프로그램 방법 및 소거 방법
KR101893145B1 (ko) 메모리 시스템들 및 그것들의 블록 복사 방법들
US9690654B2 (en) Operation method of nonvolatile memory system
KR101893143B1 (ko) 비휘발성 메모리 장치, 그것의 프로그램 방법 및 읽기 방법, 및 그것을 포함하는 메모리 시스템
KR101662273B1 (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 마모도 관리 방법
US9632868B2 (en) Storage device including nonvolatile memory and memory controller and operating method of storage device
KR101857529B1 (ko) 비휘발성 메모리 장치 및 그것의 구동 방법
US8621266B2 (en) Nonvolatile memory system and related method of performing erase refresh operation
KR102222463B1 (ko) 저장 장치 및 그것의 타이머 설정 방법 및 구동 방법들
KR102277521B1 (ko) 저장 장치 및 그것의 리드 리클레임 및 읽기 방법
US20110320688A1 (en) Memory Systems And Wear Leveling Methods
US9977711B2 (en) Operation method of nonvolatile memory system
US9715341B2 (en) Operating a memory device using a program order stamp to control a read voltage
US9406392B2 (en) Memory system and a programming method thereof
KR20170003776A (ko) 저장 장치 및 그것의 가비지 컬렉션 방법
KR20120100247A (ko) 비휘발성 메모리 장치 및 그것의 읽기 방법
JP2014038687A (ja) 多様なメモリセル状態定義を有する不揮発性メモリ装置とそのプログラミング方法及び動作方法並びにこれを備えたメモリシステム
KR20140101617A (ko) 메모리 시스템
KR20200126533A (ko) 메모리 시스템 및 그의 온도 조절 방법
KR20140121159A (ko) 멀티 레벨 셀 메모리 시스템
KR20160052277A (ko) 반도체 장치 및 이의 동작 방법
KR20200035630A (ko) 메모리 시스템 및 그것의 동작방법
US11868645B2 (en) Memory device, storage device including the same and method of operating the storage device
KR20200113990A (ko) 메모리 시스템 내 메모리 장치의 동작 상태를 확인하는 방법 및 장치

Legal Events

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