KR20180029803A - 반도체장치 및 반도체시스템 - Google Patents

반도체장치 및 반도체시스템 Download PDF

Info

Publication number
KR20180029803A
KR20180029803A KR1020160118413A KR20160118413A KR20180029803A KR 20180029803 A KR20180029803 A KR 20180029803A KR 1020160118413 A KR1020160118413 A KR 1020160118413A KR 20160118413 A KR20160118413 A KR 20160118413A KR 20180029803 A KR20180029803 A KR 20180029803A
Authority
KR
South Korea
Prior art keywords
data
parity
response
internal
signal
Prior art date
Application number
KR1020160118413A
Other languages
English (en)
Other versions
KR102638790B1 (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 KR1020160118413A priority Critical patent/KR102638790B1/ko
Priority to US15/480,798 priority patent/US10388401B2/en
Publication of KR20180029803A publication Critical patent/KR20180029803A/ko
Application granted granted Critical
Publication of KR102638790B1 publication Critical patent/KR102638790B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • 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

Landscapes

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

Abstract

반도체시스템은 커맨드, 어드레스 및 마스킹신호를 출력하고, 데이터를 입출력하는 제1 반도체장치 및 제1 및 제2 레지스터를 포함하는 제2 반도체장치를 포함하되, 상기 커맨드 및 상기 어드레스에 응답하여 제1 에러정정동작 시 출력되는 내부데이터의 에러를 정정하여 생성되는 제1 정정데이터를 상기 제1 레지스터에 저장하고, 제2 에러정정동작 시 출력되는 상기 내부데이터의 에러를 정정하여 생성되는 제2 정정데이터를 상기 제2 레지스터에 저장한다.

Description

반도체장치 및 반도체시스템{SEMICONDUCTOR DEVICE AND SEMICONDUCTOR SYSTEM}
본 발명은 에러정정동작을 수행하는 반도체장치 및 반도체시스템에 관한 것이다.
최근 반도체장치의 동작속도를 증가시키기 위해 클럭 사이클(cycle)마다 4비트 또는 8비트의 데이터를 입/출력하는 DDR2, DDR3 방식 등이 사용되고 있다. 데이터의 입/출력 속도가 빨라지는 경우 데이터가 전송되는 과정 중 발생되는 오류의 발생 확률도 증가 되므로, 데이터 전송의 신뢰성을 보장하기 위한 별도의 장치와 방법이 추가적으로 요구되고 있다.
데이터 전송시마다 오류 발생 여부를 확인할 수 있는 오류코드를 생성하여 데이터와 함께 전송함으로써, 데이터 전송의 신뢰성을 보장하는 방법을 사용하고 있다. 오류코드에는 발생한 오류를 검출할 수 있는 오류검출코드(Error Detection Code, EDC)와, 오류 발생시 이를 자체적으로 정정할 수 있는 오류정정코드(Error Correction Code, ECC) 등이 있다.
본 발명은 연속되는 에러정정동작 시 내부데이터의 에러를 정정하여 저장하는 별도의 레지스터를 구비하고, 정정된 내부데이터와 데이터를 병합하는 동작 중 또 다른 내부데이터의 에러를 정정하여 레지스터에 저장하는 반도체장치 및 반도체시스템을 제공한다.
이를 위해 본 발명은 커맨드, 어드레스 및 마스킹신호를 출력하고, 데이터를 입출력하는 제1 반도체장치 및 제1 및 제2 레지스터를 포함하는 제2 반도체장치를 포함하되, 상기 커맨드 및 상기 어드레스에 응답하여 제1 에러정정동작 시 출력되는 내부데이터의 에러를 정정하여 생성되는 제1 정정데이터를 상기 제1 레지스터에 저장하고, 제2 에러정정동작 시 출력되는 상기 내부데이터의 에러를 정정하여 생성되는 제2 정정데이터를 상기 제2 레지스터에 저장하는 반도체시스템을 제공한다.
또한, 본 발명은 커맨드 및 어드레스에 응답하여 제1 내부데이터 및 제1 내부패러티를 출력하고, 상기 제1 내부데이터 및 상기 제1 내부패러티를 저장하는 제1 뱅크, 상기 커맨드 및 상기 어드레스에 응답하여 제2 내부데이터 및 제2 내부패러티를 출력하며, 상기 제2 내부데이터 및 상기 제2 내부패러티를 저장하는 제2 뱅크 및 제1 에러정정동작 시 상기 제1 내부패러티로부터 상기 제1 내부데이터의 에러를 정정하여 상기 제1 정정데이터를 생성하거나, 상기 제2 내부패러티로부터 상기 제2 내부데이터의 에러를 정정하여 상기 제1 정정데이터를 생성하고, 상기 제2 에러정정동작 시 상기 제1 내부패러티로부터 상기 제1 내부데이터의 에러를 정정하여 제2 정정데이터를 생성하거나, 상기 제2 내부패러티로부터 상기 제2 내부데이터의 에러를 정정하여 제2 정정데이터를 생성하는 데이터처리회로를 포함하는 반도체장치를 제공한다.
본 발명에 의하면 연속되는 에러정정동작 시 내부데이터의 에러를 정정하여 저장하는 별도의 레지스터를 구비하고, 정정된 내부데이터와 데이터를 병합하는 동작 중 또 다른 내부데이터의 에러를 정정하여 레지스터에 저장함으로써 공유되는 데이터라인 및 패러티라인을 통해 연속적으로 데이터 및 패러티를 입출력할 수 있는 효과가 있다.
또한, 본 발명에 의하면 연속되는 에러정정동작 시 공유되는 데이터라인 및 패러티라인을 통해 연속적으로 데이터 및 패러티을 입출력함으로써 에러정정동작과 데이터병합동작의 신뢰성을 확보할 수 있다.
도 1은 본 발명의 일 실시예에 따른 반도체시스템의 구성을 도시한 블럭도이다.
도 2는 도 1 에 도시된 반도체시스템에 포함된 제1 뱅크의 일 실시예에 따른 내부 구성을 도시한 블럭도이다.
도 3은 도 2 에 도시된 제1 뱅크에 포함된 스트로브신호생성회로의 일 실시예에 따른 내부 구성을 도시한 블럭도이다.
도 4는 도 1 에 도시된 반도체시스템에 포함된 데이터처리회로의 일 실시예에 따른 내부 구성을 도시한 블럭도이다.
도 5는 도 4 에 도시된 데이터처리회로에 포함된 에러정정회로의 일 실시예에 따른 내부 구성을 도시한 블럭도이다.
도 6은 도 4 에 도시된 데이터처리회로에 포함된 데이터병합회로의 일 실시예에 따른 내부 구성을 도시한 블럭도이다.
도 7은 본 발명의 일 실시예에 따른 반도체시스템의 동작을 설명하기 위한 타이밍도이다.
도 8은 도 1 내지 도 7에 도시된 반도체장치 및 반도체시스템이 적용된 전자시스템의 일 실시예에 따른 구성을 도시한 도면이다.
도 9는 도 1 내지 도 7에 도시된 반도체장치 및 반도체시스템이 적용된 전자시스템의 다른 실시예에 따른 구성을 도시한 도면이다.
이하, 실시예를 통하여 본 발명을 더욱 상세히 설명하기로 한다. 이들 실시예는 단지 본 발명을 예시하기 위한 것이며, 본 발명의 권리 보호 범위가 이들 실시예에 의해 제한되는 것은 아니다.
도 1에 도시된 바와 같이 본 발명의 일 실시예에 따른 반도체시스템은 제1 반도체장치(1) 및 제2 반도체장치(2)를 포함할 수 있다. 제2 반도체장치(2)는 제1 뱅크(10), 제2 뱅크(20) 및 데이터처리회로(30)를 포함할 수 있다.
제1 반도체장치(1)는 커맨드(CMD), 어드레스(ADD) 및 마스킹신호(DM)를 출력할 수 있다. 제1 반도체장치(1)는 제1 데이터(DQ<1>) 및 제2 데이터(DQ<2>)를 입출력할 수 있다. 커맨드(CMD)는 커맨드 및 어드레스가 전송되는 라인을 통해 출력될 수 있고, 실시예에 따라서 다수의 비트들을 포함하도록 설정될 수 있다. 어드레스(ADD)는 커맨드 및 어드레스가 전송되는 라인을 통해 출력될 수 있고, 실시예에 따라서 다수의 비트들을 포함하도록 설정될 수 있다. 제1 데이터(DQ<1>) 및 제2 데이터(DQ<2>)는 하나의 신호로 도시되어 있지만 실시예에 따라 다수의 비트를 포함하도록 설정될 수 있다. 제1 데이터(DQ<1>) 및 제2 데이터(DQ<2>)는 연속되는 데이터열로 설정될 수 있다. 마스킹신호(DM)는 하나의 신호로 도시되어 있지만 실시예에 따라 다수의 비트를 포함하도록 설정될 수 있다. 마스킹신호(DM)는 제1 데이터(DQ<1>) 및 제2 데이터(DQ<2>)에 포함된 다수의 비트 중 일부 비트를 차단하기 위한 정보를 포함하는 신호로 설정될 수 있다.
제1 뱅크(10)는 커맨드(CMD) 및 어드레스(ADD)에 응답하여 제1 내부데이터(도 2의 ID<1>)를 제1 데이터라인(MIO1_D)을 통해 입출력할 수 있다. 제1 뱅크(10)는 커맨드(CMD) 및 어드레스(ADD)에 응답하여 라이트동작 시 제1 데이터라인(MIO1_D)에 실린 제1 및 제2 병합데이터(도 6의 MD1,MD2)를 제1 내부데이터(도 2의 ID<1>)로 저장할 수 있다. 제1 뱅크(10)는 커맨드(CMD) 및 어드레스(ADD)에 응답하여 리드동작 시 제1 내부데이터(도 2의 ID<1>)를 제1 데이터라인(MIO1_D)을 통해 출력할 수 있다. 제1 뱅크(10)는 커맨드(CMD) 및 어드레스(ADD)에 응답하여 제1 내부패러티(도 2의 IP<1>)를 제1 패러티라인(MIO1_P)을 통해 입출력할 수 있다. 제1 뱅크(10)는 커맨드(CMD) 및 어드레스(ADD)에 응답하여 라이트동작 시 제1 패러티라인(MIO1_P)에 실린 제1 및 제2 패러티(도 6의 P1,P2)를 제1 내부패러티(도 2의 IP<1>)로 저장할 수 있다. 제1 뱅크(10)는 커맨드(CMD) 및 어드레스(ADD)에 응답하여 리드동작 시 제1 내부패러티(도 2의 IP<1>)를 제1 패러티라인(MIO1_P)을 통해 출력할 수 있다. 제1 내부패러티(도 2의 IP<1>)는 제1 내부데이터(도 2의 ID<1>)의 불량정보를 포함할 수 있다. 제1 및 제2 병합데이터(도 6의 MD1,MD2)는 제1 내부데이터(도 2의 ID<1>)와 동일하게 설정될 수 있다.
제2 뱅크(20)는 커맨드(CMD) 및 어드레스(ADD)에 응답하여 제2 내부데이터(미도시)를 제2 데이터라인(MIO2_D)을 통해 입출력할 수 있다. 제2 뱅크(20)는 커맨드(CMD) 및 어드레스(ADD)에 응답하여 라이트동작 시 제2 데이터라인(MIO2_D)에 실린 제1 및 제2 병합데이터(도 6의 MD1,MD2)를 제2 내부데이터(미도시)로 저장할 수 있다. 제2 뱅크(20)는 커맨드(CMD) 및 어드레스(ADD)에 응답하여 리드동작 시 제2 내부데이터(미도시)를 제2 데이터라인(MIO2_D)을 통해 출력할 수 있다. 제2 뱅크(20)는 커맨드(CMD) 및 어드레스(ADD)에 응답하여 제2 내부패러티(미도시)를 제2 패러티라인(MIO2_P)을 통해 입출력할 수 있다. 제2 뱅크(20)는 커맨드(CMD) 및 어드레스(ADD)에 응답하여 라이트동작 시 제2 패러티라인(MIO2_P)에 실린 제1 및 제2 패러티(도 6의 P1,P2)를 제2 내부패러티(미도시)로 저장할 수 있다. 제2 뱅크(20)는 커맨드(CMD) 및 어드레스(ADD)에 응답하여 리드동작 시 제1 내부패러티(미도시)를 제2 패러티라인(MIO2_P)을 통해 출력할 수 있다. 제2 내부패러티(미도시)는 제2 내부데이터(미도시)의 불량정보를 포함할 수 있다. 제1 및 제2 병합데이터(도 6의 MD1,MD2)는 제2 내부데이터(미도시)와 동일하게 설정될 수 있다.
데이터처리회로(30)는 제1 뱅크(10)에 대한 제1 에러정정동작 시 제1 내부패러티로(IP<1>)부터 제1 내부데이터(도 2의 ID<1>)의 에러를 정정하여 제1 정정데이터(도 6의 IDC1)를 생성할 수 있다. 데이터처리회로(30)는 제1 뱅크(10)에 대한 제2 에러정정동작 시 제1 정정데이터(도 6의 IDC1)와 제1 데이터(DQ<1>)를 병합하여 제1 병합데이터(도 6의 MD1)를 생성할 수 있다. 데이터처리회로(30)는 제1 뱅크(10)에 대한 제2 에러정정동작 시 제1 내부패러티로(IP<1>)부터 제1 내부데이터(ID<1>)의 에러를 정정하여 제2 정정데이터(도 6의 IDC2)를 생성할 수 있다. 여기서, 제1 에러정정동작 및 제2 에러정정동작은 각각 리드동작 및 라이트동작이 연속적으로 수행되도록 설정된다. 제1 에러정정동작 및 제2 에러정정동작은 순차적으로 동작하는 에러정정동작을 의미한다. 제1 정정데이터(도 6의 IDC1)는 제1 뱅크(20)에 대한 제1 에러정정동작 시 생성되는 정정데이터(도 4의 DC)로부터 생성된다. 제2 정정데이터(도 6의 IDC2)는 제1 뱅크(20)에 대한 제2 에러정정동작 시 생성되는 정정데이터(도 4의 DC)로부터 생성된다. 데이터처리회로(30)는 제1 뱅크(10)에 대한 제1 에러정정동작 및 제2 에러정정동작 시 제1 및 제2 병합데이터(도 6의 MD1,MD2)에 대한 에러정보를 포함하는 제1 및 제2 패러티(도 6의 P1,P2)를 생성할 수 있다.
데이터처리회로(30)는 제2 뱅크(20)에 대한 제1 에러정정동작 시 제2 내부패러티로(미도시)부터 제2 내부데이터(미도시)의 에러를 정정하여 제1 정정데이터(도 6의 IDC1)를 생성할 수 있다. 데이터처리회로(30)는 제2 뱅크(20)에 대한 제2 에러정정동작 시 제1 정정데이터(도 6의 IDC1)와 제2 데이터(DQ<2>)를 병합하여 제1 병합데이터(도 6의 MD1)를 생성할 수 있다. 데이터처리회로(30)는 제2 뱅크(20)에 대한 제2 에러정정동작 시 제2 내부패러티로(미도시)부터 제2 내부데이터(미도시)의 에러를 정정하여 제2 정정데이터(도 6의 IDC2)를 생성할 수 있다. 여기서, 제1 정정데이터(도 6의 IDC1)는 제2 뱅크(20)에 대한 제1 에러정정동작 시 생성되는 정정데이터(도 4의 DC)로부터 생성된다. 제2 정정데이터(도 6의 IDC2)는 제2 뱅크(20)에 대한 제2 에러정정동작 시 생성되는 정정데이터(도 4의 DC)로부터 생성된다. 데이터처리회로(30)는 제2 뱅크(20)에 대한 제1 에러정정동작 및 제2 에러정정동작 시 제1 및 제2 병합데이터(도 6의 MD1,MD2)에 대한 에러정보를 포함하는 제1 및 제2 패러티(도 6의 P1,P2)를 생성할 수 있다.
이와 같이 구성되는 본 발명의 제2 반도체장치(2)는 커맨드(CMD) 및 어드레스(ADD)에 응답하여 제1 에러정정동작 시 출력되는 내부데이터(도 2의 ID<1>)의 에러를 정정하여 생성되는 제1 정정데이터(도 6의 IDC1)를 제1 레지스터(도 6의 3531)에 저장할 수 있다. 제2 반도체장치(2)는 커맨드(CMD) 및 어드레스(ADD)에 응답하여 제2 에러정정동작 시 출력되는 내부데이터(도 2의 ID<1>)의 에러를 정정하여 생성되는 제2 정정데이터(도 6의 IDC2)를 제2 레지스터(도 6의 3541)에 저장할 수 있다.
도 2를 참고하면 본 발명의 일 실시예에 따른 제1 뱅크(10)는 스트로브신호생성회로(11), 입출력센스앰프(12), 라이트드라이버(13) 및 메모리영역(14)을 포함할 수 있다.
스트로브신호생성회로(11)는 커맨드(CMD), 어드레스(ADD) 및 마스킹신호(DM)에 응답하여 제1 및 제2 에러정정동작 시 순차적으로 인에이블되는 리드스트로브신호(RD_S) 및 라이트스트로브신호(WT_S)를 생성할 수 있다.
입출력센스앰프(12)는 리드스트로브신호(RD_S)에 응답하여 제1 로컬데이터라인(LIO1_D)에 실린 제1 내부데이터(ID<1>)를 제1 데이터라인(MIO1_D)으로 출력할 수 있다. 입출력센스앰프(12)는 리드스트로브신호(RD_S)에 응답하여 제1 로컬패러티라인(LIO1_P)에 실린 제1 내부패러티(IP<1>)를 제1 패러티라인(MIO1_P)으로 출력할 수 있다.
라이트드라이버(13)는 라이트스트로브신호(WT_S)에 응답하여 제1 데이터라인(MIO1_D)에 실린 제1 및 제2 병합데이터(도 6의 MD1,MD2)를 제1 로컬데이터라인(LIO1_D)으로 출력할 수 있다. 라이트드라이버(13)는 라이트스트로브신호(WT_S)에 응답하여 제1 패러티라인(MIO1_P)에 실린 제1 및 제2 패러티(도 6의 P1,P2)를 제1 로컬패러티라인(LIO1_P)으로 출력할 수 있다.
메모리영역(14)은 커맨드(CMD) 및 어드레스(ADD)에 응답하여 리드동작 시 제1 내부데이터(ID<1>)를 제1 로컬데이터라인(LIO1_D)으로 출력할 수 있다. 메모리영역(14)은 커맨드(CMD) 및 어드레스(ADD)에 응답하여 리드동작 시 제1 내부패러티(IP<1>)를 제1 로컬패러티라인(LIO1_P)으로 출력할 수 있다. 메모리영역(14)은 커맨드(CMD) 및 어드레스(ADD)에 응답하여 라이트동작 시 제1 로컬데이터라인(LIO_D)에 실린 제1 및 제2 병합데이터(도 6의 MD1,MD2)를 제1 내부데이터(ID<1>)로 저장할 수 있다. 메모리영역(14)은 커맨드(CMD) 및 어드레스(ADD)에 응답하여 라이트동작 시 제1 로컬패러티라인(LIO1_P)에 실린 제1 및 제2 패러티(도 6의 P1,P2)를 제1 내부패러티(IP<1>)로 저장할 수 있다.
한편, 제2 뱅크(20)는 도 2에 도시된 제1 뱅크(10)와 입출력신호만 상이할 뿐 동일한 구성으로 구현되어 동일한 동작을 수행하므로 구체적인 설명은 생략한다.
도 3을 참고하면 본 발명의 일 실시예에 따른 스트로브신호생성회로(11)는 버퍼회로(110), 모드설정회로(120), 커맨드디코더(130), 제어회로(140) 및 스트로브신호출력회로(150)를 포함할 수 있다.
버퍼회로(110)는 제1 버퍼(111), 제2 버퍼(112) 및 제3 버퍼(113)를 포함할 수 있다. 제1 버퍼(111)는 어드레스(ADD)를 버퍼링하여 내부어드레스(IADD)를 생성할 수 있다. 제2 버퍼(112)는 커맨드(CMD)를 버퍼링하여 내부커맨드(ICMD)를 생성할 수 있다. 제3 버퍼(113)는 마스킹신호(DM)를 버퍼링하여 내부마스킹신호(IDM)를 생성할 수 있다.
모드설정회로(120)는 내부커맨드(ICMD)에 응답하여 내부어드레스(IADD)에 의해 설정되는 지연량으로 모드라이트신호(MR_WL) 및 모드리드신호(MR_RL)를 생성할 수 있다. 모드설정회로(120)는 내부커맨드(ICMD)가 라이트동작에 진입하기 위한 조합인 경우 모드라이트신호(MR_WL)를 생성할 수 있다. 모드설정회로(120)는 내부커맨드(ICMD)가 리드동작에 진입하기 위한 조합인 경우 모드리드신호(MR_RL)를 생성할 수 있다. 모드설정회로(120)는 내부어드레스(IADD)를 통해 입력되는 지연량 정보에 의해 지연량이 설정되어 모드라이트신호(MR_WL) 및 모드리드신호(MR_RL)를 생성할 수 있다. 모드설정회로(120)에서 설정되는 지연량은 제1 반도체장치(1)에 의해 다양하게 설정될 수 있다. 모드라이트신호(MR_WL)는 제1 반도체장치(1)에서 인가되는 제1 및 제2 데이터(DQ<1:2>)를 저장하기 위한 라이트동작에서 인에이블되는 신호로 설정될 수 있다. 모드리드신호(MR_RL)는 내부에 저장된 제1 및 제2 내부데이터(ID<1:2>)를 출력하기 위한 리드동작에서 인에이블되는 신호로 설정될 수 있다.
커맨드디코더(130)는 내부마스킹신호(IDM)에 응답하여 내부커맨드(ICMD)를 디코딩하여 커맨드라이트신호(CM_WL) 및 커맨드리드신호(CM_RL)를 생성할 수 있다. 커맨드디코더(130)는 내부마스킹신호(IDM)에 응답하여 인에이블되는 커맨드선택신호(CM_SEL)를 생성할 수 있다. 커맨드디코더(130)는 내부마스킹신호(IDM)가 입력되는 경우 내부커맨드(ICMD)를 디코딩하여 순차적으로 인에이블되는 커맨드리드신호(CM_RL) 및 커맨드라이트신호(CM_WL)를 생성할 수 있다. 커맨드디코더(130)는 내부마스킹신호(IDM)가 입력되는 경우 커맨드리드신호(CM_RL)를 생성한 이후 커맨드라이트신호(CM_WL)를 생성할 수 있다.
제어회로(140)는 라이트제어회로(141) 및 리드제어회로(142)를 포함할 수 있다. 라이트제어회로(141)는 모드라이트신호(MR_WL)에 응답하여 발생하는 펄스를 포함하는 제1 라이트펄스(EWP)를 생성할 수 있다. 라이트제어회로(141)는 커맨드라이트신호(CM_WL)에 응답하여 발생하는 펄스를 포함하는 제2 라이트펄스(IWP)를 생성할 수 있다. 리드제어회로(142)는 모드리드신호(MR_RL)에 응답하여 발생하는 펄스를 포함하는 제1 리드펄스(ERP)를 생성할 수 있다. 리드제어회로(142)는 커맨드리드신호(CM_RL)에 응답하여 발생하는 펄스를 포함하는 제2 리드펄스(IRP)를 생성할 수 있다.
스트로브신호출력회로(150)는 커맨드선택신호(CM_SEL)에 응답하여 제1 라이트펄스(EWP) 및 제2 라이트펄스(IWP) 중 어느 하나를 라이트스트로브신호(WT_S)로 출력할 수 있다. 스트로브신호출력회로(150)는 커맨드선택신호(CM_SEL)가 디스에이블되는 경우 제1 라이트펄스(EWP)를 라이트스트로브신호(WT_S)로 출력할 수 있다. 스트로브신호출력회로(150)는 커맨드선택신호(CM_SEL)가 인에이블되는 경우 제2 라이트펄스(IWP)를 라이트스트로브신호(WT_S)로 출력할 수 있다. 스트로브신호출력회로(150)는 커맨드선택신호(CM_SEL)에 응답하여 제1 리드펄스(ERP) 및 제2 리드펄스(IRP) 중 어느 하나를 리드스트로브신호(RD_S)로 출력할 수 있다. 스트로브신호출력회로(150)는 커맨드선택신호(CM_SEL)가 디스에이블되는 경우 제1 리드펄스(ERP)를 리드스트로브신호(RD_S)로 출력할 수 있다. 스트로브신호출력회로(150)는 커맨드선택신호(CM_SEL)가 인에이블되는 경우 제2 리드펄스(IRP)를 리드스트로브신호(RD_S)로 출력할 수 있다.
도 4를 참고하면 본 발명의 일 실시예에 따른 데이터처리회로(30)는 인에이블신호생성회로(31), 에러정정회로(32), 데이터출력회로(33), 데이터입력회로(34) 및 데이터병합회로(35)를 포함할 수 있다.
인에이블신호생성회로(31)는 제1 뱅크(10)에서 생성되는 리드스트로브신호(RD_S) 및 제2 리드펄스(IRP)에 응답하여 인에이블되는 인에이블신호(EN) 및 스위칭인에이블신호(SWEN)를 생성할 수 있다. 인에이블신호생성회로(31)는 제1 뱅크(10)에서 생성되는 리드스트로브신호(RD_S)의 펄스가 입력되는 경우 인에이블되는 인에이블신호(EN)를 생성할 수 있다. 인에이블신호생성회로(31)는 제1 뱅크(10)에서 생성되는 제2 리드펄스(IRP)의 펄스가 입력되는 경우 인에이블되는 스위칭인에이블신호(SWEN)를 생성할 수 있다. 인에이블신호생성회로(31)는 제2 뱅크(20)에서 생성되는 리드스트로브신호(RD_S) 및 제2 리드펄스(IRP)에 응답하여 인에이블되는 인에이블신호(EN) 및 스위칭인에이블신호(SWEN)를 생성할 수 있다. 인에이블신호생성회로(31)는 제2 뱅크(20)에서 생성되는 리드스트로브신호(RD_S)의 펄스가 입력되는 경우 인에이블되는 인에이블신호(EN)를 생성할 수 있다. 인에이블신호생성회로(31)는 제2 뱅크(20)에서 생성되는 제2 리드펄스(IRP)의 펄스가 입력되는 경우 인에이블되는 스위칭인에이블신호(SWEN)를 생성할 수 있다.
에러정정회로(32)는 인에이블신호(EN)에 응답하여 제1 내부패러티(IP<1>)로부터 제1 내부데이터(ID<1>)의 에러를 정정하여 정정데이터로(DC)로 출력할 수 있다. 에러정정회로(32)는 인에이블신호(EN)에 응답하여 어드레스(ADD)에 따라 선택되는 제1 패러티라인(MIO1_P)에 실린 제1 내부패러티(IP<1>)로부터 제1 데이터라인(MIO1_D)에 실린 제1 내부데이터(ID<1>)의 에러를 정정하여 정정데이터로(DC)로 출력할 수 있다. 에러정정회로(32)는 인에이블신호(EN)에 응답하여 어드레스(ADD)가 제1 뱅크(10)를 선택하기 위한 조합인 경우 제1 패러티라인(MIO1_P)에 실린 제1 내부패러티(IP<1>)로부터 제1 데이터라인(MIO1_D)에 실린 제1 내부데이터(ID<1>)의 에러를 정정하여 정정데이터로(DC)로 출력할 수 있다. 에러정정회로(32)는 인에이블신호(EN)에 응답하여 제2 내부패러티(미도시)로부터 제2 내부데이터(미도시)의 에러를 정정하여 정정데이터로(DC)로 출력할 수 있다. 에러정정회로(32)는 인에이블신호(EN)에 응답하여 어드레스(ADD)에 따라 선택되는 제2 패러티라인(MIO2_P)에 실린 제2 내부패러티(미도시)로부터 제2 데이터라인(MIO2_D)에 실린 제2 내부데이터(미도시)의 에러를 정정하여 정정데이터로(DC)로 출력할 수 있다. 에러정정회로(32)는 인에이블신호(EN)에 응답하여 어드레스(ADD)가 제2 뱅크(20)를 선택하기 위한 조합인 경우 제2 패러티라인(MIO2_P)에 실린 제2 내부패러티(미도시)로부터 제2 데이터라인(MIO2_D)에 실린 제2 내부데이터(미도시)의 에러를 정정하여 정정데이터로(DC)로 출력할 수 있다.
데이터출력회로(33)는 어드레스(ADD)에 응답하여 정정데이터(DC)를 제1 및 제2 데이터(DQ<1:2>)로 출력할 수 있다. 데이터출력회로(33)는 어드레스(ADD)가 제1 뱅크(10)를 선택하는 조합인 경우 정정데이터(DC)를 제1 데이터(DQ<1>)로 출력할 수 있다. 데이터출력회로(33)는 어드레스(ADD)가 제2 뱅크(20)를 선택하는 조합인 경우 정정데이터(DC)를 제2 데이터(DQ<2>)로 출력할 수 있다.
데이터입력회로(34)는 어드레스(ADD)에 응답하여 제1 및 제2 데이터(DQ<1:2>)를 입력받아 입력데이터(DIN)를 생성할 수 있다. 데이터입력회로(34)는 어드레스(ADD)가 제1 뱅크(10)를 선택하는 조합인 경우 제1 데이터(DQ<1>)를 입력받아 입력데이터(DIN)를 생성할 수 있다. 데이터입력회로(34)는 어드레스(ADD)가 제1 뱅크(10)를 선택하는 조합인 경우 제1 데이터(DQ<1>)를 입력데이터(DIN)로 전달할 수 있다. 데이터입력회로(34)는 어드레스(ADD)가 제2 뱅크(20)를 선택하는 조합인 경우 제2 데이터(DQ<2>)를 입력받아 입력데이터(DIN)를 생성할 수 있다. 데이터입력회로(34)는 어드레스(ADD)가 제2 뱅크(20)를 선택하는 조합인 경우 제2 데이터(DQ<2>)를 입력데이터(DIN)로 전달할 수 있다.
데이터병합회로(35)는 스위칭인에이블신호(SWEN)에 응답하여 정정데이터(DC)를 입력받을 수 있다. 데이터병합회로(35)는 어드레스(ADD) 및 마스킹신호(DM)에 응답하여 정정데이터(DC)와 입력데이터(DIN)를 병합하여 제1 및 제2 병합데이터(도6의 MD1,MD2) 및 제1 및 제2 패러티(도 6의 P1,P2)를 생성할 수 있다. 데이터병합회로(35)는 제1 에러정정동작 시 마스킹신호(DM)에 응답하여 정정데이터(DC)와 입력데이터(DIN)를 병합하여 제1 병합데이터(도6의 MD1) 및 제1 패러티(도 6의 P1)를 생성할 수 있다. 데이터병합회로(35)는 제2 에러정정동작 시 마스킹신호(DM)에 응답하여 정정데이터(DC)와 입력데이터(DIN)를 병합하여 제2 병합데이터(도6의 MD2) 및 제2 패러티(도 6의 P2)를 생성할 수 있다. 데이터병합회로(35)는 어드레스(ADD)가 제1 뱅크(10)를 선택하는 조합인 경우 제1 및 제2 병합데이터(도6의 MD1,MD2)를 제1 데이터라인(MIO1_D)으로 출력할 수 있다. 데이터병합회로(35)는 어드레스(ADD)가 제1 뱅크(10)를 선택하는 조합인 경우 제1 및 제2 패러티(도6의 P1,P2)를 제1 패러티라인(MIO1_P)으로 출력할 수 있다. 데이터병합회로(35)는 어드레스(ADD)가 제2 뱅크(20)를 선택하는 조합인 경우 제1 및 제2 병합데이터(도6의 MD1,MD2)를 제2 데이터라인(MIO2_D)으로 출력할 수 있다. 데이터병합회로(35)는 어드레스(ADD)가 제2 뱅크(20)를 선택하는 조합인 경우 제1 및 제2 패러티(도6의 P1,P2)를 제2 패러티라인(MIO2_P)으로 출력할 수 있다.
도 5를 참고하면 본 발명의 일 실시예에 따른 에러정정회로(32)는 제1 선택전달회로(321), 신드롬생성회로(322) 및 데이터정정회로(323)를 포함할 수 있다.
제1 선택전달회로(321)는 리드스트로브신호(RD_S) 및 어드레스(ADD)에 응답하여 제1 데이터라인(MIO1_D)에 실린 제1 내부데이터(ID<1>)를 전달데이터(TD)로 전달할 수 있다. 제1 선택전달회로(321)는 리드스트로브신호(RD_S)에 응답하여 어드레스(ADD)가 제1 뱅크(10)를 선택하는 조합인 경우 제1 데이터라인(MIO1_D)에 실린 제1 내부데이터(ID<1>)를 전달데이터(TD)로 전달할 수 있다. 제1 선택전달회로(321)는 리드스트로브신호(RD_S) 및 어드레스(ADD)에 응답하여 제1 패러티라인(MIO1_P)에 실린 제1 내부패러티(IP<1>)를 전달패러티(TP)로 전달할 수 있다. 제1 선택전달회로(321)는 리드스트로브신호(RD_S)에 응답하여 어드레스(ADD)가 제1 뱅크(10)를 선택하는 조합인 경우 제1 패러티라인(MIO1_P)에 실린 제1 내부패러티(IP<1>)를 전달패러티(TP)로 전달할 수 있다. 제1 선택전달회로(321)는 리드스트로브신호(RD_S) 및 어드레스(ADD)에 응답하여 제2 데이터라인(MIO2_D)에 실린 제2 내부데이터(미도시)를 전달데이터(TD)로 전달할 수 있다. 제1 선택전달회로(321)는 리드스트로브신호(RD_S)에 응답하여 어드레스(ADD)가 제2 뱅크(20)를 선택하는 조합인 경우 제2 데이터라인(MIO2_D)에 실린 제2 내부데이터(미도시)를 전달데이터(TD)로 전달할 수 있다. 제1 선택전달회로(321)는 리드스트로브신호(RD_S) 및 어드레스(ADD)에 응답하여 제2 패러티라인(MIO2_P)에 실린 제2 내부패러티(미도시)를 전달패러티(TP)로 전달할 수 있다. 제1 선택전달회로(321)는 리드스트로브신호(RD_S)에 응답하여 어드레스(ADD)가 제2 뱅크(20)를 선택하는 조합인 경우 제2 패러티라인(MIO2_P)에 실린 제2 내부패러티(미도시)를 전달패러티(TP)로 전달할 수 있다.
신드롬생성회로(322)는 인에이블신호(EN)에 응답하여 전달패러티(TP)로부터 전달데이터(TD)의 에러 비트 정보를 포함하는 신드롬(SYN)을 생성할 수 있다. 신드롬생성회로(322)는 전달데이터(TD) 및 전달패러티(TP)를 입력받아 전달데이터(TD)의 에러 비트 정보를 포함하는 신드롬(SYN)을 생성할 수 있다. 신드롬(SYN)은 오류정정코드(Error Correction Code, ECC) 방식을 사용하여 생성될 수 있다. 신드롬(SYN)의 비트 수는 전달데이터(TD)에 포함된 에러 비트 정보를 포함할 수 있는 다수의 비트로 생성될 수 있다.
데이터정정회로(323)는 인에이블신호(EN)에 응답하여 신드롬(SYN)으로부터 전달데이터(TD)의 에러 비트를 정정하여 정정데이터(DC)를 생성할 수 있다. 데이터정정회로(323)는 전달데이터(TD)의 에러가 발생하지 않는 경우 전달데이터(TD)를 정정데이터(DC)로 출력할 수 있다.
도 6을 참고하면 본 발명의 일 실시예에 따른 데이터병합회로(35)는 스위치회로(351), 제2 선택전달회로(352), 제1 병합데이터생성회로(353), 제2 병합데이터생성회로(354) 및 제3 선택전달회로(355)를 포함할 수 있다.
스위치회로(351)는 스위칭인에이블신호(SWEN)에 응답하여 정정데이터(DC)를 전달할 수 있다. 스위치회로(351)는 스위칭인에이블신호(SWEN)가 인에이블되는 경우 정정데이터(DC)를 전달할 수 있다. 스위치회로(351)는 스위칭인에이블신호(SWEN)가 디스에이블되는 경우 정정데이터(DC)의 입력을 차단할 수 있다.
제2 선택전달회로(352)는 제1 및 제2 카운팅신호(CNT<1:2>)에 응답하여 정정데이터(DC)를 제1 및 제2 정정데이터(IDC1,IDC2)로 전달할 수 있다. 제2 선택전달회로(352)는 제1 및 제2 카운팅신호(CNT<1:2>)에 응답하여 정정데이터(DC)를 제1 정정데이터(IDC1)로 전달한 이후 정정데이터(DC)를 제2 정정데이터(IDC2)로 전달할 수 있다. 제2 선택전달회로(352)는 제1 에러정정동작 시 정정데이터(DC)를 제1 정정데이터(IDC1)로 전달할 수 있다. 제2 선택전달회로(352)는 제2 에러정정동작 시 정정데이터(DC)를 제2 정정데이터(IDC2)로 전달할 수 있다. 제1 카운팅신호(CNT<1>)는 제1 에러정정동작 시 인에이블 될 수 있다. 제2 카운팅신호(CNT<2>)는 제2 에러정정동작 시 인에이블 될 수 있다.
제1 병합데이터생성회로(353)는 제1 레지스터(3531), 제1 병합회로(3532) 및 제1 패러티생성회로(3533)를 포함할 수 있다.
제1 레지스터(3531)는 제1 카운팅신호(CNT<1>)에 응답하여 제1 정정데이터(IDC1)를 저장할 수 있다. 제1 레지스터(3531)는 제1 카운팅신호(CNT<1>)에 응답하여 저장된 제1 정정데이터(IDC1)를 제1 저장데이터(SD1)로 출력할 수 있다. 제1 레지스터(3531)는 제1 에러정정동작 시 제1 정정데이터(IDC1)를 저장할 수 있다. 제1 레지스터(3531)는 제1 에러정정동작 시 저장된 제1 정정데이터(IDC1)를 제1 저장데이터(SD1)로 출력할 수 있다.
제1 병합회로(3532)는 인에이블신호(EN) 및 제1 카운팅신호(CNT<1>)에 응답하여 마스킹신호(DM)에 따라 제1 저장데이터(SD1)와 입력데이터(DIN)의 일부 비트를 병합하여 제1 병합데이터(MD1)를 생성할 수 있다. 제1 병합회로(3532)는 제1 에러정정동작 시 마스킹신호(DM)에 따라 제1 저장데이터(SD1)와 입력데이터(DIN)의 일부 비트를 병합하여 제1 병합데이터(MD1)를 생성할 수 있다.
제1 패러티생성회로(3533)는 제1 병합데이터(MD1)의 에러 정보를 포함하는 제1 패러티(P1)를 생성할 수 있다. 제1 패러티생성회로(3533)는 제1 병합데이터(MD1)에 포함된 비트들을 선택적으로 논리연산하여 제1 패러티(P1)를 생성할 수 있다. 제1 패러티(P1)는 오류정정코드(Error Correction Code, ECC) 방식을 사용하여 생성될 수 있다.
좀더 구체적으로 마스킹신호(DM)에 따라 제1 저장데이터(SD1)와 입력데이터(DIN)의 일부 비트를 병합하여 제1 병합데이터(MD1)를 생성하는 동작을 설명하되 제1 저장데이터(SD1<1:8>), 입력데이터(DIN<1:8>) 및 제1 병합데이터(MD1<1:8>)가 8비트인 경우를 예를 들어 설명하면 다음과 같다. 다만, 설명에 앞서 마스킹신호(DM<1:8>)는 8비트로 구현되어 제2 비트(DM<2>), 제4 비트(DM<4>) 및 제8 비트(DM<8>)에 대응하는 제1 입력데이터(DIN<1:8>)의 비트들을 마스킹하도록 생성된다.
제1 병합회로(3532)는 마스킹신호(DM<1:8>)에 따라 제1 병합데이터(MD1<1:8>)의 제1 비트(MD1<1>)는 입력데이터(DIN<1:8>)의 제1 비트(DIN<1>)로부터 생성되고, 제1 병합데이터(MD1<1:8>)의 제2 비트(MD1<2>)는 제1 저장데이터(SD1<1:8>)의 제2 비트(SD1<2>)로부터 생성되며, 제1 병합데이터(MD1<1:8>)의 제3 비트(MD1<3>)는 입력데이터(DIN<1:8>)의 제3 비트(DIN<3>)로부터 생성되고, 제1 병합데이터(MD1<1:8>)의 제4 비트(MD1<4>)는 제1 저장데이터(SD1<1:8>)의 제4 비트(SD1<4>)로부터 생성되며, 제1 병합데이터(MD1<1:8>)의 제5 비트(MD1<5>)는 입력데이터(DIN<1:8>)의 제5 비트(DIN<5>)로부터 생성되고, 제1 병합데이터(MD1<1:8>)의 제6 비트(MD1<6>)는 입력데이터(DIN<1:8>)의 제6 비트(DIN<6>)로부터 생성되며, 제1 병합데이터(MD1<1:8>)의 제7 비트(MD1<7>)는 입력데이터(DIN<1:8>)의 제7 비트(DIN<7>)로부터 생성되며, 제1 병합데이터(MD1<1:8>)의 제8 비트(MD1<3>)는 저장데이터(SD1<1:8>)의 제8 비트(SD1<8>)로부터 생성된다.
이와 같이 마스킹신호(DM<1:8>)의 제2 비트(DM<2>), 제4 비트(DM<4>) 및 제8 비트(DM<8>)에 대응하는 제1 병합데이터(MD1<1:8>)는 제1 저장데이터(SD1<1:8>)로부터 생성된다. 마스킹신호(DM<1:8>)의 제1 비트(DM<1>), 제3 비트(DM<3>), 제5 비트(DM<5>), 제6 비트(DM<6>) 및 제7 비트(DM<7>)에 대응하는 제1 병합데이터(MD1<1:8>)는 입력데이터(DIN<1:8>)로부터 생성된다.
제2 병합데이터생성회로(354)는 제2 레지스터(3541), 제2 병합회로(3542) 및 제2 패러티생성회로(3543)를 포함할 수 있다.
제2 레지스터(3541)는 제2 카운팅신호(CNT<2>)에 응답하여 제2 정정데이터(IDC2)를 저장할 수 있다. 제2 레지스터(3541)는 제2 카운팅신호(CNT<2>)에 응답하여 저장된 제2 정정데이터(IDC2)를 제2 저장데이터(SD2)로 출력할 수 있다. 제2 레지스터(3541)는 제2 에러정정동작 시 제2 정정데이터(IDC2)를 저장할 수 있다. 제2 레지스터(3541)는 제2 에러정정동작 시 저장된 제2 정정데이터(IDC2)를 제2 저장데이터(SD2)로 출력할 수 있다.
제2 병합회로(3542)는 인에이블신호(EN) 및 제2 카운팅신호(CNT<2>)에 응답하여 마스킹신호(DM)에 따라 제2 저장데이터(SD2)와 입력데이터(DIN)의 일부 비트를 병합하여 제2 병합데이터(MD2)를 생성할 수 있다. 제2 병합회로(3542)는 제3 에러정정동작 시 마스킹신호(DM)에 따라 제2 저장데이터(SD2)와 입력데이터(DIN)의 일부 비트를 병합하여 제2 병합데이터(MD2)를 생성할 수 있다.
제2 패러티생성회로(3543)는 제2 병합데이터(MD2)의 에러 정보를 포함하는 상기 제2 패러티(P2)를 생성할 수 있다. 제2 패러티생성회로(3543)는 제2 병합데이터(MD2)에 포함된 비트들을 선택적으로 논리연산하여 제2 패러티(P2)를 생성할 수 있다. 제2 패러티(P2)는 오류정정코드(Error Correction Code, ECC) 방식을 사용하여 생성될 수 있다.
한편, 제2 병합회로(3542)에서 제2 병합데이터(MD2)를 생성하는 동작은 앞서 설명한 제1 병합회로(3532)에서 제1 병합데이터(MD1)를 생성하는 동작과 동일하므로 구체적인 설명은 생략한다.
제3 선택전달회로(355)는 라이트스트로브신호(WT_S) 및 어드레스(ADD)에 응답하여 제1 및 제2 병합데이터(MD1,MD2)를 제1 데이터라인(MIO1_D) 또는 제2 데이터라인(MIO2_D)으로 전달할 수 있다. 제3 선택전달회로(355)는 라이트스트로브신호(WT_S)에 응답하여 어드레스(ADD)가 제1 뱅크(10)를 선택하기 위한 조합인 경우 제1 및 제2 병합데이터(MD1,MD2)를 제1 데이터라인(MIO1_D)으로 전달할 수 있다. 제3 선택전달회로(355)는 라이트스트로브신호(WT_S)에 응답하여 어드레스(ADD)가 제2 뱅크(20)를 선택하기 위한 조합인 경우 제1 및 제2 병합데이터(MD1,MD2)를 제2 데이터라인터(MIO2_D)로 전달할 수 있다. 제3 선택전달회로(355)는 라이트스트로브신호(WT_S) 및 어드레스(ADD)에 응답하여 제1 및 제2 패러티(P1,P2)를 제1 패러티라인(MIO1_P) 또는 제2 패러티라인(MIO2_P)으로 전달할 수 있다. 제3 선택전달회로(355)는 라이트스트로브신호(WT_S)에 응답하여 어드레스(ADD)가 제1 뱅크(10)를 선택하기 위한 조합인 경우 제1 및 제2 패러티(P1,P2)를 제1 패러티라인(MIO1_P)으로 전달할 수 있다. 제3 선택전달회로(355)는 라이트스트로브신호(WT_S)에 응답하여 어드레스(ADD)가 제2 뱅크(20)를 선택하기 위한 조합인 경우 제1 및 제2 패러티(P1,P2)를 제2 패러티라인(MIO2_P)으로 전달할 수 있다.
도 7을 참고하여 본 발명의 일 실시예에 따른 반도체시스템의 동작을 설명하되 제1 뱅크(10)에 대한 제1 에러정정동작 및 제2 에러정정동작이 연속적으로 수행되는 경우를 예를 들어 설명하면 다음과 같다.
T1 시점에 제1 반도체장치(1)는 커맨드(CMD), 어드레스(ADD), 마스킹신호(DM) 및 제1 데이터(DQ<1>)를 출력한다. 이때, 커맨드(CMD)는 에러정정동작을 위한 조합으로 출력된다. 어드레스(ADD)는 제1 뱅크(10)를 선택하기 위한 조합으로 출력된다. 마스킹신호(DM)는 제1 데이터(DQ<1>)에 포함된 일부 비트를 차단하기 위한 정보를 포함하여 출력된다.
제1 뱅크(10)의 메모리영역(14)은 커맨드(CMD) 및 어드레스(ADD)에 응답하여 제1 내부데이터(ID<1>)를 제1 로컬데이터라인(LIO1_D)으로 출력한다. 메모리영역(14)은 커맨드(CMD) 및 어드레스(ADD)에 응답하여 제1 내부패러티(IP<1>)를 제1 로컬패러티라인(LIO1_P)으로 출력한다.
T2 시점에 제1 뱅크(10)의 스트로브신호생성회로(11)는 커맨드(CMD), 어드레스(ADD) 및 마스킹신호(DM)에 응답하여 제1 에러정정동작 시 인에이블되는 리드스트로브신호(RD_S)를 생성한다.
T3 시점에 제1 뱅크(10)의 입출력센스앰프(12)는 리드스트로브신호(RD_S)에 응답하여 제1 로컬데이터라인(LIO1_D)에 실린 제1 내부데이터(ID<1>)를 제1 데이터라인(MIO1_D)으로 출력한다. 입출력센스앰프(12)는 리드스트로브신호(RD_S)에 응답하여 제1 로컬패러티라인(LIO1_P)에 실린 제1 내부패러티(IP<1>)를 제1 패러티라인(MIO1_P)으로 출력한다.
T4 시점에 데이터처리회로(30)의 인에이블신호생성회로(31)는 리드스트로브신호(RD_S) 및 제2 리드펄스(IRP)에 응답하여 로직하이레벨의 인에이블신호(EN) 및 로직하이레벨의 스위칭인에이블신호(SWEN)를 생성한다.
T5 시점에 데이터처리회로(30)의 에러정정회로(32)는 인에이블신호(EN)에 응답하여 제1 내부패러티(IP<1>)로부터 제1 내부데이터(ID<1>)의 에러를 정정하여 정정데이터로(DC)로 출력한다. 데이터입력회로(34)는 어드레스(ADD)에 응답하여 제1 데이터(DQ<1>)를 입력받아 입력데이터(DIN)를 생성한다. 데이터병합회로(35)는 스위칭인에이블신호(SWEN)에 응답하여 정정데이터(DC)를 입력받는다. 데이터병합회로(35)는 어드레스(ADD) 및 마스킹신호(DM)에 응답하여 정정데이터(DC)와 입력데이터(DIN)를 병합하여 제1 병합데이터(MD1) 및 제1 패러티(P1)를 생성한다.
T6 시점에 제1 반도체장치(1)는 커맨드(CMD), 어드레스(ADD), 마스킹신호(DM) 및 제1 데이터(DQ<1>)를 출력한다. 이때, 커맨드(CMD)는 에러정정동작을 위한 조합으로 출력된다. 어드레스(ADD)는 제1 뱅크(10)를 선택하기 위한 조합으로 출력된다. 마스킹신호(DM)는 제1 데이터(DQ<1>)에 포함된 일부 비트를 차단하기 위한 정보를 포함하여 출력된다.
제1 뱅크(10)의 메모리영역(14)은 커맨드(CMD) 및 어드레스(ADD)에 응답하여 제1 내부데이터(ID<1>)를 제1 로컬데이터라인(LIO1_D)으로 출력한다. 메모리영역(14)은 커맨드(CMD) 및 어드레스(ADD)에 응답하여 제1 내부패러티(IP<1>)를 제1 로컬패러티라인(LIO1_P)으로 출력한다.
T7 시점에 제1 뱅크(10)의 스트로브신호생성회로(11)는 커맨드(CMD), 어드레스(ADD) 및 마스킹신호(DM)에 응답하여 제2 에러정정동작 시 인에이블되는 리드스트로브신호(RD_S)를 생성한다.
T8 시점에 제1 뱅크(10)의 입출력센스앰프(12)는 리드스트로브신호(RD_S)에 응답하여 제1 로컬데이터라인(LIO1_D)에 실린 제1 내부데이터(ID<1>)를 제1 데이터라인(MIO1_D)으로 출력한다. 입출력센스앰프(12)는 리드스트로브신호(RD_S)에 응답하여 제1 로컬패러티라인(LIO1_P)에 실린 제1 내부패러티(IP<1>)를 제1 패러티라인(MIO1_P)으로 출력한다.
T9 시점에 데이터처리회로(30)의 인에이블신호생성회로(31)는 리드스트로브신호(RD_S) 및 제2 리드펄스(IRP)에 응답하여 로직하이레벨의 인에이블신호(EN) 및 로직하이레벨의 스위칭인에이블신호(SWEN)를 생성한다.
T10 시점에 데이터처리회로(30)의 에러정정회로(32)는 인에이블신호(EN)에 응답하여 제1 내부패러티(IP<1>)로부터 제1 내부데이터(ID<1>)의 에러를 정정하여 정정데이터로(DC)로 출력한다. 데이터입력회로(34)는 어드레스(ADD)에 응답하여 제1 데이터(DQ<1>)를 입력받아 입력데이터(DIN)를 생성한다. 데이터병합회로(35)는 스위칭인에이블신호(SWEN)에 응답하여 정정데이터(DC)를 입력받는다. 데이터병합회로(35)는 어드레스(ADD) 및 마스킹신호(DM)에 응답하여 정정데이터(DC)와 입력데이터(DIN)를 병합하여 제2 병합데이터(MD2) 및 제2 패러티(P2)를 생성한다.
T11 시점에 제1 반도체장치(1)는 커맨드(CMD), 어드레스(ADD), 마스킹신호(DM) 및 제1 데이터(DQ<1>)를 출력한다. 이때, 커맨드(CMD)는 에러정정동작을 위한 조합으로 출력된다. 어드레스(ADD)는 제1 뱅크(10)를 선택하기 위한 조합으로 출력된다. 마스킹신호(DM)는 제1 데이터(DQ<1>)에 포함된 일부 비트를 차단하기 위한 정보를 포함하여 출력된다.
T12 시점에 제1 뱅크(10)의 스트로브신호생성회로(11)는 커맨드(CMD), 어드레스(ADD) 및 마스킹신호(DM)에 응답하여 제1 에러정정동작 시 인에이블되는 라이트스트로브신호(WT_S)를 생성한다.
T13 시점에 데이터처리회로(30)의 데이터병합회로(35)는 어드레스(ADD) 및 라이트스트로브신호(WT_S)에 응답하여 제1 병합데이터(MD1)를 제1 데이터라인(MIO1_D)으로 출력한다. 데이터병합회로(35)는 어드레스(ADD) 및 라이트스트로브신호(WT_S)에 응답하여 제1 패러티(P1)를 제1 패러티라인(MIO1_P)으로 출력한다. 제1 뱅크(10)의 라이트드라이버(13)는 라이트스트로브신호(WT_S)에 응답하여 제1 데이터라인(MIO1_D)에 실린 제1 병합데이터(MD1)를 제1 로컬데이터라인(LIO1_D)으로 출력한다. 라이트드라이버(13)는 라이트스트로브신호(WT_S)에 응답하여 제1 패러티라인(MIO1_P)에 실린 제1 패러티(P1)를 제1 로컬패러티라인(LIO1_P)으로 출력한다. 메모리영역(14)은 커맨드(CMD) 및 어드레스(ADD)에 응답하여 제1 로컬데이터라인(LIO1_D)에 실린 제1 병합데이터(MD1)를 제1 내부데이터(ID<1>)로 저장한다. 메모리영역(14)은 커맨드(CMD) 및 어드레스(ADD)에 응답하여 제1 로컬패러티라인(LIO1_P)에 실린 제1 패러티(P1)를 제1 내부패러티(IP<1>)로 저장한다.
T14 시점에 제1 반도체장치(1)는 커맨드(CMD), 어드레스(ADD), 마스킹신호(DM) 및 제1 데이터(DQ<1>)를 출력한다. 이때, 커맨드(CMD)는 에러정정동작을 위한 조합으로 출력된다. 어드레스(ADD)는 제1 뱅크(10)를 선택하기 위한 조합으로 출력된다. 마스킹신호(DM)는 제1 데이터(DQ<1>)에 포함된 일부 비트를 차단하기 위한 정보를 포함하여 출력된다.
T15 시점에 제1 뱅크(10)의 스트로브신호생성회로(11)는 커맨드(CMD), 어드레스(ADD) 및 마스킹신호(DM)에 응답하여 제2 에러정정동작 시 인에이블되는 라이트스트로브신호(WT_S)를 생성한다.
T16 시점에 데이터처리회로(30)의 데이터병합회로(35)는 어드레스(ADD) 및 라이트스트로브신호(WT_S)에 응답하여 제2 병합데이터(MD2)를 제1 데이터라인(MIO1_D)으로 출력한다. 데이터병합회로(35)는 어드레스(ADD) 및 라이트스트로브신호(WT_S)에 응답하여 제2 패러티(P2)를 제1 패러티라인(MIO1_P)으로 출력한다. 제1 뱅크(10)의 라이트드라이버(13)는 라이트스트로브신호(WT_S)에 응답하여 제1 데이터라인(MIO1_D)에 실린 제2 병합데이터(MD2)를 제1 로컬데이터라인(LIO1_D)으로 출력한다. 라이트드라이버(13)는 라이트스트로브신호(WT_S)에 응답하여 제1 패러티라인(MIO1_P)에 실린 제2 패러티(P2)를 제1 로컬패러티라인(LIO1_P)으로 출력한다. 메모리영역(14)은 커맨드(CMD) 및 어드레스(ADD)에 응답하여 제1 로컬데이터라인(LIO1_D)에 실린 제2 병합데이터(MD2)를 제1 내부데이터(ID<1>)로 저장한다. 메모리영역(14)은 커맨드(CMD) 및 어드레스(ADD)에 응답하여 제1 로컬패러티라인(LIO1_P)에 실린 제2 패러티(P2)를 제1 내부패러티(IP<1>)로 저장한다.
한편, 도 7의 T11 시점에 입력된 커맨드(CMD)에 따라 생성되는 리드스트로브신호(RD_S)에 응답하여 제1 내부데이터(ID<1>)를 제1 데이터라인(MIO1_D)으로 출력하는 동작과 제1 내부패러티(IP<1>)를 제1 패러티라인(MIO1_P)으로 출력하는 동작은 앞서 설명한 T1 ~ T5 시점까의 동작과 동일하게 수행될 수 있다. 이와 같은 리드동작은 T16 시점 이후에 동작할 수 있다.
또한, 도 7의 T14 시점에 입력된 커맨드(CMD)에 따라 생성되는 리드스트로브신호(RD_S)에 응답하여 제1 내부데이터(ID<1>)를 제1 데이터라인(MIO1_D)으로 출력하는 동작과 제1 내부패러티(IP<1>)를 제1 패러티라인(MIO1_P)으로 출력하는 동작은 앞서 설명한 T6 ~ T10 시점까의 동작과 동일하게 수행될 수 있다. 이와 같은 리드동작은 T16 시점 이후에 동작할 수 있다.
따라서, 리드동작 시 제1 데이터라인(MIO1_D)에 실리는 제1 내부데이터(ID<1>)와 라이트동작 시 제1 데이터라인(MIO1_D)에 실리는 제1 병합데이터(MD1)의 충돌을 방지할 수 있다.
이와 같은 본 발명의 일 실시예에 따른 반도체시스템은 연속되는 에러정정동작 시 내부데이터의 에러를 정정하여 저장하는 별도의 레지스터를 구비하고, 정정된 내부데이터와 데이터를 병합하는 동작 중 또 다른 내부데이터의 에러를 정정하여 레지스터에 저장함으로써 공유되는 데이터라인 및 패러티라인을 통해 연속적으로 데이터 및 패러티를 입출력할 수 있다. 또한, 본 발명의 일 실시예에 따른 반도체시스템은 연속되는 에러정정동작 시 공유되는 데이터라인 및 패러티라인을 통해 연속적으로 데이터 및 패러티를 입출력함으로써 에러정정동작과 데이터병합동작의 신뢰성을 확보할 수 있다.
앞서, 도 1 내지 도 7에서 살펴본 반도체장치 및 반도체시스템은 메모리시스템, 그래픽시스템, 컴퓨팅시스템 및 모바일시스템 등을 포함하는 전자시스템에 적용될 수 있다. 예를 들어, 도 8을 참고하면 본 발명의 일 실시예에 따른 전자시스템(1000)은 데이터저장부(1001), 메모리컨트롤러(1002), 버퍼메모리(1003) 및 입출력인터페이스(1004)를 포함할 수 있다.
데이터저장부(1001)는 메모리컨트롤러(1002)로부터의 제어신호에 따라 메모리컨트롤러(1002)로부터 인가되는 데이터를 저장하고 저장된 데이터를 판독하여 메모리컨트롤러(1002)에 출력한다. 데이터저장부(1001)는 도 1에 도시된 제2 반도체장치(2)를 포함할 수 있다. 한편, 데이터저장부(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 반도체장치(1)를 포함할 수 있다. 도 8에서는 메모리컨트롤러(1002)가 하나의 블록으로 표시되었으나, 메모리컨트롤러(1002)는 비휘발성 메모리를 제어하기 위한 컨트롤러와 휘발성 메모리인 버퍼메모리(1003)를 제어하기 위한 컨트롤러가 독립적으로 구성될 수 있다.
버퍼메모리(1003)는 메모리컨트롤러(1002)에서 처리할 데이터 즉 데이터저장부(1001)에 입출력되는 데이터를 임시적으로 저장할 수 있다. 버퍼메모리(1003)는 제어신호에 따라 메모리컨트롤러(1002)에서 인가되는 데이터를 저장할 수 있다. 버퍼메모리(1003)는 저장된 데이터를 판독하여 메모리컨트롤러(1002)에 출력한다. 버퍼메모리(1003)는 DRAM(Dynamic Random Access Memory), Mobile DRAM, SRAM(Static Random Access Memory) 등의 휘발성 메모리를 포함할 수 있다.
입출력인터페이스(1004)는 메모리컨트롤러(1002)와 외부기기(호스트) 사이의 물리적 연결을 제공하여 메모리컨트롤러(1002)가 외부기기로부터 데이터 입출력을 위한 제어신호를 수신하고 외부기기와 데이터를 교환할 수 있도록 해준다. 입출력인터페이스(1004)는 USB, MC, 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; MC), 내장 멀티 미디어 카드(Embedded MC; eMC), 컴팩트 플래시 카드(Compact Flash; CF) 등을 포함할 수 있다.
도 9를 참고하면 본 발명의 다른 실시예에 따른 전자시스템(2000)은 호스트(2001), 메모리컨트롤러(2002) 및 데이터저장부(2003)를 포함할 수 있다.
호스트(2001)는 데이터저장부(2003)를 억세스 하기 위해 메모리컨트롤러(2002)로 리퀘스트 및 데이터를 전송할 수 있다. 메모리컨트롤러(2002)는 리퀘스트에 응답하여 데이터, 데이터 스트로브, 커맨드, 어드레스 및 클럭 등을 데이터저장부(2003)에 제공하고, 이에 응답하여 데이터저장부(2003)는 라이트 또는 리드 동작을 수행하게 할 수 있다. 호스트(2001)는 데이터저장부(2003)로 데이터를 저장시키기 위해 데이터를 메모리컨트롤러(2002)로 전송할 수 있다. 또한 호스트는 데이터저장부(2003)로부터 출력된 데이터를 메모리컨트롤러(2002)를 통해 수신할 수 있다. 호스트(2001)는 오류정정코드(Error Correction Code, ECC) 방식을 사용하여 데이터에 포함된 에러를 정정하는 회로를 포함할 수 있다.
메모리컨트롤러(2002)는 호스트(2001)와 데이터저장부(2003) 사이의 통신을 중계할 수 있다. 메모리컨트롤러(2002)는 호스트(2001)로부터 리퀘스트와 데이터를 수신하고, 데이터저장부(2003)의 동작을 제어하기 위하여 데이터, 데이터 스트로브, 커맨드, 어드레스 및 클럭 등을 생성하여 데이터저장부(2003)로 제공할 수 있다. 또한, 메모리컨트롤러(2002)는 데이터저장부(2003)로부터 출력된 데이터를 호스트(2001)로 제공할 수 있다.
데이터저장부(2003)는 다수의 메모리들을 포함할 수 있다. 데이터저장부(2003)는 메모리컨트롤러(2002)로부터 데이터, 데이터 스트로브, 커맨드, 어드레스 및 클럭 등을 수신하여 라이트 또는 리드 동작을 수행할 수 있다. 데이터저장부(2003)에 포함된 다수의 메모리들은 오류정정코드(Error Correction Code, ECC) 방식을 사용하여 데이터에 포함된 에러를 정정하는 회로를 포함할 수 있다.
호스트(2001)에 포함된 에러를 정정하는 회로 및 데이터저장부(2003) 내부의 다수의 메모리들에 포함된 에러를 정정하는 회로는 실시예에 따라서 모두 동작하거나 선택적으로 동작하도록 구현될 수 있다. 호스트(2001) 및 메모리컨트롤러(2002)는 실시예에 따라서 동일한 칩으로 구현될 수 있다. 메모리컨트롤러(2002) 및 데이터저장부(2003)는 실시예에 따라서 동일한 칩으로 구현될 수 있다.
1. 제1 반도체장치 2. 제2 반도체장치
10. 제1 뱅크 11. 스트로브신호생성회로
12. 입출력센스앰프 13. 라이트드라이버
14. 메모리영역 20. 제2 뱅크
30. 데이터처리회로 31. 인에이블신호생성회로
32. 에러정정회로 33. 데이터출력회로
34. 데이터입력회로 35. 데이터병합회로
110. 버퍼회로 111. 제1 버퍼
112. 제2 버퍼 112. 제3 버퍼
120. 모드설정회로 130. 커맨드디코더
140. 제어회로 141. 라이트제어회로
142. 리드제어회로 150. 스트로브신호출력회로
321. 제1 선택전달회로 322. 신드롬생성회로
323. 데이터정정회로 351. 스위치회로
352. 제2 선택전달회로 353. 제1 병합데이터생성회로
354. 제2 병합데이터생성회로 355. 제3 선택전달회로
3531. 제1 레지스터 3532. 제1 병합회로
3533. 제1 패러티생성회로 3541. 제2 레지스터
3542. 제2 병합회로 3543. 제2 패러티생성회로

Claims (20)

  1. 커맨드, 어드레스 및 마스킹신호를 출력하고, 데이터를 입출력하는 제1 반도체장치; 및
    제1 및 제2 레지스터를 포함하는 제2 반도체장치를 포함하되,
    상기 커맨드 및 상기 어드레스에 응답하여 제1 에러정정동작 시 출력되는 내부데이터의 에러를 정정하여 생성되는 제1 정정데이터를 상기 제1 레지스터에 저장하고, 제2 에러정정동작 시 출력되는 상기 내부데이터의 에러를 정정하여 생성되는 제2 정정데이터를 상기 제2 레지스터에 저장하는 반도체시스템.
  2. 제 1 항에 있어서, 상기 제2 반도체장치는 상기 제2 에러정정동작 시 상기 마스킹신호에 응답하여 상기 제1 정정데이터와 상기 데이터를 병합하여 상기 내부데이터로 저장하는 반도체시스템.
  3. 제 1 항에 있어서, 상기 제2 반도체장치는
    상기 커맨드 및 상기 어드레스에 응답하여 상기 내부데이터를 출력하고, 상기 내부데이터의 불량정보를 포함하는 내부패러티를 출력하며, 상기 내부데이터 및 상기 내부패러티를 저장하는 뱅크; 및
    상기 제1 에러정정동작 시 상기 내부패러티로부터 상기 내부데이터의 에러를 정정하여 상기 제1 정정데이터를 생성하고, 상기 제2 에러정정동작 시 상기 제1 정정데이터와 상기 데이터를 병합하여 병합데이터를 생성하며, 상기 제2 에러정정동작 시 상기 내부패러티로부터 상기 내부데이터의 에러를 정정하여 상기 제2 정정데이터를 생성하는 데이터처리회로를 포함하는 반도체시스템.
  4. 제 3 항에 있어서, 상기 뱅크는
    상기 커맨드 및 상기 어드레스 및 상기 마스킹신호에 응답하여 상기 제1 및 제2 에러정정동작 시 순차적으로 인에이블되는 리드스트로브신호 및 라이트스트로브신호를 생성하는 스트로브신호생성회로;
    상기 리드스트로브신호에 응답하여 로컬데이터라인에 실린 상기 내부데이터를 데이터라인으로 출력하고, 로컬패러티라인에 실린 상기 내부패러티를 패러티라인으로 출력하는 입출력센스앰프;
    상기 라이트스트로브신호에 응답하여 상기 데이터라인에 실린 상기 병합데이터를 상기 로컬데이터라인으로 출력하고, 상기 패러티라인에 실린 패러티를 상기 로컬패러티라인으로 출력하는 라이트드라이버; 및
    상기 커맨드 및 상기 어드레스에 응답하여 리드동작 시 상기 내부데이터를 상기 로컬데이터라인으로 출력하고, 상기 내부패러티를 상기 로컬패러티라인으로 출력하며, 상기 커맨드 및 상기 어드레스에 응답하여 라이트동작 시 상기 로컬데이터라인에 실린 상기 병합데이터를 상기 내부데이터로 저장하고, 상기 로컬패러티라인에 실린 상기 패러티를 상기 내부패러티로 저장하는 메모리영역을 포함하는 반도체시스템.
  5. 제 4 항에 있어서, 상기 스트로브신호생성회로는
    상기 커맨드, 상기 어드레스 및 상기 마스킹신호를 버퍼링하여 내부커맨드, 내부어드레스 및 내부마스킹신호를 생성하는 버퍼회로;
    상기 내부커맨드에 응답하여 상기 내부어드레스에 의해 설정되는 지연량으로 모드라이트신호 및 모드리드신호를 생성하는 모드설정회로;
    상기 내부마스킹신호에 응답하여 상기 내부커맨드를 디코딩하여 커맨드라이트신호 및 커맨드리드신호를 생성하고, 상기 내부마스킹신호에 응답하여 인에이블되는 커맨드선택신호를 생성하는 커맨드디코더;
    상기 모드라이트신호 및 상기 모드리드신호에 응답하여 생성되는 제1 라이트펄스 및 제1 리드펄스를 생성하고, 상기 커맨드라이트신호 및 상기 커맨드리드신호에 응답하여 생성되는 제2 라이트펄스 및 제2 리드펄스를 생성하는 제어회로; 및
    상기 커맨드선택신호에 응답하여 상기 제1 라이트펄스 및 상기 제2 라이트펄스 중 어느 하나를 상기 라이트스트로브신호로 출력하고, 상기 커맨드선택신호에 응답하여 상기 제1 리드펄스 및 상기 제2 리드펄스 중 어느 하나를 상기 리드스트로브신호로 출력하는 스트로브신호출력회로를 포함하는 반도체시스템.
  6. 제 5 항에 있어서, 상기 제어회로는
    상기 모드라이트신호에 응답하여 발생하는 펄스를 포함하는 상기 제1 라이트펄스를 생성하고, 상기 커맨드라이트신호에 응답하여 발생하는 펄스를 포함하는 상기 제2 라이트펄스를 생성하는 라이트제어회로; 및
    상기 모드리드신호에 응답하여 발생하는 펄스를 포함하는 상기 제1 리드펄스를 생성하고, 상기 커맨드리드신호에 응답하여 발생하는 펄스를 포함하는 상기 제2 리드펄스를 생성하는 리드제어회로를 포함하는 반도체시스템.
  7. 제 3 항에 있어서, 상기 데이터처리회로는
    리드스트로브신호 및 리드펄스에 응답하여 인에이블되는 인에이블신호 및 스위칭인에이블신호를 생성하는 인에이블신호생성회로;
    상기 인에이블신호에 응답하여 상기 내부패러티로부터 상기 내부데이터의 에러를 정정하여 정정데이터로 출력하는 에러정정회로;
    상기 어드레스에 응답하여 상기 정정데이터를 상기 데이터로 출력하는 데이터출력회로;
    상기 어드레스에 응답하여 상기 데이터를 입력받아 입력데이터를 생성하는 데이터입력회로; 및
    상기 스위칭인에이블신호에 응답하여 상기 정정데이터를 입력받고, 상기 어드레스 및 상기 마스킹신호에 응답하여 상기 정정데이터와 상기 입력데이터를 병합하여 상기 병합데이터 및 패러티로 출력하는 데이터병합회로를 포함하는 반도체시스템.
  8. 제 7 항에 있어서, 상기 에러정정회로는
    상기 리드스트로브신호 및 상기 어드레스에 응답하여 상기 데이터라인 및 상기 패러티라인에 실린 상기 내부데이터 및 상기 내부패러티를 전달데이터 및 전달패러티로 전달하는 제1 선택전달회로;
    상기 인에이블신호에 응답하여 상기 전달패러티로부터 상기 전달데이터의 에러 비트를 정보를 포함하는 신드롬을 생성하는 신드롬생성회로; 및
    상기 인에이블신호에 응답하여 상기 신드롬으로부터 상기 전달데이터의 에러 비트를 정정하여 상기 정정데이터를 생성하는 데이터정정회로를 포함하는 반도체시스템.
  9. 제 7 항에 있어서, 상기 데이터병합회로는
    상기 스위칭인에이블신호에 응답하여 상기 정정데이터를 전달하는 스위치회로;
    제1 및 제2 카운팅신호에 응답하여 상기 정정데이터를 상기 제1 정정데이터로 전달한 이후 상기 정정데이터를 상기 제2 정정데이터로 전달하는 제2 선택전달회로;
    상기 제1 카운팅신호에 응답하여 상기 마스킹신호에 따라 상기 제1 정정데이터와 상기 입력데이터를 병합하여 제1 병합데이터를 생성하고, 상기 제1 병합데이터로부터 제1 패러티를 생성하는 제1 병합데이터생성회로;
    상기 제2 카운팅신호에 응답하여 상기 마스킹신호에 따라 상기 제2 정정데이터와 상기 입력데이터를 병합하여 제2 병합데이터를 생성하고, 상기 제2 병합데이터로부터 제2 패러티를 생성하는 제2 병합데이터생성회로; 및
    라이트스트로브신호 및 상기 어드레스에 응답하여 상기 제1 및 제2 병합데이터를 상기 데이터라인으로 출력하고, 상기 제1 및 제2 패러티를 상기 패러티라인으로 출력하는 제3 선택전달회로를 포함하는 반도체시스템.
  10. 제 9 항에 있어서, 상기 제1 병합데이터생성회로는
    상기 제1 카운팅신호에 응답하여 상기 제1 정정데이터를 저장하고 상기 제1 정정데이터를 제1 저장데이터로 출력하는 상기 제1 레지스터;
    상기 인에이블신호 및 상기 제1 카운팅신호에 응답하여 상기 마스킹신호에 따라 상기 제1 저장데이터와 상기 입력데이터의 일부 비트를 병합하여 상기 제1 병합데이터를 생성하는 제1 병합회로; 및
    상기 제1 병합데이터의 에러 정보를 포함하는 상기 제1 패러티를 생성하는 제1 패러티생성회로를 포함하는 반도체시스템.
  11. 제 9 항에 있어서, 상기 제2 병합데이터생성회로는
    상기 제2 카운팅신호에 응답하여 상기 제2 정정데이터를 저장하고 상기 제2 정정데이터를 제2 저장데이터로 출력하는 상기 제2 레지스터;
    상기 인에이블신호 및 상기 제2 카운팅신호에 응답하여 상기 마스킹신호에 따라 상기 제2 저장데이터와 상기 입력데이터의 일부 비트를 병합하여 상기 제2 병합데이터를 생성하는 제2 병합회로; 및
    상기 제2 병합데이터의 에러 정보를 포함하는 상기 제2 패러티를 생성하는 제2 패러티생성회로를 포함하는 반도체시스템.
  12. 커맨드 및 어드레스에 응답하여 제1 내부데이터 및 제1 내부패러티를 출력하고, 상기 제1 내부데이터 및 상기 제1 내부패러티를 저장하는 제1 뱅크;
    상기 커맨드 및 상기 어드레스에 응답하여 제2 내부데이터 및 제2 내부패러티를 출력하고, 상기 제2 내부데이터 및 상기 제2 내부패러티를 저장하는 제2 뱅크; 및
    제1 에러정정동작 시 상기 제1 내부패러티로부터 상기 제1 내부데이터의 에러를 정정하여 제1 정정데이터를 생성하거나, 상기 제2 내부패러티로부터 상기 제2 내부데이터의 에러를 정정하여 상기 제1 정정데이터를 생성하고, 상기 제2 에러정정동작 시 상기 제1 내부패러티로부터 상기 제1 내부데이터의 에러를 정정하여 제2 정정데이터를 생성하거나, 상기 제2 내부패러티로부터 상기 제2 내부데이터의 에러를 정정하여 상기 제2 정정데이터를 생성하는 데이터처리회로를 포함하는 반도체장치.
  13. 제 12 항에 있어서, 상기 데이터처리회로는 상기 제2 에러정정동작 시 마스킹신호에 응답하여 상기 제1 정정데이터와 데이터를 병합하는 반도체장치.
  14. 제 12 항에 있어서, 상기 제1 뱅크는
    상기 커맨드 및 상기 어드레스 및 마스킹신호에 응답하여 상기 제1 및 제2 에러정정동작 시 순차적으로 인에이블되는 제1 리드스트로브신호 및 제1 라이트스트로브신호를 생성하는 제1 스트로브신호생성회로;
    상기 제1 리드스트로브신호에 응답하여 제1 로컬데이터라인에 실린 상기 제1 내부데이터를 제1 데이터라인으로 출력하고, 제1 로컬패러티라인에 실린 상기 제1 내부패러티를 제1 패러티라인으로 출력하는 제1 입출력센스앰프;
    상기 제1 라이트스트로브신호에 응답하여 상기 제1 데이터라인에 실린 제1 병합데이터를 상기 제1 로컬데이터라인으로 출력하고, 상기 제1 패러티라인에 실린 제1 패러티를 상기 제1 로컬패러티라인으로 출력하는 제1 라이트드라이버; 및
    상기 커맨드 및 상기 어드레스에 응답하여 리드동작 시 상기 제1 내부데이터를 상기 제1 로컬데이터라인으로 출력하고, 상기 제1 내부패러티를 상기 제1 로컬패러티라인으로 출력하며, 상기 커맨드 및 상기 어드레스에 응답하여 라이트동작 시 상기 제1 로컬데이터라인에 실린 상기 제1 전달데이터를 상기 제1 내부데이터로 저장하고, 상기 제1 로컬패러티라인에 실린 상기 제1 패러티를 상기 제1 내부패러티로 저장하는 제1 메모리영역을 포함하는 반도체장치.
  15. 제 12 항에 있어서, 상기 제2 뱅크는
    상기 커맨드 및 상기 어드레스 및 마스킹신호에 응답하여 상기 제1 및 제2 에러정정동작 시 순차적으로 인에이블되는 제2 리드스트로브신호 및 제2 라이트스트로브신호를 생성하는 제2 스트로브신호생성회로;
    상기 제2 리드스트로브신호에 응답하여 제2 로컬데이터라인에 실린 상기 제2 내부데이터를 제2 데이터라인으로 출력하고, 제2 로컬패러티라인에 실린 상기 제2 내부패러티를 제2 패러티라인으로 출력하는 제2 입출력센스앰프;
    상기 제2 라이트스트로브신호에 응답하여 상기 제2 데이터라인에 실린 제2 병합데이터를 상기 제2 로컬데이터라인으로 출력하고, 상기 제2 패러티라인에 실린 제2 패러티를 상기 제2 로컬패러티라인으로 출력하는 제2 라이트드라이버; 및
    상기 커맨드 및 상기 어드레스에 응답하여 리드동작 시 상기 제2 내부데이터를 상기 제2 로컬데이터라인으로 출력하고, 상기 제2 내부패러티를 상기 제2 로컬패러티라인으로 출력하며, 상기 커맨드 및 상기 어드레스에 응답하여 라이트동작 시 상기 제2 로컬데이터라인에 실린 상기 제2 전달데이터를 상기 제2 내부데이터로 저장하고, 상기 제2 로컬패러티라인에 실린 상기 제2 패러티를 상기 제2 내부패러티로 저장하는 제2 메모리영역을 포함하는 반도체장치.
  16. 제 12 항에 있어서, 상기 데이터처리회로는
    제1 및 제2 리드스트로브신호 및 제1 및 제2 리드펄스에 응답하여 인에이블되는 인에이블신호 및 스위칭인에이블신호를 생성하는 인에이블신호생성회로;
    상기 인에이블신호에 응답하여 상기 제1 내부패러티로부터 상기 제1 내부데이터의 에러를 정정하여 정정데이터로 출력하거나, 상기 제2 내부패러티로부터 상기 제2 내부데이터의 에러를 정정하여 상기 정정데이터로 출력하는 에러정정회로;
    상기 어드레스에 응답하여 상기 정정데이터를 제1 데이터 또는 상기 제2 데이터로 출력하는 데이터출력회로;
    상기 어드레스에 응답하여 상기 제1 데이터 또는 상기 제2 데이터를 입력받아 입력데이터를 생성하는 데이터입력회로; 및
    상기 스위칭인에이블신호에 응답하여 상기 정정데이터를 입력받고, 상기 어드레스 및 상기 마스킹신호에 응답하여 상기 정정데이터와 상기 입력데이터를 병합하여 상기 제1 병합데이터 및 상기 제1 패러티로 출력하거나, 상기 제2 병합데이터 및 상기 제2 패러티로 출력하는 데이터병합회로를 포함하는 반도체장치.
  17. 제 16 항에 있어서, 상기 에러정정회로는
    상기 리드스트로브신호 및 상기 어드레스에 응답하여 상기 제1 데이터라인 및 상기 제1 패러티라인에 실린 상기 제1 내부데이터 및 상기 제1 내부패러티를 전달데이터 및 전달패러티로 전달하거나, 상기 제2 데이터라인 및 상기 제2 패러티라인에 실린 상기 제2 내부데이터 및 상기 제2 내부패러티를 상기 전달데이터 및 상기 전달패러티로 전달하는 제1 선택전달회로;
    상기 인에이블신호에 응답하여 상기 전달패러티로부터 상기 전달데이터의 에러 비트를 정보를 포함하는 신드롬을 생성하는 신드롬생성회로; 및
    상기 인에이블신호에 응답하여 상기 신드롬으로부터 상기 전달데이터의 에러 비트를 정정하여 상기 정정데이터를 생성하는 데이터정정회로를 포함하는 반도체장치.
  18. 제 16 항에 있어서, 상기 데이터병합회로는
    상기 스위칭인에이블신호에 응답하여 상기 정정데이터를 전달하는 스위치회로;
    제1 및 제2 카운팅신호에 응답하여 상기 정정데이터를 상기 제1 정정데이터로 전달한 이후 상기 정정데이터를 상기 제2 정정데이터로 전달하는 제2 선택전달회로;
    상기 제1 카운팅신호에 응답하여 상기 마스킹신호에 따라 상기 제1 정정데이터와 상기 입력데이터를 병합하여 제1 병합데이터를 생성하고, 상기 제1 병합데이터로부터 제1 패러티를 생성하는 제1 병합데이터생성회로;
    상기 제2 카운팅신호에 응답하여 상기 마스킹신호에 따라 상기 제2 정정데이터와 상기 입력데이터를 병합하여 제2 병합데이터를 생성하고, 상기 제2 병합데이터로부터 제2 패러티를 생성하는 제2 병합데이터생성회로; 및
    라이트스트로브신호 및 상기 어드레스에 응답하여 상기 제1 및 제2 병합데이터를 상기 제1 데이터라인터로 전달하거나 상기 제1 및 제2 병합데이터를 제2 데이터라인으로로 전달하고, 상기 제1 및 제2 패러티를 상기 제1 패러티라인으로 전달하거나 상기 제1 및 제2 패러티를 상기 제2 패러티라인으로 전달하는 제3 선택전달회로를 포함하는 반도체장치.
  19. 제 18 항에 있어서, 상기 제1 병합데이터생성회로는
    상기 제1 카운팅신호에 응답하여 상기 제1 정정데이터를 저장하고 상기 제1 정정데이터를 제1 저장데이터로 출력하는 상기 제1 레지스터;
    상기 인에이블신호 및 상기 제1 카운팅신호에 응답하여 상기 마스킹신호에 따라 상기 제1 저장데이터와 상기 입력데이터의 일부 비트를 병합하여 상기 제1 병합데이터를 생성하는 제1 병합회로; 및
    상기 제1 병합데이터의 에러 정보를 포함하는 상기 제1 패러티를 생성하는 제1 패러티생성회로를 포함하는 반도체장치.
  20. 제 18 항에 있어서, 상기 제2 병합데이터생성회로는
    상기 제2 카운팅신호에 응답하여 상기 제2 정정데이터를 저장하고 상기 제2 정정데이터를 제2 저장데이터로 출력하는 상기 제2 레지스터;
    상기 인에이블신호 및 상기 제2 카운팅신호에 응답하여 상기 마스킹신호에 따라 상기 제2 저장데이터와 상기 입력데이터의 일부 비트를 병합하여 상기 제2 병합데이터를 생성하는 제2 병합회로; 및
    상기 제2 병합데이터의 에러 정보를 포함하는 상기 제2 패러티를 생성하는 제2 패러티생성회로를 포함하는 반도체장치.
KR1020160118413A 2016-09-13 2016-09-13 반도체장치 및 반도체시스템 KR102638790B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160118413A KR102638790B1 (ko) 2016-09-13 2016-09-13 반도체장치 및 반도체시스템
US15/480,798 US10388401B2 (en) 2016-09-13 2017-04-06 Semiconductor device, semiconductor system, and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160118413A KR102638790B1 (ko) 2016-09-13 2016-09-13 반도체장치 및 반도체시스템

Publications (2)

Publication Number Publication Date
KR20180029803A true KR20180029803A (ko) 2018-03-21
KR102638790B1 KR102638790B1 (ko) 2024-02-21

Family

ID=61560384

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160118413A KR102638790B1 (ko) 2016-09-13 2016-09-13 반도체장치 및 반도체시스템

Country Status (2)

Country Link
US (1) US10388401B2 (ko)
KR (1) KR102638790B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170140931A (ko) * 2016-06-14 2017-12-22 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
KR20190054533A (ko) * 2017-11-14 2019-05-22 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
KR102580944B1 (ko) * 2018-04-20 2023-09-20 삼성전자주식회사 에러 정정 기능을 갖는 메모리 장치와 그 동작 방법
JP7368084B2 (ja) * 2018-12-10 2023-10-24 株式会社Preferred Networks 半導体装置および半導体装置のデータ転送方法
US11824009B2 (en) * 2018-12-10 2023-11-21 Preferred Networks, Inc. Semiconductor device and data transferring method for semiconductor device
US11023173B2 (en) * 2019-09-03 2021-06-01 Micron Technology, Inc. Apparatuses and methods to mask write operations for a mode of operation using ECC circuitry
CN111104246B (zh) * 2019-11-25 2023-08-29 深圳忆联信息系统有限公司 提升dram的错误检测与纠错的验证效率的方法、装置、计算机设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3814921A (en) * 1972-11-15 1974-06-04 Honeywell Inf Systems Apparatus and method for a memory partial-write of error correcting encoded data
US7945840B2 (en) 2007-02-12 2011-05-17 Micron Technology, Inc. Memory array error correction apparatus, systems, and methods
KR102133233B1 (ko) 2013-05-06 2020-07-13 삼성전자주식회사 반도체 메모리 장치 및 메모리 시스템
US8874835B1 (en) * 2014-01-16 2014-10-28 Pure Storage, Inc. Data placement based on data properties in a tiered storage device system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
US10388401B2 (en) 2019-08-20
KR102638790B1 (ko) 2024-02-21
US20180074895A1 (en) 2018-03-15

Similar Documents

Publication Publication Date Title
KR102393427B1 (ko) 반도체장치 및 반도체시스템
KR102638790B1 (ko) 반도체장치 및 반도체시스템
US20180052732A1 (en) Semiconductor device and semiconductor system
US10572341B2 (en) Semiconductor devices
TWI729239B (zh) 半導體裝置
US10319462B2 (en) Semiconductor device and semiconductor system
US10162703B2 (en) Methods of correcting data errors and semiconductor devices used therein
KR20180119072A (ko) 반도체장치
US10964406B2 (en) Methods of scrubbing errors and semiconductor modules using the same
KR20180106495A (ko) 반도체장치
US10261860B2 (en) Semiconductor systems
US10153028B2 (en) Semiconductor devices
KR102563162B1 (ko) 집적회로
KR20190072144A (ko) 에러정정방법 및 이를 이용한 반도체장치
KR20190043043A (ko) 전자장치
KR20170130684A (ko) 반도체장치
US10181863B2 (en) Semiconductor devices and semiconductor systems
KR20180055148A (ko) 반도체장치 및 반도체시스템
KR20180027655A (ko) 테스트방법 및 이를 이용한 반도체시스템
US10290333B2 (en) Semiconductor device
KR20180086817A (ko) 반도체장치
US11599413B2 (en) Electronic system including error calculation circuit for performing error correction operation
KR102504176B1 (ko) 반도체장치
KR20170096079A (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