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

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

Info

Publication number
KR20150122493A
KR20150122493A KR1020140048833A KR20140048833A KR20150122493A KR 20150122493 A KR20150122493 A KR 20150122493A KR 1020140048833 A KR1020140048833 A KR 1020140048833A KR 20140048833 A KR20140048833 A KR 20140048833A KR 20150122493 A KR20150122493 A KR 20150122493A
Authority
KR
South Korea
Prior art keywords
data
parity data
parity
read
stored
Prior art date
Application number
KR1020140048833A
Other languages
English (en)
Inventor
김주희
김광현
Original Assignee
에스케이하이닉스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이하이닉스 주식회사 filed Critical 에스케이하이닉스 주식회사
Priority to KR1020140048833A priority Critical patent/KR20150122493A/ko
Priority to US14/324,920 priority patent/US9417954B2/en
Publication of KR20150122493A publication Critical patent/KR20150122493A/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
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2942Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes wherein a block of parity bits is computed only from combined information bits or only from parity bits, e.g. a second block of parity bits is computed from a first block of parity bits obtained by systematic encoding of a block of information bits, or a block of parity bits is obtained by an XOR combination of sub-blocks of information bits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명에 따른 데이터 저장 장치의 동작 방법은 데이터 및 저장 패리티 데이터를 독출하는 단계, 상기 저장 패리티 데이터와 마스킹 패턴에 대한 논리 연산을 통해 변환 패리티 데이터를 생성하는 단계 및 상기 변환 패리티 데이터에 근거하여 상기 데이터에 대해 에러 정정 동작을 수행하는 단계를 포함한다.

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(Error Correcting Code) 유닛을 추가적으로 구비할 수 있다.
본 발명의 실시 예는 소거된 페이지로부터 독출된 데이터에 대한 에러 정정 동작을 수행할 수 있는 데이터 저장 장치를 제공하는데 있다.
본 발명의 실시 예는 독출된 데이터가 소거된 페이지로부터 독출된 것인지를 판단할 수 있는 데이터 저장 장치를 제공하는데 있다.
본 발명에 따른 데이터 저장 장치의 동작 방법은 데이터 및 저장 패리티 데이터를 독출하는 단계, 상기 저장 패리티 데이터와 마스킹 패턴에 대한 논리 연산을 통해 변환 패리티 데이터를 생성하는 단계 및 상기 변환 패리티 데이터에 근거하여 상기 데이터에 대해 에러 정정 동작을 수행하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 데이터 저장 장치는 데이터 및 저장 패리티 데이터를 독출하도록 구성된 불휘발성 메모리 장치 및 상기 저장 패리티 데이터와 마스킹 패턴에 대한 논리 연산을 통해 변환 패리티 데이터를 생성하고, 상기 변환 패리티 데이터에 근거하여 상기 데이터에 대해 에러 정정 동작을 수행하도록 구성된 ECC 유닛을 포함할 수 있다.
본 발명의 실시 예에 따른 데이터 저장 장치는 소거된 페이지로부터 독출된 데이터에 대한 에러 정정 동작을 수행하고, 독출된 데이터가 소거된 페이지로부터 독출된 것인지 여부를 판단할 수 있다.
도1은 본 발명의 실시 예에 따른 데이터 저장 장치를 예시적으로 도시한 블록도,
도2는 데이터 및 저장 패리티 데이터가 소거된 페이지로부터 독출되는 경우 저장 패리티 마스킹부의 동작을 상세히 설명하기 위한 도면,
도3은 도1에 도시된 ECC 유닛의 동작을 상세하게 설명하기 위한 도면,
도4는 본 발명의 다른 실시 예에 따른 데이터 저장 장치를 예시적으로 도시한 블록도,
도5는 도4에 도시된 ECC 유닛의 동작을 상세하게 설명하기 위한 도면,
도6은 본 발명의 다른 실시 예에 따른 데이터 저장 장치를 예시적으로 도시한 블록도,
도7은 도6에 도시된 ECC 유닛의 동작을 상세하게 설명하기 위한 도면,
도8은 본 발명의 다른 실시 예에 따른 데이터 저장 장치를 예시적으로 도시한 블록도,
도9는 도8에 도시된 ECC 유닛의 동작을 상세하게 설명하기 위한 도면이다.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.
도1은 본 발명의 실시 예에 따른 데이터 저장 장치(10)를 예시적으로 도시한 블록도이다.
데이터 저장 장치(10)는 외부의 쓰기 요청에 응답하여, 외부로부터 제공된 데이터를 저장하도록 구성될 수 있다. 또한, 데이터 저장 장치(10)는 외부의 읽기 요청에 응답하여, 저장된 데이터를 외부로 제공하도록 구성될 수 있다.
데이터 저장 장치(10)는 PCMCIA(Personal Computer Memory Card International Association) 카드, CF(Compact Flash) 카드, 스마트 미디어(Smart Media) 카드, 메모리 스틱(Memory Stick), 다양한 멀티 미디어(Multi Media) 카드(MMC, eMMC, RS-MMC, MMC-micro), SD(Secure Digital) 카드(SD, Mini-SD, Micro-SD), UFS(Universal Flash Storage) 또는 솔리드 스테이트 드라이브(Solid State Drive)를 포함할 수 있다.
데이터 저장 장치(10)는 불휘발성 메모리 장치(100), ECC 유닛(200A) 및 프로세서(500)를 포함할 수 있다.
프로세서(500)는 데이터 저장 장치(10)의 제반 동작을 제어할 수 있다. 프로세서(500)는 불휘발성 메모리 장치(100)의 쓰기, 읽기 또는 소거 동작을 제어하기 위해서 쓰기, 읽기 또는 소거 명령을 생성하고 불휘발성 메모리 장치(100)로 제공할 수 있다.
불휘발성 메모리 장치(100)는 복수의 메모리 블록들(110a~110n)을 포함할 수 있다. 불휘발성 메모리 장치(100)는 프로세서(500)의 소거 명령에 응답하여, 복수의 메모리 블록들(110a~110n) 중 소거 대상이 되는 메모리 블록에 대해 소거 동작을 수행할 수 있다. 즉, 불휘발성 메모리 장치(100)는 메모리 블록 단위로 소거 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 소거 동작 시, 하나의 메모리 블록에 포함된 모든 메모리 셀들이 동시에 액세스되도록 제어할 수 있다.
소거 동작이 수행된 메모리 블록(이하, 소거된 메모리 블록)에 포함된 메모리 셀들(이하, 소거된 메모리 셀들)은 특정한 상태로 존재할 수 있다. 예를 들어, 소거된 메모리 셀들은 0V보다 낮은 레벨의 범위에서 특정한 문턱 전압 분포를 형성할 수 있다.
다른 예로서, 소거된 메모리 셀들은 특정한 값으로 구성된 데이터를 저장한 상태일 수 있다. 이러한 경우, 소거된 메모리 셀들에 대해 읽기 동작이 수행되면, 특정한 값으로 구성된 데이터가 독출될 수 있다. 이하에서, 소거된 메모리 셀들에 저장된 특정한 값으로 구성된 데이터는 소거 데이터로 정의될 수 있다. 이하에서, 소거 데이터를 구성하는 특정한 값은 데이터 '1'인 것으로 가정한다.
제1 메모리 블록(110a)은 복수의 페이지들(111a~111n)을 포함할 수 있다. 불휘발성 메모리 장치(100)는 프로세서(500)의 쓰기 명령에 응답하여, 복수의 페이지들(111a~111n) 중 쓰기 대상이 되는 페이지에 대해서 쓰기 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 프로세서(500)의 읽기 명령에 응답하여, 복수의 페이지들(111a~111n) 중 읽기 대상이 되는 페이지에 대해서 읽기 동작을 수행할 수 있다. 즉, 불휘발성 메모리 장치(100)는 페이지 단위로 쓰기 동작 또는 읽기 동작을 수행할 수 있다. 불휘발성 메모리 장치(100)는 쓰기 동작 또는 읽기 동작 시, 하나의 페이지에 포함된 모든 메모리 셀들이 동시에 액세스되도록 제어할 수 있다.
복수의 페이지들 각각에 쓰기 동작이 수행되는 경우, 데이터(dt) 및 저장 패리티 데이터(p_st)가 페이지들 각각에 저장될 수 있다. 도1은 데이터(dt) 및 저장 패리티 데이터(p_st)가 저장된 제1 페이지(111a)를 예를 들어 도시한다. 데이터(dt)는, 예를 들어, 외부로부터 쓰기 요청된 유저 데이터일 수 있다.
저장 패리티 데이터(p_st)는 저장된 데이터(dt)가 추후에 독출될 때, 데이터(dt)에 발생될 수 있는 에러를 검출하기 위한 정보(이하, 에러 검출 정보)를 포함할 수 있다. 저장 패리티 데이터(p_st)는, 데이터(dt)가 불휘발성 메모리 장치(100)에 저장되기 직전에, 생성될 수 있고, 생성된 저장 패리티 데이터(p_st)는 제1 페이지(111a)에 데이터(dt)와 함께 저장될 수 있다. 저장된 저장 패리티 데이터(p_st)는, 데이터(dt)가 추후에 독출될 때 데이터(dt)와 함께 독출될 수 있다. 독출된 저장 패리티 데이터(p_st)에 포함된 에러 검출 정보는, 독출된 데이터(dt)에 대한 에러 발생 여부를 검출하고 발생된 에러를 정정하는 에러 정정 동작을 위해서 사용될 수 있다.
한편, 데이터(dt) 및 저장 패리티 데이터(p_st)는, 제1 메모리 블록(110a)에 대해 소거 동작이 수행되는 경우, 즉, 제1 페이지(111a)가 소거되는 경우, 소거 데이터로 구성되도록 변경될 수 있다. 소거 데이터로 구성된 저장 패리티 데이터(p_st)는 더 이상 에러 검출 정보를 포함하지 않을 것이다. 저장 패리티 데이터(p_st)가 에러 검출 정보를 포함하지 않은 상태로 데이터(dt)와 함께 독출되는 경우, 저장 패리티 데이터(p_st)는 데이터(dt)에 대한 에러 정정 동작을 위해서 사용될 수 없을 것이다. 후술되는 ECC 유닛(200A)은, 데이터(dt) 및 저장 패리티 데이터(p_st)가 소거된 페이지로부터 독출되더라도, 데이터(dt)에 대한 에러 정정 동작을 위해서, 저장 패리티 데이터(p_st)에 대한 마스킹 동작을 통해 변환 패리티 데이터를 생성할 수 있다.
ECC 유닛(200A)은 인코더(210), 저장 패리티 마스킹부(250) 및 에러 정정부(260)를 포함할 수 있다.
인코더(210)는, 상술한 바와 같이, 추후에 독출된 데이터에 대해 에러 정정 동작이 수행될 수 있도록, 데이터가 불휘발성 메모리 장치(100)에 저장되기 전에 해당 데이터를 인코딩할 수 있다. 인코더(210)는 에러 정정 코드에 근거하여 데이터를 인코딩할 수 있다.
한편, 인코더(210)는, 만일 '1'로만 구성된 데이터에 대해 쓰기 요청이 발생한 경우, 해당 데이터에 대한 특정한 패리티 데이터를 생성할 수 있다. 생성된 특정한 패리티 데이터는 '1'로만 구성된 데이터에 대한 에러 검출 정보를 포함할 것이다. 또한, 생성된 특정한 패리티 데이터는, '1'로만 구성된 데이터가 소거 데이터와 실질적으로 동일하기 때문에, 소거 데이터에 대한 에러 검출 정보를 포함할 것이다. 이하에서, 이와 같이 소거 데이터에 대한 에러 검출 정보를 포함하는 특정한 패리티 데이터는 소거 패리티 데이터로 정의될 수 있다.
저장 패리티 마스킹부(250)는 독출된 저장 패리티 데이터(p_st)에 대해 마스킹 패턴(255)을 사용하여 마스킹 동작을 수행할 수 있다. 저장 패리티 마스킹부(250)는 마스킹 동작을 수행하는 경우, 저장 패리티 데이터(p_st)와 마스킹 패턴(255)에 대한 논리 연산을 통해 변환 패리티 데이터(p_tr)를 생성할 수 있다. 저장 패리티 마스킹부(250)는 저장 패리티 데이터(p_st)를 생성된 변환 패리티 데이터(p_tr)로 치환하여 출력할 수 있다.
도2는 데이터(dt) 및 저장 패리티 데이터(p_st)가 소거된 메모리 블록에 포함된 페이지(이하, 소거된 페이지)로부터 독출되는 경우 저장 패리티 마스킹부(250)의 동작을 상세히 설명하기 위한 도면이다.
예를 들어, 제1 페이지(111a)가 소거되는 경우, 상술한 바와 같이, 데이터(dt)와 저장 패리티 데이터(p_st)는 소거 데이터로 구성되도록 변경될 수 있고, 그 결과 저장 패리티 데이터(p_st)는 데이터(dt)에 대한 에러 검출 정보를 포함하지 않을 수 있다. 저장 패리티 마스킹부(250)는, 소거 데이터로 구성된 저장 패리티 데이터(p_st)가 독출되면, 소거 패리티 데이터와 동일한 값으로 구성된 변환 패리티 데이터(p_tr)를 생성할 수 있다. 소거 패리티 데이터는, 앞서 정의한 바에 따르면, 소거 데이터에 대한 에러 검출 정보를 포함하므로, 생성된 변환 패리티 데이터(p_tr)는 소거 데이터에 대한 에러 검출 정보를 포함할 수 있다.
정리하면, 소거된 페이지로부터 독출된 저장 패리티 데이터(p_st)가 데이터(dt) 대한 에러 검출 정보를 포함하지 않더라도, 저장 패리티 마스킹부(250)에 의해 생성된 변환 패리티 데이터(p_tr)는 소거 데이터에 대한 에러 검출 정보, 즉, 데이터(dt)에 대한 에러 검출 정보를 포함할 수 있다. 생성된 변환 패리티 데이터(p_tr)는 후술되는 에러 정정부(260)에 의해 데이터(dt)에 대한 에러 정정 동작을 위해서 사용될 수 있다.
다시 도1을 참조하면, 에러 정정부(260)는 변환 패리티 데이터(p_tr)에 근거하여 데이터(dt)에 대해 에러 정정 동작을 수행할 수 있다. 에러 정정부(260)는 에러 정정 동작을 통해 에러 정정된 데이터(dt_cr) 및 변환 패리티 데이터(p_tr)를 출력할 수 있다.
도3은 도1에 도시된 ECC 유닛(200A)의 동작을 상세하게 설명하기 위한 도면이다. 도3을 참조하면, 불휘발성 메모리 장치(100)로부터 독출된 데이터(dt) 및 저장 패리티 데이터(p_st)에 대한 ECC 유닛(200A)의 처리 과정이 도시된다.
도3에서, 데이터(dt) 및 저장 패리티 데이터(p_st)는 소거된 페이지로부터 독출된 것으로 가정한다. 따라서, 저장 패리티 데이터(p_st)는 데이터(dt)에 대한 에러 검출 정보를 포함하지 않을 것이다. 그리고, 설명의 간편화를 위해, 데이터(dt) 및 저장 패리티 데이터(p_st)는 각각 3 비트인 것으로 가정한다.
도3을 설명하기에 앞서, 소거 페리티 데이터는 {1, 0, 0}인 것으로 가정한다. 즉, 만일, 소거 데이터와 실질적으로 동일한 {1, 1, 1}에 대해 외부로부터 쓰기 요청이 발생한다면, 인코더(210)는 쓰기 요청된 데이터 {1, 1, 1}의 에러 검출 정보를 포함하도록 소거 패리티 데이터 {1, 0, 0}를 생성할 수 있다. 소거 패리티 데이터 {1, 0, 0}는 소거 데이터에 대한 에러 검출 정보를 포함할 수 있다.
도3을 참조하면, 불휘발성 메모리 장치(100) 내의 소거된 페이지에 저장된 데이터(dt) 및 저장 패리티 데이터(p_st)는 소거 데이터로 구성될 수 있다. 독출된 데이터(dt) 및 저장 패리티 데이터(p_st)는 다양한 원인에 의해서 발생된 에러를 포함할 수 있다.
저장 패리티 마스킹부(250)는 소거 페이지로부터 독출된 저장 패리티 데이터(p_st)에 대해 마스킹 동작을 수행할 수 있다. 저장 패리티 마스킹부(250)는 저장 패리티 데이터(p_st)와 마스킹 패턴(255)에 대한 논리 연산을 통해 변환 패리티 데이터(p_tr)를 생성할 수 있다. 저장 패리티 마스킹부(250)는 저장 패리티 데이터(p_st)의 각각의 비트들과 마스킹 패턴(255)의 각각의 비트들에 대한 배타적 오어 연산을 통해 변환 패리티 데이터(p_tr)를 생성할 수 있다. 마스킹 패턴(255)은, 배타적 오어 연산을 통해, 소거 데이터로 구성된 저장 패리티 데이터(p_st)로부터 소거 패리티 데이터와 동일한 값으로 구성된 변환 패리티 데이터(p_tr)를 생성하도록 설정될 수 있다. 소거 패리티 데이터와 동일한 값으로 생성된 변환 패리티 데이터(p_tr)는 소거 데이터에 대한 에러 검출 정보를 포함할 수 있다.
에러 정정부(260)는 소거 데이터에 대한 에러 검출 정보를 포함하는 변환 패리티 데이터(p_tr)를 참조하여, 데이터(dt)에 대해 에러 정정 동작을 수행할 수 있다. 에러 정정부(260)는 에러 정정 동작을 통해 에러 정정된 데이터(dt_cr) 및 변환 패리티 데이터(p_tr)를 출력할 수 있다.
도4는 본 발명의 다른 실시 예에 따른 데이터 저장 장치(20)를 예시적으로 도시한 블록도이다. 도4에 있어서, 도1에서 설명된 데이터 저장 장치(10)의 구성 요소와 실질적으로 동일한 구성 요소에 대해서는 도1과 동일한 참조 부호가 사용될 것이고, 해당 구성 요소에 대한 상세한 설명은 생략될 것이다.
데이터 저장 장치(20)는 불휘발성 메모리 장치(100)에 포함된 페이지가 소거되었는지 여부를 판단할 수 있다. 예를 들어, 데이터 저장 장치(20)는, 불휘발성 메모리 장치(100)의 쓰기 동작 중 서든 파워 오프가 발생한 경우, 불휘발성 메모리 장치(100) 내부의 순차적인 페이지들 각각이 소거된 페이지인지 여부를 판단할 수 있다. 이러한 경우, 연속적으로 검출되는 소거된 페이지들에 이어서 소거된 페이지가 아닌 비소거된 페이지가 검출될 수 있고, 데이터 저장 장치(20)는 서든 파워 오프 직전에 해당 비소거된 페이지까지 쓰기 동작이 수행된 것으로 판단할 수 있다. 데이터 저장 장치(20)는 불휘발성 메모리 장치(100)의 쓰기 동작이 해당 비소거된 페이지에 연속하는 소거된 페이지부터 재개되도록 제어할 수 있다.
데이터 저장 장치(20)는 소거된 페이지 여부 판단을 위해, 판단 대상이 되는 패이지로부터 데이터를 독출하고, 독출된 데이터에 근거하여 소거된 페이지 여부를 판단할 수 있다. 그런데, 불휘발성 메모리 장치(100)로부터 독출된 데이터는 다양한 원인에 의해서 발생된 에러를 포함할 수 있기 때문에, 만일 데이터 저장 장치(20)가 에러를 포함하는 데이터를 참조하여 소거된 페이지 여부를 판단한다면 부정확한 결과를 출력할 수 있다.
도4의 데이터 저장 장치(20)는 소거된 페이지 여부 판단에 앞서서, 독출된 데이터에 대한 에러 정정 동작을 수행하고, 에러 정정된 데이터에 근거하여 소거 페이지 여부 판단을 할 수 있다. 특히, 데이터 저장 장치(20)는 데이터가 소거된 페이지로부터 독출더라도, 도1 내지 도3을 참조하여 설명된 바와 같이, 독출된 데이터에 대해 에러 정정 동작을 수행할 수 있다.
데이터 저장 장치(20)는 불휘발성 메모리 장치(100), ECC 유닛(200B), 소거된 페이지 판단부(300) 및 프로세서(500)를 포함할 수 있다. ECC 유닛(200B)은 인코더(210), 저장 패리티 마스킹부(250), 에러 정정부(260) 및 변환 패리티 마스킹부(270)를 포함할 수 있다.
변환 패리티 마스킹부(270)는 변환 패리티 데이터(p_tr)에 대해 마스킹 패턴(275)을 사용하여 마스킹 동작을 수행할 수 있다. 변환 패리티 마스킹부(270)는 마스킹 동작을 수행하는 경우, 변환 패리티 데이터(p_tr)와 마스킹 패턴(275)에 대한 논리 연산을 통해 복원 패리티 데이터(p_re)를 생성할 수 있다. 변환 패리티 마스킹부(270)는 마스킹 패턴(255)과 동일한 마스킹 패턴(275)의 사용을 통해 본래 불휘발성 메모리 장치(100)에 저장된 저장 패리티 데이터(p_st)와 실질적으로 동일한 복원 패리티 데이터(p_re)를 생성할 수 있다. 변환 패리티 마스킹부(270)는 변환 패리티 데이터(p_tr)를 생성된 복원 패리티 데이터(p_re)로 치환하여 출력할 수 있다.
소거된 페이지 판단부(300)는 에러 정정된 데이터(dt_cr)와 생성된 복원 패리티 데이터(p_re)에 기초하여, 데이터(dt)와 저장 패리티 데이터(p_st)가 소거된 페이지로부터 독출된 것인지 여부를 판단할 수 있다. 다른 말로 하면, 소거된 페이지 판단부(300)는 에러 정정된 데이터(dt_cr)와 생성된 복원 패리티 데이터(p_re)에 기초하여, 읽기 동작이 수행된 페이지가 소거된 페이지인지 여부를 판단할 수 있다. 소거된 페이지 판단부(300)는 에러 정정된 데이터(dt_cr)와 복원 패리티 데이터(p_re)가 소거 데이터로 구성된 경우, 해당 페이지를 소거된 페이지로 판단할 수 있다. 소거된 페이지 판단부(300)는 에러 정정된 데이터(dt_cr)와 복원 패리티 데이터(p_re)가 소거 데이터로 구성되지 않은 경우, 해당 페이지를 비소거된 페이지로 판단할 수 있다.
소거된 페이지 판단부(300)는 에러 정정된 데이터(dt_cr) 및 복원 패리티 데이터(p_re)의 각각의 비트들에 대한 앤드 연산을 통해 소거 데이터 구성 여부를 판단할 수 있다. 예를 들어, 앤드 연산 결과가 1인 경우, 소거된 페이지 판단부(300)는 에러 정정된 데이터(dt_cr) 및 복원 패리티 데이터(p_re)가 소거 데이터로 구성된 것으로 판단할 수 있다. 다른 예로서, 앤드 연산 결과가 0인 경우, 소거된 페이지 판단부(300)는 에러 정정된 데이터(dt_cr) 및 복원 패리티 데이터(p_re)가 소거 데이터로 구성되지 않은 것으로 판단할 수 있다.
소거된 페이지 판단부(300)는 판단 결과에 따라 검출 신호(det)를 출력할 수 있다.
도5는 도4에 도시된 ECC 유닛(200B)의 동작을 상세하게 설명하기 위한 도면이다. 도5를 참조하면, 불휘발성 메모리 장치(100)로부터 독출된 데이터(dt) 및 저장 패리티 데이터(p_st)에 대한 ECC 유닛(200B)의 처리 과정이 도시된다.
도5에서, 데이터(dt) 및 저장 패리티 데이터(p_st)는 소거된 페이지로부터 독출된 것으로 가정한다. 따라서, 저장 패리티 데이터(p_st)는 데이터(dt)에 대한 에러 검출 정보를 포함하지 않을 것이다. 그리고, 설명의 간편화를 위해, 데이터(dt) 및 저장 패리티 데이터(p_st)는 각각 3 비트인 것으로 가정한다. 소거 패리티 데이터는 {1, 0, 0}인 것으로 가정한다.
이하, 도5를 설명함에 있어서, 도3을 참조하여 설명된 ECC 유닛(200A)의 처리 과정과의 차이점이 우선적으로 설명될 것이다.
앞서 설명된 바와 같이, 에러 정정부(260)는 생성된 변환 패리티 데이터(p_tr)를 참조하여 데이터(dt)에 대해 에러 정정 동작을 수행하고 에러 정정된 데이터(dt_cr) 및 변환 패리티 데이터(p_tr)를 출력할 수 있다.
변환 패리티 마스킹부(270)는 변환 패리티 데이터(p_tr)의 각각의 비트들과 설정된 마스킹 패턴(255)의 각각의 비트들에 대한 배타적 오어 연산을 통해 복원 패리티 데이터(p_re)를 생성할 수 있다. 변환 패리티 마스킹부(270)는 저장 패리티 데이터(p_st)와 실질적으로 동일한 복원 패리티 데이터(p_re)를 생성할 수 있다. 구체적으로, 변환 패리티 마스킹부(270)는 마스킹 패턴(255)과 동일한 마스킹 패턴(275)을 사용하는 경우, 배타적 오어 연산의 특성에 의해 변환 패리티 데이터(p_tr)를 저장 패리티 데이터(p_st)로 되돌릴 수 있기 때문에, 복원 패리티 데이터(p_re)를 저장 패리티 데이터(p_st)와 동일하게 생성할 수 있다.
소거된 페이지 판단부(300)는 에러 정정된 데이터(dt_cr) 및 복원 패리티 데이터(p_re)의 각각의 비트들에 대한 앤드 연산을 통해 소거 데이터 구성 여부를 판단할 수 있다. 에러 정정된 데이터(dt_cr) 및 복원 패리티 데이터(p_re)의 각각의 비트들에 대한 앤드 연산 결과는 1로 출력될 수 있다. 따라서, 소거된 페이지 판단부(300)는 에러 정정된 데이터(dt_cr) 및 복원 패리티 데이터(p_re)가 소거 데이터로 구성된 것으로 판단할 수 있다. 그리고, 소거된 페이지 판단부(300)는 데이터(dt) 및 저장 패리티 데이터(p_st)가 소거된 페이지로부터 독출된 것으로 판단할 수 있다.
정리하면, 도4 및 도5를 참조하여 설명된 데이터 저장 장치(20)는, 불휘발성 메모리 장치(100)로부터 독출된 데이터가 소거된 페이지로부터 독출된 것인지 여부를 판단할 수 있다. 데이터 저장 장치(20)는 독출된 데이터에 대해 에러 정정 동작을 수행하고, 에러 정정된 데이터에 근거하여 읽기 동작이 수행된 페이지가 소거된 페이지인지 여부를 판단할 수 있다.
도6은 본 발명의 다른 실시 예에 따른 데이터 저장 장치(30)를 예시적으로 도시한 블록도이다. 도6을 참조하면, 데이터(dt)를 불휘발성 메모리 장치(100)에 저장하고, 독출된 데이터(dt)에 대해 에러 정정 동작을 수행하는 데이터 저장 장치(30)가 도시된다. 도6에 있어서, 도1에서 설명된 데이터 저장 장치(10)의 구성 요소와 실질적으로 동일한 구성 요소에 대해서는 도1과 동일한 참조 부호가 사용될 것이고, 해당 구성 요소에 대한 상세한 설명은 생략될 것이다.
데이터 저장 장치(30)는 불휘발성 메모리 장치(100), ECC 유닛(200C) 및 프로세서(500)를 포함할 수 있다. ECC 유닛(200C)은 인코더(210), 오리지널 패리티 마스킹부(220), 저장 패리티 마스킹부(250), 에러 정정부(260) 및 변환 패리티 마스킹부(270)를 포함할 수 있다. 데이터 저장 장치(30)는 외부로부터 쓰기 요청된 데이터(dt)를 제공받을 수 있다.
인코더(210)는, 추후에 독출된 데이터(dt)에 대해 에러 정정 동작이 수행될 수 있도록, 쓰기 요청된 데이터(dt)가 불휘발성 메모리 장치(100)에 저장되기 전에 데이터(dt)를 인코딩할 수 있다. 인코더(210)는 에러 정정 코드에 근거하여 데이터(dt)를 인코딩할 수 있다. 인코더(210)는 인코딩 결과, 데이터(dt)의 에러 검출 정보를 포함하는 오리지널 패리티 데이터(p_or)를 생성할 수 있다. 인코더(210)는 생성된 오리지널 패리티 데이터(p_or)를 데이터(dt)에 부가하여 출력할 수 있다.
오리지널 패리티 마스킹부(220)는 생성된 오리지널 패리티 데이터(p_or)에 대해 마스킹 패턴(225)을 사용하여 마스킹 동작을 수행할 수 있다. 오리지널 패리티 마스킹부(220)는 마스킹 동작을 수행할 경우, 오리지널 패리티 데이터(p_or)와 마스킹 패턴(225)에 대한 논리 연산을 통해 저장 패리티 데이터(p_st)를 생성할 수 있다. 오리지널 패리티 마스킹부(220)는 오리지널 패리티 데이터(p_or)를 생성된 저장 패리티 데이터(p_st)로 치환하여 출력할 수 있다.
오리지널 패리티 마스킹부(220)는 불휘발성 메모리 장치에 저장된 데이터(dt) 및 저장 패리티 데이터(p_st)가 추후에 독출될 때, 저장 패리티 마스킹부(250)에 의한 마스킹 동작의 효과를 미리 보상하도록 마스킹 동작을 수행할 수 있다. 후술될 바와 같이, 오리지널 패리티 마스킹부(220)에 의한 마스킹 동작의 효과는 저장 패리티 마스킹부(250)에 의한 마스킹 동작의 효과에 의해 상쇄될 수 있다.
불휘발성 메모리 장치(100)는 쓰기 명령에 응답하여, 쓰기 동작을 통해 데이터(dt) 및 저장 패리티 데이터(p_st)를 저장할 수 있다. 불휘발성 메모리 장치(100)는 읽기 명령에 응답하여, 읽기 동작을 통해 데이터(dt) 및 저장 패리티 데이터(p_st)를 독출할 수 있다.
저장 패리티 마스킹부(250)는 독출된 저장 패리티 데이터(p_st)에 대해 마스킹 패턴(255)을 사용하여 마스킹 동작을 수행할 수 있다. 저장 패리티 마스킹부(250)는 마스킹 동작을 수행하는 경우, 저장 패리티 데이터(p_st)와 마스킹 패턴(255)에 대한 논리 연산을 통해 변환 패리티 데이터(p_tr)를 생성할 수 있다. 저장 패리티 마스킹부(250)는 저장 패리티 데이터(p_st)를 생성된 변환 패리티 데이터(p_tr)로 치환하여 출력할 수 있다.
저장 패리티 마스킹부(250)는 마스킹 패턴(225)과 동일한 마스킹 패턴(255)의 사용을 통해, 오리지널 패리티 데이터(p_or)와 실질적으로 동일한 변환 패리티 데이터(p_tr)를 생성할 수 있다. 오리지널 패리티 마스킹부(220)에 의해서 오리지널 패리티 데이터(p_or)로부터 변환된 저장 패리티 데이터(p_st)는 저장 패리티 마스킹부(250)에 의해서 오리지널 패리티 데이터(p_or)로 되돌려질 수 있다. 즉, 저장 패리티 마스킹부(250)에 의한 마스킹 동작의 효과는 오리지널 패리티 마스킹부(220)에 의한 마스킹 동작의 효과를 상쇄할 수 있다. 생성된 변환 패리티 데이터(p_tr)는 오리지널 패리티 데이터(p_or)와 실질적으로 동일하기 때문에, 데이터(dt)의 에러 검출 정보를 포함할 수 있다.
에러 정정부(260)는 데이터(dt)의 에러 검출 정보를 포함하는 변환 패리티 데이터(p_tr)를 참조하여 데이터(dt)에 대해 에러 정정 동작을 수행할 수 있다.
도7은 도6에 도시된 ECC 유닛(200C)의 동작을 상세하게 설명하기 위한 도면이다. 도7을 참조하면, 데이터(dt)가 불휘발성 메모리 장치(100)에 저장되기 전, 그리고, 불휘발성 메모리 장치(100)로부터 독출된 후 데이터(dt)에 대한 ECC 유닛(200C)의 처리 과정이 도시된다. 도7에서, 설명의 간편화를 위해, 불휘발성 메모리 장치(100)에 저장될 데이터(dt) 및 인코더(210)에 의해 생성되는 오리지널 패리티 데이터(p_or)는 각각 3비트인 것으로 가정한다.
이하, 도7을 설명함에 있어서, 도3을 참조하여 설명된 ECC 유닛(200A)의 처리 과정과의 차이점이 우선적으로 설명될 것이다.
인코더(210)는 데이터(dt)의 에러 검출 정보를 포함하는 오리지널 패리티 데이터(p_or)를 생성할 수 있다. 인코더(210)는 생성된 오리지널 패리티 데이터(p_or)를 데이터(dt)에 부가하여 출력할 수 있다.
오리지널 패리티 마스킹부(220)는 생성된 오리지널 패리티 데이터(p_or)의 각각의 비트들과 마스킹 패턴(255)의 각각의 비트들에 대한 배타적 오어 연산을 통해 저장 패리티 데이터(p_st)를 생성할 수 있다. 오리지널 패리티 마스킹부(220)는 저장 패리티 마스킹부(250)의 마스킹 동작을 미리 보상하도록 마스킹 동작을 수행하기 때문에, 마스킹 패턴(255)과 실질적으로 동일한 마스킹 패턴(225)을 사용할 수 있다.
불휘발성 메모리 장치(100)는 쓰기 명령에 응답하여, 데이터(dt) 및 저장 패리티 데이터(p_st)를 저장할 수 있다. 그리고, 불휘발성 메모리 장치(100)는 읽기 명령에 응답하여, 데이터(dt) 및 저장 패리티 데이터(p_st)를 독출할 수 있다. 불휘발성 메모리 장치(100)로부터 독출된 데이터(dt) 및 저장 패리티 데이터(p_st)는 다양한 원인에 의해서 발생된 에러를 포함할 수 있다.
저장 패리티 마스킹부(250)는 독출된 저장 패리티 데이터(p_st)의 각각의 비트들과 마스킹 패턴(255)의 각각의 비트들에 대한 배타적 오어 연산을 통해 변환 패리티 데이터(p_tr)를 생성할 수 있다. 저장 패리티 마스킹부(250)는 본래 인코더(210)에 의해 생성되었던 오리지널 패리티 데이터(p_or)와 실질적으로 동일한 변환 패리티 데이터(p_tr)를 생성할 수 있다. 즉, 저장 패리티 마스킹부(250)는 오리지널 패리티 마스킹부(220)에 의한 마스킹 동작의 효과를 상쇄하도록 마스킹 동작을 수행할 수 있다. 구체적으로, 저장 패리티 마스킹부(250)는 마스킹 패턴(225)과 동일한 마스킹 패턴(255)을 사용하는 경우, 배타적 오어 연산의 특성에 의해 저장 패리티 데이터를 오리지널 패리티 데이터로 되돌릴 수 있기 때문에, 변환 패리티 데이터(p_tr)를 오리지널 패리티 데이터와 동일하게 생성할 수 있다.
에러 정정부(260)는 생성된 변환 패리티 데이터(p_tr)를 참조하여 데이터(dt)에 대해 에러 정정 동작을 수행할 수 있다.
도6 및 도7을 참조하여 설명된 ECC 유닛(200C)은 비소거된 페이지로부터 독출된 데이터에 대해 에러 정정 동작을 수행할 수 있다. ECC 유닛(200C)은 도1의 ECC 유닛(200A)과 동일한 마스킹 패턴을 사용하여 마스킹 동작을 수행하기 때문에, 도1의 ECC 유닛(200A)과 실질적으로 동일한 방법으로 소거된 페이지로부터 독출된 데이터에 대해서도 에러 정정 동작을 수행할 수 있다.
도8은 본 발명의 다른 실시 예에 따른 데이터 저장 장치(40)를 예시적으로 도시한 블록도이다. 도8에 있어서, 도4 및 도6에서 설명된 데이터 저장 장치(20, 30)의 구성 요소와 실질적으로 동일한 구성 요소에 대해서는 도4 및 도6과 동일한 참조 부호가 사용될 것이고, 해당 구성 요소에 대한 상세한 설명은 생략될 것이다.
데이터 저장 장치(40)는 불휘발성 메모리 장치(100), ECC 유닛(200D), 소거된 페이지 판단부(300) 및 프로세서(500)를 포함할 수 있다. ECC 유닛(200D)은 인코더(210), 오리지널 패리티 마스킹부(220), 저장 패리티 마스킹부(250), 에러 정정부(260), 및 변환 패리티 마스킹부(270)를 포함할 수 있다.
도9는 도8에 도시된 ECC 유닛(200D)의 동작을 상세하게 설명하기 위한 도면이다. 도9를 참조하면, 데이터(dt)가 불휘발성 메모리 장치(100)에 저장되기 전, 그리고, 불휘발성 메모리 장치(100)로부터 독출된 후 데이터(dt)에 대한 ECC 유닛(200D)의 처리 과정이 도시된다. 도9에서, 설명의 간편화를 위해, 불휘발성 메모리 장치(100)에 저장될 데이터(dt) 및 인코더(210)에 의해 생성되는 오리지널 패리티 데이터(p_or)는 각각 3비트인 것으로 가정한다.
이하, 도9를 설명함에 있어서, 도7을 참조하여 설명된 ECC 유닛(200C)의 처리 과정과의 차이점이 우선적으로 설명될 것이다.
앞서 설명된 바와 같이, 에러 정정부(260)는 생성된 변환 패리티 데이터(p_tr)를 참조하여 데이터(dt)에 대해 에러 정정 동작을 수행하고 에러 정정된 데이터(dt_cr) 및 변환 패리티 데이터(p_tr)를 출력할 수 있다.
변환 패리티 마스킹부(270)는 변환 패리티 데이터(p_tr)의 각각의 비트들과 설정된 마스킹 패턴(255)의 각각의 비트들에 대한 배타적 오어 연산을 통해 복원 패리티 데이터(p_re)을 생성할 수 있다. 변환 패리티 마스킹부(270)는 저장 패리티 데이터(p_st)와 실질적으로 동일한 복원 패리티 데이터(p_re)을 생성할 수 있다.
소거된 페이지 판단부(300)는 에러 정정된 데이터(dt_cr) 및 복원 패리티 데이터(p_re)의 각각의 비트들에 대한 앤드 연산을 통해 소거 데이터 구성 여부를 판단할 수 있다. 에러 정정된 데이터(dt_cr) 및 복원 패리티 데이터(p_re)의 각각의 비트들에 대한 앤드 연산 결과는 0으로 출력될 수 있다. 따라서, 소거된 페이지 판단부(300)는 에러 정정된 데이터(dt_cr) 및 복원 패리티 데이터(p_re)가 소거 데이터로 구성되지 않은 것으로 판단할 수 있다. 그리고, 소거된 페이지 판단부(300)는 데이터(dt) 및 저장 패리티 데이터(p_st)가 비소거된 페이지로부터 독출된 것으로 판단할 수 있다.
본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10 : 데이터 저장 장치
100 : 불휘발성 메모리 장치
200A : ECC 유닛
210 : 인코더
250 : 저장 패리티 마스킹부
255 : 마스킹 패턴
260 : 에러 정정부
500 : 프로세서

