KR20220021695A - 에러정정동작을 수행하기 위한 전자시스템 - Google Patents

에러정정동작을 수행하기 위한 전자시스템 Download PDF

Info

Publication number
KR20220021695A
KR20220021695A KR1020200102582A KR20200102582A KR20220021695A KR 20220021695 A KR20220021695 A KR 20220021695A KR 1020200102582 A KR1020200102582 A KR 1020200102582A KR 20200102582 A KR20200102582 A KR 20200102582A KR 20220021695 A KR20220021695 A KR 20220021695A
Authority
KR
South Korea
Prior art keywords
signal
data
during
circuit
error
Prior art date
Application number
KR1020200102582A
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 KR1020200102582A priority Critical patent/KR20220021695A/ko
Priority to US17/152,378 priority patent/US11599413B2/en
Publication of KR20220021695A publication Critical patent/KR20220021695A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • 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
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

전자시스템은 클럭, 커맨드 및 어드레스를 출력하고, 데이터를 입출력하는 컨트롤러 및 에러연산회로를 포함하고, 상기 커맨드에 의해 라이트동작 시 상기 에러연산회로에서 상기 데이터로부터 생성되는 전달데이터에 포함된 에러정보를 포함하는 패러티를 생성하며, 상기 커맨드에 의해 리드동작 시 상기 에러연산회로에서 내부데이터로부터 생성되는 상기 전달데이터에 포함된 에러정보를 포함하는 신드롬을 생성하는 반도체장치를 포함한다.

Description

