KR20160050961A - 에러를 보정하는 메모리 장치 및 그의 에러 보정 방법 - Google Patents

에러를 보정하는 메모리 장치 및 그의 에러 보정 방법 Download PDF

Info

Publication number
KR20160050961A
KR20160050961A KR1020140150208A KR20140150208A KR20160050961A KR 20160050961 A KR20160050961 A KR 20160050961A KR 1020140150208 A KR1020140150208 A KR 1020140150208A KR 20140150208 A KR20140150208 A KR 20140150208A KR 20160050961 A KR20160050961 A KR 20160050961A
Authority
KR
South Korea
Prior art keywords
parity
data
error
unit
memory
Prior art date
Application number
KR1020140150208A
Other languages
English (en)
Other versions
KR102023121B1 (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 KR1020140150208A priority Critical patent/KR102023121B1/ko
Publication of KR20160050961A publication Critical patent/KR20160050961A/ko
Application granted granted Critical
Publication of KR102023121B1 publication Critical patent/KR102023121B1/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/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
    • G06F11/1032Simple parity
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명에 따른 메모리 장치는 메모리부와 로직 제어부를 구비한다. 메모리부는 복수개의 보정 그룹들로 분할되고 각 보정 그룹에는 다수의 워드들을 포함하는 데이터가 저장되는 데이터 저장부와, 상기 보정 그룹마다 1개의 패리티가 설정되며 다수의 패리티들이 저장되는 패리티 저장부를 구비한다. 로직 제어부는 상기 메모리부에 저장된 데이터를 수신하고, 상기 데이터에 포함된 다수의 워드들 중 더블 비트 에러를 갖는 워드를 포함하는 에러 데이터를 검출하고, 상기 에러 데이터에 대응하는 패리티를 상기 패리티 저장부로부터 수신하며, 상기 에러 데이터와 상기 패리티에 대해 논리(logic) 연산을 수행하여 상기 더블 비트 에러를 갖는 워드 내에서 상기 더블 비트 에러의 위치를 검출하여 보정한다.

Description

에러를 보정하는 메모리 장치 및 그의 에러 보정 방법{Memory device which corrects error and method of correcting error}
본 발명은 데이터를 저장하는 메모리 장치에 관한 것으로, 특히 기 저장된 데이터의 에러를 자체적으로 보정하는 메모리 장치 및 그의 에러 보정 방법에 관한 것이다.
메모리 장치에 발생하는 에러를 정정하기 위하여, 종래에는 SECDED (single-error correction and double-error detection) 기법을 사용하고 있다. 특히, 플래시 메모리 장치(flash memory device)나 DRAM (Dynamic Random Access Memory)에서 처리하는 데이터에서 발생하는 오류를 정정하기 위하여 SECDED 기법을 채용하는 장치를 ECC(Error Check and Correction) DRAM 이라 한다.
ECC DRAM에서 메모리에 저장된 데이터가 에러 검출 회로를 거친 결과 해당 워드(word)에 있는 비트 에러가 1개보다 많으면 DRAM 내에서 비트 에러들을 정정하는 것이 불가능하여 하위의 메모리나 저장장치에서 데이터를 읽어오도록 요청을 보낸다. 또한, ECC DRAM에서는 데이터를 메모리에 기입(write)하는 과정에서 SECDED를 위한 코드(code)를 데이터 저장시에 추가로 저장해야 한다. 이 기술의 문제점은 한 개의 코드워드(codeword)에서 2개 이상의 비트 에러가 발생하는 경우, 발생한 에러를 검출할 수는 있지만, 정정하는 것은 용이하지 않다. 이를 위해, 참증 특허(한국공개특허 1998-0048943)에서는 더블 비트 에러를 정정하는 방법을 개시하고 있으나, 여기서는 패리티를 사용하지 않으므로, 계산 과정이 복잡하여 래이턴시(latency)가 길어지게 된다.
본 발명은 메모리 장치에 저장되는 데이터에 더블 비트 에러가 발생할 경우, 상기 더블 비트 에러를 간단한 방법으로 정정할 수 있는 메모리 장치 및 그의 에러 보정 방법을 제공하기 위한 것이다.
상기 과제를 해결하기 위하여 본 발명은,
복수개의 보정 그룹들로 분할되고 각 보정 그룹에는 다수의 워드들을 포함하는 데이터가 저장되는 데이터 저장부와, 상기 보정 그룹마다 1개의 패리티가 설정되며 다수의 패리티들이 저장되는 패리티 저장부를 구비하는 메모리부; 및 상기 메모리부에 저장된 데이터를 수신하고, 상기 데이터에 포함된 다수의 워드들 중 더블 비트 에러를 갖는 워드를 포함하는 에러 데이터를 검출하고, 상기 에러 데이터에 대응하는 패리티를 상기 패리티 저장부로부터 수신하며, 상기 에러 데이터와 상기 패리티의 논리 연산을 수행하여 상기 더블 비트 에러를 갖는 워드 내에서 상기 더블 비트 에러의 위치를 검출하여 보정하는 로직 제어부를 구비한다.
상기 과제를 해결하기 위하여 본 발명은 또한,
복수개의 보정 그룹들로 분할되고, 각 보정 그룹에는 다수의 워드들을 포함하는 데이터가 저장되며, 상기 보정 그룹마다 1개의 패리티가 설정되며, 다수의 패리티들이 저장되는 메모리부, 및 로직 제어부를 구비하는 메모리 장치에 있어서, 상기 로직 제어부에 의해 수행되는 에러 보정 방법에 있어서, (a) 상기 복수개의 보정 그룹들 중 특정 보정 그룹에 저장된 데이터를 리드하는 단계; (b) 상기 데이터에 대한 SECDED(Single Error Correction Double Error Detection) 코드워드를 디코딩하는 단계; (c) 상기 디코딩 결과, 상기 데이터에 더블 비트 에러를 갖는 워드가 존재할 경우에, 상기 더블 비트 에러를 갖는 워드를 포함하는 에러 데이터를 검출하는 단계; (d) 상기 에러 데이터에 대응되는 패리티를 상기 메모리부로부터 리드하고, 상기 에러 데이터와 상기 리드된 패리티를 배타적 논리합(Exclusive OR) 연산하여 상기 더블 비트 에러를 갖는 워드 내에서 상기 더블 비트 에러의 위치를 검출하는 단계; 및 (e) 상기 더블 비트 에러를 보정하는 단계를 포함하는 에러 보정 방법을 제공한다.
상술한 바와 같이 본 발명에 따르면, 제조 비용에 민감한 메모리 장치, 예컨대, 3차원 스택 디램 (3D stacked DRAM)에 구비된 DRAM (Dynamic Random Access Memory)에 발생하는 더블 비트 에러를 간단한 방법으로 정정할 수 있다. 따라서, 메모리 장치의 더블 비트 에러 정정 비용이 큰 폭으로 감소된다.
그 결과, 메모리 장치를 사용하는 시스템의 전반적인 성능이 안정적으로 유지될 수 있다.
도 1은 본 발명에 따른 메모리 장치의 개략적인 구조를 보여준다.
도 2는 도 1에 도시된 메모리 장치의 블록도이다.
도 3은 도 2에 도시된 패리티 처리부의 상세한 블록도이다.
도 4는 본 발명에 따른 메모리 장치의 에러 보정 방법을 도시한 흐름도이다.
도 5는 도 4에 도시된 에러 보정 방법을 보다 상세히 설명하기 위한 흐름도이다.
도 6은 도 4 및 도 5의 배타적 논리합 연산을 설명하기 위한 도면이다.
도 7은 도 2의 패리티 저장부에 저장된 패리티를 업데이트하는 방법을 도시한 흐름도이다.
도 8a는 도 7의 파셜 패리티를 산출하는 방법을 도시한 흐름도이다.
도 8b는 도 7의 파셜 패리티를 산출하는 다른 방법을 도시한 흐름도이다.
도 9a 및 도 9b는 각각 도 8a 및 도 8b에 도시된 파셜 패리티 처리 과정에 따른 패리티 처리부의 동작을 설명하기 위한 도면들이다.
이하, 첨부한 도면들을 참고하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예에 대하여 상세히 설명하기로 한다. 각 도면에 제시된 참조부호들 중 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명에 따른 메모리 장치(101)의 개략적인 구조를 보여준다. 도 1을 참조하면, 메모리 장치(101)는 복수개의 메모리 칩(chip)들(111∼114)과 1개의 로직 칩(120) (도 2의 로직 제어부에 해당함)이 적층된 구조를 갖는다.
복수개의 메모리 칩들(111∼114)은 DIMM (Dual Inline Memory Module) 기반의 메모리 칩들, 예컨대 DRAM (Dynamic Random Access Memory) 칩들로 구성된다. 복수개의 메모리 칩들(111∼114)은 예컨대, HBM (High Bandwidth Memory)이나 HMC (Hybrid Memory Cube)와 같은 3차원 스택 디램 (3D stacked DRAM) 칩들로 구성될 수 있다. 상기 적층된 복수개의 메모리 칩들(111∼114)은 TSV (Through Silicon Via)에 의해 서로 전기적으로 연결된다. 도 1에는 4개의 메모리 칩들(111∼114)이 적층되어 있으나, 그 이상의 갯수로 적층될 수도 있고, 그 이하의 갯수로 적층될 수도 있다.
로직 칩(120)은 1개로 구성되며, 복수개의 메모리 칩들(111∼114)과 적층되며, 예컨대 복수개의 메모리 칩들(111∼114)의 하부에 적층되고, 복수개의 메모리 칩들(111∼114)과 TSV에 의해 전기적으로 연결되어 상호 데이터를 주고받는다. 로직 칩(120)은 또한, 복수개의 메모리 칩들(111∼114)과 2D (Dimension) 또는 2.5D 타입으로 구성될 수 있다. 예컨대, 배선이 형성된 회로 기판 예컨대, PCB (Printed Circuit Board) 위의 일측에 복수개의 메모리 칩들(111∼114)이 장착되고, 타측에 로직 칩(120)이 장착될 수 있다. 이 때, 로직 칩(120)과 복수개의 메모리 칩들(111∼114)은 상기 회로 기판에 형성된 배선을 통해서 상호 전기적으로 연결된다. 상기 배선은 상기 회로 기판의 내부에 TSV 인터포저 (interposer) 형태로 구성될 수 있다.
도 2는 도 1에 도시된 메모리 장치(101)의 블록도이다. 도 2를 참조하면, 메모리 장치(101)는 메모리부(110)와 로직 제어부(120)를 구비한다.
메모리부(110)는 데이터 저장부(110A)와 패리티 저장부(110B)를 구비한다.
데이터 저장부(110A)는 복수개의 보정 그룹(correction group)들(CG1∼CG4)로 분할되고 각 보정 그룹에는 다수의 워드(word)들을 포함하는 데이터가 저장된다. 상기 데이터는 소정의 블록 단위, 예컨대, 64바이트(byte) 크기로 기입(write)되거나 리드(read)된다.
패리티 저장부(110B)는 다수의 패리티들을 저장한다. 패리티는 보정 그룹당 1개씩 설정된다. 예컨대, 1개의 보정 그룹의 크기가 8∼16 [KB] (킬로바이트) 일 때, 패리티의 크기는 8 [B] (바이트)로 설정될 수 있다. 따라서, 8 [GB]의 DRAM (DIMM)일 때, 패리티는 8 [MB]의 크기로 설정된다. 여기서, 보정 그룹의 크기가 8 [KB]로 설정되면, 패리티는 8 [B]로 설정될 수 있다. 이와 같이, 패리티 저장부(110B)는 보정 그룹의 수에 해당하는 패리티들을 저장한다. 따라서, 상기 보정 그룹의 수가 많으면 패리티의 수가 증가하여 패리티 저장부(110B)의 메모리 용량은 큰 값을 갖도록 구성되어야 하고, 상기 보정 그룹의 수가 작으면 패리티의 수가 감소하여 패리티 저장부(110B)의 메모리 용량은 작은 값을 갖도록 구성되어야 한다. 패리티 저장부(110B)에는 복수개의 패리티들이 저장되기 때문에, 패리티 저장부(110B)에 저장된 패리티들을 리드(read)하기 위해서는 상기 패리티의 주소를 지정하기 위한 신호가 요구된다. 즉, 패리티 저장부(110B)는 로직 제어부(120) (또는 외부 장치)에서 전송하는 어드레스 신호에 응답하여 저장된 패리티를 로직 제어부(120)로 전송한다.
로직 제어부(120)는 데이터 저장부(110A)에 저장된 데이터를 수신하고, 상기 데이터에 포함된 다수의 워드들 중 더블 비트 에러(double bit error)를 갖는 워드를 포함하는 에러 데이터를 검출한다. 상기 더블 비트 에러는 데이터 저장부에서 발생할 수도 있고, 메모리부(110)와 로직 제어부(120) 사이의 채널상에서 발생할 수도 있다. 로직 제어부(120)는 상기 에러 데이터에 대응하는 패리티를 패리티 저장부(110B)로부터 수신하고, 상기 에러 데이터와 상기 패리티의 배타적 논리합 논리(logic) 연산, 예컨대 배타적 논리합(exclusive OR) 연산을 수행하여 상기 더블 비트 에러를 갖는 워드 내에서 상기 더블 비트 에러의 위치를 검출 및 보정한다.
로직 제어부(120)는 에러 보정부(121), 연산부(122) 및 패리티 처리부(123)를 구비한다.
에러 보정부(121)는 상기 에러 데이터를 검출하고, 상기 더블 비트 에러를 보정한다. 구체적으로, 에러 보정부(121)는 데이터 저장부(110A)에 저장된 데이터를 리드하고, 상기 리드된 데이터에서 더블 비트 에러를 갖는 워드를 포함하는 에러 데이터를 검출하고, 상기 더블 비트 에러를 보정한다. 즉, 에러 보정부(121)는 SECDED (Single Error Correction Double Error Detection) 기법을 이용하여 즉, SECDED 코드워드를 디코딩하여 데이터 저장부(110A)에 저장된 데이터의 에러를 검출하고 보정한다. 이 때, 데이터 저장부(110A)의 특정 보정 그룹에 저장된 데이터를 구성하는 다수의 워드들 중 1개의 워드에 싱글 비트 에러(single bit error)가 있으면, 에러 보정부(121)는 상기 싱글 비트 에러를 검출하여 보정한다. 그러나, 상기 특정 보정 그룹에 저장된 데이터를 구성하는 다수의 워드들 중 1개의 워드에 더블 비트 에러(double bit error)가 있으면, 에러 보정부(121)는 상기 더블 비트 에러를 갖는 워드를 포함하는 에러 데이터를 검출하여 연산부(122)로 전송한다.
또한, 에러 보정부(121)는 연산부(122)로부터 상기 에러 데이터에서 더블 비트 에러의 위치를 통지받는다. 그에 따라 에러 보정부(121)는 상기 더블 비트 에러를 나타내는 비트들을 반전(예컨대, "0"을 "1"로, 또는 "1"을 "0"으로 반전)시켜서 상기 더블 비트 에러를 보정한다. 더블 비트 에러의 위치를 검출하고 보정하는 방법에 대해서는 도 4 및 도 5에 도시된 에러 보정 방법을 통하여 상세히 설명하기로 한다.
연산부(122)는 상기 에러 데이터와 상기 패리티의 배타적 논리합 연산을 수행한다. 구체적으로, 연산부(122)는 에러 보정부(121)로부터 상기 더블 비트 에러를 갖는 에러 데이터를 수신하고, 패리티 저장부(110B)로부터 상기 에러 데이터의 패리티를 수신한 다음, 이들을 배타적 논리합 (exclusive OR) 연산하여 상기 워드 내의 더블 비트 에러의 위치를 검출하고, 상기 검출 결과를 에러 보정부(121)에 통지한다.
패리티 처리부(123)는 외부로부터 메모리부(110)에 기입되는 새로운 데이터(WD)를 수신하고, 상기 새로운 데이터(WD)의 파셜 패리티(partial parity)를 산출하여 일시적으로 저장한다. 패리티 처리부(123)는 상기 파셜 패리티를 이용하여 패리티 저장부(110B)에 저장된 패리티들 중 대응되는 패리티를 업데이트한다. 즉, 패리티 처리부(123)는 데이터 저장부(110A)에 데이터가 기입될 때마다 패리티 저장부(110B)에 저장된 패리티들 중 대응되는 패리티를 업데이트한다. 패리티 처리부(123)가 패리티 저장부(110B)에 저장된 패리티를 업데이트하는 방법에 대해서는 도 7 내지 도 8b를 통하여 상세히 설명하기로 한다.
이와 같이, 본 발명에 따른 메모리 장치(101)는 데이터를 저장하는 메모리부(110)와, 메모리부(110)를 제어하는 로직 제어부(120)를 구비하고, 로직 제어부(120)는 메모리부(110)에 저장된 데이터에 발생하는 더블 비트 에러를 검출하고 보정한다. 다시 말하면, 본 발명에 따른 메모리 장치(101)는 3차원 스택 메모리 (예컨대, DRAM)를 기반으로, 메모리 장치(101) 내에 로직 제어부(120) (예컨대, 원격 메모리 컨트롤러)가 포함되어 있어서, 전체적으로는 로직 제어부(120)가 메모리 (예컨대, DRAM)를 제어하고, 메모리 장치(101)에 포함되지 않는 CPU (Central Processing Unit) (도시안됨)의 내부에 구비된 메모리 컨트롤러 (memory controller)는 메모리부(110)에 대해 단순히 리드 (read) 및 기입 (write) 명령만 전달하는 구조를 갖는다.
결과적으로, 메모리 장치(101)가 자체적으로, 더블 비트 에러를 검출 및 보정함으로써, 메모리 장치(101)의 데이터 처리 속도가 빨라지고, 제조 비용이 감소된다.
본 발명에 따른 메모리 장치(101)는, 또한, 상기 더블 비트 에러를 갖는 에러 데이터가 발생한 보정 그룹 내의 어드레스를 저장하여 관리할 수 있다. 예컨대, 상기 어드레스를 저장 및 관리하기 위한 워드 픽스 테이블 (word fix table)을 작성한다. 메모리 장치(101)는 상기 워드 픽스 테이블로부터 특정 횟수 이상의 더블 비트 에러가 발생하는 어드레스를 존재할 경우, 이를 검출하고, 이퓨징 (eFusing)을 통해 상기 어드레스에 대응되는 메모리 어레이를 노멀(normal) 스페어 메모리 어레이(spare memory array)와 물리적으로 교체한다. 따라서, 불량 메모리 어레이의 셀프 리페어(self-repair)가 가능해진다. 이렇게 함으로써, 더블 비트 에러의 발생 횟수가 감소되고, 그에 따라 메모리 장치(101)의 신뢰성이 향상된다.
도 3은 도 2에 도시된 패리티 처리부(123)의 상세한 블록도이다. 도 2를 참조하여 도 3에 도시된 패리티 처리부(123)을 설명하기로 한다.
패리티 처리부(123)는 외부에서 메모리 장치(101)로 입력되는 새로운 데이터(WD)가 일시 저장되는 복수개의 데이터 블록들(321∼324), 및 상기 새로운 데이터(WD)의 파셜 패리티를 일시 저장하기 위하여 상기 데이터 블록들(321∼324)보다 적은 개수로 구성되는 복수개의 패리티 블록들(331,332)을 구비한다.
복수개의 데이터 블록들(321∼324)은 데이터 저장부(110A)에 기입되는 데이터를 일시 저장하는 기능을 갖는다. 각 데이터 블록에는 데이터 저장부(110A)의 각 보정 그룹에 기입되는 소정 블록 단위의 데이터가 저장된다. 즉, 데이터 저장부(110A)의 각 보정 그룹은 복수개의 소정 블록들로 구분되고, 상기 보정 그룹에 기입되는 데이터는 상기 소정 블록 단위, 예컨대 64 바이트의 크기로 구성된다. 도 3에는 데이터 블록들(321∼324)이 4개만 도시되어 있으나, 이는 예시적인 것에 불과하며, 그 이상의 개수로 확장될 수 있다.
복수개의 패리티 블록들(331,332)은 각각 데이터의 파셜 패리티(partial parity)를 저장한다. 여기서, 파셜 패리티는 상기 소정 블록 단위의 데이터의 패리티를 지칭한다. 복수개의 패리티 블록들(331,332)은 복수개의 데이터 블록들(321∼324)보다 적은 개수로 구성된다. 예컨대, 도 3에 도시된 바와 같이, 데이터 블록들(321∼324)은 4개이고, 패리티 블록들(331,332)은 그보다 적은 2개로 구성될 수 있다. 도 3에는 패리티 블록들(331,332)이 2개만 도시되어 있으나, 이는 예시적인 것에 불과하며, 그 이상의 개수로 확장될 수 있다.
이와 같이, 패리티 블록들(331,332)의 개수를 데이터 블록들(321∼324)의 개수보다 적게 구성함으로써, 패리티 처리부(123)의 용량이 작은 크기로 구성될 수 있다. 따라서, 패리티 처리부(123)를 구비하는 메모리 장치(101)의 면적 비용 즉, 제조 비용이 감소되고, 데이터 처리 속도도 향상된다.
도 4는 본 발명에 따른 메모리 장치(101)의 에러 보정 방법을 도시한 흐름도이다. 도 1 내지 도 3을 참조하여 도 4에 도시된 메모리 장치(101)의 에러 보정 방법을 설명하기로 한다. 본 발명에 따른 메모리 장치(101)의 에러 보정 방법은 제1 내지 제5 단계(411∼451)를 포함하며, 메모리 장치(101)에 구비된 로직 제어부(120)에 의해 처리된다.
제1 단계(411)로써, 에러 보정부(121)는 데이터 저장부(110A)에 구비된 복수개의 보정 그룹들(CG1∼CG4) 중 특정한 1개의 보정 그룹에 저장된 데이터를 리드한다.
제2 단계(421)로써, 에러 보정부(121)는 SECDED 코드워드를 디코딩하여 상기 리드된 데이터에 에러가 있는지 여부를 확인한다. 에러 보정부(121)는, 상기 리드된 데이터에 싱글 비트 에러가 있으면 기 알려진 방법을 이용하여 상기 싱글 비트 에러를 검출하여 보정하고(435), 상기 리드된 데이터에 더블 비트 에러가 있으면 이하의 제3 단계(431)를 진행하며, 상기 리드된 데이터에 더블 비트 에러보다 많은 에러가 있으면 본 발명에 따른 에러 보정 처리를 종료한다(435).
제3 단계(431)로써, 에러 보정부(121)는 상기 리드된 데이터에 더블 비트 에러를 갖는 워드가 존재할 경우, 상기 더블 비트 에러를 갖는 워드를 포함하는 에러 데이터를 검출한다.
제4 단계(441)로써, 연산부(122)는 에러 보정부(121)로부터 상기 더블 비트 에러가 있는 에러 데이터를 수신하고, 패리티 저장부(110B)에 저장된 패리티들 중 상기 에러 데이터가 포함된 보정 그룹에 대응되는 패리티를 수신한 후, 상기 에러 데이터와 상기 패리티를 논리 연산 즉, 배타적 논리합(Exclusive OR) 연산한다. 예컨대, 도 6을 참조하면, 상기 데이터는 4개의 워드들, 즉, 제1 내지 제4 워드들(D0∼D3)을 포함하고, 각 워드는 8비트들로 구성되며, 패리티는 8비트로 구성된 1개의 워드(P)를 포함한다. 상기 데이터의 제1 내지 제4 워드들(D0∼D3)과 패리티의 워드(P)는 세로로 정렬되고, 연산부(122)는 제1 내지 제4 워드들(D0∼D3)에 포함된 비트들과 패리티의 워드(P)의 비트들을 세로 방향으로 각각 배타적 논리합 연산하여 그에 따른 값들을 연산 워드 (DXOR)로써 생성한다. 연산부(122)는 상기 연산 워드(DXOR)를 이용하여 더블 비트 에러를 갖는 워드에 포함된 더블 비트 에러의 위치를 검출한다. 예컨대, 연산 워드(DXOR)는 "0"과 "1"의 조합으로 구성되며, 이 때, "0"은 에러가 없음을 나타내고, "1"은 에러가 있음을 나타낸다. 즉, 도 6의 좌측에 도시된 바와 같이, 데이터에 에러가 없는 경우, 연산 워드(DXOR)의 비트들은 모두 "0"으로 구성된다. 그러나, 상기 데이터에 더블 비트 에러가 있는 경우(오른쪽 D2의 옅은 흑색 표시 부분), 도 6의 우측에 도시된 바와 같이, 연산 워드(DXOR)는 "0"과 "1"의 조합으로 구성된다. 구체적으로, 연산 워드(DXOR)의 좌측에서 3번째 비트와 7번째 비트가 "1"로 나타나 있다. 이것은 상기 더블 비트 에러가 있는 제3 워드(오른쪽 D2)에서 좌측에서 3번째 비트와 7번째 비트가 에러 비트들임을 나타낸다. 이와 같이, 연산부(122)는 상기 에러 데이터와 그에 대응되는 패리티의 배타적 논리합 연산을 이용하여 상기 더블 비트 에러를 갖는 워드 내에서 상기 더블 비트 에러의 위치를 검출할 수 있다. 연산부(122)는 상기 검출된 더블 비트 에러의 위치를 에러 보정부(121)로 통지한다.
제5 단계(451)로써, 에러 보정부(121)는 상기 더블 비트 에러를 나타내는 비트들을 반전시켜서 상기 더블 비트 에러를 보정한다. 즉, 에러 보정부(121)는 에러가 없는 원래의 데이터를 복원한다. 에러 보정부(121)는 상기 더블 비트 에러가 보정된 데이터를 원래의 보정 그룹에 저장한다.
상술한 바와 같이, 본 발명의 에러 보정 방법에 따르면, 특정한 보정 그룹에 저장된 데이터의 복수개의 워드들 중 1개의 워드가 더블 비트 에러를 가지고 있을 경우, 로직 제어부(120)는 에러 데이터와 패리티의 배타적 논리합 연산을 수행하여 상기 더블 비트 에러를 갖는 워드의 더블 비트 에러의 위치를 정확하게 검출한다. 상기 더블 비트 에러의 위치가 정확하게 검출되면, 에러 보정부(121)에 의해 상기 더블 비트 에러가 보정된다. 이와 같이, 본 발명의 에러 보정 방법에 따르면, 간단한 처리 과정을 통해 더블 비트 에러가 보정되기 때문에 메모리 장치(101)의 더블 비트 에러 정정 비용이 큰 폭으로 감소된다.
도 5는 도 4에 도시된 에러 보정 방법을 보다 상세히 설명하기 위한 흐름도이다. 도 1 내지 도 3을 참조하여 도 5에 도시된 에러 보정 방법을 설명하기로 한다.
제1 단계(511)로써, 에러 보정부(121)는 데이터 저장부(110A)에 구비된 복수개의 보정 그룹들(CG1∼CG4) 중 특정한 보정 그룹에 저장된 데이터를 리드한다.
제2 단계(521)로써, 에러 보정부(121)는 SECDED 코드워드를 디코딩하여 상기 리드된 데이터에 에러가 있는지 여부를 확인한다. 에러 보정부(121)는, 상기 리드된 데이터에 싱글 비트 에러가 있으면 상기 싱글 비트 에러를 검출하여 보정하고(531), 상기 리드된 데이터에 싱글 비트 에러보다 많은 에러가 있으면 이하의 제3 단계(535)를 진행한다.
제3 단계(535)로써, 에러 보정부(121)는 제1 단계(511)의 보정 그룹과 동일한 보정 그룹의 데이터를 리드한다(535).
제4 단계(541)로써, 에러 보정부(121)는 상기 리드된 데이터의 SECDED 코드워드를 디코딩하여 상기 리드된 데이터에 에러가 있는지 여부를 확인한다. 이 때, 에러 보정부(121)는, 상기 리드된 데이터에 더블 비트 에러가 있으면 이하의 제5 단계(551)를 진행하고, 상기 리드된 데이터에 더블 비트 에러보다 많은 에러가 있으면 본 발명에 따른 에러 보정 처리를 종료한다.
제5 단계(551)로써, 에러 보정부(121)는 상기 리드된 데이터에 더블 비트 에러가 있을 경우, 상기 더블 비트 에러를 갖는 워드를 검출한다.
제6 단계(561)로써, 연산부(122)는 에러 보정부(121)로부터 상기 더블 비트 에러가 있는 데이터를 수신하고, 패리티 저장부(110B)로부터 상기 데이터의 패리티를 수신한 후, 상기 더블 비트 에러가 있는 데이터와 상기 패리티를 배타적 논리합 연산한다. 배타적 논리합 연산을 수행하는 방법은 도 4를 통하여 설명된 바와 동일함으로 이에 대한 중복 설명은 생략하기로 한다.
제7 단계(571)로써, 에러 보정부(121)는 상기 더블 비트 에러를 나타내는 비트들을 반전시켜서 상기 더블 비트 에러를 보정한다. 즉, 에러 보정부(121)는 에러가 없는 원래의 데이터를 복원한다. 에러 보정부(121)는 상기 더블 비트 에러가 보정된 데이터를 원래의 보정 그룹에 저장한다.
도 7은 도 2의 패리티 저장부(110B)에 저장된 패리티를 업데이트하는 방법을 도시한 흐름도이다. 도 2 및 도 3을 참조하여 도 7에 도시된 패리티 업데이트 방법을 설명하기로 한다. 도 7을 참조하면, 패리티 업데이트 방법은 제1 내지 제6 단계(711∼761)를 포함한다.
제1 단계(711)로써, 패리티 처리부(123)는 데이터 저장부(110A)에 기입될 새로운 데이터(WD)의 파셜 패리티(partial parity)를 산출한다. 데이터 저장부(110A)에 기입되거나 데이터 저장부(110A)로부터 리드되는 데이터는 보정 그룹 내의 소정의 블록 단위, 예컨대 64 바이트의 블록 단위로 구성된다. 패리티 처리부(123)는 데이터 저장부(110A)에 데이터가 기입되는 것을 알리는 데이터 기입 요청 신호를 받아서 제1 단계(711)를 진행하는 것이 바람직하다.
제2 단계(721)로써, 패리티 처리부(123)는 패리티 저장부(110B)에 저장된 패리티들 중 상기 새로운 데이터(WD)가 기입될 특정 보정 그룹의 패리티를 리드한다. 이 때, 패리티 처리부(123)는 상기 특정 보정 그룹의 소정의 블록에 저장되어 있는 데이터인 올드 데이터의 파셜 패리티를 가지고 있으면, 제5 단계(751)를 진행하고, 상기 올드 데이터의 파셜 페리티를 가지고 있지 않으면 제3 단계(731)를 진행한다. 상기 올드 데이터는 상기 새로운 데이터가 기입될 특정 보정 그룹의 소정의 블록에 기 저장되어 있는 데이터를 나타낸다.
제3 단계(731)로써, 에러 보정부(211)는 데이터 저장부(110)로부터 상기 올드 데이터를 리드하여 패리티 처리부(123)로 전송한다.
제4 단계(741)로써, 패리티 처리부(123)는 상기 올드 데이터의 파셜 패리티를 산출한다.
제5 단계(751)로써, 패리티 처리부(123)는 패리티 저장부(110B)로부터 상기 올드 데이터의 파셜 패리티와 상기 새로운 데이터의 파셜 패리티를 수신하고, 상기 올드 데이터의 파셜 패리티와 상기 특정 보정 그룹의 패리티 및 상기 새로운 데이터의 파셜 패리티를 로직 연산, 예컨대 배타적 논리합 연산한다. 제5 단계(751)를 수학식으로 표현하면 다음과 같다.
[수학식 1]
Pnew = Pold XOR PPold XOR PPnew
여기서, Pnew는 상기 새로운 데이터의 패리티로써 패리티 저장부(110B)에 업데이트되는 패리티이고, Pold는 패리티 저장부(110B)에 기 저장된 상기 특정 보정 그룹의 패리티이고, PPold는 데이터 저장부(110A)의 소정 블록으로부터 리드된 데이터의 파셜 패리티이고, PPnew는 데이터 저장부(110A)의 상기 소정 블록에 기입될 데이터의 파셜 패리티를 나타낸다.
제6 단계(761)로써, 패리티 처리부(123)는 상기 배타적 논리합 연산의 결과로 생성된 패리티를 패리티 저장부(110B)에 저장한다. 따라서, 패리티 저장부(110B)에 저장된 패리티가 업데이트된다.
패리티 처리부(123)는 아이들(idle) 타임 동안에 상기 제3 단계(731) 및 제4 단계(741)를 수행한다.
이와 같이, 패리티 처리부(123)를 이용할 경우에, 아이들 타임 동안에 제3 단계(731) 및 제4 단계(741)가 수행되며, 그에 따라, 상기 데이터 기입 요청 신호가 메모리 장치(101)에 입력될 때마다 메모리 장치(101)에 저장된 데이터를 리드할 필요가 없어진다. 따라서, 패리티 업데이트 과정이 보다 간단해지고, 시간도 단축되어 메모리 장치(101)의 성능이 향상된다.
도 8a는 도 7의 파셜 패리티를 산출하는 방법을 도시한 흐름도이다. 도 9a를 참조하여 도 8a에 도시된 파셜 패리티 산출 방법을 설명하기로 한다. 도 8a를 참조하면, 파셜 패리티 산출 방법은 제1 내지 제4 단계(811∼825)를 포함한다.
제1 단계(811)로써, 데이터 저장부(110A)에 기입될 새로운 데이터가 외부로부터 패리티 처리부(123)로 기입된다. 이 때, 패리티 처리부(123)의 복수개의 데이터 블록들(321∼324) 중 가용한 데이터 블록에 저장된 올드 데이터가 클린인 경우 제2 단계(815)를 진행하고, 클린이 아닌 경우 제4 단계(825)를 진행한다.
제2 단계(815)로써, 패리티 처리부(123)는 상기 올드 데이터의 파셜 패리티를 산출한다.
제3 단계(821)로써, 패리티 처리부(123)는 상기 산출된 올드 데이터의 파셜 패리티를 패리티 처리부(123) 내의 가용한 패리티 블록에 저장한다.
제4 단계(825)로써, 패리티 처리부(123)는 상기 새로운 데이터를 상기 올드 데이터를 오버라이트(overwrite)한다.
도 8b는 도 7의 파셜 패리티를 산출하는 다른 방법을 도시한 흐름도이다. 도 9b를 참조하여 도 8b에 도시된 파셜 패리티 산출 방법을 설명하기로 한다. 도 8b를 참조하면, 파셜 패리티 산출 방법은 제1 내지 제4 단계(831∼845)를 포함한다.
제1 단계(831)로써, 데이터 저장부(110A)에 기입될 새로운 데이터가 외부로부터 패리티 처리부(123)로 기입된다. 이 때, 패리티 처리부(123)의 복수개의 패리티 블록들(331,332)이 모두 가득차 있으면, 제2 단계(835)를 진행하고, 가득차 있지 않으면 제4 단계(845)를 진행한다.
제2 단계(835)로써, 패리티 처리부(123)는 상기 새로운 데이터가 저장될 데이터 블록에 기 저장되어있는 데이터를 패리티 처리부(123)에 구비된 기입 버퍼(311)로 전송하고, 패리티 블록들(331,332) 중 가용한 패리티 블록에 저장된 파셜 패리티를 기입 버퍼(311)로 전송한다. 데이터가 출력되는 블록들은 우선 순위가 가장 낮게 설정된 것들이다. 즉, 우선순위가 가장 낮은 패리티 블록이 패리티 리소스(resource)를 반납한다.
제3 단계(841)로써, 패리티 처리부(123)는 데이터가 비워진 데이터 블록과 패리티 블록의 상태를 변경한다. 즉, 데이터가 비워진 데이터 블록은 "더티(dirty)"에서 "클린"으로 변경하고, 상기 데이터가 비워진 패리티 블록은 "밸리드(valid)"에서 "인??리드(invalid)"로 변경한다.
제4 단계(845)로써, 패리티 처리부(123)는 상기 새로운 데이터의 파셜 패리티를 상기 가용 패리티 블록에 저장한다.
상술한 바와 같이, 패리티 처리부(123)에 구비되는 패리티 블록들의 개수를 데이터 블록들의 개수보다 적게 구성하여 패리티를 처리할 수 있다. 따라서, 패리티 처리부(123)를 구비하는 메모리 장치(101)의 면적 비용 즉, 제조 비용이 감소되고, 데이터 처리 속도도 향상된다.
본 발명은 도면들에 도시된 실시예들을 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이들로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (17)

  1. 복수개의 보정 그룹들로 분할되고 각 보정 그룹에는 다수의 워드들을 포함하는 데이터가 저장되는 데이터 저장부와, 상기 보정 그룹마다 1개의 패리티가 설정되며 다수의 패리티들이 저장되는 패리티 저장부를 구비하는 메모리부; 및
    상기 메모리부에 저장된 데이터를 수신하고, 상기 데이터에 포함된 다수의 워드들 중 더블 비트 에러를 갖는 워드를 포함하는 에러 데이터를 검출하고, 상기 에러 데이터에 대응하는 패리티를 상기 패리티 저장부로부터 수신하며, 상기 에러 데이터와 상기 패리티에 대해 논리(logic) 연산을 수행하여 상기 더블 비트 에러를 갖는 워드 내에서 상기 더블 비트 에러의 위치를 검출하여 보정하는 로직 제어부를 구비하는 것을 특징으로 하는 메모리 장치.
  2. 제1항에 있어서, 상기 로직 제어부는
    상기 에러 데이터를 검출하고, 상기 더블 비트 에러를 보정하는 에러 보정부; 및
    상기 에러 데이터와 상기 패리티의 논리 연산을 수행하는 연산부를 구비하는 것을 특징으로 하는 메모리 장치.
  3. 제1항 또는 제2항에 있어서, 상기 논리 연산은 배타적 논리합 연산인 것을 특징으로 하는 메모리 장치.
  4. 제2항에 있어서, 상기 로직 제어부는
    외부로부터 상기 메모리부에 기입될 새로운 데이터를 수신하고, 상기 새로운 데이터의 파셜 패리티(partial parity)를 산출하여 일시적으로 저장하는 패리티 처리부를 더 구비하는 것을 특징으로 하는 메모리 장치.
  5. 제4항에 있어서, 상기 패리티 처리부는
    상기 파셜 패리티를 이용하여 상기 패리티 저장부에 저장된 패리티들 중 대응되는 패리티를 업데이트하는 것을 특징으로 하는 메모리 장치.
  6. 제4항에 있어서, 상기 패리티 처리부는
    상기 새로운 데이터를 일시 저장하는 복수개의 데이터 블록들, 및 상기 새로운 데이터의 파셜 패리티를 일시 저장하기 위하여 상기 데이터 블록들보다 적은 개수로 구성되는 복수개의 패리티 블록들을 구비하는 것을 특징으로 하는 메모리 장치.
  7. 제1항에 있어서, 상기 메모리부는
    복수개의 메모리 칩들이 적층되고, 상기 복수개의 적층된 칩들은 TSV (Through Silicon Via)에 의해 서로 전기적으로 연결되어 구성된 HBM (High Bandwidth Memory) 인 것을 특징으로 하는 메모리 장치.
  8. 제1항에 있어서, 상기 로직 제어부는
    상기 메모리부의 하부에 적층되고, 상기 메모리부와 TSV에 의해 전기적으로 연결된 것을 특징으로 하는 메모리 장치.
  9. 제1항에 있어서, 상기 로직 제어부는
    상기 메모리부와 분리되어 장착되고, 배선을 통해 상기 메모리부에 전기적으로 연결된 것을 특징으로 하는 메모리 장치.
  10. 복수개의 보정 그룹들로 분할되고, 각 보정 그룹에는 다수의 워드들을 포함하는 데이터가 저장되며, 상기 보정 그룹마다 1개의 패리티가 설정되며, 다수의 패리티들이 저장되는 메모리부, 및 로직 제어부를 구비하는 메모리 장치에 있어서, 상기 로직 제어부에 의해 수행되는 에러 보정 방법에 있어서,
    (a) 상기 복수개의 보정 그룹들 중 특정 보정 그룹에 저장된 데이터를 리드하는 단계;
    (b) 상기 데이터에 대한 SECDED(Single Error Correction Double Error Detection) 코드워드를 디코딩하는 단계;
    (c) 상기 디코딩 결과, 상기 데이터에 더블 비트 에러를 갖는 워드가 존재할 경우에, 상기 더블 비트 에러를 갖는 워드를 포함하는 에러 데이터를 검출하는 단계;
    (d) 상기 에러 데이터에 대응되는 패리티를 상기 메모리부로부터 리드하고, 상기 에러 데이터와 상기 리드된 패리티를 논리 연산하여 상기 더블 비트 에러를 갖는 워드 내에서 상기 더블 비트 에러의 위치를 검출하는 단계; 및
    (e) 상기 더블 비트 에러를 보정하는 단계를 포함하는 것을 특징으로 하는 에러 보정 방법.
  11. 제10항에 있어서,
    상기 (d) 단계의 상기 에러 데이터의 워드들과 상기 패리티의 워드를 세로로 정렬시키고, 상기 에러 데이터의 워드들과 상기 패리티의 워드에 포함된 비트들을 각각 세로 방향으로 배타적 논리합 연산하는 것을 특징으로 하는 에러 보정 방법.
  12. 제10항에 있어서, 상기 메모리부에 저장된 패리티들을 업데이트하기 위하여,
    상기 특정 보정 그룹의 소정 블록에 기입될 새로운 데이터의 파셜 패리티를 산출하는 단계;
    상기 특정 보정 그룹에 저장된 데이터에 대응되는 패리티를 상기 메모리부로부터 리드하는 단계;
    상기 소정 블록에 저장되어 있는 올드 데이터의 파셜 패리티가 존재할 경우에, 상기 올드 데이터의 파셜 패리티와 상기 특정 보정 그룹의 패리티 및 상기 새로운 데이터의 파셜 패리티를 배타적 논리합 연산하는 단계; 및
    상기 배타적 논리합 연산의 결과로 생성된 패리티를 상기 메모리부에서 그에 대응되는 패리티와 교체함으로써 상기 메모리부의 패리티가 업데이트되는 단계를 구비하는 것을 특징으로 하는 에러 보정 방법.
  13. 제12항에 있어서,
    상기 소정 블록에 올드 데이터의 파셜 패리티가 존재하지 않을 경우에,
    상기 메모리부로부터 상기 소정 블록에 저장된 올드 데이터를 리드하는 단계; 및
    상기 올드 데이터의 파셜 패리티를 산출하는 단계를 더 진행한 후에,
    상기 올드 데이터의 파셜 패리티와 상기 특정 보정 그룹의 패리티 및 상기 새로운 데이터의 파셜 패리티를 배타적 논리합 연산하는 단계를 진행하는 것을 특징으로 하는 에러 보정 방법.
  14. 제12항에 있어서, 상기 로직 제어부는 패리티를 처리하는 패리티 처리부를 구비하고, 상기 패리티 처리부가 상기 새로운 데이터의 파셜 패리티를 산출하기 위하여,
    상기 새로운 데이터를 상기 패리티 처리부에 기입하는 단계; 및
    상기 패리티 처리부에서 상기 올드 데이터가 클린(비어있는 상태)이 아닐 경우에 상기 새로운 데이터를 상기 올드 데이터에 오버라이트(over-write)하는 단계를 구비하는 것을 특징으로 하는 에러 보정 방법.
  15. 제14항에 있어서, 상기 패리티 처리부에서 상기 올드 데이터가 클린일 경우,
    상기 올드 데이터의 파셜 패리티를 산출하는 단계; 및
    상기 산출된 올드 데이터의 파셜 패리티를 상기 패리티 처리부 내의 패리티 블록에 저장하는 단계를 더 구비하는 것을 특징으로 하는 에러 보정 방법.
  16. 제14항에 있어서, 상기 패리티 처리부는 데이터를 저장하는 복수개의 데이터 블록들과 상기 데이터 블록보다 적은 개수로 구성되어 상기 파셜 패리티를 저장하는 패리티 블록들을 구비하며,
    상기 새로운 데이터의 파셜 패리티가 상기 패리티 블록들 중 하나에 기입되는 단계;
    상기 패리티 블록들이 모두 가득차 있을 경우에 상기 데이터 블록들에 저장되어 있는 데이터 중 하나와 상기 패리티 블록들에 저장되어 있는 파셜 패리티들 중 하나를 상기 파셜 패리티 버퍼로 전송하는 단계;
    상기 비워진 데이터 블록과 패리티 블록의 상태를 변경하는 단계; 및
    상기 새로운 파셜 패리티를 상기 비워진 패리티 블록에 기입하는 단계를 구비하는 것을 특징으로 하는 에러 보정 방법.
  17. 제16항에 있어서,
    상기 비워진 데이터 블록의 상태는 더티(dirty)에서 클린(clean)으로 변경하고, 상기 비워진 패리티 블록은 밸리드(valid)에서 인벌리드(invalid)로 변경하는 것을 특징으로 하는 에러 보정 방법.
KR1020140150208A 2014-10-31 2014-10-31 에러를 보정하는 메모리 장치 및 그의 에러 보정 방법 KR102023121B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140150208A KR102023121B1 (ko) 2014-10-31 2014-10-31 에러를 보정하는 메모리 장치 및 그의 에러 보정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140150208A KR102023121B1 (ko) 2014-10-31 2014-10-31 에러를 보정하는 메모리 장치 및 그의 에러 보정 방법

Publications (2)

Publication Number Publication Date
KR20160050961A true KR20160050961A (ko) 2016-05-11
KR102023121B1 KR102023121B1 (ko) 2019-11-04

Family

ID=56025814

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140150208A KR102023121B1 (ko) 2014-10-31 2014-10-31 에러를 보정하는 메모리 장치 및 그의 에러 보정 방법

Country Status (1)

Country Link
KR (1) KR102023121B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101877824B1 (ko) * 2018-02-12 2018-07-12 엣센클라우드 주식회사 보조 기억 장치
US10635531B2 (en) 2017-07-06 2020-04-28 Samsung Electronics Co., Ltd. Semiconductor memory device error correction circuit, semiconductor memory device including the same, and memory system including the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220068831A (ko) 2020-11-19 2022-05-26 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040086923A (ko) * 2003-04-03 2004-10-13 삼성전자주식회사 에러정정기능을 가진 플래쉬메모리장치
KR20050078231A (ko) * 2004-01-31 2005-08-04 삼성전자주식회사 디지털 비디오 디스크 디코딩 장치 및 에러 보정 방법
KR101109562B1 (ko) * 2009-01-05 2012-01-31 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 초고대역폭 메모리 다이 스택
KR20120114366A (ko) * 2010-01-27 2012-10-16 샌디스크 테크놀로지스, 인코포레이티드 비트 값들의 저장된 총계를 이용하여 데이터 에러들을 보정하는 시스템 및 방법
KR20130027138A (ko) * 2011-09-07 2013-03-15 삼성전자주식회사 에러 정정 방법 및 이를 이용하는 메모리 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040086923A (ko) * 2003-04-03 2004-10-13 삼성전자주식회사 에러정정기능을 가진 플래쉬메모리장치
KR20050078231A (ko) * 2004-01-31 2005-08-04 삼성전자주식회사 디지털 비디오 디스크 디코딩 장치 및 에러 보정 방법
KR101109562B1 (ko) * 2009-01-05 2012-01-31 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 초고대역폭 메모리 다이 스택
KR20120114366A (ko) * 2010-01-27 2012-10-16 샌디스크 테크놀로지스, 인코포레이티드 비트 값들의 저장된 총계를 이용하여 데이터 에러들을 보정하는 시스템 및 방법
KR20130027138A (ko) * 2011-09-07 2013-03-15 삼성전자주식회사 에러 정정 방법 및 이를 이용하는 메모리 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10635531B2 (en) 2017-07-06 2020-04-28 Samsung Electronics Co., Ltd. Semiconductor memory device error correction circuit, semiconductor memory device including the same, and memory system including the same
KR101877824B1 (ko) * 2018-02-12 2018-07-12 엣센클라우드 주식회사 보조 기억 장치

Also Published As

Publication number Publication date
KR102023121B1 (ko) 2019-11-04

Similar Documents

Publication Publication Date Title
US11734106B2 (en) Memory repair method and apparatus based on error code tracking
US9268638B2 (en) Flash memory control method, controller and electronic apparatus
US8869007B2 (en) Three dimensional (3D) memory device sparing
US8707122B1 (en) Nonvolatile memory controller with two-stage error correction technique for enhanced reliability
US10606696B2 (en) Internally-generated data storage in spare memory locations
KR20090028507A (ko) 비휘발성 메모리 에러 보정 시스템 및 방법
US10248497B2 (en) Error detection and correction utilizing locally stored parity information
CN103218271B (zh) 一种数据纠错方法及装置
US11218165B2 (en) Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11030040B2 (en) Memory device detecting an error in write data during a write operation, memory system including the same, and operating method of memory system
US9690649B2 (en) Memory device error history bit
KR101999288B1 (ko) 메모리 데이터의 에러 보정 장치 및 방법
TW201921245A (zh) 用於支持錯誤更正碼的裝置及其測試方法
KR102023121B1 (ko) 에러를 보정하는 메모리 장치 및 그의 에러 보정 방법
US11726665B1 (en) Memory extension with error correction
US9037948B2 (en) Error correction for memory systems
US20190012231A1 (en) Memory device, memory system including the same, and operating method of memory system
CN110737539B (zh) 裸片级错误恢复方案
US10740179B2 (en) Memory and method for operating the memory
TWI594251B (zh) 記憶體控制方法、控制器跟電子裝置
TW202329106A (zh) 記憶體系統及其操作方法
KR20230077606A (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