KR20150099218A - 플래시 메모리 시스템 및 플래시 메모리 시스템의 제어 방법 - Google Patents

플래시 메모리 시스템 및 플래시 메모리 시스템의 제어 방법 Download PDF

Info

Publication number
KR20150099218A
KR20150099218A KR1020140020813A KR20140020813A KR20150099218A KR 20150099218 A KR20150099218 A KR 20150099218A KR 1020140020813 A KR1020140020813 A KR 1020140020813A KR 20140020813 A KR20140020813 A KR 20140020813A KR 20150099218 A KR20150099218 A KR 20150099218A
Authority
KR
South Korea
Prior art keywords
memory device
controller
parameter
read
flash memory
Prior art date
Application number
KR1020140020813A
Other languages
English (en)
Other versions
KR102244618B1 (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 KR1020140020813A priority Critical patent/KR102244618B1/ko
Priority to US14/602,464 priority patent/US9535620B2/en
Publication of KR20150099218A publication Critical patent/KR20150099218A/ko
Application granted granted Critical
Publication of KR102244618B1 publication Critical patent/KR102244618B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50004Marginal testing, e.g. race, voltage or current testing of threshold voltage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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
    • G11C2029/0409Online test

Abstract

본 발명의 일 실시예에 따른, 플래시 메모리 시스템은 온도 정보를 기초로 데이터 신뢰성과 관련되는 적어도 하나의 파라미터를 결정하고, 상기 파라미터를 기초로 하는 제어신호을 생성하는 컨트롤러; 하나 이상의 메모리 셀 어레이를 포함하고, 상기 컨트롤러로부터 수신된 리드명령에 대응하는 리드 데이터를 상기 컨트롤러에 제공하는 메모리 장치를 포함할 수 있다.

Description

플래시 메모리 시스템 및 플래시 메모리 시스템의 제어 방법{Flash memory device and controlling method of flash memory device}
본 발명은 플래시 메모리 시스템에 관한 것으로, 특히 온도에 따라서 메모리 어레이를 제어하는 메모리 컨트롤러를 포함하는 플래시 메모리 시스템에 관한 것이다.
플래시 메모리 시스템은 고집적화의 요구에 따라 스케일링 다운(scaling down)되고, 각 메모리 셀에 저장되는 비트의 수가 증가되고 있다. 또한, 메모리 장치 또는 메모리 시스템에서 처리가 요구되는 데이터의 양이 증가되고 있다. 이에 따라 데이터 처리에 대한 속도 향상 요구에 따라서, 메모리 장치 또는 메모리 시스템에서의 동작의 신뢰성이 중요시 되고 있다.
본 발명이 이루고자 하는 기술적 과제는, 저장된 데이터 및 리드된 데이터의 신뢰성을 향상시킬 수 있는 플래시 메모리 시스템 및 플래시 메모리 시스템의 제어 방법들을 제공하는 데 있다.
본 발명의 일 실시예에 따른, 플래시 메모리 시스템은 온도 정보를 기초로 데이터 신뢰성과 관련되는 적어도 하나의 파라미터를 결정하고, 상기 파라미터를 기초로 하는 제어신호을 생성하는 컨트롤러; 하나 이상의 메모리 셀 어레이를 포함하고, 상기 컨트롤러로부터 수신된 리드명령에 대응하는 리드 데이터를 상기 컨트롤러에 제공하는 메모리 장치를 포함할 수 있다.
예를 들어, 상기 파라미터은 상기 메모리 장치에 포함된 제1 블록에 대한 리드(read) 카운트의 한계값이고, 상기 제어신호는 상기 제1 블록에 대한 리프레쉬 명령 신호인 것을 특징으로 할 수 있다.
예를 들어, 상기 파라미터는 상기 메모리 장치에 포함된 제2 블록에 대한 에러(error) 카운트의 한계값이고, 상기 제어신호는 상기 제2 블록에 대한 리클레임 명령 신호인 것을 특징으로 할 수 있다.
예를 들어, 상기 파라미터는 상기 메모리 장치에 포함된 제1 페이지에 대한 이터레이션(iteration) 카운트의 한계값이고, 상기 제어신호는 상기 제1 페이지에 대한 에러 결정 신호인 것을 특징으로 할 수 있다.
예를 들어, 상기 온도 정보는 상기 컨트롤러 외부에서 수신하거나, 상기 컨트롤러 내부에서 생성 할 수 있다.
예를 들어, 상기 에러 정정부는 상기 온도 정보에 기초하여, 룩업테이블(Look-up table)을 참조하여, 상기 파라미터를 생성 할 수 있다.
예를 들어, 상기 에러 정정부는 상기 온도 정보에 기초하여, 미리 정해진 다항식을 통하여 상기 파라미터를 생성 할 수 있다.
예를 들어, 상기 메모리 장치는 싱글 레벨 셀(SLC)을 포함하는 메모리 셀 어레이 또는 멀티 레벨 셀(MLC)을 포함하는 메모리 셀 어레이를 포함 할 수 있다.
예를 들어, 상기 메모리 장치는 멀티 레벨 셀(MLC)을 포함하는 메모리 셀 어레이를 포함하고, 상기 파라미터는 하나의 워드라인에 연결된 n개의 페이지 중에서 몇 번째 페이지에 해당하는지에 따라서 다른 값을 갖는 것을 특징으로 할 수 있다.
예를 들어, 상기 파라미터는 상기 메모리 장치에 포함된 제1 페이지에 대한 리드 전압(Read Voltage) 값이고, 상기 제어신호는 상기 제1 페이지에 대한 리드 명령인 것을 특징으로 할 수 있다.
예를 들어, 상기 컨트롤러와 상기 메모리 장치는 하나의 칩에 포함되거나, 각각 별개의 칩에 포함될 수 있다.
본 발명의 다른 실시예에 따른 컨트롤러와 메모리 장치를 포함하는 플래시 메모리 시스템의 제어 방법은 온도 정보를 기초로 적어도 하나의 데이터 신뢰성과 관련되는 적어도 하나의 파라미터를 결정하는 단계; 상기 파라미터을 기초로 하는 제어신호을 생성하는 단계; 상기 제어 신호에 대응하는 리드 명령을 생성하는 단계; 상기 리드 명령에 대응하는 리드 데이터를 리드하는 단계를 포함할 수 있다.
예를 들어, 상기 파라미터은 상기 메모리 장치에 포함된 제1 블록에 대한 리드(read) 카운트의 한계값이고, 상기 제어신호는 상기 제1 블록에 대한 리프레쉬 명령 신호인 것을 특징으로 할 수 있다.
예를 들어, 상기 파라미터는 상기 메모리 장치에 포함된 제2 블록에 대한 에러(error) 카운트의 한계값이고, 상기 제어신호는 상기 제2 블록에 대한 리클레임 명령 신호인 것을 특징으로 할 수 있다.
예를 들어, 상기 파라미터는 상기 메모리 장치에 포함된 제1 페이지에 대한 이터레이션(iteration) 카운트의 한계값이고, 상기 제어신호는 상기 제1 페이지에 대한 에러 결정 신호인 것을 특징으로 할 수 있다.
상술한 본 발명의 플래시 메모리 시스템 및 플래시 메모리 시스템의 제어 방법에 의하면 저장된 데이터 및 리드된 데이터의 신뢰성을 향상시킬 수 있다.
도 1은 본 개시의 다양한 실시예들에 따른 플래시 메모리 시스템(100)의 구성을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 컨트롤러(110)에서 온도에 따라서 데이터 신뢰성과 관련되는 카운트 한계값(RD_th, ERR_th, ITR_th)을 결정할 때 참조할 수 있는 테이블을 예시적으로 도시한다.
도 3은 본 발명의 일 실시예에 따른 컨트롤러(110)에서 온도에 따라서 리드 카운트 한계값(RD_th)를 정하여 리프레쉬 명령을 생성하는 과정을 도시하는 흐름도이다.
도 4은 본 발명의 일 실시예에 따른 컨트롤러(110)에서 온도에 따라서 에러 카운트 한계값(ERR_th)를 정하여 리프레쉬 명령을 생성하는 과정을 도시하는 흐름도이다.
도 5은 본 발명의 일 실시예에 따른 컨트롤러(110)에서 온도에 따라서 이터레이션 한계값(ITR_th)를 정하여 하드 디시젼 소프트 디시젼 수행시 재설정된 이터레이션 한계값을 사용하는 과정을 도시하는 흐름도이다.
도 6은 본 개시의 다양한 실시예들에 따른 플래시 메모리 시스템(200)의 구성을 보여주는 도면이다.
도 7은 본 개시의 다양한 실시예들에 따른 플래시 메모리 시스템(300)의 구성을 보여주는 도면이다.
도 8는 본 발명의 일 실시예에 따른 메모리 시스템을 설명하기 위한 블록도이다.
도 9a 내지 도 9c는 프로그램 동작에 의해 플래시 메모리의 각 셀에 형성된 문턱 전압 분포를 예시적으로 보여주는 도면들이다.
도 10은 본 발명의 다양한 실시예들에 따른 플래시 메모리 제어 방법들을 설명하기 위한 인접한 데이터 상태들을 보여주는 도면이다.
도 11a 및 도 11b는 본 발명의 다양한 실시예들에 따른 플래시 메모리 읽기 방법에 이용되는 LDPC 디코딩 방법을 설명하는 도면이다.
도 12은 본 발명의 몇몇 실시예들에 따른 리클레임 또는 리프레쉬을 설명하는 개념도이다.
도 13는 본 발명의 다양한 실시예들에 따른 플래시 메모리 읽기 방법을 채용하는 컴퓨팅 시스템을 설명하는 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
반도체 메모리 장치는 DRAM, SRAM등과 같은 휘발성 메모리 장치와 EEPROM, FRAM, PRAM, MRAM, 플래시 메모리 등과 같은 불휘발성 메모리 장치로 구분할 수 있다. 휘발성 메모리 장치는 전원이 차단되면 저장된 데이터를 잃지만, 불휘발성 메모리 장치는 전원이 차단되더라도 저장된 데이터를 보존할 수 있다. 특히, 플래시 메모리는 높은 프로그래밍 속도, 낮은 전력 소비, 대용량 데이터 저장 등의 장점을 가지기 때문에, 컴퓨터 시스템 등에서 저장 매체로 광범위하게 사용되고 있다.
플래시 메모리는 각각의 메모리 셀에 저장되는 비트 수에 따라서 각각의 메모리 셀에 저장 가능한 데이터 상태들이 결정될 수 있다. 하나의 메모리 셀에 1-비트 데이터를 저장하는 메모리 셀을 싱글 비트 셀(single-bit cell) 또는 싱글 레벨 셀(single-level cell: SLC)이라 한다. 그리고 하나의 메모리 셀에 멀티 비트 데이터(예를 들어, 2 비트 이상)를 저장하는 메모리 셀을 멀티 비트 셀(multi-bit cell), 멀티 레벨 셀(multi-level cell: MLC) 또는 멀티 스테이트 셀(multi-state cell)이라 한다.
도 1은 본 개시의 다양한 실시예들에 따른 플래시 메모리 시스템(100)의 구성을 보여주는 도면이다.
도 1을 참조하면, 플래시 메모리 시스템(100)은 컨트롤러(110) 및 메모리 장치(120)를 포함한다. 본 개시의 다양한 실시예에 따른 컨트롤러(110)는 판단부(130)을 더 포함한다.
컨트롤러(110)는 메모리 장치(120)로의 데이터의 기입(Write), 리드(Read) 하거나 메모리 장치(120)를 제어하여 메모리 장치(120)에 신뢰성이 향상된 데이터가 저장되도록 유지 관리 할 수 있다.
메모리 장치(120)는 싱글 레벨 셀(SLC)을 포함하는 메모리 셀 어레이 또는 멀티 레벨 셀(MLC)을 포함하는 메모리 셀 어레이를 포함할 수 있다. 메모리 장치(120)는 단층 어레이 구조(single-layer array structure)(또는, 2차원 어레이 구조라고 불림) 또는 다층 어레이 구조(multi-layer array structure)(또는, 3차원 어레이 구조라고 불림)로 구현될 수 있다.
이하 플래시 메모리 시스템(100)의 예시적인 동작에 대해서 리드 동작을 중심으로 설명한다. 컨트롤러(110)는 호스트의 요청에 응답하여 노말 리드 명령(RCMD_N)을 메모리 장치(120)에 인가할 수 있다. 노말 리드 명령(RCMD_N)은 노말 리드 전압(NRV)의 전압 레벨에 대한 정보 및 리드하고자 하는 비휘발성 메모리 셀들에 대한 제1 어드레스(Addr1)를 포함할 수 있다. 여기서, 노말 리드 전압(NRV)의 전압 레벨은 온도 정보(T_info)에 기초하여 변경될 수 있다. 제1 어드레스(Addr1)가 지정하는 페이지가 예를 들어 제1 블록에 포함되는 경우, 제1 블록에 대한 리드 카운트가 증가할 수 있다. 컨트롤러(110)는 제1 블록에 대한 리드 카운트와 리드 카운트 한계값를 비교하여 리드 카운트가 리드 카운트의 한계값 이상인 경우에는 제1 블록에 대한 리프레쉬 명령이 생성할 수 있다.
여기서, 노말 리드 명령(RCMD_N) 및 노말 리드 전압(NRV)은 소프트 디시젼 명령(RCMD_S) 및 이에 대한 전압(HRV1, SRV1a, SRV1b)과 달리, 각각, 리드하고자 하는 메모리 장치(120)의 비휘발성 메모리 셀들에 에러가 존재하지 않거나 일반적인 ECC 동작으로 에러가 정정될 수 있는 것이 전제된 경우에 대해 설정된 리드 명령 및 리드 전압일 수 있다.
메모리 장치(120)는 노말 리드 명령(RCMD_N)에 응답하여 제1 리드 데이터(RDTA_1)를 출력한다. 예를 들어, 메모리 장치(120)는 노말 리드 명령(RCMD_N)에 포함되거나 별도의 제어 신호에 의해 제공되는 노말 리드 전압(NRV)을 제1 어드레스(Addr1)에 대응되는 워드 라인에 인가하여 리드되는 비휘발성 메모리 셀들을 제1 리드 데이터(RDTA_1)로 출력할 수 있다.
컨트롤러(110)는 에러 정정 코드를 이용하여, 제1 리드 데이터(RDTA_1)에 에러가 존재하는지 또는 에러가 존재한다면 정정되는지 여부를 판단할 수 있다. 컨트롤러(110)가 이터러티브 코드(Iterative Code)를 이용하는 경우, 여러 번의 이터레이션(Iteration)에 의하여 에러 정정을 시행 할 수 있다. 이러한 경우, 각각의 이터레이션 마다 제1 이터레이션 카운트를 증가시킬 수 있다. 컨트롤러(110)는 제1 이터레이션 카운트가 제1 이터레이션 카운트 한계값 이상인 경우, 제1 어드레스(Addr1)에 대응하는 데이터를 에러가 존재하는 것으로 처리할 수 있다. 이터레이션에 대한 자세한 설명은 도 11a 및 도 11b를 참조한다.
제1 리드 데이터(RDTA_1)에 에러가 존재하고 정정되지 아니하는 경우, 컨트롤러(110)는 소프트 디시젼 명령(RCMD_S)을 메모리 장치(120)에 전송할 수 있다. 컨트롤러(110)는 제1 리드 데이터(RDTA_1)에 에러가 존재하는 것으로 판단된 경우, 에러 카운트를 증가 시킬 수 있다. 컨트롤러(110)는 에러 카운트가 에러 카운트 한계값 이상인 경우, 리클레임 명령을 생성할 수 있다.
메모리 장치(120)는 소프트 디시젼 명령(RCMD_S)에 응답하여 제1 어드레스(Addr1)에 대응되는 워드 라인에 각각, 제1 하드 리드 전압(HRV1), 제1 소프트 리드 전압(SRV1a) 및 제2 소프트 리드 전압(SRV1b)을 순차적으로 인가하여, 제2 리드 데이터(RDTA_2)를 생성할 수 있다. 여기서, 제1 소프트 리드 전압(SRV1a) 및 제2 소프트 리드 전압(SRV1b)의 전압 레벨은 온도 정보(T_info)에 기초하여 변경될 수 있다.
제1 하드 리드 전압(HRV1)에 대해 하나의 쌍을 이루는 제1 소프트 리드 전압(SRV1a) 및 제2 소프트 리드 전압(SRV1b)은 각각, 제1 하드 리드 전압(HRV1)의 전압 레벨과 제1 전압 값(△V1) 및 제2 전압 값(△V2)만큼 차이가 나는 전압 레벨을 갖을 수 있다. 예를 들어, 제1 소프트 리드 전압(SRV1a)은 제1 하드 리드 전압(HRV1)보다 제1 전압 값(△V1) 만큼 작은 전압 레벨을 가질 수 있고, 제2 소프트 리드 전압(SRV1b)은 제1 하드 리드 전압(HRV1)보다 제2 전압 값(△V2)만큼 높은 전압 레벨을 가질 수 있다.
컨트롤러(110)는 에러 정정 코드를 이용하여, 제2 리드 데이터(RDTA_2)에 에러가 존재하는지 또는 에러가 존재한다면 정정되는지 여부를 판단할 수 있다. 컨트롤러(110)가 이터러티브 코드(Iterative Code)를 이용하는 경우, 여러 번의 이터레이션(Iteration)에 의하여 에러 정정을 시행 할 수 있다. 이러한 경우, 각각의 이터레이션 마다 제2 이터레이션 카운트를 증가시킬 수 있다. 컨트롤러(110)는 이터레이션 카운트가 제2 이터레이션 카운트 한계값 이상인 경우, 제1 어드레스(Addr1)에 대응하는 페이지의 데이터를 에러가 존재하는 것으로 처리할 수 있다.
또한, 컨트롤러(110)는 제2 리드 데이터(RDTA_2)에 에러가 존재하는 것으로 판단된 경우, 에러 카운트를 증가 시킬 수 있다. 컨트롤러(110)는 에러 카운트가 에러 카운트 한계값 이상인 경우, 리클레임 명령을 생성할 수 있다.
지금까지 설명한 메모리 시스템(100)의 예시적인 동작은 다양한 적용 애플리케이션에 따라서 다양하게 변경될 수 있으며, 이는 권리범위를 제한하지 않는다.
본 발명의 일 실시예에 따른 컨트롤러(110)는 판단부(130)를 더 포함한다. 판단부(130)는 온도 정보(T_info)에 기초하여 데이터 신뢰성과 관련되는 적어도 하나의 파라미터(예를 들어 RD_th, ERR_th, ITR_th 등의 카운트 한계값 또는 NRV HRV1, SRV1a, SRV1b 등의 리드전압)을 결정할 수 있다.
데이터 신뢰성과 관련되는 적어도 하나의 파라미터는 데이터의 신뢰성을 확보하기 위한 제어동작에 대한 파라미터를 의미할 수 있다. 예를 들어, 데이터 신뢰성과 관련되는 적어도 하나의 파라미터는 데이터의 신뢰성을 확보하기 위한 제어동작에 대한 카운트 한계값(RD_th, ERR_th, ITR_th)을 의미할 수 있다.
예를 들어, 데이터 신뢰성과 관련되는 적어도 하나의 파라미터는 메모리 장치(120)에 포함된 제1 블록에 대한 리드(read) 카운트의 한계값(RD_th)일 수 있다. 예를 들어, 온도가 증가하는 경우, 리드(read) 카운트의 한계값(RD_th)은 증가하거나 또는 감소할 수 있다. 예를 들어, 온도가 감소하는 경우, 리드(read) 카운트의 한계값(RD_th)은 증가하거나 또는 감소할 수 있다.
리드 카운트는 예를 들어, 컨트롤러(110)가 메모리 장치(120)에 포함되는 제1 블록(BLK_1)에 대해서 생성하는 노말 리드 명령(RCMD_N)의 생성 회수를 의미할 수 있다. 리드 카운트는 예를 들어, 컨트롤러(110)가 제1 블록(BLK_1)에 포함되는 복수의 페이지 중에서 어느 하나의 페이지에 대해서 생성하는 노말 리드 명령(RCMD_N)의 생성 회수를 의미할 수 있다.
리드 카운트는 예를 들어, 컨트롤러(110)가 생성하는 소프트 디시젼 명령(RCMD_S)의 생성 회수를 의미할 수 있다. 리드 카운트는 예를 들어, 컨트롤러(110)가 제1 블록(BLK_1)에 포함되는 복수의 페이지 중에서 어느 하나의 페이지에 대해서 생성하는 소프트 디시젼 명령(RCMD_S)의 생성 회수를 의미할 수 있다.
컨트롤러(110)는 제1 블록(BLK_1)에 대한 리드 카운트가 한계값(RD_th) 이상이 되는 경우, 제1 블록(BLK_1)에 저장된 데이터를 제2 블록(BLK_2)으로 옮겨서 저장할 수 있다. 예를 들어, 컨트롤러(110)는 제1 블록(BLK_1)에 대한 리드 카운트가 한계값(RD_th) 이상이 되는 경우, 제1 블록(BLK_1)에 대하여 리프레쉬 명령 신호를 생성할 수 있다.
예를 들어, 데이터 신뢰성과 관련되는 적어도 하나의 파라미터는 메모리 장치(120)에 포함된 제1 블록에 대한 에러(error) 카운트의 한계값(ERR_th)일 수 있다. 예를 들어, 온도가 증가하는 경우, 에러(error) 카운트의 한계값(ERR_th)은 증가하거나 또는 감소할 수 있다. 예를 들어, 온도가 감소하는 경우, 에러(error) 카운트의 한계값(ERR_th)은 증가하거나 또는 감소할 수 있다.
에러 카운트는 예를 들어, 컨트롤러(110)가 메모리 장치(120)에 포함되는 제1 블록(BLK_1)에 대해서 생성하는 노말 리드 명령(RCMD_N)에 대응하여 수신한 데이터의 에러 비트의 개수를 의미할 수 있다.
에러 카운트는 예를 들어, 컨트롤러(110)가 제1 블록(BLK_1)에 포함되는 복수의 페이지 중에서 어느 하나의 페이지에 대해서 생성하는 노말 리드 명령(RCMD_N) 대응하여 수신한 데이터의 에러 비트의 개수를 의미할 수 있다.
에러 카운트는 예를 들어, 컨트롤러(110)가 생성하는 소프트 디시젼 명령(RCMD_S)에 대응하여 수신한 데이터의 에러 비트의 개수를 의미할 수 있다. 리드 카운트는 예를 들어, 컨트롤러(110)가 제1 블록(BLK_1)에 포함되는 복수의 페이지 중에서 어느 하나의 페이지에 대해서 생성하는 소프트 디시젼 명령(RCMD_S)에 대응하여 수신한 데이터의 에러 비트의 개수를 의미할 수 있다.
컨트롤러(110)는 제1 블록(BLK_1)에 대한 에러 카운트가 한계값(ERR_th) 이상이 되는 경우, 제1 블록(BLK_1)에 저장된 데이터를 제2 블록(BLK_2)으로 옮겨서 저장할 수 있다. 예를 들어, 컨트롤러(110)는 제1 블록(BLK_1)에 대한 에러 카운트가 한계값(ERR_th) 이상이 되는 경우, 제1 블록(BLK_1)에 대하여 리클레임 명령 신호를 생성할 수 있다.
예를 들어, 데이터 신뢰성과 관련되는 적어도 하나의 파라미터는 메모리 장치(120)에 포함된 제1 페이지에 대한 이터레이션(iteration) 카운트의 한계값(ITR_th)일 수 있다. 예를 들어, 온도가 증가하는 경우, 이터레이션(iteration) 카운트의 한계값(ITR_th)은 증가하거나 또는 감소할 수 있다. 예를 들어, 온도가 감소하는 경우, 이터레이션(iteration) 카운트의 한계값(ITR_th)은 증가하거나 또는 감소할 수 있다.
이터레이션(iteration) 카운트는 예를 들어, 컨트롤러(110)가 제1 블록(BLK_1)에 포함되는 복수의 페이지 중에서 어느 하나의 페이지에 대해서 생성하는 노말 리드 명령(RCMD_N) 또는 소프트 디시젼 명령(RCMD_S)에 대응하여 실행되는 이터러티브 코드(iterative code)에서의 이터레이션(iteration)의 횟수를 의미할 수 있다. 이에 대한 자세한 설명은 후술한다.
예를 들어, 데이터 신뢰성과 관련되는 적어도 하나의 파라미터는 예를 들어 리드전압(NRV HRV1, SRV1a, SRV1b)을 의미할 수 있다. 예를 들어, 온도가 증가하는 경우, 리드전압(NRV HRV1, SRV1a, SRV1b)은 증가하거나 또는 감소할 수 있다. 예를 들어, 온도가 감소하는 경우, 리드전압(NRV HRV1, SRV1a, SRV1b)은 증가하거나 또는 감소할 수 있다.
본 발명의 일 실시예에 따른 컨트롤러(110)는 온도 정보(T_info)에 기초하여 데이터 신뢰성과 관련되는 적어도 하나의 파라미터를 결정하므로, 온도 변화에 대응하여 데이터의 신뢰성을 크게 확보할 수 있다.
본 발명의 일 실시예에 따른 컨트롤러(110)는 온도 정보(T_info)에 기초하여 데이터 신뢰성과 관련되는 적어도 하나의 파라미터를 결정하는 경우, 온도 정보는 컨트롤러의 외부에서 수신하거나, 컨트롤러의 내부에서 생성할 수 있다.
본 발명의 일 실시예에 따른 컨트롤러(110)는 온도 정보(T_info)에 기초하여 데이터 신뢰성과 관련되는 적어도 하나의 파라미터를 결정하는 경우, 도 2에 도시된 바와 같은 룩업테이블(Look-up table)을 참조하여, 상기 파라미터를 생성할 수 있다.
본 발명의 일 실시예에 따른 컨트롤러(110)는 온도 정보(T_info)에 기초하여 데이터 신뢰성과 관련되는 적어도 하나의 파라미터를 결정하는 경우, 미리 정해진 다항식을 통하여 상기 파라미터를 생성할 수 있다.
본 발명의 일 실시예에 따른 메모리 장치(120)가 멀티 레벨 셀(MLC)을 포함하는 메모리 셀 어레이를 포함하는 경우, 컨트롤러(110)는 하나의 워드라인에 연결된 n개의 페이지 중에서 몇 번째 페이지에 해당하는지에 따라서 다른 값을 갖도록 파라미터를 결정할 수 있다.
예를 들어, 메모리 장치(120)가 멀티 레벨 셀(MLC)을 포함하는 메모리 셀 어레이를 포함하는 경우, 컨트롤러(110)는 MSB(Most Significant Bit) 페이지인지 여부에 따라서 또는 LSB(Least Significant Bit) 페이지인지 여부에 따라서 다른 값을 갖도록 파라미터를 결정할 수 있다.
예를 들어, 메모리 장치(120)가 3비트(bit) 멀티 레벨 셀(MLC)을 포함하는 메모리 셀 어레이를 포함하는 경우, 컨트롤러(110)는 CSB(Central Significant Bit) 페이지인지 여부에 따라서 다른 값을 갖도록 파라미터를 결정할 수 있다.
도 2는 본 발명의 일 실시예에 따른 컨트롤러(110)에서 온도에 따라서 데이터 신뢰성과 관련되는 파라미터(예를 들어, RD_th, ERR_th, ITR_th 등의 카운트 한계값)를 결정할 때 참조할 수 있는 테이블을 예시적으로 도시한다.
도 2를 참조하면, 예를 들어, 메모리 장치(120)에 포함되는 메모리 셀 어레이가 싱글 레벨 셀인 경우와 멀티 레벨 셀인 경우를 구분하여 파라미터(예를 들어 RD_th, ERR_th, ITR_th 등의 카운트 한계값)가 정해질 수 있다. 또한, 예를 들어, 멀티 레벨 셀인 경우에, LSB(Least Significant Bit) 페이지에 속하는지, MSB(Most Significant Bit) 페이지에 속하는지에 따라서 구분하여 파라미터(예를 들어 RD_th, ERR_th, ITR_th 등의 카운트 한계값)가 정해질 수 있다. 또한, 예를 들어, 3bit 멀티 레벨 셀인 경우에 CSB(Least Significant Bit) 페이지에 속하는지에 따라서 구분하여 파라미터(예를 들어 RD_th, ERR_th, ITR_th 등의 카운트 한계값)가 정해질 수 있다. 즉, 멀티 레벨 셀인 경우에 동일한 워드라인에 연결된 n개의 페이지 중에서 몇 번째 페이지에 해당하는지에 따라서 다른 값을 갖을 수 있다. 또한, 10개의 온도 구간으로 나누어서 구분하여 파라미터(예를 들어 RD_th, ERR_th, ITR_th 등의 카운트 한계값)가 정해질 수 있다. 한편, 이러한 구분은 예시적인 것으로 실시예에 따라서 다양한 방법으로 구분이 가능하다.
판단부(도 1의 130)는 온도 정보를 수신하여, 각각의 상황에 맞는 계수값을 선택하고, 선택된 계수값에 따라서 파라미터(예를 들어 RD_th, ERR_th, ITR_th 등의 카운트 한계값)를 결정할 수 있다.
도 3은 본 발명의 일 실시예에 따른 컨트롤러(110)에서 온도에 따라서 리드 카운트 한계값(RD_th)를 정하여 리프레쉬 명령을 생성하는 과정을 도시하는 흐름도이다.
도 1 및 도 3을 참조하면, 컨트롤러(110)는 온도 정보(T_info)를 수신한다(S110). 컨트롤러(110)에 포함된 판단부(130)는 온도 정보에 따라서 미리 정해진 다항식을 통하여 또는 룩업테이블(Look-Up Table)을 참조하여 리드 카운트 한계값(RD_th)을 설정할 수 있다(S130).
제1 블록에 대한 리드 명령이 생성되면(S140), 리드 카운트를 증가시킬 수 있다(S150). 리드 카운트가 증가하여 리드 카운트 한계값보다 커진다면(S160), 컨트롤러(110)는 제1 블록에 대한 리프레쉬를 수행한다(S170).
도 4은 본 발명의 일 실시예에 따른 컨트롤러(110)에서 온도에 따라서 에러 카운트 한계값(ERR_th)를 정하여 리프레쉬 명령을 생성하는 과정을 도시하는 흐름도이다.
도 1 및 도 4을 참조하면, 컨트롤러(110)는 온도 정보(T_info)를 수신한다(S210). 컨트롤러(110)에 포함된 판단부(130)는 온도 정보에 따라서 미리 정해진 다항식을 통하여 또는 룩업테이블(Look-Up Table)을 참조하여 에러 카운트 한계값(ERR_th)을 설정할 수 있다(S230).
제1 블록에 대한 리드 명령 에러가 발생하면(S240), 에러 비트수만큼 에러 카운트를 증가시킬 수 있다(S250). 에러 카운트가 증가하여 에러 카운트 한계값보다 커진다면(S260), 컨트롤러(110)는 제1 블록에 대한 리클레임을 수행한다(S270).
도 5은 본 발명의 일 실시예에 따른 컨트롤러(110)에서 온도에 따라서 이터레이션 한계값(ITR_th)를 정하여 하드 디시젼 소프트 디시젼 수행시 재설정된 이터레이션 한계값을 사용하는 과정을 도시하는 흐름도이다.
도 1 및 도 5을 참조하면, 컨트롤러(110)는 온도 정보(T_info)를 수신한다(S310). 컨트롤러(110)에 포함된 판단부(130)는 온도 정보에 따라서 미리 정해진 다항식을 통하여 또는 룩업테이블(Look-Up Table)을 참조하여 에러 카운트 한계값(ERR_th)을 설정할 수 있다(S330).
제1 블록에 대한 리드 명령이 생성되면(S340), 하드 디시젼 또는 소프트 디시젼 수행시 재설정된 이터레이션 한계값을 사용하게 된다(S350). 여기서, 이터레이션 한계값(ITR_th)은 하드 디시젼 또는 소프트 디시젼에 대하여 각각 별개로 설정될 수 있다.
도 6은 본 개시의 다양한 실시예들에 따른 플래시 메모리 시스템(200)의 구성을 보여주는 도면이다.
도 6을 참조하면, 플래시 메모리 시스템(200)은 컨트롤러(210) 및 메모리 장치(220)를 포함한다. 본 개시의 다양한 실시예에 따른 컨트롤러(210)는 판단부(230)을 포함한다.
본 발명의 일 실시예에 따른 컨트롤러(210)는 온도 측정부(240)를 더 포함한다. 온도 측정부(240)는 컨트롤러(210) 내의 온도를 측정하여 판단부(230)에 제공한다. 판단부(230)는 온도 측정부(240)로부터 수신한 온도 정보(T_info)에 대응하는 파라미터(예를 들어 RD_th, ERR_th, ITR_th 등의 카운트 한계값 또는 NRV HRV1, SRV1a, SRV1b 등의 리드전압)를 결정할 수 있다.
판단부(230)는 온도 정보(T_info)에 기초하여 데이터 신뢰성과 관련되는 적어도 하나의 파라미터를 결정할 수 있다. 예를 들어, 파라미터는 메모리 장치(220)에 포함된 제1 블록에 대한 리드(read) 카운트의 한계값(RD_th)일 수 있다. 예를 들어, 파라미터는 메모리 장치(220)에 포함된 제1 블록에 대한 에러(error) 카운트의 한계값(ERR_th)일 수 있다. 예를 들어, 파라미터는 메모리 장치(220)에 포함된 제1 페이지에 대한 이터레이션(iteration) 카운트의 한계값(ITR_th)일 수 있다. 예를 들어, 파라미터는 메모리 장치(220)에 포함된 제1 페이지에 대한 리드 전압(NRV HRV1, SRV1a, SRV1b) 일 수 있다.
본 실시예에 따른 컨트롤러(210)는 온도 측정부(240)를 내부에 포함하여, 외부에서 온도 정보(T_info)를 수신하지 않고, 데이터의 신뢰성을 확보할 수 있다.
도 7은 본 개시의 다양한 실시예들에 따른 플래시 메모리 시스템(300)의 구성을 보여주는 도면이다.
도 7을 참조하면, 플래시 메모리 시스템(300)은 컨트롤러(310) 및 메모리 장치(320)를 포함한다. 본 개시의 다양한 실시예에 따른 메모리 장치(320)는 셀어레이(350) 및 컨트롤 로직(360)을 포함할 수 있다. 또한 컨트롤 로직(360)은 판단부(330)를 포함할 수 있다.
본 발명의 일시예에 따른 메모리 장치(320)는 컨트롤 로직(360)을 포함하여 온도 정보(T_info)에 따라서, 파라미터(예를 들어, 카운트 한계값 RD_th, ERR_th, ITR_th)를 생성할 수 있다. 생성된 파라미터(예를 들어, 카운트 한계값 RD_th, ERR_th, ITR_th)는 적용되는 실시예에 따라서 컨트롤 로직(360)에서 사용할 수 있고, 컨트롤러(310)로 전송되어 컨트롤러(310)에서 사용할 수 있다.
도 8는 본 발명의 일 실시예에 따른 메모리 시스템을 설명하기 위한 블록도이다.
도 8를 참조하면, 메모리 시스템(400)은 컨트롤러(410)와 비휘발성 메모리 장치(420)를 포함한다. 비휘발성 메모리 장치(420)로 낸드 플래시 메모리 장치를 예로 들었으나, 이에 한정되는 것은 아니다. 비휘발성 메모리 장치(420)는 다수의 낸드 플래시 메모리 장치를 포함할 수 있다. 비휘발성 메모리 장치(420)는 평면 구조의 메모리 셀 구조 및 적층으로 형성된 3차원 메모리 셀 구조를 포함한다.
비휘발성 메모리 장치(420)는 셀 어레이(422), X-decoder(행선택회로, 421), 전압발생회로(425), 입출력 패드(Input/output pad, 427) 입출력 버퍼(Input output buffer, 424), 페이지 버퍼(423), 컨트롤 로직(426)을 포함할 수 있다.
셀 어레이(422)는 다수의 워드라인(W/L)과 다수의 비트라인(B/L)을 포함하며, 각 메모리 셀은 1-비트 데이터 또는 M-비트(멀티-비트) 데이터(M은 2 또는 그 보다 큰 자연수)를 저장할 수 있다. 각 메모리 셀은 플로팅 게이트 또는 전하 트랩층과 같은 전하 저장층을 갖는 메모리 셀 또는 가변 저항 소자를 갖는 메모리 셀로 구현될 수 있다.
셀 어레이(422)는 다수의 블록 및 다수의 페이지를 포함 할 수 있다. 하나의 블록은 다수의 페이지를 포함한다. 페이지는 프로그램 및 리드 동작시 단위가 될 수 있으며, 블록은 이레이즈(erase) 동작의 단위가 될 수 있다. 리드는 하나의 페이지에 프로그램된 데이터를 리드하는 것이다.
셀 어레이(422)는 단층 어레이 구조(single-layer array structure) 또는 다층 어레이 구조(multi-layer array structure)로 구현될 수 있다.
컨트롤 로직(426)은 비휘발성 메모리 장치(420)의 동작을 전반적으로 제어한다. 컨트롤러(410)로부터 명령어(CMD)가 입력되면, 컨트롤 로직(426)은 명령어(CMD)를 해석을 하고 비휘발성 메모리 장치(420)가 해석된 명령어에 따른 동작, 예컨대 프로그램(program) 동작, 리드(read) 동작, 리드 리트라이(read retry) 동작, 이레이즈(erase) 동작 등을 수행 하도록 한다. 또한, 컨트롤 로직(426)은 열화된 페이지 정보를 저장하고, 열화된 페이지 개수를 카운트할 수 있다. 따라서, 컨트롤 로직(426)은 카운트된 열화된 페이지 개수의 정보를 저장할 수 있다.
X-디코더(421)는 컨트롤 로직(426)에 의해서 제어되며, 로우 어드레스에 따라 셀 어레이(422)에 구현된 다수의 워드 라인들 중에서 적어도 하나의 워드 라인을 구동한다.
전압발생회로(425)는 컨트롤 로직(426)의 제어에 따라 프로그램 동작, 제1 리드 동작, 제2 리드 동작 또는 이레이즈 동작에 필요한 적어도 하나의 전압을 생성하고, X-디코더(421)에 의하여 선택된 적어도 하나로 생성된 적어도 하나의 전압을 공급한다.
레지스터(428)는 컨트롤러(410)로부터 입력되는 정보들을 저장하는 공간이며, 다수의 래치(latch)들을 포함할 수 있다. 예를 들어, 레지스터(428)는 리드 전압 정보를 그룹핑하여 테이블로 형성한 정보를 저장할 수 있다.
페이지 버퍼(423)는 컨트롤 로직(426)에 의해서 제어되며, 동작 모드, 예컨대 리드 동작 또는 프로그램 동작에 따라 감지 증폭기로서 또는 라이트 드라이버로서 동작한다.
입출력 패드(427), 입출력 버퍼(424)는 외부 장치, 예컨대 컨트롤러(410) 또는 호스트와 비휘발성 메모리 장치(420)사이에서 주고 받는 데이터의 입출력 경로가 될 수 있다.
컨트롤러(410)는 마이크로프로세서(microprocessor, 411), 롬(ROM, 413), 램(RAM, 412), ECC 디코더(ECC decoder, 415), ECC 인코더(ECC encoder, 414), 메모리 인터페이스(416), 카운터(417), 버스(418)를 포함 할 수 있다. 컨트롤러(410)의 구성요소들(411, 412, 413, 414, 415, 416, 417)은 버스(418)를 통하여 서로 전기적으로 연결될 수 있다.
마이크로프로세서(411)는 컨트롤러(410)를 포함한 메모리 시스템(400)의 동작을 전반적으로 제어한다. 메모리 시스템(400)에 전원이 인가되면, 마이크로프로세서(411)는 롬(413)에 저장된 상기 메모리 시스템(400) 동작을 위한 펌웨어(firmware)를 램(412)상에서 구동시킴으로써 상기 메모리 시스템(400)의 전반적인 동작을 제어할 수 있다.
마이크로프로세서(411)는 도 1의 판단부(130)을 포함할 수 있다. 따라서, 마이크로프로세서(411)는 온도 정보(T_info)에 따라서, 파라미터(예를 들어, 카운트 한계값 RD_th, ERR_th, ITR_th 또는 리드전압)을 결정할 수 있다.
도 8에서 상기 메모리 시스템(400)의 구동 펌웨어 코드는 롬(413)에 저장되나 본 발명의 범위가 이에 한정되는 것은 아니다. 펌웨어 코드는 롬(413)이외의 다양한 비휘발성 메모리 장치(420)에 저장될 수도 있다. 따라서, 마이크로프로세서(411)의 제어 또는 개입이란, 마이크로프로세서(411)의 직접적 제어뿐만 아니라, 마이크로프로세서(411)에 의해서 구동되는 소프트웨어인 펌웨어의 간섭도 포함 할 수 있다.
램(412)은 버퍼(buffer)역할을 하는 메모리로, 호스트로부터 입력되는 최초 명령어, 데이터, 각종 변수들 또는 비휘발성 메모리 장치(420)로부터 출력되는 데이터들을 저장할 수 있다. 비휘발성 메모리 장치(420)로 입력되고 출력되는 데이터, 각종 파라미터 및 변수들을 저장할 수 있다.
메모리 인터페이스(416)는 컨트롤러(410)와 비휘발성 메모리 장치(420) 사이의 인터페이스를 수행할 수 있다. 메모리 인터페이스(416)는 비휘발성 메모리 장치(420)의 I/O 패드(427)와 연결되어 있으며, 데이터를 주고 받을 수 있다. 또한 메모리 인터페이스(416)는 비휘발성 메모리에 적합한 명령어를 형성하고 I/O 패드(427)에 비휘발성 메모리 장치(420)에 적합한 명령어를 제공할 수 있다. 메모리 인터페이스(416)는 비휘발성 메모리 장치(420)가 수행하고자 하는 명령어와 비휘발성 메모리 장치(420)의 주소(ADD)를 제공해 준다.
ECC 디코더(415) 및 ECC 인코더(414)는 에러 비트 정정을 수행한다. ECC 인코더(414)는 비휘발성 메모리 장치(420)로 제공되는 데이터의 오류 정정 인코딩을 하여, 패리티(parity) 비트가 부가된 데이터를 형성한다. 패리티 비트는 비휘발성 메모리 장치(420)에 저장될 수 있다.
ECC 디코더(415)는 출력된 데이터에 대하여 에러 정정 디코딩을 수행하고 수행 결과에 따라 상기 에러 정정 디코딩의 성공 여부를 판단하고, 판단 결과에 따라 지시 신호를 출력한다. 리드한 데이터는 ECC 디코더로 전송되고, ECC 디코더는 패리티(parity) 비트를 사용하여 데이터의 에러 비트를 정정 할 수 있다. 에러 비트 개수가 정정 가능한 에러 비트 한계치 이상 발생하면, ECC 디코더(415)는 에러 비트를 정정할 수 없고, 에러 정정 실패(fail)가 발생한다. ECC 인코더(414)와 ECC 디코더(415)는 LDPC(low density parity check) code, BCH code, turbo code, 리드-솔로몬 코드(Reed-Solomon code), convolution code, RSC(recursive systematic code), TCM(trellis-coded modulation), BCM(Block coded modulation) 등의 코디드 모듈레이션(coded modulation)을 사용하여 에러 정정을 할 수 있으며 이에 한정되는 것은 아니다.
ECC 인코더(414) 및 ECC 디코더(415)는 오류 정정을 위한 회로, 시스템 또는 장치를 모두 포함할 수 있다.
카운터(417)는 리드 명령을 카운트 할 수 있고, 에러 비트의 개수를 카운트 할 수 있다. 또한, 카운터(417)는 이터레이션의 회수를 카운트 할 수 있다.
메모리 인터페이스(416)는 비휘발성 메모리 장치(420)로 리드 명령어 및 어드레스를 제공한다. 비휘발성 메모리 장치(420)는 제공 받은 어드레스에 해당하는 제1 블록(BLK_1)의 페이지에 저장된 데이터를 리드한다. 리드한 데이터는 I/O 패드(427)를 통해서 ECC 디코더(415)로 제공된다. ECC 디코더(415)는 비휘발성 메모리 장치(420)로부터 제공받은 데이터의 에러 비트를 체크하고 에러 비트를 정정한다.
도 9a 내지 도 9c는 프로그램 동작에 의해 플래시 메모리의 각 셀에 형성된 문턱 전압 분포를 예시적으로 보여주는 도면들이다.
도 9a 를 참조하면, 예컨대 3-비트의 데이터가 프로그램된 메모리 셀의 문턱 전압은 8 레벨의 데이터 상태들(E, P1-P7) 중 어느 하나에 대응할 수 있다. 각각의 데이터 상태는 소정의 문턱 전압 윈도우(threshold voltage window)를 형성할 수 있다. 하나의 메모리 셀에는 3 비트의 데이터가 저장 가능하고, 각각의 비트는 여러 단계의 프로그램 동작을 통해 각각 독립적으로 프로그램될 수 있다. 예를 들면, 3-비트 MLC인 경우, 먼저 3-비트 중 1번째 비트(1st bit)(즉, 최하위 비트(Least Significant Bit: LSB)에 대한 프로그램이 수행될 수 있다. 그리고 나서, 2번째 비트 및 3번째 비트에 대한 프로그램이 순차적으로 수행될 수 있다.
플래시 메모리의 실제 구현에 있어서 각 데이터 상태의 문턱 전압 분포는 온도 변화에 의하여, 도 9b 및 도 9c에 도시된 바와 같이, 점선 표시 부분으로 변형될 수 있다. 도 9b는 초기 문턱 전압 분포(실선 표시)에 비해 저전압측이 퍼진 분포(점선 표시)를 나타내고, 도 9c는 고전압측이 퍼진 분포를 나타낸다. 이러한 현상은 온도의 변화량이 증가함에 따라 더욱 심각해질 것이다. 이러한 원인들로 인해 발생되는 에러들은 리플레쉬, 리클레임을 통하여 발생 가능성을 낮출 수 있을 것이다.
도 10은 본 발명의 다양한 실시예들에 따른 플래시 메모리 제어 방법들을 설명하기 위한 인접한 데이터 상태들을 보여주는 도면이다.
도 10을 참조하면, 메모리 셀에 프로그램된 데이터 상태들은 인접 데이터 상태들(Si, Si+1)와 소정의 전압 간격이 유지되어, 읽기 마진이 충분히 확보될 수 있어야 한다. 리드 기준 전압은 이상적인 데이터 상태들을 근거로 설정될 수 있다. 실선으로 표시된 이상적인 데이터 상태들(Si, Si+1)은 701로 표시된 기준 리드 전압에 의해서 구별될 수 있다. 기준 리드 전압(701)을 이용하여 수행되는 리드 동작을 하드 디시젼 리드 동작이라 한다. 기준 리드 전압(701)은 하드 디시젼 리드 전압이라 할 수 있다.
그러나, 각 데이터 상태들(Si, Si+1)는 온도의 변화에 의하여, 점선으로 표시된 바와 같이 이상적이지 못한 형태로 변형될 수 있다. 만일 실선으로 표시된 데이터 상태들(Si, Si+1)이 점선으로 표시된 것처럼 변화하게 되면, 하드 디시젼 리드 동작만을 이용하여 변화된 데이터 상태들(Si, Si+1)을 구별하는 게 어려워 진다. 이 경우, 변화된 데이터 상태들(Si, Si+1)의 구별은 소프트 디시젼 리드 동작을 통해 행해질 수 있다. 소프트 디시젼 리드 동작에 의해 획득된 신뢰성 데이터는 하드 디시젼 데이터와 함께 에러 정정 회로로 제공되어 변화된 데이터 상태들(Si, Si+1)이 가질 수 있는 에러를 정정하는데 사용될 수 있다. 소프트 디시젼 리드 동작은 기준 리드 전압(701)의 저전압측과 고전압측에 702와 703으로 표시된 제1 및 제2 소프트 디시젼 리드 전압들을 이용하여 수행될 수 있다.
도 11a 및 도 11b는 본 발명의 다양한 실시예들에 따른 플래시 메모리 읽기 방법에 이용되는 LDPC 디코딩 방법을 설명하는 도면이다.
도 11a을 참조하면, 태너 그래프(Tanner graph)로 불리는 이분(bipartite) 그래프를 이용하여 LDPC 디코딩을 수행할 수 있다. 태너 그래프는 변수 노드와 체크 노드로 구성될 수 있다. 변수 노드는 플래시 메모리로부터 읽혀진 데이터 비트, 즉, 코드워드에 대응하고, 체크 노드는 각각이 접속하는 변수 노드 사이의 패리티 검사 제약에 대응한다. LDPC 디코딩은 태너 그래프에서 메시지를 송수신하고 SPA (Sum Product Algorithm)을 이용하여 디코딩을 수행한다. 변수 노드와 체크 노드 사이의 메시지 교환의 1 왕복분을 "1 이터레이션"이라 칭한다.
충분한 디코딩 특성을 얻기 위하여, 도 11b에 도시된 바와 같이, 복수회의 이터레이션 처리가 필요하다. 복수회의 이터레이션 처리를 통하여, 노드 사이에 송수신되는 메시지 중 변수 노드로부터 체크 노드로의 메시지 계산과 체크 노드로부터 변수 노드로의 메시지 계산의 결과에 따라 수신된 데이터 비트를 추정할 수 있다.
그런데, LDPC 디코딩에서 이터레이션 회수 마다 메시지 계산에 소요되는 시간이 디코딩 시간에 영향을 미칠 수 있다. 특히, 데이터 판독시 메모리 셀의 문턱 전압 분포가 어느 데이터 상태에 존재하는 지 정확히 알기 어려운 경우, 설정된 복수회의 이터레이션대로 메시지 계산을 수행하는 것은 LDPC 디코딩 시간을 증가시킬 수 있다. 이에 따라 디코딩 효율이 떨어지는 문제점이 야기될 수 있다.
본 발명의 플래시 메모리 읽기 방법에서는 온도의 변동으로 인하여 메모리 셀의 문턱 전압이 시프트되는 경우 소프트 디시젼 디코딩의 이터레이션 경계값(ITR_th)를 작게 또는 크게 변경할 수 있다.
예를 들어, 온도가 증가되어 에러 정정의 가능성이 작아 지게 되는 경우, 소프트 디시젼 디코딩의 이터레이션 경계값(ITR_th)를 보다 작게하여 빠른 디코딩을 구현할 수 있다. 예를 들어, 온도가 증가되어 에러 정정의 가능성이 작아 지게 되는 경우, 소프트 디시젼 디코딩의 이터레이션 경계값(ITR_th)를 보다 크게하여 보다 정확한 디코딩을 구현할 수 있다. 온도가 감소하는 경우도 이와 유사하게 구현할 수 있다. 이러한 플래시 메모리의 제어 방법을 통해 에러 정정 동작에서의 디코딩 효율을 향상시키는 것이 가능하다.
도 12은 본 발명의 몇몇 실시예들에 따른 리클레임 또는 리프레쉬을 설명하는 개념도이다. 도 12은 비휘발성 메모리의 제1 블록(BLK_1), 제2 블록(BLK_2) 및 ECC 디코더(415)를 도시하고 있다.
본 발명의 몇몇 실시예에 따르면, 비휘발성 메모리의 제1블록의 페이지 중에서, 에러 카운트가 에러 카운트 한계값 이상인 페이지를 열화된 페이지로 판별하여, 제1 블록의 열화된(degraded) 페이지 개수를 카운트한 결과를 참조하여, 제1 블록(BLK_1)의 페이지들을 제2 블록(BLK_2)으로 리클레임을 할 수 있다.
본 발명의 몇몇 실시예에 따르면, 비휘발성 메모리의 제1블록에서, 에러 카운트가 에러 카운트 한계값 이상인 경우, 제1 블록(BLK_1)의 페이지들을 제2 블록(BLK_2)으로 리클레임을 할 수 있다.
본 발명의 몇몇 실시예에 따르면, 비휘발성 메모리의 제1블록의 페이지 중에서, 리드 카운트가 리드 카운트 한계값 이상인 페이지를 열화된 페이지로 판별하여, 제1 블록의 열화된(degraded) 페이지 개수를 카운트한 결과를 참조하여, 제1 블록(BLK_1)의 페이지들을 제2 블록(BLK_2)으로 리프레쉬를 할 수 있다.
본 발명의 몇몇 실시예에 따르면, 비휘발성 메모리의 제1블록에서, 리드 카운트가 리드 카운트 한계값 이상인 경우, 제1 블록(BLK_1)의 페이지들을 제2 블록(BLK_2)으로 리프레쉬를 할 수 있다.
리클레임 또는 리프레쉬 하는 경우, 제1 블록(BLK_1)의 데이터를 리드하고, 리드한 제1 데이터(DATA1)의 에러 비트들은 ECC 디코더(415)로 제공된다. 그리고, ECC 디코더(415)는 제1 데이터(DATA1)의 에러 비트들을 정정한 제2 데이터(DATA2)를 제공한다. 리클레임은 제1 데이터의 에러 비트가 정정된 제2 데이터(DATA2)를 사용하여, 제2 블록(BLK_2)에 프로그램하는 것이다.
구체적으로, 제1 블록(BLK_1)의 각각의 페이지를 리드한 제1 데이터(DATA1)의 에러 비트를 정정한 제2 데이터(DATA2)를 제2 블록(BLK_2)의 각각의 페이지에 프로그램한다. 그리고, 제1 블록(BLK_1)은 새로운 프리 블록으로 제공될 수 있다.
도 13는 본 발명의 다양한 실시예들에 따른 플래시 메모리 읽기 방법을 채용하는 컴퓨팅 시스템을 설명하는 도면이다.
도 13를 참조하면, 컴퓨팅 시스템(1000)은 시스템 버스(1060)에 전기적으로연결되는 CPU(1020), 램(1030), 사용자 인터페이스(1040), 베이스밴드 칩셋(Baseband Chipset)과 같은 모뎀(1050) 그리고 메모리 시스템(100)을 포함할 수 있다.
메모리 시스템(100)은 메모리 컨트롤러(110)와 플래시 메모리 장치(120)를 포함할 수 있다. 메모리 컨트롤러(110)는 시스템 버스(1060)를 통해 CPU(1020)와 플래시 메모리 장치(120)를 연결시킬 수 있다. 메모리 컨트롤러(110)는 CPU(1020)의 버스 포맷(Bus format)에 대응하여 플래시 메모리 장치(120)와의 인터페이싱을 제공할 수 있다. 메모리 시스템(100)은 반도체 디스크 장치(Solid State Disk: SSD)를 구성할 수 있다. 이 경우, 메모리 컨트롤러(110)는 USB, MMC, PCI-E, SAS, SATA, PATA, SCSI, ESDI, 그리고 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신할 수 있도록 구성될 것이다.
메모리 컨트롤러(110)는 도 2에 도시된 메모리 콘트롤러와 동일하게 구성될 수 있다. 또한, 메모리 컨트롤러(110)는 본 발명의 다양한 실시예들에 따른 플래시 메모리 읽기 방법들을 적용할 수 있다. 플래시 메모리 장치(120)는 도 1, 도 6 및 도 7에 도시된 메모리 장치와 동일하게 구성될 수 있다.
메모리 컨트롤러(110)는 플래시 메모리 장치(120)를 제어하기 위하여 온도 정보(T_info)를 이용한다. 본 발명의 일 실시예에 따른 메모리 컨트롤러(110)는 온도 정보(T_info)에 기초하여 데이터 신뢰성과 관련되는 적어도 하나의 파라미터(예를 들어, 카운트 한계값 RD_th, ERR_th, ITR_th 또는 리드전압)를 결정할 수 있다.
컴퓨팅 시스템(1000)이 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리가 추가적으로 제공될 것이다. 또한, 컴퓨팅 시스템(1000)에는 응용 칩셋(Application Chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램 등이 더 제공될 수 있다.
본 발명에 따른 메모리 컨트롤러(110) 및/또는 플래시 메모리 장치(120)는 다양한 형태의 패키지를 이용하여 실장될 수 있다. 예를 들면, 메모리 컨트롤러(110) 및/또는 플래시 메모리 장치(120)는 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 MetricQuad 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), 등과 같은 패키지들을 이용하여 실장될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (10)

  1. 온도 정보를 기초로 데이터 신뢰성과 관련되는 적어도 하나의 파라미터를 결정하고, 상기 파라미터를 기초로 하는 제어신호을 생성하는 컨트롤러;
    하나 이상의 메모리 셀 어레이를 포함하고, 상기 컨트롤러로부터 수신된 리드명령에 대응하는 리드 데이터를 상기 컨트롤러에 제공하는 메모리 장치를 포함하는 플래시 메모리 시스템.
  2. 제1항에 있어서, 상기 파라미터은 상기 메모리 장치에 포함된 제1 블록에 대한 리드(read) 카운트의 한계값이고, 상기 제어신호는 상기 제1 블록에 대한 리프레쉬 명령 신호인 것을 특징으로 하는 플래시 메모리 시스템.
  3. 제1항에 있어서, 상기 파라미터는 상기 메모리 장치에 포함된 제2 블록에 대한 에러(error) 카운트의 한계값이고, 상기 제어신호는 상기 제2 블록에 대한 리클레임 명령 신호인 것을 특징으로 하는 플래시 메모리 시스템.
  4. 제1항에 있어서, 상기 파라미터는 상기 메모리 장치에 포함된 제1 페이지에 대한 이터레이션(iteration) 카운트의 한계값이고, 상기 제어신호는 상기 제1 페이지에 대한 에러 결정 신호인 것을 특징으로 하는 플래시 메모리 시스템.
  5. 제1항에 있어서, 상기 온도 정보는 상기 컨트롤러 외부에서 수신하거나, 상기 컨트롤러 내부에서 생성하는 플래시 메모리 시스템.
  6. 제1항에 있어서, 상기 에러 정정부는 상기 온도 정보에 기초하여, 룩업테이블(Look-up table)을 참조하여, 상기 파라미터를 생성하는 플래시 메모리 시스템.
  7. 제1항에 있어서, 상기 에러 정정부는 상기 온도 정보에 기초하여, 미리 정해진 다항식을 통하여 상기 파라미터를 생성하는 플래시 메모리 시스템.
  8. 제1항에 있어서, 상기 메모리 장치는 싱글 레벨 셀(SLC)을 포함하는 메모리 셀 어레이 또는 멀티 레벨 셀(MLC)을 포함하는 메모리 셀 어레이를 포함하는 플래시 메모리 시스템.
  9. 제1항에 있어서, 상기 메모리 장치는 멀티 레벨 셀(MLC)을 포함하는 메모리 셀 어레이를 포함하고, 상기 파라미터는 하나의 워드라인에 연결된 n개의 페이지 중에서 몇 번째 페이지에 해당하는지에 따라서 다른 값을 갖는 것을 특징으로 하는 플래시 메모리 시스템.
  10. 제1항에 있어서, 상기 파라미터는 상기 메모리 장치에 포함된 제1 페이지에 대한 리드 전압(Read Voltage) 값이고, 상기 제어신호는 상기 제1 페이지에 대한 리드 명령인 것을 특징으로 하는 플래시 메모리 시스템.
KR1020140020813A 2014-02-21 2014-02-21 플래시 메모리 시스템 및 플래시 메모리 시스템의 제어 방법 KR102244618B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140020813A KR102244618B1 (ko) 2014-02-21 2014-02-21 플래시 메모리 시스템 및 플래시 메모리 시스템의 제어 방법
US14/602,464 US9535620B2 (en) 2014-02-21 2015-01-22 Flash memory system and method controlling same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140020813A KR102244618B1 (ko) 2014-02-21 2014-02-21 플래시 메모리 시스템 및 플래시 메모리 시스템의 제어 방법

Publications (2)

Publication Number Publication Date
KR20150099218A true KR20150099218A (ko) 2015-08-31
KR102244618B1 KR102244618B1 (ko) 2021-04-26

Family

ID=53882242

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140020813A KR102244618B1 (ko) 2014-02-21 2014-02-21 플래시 메모리 시스템 및 플래시 메모리 시스템의 제어 방법

Country Status (2)

Country Link
US (1) US9535620B2 (ko)
KR (1) KR102244618B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180000594A (ko) * 2016-06-23 2018-01-03 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US10216422B2 (en) 2016-11-24 2019-02-26 Samsung Electronics Co., Ltd. Storage device including nonvolatile memory device and access method for nonvolatile memory device
US10269399B2 (en) 2017-07-28 2019-04-23 SK Hynix Inc. Controller and operating method thereof
US10466905B2 (en) 2017-07-07 2019-11-05 SK Hynix Inc. Memory controller to source logical to physical address mappings based on random read count
KR20200037503A (ko) * 2018-10-01 2020-04-09 삼성전자주식회사 엑스선 조사량 측정 장치, 이를 포함하는 반도체 메모리 장치 및 반도체 메모리 장치의 테스트 방법

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8848453B2 (en) * 2012-08-31 2014-09-30 Micron Technology, Inc. Inferring threshold voltage distributions associated with memory cells via interpolation
JP2016184398A (ja) * 2015-03-26 2016-10-20 パナソニックIpマネジメント株式会社 不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法
TWI562152B (en) * 2015-05-29 2016-12-11 Phison Electronics Corp Decoding method, memory storage device and memory control circuit unit
US9747974B2 (en) * 2016-01-19 2017-08-29 Via Technologies, Inc. Non-volatile memory apparatus and on-the-fly self-adaptive read voltage adjustment method thereof
KR102512448B1 (ko) * 2016-03-28 2023-03-22 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
KR102637160B1 (ko) 2016-04-14 2024-02-19 삼성전자주식회사 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법
US9715937B1 (en) 2016-06-15 2017-07-25 Sandisk Technologies Llc Dynamic tuning of first read countermeasures
KR20180006164A (ko) * 2016-07-08 2018-01-17 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10049757B2 (en) * 2016-08-11 2018-08-14 SK Hynix Inc. Techniques for dynamically determining performance of read reclaim operations
KR20180046067A (ko) * 2016-10-27 2018-05-08 에스케이하이닉스 주식회사 메모리 제어 장치 및 방법
US11727997B2 (en) 2017-07-07 2023-08-15 Micron Technology, Inc. RPMB improvements to managed NAND
TWI650763B (zh) * 2018-05-14 2019-02-11 慧榮科技股份有限公司 用來進行記憶裝置的頁可用性管理之方法、記憶裝置及電子裝置以及頁可用性管理系統
US10553290B1 (en) * 2018-10-30 2020-02-04 Micron Technology, Inc. Read disturb scan consolidation
US10658034B1 (en) 2018-11-06 2020-05-19 Micron Technology, Inc. Dedicated read voltages for data structures
TWI672911B (zh) * 2019-03-06 2019-09-21 瑞昱半導體股份有限公司 解碼方法及相關電路
KR20200136173A (ko) * 2019-05-27 2020-12-07 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
US11444637B2 (en) * 2019-09-10 2022-09-13 SK Hynix Inc. Self-adaptive low-density parity check hard decoder
KR20210055376A (ko) * 2019-11-07 2021-05-17 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US11200113B2 (en) * 2020-01-14 2021-12-14 Intel Corporation Auto-increment write count for nonvolatile memory
US11494261B2 (en) * 2020-07-01 2022-11-08 Western Digital Technologies, Inc. Machine learning for temperature compensation
KR20220028300A (ko) * 2020-08-28 2022-03-08 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
KR20220067282A (ko) 2020-11-17 2022-05-24 삼성전자주식회사 스토리지 장치, 스토리지 장치를 포함하는 서버 장치 및 스토리지 장치의 구동 방법
US11650756B2 (en) 2020-12-28 2023-05-16 Western Digital Technologies, Inc. Nonvolatile memory with encoding for foggy-fine programming with soft bits
US11495296B2 (en) * 2021-01-20 2022-11-08 Western Digital Technologies, Inc. Read threshold calibration for nonvolatile memory with encoded foggy-fine programming
KR20220157793A (ko) * 2021-05-21 2022-11-29 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
KR102519664B1 (ko) 2021-08-31 2023-04-10 삼성전자주식회사 스토리지 장치, 스토리지 컨트롤러 및 스토리지 컨트롤러의 동작 방법

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090129622A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 온도 센서를 포함하는 메모리 시스템
KR20090129624A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 메모리 시스템 및 그것의 읽기 페일 방지 방법
KR20090129626A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 메모리 기반 저장 장치 및 그것의 블록 관리 기법
KR20110097084A (ko) * 2010-02-24 2011-08-31 삼성전자주식회사 메모리 시스템 및 그것의 액세스 방법
KR20120125791A (ko) * 2011-05-09 2012-11-19 삼성전자주식회사 플래시 메모리 장치 및 이를 포함하는 메모리 시스템
US20130185606A1 (en) * 2012-01-18 2013-07-18 Apple Inc. Systems and methods for proactively refreshing nonvolatile memory
KR20140103755A (ko) * 2013-02-19 2014-08-27 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법, 메모리 컨트롤러를 포함하는 메모리 시스템

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) * 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
JP2000011670A (ja) 1998-06-25 2000-01-14 Canon Inc 不揮発性メモリを有する機器
US6476392B1 (en) 2001-05-11 2002-11-05 Irvine Sensors Corporation Method and apparatus for temperature compensation of an uncooled focal plane array
KR100476888B1 (ko) 2002-04-04 2005-03-17 삼성전자주식회사 온도보상기능을 가진 멀티비트 플래쉬메모리
KR100532448B1 (ko) 2003-07-12 2005-11-30 삼성전자주식회사 메모리의 리프레시 주기를 제어하는 메모리 컨트롤러 및리프레시 주기 제어 방법
US7236061B2 (en) 2005-05-03 2007-06-26 Macronix International Co., Ltd. Temperature compensated refresh clock circuit for memory circuits
ITRM20060652A1 (it) 2006-12-06 2008-06-07 Micron Technology Inc Compensazione di temperatura di segnali di memoria impiegando segnali digitali
JP4941051B2 (ja) 2007-03-29 2012-05-30 日本電気株式会社 メモリ制御方法、メモリシステム、およびプログラム
US7865761B1 (en) 2007-06-28 2011-01-04 Emc Corporation Accessing multiple non-volatile semiconductor memory modules in an uneven manner
JP2009026119A (ja) 2007-07-20 2009-02-05 Denso Corp メモリ制御装置、信頼性判定期間の更新方法、及びデータの書込み方法
JP4498426B2 (ja) * 2008-03-01 2010-07-07 株式会社東芝 メモリシステム
KR101434400B1 (ko) 2008-07-09 2014-08-27 삼성전자주식회사 불휘발성 메모리 장치 및 메모리 시스템 및 그것의 관리방법
US8982653B2 (en) 2008-11-11 2015-03-17 Memory Technologies Llc Method and device for temperature-based data refresh in non-volatile memories
US7974146B2 (en) 2008-12-19 2011-07-05 Micron Technology, Inc. Wordline temperature compensation
CN101889313B (zh) 2008-12-30 2014-12-03 E·孔法洛涅里 具有扩展工作温度范围的非易失性存储器
US8307270B2 (en) * 2009-09-03 2012-11-06 International Business Machines Corporation Advanced memory device having improved performance, reduced power and increased reliability
JP5516873B2 (ja) 2010-04-21 2014-06-11 日本電気株式会社 高温検出カウンタ回路を備えた端末装置
JP2011243132A (ja) 2010-05-21 2011-12-01 Nec Corp 脱着可能な不揮発メモリに再書き込みを行う端末装置
JP2012230621A (ja) * 2011-04-27 2012-11-22 Sony Corp メモリ装置、メモリ制御装置、メモリ制御方法
US8542537B2 (en) 2011-04-29 2013-09-24 Spansion Llc Method and apparatus for temperature compensation for programming and erase distributions in a flash memory
JP2012238364A (ja) 2011-05-12 2012-12-06 Ricoh Co Ltd 画像処理装置、リフレッシュ方法およびプログラム
KR101824068B1 (ko) 2011-07-28 2018-03-15 삼성전자주식회사 메모리 컨트롤러 구동방법, 및 메모리 컨트롤러를 포함하는 메모리 시스템, 메모리 카드 및 휴대용 전자장치
US8743641B2 (en) 2011-09-07 2014-06-03 Macronix International Co., Ltd. Memory with temperature compensation
US8719668B2 (en) * 2011-11-01 2014-05-06 Hitachi, Ltd. Non-volatile storage system compensating prior probability for low-density parity check codes
JP2014035673A (ja) * 2012-08-09 2014-02-24 Renesas Electronics Corp 半導体記憶装置及び方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090129622A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 온도 센서를 포함하는 메모리 시스템
KR20090129624A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 메모리 시스템 및 그것의 읽기 페일 방지 방법
KR20090129626A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 메모리 기반 저장 장치 및 그것의 블록 관리 기법
KR20110097084A (ko) * 2010-02-24 2011-08-31 삼성전자주식회사 메모리 시스템 및 그것의 액세스 방법
KR20120125791A (ko) * 2011-05-09 2012-11-19 삼성전자주식회사 플래시 메모리 장치 및 이를 포함하는 메모리 시스템
US20130185606A1 (en) * 2012-01-18 2013-07-18 Apple Inc. Systems and methods for proactively refreshing nonvolatile memory
KR20140103755A (ko) * 2013-02-19 2014-08-27 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법, 메모리 컨트롤러를 포함하는 메모리 시스템

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180000594A (ko) * 2016-06-23 2018-01-03 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US10216422B2 (en) 2016-11-24 2019-02-26 Samsung Electronics Co., Ltd. Storage device including nonvolatile memory device and access method for nonvolatile memory device
US10466905B2 (en) 2017-07-07 2019-11-05 SK Hynix Inc. Memory controller to source logical to physical address mappings based on random read count
US10269399B2 (en) 2017-07-28 2019-04-23 SK Hynix Inc. Controller and operating method thereof
US10665278B2 (en) 2017-07-28 2020-05-26 SK Hynix Inc. Controller and operating method thereof
KR20200037503A (ko) * 2018-10-01 2020-04-09 삼성전자주식회사 엑스선 조사량 측정 장치, 이를 포함하는 반도체 메모리 장치 및 반도체 메모리 장치의 테스트 방법

Also Published As

Publication number Publication date
KR102244618B1 (ko) 2021-04-26
US20150242143A1 (en) 2015-08-27
US9535620B2 (en) 2017-01-03

Similar Documents

Publication Publication Date Title
KR102244618B1 (ko) 플래시 메모리 시스템 및 플래시 메모리 시스템의 제어 방법
US20200160920A1 (en) Calibrating Optimal Read Levels
US9647695B2 (en) Memory controllers and flash memory reading methods
JP5943395B2 (ja) メモリコントローラおよびデータ記憶装置
US8370710B2 (en) Non-volatile memory devices, systems, and data processing methods thereof
US9905302B2 (en) Read level grouping algorithms for increased flash performance
TWI483255B (zh) 具改善讀取可靠度之包含多位元記憶胞的快閃記憶體裝置
TWI622988B (zh) 使用於非揮發性記憶體元件之對數槪似比率(llr)最佳化和修正非揮發性記憶體元件之錯誤的方法
KR100842680B1 (ko) 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
US9007854B1 (en) Method and system for optimized soft decoding in a data storage device
KR101586046B1 (ko) 저장 장치 및 그것의 읽기 방법
US9529666B2 (en) Decoding method, memory storage device and memory controlling circuit unit
US9411679B2 (en) Code modulation encoder and decoder, memory controller including them, and flash memory system
US20140359202A1 (en) Reading voltage calculation in solid-state storage devices
US10103748B2 (en) Decoding method, memory control circuit unit and memory storage device
KR102070667B1 (ko) 비휘발성 메모리 장치의 구동 방법
KR102556479B1 (ko) Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
CN107634764B (zh) 使用低密度奇偶校验码的解码器及存储控制器
KR20180129249A (ko) 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법
US20110208897A1 (en) Method and memory system using a priori probability information to read stored data
CN111258794A (zh) 存储器系统及其操作方法
KR20180018069A (ko) 메모리 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법
JP2020042884A (ja) メモリシステム
US11095316B2 (en) Controller and operating method for performing read operation to read data in memory device
KR102005709B1 (ko) 메모리 장치 구동 방법 및 메모리 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant