KR20240071166A - 반도체시스템 - Google Patents

반도체시스템 Download PDF

Info

Publication number
KR20240071166A
KR20240071166A KR1020220152970A KR20220152970A KR20240071166A KR 20240071166 A KR20240071166 A KR 20240071166A KR 1020220152970 A KR1020220152970 A KR 1020220152970A KR 20220152970 A KR20220152970 A KR 20220152970A KR 20240071166 A KR20240071166 A KR 20240071166A
Authority
KR
South Korea
Prior art keywords
read
data
address
write
signal
Prior art date
Application number
KR1020220152970A
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 KR1020220152970A priority Critical patent/KR20240071166A/ko
Priority to US18/098,110 priority patent/US20240160523A1/en
Publication of KR20240071166A publication Critical patent/KR20240071166A/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/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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1032Simple parity
    • GPHYSICS
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Dram (AREA)
  • Static Random-Access Memory (AREA)

Abstract

반도체시스템은 리드동작을 수행하기 위한 다수의 어드레스들이 서로 인접한 영역을 선택하기 위한 로직레벨 조합일 때 리드모디파이라이트동작을 수행하기 위한 커맨드 및 상기 다수의 어드레스를 출력하고, 라이트동작을 수행하기 위한 제1 데이터를 출력하는 컨트롤러 및 상기 커맨드를 토대로 상기 라이트동작을 수행하기 위한 상기 제1 데이터를 라이트데이터로 저장하고, 상기 커맨드 및 상기 어드레스를 토대로 상기 리드동작이 연속적으로 수행되어 코어영역으로부터 내부데이터들을 출력하며, 상기 내부데이터들과 상기 라이트데이터를 토대로 ECC연산을 수행하여 패리티를 생성하고, 상기 라이트데이터와 상기 패리티를 상기 코어영역에 저장하는 반도체장치를 포함한다.

Description