에러정정동작을 수행하기 위한 전자시스템{ELECTRONIC SYSTEM FOR EXECUTING ERROR CORRECTION OPEARTION}
본 발명은 라이트동작 및 리드동작 시 데이터의 에러를 정정하기 위한 에러연산회로를 공유하는 전자시스템에 관한 것이다.
최근 반도체장치의 동작속도를 증가시키기 위해 클럭 사이클(cycle)마다 4비트, 8비트, 16비트, 32비트 등의 다수 비트를 포함하는 데이터를 입/출력하는 DDR2, DDR3, DDR4 방식 등이 사용되고 있다. 데이터의 입/출력 속도가 빨라지는 경우 데이터가 전송되는 과정 중 발생되는 오류의 발생 확률도 증가 되므로, 데이터 전송의 신뢰성을 보장하기 위한 별도의 장치와 방법이 추가적으로 요구되고 있다.
데이터 전송시마다 오류 발생 여부를 확인할 수 있는 오류코드를 생성하여 데이터와 함께 전송함으로써, 데이터 전송의 신뢰성을 보장하는 방법을 사용하고 있다. 오류코드에는 발생한 오류를 검출할 수 있는 오류검출코드(Error Detection Code, EDC)와, 오류 발생시 이를 자체적으로 정정할 수 있는 오류정정코드(Error Correction Code, ECC) 등이 있다.
본 발명은 라이트동작 및 리드동작 시 데이터의 에러정보를 포함하는 패러티 및 신드롬을 생성하기 위한 연산회로를 공유하는 전자시스템을 제공한다.
이를 위해 본 발명은 클럭, 커맨드 및 어드레스를 출력하고, 데이터를 입출력하는 컨트롤러 및 에러연산회로를 포함하고, 상기 커맨드에 의해 라이트동작 시 상기 에러연산회로에서 상기 데이터로부터 생성되는 전달데이터에 포함된 에러정보를 포함하는 패러티를 생성하며, 상기 커맨드에 의해 리드동작 시 상기 에러연산회로에서 내부데이터로부터 생성되는 상기 전달데이터에 포함된 에러정보를 포함하는 신드롬을 생성하는 반도체장치를 포함하는 전자시스템을 제공한다.
또한, 본 발명은 커맨드의 로직레벨 조합에 따라 모드설정신호, 라이트신호 및 리드신호를 생성하는 제어회로 및 상기 모드설정신호가 인에이블되고 상기 라이트신호가 입력되어 라이트동작 시 에러정정인에이블신호를 생성하고, 입출력라인에 실린 전달데이터에 포함된 비트들의 연산 결과에 따라 에러정보를 포함하는 패러티를 생성하고, 상기 모드설정신호가 인에이블되고 상기 리드신호가 입력되어 리드동작 시 상기 에러정정인에이블신호를 생성하고, 상기 입출력라인에 실린 전달데이터에 포함된 비트들의 연산 결과에 따라 에러정보를 포함하는 신드롬을 생성하는 에러연산회로를 포함하는 전자시스템을 제공한다.
본 발명에 의하면 라이트동작 및 리드동작 시 데이터의 에러정보를 포함하는 패러티 및 신드롬을 생성하기 위한 연산회로를 공유함으로써 면적을 감소할 수 있다.
또한, 본 발명에 의하면 라이트동작 및 리드동작 시 동일한 입출력라인에 실리는 데이터의 에러정보를 포함하는 패러티 및 신드롬을 생성하기 위한 연산회로를 공유함으로써 효율적인 에러정정동작을 수행할 수 있다.
도 1은 본 발명의 일 실시예에 따른 전자시스템의 구성을 도시한 블럭도이다.
도 2는 도 1에 도시된 전자시스템에 포함된 반도체장치의 구성을 도시한 블럭도이다.
도 3은 도 2에 도시된 반도체장치에 포함된 에러연산회로의 구성을 도시한 블럭도이다.
도 4는 도 3에 도시된 에러연산회로에 포함된 인에이블신호생성회로의 구성을 도시한 회로도이다.
도 5는 도 3에 도시된 에러연산회로에 포함된 내부스트로브신호생성회로의 구성을 도시한 회로도이다.
도 6은 도 3에 도시된 에러연산회로에 포함된 연산회로의 구성을 도시한 블럭도이다.
도 7은 도 2에 도시된 반도체장치에 포함된 에러정정회로의 구성을 도시한 블럭도이다.
도 8은 도 7에 도시된 에러정정회로에 포함된 데이터전달회로의 구성을 도시한 회로도이다.
도 9는 도 7에 도시된 에러정정회로에 포함된 스트로브신호전달회로의 구성을 도시한 회로도이다.
도 10 및 도 11은 본 발명의 일 실시예에 따른 전자시스템의 동작을 설명하기 위한 도면이다.
도 12는 본 발명의 또 다른 실시예에 따른 전자시스템의 구성을 도시한 도면이다.
"기 설정된"이라는 용어는 프로세스나 알고리즘에서 매개변수를 사용할 때 매개변수의 수치가 미리 결정되어 있음을 의미한다. 매개변수의 수치는 실시예에 따라서 프로세스나 알고리즘이 시작할 때 설정되거나 프로세스나 알고리즘이 수행되는 구간 동안 설정될 수 있다.
다양한 구성요소들을 구별하는데 사용되는 "제1" 및 "제2" 등의 용어는 구성요소들에 의해 한정되지 않는다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 반대로 제2 구성요소는 제1 구성요소로 명명될 수 있다.
하나의 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 할 때 직접적으로 연결되거나 중간에 다른 구성요소를 매개로 연결될 수도 있다고 이해되어야 한다. 반면 "직접 연결되어" 및 "직접 접속되어"라는 기재는 하나의 구성요소가 다른 구성요소에 또 다른 구성요소를 사이에 두지 않고 직접 연결된다고 이해되어야 한다.
"로직하이레벨" 및 "로직로우레벨"은 신호들의 로직레벨들을 설명하기 위해 사용된다. "로직하이레벨"을 갖는 신호는 "로직로우레벨"을 갖는 신호와 구별된다. 예를 들어, 제1 전압을 갖는 신호가 "로직하이레벨"에 대응할 때 제2 전압을 갖는 신호는 "로직로우레벨"에 대응할 수 있다. 일 실시예에 따라 "로직하이레벨"은 "로직로우레벨"보다 큰 전압으로 설정될 수 있다. 한편, 신호들의 로직레벨들은 실시예에 따라서 다른 로직레벨 또는 반대의 로직레벨로 설정될 수 있다. 예를 들어, 로직하이레벨을 갖는 신호는 실시예에 따라서 로직로우레벨을 갖도록 설정될 수 있고, 로직로우레벨을 갖는 신호는 실시예에 따라서 로직하이레벨을 갖도록 설정될 수 있다.
이하, 실시예를 통하여 본 발명을 더욱 상세히 설명하기로 한다. 이들 실시예는 단지 본 발명을 예시하기 위한 것이며, 본 발명의 권리 보호 범위가 이들 실시예에 의해 제한되는 것은 아니다.
도 1에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 에러정정동작을 수행하기 위한 전자시스템(100)은 컨트롤러(110) 및 반도체장치(120)를 포함할 수 있다. 반도체장치(120)는 데이터입출력회로(240), 에러연산회로(250) 및 에러정정회로(260)를 포함할 수 있다.
컨트롤러(110)는 제1 컨트롤핀(11), 제2 컨트롤핀(31), 제3 컨트롤핀(51) 및 제4 컨트롤핀(71)을 포함할 수 있다. 반도체장치(120)는 제1 반도체핀(21), 제2 반도체핀(41), 제3 반도체핀(61) 및 제4 반도체핀(81)을 포함할 수 있다. 제1 전송라인(L11)은 제1 컨트롤핀(11) 및 제1 반도체핀(21) 사이에 연결될 수 있다. 제2 전송라인(L31)은 제2 컨트롤핀(31) 및 제2 반도체핀(41) 사이에 연결될 수 있다. 제3 전송라인(L51)은 제3 컨트롤핀(51) 및 제3 반도체핀(61) 사이에 연결될 수 있다. 제4 전송라인(L71)은 제4 컨트롤핀(71) 및 제4 반도체핀(81) 사이에 연결될 수 있다. 컨트롤러(110)는 반도체장치(120)를 제어하기 위해 클럭(CLK)을 제1 전송라인(L11)을 통해 반도체장치(120)에 전송할 수 있다. 컨트롤러(110)는 반도체장치(120)를 제어하기 위해 커맨드(CMD)를 제2 전송라인(L31)을 통해 반도체장치(120)에 전송할 수 있다. 컨트롤러(110)는 반도체장치(120)를 제어하기 위해 어드레스(ADD)를 제3 전송라인(L51)을 통해 반도체장치(120)에 전송할 수 있다. 컨트롤러(110)와 반도체장치(120)는 제4 전송라인(L71)을 통해 데이터(DATA)를 전송 및 수신할 수 있다.
컨트롤러(110)는 라이트동작을 수행하기 위한 클럭(CLK), 커맨드(CMD), 어드레스(ADD) 및 데이터(DATA)를 반도체장치(120)로 출력할 수 있다. 컨트롤러(110)는 리드동작을 수행하기 위한 클럭(CLK), 커맨드(CMD) 및 어드레스(ADD)를 반도체장치(120)로 출력할 수 있다. 컨트롤러(110)는 리드동작 시 반도체장치(120)로부터 데이터(DATA)를 수신할 수 있다. 커맨드(CMD) 및 어드레스(ADD)는 클럭(CLK)에 포함된 홀수 펄스 또는 짝수 펄스에 동기 되어 연속적으로 출력될 수 있다.
데이터입출력회로(240)는 라이트동작 시 컨트롤러(110)로부터 데이터(DATA)를 입력 받아 전달데이터(도 2의 TD<1:32>)를 생성할 수 있다. 데이터입출력회로(240)는 리드동작 시 전달데이터(도 2의 TD<1:32>)로부터 데이터(DATA)를 생성하고, 데이터(DATA)를 컨트롤러(110)로 출력할 수 있다.
에러연산회로(250)는 라이트동작 시 전달데이터(도 2의 TD<1:32>)의 비트들을 비교하여 에러정정인에이블신호(도 2의 ECC_EN) 및 패러티(도 2의 PRT<1:M>)를 생성할 수 있다. 에러연산회로(250)는 리드동작 시 전달데이터(도 2의 TD<1:32>)의 비트들을 비교하여 에러정정인에이블신호(도 2의 ECC_EN) 및 신드롬(SYN<1:N>)을 생성할 수 있다.
에러정정회로(260)는 라이트동작 시 에러정정인에이블신호(도 2의 ECC_EN)가 인에이블되는 구간 동안 패러티(도 2의 PRT<1:M>)에 의해 전달데이터(도 2의 TD<1:32>)에 포함된 에러를 정정하여 내부데이터(도 2의 ID<1:32>)를 생성할 수 있다. 에러정정회로(260)는 리드동작 시 에러정정인에이블신호(도 2의 ECC_EN)가 인에이블되는 구간 동안 신드롬(도 2의 SYN<1:N>)에 의해 내부데이터(도 2의 ID<1:32>)에 포함된 에러를 정정하여 전달데이터(도 2의 TD<1:32>)를 생성할 수 있다.
도 2는 반도체장치(120)의 일 실시예에 따른 구성을 도시한 블럭도이다. 도 2에 도시된 바와 같이, 반도체장치(120)는 제어회로(210), 내부어드레스생성회로(220), 스트로브신호생성회로(230), 데이터입출력회로(240), 에러연산회로(250), 에러정정회로(260) 및 메모리회로(270)를 포함할 수 있다.
제어회로(210)는 제1 내지 제J 커맨드(CMD<1:N>)의 로직레벨 조합에 따라 모드설정신호(MRS), 라이트신호(WT) 및 리드신호(RD)를 생성할 수 있다. 제어회로(210)는 제1 내지 제J 커맨드(CMD<1:N>)가 라이트동작을 수행하기 위한 로직레벨 조합인 경우 인에이블되는 모드설정신호(MRS) 및 라이트신호(WT)를 생성할 수 있다. 제어회로(210)는 제1 내지 제J 커맨드(CMD<1:N>)가 리드동작을 수행하기 위한 로직레벨 조합인 경우 인에이블되는 모드설정신호(MRS) 및 리드신호(RD)를 생성할 수 있다. 제1 내지 제J 커맨드(CMD<1:N>)의 비트 수 "J"는 실시예에 따라 다양한 수의 자연수로 설정될 수 있다.
내부어드레스생성회로(220)는 제1 내지 제K 어드레스(ADD<1:K>)로부터 제1 내지 제L 내부어드레스(IADD<1:L>)를 생성할 수 있다. 내부어드레스생성회로(220)는 라이트동작 시 제1 내지 제K 어드레스(ADD<1:K>)를 디코딩하여 제1 내지 제L 내부어드레스(IADD<1:L>)를 생성할 수 있다. 내부어드레스생성회로(220)는 리드동작 시 제1 내지 제K 어드레스(ADD<1:K>)를 디코딩하여 제1 내지 제L 내부어드레스(IADD<1:L>)를 생성할 수 있다. 제1 내지 제K 어드레스(ADD<1:K>)의 비트 수 "K" 및 제1 내지 제L 내부어드레스(IADD<1:L>)의 비트 수 "L"은 실시예에 따라 다양한 수의 자연수로 설정될 수 있다.
스트로브신호생성회로(230)는 클럭(CLK)으로부터 스트로브신호(DQS)를 생성할 수 있다. 스트로브신호생성회로(230)는 클럭(CLK)으로부터 라이트동작 구간 동안 토글링되는 스트로브신호(DQS)를 생성할 수 있다. 스트로브신호생성회로(230)는 클럭(CLK)으로부터 리드동작 구간 동안 토글링되는 스트로브신호(DQS)를 생성할 수 있다.
데이터입출력회로(240)는 라이트동작 시 제1 내지 제32 데이터(DATA<1:32>)를 입력 받아 제1 내지 제32 전달데이터(TD<1:32>)를 생성할 수 있다. 데이터입출력회로(240)는 라이트동작 시 컨트롤러(110)로부터 제1 내지 제32 데이터(DATA<1:32>)를 입력 받을 수 있다. 데이터입출력회로(240)는 라이트동작 시 제1 내지 제32 데이터(DATA<1:32>)로부터 제1 내지 제32 전달데이터(TD<1:32>)를 생성할 수 있다. 데이터입출력회로(240)는 라이트동작 시 제1 내지 제32 전달데이터(TD<1:32>)를 입출력라인(IO)으로 출력할 수 있다. 데이터입출력회로(240)는 리드동작 시 제1 내지 제32 전달데이터(TD<1:32>)를 입력 받아 제1 내지 제32 데이터(DATA<1:32>)를 생성할 수 있다. 데이터입출력회로(240)는 리드동작 시 입출력라인(IO)에 실린 제1 내지 제32 전달데이터(TD<1:32>)를 입력 받을 수 있다. 데이터입출력회로(240)는 리드동작 시 제1 내지 제32 전달데이터(TD<1:32>)로부터 제1 내지 제32 데이터(DATA<1:32>)를 생성할 수 있다. 데이터입출력회로(240)는 리드동작 시 제1 내지 제32 데이터(DATA<1:32>)를 컨트롤러(110)로 출력할 수 있다. 입출력라인(IO)은 하나의 라인으로 도시되어 있지만 실시예에 따라 다양한 수의 입출력라인을 포함하도록 구현될 수 있다.
에러연산회로(250)는 모드설정신호(MRS)가 인에이블되고 라이트신호(WT) 및 리드신호(RD) 중 어느 하나가 입력되는 경우 인에이블되는 에러정정인에이블신호(ECC_EN)를 생성할 수 있다. 에러연산회로(250)는 라이트동작 시 에러정정인에이블신호(ECC_EN)가 인에이블되는 구간 동안 입출력라인(IO)에 실린 제1 내지 제32 전달데이터(TD<1:32>)에 포함된 비트들의 연산 결과에 따라 에러정보를 포함하는 제1 내지 제M 패러티(PRT<1:M>)를 생성할 수 있다. 에러연산회로(250)는 리드동작 시 에러정정인에이블신호(ECC_EN)가 인에이블되는 구간 동안 입출력라인(IO)에 실린 제1 내지 제32 전달데이터(TD<1:32>)에 포함된 비트들의 연산 결과에 따라 에러정보를 포함하는 제1 내지 제N 신드롬(SYN<1:N>)를 생성할 수 있다. 에러연산회로(250)는 모드설정신호(MRS)가 인에이블되고 라이트신호(WT) 및 리드신호(RD) 중 어느 하나가 입력되는 경우 스트로브신호(DQS)로부터 내부스트로브신호(IDQS)를 생성할 수 있다. 제1 내지 제M 패러티(PRT<1:M>)의 비트 수 "M" 및 제1 내지 제N 신드롬(SYN<1:N>)의 비트 수 "N"은 실시예에 따라 다양한 수의 자연수로 설정될 수 있다.
에러정정회로(260)는 라이트동작 시 에러정정인에이블신호(ECC_EN)가 인에이블되는 구간 동안 제1 내지 제M 패러티(PRT<1:M>)에 의해 제1 내지 제32 전달데이터(TD<1:32>)에 포함된 에러를 정정하여 제1 내지 제32 내부데이터(ID<1:32>)를 생성할 수 있다. 에러정정회로(260)는 라이트동작 시 내부스트로브신호(IDQS)에 동기 되어 에러가 정정된 제1 내지 제32 내부데이터(ID<1:32>)를 메모리회로(270)로 출력할 수 있다. 에러정정회로(260)는 리드동작 시 제1 내지 제32 내부데이터(ID<1:32>)로부터 제1 내지 제32 전달데이터(TD<1:32>)를 생성하고, 제1 내지 제32 전달데이터(TD<1:32>)를 입출력라인(IO)로 출력할 수 있다. 에러정정회로(260)는 리드동작 시 에러정정인에이블신호(ECC_EN)가 인에이블되는 구간 동안 제1 내지 제N 신드롬(SYN<1:N>)에 의해 제1 내지 제32 내부데이터(ID<1:32>)에 포함된 에러를 정정하여 제1 내지 제32 전달데이터(TD<1:32>)를 생성할 수 있다. 에러정정회로(260)는 리드동작 시 내부스트로브신호(IDQS)에 동기 되어 에러가 정정된 제1 내지 제32 전달데이터(TD<1:32>)를 입출력라인(IO)로 출력할 수 있다. 에러정정회로(260)는 라이트동작 시 제1 내지 제32 전달데이터(TD<1:32>)에 포함된 에러를 정정하여 제1 내지 제32 내부데이터(ID<1:32>)를 생성하도록 구현되어 있지만, 실시예에 따라 제1 내지 제M 패러티(PRT<1:M>)를 메모리회로(270)에 저장하도록 구현될 수 있다.
메모리회로(270)는 라이트동작 시 제1 내지 제L 내부어드레스(IADD<1:L>)에 의해 선택되는 메모리영역(미도시)에 제1 내지 제32 내부데이터(ID<1:32>)를 저장할 수 있다. 메모리회로(270)는 리드동작 시 제1 내지 제L 내부어드레스(IADD<1:L>)에 의해 선택되는 메모리영역(미도시)에 저장된 제1 내지 제32 내부데이터(ID<1:32>)를 출력할 수 있다. 메모리회로(270)는 라이트동작 시 제1 내지 제32 내부데이터(ID<1:32>)를 저장하도록 구현되어 있지만 제1 내지 제M 패러티(PRT<1:M>)를 저장하는 별도의 메모리영역(미도시)을 구비하도록 구현될 수 있다.
도 3에 도시된 바와 같이 본 발명의 일 실시예에 따른 에러연산회로(250)는 인에이블신호생성회로(251), 내부스트로브신호생성회로(252) 및 연산회로(253)를 포함할 수 있다.
인에이블신호생성회로(251)는 모드설정신호(MRS), 라이트신호(WT) 및 리드신호(RD)의 로직레벨에 따라 에러정정인에이블신호(ECC_EN)를 생성할 수 있다. 인에이블신호생성회로(251)는 모드설정신호(MRS)가 인에이블되는 구간 동안 라이트신호(WT) 및 리드신호(RD) 중 어느 하나가 입력되는 경우 인에이블되는 에러정정인에이블신호(ECC_EN)를 생성할 수 있다.
내부스트로브신호생성회로(252)는 에러정정인에이블신호(ECC_EN), 라이트신호(WT) 및 리드신호(RD)의 로직레벨에 따라 스트로브신호(DQS)로부터 내부스트로브신호(IDQS)를 생성할 수 있다. 내부스트로브신호생성회로(252)는 에러정정인에이블신호(ECC_EN)가 인에이블되는 구간 동안 라이트신호(WT) 및 리드신호(RD) 중 어느 하나가 입력되는 경우 스트로브신호(DQS)로부터 내부스트로브신호(IDQS)를 생성할 수 있다.
연산회로(253)는 라이트동작 시 에러정정인에이블신호(ECC_EN)가 인에이블되는 구간 동안 제1 내지 제32 전달데이터(TD<1:32>)들에 포함된 비트들을 비교하여 에러정보를 포함하는 제1 내지 제M 패러티(PRT<1:M>)를 생성할 수 있다. 연산회로(253)는 리드동작 시 에러정정인에이블신호(ECC_EN)가 인에이블되는 구간 동안 제1 내지 제32 전달데이터(TD<1:32>)들에 포함된 비트들을 비교하여 에러정보를 포함하는 제1 내지 제N 신드롬(SYN<1:N>)를 생성할 수 있다.
도 4에 도시된 바와 같이 본 발명의 일 실시예에 따른 인에이블신호생성회로(251)는 감지신호생성회로(251_1) 및 버퍼회로(251_2)를 포함할 수 있다.
감지신호생성회로(251_1)는 노어게이트(210<1>), 인버터(210<2>), 낸드게이트(210<3>) 및 인버터(210<4>)가 직렬 연결되어 구현될 수 있다. 감지신호생성회로(251_1)는 모드설정신호(MRS)가 인에이블되는 구간 동안 라이트신호(WT) 및 리드신호(RD) 중 어느 하나가 입력되는 경우 인에이블되는 감지신호(DET)를 생성할 수 있다. 감지신호생성회로(251_1)는 모드설정신호(MRS)가 로직하이레벨로 입력되는 구간 동안 라이트신호(WT)가 로직하이레벨로 입력되는 경우 로직하이레벨로 인에이블되는 감지신호(DET)를 생성할 수 있다. 감지신호생성회로(251_1)는 모드설정신호(MRS)가 로직하이레벨로 입력되는 구간 동안 리드신호(RD)가 로직하이레벨로 입력되는 경우 로직하이레벨로 인에이블되는 감지신호(DET)를 생성할 수 있다. 버퍼회로(251_2)는 모드설정신호(MRS)가 로직로우레벨로 입력되는 구간 동안 로직로우레벨로 디스에이블되는 감지신호(DET)를 생성할 수 있다.
버퍼회로(251_2)는 낸드게이트(210<5>) 및 인버터(219<6>)가 직렬 연결되어 구현될 수 있다. 버퍼회로(251_2)는 모드설정신호(MRS)가 인에이블되는 구간 동안 감지신호(DET)를 버퍼링하여 에러정정인에이블신호(ECC_EN)를 생성할 수 있다. 버퍼회로(251_2)는 모드설정신호(MRS)가 로직하이레벨로 입력되는 구간 동안 감지신호(DET)를 버퍼링하여 에러정정인에이블신호(ECC_EN)를 생성할 수 있다. 버퍼회로(251_2)는 모드설정신호(MRS)가 로직하이레벨로 입력되는 구간 동안 감지신호(DET)가 로직하이레벨로 입력되는 경우 로직하이레벨로 인에이블되는 에러정정인에이블신호(ECC_EN)를 생성할 수 있다. 버퍼회로(251_2)는 모드설정신호(MRS)가 로직로우레벨로 입력되는 구간 동안 로직로우레벨로 디스에이블되는 에러정정인에이블신호(ECC_EN)를 생성할 수 있다.
도 5에 도시된 바와 같이 본 발명의 일 실시예에 따른 내부스트로브신호생성회로(252)는 전달제어신호생성회로(252_1) 및 신호전달회로(252_2)를 포함할 수 있다.
전달제어신호생성회로(252_1)는 노어게이트(220<1>) 및 인버터(220<2>)가 직렬 연결되어 구현될 수 있다. 전달제어신호생성회로(252_1)는 라이트신호(WT) 및 리드신호(RD) 중 어느 하나가 입력되는 경우 인에이블되는 전달제어신호(TCON)를 생성할 수 있다. 전달제어신호생성회로(252_1)는 라이트신호(WT)가 로직하이레벨로 입력되는 경우 로직하레벨로 인에이블되는 전달제어신호(TCON)를 생성할 수 있다. 전달제어신호생성회로(252_1)는 리드신호(RD)가 로직하이레벨로 입력되는 경우 로직하레벨로 인에이블되는 전달제어신호(TCON)를 생성할 수 있다.
신호전달회로(252_2)는 낸드게이트(220<3>), 인버터(220<4>), 낸드게이트(220<5) 및 인버터(220<6>)가 직렬 연결되어 구현될 수 있다. 신호전달회로(252_2)는 에러정정인에이블신호(ECC_EN) 및 전달제어신호(TCON)가 인에이블되는 구간 동안 스트로브신호(DQS)를 버퍼링하여 내부스트로브신호(IDQS)를 생성할 수 있다. 신호전달회로(252_2)는 에러정정인에이블신호(ECC_EN) 및 전달제어신호(TCON)가 로직하이레벨로 입력되는 구간 동안 스트로브신호(DQS)를 버퍼링하여 내부스트로브신호(IDQS)를 생성할 수 있다. 신호전달회로(252_2)는 에러정정인에이블신호(ECC_EN) 및 전달제어신호(TCON) 중 어느 하나가 로직로우레벨로 입력되는 경우 로직로우레벨의 내부스트로브신호(IDQS)를 생성할 수 있다.
도 6에 도시된 바와 같이 본 발명의 일 실시예에 따른 연산회로(253)는 비교신호생성회로(253_1), 패러티생성회로(253_2) 및 신드롬생성회로(253_3)를 포함할 수 있다.
비교신호생성회로(253_1)는 제1 내지 제8 비교회로(253_1 ~ 253_8)를 포함할 수 있다.
제1 비교회로(253_1)는 에러정정인에이블신호(ECC_EN)가 로직하이레벨로 인에이블되는 구간 동안 제1 전달데이터(DT<1>), 제2 전달데이터(DT<2>), 제3 전달데이터(DT<3>) 및 제4 전달데이터(DT<4>)를 비교하여 제1 비교신호(CMP<1>)를 생성할 수 있다. 제1 비교회로(253_1)는 다수의 배타적 논리합 게이트로 구현되어 제1 전달데이터(DT<1>), 제2 전달데이터(DT<2>), 제3 전달데이터(DT<3>) 및 제4 전달데이터(DT<4>)를 비교하여 제1 비교신호(CMP<1>)를 생성할 수 있다. 제1 비교회로(253_1)는 4 비트의 제1 전달데이터(DT<1>), 제2 전달데이터(DT<2>), 제3 전달데이터(DT<3>) 및 제4 전달데이터(DT<4>)를 비교하도록 구현되어 있지만 제1 내지 제32 전달데이터(TD<1:32>)에 포함된 다양한 비트들을 비교하여 제1 비교신호(CMP<1>)를 생성하도록 구현될 수 있다.
제2 비교회로(253_2)는 에러정정인에이블신호(ECC_EN)가 로직하이레벨로 인에이블되는 구간 동안 제5 전달데이터(DT<5>), 제6 전달데이터(DT<6>), 제7 전달데이터(DT<7>) 및 제8 전달데이터(DT<8>)를 비교하여 제2 비교신호(CMP<2>)를 생성할 수 있다. 제2 비교회로(253_2)는 다수의 배타적 논리합 게이트로 구현되어 제5 전달데이터(DT<5>), 제6 전달데이터(DT<6>), 제7 전달데이터(DT<7>) 및 제8 전달데이터(DT<8>)를 비교하여 제2 비교신호(CMP<2>)를 생성할 수 있다. 제2 비교회로(253_2)는 4 비트의 제5 전달데이터(DT<5>), 제6 전달데이터(DT<6>), 제7 전달데이터(DT<7>) 및 제8 전달데이터(DT<8>)를 비교하도록 구현되어 있지만 제1 내지 제32 전달데이터(TD<1:32>)에 포함된 다양한 비트들을 비교하여 제1 비교신호(CMP<1>)를 생성하도록 구현될 수 있다.
제3 내지 제8 비교회로(253_3 ~ 253_8)는 제1 및 제2 비교회로(253_1,253_2)와 입출력 신호만 상이할 뿐 동일한 회로로 구현되어 동일한 동작을 수행하므로 구체적인 설명은 생략한다.
패러티생성회로(253_2)는 제1 내지 제8 비교신호(CMP<1:8>)들의 연산 결과에 따라 제1 내지 제M 패러티(PRT<1:M>)를 생성할 수 있다. 패러티생성회로(253_2)는 오류정정코드(Error Correction Code, ECC)를 사용하여 제1 내지 제8 비교신호(CMP<1:8>)들의 연산 결과에 따라 제1 내지 제M 패러티(PRT<1:M>)를 생성할 수 있다. 패러티생성회로(253_2)는 일반적인 에러정정회로(ECC회로)에서 패러티비트를 생성하는 회로로 구현될 수 있다.
신드롬생성회로(253_3)는 제1 내지 제8 비교신호(CMP<1:8>)들의 연산 결과에 따라 제1 내지 제N 신드롬(SYN<1:N>)를 생성할 수 있다. 신드롬생성회로(253_3)는 오류정정코드(Error Correction Code, ECC)를 사용하여 제1 내지 제8 비교신호(CMP<1:8>)들의 연산 결과에 따라 제1 내지 제N 신드롬(SYN<1:N>)를 생성할 수 있다. 패러티생성회로(253_2)는 일반적인 에러정정회로(ECC회로)에서 패러티비트를 생성하는 회로로 구현될 수 있다.
도 7에 도시된 바와 같이 본 발명의 일 실시예에 따른 에러정정회로(260)는 데이터전달회로(261), 스트로브신호전달회로(262) 및 데이터처리회로(263)를 포함할 수 있다.
데이터전달회로(261)는 라이트동작 시 에러정정인에이블신호(ECC_EN)가 인에이블되는 구간 동안 제1 내지 제32 전달데이터(TD<1:32>)를 제1 내지 제32 입력데이터(IN_D<1:32>)로 출력할 수 있다. 데이터전달회로(261)는 라이트동작 시 입출력라인(도 2의 IO)에 실린 제1 내지 제32 전달데이터(TD<1:32>)를 제1 내지 제32 입력데이터(IN_D<1:32>)로 출력할 수 있다. 데이터전달회로(261)는 리드동작 시 에러정정인에이블신호(ECC_EN)가 인에이블되는 구간 동안 제1 내지 제32 입력데이터(IN_D<1:32>)를 제1 내지 제32 전달데이터(TD<1:32>)로 출력할 수 있다. 데이터전달회로(261)는 리드동작 시 에러정정인에이블신호(ECC_EN)가 인에이블되는 구간 동안 제1 내지 제32 전달데이터(TD<1:32>)를 입출력라인(도 2의 IO)으로 출력할 수 있다.
스트로브신호전달회로(262)는 라이트동작 시 에러정정인에이블신호(ECC_EN)가 인에이블되는 구간 동안 내부스트로브신호(IDQS)를 입력스트로브신호(IN_DQS)로 전달할 수 있다. 스트로브신호전달회로(262)는 리드동작 시 에러정정인에이블신호(ECC_EN)가 인에이블되는 구간 동안 내부스트로브신호(IDQS)를 입력스트로브신호(IN_DQS)로 전달할 수 있다.
데이터처리회로(263)는 라이트동작 시 입력스트로브신호(IN_DQS)에 동기 되어 제1 내지 제M 패러티(PRT<1:M>)에 의해 제1 내지 제32 입력데이터(IN_D<1:32>)에 포함된 에러를 정정하여 제1 내지 제32 내부데이터(ID<1:32>)를 생성할 수 있다. 데이터처리회로(263)는 라이트동작 시 에러가 정정된 제1 내지 제32 내부데이터(ID<1:32>)를 메모리회로(도 2의 270)로 출력할 수 있다. 데이터처리회로(263)는 리드동작 시 입력스트로브신호(IN_DQS)에 동기 되어 제1 내지 제N 신드롬(SYN<1:N>)에 의해 제1 내지 제32 내부데이터(ID<1:32>)에 포함된 에러를 정정하여 제1 내지 제32 입력데이터(IN_D<1:32>)를 생성할 수 있다. 데이터처리회로(263)는 리드동작 시 메모리회로(도 2의 270)로부터 출력된 제1 내지 제32 내부데이터(ID<1:32>)의 에러를 정정하여 제1 내지 제32 입력데이터(IN_D<1:32>)로 출력할 수 있다.
도 8에 도시된 바와 같이 본 발명의 일 실시예에 따른 데이터전달회로(261)는 라이트데이터전달회로(261_1) 및 리드데이터전달회로(261_2)를 포함할 수 있다.
라이트데이터전달회로(261_1)는 낸드게이트(240<1>) 및 인버터(240<2>)가 직렬 연결되어 구현될 수 있다. 라이트데이터전달회로(261_1)는 라이트동작 시 에러정정인에이블신호(ECC_EN)가 로직하이레벨로 인에이블되는 구간 동안 제1 내지 제32 전달데이터(TD<1:32>)를 버퍼링하여 제1 내지 제32 입력데이터(IN_D<1:32>)로 출력할 수 있다. 라이트데이터전달회로(261_1)는 에러정정인에이블신호(ECC_EN)가 로직로우레벨로 디스에이블되는 구간 동안 로직로우레벨의 제1 내지 제32 입력데이터(IN_D<1:32>)를 생성할 수 있다.
리드데이터전달회로(261_2)는 낸드게이트(240<3>) 및 인버터(240<4>)가 직렬 연결되어 구현될 수 있다. 데이터전달회로(261)는 리드동작 시 에러정정인에이블신호(ECC_EN)가 로직하이레벨로 인에이블되는 구간 동안 제1 내지 제32 입력데이터(IN_D<1:32>)를 버퍼링하여 제1 내지 제32 전달데이터(TD<1:32>)로 출력할 수 있다. 라이트데이터전달회로(261_1)는 에러정정인에이블신호(ECC_EN)가 로직로우레벨로 디스에이블되는 구간 동안 로직로우레벨의 제1 내지 제32 전달데이터(TD<1:32>)를 생성할 수 있다.
도 9에 도시된 바와 같이 본 발명의 일 실시예에 따른 스트로브신호전달회로(262)는 낸드게이트(250<1>) 및 인버터(250<2>)가 직렬 연결되어 구현될 수 있다.
스트로브신호전달회로(262)는 라이트동작 시 에러정정인에이블신호(ECC_EN)가 로직하이레벨로 인에이블되는 구간 동안 내부스트로부신호(IDQS)를 버퍼링하여 입력스트로브신호(IN_DQS)를 생성할 수 있다. 스트로브신호전달회로(262)는 리드동작 시 에러정정인에이블신호(ECC_EN)가 로직하이레벨로 인에이블되는 구간 동안 내부스트로부신호(IDQS)를 버퍼링하여 입력스트로브신호(IN_DQS)를 생성할 수 있다.
도 10를 참고하여 본 발명의 일 실시예에 따른 전자시스템(100)의 라이트동작 시 제1 내지 제32 데이터(DATA<1:32>)에 포함된 에러를 정정하여 저장하는 에러정정동작을 예를 들어 설명하면 다음과 같다.
설명에 앞서, 컨트롤러(110)는 라이트동작을 수행하기 위한 클럭(CLK), 제1 내지 제J 커맨드(CMD<1:J>), 제1 내지 제K 어드레스(ADD<1:K>) 및 제1 내지 제32 데이터(DATA<1:32>)를 출력한다.
제어회로(210)는 라이트동작을 수행하기 위한 제1 내지 제J 커맨드(CMD<1:N>)를 입력 받아 로직하이레벨로 인에이블되는 모드설정신호(MRS) 및 라이트신호(WT)를 생성한다.
내부어드레스생성회로(220)는 라이트동작 시 제1 내지 제K 어드레스(ADD<1:K>)를 디코딩하여 제1 내지 제L 내부어드레스(IADD<1:L>)를 생성한다.
스트로브신호생성회로(230)는 클럭(CLK)으로부터 라이트동작 구간 동안 토글링되는 스트로브신호(DQS)를 생성한다.
데이터입출력회로(240)는 컨트롤러(110)로부터 제1 내지 제32 데이터(DATA<1:32>)를 입력 받아 제1 내지 제32 전달데이터(TD<1:32>)를 생성한다. 데이터입출력회로(240)는 제1 내지 제32 전달데이터(TD<1:32>)를 입출력라인(IO)으로 출력한다.
에러연산회로(250)는 로직하이레벨의 모드설정신호(MRS) 및 로직하이레벨의 라이트신호(WT)를 입력 받아 로직하이레벨로 인에이블되는 에러정정인에이블신호(ECC_EN)를 생성한다. 에러연산회로(250)는 에러정정인에이블신호(ECC_EN)가 인에이블되는 구간 동안 입출력라인(IO)에 실린 제1 내지 제32 전달데이터(TD<1:32>)에 포함된 비트들의 연산 결과에 따라 에러정보를 포함하는 제1 내지 제M 패러티(PRT<1:M>)를 생성한다. 에러연산회로(250)는 로직하이레벨의 모드설정신호(MRS) 및 로직하이레벨의 라이트신호(WT)를 입력 받아 스트로브신호(DQS)로부터 내부스트로브신호(IDQS)를 생성한다.
에러정정회로(260)는 에러정정인에이블신호(ECC_EN)가 인에이블되는 구간 동안 제1 내지 제M 패러티(PRT<1:M>)에 의해 제1 내지 제32 전달데이터(TD<1:32>)에 포함된 에러를 정정하여 제1 내지 제32 내부데이터(ID<1:32>)를 생성한다. 에러정정회로(260)는 내부스트로브신호(IDQS)에 동기 되어 에러가 정정된 제1 내지 제32 내부데이터(ID<1:32>)를 메모리회로(270)로 출력한다.
메모리회로(270)는 제1 내지 제L 내부어드레스(IADD<1:L>)에 의해 선택되는 메모리영역(미도시)에 제1 내지 제32 내부데이터(ID<1:32>)를 저장한다.
이와 같은 본 발명의 일 실시예에 따른 전자시스템(100)은 라이트동작 및 리드동작 시 데이터의 에러정보를 포함하는 패러티 및 신드롬을 생성하기 위한 연산회로를 공유함으로써 면적을 감소할 수 있다. 또한, 본 발명의 일 실시예에 따른 전자시스템(100)은 라이트동작 및 리드동작 시 동일한 입출력라인에 실리는 데이터의 에러정보를 포함하는 패러티 및 신드롬을 생성하기 위한 연산회로를 공유함으로써 효율적인 에러정정동작을 수행할 수 있다.
도 11을 참고하여 본 발명의 일 실시예에 따른 전자시스템(100)의 리드동작 시 제1 내지 제32 내부데이터(ID<1:32>)에 포함된 에러를 정정하여 출력하는 에러정정동작을 예를 들어 설명하면 다음과 같다.
설명에 앞서, 컨트롤러(110)는 리드동작을 수행하기 위한 클럭(CLK), 제1 내지 제J 커맨드(CMD<1:J>) 및 제1 내지 제K 어드레스(ADD<1:K>)를 출력한다.
제어회로(210)는 리드동작을 수행하기 위한 제1 내지 제J 커맨드(CMD<1:N>)를 입력 받아 로직하이레벨로 인에이블되는 모드설정신호(MRS) 및 리드신호(RD)를 생성한다.
내부어드레스생성회로(220)는 리드동작 시 제1 내지 제K 어드레스(ADD<1:K>)를 디코딩하여 제1 내지 제L 내부어드레스(IADD<1:L>)를 생성한다.
스트로브신호생성회로(230)는 클럭(CLK)으로부터 리드동작 구간 동안 토글링되는 스트로브신호(DQS)를 생성한다.
메모리회로(270)는 제1 내지 제L 내부어드레스(IADD<1:L>)에 의해 선택되는 메모리영역(미도시)에 저장된 제1 내지 제32 내부데이터(ID<1:32>)를 출력한다.
에러정정회로(260)는 리드동작 시 제1 내지 제32 내부데이터(ID<1:32>)로부터 제1 내지 제32 전달데이터(TD<1:32>)를 생성하고, 제1 내지 제32 전달데이터(TD<1:32>)를 입출력라인(IO)로 출력한다.
에러연산회로(250)는 로직하이레벨의 모드설정신호(MRS) 및 로직하이레벨의 리드신호(RD)를 입력 받아 로직하이레벨로 인에이블되는 에러정정인에이블신호(ECC_EN)를 생성한다. 에러연산회로(250)는 에러정정인에이블신호(ECC_EN)가 인에이블되는 구간 동안 입출력라인(IO)에 실린 제1 내지 제32 전달데이터(TD<1:32>)에 포함된 비트들의 연산 결과에 따라 에러정보를 포함하는 제1 내지 제N 신드롬(SYN<1:N>)를 생성한다. 에러연산회로(250)는 로직하이레벨의 모드설정신호(MRS) 및 로직하이레벨의 리드신호(RD)를 입력 받아 스트로브신호(DQS)로부터 내부스트로브신호(IDQS)를 생성한다.
에러정정회로(260)는 에러정정인에이블신호(ECC_EN)가 인에이블되는 구간 동안 제1 내지 제N 신드롬(SYN<1:N>)에 의해 제1 내지 제32 내부데이터(ID<1:32>)에 포함된 에러를 정정하여 제1 내지 제32 전달데이터(TD<1:32>)를 생성한다. 에러정정회로(260)는 내부스트로브신호(IDQS)에 동기 되어 에러가 정정된 제1 내지 제32 내부데이터(ID<1:32>)를 입출력라인(IO)로 출력한다.
데이터입출력회로(240)는 입출력라인(IO)에 실린 제1 내지 제32 전달데이터(TD<1:32>)로부터 제1 내지 제32 데이터(DATA<1:32>)를 생성한다. 데이터입출력회로(240)는 제1 내지 제32 데이터(DATA<1:32>)를 컨트롤러(110)로 출력한다.
컨트롤러(110)는 제1 내지 제32 데이터(DATA<1:32>)를 수신한다.
이와 같은 본 발명의 일 실시예에 따른 전자시스템(100)은 라이트동작 및 리드동작 시 데이터의 에러정보를 포함하는 패러티 및 신드롬을 생성하기 위한 연산회로를 공유함으로써 면적을 감소할 수 있다. 또한, 본 발명의 일 실시예에 따른 전자시스템(100)은 라이트동작 및 리드동작 시 동일한 입출력라인에 실리는 데이터의 에러정보를 포함하는 패러티 및 신드롬을 생성하기 위한 연산회로를 공유함으로써 효율적인 에러정정동작을 수행할 수 있다.
도 12는 본 발명의 다른 실시예에 따른 전자시스템(1000)의 구성을 도시한 블럭도이다. 도 12에 도시된 바와 같이, 전자시스템(1000)은 호스트(1100) 및 반도체시스템(1200)을 포함할 수 있다.
호스트(1100) 및 반도체시스템(1200)은 인터페이스 프로토콜을 사용하여 상호 신호들을 전송할 수 있다. 호스트(1100) 및 반도체시스템(1200) 사이에 사용되는 인터페이스 프로토콜에는 MMC(Multi-Media Card), ESDI(Enhanced Small Disk Interface), IDE(Integrated Drive Electronics), PCI-E(Peripheral Component Interconnect - Express), ATA(Advanced Technology Attachment), SATA(Serial ATA), PATA(Parallel ATA), SAS(serial attached SCSI), USB(Universal Serial Bus) 등이 있다.
반도체시스템(1200)은 컨트롤러(1300)와 반도체장치들(1400(K:1))을 포함할 수 있다. 컨트롤러(1300)는 반도체장치들(1400(K:1))이 라이트동작 및 리드동작을 수행하도록 반도체장치들(1400(K:1))을 제어할 수 있다. 반도체장치들(1400(K:1)) 각각은 라이트동작 및 리드동작 시 데이터의 에러정보를 포함하는 패러티 및 신드롬을 생성하기 위한 연산회로를 공유함으로써 면적을 감소할 수 있다. 또한, 반도체장치들(1400(K:1)) 각각은 라이트동작 및 리드동작 시 동일한 입출력라인에 실리는 데이터의 에러정보를 포함하는 패러티 및 신드롬을 생성하기 위한 연산회로를 공유함으로써 효율적인 에러정정동작을 수행할 수 있다. 컨트롤러(1300)는 도 1에 도시된 컨트롤러(110)로 구현될 수 있다. 반도체장치들(1400(K:1)) 각각은 도 1에 도시된 반도체장치(120)로 구현될 수 있다. 실시예에 따라서 반도체장치(20)는 DRAM(dynamic random access memory), PRAM(Phase change Random Access Memory), RRAM(Resistive Random Access Memory), MRAM(Magnetic Random Access Memory) 및 FRAM(Ferroelectric Random Access Memory) 중 하나로 구현될 수 있다.
100. 전자시스템 110. 컨트롤러
120. 반도체장치 210. 제어회로
220. 내부어드레스생성회로 230. 스트로브신호생성회로
240. 데이터입출력회로 250. 에러연산회로
251. 인에이블신호생성회로 251_1. 감지신호생성회로
251_2. 버퍼회로 252. 내부스트로브신호생성회로
252_1. 전달제어신호생성회로 252_2. 신호전달회로
253. 연산회로 253_1. 비교신호생성회로
253_2. 패러티생성회로 253_3. 신드롬생성회로
260. 에러정정회로 261. 데이터전달회로
261_1. 라이트데이터전달회로 261_2. 리드데이터전달회로
262. 스트로브신호전달회로 263. 데이터처리회로
270. 메모리회로

Claims (22)

  1. 클럭, 커맨드 및 어드레스를 출력하고, 데이터를 입출력하는 컨트롤러; 및
    에러연산회로를 포함하고, 상기 커맨드에 의해 라이트동작 시 상기 에러연산회로에서 상기 데이터로부터 생성되는 전달데이터에 포함된 에러정보를 포함하는 패러티를 생성하며, 상기 커맨드에 의해 리드동작 시 상기 에러연산회로에서 내부데이터로부터 생성되는 상기 전달데이터에 포함된 에러정보를 포함하는 신드롬을 생성하는 반도체장치를 포함하는 전자시스템.
  2. 제 1 항에 있어서, 상기 에러연산회로는 상기 라이트동작 및 상기 리드동작 시 공유되어 상기 전달데이터에 포함된 비트들을 연산하여 상기 패러티를 생성하거나 상기 신드롬을 생성하는 전자시스템.
  3. 제 1 항에 있어서, 상기 반도체장치는
    상기 라이트동작 시 상기 패러티에 의해 상기 전달데이터의 에러를 정정하여 생성되는 상기 내부데이터를 저장하고, 상기 리드동작 시 상기 신드롬에 의해 상기 내부데이터의 에러를 정정하여 생성되는 상기 전달데이터를 상기 데이터로 출력하는 전자시스템.
  4. 제 1 항에 있어서, 상기 반도체장치는
    상기 커맨드의 로직레벨 조합에 따라 모드설정신호, 라이트신호 및 리드신호를 생성하는 제어회로;
    상기 라이트동작 시 상기 데이터를 입력 받아 생성되는 상기 전달데이터를 입출력라인을 통해 출력하고, 상기 리드동작 시 상기 입출력라인에 실린 상기 전달데이터를 상기 데이터로 출력하는 데이터입출력회로; 및
    상기 모드설정신호가 인에이블되고 상기 라이트신호 및 상기 리드신호 중 어느 하나가 입력되는 경우 에러정정인에이블신호를 생성하고, 상기 입출력라인에 실린 상기 전달데이터에 포함된 비트들의 연산 결과에 따라 에러정보를 포함하는 상기 패러티 및 상기 신드롬을 생성하는 상기 에러연산회로를 포함하는 전자시스템.
  5. 제 4 항에 있어서, 상기 에러연산회로는
    상기 모드설정신호가 인에이블되는 구간 동안 상기 라이트신호 및 상기 리드신호 중 어느 하나가 입력되는 경우 인에이블되는 상기 에러정정인에이블신호를 생성하는 인에이블신호생성회로;
    상기 인에이블신호가 인에이블되는 구간 동안 상기 라이트신호 및 상기 리드신호 중 어느 하나가 입력되는 경우 상기 클럭으로부터 생성되는 스트로브신호를 버퍼링하여 내부스트로브신호를 생성하는 내부스트로브신호생성회로; 및
    상기 라이트동작 시 상기 에러인에이블신호가 인에이블되는 구간 동안 상기 전달데이터들에 포함된 비트들을 비교하여 상기 에러정보를 포함하는 상기 패러티를 생성하고, 상기 리드동작 시 상기 에러인에이블신호가 인에이블되는 구간 동안 상기 전달데이터들에 포함된 비트들을 비교하여 상기 에러정보를 포함하는 상기 신드롬을 생성하는 연산회로를 포함하는 전자시스템.
  6. 제 5 항에 있어서, 상기 인에이블신호생성회로는
    상기 모드설정신호가 인에이블되는 구간 동안 상기 라이트신호 및 상기 리드신호 중 어느 하나가 입력되는 경우 인에이블되는 감지신호를 생성하는 감지신호생성회로; 및
    상기 모드설정신호가 인에이블되는 구간 동안 상기 감지신호를 버퍼링하여 상기 에러정정인에이블신호를 생성하는 버퍼회로를 포함하는 전자시스템.
  7. 제 5 항에 있어서, 상기 내부스트로브신호생성회로는
    상기 라이트신호 및 상기 리드신호 중 어느 하나가 입력되는 경우 인에이블되는 전달제어신호를 생성하는 전달제어신호생성회로; 및
    상기 에러정정인에이블신호 및 상기 전달제어신호가 인에이블되는 구간 동안 상기 스트로브신호를 버퍼링하여 상기 내부스트로브신호를 생성하는 신호전달회로를 포함하는 전자시스템.
  8. 제 5 항에 있어서, 상기 연산회로는
    상기 에러인에이블신호가 인에이블되는 구간 동안 상기 전달데이터들에 포함된 비트들을 비교하여 비교신호를 생성하는 비교신호생성회로;
    상기 비교신호에 포함된 비트들의 연산 결과에 따라 상기 패러티를 생성하는 패러티생성회로; 및
    상기 비교신호에 포함된 비트들의 연산 결과에 따라 상기 신드롬을 생성하는 신드롬생성회로를 포함하는 전자시스템.
  9. 제 4 항에 있어서, 상기 반도체장치는
    상기 라이트동작 시 상기 에러정정인에이블신호가 인에이블되는 구간 동안 상기 패러티에 의해 상기 전달데이터에 포함된 에러를 정정하여 상기 내부데이터를 생성하고, 상기 리드동작 시 상기 에러정정인에이블신호가 인에이블되는 구간 동안 상기 신드롬에 의해 상기 내부데이터에 포함된 에러를 정정하여 상기 전달데이터를 생성하는 에러정정회로; 및
    상기 라이트동작 시 상기 어드레스로부터 생성되는 내부어드레스에 의해 상기 내부데이터를 저장하고, 상기 리드동작 시 상기 내부어드레스에 의해 내부에 저장된 상기 내부데이터를 출력하는 메모리회로를 더 포함하는 전자시스템.
  10. 제 9 항에 있어서, 상기 에러정정회로는
    상기 라이트동작 시 상기 입출력라인에 실린 상기 전달데이터의 에러를 정정하여 상기 내부데이터를 생성하고, 상기 리드동작 시 상기 내부데이터의 에러를 정정하여 생성되는 상기 전달데이터를 상기 입출력라인으로 출력하는 전자시스템.
  11. 제 9 항에 있어서, 상기 에러정정회로는
    상기 라이트동작 시 상기 에러정정인에이블신호가 인에이블되는 구간 동안 상기 전달데이터를 입력데이터로 출력하고, 상기 리드동작 시 상기 에러정정인에이블신호가 인에이블되는 구간 동안 상기 입력데이터를 상기 전달데이터로 출력하는 데이터전달회로;
    상기 에러정정인에이블신호가 인에이블되는 구간 내부스트로브신호를 입력스트로브신호로 전달하는 스트로브신호전달회로; 및
    상기 라이트동작 시 상기 입력스트로브신호에 동기 되어 상기 패러티에 의해 상기 입력데이터에 포함된 에러를 정정하여 상기 내부데이터를 생성하고, 상기 리드동작 시 상기 신드롬에 의해 상기 내부데이터에 포함된 에러를 정정하여 상기 입력데이터를 생성하는 데이터처리회로를 포함하는 전자시스템.
  12. 제 11 항에 있어서, 상기 데이터전달회로는
    상기 라이트동작 시 상기 에러정정인에이블신호가 인에이블되는 구간 동안 상기 전달데이터를 상기 입력데이터로 전달하는 라이트데이터전달회로; 및
    상기 리드동작 시 상기 에러정정인에이블신호가 인에이블되는 구간 동안 상기 입력데이터를 상기 전달데이터로 전달하는 리드데이터전달회로를 포함하는 전자시스템.
  13. 커맨드의 로직레벨 조합에 따라 모드설정신호, 라이트신호 및 리드신호를 생성하는 제어회로; 및
    상기 모드설정신호가 인에이블되고 상기 라이트신호가 입력되어 라이트동작 시 에러정정인에이블신호를 생성하고, 입출력라인에 실린 전달데이터에 포함된 비트들의 연산 결과에 따라 에러정보를 포함하는 패러티를 생성하고, 상기 모드설정신호가 인에이블되고 상기 리드신호가 입력되어 리드동작 시 상기 에러정정인에이블신호를 생성하고, 상기 입출력라인에 실린 전달데이터에 포함된 비트들의 연산 결과에 따라 에러정보를 포함하는 신드롬을 생성하는 에러연산회로를 포함하는 전자시스템.
  14. 제 13 항에 있어서, 상기 전달데이터는 상기 라이트동작 시 외부에서 입력되는 데이터로부터 생성되고, 상기 전달데이터는 상기 리드동작 시 내부에 저장된 내부데이터로부터 생성되는 전자시스템.
  15. 제 13 항에 있어서, 상기 에러연산회로는
    상기 모드설정신호가 인에이블되는 구간 동안 상기 라이트신호 및 상기 리드신호 중 어느 하나가 입력되는 경우 인에이블되는 상기 에러정정인에이블신호를 생성하는 인에이블신호생성회로;
    상기 인에이블신호가 인에이블되는 구간 동안 상기 라이트신호 및 상기 리드신호 중 어느 하나가 입력되는 경우 스트로브신호로부터 내부스트로브신호를 생성하는 내부스트로브신호생성회로; 및
    상기 라이트동작 시 상기 에러인에이블신호가 인에이블되는 구간 동안 상기 전달데이터들에 포함된 비트들을 비교하여 상기 에러정보를 포함하는 상기 패러티를 생성하고, 상기 리드동작 시 상기 에러인에이블신호가 인에이블되는 구간 동안 상기 전달데이터들에 포함된 비트들을 비교하여 상기 에러정보를 포함하는 상기 신드롬을 생성하는 연산회로를 포함하는 전자시스템.
  16. 제 15 항에 있어서, 상기 인에이블신호생성회로는
    상기 모드설정신호가 인에이블되는 구간 동안 상기 라이트신호 및 상기 리드신호 중 어느 하나가 입력되는 경우 인에이블되는 감지신호를 생성하는 감지신호생성회로; 및
    상기 모드설정신호가 인에이블되는 구간 동안 상기 감지신호를 버퍼링하여 상기 에러정정인에이블신호를 생성하는 버퍼회로를 포함하는 전자시스템.
  17. 제 15 항에 있어서, 상기 내부스트로브신호생성회로는
    상기 라이트신호 및 상기 리드신호 중 어느 하나가 입력되는 경우 인에이블되는 전달제어신호를 생성하는 전달제어신호생성회로; 및
    상기 에러정정인에이블신호 및 상기 전달제어신호가 인에이블되는 구간 동안 상기 스트로브신호로부터 상기 내부스트로브신호를 생성하는 신호전달회로를 포함하는 전자시스템.
  18. 제 15 항에 있어서, 상기 연산회로는
    상기 에러인에이블신호가 인에이블되는 구간 동안 상기 전달데이터들에 포함된 비트들을 비교하여 비교신호를 생성하는 비교신호생성회로;
    상기 비교신호에 포함된 비트들의 연산 결과에 따라 상기 패러티를 생성하는 패러티생성회로; 및
    상기 비교신호에 포함된 비트들의 연산 결과에 따라 상기 신드롬을 생성하는 신드롬생성회로를 포함하는 전자시스템.
  19. 제 13 항에 있어서,
    상기 라이트동작 시 상기 에러정정인에이블신호가 인에이블되는 구간 동안 상기 패러티에 의해 상기 전달데이터에 포함된 에러를 정정하여 내부데이터를 생성하고, 상기 리드동작 시 상기 에러정정인에이블신호가 인에이블되는 구간 동안 상기 신드롬에 의해 상기 내부데이터에 포함된 에러를 정정하여 상기 전달데이터를 생성하는 에러정정회로를 더 포함하는 전자시스템.
  20. 제 19 항에 있어서, 상기 에러정정회로는
    상기 라이트동작 시 상기 입출력라인에 실린 상기 전달데이터의 에러를 정정하여 상기 내부데이터를 생성하고, 상기 리드동작 시 상기 내부데이터의 에러를 정정하여 생성되는 상기 전달데이터를 상기 입출력라인으로 출력하는 전자시스템.
  21. 제 19 항에 있어서, 상기 에러정정회로는
    상기 라이트동작 시 상기 에러정정인에이블신호가 인에이블되는 구간 동안 상기 전달데이터를 입력데이터로 출력하고, 상기 리드동작 시 상기 에러정정인에이블신호가 인에이블되는 구간 동안 상기 입력데이터를 상기 전달데이터로 출력하는 데이터전달회로;
    상기 에러정정인에이블신호가 인에이블되는 구간 내부스트로브신호를 입력스트로브신호로 전달하는 스트로브신호전달회로; 및
    상기 라이트동작 시 상기 입력스트로브신호에 동기 되어 상기 패러티에 의해 상기 입력데이터에 포함된 에러를 정정하여 상기 내부데이터를 생성하고, 상기 리드동작 시 상기 신드롬에 의해 상기 내부데이터에 포함된 에러를 정정하여 상기 입력데이터를 생성하는 데이터처리회로를 포함하는 전자시스템.
  22. 제 21 항에 있어서, 상기 데이터전달회로는
    상기 라이트동작 시 상기 에러정정인에이블신호가 인에이블되는 구간 동안 상기 전달데이터를 상기 입력데이터로 전달하는 라이트데이터전달회로; 및
    상기 리드동작 시 상기 에러정정인에이블신호가 인에이블되는 구간 동안 상기 입력데이터를 상기 전달데이터로 전달하는 리드데이터전달회로를 포함하는 전자시스템.