Claims (18)

  1. 데이터 및 저장 패리티 데이터를 독출하는 단계;
    상기 저장 패리티 데이터와 마스킹 패턴에 대한 논리 연산을 통해 변환 패리티 데이터를 생성하는 단계; 및
    상기 변환 패리티 데이터에 근거하여 상기 데이터에 대해 에러 정정 동작을 수행하는 단계를 포함하는 데이터 저장 장치의 동작 방법.
  2. 제1항에 있어서,
    상기 변환 패리티 데이터는,
    상기 저장 패리티 데이터가 소거된 페이지로부터 독출된 경우, 소거 데이터에 대한 에러 검출 정보를 포함하도록 생성되는 데이터 저장 장치의 동작 방법.
  3. 제1항에 있어서,
    상기 변환 패리티 데이터와 상기 마스킹 패턴에 대한 논리 연산을 통해 복원 패리티 데이터를 생성하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  4. 제3항에 있어서,
    상기 복원 패리티 데이터는 상기 저장 패리티 데이터와 동일하게 생성되는 데이터 저장 장치의 동작 방법.
  5. 제3항에 있어서,
    에러 정정된 데이터 및 상기 복원 패리티 데이터에 기초하여, 상기 데이터 및 상기 저장 패리티 데이터가 소거된 페이지로부터 독출된 것인지 여부를 판단하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  6. 제5항에 있어서,
    상기 소거된 페이지로부터 독출된 것인지 여부를 판단하는 단계는,
    상기 에러 정정된 데이터 및 상기 복원 패리티 데이터의 각각의 비트들에 대한 논리 연산을 수행하는 단계; 및
    논리 연산 결과에 근거하여, 상기 에러 정정된 데이터 및 상기 복원 패리티 데이터가 소거 데이터로 구성된 것인지 여부를 판단하는 단계를 포함하는 데이터 저장 장치의 동작 방법.
  7. 제1항에 있어서,
    상기 독출되는 단계 이전에,
    메모리 영역에 대한 소거 동작을 수행하는 단계를 더 포함하되,
    상기 데이터 및 상기 저장 패리티 데이터는 상기 메모리 영역으로부터 독출되는 데이터 저장 장치의 동작 방법.
  8. 제1항에 있어서,
    상기 독출되는 단계 이전에,
    상기 데이터의 에러 검출 정보를 포함하는 오리지널 패리티 데이터를 생성하는 단계;
    상기 오리지널 패리티 데이터와 상기 마스킹 패턴에 대한 논리 연산을 통해 상기 저장 패리티 데이터를 생성하는 단계; 및
    상기 데이터 및 상기 저장 패리티 데이터를 저장하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  9. 제8항에 있어서,
    상기 변환 패리티 데이터는 상기 오리지널 패리티 데이터와 동일하게 생성되는 데이터 저장 장치의 동작 방법.
  10. 제1항에 있어서,
    상기 저장 패리티 데이터가 소거된 페이지로부터 독출된 경우, 상기 저장 패리티 데이터는 상기 데이터에 대한 에러 검출 정보를 포함하지 않는 데이터 저장 장치의 동작 방법.
  11. 데이터 및 저장 패리티 데이터를 독출하도록 구성된 불휘발성 메모리 장치; 및
    상기 저장 패리티 데이터와 마스킹 패턴에 대한 논리 연산을 통해 변환 패리티 데이터를 생성하고, 상기 변환 패리티 데이터에 근거하여 상기 데이터에 대해 에러 정정 동작을 수행하도록 구성된 ECC 유닛을 포함하는 데이터 저장 장치.
  12. 제11항에 있어서,
    상기 ECC 유닛은,
    상기 저장 패리티 데이터가 상기 불휘발성 메모리 장치 내의 소거된 페이지로부터 독출된 경우, 상기 변환 패리티 데이터가 소거 데이터에 대한 에러 검출 정보를 포함하도록 상기 변환 패리티 데이터를 생성하는 데이터 저장 장치.
  13. 제11항에 있어서,
    상기 ECC 유닛은,
    상기 변환 패리티 데이터와 상기 마스킹 패턴에 대한 논리 연산을 통해 복원 패리티 데이터를 생성하는 데이터 저장 장치.
  14. 제13항에 있어서,
    상기 ECC 유닛은,
    상기 복원 패리티 데이터를 상기 저장 패리티 데이터와 동일하도록 생성하는 데이터 저장 장치.
  15. 제13항에 있어서,
    상기 데이터 저장 장치는,
    에러 정정된 데이터 및 상기 복원 패리티 데이터에 기초하여 상기 데이터 및 상기 저장 패리티 데이터가 소거된 페이지로부터 독출된 것인지 여부를 판단하도록 구성된 소거된 페이지 판단부를 더 포함하는 데이터 저장 장치.
  16. 제15항에 있어서,
    상기 소거된 페이지 판단부는,
    상기 에러 정정된 데이터 및 상기 복원 패리티 데이터의 각각의 비트들에 대한 논리 연산을 수행하고, 논리 연산 결과에 근거하여 상기 에러 정정된 데이터 및 상기 복원 패리티 데이터가 소거 데이터로 구성된 것인지 여부를 판단하는 데이터 저장 장치.
  17. 제11항에 있어서,
    상기 ECC 유닛은,
    상기 데이터의 에러 검출 정보를 포함하는 오리지널 패리티 데이터를 생성하고, 상기 오리지널 패리티 데이터와 상기 마스킹 패턴에 대한 논리 연산을 통해 상기 저장 패리티 데이터를 생성하는 데이터 저장 장치.
  18. 제17항에 있어서,
    상기 ECC 유닛은,
    상기 변환 패리티 데이터를 상기 오리지널 패리티 데이터와 동일하도록 생성하는 데이터 저장 장치.