반도체시스템{SEMICONDUCTOR SYSTEM}
본 발명은 연속적인 리드동작과 라이트동작을 수행하는 리드모디파이라이트동작을 수행할 수 있는 반도체시스템에 관한 것이다.
최근 반도체장치의 동작속도를 증가시키기 위해 클럭 사이클(cycle)마다 다수 비트의 데이터를 입/출력하는 DDR2, DDR3, DDR4, DDR5 방식 등이 사용되고 있다. 데이터의 입/출력 속도가 빨라지는 경우 데이터가 전송되는 과정 중 발생되는 에러의 발생 확률도 증가 되므로, 데이터 전송의 신뢰성을 보장하기 위한 별도의 장치와 방법이 추가적으로 요구되고 있다.
데이터 전송 시마다 에러 발생 여부를 확인할 수 있는 에러체크코드를 생성하여 데이터와 함께 전송함으로써, 데이터 전송의 신뢰성을 보장하는 방법을 사용하고 있다. 에러체크코드에는 발생한 에러를 검출할 수 있는 에러검출코드(Error Detection Code, EDC)와, 에러 발생시 이를 자체적으로 정정할 수 있는 에러정정코드(Error Correction Code, ECC) 등이 있다.
본 발명은 리드동작을 수행하기 위한 다수의 어드레스들이 서로 인접한 영역을 선택하기 위한 로직레벨 조합일 때 리드모디파이라이트동작을 수행하는 반도체시스템을 제공한다.
또한, 본 발명은 반도체장치의 라이트동작을 수행하기 위한 시간 사이에 또 다른 커맨드를 반도체장치에 제공하여 동작을 수행함으로써 반도체장치들의 동작 효율을 증가할 수 있는 반도체시스템을 제공한다.
또한, 본 발명은 하나의 반도체장치에 대한 리드모디파이동작을 수행하는 구간 동안 또 다른 반도체장치의 노멀동작을 수행함으로써 반도체장치들의 동작 효율을 증가할 수 있는 반도체시스템을 제공한다.
이를 위해 본 발명은 리드동작을 수행하기 위한 다수의 어드레스들이 서로 인접한 영역을 선택하기 위한 로직레벨 조합일 때 리드모디파이라이트동작을 수행하기 위한 커맨드 및 상기 다수의 어드레스를 출력하고, 라이트동작을 수행하기 위한 제1 데이터를 출력하는 컨트롤러 및 상기 커맨드를 토대로 상기 라이트동작을 수행하기 위한 상기 제1 데이터를 라이트데이터로 저장하고, 상기 커맨드 및 상기 어드레스를 토대로 상기 리드동작이 연속적으로 수행되어 코어영역으로부터 내부데이터들을 출력하며, 상기 내부데이터들과 상기 라이트데이터를 토대로 ECC연산을 수행하여 패리티를 생성하고, 상기 라이트데이터와 상기 패리티를 상기 코어영역에 저장하는 반도체장치를 포함하는 반도체시스템을 제공한다.
또한, 본 발명은 제1 및 제2 어드레스가 서로 인접한 영역을 선택하기 위한 로직레벨 조합일 때 리드모디파이라이트동작을 수행하기 위한 커맨드 및 상기 제1 및 제2 어드레스를 출력하고, 제1 데이터를 출력하는 컨트롤러 및 상기 커맨드를 토대로 상기 리드모디파이라이트동작 시 상기 제1 데이터를 데이터저장회로에 라이트데이터로 저장하고, 상기 커맨드 및 상기 제1 어드레스를 토대로 선택되는 코어영역의 메모리셀에 저장된 제1 내부데이터를 출력한 이후 상기 커맨드 및 상기 제2 어드레스를 토대로 선택되는 상기 코어영역의 메모리셀에 저장된 제2 내부데이터를 출력하며, 상기 제1 및 제2 내부데이터들과 상기 라이트데이터를 토대로 ECC연산을 수행하여 패리티를 생성하고, 상기 제1 어드레스에 의해 선택되는 상기 코어영역의 메모리셀에 상기 라이트데이터와 상기 패리티를 저장하는 반도체장치를 포함하는 반도체시스템을 제공한다.
또한, 본 발명은 제1 및 제2 칩선택신호, 커맨드어드레스 및 제1 데이터를 출력하고, 제2 및 제3 데이터를 수신하는 컨트롤러, 상기 제1 칩선택신호가 인에이블될 때 상기 커맨드어드레스의 로직레벨 조합에 따라 리드모디파이라이트동작을 수행하고, 상기 제1 데이터를 라이트데이터로 저장하며, 상기 리드모디파이라이트동작 중 리드동작에서 상기 커맨드어드레스에 의해 선택되는 메모리셀에 저장된 제1 및 제2 내부데이터를 출력하고, 상기 제1 및 제2 내부데이터들과 상기 라이트데이터를 토대로 ECC연산을 수행하여 제1 패리티를 생성하며, 상기 리드모디파이라이트동작 중 라이트동작에서 상기 라이트데이터와 상기 제1 패리티를 저장하고, 상기 제1 및 제2 내부데이터를 직렬화하여 상기 제2 데이터로 출력하는 제1 반도체장치 및 상기 제2 칩선택신호가 인에이블될 때 상기 커맨드어드레스의 로직레벨 조합에 따라 노멀동작을 수행하고, 상기 노멀동작 중 라이트동작에서 상기 커맨드어드레스에 의해 선택되는 메모리셀에 상기 제1 데이터로부터 생성되는 제3 내부데이터를 저장하고, 상기 노멀동작 중 리드동작에서 상기 커맨드어드레스에 의해 선택되는 메모리셀에 저장된 제4 내부데이터와 제2 패리티를 토대로 상기 제4 내부데이터의 에러를 정정하여 상기 제3 데이터로 출력하는 제2 반도체장치를 포함하는 반도체시스템을 제공한다.
본 발명에 의하면 리드동작을 수행하기 위한 다수의 어드레스들이 서로 인접한 영역을 선택하기 위한 로직레벨 조합일 때 리드모디파이라이트동작을 수행할 수 있는 효과가 있다.
또한, 본 발명에 의하면 반도체장치의 라이트동작을 수행하기 위한 시간 사이에 또 다른 커맨드를 반도체장치에 제공하여 동작을 수행함으로써 반도체장치들의 동작 효율을 증가할 수 있는 효과가 있다.
또한, 본 발명에 의하면 하나의 반도체장치에 대한 리드모디파이동작을 수행하는 구간 동안 또 다른 반도체장치의 노멀동작을 수행함으로써 반도체장치들의 동작 효율을 증가할 수 있는 효과도 있다.
도 1은 본 발명의 일 실시 예에 따른 반도체시스템의 구성을 도시한 블록도이다.
도 2는 도 1에 도시된 반도체시스템에 포함된 컨트롤러의 일 예에 따른 구성을 도시한 블럭도이다.
도 3은 도 2에 도시된 컨트롤러에 포함된 어드레스생성회로의 일 예에 따른 구성을 도시한 블럭도이다.
도 4는 도 3에 도시된 어드레스생성회로에 포함된 리드어드레스비교회로의 일 예에 따른 구성을 도시한 블럭도이다.
도 5는 도 3에 도시된 어드레스생성회로에 포함된 라이트어드레스비교회로의 일 예에 따른 구성을 도시한 블럭도이다.
도 6은 도 3에 도시된 어드레스생성회로에 포함된 어드레스제어회로의 일 예에 따른 구성을 도시한 도면이다.
도 7은 도 1에 도시된 반도체시스템에 포함된 반도체장치의 일 예에 따른 구성을 도시한 블럭도이다.
도 8은 도 7에 도시된 반도체장치에 포함된 코어회로의 일 예에 따른 구성을 도시한 블럭도이다.
도 9는 도 8에 도시된 코어회로에 포함된 제1 뱅크의 일 예에 따른 구성을 도시한 도면이다.
도 10은 도 7에 도시된 반도체장치에 포함된 에러정정회로의 일 예에 따른 구성을 도시한 블럭도이다.
도 11은 도 1에 도시된 반도체시스템에 포함된 반도체장치의 다른 예에 따른 구성을 도시한 블럭도이다.
도 12는 본 발명의 다른 실시 예에 따른 반도체시스템의 구성을 도시한 블록도이다.
도 13 및 14는 본 발명의 일 실시예에 따른 반도체시스템의 동작을 설명하기 위한 타이밍도이다.
도 15는 도 1 내지 도 14에 도시된 반도체시스템이 적용된 전자시스템의 일 실시예에 따른 구성을 도시한 도면이다.
"기 설정된"이라는 용어는 프로세스나 알고리즘에서 매개변수를 사용할 때 매개변수의 수치가 미리 결정되어 있음을 의미한다. 매개변수의 수치는 실시예에 따라서 프로세스나 알고리즘이 시작할 때 설정되거나 프로세스나 알고리즘이 수행되는 구간 동안 설정될 수 있다.
다양한 구성요소들을 구별하는데 사용되는 "제1" 및 "제2" 등의 용어는 구성요소들에 의해 한정되지 않는다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 반대로 제2 구성요소는 제1 구성요소로 명명될 수 있다.
하나의 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 할 때 직접적으로 연결되거나 중간에 다른 구성요소를 매개로 연결될 수도 있다고 이해되어야 한다. 반면 "직접 연결되어" 및 "직접 접속되어"라는 기재는 하나의 구성요소가 다른 구성요소에 또 다른 구성요소를 사이에 두지 않고 직접 연결된다고 이해되어야 한다.
"로직하이레벨" 및 "로직로우레벨"은 신호들의 로직레벨들을 설명하기 위해 사용된다. "로직하이레벨"을 갖는 신호는 "로직로우레벨"을 갖는 신호와 구별된다. 예를 들어, 제1 전압을 갖는 신호가 "로직하이레벨"에 대응할 때 제2 전압을 갖는 신호는 "로직로우레벨"에 대응할 수 있다. 일 실시예에 따라 "로직하이레벨"은 "로직로우레벨"보다 큰 전압으로 설정될 수 있다. 한편, 신호들의 로직레벨들은 실시예에 따라서 다른 로직레벨 또는 반대의 로직레벨로 설정될 수 있다. 예를 들어, 로직하이레벨을 갖는 신호는 실시예에 따라서 로직로우레벨을 갖도록 설정될 수 있고, 로직로우레벨을 갖는 신호는 실시예에 따라서 로직하이레벨을 갖도록 설정될 수 있다.
이하, 실시예를 통하여 본 발명을 더욱 상세히 설명하기로 한다. 이들 실시예는 단지 본 발명을 예시하기 위한 것이며, 본 발명의 권리 보호 범위가 이들 실시예에 의해 제한되는 것은 아니다.
도 1에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 반도체시스템(1)은 컨트롤러(10) 및 반도체장치(30)를 포함할 수 있다.
컨트롤러(10)는 제1 컨트롤핀(11_1), 제2 컨트롤핀(11_2) 및 제3 컨트롤핀(11_3)을 포함할 수 있다. 반도체장치(30)는 제1 장치핀(13_1), 제2 장치핀(13_2) 및 제3 장치핀(13_3)을 포함할 수 있다.
컨트롤러(10)는 제1 컨트롤핀(11_1) 및 제1 장치핀(13_1) 사이에 연결된 제1 전송라인(12_1)을 통해 커맨드(CMD)를 반도체장치(30)로 전송할 수 있다. 제1 컨트롤핀(11_1), 제1 전송라인(12_1) 및 제1 장치핀(13_1) 각각은 커맨드(CMD)의 비트 수에 따라 다수 개로 구현될 수 있다. 컨트롤러(10)는 제2 컨트롤핀(11_2) 및 제2 장치핀(13_2) 사이에 연결된 제2 전송라인(12_2)을 통해 어드레스(ADD)를 반도체장치(30)로 전송할 수 있다. 제2 컨트롤핀(11_2), 제2 전송라인(12_2) 및 제2 장치핀(13_2) 각각은 어드레스(ADD)의 비트 수에 따라 다수 개로 구현될 수 있다. 커맨드(CMD)와 어드레스(ADD)는 서로 다른 핀들과 서로 다른 전송라인을 통해 컨트롤러(10)로부터 반도체장치(30)로 전송되도록 구현되어 있지만 동일한 핀들과 동일한 전송라인을 통해 컨트롤러(10)로부터 반도체장치(30)로 전송되도록 구현될 수 있다. 컨트롤러(10)는 제3 컨트롤핀(11_3) 및 제3 장치핀(13_3) 사이에 연결된 제3 전송라인(12_3)을 통해 데이터(DATA)를 반도체장치(30)로 출력하거나, 반도체장치(30)로부터 데이터(DATA)를 수신할 수 있다. 제3 컨트롤핀(13_3), 제3 전송라인(12_3) 및 제3 장치핀(13_3) 각각은 데이터(DATA)의 비트 수에 따라 다수 개로 구현될 수 있다.
컨트롤러(10)는 커맨드생성회로(120) 및 어드레스생성회로(130)를 포함할 수 있다.
커맨드생성회로(110)는 반도체장치(30)의 노멀동작 및 리드모디파이라이트동작을 제어하기 위한 커맨드(CMD)를 생성할 수 있다. 커맨드생성회로(110)는 반도체장치(30)의 리드모디파이라이트동작을 수행하기 위한 로직레벨 조합을 갖는 커맨드(CMD)를 생성할 수 있다. 리드모디파이라이트동작은 리드동작을 "N"회 연속적으로 수행한 이후 라이트동작을 수행하는 동작으로 설정될 수 있다. "N"은 자연수로 설정될 수 있다. 커맨드생성회로(110)는 반도체장치(30)의 노멀동작을 수행하기 위한 로직레벨 조합을 갖는 커맨드(CMD)를 생성할 수 있다.
어드레스생성회로(130)는 노멀동작 및 리드모디파이라이트동작에서 메모리셀을 선택하기 위한 어드레스(ADD)를 생성할 수 있다. 어드레스생성회로(130)는 리드동작을 수행하기 위한 다수의 리드어드레스(도 2의 RAD1<1:M>,RAD2<1:M>,RAD3<1:M>,RAD4<1:M>)들이 서로 인접한 영역을 선택하기 위한 로직레벨 조합일 때 인에이블되는 리드라이트진입신호(도 2의 NRW)를 생성할 수 있다. 어드레스생성회로(130)는 리드모디파이라이트동작에서 리드동작을 수행하기 위한 다수의 리드어드레스(도 2의 RAD1<1:M>,RAD2<1:M>,RAD3<1:M>,RAD4<1:M>)들을 어드레스(ADD)로 순차적으로 출력할 수 있다. 어드레스생성회로(130)는 리드모디파이라이트동작에서 라이트동작을 수행하기 위한 라이트어드레스(도 2의 WAD<1:M>)를 어드레스(ADD)로 출력할 수 있다.
이와 같은 컨트롤러(10)는 리드동작을 수행하기 위한 다수의 리드어드레스(도 2의 RAD1<1:M>,RAD2<1:M>,RAD3<1:M>,RAD4<1:M>)들이 서로 인접한 영역을 선택하기 위한 로직레벨 조합일 때 리드모디파이라이트동작을 수행하기 위한 커맨드(CMD) 및 어드레스(ADD)를 출력하고, 라이트동작을 수행하기 위한 데이터(DATA)를 출력할 수 있다. 컨트롤러(10)는 반도체장치(30)로부터 데이터(DATA)를 수신할 수 있다.
반도체장치(30)는 데이터저장회로(330), 코어영역(340) 및 에러정정회로(360)를 포함할 수 있다.
데이터저장회로(330)는 리드모디파이라이트동작 시 데이터(DATA)를 저장할 수 있다. 데이터저장회로(330)는 리드모디파이라이트동작 시 저장된 데이터(DATA)를 에러정정회로(360)로 출력할 수 있다. 데이터저장회로(330)는 리드모디파이라이트동작 시 저장된 데이터(DATA)를 코어영역(340)으로 출력할 수 있다.
코어영역(340)은 리드모디파이라이트동작의 리드동작 시 어드레스(ADD)에 의해 선택되는 메모리셀에 저장된 내부데이터(도 7의 ID<1:64>)를 연속적으로 출력할 수 있다. 코어영역(340)은 리드모디파이라이트동작의 라이트동작 시 어드레스(ADD)에 의해 선택되는 메모리셀에 데이터저장회로(330)에 저장된 데이터(DATA)로부터 생성되는 내부데이터(도 7의 ID<1:64>)와 에러정정회로(360)에서 생성되는 패리티(도 7의 PRT<1:8>)를 저장할 수 있다. 코어영역(340)에 저장되는 내부데이터(도 7의 ID<1:64>)와 패리티(도 7의 PRT<1:8>)는 서로 다른 위치의 메모리셀에 저장될 수 있다. 코어영역(340)은 노멀동작의 리드동작 시 어드레스(ADD)에 의해 선택되는 메모리셀에 저장된 내부데이터(도 7의 ID<1:64>)를 출력할 수 있다. 코어영역(340)은 노멀동작의 라이트동작 시 어드레스(ADD)에 의해 선택되는 메모리셀에 데이터(DATA)로부터 생성되는 내부데이터(도 7의 ID<1:64>)를 저장할 수 있다.
에러정정회로(360)는 리드모디파이라이트동작의 리드동작 시 코어영역(340)에서 연속적으로 출력되는 내부데이터(도 7의 ID<1:64>)를 순차적으로 저장할 수 있다. 에러정정회로(360)는 리드모디파이라이트동작의 라이트동작 시 저장된 내부데이터(도 7의 ID<1:64>)와 데이터저장회로(330)로부터 출력된 데이터(DATA)에 대한 ECC 연산을 수행하여 패리티(도 7의 PRT<1:8>)를 생성할 수 있다. 에러정정회로(360)는 노멀동작의 리드동작 시 코어영역(340)에서 출력되는 내부데이터(도 7의 ID<1:64>)에 포함된 에러를 정정하여 데이터(DATA)로 출력할 수 있다. 에러정정회로(360)는 노멀동작의 라이트동작 시 데이터(DATA)로부터 생성되는 내부데이터(도 7의 ID<1:64>)의 에러정보를 포함하는 패리티(도 7의 PRT<1:8>)를 생성할 수 있다.
이와 같은 반도체장치(30)는 커맨드(CMD)를 토대로 리드모디파이라이트동작에서 라이트동작을 위한 데이터(DATA)를 라이트데이터(도 7의 WD<1:64>)로 저장할 수 있다. 반도체장치(30)는 커맨드(CMD) 및 어드레스(ADD)를 토대로 리드모디파이라이트동작에서 리드동작이 연속적으로 수행되어 코어영역(340)으로부터 내부데이터(도 7의 ID<1:64>)들을 출력할 수 있다. 반도체장치(30)는 내부데이터(도 7의 ID<1:64>)들과 라이트데이터(도 7의 WD<1:64>)를 토대로 ECC연산을 수행하여 패리티(도 7의 PRT<1:8>)를 생성하고, 라이트데이터(도 7의 WD<1:64>)와 패리티(도 7의 PRT<1:8>)를 코어영역(340)에 저장할 수 있다. 반도체장치(30)는 리드동작이 연속적으로 수행되어 출력되는 내부데이터(도 7의 ID<1:64>)들을 직렬화하여 데이터(DATA)로 출력할 수 있다. ECC연산은 ECC 인코딩동작과 ECC 디코딩동작을 포함할 수 있다. ECC 인코딩동작은 에러정정코드(Error Correction Code, ECC)를 사용하여 라이트동작에서 입력되는 데이터들에 대한 에러정보를 포함하는 패리티신호를 생성하는 동작으로 설정될 수 있다. ECC 디코딩동작은 리드동작에서 내부에 저장된 패리티와 출력되는 데이터에 대한 ECC 인코딩동작을 통해 새로 생성되는 패리티를 비교하여 신드롬(syndrome)을 생성하고, 생성된 신드롬을 이용하여 에러 위치를 파악하며, 위치가 파악된 에러를 정정하는 동작을 포함할 수 있다.
도 2는 반도체시스템(1)에 포함된 컨트롤러(10)의 일 예에 따른 구성을 도시한 블럭도이다. 컨트롤러(10)는 큐잉회로(110), 커맨드생성회로(120), 어드레스생성회로(130) 및 데이터입출력회로(140)를 포함할 수 있다.
큐잉회로(110)는 노멀동작 및 리드모디파이라이트동작에서 리드동작을 수행하기 위한 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)를 저장 및 출력할 수 있다. 큐잉회로(110)는 노멀동작 및 리드모디파이라이트동작에서 라이트동작을 수행하기 위한 라이트어드레스(WAD<1:M>)를 저장 및 출력할 수 있다. 큐잉회로(110)는 노멀동작 및 리드모디파이라이트동작에서 리드동작의 순서를 결정하여 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)를 출력할 수 있다. 큐잉회로(110)는 일반적인 호스트(HOST)에서 반도체장치(30)의 동작을 제어하기 위한 커맨드와 어드레스를 저장 및 출력하고, 동작순서를 결정하는 큐잉회로로 구현될 수 있다. 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>), 제4 리드어드레스(RAD4<1:M>) 및 라이트어드레스(WAD<1:M>)의 비트수 "M"은 자연수로 설정될 수 있다.
커맨드생성회로(120)는 노멀동작 및 리드모디파이라이트동작을 수행하기 위한 로직레벨 조합을 갖는 커맨드(CMD<1:L>)를 생성할 수 있다. 커맨드생성회로(120)는 리드라이트진입신호(NRW)가 인에이블될 때 리드모디파이라이트동작에서 연속적인 리드동작 및 라이트동작을 수행하기 위한 로직레벨 조합을 갖는 커맨드(CMD<1:L>)를 생성할 수 있다. 커맨드생성회로(120)는 노멀동작에서 액티브동작, 리드동작, 라이트동작 및 프리차지동작 등을 수행하기 위한 로직레벨 조합을 갖는 커맨드(CMD<1:L>)를 생성할 수 있다. 커맨드(CMD<1:L>)의 비트수 "L"은 자연수로 설정될 수 있다.
어드레스생성회로(130)는 리드동작을 수행하기 위한 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)들이 서로 인접한 영역을 선택하기 위한 로직레벨 조합일 때 인에이블되는 리드라이트진입신호(NRW)를 생성할 수 있다. 어드레스생성회로(130)는 리드동작을 수행하기 위한 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)들을 어드레스(ADD<1:M>)로 순차적으로 출력할 수 있다. 어드레스생성회로(130)는 라이트동작을 수행하기 라이트어드레스(WAD<1:M>)를 어드레스(ADD<1:M>)로 출력할 수 있다.
데이터입출력회로(140)는 리드동작에서 반도체장치(30)로부터 데이터(DATA<1:64>)를 수신할 수 있다. 데이터입출력회로(140)는 라이트동작에서 데이터(DATA<1:64>)를 반도체장치(30)로 출력할 수 있다.
도 3은 컨트롤러(10)에 포함된 어드레스생성회로(130)의 일 예에 따른 구성을 도시한 블럭도이다. 어드레스생성회로(130)는 리드어드레스비교회로(131), 라이트어드레스비교회로(132) 및 어드레스제어회로(133)를 포함할 수 있다.
리드어드레스비교회로(131)는 리드동작을 수행하기 위한 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)들을 비교하여 리드뱅크감지신호(RBKE), 리드로우감지신호(RRWE), 리드인접신호(RCLA), 데이터연속신호(NDP) 및 최소어드레스신호(SMA)를 생성할 수 있다.
라이트어드레스비교회로(132)는 리드동작을 수행하기 위한 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)들과 라이트동작을 수행하기 위한 라이트어드레스(WAD<1:M>)를 비교하여 라이트뱅크감지신호(WBKE), 라이트로우감지신호(WRWE) 및 매칭신호(WMA)를 생성할 수 있다.
어드레스제어회로(133)는 리드뱅크감지신호(RBKE), 리드로우감지신호(RRWE), 리드인접신호(RCLA), 데이터연속신호(NDP), 최소어드레스신호(SMA), 라이트뱅크감지신호(WBKE), 라이트로우감지신호(WRWE) 및 매칭신호(WMA)를 토대로 리드라이트진입신호(NRW)를 생성할 수 있다. 어드레스제어회로(133)는 리드동작 시 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)들로부터 어드레스(ADD<1:M>)를 생성할 수 있다. 어드레스제어회로(133)는 라이트동작 시 최소어드레스신호(SMA) 및 라이트어드레스(WAD<1:M>)로부터 어드레스(ADD<1:M>)를 생성할 수 있다.
도 4는 어드레스생성회로(130)에 포함된 리드어드레스비교회로(131)의 일 예에 따른 구성을 도시한 블럭도이다. 리드어드레스비교회로(131)는 리드뱅크감지회로(131_1), 리드로우감지회로(131_2), 리드인접감지회로(131_3), 데이터연속신호생성회로(131_4) 및 최소어드레스신호생성회로(131_5)를 포함할 수 있다.
리드뱅크감지회로(131_1)는 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)에 포함된 제1 그룹의 비트들의 로직레벨 조합이 동일할 때 인에이블되는 리드뱅크감지신호(RBKE)를 생성할 수 있다. 리드뱅크감지회로(131_1)는 제1 리드어드레스의 제1 내지 제4 비트(RAD1<1:4>), 제2 리드어드레스의 제1 내지 제4 비트(RAD2<1:4>), 제3 리드어드레스의 제1 내지 제4 비트(RAD3<1:4>) 및 제4 리드어드레스의 제1 내지 제4 비트(RAD4<1:4>)의 로직레벨 조합이 동일할 때 로직하이레벨로 인에이블되는 리드뱅크감지신호(RBKE)를 생성할 수 있다. 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)에 포함된 제1 그룹의 제1 내지 제4 비트들은 코어영역(도 7의 340)에 포함된 제1 뱅크(도 8의 341), 제2 뱅크(도 8의 342), 제3 뱅크(도 8의 343) 및 제4 뱅크(도 8의 344)를 선택하기 위한 비트로 설정될 수 있다.
리드로우감지회로(131_2)는 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)에 포함된 제2 그룹의 비트들의 로직레벨 조합이 동일할 때 인에이블되는 리드로우감지신호(RRWE)를 생성할 수 있다. 리드로우감지회로(131_2)는 제1 리드어드레스의 제5 내지 제12 비트(RAD1<5:12>), 제2 리드어드레스의 제5 내지 제12 비트(RAD2<5:12>), 제3 리드어드레스의 제5 내지 제12 비트(RAD3<5:12>) 및 제4 리드어드레스의 제5 내지 제12 비트(RAD4<5:12>)의 로직레벨 조합이 동일할 때 로직하이레벨로 인에이블되는 리드로우감지신호(RRWE)를 생성할 수 있다. 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)에 포함된 제2 그룹의 제5 내지 제12 비트들은 제1 뱅크(도 8의 341), 제2 뱅크(도 8의 342), 제3 뱅크(도 8의 343) 및 제4 뱅크(도 8의 344)에 포함된 워드라인들(WL1~WL8)을 선택하기 위한 비트로 설정될 수 있다.
리드인접감지회로(131_3)는 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)에 포함된 제3 그룹의 비트들의 로직레벨 조합이 인접한 영역을 선택하기 위한 로직레벨 조합일 때 인에이블되는 리드인접신호(RCLA)를 생성할 수 있다. 리드인접감지회로(131_3)는 제1 리드어드레스의 제13 내지 제20 비트(RAD1<13:20>), 제2 리드어드레스의 제13 내지 제20 비트(RAD2<13:20>), 제3 리드어드레스의 제13 내지 제20 비트(RAD3<13:20>) 및 제4 리드어드레스의 제13 내지 제20 비트(RAD4<13:20>)의 로직레벨 조합이 인접한 영역을 선택하기 위한 로직레벨 조합일 때 로직하이레벨로 인에이블되는 리드인접신호(RCLA)를 생성할 수 있다. 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)에 포함된 제3 그룹의 제13 내지 제20 비트들은 제1 뱅크(도 8의 341), 제2 뱅크(도 8의 342), 제3 뱅크(도 8의 343) 및 제4 뱅크(도 8의 344)에 포함된 비트라인들(BL1~BL8)을 선택하기 위한 비트로 설정될 수 있다.
데이터연속신호생성회로(131_4)는 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)에 대하여 리드동작을 연속적으로 수행할 수 있을 때 인에이블되는 데이터연속신호(NDP)를 생성할 수 있다. 데이터연속신호생성회로(131_4)는 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)에 대한 리드동작 중간에 또 다른 동작이 없을 때 로직하이레벨로 인에이블되는 데이터연속신호(NDP)를 생성할 수 있다.
최소어드레스신호생성회로(131_5)는 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>) 중 가장 작은 리드어드레스를 감지하여 인에이블되는 최소어드레스신호(SMA)를 생성할 수 있다. 최소어드레스신호생성회로(131_5)는 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>) 중 제1 리드어드레스(RAD1<1:M>)가 동일한 뱅크의 동일한 워드라인을 활성화하기 위한 로직레벨 조합이고 가장 낮은 비트라인이 선택되는 경우일 때 로직하이레벨로 인에이블되는 최소어드레스신호(SMA)를 생성할 수 있다. 예를 들어, 최소어드레스신호생성회로(131_5)는 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)가 제1 뱅크(도 9의 341)의 제2 워드라인(도 9의 WL2)을 활성화하기 위한 로직레벨 조합이고 이때 제1 리드어드레스(RAD1<1:M>)가 제2 비트라인(BL2)를 활성화하기 위한 로직레벨 조합이고, 제2 리드어드레스(RAD2<1:M>)가 제3 비트라인(BL3)를 활성화하기 위한 로직레벨 조합이며, 제3 리드어드레스(RAD3<1:M>)가 제4 비트라인(BL4)를 활성화하기 위한 로직레벨 조합이고, 제4 리드어드레스(RAD4<1:M>)가 제5 비트라인(BL5)를 활성화하기 위한 로직레벨 조합일 때 로직하이레벨로 인에이블되는 최소어드레스신호(SMA)를 생성할 수 있다.
도 5는 어드레스생성회로(130)에 포함된 라이트어드레스비교회로(132)의 일 예에 따른 구성을 도시한 블럭도이다. 라이트어드레스비교회로(132)는 라이트뱅크감지회로(132_1), 라이트로우감지회로(132_2) 및 매칭신호생성회로(132_3)를 포함할 수 있다.
라이트뱅크감지회로(132_1)는 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>), 제4 리드어드레스(RAD4<1:M>) 및 라이트어드레스(WAD<1:M>)에 포함된 제1 그룹의 비트들의 로직레벨 조합이 동일할 때 인에이블되는 라이트뱅크감지신호(WBKE)를 생성할 수 있다. 라이트뱅크감지회로(132_1)는 제1 리드어드레스의 제1 내지 제4 비트(RAD1<1:4>), 제2 리드어드레스의 제1 내지 제4 비트(RAD2<1:4>), 제3 리드어드레스의 제1 내지 제4 비트(RAD3<1:4>), 제4 리드어드레스의 제1 내지 제4 비트(RAD4<1:4>) 및 라이트어드레스의 제1 내지 제4 비트(WAD4<1:4>)의 로직레벨 조합이 동일할 때 로직하이레벨로 인에이블되는 라이트뱅크감지신호(WBKE)를 생성할 수 있다. 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>), 제4 리드어드레스(RAD4<1:M>) 및 라이트어드레스(WAD<1:M>)에 포함된 제1 그룹의 제1 내지 제4 비트들은 코어영역(도 7의 340)에 포함된 제1 뱅크(도 8의 341), 제2 뱅크(도 8의 342), 제3 뱅크(도 8의 343) 및 제4 뱅크(도 8의 344)를 선택하기 위한 비트로 설정될 수 있다.
라이트로우감지회로(132_2)는 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>), 제4 리드어드레스(RAD4<1:M>) 및 라이트어드레스(WAD<1:M>)에 포함된 제2 그룹의 비트들의 로직레벨 조합이 동일할 때 인에이블되는 라이트로우감지신호(WRWE)를 생성할 수 있다. 라이트로우감지회로(132_2)는 제1 리드어드레스의 제5 내지 제12 비트(RAD1<5:12>), 제2 리드어드레스의 제5 내지 제12 비트(RAD2<5:12>), 제3 리드어드레스의 제5 내지 제12 비트(RAD3<5:12>), 제4 리드어드레스의 제5 내지 제12 비트(RAD4<5:12>) 및 라이트어드레스의 제5 내지 제12 비트(WAD<4:12>)의 로직레벨 조합이 동일할 때 로직하이레벨로 인에이블되는 라이트로우감지신호(WRWE)를 생성할 수 있다. 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>), 제4 리드어드레스(RAD4<1:M>) 및 라이트어드레스(WAD<1:M>)에 포함된 제2 그룹의 제5 내지 제12 비트들은 제1 뱅크(도 8의 341), 제2 뱅크(도 8의 342), 제3 뱅크(도 8의 343) 및 제4 뱅크(도 8의 344)에 포함된 워드라인들(WL1~WL8)을 선택하기 위한 비트로 설정될 수 있다.
매칭신호생성회로(132_3)는 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>) 중 어느 하나와 라이트어드레스(WAD<1:M>)의 로직레벨 조합이 동일할 때 로직하이레벨로 인에이블되는 매칭신호(WMA)를 생성할 수 있다. 예를 들어, 매칭신호생성회로(132_3)는 제1 리드어드레스(RAD1<1:M>)와 라이트어드레스(WAD<1:M>)의 로직레벨 조합이 동일할 때 로직하이레벨로 인에이블되는 매칭신호(WMA)를 생성할 수 있다.
도 6는 어드레스생성회로(130)에 포함된 어드레스제어회로(133)의 일 예에 따른 구성을 도시한 도면이다. 어드레스제어회로(133)는 리드라이트진입신호생성회로(133_1) 및 어드레스출력회로(133_2)를 포함할 수 있다.
리드라이트진입신호생성회로(133_1)는 앤드게이트들(210<1>,210<2>,210<3>)로 구현될 수 있다. 리드라이트진입신호생성회로(133_1)는 리드뱅크감지신호(RBKE), 리드로우감지신호(RRWE), 리드인접신호(RCLA), 데이터연속신호(NDP), 라이트뱅크감지신호(WBKE), 라이트로우감지신호(WRWE) 및 매칭신호(WMA)의 로직레벨 조합에 따라 리드라이트진입신호(NRW)를 생성할 수 있다. 리드라이트진입신호생성회로(133_1)는 리드뱅크감지신호(RBKE), 리드로우감지신호(RRWE), 리드인접신호(RCLA), 데이터연속신호(NDP), 라이트뱅크감지신호(WBKE), 라이트로우감지신호(WRWE) 및 매칭신호(WMA)가 모두 로직하이레벨로 인에이블될 때 로직하이레벨로 인에이블되는 리드라이트진입신호(NRW)를 생성할 수 있다.
어드레스출력회로(133_2)는 앤드게이트(220<1>), 제1 멀티플렉서(220<2>) 및 제2 멀티플렉서(220<3>)로 구현될 수 있다. 앤드게이트(220<1>)는 라이트인에이블신호(WTE)와 최소어드레스신호(SMA)가 로직하이레벨로 인에이블될 때 라이트어드레스(WAD<1:M>)를 버퍼링하여 라이트전달어드레스(WTA<1:M>)를 생성할 수 있다. 도 6에 도시된 앤드게이트(220<1>)는 하나로 도시되어 있지만 라이트어드레스(WAD<1:M>)의 비트수인 M개로 구현되어 라이트인에이블신호(WTE)와 최소어드레스신호(SMA)가 로직하이레벨로 인에이블될 때 M비트의 라이트어드레스(WAD<1:M>)를 버퍼링하여 M비트의 라이트전달어드레스(WTA<1:M>)를 생성하도록 구현될 수 있다. 제1 멀티플렉서(220<2>)는 리드인에이블신호(RDE)가 로직하이레벨로 인에이블될 때 제1 리드어드레스(RAD1<1:M>), 제2 리드어드레스(RAD2<1:M>), 제3 리드어드레스(RAD3<1:M>) 및 제4 리드어드레스(RAD4<1:M>)를 순차적으로 리드전달어드레스(RTA<1:M>)로 출력할 수 있다. 제2 멀티플렉서(220<3>)는 라이트인에이블신호(WTE)가 로직하이레벨로 인에이블될 때 라이트전달어드레스(WTA<1:M>)를 어드레스(ADD<1:M>)로 출력할 수 있다. 제2 멀티플렉서(220<3>)는 리드인에이블신호(RDE)가 로직하이레벨로 인에이블될 때 리드전달어드레스(RTA<1:M>)를 어드레스(ADD<1:M>)로 출력할 수 있다. 라이트인에이블신호(WTE)는 노멀동작 및 리드모디파이라이트동작에서 라이트동작 시 로직하이레벨로 인에이블되는 신호로 설정될 수 있다. 리드인에이블신호(RDE)는 노멀동작 및 리드모디파이라이트동작에서 리드동작 시 로직하이레벨로 인에이블되는 신호로 설정될 수 있다.
도 7은 반도체시스템(1)에 포함된 반도체장치(30)의 일 예에 따른 구성을 도시한 블럭도이다. 반도체장치(30)는 커맨드디코더(310), 어드레스디코더(320), 데이터저장회로(330), 코어영역(340), 데이터처리회로(350) 및 에러정정회로(360)를 포함할 수 있다.
커맨드디코더(310)는 커맨드(CMD<1:L>)를 디코딩하여 액티브신호(ACT), 리드신호(RD), 라이트신호(WT), 프리차지신호(PCG) 및 리드라이트인에이블신호(NRWEN)를 생성할 수 있다. 커맨드디코더(310)는 커맨드(CMD<1:L>)의 로직레벨 조합이 리드모디파이라이트동작을 수행하기 위한 로직레벨 조합일 때 리드신호(RD)를 연속적으로 생성할 수 있다. 커맨드디코더(310)는 커맨드(CMD<1:L>)의 로직레벨 조합이 리드모디파이라이트동작을 수행하기 위한 로직레벨 조합일 때 리드신호(RD)를 모두 생성한 이후 라이트신호(WT)를 생성할 수 있다. 커맨드디코더(310)는 커맨드(CMD<1:L>)의 로직레벨 조합이 리드모디파이라이트동작을 수행하기 위한 로직레벨 조합일 때 리드라이트인에이블신호(NRWEN)를 생성할 수 있다. 커맨드디코더(310)는 커맨드(CMD<1:L>)의 로직레벨 조합이 노멀동작의 액티브동작을 수행하기 위한 로직레벨 조합일 때 액티브신호(ACT)를 생성할 수 있다. 커맨드디코더(310)는 커맨드(CMD<1:L>)의 로직레벨 조합이 노멀동작의 리드동작을 수행하기 위한 로직레벨 조합일 때 리드신호(RD)를 생성할 수 있다. 커맨드디코더(310)는 커맨드(CMD<1:L>)의 로직레벨 조합이 노멀동작의 라이트동작을 수행하기 위한 로직레벨 조합일 때 라이트신호(WT)를 생성할 수 있다. 커맨드디코더(310)는 커맨드(CMD<1:L>)의 로직레벨 조합이 노멀동작의 프리차지동작을 수행하기 위한 로직레벨 조합일 때 프리차지신호(PCG)를 생성할 수 있다. 커맨드(CMD<1:L>)의 비트수 "L"은 자연수로 설정될 수 있다. 커맨드디코더(310)는 실시예에 따라 커맨드(CMD<1:L>)를 디코딩하여 다양한 동작을 수행하기 위한 다양한 신호를 생성하도록 구현될 수 있다.
어드레스디코더(320)는 어드레스(ADD<1:M>)를 토대로 뱅크어드레스(BKA<1:4>), 로우어드레스(RAD<1:8>) 및 컬럼어드레스(CAD<1:8>)를 생성할 수 있다. 어드레스디코더(320)는 어드레스의 제1 내지 제4 비트(ADD<1:4>)로부터 뱅크어드레스의 제1 내지 제4 비트(BKA<1:4>)를 생성할 수 있다. 어드레스디코더(320)는 어드레스의 제5 내지 제12 비트(ADD<5:12>)로부터 로우어드레스의 제1 내지 제8 비트(RAD<1:8>)를 생성할 수 있다. 어드레스디코더(320)는 어드레스의 제13 내지 제20 비트(ADD<13:20>)로부터 컬럼어드레스의 제1 내지 제8 비트(CAD<1:8>)를 생성할 수 있다. 어드레스디코더(320)는 실시예에 따라 어드레스(ADD<1:M>)를 디코딩하여 다양한 비트를 포함하는 뱅크어드레스, 로우어드레스 및 컬럼어드레스를 생성하도록 구현될 수 있다.
데이터저장회로(330)는 리드모디파이라이트동작 시 로컬입출력라인(LIO)에 실린 내부데이터(ID<1:64>)를 라이트데이터(WD<1:64>)로 저장할 수 있다. 데이터저장회로(330)는 리드라이트인에이블신호(NRWEN)가 인에이블될 때 데이터(DATA<1:64>)로부터 생성되는 내부데이터(ID<1:64>)를 라이트데이터(WD<1:64>)로 저장할 수 있다. 데이터저장회로(330)는 저장완료신호(STC)가 인에이블될 때 저장된 라이트데이터(WD<1:64>)를 에러정정회로(360)로 출력할 수 있다. 저장완료신호(STC)는 라이트데이터(WD<1:64>)의 모든 비트들에 대한 저장이 완료될 때 인에이블되는 신호로 설정될 수 있다.
코어영역(340)는 액티브신호(ACT)가 인에이블될 때 액티브동작을 수행할 수 있다. 코어영역(340)는 액티브신호(ACT)가 인에이블될 때 뱅크어드레스(BKA<1:4>)에 의해 제1 내지 제4 뱅크(도 8의 341,342,343,344) 중 어느 하나가 활성화될 수 있다. 코어영역(340)는 리드신호(RD)가 인에이블될 때 리드동작을 수행할 수 있다. 코어영역(340)는 리드신호(RD)가 인에이블될 때 뱅크어드레스(BKA<1:4>), 로우어드레스(RAD<1:8>) 및 컬럼어드레스(CAD<1:8>)에 의해 활성화된 뱅크의 메모리셀에 저장된 내부데이터(ID<1:64>)를 로컬입출력라인(LIO)으로 출력할 수 있다. 코어영역(340)는 리드신호(RD)가 인에이블될 때 뱅크어드레스(BKA<1:4>), 로우어드레스(RAD<1:8>) 및 컬럼어드레스(CAD<1:8>)에 의해 활성화된 뱅크의 메모리셀에 저장된 내부패리티(IP<1:8>)를 에러정정회로(360)으로 출력할 수 있다. 코어영역(340)는 라이트신호(WT)가 인에이블될 때 라이트동작을 수행할 수 있다. 코어영역(340)는 라이트신호(WT)가 인에이블될 때 뱅크어드레스(BKA<1:4>), 로우어드레스(RAD<1:8>) 및 컬럼어드레스(CAD<1:8>)에 의해 활성화된 뱅크의 메모리셀에 로컬입출력라인(LIO)에 실린 내부데이터(ID<1:64>)를 저장할 수 있다. 코어영역(340)는 라이트신호(WT)가 인에이블될 때 뱅크어드레스(BKA<1:4>), 로우어드레스(RAD<1:8>) 및 컬럼어드레스(CAD<1:8>)에 의해 활성화된 뱅크의 메모리셀에 에러정정회로(360)으로부터 입력되는 패리티(PRT<1:8>)를 저장할 수 있다. 코어영역(340)는 프리차지신호(PCG)가 인에이블될 때 프리차지동작을 수행할 수 있다. 코어영역(340)는 프리차지신호(PCG)가 인에이블될 때 제1 내지 제4 뱅크(도 8의 341,342,343,344)에 포함된 비트라인들(도 9의 BL1~BL8)을 설정된 전압레벨로 구동할 수 있다. 액티브동작은 제1 내지 제4 뱅크(도 8의 341,342,343,344) 중 어느 하나가 활성화되는 동작으로 설정될 수 있다. 리드동작은 제1 내지 제4 뱅크(도 8의 341,342,343,344)에 저장된 내부데이터를 출력하는 동작으로 설정될 수 있다. 라이트동작은 제1 내지 제4 뱅크(도 8의 341,342,343,344)에 내부데이터를 저장하는 동작으로 설정될 수 있다. 프리차지동작은 제1 내지 제4 뱅크(도 8의 341,342,343,344)에 포함된 비트라인들을 설정된 전압레벨로 구동하는 동작으로 설정될 수 있다.
데이터처리회로(350)는 리드모디파이라이트동작에서 리드동작 시 정정데이터(CD<1:64>)를 직렬화하여 데이터(DATA<1:64>)로 출력할 수 있다. 데이터처리회로(350)는 리드모디파이라이트동작에서 리드동작 시 데이터(DATA<1:64>)를 글로벌입출력라인(GIO)으로 출력할 수 있다. 데이터처리회로(350)는 리드모디파이라이트동작에서 라이트동작 시 컨트롤러(10)로부터 입력되는 데이터(DATA<1:64>)로부터 내부데이터(ID<1:64>)를 생성하고, 내부데이터(ID<1:64>)를 로컬입출력라인(LIO)으로 출력할 수 있다. 데이터처리회로(350)는 노멀동작에서 리드동작 시 정정데이터(CD<1:64>)를 직렬화하여 데이터(DATA<1:64>)로 출력할 수 있다. 데이터처리회로(350)는 노멀동작에서 리드동작 시 데이터(DATA<1:64>)를 글로벌입출력라인(GIO)으로 출력할 수 있다. 데이터처리회로(350)는 노멀동작에서 라이트동작 시 컨트롤러(10)로부터 입력되는 데이터(DATA<1:64>)로부터 내부데이터(ID<1:64>)를 생성하고, 내부데이터(ID<1:64>)를 로컬입출력라인(LIO)으로 출력할 수 있다.
에러정정회로(360)는 리드모디파이라이트동작에서 리드동작 시 코어영역(340)으로부터 로컬입출력라인(LIO)에 실린 내부데이터(ID<1:64>)를 순차적으로 저장할 수 있다. 에러정정회로(360)는 리드모디파이라이트동작에서 리드동작 시 순차적으로 저장된 내부데이터(ID<1:64>)를 정정데이터(CD<1:64>)로 순차적으로 출력할 수 있다. 에러정정회로(360)는 리드모디파이라이트동작에서 저장완료신호(STC)가 인에이블될 때 순차적으로 저장된 내부데이터(ID<1:64>)와 라이트데이터(WD<1:64>)에 대한 ECC 연산을 수행하여 패리티(PRT<1:8>)를 생성할 수 있다. 에러정정회로(360)는 리드모디파이라이트동작에서 저장완료신호(STC)가 인에이블될 때 순차적으로 4회 저장된 내부데이터들의 256비트와 라이트데이터의 64비트에 대한 ECC연산을 수행하여 패리티(PRT<1:8>)를 생성할 수 있다. 에러정정회로(360)는 라이트데이터(WD<1:64>)에 대한 패리티(PRT<1:8>)를 생성하기 위해서는 256비트의 데이터가 필요하도록 구현될 수 있다. 에러정정회로(360)는 노멀동작의 리드동작 시 코어영역(340)으로부터 출력되는 내부패리티(IP<1:8>)와 로컬입출력라인(LIO)에 실린 내부데이터(ID<1:64>)를 토대로 내부데이터(ID<1:64>)에 포함된 에러를 정정하여 정정데이터(CD<1:64>)를 생성할 수 있다.
도 8은 반도체장치(30)에 포함된 코어영역(340)의 일 예에 따른 구성을 도시한 블럭도이다. 코어영역(340)는 제1 뱅크(BK1: 341), 제2 뱅크(BK2: 342), 제3 뱅크(BK3: 343), 제4 뱅크(BK4: 344) 및 내부제어회로(345)를 포함할 수 있다.
제1 뱅크(341)는 액티브동작 시 뱅크어드레스의 제1 비트(BKA<1>)가 인에이블될 때 활성화될 수 있다. 제1 뱅크(341)는 리드동작 시 뱅크어드레스의 제1 비트(BKA<1>)가 인에이블되고 로우어드레스(RAD<1:8>)와 컬럼어드레스(CAD<1:8>)에 의해 선택되는 메모리셀(도 9의 MC)에 저장된 내부데이터(ID<1:64>)를 로컬입출력라인(LIO)으로 출력할 수 있다. 제1 뱅크(341)는 라이트동작 시 뱅크어드레스의 제1 비트(BKA<1>)가 인에이블되고 로우어드레스(RAD<1:8>)와 컬럼어드레스(CAD<1:8>)에 의해 선택되는 메모리셀(도 9의 MC)에 로컬입출력라인(LIO)에 실린 내부데이터(ID<1:64>)를 저장할 수 있다. 제1 뱅크(341)는 프리차지동작 시 내부에 포한된 비트라인들(도 9의 BL1~BL8)을 설정된 전압레벨로 구동할 수 있다.
제2 뱅크(342)는 액티브동작 시 뱅크어드레스의 제2 비트(BKA<2>)가 인에이블될 때 활성화될 수 있다. 제2 뱅크(342)는 리드동작 시 뱅크어드레스의 제2 비트(BKA<2>)가 인에이블되고 로우어드레스(RAD<1:8>)와 컬럼어드레스(CAD<1:8>)에 의해 선택되는 메모리셀(도 9의 MC)에 저장된 내부데이터(ID<1:64>)를 로컬입출력라인(LIO)으로 출력할 수 있다. 제2 뱅크(342)는 라이트동작 시 뱅크어드레스의 제2 비트(BKA<2>)가 인에이블되고 로우어드레스(RAD<1:8>)와 컬럼어드레스(CAD<1:8>)에 의해 선택되는 메모리셀(도 9의 MC)에 로컬입출력라인(LIO)에 실린 내부데이터(ID<1:64>)를 저장할 수 있다. 제2 뱅크(342)는 프리차지동작 시 내부에 포한된 비트라인들(도 9의 BL1~BL8)을 설정된 전압레벨로 구동할 수 있다.
제3 뱅크(343)는 액티브동작 시 뱅크어드레스의 제3 비트(BKA<3>)가 인에이블될 때 활성화될 수 있다. 제3 뱅크(343)는 리드동작 시 뱅크어드레스의 제3 비트(BKA<3>)가 인에이블되고 로우어드레스(RAD<1:8>)와 컬럼어드레스(CAD<1:8>)에 의해 선택되는 메모리셀(도 9의 MC)에 저장된 내부데이터(ID<1:64>)를 로컬입출력라인(LIO)으로 출력할 수 있다. 제3 뱅크(343)는 라이트동작 시 뱅크어드레스의 제3 비트(BKA<3>)가 인에이블되고 로우어드레스(RAD<1:8>)와 컬럼어드레스(CAD<1:8>)에 의해 선택되는 메모리셀(도 9의 MC)에 로컬입출력라인(LIO)에 실린 내부데이터(ID<1:64>)를 저장할 수 있다. 제3 뱅크(343)는 프리차지동작 시 내부에 포한된 비트라인들(도 9의 BL1~BL8)을 설정된 전압레벨로 구동할 수 있다.
제4 뱅크(344)는 액티브동작 시 뱅크어드레스의 제4 비트(BKA<4>)가 인에이블될 때 활성화될 수 있다. 제4 뱅크(344)는 리드동작 시 뱅크어드레스의 제4 비트(BKA<4>)가 인에이블되고 로우어드레스(RAD<1:8>)와 컬럼어드레스(CAD<1:8>)에 의해 선택되는 메모리셀(도 9의 MC)에 저장된 내부데이터(ID<1:64>)를 로컬입출력라인(LIO)으로 출력할 수 있다. 제4 뱅크(344)는 라이트동작 시 뱅크어드레스의 제4 비트(BKA<4>)가 인에이블되고 로우어드레스(RAD<1:8>)와 컬럼어드레스(CAD<1:8>)에 의해 선택되는 메모리셀(도 9의 MC)에 로컬입출력라인(LIO)에 실린 내부데이터(ID<1:64>)를 저장할 수 있다. 제4 뱅크(344)는 프리차지동작 시 내부에 포한된 비트라인들(도 9의 BL1~BL8)을 설정된 전압레벨로 구동할 수 있다.
내부제어회로(345)는 액티브신호(ACT)가 인에이블될 때 제1 뱅크(341), 제2 뱅크(342), 제3 뱅크(343) 및 제4 뱅크(344)의 액티브동작을 제어할 수 있다. 내부제어회로(345)는 리드신호(RD)가 인에이블될 때 제1 뱅크(341), 제2 뱅크(342), 제3 뱅크(343) 및 제4 뱅크(344)의 리드동작을 제어할 수 있다. 내부제어회로(345)는 라이트신호(WT)가 인에이블될 때 제1 뱅크(341), 제2 뱅크(342), 제3 뱅크(343) 및 제4 뱅크(344)의 라이트동작을 제어할 수 있다. 내부제어회로(345)는 프리차지신호(PCG)가 인에이블될 때 제1 뱅크(341), 제2 뱅크(342), 제3 뱅크(343) 및 제4 뱅크(344)의 프리차지동작을 제어할 수 있다. 내부제어회로(345)는 제1 뱅크(341), 제2 뱅크(342), 제3 뱅크(343) 및 제4 뱅크(344)와 전기적으로 연결되어 제1 뱅크(341), 제2 뱅크(342), 제3 뱅크(343) 및 제4 뱅크(344)의 동작을 제어할 수 있다. 내부제어회로(345)는 제1 뱅크(341), 제2 뱅크(342), 제3 뱅크(343) 및 제4 뱅크(344)의 동작을 제어하는 다양한 회로를 포함하도록 구현될 수 있다.
도 9는 코어영역(340에 포함된 제1 뱅크(341)의 일 예에 따른 구성을 도시한 도면이다.
제1 뱅크(341)는 제1 내지 제8 워드라인(WL1~WL8)과 제1 내지 제8 비트라인(BL1~BL8)을 포함하고, 제1 내지 제8 워드라인(WL1~WL8)과 제1 내지 제8 비트라인(BL1~BL8)이 교차하는 위치에 연결되는 다수의 메모리셀(MC)을 포함하도록 구현될 수 있다.
제1 뱅크(341)는 액티브동작 시 뱅크어드레스의 제1 비트(BKA<1>)가 인에이블될 때 활성화될 수 있다. 제1 뱅크(341)는 리드동작 시 뱅크어드레스의 제1 비트(BKA<1>)가 인에이블되고 로우어드레스(RAD<1:8>)와 컬럼어드레스(CAD<1:8>)에 의해 선택되는 메모리셀(MC)에 저장된 내부데이터(ID<1:64>)를 로컬입출력라인(LIO)으로 출력할 수 있다. 제1 뱅크(341)는 라이트동작 시 뱅크어드레스의 제1 비트(BKA<1>)가 인에이블되고 로우어드레스(RAD<1:8>)와 컬럼어드레스(CAD<1:8>)에 의해 선택되는 메모리셀(MC)에 로컬입출력라인(LIO)에 실린 내부데이터(ID<1:64>)를 저장할 수 있다. 제1 뱅크(341)는 프리차지동작 시 내부에 포한된 비트라인들(BL1~BL8)을 설정된 전압레벨로 구동할 수 있다.
한편, 제2 뱅크(342), 제3 뱅크(343) 및 제4 뱅크(344)는 제1 뱅크(341)와 동일한 구조로 구현되어 동일한 동작을 수행하므로 구체적인 설명은 생략한다.
도 9에 도시된 제1 뱅크(341)를 통해 어드레스(ADD<1:M>)로부터 생성되는 뱅크어드레스의 제1 비트(BKA<1>), 로우어드레스(RAD<1:8>)와 컬럼어드레스(CAD<1:8>)에 의해 인접한 메모리셀(MC)이 선택되는 동작을 설명하면 다음과 같다.
설명에 앞서, 로우어드레스(RAD<1:8>)에 의해 제2 워드라인(WL2)이 활성화되고 컬럼어드레스(CAD<1:8>)에 의해 제2 비트라인(BL2)이 활성화될 때 선택되는 메모리셀(SEL MC)인 경우를 기준으로 설명한다.
어드레스(ADD<1:M>)로부터 생성되는 뱅크어드레스의 제1 비트(BKA<1>), 로우어드레스(RAD<1:8>)와 컬럼어드레스(CAD<1:8>)에 의해 선택되는 메모리셀(SEL MC)보다 낮은 메모리셀(-1)이 선택되는 경우는 로우어드레스(RAD<1:8>)에 의해 제2 워드라인(WL2)이 활성화되고 컬럼어드레스(CAD<1:8>)에 의해 제1 비트라인(BL1)이 활성화되어 메모리셀(MC)이 선택되는 경우를 의미한다.
어드레스(ADD<1:M>)로부터 생성되는 뱅크어드레스의 제1 비트(BKA<1>), 로우어드레스(RAD<1:8>)와 컬럼어드레스(CAD<1:8>)에 의해 선택되는 메모리셀(SEL MC)보다 높은 메모리셀(+1)이 선택되는 경우는 로우어드레스(RAD<1:8>)에 의해 제2 워드라인(WL2)이 활성화되고 컬럼어드레스(CAD<1:8>)에 의해 제3 비트라인(BL3)이 활성화되어 메모리셀(MC)이 선택되는 경우를 의미한다.
한편, 도 9에서는 인접한 영역의 메모리셀을 선택하기 위해 바로 옆의 메모리셀(MC)을 선택하는 경우만 도시되어 있지만 실시예에 따라 2번째 옆의 메모리셀(MC)을 선택하도록 구현될 수도 있다.
도 9에 도시된 제1 뱅크(341)에 포함된 워드라인과 비트라인은 각각 8개로 구현되어 있지만 실시예에 따라 다양한 수의 워드라인과 비트라인으로 구현될 수 있다.
도 10은 반도체장치(30)에 포함된 에러정정회로(360)의 일 예에 따른 구성을 도시한 블럭도이다. 에러정정회로(360)는 래치데이터생성회로(361), 패리티생성회로(362), 신드롬생성회로(363) 및 정정데이터생성회로(364)를 포함할 수 있다.
래치데이터생성회로(361)는 리드모디파이라이트동작에서 리드동작 시 연속적으로 입력되는 내부데이터(ID<1:64>)를 래치하여 래치데이터(LD<1:256>)를 생성할 수 있다. 래치데이터생성회로(361)는 리드모디파이라이트동작에서 리드동작 시 첫 번째로 입력되는 내부데이터(ID<1:64>)를 래치하여 래치데이터의 제1 내지 제64 비트(LD<1:64>)를 생성할 수 있다. 래치데이터생성회로(361)는 리드모디파이라이트동작에서 리드동작 시 두 번째로 입력되는 내부데이터(ID<1:64>)를 래치하여 래치데이터의 제65 내지 제128 비트(LD<65:128>)를 생성할 수 있다. 래치데이터생성회로(361)는 리드모디파이라이트동작에서 리드동작 시 세 번째로 입력되는 내부데이터(ID<1:64>)를 래치하여 래치데이터의 제129 내지 제192 비트(LD<129:192>)를 생성할 수 있다. 래치데이터생성회로(361)는 리드모디파이라이트동작에서 리드동작 시 네 번째로 입력되는 내부데이터(ID<1:64>)를 래치하여 래치데이터의 제193 내지 제256 비트(LD<193:265>)를 생성할 수 있다. 래치데이터생성회로(361)는 노멀동작에서 리드동작 시 입력되는 내부데이터(ID<1:64>)를 래치하여 래치데이터의 제1 내지 제64 비트(LD<1:64>)를 생성할 수 있다.
패리티생성회로(362)는 저장완료신호(STC)가 인에이블될 때 에러정정코드(Error Correction Code, ECC)를 사용하여 래치데이터(LD<1:256>)와 라이트데이터(WD<1:64>)에 대한 ECC 인코딩동작을 수행하여 패리티(PRT<1:8>)를 생성할 수 있다.
신드롬생성회로(363)는 노멀동작의 리드동작 시 에러정정코드(Error Correction Code, ECC)를 사용하여 코어영역(340)으로부터 출력되는 내부패리티(IP<1:8>)와 내부데이터(ID<1:64>)에 대한 ECC 디코딩동작을 수행하여 신드롬(SYN<1:64>)를 생성할 수 있다.
정정데이터생성회로(364)는 리드라이트인에이블신호(NRWEN)가 인에이블될 때 래치데이터(LD<1:256>)로부터 정정데이터(CD<1:64>)를 생성할 수 있다. 정정데이터생성회로(364)는 리드라이트인에이블신호(NRWEN)가 인에이블될 때 래치데이터(LD<1:256>)를 직렬화하여 정정데이터(CD<1:64>)를 생성할 수 있다. 정정데이터생성회로(364)는 리드라이트인에이블신호(NRWEN)가 인에이블될 때 첫 번째 리드동작 시 생성된 래치데이터의 제1 내지 제64 비트(LD<1:64>)로부터 정정데이터(CD<1:64>)를 생성하여 출력할 수 있다. 정정데이터생성회로(364)는 리드라이트인에이블신호(NRWEN)가 인에이블될 때 두 번째 리드동작 시 생성된 래치데이터의 제65 내지 제128 비트(LD<65:128>)로부터 정정데이터(CD<1:64>)를 생성하여 출력할 수 있다. 정정데이터생성회로(364)는 리드라이트인에이블신호(NRWEN)가 인에이블될 때 세 번째 리드동작 시 생성된 래치데이터의 제129 내지 제192 비트(LD<129:192>)로부터 정정데이터(CD<1:64>)를 생성하여 출력할 수 있다. 정정데이터생성회로(364)는 리드라이트인에이블신호(NRWEN)가 인에이블될 때 네 번째 리드동작 시 생성된 래치데이터의 제193 내지 제256 비트(LD<193:256>)로부터 정정데이터(CD<1:64>)를 생성하여 출력할 수 있다. 즉, 정정데이터생성회로(364)는 리드라이트인에이블신호(NRWEN)가 인에이블될 때 연속적으로 리드동작이 4회 수행되어 생성되는 256 비트의 래치데이터(LD<1:256>)를 직렬화하여 정정데이터(CD<1:64>)를 4회 출력할 수 있다. 정정데이터생성회로(364)는 리드라이트인에이블신호(NRWEN)가 디스에이블될 때 신드롬(SYN<1:64>)를 토대로 래치데이터(LD<1:64>)에 포함된 에러를 정정하여 정정데이터(CD<1:64>)를 생성할 수 있다. 정정데이터생성회로(364)는 리드라이트인에이블신호(NRWEN)가 디스에이블될 때 신드롬(SYN<1:64>) 중 인에이블되는 비트에 대응하는 래치데이터(LD<1:64>)에 포함된 비트를 반전함으로써 래치데이터(LD<1:64>)에 포함된 에러를 정정할 수 있다. 예를 들어, 정정데이터생성회로(364)는 리드라이트인에이블신호(NRWEN)가 디스에이블될 때 신드롬의 제2 비트(SYN<2>)가 로직하이레벨로 인에이블될 때 래치데이터의 제2 비트(LD<2>)를 반전함으로써 래치데이터(LD<1:64>)에 포함된 에러를 정정하고, 에러가 정정된 래치데이터(LD<1:64>)를 정정데이터(CD<1:64>)로 출력할 수 있다.
도 11은 반도체시스템(1)에 포함된 반도체장치(30)의 다른 실시예에 따른 구성을 도시한 블럭도이다. 반도체장치(30_1)는 커맨드디코더(310_1), 어드레스디코더(320_1), 데이터저장회로(330_1), 코어영역(340_1), 데이터처리회로(350_1) 및 에러정정회로(360_1)를 포함할 수 있다.
도 11에 도시된 커맨드디코더(310_1) 및 어드레스디코더(320_1)는 도 7에 도시된 커맨드디코더(310) 및 어드레스디코더(320)와 동일한 동작을 수행하므로 구체적인 설명은 생략한다.
데이터저장회로(330_1)는 리드모디파이라이트동작 시 데이터(DATA<1:64>)를 라이트데이터(WD<1:64>)로 저장할 수 있다. 데이터저장회로(330_1)는 저장완료신호(STC)가 인에이블될 때 저장된 라이트데이터(WD<1:64>)를 에러정정회로(360)로 출력할 수 있다. 데이터저장회로(330_1)는 저장완료신호(STC)가 인에이블될 때 저장된 라이트데이터(WD<1:64>)를 라이트입출력라인(WIO)을 통해 코어영역(340)으로 출력할 수 있다. 저장완료신호(STC)는 라이트데이터(WD<1:64>)의 모든 비트들에 대한 저장이 완료될 때 인에이블되는 신호로 설정될 수 있다.
코어영역(340_1)은 액티브신호(ACT)가 인에이블될 때 액티브동작을 수행할 수 있다. 코어영역(340_1)은 액티브신호(ACT)가 인에이블될 때 뱅크어드레스(BKA<1:4>)에 의해 제1 내지 제4 뱅크(도 8의 341,342,343,344) 중 어느 하나가 활성화될 수 있다. 코어영역(340_1)은 리드신호(RD)가 인에이블될 때 리드동작을 수행할 수 있다. 코어영역(340_1)은 첫 번째 리드신호(RD)가 인에이블될 때 뱅크어드레스(BKA<1:4>), 로우어드레스(RAD<1:8>) 및 컬럼어드레스(CAD<1:8>)에 의해 활성화된 뱅크의 메모리셀에 저장된 제1 내부데이터(ID1<1:64>)를 제1 리드입출력라인(RIO1)으로 출력할 수 있다. 코어영역(340_1)은 두 번째 리드신호(RD)가 인에이블될 때 뱅크어드레스(BKA<1:4>), 로우어드레스(RAD<1:8>) 및 컬럼어드레스(CAD<1:8>)에 의해 활성화된 뱅크의 메모리셀에 저장된 제2 내부데이터(ID2<1:64>)를 제2 리드입출력라인(RIO2)으로 출력할 수 있다. 코어영역(340_1)은 세 번째 리드신호(RD)가 인에이블될 때 뱅크어드레스(BKA<1:4>), 로우어드레스(RAD<1:8>) 및 컬럼어드레스(CAD<1:8>)에 의해 활성화된 뱅크의 메모리셀에 저장된 제3 내부데이터(ID3<1:64>)를 제3 리드입출력라인(RIO3)으로 출력할 수 있다. 코어영역(340_1)은 네 번째 리드신호(RD)가 인에이블될 때 뱅크어드레스(BKA<1:4>), 로우어드레스(RAD<1:8>) 및 컬럼어드레스(CAD<1:8>)에 의해 활성화된 뱅크의 메모리셀에 저장된 제4 내부데이터(ID4<1:64>)를 제4 리드입출력라인(RIO4)으로 출력할 수 있다. 코어영역(340_1)은 리드신호(RD)가 인에이블될 때 뱅크어드레스(BKA<1:4>), 로우어드레스(RAD<1:8>) 및 컬럼어드레스(CAD<1:8>)에 의해 활성화된 뱅크의 메모리셀에 저장된 내부패리티(IP<1:8>)를 에러정정회로(360_1)으로 출력할 수 있다. 코어영역(340_1)은 라이트신호(WT)가 인에이블될 때 라이트동작을 수행할 수 있다. 코어영역(340_1)은 라이트신호(WT)가 인에이블될 때 뱅크어드레스(BKA<1:4>), 로우어드레스(RAD<1:8>) 및 컬럼어드레스(CAD<1:8>)에 의해 활성화된 뱅크의 메모리셀에 라이트입출력라인(WIO)에 실린 라이트데이터(WD<1:64>)를 저장할 수 있다. 코어영역(340_1)은 라이트신호(WT)가 인에이블될 때 뱅크어드레스(BKA<1:4>), 로우어드레스(RAD<1:8>) 및 컬럼어드레스(CAD<1:8>)에 의해 활성화된 뱅크의 메모리셀에 에러정정회로(360_1)으로부터 입력되는 패리티(PRT<1:8>)를 저장할 수 있다. 코어영역(340_1)은 프리차지신호(PCG)가 인에이블될 때 프리차지동작을 수행할 수 있다. 코어영역(340_1)은 프리차지신호(PCG)가 인에이블될 때 제1 내지 제4 뱅크(도 8의 341,342,343,344)에 포함된 비트라인들(도 9의 BL1~BL8)을 설정된 전압레벨로 구동할 수 있다.
데이터처리회로(350_1)는 리드모디파이라이트동작에서 리드동작 시 정정데이터(CD<1:64>)를 직렬화하여 데이터(DATA<1:64>)로 출력할 수 있다. 데이터처리회로(350_1)는 리드모디파이라이트동작에서 리드동작 시 데이터(DATA<1:64>)를 글로벌입출력라인(GIO)으로 출력할 수 있다. 데이터처리회로(350_1)는 노멀동작에서 리드동작 시 정정데이터(CD<1:64>)를 직렬화하여 데이터(DATA<1:64>)로 출력할 수 있다. 데이터처리회로(350_1)는 노멀동작에서 리드동작 시 데이터(DATA<1:64>)를 글로벌입출력라인(GIO)으로 출력할 수 있다. 데이터처리회로(350_1)는 노멀동작에서 라이트동작 시 컨트롤러(10)로부터 입력되는 데이터(DATA<1:64>)로부터 제1 내부데이터(ID1<1:64>)를 생성하고, 제1 내부데이터(ID1<1:64>)를 제1 리드입출력라인(RIO1)으로 출력할 수 있다. 데이터처리회로(350_1)는 노멀동작의 리드동작 및 라이트동작에서 제1 리드입출력라인(RIO1)을 통해 제1 내부데이터(ID1<1:64>)를 입출력하도록 구현되어 있지만 실시예에 따라 제2 리드입출력라인(RIO2), 제3 리드입출력라인(RIO3) 및 제4 리드입출력라인(RIO4)을 통해 내부데이터를 입출력하도록 구현될 수 있다.
에러정정회로(360_1)는 리드모디파이라이트동작에서 첫 번째 리드동작 시 코어영역(340_1)으로부터 제1 리드입출력라인(RIO1)에 실린 제1 내부데이터(ID1<1:64>)를 저장할 수 있다. 에러정정회로(360_1)는 리드모디파이라이트동작에서 두 번째 리드동작 시 코어영역(340_1)으로부터 제2 리드입출력라인(RIO2)에 실린 제2 내부데이터(ID2<1:64>)를 저장할 수 있다. 에러정정회로(360_1)는 리드모디파이라이트동작에서 세 번째 리드동작 시 코어영역(340_1)으로부터 제3 리드입출력라인(RIO3)에 실린 제3 내부데이터(ID3<1:64>)를 저장할 수 있다. 에러정정회로(360_1)는 리드모디파이라이트동작에서 네 번째 리드동작 시 코어영역(340_1)으로부터 제4 리드입출력라인(RIO4)에 실린 제4 내부데이터(ID4<1:64>)를 저장할 수 있다. 에러정정회로(360_1)는 리드모디파이라이트동작에서 리드동작 시 순차적으로 저장된 제1 내부데이터(ID1<1:64>), 제2 내부데이터(ID2<1:64>), 제3 내부데이터(ID3<1:64>) 및 제4 내부데이터(ID4<1:64>)를 정정데이터(CD<1:64>)로 순차적으로 출력할 수 있다. 에러정정회로(360_1)는 리드모디파이라이트동작에서 저장완료신호(STC)가 인에이블될 때 순차적으로 저장된 제1 내부데이터(ID1<1:64>), 제2 내부데이터(ID2<1:64>), 제3 내부데이터(ID3<1:64>) 및 제4 내부데이터(ID4<1:64>)와 라이트데이터(WD<1:64>)에 대한 ECC 연산을 수행하여 패리티(PRT<1:8>)를 생성할 수 있다. 에러정정회로(360_1)는 리드모디파이라이트동작에서 저장완료신호(STC)가 인에이블될 때 제1 내부데이터(ID1<1:64>), 제2 내부데이터(ID2<1:64>), 제3 내부데이터(ID3<1:64>) 및 제4 내부데이터(ID4<1:64>)의 256비트와 라이트데이터의 64비트에 대한 ECC연산을 수행하여 패리티(PRT<1:8>)를 생성할 수 있다. 에러정정회로(360_1)는 라이트데이터(WD<1:64>)에 대한 패리티(PRT<1:8>)를 생성하기 위해서는 256비트의 데이터가 필요하도록 구현될 수 있다. 에러정정회로(360_1)는 노멀동작의 리드동작 시 코어영역(340_1)으로부터 출력되는 내부패리티(IP<1:8>)와 제1 리드입출력라인(RIO1)에 실린 제1 내부데이터(ID1<1:64>)를 토대로 제1 내부데이터(ID1<1:64>)에 포함된 에러를 정정하여 정정데이터(CD<1:64>)를 생성할 수 있다. 에러정정회로(360_1)는 노멀동작의 라이트동작 시 제1 리드입출력라인(RIO1)에 실린 제1 내부데이터(ID1<1:64>)에 대한 ECC연산을 수행하여 패리티(PRT<1:8>)를 생성할 수 있다.
도 11에 도시된 반도체장치(30_1)는 도 7에 도시된 반도체장치(30)와 상이하게 로컬입출력라인(LIO)을 리드동작을 수행하기 위한 제1 리드입출력라인(RIO1), 제2 리드입출력라인(RIO2), 제3 리드입출력라인(RIO3) 및 제4 리드입출력라인(RIO4)과 라이트동작을 수행하기 위한 라이트입출력라인(WIO)으로 구분할 뿐 동일한 동작을 수행하도록 구현될 수 있다.
이와 같은 본 발명의 반도체시스템(1)은 리드동작을 수행하기 위한 다수의 어드레스들이 서로 인접한 영역을 선택하기 위한 로직레벨 조합일 때 리드모디파이라이트동작을 수행할 수 있다.
도 12는 본 발명의 다른 실시 예에 따른 반도체시스템(2)의 구성을 도시한 블록도이다. 반도체시스템(2)는 컨트롤러(50), 제1 반도체장치(70) 및 제2 반도체장치(90)를 포함할 수 있다.
컨트롤러(50)는 제1 칩선택신호(CS1), 제2 칩선택신호(CS2), 커맨드어드레스(CA) 및 데이터(DATA)를 제1 반도체장치(70) 및 제2 반도체장치(90)로 출력할 수 있다. 컨트롤러(50)는 제1 반도체장치(70) 및 제2 반도체장치(90)로부터 데이터(DATA)를 수신할 수 있다. 제1 칩선택신호(CS1)는 제1 반도체장치(70)를 활성화하기 위해 인에이블되는 신호로 설정될 수 있다. 제2 칩선택신호(CS2)는 제2 반도체장치(90)를 활성화하기 위해 인에이블되는 신호로 설정될 수 있다. 커맨드어드레스(CA)는 도 7에 도시된 커맨드(CMD<1:L>)와 어드레스(ADD<1:M>)를 포함하는 신호로 설정될 수 있다. 예를 들어, 제1 칩선택신호(CS1)가 로직하이레벨로 생성될 때 커맨드어드레스(CA)는 커맨드(CMD<1:L>)로 인식될 수 있고, 제1 칩선택신호(CS1)가 로직로우레벨로 생성될 때 커맨드어드레스(CA)는 어드레스(ADD<1:M>)로 인식될 수 있다.
제1 반도체장치(70)는 제1 칩선택신호(CS1)가 인에이블될 때 커맨드어드레스(CA)의 로직레벨 조합에 따라 리드모디파이라이트동작을 수행하고, 데이터(DATA)를 라이트데이터(도 7의 WD<1:64>)로 저장할 수 있다. 제1 반도체장치(70)는 리드모디파이라이트동작 중 리드동작에서 커맨드어드레스(CA)에 의해 선택되는 메모리셀에 저장된 내부데이터(도 7의 ID<1:64>)를 연속적으로 출력하고, 내부데이터(도 7의 ID<1:64>)들과 라이트데이터(도 7의 WD<1:64>)를 토대로 ECC연산을 수행하여 패리티(도 7의 PRT<1:8>)를 생성할 수 있다. 제1 반도체장치(70)는 리드모디파이라이트동작 중 리드동작에서 연속적으로 출력된 내부데이터(도 7의 ID<1:64>)를 직렬화하여 데이터(DATA)로 출력할 수 있다. 제1 반도체장치(70)는 리드모디파이라이트동작 중 라이트동작에서 라이트데이터(도 7의 WD<1:64>)와 패리티(도 7의 PRT<1:8>)를 저장할 수 있다. 제1 반도체장치(70)는 제1 칩선택신호(CS1)가 인에이블될 때 커맨드어드레스(CA)의 로직레벨 조합에 따라 노멀동작의 리드동작 시 커맨드어드레스(CA)에 의해 선택되는 메모리셀에 저장된 내부데이터(도 7의 ID<1:64>)를 데이터(DATA)로 출력할 수 있다. 제1 반도체장치(70)는 제1 칩선택신호(CS1)가 인에이블될 때 커맨드어드레스(CA)의 로직레벨 조합에 따라 노멀동작의 라이트동작 시 커맨드어드레스(CA)에 의해 선택되는 메모리셀에 데이터(DATA)로부터 생성된 내부데이터(도 7의 ID<1:64>)를 저장할 수 있다.
제2 반도체장치(90)는 제2 칩선택신호(CS2)가 인에이블될 때 커맨드어드레스(CA)의 로직레벨 조합에 따라 리드모디파이라이트동작을 수행하고, 데이터(DATA)를 라이트데이터(도 7의 WD<1:64>)로 저장할 수 있다. 제2 반도체장치(90)는 리드모디파이라이트동작 중 리드동작에서 커맨드어드레스(CA)에 의해 선택되는 메모리셀에 저장된 내부데이터(도 7의 ID<1:64>)를 연속적으로 출력하고, 내부데이터(도 7의 ID<1:64>)들과 라이트데이터(도 7의 WD<1:64>)를 토대로 ECC연산을 수행하여 패리티(도 7의 PRT<1:8>)를 생성할 수 있다. 제2 반도체장치(90)는 리드모디파이라이트동작 중 리드동작에서 연속적으로 출력된 내부데이터(도 7의 ID<1:64>)를 직렬화하여 데이터(DATA)로 출력할 수 있다. 제2 반도체장치(90)는 리드모디파이라이트동작 중 라이트동작에서 라이트데이터(도 7의 WD<1:64>)와 패리티(도 7의 PRT<1:8>)를 저장할 수 있다. 제2 반도체장치(90)는 제2 칩선택신호(CS2)가 인에이블될 때 커맨드어드레스(CA)의 로직레벨 조합에 따라 노멀동작의 리드동작 시 커맨드어드레스(CA)에 의해 선택되는 메모리셀에 저장된 내부데이터(도 7의 ID<1:64>)를 데이터(DATA)로 출력할 수 있다. 제2 반도체장치(90)는 제2 칩선택신호(CS2)가 인에이블될 때 커맨드어드레스(CA)의 로직레벨 조합에 따라 노멀동작의 라이트동작 시 커맨드어드레스(CA)에 의해 선택되는 메모리셀에 데이터(DATA)로부터 생성된 내부데이터(도 7의 ID<1:64>)를 저장할 수 있다.
제1 반도체장치(70) 및 제2 반도체장치(90)는 제1 칩선택신호(CS1), 제2 칩선택신호(CS2)에 의해 선택적으로 활성화될 뿐 도 7에 도시된 반도체장치(30)와 동일한 구성으로 구현되어 동일한 동작을 수행하므로 구체적인 설명은 생략한다.
이와 같은 발명의 반도체시스템(2)은 리드동작을 수행하기 위한 다수의 어드레스들이 서로 인접한 영역을 선택하기 위한 로직레벨 조합일 때 리드모디파이라이트동작을 수행할 수 있다. 반도체시스템(2)은 하나의 반도체장치에 대한 리드모디파이라이트동작을 수행하는 구간 동안 또 다른 반도체장치의 노멀동작을 수행함으로써 반도체장치들의 동작 효율을 증가할 수 있다.
도 13을 참고하여 본 발명의 일 실시예에 따른 반도체시스템(2)의 리드모디파이라이트동작 및 노멀동작을 수행하는 동작을 설명하되, 리드모디파이라이트동작에서 리드동작이 2회 수행되는 동작을 예를 들어 설명하면 다음과 같다.
T1 시점에 컨트롤러(50)는 제1 반도체장치(70)의 리드모디파이라이트동작(NRW-SM1)을 수행하기 위한 제1 칩선택신호(CS1)와 커맨드어드레스(CA)를 제1 반도체장치(70)로 출력한다.
T2 시점에, 컨트롤러(50)는 제1 반도체장치(70)의 리드모디파이라이트동작(NRW-SM1)을 수행하기 위한 데이터(DATA = IN-SM1)를 출력한다.
제1 반도체장치(70)는 데이터(DATA)를 수신하고, 데이터(DATA)를 라이트데이터(도 7의 WD<1:64>)로 저장한다. 제1 반도체장치(70)는 리드모디파이라이트동작 중 첫 번째 리드동작에서 커맨드어드레스(CA)에 의해 선택되는 메모리셀에 저장된 내부데이터(도 7의 ID<1:64>)를 출력한다. 제1 반도체장치(70)는 리드모디파이라이트동작 중 두 번째 리드동작에서 커맨드어드레스(CA)에 의해 선택되는 메모리셀에 저장된 내부데이터(도 7의 ID<1:64>)를 출력한다. 제1 반도체장치(70)는 연속적으로 2회 출력되는 내부데이터(도 7의 ID<1:64>)들의 128비트와 라이트데이터(도 7의 WD<1:64>)의 64비트를 토대로 ECC연산을 수행하여 패리티(도 7의 PRT<1:8>)를 생성한다. 제1 반도체장치(70)는 리드모디파이라이트동작 중 라이트동작에서 라이트데이터(도 7의 WD<1:64>)와 패리티(도 7의 PRT<1:8>)를 저장한다.
T3 시점에, 컨트롤러(50)는 제2 반도체장치(90)의 프리차지동작(PCG-SM2)을 수행하기 위한 제2 칩선택신호(CS2)와 커맨드어드레스(CA)를 제2 반도체장치(90)로 출력한다.
T4 시점에, 제1 반도체장치(70)는 첫 번째 리드동작에서 저장된 내부데이터(도 7의 ID<1:64>)를 직렬화하여 데이터(DATA = OUT-SM1)로 출력한다.
제2 반도체장치(90)는 프리차지동작을 수행하기 위한 제2 칩선택신호(CS2)와 커맨드어드레스(CA)를 토대로 프리차지동작을 수행한다.
T5 시점에, 컨트롤러(50)는 제2 반도체장치(90)의 액티브동작(ACT-SM2)을 수행하기 위한 제2 칩선택신호(CS2)와 커맨드어드레스(CA)를 제2 반도체장치(90)로 출력한다.
T6 시점에, 제1 반도체장치(70)는 두 번째 리드동작에서 저장된 내부데이터(도 7의 ID<1:64>)를 직렬화하여 데이터(DATA = OUT-SM1)로 출력한다.
제2 반도체장치(90)는 액티브동작을 수행하기 위한 제2 칩선택신호(CS2)와 커맨드어드레스(CA)를 토대로 액티브동작을 수행한다.
T7 시점에 컨트롤러(50)는 제1 반도체장치(70)에 대한 노멀동작의 라이트동작(WT-SM1)을 수행하기 위한 제1 칩선택신호(CS1)와 커맨드어드레스(CA)를 제1 반도체장치(70)로 출력한다.
T8 시점에, 컨트롤러(50)는 제1 반도체장치(70)에 대한 노멀동작의 라이트동작(WT-SM1)을 수행하기 위한 데이터(DATA = IN-SM1)를 출력한다.
제1 반도체장치(70)는 데이터(DATA)를 수신하고, 커맨드어드레스(CA)에 의해 선택되는 메모리셀에 데이터(DATA)로부터 생성되는 내부데이터(도 7의 ID<1:64>)를 저장한다.
이와 같은 본 발명의 반도체시스템(2)은 반도체장치의 라이트동작을 수행하기 위한 시간 사이에 또 다른 커맨드를 반도체장치에 제공하여 동작을 수행함으로써 반도체장치들의 동작 효율을 증가할 수 있다. 반도체시스템(2)은 하나의 반도체장치에 대한 리드모디파이동작을 수행하는 구간 동안 또 다른 반도체장치의 노멀동작을 수행함으로써 반도체장치들의 동작 효율을 증가할 수 있다.
도 14를 참고하여 본 발명의 일 실시예에 따른 반도체시스템(2)의 리드모디파이라이트동작 및 노멀동작을 수행하는 동작을 설명하되, 리드모디파이라이트동작에서 리드동작이 4회 수행되는 동작을 예를 들어 설명하면 다음과 같다.
T11 시점에 컨트롤러(50)는 제1 반도체장치(70)의 리드모디파이라이트동작(NRW-SM1)을 수행하기 위한 제1 칩선택신호(CS1)와 커맨드어드레스(CA)를 제1 반도체장치(70)로 출력한다.
T12 시점에, 컨트롤러(50)는 제1 반도체장치(70)의 리드모디파이라이트동작(NRW-SM1)을 수행하기 위한 데이터(DATA = IN-SM1)를 출력한다.
제1 반도체장치(70)는 데이터(DATA)를 수신하고, 데이터(DATA)를 라이트데이터(도 7의 WD<1:64>)로 저장한다. 제1 반도체장치(70)는 리드모디파이라이트동작 중 첫 번째 리드동작에서 커맨드어드레스(CA)에 의해 선택되는 메모리셀에 저장된 내부데이터(도 7의 ID<1:64>)를 출력한다. 제1 반도체장치(70)는 리드모디파이라이트동작 중 두 번째 리드동작에서 커맨드어드레스(CA)에 의해 선택되는 메모리셀에 저장된 내부데이터(도 7의 ID<1:64>)를 출력한다. 제1 반도체장치(70)는 리드모디파이라이트동작 중 세 번째 리드동작에서 커맨드어드레스(CA)에 의해 선택되는 메모리셀에 저장된 내부데이터(도 7의 ID<1:64>)를 출력한다. 제1 반도체장치(70)는 리드모디파이라이트동작 중 네 번째 리드동작에서 커맨드어드레스(CA)에 의해 선택되는 메모리셀에 저장된 내부데이터(도 7의 ID<1:64>)를 출력한다. 제1 반도체장치(70)는 연속적으로 4회 출력되는 내부데이터(도 7의 ID<1:64>)들의 256비트와 라이트데이터(도 7의 WD<1:64>)의 64비트를 토대로 ECC연산을 수행하여 패리티(도 7의 PRT<1:8>)를 생성한다. 제1 반도체장치(70)는 리드모디파이라이트동작 중 라이트동작에서 라이트데이터(도 7의 WD<1:64>)와 패리티(도 7의 PRT<1:8>)를 저장한다.
T13 시점에, 컨트롤러(50)는 제2 반도체장치(90)의 프리차지동작(PCG-SM2)을 수행하기 위한 제2 칩선택신호(CS2)와 커맨드어드레스(CA)를 제2 반도체장치(90)로 출력한다.
T14 시점에, 제1 반도체장치(70)는 첫 번째 리드동작에서 저장된 내부데이터(도 7의 ID<1:64>)를 직렬화하여 데이터(DATA = OUT-SM1)로 출력한다.
제2 반도체장치(90)는 프리차지동작을 수행하기 위한 제2 칩선택신호(CS2)와 커맨드어드레스(CA)를 토대로 프리차지동작을 수행한다.
T15 시점에, 컨트롤러(50)는 제1 반도체장치(70)의 프리차지동작(PCG-SM1)을 수행하기 위한 제1 칩선택신호(CS1)와 커맨드어드레스(CA)를 제1 반도체장치(70)로 출력한다.
T16 시점에, 제1 반도체장치(70)는 두 번째 리드동작에서 저장된 내부데이터(도 7의 ID<1:64>)를 직렬화하여 데이터(DATA = OUT-SM1)로 출력한다. 제1 반도체장치(70)는 프리차지동작을 수행하기 위한 제1 칩선택신호(CS1)와 커맨드어드레스(CA)를 토대로 프리차지동작을 수행한다.
T17 시점에 컨트롤러(50)는 제2 반도체장치(90)의 액티브동작(ACT-SM2)을 수행하기 위한 제2 칩선택신호(CS2)와 커맨드어드레스(CA)를 제2 반도체장치(90)로 출력한다.
T18 시점에, 제1 반도체장치(70)는 세 번째 리드동작에서 저장된 내부데이터(도 7의 ID<1:64>)를 직렬화하여 데이터(DATA = OUT-SM1)로 출력한다.
제2 반도체장치(90)는 액티브동작을 수행하기 위한 제2 칩선택신호(CS2)와 커맨드어드레스(CA)를 토대로 액티브동작을 수행한다.
T19 시점에 컨트롤러(50)는 제1 반도체장치(70)의 액티브동작(ACT-SM1)을 수행하기 위한 제1 칩선택신호(CS1)와 커맨드어드레스(CA)를 제1 반도체장치(70)로 출력한다.
T20 시점에, 제1 반도체장치(70)는 네 번째 리드동작에서 저장된 내부데이터(도 7의 ID<1:64>)를 직렬화하여 데이터(DATA = OUT-SM1)로 출력한다.
제1 반도체장치(70)는 액티브동작을 수행하기 위한 제1 칩선택신호(CS1)와 커맨드어드레스(CA)를 토대로 액티브동작을 수행한다.
T21 시점에 컨트롤러(50)는 제1 반도체장치(70)에 대한 노멀동작의 라이트동작(WT-SM1)을 수행하기 위한 제1 칩선택신호(CS1)와 커맨드어드레스(CA)를 제1 반도체장치(70)로 출력한다.
T22 시점에, 컨트롤러(50)는 제1 반도체장치(70)에 대한 노멀동작의 라이트동작(WT-SM1)을 수행하기 위한 데이터(DATA = IN-SM1)를 출력한다.
제1 반도체장치(70)는 데이터(DATA)를 수신하고, 커맨드어드레스(CA)에 의해 선택되는 메모리셀에 데이터(DATA)로부터 생성되는 내부데이터(도 7의 ID<1:64>)를 저장한다.
이와 같은 본 발명의 반도체시스템(2)은 반도체장치의 라이트동작을 수행하기 위한 시간 사이에 또 다른 커맨드를 반도체장치에 제공하여 동작을 수행함으로써 반도체장치들의 동작 효율을 증가할 수 있다. 반도체시스템(2)은 하나의 반도체장치에 대한 리드모디파이동작을 수행하는 구간 동안 또 다른 반도체장치의 노멀동작을 수행함으로써 반도체장치들의 동작 효율을 증가할 수 있다.
도 15는 본 발명의 일 실시 예에 따른 전자시스템(1000)의 일 실시 예에 따른 구성을 도시한 블럭도이다. 도 15에 도시된 바와 같이, 전자시스템(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)) 각각은 리드모디파이라이트동작에서 리드동작을 N회 수행하고, 라이트동작을 1회 수행하며, 리드모디파이라이트동작에서 리드동작 시 출력되는 내부데이터들과 리드모디파이라이트동작에서 라이트동작 시 입력된 라이트데이터를 토대로 ECC 연산을 수행하여 생성되는 패리티와 라이트데이터를 저장할 수 있다. 반도체장치들(1400(K:1)) 각각은 리드모디파이라이트동작에서 N회 수행된 리드동작에서 출력되는 내부데이터들을 직렬화하여 컨트롤러(1300)로 출력할 수 있다.
반도체시스템(1200)은 반도체장치들(1400(K:1))의 리드동작을 수행하기 위한 다수의 어드레스들이 서로 인접한 영역을 선택하기 위한 로직레벨 조합일 때 리드모디파이라이트동작을 수행할 수 있다. 반도체시스템(1200)은 반도체장치들(1400(K:1))의 라이트동작을 수행하기 위한 시간 사이에 또 다른 커맨드를 반도체장치들(1400(K:1))에 제공하여 동작을 수행함으로써 반도체장치들(1400(K:1))의 동작 효율을 증가할 수 있다. 반도체시스템(2)은 하나의 반도체장치에 대한 리드모디파이동작을 수행하는 구간 동안 또 다른 반도체장치의 노멀동작을 수행함으로써 반도체장치들(1400(K:1))의 동작 효율을 증가할 수 있다.
컨트롤러(1300)는 도 1에 도시된 컨트롤러(10)와 도 12에 도시된 컨트롤러(50)로 구현될 수 있다. 반도체장치들(1400(K:1)) 각각은 도 1에 도시된 반도체장치(30)와 도 12에 도시된 제1 반도체장치(70) 및 제2 반도체장치(90)로 구현될 수 있다. 실시 예에 따라서 반도체장치들(1400(K:1)) 각각은 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) 중 하나로 구현될 수 있다.
제1 실시예
1. 반도체시스템 10. 컨트롤러
30. 반도체장치 110. 큐잉회로
120. 커맨드생성회로 130. 어드레스생성회로
131. 리드어드레스비교회로 131_1. 리드뱅크감지회로
131_2. 리드로우감지회로 131_3. 리드인접감지회로
131_4. 데이터연속신호생성회로 131_5. 최소어드레스신호생성회로
132. 라이트어드레스비교회로 132_1. 라이트뱅크감지회로
132_2. 라이트로우감지회로 132_3. 매칭신호생성회로
133. 어드레스제어회로 133_1. 리드라이트진입신호생성회로
133_2. 어드레스출력회로 140. 데이터입출력회로
310. 커맨드디코더 320. 어드레스디코더
330. 데이터저장회로 340. 코어영역
341. 제1 뱅크 342. 제2 뱅크
343. 제3 뱅크 344. 제4 뱅크
350. 데이터처리회로 360. 에러정정회로
361. 래치데이터생성회로 362. 패리티생성회로
363. 신드롬생성회로 364. 정정데이터생성회로
제2 실시예
310_1. 커맨드디코더 320_1. 어드레스디코더
330_1. 데이터저장회로 340_1. 코어영역
350_1. 데이터처리회로 360_1. 에러정정회로
제3 실시예
2. 반도체시스템 50. 컨트롤러
70. 제1 반도체장치 90. 제2 반도체장치