KR1020200102582A 2020-08-14 2020-08-14 에러정정동작을 수행하기 위한 전자시스템 KR20220021695A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200102582A KR20220021695A (ko) 2020-08-14 2020-08-14 에러정정동작을 수행하기 위한 전자시스템
US17/152,378 US11599413B2 (en) 2020-08-14 2021-01-19 Electronic system including error calculation circuit for performing error correction operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200102582A KR20220021695A (ko) 2020-08-14 2020-08-14 에러정정동작을 수행하기 위한 전자시스템

Publications (1)

Publication Number Publication Date
KR20220021695A true KR20220021695A (ko) 2022-02-22

Family

ID=80224270

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200102582A KR20220021695A (ko) 2020-08-14 2020-08-14 에러정정동작을 수행하기 위한 전자시스템

Country Status (2)

Country Link
US (1) US11599413B2 (ko)
KR (1) KR20220021695A (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE59701778D1 (de) * 1996-08-30 2000-06-29 Siemens Ag Fehlererkennung in einem speichersystem
US8972835B1 (en) * 2012-06-06 2015-03-03 Xilinx, Inc. Encoding and decoding of information using a block code matrix
KR102608908B1 (ko) * 2016-06-23 2023-12-04 에스케이하이닉스 주식회사 데이터의 오류를 정정하는 방법 및 이를 이용하는 반도체장치
KR102420641B1 (ko) 2017-12-15 2022-07-14 에스케이하이닉스 주식회사 에러정정방법 및 이를 이용한 반도체장치
US11424001B2 (en) * 2020-02-07 2022-08-23 Micron Technology, Inc. Apparatuses, systems, and methods for error correction

Also Published As

Publication number Publication date
US20220050742A1 (en) 2022-02-17
US11599413B2 (en) 2023-03-07

Similar Documents

Publication Publication Date Title
US10613928B2 (en) Semiconductor devices and semiconductor systems including the same
US10572341B2 (en) Semiconductor devices
US10162703B2 (en) Methods of correcting data errors and semiconductor devices used therein
US10379947B2 (en) Semiconductor device
CN106205728B (zh) 奇偶校验电路及包括该奇偶校验电路的存储器装置
US20170286218A1 (en) Semiconductor devices, and semiconductor systems
US11031064B1 (en) Semiconductor devices
US20170344422A1 (en) Semiconductor devices and semiconductor systems
US11081150B2 (en) Methods, semiconductor devices, and semiconductor systems
US10552277B2 (en) Electronic devices
US10379786B2 (en) Semiconductor devices
US11342942B2 (en) Electronic device for performing error correction operation and error check operation
KR20220021695A (ko) 에러정정동작을 수행하기 위한 전자시스템
US9997234B1 (en) Semiconductor devices
US10181863B2 (en) Semiconductor devices and semiconductor systems
US11514998B2 (en) Electronic device for performing data masking operation
US11048602B2 (en) Electronic devices
US20230282300A1 (en) Semiconductor device and semiconductor system
US20230153194A1 (en) Semiconductor device
US11309046B2 (en) Semiconductor devices and semiconductor systems including the same
US20220319625A1 (en) Semiconductor device and semiconductor system for testing error correction circuit
US10014073B2 (en) Semiconductor devices
KR20210070138A (ko) 반도체장치