KR20210132784A - 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법 - Google Patents

메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법 Download PDF

Info

Publication number
KR20210132784A
KR20210132784A KR1020200050991A KR20200050991A KR20210132784A KR 20210132784 A KR20210132784 A KR 20210132784A KR 1020200050991 A KR1020200050991 A KR 1020200050991A KR 20200050991 A KR20200050991 A KR 20200050991A KR 20210132784 A KR20210132784 A KR 20210132784A
Authority
KR
South Korea
Prior art keywords
codeword
errors
sub
data units
data
Prior art date
Application number
KR1020200050991A
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 KR1020200050991A priority Critical patent/KR20210132784A/ko
Priority to US17/090,726 priority patent/US11681458B2/en
Priority to TW109142642A priority patent/TW202141512A/zh
Priority to CN202110401897.9A priority patent/CN114090328A/zh
Publication of KR20210132784A publication Critical patent/KR20210132784A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage 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
    • 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • 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/0409Online test
    • 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

Abstract

본 발명은 메모리 장치에 관한 것이다. 본 발명의 메모리 장치는 메모리 셀들을 포함하는 메모리 칩, 그리고 메모리 칩을 제어하도록 구성되는 로직 칩을 포함한다. 로직 칩은 메모리 칩으로부터 n개(n은 양의 정수)의 데이터 유닛들을 포함하는 코드워드를 읽고, 그리고 코드워드에 대해 에러 정정 디코딩을 수행하여 m개(m은 n보다 작은 양의 정수)보다 작은 수의 데이터 유닛들의 에러들을 정정하도록 구성된다. 코드워드의 데이터 유닛들 중에서 m개의 데이터 유닛들이 에러들을 갖고 그리고 m개의 데이터 유닛들이 메모리 칩의 공통 구성 요소에 대응할 때, 로직 칩은 m개의 데이터 유닛들의 에러들을 정정하도록 구성된다. 코드워드의 데이터 유닛들 중에서 m개의 데이터 유닛들이 에러들을 갖고 그리고 m개의 데이터 유닛들이 메모리 칩의 공통 구성 요소에 대응하지 않을 때, 로직 칩은 m개의 데이터 유닛들의 에러들을 정정 불가능한 에러로 판단하도록 구성된다.

Description

