KR101543245B1 - 에러 교정 장치와 이를 포함하는 메모리 장치와 데이터 처리 시스템 - Google Patents

에러 교정 장치와 이를 포함하는 메모리 장치와 데이터 처리 시스템 Download PDF

Info

Publication number
KR101543245B1
KR101543245B1 KR1020090022875A KR20090022875A KR101543245B1 KR 101543245 B1 KR101543245 B1 KR 101543245B1 KR 1020090022875 A KR1020090022875 A KR 1020090022875A KR 20090022875 A KR20090022875 A KR 20090022875A KR 101543245 B1 KR101543245 B1 KR 101543245B1
Authority
KR
South Korea
Prior art keywords
data
calibration
error correction
code
error
Prior art date
Application number
KR1020090022875A
Other languages
English (en)
Other versions
KR20100104454A (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 KR1020090022875A priority Critical patent/KR101543245B1/ko
Priority to US12/720,903 priority patent/US8316280B2/en
Publication of KR20100104454A publication Critical patent/KR20100104454A/ko
Application granted granted Critical
Publication of KR101543245B1 publication Critical patent/KR101543245B1/ko

Links

Images

Classifications

    • 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/2906Coding, 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 using block codes
    • H03M13/2927Decoding strategies
    • 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/14Error detection or correction of the data by redundancy in operation
    • 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/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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/2906Coding, 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 using block codes
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3776Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using a re-encoding step during the decoding process
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes

Landscapes

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

Abstract

에러 교정 장치가 제공된다. 에러 교정 장치는, 다수의 에러 교정 코드들이 저장된 코드 저장부, 입력 데이터로부터 검출된 데이터 에러를 다수의 에러 교정 코드들 중에서 하나의 교정 코드를 이용하여 교정하고, 교정 데이터를 출력하는 제1 에러 교정부, 교정 데이터를 저장하는 버퍼 및 교정 데이터로부터 새로운 교정 코드를 생성하고, 다수의 에러 교정 코드들 중에서 다른 하나의 교정 코드와 새로운 교정 코드를 비교하여 비교 결과를 출력하는 제2 에러 교정부를 포함한다.
ECC, CRC, DRAM, SSD

Description

에러 교정 장치와 이를 포함하는 메모리 장치와 데이터 처리 시스템{Error correcting device, memory device and data processing system including the same}
본 발명의 실시예는 에러 교정 장치에 관한 것으로서, 보다 상세하게는 DRAM(Dynamic Random Access Memory; DRAM)에 저장된 데이터의 무결성(integrity)을 위한 에러 교정 장치, 이의 동작 방법, 이를 포함하는 메모리 장치 및 데이터 처리 시스템에 관한 것이다.
최근 들어 비휘발성 메모리, 예컨대 플래시(Flash) 메모리를 사용하는 장치들이 증가하고 있다. 예를 들면, MP3 플레이어, 디지털 카메라(Digital Camera), 휴대전화(Mobile Phone), 캠코더, 플래시 카드(flash card), 및 SSD(Solid State Drive/Disk) 등은 저장장치로 비휘발성 메모리를 사용하고 있다.
플래시 메모리를 사용하는 저장 장치는 호스트(host)로부터 데이터를 전송받아 플래시 메모리에 저장하는 동작을 함으로써 쓰기 명령(write command)을 수행하게 된다.
이때, 호스트로부터 저장 장치의 플래시 메모리에 데이터를 전송하는 전송 시간보다 전송된 데이터를 플래시 메모리에 저장하기 위한 프로그램 시간이 더 많이 소요되게 된다.
이에 따라, 저장 장치는 플래시 메모리보다 더 빠른 프로그램 시간을 가지는 휘발성 메모리, 예컨대 DRAM을 더 포함하여 구성되며, 호스트로부터 제공된 데이터는 DRAM에 임시로 저장되게 된다.
그러나, 이러한 DRAM의 사용은 데이터가 저장되는 물리적 공간이 더 추가될 뿐 아니라, DRAM에 저장된 데이터의 무결성(integrity)을 보장하기 위한 데이터 처리 스킴(scheme)이 더 필요하게 된다.
본 발명이 해결하고자 하는 과제는, 저장된 데이터의 무결성을 보장할 수 있는 에러 교정 장치를 제공하고자 하는데 있다.
본 발명이 해결하고자 하는 다른 과제는, 이러한 에러 교정 장치의 동작 방법을 제공하고자 하는데 있다.
본 발명이 해결하고자 하는 또 다른 과제는, 이러한 에러 교정 장치를 포함하는 메모리 장치를 제공하고자 하는데 있다.
본 발명이 해결하고자 하는 또 다른 과제는, 이러한 메모리 장치를 포함하는 데이터 처리 시스템을 제공하고자 하는데 있다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 에러 교정 장치는, 다수의 에러 교정 코드들이 저장된 코드 저장부, 입력 데이터로부터 검출된 데이터 에러를 다수의 에러 교정 코드들 중에서 하나의 교정 코드를 이용하여 교정하고, 교정 데이터를 출력하는 제1 에러 교정부, 교정 데이터를 저장하는 버퍼 및 교정 데이터로부터 새로운 교정 코드를 생성하고, 다수의 에러 교정 코드들 중에서 다른 하나의 교정 코드와 새로운 교정 코드를 비교하여 비교 결과를 출력하는 제2 에러 교정부를 포함한다. 버퍼는 제2 에러 교정부로부터 출력된 비교 결과에 따라 입력 데이터를 갱신하기 위한 교정 데이터를 출력한다.
상기 다른 과제를 해결하기 위한 본 발명의 일 실시예에 따른 에러 교정 장치의 동작 방법은, 다수의 에러 교정 코드들 중에서 제1 교정 코드를 이용하여 입력 데이터로부터 검출된 데이터 에러를 교정하고, 교정 데이터를 출력하는 단계, 교정 데이터로부터 새로운 교정 코드를 생성하고, 다수의 에러 교정 코드들 중에서 제2 교정 코드와 새로운 교정 코드를 비교하는 단계 및 비교 결과에 따라 교정 데이터를 출력하는 단계를 포함한다.
상기 또 다른 과제를 해결하기 위한 본 발명의 일 실시예에 따른 메모리 장치는, 외부로부터 입력된 입력 데이터가 저장되는 메모리 및 입력 데이터로부터 검출된 데이터 에러를 교정하는 에러 교정 장치를 포함한다.
상기 또 다른 과제를 해결하기 위한 본 발명의 일 실시예에 따른 데이터 처리 시스템은, 호스트와 데이터 처리 장치를 포함한다.
본 발명의 실시예에 따른 에러 교정 장치, 이의 동작 방법, 이를 포함하는 메모리 장치 및 데이터 처리 시스템에 따르면, 저장된 데이터에서 교정 레벨 이하의 데이터 에러가 발생하더라도 이를 검출하여 교정함으로써, 저장 데이터의 무결성을 보장할 수 있다. 또한, 이러한 데이터 에러 검출 및 교정 동작을 메모리 장치의 대기 시간(Idle time)동안 수행함으로써, 호스트의 리퀘스트(request)에 대한 대기 시간(latency)의 증가를 억제할 수 있다.
본 명세서 또는 출원에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니된다.
본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 메모리 장치의 개략적인 블록도이다. 본 실시예에서의 메모리 장치는 휘발성 메모리 장치일 수 있으며, 예컨대 DRAM(Dynamic Random Access Memory; DRAM) 또는 SRAM(Static Random Access Memory; SRAM)일 수 있다. 이하에서는, 설명의 편의를 위하여 본 실시예의 메모리 장치가 DRAM인 경우를 예시하여 설명하나, SRAM인 경우에도 적용될 수 있다.
도 1을 참조하면, 본 실시예에 따른 메모리 장치(100)는 메모리(170) 및 에러 교정 장치(110)를 포함할 수 있다.
메모리(170)에는 외부, 예컨대 호스트(미도시) 등과 같은 외부 기기로부터 입력된 입력 데이터(DATA)가 저장될 수 있다. 메모리(170)는 전원이 차단되면 저장된 입력 데이터(DATA)가 손실되는 특성을 가지는 휘발성 메모리일 수 있다. 따라서, 외부로부터 입력되는 입력 데이터(DATA)는 메모리(170)에 임시 저장될 수 있으며, CPU 등과 같은 컨트롤러(미도시)의 제어에 의해 임시 저장된 입력 데이터(DATA)를 외부 메모리, 예컨대 비휘발성 메모리(미도시)로 출력할 수 있다.
메모리(170)는 내부에 정의된 다수의 캐시 라인들(cache lines) 각각을 이용하여 입력 데이터(DATA)를 저장할 수 있다. 예컨대, 메모리(170)는 다수의 캐시 라 인들 각각에 입력 데이터(DATA)를 순차적으로 저장할 수 있으며, 다수의 캐시 라인들 각각에 저장된 입력 데이터(DATA)를 외부 메모리로 출력할 수 있다.
여기서, 메모리(170)는 클린(clean) 캐시 라인과 더티(dirty) 캐시 라인을 포함할 수 있다. 클린 캐시 라인은 캐시 라인에 저장된 입력 데이터(DATA)가 외부 메모리로 출력되어 저장된 상태를 의미할 수 있으며, 더티 캐시 라인은 캐시 라인에 저장된 입력 데이터(DATA)가 외부 메모리로 출력되지 않은 상태, 즉 메모리(170)에만 저장되어 있는 상태를 의미할 수 있다.
한편, 후술될 메모리 장치(100)의 에러 교정 장치(110)는 메모리(170)의 더티 캐시 라인 상태, 즉 메모리(170)에 입력 데이터(DATA)가 저장된 상태에서의 에러 교정 동작을 수행할 수 있다.
에러 교정 장치(110)는 DMA(Direct Memory Access; DMA) 컨트롤러(120), 코드 저장부(130), 제1 에러 교정부(140), 제2 에러 교정부(150) 및 버퍼(160)를 포함할 수 있다.
에러 교정 장치(110)는 메모리(170)의 더티 캐시 라인 상태에서 입력 데이터(DATA)의 에러(또는, 오류)를 검출하고, 이를 교정하는 동작을 수행할 수 있다.
DMA 컨트롤러(120)는 제어 신호(CNT)에 따라 에러 교정 장치(110)의 동작을 제어할 수 있다. 예컨대, DMA 컨트롤러(120)는 CPU 등과 같은 외부 컨트롤러로부터 메모리 장치(100)가 현재 동작을 수행하지 않는 대기 상태라는 제어 신호(CNT)를 입력받을 수 있다. DMA 컨트롤러(120)는 제어 신호(CNT)에 따라 외부 컨트롤러의 제어 없이 에러 교정 장치(110)의 동작을 제어할 수 있다. 예컨대, DMA 컨트롤 러(120)는 제어 신호(CNT)에 따라 메모리(170)로부터 입력 데이터(DATA)를 리딩하여 제1 에러 교정부(140)로 출력할 수 있다.
즉, 본 실시예의 에러 교정 장치(110)는 메모리 장치(100)의 대기 시간(Idle time)동안 DMA 컨트롤러(120)의 동작 제어에 따라 입력 데이터(DATA)의 에러를 교정하는 동작을 수행할 수 있다.
코드 저장부(130)는 외부로부터 입력된 다수의 에러 교정 코드들, 예컨대 제1 교정 코드(EC1) 및 제2 교정 코드(EC2)를 저장할 수 있다.
코드 저장부(130)는 제1 에러 교정 코드 저장부(131) 및 제2 에러 교정 코드 저장부(133)를 포함할 수 있다. 제1 교정 코드(EC1)는 제1 에러 교정 코드 저장부(131)에 저장될 수 있으며, 제2 교정 코드(EC2)는 제2 에러 교정 코드 저장부(133)에 저장될 수 있다.
제1 교정 코드(EC1)와 제2 교정 코드(EC2)는 메모리(170)에 입력된 입력 데이터(DATA)와 대응될 수 있다. 예컨대, 제1 교정 코드(EC1)와 제2 교정 코드(EC2)는 외부 컨트롤러 등에 의해 입력 데이터(DATA)에 해당하는 코드들로 형성될 수 있으며, 외부로부터 입력 데이터(DATA)와 함께 메모리 장치(100)에 제공될 수 있다.
제1 교정 코드(EC1)는 오류 정정 코드(Error Correcting Code; ECC)일 수 있으며, 제2 교정 코드(EC2)는 순환 중복 검사(Cyclic Redundancy Check; CRC) 코드일 수 있다.
코드 저장부(130)는 DMA 컨트롤러(120)의 제어에 따라 저장된 다수의 에러 교정 코드들 각각을 출력할 수 있다. 예컨대, 코드 저장부(130)의 제1 에러 교정 코드 저장부(131)는 제1 교정 코드(EC1)를 제1 에러 교정부(140)로 출력할 수 있다. 코드 저장부(130)의 제2 에러 코드 저장부(130)는 제2 교정 코드(EC2)를 제2 에러 교정부(150)로 출력할 수 있다.
제1 에러 교정부(140)는 교정부(141)와 교정 정보 저장부(143)를 포함할 수 있다.
교정부(141)는 DMA 컨트롤러(120)가 메모리(170)로부터 리딩한 입력 데이터(DATA)를 제공받고, 입력 데이터(DATA)의 데이터 에러를 검출할 수 있다.
또한, 교정부(141)는 코드 저장부(130)로부터 출력된 다수의 에러 교정 코드들 중에서 하나의 에러 교정 코드, 예컨대 제1 교정 코드(EC1)를 이용하여 검출된 데이터 에러를 교정할 수 있다.
여기서, 입력 데이터(DATA)로부터 검출된 데이터 에러는 외부로부터 메모리(170)에 입력 데이터(DATA)가 저장되는 동안 발생한 데이터 에러이거나 또는 DMA 컨트롤러(120)가 메모리(170)로부터 저장된 입력 데이터(DATA)를 리딩하는 동안 발생한 데이터 에러일 수 있다.
교정부(141)는 제1 에러 교정 코드 저장부(131)로부터 제공된 제1 교정 코드(EC1)를 이용하여 DMA 컨트롤러(120)를 통해 제공된 입력 데이터(DATA)에 발생한 데이터 에러를 교정할 수 있다.
이때, 교정부(141)는 입력 데이터(DATA)로부터 검출된 데이터 에러가 교정 레벨 이하의 데이터 에러인 경우에도 제1 교정 코드(EC1)를 이용하여 교정 동작을 수행할 수 있다. 교정부(141)는 데이터 에러가 교정된 교정 데이터(DATA')를 출력 할 수 있다. 교정 데이터(DATA')는 제2 에러 교정부(150) 또는 버퍼(160)로 출력될 수 있다.
교정 정보 저장부(143)는 교정부(141)의 교정 정보(EI), 즉 제1 교정 코드(EC1)를 이용하여 입력 데이터(DATA)의 데이터 에러를 교정한 교정 정보를 저장할 수 있다. 교정 정보 저장부(143)는 저장된 교정 정보(EI)를 코드 저장부(130), 즉 제1 에러 교정 코드 저장부(131)로 피드백할 수 있으며, 제1 에러 교정 코드 저장부(131)에 저장된 제1 교정 코드(EC1)를 갱신할 수 있다.
제2 에러 교정부(150)는 코드 생성부(151), 비교부(153) 및 비교 결과 저장부(155)를 포함할 수 있다.
코드 생성부(151)는 제1 에러 교정부(140)로부터 출력된 교정 데이터(DATA')를 제공받아 새로운 교정 코드, 예컨대 제3 교정 코드(EC3)를 생성할 수 있다. 생성된 제3 교정 코드(EC3)는 비교부(153)로 출력될 수 있다. 여기서, 제3 교정 코드(EC3)는 교정 데이터(DATA')에 대응되어 코드 생성부(151)로부터 생성된 CRC 코드일 수 있다.
비교부(153)는 코드 생성부(151)로부터 제공된 제3 교정 코드(EC3)와 코드 저장부(130)의 제2 에러 교정 코드 저장부(133)로부터 제공된 제2 교정 코드(EC2)를 비교하고, 비교 결과(CR)를 출력할 수 있다.
비교부(153)는 비교 결과(CR)를 버퍼(160)로 출력할 수 있으며, 버퍼(160)는 비교부(153)의 비교 결과(CR)에 따라 교정 데이터(DATA')를 외부, 예컨대 메모리(170)로 출력할 수 있다.
비교 결과 저장부(155)는 비교부(153)의 비교 결과(CR)를 저장할 수 있다. 또한, 실시예에 따라 비교 결과 저장부(155)는 저장된 비교 결과(CR)를 제2 에러 교정 코드 저장부(133)로 피드백하여 제2 에러 교정 코드 저장부(133)에 저장된 제2 교정 코드(EC2)를 갱신할 수도 있다.
버퍼(160)는 제1 에러 교정부(140)로부터 출력되는 교정 데이터(DATA')를 저장할 수 있으며, 제2 에러 교정부(150)가 출력하는 비교 결과(CR)에 따라 교정 데이터(DATA')를 메모리(170)로 출력할 수 있다.
메모리(170)는 버퍼(160)로부터 출력된 교정 데이터(DATA')에 기초하여 대응되는 입력 데이터(DATA)를 갱신할 수 있다. 또한, 메모리(170)는 갱신된 교정 데이터(DATA')를 외부 메모리, 예컨대 비휘발성 메모리로 출력할 수 있다.
도 2는 도 1에 도시된 메모리 장치의 에러 교정 동작 순서도이다.
도 1 및 도 2를 참조하면, 메모리 장치(100)는 외부로부터 입력 데이터(DATA)를 제공받아 메모리(170)에 저장할 수 있다.
메모리 장치(100)의 코드 저장부(130)는 외부로부터 입력 데이터(DATA)에 해당하는 다수의 에러 교정 코드들, 예컨대 제1 교정 코드(EC1)와 제2 교정 코드(EC2)를 제공받고, 이를 저장할 수 있다.
DMA 컨트롤러(120)는 제어 신호(CNT)에 따라 메모리(170)에 저장된 입력 데이터(DATA)를 리딩하고, 리딩된 입력 데이터(DATA)를 제1 에러 교정부(140)로 출력할 수 있다. 제1 에러 교정부(140)는 DMA 컨트롤러(120)를 통해 입력된 입력 데이터(DATA)로부터 데이터 에러를 검출할 수 있다.
이때, 입력 데이터(DATA)의 데이터 에러가 검출되면, 제1 에러 교정부(140)는 코드 저장부(130)로부터 출력된 하나의 교정 코드, 예컨대 제1 교정 코드(EC1)를 이용하여 검출된 데이터 에러를 교정할 수 있다. 이어, 제1 에러 교정부(140)는 입력 데이터(DATA)의 교정 정보(EI)를 교정 정보 저장부(143)에 저장하고, 교정 데이터(DATA')를 버퍼(160) 또는 제2 에러 교정부(150)로 출력할 수 있다(S10).
한편, 교정 정보 저장부(143)는 교정 정보(EI)를 코드 저장부(130)로 피드백할 수 있으며, 코드 저장부(130)의 제1 에러 교정 코드 저장부(131)는 교정 정보(EI)에 기초하여 제1 교정 코드(EC1)를 갱신할 수 있다.
예컨대, 교정 정보 저장부(143)는 교정부(141)가 제1 교정 코드(EC1)를 이용하여 입력 데이터(DATA)로부터 검출된 데이터 에러를 교정하고, 이에 따라 교정 데이터(DATA')를 생성하는 동안에, 입력 데이터(DATA)의 교정 정보(EI)를 저장할 수 있다.
저장된 교정 정보(EI)는 후술될 에러 교정 장치(110)의 동작, 예컨대 버퍼(160)가 교정 데이터(DATA')를 메모리(170)에 피드백하여 입력 데이터(DATA)를 갱신하는 동작(S40)을 수행하는 동안에 코드 저장부(130)의 제1 에러 교정 코드 저장부(131)로 피드백될 수 있다. 제1 에러 교정 코드 저장부(131)는 피드백 된 교정 정보(EI)에 기초하여 제1 교정 코드(EC1)를 갱신할 수 있다.
제2 에러 교정부(150)는 제1 에러 교정부(140)로부터 출력된 교정 데이터(DATA')로부터 새로운 제3 교정 코드(EC3)를 생성할 수 있다(S20). 제3 교정 코드(EC3)는 교정 데이터(DATA')에 대응되는 CRC 코드일 수 있다.
비교부(153)는 생성된 제3 교정 코드(EC3)와 코드 저장부(130)로부터 제공된 제2 교정 코드(EC2)를 비교하고, 비교 결과(CR)를 출력할 수 있다(S30).
예컨대, 비교부(153)는 제3 교정 코드(EC3)와 제2 교정 코드(EC2)가 동일하면 제1 레벨, 예컨대 하이 레벨의 비교 결과(CR)를 출력할 수 있다. 또한, 비교부(153)는 제3 교정 코드(EC3)와 제2 교정 코드(EC2)가 동일하지 않으면 제2 레벨, 예컨대 로우 레벨의 비교 결과(CR)를 출력할 수 있다.
비교부(153)로부터 출력된 비교 결과(CR)는 비퍼(160)로 입력되고, 버퍼(160)는 비교 결과(CR)에 따라 저장된 교정 데이터(DATA')를 메모리(170)로 출력할 수 있다.
예컨대, 비교부(153)가 제1 레벨의 비교 결과(CR), 즉 생성된 제3 교정 코드(EC3)와 제2 교정 코드(EC2)가 동일한 경우의 비교 결과를 출력하는 경우는, 제1 에러 교정부(140)의 교정부(141)가 제1 교정 코드(EC1)를 이용하여 입력 데이터(DATA)의 데이터 에러가 교정하였음을 의미할 수 있으며, 버퍼(160)는 저장된 교정 데이터(DATA')를 메모리(170)로 출력할 수 있다.
메모리(170)는 버퍼(160)로부터 출력된 교정 데이터(DATA')를 기초로 입력 데이터(DATA)를 갱신할 수 있다(S40).
예컨대, 버퍼(160)는 교정 데이터(DATA')를 메모리(170)의 대응되는 입력 데이터(DATA)가 저장된 캐시 라인에 직접 피드백할 수 있으며, 메모리(170)는 피드백 된 교정 데이터(DATA')를 기초로하여 입력 데이터(DATA)를 갱신할 수 있다. 또한, 버퍼(160)는 교정 데이터(DATA')를 메모리(170)의 별도의 캐시 라인, 예컨대 예비 캐시 라인에 피드백할 수 있으며, 메모리(170)는 예비 캐시 라인에 피드백 된 교정 데이터(DATA')를 원래의 캐시 라인, 즉 교정 데이터(DATA')와 대응되는 입력 데이터(DATA)가 저장된 캐시 라인에 맵핑(mapping)하여 입력 데이터(DATA)를 갱신할 수도 있다.
한편, 비교부(153)가 제2 레벨의 비교 결과(CR), 즉 생성된 제3 교정 코드(EC3)와 제2 교정 코드(EC2)가 동일하지 않은 경우의 비교 결과를 출력하는 경우는, 제1 에러 교정부(140)의 교정부(141)는 입력 데이터(DATA)에 제1 교정 코드(EC1)로써 교정할 수 없는 데이터 에러가 발생하였음을 의미할 수 있으며, 버퍼(160)는 저장된 교정 데이터(DATA')를 메모리(170)로 출력하지 않게 된다. 이때, 버퍼(160)에 저장된 교정 데이터(DATA')는 폐기될 수 있다.
한편, 상술한 에러 교정 장치의 모든 단계들(S10 내지 S40)은 DMA 컨트롤러(120)에 의해 메모리 장치(100)의 대기 시간 동안 수행될 수 있다.
이하, 도 3을 참조하여 상술한 본 발명의 메모리 장치를 포함하는 데이터 처리 장치 및 데이터 처리 시스템에 대하여 설명한다. 도 3은 도 1에 도시된 메모리 장치를 포함하는 데이터 처리 시스템의 개략적인 블록도이다.
도 1 및 도 3을 참조하면, 데이터 처리 시스템(300)은 호스트(250)와 데이터 처리 장치(200)를 포함할 수 있다. 데이터 처리 장치(200)는 상술한 메모리 장치(100)를 포함할 수 있다.
데이터 처리 장치(200)는 외부, 예컨대 호스트(250)로부터 출력된 데이터(DATA)를 저장하기 위한 저장 장치일 수 있으며, 예컨대 컴퓨터 시스템, 단말 장 치 시스템, 입출력 장치 시스템, 하드 디스크 레코더(HDD recorder), 휴대 전화(cellular phone)와 PDA 등의 개인 단말기(terminal), 컴퓨터(PC, 랩탑 PC, 노트북 등), 네비게이터 장치(navigator device), 가정 자동화 시스템(home automation system), 음악 재생기(mp3플레이어 등), 캠코더, 영상 재생기(DVIX 플레이어 등), 스토리지 서버(storage sever), PMP(potable multimedia player), SSD(Solid State Drive/Disk) 또는 스마트 카드를 포함하는 메모리 카드 등에서 사용될 수 있다.
이하, 도 3에서는 설명의 편의를 위하여 데이터 처리 시스템(300)이 컴퓨터 시스템이고, 데이터 처리 장치(200)가 SSD로 사용되는 예를 들어 설명한다.
도 1 및 도 3을 참조하면, 호스트(250)는 통신망(260)을 통해 데이터 처리 장치(200)와 통신하면서 데이터(DATA)를 주고받을 수 있다.
또한, 호스트(250)와 데이터 처리 장치(200)는 통신망(260)을 통해 데이터(DATA)와 함께 다수의 에러 교정 코드들, 예컨대 제1 교정 코드(EC1) 및 제2 교정 코드(EC2)를 주고받을 수 있다. 여기서, 제1 교정 코드(EC1)는 ECC일 수 있으며, 제2 교정 코드(EC2)는 CRC코드 일 수 있다.
도면에 도시하지는 않았으나, 호스트(250)는 CPU(미도시)와 메모리(미도시)를 포함할 수 있는데, 호스트(250)의 메모리는 데이터 처리 장치(200)의 제1 메모리(100), 즉 도 1에 도시된 메모리 장치(100)와 동일할 수 있다.
즉, 호스트(250)의 메모리는 도 1에 도시된 에러 교정 장치(110)를 포함할 수 있다. 이에 따라, 호스트(250)는 통신망(260)을 통해 데이터 처리 장치(200)로 데이터(DATA)를 전송하기 전에 데이터(DATA)의 에러를 교정하여 무결성의 데이 터(DATA)를 전송할 수 있으며, 데이터 처리 장치(200)로부터 통신망(260)을 통해 전송된 데이터(DATA)의 에러를 교정하여 무결성의 데이터(DATA)를 저장할 수 있다.
통신망(260)은 유선 또는 무선의 통신망(260)일 수 있다.
데이터 처리 장치(200)는 CPU(210), 제1 메모리(100), 제2 메모리(220) 및 인터페이스(I/F)(230)를 포함할 수 있다. 또한, 도면에 도시하지는 않았으나, 데이터 처리 장치(200)는 배터리(미도시)를 더 포함하여 휴대를 가능하게 할 수 있다.
CPU(210)는 제1 메모리(100), 제2 메모리(220) 및 인터페이스(230)의 동작을 제어할 수 있는 제어 신호를 생성할 수 있으며, 버스(240)를 통해 제어 신호를 제1 메모리(100), 제2 메모리(220) 및 인터페이스(230)로 출력할 수 있다.
제1 메모리(100)는 도 1에 도시된 메모리(170)와 에러 교정 장치(110)을 포함하는 메모리 장치(100)일 수 있으며, 이에 대한 상세한 설명은 생략한다. 제1 메모리(100)는 호스트(250)로부터 전송된 데이터(DATA)의 에러를 교정하고, 교정 데이터(DATA')를 출력할 수 있다.
제2 메모리(220)는 버스(240)를 통하여 제1 메모리(100)로부터 에러 교정이 완료된 교정 데이터(DATA')를 제공받고, 이를 저장할 수 있다. 제2 메모리(170)는 비휘발성 메모리, 예컨대 낸드형 플래시 메모리 장치 또는 노아형 플래시 메모리 장치일 수 있다.
인터페이스(230)는 입/출력 인터페이스일 수 있으며, 통신망(260)에 접속하여 데이터 처리 장치(200)가 호스트(250)와 통신할 수 있는 통로 역할을 수행할 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 메모리 장치의 개략적인 블록도이다.
도 2는 도 1에 도시된 메모리 장치의 에러 교정 동작 순서도이다.
도 3은 도 1에 도시된 메모리 장치를 포함하는 데이터 처리 시스템의 개략적인 블록도이다.

Claims (14)

  1. 다수의 에러 교정 코드들이 저장된 코드 저장부;
    입력 데이터로부터 검출된 데이터 에러를 상기 다수의 에러 교정 코드들 중에서 하나의 교정 코드를 이용하여 교정하고, 교정 데이터를 출력하는 제1 에러 교정부;
    상기 교정 데이터를 저장하는 버퍼; 및
    상기 교정 데이터로부터 새로운 교정 코드를 생성하고, 상기 다수의 에러 교정 코드들 중에서 다른 하나의 교정 코드와 상기 새로운 교정 코드를 비교하여 비교 결과를 출력하는 제2 에러 교정부를 포함하고,
    상기 버퍼는 상기 제2 에러 교정부로부터 출력된 상기 비교 결과에 따라 상기 입력 데이터를 갱신하기 위한 상기 교정 데이터를 출력하고,
    상기 다수의 에러 교정 코드들은 제1 교정 코드와 제2 교정 코드를 포함하고,
    상기 제2 에러 교정부는,
    상기 교정 데이터로부터 상기 새로운 교정 코드를 생성하는 교정 코드 생성부;
    상기 제2 교정 코드와 상기 새로운 교정 코드를 비교하여 상기 비교 결과를 출력하는 비교부; 및
    상기 비교 결과를 저장하는 비교 결과 저장부를 포함하는 에러 교정 장치.
  2. 제1 항에 있어서, 상기 제1 에러 교정부는,
    상기 입력 데이터로부터 상기 데이터 에러를 검출하고, 상기 제1 교정 코드를 이용하여 상기 데이터 에러를 교정하며, 상기 교정 데이터를 출력하는 교정부; 및
    상기 입력 데이터의 교정 정보를 저장하는 교정 정보 저장부를 포함하는 에러 교정 장치.
  3. 제2 항에 있어서,
    상기 코드 저장부는 상기 교정 정보에 기초하여 상기 제1 교정 코드를 갱신하는 에러 교정 장치.
  4. 삭제
  5. 제1 항에 있어서,
    상기 다수의 에러 교정 코드들은 오류 정정(error correcting code(ECC)) 코드들 또는 순환 중복 검사(cyclic redundancy check(CRC)) 코드들인 에러 교정 장치.
  6. 제1 항에 있어서,
    상기 에러 교정 장치는 외부로부터 입력되는 제어 신호에 따라 상기 에러 교정 장치의 동작을 제어하는 DMA(direct memory access) 컨트롤러를 더 포함하는 에러 교정 장치.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 외부로부터 입력된 입력 데이터가 저장되는 메모리; 및
    상기 입력 데이터로부터 검출된 데이터 에러를 교정하는 에러 교정 장치를 포함하고,
    상기 에러 교정 장치는,
    다수의 에러 교정 코드들이 저장된 코드 저장부;
    상기 입력 데이터로부터 검출된 데이터 에러를 상기 다수의 에러 교정 코드들 중에서 하나의 교정 코드를 이용하여 교정하고, 교정 데이터를 출력하는 제1 에러 교정부;
    상기 교정 데이터를 저장하는 버퍼; 및
    상기 교정 데이터로부터 새로운 교정 코드를 생성하고, 상기 다수의 에러 교정 코드들 중에서 다른 하나의 교정 코드와 상기 새로운 교정 코드를 비교하여 비교 결과를 출력하는 제2 에러 교정부를 포함하는 메모리 장치에 있어서,
    상기 버퍼는 상기 제2 에러 교정부로부터 출력된 상기 비교 결과에 따라 상기 메모리로 상기 교정 데이터를 출력하고, 상기 메모리는 상기 교정 데이터에 대응되는 상기 입력 데이터를 갱신하고,
    상기 다수의 에러 교정 코드들은 제1 교정 코드와 제2 교정 코드를 포함하고,
    상기 제2 에러 교정부는,
    상기 교정 데이터로부터 상기 새로운 교정 코드를 생성하는 교정 코드 생성부;
    상기 제2 교정 코드와 상기 새로운 교정 코드를 비교하여 상기 비교 결과를 출력하는 비교부; 및
    상기 비교 결과를 저장하는 비교 결과 저장부를 포함하는 메모리 장치.
  11. 제10 항에 있어서,
    상기 메모리 장치는 DRAM(dynamic random access memory) 또는 SRAM(static random access memory)인 메모리 장치.
  12. 제10 항에 있어서,
    상기 에러 교정 장치는 상기 메모리 장치의 대기 시간(Idle time) 동안 동작하는 메모리 장치.
  13. 호스트; 및
    상기 호스트와 통신하는 데이터 처리 장치를 포함하고,
    상기 데이터 처리 장치는,
    상기 호스트로부터 입력된 입력 데이터로부터 검출된 데이터 에러를 교정하고, 교정 데이터를 출력하는 제1 메모리; 및
    상기 제1 메모리로부터 상기 교정 데이터를 제공받아 저장하는 제2 메모리를 포함하고,
    상기 제1 메모리는,
    상기 입력 데이터가 저장되는 메모리; 및
    상기 입력 데이터로부터 검출된 데이터 에러를 교정하는 에러 교정 장치를 포함하고,
    상기 에러 교정 장치는,
    다수의 에러 교정 코드들이 저장된 코드 저장부;
    상기 입력 데이터로부터 검출된 데이터 에러를 상기 다수의 에러 교정 코드들 중에서 하나의 교정 코드를 이용하여 교정하고, 교정 데이터를 출력하는 제1 에러 교정부;
    상기 교정 데이터를 저장하는 버퍼; 및
    상기 교정 데이터로부터 새로운 교정 코드를 생성하고, 상기 다수의 에러 교정 코드들 중에서 다른 하나의 교정 코드와 상기 새로운 교정 코드를 비교하여 비교 결과를 출력하는 제2 에러 교정부를 포함하는 데이터 처리 시스템에 있어서,
    상기 버퍼는 상기 제2 에러 교정부로부터 출력된 상기 비교 결과에 따라 상기 메모리로 상기 교정 데이터를 출력하고, 상기 메모리는 상기 교정 데이터에 대응되는 상기 입력 데이터를 갱신하고,
    상기 다수의 에러 교정 코드들은 제1 교정 코드와 제2 교정 코드를 포함하고,
    상기 제2 에러 교정부는,
    상기 교정 데이터로부터 상기 새로운 교정 코드를 생성하는 교정 코드 생성부;
    상기 제2 교정 코드와 상기 새로운 교정 코드를 비교하여 상기 비교 결과를 출력하는 비교부; 및
    상기 비교 결과를 저장하는 비교 결과 저장부를 포함하는 데이터 처리 시스템.
  14. 삭제
KR1020090022875A 2009-03-18 2009-03-18 에러 교정 장치와 이를 포함하는 메모리 장치와 데이터 처리 시스템 KR101543245B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090022875A KR101543245B1 (ko) 2009-03-18 2009-03-18 에러 교정 장치와 이를 포함하는 메모리 장치와 데이터 처리 시스템
US12/720,903 US8316280B2 (en) 2009-03-18 2010-03-10 Error correcting device, method of error correction thereof, and memory device and data processing system including of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090022875A KR101543245B1 (ko) 2009-03-18 2009-03-18 에러 교정 장치와 이를 포함하는 메모리 장치와 데이터 처리 시스템

Publications (2)

Publication Number Publication Date
KR20100104454A KR20100104454A (ko) 2010-09-29
KR101543245B1 true KR101543245B1 (ko) 2015-08-11

Family

ID=42738691

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090022875A KR101543245B1 (ko) 2009-03-18 2009-03-18 에러 교정 장치와 이를 포함하는 메모리 장치와 데이터 처리 시스템

Country Status (2)

Country Link
US (1) US8316280B2 (ko)
KR (1) KR101543245B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11989422B2 (en) 2021-10-21 2024-05-21 Samsung Electronics Co., Ltd. Memory device, electronic device and operating method of memory device

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5553309B2 (ja) * 2010-08-11 2014-07-16 国立大学法人 東京大学 データ処理装置
US9246512B2 (en) * 2010-12-02 2016-01-26 Freescale Semiconductor, Inc. Error correcting device, method for monitoring an error correcting device and data processing system
US20120215957A1 (en) * 2011-02-17 2012-08-23 Byungcheol Cho Semiconductor storage device-based cache storage system
CN102567134B (zh) * 2012-01-06 2015-01-07 威盛电子股份有限公司 存储器模块的错误检查与校正系统以及方法
KR102009655B1 (ko) * 2012-08-29 2019-08-13 삼성디스플레이 주식회사 표시 장치 및 표시 장치에서의 에러 검출 방법
CN104008069B (zh) * 2013-02-22 2018-06-15 中兴通讯股份有限公司 一种数据保护方法、装置及设备
KR102024033B1 (ko) * 2013-03-04 2019-09-24 삼성전자주식회사 이동 통신 시스템에서 메모리 제어 방법 및 장치
US10248497B2 (en) * 2014-10-22 2019-04-02 Advanced Micro Devices, Inc. Error detection and correction utilizing locally stored parity information
CN107480007B (zh) * 2017-08-15 2020-09-08 南京南瑞继保电气有限公司 一种程序冗余校验与纠错的方法
US11265022B2 (en) 2018-05-18 2022-03-01 SK Hynix Inc. Memory system and operating method thereof
KR20190132238A (ko) 2018-05-18 2019-11-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20190132237A (ko) * 2018-05-18 2019-11-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20210081534A (ko) 2019-12-24 2021-07-02 삼성전자주식회사 반도체 메모리 장치 및 메모리 시스템
US11442808B2 (en) * 2020-03-12 2022-09-13 Kioxia Corporation Memory system
US11677409B2 (en) * 2021-03-19 2023-06-13 Microsoft Technology Licensing, Llc Cloud assisted calibration of analog-to-digital converters

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007132457A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US20080163029A1 (en) * 2006-12-27 2008-07-03 Fujitsu Limited Error correction code generation method and memory control device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69532231T2 (de) * 1994-09-09 2004-10-21 Sony Corp Datenaufzeichnungs-/wiedergabeverfahren, datenwiedergabevorrichtung, und aufzeichnungsmedium
US7051264B2 (en) * 2001-11-14 2006-05-23 Monolithic System Technology, Inc. Error correcting memory and method of operating same
US7315976B2 (en) * 2002-01-31 2008-01-01 Lsi Logic Corporation Method for using CRC as metadata to protect against drive anomaly errors in a storage array
JP4129381B2 (ja) * 2002-09-25 2008-08-06 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP2004288283A (ja) * 2003-03-20 2004-10-14 Hitachi Ltd 情報記録フォーマット、情報記録再生符号化方法・回路およびこれを用いた磁気ディスク記録再生装置、情報記録再生装置、並びに情報通信装置
DE10317650A1 (de) * 2003-04-17 2004-11-04 Robert Bosch Gmbh Programmgesteuerte Einheit und Verfahren
US7213192B2 (en) 2004-09-08 2007-05-01 Fujitsu Limited Methods and apparatus for correcting errors in data read from a disk drive
DE602006006788D1 (de) * 2006-03-02 2009-06-25 St Microelectronics Srl Leseverfahren eines Speichers mit eingebetteter Fehlerkorrekturkode und Speicher mit eingebetteter Fehlerkorrekturkode
JP2008065434A (ja) * 2006-09-05 2008-03-21 Matsushita Electric Ind Co Ltd プログラム起動制御装置
KR100877609B1 (ko) 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
US8020115B2 (en) * 2007-04-09 2011-09-13 Infineon Technologies Ag Apparatus, method and system for permanent storage of data
KR101433861B1 (ko) * 2007-10-22 2014-08-27 삼성전자주식회사 메모리 시스템 및 그 구동방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007132457A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US20080163029A1 (en) * 2006-12-27 2008-07-03 Fujitsu Limited Error correction code generation method and memory control device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11989422B2 (en) 2021-10-21 2024-05-21 Samsung Electronics Co., Ltd. Memory device, electronic device and operating method of memory device

Also Published As

Publication number Publication date
US20100241930A1 (en) 2010-09-23
KR20100104454A (ko) 2010-09-29
US8316280B2 (en) 2012-11-20

Similar Documents

Publication Publication Date Title
KR101543245B1 (ko) 에러 교정 장치와 이를 포함하는 메모리 장치와 데이터 처리 시스템
US8949690B2 (en) Memory controller
US11748194B2 (en) Error correcting memory systems
US8832526B2 (en) Data reading method, memory controller, and memory storage device
KR101225924B1 (ko) 메모리 시스템의 카피백 최적화
KR101772020B1 (ko) 불휘발성 메모리 장치, 이의 동작 방법, 및 이를 포함하는 메모리 시스템
US8392797B2 (en) Error correcting controller, flash memory chip system, and error correcting method thereof
US8671330B2 (en) Storage device, electronic device, and data error correction method
US8806285B2 (en) Dynamically allocatable memory error mitigation
CN105723344A (zh) 用于非易失性ram差错重映射的方法和装置
KR20150029402A (ko) 데이터 저장 시스템 및 그것의 동작 방법
US20140089761A1 (en) Method, apparatus and system for providing error correction information
US11907059B2 (en) Abnormal power loss recovery method, memory control circuit unit, and memory storage device
US11467758B2 (en) Data writing method using different programming modes based on the number of available physical erasing units, memory control circuit unit and memory storage device
JP2009301194A (ja) 半導体記憶装置の制御システム
US8301981B2 (en) Data access method for flash memory and storage system and controller thereof
US20120297115A1 (en) Program code loading and accessing method, memory controller, and memory storage apparatus
TWI473103B (zh) 快閃記憶體儲存裝置及其不良儲存區域的判定方法
US10289328B2 (en) Memory controller and method for handling host request based on data character
KR20110128436A (ko) 비휘발성 메모리 장치의 리드 레벨 추정 방법 및 이를 수행하는 메모리 컨트롤러, 및 기록매체
CN107045890B (zh) 数据保护方法、存储器控制电路单元及存储器存储装置
TWI573146B (zh) 記憶體裝置與其操作方法
US20100146224A1 (en) Request processing device, request processing system, and access testing method
US11182231B2 (en) Host system and computing system including the host system
KR20200101884A (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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180731

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 5