KR1020140048833A 2014-04-23 2014-04-23 데이터 저장 장치 및 그것의 동작 방법 KR20150122493A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140048833A KR20150122493A (ko) 2014-04-23 2014-04-23 데이터 저장 장치 및 그것의 동작 방법
US14/324,920 US9417954B2 (en) 2014-04-23 2014-07-07 Data storage device and method for operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140048833A KR20150122493A (ko) 2014-04-23 2014-04-23 데이터 저장 장치 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
KR20150122493A true KR20150122493A (ko) 2015-11-02

Family

ID=54334884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140048833A KR20150122493A (ko) 2014-04-23 2014-04-23 데이터 저장 장치 및 그것의 동작 방법

Country Status (2)

Country Link
US (1) US9417954B2 (ko)
KR (1) KR20150122493A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10186324B2 (en) 2017-02-23 2019-01-22 SK Hynix Inc. Nonvolatile memory device, memory system including thereof and operating method thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102571747B1 (ko) * 2018-04-06 2023-08-29 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194571A1 (en) * 2001-06-13 2002-12-19 Michael Parr System and method of coding cyclic redundancy check bits to enhance frequency reuse in a communications network
KR100772393B1 (ko) 2006-02-08 2007-11-01 삼성전자주식회사 에러 정정 블록, 에러 정정 블록의 생성 방법 및 장치,에러 정정 방법
TWI438777B (zh) * 2010-06-10 2014-05-21 Global Unichip Corp 一種快閃記憶體控制器之資料傳輸保護裝置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10186324B2 (en) 2017-02-23 2019-01-22 SK Hynix Inc. Nonvolatile memory device, memory system including thereof and operating method thereof