메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법{MEMORY DEVICE AND METHOD FOR READING DATA FROM MEMORY DEVICE}
본 발명은 반도체 회로에 관한 것으로, 더 상세하게는 데이터 오염을 방지하는 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법에 관한 것이다.
메모리 장치는 데이터를 저장하는데 사용된다. 프로세서는 메모리 장치에 데이터를 저장하고, 그리고 메모리 장치로부터 데이터를 읽을 수 있다. 메모리 장치에 데이터를 기입하는 과정에서, 데이터가 메모리 장치에 저장되어 있는 동안, 또는 메모리 장치로부터 데이터를 읽는 과정에서 에러가 발생할 수 있다.
데이터에서 에러가 발생하는 것을 보상하기 위하여, 메모리 장치는 에러 정정 인코딩 및 에러 정정 디코딩을 수행할 수 있다. 에러 정정 인코딩은 메모리 장치에 데이터를 기입하는 과정에서 수행된다. 에러 정정 인코딩은 데이터에 추가 정보를 부여하여 에러를 정정할 수 있게 하는 사전 처리일 수 있다.
에러 정정 디코딩은 메모리 장치로부터 데이터를 읽는 과정에서 수행된다. 에러 정정 디코딩은 데이터에 부여된 추가 정보를 이용하여 데이터에 에러가 존재하는지 검출하고, 검출된 에러를 정정할 수 있다. 에러 정정 인코딩 및 디코딩은 정해진 수의 에러들을 정정하도록 설계될 수 있다.
메모리 장치로부터 데이터를 읽을 때에 에러 정정 디코딩을 수행하여도, 데이터로부터 에러가 검출 또는 정정되지 않는 현상이 발생할 수 있다. 이러한 현상은 조용한 데이터 오염(SDC)(Silent Data Corruption)이라 불릴 수 있다. SDC는 인지되지 않는 에러를 유발할 수 있다.
본 발명의 목적은 에러 정정 디코딩에 의해 정정되지 않는 조용한 데이터 오염을 방지하는 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 메모리 장치는 메모리 셀들을 포함하는 메모리 칩, 그리고 메모리 칩을 제어하도록 구성되는 로직 칩을 포함한다. 로직 칩은 메모리 칩으로부터 n개(n은 양의 정수)의 데이터 유닛들을 포함하는 코드워드를 읽고, 그리고 코드워드에 대해 에러 정정 디코딩을 수행하여 m개(m은 n보다 작은 양의 정수)보다 작은 수의 데이터 유닛들의 에러들을 정정하도록 구성된다. 코드워드의 데이터 유닛들 중에서 m개의 데이터 유닛들이 에러들을 갖고 그리고 m개의 데이터 유닛들이 메모리 칩의 공통 구성 요소에 대응할 때, 로직 칩은 m개의 데이터 유닛들의 에러들을 정정하도록 구성된다. 코드워드의 데이터 유닛들 중에서 m개의 데이터 유닛들이 에러들을 갖고 그리고 m개의 데이터 유닛들이 메모리 칩의 공통 구성 요소에 대응하지 않을 때, 로직 칩은 m개의 데이터 유닛들의 에러들을 정정 불가능한 에러로 판단하도록 구성된다.
본 발명의 실시 예에 따른 메모리 장치는 메모리 셀들을 포함하는 메모리 칩, 그리고 메모리 칩을 제어하도록 구성되는 로직 칩을 포함한다. 로직 칩은 메모리 칩으로부터 n개(n은 양의 정수)의 데이터 유닛들을 포함하는 코드워드를 읽고, 그리고 코드워드에 대해 에러 정정 디코딩을 수행하여 m개(m은 n보다 작은 양의 정수)보다 작은 수의 데이터 유닛들의 에러들을 정정하도록 구성된다. 코드워드의 데이터 유닛들 중에서 m개의 데이터 유닛들이 에러들을 갖고 그리고 m개의 데이터 유닛들이 데이터 오염 패턴에 대응하지 않을 때, 로직 칩은 m개의 데이터 유닛들의 에러들을 정정하도록 구성된다. 코드워드의 데이터 유닛들 중에서 m개의 데이터 유닛들이 에러들을 갖고 그리고 m개의 데이터 유닛들이 데이터 오염 패턴에 대응할 때, 로직 칩은 m개의 데이터 유닛들의 에러들을 정정 불가능한 에러로 판단하도록 구성된다.
본 발명의 실시 예에 따른 메모리 셀들을 포함하는 메모리 장치로부터 데이터를 읽는 방법은, 메모리 셀들로부터 코드워드를 읽는 단계, 코드워드의 에러들의 수가 최대 정정 에러 수보다 작을 때, 에러들을 정정하는 단계, 코드워드의 에러들의 수가 최대 정정 에러 수와 같고 그리고 에러들이 동일한 서브 워드 라인에 대응할 때, 에러들을 정정하는 단계, 그리고 코드워드의 에러들의 수가 최대 정정 에러 수와 같고 그리고 에러들이 서로 다른 서브 워드 라인들에 대응할 때, 정정 불가능한 에러를 판단하는 단계를 포함한다.
본 발명에 따르면, 메모리 장치는 조용한 데이터 오염의 위험이 감지된 때에 데이터가 정정 불가능한 에러를 갖는 것으로 처리한다. 따라서, 조용한 데이터 오염에 의해 데이터가 오염되고, 그리고 오염된 데이터로 인해 메모리 장치를 포함하는 시스템에서 치명적인 에러가 발생하는 것이 방지된다.
도 1은 본 발명의 실시 예에 따른 메모리 장치를 보여준다.
도 2는 본 발명의 실시 예에 따른 메모리 유닛의 코어 구조의 예를 보여준다.
도 3은 본 발명의 실시 예에 따른 인접한 서브-워드 라인 드라이버들을 예시적으로 보여주는 블록도이다.
도 4는 에러 정정 모듈이 에러 정정 인코딩 및 에러 정정 디코딩을 수행하는 예를 보여준다.
도 5 및 도 6은 메모리 유닛이 제1 서브 코드워드 및 제2 서브 코드워드를 기입하는 예를 보여준다.
도 7은 서브 워드 라인 드라이버에서 결함이 존재할 때에 에러들이 발생하는 예를 보여준다.
도 8은 서브 워드 라인 드라이버에서 결함이 존재하고, 그리고 추가적인 에러가 존재할 때에 에러 정정이 시도되는 예를 보여준다.
도 9는 에러 정정 모듈이 에러 정정 인코딩 및 에러 정정 디코딩을 수행하는 다른 예를 보여준다.
도 10은 서브 워드 라인 드라이버에서 결함이 존재할 때에 에러 정정이 시도되는 예를 보여준다.
도 11은 서브 워드 라인에서 결함이 존재할 때에 에러 정정이 시도되는 예를 보여준다.
도 12는 서브 워드 라인에서 결함이 존재할 때에 에러 정정이 시도되는 예를 보여준다.
도 13은 메모리 장치가 데이터를 읽는 방법의 예를 보여준다.
이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
도 1은 본 발명의 실시 예에 따른 메모리 장치(100)를 보여준다. 도 1을 참조하면, 메모리 장치(100)는 메모리 유닛들(110) 및 로직 유닛(120)을 포함할 수 있다. 메모리 유닛들(110)은 제1 신호선들을 통해 로직 유닛(120)과 내부 데이터 신호(iDS)를 통신할 수 있다.
메모리 유닛들(110)은 제2 신호선들을 통해 로직 유닛(120)과 제1 내부 제어 신호들(iCS1)을 교환할 수 있다. 메모리 유닛들(110)은 제3 신호선들을 통해 로직 유닛(120)으로부터 제2 내부 제어 신호들(iCS2)을 수신할 수 있다. 메모리 유닛들(110)은 제4 신호선들을 통해 로직 유닛(120)으로 제3 내부 제어 신호들(iCS3)을 출력할 수 있다.
메모리 유닛들(110)은 제1 내부 제어 신호들(iCS1), 제2 내부 제어 신호들(iCS2), 그리고 제3 내부 제어 신호들(iCS3)에 응답하여 동작할 수 있다. 예를 들어, 1 내부 제어 신호들(iCS1), 제2 내부 제어 신호들(iCS2), 그리고 제3 내부 제어 신호들(iCS3)은 클럭 신호, 명령, 주소, 그리고 메모리 유닛들(110)을 제어하는데 필요한 다양한 신호들을 포함할 수 있다.
메모리 유닛들(110)은 로직 유닛(120)의 명령에 응답하여, 내부 데이터 신호(iDS)의 쓰기 동작을 수행할 수 있다. 메모리 유닛들(110)은 로직 유닛(120)의 명령에 응답하여 읽기 동작을 수행하고, 읽혀진 데이터를 로직 유닛(120)으로 출력할 수 있다. 메모리 유닛들(110)은 로직 유닛(120)의 제어에 따라 교대로 활성화될 수 있다.
로직 유닛(120)은 외부의 호스트 장치와 메모리 유닛들(110)의 사이에 연결될 수 있다. 로직 유닛(120)은 제5 신호선들을 통해 외부의 호스트 장치와 데이터 신호들(DS)을 교환할 수 있다. 로직 유닛(120)은 제6 신호선들을 통해 외부의 호스트 장치와 제1 제어 신호들(CS1)을 교환할 수 있다.
로직 유닛(120)은 제7 신호선들을 통해 외부의 호스트 장치로부터 제2 제어 신호들(CS2)을 수신할 수 있다. 로직 유닛(120)은 제8 신호선들을 통해 외부의 호스트 장치로 제3 제어 신호들(CS3)을 출력할 수 있다.
로직 유닛(120)은 데이터 신호들(DS)을 내부 데이터 신호들(iDS)로 전달하고, 그리고 내부 데이터 신호들(iDS)을 데이터 신호들(DS)로 전달할 수 있다. 로직 유닛(120)은 제1 제어 신호들(CS1)을 제1 내부 제어 신호들(iCS1)로 전달하고, 그리고 제1 내부 제어 신호들(iCS1)을 제1 제어 신호들(CS1)로 전달할 수 있다.
로직 유닛(120)은 제2 제어 신호들(CS2)을 제2 내부 제어 신호들(iCS2)로 전달하고, 그리고 제2 내부 제어 신호들(iCS2)을 제2 제어 신호들(CS2)로 전달할 수 있다. 로직 유닛(120)은 제3 제어 신호들(CS3)을 제3 내부 제어 신호들(iCS3)로 전달하고, 그리고 제3 내부 제어 신호들(iCS3)을 제3 제어 신호들(CS3)로 전달할 수 있다.
로직 유닛(120)은 메모리 유닛들(110)을 관리할 수 있다. 예를 들어, 로직 유닛(120)은 메모리 유닛들(110)에 공급되는 전원들 또는 신호들을 관리할 수 있다. 로직 유닛(120)은 메모리 유닛들(110)의 성능을 향상할 수 있는 다양한 논리적 기능들을 수행할 수 있다. 또한, 로직 유닛(120)은 메모리 유닛들(110)과 연결되는 신호선들을 재분배하는 재분배층(redistribution layer)일 수 있다.
로직 유닛(120)은 에러 정정 모듈(130)을 포함할 수 있다. 에러 정정 모듈(130)은 외부의 호스트 장치로부터 수신되는 데이터 신호들(DS)에 대해 에러 정정 인코딩을 수행하고, 그리고 인코딩된 데이터를 내부 데이터 신호들(iDS)로 출력할 수 있다.
에러 정정 모듈(130)은 메모리 유닛들(110)로부터 수신되는 내부 데이터 신호들(iDS)에 대해 에러 정정 디코딩을 수행하고, 그리고 디코딩된 데이터를 데이터 신호들(DS)로 출력할 수 있다. 에러 정정 디코딩을 수행할 때, 로직 유닛(120)은 조용한 데이터 오염(SDC)의 위험을 감지할 수 있다. 로직 유닛(120)은 위험이 감지된 데이터가 정정 불가능한 에러(Uncorrectable Error)를 갖는 것으로 처리할 수 있다. 따라서, 조용한 데이터 오염이 방지될 수 있다.
예를 들어, 메모리 장치(100)는 HBM(High Bandwidth Memory)의 표준을 만족할 수 있다. 예를 들어, 메모리 유닛들(110)의 각각은 웨이퍼 상에 제조된 후에 커팅된 메모리 다이(die)일 수 있다. 로직 유닛(120)은 웨이퍼 상에 제조된 후에 커팅된 로직 다이(die)일 수 있다. 메모리 유닛들(110)은 로직 유닛(120)의 상에 적층될 수 있다. 메모리 유닛들(110) 및 로직 유닛(120)은 관통 실리콘 비아들(TSVs)을 통해 로직 유닛(120)에 연결될 수 있다.
HBM의 예를 참조하여 본 발명의 기술적 사상이 설명되지만, 본 발명의 기술적 사상은 HBM으로 한정되지 않는다. 본 발명의 기술적 사상은 에러 정정 모듈(130)을 구비한 다른 다양한 메모리 장치들에 적용될 수 있다.
도 2는 본 발명의 실시 예에 따른 메모리 유닛(200)의 코어 구조의 예를 보여준다. 예를 들어, 메모리 유닛(200)은 도 1의 메모리 유닛들(110) 중 하나일 수 있다. 도 1 및 도 2를 참조하면, 메모리 유닛(200)은 행 디코더(210), 프리-디코더들(212, 214), 구동 전압 발생기들(220, 222, 224, 226), 서브-워드 라인 드라이버들(230, 240, 260, 270), 센스 앰프 블록들(290), 셀 어레이(292), 접속 회로들(294, Conjunction)을 포함할 수 있다.
행 디코더(210)는 입력되는 행 주소(RADD)에 응답하여 액세스 될 메모리 셀의 워드 라인을 선택한다. 행 디코더(210)는 입력되는 행 주소(RADD)를 디코딩하여 해당 워드 라인을 인에이블(Enable)하기 위한 워드 라인 인에이블 신호들(NWEI<k>)(k는 0 이상의 정수)을 생성한다. 이러한 행 디코더(210)의 워드 라인 인에이블 신호들(NWEI<k>)은 선택된 메모리 셀들에 대한 쓰기 동작 모드, 읽기 동작 모드에서 활성화될 것이다. 또한, 행 디코더(210)는 셀프 리프레쉬 동작 모드에서는 주소 카운터(미도시됨)로부터 발생되는 행 주소(RADD)를 디코딩하여 해당 워드 라인을 인에이블할 수 있다.
프리-디코더들(212, 214)은 행 주소(RADD)에 응답하여 프리-디코딩 신호들(PXI<0>, PXI<1>, PXI<2>, PXI<3>, …)을 생성한다. 예를 들면, 프리-디코더들(212, 214)은 행 주소(RADD)의 하위 비트들을 디코딩하여 선택된 워드 라인에 대응하는 프리-디코딩 신호들(PXI<j>)(j는 0 이상의 정수)을 생성할 수 있다. 프리-디코딩 신호들(PXI<j>)은 메인 워드 라인을 통해서 접속 회로(294)(Conjunction)들 내의 구동 전압 발생기들(220, 222), 224, 226)에 전달된다.
구동 전압 발생기들(220, 222, 224, 226)은 프리-디코딩 신호들(PXI<0>, PXI<1>, PXI<2>, PXI<3>, …)에 응답하여 워드 라인을 구동하기 위한 구동 신호들(PXID<i>/PXIB<i>)을 생성한다. 구동 전압 발생기들(220, 222, 224, 226)은 선택된 워드 라인으로 고전압(VPP)을 공급하기 위해 풀업 드라이버(Pull-Up Driver)를 포함한다. 일반적으로, 풀업 드라이버는 PMOS 트랜지스터로 구성된다.
서브-워드 라인 드라이버들(230, 240, 260, 270)은 워드 라인 인에이블 신호들(NWEI<i>) 및 구동 신호들(PXID<i>/PXIB<i>)에 응답하여 선택된 서브 워드 라인을 활성화하거나 프리차지(Precharge)할 수 있다. 만일, 메모리 셀(MC1)이 선택되는 경우, 워드 라인 인에이블 신호(NWEI<0>)가 활성화되고, 구동 전압 발생기(220)로부터 제공되는 구동 신호들(PXID<2>, PXIB<2>)이 활성화된다. 그러면, 서브-워드 라인 드라이버(230)는 서브 워드 라인(SWL<1>)을 구동 신호(PXID<2>)의 레벨인 고전압(VPP)으로 구동하게 될 것이다. 이러한 서브-워드 라인 드라이버(230)의 동작은 나머지 서브-워드 라인 드라이버들(240, 260, 270, 230', 240', 260', 270')에게도 동일하게 적용된다.
센스 앰프 블록(290)은 열 주소(Column address)에 응답하여 선택된 열의 비트 라인 쌍(BL/BLB)을 사용하여 메모리 셀에 접근한다. 또한, 센스 앰프 블록(290)은 입력되는 데이터를 선택된 메모리 셀에 저장하기 위한 구성들을 더 포함할 수 있다. 센스 앰프 블록(290)은 셀프 리프레쉬 모드에서 메모리 셀에 저장된 데이터를 재기입할 수 있다. 센스 앰프 블록(290)은 오픈 비트 라인(Open bit line) 구조로 메모리 셀들과 연결될 수 있다.
셀 어레이(292)는 복수의 메모리 셀들(MCs)이 각각 서브 워드 라인(SWL)들과 비트 라인(BL)들에 연결되어 행 방향과 열 방향으로 배열된다. 각각의 메모리 셀들은 셀 커패시터(Cell Capacitor)와 액세스 트랜지스터(Access Transistor)로 구성될 수 있다. 액세스 트랜지스터의 게이트는 행 방향으로 배열된 서브 워드 라인(SWL)들 중 어느 하나에 연결된다. 액세스 트랜지스터의 일단은 열 방향으로 배열되어 있는 비트 라인(BL) 혹은 상보 비트 라인(BLB)에 연결된다. 액세스 트랜지스터의 타단은 셀 커패시터에 연결될 수 있다.
도 3은 본 발명의 실시 예에 따른 인접한 서브-워드 라인 드라이버들을 예시적으로 보여주는 블록도이다. 도 3을 참조하면, 서브 워드 라인들(SWL<1>, SWL<5>)을 각각 구동하기 위한 서로 인접한 서브-워드 라인 드라이버들(230, 240)이 도시되어 있다.
서브-워드 라인 드라이버들(230, 240)은 모두 구동 신호들(PXID<2>, PXIB<2>)을 제공받을 수 있다. 서브-워드 라인 드라이버(230)는 워드 라인 인에이블 신호(NWEI<0>)에 응답하여 활성화되고, 서브-워드 라인 드라이버(240)는 워드 라인 인에이블 신호(NWEI<1>)에 응답하여 활성화될 수 있다. 서브-워드 라인 드라이버(230)는 워드 라인 인에이블 신호(NWEI<0>)가 로우 레벨(L)로 활성화되면, 구동 신호(PXID<2>)를 통해서 제공되는 고전압(VPP)을 서브 워드 라인(SWL<1>)에 제공한다. 더불어, 서브-워드 라인 드라이버(230)는 워드 라인 인에이블 신호(NWEI<0>)가 하이 레벨로 제공되면, 구동 신호(PXID<2>)를 차단하고, 네거티브 전압(VBB2)으로 서브 워드 라인(SWL<1>)을 프리차지할 것이다.
마찬가지로, 서브-워드 라인 드라이버(240)는 워드 라인 인에이블 신호(NWEI<1>)가 로우 레벨로 제공되면, 구동 신호(PXID<2>)를 통해서 제공되는 고전압(VPP)을 서브 워드 라인(SWL<5>)에 제공한다. 서브-워드 라인 드라이버(240)는 워드 라인 인에이블 신호(NWEI<1>)가 하이 레벨로 제공되면, 구동 신호(PXID<2>)를 차단하고, 네거티브 전압(VBB2)으로 서브 워드 라인(SWL<5>)을 프리차지할 것이다.
도 4는 에러 정정 모듈(130)이 에러 정정 인코딩 및 에러 정정 디코딩을 수행하는 예를 보여준다. 도 1 및 도 4를 참조하면, 에러 정정 모듈(130)은 제1 에러 정정 장치(131) 및 제2 에러 정정 장치(132)를 포함할 수 있다. 제1 에러 정정 장치(131) 및 제2 에러 정정 장치(132)의 각각은, 예를 들어, 리드-솔로몬(Reed-Solomon) 코드에 기반하여 에러 정정 인코딩 및 에러 정정 디코딩을 수행할 수 있다.
에러 정정 모듈(130)은 데이터 신호들(DS)로서 제1 데이터 유닛들(A1~A36)을 포함하는 제1 코드워드(CW1)를 수신할 수 있다. 제1 데이터 유닛들(A1~A36)의 각각은, 예를 들어 8-비트 심볼일 수 있다. 또는, 제1 데이터 유닛들(A1~A36)의 각각은 하나 또는 그보다 많은 비트일 수 있다.
쓰기 동작 시에, 제1 에러 정정 장치(131)는 제1 데이터 유닛들(A1~A36)의 일부(A1~A18)에 대해 에러 정정 인코딩을 수행하여 제2 데이터 유닛들(B1~B18)을 포함하는 제1 서브 코드워드(SCW1)를 생성할 수 있다. 제2 에러 정정 장치(132)는 제1 데이터 유닛들(A1~A36)의 나머지 일부(A19~A36)에 대해 에러 정정 인코딩을 수행하여 제3 데이터 유닛들(C1~C18)을 포함하는 제2 서브 코드워드(SCW2)를 생성할 수 있다.
로직 유닛(120)은 제1 서브 코드워드(SCW1) 및 제2 서브 코드워드(SCW2)를 내부 데이터 신호들(iDS)로서 메모리 유닛들(110)로 전송할 수 있다. 메모리 유닛들(110) 중 하나는 제1 서브 코드워드(SCW1) 및 제2 서브 코드워드(SCW2)를 기입할 수 있다.
읽기 동작 시에, 로직 유닛(120)은 메모리 유닛들(110)로부터 제1 서브 코드워드(SCW1) 및 제2 서브 코드워드(SCW2)를 수신할 수 있다. 제1 에러 정정 장치(131)는 제1 서브 코드워드(SCW1)의 제2 데이터 유닛들(B1~B18)에 대해 에러 정정 디코딩을 수행하여, 제1 데이터 유닛들(A1~A36) 중 일부(A1~A18)를 생성할 수 있다.
제2 에러 정정 장치(132)는 제2 서브 코드워드(SCW2)의 제3 데이터 유닛들(C1~C18)에 대해 에러 정정 디코딩을 수행하여, 제1 데이터 유닛들(A1~A36) 중 나머지 일부(A19~A36)를 생성할 수 있다.
예시적으로, 제1 에러 정정 장치(131)는 18개의 데이터 유닛들 중에서 1개의 데이터 유닛의 에러를 검출하고 정정할 수 있다. 제2 에러 정정 장치(132)는 18개의 데이터 유닛들 중에서 1개의 데이터 유닛의 에러를 검출하고 정정할 수 있다. 그러나 제1 에러 정정 장치(131) 및 제2 에러 정정 장치(132)의 각각이 정정하는 데이터 유닛(들)의 수는 한정되지 않으며, 하나의 데이터 유닛보다 많을 수 있다.
예시적으로, 에러 정정 인코딩의 과정에서, 패리티가 추가될 수 있다. 패리티는 추가적인 데이터 유닛의 형태로 제공되거나 또는 각 데이터 유닛의 내에서 추가적인 비트의 형태로 제공될 수 있다. 본 발명의 기술적 사상을 명확히 전달하기 위하여, 패리티에 대한 상세한 설명은 생략된다.
도 5 및 도 6은 메모리 유닛(200)이 제1 서브 코드워드(SCW1) 및 제2 서브 코드워드(SCW2)를 기입하는 예를 보여준다. 도 2와 비교하면, 워드 라인 인에이블 신호(NWEI)의 신호선이 가로 방향으로 배치되어 있다. 이에 따라, 서브 워드 라인 드라이버들(SWDa~SWDf) 또한 가로 방향으로 배열될 수 있다. 서브 워드 라인 드라이버들(SWDa~SWDf)의 사이에, 셀 어레이들(292a~292d)이 가로 방향으로 배열될 수 있다.
본 발명의 기술적 사상을 용이하게 전달하기 위하여, 셀 어레이들(292a~292d)의 각각에서, 두 개의 서브 워드 라인들만이 도시된다. 두 개의 서브 워드 라인들의 각각은 복수의 메모리 셀들과 연결될 수 있다.
예시적으로, 메모리 유닛(200)은 제1 서브 코드워드(SCW1)의 제2 데이터 유닛들(B1~B18) 및 제2 서브 코드워드(SCW2)의 제3 데이터 유닛들(C1~C18)을 교대로 기입할 수 있다. 도 5 및 도 6에서, 데이터 유닛들의 수보다 적은 수의 셀 어레이들이 도시되지만, 셀 어레이들의 수는 데이터 유닛들의 수와 같거나 그보다 많을 수 있다.
도 5에 도시된 바와 같이, 메모리 유닛(200)은 제1 서브 코드워드(SCW1)의 제2 데이터 유닛들(B1~B18)을 홀수 번째의 셀 어레이들(292a, 292c, 292e)에 각각 기입할 수 있다. 도 6에 도시된 바와 같이, 메모리 유닛(200)은 제2 서브 코드워드(SCW2)의 제3 데이터 유닛들(C1~C18)을 짝수 번째의 셀 어레이들(292b, 292d)에 각각 기입할 수 있다.
도 7은 서브 워드 라인 드라이버(SWDb)에서 결함이 존재할 때에 에러들이 발생하는 예를 보여준다. 도 4 및 도 7을 참조하면, 서브 워드 라인 드라이버(SWDb)에 결함이 존재하면, 서브 워드 라인 드라이버(SWDb)에 연결된 서브 워드 라인들의 메모리 셀들에 기입된 제1 서브 코드워드(SCW1)의 제2 데이터 유닛(B1) 및 제2 서브 코드워드(SCW2)의 제3 데이터 유닛(C1)에서 에러가 발생할 수 있다.
제1 에러 정정 장치(131) 및 제2 에러 정정 장치(132)가 각각 하나의 데이터 유닛의 에러를 정정할 수 있으므로, 신드롬 계산이 수행되면 에러들의 위치가 정확히 검출된다. 따라서, 에러들에 정정될 수 있다.
도 8은 서브 워드 라인 드라이버(SWDb)에서 결함이 존재하고, 그리고 추가적인 에러가 존재할 때에 에러 정정이 시도되는 예를 보여준다. 서브 워드 라인 드라이버(SWDb)에 결함이 존재하므로, 서브 워드 라인 드라이버(SWDb)에 연결된 서브 워드 라인들의 메모리 셀들에 기입된 제1 서브 코드워드(SCW1)의 제2 데이터 유닛(B1) 및 제2 서브 코드워드(SCW2)의 제3 데이터 유닛(C1)에서 에러가 발생할 수 있다.
예시적으로, 제2 서브 코드워드(SCW2)의 제3 데이터 유닛(C18)에서 추가적인 에러가 발생할 수 있다. 즉, 제2 서브 코드워드(SCW2)에서 발생한 에러들의 수는 제2 에러 정정 장치(132)가 정정 가능한 에러들의 최대 수를 초과할 수 있다. 제2 서브 코드워드(SCW2)에 대해 신드롬 계산이 수행되면, 제2 서브 코드워드(SCW2)의 임의의 위치의 하나의 데이터 유닛에 에러가 존재하는 결과가 도출될 수 있다.
즉, 제2 서브 코드워드(SCW2)는 정정 가능한 에러들의 최대 수보다 많은 에러들을 갖지만, 제2 에러 정정 장치(132)는 제2 서브 코드워드(SCW2)의 에러가 정정 가능하다고 판단할 수 있다. 제2 에러 정정 장치(132)가 에러 정정을 수행하면, 에러 정정 인코딩의 결과인 제1 코드워드(CW1)는 원본과 달라진다. 이러한 현상은 정정 불가능한 에러가 에러 정정 모듈(130)에서 인지되지 않는 관점에서 조용한 데이터 오염(SDC)이라 불릴 수 있다.
예를 들어, 랜덤 에러는 에러들이 서브 워드 라인 드라이버와 같은 공통의 구성 요소에 의해 연관된 위치들의 데이터 유닛들에서 발생하지 않고, 공통의 구성 요소와 독립적인 위치들의 데이터 유닛들에서 발생하는 에러들일 수 있다.
다수의 메모리 장치들을 평가한 결과를 참조하면, 정정 가능한 랜덤 에러가 발생한 때에, 정정 가능한 최대 에러들의 수를 초과하는 에러들에 의해 조용한 데이터 오염(SDC)이 발생할 제1 확률은 실제로 랜덤 에러가 발생하는 확률, 즉 공통의 서브 워드 라인 드라이버에 연결되지 않은 서브 워드 라인들의 메모리 셀들에서 에러가 발생할 제2 확률보다 현저히 높게 나타난다.
따라서, 공통의 구성 요소, 즉 공통의 서브 워드 라인 드라이버에 연결되지 않은 서브 워드 라인들의 메모리 셀들에서 에러가 발생할 때(즉, 랜덤 에러가 발생할 때), 로직 유닛(120)은 해당 코드워드가 조용한 데이터 오염(SDC)을 갖는 것으로 판단하고, 그리고 정정 불가능한 에러를 갖는 것으로 처리할 수 있다. 따라서, 메모리 장치(100)가 외부의 호스트 장치에 오염된 데이터를 전송하는 것이 방지되고, 외부의 호스트 장치에서 치명적인 에러가 발생하는 것이 방지된다. 즉, 메모리 장치(100)의 신뢰성이 향상된다.
또는, 에러를 갖는 데이터 유닛들이 데이터 오염 패턴에 대응할 때, 로직 유닛(120)은 해당 코드워드가 정정 불가능한 에러를 갖는 것으로 처리할 수 있다. 예를 들어, 데이터 오염 패턴은 메모리 유닛(200)이 데이터 유닛들을 기입하는 위치들에 의존하여 결정될 수 있다.
도 5 및 도 6과 같은 기입 방법이 사용될 때, 데이터 오염 패턴은 에러를 갖는 데이터 유닛들의 순서가 서로 동일하지(또는 연관되지) 않는(또는 독립적인) 것일 수 있다. 도 5 및 도 6과 같은 기입 방법이 사용될 때, 데이터 오염 패턴은 제1 서브 코드워드(SCW1)의 첫 번째 데이터 유닛이 기입되는 메모리 셀의 서브 워드 라인이 다른 서브 워드 라인과 서브 워드 라인 드라이버를 공유하는지에 의존하여 결정될 수 있다.
도 7을 참조하여 설명된 바와 같이, 제1 서브 코드워드(SCW1)의 첫 번째 데이터 유닛이 기입되는 워드 라인이 다른 서브 워드 라인과 서브 워드 라인 드라이버를 공유하면, 데이터 오염 패턴은 에러를 갖는 데이터 유닛들의 순서가 서로 동일하지 않은 것일 수 있다.
도 7에서 데이터 유닛들이 기입되지 않은 서브 워드 라인들과 같이, 제1 서브 코드워드(SCW1)의 첫 번째 데이터 유닛이 기입되는 서브 워드 라인이 다른 서브 워드 라인과 서브 워드 라인 드라이버를 공유하지 않으면, 데이터 오염 패턴은 제2 서브 코드워드(SCW2)의 에러를 갖는 데이터 유닛의 순서가 제1 서브 코드워드(SCW1)의 에러를 갖는 데이터 유닛의 순서보다 '1'만큼 앞서지 않는 것일 수 있다.
도 9는 에러 정정 모듈(130)이 에러 정정 인코딩 및 에러 정정 디코딩을 수행하는 다른 예를 보여준다. 도 9를 참조하면, 에러 정정 모듈(130)은, 예를 들어, 리드-솔로몬(Reed-Solomon) 코드에 기반하여 에러 정정 인코딩 및 에러 정정 디코딩을 수행할 수 있다.
에러 정정 모듈(130)은 데이터 신호들(DS)로서 제1 데이터 유닛들(A1~A36)을 포함하는 제1 코드워드(CW1)를 수신할 수 있다. 제1 데이터 유닛들(A1~A36)의 각각은, 예를 들어 8-비트 심볼일 수 있다. 또는, 제1 데이터 유닛들(A1~A36)의 각각은 하나 또는 그보다 많은 비트일 수 있다.
쓰기 동작 시에, 에러 정정 모듈(130)은 제1 데이터 유닛들(A1~A36)에 대해 에러 정정 인코딩을 수행하여 제4 데이터 유닛들(D1~D36)을 포함하는 제2 코드워드(CW2)를 생성할 수 있다. 로직 유닛(120)은 제2 코드워드(CW2)를 내부 데이터 신호들(iDS)로서 메모리 유닛들(110)로 전송할 수 있다. 메모리 유닛들(110) 중 하나는 제2 코드워드(CW2)를 기입할 수 있다.
읽기 동작 시에, 로직 유닛(120)은 메모리 유닛들(110)로부터 제2 코드워드(CW2)를 수신할 수 있다. 에러 정정 모듈(130)은 제2 코드워드(CW2)의 제4 데이터 유닛들(D1~D36)에 대해 에러 정정 디코딩을 수행하여, 제1 데이터 유닛들(A1~A36)을 생성할 수 있다.
예시적으로, 에러 정정 모듈(130)은 36개의 데이터 유닛들 중에서 2개의 데이터 유닛들의 에러를 검출하고 정정할 수 있다. 그러나 에러 정정 모듈(130)이 정정하는 데이터 유닛들의 수는 한정되지 않으며, 두 개의 데이터 유닛보다 많을 수 있다.
예시적으로, 에러 정정 인코딩의 과정에서, 패리티가 추가될 수 있다. 패리티는 추가적인 데이터 유닛의 형태로 제공되거나 또는 각 데이터 유닛의 내에서 추가적인 비트의 형태로 제공될 수 있다. 본 발명의 기술적 사상을 명확히 전달하기 위하여, 패리티에 대한 상세한 설명은 생략된다.
도 10은 서브 워드 라인 드라이버(SWDb)에서 결함이 존재할 때에 에러 정정이 시도되는 예를 보여준다. 도 2, 도 9 및 도 10을 참조하면, 메모리 유닛(200)은 어레이들(292a, 292b, 292c, 292d, 292e)에 제2 코드워드(CW2)의 데이터 유닛들을 순차적으로 기입할 수 있다.
서브 워드 라인 드라이버(SWDb)에 결함이 존재할 때, 제2 코드워드(CW2)의 제4 데이터 유닛들(D1, D2)에서 에러가 발생할 수 있다. 에러를 갖는 데이터 유닛들이 공통의 구성 요소, 즉 공통의 서브 워드 라인 드라이버에 대응할 때, 해당 에러들은 정정 가능한 것으로 처리될 수 있다.
도 8을 참조하여 설명된 바와 같이, 제2 코드워드(CW2)의 에러들의 수가 에러 정정 모듈(130)에 의해 정정될 수 있는 에러들의 최대 수보다 많을 때, 임의의 위치의 두 개의 데이터 유닛들이 에러를 갖는 결과가 신드롬 계산을 통해 도출될 수 있다.
따라서, 공통의 구성 요소, 즉 공통의 서브 워드 라인 드라이버에 연결되지 않은 서브 워드 라인들의 메모리 셀들에서 에러가 발생할 때, 로직 유닛(120)은 해당 코드워드가 정정 불가능한 에러를 갖는 것으로 처리할 수 있다. 따라서, 메모리 장치(100)가 외부의 호스트 장치에 오염된 데이터를 전송하는 것이 방지되고, 외부의 호스트 장치에서 치명적인 에러가 발생하는 것이 방지된다. 즉, 메모리 장치(100)의 신뢰성이 향상된다.
또는, 에러를 갖는 데이터 유닛들이 데이터 오염 패턴에 대응할 때, 로직 유닛(120)은 해당 코드워드가 정정 불가능한 에러를 갖는 것으로 처리할 수 있다. 예를 들어, 데이터 오염 패턴은 메모리 유닛(200)이 데이터 유닛들을 기입하는 위치들에 의존하여 결정될 수 있다.
도 10과 같은 기입 방법이 사용될 때, 데이터 오염 패턴은 에러를 갖는 데이터 유닛들의 순서가 서로 연속이지 않은 것일 수 있다. 도 10과 같은 기입 방법이 사용될 때, 데이터 오염 패턴은 제2 코드워드(CW2)의 첫 번째 데이터 유닛이 기입되는 메모리 셀의 서브 워드 라인이 다른 서브 워드 라인과 서브 워드 라인 드라이버를 공유하는지에 의존하여 결정될 수 있다.
도 10을 참조하여 설명된 바와 같이, 제2 코드워드(CW2)의 첫 번째 데이터 유닛이 기입되는 워드 라인이 다른 서브 워드 라인과 서브 워드 라인 드라이버를 공유하면, 데이터 오염 패턴은 에러를 갖는 데이터 유닛들이 서로 연속이고, 그리고 홀수 번째의 에러를 갖는 데이터 유닛이 짝수 번째의 에러를 갖는 데이터 유닛보다 선행하지 않은 것일 수 있다.
도 10에서 데이터 유닛들이 기입되지 않은 서브 워드 라인들과 같이, 제2 코드워드(CW2)의 첫 번째 데이터 유닛이 기입되는 서브 워드 라인이 다른 서브 워드 라인과 서브 워드 라인 드라이버를 공유하지 않으면, 데이터 오염 패턴은 에러를 갖는 데이터 유닛들이 서로 연속이고, 그리고 짝수 번째의 에러를 갖는 데이터 유닛이 홀수 번째의 에러를 갖는 데이터 유닛보다 선행하지 않은 것일 수 있다.
도 11은 서브 워드 라인에서 결함이 존재할 때에 에러 정정이 시도되는 예를 보여준다. 도 2, 도 4 및 도 11을 참조하면, 메모리 유닛(200)은 어레이들(292a, 292b, 292c, 292d, 292e)의 각각에 제1 서브 코드워드(SCW1)의 하나의 데이터 유닛 및 제2 서브 코드워드(SCW2)의 하나의 데이터 유닛을 기입할 수 있다.
서브 워드 라인 드라이버(SWDb)에 연결된 하나의 서브 워드 라인에 결함이 존재할 때, 제1 서브 코드워드(SCW1)의 제2 데이터 유닛(B1) 및 제2 서브 코드워드(SCW2)의 제3 데이터 유닛(C1)에서 에러가 발생할 수 있다. 에러를 갖는 데이터 유닛들이 공통의 구성 요소, 즉 공통의 서브 워드 라인에 대응할 때, 해당 에러들은 정정 가능한 것으로 처리될 수 있다.
도 8을 참조하여 설명된 바와 같이, 제2 코드워드(CW2)의 에러들의 수가 에러 정정 모듈(130)에 의해 정정될 수 있는 에러들의 최대 수보다 많을 때, 임의의 위치의 두 개의 데이터 유닛들이 에러를 갖는 결과가 신드롬 계산을 통해 도출될 수 있다.
따라서, 공통의 구성 요소, 즉 공통의 서브 워드 라인에 연결되지 않은 메모리 셀들에서 에러가 발생할 때, 로직 유닛(120)은 해당 코드워드가 정정 불가능한 에러를 갖는 것으로 처리할 수 있다. 따라서, 메모리 장치(100)가 외부의 호스트 장치에 오염된 데이터를 전송하는 것이 방지되고, 외부의 호스트 장치에서 치명적인 에러가 발생하는 것이 방지된다. 즉, 메모리 장치(100)의 신뢰성이 향상된다.
또는, 에러를 갖는 데이터 유닛들이 데이터 오염 패턴에 대응할 때, 로직 유닛(120)은 해당 코드워드가 정정 불가능한 에러를 갖는 것으로 처리할 수 있다. 예를 들어, 데이터 오염 패턴은 메모리 유닛(200)이 데이터 유닛들을 기입하는 위치들에 의존하여 결정될 수 있다.
도 11과 같은 기입 방법이 사용될 때, 데이터 오염 패턴은 에러를 갖는 데이터 유닛들의 순서가 서로 동일하지 않는 것일 수 있다. 예를 들어, 에러를 갖는 제2 데이터 유닛의 제1 서브 코드워드(SCW1) 상의 위치가 에러를 갖는 제3 데이터 유닛의 제2 서브 코드워드(SCW2) 상의 위치가 서로 다를 때, 데이터 오염 패턴에 대응하는 것으로 판단될 수 있다.
도 12는 서브 워드 라인에서 결함이 존재할 때에 에러 정정이 시도되는 예를 보여준다. 도 2, 도 9 및 도 12를 참조하면, 메모리 유닛(200)은 어레이들(292a, 292b, 292c, 292d, 292e)의 각각에 제1 서브 코드워드(SCW1)의 하나의 데이터 유닛 및 제2 서브 코드워드(SCW2)의 하나의 데이터 유닛을 기입할 수 있다.
서브 워드 라인 드라이버(SWDb)에 연결된 하나의 서브 워드 라인에 결함이 존재할 때, 제2 코드워드(CW2)의 제4 데이터 유닛들(D1, D2)에서 에러가 발생할 수 있다. 에러를 갖는 데이터 유닛들이 공통의 구성 요소, 즉 공통의 서브 워드 라인에 대응할 때, 해당 에러들은 정정 가능한 것으로 처리될 수 있다.
도 8을 참조하여 설명된 바와 같이, 제2 코드워드(CW2)의 에러들의 수가 에러 정정 모듈(130)에 의해 정정될 수 있는 에러들의 최대 수보다 많을 때, 임의의 위치의 두 개의 데이터 유닛들이 에러를 갖는 결과가 신드롬 계산을 통해 도출될 수 있다.
따라서, 공통의 구성 요소, 즉 공통의 서브 워드 라인에 연결되지 않은 메모리 셀들에서 에러가 발생할 때, 로직 유닛(120)은 해당 코드워드가 정정 불가능한 에러를 갖는 것으로 처리할 수 있다. 따라서, 메모리 장치(100)가 외부의 호스트 장치에 오염된 데이터를 전송하는 것이 방지되고, 외부의 호스트 장치에서 치명적인 에러가 발생하는 것이 방지된다. 즉, 메모리 장치(100)의 신뢰성이 향상된다.
또는, 에러를 갖는 데이터 유닛들이 데이터 오염 패턴에 대응할 때, 로직 유닛(120)은 해당 코드워드가 정정 불가능한 에러를 갖는 것으로 처리할 수 있다. 예를 들어, 데이터 오염 패턴은 메모리 유닛(200)이 데이터 유닛들을 기입하는 위치들에 의존하여 결정될 수 있다.
도 12와 같은 기입 방법이 사용될 때, 데이터 오염 패턴은 에러를 갖는 데이터 유닛들의 순서가 서로 연속이지 않은 것일 수 있다. 예를 들어, 데이터 오염 패턴은 에러를 갖는 데이터 유닛들이 서로 연속이고, 그리고 홀수 번째의 에러를 갖는 데이터 유닛이 짝수 번째의 에러를 갖는 데이터 유닛보다 선행하지 않은 것일 수 있다.
도 7 내지 도 12를 참조하여 설명된 바와 같이, 메모리 유닛(200)이 데이터 유닛들을 기입하는 방식에 따라, 그리고 에러 정정 모듈(130)에 의해 정정 가능한 에러들의 최대 수에 따라, 공통의 구성 요소는 달라질 수 있다.
정정 가능한 에러들의 최대 수에 해당하는 데이터 유닛들을 메모리 유닛(200)이 두 개의 셀 어레이들에 기입할 때, 공통의 구성 요소는 서브 워드 라인 드라이버일 수 있다. 정정 가능한 에러들의 최대 수에 해당하는 데이터 유닛들을 메모리 유닛(200)이 한 개의 셀 어레이에 기입할 때, 공통의 구성 요소는 서브 워드 라인일 수 있다. 정정 가능한 에러들의 최대 수에 해당하는 데이터 유닛들을 메모리 유닛(200)이 전체 셀 어레이들에 분산하여 기입할 때, 공통의 구성 요소는 워드 라인(또는 워드 라인 드라이버, 워드 라인 인에이블 신호선)일 수 있다.
도 13은 메모리 장치(100)가 데이터를 읽는 방법의 예를 보여준다. 도 13을 참조하면, S110 단계에서, 로직 유닛(120)은 메모리 유닛들(110) 중 하나의 메모리 유닛으로부터 코드워드를 내부 데이터 신호들(iDS)로서 읽을 수 있다. S120 단계에서, 로직 유닛(120)은 에러 정정 모듈(130)을 이용하여 코드워드에 대해 신드롬 계산을 수행할 수 있다.
S130 단계에서, 로직 유닛(120)은 신드롬 계산에 의해 계산된 에러들의 수가 최대 에러, 즉 에러 정정 모듈(130)을 이용하여 정정 가능한 에러들의 최대 수인지 판단할 수 있다. 최대 에러가 아니면, S150 단계에서 로직 유닛(120)은 에러 정정 모듈(130)을 이용하여 에러(들)를 정정할 수 있다. 이후에, S160 단계에서 로직 유닛(120)은 에러가 정정된 코드워드를 데이터 신호들(DS)로서 외부의 호스트 장치로 출력할 수 있다.
최대 에러이면, S140 단계에서, 로직 유닛(120)은 에러들이 공통의 구성 요소에 대응하는지 판단할 수 있다. 또는 로직 유닛(120)은 에러들이 데이터 오염 패턴에 대응하지 않는지 판단할 수 있다. 위에서 설명한 바와 같이, 공통의 구성 요소 또는 데이터 오염 패턴은 메모리 유닛(200)이 데이터 유닛들을 기입하는 방식에 따라, 그리고 에러 정정 모듈(130)에 의해 정정 가능한 에러들의 최대 수에 의존하여 결정될 수 있다.
에러들이 공통의 구성 요소에 대응하면 또는 데이터 오염 패턴에 대응하지 않으면, S150 단계에서 로직 유닛(120)은 에러 정정 모듈(130)을 이용하여 에러(들)를 정정할 수 있다. 이후에, S160 단계에서 로직 유닛(120)은 에러가 정정된 코드워드를 데이터 신호들(DS)로서 외부의 호스트 장치로 출력할 수 있다.
에러들이 공통의 구성 요소에 대응하지 않으면 또는 데이터 오염 패턴에 대응하면, S170 단계에서 로직 유닛(120)은 코드워드에서 정정 불가능한 에러들이 발생하였음을 외부의 호스트 장치에 보고할 수 있다. 예시적으로, 로직 유닛(120)은 데이터 신호들(DS)의 일부로서, 또는 제1 제어 신호들(CS1) 및 제3 제어 신호들(CS3)의 일부로서 에러를 보고할 수 있다.
도 13에 도시되지 않았지만, 에러들의 수가 최대 수를 초과하는 것으로 판단될 때, 로직 유닛(120)은 정정 불가능한 에러를 보고할 수 있다. 도 13의 방법은 최대 수를 초과하지 않는 에러가 발생한 것으로 판단된 때에 적용될 수 있다.
도 14는 본 발명의 실시 예에 따른 컴퓨팅 장치를 보여준다. 도 13을 참조하면, 컴퓨팅 장치는 메모리 장치(300) 및 프로세서(400)를 포함할 수 있다. 메모리 장치(300)는 메모리 유닛들(310) 및 로직 유닛(320)을 포함할 수 있다.
메모리 유닛들(310)이 레지스터들(311)을 포함하는 것을 제외하면, 메모리 유닛들(310)은 도 1의 메모리 유닛들(110)과 동일할 수 있다. 레지스터들(311)은 메모리 유닛들(310)의 동작들 또는 모드들에 대한 설정들을 저장할 수 있다. 레지스터들(311)은 모드 레지스터들을 포함할 수 있다.
로직 유닛(320)은 레지스터들(340)을 포함하는 것을 제외하면 도 1의 로직 유닛(120)과 동일할 수 있다. 레지스터들(340)은 메모리 장치(300)의 동작들 또는 모드들에 대한 설정들을 저장할 수 있다. 레지스터들(340)은 모드 레지스터들을 포함할 수 있다.
프로세서(400)는 도 1을 참조하여 설명된 외부의 호스트 장치로 기능할 수 있다. 프로세서(400)는 범용 프로세서, 응용 프로세서, 특수 목적 프로세서 등을 포함할 수 있다. 프로세서(400)는 메모리 장치(300)와 통신하고 그리고 메모리 장치(300)를 제어하기 위한 제어기(410)를 포함할 수 있다. 제어기(410)는 동기식 동적 랜덤 액세스 메모리(SDRAM)의 표준에 기반하여 메모리 장치(300)를 액세스할 수 있다.
제어기(410)는 레지스터들(311) 또는 레지스터들(340)에 저장된 정보들을 설정 또는 갱신함으로써, 메모리 장치(300)의 동작들을 제어할 수 있다. 특히, 제어기(410)는 레지스터들(311) 또는 레지스터들(340)에 저장된 정보들을 설정 또는 갱신함으로써, 조용한 데이터 오염(SDC)과 연관된 동작들을 제어할 수 있다.
예를 들어, 제어기(410)는 레지스터들(311) 또는 레지스터들(340)에 저장된 정보들을 설정 또는 갱신함으로써, 도 4 내지 도 13을 참조하여 설명된 SDC를 방지하는 동작을 활성화 또는 비활성화할 수 있다. SDC 방지 동작이 활성화된 때에, 메모리 장치(300)는 도 13을 참조하여 설명된 방법에 따라 데이터를 읽을 수 있다. SDC 방지 동작이 비활성화된 때에, 메모리 장치(300)는 최대 수를 초과하지 않는 에러들을 모두 정정할 수 있다.
도 15는 SDC 방지 동작이 활성화된 때에, 프로세서(400)가 메모리 장치(300)의 SDC 방지 동작을 설정하는 예를 보여준다. 도 14 및 도 15를 참조하면, S210 단계에서, 프로세서(400)는 메모리 장치(300)의 SDC 방지 동작의 옵션들을 설정할 수 있다.
예를 들어, 옵션은 SDC가 발생한 때에 메모리 장치(300)가 정정 불가능한 에러를 보고할 지, SDC 타입의 정정 불가능한 에러를 보고할 지의 설정을 포함할 수 있다. 옵션은 SDC가 발생한 주소를 보고할 지의 설정을 더 포함할 수 있다. 옵션은 메모리 장치(300)가 SDC를 자체적으로 관리하는 동작의 활성화 및 비활성화의 설정을 포함할 수 있다.
옵션은 메모리 장치(300)의 SDC 관리 동작이 활성화된 때에, 메모리 장치(300)가 SDC가 발생한 주소를 저장할 지의 설정을 포함할 수 있다. 옵션은 메모리 장치(300)의 SDC 관리 동작이 활성화된 때에, SDC가 발생한 주소에 대한 접근을 거부할 지의 설정을 포함할 수 있다. 옵션은 메모리 장치(300)의 SDC 관리 동작이 활성화된 때에, SDC가 특정 주소에서 반복되는 횟수를 카운트할 지의 설정을 포함할 수 있다.
옵션은 메모리 장치(300)의 SDC 관리 동작이 활성화된 때에, SDC의 카운트 값에 기반하여 추가 보고를 수행할 지의 설정을 포함할 수 있다. 옵션은 메모리 장치(300)의 SDC 관리 동작이 활성화된 때에, SDC의 카운트 값에 기반하여 해당 주소에 대한 접근을 거부할 지의 설정을 포함할 수 있다.
예시적으로, 특정 주소에서 SDC가 반복적으로 발생하는 것은 워드 라인의 결함을 의미할 수 있다. 따라서, 특정 주소에서 SDC가 반복적으로 발생할 때에 해당 주소에 대한 접근을 거부하면, 추가적인 SDC가 발생하는 것이 방지될 수 있다.
예시적으로, SDC 방지 동작의 옵션들은 컴퓨팅 장치의 초기화 시에 수행될 수 있다. S220 단계에서, 로직 유닛(320)은 메모리 유닛(310)으로부터 데이터를 읽을 수 있다. S230 단계에서, 로직 유닛(320)은 에러 정정 모듈(330)을 이용하여 에러 정정 디코딩을 수행할 수 있다.
S240 단계에서, 로직 유닛(320)은 SDC가 발생하였는지 판단할 수 있다. SDC가 발생하지 않으면, S250 단계에서 로직 유닛(320)은 데이터를 프로세서(400)로 출력할 수 있다. SDC가 발생하면, S260 단계에서 로직 유닛(320)은 SDC 옵션들에 기반하여 프로세서(400)에 SDC를 보고할 수 있다. 이후에, S270 단계에서, 메모리 장치(300)의 SDC 관리 동작이 활성화된 때에, 메모리 장치(300)는 옵션들에 기반하여 SDC 관리 동작을 수행할 수 있다.
상술된 실시 예들에서, 제1, 제2, 제3 등의 용어들을 사용하여 본 발명의 기술적 사상에 따른 구성 요소들이 설명되었다. 그러나 제1, 제2, 제3 등과 같은 용어들은 구성 요소들을 서로 구별하기 위해 사용되며, 본 발명을 한정하지 않는다. 예를 들어, 제1, 제2, 제3 등과 같은 용어들은 순서 또는 임의의 형태의 수치적 의미를 내포하지 않는다.
상술된 실시 예들에서, 블록들을 사용하여 본 발명의 실시 예들에 따른 구성 요소들이 참조되었다. 블록들은 IC (Integrated Circuit), ASIC (Application Specific IC), FPGA (Field Programmable Gate Array), CPLD (Complex Programmable Logic Device) 등과 같은 다양한 하드웨어 장치들, 하드웨어 장치들에서 구동되는 펌웨어, 응용과 같은 소프트웨어, 또는 하드웨어 장치와 소프트웨어가 조합된 형태로 구현될 수 있다. 또한, 블록들은 IC 내의 반도체 소자들로 구성되는 회로들 또는 IP(Intellectual Property)로 등록된 회로들을 포함할 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100: 메모리 장치
110: 메모리 유닛들
120: 로직 유닛
130: 에러 정정 모듈

