KR102349382B1 - 메모리 시스템 및 그것의 동작 방법 - Google Patents

메모리 시스템 및 그것의 동작 방법 Download PDF

Info

Publication number
KR102349382B1
KR102349382B1 KR1020170130123A KR20170130123A KR102349382B1 KR 102349382 B1 KR102349382 B1 KR 102349382B1 KR 1020170130123 A KR1020170130123 A KR 1020170130123A KR 20170130123 A KR20170130123 A KR 20170130123A KR 102349382 B1 KR102349382 B1 KR 102349382B1
Authority
KR
South Korea
Prior art keywords
hard
data
read
threshold voltage
read voltage
Prior art date
Application number
KR1020170130123A
Other languages
English (en)
Other versions
KR20190040689A (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 KR1020170130123A priority Critical patent/KR102349382B1/ko
Priority to US16/147,202 priority patent/US10866856B2/en
Priority to CN201811174027.7A priority patent/CN109658969B/zh
Publication of KR20190040689A publication Critical patent/KR20190040689A/ko
Application granted granted Critical
Publication of KR102349382B1 publication Critical patent/KR102349382B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • 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/0411Online error correction
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

메모리 시스템은 복수의 메모리 셀들을 포함하고, 리드 동작에서 상기 메모리 셀들로 리드 전압을 인가함으로써 데이터를 리드하도록 구성된 비휘발성 메모리 장치; 및 상기 메모리 셀들에 대해 하드 리드 전압에 근거하여 하드 리드 동작을 수행함으로써 하드 데이터를 획득하고, 신뢰도 값들에 근거하여 상기 하드 데이터에 대해 에러 정정 동작을 수행하도록 구성된 컨트롤러를 포함하되, 상기 컨트롤러는, 상기 메모리 셀들에 대해 제1 및 제2 오버 샘플링 리드 전압들에 근거하여 오버 샘플링 리드 동작을 수행함으로써 오버 샘플링 데이터를 획득하고, 상기 하드 데이터 및 상기 오버 샘플링 데이터에 근거하여 상기 하드 리드 전압의 틀어진 방향을 추정하도록 구성된 추정부; 및 상기 틀어진 방향에 근거하여 복수의 문턱 전압 구간들에 상기 신뢰도 값들을 할당하도록 구성된 신뢰도 값 할당부를 포함한다.

Description

메모리 시스템 및 그것의 동작 방법{MEMORY SYSTEM AND OPERATING METHOD THEREOF}
본 발명은 메모리 시스템에 관한 것으로, 더욱 상세하게는 비휘발성 메모리 장치를 포함하는 메모리 시스템에 관한 것이다.
메모리 시스템은 외부 장치의 라이트 요청에 응답하여, 외부 장치로부터 제공된 데이터를 저장하도록 구성될 수 있다. 또한, 메모리 시스템은 외부 장치의 리드 요청에 응답하여, 저장된 데이터를 외부 장치로 제공하도록 구성될 수 있다. 외부 장치는 데이터를 처리할 수 있는 전자 장치로서, 컴퓨터, 디지털 카메라 또는 휴대폰 등을 포함할 수 있다. 메모리 시스템은 외부 장치에 내장되어 동작하거나, 분리 가능한 형태로 제작되어 외부 장치에 연결됨으로써 동작할 수 있다.
본 발명의 실시 예는 에러 정정 능력이 향상되어 높은 데이터 신뢰성을 보장할 수 있는 메모리 시스템 및 그것의 동작 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 메모리 시스템은 복수의 메모리 셀들을 포함하고, 리드 동작에서 상기 메모리 셀들로 리드 전압을 인가함으로써 데이터를 리드하도록 구성된 비휘발성 메모리 장치; 및 상기 메모리 셀들에 대해 하드 리드 전압에 근거하여 하드 리드 동작을 수행함으로써 하드 데이터를 획득하고, 신뢰도 값들에 근거하여 상기 하드 데이터에 대해 에러 정정 동작을 수행하도록 구성된 컨트롤러를 포함하되, 상기 컨트롤러는, 상기 메모리 셀들에 대해 제1 및 제2 오버 샘플링 리드 전압들에 근거하여 오버 샘플링 리드 동작을 수행함으로써 오버 샘플링 데이터를 획득하고, 상기 하드 데이터 및 상기 오버 샘플링 데이터에 근거하여 상기 하드 리드 전압의 틀어진 방향을 추정하도록 구성된 추정부; 및 상기 틀어진 방향에 근거하여 복수의 문턱 전압 구간들에 상기 신뢰도 값들을 할당하도록 구성된 신뢰도 값 할당부를 포함할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템의 동작 방법은 메모리 셀들에 대해 하드 리드 전압에 근거하여 하드 리드 동작을 수행함으로써 하드 데이터를 획득하는 단계; 상기 메모리 셀들에 대해 제1 및 제2 오버 샘플링 리드 전압들에 근거하여 오버 샘플링 리드 동작을 수행함으로써 오버 샘플링 데이터를 획득하는 단계; 상기 하드 데이터 및 상기 오버 샘플링 데이터에 근거하여 상기 하드 리드 전압의 틀어진 방향을 추정하는 단계; 상기 틀어진 방향에 근거하여 복수의 문턱 전압 구간들에 신뢰도 값들을 할당하는 단계; 및 상기 신뢰도 값들에 근거하여 상기 하드 데이터에 대해 에러 정정 동작을 수행하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템 및 그것의 동작 방법은 에러 정정 능력이 향상되어 높은 데이터 신뢰성을 보장할 수 있다.
도1은 본 발명의 실시 예에 따른 메모리 시스템을 도시한 블록도,
도2는 도1의 메모리 셀들의 문턱 전압 분포들을 예시적으로 도시하는 도면,
도3은 본 발명의 실시 예에 따라 문턱 전압 분포들이 이동할 때, 리드 전압들을 조정하는 방법을 예시적으로 도시한 도면,
도4는 본 발명의 실시 예에 따라 비휘발성 메모리 장치로부터 리드된 데이터에 대한 에러 정정 동작을 설명하기 위한 도면,
도5는 다른 문턱 전압 분포들에 대한 최초 신뢰도 값들을 도시하는 도면,
도6은 본 발명의 실시 예에 따라 도1의 추정부가 하드 리드 전압의 틀어진 방향 및 틀어진 정도를 추정하는 방법을 설명하기 위한 도면,
도7 및 도8은 본 발명의 실시 예에 따라 도1의 신뢰도 값 할당부가 문턱 전압 구간들에 신뢰도 값들을 할당하는 방법을 설명하기 위한 도면들,
도9 및 도10은 본 발명의 실시 예에 따라 도1의 신뢰도 값 할당부가 문턱 전압 구간들에 신뢰도 값들을 할당하는 방법을 설명하기 위한 도면들,
도11은 본 발명의 실시 예에 따른 도1의 메모리 시스템의 동작 방법을 도시하는 순서도,
도12는 본 발명의 실시 예에 따른 도1의 추정부의 동작 방법을 도시하는 순서도,
도13은 본 발명의 실시 예에 따른 도1의 신뢰도 값 할당부의 동작 방법을 도시하는 순서도,
도14는 본 발명의 실시 예에 따른 솔리드 스테이트 드라이브(SSD)를 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면,
도15는 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면,
도16은 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면,
도17은 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 네트워크 시스템을 예시적으로 도시하는 도면,
도18은 본 발명의 실시 예에 따른 메모리 시스템에 포함된 비휘발성 메모리 장치를 예시적으로 도시하는 블럭도이다.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.
도1은 본 발명의 실시 예에 따른 메모리 시스템(100)을 도시한 블록도이다.
메모리 시스템(100)은 외부 장치의 라이트 요청에 응답하여, 외부 장치로부터 제공된 데이터를 저장하도록 구성될 수 있다. 또한, 메모리 시스템(100)은 외부 장치의 리드 요청에 응답하여, 저장된 데이터를 외부 장치로 제공하도록 구성될 수 있다.
메모리 시스템(100)은 PCMCIA(Personal Computer Memory Card International Association) 카드, CF(Compact Flash) 카드, 스마트 미디어 카드, 메모리 스틱, 다양한 멀티 미디어 카드(MMC, eMMC, RS-MMC, MMC-micro), SD(Secure Digital) 카드(SD, Mini-SD, Micro-SD), UFS(Universal Flash Storage) 또는 SSD(Solid State Drive) 등으로 구성될 수 있다.
메모리 시스템(100)은 컨트롤러(110) 및 비휘발성 메모리 장치(120)를 포함할 수 있다.
컨트롤러(110)는 메모리 시스템(100)의 제반 동작을 제어할 수 있다. 컨트롤러(110)는 외부 장치로부터 전송된 라이트 요청에 응답하여 비휘발성 메모리 장치(120)에 데이터를 저장하고, 외부 장치로부터 전송된 리드 요청에 응답하여 비휘발성 메모리 장치(120)에 저장된 데이터를 리드하여 외부 장치로 출력할 수 있다.
컨트롤러(110)는 신뢰도 값 생성부(111) 및 에러 정정부(120)를 포함할 수 있다.
신뢰도 값 생성부(111)는 비휘발성 메모리 장치(120)의 메모리 셀들(MC)로부터 리드된 하드 데이터(hd_dt)의 각각의 비트들에 신뢰도 값들(RLV)을 할당함으로써 신뢰도 데이터(RLV_dt)를 생성할 수 있다. 신뢰도 데이터(RLV_dt)의 비트들 각각은 하드 데이터(hd_dt)의 대응하는 비트의 신뢰성을 나타낼 수 있고, 에러 정정부(120)가 하드 데이터(hd_dt)에 대해 에러 정정 동작을 수행할 때 사용될 수 있다.
한편, 하드 데이터(hd_dt)는, 하드 리드 전압에 근거한 하드 리드 동작을 통해 메모리 셀들(MC)로부터 리드된 데이터로서, 라이트 동작을 통해 메모리 셀들(MC)에 저장된 데이터를 의미할 수 있다. 하드 데이터(hd_dt)는, 메모리 셀의 문턱 전압이 하드 리드 전압보다 큰지/작은지에 따라 해당 메모리 셀에 대해 "0" 또는 "1"로 리드될 수 있다.
본 발명에 따르면, 신뢰도 값 생성부(111)는 기존에 저장된 신뢰도 값들, 즉, 최초 신뢰도 값들(IRLV)을 그대로 사용하지 않고, 하드 리드 전압의 틀어진 방향 및 틀어진 정도를 추정하여 최초 신뢰도 값들(IRLV)을 신뢰도 값들(RLV)로 조정할 수 있다.
신뢰도 값 생성부(111)는 추정부(113) 및 신뢰도 값 할당부(114)를 포함할 수 있다.
추정부(113)는 하드 데이터(hd_dt) 및 오버 샘플링 데이터(ovs_dt)에 근거하여 하드 리드 전압의 틀어진 방향 및 틀어진 정도를 추정할 수 있다. 하드 리드 전압의 틀어진 방향은 아이들 리드 전압보다 하드 리드 전압이 큰지/작은지를 의미할 수 있다. 하드 리드 전압의 틀어진 정도는 아이들 리드 전압과 하드 리드 전압의 절대차가 얼마나 큰지를 의미할 수 있다.
오버 샘플링 데이터(ovs_dt)는, 제1 및 제2 오버 샘플링 리드 전압들을 사용하여 메모리 셀들(MC)로부터 리드된 데이터일 수 있다. 제1 오버 샘플링 리드 전압은 하드 리드 전압보다 소정 오프셋 값만큼 작고, 제2 오버 샘플링 리드 전압은 하드 리드 전압보다 소정 오프셋 값만큼 클 수 있다. 오버 샘플링 데이터(ovs_dt)는 제1 오버 샘플링 리드 전압보다 크고 제2 오버 샘플링 리드 전압보다 작은 문턱 전압을 가진 메모리 셀로부터 제1 값, 예를 들어, "0"으로 획득될 수 있다. 오버 샘플링 데이터(ovs_dt)는 제1 오버 샘플링 리드 전압보다 작고 제2 오버 샘플링 리드 전압보다 큰 문턱 전압을 가진 메모리 셀로부터 제2 값, 예를 들어, "1"로 획득될 수 있다.
따라서, 추정부(113)는 오버 샘플링 데이터(ovs_dt)에 근거하여 메모리 셀의 문턱 전압을 제1 및 제2 오버 샘플링 리드 전압들과 비교할 수 있다. 또한, 추정부(113)는 하드 데이터(hd_dt)에 근거하여, 메모리 셀의 문턱 전압을 하드 리드 전압과 비교할 수 있다.
따라서, 추정부(113)는 하드 데이터(hd_dt) 및 오버 샘플링 데이터(ovs_dt)에 근거하여, 제1 오버 샘플링 리드 전압보다 크고 하드 리드 전압보다 작은 문턱 전압을 가진 메모리 셀들을 카운트하고, 카운트된 결과를 제1 추정 값으로 생성할 수 있다. 또한, 추정부(113)는 하드 데이터(hd_dt) 및 오버 샘플링 데이터(ovs_dt)에 근거하여, 하드 리드 전압보다 크고 제2 오버 샘플링 리드 전압보다 작은 문턱 전압을 가진 메모리 셀들을 카운트하고, 카운트된 결과를 제2 추정 값으로 생성할 수 있다. 그리고, 추정부(113)는 제1 추정 값과 제2 추정 값을 비교함으로써 하드 리드 전압의 틀어진 방향과 틀어진 정도를 추정할 수 있다.
구체적으로, 추정부(113)는 제1 추정 값이 제2 추정 값보다 작을 때, 하드 리드 전압의 틀어진 방향이 "양(positive)"인 것으로, 즉, 하드 리드 전압이 아이들 리드 전압보다 큰 것으로 추정할 수 있다. 그리고, 추정부(113)는 제1 추정 값이 제2 추정 값보다 클 때, 하드 리드 전압의 틀어진 방향이 "음(negative)"인 것으로, 즉, 하드 리드 전압이 아이들 리드 전압보다 작은 것으로 추정할 수 있다.
또한, 추정부(113)는 제1 및 제2 추정 값들의 절대차가 클수록, 하드 리드 전압의 틀어진 정도가 큰 것으로 추정할 수 있다. 예를 들어, 추정부(113)는 제1 및 제2 추정 값들의 절대차가 기준 값보다 클 때, 하드 리드 전압의 틀어진 정도가 "크다"고 추정할 수 있다. 그리고, 추정부(113)는 제1 및 제2 추정 값들의 절대차가 기준 값보다 작을 때, 하드 리드 전압의 틀어진 정도가 "작다"고 추정할 수 있다.
실시 예에 따라 추정부(113)는 하드 리드 전압의 틀어진 정도를 단지 크다/작다로 이분화하여 판단하지 않고 복수의 기준 값들을 사용하여 더 세분화하여 판단할 수도 있다.
신뢰도 값 할당부(114)는 추정부(113)에 의해 추정된 하드 리드 전압의 틀어진 방향 및 틀어진 정도에 근거하여 하드 데이터(hd_dt)에 신뢰도 값들(RLV)을 할당함으로써 신뢰도 데이터(RLV_dt)를 생성할 수 있다.
우선, 신뢰도 값 할당부(114)는 복수의 문턱 전압 구간들에 신뢰도 값들(RLV)을 각각 할당하고, 문턱 전압 구간들 각각에 위치하는 메모리 셀들에 대응하는 신뢰도 값을 할당함으로써 하드 데이터(hd_dt)에 신뢰도 값들(RLV)을 할당할 수 있다. 즉, 어떤 메모리 셀에 할당된 신뢰도 값은 해당 메모리 셀로부터 리드된 하드 데이터에 동일하게 할당될 수 있다.
복수의 문턱 전압 구간들은 하드 리드 전압 및 소프트 리드 전압들에 의해 구분되는 구간들일 수 있다. 소프트 리드 전압들은 소프트 리드 동작에서 메모리 셀들(MC)로부터 소프트 데이터(sf_dt)를 리드하기 위해 사용될 수 있다. 소프트 데이터(sf_dt)는 메모리 셀의 문턱 전압이 소프트 리드 전압들보다 큰지/작은지에 따라 리드될 수 있다. 따라서, 신뢰도 값 할당부(114)는 소프트 데이터(sf_dt) 및 하드 데이터(hd_dt)에 근거하여 문턱 전압 구간들 각각에 위치하는 메모리 셀들을 판단할 수 있다.
신뢰도 값 할당부(114)는 하드 리드 전압의 틀어진 방향에 근거하여 최초 신뢰도 값들(IRLV)을 조정 값만큼 조정함으로써 신뢰도 값들(RLV)을 생성할 수 있다. 구체적으로, 신뢰도 값 할당부(114)는 하드 리드 전압의 틀어진 방향이 양일 때, 최초 신뢰도 값들(IRLV)을 양의 조정 값만큼 조정할 수 있다. 그리고, 신뢰도 값 할당부(114)는 하드 리드 전압의 틀어진 방향이 음일 때, 최초 신뢰도 값들(IRLV)을 음의 조정 값만큼 조정할 수 있다.
신뢰도 값들(RLV)의 크기는 소정의 최대값으로 제한될 수 있다.
신뢰도 값 할당부(114)는 하드 리드 전압의 틀어진 정도를 더 고려하여, 최초 신뢰도 값들(IRLV)을 하나 이상의 조정 값들만큼 조정함으로써 신뢰도 값들(RLV)을 생성할 수 있다. 구체적으로, 신뢰도 값 할당부(114)는 하드 리드 전압의 틀어진 정도가 클 때, 최초 신뢰도 값들(IRLV)을 비균일한 조정 값들만큼 조정함으로써 신뢰도 값들(RLV)을 생성할 수 있다. 이때, 조정 값의 부호는 하드 리드 전압의 틀어진 방향에 의해 결정될 수 있다.
구체적으로, 신뢰도 값 할당부(114)는 일부 문턱 전압 구간들에 대응하는 최초 신뢰도 값들(IRLV)을 제1 조정 값만큼 조정하고, 나머지 문턱 전압 구간들에 대응하는 최초 신뢰도 값들(IRLV)을 제2 조정 값만큼 조정할 수 있다. 이때, 제1 조정 값이 적용되는 일부 문턱 전압 구간들과 제2 조정 값이 적용되는 나머지 문턱 전압 구간들의 경계는 하드 리드 전압을 기준으로 틀어진 방향의 반대 방향에 위치할 수 있다. 제1 조정 값의 크기는 제2 조정 값의 크기보다 클 수 있다.
신뢰도 값 할당부(114)는 하드 리드 전압의 틀어진 정도가 작을 때, 최초 신뢰도 값들(IRLV)을 단일의 조정 값, 예를 들어, "1"만큼 조정함으로써 신뢰도 값들(RLV)을 생성할 수 있다.
실시 예에 따라, 신뢰도 값 생성부(111)는 최초 신뢰도 값들(IRLV)을 조정하기 위해 하드 리드 전압의 틀어진 방향만을 참조할 수 있다.
에러 정정부(120)는 비휘발성 메모리 장치(120)로부터 리드된 하드 데이터(hd_dt)에 대해, 신뢰도 값 생성부(111)에 의해 생성된 신뢰도 데이터(RLV_dt)에 근거하여 에러 정정 동작을 수행할 수 있다. 에러 정정 동작은 소프트 디시젼 디코딩 동작일 수 있다.
비휘발성 메모리 장치(120)는 컨트롤러(110)의 제어에 따라, 컨트롤러(110)로부터 전송된 데이터를 저장하고, 저장된 데이터를 리드하여 컨트롤러(110)로 전송할 수 있다. 비휘발성 메모리 장치(120)는 데이터를 저장하는 메모리 셀들(MC)을 포함할 수 있다. 메모리 셀들(MC)은 동시에 리드 액세스될 수 있는 구조일 수 있다. 예를 들어, 메모리 셀들(MC)은 동일한 워드라인에 연결될 수 있다. 비휘발성 메모리 장치(120)는 메모리 셀들(MC)에 연결된 워드라인으로 각종 리드 전압을 인가함으로써 메모리 셀들(MC)로부터 동시에 데이터를 리드할 수 있다.
비휘발성 메모리 장치(120)는 오버 샘플링 리드 동작을 지원할 수 있다. 오버 샘플링 리드 동작이 수행될 때, 비휘발성 메모리 장치(120)는 컨트롤러(110)로부터 제공된 제1 및 제2 오버 샘플링 리드 전압들을 메모리 셀들(MC)로 인가함으로써 오버 샘플링 데이터(ovs_dt)를 획득하고 컨트롤러(110)로 전송할 수 있다.
비휘발성 메모리 장치(120)는 메모리 셀들(MC) 각각으로부터 오버 샘플링 데이터(ovs_dt)로서 1비트를 획득할 수 있다. 비휘발성 메모리 장치(120)는 제1 오버 샘플링 리드 전압보다 크고 제2 오버 샘플링 리드 전압보다 작은 문턱 전압을 가진 메모리 셀로부터 제1 값, 즉, "0"을 오버 샘플링 데이터(ovs_dt)로서 획득할 수 있다. 또한, 비휘발성 메모리 장치(120)는 제1 오버 샘플링 리드 전압보다 작고 제2 오버 샘플링 리드 전압보다 큰 문턱 전압을 가진 메모리 셀로부터 제2 값, 즉, "1"을 오버 샘플링 데이터(ovs_dt)로서 획득할 수 있다.
비휘발성 메모리 장치(120)는 낸드 플래시(NAND Flash) 또는 노어 플래시(NOR Flash)와 같은 플래시 메모리 장치, FeRAM(Ferroelectrics Random Access Memory), PCRAM(Phase-Change Random Access Memory), MRAM(Magnetic Random Access Memory) 또는 ReRAM(Resistive Random Access Memory) 등을 포함할 수 있다.
한편, 도1은 메모리 시스템(100)이 1개의 비휘발성 메모리 장치(120)를 포함하는 것으로 도시하나, 메모리 시스템(100)에 포함되는 비휘발성 메모리 장치들의 개수는 이에 제한되지 않는다.
도2는 도1의 메모리 셀들(MC)의 문턱 전압 분포들(D1~D4)을 예시적으로 도시하는 도면이다. 가로축(Vth)은 메모리 셀의 문턱 전압을 의미하고, 세로축(Cell #)은 문턱 전압에 대한 메모리 셀들(MC)의 개수를 의미할 수 있다.
도2를 참조하면, 메모리 셀들(MC)은 저장된 데이터에 따라 일정한 문턱 전압 분포들(D1~D4)을 형성할 수 있다. 메모리 셀은, 저장될 2비트의 데이터에 따라, 4개의 문턱 전압 분포들(D1~D4) 중 어느 하나에 대응하는 문턱 전압을 가지도록 제어될 수 있다. 예를 들어, 데이터 "11"이 저장된 메모리 셀은 문턱 전압 분포(D1)에 대응하는 문턱 전압을 가질 수 있다. 데이터 "10"이 저장된 메모리 셀은 문턱 전압 분포(D2)에 대응하는 문턱 전압을 가질 수 있다. 데이터 "00"이 저장된 메모리 셀은 문턱 전압 분포(D3)에 대응하는 문턱 전압을 가질 수 있다. 데이터 "01"이 저장된 메모리 셀은 문턱 전압 분포(D4)에 대응하는 문턱 전압을 가질 수 있다. 도2에서 도면 부호 "MSB"는 최상위 비트를 의미하고 "LSB"는 최하위 비트를 의미할 수 있다. 메모리 셀 당 2비트가 저장될 때 메모리 셀들 각각은 2개의 페이지들, 즉, LSB가 저장되는 LSB 페이지 및 MSB가 저장되는 MSB 페이지에 대응될 수 있다.
한편, 메모리 셀 당 저장되는 비트들의 개수는 도2에 도시된 것처럼 2비트로 제한되지 않는다. 메모리 셀 당 i비트들이 저장될 때 메모리 셀들은 2^i개의 문턱 전압 분포들을 형성할 수 있다. 메모리 셀 당 i비트들이 저장될 때 메모리 셀들 각각은 i개의 페이지들에 대응될 수 있다.
메모리 셀은, 워드라인을 통해 소정의 리드 전압을 인가받을 때, 자신의 문턱 전압에 따라 턴온/턴오프될 수 있다. 구체적으로, 메모리 셀은 자신의 문턱 전압보다 큰 리드 전압을 인가받을 때 턴온될 수 있고, 자신의 문턱 전압보다 작은 리드 전압이 인가받을 때 턴오프될 수 있다.
이러한 경우, 비휘발성 메모리 장치(120)는, 메모리 셀이 턴온/턴오프될 때 형성되는 커런트를 센싱함으로써 메모리 셀의 문턱 전압이 리드 전압보다 큰지 또는 작은지를 판단할 수 있다. 따라서, 문턱 전압 분포들(D1~D4)의 사이에 위치하는 리드 전압들(R1~R3)을 메모리 셀로 인가하면, 비휘발성 메모리 장치(120)는 메모리 셀의 문턱 전압이 각각의 리드 전압들(R1~R3)보다 큰지 또는 작은지를 판단할 수 있다. 다른 말로 하면, 비휘발성 메모리 장치(120)는 리드 전압들(R1~R3)을 사용하여 메모리 셀들이 위치하는 문턱 전압 분포를 판단할 수 있고, 결과적으로 메모리 셀들에 저장된 데이터를 리드할 수 있다.
예를 들어, 비휘발성 메모리 장치(120)는 어떤 메모리 셀로 리드 전압들(R1~R3)을 인가하고, 턴온/턴오프된 메모리 셀에 의해 형성된 커런트를 센싱함으로써 해당 메모리 셀의 문턱 전압이 리드 전압(R2)보다 크고 리드 전압(R3)보다 작은 것으로 판단할 수 있다. 따라서, 비휘발성 메모리 장치(120)는 해당 메모리 셀이 문턱 전압 분포(D3)에 위치하는 것으로 판단하고, 메모리 셀에 저장된 데이터를 "00"으로 리드할 수 있다.
한편, 도2에 도시된 바와 같이, 문턱 전압 분포들(D1~D4)이 리드 전압들(R1~R3)에 의해 명확하게 구분되는 경우, 리드 전압들(R1~R3)을 사용하여 메모리 셀들로부터 리드된 데이터는 에러 비트들을 포함하지 않을 수 있다. 따라서, 비휘발성 메모리 장치(120)는, 일단 메모리 셀들이 문턱 전압 분포들(D1~D4)을 형성하도록 라이트 동작을 수행한 뒤, 메모리 셀들이 문턱 전압 분포들(D1~D4)을 형성한다는 기대 하에 리드 전압들(R1~R3)을 사용하여 리드 동작을 수행할 수 있다. 그러나, 후술될 바와 같이, 문턱 전압 분포들(D1~D4)은 이동할 수 있고, 그 결과 기설정된 리드 전압들(R1~R3)에 의해 명확하게 구분되지 않게 될 수 있다.
도3은 본 발명의 실시 예에 따라 문턱 전압 분포들(D1~D4)이 이동할 때, 리드 전압들(R1~R3)을 조정하는 방법을 예시적으로 도시한 도면이다.
도3을 참조하면, 문턱 전압 분포들(D1~D4)은 시간의 흐름에 따라 또는 다양한 이유들에 의해 문턱 전압 분포들(D1N~D4N)로 이동하고 서로 겹쳐질 수 있다. 이러한 경우, 기설정된 리드 전압들(R1~R3)은 이동된 문턱 전압 분포들(D1N~D4N) 사이에 위치하도록 리드 전압들(R1N~R3N)로 조정되어야 할 것이다. 한편, 리드 전압들(R1~R3)을 리드 전압들(R1N~R3N)로 조정하는 것은 기존에 개발된 다양한 방법들에 따라 수행될 수 있으므로, 그와 관련한 자세한 설명은 생략될 것이다.
다만, 실제 문턱 전압 분포들은 도2 및 도3에 도시된 바와 같이 매끈한 외곽선을 가지지 않기 때문에, 리드 전압들(R1~R3)을 문턱 전압 분포들(D1N~D4N) 사이에 정확히 위치하도록 리드 전압들(R1N~R3N)로 조정하는 것은 어려울 수 있다. 뿐만 아니라, 만일 문턱 전압 분포들(D1N~D4N)이 문턱 전압 분포들(D1N, D2N)처럼 서로 겹쳐지면, 겹쳐진 부분에 대한 리드 동작은 에러 비트들을 발생시킬 수 있다. 따라서, 후술될 바와 같이, 에러 정정부(120)는 비휘발성 메모리 장치(120)로부터 기설정된 리드 전압들(R1~R3) 또는 조정된 리드 전압들(R1N~R3N)에 근거하여 리드된 데이터에 대해 에러 정정 동작을 수행할 수 있다.
도4는 본 발명의 실시 예에 따라 비휘발성 메모리 장치(120)로부터 리드된 데이터에 대한 에러 정정 동작을 설명하기 위한 도면이다. 도4에 도시된 문턱 전압 분포들(D41, D42)은 도3의 문턱 전압 분포들(D1N~D4N) 중 어느 2개의 인접한 문턱 전압 분포들일 수 있다.
도4를 참조하면, 하드 리드 전압(HR)은 문턱 전압 분포들(D41, D42)의 골짜기에 위치하는 것으로 간주되는 리드 전압일 수 있다. 예를 들어, 하드 리드 전압(HR)은 비휘발성 메모리 장치(120)에 기설정되어 있는 리드 전압일 수 있다. 예를 들어, 하드 리드 전압(HR)은 비휘발성 메모리 장치(120)에 기설정되어 있었던 리드 전압으로부터 문턱 전압 분포들(D41, D42)의 골짜기에 위치하도록 조정된 리드 전압일 수 있다.
하드 리드 전압(HR)은 문턱 전압 분포들(D41, D42)의 골짜기에 정확하게 위치하는 리드 전압, 즉, 아이들 리드 전압(IR4)과 정확히 일치하지 않을 수 있다. 이는 상술한 바와 같이 예를 들어, 문턱 전압 분포들(D41, D42)의 이동 때문이거나 아이들 리드 전압(IR4)을 찾는 것의 어려움 때문일 수 있다. 아이들 리드 전압(IR4)은 리드 동작에서 에러 비트들을 최소화시키는 리드 전압일 수 있다.
하드 리드 전압(HR)을 메모리 셀들(MC)로 인가함으로써 메모리 셀들(MC)로부터 리드된 데이터는 상술한 하드 데이터(hd_dt)일 수 있다. 에러 정정부(120)는 하드 데이터(hd_dt)에 대한 에러 정정 동작을 수행하되, 하드 데이터(hd_dt)의 신뢰도에 관한 추가 정보, 최초 신뢰도 값들(IRLV)에 근거하여 소프트 디시젼 디코딩 방식으로 에러 정정 동작을 수행할 수 있다.
소프트 디시젼 디코딩 동작은 소프트 리드 전압들(SR1~SR6)을 추가로 사용하여 수행될 수 있다. 소프트 리드 전압들(SR1~SR6)은 하드 리드 전압(HR)보다 미리 설정된 오프셋 값들만큼 작거나 큰 전압들로 결정될 수 있다. 한편, 도4는 6개의 소프트 리드 전압들(SR1~SR6)을 도시하지만, 소프트 리드 전압들의 개수는 이에 제한되지 않는다.
소프트 디시젼 디코딩 동작을 구체적으로 설명하면, 우선 컨트롤러(110)는 하드 리드 전압(HR)에 근거한 리드 동작과 유사하게, 소프트 리드 전압들(SR1~SR6)에 근거하여 메모리 셀들(MC)로부터 데이터, 즉, 소프트 데이터(sf_dt)를 리드할 수 있다. 그리고, 신뢰도 값 생성부(111)는 소프트 데이터(sf_dt)에 근거하여, 각각의 메모리 셀들(MC)이 하드 리드 전압(HR) 및 소프트 리드 전압들(SR1~SR6)에 의해 구분된 문턱 전압 구간들(S1~S8) 중 어디에 위치하는 지를 결정할 수 있다. 예를 들어, 신뢰도 값 생성부(111)는 소프트 데이터(sf_dt)에 근거하여 어떤 메모리 셀의 문턱 전압이 소프트 리드 전압(SR1)보다 크고 소프트 리드 전압(SR2)보다 작은 것으로 판단할 수 있다. 이 경우, 신뢰도 값 생성부(111)는 해당 메모리 셀이 문턱 전압 구간(S2)에 위치하는 것으로 판단할 수 있다.
이때, 문턱 전압 구간들(S1~S8)은 도시된 바와 같이 기설정되어 있는 신뢰도 값들, 즉, 최초 신뢰도 값들(IRLV)에 각각 대응할 수 있다. 신뢰도 값 생성부(111)는 문턱 전압 구간들(S1~S8)에 각각 대응하는 최초 신뢰도 값들(IRLV)을 이미 저장하고 있을 수 있다. 따라서, 신뢰도 값 생성부(111)는 메모리 셀이 위치하는 문턱 전압 구간에 따라 해당 메모리 셀 또는 해당 메모리 셀로부터 리드된 하드 데이터(hd_dt)에 할당할 신뢰도 값을 결정할 수 있다. 그리고, 에러 정정부(120)는 하드 데이터(hd_dt)에 할당된 최초 신뢰도 값들(IRLV)을 고려하여 소프트 디시젼 디코딩 동작을 수행할 수 있다.
신뢰도 값의 특성을 살펴보면, 신뢰도 값의 크기, 즉, 절댓값은 대응하는 하드 데이터(hd_dt)의 신뢰도를 의미할 수 있다. 즉, 신뢰도 값의 크기가 클수록 대응하는 하드 데이터(hd_dt)의 신뢰도, 즉, 에러 비트가 아닐 확률이 크다는 것을 의미할 수 있다. 그리고, 신뢰도 값의 부호는, 대응하는 하드 데이터(hd_dt)가 "0"일 확률과 "1"일 확률에 따라 음수 또는 양수로 결정될 수 있다. 신뢰도 값, 예를 들어, 로그 우도비를 포함할 수 있다.
따라서, 소프트 디시젼 디코딩 동작은 하드 데이터(hd_dt)에 최초 신뢰도 값들(IRLV)이 적절하게 할당되어야 성공할 수 있다. 예를 들어, 문턱 전압 분포들(D41, D42)이 상당히 겹쳐있는 문턱 전압 구간들(S4, S5)은 에러 비트들을 다수 발생시키므로, 작은 크기의 최초 신뢰도 값(IRLV), 예를 들어, "0"에 대응될 수 있다. 그리고, 문턱 전압 구간들(S1~S8)은 하드 리드 전압(HR)에 가까울수록 작은 크기의 신뢰도 값에 대응하고, 하드 리드 전압(HR)에 멀수록 큰 크기의 신뢰도 값에 대응하도록 설정될 수 있다. 이러한 최초 신뢰도 값들(IRLV)은 하드 리드 전압(HR)이 아이들 리드 전압(IR4)으로부터 거의 틀어지지 않을 것이라는 기대에 기반할 수 있다.
도5는 다른 문턱 전압 분포들(D51. D52)에 대한 최초 신뢰도 값들(IRLV)을 도시하는 도면이다. 도5는 하드 리드 전압(HR)이 문턱 전압 분포들(D51. D52)의 아이들 리드 전압(IR5)으로부터 크게 틀어짐으로써, 최초 신뢰도 값들(IRLV)이 부적절해진 상황을 도시한다.
도5를 참조하면, 상술한 바와 같이, 하드 리드 전압(HR)을 문턱 전압 분포들(D51. D52)의 골짜기에 위치하도록 조정하는 것은 실제로는 어려울 수 있기 때문에, 하드 리드 전압(HR)은 아이들 리드 전압(IR5)으로부터 크게 틀어질 수 있다.
결국, 하드 리드 전압(HR)이 아이들 리드 전압(IR5)으로부터 크게 틀어질 때 문턱 전압 구간들(S1~S8)에 대응하는 최초 신뢰도 값들(IRLV)은 부적절할 수 있다. 예를 들어, 문턱 전압 구간(S5)에 대응하는 최초 신뢰도 값, 즉, "0"은, 문턱 전압 구간(S5)에서 에러 비트가 발생할 가능성이 문턱 전압 구간(S3)보다 낮다는 상황을 고려하면, 부적절할 수 있다.
정리하면, 하드 리드 전압(HR)이 아이들 리드 전압(IR5)으로부터 크게 틀어질 때, 하드 리드 전압(HR)을 기준으로 소프트 리드 전압들(SR1~SR6) 및 문턱 전압 구간들(S1~S8)을 결정하고 이미 저장된 최초 신뢰도 값들(IRLV)을 자동적으로 할당하는 것은 하드 데이터(hd_dt)의 신뢰도를 제대로 반영하지 못할 수 있다. 따라서, 부적절한 최초 신뢰도 값들(IRLV)에 근거한 소프트 디시젼 디코딩 동작은 실패할 수 있다.
후술될 바와 같이 본 발명에 따르면, 하드 리드 전압(HR)이 아이들 리드 전압으로부터 틀어진 방향 및 틀어진 정도가 오버 샘플링 리드 동작을 통해 추정되고, 추정에 근거하여 문턱 전압 구간들(S1~S8)에 적절한 신뢰도 값들을 할당할 수 있다. 따라서, 소프트 디시젼 디코딩 동작의 성능이 향상될 수 있다.
본 발명에 따른 신뢰도 값 조정을 포함하는 소프트 디시젼 디코딩 동작은 문턱 전압 구간들(S1~S8)에 대해 최초 신뢰도 값들(IRLV)에 근거하여 소프트 디시젼 디코딩 동작이 실패한 뒤에 수행될 수 있다. 실시 예에 따라, 신뢰도 값 조정을 포함하는 소프트 디시젼 디코딩 동작은 최초 신뢰도 값들(IRLV)에 근거한 소프트 디시젼 디코딩 동작 대신에 수행될 수 있다.
도6은 본 발명의 실시 예에 따라 도1의 추정부(113)가 하드 리드 전압(HR)의 틀어진 방향 및 틀어진 정도를 추정하는 방법을 설명하기 위한 도면이다. 도6은 문턱 전압 분포들(D61, D62), 문턱 전압 분포들(D61, D62)의 아이들 리드 전압(IR6), 하드 리드 전압(HR) 및 소프트 리드 전압들(SR1~SR6)을 예시적으로 도시한다.
도6를 참조하면, 아이들 리드 전압(IR6)에 대한 하드 리드 전압(HR)의 틀어진 방향 및 틀어진 정도를 추정하기 위해, 추정부(113)는 하드 데이터(hd_dt) 및 오버 샘플링 데이터(ovs_dt)를 참조할 수 있다.
하드 데이터(hd_dt)는, 하드 리드 전압(HR)이 메모리 셀들(MC)로 인가됨으로써 메모리 셀들(MC)로부터 리드된 데이터일 수 있다. 하드 데이터(hd_dt)는 하드 리드 전압(HR)보다 큰 문턱 전압을 가진 메모리 셀로부터 제1 값, 예를 들어, "0"으로 리드되고, 하드 리드 전압(HR)보다 작은 문턱 전압을 가진 메모리 셀로부터 제2 값, 예를 들어, "1"로 리드될 수 있다.
또한, 추정부(113)는 메모리 셀들(MC)에 대해 제1 및 제2 오버 샘플링 리드 전압들(OVS1, OVS2)에 근거한 오버 샘플링 리드 동작을 수행함으로써 오버 샘플링 데이터(ovs_dt)를 획득할 수 있다. 제1 오버 샘플링 리드 전압(OVS1)은 하드 리드 전압(HR)보다 소정 오프셋 값만큼 작고, 제2 오버 샘플링 리드 전압(OVS2)은 하드 리드 전압(HR)보다 소정 오프셋 값만큼 클 수 있다. 도시된 바와 같이 제1 및 제2 오버 샘플링 리드 전압들(OVS1, OVS2)은 소프트 리드 전압들(SR1~SR6) 중 최외각에 위치하는 소프트 리드 전압들(SR1, SR6)보다 외각에 위치할 수 있지만, 본 발명의 실시 예는 이에 제한되지 않는다.
상술한 바와 같이, 오버 샘플링 데이터(ovs_dt)는 제1 오버 샘플링 리드 전압(OVS1)보다 크고 제2 오버 샘플링 리드 전압(OVS2)보다 작은 문턱 전압을 가진 메모리 셀로부터 제1 값, 예를 들어, "0"으로 획득될 수 있다. 오버 샘플링 데이터(ovs_dt)는 제1 오버 샘플링 리드 전압(OVS1)보다 작고 제2 오버 샘플링 리드 전압(OVS2)보다 큰 문턱 전압을 가진 메모리 셀로부터 제2 값, 예를 들어, "1"로 획득될 수 있다.
그리고, 추정부(113)는 하드 데이터(hd_dt) 및 오버 샘플링 데이터(ovs_dt)를 참조하여 카운팅 문턱 전압 구간들(DA, DB)에 위치하는 메모리 셀들의 개수들을 각각 카운트할 수 있다.
구체적으로, 카운팅 문턱 전압 구간(DA)은 제1 오버 샘플링 리드 전압(SR1)보다 크고 하드 리드 전압(HR)보다 작은 문턱 전압의 범위일 수 있다. 카운팅 문턱 전압 구간(DA)에 위치하는 메모리 셀들(음영으로 표시됨)은 제1 오버 샘플링 리드 전압(SR1)보다 크고 하드 리드 전압(HR)보다 작은 문턱 전압을 가질 수 있다. 즉, 하드 데이터(hd_dt)가 "1"로 리드되고 오버 샘플링 데이터(ovs_dt)가 "0"으로 리드된 메모리 셀이 카운팅 문턱 전압 구간(DA)에 위치할 수 있다.
또한, 카운팅 문턱 전압 구간(DB)은 하드 리드 전압(HR)보다 크고 제2 오버 샘플링 리드 전압(OVS2)보다 작은 문턱 전압의 범위일 수 있다. 카운팅 문턱 전압 구간(DB)에 위치하는 메모리 셀들(빗금으로 표시됨)은 하드 리드 전압(HR)보다 크고 제2 오버 샘플링 리드 전압(OVS2)보다 작은 문턱 전압을 가질 수 있다. 즉, 하드 데이터(hd_dt)가 "0"으로 리드되고 오버 샘플링 데이터(ovs_dt)가 "0"으로 리드된 메모리 셀이 카운팅 문턱 전압 구간(DB)에 위치할 수 있다.
도6에 도시된 바와 같이, 아이들 리드 전압(IR6)에 대한 하드 리드 전압(HR)의 틀어진 방향이 양일 때, 카운팅 문턱 전압 구간(DA)에 위치하는 메모리 셀들의 개수, 즉, 제1 추정 값(NUM_DA)은 카운팅 문턱 전압 구간(DB)에 위치하는 메모리 셀들의 개수, 즉, 제2 추정 값(NUM_DB)보다 작을 수 있다.
정리하면, 추정부(113)는 제1 추정 값(NUM_DA) 및 제2 추정 값(NUM_DB)에 근거하여 하드 리드 전압(HR)의 틀어진 방향을 아래 [표 1]과 같이 추정할 수 있다.
틀어진 방향
NUM_DA < NUM_DB
NUM_DA > NUM_DB
또한, 아이들 리드 전압(IR6)에 대한 하드 리드 전압(HR)의 틀어진 정도가 클수록 제1 추정 값(NUM_DA) 및 제2 추정 값(NUM_DB)의 절대차는 클 수 있다.
따라서, 추정부(113)는 제1 추정 값(NUM_DA) 및 제2 추정 값(NUM_DB)에 근거하여 하드 리드 전압(HR)의 틀어진 정도를 아래 [표 2]와 같이 추정할 수 있다. [표 2]에 따르면 추정부(113)는 제1 추정 값(NUM_DA) 및 제2 추정 값(NUM_DB)의 절대차를 기준 값(RNUM)과 비교함으로써 틀어진 정도가 작은지/큰지를 추정할 수 있다.
틀어진 정도
│NUM_DA - NUM_DB│ < RNUM 작음
│NUM_DA - NUM_DB│ > RNUM
실시 예에 따라 추정부(113)는 하드 리드 전압(HR)의 틀어진 정도를 하나의 기준 값(RNUM)만을 사용하여 단지 작다/크다로 이분화하여 판단하지 않고 복수의 기준 값들을 사용하여 더 세분화하여 판단할 수도 있다.
도7 및 도8은 본 발명의 실시 예에 따라 도1의 신뢰도 값 할당부(114)가 문턱 전압 구간들(S1~S8)에 신뢰도 값들(RLV)을 할당하는 방법을 설명하기 위한 도면들이다. 도7 및 도8에서 신뢰도 값 할당부(114)는 우선 하드 리드 전압(HR)의 틀어진 방향을 고려하여 신뢰도 값들(RLV)을 할당할 수 있다. 도7에서는 문턱 전압 분포들(D71, D72)의 아이들 리드 전압(IR7)에 대한 하드 리드 전압(HR)의 틀어진 방향이 고려되고, 도8에서는 문턱 전압 분포들(D81, D82)의 아이들 리드 전압(IR8)에 대한 하드 리드 전압(HR)의 틀어진 방향이 고려될 수 있다.
우선 도7을 참조하면, 아이들 리드 전압(IR7)에 대한 하드 리드 전압(HR)의 틀어진 방향은 양일 수 있다. 신뢰도 값 할당부(114)는 최초 신뢰도 값들(IRLV)을 양의 조정 값, 예를 들어, "1"만큼 조정함으로써 문턱 전압 구간들(S1~S8)에 신뢰도 값들(RLV)을 할당할 수 있다.
이때, 신뢰도 값들(RLV)의 크기는 "3"까지 증가할 수 있지만, 본 발명의 실시 예는 이에 제한되지는 않는다.
한편, 제1 및 제2 오버 샘플링 리드 전압들(OVS1, OVS2)이 도시된 바와 같이 최외각의 소프트 리드 전압들(SR1, SR6)보다 외각에 위치할 때, 최외각의 각각의 문턱 전압 구간들(S1, S8)은 제1 및 제2 오버 샘플링 리드 전압들(OVS1, OVS2)에 의해 각각 분할될 수 있다. 따라서, 실시 예에 따라, 신뢰도 값 할당부(114)는 분할된 구간들에 최대 크기, 즉, "3"의 한도에서 신뢰도 값들(RLV)을 더 세분화하여 할당할 수 있다. 예를 들어, 문턱 전압 구간(S1)이 제1 오버 샘플링 리드 전압(OVS1)에 의해 2개의 구간들로 분할될 때, 신뢰도 값 할당부(114)는 하드 리드 전압(HR)에 가까운 안쪽 구간에 최초 신뢰도 값 "-3"으로부터 조정된 신뢰도 값 "-2"을 할당하고, 바깥쪽 구간에는 더 큰 크기의 신뢰도 값 "-3"을 할당할 수 있다.
도8을 참조하면, 아이들 리드 전압(IR8)에 대한 하드 리드 전압(HR)의 틀어진 방향은 음일 수 있다. 신뢰도 값 할당부(114)는 최초 신뢰도 값들(IRLV)을 음의 조정 값, 예를 들어, "-1"만큼 조정함으로써 문턱 전압 구간들(S1~S8)에 신뢰도 값들(RLV)을 할당할 수 있다.
또한, 문턱 전압 구간(S8)이 제2 오버 샘플링 리드 전압(OVS2)에 의해 2개의 구간들로 분할될 때, 신뢰도 값 할당부(114)는 하드 리드 전압(HR)에 가까운 안쪽 구간에 최초 신뢰도 값 "3"으로부터 조정된 신뢰도 값 "2"을 할당하고, 바깥쪽 구간에는 더 큰 크기의 신뢰도 값 "3"을 할당할 수 있다.
도7 및 도8에서 신뢰도 값 할당부(114)는 하드 리드 전압(HR)의 떨어진 방향만 고려하고 떨어진 정도는 고려하지 않았다. 하드 리드 전압(HR)의 떨어진 방향만을 고려할 때, 최초 신뢰도 값들(IRLV)의 조정 값은 균일할 수 있다. 후술할 바와 같이 떨어진 정도가 더 고려되고, 그것이 클 때, 신뢰도 값 할당부(114)는 비균일한 조정 값들을 사용하여 최초 신뢰도 값들(IRLV)을 조정할 수 있다. 떨어진 정도가 작을 때는, 신뢰도 값 할당부(114)는 균일한 조정 값을 사용하여 최초 신뢰도 값들(IRLV)을 조정할 수 있고, 그 방법은 도7 및 도8을 참조하여 설명한 바와 실질적으로 동일할 수 있다.
도9 및 도10은 본 발명의 실시 예에 따라 도1의 신뢰도 값 할당부(114)가 문턱 전압 구간들(S1~S8)에 신뢰도 값들(RLV)을 할당하는 방법을 설명하기 위한 도면들이다. 도9 및 도10에서 신뢰도 값 할당부(114)는 하드 리드 전압(HR)의 틀어진 방향 및 틀어진 정도를 고려하여 신뢰도 값들(RLV)을 할당할 수 있다. 도9에서는 문턱 전압 분포들(D91, D92)의 아이들 리드 전압(IR9)에 대한 하드 리드 전압(HR)의 틀어진 방향이 고려되고, 도10에서는 문턱 전압 분포들(D101, D102)의 아이들 리드 전압(IR10)에 대한 하드 리드 전압(HR)의 틀어진 방향이 고려될 수 있다.
도9를 참조하면, 아이들 리드 전압(IR9)에 대한 하드 리드 전압(HR)의 틀어진 방향은 양일 수 있다. 신뢰도 값 할당부(114)가 하드 리드 전압(HR)의 틀어진 방향을 고려하는 방법은 도7을 참조하여 설명한 바와 동일할 수 있다. 즉, 하드 리드 전압(HR)의 틀어진 방향이 양일 때, 신뢰도 값 할당부(114)는 문턱 전압 구간들(S1~S8)에 대해 최초 신뢰도 값들(IRLV)을 양의 조정 값만큼 조정함으로써 신뢰도 값들(RLV)을 할당할 수 있다.
이때, 신뢰도 값 할당부(114)는 하드 리드 전압(HR)의 틀어진 정도가 클 때, 최초 신뢰도 값들(IRLV)을 비균일한 양의 조정 값들만큼 조정할 수 있다.
구체적으로, 신뢰도 값 할당부(114)는 문턱 전압 구간들(S1~S8) 중 틀어진 방향의 일부 문턱 전압 구간들, 예를 들어, 문턱 전압 구간들(S3~S8)의 최초 신뢰도 값들(IRLV)을 제1 조정 값, 예를 들어, "2"만큼 조정하고, 나머지 문턱 전압 구간들(S1, S2)의 최초 신뢰도 값들(IRLV)을 제2 조정 값, 예를 들어, "1"만큼 조정할 수 있다. 즉, 제1 조정 값의 크기는 제2 조정 값의 크기보다 클 수 있다.
제1 조정 값이 적용되는 일부 문턱 전압 구간들(S3~S8)과 제2 조정 값이 적용되는 나머지 문턱 전압 구간들(S1, S2)의 경계는 하드 리드 전압(HR)을 기준으로 틀어진 방향의 반대 방향에 위치할 수 있다.
도10을 참조하면, 아이들 리드 전압(IR10)에 대한 하드 리드 전압(HR)의 틀어진 방향은 음일 수 있다. 신뢰도 값 할당부(114)가 하드 리드 전압(HR)의 틀어진 방향을 고려하는 방법은 도8을 참조하여 설명한 바와 동일할 수 있다. 즉, 하드 리드 전압(HR)의 틀어진 방향이 음일 때, 신뢰도 값 할당부(114)는 문턱 전압 구간들(S1~S8)에 대해 최초 신뢰도 값들(IRLV)을 음의 조정 값만큼 조정함으로써 신뢰도 값들(RLV)을 할당할 수 있다.
이때, 신뢰도 값 할당부(114)는 하드 리드 전압(HR)의 틀어진 정도가 클 때, 최초 신뢰도 값들(IRLV)을 비균일한 음의 조정 값들만큼 조정할 수 있다.
구체적으로, 신뢰도 값 할당부(114)는 문턱 전압 구간들(S1~S8) 중 틀어진 방향의 일부 문턱 전압 구간들, 예를 들어, 문턱 전압 구간들(S1~S6)의 최초 신뢰도 값들(IRLV)을 제1 조정 값, 예를 들어, "-2"만큼 조정하고, 나머지 문턱 전압 구간들(S7, S8)의 최초 신뢰도 값들(IRLV)을 제2 조정 값, 예를 들어, "-1"만큼 조정할 수 있다. 즉, 제1 조정 값의 크기는 제2 조정 값의 크기보다 클 수 있다.
제1 조정 값이 적용되는 일부 문턱 전압 구간들(S1~S6)과 제2 조정 값이 적용되는 나머지 문턱 전압 구간들(S7, S8)의 경계는 하드 리드 전압(HR)을 기준으로 틀어진 방향의 반대 방향에 위치할 수 있다.
도11은 본 발명의 실시 예에 따른 도1의 메모리 시스템(100)의 동작 방법을 도시하는 순서도이다.
단계(S110)에서, 컨트롤러(110)는 메모리 셀들(MC)에 대해 하드 리드 전압에 근거하여 하드 리드 동작을 수행함으로써 하드 데이터(hd_dt)를 획득할 수 있다.
단계(S120)에서, 컨트롤러(110)는 메모리 셀들(MC)에 대해 소프트 리드 전압들에 근거하여 소프트 리드 동작을 수행함으로써 소프트 데이터(sf_dt)를 획득할 수 있다.
단계(S130)에서, 컨트롤러(110)는 메모리 셀들(MC)에 대해 제1 및 제2 오버 샘플링 리드 전압들에 근거하여 오버 샘플링 리드 동작을 수행함으로써 오버 샘플링 데이터(ovs_dt)를 획득할 수 있다.
단계(S140)에서, 추정부(113)는 하드 데이터(hd_dt) 및 오버 샘플링 데이터(ovs_dt)에 근거하여 하드 리드 전압의 틀어진 방향 및 틀어진 정도를 추정할 수 있다.
단계(S150)에서, 신뢰도 값 할당부(114)는 하드 리드 전압의 틀어진 방향 및 틀어진 정도에 근거하여 문턱 전압 구간들에 신뢰도 값들(RLV)을 할당할 수 있다. 문턱 전압 구간들은 하드 리드 전압 및 소프트 리드 전압들에 의해 구분될 수 있다.
단계(S160)에서, 신뢰도 값 할당부(114)는 신뢰도 값들(RLV)에 근거하여 신뢰도 데이터(RLV_dt)를 생성할 수 있다. 신뢰도 값 할당부(114)는 하드 데이터(hd_dt) 및 소프트 데이터(sf_dt)에 근거하여 메모리 셀들(MC) 각각이 위치하는 문턱 전압 구간을 판단하고, 문턱 전압 구간에 할당된 신뢰도 값을 대응하는 메모리 셀에 할당할 수 있다. 메모리 셀에 할당된 신뢰도 값은 해당 메모리 셀로부터 리드된 하드 데이터에 대응하는 신뢰도 데이터(RLV_dt)가 될 수 있다.
단계(S170)에서, 에러 정정부(120)는 신뢰도 데이터(RLV_dt)에 근거하여 하드 데이터(hd_dt)에 대해 에러 정정 동작을 수행할 수 있다.
도12는 본 발명의 실시 예에 따른 도1의 추정부(113)의 동작 방법을 도시하는 순서도이다. 도12에 도시된 절차는 도11의 단계(S140)의 실시 예일 수 있다.
단계(S210)에서, 추정부(113)는 제1 오버 샘플링 리드 전압보다 크고 하드 리드 전압보다 작은 문턱 전압을 가진 메모리 셀들을 카운트하고, 카운트된 결과를 제1 추정 값으로 생성할 수 있다.
단계(S220)에서, 추정부(113)는 하드 리드 전압보다 크고 제2 오버 샘플링 리드 전압보다 작은 문턱 전압을 가진 메모리 셀들을 카운트하고, 카운트된 결과를 제2 추정 값으로 생성할 수 있다.
단계(S230)에서, 추정부(113)는 제1 추정 값과 제2 추정 값을 비교함으로써 하드 리드 전압의 틀어진 방향과 틀어진 정도를 추정할 수 있다. 예를 들어, 추정부(113)는 제1 추정 값이 제2 추정 값보다 작을 때, 하드 리드 전압의 틀어진 방향이 양인 것으로 추정할 수 있다. 추정부(113)는 제1 추정 값이 제2 추정 값보다 클 때, 하드 리드 전압의 틀어진 방향이 음인 것으로 추정할 수 있다.
단계(S240)에서, 추정부(113)는 제1 및 제2 추정 값들의 절대차가 클수록, 하드 리드 전압의 틀어진 정도가 큰 것으로 추정할 수 있다. 예를 들어, 추정부(113)는 제1 및 제2 추정 값들의 절대차가 기준 값보다 클 때, 하드 리드 전압의 틀어진 정도가 "크다"고 추정할 수 있다. 그리고, 추정부(113)는 제1 및 제2 추정 값들의 절대차가 기준 값보다 작을 때, 하드 리드 전압의 틀어진 정도가 "작다"고 추정할 수 있다.
도13은 본 발명의 실시 예에 따른 도1의 신뢰도 값 할당부(114)의 동작 방법을 도시하는 순서도이다. 도13에 도시된 절차는 도11의 단계(S150)의 실시 예일 수 있다.
단계(S310)에서, 신뢰도 값 할당부(114)는 하드 리드 전압의 틀어진 방향이 양인지 판단할 수 있다. 틀어진 방향이 양일 때, 절차는 단계(S320)로 이동할 수 있다. 틀어진 방향이 음일 때, 절차는 단계(S350)로 이동할 수 있다.
단계(S320)에서, 신뢰도 값 할당부(114)는 하드 리드 전압의 틀어진 정도가 큰지 판단할 수 있다. 틀어진 정도가 작을 때, 절차는 단계(S330)로 이동할 수 있다. 틀어진 정도가 클 때, 절차는 단계(S340)로 이동할 수 있다.
단계(S330)에서, 신뢰도 값 할당부(114)는 균일한 양의 조정 값들에 근거하여 문턱 전압 구간들에 대응하는 최초 신뢰도 값들을 조정함으로써 문턱 전압 구간들에 신뢰도 값들을 할당할 수 있다.
단계(S340)에서, 신뢰도 값 할당부(114)는 비균일한 양의 조정 값들에 근거하여 문턱 전압 구간들에 대응하는 최초 신뢰도 값들을 조정함으로써 문턱 전압 구간들에 신뢰도 값들을 할당할 수 있다.
단계(S350)에서, 신뢰도 값 할당부(114)는 하드 리드 전압의 틀어진 정도가 큰지 판단할 수 있다. 틀어진 정도가 작을 때, 절차는 단계(S360)로 이동할 수 있다. 틀어진 정도가 클 때, 절차는 단계(S370)로 이동할 수 있다.
단계(S360)에서, 신뢰도 값 할당부(114)는 균일한 음의 조정 값들에 근거하여 문턱 전압 구간들에 대응하는 최초 신뢰도 값들을 조정함으로써 문턱 전압 구간들에 신뢰도 값들을 할당할 수 있다.
단계(S370)에서, 신뢰도 값 할당부(114)는 비균일한 음의 조정 값들에 근거하여 문턱 전압 구간들에 대응하는 최초 신뢰도 값들을 조정함으로써 문턱 전압 구간들에 신뢰도 값들을 할당할 수 있다.
도 14는 본 발명의 실시 예에 따른 솔리드 스테이트 드라이브(SSD)를 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면이다. 도 14를 참조하면, 데이터 처리 시스템(1000)은 호스트 장치(1100)와 솔리드 스테이트 드라이브(solid state drive)(1200)(이하, SSD라 칭함)를 포함할 수 있다.
SSD(1200)는 컨트롤러(1210), 버퍼 메모리 장치(1220), 비휘발성 메모리 장치들(1231~123n), 전원 공급기(1240), 신호 커넥터(1250) 및 전원 커넥터(1260)를 포함할 수 있다.
컨트롤러(1210)는 SSD(1200)의 제반 동작을 제어할 수 있다. 컨트롤러(1210)는 호스트 인터페이스 유닛(1211), 컨트롤 유닛(1212), 랜덤 액세스 메모리(1213), 에러 정정 코드(ECC) 유닛(1214) 및 메모리 인터페이스 유닛(1215)을 포함할 수 있다.
호스트 인터페이스 유닛(1211)은 신호 커넥터(1250)를 통해서 호스트 장치(1100)와 신호(SGL)를 주고 받을 수 있다. 여기에서, 신호(SGL)는 커맨드, 어드레스, 데이터 등을 포함할 수 있다. 호스트 인터페이스 유닛(1211)은, 호스트 장치(1100)의 프로토콜에 따라서, 호스트 장치(1100)와 SSD(1200)를 인터페이싱할 수 있다. 예를 들면, 호스트 인터페이스 유닛(1211)은, 시큐어 디지털(secure digital), USB(universal serial bus), MMC(multi-media card), eMMC(embedded MMC), PCMCIA(personal computer memory card international association), PATA(parallel advanced technology attachment), SATA(serial advanced technology attachment), SCSI(small computer system interface), SAS(serial attached SCSI), PCI(peripheral component interconnection), PCI-E(PCI Expresss), UFS(universal flash storage)와 같은 표준 인터페이스 프로토콜들 중 어느 하나를 통해서 호스트 장치(1100)와 통신할 수 있다.
컨트롤 유닛(1212)은 호스트 장치(1100)로부터 입력된 신호(SGL)를 분석하고 처리할 수 있다. 컨트롤 유닛(1212)은 SSD(1200)를 구동하기 위한 펌웨어 또는 소프트웨어에 따라서 백그라운드 기능 블럭들의 동작을 제어할 수 있다. 랜덤 액세스 메모리(1213)는 이러한 펌웨어 또는 소프트웨어를 구동하기 위한 동작 메모리로서 사용될 수 있다.
에러 정정 코드(ECC) 유닛(1214)은 비휘발성 메모리 장치들(1231~123n)로 전송될 데이터의 패리티 데이터를 생성할 수 있다. 생성된 패리티 데이터는 데이터와 함께 비휘발성 메모리 장치들(1231~123n)에 저장될 수 있다. 에러 정정 코드(ECC) 유닛(1214)은 패리티 데이터에 근거하여 비휘발성 메모리 장치들(1231~123n)로부터 독출된 데이터의 에러를 검출할 수 있다. 만약, 검출된 에러가 정정 범위 내이면, 에러 정정 코드(ECC) 유닛(1214)은 검출된 에러를 정정할 수 있다.
메모리 인터페이스 유닛(1215)은, 컨트롤 유닛(1212)의 제어에 따라서, 비휘발성 메모리 장치들(1231~123n)에 커맨드 및 어드레스와 같은 제어 신호를 제공할 수 있다. 그리고 메모리 인터페이스 유닛(1215)은, 컨트롤 유닛(1212)의 제어에 따라서, 비휘발성 메모리 장치들(1231~123n)과 데이터를 주고받을 수 있다. 예를 들면, 메모리 인터페이스 유닛(1215)은 버퍼 메모리 장치(1220)에 저장된 데이터를 비휘발성 메모리 장치들(1231~123n)로 제공하거나, 비휘발성 메모리 장치들(1231~123n)로부터 읽혀진 데이터를 버퍼 메모리 장치(1220)로 제공할 수 있다.
버퍼 메모리 장치(1220)는 비휘발성 메모리 장치들(1231~123n)에 저장될 데이터를 임시 저장할 수 있다. 또한, 버퍼 메모리 장치(1220)는 비휘발성 메모리 장치들(1231~123n)로부터 읽혀진 데이터를 임시 저장할 수 있다. 버퍼 메모리 장치(1220)에 임시 저장된 데이터는 컨트롤러(1210)의 제어에 따라 호스트 장치(1100) 또는 비휘발성 메모리 장치들(1231~123n)로 전송될 수 있다.
비휘발성 메모리 장치들(1231~123n)은 SSD(1200)의 저장 매체로 사용될 수 있다. 비휘발성 메모리 장치들(1231~123n) 각각은 복수의 채널들(CH1~CHn)을 통해 컨트롤러(1210)와 연결될 수 있다. 하나의 채널에는 하나 또는 그 이상의 비휘발성 메모리 장치가 연결될 수 있다. 하나의 채널에 연결되는 비휘발성 메모리 장치들은 동일한 신호 버스 및 데이터 버스에 연결될 수 있다.
전원 공급기(1240)는 전원 커넥터(1260)를 통해 입력된 전원(PWR)을 SSD(1200) 백그라운드에 제공할 수 있다. 전원 공급기(1240)는 보조 전원 공급기(1241)를 포함할 수 있다. 보조 전원 공급기(1241)는 서든 파워 오프(sudden power off)가 발생되는 경우, SSD(1200)가 정상적으로 종료될 수 있도록 전원을 공급할 수 있다. 보조 전원 공급기(1241)는 대용량 캐패시터들(capacitors)을 포함할 수 있다.
신호 커넥터(1250)는 호스트 장치(1100)와 SSD(1200)의 인터페이스 방식에 따라서 다양한 형태의 커넥터로 구성될 수 있다.
전원 커넥터(1260)는 호스트 장치(1100)의 전원 공급 방식에 따라서 다양한 형태의 커넥터로 구성될 수 있다.
도 15는 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면이다. 도 15를 참조하면, 데이터 처리 시스템(2000)은 호스트 장치(2100)와 메모리 시스템(2200)을 포함할 수 있다.
호스트 장치(2100)는 인쇄 회로 기판(printed circuit board)과 같은 기판(board) 형태로 구성될 수 있다. 비록 도시되지 않았지만, 호스트 장치(2100)는 호스트 장치의 기능을 수행하기 위한 백그라운드 기능 블럭들을 포함할 수 있다.
호스트 장치(2100)는 소켓(socket), 슬롯(slot) 또는 커넥터(connector)와 같은 접속 터미널(2110)을 포함할 수 있다. 메모리 시스템(2200)은 접속 터미널(2110)에 마운트(mount)될 수 있다.
메모리 시스템(2200)은 인쇄 회로 기판과 같은 기판 형태로 구성될 수 있다. 메모리 시스템(2200)은 메모리 모듈 또는 메모리 카드로 불릴 수 있다. 메모리 시스템(2200)은 컨트롤러(2210), 버퍼 메모리 장치(2220), 비휘발성 메모리 장치(2231~2232), PMIC(power management integrated circuit)(2240) 및 접속 터미널(2250)을 포함할 수 있다.
컨트롤러(2210)는 메모리 시스템(2200)의 제반 동작을 제어할 수 있다. 컨트롤러(2210)는 도 14에 도시된 컨트롤러(1210)와 동일하게 구성될 수 있다.
버퍼 메모리 장치(2220)는 비휘발성 메모리 장치들(2231~2232)에 저장될 데이터를 임시 저장할 수 있다. 또한, 버퍼 메모리 장치(2220)는 비휘발성 메모리 장치들(2231~2232)로부터 읽혀진 데이터를 임시 저장할 수 있다. 버퍼 메모리 장치(2220)에 임시 저장된 데이터는 컨트롤러(2210)의 제어에 따라 호스트 장치(2100) 또는 비휘발성 메모리 장치들(2231~2232)로 전송될 수 있다.
비휘발성 메모리 장치들(2231~2232)은 메모리 시스템(2200)의 저장 매체로 사용될 수 있다.
PMIC(2240)는 접속 터미널(2250)을 통해 입력된 전원을 메모리 시스템(2200) 백그라운드에 제공할 수 있다. PMIC(2240)는, 컨트롤러(2210)의 제어에 따라서, 메모리 시스템(2200)의 전원을 관리할 수 있다.
접속 터미널(2250)은 호스트 장치의 접속 터미널(2110)에 연결될 수 있다. 접속 터미널(2250)을 통해서, 호스트 장치(2100)와 메모리 시스템(2200) 간에 커맨드, 어드레스, 데이터 등과 같은 신호와, 전원이 전달될 수 있다. 접속 터미널(2250)은 호스트 장치(2100)와 메모리 시스템(2200)의 인터페이스 방식에 따라 다양한 형태로 구성될 수 있다. 접속 터미널(2250)은 메모리 시스템(2200)의 어느 한 변에 배치될 수 있다.
도 16은 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면이다. 도 16을 참조하면, 데이터 처리 시스템(3000)은 호스트 장치(3100)와 메모리 시스템(3200)을 포함할 수 있다.
호스트 장치(3100)는 인쇄 회로 기판(printed circuit board)과 같은 기판(board) 형태로 구성될 수 있다. 비록 도시되지 않았지만, 호스트 장치(3100)는 호스트 장치의 기능을 수행하기 위한 백그라운드 기능 블럭들을 포함할 수 있다.
메모리 시스템(3200)은 표면 실장형 패키지 형태로 구성될 수 있다. 메모리 시스템(3200)은 솔더 볼(solder ball)(3250)을 통해서 호스트 장치(3100)에 마운트될 수 있다. 메모리 시스템(3200)은 컨트롤러(3210), 버퍼 메모리 장치(3220) 및 비휘발성 메모리 장치(3230)를 포함할 수 있다.
컨트롤러(3210)는 메모리 시스템(3200)의 제반 동작을 제어할 수 있다. 컨트롤러(3210)는 도 14에 도시된 컨트롤러(1210)와 동일하게 구성될 수 있다.
버퍼 메모리 장치(3220)는 비휘발성 메모리 장치(3230)에 저장될 데이터를 임시 저장할 수 있다. 또한, 버퍼 메모리 장치(3220)는 비휘발성 메모리 장치들(3230)로부터 읽혀진 데이터를 임시 저장할 수 있다. 버퍼 메모리 장치(3220)에 임시 저장된 데이터는 컨트롤러(3210)의 제어에 따라 호스트 장치(3100) 또는 비휘발성 메모리 장치(3230)로 전송될 수 있다.
비휘발성 메모리 장치(3230)는 메모리 시스템(3200)의 저장 매체로 사용될 수 있다.
도 17은 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 네트워크 시스템을 예시적으로 도시하는 도면이다. 도 17을 참조하면, 네트워크 시스템(4000)은 네트워크(4500)를 통해서 연결된 서버 시스템(4300) 및 복수의 클라이언트 시스템들(4410~4430)을 포함할 수 있다.
서버 시스템(4300)은 복수의 클라이언트 시스템들(4410~4430)의 요청에 응답하여 데이터를 서비스할 수 있다. 예를 들면, 서버 시스템(4300)은 복수의 클라이언트 시스템들(4410~4430)로부터 제공된 데이터를 저장할 수 있다. 다른 예로서, 서버 시스템(4300)은 복수의 클라이언트 시스템들(4410~4430)로 데이터를 제공할 수 있다.
서버 시스템(4300)은 호스트 장치(4100) 및 메모리 시스템(4200)을 포함할 수 있다. 메모리 시스템(4200)은 도 1의 메모리 시스템(100), 도 14의 SSD(1200), 도 15의 메모리 시스템(2200), 도 16의 메모리 시스템(3200)으로 구성될 수 있다.
도 18은 본 발명의 실시 예에 따른 메모리 시스템에 포함된 비휘발성 메모리 장치를 예시적으로 도시하는 블럭도이다. 도 18을 참조하면, 비휘발성 메모리 장치(300)는 메모리 셀 어레이(310), 행 디코더(320), 데이터 읽기/쓰기 블럭(330), 열 디코더(340), 전압 발생기(350) 및 제어 로직(360)을 포함할 수 있다.
메모리 셀 어레이(310)는 워드 라인들(WL1~WLm)과 비트 라인들(BL1~BLn)이 서로 교차된 영역에 배열된 메모리 셀(MC)들을 포함할 수 있다.
행 디코더(320)는 워드 라인들(WL1~WLm)을 통해서 메모리 셀 어레이(310)와 연결될 수 있다. 행 디코더(320)는 제어 로직(360)의 제어에 따라 동작할 수 있다. 행 디코더(320)는 외부 장치(도시되지 않음)로부터 제공된 어드레스를 디코딩할 수 있다. 행 디코더(320)는 디코딩 결과에 근거하여 워드 라인들(WL1~WLm)을 선택하고, 구동할 수 있다. 예시적으로, 행 디코더(320)는 전압 발생기(350)로부터 제공된 워드 라인 전압을 워드 라인들(WL1~WLm)에 제공할 수 있다.
데이터 읽기/쓰기 블럭(330)은 비트 라인들(BL1~BLn)을 통해서 메모리 셀 어레이(310)와 연결될 수 있다. 데이터 읽기/쓰기 블럭(330)은 비트 라인들(BL1~BLn) 각각에 대응하는 읽기/쓰기 회로들(RW1~RWn)을 포함할 수 있다. 데이터 읽기/쓰기 블럭(330)은 제어 로직(360)의 제어에 따라 동작할 수 있다. 데이터 읽기/쓰기 블럭(330)은 동작 모드에 따라서 쓰기 드라이버로서 또는 감지 증폭기로서 동작할 수 있다. 예를 들면, 데이터 읽기/쓰기 블럭(330)은 쓰기 동작 시 외부 장치로부터 제공된 데이터를 메모리 셀 어레이(310)에 저장하는 쓰기 드라이버로서 동작할 수 있다. 다른 예로서, 데이터 읽기/쓰기 블럭(330)은 읽기 동작 시 메모리 셀 어레이(310)로부터 데이터를 독출하는 감지 증폭기로서 동작할 수 있다.
열 디코더(340)는 제어 로직(360)의 제어에 따라 동작할 수 있다. 열 디코더(340)는 외부 장치로부터 제공된 어드레스를 디코딩할 수 있다. 열 디코더(340)는 디코딩 결과에 근거하여 비트 라인들(BL1~BLn) 각각에 대응하는 데이터 읽기/쓰기 블럭(330)의 읽기/쓰기 회로들(RW1~RWn)과 데이터 입출력 라인(또는 데이터 입출력 버퍼)을 연결할 수 있다.
전압 발생기(350)는 비휘발성 메모리 장치(300)의 백그라운드 동작에 사용되는 전압을 생성할 수 있다. 전압 발생기(350)에 의해서 생성된 전압들은 메모리 셀 어레이(310)의 메모리 셀들에 인가될 수 있다. 예를 들면, 프로그램 동작 시 생성된 프로그램 전압은 프로그램 동작이 수행될 메모리 셀들의 워드 라인에 인가될 수 있다. 다른 예로서, 소거 동작 시 생성된 소거 전압은 소거 동작이 수행될 메모리 셀들의 웰-영역에 인가될 수 있다. 다른 예로서, 읽기 동작 시 생성된 읽기 전압은 읽기 동작이 수행될 메모리 셀들의 워드 라인에 인가될 수 있다.
제어 로직(360)은 외부 장치로부터 제공된 제어 신호에 근거하여 비휘발성 메모리 장치(300)의 제반 동작을 제어할 수 있다. 예를 들면, 제어 로직(360)은 비휘발성 메모리 장치(300)의 읽기, 쓰기, 소거 동작을 제어할 수 있다.
본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 메모리 시스템
110: 컨트롤러
111: 신뢰도 값 생성부
112: 에러 정정부
113: 추정부
114: 신뢰도 값 할당부
120: 비휘발성 메모리 장치
MC: 메모리 셀들

Claims (20)

  1. 복수의 메모리 셀들을 포함하고, 리드 동작에서 상기 메모리 셀들로 리드 전압을 인가함으로써 데이터를 리드하도록 구성된 비휘발성 메모리 장치; 및
    상기 메모리 셀들에 대해 하드 리드 전압에 근거하여 하드 리드 동작을 수행함으로써 하드 데이터를 획득하고, 신뢰도 값들에 근거하여 상기 하드 데이터에 대해 에러 정정 동작을 수행하도록 구성된 컨트롤러를 포함하되,
    상기 컨트롤러는,
    상기 메모리 셀들에 대해 제1 및 제2 오버 샘플링 리드 전압들에 근거하여 오버 샘플링 리드 동작을 수행함으로써 오버 샘플링 데이터를 획득하고, 상기 하드 데이터 및 상기 오버 샘플링 데이터에 근거하여 상기 하드 리드 전압의 틀어진 방향을 추정하도록 구성된 추정부; 및
    상기 틀어진 방향에 근거하여 복수의 문턱 전압 구간들에 상기 신뢰도 값들을 할당하도록 구성된 신뢰도 값 할당부를 포함하는 메모리 시스템.
  2. ◈청구항 2은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 오버 샘플링 데이터는, 상기 제1 오버 샘플링 리드 전압보다 크고 상기 제2 오버 샘플링 리드 전압보다 작은 문턱 전압을 가진 메모리 셀로부터 제1 값으로 획득되고, 상기 제1 오버 샘플링 리드 전압보다 작고 상기 제2 오버 샘플링 리드 전압보다 큰 문턱 전압을 가진 메모리 셀로부터 제2 값으로 획득되는 메모리 시스템.
  3. ◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 제1 오버 샘플링 리드 전압은 상기 하드 리드 전압보다 오프셋 값만큼 작고, 상기 제2 오버 샘플링 리드 전압은 상기 하드 리드 전압보다 상기 오프셋 값만큼 큰 메모리 시스템.
  4. ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 추정부는, 상기 제1 오버 샘플링 리드 전압보다 크고 상기 하드 리드 전압보다 작은 문턱 전압을 가진 메모리 셀들을 카운트하고 카운트된 개수를 제1 추정 값으로 생성하고, 상기 하드 리드 전압보다 크고 상기 제2 오버 샘플링 리드 전압보다 작은 문턱 전압을 가진 메모리 셀들을 카운트하고 카운트된 개수를 제2 추정 값으로 생성하고, 상기 제1 추정 값과 상기 제2 추정 값을 비교함으로써 상기 틀어진 방향을 추정하는 메모리 시스템.
  5. ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈
    제4항에 있어서,
    상기 추정부는, 상기 제1 추정 값이 상기 제2 추정 값보다 작을 때 상기 틀어진 방향을 플러스로 추정하고, 상기 제1 추정 값이 상기 제2 추정 값보다 클 때 상기 틀어진 방향을 마이너스로 추정하는 메모리 시스템.
  6. ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈
    제4항에 있어서,
    상기 신뢰도 값 할당부는, 상기 틀어진 방향이 플러스일 때 상기 문턱 전압 구간들에 대응하는 최초 신뢰도 값들을 양의 조정 값만큼 조정하고, 상기 틀어진 방향이 마이너스일 때 상기 최초 신뢰도 값들을 음의 조정 값만큼 조정하는 메모리 시스템.
  7. ◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈
    제6항에 있어서,
    상기 추정부는, 상기 제1 추정 값과 상기 제2 추정 값의 절대차에 근거하여 상기 하드 리드 전압의 틀어진 정도를 더 추정하고,
    상기 신뢰도 값 할당부는, 상기 틀어진 정도에 근거하여 상기 문턱 전압 구간들에 대응하는 최초 신뢰도 값들을 비균일하게 조정하는 메모리 시스템.
  8. ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈
    제7항에 있어서,
    상기 신뢰도 값 할당부는, 상기 문턱 전압 구간들 중 일부 문턱 전압 구간들에 대응하는 최초 신뢰도 값들을 제1 조정 값만큼 조정하고, 나머지 문턱 전압 구간들에 대응하는 최초 신뢰도 값들을 제2 조정 값만큼 조정하고,
    상기 일부 문턱 전압 구간들과 상기 나머지 문턱 전압 구간들의 경계는 상기 하드 리드 전압을 기준으로 상기 틀어진 방향의 반대 방향에 위치하고,
    상기 제1 조정 값의 크기는 상기 제2 조정 값의 크기보다 큰 메모리 시스템.
  9. ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 컨트롤러는, 상기 메모리 셀들에 대해 복수의 소프트 리드 전압들에 근거하여 소프트 리드 동작을 수행함으로써 소프트 데이터를 더 획득하고,
    상기 신뢰도 값 할당부는, 상기 하드 데이터 및 상기 소프트 데이터에 근거하여 메모리 셀들 각각이 위치하는 문턱 전압 구간을 판단하고, 상기 문턱 전압 구간에 할당된 신뢰도 값을 대응하는 메모리 셀에 할당함으로써 상기 에러 정정 동작을 위한 신뢰도 데이터를 생성하는 메모리 시스템.
  10. ◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈
    제9항에 있어서,
    상기 문턱 전압 구간들은 상기 하드 리드 전압 및 상기 소프트 리드 전압들에 의해 구분되는 메모리 시스템.
  11. 메모리 셀들에 대해 하드 리드 전압에 근거하여 하드 리드 동작을 수행함으로써 하드 데이터를 획득하는 단계;
    상기 메모리 셀들에 대해 제1 및 제2 오버 샘플링 리드 전압들에 근거하여 오버 샘플링 리드 동작을 수행함으로써 오버 샘플링 데이터를 획득하는 단계;
    상기 하드 데이터 및 상기 오버 샘플링 데이터에 근거하여 상기 하드 리드 전압의 틀어진 방향을 추정하는 단계;
    상기 틀어진 방향에 근거하여 복수의 문턱 전압 구간들에 신뢰도 값들을 할당하는 단계; 및
    상기 신뢰도 값들에 근거하여 상기 하드 데이터에 대해 에러 정정 동작을 수행하는 단계를 포함하는 메모리 시스템의 동작 방법.
  12. ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈
    제11항에 있어서,
    상기 오버 샘플링 데이터는, 상기 제1 오버 샘플링 리드 전압보다 크고 상기 제2 오버 샘플링 리드 전압보다 작은 문턱 전압을 가진 메모리 셀로부터 제1 값으로 획득되고, 상기 제1 오버 샘플링 리드 전압보다 작고 상기 제2 오버 샘플링 리드 전압보다 큰 문턱 전압을 가진 메모리 셀로부터 제2 값으로 획득되는 메모리 시스템의 동작 방법.
  13. ◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈
    제11항에 있어서,
    상기 제1 오버 샘플링 리드 전압은 상기 하드 리드 전압보다 오프셋 값만큼 작고, 상기 제2 오버 샘플링 리드 전압은 상기 하드 리드 전압보다 상기 오프셋 값만큼 큰 메모리 시스템의 동작 방법.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    제11항에 있어서,
    상기 틀어진 방향을 추정하는 단계는,
    상기 제1 오버 샘플링 리드 전압보다 크고 상기 하드 리드 전압보다 작은 문턱 전압을 가진 메모리 셀들을 카운트하고, 카운트된 개수를 제1 추정 값으로 생성하는 단계;
    상기 하드 리드 전압보다 크고 상기 제2 오버 샘플링 리드 전압보다 작은 문턱 전압을 가진 메모리 셀들을 카운트하고, 카운트된 개수를 제2 추정 값으로 생성하는 단계; 및
    상기 제1 추정 값과 상기 제2 추정 값을 비교함으로써 상기 틀어진 방향을 추정하는 단계를 포함하는 메모리 시스템의 동작 방법.
  15. ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈
    제14항에 있어서,
    상기 틀어진 방향을 추정하는 단계는,
    상기 제1 추정 값이 상기 제2 추정 값보다 작을 때, 상기 틀어진 방향을 플러스로 추정하는 단계; 및
    상기 제1 추정 값이 상기 제2 추정 값보다 클 때, 상기 틀어진 방향을 마이너스로 추정하는 단계를 포함하는 메모리 시스템의 동작 방법.
  16. ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈
    제14항에 있어서,
    상기 신뢰도 값들을 할당하는 단계는,
    상기 틀어진 방향이 플러스일 때, 상기 문턱 전압 구간들에 대응하는 최초 신뢰도 값들을 양의 조정 값만큼 조정하는 단계; 및
    상기 틀어진 방향이 마이너스일 때, 상기 최초 신뢰도 값들을 음의 조정 값만큼 조정하는 단계를 포함하는 메모리 시스템의 동작 방법.
  17. ◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈
    제16항에 있어서,
    상기 제1 추정 값과 상기 제2 추정 값의 절대차에 근거하여 상기 하드 리드 전압의 틀어진 정도를 추정하는 단계를 더 포함하되,
    상기 신뢰도 값들을 할당하는 단계는,
    상기 틀어진 정도에 근거하여 상기 문턱 전압 구간들에 대응하는 최초 신뢰도 값들을 비균일하게 조정하는 단계를 더 포함하는 메모리 시스템의 동작 방법.
  18. ◈청구항 18은(는) 설정등록료 납부시 포기되었습니다.◈
    제17항에 있어서,
    상기 최초 신뢰도 값들을 비균일하게 조정하는 단계는,
    상기 문턱 전압 구간들 중 일부 문턱 전압 구간들에 대응하는 최초 신뢰도 값들을 제1 조정 값만큼 조정하고, 나머지 문턱 전압 구간들에 대응하는 최초 신뢰도 값들을 제2 조정 값만큼 조정하는 단계를 포함하되,
    상기 일부 문턱 전압 구간들과 상기 나머지 문턱 전압 구간들의 경계는 상기 하드 리드 전압을 기준으로 상기 틀어진 방향의 반대 방향에 위치하고,
    상기 제1 조정 값의 크기는 상기 제2 조정 값의 크기보다 큰 메모리 시스템의 동작 방법.
  19. ◈청구항 19은(는) 설정등록료 납부시 포기되었습니다.◈
    제11항에 있어서,
    상기 메모리 셀들에 대해 복수의 소프트 리드 전압들에 근거하여 소프트 리드 동작을 수행함으로써 소프트 데이터를 획득하는 단계를 더 포함하되,
    상기 에러 정정 동작을 수행하는 단계는,
    상기 하드 데이터 및 상기 소프트 데이터에 근거하여 메모리 셀들 각각이 위치하는 문턱 전압 구간을 판단하는 단계;
    상기 문턱 전압 구간에 할당된 신뢰도 값을 대응하는 메모리 셀에 할당함으로써 신뢰도 데이터를 생성하는 단계; 및
    상기 하드 데이터 및 상기 신뢰도 데이터에 근거하여 상기 에러 정정 동작을 수행하는 단계를 포함하는 메모리 시스템의 동작 방법.
  20. ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈
    제19항에 있어서,
    상기 문턱 전압 구간들은 상기 하드 리드 전압 및 상기 소프트 리드 전압들에 의해 구분되는 메모리 시스템의 동작 방법.
KR1020170130123A 2017-10-11 2017-10-11 메모리 시스템 및 그것의 동작 방법 KR102349382B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170130123A KR102349382B1 (ko) 2017-10-11 2017-10-11 메모리 시스템 및 그것의 동작 방법
US16/147,202 US10866856B2 (en) 2017-10-11 2018-09-28 Memory system and operating method thereof
CN201811174027.7A CN109658969B (zh) 2017-10-11 2018-10-09 存储器***及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170130123A KR102349382B1 (ko) 2017-10-11 2017-10-11 메모리 시스템 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20190040689A KR20190040689A (ko) 2019-04-19
KR102349382B1 true KR102349382B1 (ko) 2022-01-12

Family

ID=65993221

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170130123A KR102349382B1 (ko) 2017-10-11 2017-10-11 메모리 시스템 및 그것의 동작 방법

Country Status (3)

Country Link
US (1) US10866856B2 (ko)
KR (1) KR102349382B1 (ko)
CN (1) CN109658969B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200117244A (ko) * 2019-04-03 2020-10-14 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20200117374A (ko) * 2019-04-04 2020-10-14 에스케이하이닉스 주식회사 비휘발성 메모리 장치, 이의 동작 방법 및 이를 이용하는 시스템
KR20210003368A (ko) * 2019-07-02 2021-01-12 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
JP2021044034A (ja) * 2019-09-09 2021-03-18 キオクシア株式会社 メモリシステム
CN111276176A (zh) * 2020-02-11 2020-06-12 上海威固信息技术股份有限公司 一种三维堆叠闪存单元阈值电压分布模型构建方法
KR20220058753A (ko) 2020-10-30 2022-05-10 삼성전자주식회사 비휘발성 메모리 장치, 그것을 갖는 저장 장치 및 그것의 리드 방법
US11626168B2 (en) * 2021-03-10 2023-04-11 Samsung Electronics Co.. Ltd. De-noising using multiple threshold-expert machine learning models
US11574697B2 (en) * 2021-06-10 2023-02-07 SK Hynix Inc. Compression framework for log-likelihood ratio generation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170091039A1 (en) 2015-09-25 2017-03-30 SK Hynix Inc. Data storage device and operating method thereof
US20170154657A1 (en) 2015-11-27 2017-06-01 SK Hynix Inc. Data storage device and operating method thereof

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100888695B1 (ko) * 2007-02-27 2009-03-16 삼성전자주식회사 과표본화 읽기 동작을 수행하는 플래시 메모리 장치 및그것의 데이터 독출 방법
US7876621B2 (en) * 2007-04-23 2011-01-25 Sandisk Il Ltd. Adaptive dynamic reading of flash memories
US7843725B2 (en) * 2008-06-11 2010-11-30 Micron Technology, Inc. M+L bit read column architecture for M bit memory cells
US9645177B2 (en) * 2012-05-04 2017-05-09 Seagate Technology Llc Retention-drift-history-based non-volatile memory read threshold optimization
KR102089570B1 (ko) * 2012-06-04 2020-03-16 삼성전자주식회사 저장 장치 및 그것의 데이터 처리 방법
US9239754B2 (en) * 2012-08-04 2016-01-19 Seagate Technology Llc Single read based soft-decision decoding of non-volatile memory
US9953722B2 (en) 2015-01-08 2018-04-24 SK Hynix Inc. Methods of system optimization by over-sampling read
US9564239B2 (en) * 2015-03-16 2017-02-07 Sk Hynix Memory Solutions Inc. Memory controller and operating method thereof
KR102284658B1 (ko) * 2015-03-19 2021-08-02 삼성전자 주식회사 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 상기 비휘발성 메모리 장치의 동작 방법
KR20170000108A (ko) * 2015-06-23 2017-01-02 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법
KR20170039795A (ko) * 2015-10-01 2017-04-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20170058066A (ko) * 2015-11-18 2017-05-26 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102609130B1 (ko) * 2016-02-17 2023-12-05 삼성전자주식회사 읽기 전압 서치 유닛을 포함하는 데이터 저장 장치
US10409672B2 (en) * 2016-11-16 2019-09-10 SK Hynix Inc. Media quality aware ECC decoding method selection to reduce data access latency

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170091039A1 (en) 2015-09-25 2017-03-30 SK Hynix Inc. Data storage device and operating method thereof
US20170154657A1 (en) 2015-11-27 2017-06-01 SK Hynix Inc. Data storage device and operating method thereof

Also Published As

Publication number Publication date
CN109658969A (zh) 2019-04-19
US10866856B2 (en) 2020-12-15
KR20190040689A (ko) 2019-04-19
CN109658969B (zh) 2023-05-23
US20190108092A1 (en) 2019-04-11

Similar Documents

Publication Publication Date Title
KR102349382B1 (ko) 메모리 시스템 및 그것의 동작 방법
US10490268B2 (en) Memory access module for performing memory access management
CN109426580B (zh) 数据存储设备及其操作方法
US10719262B2 (en) Data storage apparatus, operating method thereof, and storage system having the same
US10650901B2 (en) Electronic device, non-transitory computer-readable storage medium, and method of controlling electronic device
US11030099B2 (en) Data storage apparatus and operating method thereof
US11327672B2 (en) Data storage device for searching a last access page and operation method thereof
US20200174921A1 (en) Data storage device, operation method thereof, and storage system including the same
US11176048B2 (en) Data storage device, operation method thereof, and controller therefor
US20200150898A1 (en) Memory system and operating method thereof
US10629275B2 (en) Data storage device and operating method thereof
US20200125285A1 (en) Memory system and operating method thereof
US11079952B2 (en) Data storage device performing scan operations on memory regions to move data and operation method thereof
US10606509B2 (en) Data storage device managing write tag, writing operation method thereof, and storage system including the same
US20200073701A1 (en) Data storage device, operation method thereof and storage system having the same
KR20190070092A (ko) 메모리 시스템 및 그것의 동작 방법
US10553292B1 (en) Memory system with memory region read counts and a memory group read count and operating method thereof
KR20190066327A (ko) 메모리 시스템 및 그것의 동작 방법
US11544004B2 (en) Nonvolatile memory device and memory system including the same
US20210223956A1 (en) Memory system and data processing system including the same
US20220188008A1 (en) Data storage apparatus and operation method thereof
KR20190130828A (ko) 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템

Legal Events

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