Claims (23)

  1. 리드동작을 수행하기 위한 다수의 어드레스들이 서로 인접한 영역을 선택하기 위한 로직레벨 조합일 때 리드모디파이라이트동작을 수행하기 위한 커맨드 및 상기 다수의 어드레스를 출력하고, 라이트동작을 수행하기 위한 제1 데이터를 출력하는 컨트롤러; 및
    상기 커맨드를 토대로 상기 라이트동작을 수행하기 위한 상기 제1 데이터를 라이트데이터로 저장하고, 상기 커맨드 및 상기 어드레스를 토대로 상기 리드동작이 연속적으로 수행되어 코어영역으로부터 내부데이터들을 출력하며, 상기 내부데이터들과 상기 라이트데이터를 토대로 ECC연산을 수행하여 패리티를 생성하고, 상기 라이트데이터와 상기 패리티를 상기 코어영역에 저장하는 반도체장치를 포함하는 반도체시스템.
  2. 제 1 항에 있어서, 상기 리드모드파이라이트동작은 상기 리드동작을 연속적으로 수행한 이후 상기 라이트동작을 수행하는 동작으로 설정되는 반도체시스템.
  3. 제 1 항에 있어서,
    상기 반도체장치는 상기 리드동작이 연속되어 출력되는 상기 내부데이터들을 직렬화하여 제2 데이터로 출력하고,
    상기 컨트롤러는 상기 반도체장치로부터 출력되는 상기 제2 데이터를 수신하는 반도체치스템.
  4. 제 1 항에 있어서, 상기 컨트롤러는
    상기 리드동작을 위한 다수의 리드어드레스들과 상기 라이트동작을 수행하기 위한 라이트어드레스를 출력하는 큐잉회로;
    상기 리드동작을 수행하기 위한 상기 다수의 리드어드레스들이 서로 인접한 영역을 선택하기 위한 로직레벨 조합일 때 인에이블되는 리드라이트진입신호를 생성하고, 상기 리드동작을 수행하기 위한 상기 다수의 리드어드레스들을 상기 어드레스로 순차적으로 출력하며, 상기 라이트동작을 수행하기 위한 상기 라이트어드레스를 상기 어드레스로 출력하는 어드레스생성회로;
    상기 리드라이트진입신호가 인에이블될 때 상기 리드모디파이라이트동작을 수행하기 위한 상기 커맨드를 생성하는 커맨드생성회로; 및
    상기 라이트동작을 수행하기 위한 상기 제1 데이터를 출력하고, 상기 제2 데이터를 수신하는 데이터입출력회로를 포함하는 반도체시스템.
  5. 제 4 항에 있어서, 상기 어드레스생성회로는
    상기 리드동작을 수행하기 위한 상기 다수의 리드어드레스들을 비교하여 리드뱅크감지신호, 리드로우감지신호, 리드인접신호, 데이터연속신호 및 최소어드레스신호를 생성하는 리드어드레스비교회로;
    상기 리드동작을 수행하기 위한 상기 다수의 리드어드레스들과 상기 라이트동작을 수행하기 위한 상기 라이트어드레스를 비교하여 라이트뱅크감지신호, 라이트로우감지신호 및 매칭신호를 생성하는 라이트어드레스비교회로; 및
    상기 리드뱅크감지신호, 상기 리드로우감지신호, 상기 리드인접신호, 상기 데이터연속신호, 상기 최소어드레스신호, 상기 라이트뱅크감지신호 및 상기 라이트로우감지신호를 토대로 상기 리드라이트진입신호를 생성하고, 상기 리드동작 시 상기 다수의 리드어드레스들로부터 상기 어드레스를 생성하며, 상기 라이트동작 시 상기 매칭신호 및 상기 라이트어드레스로부터 상기 어드레스를 생성하는 어드레스제어회로를 포함하는 반도체시스템.
  6. 제 5 항에 있어서, 상기 리드어드레스비교회로는
    상기 다수의 리드어드레스들에 포함된 제1 그룹의 비트들의 로직레벨 조합이 동일할 때 인에이블되는 상기 리드뱅크감지신호를 생성하는 리드뱅크감지회로;
    상기 다수의 리드어드레스들에 포함된 제2 그룹의 비트들의 로직레벨 조합이 동일할 때 인에이블되는 상기 리드로우감지신호를 생성하는 리드로우감지회로;
    상기 다수의 리드어드레스들에 포함된 제3 그룹의 비트들의 로직레벨 조합이 인접한 영역을 선택하기 위한 로직레벨 조합일 때 인에이블되는 상기 리드인접신호를 생성하는 리드인접감지회로;
    상기 다수의 리드어드레스들에 대하여 상기 리드동작을 연속으로 수행할 수 있을 때 인에이블되는 상기 데이터연속신호를 생성하는 데이터연속신호생성회로; 및
    상기 다수의 리드어드레스들 중 가장 작은 상기 리드어드레스를 감지하여 인에이블되는 상기 최소어드레스신호를 생성하는 최소어드레스신호생성회로를 포함하는 반도체시스템.
  7. 제 5 항에 있어서, 상기 라이트어드레스비교회로는
    상기 다수의 리드어드레스들과 상기 라이트어드레스에 포함된 제1 그룹의 비트들의 로직레벨 조합이 동일할 때 인에이블되는 상기 라이트뱅크감지신호를 생성하는 라이트뱅크감지회로;
    상기 다수의 리드어드레스들과 상기 라이트어드레스에 포함된 제2 그룹의 비트들의 로직레벨 조합이 동일할 때 인에이블되는 상기 라이트로우감지신호를 생성하는 라이트로우감지회로; 및
    상기 다수의 리드어드레스들 중 어느 하나와 상기 라이어드레스의 로직레벨 조합이 동일할 때 인에이블되는 상기 매칭신호를 생성하는 매칭신호생성회로를 포함하는 반도체시스템.
  8. 제 5 항에 있어서, 상기 어드레스제어회로는
    상기 리드뱅크감지신호, 상기 리드로우감지신호, 상기 리드인접신호, 상기 데이터연속신호, 상기 라이트뱅크감지신호, 상기 라이트로우감지신호 및 상기 매칭신호가 모두 인에이블될 때 인에이블되는 상기 리드라이트진입신호를 생성하는 리드라이트진입신호생성회로; 및
    상기 리드동작 시 리드인에이블신호가 인에이블될 때 상기 다수의 리드어드레스들로부터 상기 어드레스를 생성하고, 상기 라이트동작 시 라이트인에이블신호 및 상기 최소어드레스신호가 인에이블될 때 상기 라이트어드레스로부터 상기 어드레스를 생성하는 어드레스출력회로를 포함하는 반도체시스템.
  9. 제 1 항에 있어서, 상기 반도체장치는
    상기 커맨드의 로직레벨 조합이 상기 리드모디파이라이트동작을 수행하기 위한 로직레벨 조합일 때 리드신호를 연속적으로 생성한 이후 라이트신호를 생성하며, 리드라이트인에이블신호를 생성하는 커맨드디코더;
    상기 어드레스를 토대로 뱅크어드레스, 로우어드레스 및 컬럼어드레스를 생성하는 어드레스디코더;
    상기 리드라이트인에이블신호가 인에이블될 때 상기 제1 데이터로부터 생성되는 내부데이터를 상기 라이트데이터로 저장하고, 저장완료신호가 인에이블될 때 저장된 상기 라이트데이터를 출력하는 데이터저장회로;
    상기 리드신호가 인에이블될 때 상기 뱅크어드레스, 상기 로우어드레스 및 상기 컬럼어드레스를 토대로 선택되는 영역에 저장된 상기 내부데이터를 출력하고, 상기 라이트신호가 인에이블될 때 상기 뱅크어드레스, 상기 로우어드레스 및 상기 컬럼어드레스를 토대로 선택되는 영역에 상기 라이트데이터 및 상기 패리티를 저장하는 상기 코어영역;
    상기 라이트동작 시 상기 제1 데이터를 상기 내부데이터로 출력하고, 상기 리드동작 시 정정데이터를 상기 제2 데이터로 출력하는 데이터처리회로; 및
    상기 내부데이터를 순차적으로 저장하고, 상기 저장완료신호가 인에이블될 때 저장된 상기 내부데이터와 상기 라이트데이터에 대한 상기 ECC연산을 수행하여 상기 패리티를 생성하며, 상기 리드동작 시 저장된 상기 내부데이터를 직렬화하여 정정데이터로 출력하는 에러정정회로를 포함하는 반도체시스템.
  10. 제 9 항에 있어서,
    상기 데이터처리회로는 상기 라이트동작 시 글로벌라인을 통해 입력되는 상기 제1 데이터를 로컬라인으로 출력하여 상기 내부데이터를 생성하고,
    상기 데이터처리회로는 상기 리드동작 시 상기 정정데이터를 상기 글로벌라인으로 출력하여 상기 제2 데이터를 생성하는 반도체시스템.
  11. 제 9 항에 있어서, 상기 에러정정회로는
    상기 리드동작 시 상기 내부데이터를 순차적으로 래치하여 래치데이터를 생성하는 래치데이터생성회로;
    상기 저장완료신호가 인에이블될 때 상기 래치데이터와 상기 라이트데이터에 대한 상기 ECC연산을 수행하여 상기 패리티를 생성하는 패리티생성회로; 및
    상기 리드동작 시 상기 리드라이트인에이블신호가 인에이블될 때 상기 래치데이터로부터 상기 정정데이터를 생성하는 정정데이터생성회로를 포함하는 반도체시스템.
  12. 제1 및 제2 어드레스가 서로 인접한 영역을 선택하기 위한 로직레벨 조합일 때 리드모디파이라이트동작을 수행하기 위한 커맨드 및 상기 제1 및 제2 어드레스를 출력하고, 제1 데이터를 출력하는 컨트롤러; 및
    상기 커맨드를 토대로 상기 리드모디파이라이트동작 시 상기 제1 데이터를 데이터저장회로에 라이트데이터로 저장하고, 상기 커맨드 및 상기 제1 어드레스를 토대로 선택되는 코어영역의 메모리셀에 저장된 제1 내부데이터를 출력한 이후 상기 커맨드 및 상기 제2 어드레스를 토대로 선택되는 상기 코어영역의 메모리셀에 저장된 제2 내부데이터를 출력하며, 상기 제1 및 제2 내부데이터들과 상기 라이트데이터를 토대로 ECC연산을 수행하여 패리티를 생성하고, 상기 제1 어드레스에 의해 선택되는 상기 코어영역의 메모리셀에 상기 라이트데이터와 상기 패리티를 저장하는 반도체장치를 포함하는 반도체시스템.
  13. 제 12 항에 있어서, 상기 리드모드파이라이트동작은 리드동작을 연속적으로 수행한 이후 라이트동작을 수행하는 동작으로 설정되는 반도체시스템.
  14. 제 12 항에 있어서,
    상기 반도체장치는 리드동작이 연속되어 출력되는 상기 제1 및 제2 내부데이터들을 직렬화하여 제2 데이터로 출력하고,
    상기 컨트롤러는 상기 반도체장치로부터 출력되는 상기 제2 데이터를 수신하는 반도체치스템.
  15. 제 12 항에 있어서, 상기 컨트롤러는
    리드동작을 위한 제1 및 제2 리드어드레스들과 라이트동작을 수행하기 위한 라이트어드레스를 출력하는 큐잉회로;
    상기 리드동작을 수행하기 위한 상기 제1 및 제2 리드어드레스들이 서로 인접한 영역을 선택하기 위한 로직레벨 조합일 때 인에이블되는 리드라이트진입신호를 생성하고, 상기 리드동작을 수행하기 위한 상기 제1 및 제2 리드어드레스들을 상기 제1 및 제2 어드레스로 순차적으로 출력하며, 상기 라이트동작을 수행하기 위한 상기 라이트어드레스를 상기 제1 어드레스로 출력하는 어드레스생성회로;
    상기 리드라이트진입신호가 인에이블될 때 상기 리드모디파이라이트동작을 수행하기 위한 상기 커맨드를 생성하는 커맨드생성회로; 및
    상기 라이트동작을 수행하기 위한 상기 제1 데이터를 출력하고, 상기 제2 데이터를 수신하는 데이터입출력회로를 포함하는 반도체시스템.
  16. 제 15 항에 있어서, 상기 어드레스생성회로는
    상기 리드동작을 수행하기 위한 상기 제1 및 제2 리드어드레스들을 비교하여 리드뱅크감지신호, 리드로우감지신호, 리드인접신호, 데이터연속신호 및 최소어드레스신호를 생성하는 리드어드레스비교회로;
    상기 리드동작을 수행하기 위한 상기 제1 및 제2 리드어드레스들과 상기 라이트동작을 수행하기 위한 상기 라이트어드레스를 비교하여 라이트뱅크감지신호, 라이트로우감지신호 및 매칭신호를 생성하는 라이트어드레스비교회로; 및
    상기 리드뱅크감지신호, 상기 리드로우감지신호, 상기 리드인접신호, 상기 데이터연속신호, 상기 최소어드레스신호, 상기 라이트뱅크감지신호 및 상기 라이트로우감지신호를 토대로 상기 리드라이트진입신호를 생성하고, 상기 리드동작 시 상기 제1 및 제2 리드어드레스들로부터 상기 어드레스를 생성하며, 상기 라이트동작 시 상기 매칭신호 및 상기 라이트어드레스로부터 상기 제1 어드레스를 생성하는 어드레스제어회로를 포함하는 반도체시스템.
  17. 제 16 항에 있어서, 상기 리드어드레스비교회로는
    상기 제1 및 제2 리드어드레스들에 포함된 제1 그룹의 비트들의 로직레벨 조합이 동일할 때 인에이블되는 상기 리드뱅크감지신호를 생성하는 리드뱅크감지회로;
    상기 제1 및 제2 리드어드레스들에 포함된 제2 그룹의 비트들의 로직레벨 조합이 동일할 때 인에이블되는 상기 리드로우감지신호를 생성하는 리드로우감지회로;
    상기 제1 및 제2 리드어드레스들에 포함된 제3 그룹의 비트들의 로직레벨 조합이 인접한 영역을 선택하기 위한 로직레벨 조합일 때 인에이블되는 상기 리드인접신호를 생성하는 리드인접감지회로;
    상기 제1 및 제2 리드어드레스들에 대하여 상기 리드동작을 연속으로 수행할 수 있을 때 인에이블되는 상기 데이터연속신호를 생성하는 데이터연속신호생성회로; 및
    상기 제1 리드어드레스를 감지하여 인에이블되는 상기 최소어드레스신호를 생성하는 최소어드레스신호생성회로를 포함하는 반도체시스템.
  18. 제 16 항에 있어서, 상기 라이트어드레스비교회로는
    상기 제1 및 제2 리드어드레스들과 상기 라이트어드레스에 포함된 제1 그룹의 비트들의 로직레벨 조합이 동일할 때 인에이블되는 상기 라이트뱅크감지신호를 생성하는 라이트뱅크감지회로;
    상기 제1 및 제2 리드어드레스들과 상기 라이트어드레스에 포함된 제2 그룹의 비트들의 로직레벨 조합이 동일할 때 인에이블되는 상기 라이트로우감지신호를 생성하는 라이트로우감지회로; 및
    상기 제1 리드어드레스와 상기 라이어드레스의 로직레벨 조합이 동일할 때 인에이블되는 상기 매칭신호를 생성하는 매칭신호생성회로를 포함하는 반도체시스템.
  19. 제 16 항에 있어서, 상기 어드레스제어회로는
    상기 리드뱅크감지신호, 상기 리드로우감지신호, 상기 리드인접신호, 상기 데이터연속신호, 상기 라이트뱅크감지신호, 상기 라이트로우감지신호 및 상기 매칭신호가 모두 인에이블될 때 인에이블되는 상기 리드라이트진입신호를 생성하는 리드라이트진입신호생성회로;
    상기 리드동작 시 리드인에이블신호가 인에이블될 때 상기 제1 및 제2 리드어드레스들로부터 상기 제1 및 제2 어드레스를 생성하고, 상기 라이트동작 시 라이트인에이블신호 및 상기 최소어드레스신호가 인에이블될 때 상기 라이트어드레스로부터 상기 제1 어드레스를 생성하는 어드레스출력회로를 포함하는 반도체시스템.
  20. 제 12 항에 있어서, 상기 반도체장치는
    상기 커맨드의 로직레벨 조합이 상기 리드모디파이라이트동작을 수행하기 위한 로직레벨 조합일 때 리드신호를 연속적으로 생성한 이후 라이트신호를 생성하며, 리드라이트인에이블신호를 생성하는 커맨드디코더;
    상기 제1 및 제2 어드레스를 토대로 뱅크어드레스, 로우어드레스 및 컬럼어드레스를 생성하는 어드레스디코더;
    상기 리드라이트인에이블신호가 인에이블될 때 상기 제1 데이터로부터 생성되는 제3 내부데이터를 상기 라이트데이터로 저장하고, 저장완료신호가 인에이블될 때 저장된 상기 라이트데이터를 출력하는 데이터저장회로;
    상기 리드신호가 인에이블될 때 상기 뱅크어드레스, 상기 로우어드레스 및 상기 컬럼어드레스를 토대로 선택되는 메모리셀에 저장된 상기 제1 내부데이터를 출력한 이후 상기 제2 내부데이터를 출력하고, 상기 라이트신호가 인에이블될 때 상기 뱅크어드레스, 상기 로우어드레스 및 상기 컬럼어드레스를 토대로 선택되는 메모리셀에 상기 라이트데이터 및 상기 패리티를 저장하는 상기 코어영역;
    상기 라이트동작 시 상기 제1 데이터를 상기 제3 내부데이터로 출력하고, 상기 리드동작 시 정정데이터를 상기 제2 데이터로 출력하는 데이터처리회로; 및
    상기 제1 및 제2 내부데이터를 순차적으로 저장하고, 상기 저장완료신호가 인에이블될 때 저장된 상기 제1 및 제2 내부데이터와 상기 라이트데이터에 대한 상기 ECC연산을 수행하여 상기 패리티를 생성하며, 상기 리드동작 시 저장된 상기 제1 및 제2 내부데이터를 직렬화하여 정정데이터로 출력하는 에러정정회로를 포함하는 반도체시스템.
  21. 제 20 항에 있어서,
    상기 데이터처리회로는 상기 라이트동작 시 글로벌라인을 통해 입력되는 상기 제1 데이터를 로컬라인으로 출력하여 상기 제3 내부데이터를 생성하고,
    상기 데이터처리회로는 상기 리드동작 시 상기 정정데이터를 상기 글로벌라인으로 출력하여 상기 제2 데이터를 생성하는 반도체시스템.
  22. 제 20 항에 있어서, 상기 에러정정회로는
    상기 리드동작 시 상기 제1 및 제2 내부데이터를 순차적으로 래치하여 래치데이터를 생성하는 래치데이터생성회로;
    상기 저장완료신호가 인에이블될 때 상기 래치데이터와 상기 라이트데이터에 대한 상기 ECC연산을 수행하여 상기 패리티를 생성하는 패리티생성회로; 및
    상기 리드동작 시 상기 리드라이트인에이블신호가 인에이블될 때 상기 래치데이터로부터 상기 정정데이터를 생성하는 정정데이터생성회로를 포함하는 반도체시스템.
  23. 제1 및 제2 칩선택신호, 커맨드어드레스 및 제1 데이터를 출력하고, 제2 및 제3 데이터를 수신하는 컨트롤러;
    상기 제1 칩선택신호가 인에이블될 때 상기 커맨드어드레스의 로직레벨 조합에 따라 리드모디파이라이트동작을 수행하고, 상기 제1 데이터를 라이트데이터로 저장하며, 상기 리드모디파이라이트동작 중 리드동작에서 상기 커맨드어드레스에 의해 선택되는 메모리셀에 저장된 제1 및 제2 내부데이터를 출력하고, 상기 제1 및 제2 내부데이터들과 상기 라이트데이터를 토대로 ECC연산을 수행하여 제1 패리티를 생성하며, 상기 리드모디파이라이트동작 중 라이트동작에서 상기 라이트데이터와 상기 제1 패리티를 저장하고, 상기 제1 및 제2 내부데이터를 직렬화하여 상기 제2 데이터로 출력하는 제1 반도체장치; 및
    상기 제2 칩선택신호가 인에이블될 때 상기 커맨드어드레스의 로직레벨 조합에 따라 노멀동작을 수행하고, 상기 노멀동작 중 라이트동작에서 상기 커맨드어드레스에 의해 선택되는 메모리셀에 상기 제1 데이터로부터 생성되는 제3 내부데이터를 저장하고, 상기 노멀동작 중 리드동작에서 상기 커맨드어드레스에 의해 선택되는 메모리셀에 저장된 제4 내부데이터와 제2 패리티를 토대로 상기 제4 내부데이터의 에러를 정정하여 상기 제3 데이터로 출력하는 제2 반도체장치를 포함하는 반도체시스템.