Claims (20)

  1. 메모리 셀들을 포함하는 메모리 칩; 그리고
    상기 메모리 칩을 제어하도록 구성되는 로직 칩을 포함하고,
    상기 로직 칩은 상기 메모리 칩으로부터 n개(n은 양의 정수)의 데이터 유닛들을 포함하는 코드워드를 읽고, 그리고 상기 코드워드에 대해 에러 정정 디코딩을 수행하여 m개(m은 n보다 작은 양의 정수)보다 작은 수의 데이터 유닛들의 에러들을 정정하도록 구성되고,
    상기 코드워드의 상기 데이터 유닛들 중에서 m개의 데이터 유닛들이 에러들을 갖고 그리고 상기 m개의 데이터 유닛들이 상기 메모리 칩의 공통 구성 요소에 대응할 때, 상기 로직 칩은 상기 m개의 상기 데이터 유닛들의 상기 에러들을 정정하도록 구성되고, 그리고
    상기 코드워드의 상기 데이터 유닛들 중에서 m개의 데이터 유닛들이 에러들을 갖고 그리고 상기 m개의 데이터 유닛들이 상기 메모리 칩의 공통 구성 요소에 대응하지 않을 때, 상기 로직 칩은 상기 m개의 상기 데이터 유닛들의 상기 에러들을 정정 불가능한 에러로 판단하도록 구성되는 메모리 장치.
  2. 제1항에 있어서,
    상기 메모리 칩은:
    상기 메모리 셀들에 연결되는 서브 워드 라인들;
    상기 서브 워드 라인들을 각각 구동하도록 구성되는 서브 워드 라인 드라이버들;
    상기 서브 워드 라인 드라이버들에 연결되는 워드 라인; 그리고
    상기 워드 라인에 연결되는 행 디코더를 포함하고,
    상기 공통 구성 요소는 상기 서브 워드 라인 드라이버들 중 하나의 서브 워드 라인 드라이버인 메모리 장치.
  3. 제1항에 있어서,
    상기 메모리 칩은:
    상기 메모리 셀들에 연결되는 서브 워드 라인들;
    상기 서브 워드 라인들을 각각 구동하도록 구성되는 서브 워드 라인 드라이버들;
    상기 서브 워드 라인 드라이버들에 연결되는 워드 라인; 그리고
    상기 워드 라인에 연결되는 행 디코더를 포함하고,
    상기 공통 구성 요소는 상기 서브 워드 라인들 중 하나의 서브 워드 라인인 메모리 장치.
  4. 제1항에 있어서,
    상기 로직 칩은 상기 정정 불가능한 에러가 판단된 때에, 상기 정정 불가능한 에러가 발생하였음을 알리는 신호를 외부의 호스트 장치로 출력하는 메모리 장치.
  5. 제4항에 있어서,
    상기 로직 칩은 데이터 라인들 및 제어 신호 라인들을 통해 외부의 호스트 장치와 통신하도록 구성되고, 그리고
    상기 로직 칩은 상기 신호를 상기 데이터 라인들을 통해 상기 외부의 호스트 장치로 출력하는 메모리 장치.
  6. 제4항에 있어서,
    상기 로직 칩은 데이터 라인들 및 제어 신호 라인들을 통해 외부의 호스트 장치와 통신하도록 구성되고, 그리고
    상기 로직 칩은 상기 신호를 상기 제어 신호 라인들 중 적어도 하나를 통해 상기 외부의 호스트 장치로 출력하는 메모리 장치.
  7. 제1항에 있어서,
    상기 데이터 유닛은 8개의 비트들을 포함하는 심볼인 메모리 장치.
  8. 제1항에 있어서,
    상기 n은 36인 메모리 장치.
  9. 제1항에 있어서,
    상기 m은 2인 메모리 장치.
  10. 제1항에 있어서,
    상기 로직 칩은 외부의 호스트 장치에 의해 정해지는 옵션에 기반하여 상기 정정 불가능한 에러를 관리하도록 구성되는 메모리 장치.
  11. 제10항에 있어서,
    상기 옵션은, 상기 m개의 데이터 유닛들이 상기 메모리 칩의 상기 공통 구성 요소에 대응하지 않을 때 상기 m개의 상기 데이터 유닛들의 상기 에러들을 정정 불가능한 에러로 판단할 지 또는 상기 m개의 상기 데이터 유닛들의 상기 에러들을 정정할 지의 설정을 포함하는 메모리 장치.
  12. 제10항에 있어서,
    상기 옵션은, 상기 m개의 데이터 유닛들이 상기 메모리 칩의 상기 공통 구성 요소에 대응하지 않을 때, 상기 정정 불가능한 에러가 발생하였음을 알리는 정보, 상기 공통 구성 요소에 대응하지 않음으로 인해 상기 정정 불가능한 에러가 발생하였음을 알리는 정보 중 어느 것을 상기 외부의 호스트 장치로 출력할 지에 대한 설정을 포함하는 메모리 장치.
  13. 제10항에 있어서,
    상기 옵션은, 상기 로직 칩이 상기 정정 불가능한 에러가 발생한 것으로 판단된 상기 m개의 데이터 유닛들의 주소들을 저장할 지의 설정을 포함하는 메모리 장치.
  14. 제13항에 있어서,
    상기 옵션은 상기 로직 칩이 상기 주소들에 대한 접근을 거부할 지의 설정을 더 포함하는 메모리 장치.
  15. 메모리 셀들을 포함하는 메모리 칩; 그리고
    상기 메모리 칩을 제어하도록 구성되는 로직 칩을 포함하고,
    상기 로직 칩은 상기 메모리 칩으로부터 n개(n은 양의 정수)의 데이터 유닛들을 포함하는 코드워드를 읽고, 그리고 상기 코드워드에 대해 에러 정정 디코딩을 수행하여 m개(m은 n보다 작은 양의 정수)보다 작은 수의 데이터 유닛들의 에러들을 정정하도록 구성되고,
    상기 코드워드의 상기 데이터 유닛들 중에서 m개의 데이터 유닛들이 에러들을 갖고 그리고 상기 m개의 데이터 유닛들이 데이터 오염 패턴에 대응하지 않을 때, 상기 로직 칩은 상기 m개의 상기 데이터 유닛들의 상기 에러들을 정정하도록 구성되고, 그리고
    상기 코드워드의 상기 데이터 유닛들 중에서 m개의 데이터 유닛들이 에러들을 갖고 그리고 상기 m개의 데이터 유닛들이 상기 데이터 오염 패턴에 대응할 때, 상기 로직 칩은 상기 m개의 상기 데이터 유닛들의 상기 에러들을 정정 불가능한 에러로 판단하도록 구성되는 메모리 장치.
  16. 제15항에 있어서,
    상기 데이터 오염 패턴은 상기 메모리 칩이 상기 데이터 유닛들을 상기 메모리 셀들에 기입하는 위치들에 의존하여 결정되는 메모리 장치.
  17. 제15항에 있어서,
    상기 로직 칩은:
    상기 코드워드의 일부분에 대해 제1 에러 정정 디코딩을 수행하여 제1 서브 코드워드를 생성하는 제1 에러 정정 장치; 그리고
    상기 코드워드의 나머지 부분에 대해 제2 에러 정정 디코딩을 수행하여 제2 서브 코드워드를 생성하는 제2 에러 정정 장치를 포함하는 메모리 장치.
  18. 제17항에 있어서,
    상기 m개의 에러들은 제1 에러 및 제2 에러를 포함하고,
    상기 데이터 오염 패턴은 상기 제1 서브 코드워드 상의 제1 에러의 위치와 상기 제2 서브 코드워드 상의 제2 에러의 위치가 서로 독립적인 패턴을 포함하는 메모리 장치.
  19. 메모리 셀들을 포함하는 메모리 장치로부터 데이터를 읽는 방법에 있어서:
    상기 메모리 셀들로부터 코드워드를 읽는 단계;
    상기 코드워드의 에러들의 수가 최대 정정 에러 수보다 작을 때, 상기 에러들을 정정하는 단계;
    상기 코드워드의 상기 에러들의 수가 상기 최대 정정 에러 수와 같고 그리고 상기 에러들이 동일한 서브 워드 라인에 대응할 때, 상기 에러들을 정정하는 단계; 그리고
    상기 코드워드의 상기 에러들의 수가 상기 최대 정정 에러 수와 같고 그리고 상기 에러들이 서로 다른 서브 워드 라인들에 대응할 때, 정정 불가능한 에러를 판단하는 단계를 포함하는 방법.
  20. 제19항에 있어서,
    제2 코드워드를 수신하는 단계;
    상기 제2 코드워드 중 일부에 대해 제1 에러 정정 인코딩을 수행하여 제1 서브 코드워드를 생성하는 단계;
    상기 제2 코드워드 중 나머지 일부에 대해 제2 에러 정정 인코딩을 수행하여 제2 서브 코드워드를 생성하는 단계; 그리고
    상기 제1 서브 코드워드 및 상기 제2 서브 코드워드를 상기 코드워드로서 상기 메모리 셀들에 기입하는 단계를 더 포함하고;
    상기 메모리 셀들에 기입하는 단계는:
    상기 제1 서브 코드워드의 제1 데이터 유닛을 상기 메모리 셀들 중 제1 서브 워드 라인에 연결된 제1 메모리 셀들에 기입하는 단계; 그리고
    상기 제2 서브 코드워드의 제2 데이터 유닛을 상기 메모리 셀들 중 상기 제1 서브 워드 라인에 연결된 제2 메모리 셀들에 기입하는 단계를 포함하는 방법.
