KR102144748B1 - 데이터 저장 장치 및 그것의 동작 방법 - Google Patents

데이터 저장 장치 및 그것의 동작 방법 Download PDF

Info

Publication number
KR102144748B1
KR102144748B1 KR1020140032349A KR20140032349A KR102144748B1 KR 102144748 B1 KR102144748 B1 KR 102144748B1 KR 1020140032349 A KR1020140032349 A KR 1020140032349A KR 20140032349 A KR20140032349 A KR 20140032349A KR 102144748 B1 KR102144748 B1 KR 102144748B1
Authority
KR
South Korea
Prior art keywords
error
data
reliability
correction operation
error correction
Prior art date
Application number
KR1020140032349A
Other languages
English (en)
Other versions
KR20150109208A (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 KR1020140032349A priority Critical patent/KR102144748B1/ko
Priority to US14/318,517 priority patent/US9396066B2/en
Publication of KR20150109208A publication Critical patent/KR20150109208A/ko
Application granted granted Critical
Publication of KR102144748B1 publication Critical patent/KR102144748B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • 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

Landscapes

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

Abstract

본 발명에 따른 데이터 저장 장치의 동작 방법은 제1 데이터에 대해 오류 정정 동작을 수행하는 단계 및 상기 오류 정정 동작의 결과가 프리 정정 성공인 경우, 상기 오류 정정 동작을 검토하는 단계를 포함하되, 상기 오류 정정 동작을 검토하는 단계는, 상기 오류 정정 동작을 통해서 오류인 것으로 판단된 적어도 하나의 오류 판정 비트가 상기 제1 데이터에 포함된 실제 오류 비트인지 또는 정상 비트인지 여부를 판단한다.

Description

데이터 저장 장치 및 그것의 동작 방법{DATA STORAGE DEVICE AND OPERATING METHOD THEREOF}
본 발명은 데이터 저장 장치에 관한 것으로, 더욱 상세하게는 데이터 저장 장치에 포함된 ECC 유닛의 동작 방법에 관한 것이다.
데이터 저장 장치는 외부의 쓰기 요청에 응답하여, 외부로부터 제공된 데이터를 저장하도록 구성될 수 있다. 또한, 데이터 저장 장치는 외부의 읽기 요청에 응답하여, 저장된 데이터를 외부로 제공하도록 구성될 수 있다. 데이터 저장 장치는 데이터를 저장하기 위한 불휘발성 메모리 장치를 포함할 수 있다.
불휘발성 메모리 장치는 전원이 공급되지 않아도 저장된 데이터를 유지할 수 있다. 불휘발성 메모리 장치는 낸드 플래시(NAND Flash) 또는 노어 플래시(NOR Flash)와 같은 플래시 메모리 장치, FRAM(Ferroelectrics Random Access Memory), PRAM(Phase-Change Random Access Memory), MRAM(Magnetic Random Access Memory) 또는 RRAM(Resistive Random Access Memory)을 포함할 수 있다.
외부의 읽기 요청에 따라 데이터 저장 장치로부터 외부로 전송되는 데이터는 다양한 이유로 손상될 수 있고, 그 결과 오류들을 포함할 수 있다. 데이터에 포함된 오류들은 불휘발성 메모리 장치에 저장될 때 또는 저장되어 있는 동안에 발생할 수 있다. 데이터에 포함된 오류들은 불휘발성 메모리 장치로부터 독출된 뒤 데이터 버스를 통해 외부로 전송되는 과정 중에 발생할 수도 있다. 데이터 저장 장치는 데이터에 포함된 오류들을 검출하고 정정하기 위해서, ECC 유닛을 포함할 수 있다.
본 발명의 실시 예는 데이터 저장 장치의 데이터 신뢰성을 향상시키기 위한 ECC 유닛 및 그것의 동작 방법을 제공하는데 있다.
실시 예에 따른 데이터 저장 장치의 동작 방법은 제1 데이터에 대해 오류 정정 동작을 수행하는 단계 및 상기 오류 정정 동작의 결과가 프리 정정 성공인 경우, 상기 오류 정정 동작을 검토하는 단계를 포함하되, 상기 오류 정정 동작을 검토하는 단계는, 상기 오류 정정 동작을 통해서 오류인 것으로 판단된 적어도 하나의 오류 판정 비트가 상기 제1 데이터에 포함된 실제 오류 비트인지 또는 정상 비트인지 여부를 판단할 수 있다.
실시 예에 따른 데이터 저장 장치는 저장된 제1 데이터를 독출하여 전송하도록 구성된 불휘발성 메모리 장치 및 상기 제1 데이터에 대해 오류 정정 동작을 수행하고, 상기 오류 정정 동작의 결과가 프리 정정 성공인 경우, 상기 오류 정정 동작을 통해서 오류인 것으로 판단된 적어도 하나의 오류 판정 비트가 상기 제1 데이터에 포함된 실제 오류 비트인지 또는 정상 비트인지 여부를 판단하도록 구성된 ECC 유닛을 포함할 수 있다.
본 발명의 실시 예에 따른 데이터 저장 장치는 데이터 신뢰성을 향상시킬 수 있다.
도 1은 실시 예에 따른 데이터 저장 장치를 예시적으로 도시한 블록도,
도2는 도1에 도시된 ECC 유닛의 동작 방법을 설명하기 위한 순서도,
도3은 도1에 도시된 정정 검토부의 동작 방법을 설명하기 위한 순서도,
도4는 도1에 도시된 정정 검토부의 동작 방법을 상세하게 설명하기 위한 도면,
도5는 도1에 도시된 정정 검토부의 동작 방법을 상세하게 설명하기 위한 도면이다.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.
도1은 실시 예에 따른 데이터 저장 장치(10)를 예시적으로 도시한 블록도이다.
도1을 참조하면, 데이터 저장 장치(10)는 불휘발성 메모리 장치(100) 및 컨트롤러(200)를 포함할 수 있다.
불휘발성 메모리 장치(100)는 데이터를 저장하기 위한 복수의 메모리 셀들을 포함할 수 있다. 불휘발성 메모리 장치(100)는 외부의 읽기 요청에 따라 컨트롤러(200)로부터 전송된 명령에 의해서 메모리 셀들로부터 제1 데이터(dt1)를 독출하여 전송할 수 있다.
컨트롤러(200)는 프로세서(210) 및 ECC 유닛(220)을 포함할 수 있다.
프로세서(210)는 데이터 저장 장치(10)의 제반 동작을 제어할 수 있다. 예를 들어, 프로세서(210)는 불휘발성 메모리 장치(100)에 대한 쓰기 동작 또는 읽기 동작을 제어할 수 있다.
ECC 유닛(220)은 오류 정정부(230) 및 정정 검토부(240)를 포함할 수 있다.
오류 정정부(230)는 독출된 제1 데이터(dt1)에 대해 오류 정정 동작을 수행할 수 있다. 예를 들어, 오류 정정부(230)는 오류 정정 코드 알고리즘에 따른 연산 동작을 통해 제1 데이터(dt1)에 포함된 오류 비트들을 검출하고 검출된 오류 비트들을 정정할 수 있다. 예를 들어, 오류 정정부(230)는 정해진 오류 정정 능력 내의 범위에서 제1 데이터(dt1)에 포함된 오류 비트들을 정정할 수 있다. 오류 정정부(230)는 오류 정정 동작의 결과를 프리 정정 성공 또는 정정 실패로 출력할 수 있다. 오류 정정 동작의 결과가 프리 정정 성공일 때, 오류 정정부(230)는 제1 데이터(dt1)에 대한 오류 정정 결과인 제2 데이터(dt2)를 출력할 수 있다.
예를 들어, 오류 정정부(230)는 제1 데이터(dt1)에 포함된 오류 비트들의 개수가 오류 정정 능력 이하인 경우, 오류 비트들을 정정하고 제2 데이터를 출력할 수 있다. 그리고, 오류 정정부(230)는 오류 정정 동작의 결과를 프리 정정 성공으로 출력할 수 있다.
다른 예로서, 오류 정정부(230)는 제1 데이터(dt1)에 포함된 오류 비트들의 개수가 오류 정정 능력을 초과하는 경우, 오류 비트들을 정정하지 못하고 오류 정정 동작의 결과를 정정 실패로 출력할 수 있다. 오류 정정부(230)는 오류 정정 결과인 제2 데이터(dt2)를 출력하지 않을 수 있다.
예외적으로, 제1 데이터(dt1)에 포함된 오류 비트들의 개수가 오류 정정 능력을 초과함에도 불구하고, 오류 정정부(230)는 오류 정정 코드 알고리즘의 구조적 한계로 인하여 오류 정정 동작의 결과를 프리 정정 성공으로 출력할 수 있다. 이러한 경우, 오류 정정부(230)는 제1 데이터(dt1)에 포함된 실제 오류 비트들이 아닌 정상 비트를 오류 비트로 잘못 판단하고 오류 정정 동작을 수행할 수 있다. 그 결과, 오류 정정부(230)는 제1 데이터(dt1)에 포함되었던 기존의 오류 비트들뿐만 아니라 새로 발생된 오류 비트를 포함한 제2 데이터(dt2)를 출력할 수 있다.
정정 검토부(240)는 오류 정정 동작의 결과가 프리 정정 성공인 경우, 해당 오류 정정 동작을 검토할 수 있다. 즉, 정정 검토부(240)는 오류 정정 동작의 결과가 프리 정정 성공일지라도, 제1 데이터(dt1)에 포함된 실제 오류 비트들에 대한 오류 정정 동작이 성공적으로 수행된 것인지 또는 상술된 예외의 경우에 해당하는 것인지 여부를 검토할 수 있다.
예를 들어, 정정 검토부(240)는 제1 데이터(dt1)에 포함된 실제 오류 비트들에 대한 오류 정정 동작이 성공적으로 수행된 것으로 판단되는 경우, 해당 오류 정정 동작에 관해 포스트 정정 성공으로 판정할 수 있다. 다른 예로서, 정정 검토부(240)는 제1 데이터(dt1)에 포함된 실제 오류 비트들이 아닌 정상 비트들에 대해서 오류 정정 동작이 잘못 수행된 것으로 판단되는 경우, 해당 오류 정정 동작에 관해 정정 실패로 판정할 수 있다.
정정 검토부(240)는 오류 신뢰도에 근거하여 오류 정정 동작을 검토할 수 있다. 오류 신뢰도는 오류 정정부(230)의 오류 정정 동작을 통해서 오류인 것으로 판단된 적어도 하나의 비트(이하, 오류 판정 비트로 정의됨)에 근거하여 산출될 수 있다. 다시 말하면, 정정 검토부(240)는 오류 판정 비트가 제1 데이터(dt1)에 포함된 실제 오류 비트인지 또는 오류 비트로 잘못 판단된 정상 비트인지를 검토할 수 있다.
컨트롤러(200)는 정정 검토부(240)의 검토 결과에 따라서 제2 데이터(dt2)를 외부로 전송할 수 있다. 예를 들어, 정정 검토부(240)가 해당 오류 정정 동작에 관해 포스트 정정 성공으로 판정한 경우, 컨트롤러(200)는 제2 데이터(dt2)를 외부로 전송할 수 있다. 다른 예로서, 정정 검토부(240)가 해당 오류 정정 동작에 관해 정정 실패로 판정한 경우, 컨트롤러(200)는 제2 데이터(dt2)를 외부로 전송하지 않을 수 있다.
도2는 도1에 도시된 ECC 유닛(220)의 동작 방법을 설명하기 위한 순서도이다.
도2에는 미도시되었지만, S110 단계 이전에, 외부의 읽기 요청에 따라, 제1 데이터(도1의 dt1)가 불휘발성 메모리 장치(도1의 100)로부터 독출되고, ECC 유닛(220)으로 전송될 수 있다.
S110 단계에서, 오류 정정부(도1의 230)는 제1 데이터(dt1)에 대해 오류 정정 동작을 수행할 수 있다. 오류 정정부(230)는 오류 정정 동작의 결과를 프리 정정 성공 또는 정정 실패로 출력할 수 있다.
S120 단계에서, 오류 정정 동작의 결과가 프리 정정 성공인 경우, 절차는 S130 단계로 진행될 수 있다. 오류 정정 동작의 결과가 정정 실패인 경우, 본 발명의 실시 예에 따른 동작 방법의 절차는 종료될 것이다.
S130 단계에서, 정정 검토부(도1의 240)는 오류 신뢰도에 근거하여 오류 정정 동작을 검토할 수 있다. 예를 들어, 정정 검토부(240)는 오류 판정 비트들이 제1 데이터(dt1)에 포함된 실제 오류 비트들인 것으로 판단되는 경우, 오류 정정 동작에 관해 포스트 정정 성공으로 판정할 수 있다. 예를 들어, 정정 검토부(240)는 오류 판정 비트들이 제1 데이터(dt1)에 포함된 정상 비트들인 것으로 판단되는 경우, 오류 정정 동작에 관해 정정 실패로 판정할 수 있다.
도3은 도1에 도시된 정정 검토부(240)의 동작 방법을 설명하기 위한 순서도이다. 도3을 참조하면, 도2의 S130 단계, 즉, 정정 검토부(240)가 오류 신뢰도에 근거하여 오류 정정 동작을 검토하는 방법이 상세하게 도시된다.
S131 단계에서, 정정 검토부(240)는 제1 및 제2 데이터(도1의 dt1, dt2)에 근거하여, 오류 정정 동작을 통해 오류라고 판단된 오류 판정 비트들을 검출할 수 있다. 정정 검토부(240)는 제1 및 제2 데이터(dt1, dt2)를 서로 비교하고, 그리고, 제1 데이터(dt1)와 서로 다른 값으로 출력된 제2 데이터(dt2)의 비트를 오류 판정 비트로서 검출할 수 있다.
본 발명의 다른 실시 예에 따르면, 오류 정정 코드 알고리즘에 따라서, 오류 판정 비트는 오류 정정부(230)에 의한 오류 정정 동작 시 검출될 수도 있다. 이러한 경우, S131 단계는 생략될 수도 있다.
S132 단계에서, 정정 검토부(240)는 오류 판정 비트들에 대응하는 연판정값들을 산출할 수 있다. 구체적으로, 정정 검토부(240)는 오류 판정 비트들에 대응하는 메모리 셀들의 문턱 전압들을 획득할 수 있다. 그리고, 정정 검토부(240)는 획득된 문턱 전압들 각각과 기준 전압의 차이들을 연판정값들로서 산출할 수 있다. 연판정값은 해당 오류 판정 비트에 대응하는 메모리 셀의 문턱 전압과 기준 전압의 차이로 정의될 수 있다.
S133 단계에서, 정정 검토부(240)는 연판정값들의 절대값들을 누적하고, 누적 결과에 근거하여 오류 신뢰도를 산출할 수 있다.
S134 단계에서, 정정 검토부(240)는 오류 신뢰도와 신뢰도 문턱값을 비교할 수 있다. 신뢰도 문턱값은 오류 판정 비트들이 실제 오류 비트들일 경우의 오류 신뢰도의 한계값으로 정의될 수 있다. 신뢰도 문턱값은 오류 판정 비트들의 개수에 비례할 수 있다. 오류 신뢰도가 신뢰도 문턱값 이하인 경우, 절차는 S135 단계로 진행될 수 있다. 오류 신뢰도가 신뢰도 문턱값을 초과하는 경우, 절차는 S136 단계로 진행될 수 있다.
S135 단계에서, 정정 검토부(240)는 오류 정정 동작에 관해 포스트 정정 성공으로 판정할 수 있다.
S136 단계에서, 정정 검토부(240)는 오류 정정 동작에 관해 정정 실패로 판정할 수 있다.
도4는 도1에 도시된 정정 검토부(240)의 동작 방법을 상세하게 설명하기 위한 도면이다. 도4는, 정정 검토부(240)가 프리 정정 성공한 특정 오류 정정 동작에 관해 포스트 정정 성공으로 판정하는 경우를 도시한다. 도4를 참조하면, 제1 데이터(dt1)에 대한 오류 정정 동작 결과 제2 데이터(dt2)가 출력된 경우, 예시적인 몇몇 비트들에 대응하는 메모리 셀들의 문턱 전압 분포가 도시된다.
메모리 셀은 대응하는 워드 라인 및 비트 라인의 활성화를 통해서 그 상태가 변경될 수 있다. 어느 메모리 셀의 상태가 변경된다는 것은 해당 메모리 셀의 문턱 전압이 변경된다는 것을 의미할 수 있다. 메모리 셀들은 저장된 데이터에 따라서 서로 다른 상태, 즉, 서로 다른 문턱 전압을 가질 수 있다.
예를 들어, 메모리 셀에 저장된 데이터가 0일 경우, 메모리 셀은 기준 전압보다 큰 문턱 전압을 가질 수 있다. 다른 예로서, 메모리 셀에 저장된 데이터가 1일 경우, 메모리 셀은 기준 전압보다 작은 문턱 전압을 가질 수 있다.
다만, 메모리 셀들마다 서로 다른 전기적 특성 때문에, 특정 데이터가 저장된 메모리 셀들은 일정한 범위의 문턱 전압 분포를 형성할 수 있다. 그리고, 메모리 셀들은 다양한 원인들 때문에 데이터가 저장될 때 형성된 문턱 전압을 유지하지 못할 수도 있다. 이러한 현상들은 메모리 셀들로부터 독출된 데이터가 오류 비트를 포함하도록 유발할 수 있다.
도4의 분포를 참조하면, 쓰기 동작이 기준 전압(vr)으로부터의 마진을 충분히 고려하여 수행된 결과, 제1 데이터(dt1)에 포함된 정상 비트에 대응하는 메모리 셀의 문턱 전압과 기준 전압(vr)의 차이의 절대값은 후술될 오류 비트의 경우보다 비교적 클 수 있다. 예를 들어, 제2, 제29 및 제30 비트들의 경우, 대응하는 메모리 셀들 각각의 문턱 전압과 기준 전압(vr)의 차이의 절대값은 비교적 클 수 있다. 이러한 경우, 제2, 제29 및 제30 비트들은 오류 없이 정상 비트들로 독출될 수 있다.
반면에, 제1 데이터(dt1)에 포함된 오류 비트에 대응하는 메모리 셀의 문턱 전압과 기준 전압(vr)의 차이의 절대값은 정상 비트의 경우보다 비교적 작을 수 있다. 예를 들어, 제1, 제8 및 제22 비트들의 경우, 대응하는 메모리 셀들 각각의 문턱 전압과 기준 전압(vr)의 차이의 절대값은 비교적 작을 수 있다. 이러한 경우, 쓰기 동작 시 해당 메모리 셀에 저장된 데이터가 0일 가능성 및 1일 가능성은 모두 존재할 수 있다. 결국, 제1, 제8 및 제22 비트들은 쓰기 동작 시 저장된 값과 다르게 판단될 수 있고, 오류 비트들로 독출될 수 있다.
설명하기에 앞서, 오류 정정부(도1의 230)의 오류 정정 능력은 3개라고 가정한다. 총 30비트로 구성된 제1 데이터(dt1)가 3개의 오류 비트들을 포함하기 때문에, 오류 정정부(230)는 실제 오류 비트들인 제1, 제8 및 제22 비트들에 대해 오류 정정 동작을 수행하고 제2 데이터(dt2)를 출력할 수 있다.
오류 정정 동작을 검토하기 위해서, 정정 검토부(240)는 오류 판정 비트들, 즉, 제1, 제8 및 제22 비트들에 대응하는 연판정값들(sdv1, sdv2, sdv2)을 도4에 도시된 바와 같이 산출할 수 있다. 연판정값은 대응하는 메모리 셀들 각각의 문턱 전압과 기준 전압(vr)의 차이일 수 있다.
정정 검토부(240)는 연판정값들의 절대값들의 누적합을 통해 오류 신뢰도를 다음과 같이 산출할 수 있다.
오류 신뢰도 = abs(-0.25) + abs(0.1) + abs(0.2) = 0.55 (단, abs()는 절대값을 의미함)
앞서 정의된 신뢰도 문턱값은 아래와 같이 표현될 수 있다. 아래에서 실험 변수는, 실험적으로 구해질 수 있고, 본 실시 예에서는 0.5인 것으로 가정한다.
신뢰도 문턱값 = 오류 판정 비트들의 개수 * 실험 변수 = 3 * 0.5 = 1.5
정정 검토부(240)는 오류 신뢰도와 신뢰도 문턱값을 비교할 수 있다. 비교 결과, 오류 신뢰도(=0.55)가 신뢰도 문턱값(=1.5) 이하이므로, 정정 검토부(240)는 오류 정정 동작에 관해 포스트 정정 성공으로 판정할 수 있다. 다른 말로 하면, 정정 검토부(240)는 오류 판정 비트들이 제1 데이터(dt1)에 포함된 실제 오류 비트들인 것으로 판단할 수 있다. 다른 말로 하면, 정정 검토부(240)는 제1 데이터(dt1)에 포함된 실제 오류 비트들에 대해 오류 정정 동작이 성공적으로 수행된 것으로 판단할 수 있다.
도5는 도1에 도시된 정정 검토부(240)의 동작 방법을 상세하게 설명하기 위한 도면이다. 도5는, 정정 검토부(240)가 프리 정정 성공한 특정 오류 정정 동작에 관해 정정 실패로 판정하는 경우를 도시한다. 도5를 참조하면, 제1 데이터(dt1)에 대한 오류 정정 동작 결과 제2 데이터(dt2)가 출력된 경우, 예시적인 몇몇 비트들에 대응하는 메모리 셀들의 문턱 전압 분포가 도시된다.
문턱 전압 분포에서, 예를 들어, 제2, 제12 및 제29 비트들의 경우, 대응하는 메모리 셀들 각각의 문턱 전압과 기준 전압의 차이의 절대값은 비교적 클 수 있다. 이러한 경우, 제2, 제12 및 제29 비트들은 오류 없이 정상 비트로 독출될 수 있다.
문턱 전압 분포에서, 예를 들어, 제 1, 제 9, 제15, 제18 및 제22 비트들의 경우, 대응하는 메모리 셀들 각각의 문턱 전압과 기준 전압의 차이의 절대값은 비교적 작을 수 있다. 이러한 경우, 제 1, 제 9, 제15, 제18 및 제22 비트들은 오류 비트로 독출될 수 있다.
오류 정정부(도1의 230)의 오류 정정 능력은 3개라고 가정한다. 제1 데이터(dt1)가 오류 정정 능력을 초과하는 5개의 오류 비트들을 포함하는 경우, 오류 정정부(230)는, 예외적으로, 정정 실패가 아닌 프리 정정 성공을 결과로 출력할 수 있다. 이러한 경우, 오류 정정부(230)는 제1 데이터(dt1)에 포함된 실제 오류 비트들이 아닌 정상 비트들, 예를 들어, 제2, 제12 및 제29 비트들을 오류 비트로 잘못 판단하고 오류 정정 동작을 수행할 수 있다.
오류 정정 동작을 검토하기 위해서, 정정 검토부(240)는 오류 판정 비트들, 즉, 제2, 제12 및 제29 비트들에 대응하는 연판정값들(sdv1, sdv2, sdv2)을 도5에 도시된 바와 같이 산출할 수 있다. 연판정값은 대응하는 메모리 셀들 각각의 문턱 전압과 기준 전압(vr)의 차이일 수 있다.
정정 검토부(240)는 연판정값들의 절대값들의 누적합을 통해 오류 신뢰도를 다음과 같이 산출할 수 있다.
오류 신뢰도 = abs(-1.2) + abs(1.0) + abs(1.3) = 3.5 (단, abs()는 절대값을 의미함)
앞서 정의된 신뢰도 문턱값은 아래와 같이 표현될 수 있다. 아래에서 실험 변수는, 실험적으로 구해질 수 있고, 본 실시 예에서는 0.5인 것으로 가정한다.
신뢰도 문턱값 = 오류 판정 비트들의 개수 * 실험 변수 = 3 * 0.5 = 1.5
정정 검토부(240)는 오류 신뢰도와 신뢰도 문턱값을 비교할 수 있다. 비교 결과, 오류 신뢰도(=3.5)가 신뢰도 문턱값(=1.5)를 초과하므로, 정정 검토부(240)는 오류 정정 동작에 관해 정정 실패로 판정할 수 있다. 다른 말로 하면, 정정 검토부(240)는 오류 판정 비트들이 제1 데이터(dt1)에 포함된 실제 오류 비트들이 아닌 정상 비트들인 것으로 판단할 수 있다. 다른 말로 하면, 정정 검토부(240)는 제1 데이터(dt1)에 포함된 실제 오류 비트들이 아닌 정상 비트들에 대해 오류 정정 동작이 잘못 수행된 것으로 판단할 수 있다.
이러한 경우, ECC 유닛(도1의 220)은 해당 제2 데이터(dt2)를 상위 단계로 전송하지 않음으로써, 데이터 저장 장치(도1의 10)의 데이터 신뢰성을 보다 향상시킬 수 있다.
본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10 : 데이터 저장 장치
100 : 불휘발성 메모리 장치
200 : 컨트롤러
210 : 프로세서
220 : ECC 유닛
230 : 오류 정정부
240 : 정정 검토부

Claims (16)

  1. 제1 데이터에 대해 오류 정정 동작을 수행하는 단계; 및
    상기 오류 정정 동작의 결과가 프리 정정 성공인 경우 상기 오류 정정 동작을 검토하는 단계를 포함하되, 상기 검토하는 단계는,
    상기 오류 정정 동작을 통해서 오류인 것으로 판단된 적어도 하나의 오류 판정 비트를 검출하는 단계;
    상기 오류 판정 비트에 대응하는 오류 신뢰도를 결정하는 단계; 및
    상기 오류 신뢰도에 근거하여 상기 오류 판정 비트가 상기 제1 데이터에 포함된 실제 오류 비트인지 또는 정상 비트인지 여부를 판단하는 단계를 포함하는 데이터 저장 장치의 동작 방법.
  2. ◈청구항 2은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 오류 신뢰도를 결정하는 단계는,
    상기 적어도 하나의 오류 판정 비트에 대응하는 적어도 하나의 연판정값을 산출하는 단계를 포함하는 데이터 저장 장치의 동작 방법.
  3. ◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈
    제2항에 있어서,
    상기 연판정값을 산출하는 단계는,
    상기 적어도 하나의 오류 판정 비트에 대응하는 메모리 셀의 문턱 전압을 획득하는 단계; 및
    상기 문턱 전압과 기준 전압의 차이를 상기 연판정값으로 산출하는 단계를 포함하는 데이터 저장 장치의 동작 방법.
  4. ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈
    제2항에 있어서,
    상기 오류 신뢰도를 결정하는 단계는,
    상기 적어도 하나의 연판정값의 절대값을 누적하고, 누적 결과에 근거하여 상기 오류 신뢰도를 산출하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  5. ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈
    제4항에 있어서,
    상기 오류 판정 비트가 상기 실제 오류 비트인지 또는 상기 정상 비트인지 여부를 판단하는 단계는,
    상기 오류 신뢰도와 신뢰도 문턱값을 비교하는 단계; 및
    비교 결과에 따라 상기 오류 정정 동작에 관해 포스트 정정 성공 또는 정정 실패로 판정하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  6. ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈
    제5항에 있어서,
    상기 신뢰도 문턱값은 상기 적어도 하나의 오류 판정 비트의 개수에 비례하는 데이터 저장 장치의 동작 방법.
  7. ◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 오류 판정 비트를 결정하는 단계는,
    상기 제1 데이터 및 상기 오류 정정 동작의 결과 생성된 제2 데이터에 근거하여 상기 적어도 하나의 오류 판정 비트를 검출하는 단계를 포함하는 데이터 저장 장치의 동작 방법.
  8. ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    불휘발성 메모리 장치로부터 상기 제1 데이터를 독출하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  9. 저장된 제1 데이터를 독출하여 전송하도록 구성된 불휘발성 메모리 장치; 및
    상기 제1 데이터에 대해 오류 정정 동작을 수행하고, 상기 오류 정정 동작의 결과가 프리 정정 성공인 경우 상기 오류 정정 동작을 검토하도록 구성된 ECC 유닛을 포함하되,
    상기 ECC 유닛은, 상기 오류 정정 동작을 통해서 오류인 것으로 판단된 적어도 하나의 오류 판정 비트를 검출하고, 상기 오류 판정 비트에 대응하는 오류 신뢰도를 결정하고, 상기 오류 신뢰도에 근거하여 상기 오류 판정 비트가 제1 데이터에 포함된 실제 오류 비트인지 또는 정상 비트인지 여부를 판단함으로써, 상기 오류 정정 동작을 검토하는 데이터 저장 장치.
  10. ◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈
    제9항에 있어서,
    상기 ECC 유닛은 상기 오류 신뢰도를 결정하기 위해 상기 적어도 하나의 오류 판정 비트에 대응하는 적어도 하나의 연판정값을 산출하는 데이터 저장 장치.
  11. ◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈
    제10항에 있어서,
    상기 ECC 유닛은,
    상기 적어도 하나의 오류 판정 비트에 대응하는 메모리 셀의 문턱 전압을 획득하고, 상기 문턱 전압과 기준 전압의 차이를 상기 연판정값으로 산출하는 데이터 저장 장치.
  12. ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈
    제10항에 있어서,
    상기 ECC 유닛은 상기 적어도 하나의 연판정값의 절대값을 누적하고, 누적 결과에 근거하여 상기 오류 신뢰도를 산출하는 데이터 저장 장치.
  13. ◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈
    제12항에 있어서,
    상기 ECC 유닛은,
    상기 오류 신뢰도와 신뢰도 문턱값을 비교하고, 비교 결과에 따라 상기 오류 정정 동작에 관해 포스트 정정 성공 또는 정정 실패로 판정하는 데이터 저장 장치.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    제13항에 있어서,
    상기 신뢰도 문턱값은 상기 적어도 하나의 오류 판정 비트의 개수에 비례하는 데이터 저장 장치.
  15. ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈
    제9항에 있어서,
    상기 ECC 유닛은 상기 제1 데이터 및 상기 오류 정정 동작의 결과 생성된 제2 데이터에 근거하여 상기 적어도 하나의 오류 판정 비트를 검출하는 데이터 저장 장치.
  16. 제1 데이터에 대해 오류 정정 동작을 수행하는 단계;
    상기 오류 정정 동작에 의해 오류인 것으로 판단된 오류 판정 비트를 검출하는 단계;
    상기 오류 판정 비트에 대응하는 메모리 셀의 문턱 전압에 근거하여 상기 오류 판정 비트에 대응하는 오류 신뢰도를 결정하는 단계; 및
    상기 오류 신뢰도에 근거하여, 상기 오류 정정 동작을 통해 상기 제1 데이터에서 실제 오류가 정정된 것인지 여부를 검토하는 단계를 포함하는 데이터 저장 장치의 동작 방법.
KR1020140032349A 2014-03-19 2014-03-19 데이터 저장 장치 및 그것의 동작 방법 KR102144748B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140032349A KR102144748B1 (ko) 2014-03-19 2014-03-19 데이터 저장 장치 및 그것의 동작 방법
US14/318,517 US9396066B2 (en) 2014-03-19 2014-06-27 Data storage device and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140032349A KR102144748B1 (ko) 2014-03-19 2014-03-19 데이터 저장 장치 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20150109208A KR20150109208A (ko) 2015-10-01
KR102144748B1 true KR102144748B1 (ko) 2020-08-18

Family

ID=54142222

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140032349A KR102144748B1 (ko) 2014-03-19 2014-03-19 데이터 저장 장치 및 그것의 동작 방법

Country Status (2)

Country Link
US (1) US9396066B2 (ko)
KR (1) KR102144748B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100199149A1 (en) * 2007-12-05 2010-08-05 Hanan Weingarten Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of "first below" cells

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009129070A (ja) * 2007-11-21 2009-06-11 Hitachi Ltd フラッシュメモリ記憶装置の制御方法、その方法を用いたフラッシュメモリ記憶装置及びストレージシステム
KR101515122B1 (ko) * 2008-02-15 2015-04-27 삼성전자주식회사 저장된 데이터의 오류에 기반하여 기준 전압을 제어하는 방법과 메모리 데이터 검출 장치
JP4856110B2 (ja) * 2008-03-01 2012-01-18 株式会社東芝 チェンサーチ装置およびチェンサーチ方法
US8321752B1 (en) * 2008-11-12 2012-11-27 Marvell International Ltd. Integrated 2-level low density parity check (LDPC) codes
KR101588293B1 (ko) * 2009-02-17 2016-01-26 삼성전자주식회사 비휘발성 메모리 장치의 읽기 방법
KR101635506B1 (ko) 2010-03-29 2016-07-04 삼성전자주식회사 데이터 저장 시스템 및 그것의 읽기 방법
JP2013080450A (ja) * 2011-09-22 2013-05-02 Toshiba Corp メモリ装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100199149A1 (en) * 2007-12-05 2010-08-05 Hanan Weingarten Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of "first below" cells

Also Published As

Publication number Publication date
KR20150109208A (ko) 2015-10-01
US20150269021A1 (en) 2015-09-24
US9396066B2 (en) 2016-07-19

Similar Documents

Publication Publication Date Title
US9081708B2 (en) Dynamic read scheme for high reliability high performance flash memory
KR102143325B1 (ko) 에러 정정 코드(ecc)를 가진 비-휘발성 메모리(nvm) 시스템을 프로그래밍하는 방법
US7590919B2 (en) Apparatus, method and computer program product for reading information stored in storage medium, and storage medium for storing information based on charge amount
KR101434400B1 (ko) 불휘발성 메모리 장치 및 메모리 시스템 및 그것의 관리방법
KR100875979B1 (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 엘에스비 읽기 방법
US10319460B2 (en) Systems and methods utilizing a flexible read reference for a dynamic read window
KR102207217B1 (ko) 플래시 메모리 장치, 플래시 메모리 시스템 및 이의 동작 방법
US8856614B2 (en) Semiconductor memory device detecting error
US20140047301A1 (en) Semiconductor memory device and a method therein
US8782478B2 (en) Non-volatile memory (NVM) with imminent error prediction
US10020066B2 (en) Systems and methods for sub-zero threshold characterization in a memory cell
US7747926B2 (en) Methods and apparatus for a memory device with self-healing reference bits
KR100643288B1 (ko) 플래시 메모리의 데이터 처리 장치 및 방법
US8166368B2 (en) Writing a special symbol to a memory to indicate the absence of a data signal
US20120250410A1 (en) Semiconductor integrated circuit and data read method
EP4073801B1 (en) Memory built-in self-test with automated reference trim feedback for memory sensing
US20140229796A1 (en) Electronic Control Apparatus
TW201732825A (zh) 記憶體讀取方法及記憶體裝置
US11231990B2 (en) Device and method for generating error correction information
KR102144748B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US10665297B2 (en) Memory systems for memory devices and methods of operating the memory systems
US20140281725A1 (en) Detection of memory cells that are stuck in a physical state
US20170235635A1 (en) Solid state storage device and data processing method thereof
JP6363044B2 (ja) 制御装置
TWI737262B (zh) 用於非揮發性記憶體裝置的錯誤更正的控制驗證操作的方法及非揮發性記憶體裝置

Legal Events

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