KR1020220152970A 2022-11-15 2022-11-15 반도체시스템 KR20240071166A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220152970A KR20240071166A (ko) 2022-11-15 2022-11-15 반도체시스템
US18/098,110 US20240160523A1 (en) 2022-11-15 2023-01-18 Semiconductor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220152970A KR20240071166A (ko) 2022-11-15 2022-11-15 반도체시스템

Publications (1)

Publication Number Publication Date
KR20240071166A true KR20240071166A (ko) 2024-05-22

Family

ID=91027906

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220152970A KR20240071166A (ko) 2022-11-15 2022-11-15 반도체시스템

Country Status (2)

Country Link
US (1) US20240160523A1 (ko)
KR (1) KR20240071166A (ko)

Also Published As

Publication number Publication date
US20240160523A1 (en) 2024-05-16

Similar Documents

Publication Publication Date Title
US9990251B2 (en) Semiconductor system with a column control circuit
US10614871B2 (en) Semiconductor devices and semiconductor systems including the semiconductor devices
US10572341B2 (en) Semiconductor devices
CN107919160B (zh) 测试单元阵列的方法及执行其的半导体器件
US11789808B2 (en) Memory devices for performing repair operation, memory systems including the same, and operating methods thereof
TWI729239B (zh) 半導體裝置
US20210335416A1 (en) Semiconductor devices and refresh methods using the semiconductor devices
US11461167B2 (en) Semiconductor devices
CN108281162B (zh) 半导体器件
US20170344422A1 (en) Semiconductor devices and semiconductor systems
US10460826B2 (en) Test methods of semiconductor devices and semiconductor systems used therein
KR20180009076A (ko) 반도체장치 및 반도체시스템
US10379786B2 (en) Semiconductor devices
KR20240071166A (ko) 반도체시스템
US11508418B2 (en) System for performing reference voltage training operation
US9997234B1 (en) Semiconductor devices
US10360105B2 (en) Semiconductor devices and semiconductor systems including the same
US12007834B2 (en) Semiconductor device
US11621047B2 (en) Apparatus for performing a repair operation
US11599413B2 (en) Electronic system including error calculation circuit for performing error correction operation
US10621039B2 (en) Electronic devices
US20230215482A1 (en) Electronic devices and electronic systems
US20230377627A1 (en) Semiconductor device for executing a smart refresh operation and a smart refresh method
KR20170130683A (ko) 반도체장치