KR1020200050991A 2020-04-27 2020-04-27 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법 KR20210132784A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020200050991A KR20210132784A (ko) 2020-04-27 2020-04-27 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법
US17/090,726 US11681458B2 (en) 2020-04-27 2020-11-05 Memory device and method reading data
TW109142642A TW202141512A (zh) 2020-04-27 2020-12-03 記憶體元件以及資料讀取方法
CN202110401897.9A CN114090328A (zh) 2020-04-27 2021-04-14 存储器装置及读取数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200050991A KR20210132784A (ko) 2020-04-27 2020-04-27 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법

Publications (1)

Publication Number Publication Date
KR20210132784A true KR20210132784A (ko) 2021-11-05

Family

ID=78222174

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200050991A KR20210132784A (ko) 2020-04-27 2020-04-27 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법

Country Status (4)

Country Link
US (1) US11681458B2 (ko)
KR (1) KR20210132784A (ko)
CN (1) CN114090328A (ko)
TW (1) TW202141512A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI792754B (zh) * 2021-12-09 2023-02-11 力晶積成電子製造股份有限公司 具有高資料頻寬的記憶體裝置

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4604751A (en) 1984-06-29 1986-08-05 International Business Machines Corporation Error logging memory system for avoiding miscorrection of triple errors
JPH084233B2 (ja) * 1984-06-29 1996-01-17 株式会社日立製作所 誤り訂正符号の復号装置
US4661955A (en) * 1985-01-18 1987-04-28 Ibm Corporation Extended error correction for package error correction codes
JPH0697542B2 (ja) * 1985-05-14 1994-11-30 松下電器産業株式会社 インタ−リ−ブ回路
US5247523A (en) * 1989-07-12 1993-09-21 Hitachi, Ltd. Code error correction apparatus
JP3154607B2 (ja) * 1993-12-28 2001-04-09 三菱電機株式会社 誤り訂正復号装置及び誤り訂正復号方法
JP3286205B2 (ja) * 1997-04-08 2002-05-27 東芝デジタルメディアエンジニアリング株式会社 データ伝送システム、誤り訂正装置、誤り訂正方法及びdvd再生装置
US8015473B2 (en) * 2006-12-19 2011-09-06 Intel Corporation Method, system, and apparatus for ECC protection of small data structures
US8073668B2 (en) * 2008-01-30 2011-12-06 International Business Machines Corporation Method and apparatus for testing a full system integrated circuit design by statistical fault injection using hardware-based simulation
US8291297B2 (en) 2008-12-18 2012-10-16 Intel Corporation Data error recovery in non-volatile memory
US8504893B1 (en) * 2010-09-30 2013-08-06 Micron Technology, Inc. Error detection or correction of a portion of a codeword in a memory device
US8601351B2 (en) * 2011-03-16 2013-12-03 Intel Corporation BCH decoding with multiple sigma polynomial calculation algorithms
US8516339B1 (en) 2011-04-01 2013-08-20 Xilinx, Inc. Method of and circuit for correcting adjacent bit errors in a memory
US8750042B2 (en) 2011-07-28 2014-06-10 Sandisk Technologies Inc. Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures
US20130111303A1 (en) * 2011-10-27 2013-05-02 Oracle International Corporation Single error correction & device failure detection for x8 sdram devices in bl8 memory operation
US8781800B2 (en) 2011-11-01 2014-07-15 International Business Machines Corporation Data de-duplication in computer storage systems
US9195551B2 (en) * 2012-03-29 2015-11-24 Intel Corporation Enhanced storage of metadata utilizing improved error detection and correction in computer memory
US8762821B2 (en) 2012-03-30 2014-06-24 Intel Corporation Method of correcting adjacent errors by using BCH-based error correction coding
US8914708B2 (en) 2012-06-15 2014-12-16 International Business Machines Corporation Bad wordline/array detection in memory
US9136873B2 (en) * 2013-03-11 2015-09-15 Intel Corporation Reduced uncorrectable memory errors
EP3035254A1 (en) * 2014-12-18 2016-06-22 Stichting IMEC Nederland Method of managing the operation of an electronic system with a guaranteed lifetime
US9996412B2 (en) * 2015-06-16 2018-06-12 SK Hynix Inc. Enhanced chip-kill schemes by using sub-trunk CRC
US10256842B2 (en) * 2016-03-03 2019-04-09 Intel Corporation Technologies for correcting flipped bits for an error correction decode process
US20180203625A1 (en) * 2017-01-19 2018-07-19 Cnex Labs, Inc. Storage system with multi-dimensional data protection mechanism and method of operation thereof
US10567003B2 (en) * 2017-01-26 2020-02-18 Hewlett Packard Enterprise Development Lp List decode circuits
JP6840591B2 (ja) * 2017-03-24 2021-03-10 キオクシア株式会社 復号装置
US10908995B2 (en) 2017-09-29 2021-02-02 Nvidia Corporation Securing against errors in an error correcting code (ECC) implemented in an automotive system
US10804935B2 (en) * 2018-01-02 2020-10-13 Intel Corporation Techniques for reducing latency in the detection of uncorrectable codewords
KR102453437B1 (ko) 2018-01-25 2022-10-12 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
US10756763B2 (en) * 2018-09-28 2020-08-25 Innogrit Technologies Co., Ltd. Systems and methods for decoding bose-chaudhuri-hocquenghem encoded codewords
US10860419B2 (en) * 2018-12-28 2020-12-08 Intel Corporation Minimal aliasing bit-error correction code
KR20210083466A (ko) * 2019-12-26 2021-07-07 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US20210399744A1 (en) * 2020-06-18 2021-12-23 Intel Corporation LDPC Decoder Apparatus, Device, System, Method and Computer Program
KR20220034332A (ko) * 2020-09-11 2022-03-18 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
KR20220044015A (ko) * 2020-09-29 2022-04-06 삼성전자주식회사 메모리 장치의 에러 정정 불가를 예방하는 제어기, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
KR20220060378A (ko) * 2020-11-04 2022-05-11 삼성전자주식회사 병렬 비트 테스트(pbt) 모드에서 불량 데이터를 출력할 수 메모리 장치 및 그것을 포함하는 메모리 시스템