Also Published As

Publication number Publication date
US20150309864A1 (en) 2015-10-29
US9417954B2 (en) 2016-08-16

Similar Documents

Publication Publication Date Title
KR101801147B1 (ko) 데이터 신뢰성을 개선하는 데이터 관리 방법 및 그에 따른 데이터 저장 장치
US9158681B1 (en) Process and apparatus to reduce declared capacity of a storage device by conditionally trimming
US9817752B2 (en) Data integrity enhancement to protect against returning old versions of data
US20150179254A1 (en) Mitigating disturb effects for non-volatile memory
US9824007B2 (en) Data integrity enhancement to protect against returning old versions of data
US10268540B2 (en) Data storage device and operating method thereof
US9524105B2 (en) Process and apparatus to reduce declared capacity of a storage device by altering an encoding format
WO2014164134A2 (en) Detecting effect of corrupting event on preloaded data in non-volatile memory
US20160179596A1 (en) Operating method of data storage device
US11630725B2 (en) Management of parity data in a memory sub-system
US9043672B2 (en) Memory controller, storage device, and memory control method
CN107045484B (zh) 数据存储装置
CN116954491A (zh) 用于存储控制器的操作方法和包括存储控制器的存储系统
US9619323B2 (en) Data storage device and operating method thereof
US9524112B2 (en) Process and apparatus to reduce declared capacity of a storage device by trimming
US20130104003A1 (en) Memory system and method for recording/reproducing data thereof
KR20180076605A (ko) 데이터 저장 장치 및 그것의 동작 방법
US9563362B2 (en) Host system and process to reduce declared capacity of a storage device by trimming
US20230197183A1 (en) Storage controller including parity management module, storage device including the same, and operating method of storage device
KR20150122493A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20170083386A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20170031311A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN115373863A (zh) 存储器裸片失效风暴期间的性能及死锁缓解
US9552166B2 (en) Process and apparatus to reduce declared capacity of a storage device by deleting data
US9582202B2 (en) Process and apparatus to reduce declared capacity of a storage device by moving data

Legal Events

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