KR20170112630A - 반도체장치 및 반도체시스템 - Google Patents
반도체장치 및 반도체시스템 Download PDFInfo
- Publication number
- KR20170112630A KR20170112630A KR1020160039917A KR20160039917A KR20170112630A KR 20170112630 A KR20170112630 A KR 20170112630A KR 1020160039917 A KR1020160039917 A KR 1020160039917A KR 20160039917 A KR20160039917 A KR 20160039917A KR 20170112630 A KR20170112630 A KR 20170112630A
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- data
- write
- read
- parity
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
- G11C7/1012—Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Computer Security & Cryptography (AREA)
Abstract
반도체장치는 마스크라이트동작이 수행되는 경우 라이트데이터신호 및 리드데이터신호로부터 전치패리티신호를 생성하고, 제어신호에 응답하여 상기 전치패리티신호 및 신드롬신호로부터 라이트패리티신호를 생성하는 라이트패리티신호생성회로 및 상기 리드데이터신호 및 리드패리티신호로부터 상기 신드롬신호를 생성하고, 상기 신드롬신호에 포함된 상기 리드데이터신호의 에러위치와 내부데이터마스크신호에 포함된 상기 라이트데이터신호의 마스킹위치에 따라 제어신호를 생성하는 데이터에러정정회로를 포함한다.
Description
본 발명은 에러정정회로를 포함하는 반도체시스템에 관한 것이다.
일반적으로 반도체메모리장치는 계속적으로 소형화 및 고속화가 이루어지고 있는데 소형화 및 고속화가 진행될수록 데이터신호를 라이트하고 데이터신호를 리드하는 과정에서 발생하는 에러가 증가한다. 이러한 에러를 감지하고 정정하기 위해 ECC(Error Check Correction)회로가 사용된다. ECC회로는 라이트되는 복수의 데이터신호에 대한 패리티신호를 생성하고, 패리티신호에 따라 리드되는 복수의 데이터신호에 대한 에러를 정정하여 출력한다.
본 발명은 마스크라이트동작시 에러정정을 위한 라이트패리티신호를 생성하는 반도체장치를 포함하는 반도체시스템을 제공한다.
이를 위해 본 발명은 마스크라이트동작이 수행되는 경우 라이트데이터신호 및 리드데이터신호로부터 전치패리티신호를 생성하고, 제어신호에 응답하여 상기 전치패리티신호 및 신드롬신호로부터 라이트패리티신호를 생성하는 라이트패리티신호생성회로; 및 상기 리드데이터신호 및 리드패리티신호로부터 상기 신드롬신호를 생성하고, 상기 신드롬신호에 포함된 상기 리드데이터신호의 에러위치와 내부데이터마스크신호에 포함된 상기 라이트데이터신호의 마스킹위치에 따라 상기 제어신호를 생성하는 데이터에러정정회로를 포함하는 반도체장치를 제공한다.
또한, 본 발명은 라이트커맨드신호 및 내부데이터마스크신호에 응답하여 마스크라이트동작이 수행되는 경우 내부어드레스신호에 대응하는 저장영역으로부터 리드데이터신호 및 리드패리티신호를 생성하는 메모리코어회로 및 상기 마스크라이트동작이 수행되는 경우 라이트데이터신호 및 상기 리드데이터신호로부터 전치패리티신호를 생성하고, 제어신호에 응답하여 상기 전치패리티신호 및 신드롬신호로부터 라이트패리티신호를 생성하는 라이트패리티신호생성회로를 포함하는 반도체장치를 제공한다.
또한, 본 발명은 커맨드신호, 어드레스신호 및 데이터마스크신호를 출력하고 데이터신호를 입출력하는 제1 반도체장치 및 상기 커맨드신호에 응답하여 라이트커맨드가 생성되는 경우 상기 어드레스신호에 대응하는 저장영역으로부터 리드데이터신호 및 리드패리티신호를 생성하고, 상기 데이터신호를 입력받아 라이트데이터신호를 생성하며, 상기 데이터마스크신호에 응답하여 마스크라이트동작이 수행되는 경우 상기 라이트데이터신호 및 상기 리드데이터신호로부터 전치패리티신호를 생성하고, 제어신호에 응답하여 상기 전치패리티신호 및 신드롬신호로부터 라이트패리티신호를 생성하며, 상기 리드데이터신호 및 상기 리드패리티신호로부터 상기 신드롬신호를 생성하고, 상기 리드데이터신호의 에러위치와 상기 라이트데이터신호의 마스킹위치에 따라 제어신호를 생성하는 제2 반도체장치를 포함하되, 상기 라이트데이터신호는 제1 및 제2 라이트비트그룹을 포함하고, 상기 리드데이터신호는 제1 및 제2 리드비트그룹을 포함하며, 상기 전치패리티신호는 상기 제1 라이트비트그룹과 상기 제2 리드비트그룹으로부터 생성되는 반도체시스템을 제공한다.
본 발명에 의하면 마스크라이트동작시 라이트데이터신호 및 리드데이터신호로부터 전치패리티신호를 생성하는 동작과 리드데이터신호 및 리드패리티신호로 신드롬신호를 생성하는 동작을 동시에 수행하고, 신드롬신호에 따라 전치패리티신호를 정정하여 라이트패리티신호를 생성함으로써, 마스크라이트동작시 추가적인 연산동작에 의한 지연이 발생하지 않아 동작속도를 개선시킬 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 반도체시스템의 구성을 도시한 블럭도이다.
도 2는 도 1에 도시된 반도체시스템에 포함된 전치패리티신호생성회로의 일 실시예에 따른 블럭도이다.
도 3은 도 1에 도시된 반도체시스템에 포함된 논리연산회로의 일 실시예에 따른 회로도이다.
도 4는 도 1에 도시된 반도체시스템에 포함된 데이터에러정정회로의 일 실시예에 따른 블럭도이다.
도 5는 도 1에 도시된 반도체시스템에 포함된 메모리코어회로의 일 실시예에 따른 블럭도이다.
도 6은 도 1 내지 도 5에 도시된 반도체시스템이 적용된 전자시스템의 일 실시예에 따른 구성을 도시한 블럭도이다.
도 2는 도 1에 도시된 반도체시스템에 포함된 전치패리티신호생성회로의 일 실시예에 따른 블럭도이다.
도 3은 도 1에 도시된 반도체시스템에 포함된 논리연산회로의 일 실시예에 따른 회로도이다.
도 4는 도 1에 도시된 반도체시스템에 포함된 데이터에러정정회로의 일 실시예에 따른 블럭도이다.
도 5는 도 1에 도시된 반도체시스템에 포함된 메모리코어회로의 일 실시예에 따른 블럭도이다.
도 6은 도 1 내지 도 5에 도시된 반도체시스템이 적용된 전자시스템의 일 실시예에 따른 구성을 도시한 블럭도이다.
이하, 실시예를 통하여 본 발명을 더욱 상세히 설명하기로 한다. 이들 실시예는 단지 본 발명을 예시하기 위한 것이며, 본 발명의 권리 보호 범위가 이들 실시예에 의해 제한되는 것은 아니다.
도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 반도체시스템은 제1 반도체장치(11) 및 제2 반도체장치(12)를 포함할 수 있다.
제1 반도체장치(11)는 커맨드신호(CMD), 어드레스신호(ADD) 및 데이터마스크신호(DM)을 출력하고, 데이터신호(DATA)를 입출력할 수 있다. 제1 반도체장치(11)는 제2 반도체장치(12)에 대한 동작모드를 설정하기 위해 커맨드신호(CMD)를 출력할 수 있다. 커맨드신호(CMD)는 다수의 비트로 구현되어 제2 반도체장치(12)에 대한 동작모드에 따라 다양한 논리레벨조합을 갖도록 설정될 수 있다. 제1 반도제장치(11)는 제2 반도체장치(12)에 포함된 메모리셀에 대응하는 어드레스신호(ADD)를 출력할 수 있다. 커맨드신호(CMD) 및 어드레스신호(ADD)는 동일한 전송라인을 통해 전송될 수 있다. 제1 반도체장치(11)는 데이터신호(DATA)에 포함된 일부비트를 마스킹하기위해 데이터마스크신호(DM)를 출력할 수 있다. 데이터마스크신호(DM)는 다수의 비트로 구현되어 데이터신호(DATA)가 마스킹되는 위치 및 비트수에 대한 정보를 포함할 수 있다. 제1 반도체장치(11)는 제2 반도체장치(12)에 대한 노말라이트동작 또는 마스크라이트동작이 수행되는 경우 데이터신호(DATA)를 출력할 수 있다. 제1 반도체장치(11)는 제2 반도체장치(12)에 대한 리드동작이 수행되는 경우 데이터신호(DATA)를 입력받을 수 있다.
제2 반도체장치(12)는 커맨드어드레스입력회로(13), 내부데이터마스크신호생성회로(14), 데이터입출력회로(15), 라이트패리티신호생성회로(16), 데이터에러정정회로(17) 및 메모리코어회로(18)를 포함할 수 있다.
커맨드어드레스입력회로(13)는 커맨드신호(CMD) 및 어드레스신호(ADD)를 입력받아 라이트커맨드신호(CMD_WT), 리드커맨드신호(CMD_RD) 및 내부어드레스신호(IADD)를 출력할 수 있다. 커맨드어드레스입력회로(13)는 커맨드신호(CMD)를 디코딩하여 라이트커맨드신호(CMD_WT) 또는 리드커맨드신호(CMD_RD)를 생성할 수 있다. 커맨드어드레스입력회로(13)는 어드레스신호(ADD)를 디코딩하여 내부어드레스신호(IADD)를 생성할 수 있다. 커맨드어드레스입력회로(13)는 커맨드신호(CMD)에 응답하여 노말라이트동작 또는 마스크라이트동작이 수행되는 경우 라이트커맨드신호(CMD_WT)를 생성할 수 있다. 노말라이트동작은 라이트데이터신호(DATA_WT<1:M>)에 포함된 M개의 비트들을 메모리코어회로(18)에 저장하는 동작일 수 있다. 마스크라이트동작은 라이트데이터신호(DATA_WT<1:M>)에 포함된 M개의 비트들 중 내부마스크신호(IDM<1:K>)에 따라 마스킹된 비트들을 제외한 비트들만 메모리코어회로(18)에 저장하는 동작일 수 있다. 커맨드어드레스입력회로(13)는 커맨드신호(CMD)에 응답하여 리드동작이 수행되는 경우 리드커맨드신호(CMD_RD)를 생성할 수 있다. 리드동작은 메모리코어회로(18)로부터 리드데이터신호(DATA_RD<1:M>)를 출력하고, 리드데이터신호(DATA_RD<1:M>)의 에러를 정정하여 생성된 정정데이터신호(DATA_COR<1:M>)을 데이터신호(DATA)로 출력하는 동작일 수 있다.
내부데이터마스크신호생성회로(14)는 데이터마스크신호(DM)로부터 내부데이터마스크신호(IDM<1:K>)를 생성할 수 있다. 내부데이터마스크신호생성회로(14)는 데이터마스크신호(DM)를 버퍼링하거나 디코딩하여 내부데이터마스크신호(IDM<1:K>)를 생성할 수 있다. 내부데이터마스크신호(IDM<1:K>)는 제2 반도체장치(12)에 대한 마스크라이트동작이 수행되는 경우 라이트데이터신호(DATA_WT<1:M>)에서 마스킹되는 위치 및 마스킹되는 비트수에 대한 정보를 포함할 수 있다.
데이터입출력회로(15)는 데이터신호(DATA)를 버퍼링하여 라이트데이터신호(DATA_WT<1:K>)로 출력하거나, 정정데이터신호(DATA_COR<1:M>)을 버퍼링하여 데이터신호(DATA)로 출력할 수 있다. 데이터입출력회로(15)는 제2 반도체장치(12)에 대한 노말라이트동작 또는 마스크라이트동작이 수행되는 경우 데이터신호(DATA)를 버퍼링하여 라이트데이터신호(DATA_WT<1:M>)로 출력할 수 있다. 데이터입출력회로(15)는 제2 반도체장치(12)에 대한 리드동작이 수행되는 경우 정정데이터신호(DATA_COR<1:M>)를 버퍼링하여 데이터신호(DATA)로 출력할 수 있다.
라이트패리티신호생성회로(16)은 전치패리티신호생성회로(161) 및 논리연산회로(162)를 포함할 수 있다.
전치패리티신호생성회로(161)는 내부데이터마스크신호(IDM<1:K>)에 응답하여 라이트데이터신호(DATA_RD<1:M>) 및 리드데이터신호(DATA_RD<1:M>)로부터 전치패리티신호(P_PRE<1:P>)를 생성할 수 있다. 전치패리티신호생성회로(161)는 내부데이터마스크신호(IDM<1:K>)에 응답하여 마스크라이트동작이 수행되는 경우 라이트데이터신호(DATA_WT<1:M>)의 일부비트 및 리드데이터신호(DATA_RD<1:M>)의 일부비트로부터 전치패리티신호(P_PRE<1:P>)를 생성할 수 있다. 라이트데이터신호(DATA_WT<1:M>)는 제1 라이트비트그룹 및 제2 라이트비트그룹을 포함할 수 있다. 제1 라이트비트그룹은 마스크라이트동작이 수행되는 경우 메모리코어회로(18)에 저장될 비트들을 포함할 수 있다. 제2 라이트비트그룹은 마스크라이트동작이 수행되는 경우 마스킹되는 비트들을 포함할 수 있다. 리드데이터신호(DATA_RD<1:M>)는 제1 리드비트그룹 및 제2 리드비트그룹을 포함할 수 있다. 제1 리드비트그룹은 노말라이트동작 또는 마스크라이트동작에서 제1 라이트비트그룹이 저장될 제1 저장영역으로부터 출력된 비트들을 포함할 수 있다. 제2 리드비트그룹은 노말라이트동작에서 제2 라이트비트그룹이 저장될 제2 저장영역으로부터 출력된 비트들을 포함할 수 있다. 전치패리티신호생성회로(161)는 제1 라이트비트그룹 및 제2 리드비트그룹으로부터 전치패리티신호(P_PRE<1:P>)를 생성할 수 있다. 전치패리티신호생성회로(161)는 해밍코드(Hamming Code)에 따라 제1 라이트비트그룹 및 제2 리드비트그룹에 포함된 비트들 중 서로 다른 2개 이상의 비트들에 대한 베타적논리합연산을 수행하여 각각의 전치패리티신호(P_PRE<1:P>)를 생성할 수 있다. 전치패리티신호(P_PRE<1:P>)는 제1 라이트비트그룹 및 제2 리드비트그룹에 포함된 비트들의 논리레벨에 대한 정보를 포함할 수 있다.
논리연산회로(162)는 제어신호(CNT)에 응답하여 전치패리티신호(P_PRE<1:P>) 및 신드롬신호(SYN<1:P>)로부터 라이트패리티신호(P_WT<1:P>)을 생성할 수 있다. 논리연산회로(162)는 제어신호(CNT)가 로직하이레벨로 인에이블되는 경우 전치패리티신호(P_PRE<1:P>) 및 신드롬신호(SYN<1:P>)에 대한 베타적논리합연산을 수행하여 라이트패리티신호(P_WT<1:P>)를 생성할 수 있다. 논리연산회로(162)는 제어신호(CNT)가 로직로우레벨로 디스에이블되는 경우 전치패리티신호(P_PRE<1:P>)를 버퍼링하여 라이트패리티신호(P_WT<1:P>)를 생성할 수 있다.
데이터에러정정회로(17)는 리드데이터신호(DATA_RD<1:M>), 리드패리티신호(P_RD<1:P>) 및 내부데이터마스크신호(IDM<1:K>)를 입력받아 신드롬신호(SYN<1:P>), 제어신호(CNT) 및 정정데이터신호(DATA_COR<1:M>)을 생성할 수 있다. 데이터에러정정제어회로(17)는 리드데이터신호(DATA_RD<1:M>) 및 리드패리티신호(P_RD<1:P>)로부터 신드롬신호(SYN<1:P>)를 생성할 수 있다. 신드롬신호(SYN<1:P)는 리드데이터신호(DATA_RD)의 에러위치에 대한 정보를 포함할 수 있다. 데이터에러정정회로(17)는 내부데이터마스크신호(IDM<1:K>) 및 신드롬신호(SYN<1:P>)에 응답하여 제어신호(CNT)를 생성할 수 있다. 데이터에러정정회로(17)는 내부데이터마스크신호(IDM<1:K>)에 포함된 라이트데이터신호(DATA_WT<1:M>)의 마스킹되는 비트들의 위치와 신드롬신호(SYN<1:P>)에 포함된 리드데이터신호(DATA_RD<1:M>)의 에러비트의 위치를 비교하여 제어신호(CNT)를 생성할 수 있다. 데이터에러정정제어회로(17)는 리드데이터신호(DATA_RD<1:M>)의 에러비트의 위치와 라이트데이터신호(DATA_WT<1:M>)의 마스킹되는 비트들의 위치가 동일한 경우 로직하이레벨로 인에이블되는 제어신호(CNT)를 생성할 수 있다. 데이터에러정정제어회로(17)는 리드데이터신호(DATA_RD<1:M>)의 에러비트의 위치와 라이트데이터신호(DATA_WT<1:M>)의 마스킹되는 비트들의 위치가 상이한 경우 로직로우레벨로 디스에이블되는 제어신호(CNT)를 생성할 수 있다. 데이터에러정정회로(17)는 제2 반도체장치(12)에 대한 리드동작이 수행되는 경우 신드롬신호(SYN<1:P>)에 응답하여 리드데이터신호(DATA_RD<1:M>)의 에러를 정정하여 정정데이터신호(DATA_COR<1:M>)를 생성할 수 있다.
메모리코어회로(18)는 라이트커맨드신호(CMD_WT), 리드커맨드신호(CMD_RD), 내부어드레스신호(IADD) 및 내부데이터마스크신호(IDM<1:K>)에 응답하여 라이트데이터신호(DATA_WT<1:M>) 및 라이트패리티신호(P_WT<1:P>)를 저장하거나 리드데이터신호(DATA_RD<1:M>) 및 리드패리티신호(P_RD<1:P>)를 출력할 수 있다. 메모리코어회로(18)는 라이트커맨드(CMD_WT) 및 내부데이터마스크신호(IDM<1:K>)에 응답하여 노말라이트동작이 수행되는 경우 내부어드레스(IADD)에 대응하는 저장영역에 라이트데이터신호(DATA_WT<1:M>) 및 라이트패리티신호(P_WT<1:P>)를 저장할 수 있다. 메모리코어회로(18)는 라이트커맨드(CMD_WT) 및 내부데이터마스크신호(IDM<1:K>)에 응답하여 마스크라이트동작이 수행되는 경우 내부어드레스(IADD)에 대응하는 저장영역으로부터 리드데이터신호(DATA_RD<1:M>) 및 리드패리티신호(P_RD<1:P>)를 출력한 후, 기설정된 구간 후에 내부어드레스신호(IADD)에 대응하는 메모리셀에 라이트데이터신호(DATA_WT<1:M>) 및 라이트패리티신호(P_WT<1:P>)를 저장할 수 있다. 기설정된 구간은 리드데이터신호(DATA_RD<1:M>) 및 리드패리티신호(P_RD<1:P>)가 출력된 시점부터 라이트패리티신호생성회로(16)에서 라이트패리티신호(P_WT<1:P>)가 생성되는 시점까지로 설정될 수 있다. 메모리코어회로(18)는 리드커맨드신호(CMD_RD)에 응답하여 리드동작이 수행되는 경우 내부어드레스신호(IADD)에 대응하는 저장영역으로부터 리드데이터신호(DATA_RD<1:M>) 및 리드패리티신호(P_RD<1:P>)를 출력할 수 있다.
도 2를 참고하면, 전치패리티신호생성회로(161)는 데이터병합회로(21) 및 전치패리티신호연산회로(22)를 포함할 수 있다.
데이터병합회로(21)는 내부데이터마스크신호(IDM<1:K>)에 응답하여 라이트데이터신호(DATA_WT<1:M>) 및 리드데이터신호(DATA_RD<1:M>)으로부터 병합데이터신호(DATA_MER<1:M>)을 생성할 수 있다. 데이터병합회로(21)는 내부데이터마스크신호(IDM<1:K>)에 따라 라이트데이터신호(DATA_WT<1:M>)의 일부비트 및 리드데이터신호의 일부비트로부터 병합데이터신호(DATA_MER<1:M>)를 생성할 수 있다.
예를 들어, 라이트데이터신호(DATA_WT<1:M>)는 제1 라이트비트그룹 및 제2 라이트비트그룹을 포함할 수 있다. 내부데이터마스크신호(IDM<1:K>)에 응답하여 제1 내지 제M 라이트데이터신호(DATA_WT<1:M>) 중 제1 내지 제N 라이트데이터신호(DATA_WT<1:N>)에 포함된 비트들을 마스킹하는 경우 제1 라이트비트그룹은 제N+1 내지 제M 라이트데이터신호(DATA_WT<N+1:M>)에 포함된 비트들을 포함하고, 제2 라이트비트그룹은 제1 내지 제N 라이트데이터신호(DATA_WT<1:N>)에 포함된 비트들을 포함할 수 있다. 내부데이터마스크신호(IDM<1:K>)에 응답하여 제1 내지 제M 라이트데이터신호(DATA_WT<1:M>) 중 제N 내지 제M 라이트데이터신호(DATA_WT<N:M>)에 포함된 비트들을 마스킹하는 경우 제1 라이트비트그룹은 제1 내지 제N-1 라이트데이터신호(DATA_WT<1:N-1>)에 포함된 비트들을 포함하고, 제2 라이트비트그룹은 제N 내지 제M 라이트데이터신호(DATA_WT<N:M>)에 포함된 비트들을 포함할 수 있다. 내부데이터마스크신호(IDM<1:K>)에 응답하여 제1 내지 제M 라이트데이터신호(DATA_WT<1:M>) 중 제N 내지 제L 라이트데이터신호(DATA_WT<N:L>)에 포함된 비트들을 마스킹하는 경우 제1 라이트비트그룹은 제1 내지 제N-1 라이트데이터신호(DATA_WT<1:N-1>) 및 제L+1 내지 제M 라이트데이터신호(DATA_WT<L+1:M>)에 포함된 비트들을 포함하고, 제2 라이트비트그룹은 제N 내지 제L 라이트데이터신호(DATA_WT<N:L>)에 포함된 비트들을 포함할 수 있다. N 및 L은 M보다 작은 자연수로 설정되고, N은 L보다 작은 자연수로 설정될 수 있다.
리드데이터신호(DATA_RD<1:M>)는 제1 리드비트그룹 및 제2 리드비트그룹을 포함할 수 있다. 제1 리드비트그룹은 제1 라이트비트그룹이 저장될 제1 저장영역으로부터 출력된 비트들을 포함할 수 있다. 제1 라이트비트그룹이 제N+1 내지 제M 라이트데이터신호(DATA_WT<N+1:M>)에 포함된 비트들을 포함하는 경우 제1 리드비트그룹은 제N+1 내지 제M 리드데이터신호(DATA_RD<N+1:M>)에 포함된 비트들을 포함할 수 있다. 제1 라이트비트그룹이 제1 내지 제N-1 라이트데이터신호(DATA_WT<1:N-1>)에 포함된 비트들을 포함하는 경우 제1 리드비트그룹은 제1 내지 제N-1 리드데이터신호(DATA_RD<1:N-1>)에 포함된 비트들을 포함할 수 있다. 제1 라이트비트그룹이 제1 내지 제N-1 라이트데이터신호(DATA_WT<1:N-1>) 및 제L+1 내지 제M 라이트데이터신호(DATA_WT<L+1:M>)에 포함된 비트들을 포함하는 경우 제1 리드비트그룹은 제1 내지 제N-1 리드데이터신호(DATA_RD<1:N-1>) 및 제L+1 내지 제M 리드데이터신호(DATA_RD<L+1:M>)에 포함된 비트들을 포함할 수 있다. 제2 리드비트그룹은 제2 라이트비트그룹이 저장될 제2 저장영역으로부터 출력된 비트들을 포함할 수 있다. 제2 라이트비트그룹이 제1 내지 제N 라이트데이터신호(DATA_WT<1:N>)에 포함된 비트들을 포함하는 경우 제2 리드비트그룹은 제1 내지 제N 리드데이터신호(DATA_RD<1:N>)에 포함된 비트들을 포함할 수 있다. 제2 라이트비트그룹이 제N 내지 제M 라이트데이터신호(DATA_WT<N:M>)에 포함된 비트들을 포함하는 경우 제2 리드비트그룹은 제N 내지 제M 리드데이터신호(DATA_RD<N:M>)에 포함된 비트들을 포함할 수 있다. 제2 라이트비트그룹이 제N 내지 제L 라이트데이터신호(DATA_WT<N:L>)에 포함된 비트들을 포함하는 경우 제2 리드비트그룹은 제N 내지 제L 리드데이터신호(DATA_RD<N:L>)에 포함된 비트들을 포함할 수 있다.
데이터병합회로(21)는 내부데이터마스크신호(IDM<1:K>)에 응답하여 라이트데이터신호(DATA_WT<1:M>)에 포함된 제1 라이트비트그룹과 리드데이터신호(DATA_RD<1:M>)에 포함된 제2 리드비트그룹으로부터 병합데이터신호(DATA_MER<1:M>)를 생성할 수 있다. 데이터병합회로(21)는 제1 라이트비트그룹이 제N+1 내지 제M 라이트데이터신호(DATA_WT<N+1:M>)에 포함된 비트들을 포함하고, 제2 리드비트그룹이 제1 내지 제N 리드데이터신호(DATA_RD<1:N>)에 포함된 비트들을 포함하는 경우 제1 내지 제N 리드데이터신호(DATA_RD<1:N>) 및 제N+1 내지 제M 라이트데이터신호(DATA_WT<N+1:M>)로부터 제1 내지 제M 병합데이터신호(DATA_MER<1:M>)를 생성할 수 있다. 데이터병합회로(21)는 제1 라이트비트그룹이 제1 내지 제N-1 라이트데이터신호(DATA_WT<1:N-1>)에 포함된 비트들을 포함하고, 제2 리드비트그룹이 제N 내지 제M 리드데이터신호(DATA_RD<N:M>)에 포함된 비트들을 포함하는 경우 제1 내지 제N-1 라이트데이터신호(DATA_WT<1:N-1>) 및 제N 내지 제M 리드데이터신호(DATA_WT<N:M>)로부터 제1 내지 제M 병합데이터신호(DATA_MER<1:M>)를 생성할 수 있다. 데이터병합회로(21)는 제1 라이트비트그룹이 제1 내지 제N-1 라이트데이터신호(DATA_WT<1:N-1>) 및 제L+1 내지 제M 라이트데이터신호(DATA_WT<L+1:M>)에 포함된 비트들을 포함하고, 제2 리드비트그룹이 제N 내지 제M 리드데이터신호(DATA_RD<N:M>)에 포함된 비트들을 포함하는 경우 제1 내지 제N-1 라이트데이터신호, 제N 내지 제L 리드데이터신호(DATA_RD<N:L>) 및 제L+1 내지 제M 라이트데이터신호(DATA_WT<L+1:M>)로부터 제1 내지 제M 병합데이터신호(DATA_MER<1:M>)를 생성할 수 있다.
전치패리티신호연산회로(22)는 병합데이터신호(DATA_MER<1:M>)에 응답하여 전치패리티신호(P_PRE<1:P>)를 생성할 수 있다. 전치패리티신호연산회로(22)는 병합데이터신호(DATA_MER<1:M>)에 포함된 비트들의 논리레벨조합에 대한 정보를 포함하는 전치패리티신호(P_PRE<1:P>)를 생성할 수 있다. 전치패리티신호연산회로(22)는 해밍코드(Hamming Code)에 따라 병합데이터신호(DATA_MER<1:M>)에 포함된 비트들 중 서로다른 2개 이상의 비트들에 대한 베타적논리합연산을 수행하여 각각의 전치패리티신호(P_PRE<1:P>)를 생성할 수 있다. 전치패리티신호연산회로(22)는 실시예에 따라 다양한 코드를 사용하여 병합데이터신호(DATA_MER<1:M>)에 포함된 비트들의 논리레벨조합에 대한 정보를 포함하도록 전치패리티신호(P_PRE<1:P>)를 생성할 수 있다.
도 3을 참고하면, 논리연산회로(162)는 제1 논리회로(31) 및 제2 논리회로(32)를 포함할 수 있다.
제1 논리회로(31)는 앤드게이트(AND31)를 포함할 수 있다. 앤드게이트(AND31)는 신드롬신호(SYN<1:P>) 및 제어신호(CNT)에 대한 논리곱연산을 수행하여 패리티정정제어신호(P_CNT<1:P>)를 생성할 수 있다. 제1 논리회로(31)에 포함된 앤드게이트(AND31)는 1개만 도시되어 있지만, 신드롬신호(SYN<1:P>)의 비트수만큼 P개가 구비될 수 있다. 즉, 제1 논리회로(31)는 제어신호(CNT)가 로직하이레벨로 인에이블되는 경우 신드롬신호(SYN<1:P>)를 버퍼링하여 패리티정정제어신호(P_CNT<1:P>)를 생성할 수 있다. 제1 논리회로(31)는 제어신호(CNT)가 로직로우레벨로 디스에이블되는 경우 로직로우레벨을 갖는 패리티정정제어신호(P_CNT<1:P>)를 출력할 수 있다.
제2 논리회로(32)는 베타적논리합게이트(XOR31)를 포함할 수 있다. 베타적논리합게이트(XOR31)는 전치패리티신호(P_PRE<1:P>) 및 패리티정정제어신호(P_CNT<1:P>)에 대한 베타적논리합연산을 수행하여 라이트패리티신호(P_WT<1:P>)를 생성할 수 있다. 제2 논리회로(32)에 포함된 베타적논리합게이트(XOR31)는 1개만 도시되어 있지만 전치패리티신호(P_PRE<1:P>) 및 패리티정정제어신호(P_CNT<1:P>)가 각각 대응되는 신호들끼리 베타적논리합연산을 수행하도록 전치패리티신호(P_PRE<1:P>) 및 패리티정정제어신호(P_CNT<1:P>)의 비트수만큼 P개가 구비될 수 있다.
즉, 논리연산회로(162)는 제어신호(CNT)에 응답하여 전치패리티신호(P_PRE<1:P>) 및 신드롬신호(SYN<1:P>)에 대한 베타적논리합연산을 수행하여 라이트패리티신호(P_WT<1:P>)를 생성할 수 있다. 전치패리티신호생성회로(161)에서 전치패리티신호(P_PRE<1:P>)는 제1 라이트비트그룹 및 제2 리드비트그룹에 포함된 비트들 중 서로 다른 2개 이상의 비트들에 대한 베타적논리합연산을 수행하여 생성될 수 있다. 제2 리드비트그룹에 포함된 비트들 중 에러가 발생한 비트가 있는 경우 전치패리티신호(P_PRE<1:P>)에 포함된 비트들 중 에러가 발생한 비트를 포함하여 연산된 비트는 잘못된 논리레벨을 가질 수 있다. 리드데이터신호(DATA_RD<1:M>)에 포함된 제1 리드비트그룹 및 제2 리드비트그룹에 에러가 발생한 비트가 있는 경우 신드롬신호(SYN<1:P>)에 포함된 비트들 중 에러가 발생한 비트를 포함하여 연산된 비트는 로직하이레벨을 가질 수 있다. 따라서, 제2 리드비트그룹에 에러가 발생한 비트를 포함하는 경우 논리연산회로(162)는 전치패리티신호(P_PRE<1:P>) 및 신드롬신호(SYN<1:P>)를 베타적논리합연산하여 신드롬신호(SYN<1:P>)에 포함된 로직하이레벨의 비트에 대응하는 전치패리티신호(P_PRE<1:P>)에 포함된 비트를 반전시켜 라이트패리티신호(P_WT<1:P>)를 생성할 수 있다. 따라서, 논리연산회로(162)는 전치패리티신호(P_PRE<1:P>)에 포함된 비트들 중 에러비트를 포함하여 연산된 비트를 반전시켜 정상적인 라이트패리티신호(P_WT<1:P>)를 생성할 수 있다.
도 4를 참고하면, 데이터에러정정회로(17)는 신드롬신호연산회로(41), 에러위치디코더(42), 정정데이터신호생성회로(43) 및 제어신호생성회로(44)를 포함할 수 있다.
신드롬신호연산회로(41)는 리드데이터신호(DATA_RD<1:M>) 및 리드패리티신호(P_RD<1:P>)에 응답하여 신드롬신호(SYN<1:P>)를 생성할 수 있다. 신드롬신호연산회로(41)는 리드데이터신호(DATA_RD<1:M>) 및 리드패리티신호(P_RD<1:P>)에 대한 기설정된 연산동작을 수행하여 신드롬신호(SYN<1:P>)를 생성할 수 있다. 신드롬신호연산회로(41)는 해밍코드(Hamming Code)에 따라 리드데이터신호(DATA_RD<1:M>)에 포함된 비트들 중 서로 다른 2개 이상의 비트들과 리드패리티신호(P_RD<1:P>)에 포함된 비트들 중 1개의 비트에 대한 베타적논리합연산을 수행하여 각각의 신드롬신호(SYN<1:P>)를 생성할 수 있다. 신드롬신호연산회로(41)는 실시예에 따라 에러정정동작을 수행할 수 있는 다양한 코드를 사용하여 신드롬신호(SYN<1:P>)를 생성할 수 있다. 신드롬신호(SYN<1:P>)는 리드데이터신호(DATA_RD<1:M>)에 포함된 비트들 중 에러가 발생항 비트의 위치에 대한 정보를 포함할 수 있다.
에러위치디코더(42)는 신드롬신호(SYN<1:P>)를 디코딩하여 에러위치신호(E_LOC<1:M>)를 생성할 수 있다. 에러위치신호(E_LOC<1:M>)는 리드데이터신호(DATA_RD<1:M>)에 포함된 비트들 중 에러가 발생한 비트에 대응하는 비트가 로직하이레벨로 인에이블될 수 있다.
정정데이터신호생성회로(43)는 에러위치신호(E_LOC<1:M>)에 응답하여 리드데이터신호(DATA_RD<1:M>)의 에러를 정정하여 정정데이터신호(DATA_COR<1:M>)를 생성할 수 있다. 정정데이터신호생성회로(43)는 리드데이터신호(DATA_RD<1:M>)에 포함된 비트들 중에서 에러위치신호(E_LOC<1:M>)에 포함된 비트들 중 로직하이레벨로 인에이블된 비트에 대응하는 비트를 반전시켜 정정데이터신호(DATA_COR<1:M>)를 생성할 수 있다.
제어신호생성회로(44)는 에러위치신호(E_LOC<1:M>) 및 내부데이터마스크신호(IDM<1:K>)에 응답하여 제어신호(CNT)를 생성할 수 있다. 제어신호생성회로(44)는 에러위치신호(E_LOC<1:M>) 및 내부데이터마스크신호(IDM<1:K>)를 비교하여 리드데이터신호(DATA_RD<1:M>)에 포함된 비트들 중 에러가 발생한 비트의 위치와 라이트데이터신호(DATA_WT<1:M>)에 포함된 비트들 중 마스킹되는 비트들의 위치가 동일한 경우 인에이블되는 제어신호(CNT)를 생성할 수 있다. 예를 들어, 마스크라이트동작이 수행되는 경우 라이트데이터신호(DATA_WT<1:M>)는 내부데이터마스크신호(IDM<1:K>)에 따라 마스킹되는 제2 라이트비트그룹을 포함할 수 있다. 리드데이터신호(DATA_RD<1:M>)는 제2 라이트비트그룹이 저장될 저장영역으로부터 리드된 제2 리드비트그룹을 포함할 수 있다. 따라서, 제어신호생성회로(34)는 내부데이터마스크신호(IDM<1:K>)에 따라 제2 리드비트그룹의 위치가 설정되고, 에러위치신호(E_LOC<1:M>)에 따라 제2 리드비트그룹에 에러가 발생한 비트를 포함하는 경우 로직하이레벨로 인에이블되는 제어신호(CNT)를 생성할 수 있다.
도 5를 참고하면, 메모리코어회로(18)는 리드라이트제어회로(51), 어드레스래치회로(52), 메모리뱅크(53) 및 데이터전달제어회로(54)를 포함할 수 있다.
리드라이트제어회로(51)는 라이트커맨드신호(CMD_WT), 리드커맨드신호(CMD_RD) 및 내부데이터마스크신호(IDM<1:K>)에 응답하여 액티브신호(ACT), 라이트제어신호(WT_CNT) 및 리드제어신호(RD_CNT)를 생성할 수 있다. 리드라이트제어회로(51)는 라이트커맨드신호(CMD_WT)에 응답하여 노말라이트동작이 수행되는 경우 인에이블되는 액티브신호(ACT) 및 라이트제어신호(WT_CNT)를 생성할 수 있다. 리드라이트제어회로(51)는 리드커맨드신호(CMD_RD)에 응답하여 리드동작이 수행되는 경우 액티브신호(ACT) 및 리드제어신호(RD_CNT)를 생성할 수 있다. 리드라이트제어회로(51)는 라이트커맨드(CMD_WT) 및 내부데이터마스크신호(IDM<1:K>)에 응답하여 마스크라이트동작이 수행되는 경우 인에이블되는 액티브신호(ACT) 및 리드제어신호(RD_CNT)를 생성하고, 기설정된 구간 후에 액티브신호(ACT) 및 라이트제어신호(WT_CNT)를 생성할 수 있다. 기설정된 구간은 리드제어신호(RD_CNT)가 생성된 시점부터 라이트패리티신호생성회로(16)에서 라이트패리티신호(P_WT<1:P>)가 생성되는 시점까지로 설정될 수 있다.
어드레스래치회로(52)는 내부어드레스신호(IADD)를 래치하여 로우어드레스신호(ADD_ROW) 및 컬럼어드레스신호(ADD_COL)를 생성할 수 있다. 어드레스래치회로(52)는 내부어드레스신호(IADD)를 통해 순차적으로 입력되는 어드레스를 래치하여 로우어드레스신호(ADD_ROW) 및 컬럼어드레스신호(ADD_COL)를 순차적으로 생성할 수 있다. 어드레스래치회로(52)는 내부어드레스신호(IADD)에 포함된 비트들 중 일부비트들로부터 로우어드레스신호(ADD_ROW)를 생성하고, 나머지 비트들로부터 컬럼어드레스신호(ADD_COL)를 생성할 수 있다. 어드레스래치회로(52)는 내부어드레스신호(IADD)를 디코딩하여 로우어드레스신호(ADD_ROW) 및 컬럼어드레스신호(ADD_COL)를 생성할 수도 있다. 로우어드레스신호(ADD_ROW) 및 컬럼어드레스신호(ADD_COL)는 편의상 단일 신호로 도시하였지만, 다수의 비트를 포함하는 신호일 수 있다.
메모리뱅크(53)는 로우제어회로(55), 메모리셀어레이(56) 및 컬럼제어회로를 포함할 수 있다.
로우제어회로(55)는 액티브신호(ACT)에 응답하여 로우어드레스신호(ADD_ROW)에 대응하는 워드라인(미도시)을 액티브시킬 수 있다. 메모리셀어레이(56)는 다수의 메모리셀을 포함하고, 액티브된 워드라인(미도시)에 연결된 메모리셀로부터 데이터를 출력할 수 있다. 컬럼제어회로(57)는 메모리셀어레이(56)로부터 출력된 데이터 중 컬럼어드레스신호(ADD_COL)에 대응하는 데이터를 데이터입출력라인(LIO_DATA) 및 패리티입출력라인(LIO_P)으로 출력할 수 있다.
데이터전달제어회로(54)는 라이트제어신호(WT_CNT), 리드제어신호(RD_CNT) 및 내부데이터마스크신호(IDM<1:K>)에 응답하여 라이트데이터신호(DATA_WT<1:M>) 및 라이트패리티신호(P_WT<1:P>)를 데이터입출력라인(LIO_DATA) 및 패리티입출력라인(LIO_P)으로 전달하거나 데이터입출력라인(LIO_DATA) 및 패리티입출력라인(LIO_P)에 실린 데이터를 리드데이터신호(DATA_RD<1:M>) 및 리드패리티신호(P_RD<1:P>)로 출력할 수 있다. 데이터전달회로(54)는 라이트제어신호(WT_CNT)가 인에이블되는 경우 라이트데이터신호(DATA_WT<1:M>)에 포함된 비트들 중 내부데이터마스크신호(IDM<1:K>)에 따라 마스킹된 제2 라이트비트그룹을 제외한 제1 라이트비트그룹을 데이터입출력라인(LIO_DATA)으로 전달하고, 라이트패리티신호(WT_P<1:P>)를 패리티입출력라인(LIO_P)으로 전달할 수 있다. 데이터입출력회로(54)는 리드제어신호가 인에이블되는 경우 데이터입출력라인(LIO_DATA) 및 패리티입출력라인(LIO_P)에 실린 데이터를 리드데이터신호(DATA_RD<1:M>) 및 리드패리티신호(P_RD<1:P>)로 출력할 수 있다.
이상 살펴본 바와 같이, 본 실시예에 따른 반도체시스템은 마스크라이트동작이 수행되는 경우 라이트데이터신호(DATA_WT<1:M>)는 마스킹되는 제2 라이트비트그룹을 제외한 제1 라이트비트그룹에 데이터가 포함되어 입력될 수 있다. 라이트데이터신호(DATA_WT<1:M>)에 포함된 제1 라이트비트그룹만으로는 라이트패리티신호(P_WT<1:P>)를 생성할 수 없어, 제2 라이트비트그룹에 대응하는 제2 저장영역으로부터 제2 리드비트그룹을 리드하여 제1 라이트비트그룹 및 제2 리드비트그룹으로부터 전치패리티신호(P_PRE<1:P>)를 생성할 수 있다. 하지만, 제2 리드비트그룹에 에러가 발생된 경우 전치패리티신호(P_PRE<1:P>)는 잘못된 논리레벨을 가지므로, 전치패리티신호(P_PRE<1:P)와 신드롬신호(SYN<1:P>)에 대한 베타적논리합연산을 수행하여 정상적인 라이트패리티신호(P_WT<1:P>)를 생성할 수 있다. 따라서, 본 발명은 전치패리티신호생성회로(161)에서 전치패리티신호(P_PRE<1:P>)를 생성하는 동작과 데이터에러정정회로(17)에서 신드롬신호(SYN<1:P>)를 생성하는 동작을 독립적으로 수행할 수 있다. 그에 따라 전치패리티신호(P_PRE<1:P>)를 생성하는 동작과 신드롬신호(SYN<1:P>)를 생성하는 동작을 동시에 수행할 수 있어, 마스크라이트동작에서 추가적인 연산동작에 의한 지연이 발생하지 않아 반도체장치의 동작속도를 개선할 수 있는 효과가 있다.
앞서, 도 1 내지 도 5에서 살펴본 반도체장치 및 반도체시스템은 메모리시스템, 그래픽시스템, 컴퓨팅시스템 및 모바일시스템 등을 포함하는 전자시스템에 적용될 수 있다. 예를 들어, 도 6을 참고하면 본 발명의 일 실시예에 따른 전자시스템(1000)은 데이터저장부(1001), 메모리컨트롤러(1002), 버퍼메모리(1003) 및 입출력인터페이스(1004)를 포함할 수 있다.
데이터저장부(1001)는 메모리컨트롤러(1002)로부터의 제어신호에 따라 메모리컨트롤러(1002)로부터 인가되는 데이터를 저장하고 저장된 데이터를 판독하여 메모리컨트롤러(1002)에 출력한다. 데이터저장부(1001)는 도 1에 도시된 제2 반도체장치(12)를 포함할 수 있다. 한편, 데이터저장부(1001)는 전원이 차단되어도 데이터를 잃지 않고 계속 저장할 수 있는 비휘발성 메모리를 포함할 수 있다. 비휘발성 메모리는 플래쉬 메모리(Nor Flash Memory, NAND Flash Memory), 상변환 메모리(Phase Change Random Access Memory; PRAM), 저항 메모리(Resistive Random Access Memory;RRAM), 스핀 주입자화반전 메모리(Spin Transfer Torque Random Access Memory; STTRAM), 자기메모리(Magnetic Random Access Memory; MRAM)로 구현될 수 있다.
메모리컨트롤러(1002)는 입출력인터페이스(1004)를 통해 외부기기(호스트 장치)로부터 인가되는 명령어를 디코딩하고 디코딩된 결과에 따라 데이터저장부(1001) 및 버퍼메모리(1003)에 대한 데이터 입출력을 제어한다. 메모리컨트롤러(1002)는 도 1에 도시된 제1 반도체장치(11)를 포함할 수 있다. 도 6에서는 메모리컨트롤러(1002)가 하나의 블록으로 표시되었으나, 메모리컨트롤러(1002)는 비휘발성 메모리(1001)를 제어하기 위한 컨트롤러와 휘발성 메모리인 버퍼메모리(1003)를 제어하기 위한 컨트롤러가 독립적으로 구성될 수 있다.
버퍼메모리(1003)는 메모리컨트롤러(1002)에서 처리할 데이터 즉 데이터저장부(1001)에 입출력되는 데이터를 임시적으로 저장할 수 있다. 버퍼메모리(1003)는 제어신호에 따라 메모리컨트롤러(1002)에서 인가되는 데이터(DATA)를 저장할 수 있다. 버퍼메모리(1003)는 저장된 데이터를 판독하여 메모리컨트롤러(1002)에 출력한다. 버퍼메모리(1003)는 DRAM(Dynamic Random Access Memory), Moblie DRAM, SRAM(Static Random Access Memory) 등의 휘발성 메모리를 포함할 수 있다.
입출력인터페이스(1004)는 메모리컨트롤러(1002)와 외부기기(호스트) 사이의 물리적 연결을 제공하여 메모리컨트롤러(1002)가 외부기기로부터 데이터 입출력을 위한 제어신호를 수신하고 외부기기와 데이터를 교환할 수 있도록 해준다. 입출력인터페이스(1004)는 USB, MMC, PCI-E, SAS, SATA, PATA, SCSI, ESDI, 및 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 포함할 수 있다.
전자시스템(1000)은 호스트 장치의 보조 기억장치 또는 외부 저장장치로 사용될 수 있다. 전자시스템(1000)은 고상 디스크(Solid State Disk; SSD), USB 메모리(Universal Serial Bus Memory), 씨큐어 디지털 카드(Secure Digital; SD), 미니 씨큐어 디지털 카드(mini Secure Digital card; mSD), 마이크로 씨큐어 디지털 카드(micro SD), 고용량 씨큐어 디지털 카드(Secure Digital High Capacity; SDHC), 메모리 스틱 카드(Memory Stick Card), 스마트 미디어 카드(Smart Media Card; SM), 멀티 미디어 카드(Multi Media Card; MMC), 내장 멀티 미디어 카드(Embedded MMC; eMMC), 컴팩트 플래시 카드(Compact Flash; CF) 등을 포함할 수 있다.
11: 제1 반도체장치
12: 제2 반도체장치
13: 커맨드어드레스입력회로 14: 내부데이터마스크신호생성회로
15: 데이터입출력회로 16: 라이트패리티신호생성회로
161: 전치패리티신호생성회로 162: 논리연산회로
17: 데이터에러정정회로 18: 메모리코어회로
21: 데이터병합회로 22: 전치패리티신호연산회로
31: 제1 논리회로 32: 제2 논리회로
41: 신드롬신호연산회로 42: 에러위치디코더
43: 정정데이터신호생성회로 44: 제어신호생성회로
51: 리드라이트제어회로 52: 어드레스래치회로
53: 메모리뱅크 54: 데이터전달제어회로
55: 로우제어회로 56: 메모리셀어레이
57: 컬럼제어회로 1001: 데이터저장부
1002: 메모리컨트롤러 1003: 버퍼메모리
1004: 입출력인터페이스
13: 커맨드어드레스입력회로 14: 내부데이터마스크신호생성회로
15: 데이터입출력회로 16: 라이트패리티신호생성회로
161: 전치패리티신호생성회로 162: 논리연산회로
17: 데이터에러정정회로 18: 메모리코어회로
21: 데이터병합회로 22: 전치패리티신호연산회로
31: 제1 논리회로 32: 제2 논리회로
41: 신드롬신호연산회로 42: 에러위치디코더
43: 정정데이터신호생성회로 44: 제어신호생성회로
51: 리드라이트제어회로 52: 어드레스래치회로
53: 메모리뱅크 54: 데이터전달제어회로
55: 로우제어회로 56: 메모리셀어레이
57: 컬럼제어회로 1001: 데이터저장부
1002: 메모리컨트롤러 1003: 버퍼메모리
1004: 입출력인터페이스
Claims (22)
- 마스크라이트동작이 수행되는 경우 라이트데이터신호 및 리드데이터신호로부터 전치패리티신호를 생성하고, 제어신호에 응답하여 상기 전치패리티신호 및 신드롬신호로부터 라이트패리티신호를 생성하는 라이트패리티신호생성회로; 및
상기 리드데이터신호 및 리드패리티신호로부터 상기 신드롬신호를 생성하고, 상기 신드롬신호에 포함된 상기 리드데이터신호의 에러위치와 내부데이터마스크신호에 포함된 상기 라이트데이터신호의 마스킹위치에 따라 상기 제어신호를 생성하는 데이터에러정정회로를 포함하는 반도체장치.
- 제 1 항에 있어서, 상기 라이트데이터신호는 제1 및 제2 라이트비트그룹을 포함하고, 상기 리드데이터신호는 제1 및 제2 리드비트그룹을 포함하며, 상기 전치패리티신호는 상기 제1 라이트비트그룹과 상기 제2 리드비트그룹으로부터 생성되는 반도체장치.
- 제 2 항에 있어서, 상기 제2 라이트비트그룹은 상기 마스크라이트동작에서 마스킹되는 비트들을 포함하는 반도체장치.
- 제 2 항에 있어서, 상기 제2 리드비트그룹은 상기 제2 라이트비트그룹에 대응하는 저장영역으로부터 출력된 비트들을 포함하는 반도체장치.
- 제 2 항에 있어서, 상기 제어신호는 상기 리드데이터신호에 포함된 제2 리드비트그룹에 에러비트가 포함된 경우 인에이블되는 반도체장치.
- 제 1 항에 있어서, 상기 신드롬신호는 상기 리드데이터신호에 포함된 비트들 중 에러비트의 위치에 대한 정보를 포함하는 반도체장치.
- 제 1 항에 있어서, 상기 라이트패리티신호생성회로는 상기 제어신호에 응답하여 상기 전치패리티신호 및 상기 신드롬신호에 대한 베타적논리합연산을 수행하여 상기 라이트패리티신호를 생성하는 반도체장치.
- 제 1 항에 있어서, 상기 전치패리티신호를 생성하는 동작과 상기 신드롬신호를 생성하는 동작은 동시에 수행되는 반도체장치.
- 제 1 항에 있어서, 상기 라이트패리티신호생성회로는
상기 내부데이터마스크신호에 응답하여 상기 제1 라이트비트그룹 및 상기 제2 리드비트그룹로부터 상기 전치패리티신호를 생성하는 전치패리티신호생성회로; 및
상기 제어신호에 응답하여 상기 전치패리티신호 및 상기 신드롬신호로부터 상기 라이트패리티신호를 생성하는 논리연산회로를 포함하는 반도체장치.
- 제 9 항에 있어서, 상기 전치패리티신호생성회로는
상기 내부데이터마스크신호에 응답하여 상기 제1 라이트비트그룹과 상기 제2 리드비트그룹를 병합하여 병합데이터신호를 생성하는 데이터병합회로; 및
상기 병합데이터신호로부터 상기 전치패리티신호를 생성하는 전치패리티신호연산회로를 포함하는 반도체장치.
- 제 9 항에 있어서, 상기 논리연산회로는
상기 제어신호에 응답하여 상기 신드롬신호를 버퍼링하여 패리티정정제어신호를 생성하는 제1 논리회로; 및
상기 전치패리티신호 및 상기 패리티정정제어신호에 대한 베타적논리합연산을 수행하여 상기 라이트패리티신호를 생성하는 제2 논리회로를 포함하는 반도체장치.
- 제 1 항에 있어서, 상기 데이터에러정정회로는
상기 리드데이터신호 및 상기 리드패리티신호에 응답하여 상기 신드롬신호를 생성하는 신드롬신호연산회로;
상기 신드롬신호를 디코딩하여 에러위치신호를 생성하는 에러위치디코더; 및
상기 에러위치신호 및 상기 내부데이터마스크신호를 비교하여 상기 제어신호를 생성하는 제어신호생성회로를 포함하는 반도체장치.
- 제 12 항에 있어서, 상기 데어터에러정정회로는 리드동작이 수행되는 경우 상기 에러위치신호에 응답하여 상기 리드데이터신호의 에러를 정정하여 정정데이터신호를 생성하는 정정데이터신호생성회로를 더 포함하는 반도체장치.
- 제 1 항에 있어서, 라이트커맨드신호, 내부어드레스신호 및 상기 내부데이터마스크신호에 응답하여 상기 마스크라이트동작이 수행되는 경우 상기 리드데이터신호 및 상기 리드패리티신호를 출력하고, 기설정된 구간 후에 상기 라이트데이터신호 및 상기 라이트패리티신호를 저장하는 메모리코어회로를 더 포함하는 반도체장치.
- 제 14 항에 있어서, 상기 기설정된 구간은 상기 메모리코어회로로부터 상기 리드데이터신호 및 상기 리드패리티신호가 출력되는 시점부터 상기 라이트패리티신호가 생성되는 시점까지인 반도체장치.
- 라이트커맨드신호 및 내부데이터마스크신호에 응답하여 마스크라이트동작이 수행되는 경우 내부어드레스신호에 대응하는 저장영역으로부터 리드데이터신호 및 리드패리티신호를 생성하는 메모리코어회로; 및
상기 마스크라이트동작이 수행되는 경우 라이트데이터신호 및 상기 리드데이터신호로부터 전치패리티신호를 생성하고, 제어신호에 응답하여 상기 전치패리티신호 및 신드롬신호로부터 라이트패리티신호를 생성하는 라이트패리티신호생성회로를 포함하는 반도체장치.
- 제 16 항에 있어서, 상기 라이트데이터신호는 제1 및 제2 라이트비트그룹을 포함하고, 상기 리드데이터신호는 제1 및 제2 리드비트그룹을 포함하며, 상기 전치패리티신호는 상기 제1 라이트비트그룹과 상기 제2 리드비트그룹으로부터 생성되는 반도체장치.
- 제 17 항에 있어서, 상기 제2 라이트비트그룹은 상기 마스크라이트동작에서 마스킹되는 비트들을 포함하는 반도체장치.
- 제 17 항에 있어서, 상기 제2 리드비트그룹은 상기 제2 라이트비트그룹에 대응하는 상기 저장영역으로부터 출력된 비트들을 포함하는 반도체장치.
- 제 17 항에 있어서, 상기 제어신호는 상기 리드데이터신호에 포함된 상기 제2 리드비트그룹에 에러비트가 포함된 경우 인에이블되는 반도체장치.
- 제 16 항에 있어서, 상기 신드롬신호는 상기 리드데이터신호에 포함된 비트들 중 에러비트의 위치에 대한 정보를 포함하는 반도체장치.
- 커맨드신호, 어드레스신호 및 데이터마스크신호를 출력하고 데이터신호를 입출력하는 제1 반도체장치; 및
상기 커맨드신호에 응답하여 라이트커맨드가 생성되는 경우 상기 어드레스신호에 대응하는 저장영역으로부터 리드데이터신호 및 리드패리티신호를 생성하고, 상기 데이터신호를 입력받아 라이트데이터신호를 생성하며, 상기 데이터마스크신호에 응답하여 마스크라이트동작이 수행되는 경우 상기 라이트데이터신호 및 상기 리드데이터신호로부터 전치패리티신호를 생성하고, 제어신호에 응답하여 상기 전치패리티신호 및 신드롬신호로부터 라이트패리티신호를 생성하며, 상기 리드데이터신호 및 상기 리드패리티신호로부터 상기 신드롬신호를 생성하고, 상기 리드데이터신호의 에러위치와 상기 라이트데이터신호의 마스킹위치에 따라 제어신호를 생성하는 제2 반도체장치를 포함하되, 상기 라이트데이터신호는 제1 및 제2 라이트비트그룹을 포함하고, 상기 리드데이터신호는 제1 및 제2 리드비트그룹을 포함하며, 상기 전치패리티신호는 상기 제1 라이트비트그룹과 상기 제2 리드비트그룹으로부터 생성되는 반도체시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160039917A KR20170112630A (ko) | 2016-04-01 | 2016-04-01 | 반도체장치 및 반도체시스템 |
US15/219,519 US20170286218A1 (en) | 2016-04-01 | 2016-07-26 | Semiconductor devices, and semiconductor systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160039917A KR20170112630A (ko) | 2016-04-01 | 2016-04-01 | 반도체장치 및 반도체시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20170112630A true KR20170112630A (ko) | 2017-10-12 |
Family
ID=59958796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160039917A KR20170112630A (ko) | 2016-04-01 | 2016-04-01 | 반도체장치 및 반도체시스템 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20170286218A1 (ko) |
KR (1) | KR20170112630A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110880352A (zh) * | 2018-09-06 | 2020-03-13 | 爱思开海力士有限公司 | 半导体器件 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170121798A (ko) * | 2016-04-26 | 2017-11-03 | 삼성전자주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
US10243584B2 (en) * | 2016-05-11 | 2019-03-26 | Samsung Electronics Co., Ltd. | Memory device including parity error detection circuit |
KR102653529B1 (ko) * | 2018-10-22 | 2024-04-02 | 에스케이하이닉스 주식회사 | 반도체장치 및 반도체시스템 |
KR102683747B1 (ko) * | 2019-01-22 | 2024-07-11 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 |
KR20200137739A (ko) * | 2019-05-31 | 2020-12-09 | 에스케이하이닉스 주식회사 | 반도체장치 |
KR20220118265A (ko) * | 2021-02-18 | 2022-08-25 | 에스케이하이닉스 주식회사 | 데이터마스킹동작을 수행하는 전자장치 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9588840B2 (en) * | 2013-04-18 | 2017-03-07 | Samsung Electronics Co., Ltd. | Memory devices that perform masked write operations and methods of operating the same |
US9164834B2 (en) * | 2013-05-06 | 2015-10-20 | Samsung Electronics Co., Ltd. | Semiconductor memory devices, memory systems including the same and method of writing data in the same |
WO2014205590A1 (en) * | 2013-06-24 | 2014-12-31 | Micron Technology, Inc. | Circuits, apparatuses, and methods for correcting data errors |
KR102189780B1 (ko) * | 2014-08-11 | 2020-12-11 | 삼성전자주식회사 | 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 |
-
2016
- 2016-04-01 KR KR1020160039917A patent/KR20170112630A/ko unknown
- 2016-07-26 US US15/219,519 patent/US20170286218A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110880352A (zh) * | 2018-09-06 | 2020-03-13 | 爱思开海力士有限公司 | 半导体器件 |
CN110880352B (zh) * | 2018-09-06 | 2023-11-03 | 爱思开海力士有限公司 | 半导体器件 |
Also Published As
Publication number | Publication date |
---|---|
US20170286218A1 (en) | 2017-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101750662B1 (ko) | 데이터 에러 교정용 회로, 장치, 및 방법 | |
US10613928B2 (en) | Semiconductor devices and semiconductor systems including the same | |
KR20170112630A (ko) | 반도체장치 및 반도체시스템 | |
KR20170082066A (ko) | 반도체시스템 | |
US10803971B2 (en) | Device for supporting error correction code and test method thereof | |
US10162703B2 (en) | Methods of correcting data errors and semiconductor devices used therein | |
US10579472B2 (en) | Semiconductor devices | |
US20180196713A1 (en) | Semiconductor device | |
KR20180029803A (ko) | 반도체장치 및 반도체시스템 | |
US11461167B2 (en) | Semiconductor devices | |
CN109933453B (zh) | 错误校正方法和使用其的半导体器件 | |
US10261860B2 (en) | Semiconductor systems | |
US20170344422A1 (en) | Semiconductor devices and semiconductor systems | |
US10552277B2 (en) | Electronic devices | |
US10379786B2 (en) | Semiconductor devices | |
US20210384919A1 (en) | Error correction device and method for generating syndromes and partial coefficient information in a parallel | |
US11429477B2 (en) | Semiconductor devices | |
KR20170143084A (ko) | 반도체장치 및 반도체시스템 | |
KR20180027655A (ko) | 테스트방법 및 이를 이용한 반도체시스템 | |
US10181863B2 (en) | Semiconductor devices and semiconductor systems | |
KR20170096079A (ko) | 반도체장치 및 반도체시스템 | |
US11048602B2 (en) | Electronic devices | |
KR20180086817A (ko) | 반도체장치 | |
KR102686057B1 (ko) | 반도체장치 및 반도체시스템 |