Also Published As

Publication number Publication date
TW202141512A (zh) 2021-11-01
CN114090328A (zh) 2022-02-25
US11681458B2 (en) 2023-06-20
US20210334033A1 (en) 2021-10-28

Similar Documents

Publication Publication Date Title
CN1242412C (zh) 半导体存储器
US8874979B2 (en) Three dimensional(3D) memory device sparing
US8869007B2 (en) Three dimensional (3D) memory device sparing
US10922171B2 (en) Error correction code circuits, semiconductor memory devices and memory systems
US9858142B2 (en) Semiconductor device
US11088710B2 (en) Memory controllers and memory systems including the same
US11762736B2 (en) Semiconductor memory devices
KR20210051668A (ko) 메모리 컨트롤러, 메모리 시스템 및 메모리 모듈
CN115482871A (zh) 用于识别多位错误的设备、系统和方法
KR20210132784A (ko) 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법
US11947810B2 (en) Semiconductor memory device and memory system including the same
TW202038248A (zh) 具糾錯電路的記憶體
CN115994049A (zh) 半导体存储器装置和存储器系统
US8625365B2 (en) Memory device and method using encode values for access error condition detection
US11373699B2 (en) Address and command generation circuit, and semiconductor system
CN113791987A (zh) 用于访问存储器模块的方法
US20130114360A1 (en) Method for detecting permanent faults of an address decoder of an electronic memory device
US11928021B2 (en) Systems and methods for address fault detection
US11803501B2 (en) Routing assignments based on error correction capabilities
CN111913828B (zh) 具纠错电路的存储器
US10795767B2 (en) Error correcting system shared by multiple memory devices
CN117437966A (zh) 半导体存储器装置和包括半导体存储器装置的存储器系统
JP2020071589A (ja) 半導体装置

Legal Events

Date Code Title Description
A201 Request for examination