KR20230063805A - 프로그래밍동작을 수행하는 방법 및 반도체장치 - Google Patents

프로그래밍동작을 수행하는 방법 및 반도체장치 Download PDF

Info

Publication number
KR20230063805A
KR20230063805A KR1020210149248A KR20210149248A KR20230063805A KR 20230063805 A KR20230063805 A KR 20230063805A KR 1020210149248 A KR1020210149248 A KR 1020210149248A KR 20210149248 A KR20210149248 A KR 20210149248A KR 20230063805 A KR20230063805 A KR 20230063805A
Authority
KR
South Korea
Prior art keywords
programming
signal
circuit
command
address
Prior art date
Application number
KR1020210149248A
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 KR1020210149248A priority Critical patent/KR20230063805A/ko
Priority to US17/696,638 priority patent/US11989454B2/en
Priority to CN202210556612.3A priority patent/CN116072166A/zh
Priority to US17/882,844 priority patent/US20230133922A1/en
Publication of KR20230063805A publication Critical patent/KR20230063805A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1018Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/109Control signal input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1096Write circuits, e.g. I/O line write drivers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Logic Circuits (AREA)

Abstract

반도체장치는 프로그래밍동작이 수행될 때 프로그래밍데이터로부터 프로그래밍제어신호 및 프로그래밍종료신호를 생성하는 프로그래밍제어신호생성회로; 및 상기 프로그래밍제어신호를 토대로 커맨드, 어드레스 및 동작신호를 프로그래밍하여 프로그래밍커맨드, 프로그래밍어드레스 및 프로그래밍동작신호를 생성하는 프로그래밍제어회로를 포함한다.

Description

프로그래밍동작을 수행하는 방법 및 반도체장치{SEMICONDUCTOR DEVICES AND METHOD FOR EXECUTING PROGRAMING OPERATIONS}
본 발명은 프로그래밍동작을 수행하는 방법 및 반도체장치에 관한 것이다.
일반적으로, 반도체장치는 라이트동작 및 리드동작 등이 포함되는 다양한 내부동작들을 수행할 수 있다. 반도체장치는 라이트동작이 수행될 때 데이터를 수신하여 메모리블럭에 저장할 수 있고, 리드동작이 수행될 때 메모리블럭에 저장된 데이터를 출력할 수 있다.
한편, 반도체장치의 사양(specification)이 변경될 때 반도체장치는 내부동작들을 수행하는 내부회로들에 대한 수정(revision) 작업을 진행하고 있다. 내부회로들에 대한 수정(revision) 작업은 비용 및 시간이 지나치게 소모되는 문제가 있다.
본 발명은 프로그래밍동작을 수행하는 방법 및 반도체장치를 제공한다.
이를 위해 본 발명은 프로그래밍동작이 수행될 때 프로그래밍데이터로부터 프로그래밍제어신호 및 프로그래밍종료신호를 생성하는 프로그래밍제어신호생성회로; 및 상기 프로그래밍제어신호를 토대로 커맨드, 어드레스 및 동작신호를 프로그래밍하여 프로그래밍커맨드, 프로그래밍어드레스 및 프로그래밍동작신호를 생성하는 프로그래밍제어회로를 포함하는 반도체장치를 제공한다.
또한, 본 발명은 프로그래밍동작이 수행될 때 입력데이터로부터 프로그래밍제어신호 및 프로그래밍종료신호를 생성하는 프로그래밍제어신호생성회로; 및 상기 프로그래밍제어신호를 토대로 커맨드, 어드레스 및 동작신호를 프로그래밍하여 프로그래밍커맨드, 프로그래밍어드레스 및 프로그래밍동작신호를 생성하는 프로그래밍제어회로를 포함하는 반도체장치를 제공한다.
또한, 본 발명은 프로그래밍동작이 수행될 때 입력데이터를 메모리블럭에 프로그래밍데이터로 저장하는 프로그래밍라이트동작을 수행하는 단계; 및 상기 메모리블럭에 저장된 프로그래밍데이터를 토대로 프로그래밍제어신호 및 프로그래밍종료신호를 생성하고, 상기 프로그래밍제어신호를 토대로 커맨드, 어드레스 및 동작신호를 프로그래밍하여 프로그래밍커맨드, 프로그래밍어드레스 및 프로그래밍동작신호를 생성하는 프로그래밍리드동작을 수행하는 단계를 포함하는 프로그래밍동작을 수행하는 방법을 제공한다.
또한, 본 발명은 프로그래밍라이트커맨드를 토대로 입력데이터를 프로그래밍데이터로 저장하고, 프로그래밍리드커맨드를 토대로 상기 저장된 프로그래밍데이터를 출력하는 프로그래밍데이터저장회로; 프로그래밍동작이 수행될 때 상기 프로그래밍데이터로부터 프로그래밍제어신호 및 프로그래밍종료신호를 생성하는 프로그래밍제어신호생성회로; 및 상기 프로그래밍제어신호를 토대로 커맨드, 어드레스 및 동작신호를 프로그래밍하여 프로그래밍커맨드, 프로그래밍어드레스 및 프로그래밍동작신호를 생성하는 프로그래밍제어회로를 포함하는 반도체장치를 제공한다.
본 발명에 의하면 커맨드, 어드레스 및 동작신호를 프로그래밍하여 반도체장치의 내부동작에 사용함으로써, 시간 및 비용이 소모되는 내부회로들에 대한 수정(revision) 작업 없이 반도체장치의 사양(specification) 변경에 용이하게 대처할 수 있는 효과가 있다.
도 1은 본 발명의 일 예에 따른 반도체시스템의 구성을 도시한 블록도이다.
도 2는 본 발명의 일 예에 따른 반도체장치의 구성을 도시한 블록도이다.
도 3은 본 발명의 일 예에 따른 커맨드멀티플렉싱회로의 회로도이다.
도 4는 본 발명의 일 예에 따른 어드레스멀티플렉싱회로의 회로도이다.
도 5는 본 발명의 일 예에 따른 동작신호멀티플렉싱회로의 회로도이다.
도 6은 본 발명의 일 예에 따른 프로그래밍제어신호생성회로의 회로도이다.
도 7은 본 발명의 일 예에 따른 프로그래밍제어회로의 구성을 도시한 블럭도이다.
도 8은 본 발명의 일 예에 따른 입력멀티플렉싱회로의 회로도이다.
도 9는 본 발명의 일 예에 따른 프로그래밍로직회로의 구성을 도시한 블럭도이다.
도 10은 본 발명의 일 예에 따른 룩업테이블신호저장회로의 구성을 도시한 블록도이다.
도 11은 본 발명의 일 예에 따른 룩업테이블신호선택회로의 구성을 도시한 회로도이다.
도 12는 본 발명의 일 예에 따른 출력멀티플렉싱회로의 회로도이다.
도 13은 본 발명의 일 예에 따른 프로그래밍동작을 설명하기 위한 타이밍도이다.
도 14는 본 발명의 일 예에 따른 프로그래밍라이트동작을 설명하기 위한 타이밍도이다.
도 15는 본 발명의 일 예에 따른 프로그래밍리드동작을 설명하기 위한 타이밍도이다.
도 16은 본 발명의 다른 예에 따른 반도체장치의 구성을 도시한 블록도이다.
도 17은 본 발명의 또 다른 예에 따른 반도체장치의 구성을 도시한 블록도이다.
다음의 실시예들의 기재에 있어서, "기 설정된"이라는 용어는 프로세스나 알고리즘에서 매개변수를 사용할 때 매개변수의 수치가 미리 결정되어 있음을 의미한다. 매개변수의 수치는 실시예에 따라서 프로세스나 알고리즘이 시작할 때 설정되거나 프로세스나 알고리즘이 수행되는 구간 동안 설정될 수 있다.
다양한 구성요소들을 구별하는데 사용되는 "제1" 및 "제2" 등의 용어는 구성요소들에 의해 한정되지 않는다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 반대로 제2 구성요소는 제1 구성요소로 명명될 수 있다.
하나의 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 할 때 직접적으로 연결되거나 중간에 다른 구성요소를 매개로 연결될 수도 있다고 이해되어야 한다. 반면 "직접 연결되어" 및 "직접 접속되어"라는 기재는 하나의 구성요소가 다른 구성요소에 또 다른 구성요소를 사이에 두지 않고 직접 연결된다고 이해되어야 한다.
"로직하이레벨" 및 "로직로우레벨"은 신호들의 로직레벨들을 설명하기 위해 사용된다. "로직하이레벨"을 갖는 신호는 "로직로우레벨"을 갖는 신호와 구별된다. 예를 들어, 제1 전압을 갖는 신호가 "로직하이레벨"을 갖는 신호에 대응할 때 제2 전압을 갖는 신호는 "로직로우레벨"을 갖는 신호에 대응할 수 있다. 일 실시예에 따라 "로직하이레벨"은 "로직로우레벨"보다 큰 전압으로 설정될 수 있다. 한편, 신호들의 로직레벨들은 실시예에 따라서 다른 로직레벨 또는 반대의 로직레벨로 설정될 수 있다. 예를 들어, 로직하이레벨을 갖는 신호는 실시예에 따라서 로직로우레벨을 갖도록 설정될 수 있고, 로직로우레벨을 갖는 신호는 실시예에 따라서 로직하이레벨을 갖도록 설정될 수 있다.
"로직비트셋"은 신호에 포함된 비트들이 갖는 로직레벨들의 조합을 의미할 수 있다. 신호에 포함된 비트들 각각이 갖는 로직레벨이 변화될 때 신호의 로직비트셋이 다르게 설정될 수 있다. 예를 들어, 신호에 2 비트가 포함될 때 신호에 포함된 2 비트 각각의 로직레벨이 "로직로우레벨, 로직로우레벨"일 때 신호의 로직베트셋은 제1 로직비트셋으로 설정될 수 있고, 신호에 포함된 2 비트 각각의 로직레벨이 "로직로우레벨, 로직하이레벨"일 때 신호의 로직베트셋은 제2 로직비트셋으로 설정될 수 있다.
이하, 실시예를 통하여 본 발명을 더욱 상세히 설명하기로 한다. 이들 실시예는 단지 본 발명을 예시하기 위한 것이며, 본 발명의 권리 보호 범위가 이들 실시예에 의해 제한되는 것은 아니다.
도 1은 본 발명의 일 예에 따른 반도체시스템(1)의 구성을 도시한 블록도이다. 도 1에 도시된 바와 같이, 반도체시스템(1)은 컨트롤러(11) 및 반도체장치(13)를 포함할 수 있다.
컨트롤러(11)는 제1 컨트롤핀(11_1), 제2 컨트롤핀(11_3) 및 제3 컨트롤핀(11_5)을 포함할 수 있다. 반도체장치(13)는 제1 장치핀(13_1), 제2 장치핀(13_3) 및 제3 장치핀(13_5)을 포함할 수 있다. 컨트롤러(11)는 제1 컨트롤핀(11_1) 및 제1 장치핀(13_1) 사이에 연결된 제1 전송라인(12_1)을 통해 외부제어신호(CA)를 반도체장치(13)로 전송할 수 있다. 본 예에서 외부제어신호(CA)에는 커맨드 및 어드레스가 포함될 수 있지만 이는 일 예일 뿐 이에 한정되지는 않는다. 제1 컨트롤핀(11_1), 제1 전송라인(12_1) 및 제1 장치핀(13_1) 각각은 외부제어신호(CA)의 비트 수에 따라 다수 개로 구현될 수 있다. 컨트롤러(11)는 제2 컨트롤핀(11_3) 및 제2 장치핀(13_3) 사이에 연결된 제2 전송라인(12_3)을 통해 입력데이터(DIN)를 반도체장치(13)로 전송할 수 있다. 제2 컨트롤핀(11_3), 제2 전송라인(12_3) 및 제2 장치핀(13_3) 각각은 입력데이터(DIN)의 비트 수에 따라 다수 개로 구현될 수 있다. 컨트롤러(11)는 제3 컨트롤핀(11_5) 및 제3 장치핀(13_5) 사이에 연결된 제3 전송라인(12_5)을 통해 클럭(CLK)을 반도체장치(13)로 전송할 수 있다.
반도체장치(13)는 프로그래밍동작이 수행될 때 프로그래밍제어신호(도 2의CTR) 및 프로그래밍종료신호(도 2의 PG_EX)를 생성하는 프로그래밍제어신호생성회로(PCTR GEN, 137)를 포함할 수 있다. 반도체장치(13)는 프로그래밍제어신호(도 2의 CTR)를 토대로 프로그래밍커맨드들(도 2의 PCMD1, PCMD2 및 PCMD3), 프로그래밍어드레스들(도 2의 PRAD 및 PCAD) 및 프로그래밍동작신호들(도 2의 PRCNT 및 PCCNT)을 생성하는 프로그래밍제어회로(PGM CTR, 139)를 포함할 수 있다. 반도체장치(13)는 프로그래밍종료신호(도 2의 PG_EX)를 토대로 프로그래밍커맨드들(도 2의 PCMD1, PCMD2 및 PCMD3)을 선택하여 출력하는 커맨드멀티플렉싱회로(CMD MUX, 115)를 포함할 수 있다. 반도체장치(13)는 프로그래밍종료신호(도 2의 PG_EX)를 토대로 프로그래밍어드레스들(도 2의 PRAD 및 PCAD)을 선택하여 출력하는 어드레스멀티플렉싱회로(ADD MUX, 117)를 포함할 수 있다. 반도체장치(13)는 프로그래밍종료신호(도 2의 PG_EX)를 토대로 프로그래밍동작신호들(도 2의 PRCNT 및 PCCNT)을 선택하여 출력하는 동작신호멀티플렉싱회로(CNT MUX, 123)를 포함할 수 있다.
도 2는 본 발명의 일 예에 따른 반도체장치(13A)의 구성을 도시한 블록도이다. 도 2에 도시된 바와 같이, 반도체장치(13A)는 커맨드디코더(CMD DEC, 111), 어드레스디코더(ADD DEC, 113), 커맨드멀티플렉싱회로(CMD MUX, 115), 어드레스멀티플렉싱회로(ADD MUX, 117), 로우동작신호생성회로(RCNT GEN, 119), 컬럼동작신호생성회로(CCNT GEN, 121), 동작신호멀티플렉싱회로(CNT MUX, 123), 로우동작회로(ROW CIR, 125), 컬럼동작회로(COL CIR, 127), 메모리블럭(MB, 131), 입출력제어회로(I/O CNT, 133), 모드레지스터(MR, 135), 프로그래밍제어신호생성회로(PCTR GEN, 137) 및 프로그래밍제어회로(PGM CTR, 139)를 포함할 수 있다.
커맨드디코더(111)는 외부제어신호(CA)를 디코딩하여 제1 커맨드(ICMD1), 제2 커맨드(ICMD2) 및 제3 커맨드(ICMD3)를 생성할 수 있다. 제1 커맨드(ICMD1)는 로우동작을 수행하기 위해 생성될 수 있다. 로우동작에는 액티브동작, 리프레쉬동작 및 프로그래밍을 위한 액티브동작(이하, '프로그래밍액티브동작'으로 지칭함) 등이 포함될 수 있다. 제2 커맨드(ICMD2)는 컬럼동작을 수행하기 위해 생성될 수 있다. 컬럼동작에는 라이트동작, 리드동작, 프로그래밍을 위한 라이트동작(이하, '프로그래밍라이트동작'으로 지칭함) 및 프로그래밍을 위한 리드동작(이하, '프로그래밍리드동작'으로 지칭함) 등이 포함될 수 있다. 제3 커맨드(ICMD3)는 모드레지스터라이트동작 및 모드레지스터리드동작 등을 수행하기 위해 생성될 수 있다. 커맨드디코더(111)는 커맨드멀티플렉싱회로(115)에 연결될 수 있다. 커맨드디코더(111)는 제1 커맨드(ICMD1), 제2 커맨드(ICMD2) 및 제3 커맨드(ICMD3)를 커맨드멀티플렉싱회로(115)에 인가할 수 있다.
어드레스디코더(113)는 외부제어신호(CA)를 디코딩하여 로우어드레스(RADD) 및 컬럼어드레스(CADD)를 생성할 수 있다. 로우어드레스(RADD)는 로우동작이 수행될 때 메모리블럭(131)에 포함된 셀어레이들이 연결된 워드라인들(미도시) 중 적어도 하나를 선택하기 위해 생성될 수 있다. 컬럼어드레스(CADD)는 컬럼동작이 수행될 때 메모리블럭(131)에 포함된 셀어레이들이 연결된 비트라인들(미도시) 중 적어도 하나를 선택하기 위해 생성될 수 있다. 어드레스디코더(113)는 어드레스멀티플렉싱회로(117)에 연결될 수 있다. 어드레스디코더(113)는 로우어드레스(RADD) 및 컬럼어드레스(CADD)를 어드레스멀티플렉싱회로(117)에 인가할 수 있다.
커맨드멀티플렉싱회로(115)는 커맨드디코더(111), 프로그래밍제어신호생성회로(137) 및 프로그래밍제어회로(139)에 연결될 수 있다. 커맨드멀티플렉싱회로(115)는 커맨드디코더(111)로부터 제1 커맨드(ICMD1), 제2 커맨드(ICMD2) 및 제3 커맨드(ICMD3)를 수신할 수 있다. 커맨드멀티플렉싱회로(115)는 프로그래밍제어신호생성회로(137)로부터 프로그래밍종료신호(PG_EX)를 수신할 수 있다. 커맨드멀티플렉싱회로(115)는 프로그래밍제어회로(139)로부터 제1 프로그래밍커맨드(PCMD1), 제2 프로그래밍커맨드(PCMD2) 및 제3 프로그래밍커맨드(PCMD3)를 수신할 수 있다. 커맨드멀티플렉싱회로(115)는 프로그래밍종료신호(PG_EX)를 토대로 제1 커맨드(ICMD1), 제2 커맨드(ICMD2), 제3 커맨드(ICMD3), 제1 프로그래밍커맨드(PCMD1), 제2 프로그래밍커맨드(PCMD2) 및 제3 프로그래밍커맨드(PCMD3)로부터 제1 선택커맨드(SCMD1), 제2 선택커맨드(SCMD2) 및 제3 선택커맨드(SCMD3)를 생성할 수 있다. 프로그래밍종료신호(PG_EX)는 프로그래밍동작이 완료될 때 활성화될 수 있다. 커맨드멀티플렉싱회로(115)는 프로그래밍동작이 완료되지 않아 비활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 제1 커맨드(ICMD1), 제2 커맨드(ICMD2) 및 제3 커맨드(ICMD3) 각각을 제1 선택커맨드(SCMD1), 제2 선택커맨드(SCMD2) 및 제3 선택커맨드(SCMD3)로 출력할 수 있다. 커맨드멀티플렉싱회로(115)는 프로그래밍동작이 완료되어 활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 제1 프로그래밍커맨드(PCMD1), 제2 프로그래밍커맨드(PCMD2) 및 제3 프로그래밍커맨드(PCMD3) 각각을 제1 선택커맨드(SCMD1), 제2 선택커맨드(SCMD2) 및 제3 선택커맨드(SCMD3)로 출력할 수 있다. 커맨드멀티플렉싱회로(115)는 로우동작신호생성회로(119), 컬럼동작신호생성회로(121) 및 모드레지스터(135)에 연결될 수 있다. 커맨드멀티플렉싱회로(115)는 로우동작신호생성회로(119)에 제1 선택커맨드(SCMD1)를 인가할 수 있고, 컬럼동작신호생성회로(121)에 제2 선택커맨드(SCMD2)를 인가할 수 있으며, 모드레지스터(135)에 제3 선택커맨드(SCMD3)를 인가할 수 있다.
어드레스멀티플렉싱회로(117)는 어드레스디코더(113), 프로그래밍제어신호생성회로(137) 및 프로그래밍제어회로(139)에 연결될 수 있다. 어드레스멀티플렉싱회로(117)는 어드레스디코더(113)로부터 로우어드레스(RADD) 및 컬럼어드레스(CADD)를 수신할 수 있다. 어드레스멀티플렉싱회로(117)는 프로그래밍제어신호생성회로(137)로부터 프로그래밍종료신호(PG_EX)를 수신할 수 있다. 어드레스멀티플렉싱회로(117)는 프로그래밍제어회로(139)로부터 프로그래밍로우어드레스(PRADD) 및 프로그래밍컬럼어드레스(PCADD)를 수신할 수 있다. 어드레스멀티플렉싱회로(117)는 프로그래밍종료신호(PG_EX)를 토대로 로우어드레스(RADD), 컬럼어드레스(CADD), 프로그래밍로우어드레스(PRADD) 및 프로그래밍컬럼어드레스(PCADD)로부터 선택로우어드레스(SRADD) 및 선택컬럼어드레스(SCADD)를 생성할 수 있다. 어드레스멀티플렉싱회로(117)는 프로그래밍동작이 완료되지 않아 비활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 로우어드레스(RADD) 및 컬럼어드레스(CADD) 각각을 선택로우어드레스(SRADD) 및 선택컬럼어드레스(SCADD)로 출력할 수 있다. 어드레스멀티플렉싱회로(117)는 프로그래밍동작이 완료되어 활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 프로그래밍로우어드레스(PRADD) 및 프로그래밍컬럼어드레스(PCADD) 각각을 선택로우어드레스(SRADD) 및 선택컬럼어드레스(SCADD)로 출력할 수 있다. 어드레스멀티플렉싱회로(117)는 로우동작신호생성회로(119) 및 컬럼동작신호생성회로(121)에 연결될 수 있다. 어드레스멀티플렉싱회로(117)는 로우동작신호생성회로(119)에 선택로우어드레스(SRADD)를 인가할 수 있고, 컬럼동작신호생성회로(121)에 선택컬럼어드레스(SCADD)를 인가할 수 있다.
로우동작신호생성회로(119)는 커맨드멀티플렉싱회로(115) 및 어드레스멀티플렉싱회로(117)에 연결될 수 있다. 로우동작신호생성회로(119)는 커맨드멀티플렉싱회로(115)로부터 제1 선택커맨드(SCMD1)를 수신할 수 있다. 로우동작신호생성회로(119)는 어드레스멀티플렉싱회로(117)로부터 선택로우어드레스(SRADD)를 수신할 수 있다. 로우동작신호생성회로(119)는 제1 선택커맨드(SCMD1) 및 선택로우어드레스(SRADD)를 토대로 로우동작신호(RCNT)를 생성할 수 있다. 로우동작신호(RCNT)는 로우동작을 제어하기 위한 신호들을 포함할 수 있다. 다른 예에서, 로우동작신호(RCNT)는 로우동작을 제어하기 위한 신호들을 생성하기 위해 사용되는 중간신호들이 포함될 수 있다.
컬럼동작신호생성회로(121)는 커맨드멀티플렉싱회로(115) 및 어드레스멀티플렉싱회로(117)에 연결될 수 있다. 컬럼동작신호생성회로(121) 커맨드멀티플렉싱회로(115)로부터 제2 선택커맨드(SCMD2)를 수신할 수 있다. 컬럼동작신호생성회로(121)는 어드레스멀티플렉싱회로(117)로부터 선택컬럼어드레스(SCADD)를 수신할 수 있다. 컬럼동작신호생성회로(121)는 제2 선택커맨드(SCMD2) 및 선택컬럼어드레스(SCADD)를 토대로 컬럼동작신호(CCNT)를 생성할 수 있다. 컬럼동작신호(CCNT)는 컬럼동작을 제어하기 위한 신호들(미도시)을 포함할 수 있다. 다른 예에서, 컬럼동작신호(CCNT)는 컬럼동작을 제어하기 위한 신호들(미도시)을 생성하기 위해 사용되는 중간신호(미도시)들이 포함될 수 있다.
동작신호멀티플렉싱회로(123)는 로우동작신호생성회로(119), 컬럼동작신호생성회로(121), 프로그래밍제어신호생성회로(137) 및 프로그래밍제어회로(139)에 연결될 수 있다. 동작신호멀티플렉싱회로(123)는 로우동작신호생성회로(119)로부터 로우동작신호(RCNT)를 수신할 수 있고, 컬럼동작신호생성회로(121)로부터 컬럼동작신호(CCNT)를 수신할 수 있다. 동작신호멀티플렉싱회로(123)는 프로그래밍제어신호생성회로(137)로부터 프로그래밍종료신호(PG_EX)를 수신할 수 있다. 동작신호멀티플렉싱회로(123)는 프로그래밍제어회로(139)로부터 프로그래밍로우동작신호(PRCNT) 및 프로그래밍컬럼동작신호(PCCNT)를 수신할 수 있다. 동작신호멀티플렉싱회로(123)는 프로그래밍종료신호(PG_EX)를 토대로 로우동작신호(RCNT), 컬럼동작신호(CCNT), 프로그래밍로우동작신호(PRCNT) 및 프로그래밍컬럼동작신호(PCCNT)로부터 선택로우동작신호(SRCNT) 및 선택컬럼동작신호(SCCNT)를 생성할 수 있다. 동작신호멀티플렉싱회로(123)는 프로그래밍동작이 완료되지 않아 비활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 로우동작신호(RCNT) 및 컬럼동작신호(CCNT) 각각을 선택로우동작신호(SRCNT) 및 선택컬럼동작신호(SCCNT)로 출력할 수 있다. 동작신호멀티플렉싱회로(123)는 프로그래밍동작이 완료되어 활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 프로그래밍로우동작신호(PRCNT) 및 프로그래밍컬럼동작신호(PCCNT) 각각을 선택로우동작신호(SRCNT) 및 선택컬럼동작신호(SCCNT)로 출력할 수 있다. 동작신호멀티플렉싱회로(123)는 로우동작회로(125) 및 컬럼동작회로(127)에 연결될 수 있다. 동작신호멀티플렉싱회로(123)는 로우동작회로(125)에 선택로우동작신호(SRCNT)를 인가할 수 있고, 컬럼동작회로(127)에 선택컬럼동작신호(SCCNT)를 인가할 수 있다.
로우동작회로(125)는 동작신호멀티플렉싱회로(123) 및 메모리블럭(131)에 연결될 수 있다. 로우동작회로(125)는 동작신호멀티플렉싱회로(123)로부터 선택로우동작신호(SRCNT)를 수신할 수 있다. 로우동작회로(125)는 선택로우동작신호(SRCNT)를 토대로 로우동작이 수행되는 메모리블럭(131)에 포함된 셀어레이(미도시)가 연결된 워드라인(미도시)을 선택할 수 있다. 로우동작회로(125)는 액티브동작, 리프레쉬동작 및 프로그래밍액티브동작 중 하나가 수행될 때 선택로우동작신호(SRCNT)를 토대로 메모리블럭(131)에 포함된 셀어레이(미도시)가 연결된 워드라인(미도시)을 선택할 수 있다.
컬럼동작회로(127)는 동작신호멀티플렉싱회로(123) 및 입출력제어회로(133)에 연결될 수 있다. 컬럼동작회로(127)는 동작신호멀티플렉싱회로(123)로부터 선택컬럼동작신호(SCCNT)를 수신할 수 있다. 컬럼동작회로(127)는 선택컬럼동작신호(SCCNT)를 토대로 컬럼동작이 수행되는 메모리블럭(131)에 포함된 셀어레이(미도시)가 연결된 비트라인(미도시)이 선택되도록 입출력제어회로(133)를 제어할 수 있다. 컬럼동작회로(127)는 라이트동작이 수행될 때 선택컬럼동작신호(SCCNT)를 토대로 메모리블럭(131)에 포함된 셀어레이(미도시)에 입력데이터(DIN)를 저장하기 위해 입출력제어회로(133)를 제어할 수 있다. 컬럼동작회로(127)는 프로그래밍라이트동작이 수행될 때 선택컬럼동작신호(SCCNT)를 토대로 메모리블럭(131)에 포함된 셀어레이(미도시)에 입력데이터(DIN)를 프로그래밍데이터(PDATA)로 저장하기 위해 입출력제어회로(133)를 제어할 수 있다. 컬럼동작회로(127)는 리드동작이 수행될 때 선택컬럼동작신호(SCCNT)를 토대로 메모리블럭(131)에 포함된 셀어레이(미도시)에 저장된 데이터를 출력하기 위해 입출력제어회로(133)를 제어할 수 있다. 컬럼동작회로(127)는 프로그래밍리드동작이 수행될 때 선택컬럼동작신호(SCCNT)를 토대로 메모리블럭(131)에 포함된 셀어레이(미도시)에 저장된 프로그래밍데이터(PDATA)를 출력하기 위해 입출력제어회로(133)를 제어할 수 있다.
입출력제어회로(133)는 컬럼동작회로(127) 및 메모리블럭(131)에 연결될 수 있다. 입출력제어회로(133)는 프로그래밍라이트동작이 수행될 때 컬럼동작회로(127)의 제어를 토대로 메모리블럭(131)에 포함된 셀어레이(미도시)에 입력데이터(DIN)를 프로그래밍데이터(PDATA)로 저장할 수 있다. 입출력제어회로(133)는 프로그래밍리드동작이 수행될 때 컬럼동작회로(127)의 제어를 토대로 메모리블럭(131)에 포함된 셀어레이(미도시)에 저장된 프로그래밍데이터(PDATA)를 출력할 수 있다. 입출력제어회로(133)는 프로그래밍제어신호생성회로(137)에 연결될 수 있다. 입출력제어회로(133)는 프로그래밍데이터(PDATA)를 프로그래밍제어신호생성회로(137)에 인가할 수 있다.
모드레지스터(135)는 커맨드디코더(111) 및 프로그래밍제어신호생성회로(137)에 연결될 수 있다. 모드레지스터(135)는 커맨드디코더(111)로부터 제3 커맨드(ICMD3)를 수신할 수 있다. 모드레지스터(135)는 모드레지스터라이트동작이 수행될 때 제3 커맨드(ICMD3)를 토대로 외부제어신호(CA)로부터 프로그래밍인에이블신호(PG_EN)를 추출하여 저장할 수 있다. 프로그래밍인에이블신호(PG_EN)는 프로그래밍동작을 위해 활성화될 수 있다. 모드레지스터(135)는 모드레지스터리드동작이 수행될 때 제3 커맨드(ICMD3)를 토대로 프로그래밍인에이블신호(PG_EN)를 출력할 수 있다. 모드레지스터(135)는 프로그래밍인에이블신호(PG_EN)를 프로그래밍제어신호생성회로(137)에 인가할 수 있다.
프로그래밍제어신호생성회로(137)는 입출력제어회로(133) 및 모드레지스터(135)에 연결될 수 있다. 프로그래밍제어신호생성회로(137)는 입출력제어회로(133)로부터 프로그래밍데이터(PDATA)를 수신할 수 있고, 모드레지스터(135)로부터 프로그래밍인에이블신호(PG_EN)를 수신할 수 있다. 프로그래밍제어신호생성회로(137)는 프로그래밍동작이 수행되어 활성화된 프로그래밍인에이블신호(PG_EN)가 수신될 때 클럭(CLK) 및 프로그래밍데이터(PDATA)를 토대로 프로그래밍제어신호(CTR) 및 프로그래밍종료신호(PG_EX)를 생성할 수 있다. 프로그래밍종료신호(PG_EX)는 프로그래밍데이터(PDATA)로부터 프로그래밍제어신호(CTR)가 생성되는 동작이 종료될 때 활성화될 수 있다. 본 예에서 클럭(CLK)은 컨트롤러(11)로부터 인가되지만 실시예에 따라서 반도체장치(13A) 내부에서 생성되도록 구현될 수도 있다. 프로그래밍제어신호생성회로(137)는 프로그래밍제어신호(CTR)를 프로그래밍제어회로(139)에 인가할 수 있다.
프로그래밍제어회로(139)는 커맨드디코더(111), 어드레스디코더(113), 로우동작신호생성회로(119), 컬럼동작신호생성회로(121) 및 프로그래밍제어신호생성회로(137)에 연결될 수 있다. 프로그래밍제어회로(139)는 커맨드디코더(111)로부터 제1 커맨드(ICMD1), 제2 커맨드(ICMD2) 및 제3 커맨드(ICMD3)를 수신할 수 있다. 프로그래밍제어회로(139)는 어드레스디코더(113)로부터 로우어드레스(RADD) 및 컬럼어드레스(CADD)를 수신할 수 있다. 프로그래밍제어회로(139)는 로우동작신호생성회로(119)로부터 로우동작신호(RCNT)를 수신할 수 있다. 프로그래밍제어회로(139)는 컬럼동작신호생성회로(121)로부터 컬럼동작신호(CCNT)를 수신할 수 있다. 프로그래밍제어회로(139)는 프로그래밍제어신호생성회로(137)로부터 프로그래밍제어신호(CTR)를 수신할 수 있다. 프로그래밍제어회로(139)는 프로그래밍동작이 수행될 때 프로그래밍제어신호(CTR)를 토대로 제1 커맨드(ICMD1), 제2 커맨드(ICMD2), 제3 커맨드(ICMD3), 로우어드레스(RADD), 컬럼어드레스(CADD), 로우동작신호(RCNT) 및 컬럼동작신호(CCNT)로부터 제1 프로그래밍커맨드(PCMD1), 제2 프로그래밍커맨드(PCMD2), 제3 프로그래밍커맨드(PCMD3), 프로그래밍로우어드레스(PRAD), 프로그래밍컬럼어드레스(PCAD), 프로그래밍로우동작신호(PRCNT) 및 프로그래밍컬럼동작신호(PCCNT)를 생성할 수 있다. 프로그래밍제어회로(139)는 커맨드멀티플렉싱회로(115), 어드레스멀티플렉싱회로(117) 및 동작신호멀티플렉싱회로(123)에 연결될 수 있다. 프로그래밍제어회로(139)는 제1 프로그래밍커맨드(PCMD1), 제2 프로그래밍커맨드(PCMD2) 및 제3 프로그래밍커맨드(PCMD3)를 커맨드멀티플렉싱회로(115)에 인가할 수 있다. 프로그래밍제어회로(139)는 프로그래밍로우어드레스(PRAD) 및 프로그래밍컬럼어드레스(PCAD)를 어드레스멀티플렉싱회로(117)에 인가할 수 있다. 프로그래밍제어회로(139)는 프로그래밍로우동작신호(PRCNT) 및 프로그래밍컬럼동작신호(PCCNT)를 동작신호멀티플렉싱회로(123)에 인가할 수 있다.
도 3은 본 발명의 일 예에 따른 커맨드멀티플렉싱회로(115A)의 회로도이다. 도 3에 도시된 바와 같이, 커맨드멀티플렉싱회로(115A)는 제1 커맨드멀티플렉서(211), 제2 커맨드멀티플렉서(213) 및 제3 커맨드멀티플렉서(214)를 포함할 수 있다.
제1 커맨드멀티플렉서(211)는 프로그래밍종료신호(PG_EX)를 토대로 제1 커맨드(ICMD1) 및 제1 프로그래밍커맨드(PCMD1)로부터 제1 선택커맨드(SCMD1)를 생성할 수 있다. 제1 커맨드멀티플렉서(211)는 프로그래밍이 종료되지 않아 비활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 제1 커맨드(ICMD1)를 제1 선택커맨드(SCMD1)로 선택하여 출력할 수 있다. 제1 커맨드멀티플렉서(211)는 프로그래밍이 종료되어 활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 제1 프로그래밍커맨드(PCMD1)를 제1 선택커맨드(SCMD1)로 선택하여 출력할 수 있다.
제2 커맨드멀티플렉서(213)는 프로그래밍종료신호(PG_EX)를 토대로 제2 커맨드(ICMD2) 및 제2 프로그래밍커맨드(PCMD2)로부터 제2 선택커맨드(SCMD2)를 생성할 수 있다. 제2 커맨드멀티플렉서(213)는 프로그래밍이 종료되지 않아 비활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 제2 커맨드(ICMD2)를 제2 선택커맨드(SCMD2)로 선택하여 출력할 수 있다. 제2 커맨드멀티플렉서(213)는 프로그래밍이 종료되어 활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 제2 프로그래밍커맨드(PCMD2)를 제2 선택커맨드(SCMD2)로 선택하여 출력할 수 있다.
제3 커맨드멀티플렉서(214)는 프로그래밍종료신호(PG_EX)를 토대로 제3 커맨드(ICMD3) 및 제3 프로그래밍커맨드(PCMD3)로부터 제3 선택커맨드(SCMD3)를 생성할 수 있다. 제3 커맨드멀티플렉서(214)는 프로그래밍이 종료되지 않아 비활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 제3 커맨드(ICMD3)를 제3 선택커맨드(SCMD3)로 선택하여 출력할 수 있다. 제3 커맨드멀티플렉서(214)는 프로그래밍이 종료되어 활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 제3 프로그래밍커맨드(PCMD3)를 제3 선택커맨드(SCMD3)로 선택하여 출력할 수 있다.
도 4는 본 발명의 일 예에 따른 어드레스멀티플렉싱회로(117A)의 회로도이다. 도 4에 도시된 바와 같이, 어드레스멀티플렉싱회로(117A)는 제1 어드레스멀티플렉서(215) 및 제2 어드레스멀티플렉서(217)를 포함할 수 있다.
제1 어드레스멀티플렉서(215)는 프로그래밍종료신호(PG_EX)를 토대로 로우어드레스(RADD) 및 프로그래밍로우어드레스(PRADD)로부터 선택로우어드레스(SRADD)를 생성할 수 있다. 제1 어드레스멀티플렉서(215)는 프로그래밍이 종료되지 않아 비활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 로우어드레스(RADD)를 선택로우어드레스(SRADD)로 선택하여 출력할 수 있다. 제1 어드레스멀티플렉서(215)는 프로그래밍이 종료되어 활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 프로그래밍로우어드레스(PRADD)를 선택로우어드레스(SRADD)로 선택하여 출력할 수 있다.
제2 어드레스멀티플렉서(217)는 프로그래밍종료신호(PG_EX)를 토대로 컬럼어드레스(CADD) 및 프로그래밍컬럼어드레스(PCADD)로부터 선택컬럼어드레스(SCADD)를 생성할 수 있다. 제2 어드레스멀티플렉서(217)는 프로그래밍이 종료되지 않아 비활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 컬럼어드레스(CADD)를 선택컬럼어드레스(SCADD)로 선택하여 출력할 수 있다. 제2 어드레스멀티플렉서(217)는 프로그래밍이 종료되어 활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 프로그래밍컬럼어드레스(PCADD)를 선택컬럼어드레스(SCADD)로 선택하여 출력할 수 있다.
도 5는 본 발명의 일 예에 따른 동작신호멀티플렉싱회로(123A)의 회로도이다. 도 5에 도시된 바와 같이, 동작신호멀티플렉싱회로(123A)는 제1 동작신호멀티플렉서(221) 및 제2 동작신호멀티플렉서(223)를 포함할 수 있다.
제1 동작신호멀티플렉서(221)는 프로그래밍종료신호(PG_EX)를 토대로 로우동작신호(RCNT) 및 프로그래밍로우동작신호(PRCNT)로부터 선택로우동작신호(SRCNT)를 생성할 수 있다. 제1 동작신호멀티플렉서(221)는 프로그래밍이 종료되지 않아 비활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 로우동작신호(RCNT)를 선택로우동작신호(SRCNT)로 선택하여 출력할 수 있다. 제1 동작신호멀티플렉서(221)는 프로그래밍이 종료되어 활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 프로그래밍로우동작신호(PRCNT)를 선택로우동작신호(SRCNT)로 선택하여 출력할 수 있다.
제2 동작신호멀티플렉서(223)는 프로그래밍종료신호(PG_EX)를 토대로 컬럼동작신호(CCNT) 및 프로그래밍컬럼동작신호(PCCNT)로부터 선택컬럼동작신호(SCCNT)를 생성할 수 있다. 제2 동작신호멀티플렉서(223)는 프로그래밍이 종료되지 않아 비활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 컬럼동작신호(CCNT)를 선택컬럼동작신호(SCCNT)로 선택하여 출력할 수 있다. 제2 동작신호멀티플렉서(223)는 프로그래밍이 종료되어 활성화된 프로그래밍종료신호(PG_EX)가 수신될 때 프로그래밍컬럼동작신호(PCCNT)를 선택컬럼동작신호(SCCNT)로 선택하여 출력할 수 있다.
도 6은 본 발명의 일 예에 따른 프로그래밍제어신호생성회로(137A)의 회로도이다. 도 6에 도시된 바와 같이, 프로그래밍제어신호생성회로(137A)는 제1 내지 제Z 프로그래밍제어신호생성회로(231_1, 231_2, 231_3~231_Z)를 포함할 수 있다.
제1 프로그래밍제어신호생성회로(231_1)는 플립플롭들(241_1, 241_2~241_L) 및 앤드게이트들(242_1, 242_2~242_L)을 포함할 수 있다. 플립플롭(241_1)은 클럭(CLK)에 동기하여 프로그래밍데이터(PDATA)를 래치하여 출력할 수 있다. 앤드게이트들(242_1)는 프로그래밍인에이블신호(PG_EN) 및 플립플롭(241_1)의 출력신호를 수신하여 논리곱 연산을 수행하여 제1 프로그래밍제어신호(CTR1)의 제1 비트(CTR1<1>)를 생성할 수 있다. 플립플롭(241_2)은 클럭(CLK)에 동기하여 플립플롭(241_1)의 출력신호를 래치하여 출력할 수 있다. 앤드게이트들(242_2)는 프로그래밍인에이블신호(PG_EN) 및 플립플롭(241_2)의 출력신호를 수신하여 논리곱 연산을 수행하여 제1 프로그래밍제어신호(CTR1)의 제2 비트(CTR1<2>)를 생성할 수 있다. 플립플롭(241_L)은 클럭(CLK)에 동기하여 플립플롭(241_(L-1), 미도시)의 출력신호를 래치하여 출력할 수 있다. 앤드게이트들(242_L)는 프로그래밍인에이블신호(PG_EN) 및 플립플롭(241_L)의 출력신호를 수신하여 논리곱 연산을 수행하여 제1 프로그래밍제어신호(CTR1)의 제L 비트(CTR1<L>)를 생성할 수 있다.
제2 프로그래밍제어신호생성회로(231_2)는 플립플롭들(243_1~243_M) 및 앤드게이트들(244_1, 244_2~244_M)을 포함할 수 있다. 플립플롭(243_1)은 클럭(CLK)에 동기하여 플립플롭(241_L)의 출력신호를 래치하여 출력할 수 있다. 앤드게이트들(244_1)는 프로그래밍인에이블신호(PG_EN) 및 플립플롭(243_1)의 출력신호를 수신하여 논리곱 연산을 수행하여 제2 프로그래밍제어신호(CTR2)의 제1 비트(CTR2<1>)를 생성할 수 있다. 플립플롭(243_M)은 클럭(CLK)에 동기하여 플립플롭(243_(M-1), 미도시)의 출력신호를 래치하여 출력할 수 있다. 앤드게이트들(244_M)는 프로그래밍인에이블신호(PG_EN) 및 플립플롭(243_M)의 출력신호를 수신하여 논리곱 연산을 수행하여 제2 프로그래밍제어신호(CTR2)의 제M 비트(CTR2<M>)를 생성할 수 있다.
제3 프로그래밍제어신호생성회로(231_3)는 플립플롭들(245_1~245_N) 및 앤드게이트들(246_1, 246_2~246_N)을 포함할 수 있다. 플립플롭(245_1)은 클럭(CLK)에 동기하여 플립플롭(243_M)의 출력신호를 래치하여 출력할 수 있다. 앤드게이트들(246_1)는 프로그래밍인에이블신호(PG_EN) 및 플립플롭(245_1)의 출력신호를 수신하여 논리곱 연산을 수행하여 제3 프로그래밍제어신호(CTR3)의 제1 비트(CTR3<1>)를 생성할 수 있다. 플립플롭(245_N)은 클럭(CLK)에 동기하여 플립플롭(245_(N-1), 미도시)의 출력신호를 래치하여 출력할 수 있다. 앤드게이트들(246_N)는 프로그래밍인에이블신호(PG_EN) 및 플립플롭(245_N)의 출력신호를 수신하여 논리곱 연산을 수행하여 제3 프로그래밍제어신호(CTR3)의 제N 비트(CTR3<N>)를 생성할 수 있다.
제Z 프로그래밍제어신호생성회로(231_Z)는 플립플롭들(247_1, 247_S, 249) 및 앤드게이트들(248_1~248_S)을 포함할 수 있다. 플립플롭(247_1)은 클럭(CLK)에 동기하여 제Z-1 프로그래밍제어신호생성회로(미도시)에 포함된 마지막 플립플롭(미도시)의 출력신호를 래치하여 출력할 수 있다. 앤드게이트들(248_1)는 프로그래밍인에이블신호(PG_EN) 및 플립플롭(247_1)의 출력신호를 수신하여 논리곱 연산을 수행하여 제Z 프로그래밍제어신호(CTRZ)의 제1 비트(CTRZ<1>)를 생성할 수 있다. 플립플롭(247_S)은 클럭(CLK)에 동기하여 플립플롭(247_(S-1), 미도시)의 출력신호를 래치하여 출력할 수 있다. 앤드게이트들(248_S)는 프로그래밍인에이블신호(PG_EN) 및 플립플롭(247_S)의 출력신호를 수신하여 논리곱 연산을 수행하여 제Z 프로그래밍제어신호(CTRZ)의 제S 비트(CTRZ<S>)를 생성할 수 있다. 플립플롭(249)은 클럭(CLK)에 동기하여 플립플롭(247_S)의 출력신호를 래치하여 프로그래밍종료신호(PG_EX)를 출력할 수 있다.
이상 살펴본 바와 같이 구성된 프로그래밍제어신호생성회로(137A)는 클럭(CLK)에 동기하여 프로그래밍데이터(PDATA)를 순차적으로 래치하여 제1 내지 제Z 프로그래밍제어신호(CTR1~CTRZ) 및 프로그래밍종료신호(PG_EX)를 생성할 수 있다. 프로그래밍제어신호생성회로(137A)는 클럭(CLK)에 동기하여 프로그래밍데이터(PDATA)를 순차적으로 래치하여 제1 프로그래밍제어신호(CTR1)를 생성하고, 클럭(CLK)에 동기하여 제1 프로그래밍제어신호(CTR1)를 제2 프로그래밍제어신호(CTR2)로 전달하며, 제2 프로그래밍제어신호(CTR2)를 제3 프로그래밍제어신호(CTR2)로 전달하는 방식으로 프로그래밍데이터(PDATA)를 제1 프로그래밍제어신호(CTR1)에서부터 제Z 프로그래밍제어신호(CTRZ) 및 프로그래밍종료신호(PG_EX)까지 순차적으로 전달할 수 있다. 프로그래밍종료신호(PG_EX)가 활성화될 때 제1 내지 제Z 프로그래밍제어신호(CTR1~CTRZ) 각각은 프로그래밍데이터(PDATA)가 순차적으로 래치되어 전달되는 방식으로 프로그래밍된다. 프로그래밍제어신호생성회로(137A)는 프로그래밍종료신호(PG_EX)가 활성화될 때 프로그래밍된 제1 내지 제Z 프로그래밍제어신호(CTR1~CTRZ)를 프로그래밍제어회로(139)에 인가할 수 있다.
도 7은 본 발명의 일 예에 따른 프로그래밍제어회로(139A)의 구성을 도시한 블럭도이다. 도 7에 도시된 바와 같이, 프로그래밍제어회로(139A)는 입력멀티플렉싱회로(251), 제1 내지 제9 프로그래밍로직회로(253_1~253_9) 및 출력멀티플렉싱회로(255)를 포함할 수 있다. 본 예에서, 프로그래밍제어회로(139A)는 프로그래밍제어신호생성회로(도 2의 137)로부터 제1 내지 제11 프로그래밍제어신호(CTR1~CTR11)를 수신하지만 이는 일 예일 뿐 이에 한정되지는 않는다.
입력멀티플렉싱회로(251)는 제1 프로그래밍제어신호(CTR1)를 토대로 제1 커맨드(ICMD1), 제2 커맨드(ICMD2), 제3 커맨드(ICMD3), 로우어드레스(RADD), 컬럼어드레스(CADD), 로우동작신호(RCNT), 컬럼동작신호(CCNT), 제1 로직레벨신호(LS), 제2 로직레벨신호(HS) 및 가변레벨신호(VS)를 수신할 수 있다. 일 예로, 제1 로직레벨신호(LS)는 로직로우레벨일 수 있고, 제2 로직레벨신호(HS)는 로직하이레벨일 수 있다. 가변레벨신호(VS)는 기 설정된 레벨을 갖도록 구현될 수 있다. 입력멀티플렉싱회로(251)는 제1 프로그래밍제어신호(CTR1)를 토대로 제1 커맨드(ICMD1), 제2 커맨드(ICMD2), 제3 커맨드(ICMD3), 로우어드레스(RADD), 컬럼어드레스(CADD), 로우동작신호(RCNT), 컬럼동작신호(CCNT), 제1 로직레벨신호(LS), 제2 로직레벨신호(HS) 및 가변레벨신호(VS) 중 적어도 하나를 선택하여 수신할 수 있다.
제1 프로그래밍로직회로(253_1)는 제2 프로그래밍제어신호(CTR2)를 토대로 룩업테이블신호(도 9의 LUTS)를 생성하여 저장할 수 있다. 룩업테이블신호(도 9의 LUTS)는 다수의 비트들을 포함할 수 있고, 룩업테이블신호(도 9의 LUTS)에 포함된 비트들은 로직입력신호(도 9의 LIN)의 적어도 하나의 비트에 대한 다양한 논리연산들의 결과값들로 설정될 수 있다. 로직입력신호(도 9의 LIN)에 대한 다양한 논리연산들에는 반전연산, 버퍼링연산, 논리곱연산, 논리합연산, 부정논리곱연산, 부정논리합연산, 배타적논리곱연산 및 배타적논리합연산 등이 포함될 수 있다. 제1 프로그래밍로직회로(253_1)는 입력멀티플렉싱회로(251)의 출력신호 및 제4 프로그래밍로직회로(253_4)의 출력신호 중 적어도 하나로부터 로직입력신호(도 9의 LIN)를 수신할 수 있다. 제1 프로그래밍로직회로(253_1)는 로직입력신호(도 9의 LIN)를 토대로 내부에 저장된 룩업테이블신호(도 9의 LUTS)로부터 로직출력신호(도 9의 LOUT)를 생성할 수 있다. 좀 더 구체적으로, 제1 프로그래밍로직회로(253_1)는 로직입력신호(도 9의 LIN)에 포함된 비트들의 로직비트셋에 따라 룩업테이블신호(도 9의 LUTS)에 포함된 비트들 중 하나를 로직출력신호(도 9의 LOUT)로 선택하여 출력할 수 있다. 제1 프로그래밍로직회로(253_1)는 로직출력신호(도 9의 LOUT)를 제2 프로그래밍로직회로(253_2) 및 제4 프로그래밍로직회로(253_4) 중 적어도 하나로 출력할 수 있다. 제1 프로그래밍로직회로(253_1)에서 로직입력신호(도 9의 LIN)가 입력되는 구성 및 로직출력신호(도 9의 LOUT)가 출력되는 구성은 실시예에 따라서 다양하게 구현될 수 있다.
제2 프로그래밍로직회로(253_2)는 제3 프로그래밍제어신호(CTR3)를 토대로 룩업테이블신호(미도시)를 생성하여 저장할 수 있다. 제2 프로그래밍로직회로(253_2)는 제1 프로그래밍로직회로(253_1)의 출력신호 및 제5 프로그래밍로직회로(253_5)의 출력신호 중 적어도 하나로부터 로직입력신호(미도시)를 수신할 수 있다. 제2 프로그래밍로직회로(253_2)는 로직입력신호(미도시)를 토대로 내부에 저장된 룩업테이블신호(미도시)로부터 로직출력신호(미도시)를 생성할 수 있다. 제2 프로그래밍로직회로(253_2)는 로직출력신호(미도시)를 제3 프로그래밍로직회로(253_3) 및 제5 프로그래밍로직회로(253_5) 중 적어도 하나로 출력할 수 있다.
제3 프로그래밍로직회로(253_3)는 제4 프로그래밍제어신호(CTR4)를 토대로 룩업테이블신호(미도시)를 생성하여 저장할 수 있다. 제3 프로그래밍로직회로(253_3)는 제2 프로그래밍로직회로(253_2)의 출력신호 및 제6 프로그래밍로직회로(253_6)의 출력신호 중 적어도 하나로부터 로직입력신호(미도시)를 수신할 수 있다. 제3 프로그래밍로직회로(253_3)는 로직입력신호(미도시)를 토대로 내부에 저장된 룩업테이블신호(미도시)로부터 로직출력신호(미도시)를 생성할 수 있다. 제3 프로그래밍로직회로(253_3)는 로직출력신호(미도시)를 제6 프로그래밍로직회로(253_6) 및 출력멀티플렉싱회로(255) 중 적어도 하나로 출력할 수 있다.
제4 프로그래밍로직회로(253_4)는 제5 프로그래밍제어신호(CTR5)를 토대로 룩업테이블신호(미도시)를 생성하여 저장할 수 있다. 제4 프로그래밍로직회로(253_4)는 입력멀티플렉싱회로(251)의 출력신호, 제1 프로그래밍로직회로(253_1)의 출력신호 및 제7 프로그래밍로직회로(253_7)의 출력신호 중 적어도 하나로부터 로직입력신호(미도시)를 수신할 수 있다. 제4 프로그래밍로직회로(253_4)는 로직입력신호(미도시)를 토대로 내부에 저장된 룩업테이블신호(미도시)로부터 로직출력신호(미도시)를 생성할 수 있다. 제4 프로그래밍로직회로(253_4)는 로직출력신호(미도시)를 제1 프로그래밍로직회로(253_1), 제5 프로그래밍로직회로(253_5) 및 제7 프로그래밍로직회로(253_7) 중 적어도 하나로 출력할 수 있다.
제5 프로그래밍로직회로(253_5)는 제6 프로그래밍제어신호(CTR6)를 토대로 룩업테이블신호(미도시)를 생성하여 저장할 수 있다. 제5 프로그래밍로직회로(253_5)는 제2 프로그래밍로직회로(253_2)의 출력신호, 제4 프로그래밍로직회로(253_4)의 출력신호 및 제8 프로그래밍로직회로(253_8)의 출력신호 중 적어도 하나로부터 로직입력신호(미도시)를 수신할 수 있다. 제5 프로그래밍로직회로(253_5)는 로직입력신호(미도시)를 토대로 내부에 저장된 룩업테이블신호(미도시)로부터 로직출력신호(미도시)를 생성할 수 있다. 제5 프로그래밍로직회로(253_5)는 로직출력신호(미도시)를 제2 프로그래밍로직회로(253_2), 제6 프로그래밍로직회로(253_6) 및 제8 프로그래밍로직회로(253_8) 중 적어도 하나로 출력할 수 있다.
제6 프로그래밍로직회로(253_6)는 제7 프로그래밍제어신호(CTR7)를 토대로 룩업테이블신호(미도시)를 생성하여 저장할 수 있다. 제6 프로그래밍로직회로(253_6)는 제3 프로그래밍로직회로(253_3)의 출력신호, 제5 프로그래밍로직회로(253_5)의 출력신호 및 제9 프로그래밍로직회로(253_9)의 출력신호 중 적어도 하나로부터 로직입력신호(미도시)를 수신할 수 있다. 제6 프로그래밍로직회로(253_6)는 로직입력신호(미도시)를 토대로 내부에 저장된 룩업테이블신호(미도시)로부터 로직출력신호(미도시)를 생성할 수 있다. 제6 프로그래밍로직회로(253_6)는 로직출력신호(미도시)를 제3 프로그래밍로직회로(253_3), 제9 프로그래밍로직회로(253_9) 및 출력멀티플렉싱회로(255) 중 적어도 하나로 출력할 수 있다.
제7 프로그래밍로직회로(253_7)는 제8 프로그래밍제어신호(CTR8)를 토대로 룩업테이블신호(미도시)를 생성하여 저장할 수 있다. 제7 프로그래밍로직회로(253_7)는 입력멀티플렉싱회로(251)의 출력신호 및 제4 프로그래밍제어신호(CTR4)의 출력신호 중 적어도 하나로부터 로직입력신호(미도시)를 수신할 수 있다. 제7 프로그래밍로직회로(253_7)는 로직입력신호(미도시)를 토대로 내부에 저장된 룩업테이블신호(미도시)로부터 로직출력신호(미도시)를 생성할 수 있다. 제7 프로그래밍로직회로(253_7)는 로직출력신호(미도시)를 제4 프로그래밍로직회로(253_4) 및 제8 프로그래밍로직회로(253_8) 중 적어도 하나로 출력할 수 있다.
제8 프로그래밍로직회로(253_8)는 제9 프로그래밍제어신호(CTR9)를 토대로 룩업테이블신호(미도시)를 생성하여 저장할 수 있다. 제8 프로그래밍로직회로(253_8)는 제5 프로그래밍로직회로(253_5)의 출력신호 및 제7 프로그래밍로직회로(253_7)의 출력신호 중 적어도 하나로부터 로직입력신호(미도시)를 수신할 수 있다. 제8 프로그래밍로직회로(253_8)는 로직입력신호(미도시)를 토대로 내부에 저장된 룩업테이블신호(미도시)로부터 로직출력신호(미도시)를 생성할 수 있다. 제8 프로그래밍로직회로(253_8)는 로직출력신호(미도시)를 제5 프로그래밍로직회로(253_5) 및 제9 프로그래밍로직회로(253_9) 중 적어도 하나로 출력할 수 있다.
제9 프로그래밍로직회로(253_9)는 제10 프로그래밍제어신호(CTR10)를 토대로 룩업테이블신호(미도시)를 생성하여 저장할 수 있다. 제9 프로그래밍로직회로(253_9)는 제6 프로그래밍로직회로(253_6)의 출력신호 및 제8 프로그래밍로직회로(253_8)의 출력신호 중 적어도 하나로부터 로직입력신호(미도시)를 수신할 수 있다. 제9 프로그래밍로직회로(253_9)는 로직입력신호(미도시)를 토대로 내부에 저장된 룩업테이블신호(미도시)로부터 로직출력신호(미도시)를 생성할 수 있다. 제9 프로그래밍로직회로(253_9)는 로직출력신호(미도시)를 제6 프로그래밍로직회로(253_6) 및 출력멀티플렉싱회로(255) 중 적어도 하나로 출력할 수 있다.
출력멀티플렉싱회로(255)는 제11 프로그래밍제어신호(CTR11)를 토대로 제3 프로그래밍로직회로(253_3)의 출력신호, 제6 프로그래밍로직회로(253_6)의 출력신호 및 제9 프로그래밍로직회로(253_9)의 출력신호 중 하나를 제1 프로그래밍커맨드(PCMD1), 제2 프로그래밍커맨드(PCMD2), 제3 프로그래밍커맨드(PCMD3), 프로그래밍로우어드레스(PRAD), 프로그래밍컬럼어드레스(PCAD), 프로그래밍로우동작신호(PRCNT) 및 프로그래밍컬럼동작신호(PCCNT) 중 하나로 출력할 수 있다.
도 8은 본 발명의 일 예에 따른 입력멀티플렉싱회로(251A)의 회로도이다. 도 8에 도시된 바와 같이, 입력멀티플렉싱회로(251A)는 제1 내지 제7 입력멀티플렉서(261_1~261_7)를 포함할 수 있다.
제1 입력멀티플렉서(261_1)는 제1 프로그래밍제어신호(CTR1)의 제1 내지 제2 비트(CTR1<1:2>)를 토대로 제1 로직레벨신호(LS), 제2 로직레벨신호(HS), 가변레벨신호(VS) 및 제1 커맨드(ICMD1) 중 하나를 선택하여 프로그래밍제어회로(도 7의 139A)에 포함된 프로그래밍로직회로(PLC)들 중 하나로 출력할 수 있다.
제2 입력멀티플렉서(261_2)는 제1 프로그래밍제어신호(CTR1)의 제3 내지 제4 비트(CTR1<3:4>)를 토대로 제1 로직레벨신호(LS), 제2 로직레벨신호(HS), 가변레벨신호(VS) 및 제2 커맨드(ICMD2) 중 하나를 선택하여 프로그래밍제어회로(도 7의 139A)에 포함된 프로그래밍로직회로(PLC)들 중 하나로 출력할 수 있다.
제3 입력멀티플렉서(261_3)는 제1 프로그래밍제어신호(CTR1)의 제5 내지 제6 비트(CTR1<5:6>)를 토대로 제1 로직레벨신호(LS), 제2 로직레벨신호(HS), 가변레벨신호(VS) 및 제3 커맨드(ICMD3) 중 하나를 선택하여 프로그래밍제어회로(도 7의 139A)에 포함된 프로그래밍로직회로(PLC)들 중 하나로 출력할 수 있다.
제4 입력멀티플렉서(261_4)는 제1 프로그래밍제어신호(CTR1)의 제7 내지 제8 비트(CTR1<7:8>)를 토대로 제1 로직레벨신호(LS), 제2 로직레벨신호(HS), 가변레벨신호(VS) 및 로우어드레스(RADD) 중 하나를 선택하여 프로그래밍제어회로(도 7의 139A)에 포함된 프로그래밍로직회로(PLC)들 중 하나로 출력할 수 있다.
제5 입력멀티플렉서(261_5)는 제1 프로그래밍제어신호(CTR1)의 제9 내지 제10 비트(CTR1<9:10>)를 토대로 제1 로직레벨신호(LS), 제2 로직레벨신호(HS), 가변레벨신호(VS) 및 컬럼어드레스(CADD) 중 하나를 선택하여 프로그래밍제어회로(도 7의 139A)에 포함된 프로그래밍로직회로(PLC)들 중 하나로 출력할 수 있다.
제6 입력멀티플렉서(261_6)는 제1 프로그래밍제어신호(CTR1)의 제11 내지 제12 비트(CTR1<11:12>)를 토대로 제1 로직레벨신호(LS), 제2 로직레벨신호(HS), 가변레벨신호(VS) 및 로우동작신호(RCNT) 중 하나를 선택하여 프로그래밍제어회로(도 7의 139A)에 포함된 프로그래밍로직회로(PLC)들 중 하나로 출력할 수 있다.
제7 입력멀티플렉서(261_7)는 제1 프로그래밍제어신호(CTR1)의 제13 내지 제14 비트(CTR1<13:14>)를 토대로 제1 로직레벨신호(LS), 제2 로직레벨신호(HS), 가변레벨신호(VS) 및 컬럼동작신호(CCNT) 중 하나를 선택하여 프로그래밍제어회로(도 7의 139A)에 포함된 프로그래밍로직회로(PLC)들 중 하나로 출력할 수 있다.
도 9는 본 발명의 일 예에 따른 프로그래밍로직회로(253_1A)의 구성을 도시한 블럭도이다. 도 9에 도시된 바와 같이, 프로그래밍로직회로(253_1A)는 룩업테이블신호저장회로(LUTS STG, 271) 및 룩업테이블신호선택회로(LUTS SEL, 273)를 포함할 수 있다.
룩업테이블신호저장회로(271)는 제2 프로그래밍제어신호(CTR2)를 토대로 룩업테이블신호(LUTS)를 생성하여 저장할 수 있다. 룩업테이블신호저장회로(271)는 제2 프로그래밍제어신호(CTR2)에 포함된 비트들로부터 다수의 비트들을 포함하는 룩업테이블신호(LUTS)를 생성하여 저장할 수 있다. 룩업테이블신호저장회로(271)는 룩업테이블신호(LUTS)의 적어도 하나의 비트를 저장하는 다수의 룩업테이블신호래치들(도 10의 281_1, 281_2, 281_3, 281_4)을 포함할 수 있다. 룩업테이블신호저장회로(271)에 포함된 다수의 룩업테이블신호래치들(도 10의 281_1, 281_2, 281_3, 281_4) 각각에 저장된 룩업테이블신호(LUTS)의 적어도 하나의 비트는 로직입력신호(LIN)의 적어도 하나의 비트에 대한 다양한 논리연산들의 결과값들로 설정될 수 있다. 룩업테이블신호저장회로(271)는 룩업테이블신호선택회로(273)에 연결되어, 룩업테이블신호(LUTS)를 룩업테이블신호선택회로(273)에 인가할 수 있다.
룩업테이블신호선택회로(273)는 룩업테이블신호저장회로(271)로부터 룩업테이블신호(LUTS)를 수신할 수 있다. 룩업테이블신호선택회로(273)는 입력멀티플렉싱회로(도 7의 251)의 출력신호 및 제4 프로그래밍로직회로(도 7의 253_4)의 출력신호 중 적어도 하나로부터 로직입력신호(LIN)를 수신하도록 구현될 수 있지만 이는 실시예일 뿐 이에 한정되지는 않는다. 룩업테이블신호선택회로(273)는 로직입력신호(LIN)를 토대로 룩업테이블신호(LUTS)로부터 로직출력신호(LOUT)를 생성할 수 있다. 룩업테이블신호선택회로(273)는 로직입력신호(LIN)에 포함된 비트들의 로직비트셋에 따라 룩업테이블신호(LUTS)에 포함된 비트들 중 하나를 로직출력신호(LOUT)로 선택하여 출력할 수 있다.
도 10은 본 발명의 일 예에 따른 룩업테이블신호저장회로(271A)의 구성을 도시한 블럭도이다. 도 10에 도시된 바와 같이, 룩업테이블신호저장회로(271A)는 제1 룩업테이블신호래치(281_1), 제2 룩업테이블신호래치(281_2), 제3 룩업테이블신호래치(281_3) 및 제4 룩업테이블신호래치(281_4)를 포함할 수 있다.
제1 룩업테이블신호래치(281_1)는 제2 프로그래밍제어신호(CTR2)의 제1 비트(CTR2<1>)를 저장하고, 저장된 제2 프로그래밍제어신호(CTR2)의 제1 비트(CTR2<1>)를 룩업테이블신호(LUTS)의 제1 비트(LUTS<1>)로 출력할 수 있다. 룩업테이블신호(LUTS)의 제1 비트(LUTS<1>)는 로직입력신호(LIN)의 적어도 하나의 비트에 대한 제1 논리연산의 결과값으로 설정될 수 있다. 제1 논리연산은 반전연산, 버퍼링연산, 논리곱연산, 논리합연산, 부정논리곱연산, 부정논리합연산, 배타적논리곱연산 및 배타적논리합연산 중 하나로 설정될 수 있다.
제2 룩업테이블신호래치(281_2)는 제2 프로그래밍제어신호(CTR2)의 제2 비트(CTR2<2>)를 저장하고, 저장된 제2 프로그래밍제어신호(CTR2)의 제2 비트(CTR2<2>)를 룩업테이블신호(LUTS)의 제2 비트(LUTS<2>)로 출력할 수 있다. 룩업테이블신호(LUTS)의 제2 비트(LUTS<2>)는 로직입력신호(LIN)의 적어도 하나의 비트에 대한 제2 논리연산의 결과값으로 설정될 수 있다. 제2 논리연산은 반전연산, 버퍼링연산, 논리곱연산, 논리합연산, 부정논리곱연산, 부정논리합연산, 배타적논리곱연산 및 배타적논리합연산 중 하나로 설정될 수 있다.
제3 룩업테이블신호래치(281_3)는 제2 프로그래밍제어신호(CTR2)의 제3 비트(CTR2<3>)를 저장하고, 저장된 제2 프로그래밍제어신호(CTR2)의 제3 비트(CTR2<3>)를 룩업테이블신호(LUTS)의 제3 비트(LUTS<3>)로 출력할 수 있다. 룩업테이블신호(LUTS)의 제3 비트(LUTS<3>)는 로직입력신호(LIN)의 적어도 하나의 비트에 대한 제3 논리연산의 결과값으로 설정될 수 있다. 제3 논리연산은 반전연산, 버퍼링연산, 논리곱연산, 논리합연산, 부정논리곱연산, 부정논리합연산, 배타적논리곱연산 및 배타적논리합연산 중 하나로 설정될 수 있다.
제4 룩업테이블신호래치(281_4)는 제2 프로그래밍제어신호(CTR2)의 제4 비트(CTR2<4>)를 저장하고, 저장된 제2 프로그래밍제어신호(CTR2)의 제4 비트(CTR2<4>)를 룩업테이블신호(LUTS)의 제4 비트(LUTS<4>)로 출력할 수 있다. 룩업테이블신호(LUTS)의 제4 비트(LUTS<4>)는 로직입력신호(LIN)의 적어도 하나의 비트에 대한 제4 논리연산의 결과값으로 설정될 수 있다. 제4 논리연산은 반전연산, 버퍼링연산, 논리곱연산, 논리합연산, 부정논리곱연산, 부정논리합연산, 배타적논리곱연산 및 배타적논리합연산 중 하나로 설정될 수 있다.
룩업테이블신호저장회로(271A)는 로직입력신호(LIN)에 포함된 비트들의 수에 따라 다양한 수의 룩업테이블신호래치들이 포함되도록 구현될 수 있다. 일 예로, 룩업테이블신호저장회로(271A)는 로직입력신호(LIN)에 포함된 비트들의 수가 4일 때 16개의 룩업테이블신호래치들이 포함되도록 구현될 수 있다.
도 11은 본 발명의 일 예에 따른 룩업테이블신호선택회로(273A)의 구성을 도시한 회로도이다. 도 11에 도시된 바와 같이, 룩업테이블신호선택회로(273A)는 제1 선택기(283_1), 제2 선택기(283_2) 및 제3 선택기(283_3)를 포함할 수 있다.
제1 선택기(283_1)는 로직입력신호(LIN)의 제1 비트(LIN<1>)를 토대로 룩업테이블신호(LUTS)의 제1 비트(LUTS<1>) 및 룩업테이블신호(LUTS)의 제2 비트(LUTS<2>) 중 하나를 제1 로직선택신호(LSEL1)로 선택하여 출력할 수 있다. 제1 선택기(283_1)는 로직입력신호(LIN)의 제1 비트(LIN<1>)가 로직하이레벨('1')일 때 룩업테이블신호(LUTS)의 제1 비트(LUTS<1>)를 제1 로직선택신호(LSEL1)로 선택하여 출력할 수 있다. 제1 선택기(283_1)는 로직입력신호(LIN)의 제1 비트(LIN<1>)가 로직로우레벨('0')일 때 룩업테이블신호(LUTS)의 제2 비트(LUTS<2>)를 제1 로직선택신호(LSEL1)로 선택하여 출력할 수 있다.
제2 선택기(283_2)는 로직입력신호(LIN)의 제1 비트(LIN<1>)를 토대로 룩업테이블신호(LUTS)의 제3 비트(LUTS<3>) 및 룩업테이블신호(LUTS)의 제4 비트(LUTS<4>) 중 하나를 제2 로직선택신호(LSEL2)로 선택하여 출력할 수 있다. 제2 선택기(283_2)는 로직입력신호(LIN)의 제1 비트(LIN<1>)가 로직하이레벨('1')일 때 룩업테이블신호(LUTS)의 제3 비트(LUTS<3>)를 제2 로직선택신호(LSEL2)로 선택하여 출력할 수 있다. 제2 선택기(283_2)는 로직입력신호(LIN)의 제1 비트(LIN<1>)가 로직로우레벨('0')일 때 룩업테이블신호(LUTS)의 제4 비트(LUTS<4>)를 제2 로직선택신호(LSEL2)로 선택하여 출력할 수 있다.
제3 선택기(283_3)는 로직입력신호(LIN)의 제2 비트(LIN<2>)를 토대로 제1 로직선택신호(LSEL1) 및 제2 로직선택신호(LSEL2) 중 하나를 로직출력신호(LOUT)로 선택하여 출력할 수 있다. 제2 선택기(283_2)는 로직입력신호(LIN)의 제2 비트(LIN<2>)가 로직하이레벨('1')일 때 제1 로직선택신호(LSEL1)를 로직출력신호(LOUT)로 선택하여 출력할 수 있다. 제2 선택기(283_2)는 로직입력신호(LIN)의 제2 비트(LIN<2>)가 로직로우레벨('0')일 때 제2 로직선택신호(LSEL2)를 로직출력신호(LOUT)로 선택하여 출력할 수 있다.
룩업테이블신호선택회로(273A)는 로직입력신호(LIN)의 제1 비트(LIN<1>) 및 로직입력신호(LIN)의 제2 비트(LIN<2>)가 모두 로직하이레벨('1')일 때 룩업테이블신호(LUTS)의 제1 비트(LUTS<1>)를 로직출력신호(LOUT)로 선택하여 출력할 수 있다. 룩업테이블신호선택회로(273A)는 로직입력신호(LIN)의 제1 비트(LIN<1>)가 로직하이레벨('1')이고, 로직입력신호(LIN)의 제2 비트(LIN<2>)가 로직로우레벨('0')일 때 룩업테이블신호(LUTS)의 제2 비트(LUTS<2>)를 로직출력신호(LOUT)로 선택하여 출력할 수 있다. 룩업테이블신호선택회로(273A)는 로직입력신호(LIN)의 제1 비트(LIN<1>)가 로직로우레벨('0')이고, 로직입력신호(LIN)의 제2 비트(LIN<2>)가 로직하이레벨('1')일 때 룩업테이블신호(LUTS)의 제3 비트(LUTS<3>)를 로직출력신호(LOUT)로 선택하여 출력할 수 있다. 룩업테이블신호선택회로(273A)는 로직입력신호(LIN)의 제1 비트(LIN<1>) 및 로직입력신호(LIN)의 제2 비트(LIN<2>)가 모두 로직로우레벨('0')일 때 룩업테이블신호(LUTS)의 제4 비트(LUTS<4>)를 로직출력신호(LOUT)로 선택하여 출력할 수 있다. 룩업테이블신호선택회로(273A)에서 룩업테이블신호(LUTS)의 비트들 중 로직입력신호(LIN)의 비트들의 로직비트셋에 따라 로직출력신호(LOUT)로 출력되는 비트는 실시예에 따라서 다양하게 설정될 수 있다.
도 12는 본 발명의 일 예에 따른 출력멀티플렉싱회로(255A)의 회로도이다. 도 12에 도시된 바와 같이, 출력멀티플렉싱회로(255A)는 제1 내지 제7 출력멀티플렉서(297_1~297_7)를 포함할 수 있다.
제1 출력멀티플렉서(297_1)는 제11 프로그래밍제어신호(CTRL11)의 제1 내지 제2 비트(CTR11<1:2>)를 토대로 제1 로직레벨신호(LS), 제2 로직레벨신호(HS), 가변레벨신호(VS) 및 프로그래밍로직회로(PLC)들의 출력신호들 중 하나를 선택하여 제1 프로그래밍커맨드(PCMD1)로 출력할 수 있다.
제2 출력멀티플렉서(297_2)는 제11 프로그래밍제어신호(CTRL11)의 제3 내지 제4 비트(CTR11<3:4>)를 토대로 제1 로직레벨신호(LS), 제2 로직레벨신호(HS), 가변레벨신호(VS) 및 프로그래밍로직회로(PLC)들의 출력신호들 중 하나를 선택하여 제2 프로그래밍커맨드(PCMD2)로 출력할 수 있다.
제3 출력멀티플렉서(297_3)는 제11 프로그래밍제어신호(CTRL11)의 제5 내지 제6 비트(CTR11<5:6>)를 토대로 제1 로직레벨신호(LS), 제2 로직레벨신호(HS), 가변레벨신호(VS) 및 프로그래밍로직회로(PLC)들의 출력신호들 중 하나를 선택하여 제3 프로그래밍커맨드(PCMD3)로 출력할 수 있다.
제4 출력멀티플렉서(297_4)는 제11 프로그래밍제어신호(CTRL11)의 제7 내지 제8 비트(CTR11<7:8>)를 토대로 제1 로직레벨신호(LS), 제2 로직레벨신호(HS), 가변레벨신호(VS) 및 프로그래밍로직회로(PLC)들의 출력신호들 중 하나를 선택하여 프로그래밍로우어드레스(PRAD)로 출력할 수 있다.
제5 출력멀티플렉서(297_5)는 제11 프로그래밍제어신호(CTRL11)의 제9 내지 제10 비트(CTR11<9:10>)를 토대로 제1 로직레벨신호(LS), 제2 로직레벨신호(HS), 가변레벨신호(VS) 및 프로그래밍로직회로(PLC)들의 출력신호들 중 하나를 선택하여 프로그래밍컬럼어드레스(PCAD)로 출력할 수 있다.
제6 출력멀티플렉서(297_6)는 제11 프로그래밍제어신호(CTRL11)의 제11 내지 제12 비트(CTR11<11:12>)를 토대로 제1 로직레벨신호(LS), 제2 로직레벨신호(HS), 가변레벨신호(VS) 및 프로그래밍로직회로(PLC)들의 출력신호들 중 하나를 선택하여 프로그래밍로우동작신호(PRCNT)로 출력할 수 있다.
제7 출력멀티플렉서(297_7)는 제11 프로그래밍제어신호(CTRL11)의 제13 내지 제14 비트(CTR11<13:14>)를 토대로 제1 로직레벨신호(LS), 제2 로직레벨신호(HS), 가변레벨신호(VS) 및 프로그래밍로직회로(PLC)들의 출력신호들 중 하나를 선택하여 프로그래밍컬럼동작신호(PCCNT)로 출력할 수 있다.
도 13은 본 발명의 일 예에 따른 프로그래밍동작을 설명하기 위한 타이밍도이다.
외부제어신호(도2의 CA)를 토대로 커맨드가 생성되지 않으면 반도체장치(도 2의 13A)는 스텐바이상태를 유지한다.(S111) 외부제어신호(도2의 CA)를 토대로 커맨드가 생성(S113)되면 커맨드가 프로그래밍라이트동작을 위한 것인지 여부가 판단된다.(S115) 프로그래밍라이트동작을 위한 커맨드가 입력되면 입력데이터(도 2의 DIN)가 메모리블럭(도 2의 131)에 프로그래밍데이터(PDATA)로 저장되는 프로그래밍라이트동작이 수행된다.(S117)
프로그래밍인에이블신호(PG_EN)가 활성화된 상태로 판단(S119) 된 후 외부제어신호(도2의 CA)를 토대로 프로그래밍리드동작을 위한 커맨드가 생성되면 메모리블럭(도 2의 131)에 저장된 프로그래밍데이터(PDATA)를 토대로 프로그래밍커맨드들(도 2의 PCMD1, PCMD2 및 PCMD3), 프로그래밍어드레스들(도 2의 PRAD 및 PCAD) 및 프로그래밍제어신호들(도 2의 PRCNT 및 PCCNT)을 생성하는 프로그래밍리드동작이 수행된다.(S121)
프로그래밍리드동작이 수행되어 프로그래밍종료신호(도 2의 PG_EX)가 활성화되면(S123) 프로그래밍리드동작에서 생성된 프로그래밍커맨드들(도 2의 PCMD1, PCMD2 및 PCMD3), 프로그래밍어드레스들(도 2의 PRAD 및 PCAD) 및 프로그래밍제어신호들(도 2의 PRCNT 및 PCCNT)에 의해 프로그래밍된 내부동작이 수행된다.(S125)
한편, 프로그래밍인에이블신호(PG_EN)가 비활성화된 상태로 판단(S119)되고, 프로그래밍종료신호(도 2의 PG_EX)가 비활성화된 상태로 판단되면(S123) 커맨드(도 2의 ICMD, ICMD2 및 ICMD3), 어드레스들(도 2의 IRAD 및 ICAD) 및 제어신호들(도 2의 RCNT 및 CCNT)에 의해 내부동작이 수행된다.(S127)
도 14는 본 발명의 일 예에 따른 프로그래밍라이트동작을 설명하기 위한 타이밍도이다. 외부제어신호(도2의 CA)를 토대로 프로그래밍라이트동작을 위한 커맨드가 생성(S211)되면 프로그래밍라이트동작을 위한 어드레스가 생성되고,(S213) 생성된 어드레스에 의해 엑세스된 메모리블럭(MB)에 입력데이터(도 2의 DIN)가 프로그래밍데이터(PDATA)로 저장된다.(S215) 프로그래밍라이트동작이 수행된 어드레스가 마지막 어드레스인지 여부를 판단(S217)하여 마지막 어드레스에 대한 프로그래밍라이트트동작이 수행되지 않은 경우 어드레스가 카운팅되고(S218), 카운팅된 어드레스에 대한 프로그래밍라이트동작이 반복하여 수행된다.(S213~S215) 한편, 마지막 어드레스에 대한 프로그래밍라이트트동작이 수행되면 어드레스를 초기화하고,(S219) 프로그래밍라이트동작이 종료된다.
도 15는 본 발명의 일 예에 따른 프로그래밍리드동작을 설명하기 위한 타이밍도이다. 외부제어신호(도 2의 CA)를 토대로 프로그래밍리드동작을 위한 커맨드가 생성(S231)되면 프로그래밍리드동작을 위한 어드레스가 생성되고,(S233) 생성된 어드레스에 의해 엑세스된 메모리블럭(MB)에 저장된 프로그래밍데이터(PDATA)가 출력된다.(S234) 프로그래밍데이터(PDATA)에 의해 프로그래밍제어신호(CTR) 및 프로그래밍종료신호(PG_EX)가 생성되고(S235), 프로그래밍제어신호(CTR)를 토대로 프로그래밍커맨드들(도 2의 PCMD1, PCMD2 및 PCMD3), 프로그래밍어드레스들(도 2의 PRAD 및 PCAD) 및 프로그래밍동작신호들(PRCNT 및 PCCNT)이 생성된다.(S236) 어드레스가 마지막 어드레스인지 여부를 판단(S237)하여 마지막 어드레스에 대한 프로그래밍리드동작이 수행되지 않은 경우 어드레스가 카운팅되고(S238), 카운팅된 어드레스에 대한 프로그래밍리드동작이 반복하여 수행된다.(S233~S235) 한편, 마지막 어드레스에 대한 프로그래밍리드동작이 수행되면 어드레스를 초기화하고,(S239) 프로그래밍리드동작이 종료된다.
도 16은 본 발명의 다른 예에 따른 반도체장치(13B)의 구성을 도시한 블록도이다. 도 16에 도시된 바와 같이, 반도체장치(13B)는 커맨드디코더(CMD DEC, 311), 프로그래밍데이터저장회로(PDATA STG, 313), 프로그래밍제어신호생성회로(PCTR GEN, 315) 및 프로그래밍제어회로(PGM CTR, 317)를 포함할 수 있다.
커맨드디코더(311)는 외부제어신호(CA)를 디코딩하여 프로그래밍라이트커맨드(PW_C), 프로그래밍리드커맨드(PR_C) 및 프로그래밍인에이블신호(PG_EN)를 생성할 수 있다. 프로그래밍라이트커맨드(PW_C)는 프로그래밍라이트동작을 위해 생성될 수 있다. 프로그래밍리드커맨드(PR_C)는 프로그래밍리드동작을 위해 생성될 수 있다. 프로그래밍인에이블신호(PG_EN)는 프로그래밍동작을 위해 생성될 수 있다.
프로그래밍데이터저장회로(313)는 커맨드디코더(311) 및 프로그래밍제어신호생성회로(315)에 연결될 수 있다. 프로그래밍데이터저장회로(313)는 커맨드디코더(311)로부터 프로그래밍라이트커맨드(PW_C) 및 프로그래밍리드커맨드(PR_C)를 수신할 수 있다. 프로그래밍데이터저장회로(313)는 프로그래밍라이트커맨드(PW_C)를 토대로 입력데이터(DIN)를 프로그래밍데이터((PDATA)로 저장할 수 있다. 프로그래밍데이터저장회로(313)는 프로그래밍리드커맨드(PR_C)를 토대로 저장된 프로그래밍데이터((PDATA)를 출력할 수 있다. 프로그래밍데이터저장회로(313)는 프로그래밍제어신호생성회로(315)로 프로그래밍데이터((PDATA)를 인가할 수 있다. 프로그래밍데이터저장회로(313)는 메모리블럭(도 2의 MB)으로 구현될 수 있지만 실시예에 따라서 메모리블럭(도 2의 MB)과 구별되는 저장장치, 예를 들어 데이터래치 또는 레지스터 등으로 구현될 수도 있다.
프로그래밍제어신호생성회로(315)는 커맨드디코더(311) 및 프로그래밍데이터저장회로(313)에 연결될 수 있다. 프로그래밍제어신호생성회로(315)는 커맨드디코더(311)로부터 프로그래밍인에이블신호(PG_EN)를 수신할 수 있다. 프로그래밍제어신호생성회로(315)는 프로그래밍데이터저장회로(313)로부터 프로그래밍데이터((PDATA)를 수신할 수 있다. 프로그래밍제어신호생성회로(315)는 프로그래밍동작이 수행되어 활성화된 프로그래밍인에이블신호(PG_EN)가 수신될 때 클럭(CLK) 및 프로그래밍데이터(PDATA)를 토대로 프로그래밍제어신호(CTR) 및 프로그래밍종료신호(PG_EX)를 생성할 수 있다. 프로그래밍종료신호(PG_EX)는 프로그래밍데이터(PDATA)로부터 프로그래밍제어신호(CTR)가 생성되는 프로그래밍동작이 종료될 때 활성화될 수 있다. 프로그래밍제어신호생성회로(315)는 프로그래밍제어회로(317)에 연결될 수 있다. 프로그래밍제어신호생성회로(315)는 프로그래밍제어신호(CTR)를 프로그래밍제어회로(317)에 인가할 수 있다.
프로그래밍제어회로(317)는 프로그래밍제어신호생성회로(315)에 연결될 수 있다. 프로그래밍제어회로(317)는 프로그래밍제어신호생성회로(315)로부터 프로그래밍제어신호(CTR)를 수신할 수 있다. 프로그래밍제어회로(317)는 프로그래밍동작이 수행될 때 프로그래밍제어신호(CTR)를 토대로 제1 커맨드(ICMD1), 제2 커맨드(ICMD2), 제3 커맨드(ICMD3), 로우어드레스(RADD), 컬럼어드레스(CADD), 로우동작신호(RCNT) 및 컬럼동작신호(CCNT)로부터 제1 프로그래밍커맨드(PCMD1), 제2 프로그래밍커맨드(PCMD2), 제3 프로그래밍커맨드(PCMD3), 프로그래밍로우어드레스(PRAD), 프로그래밍컬럼어드레스(PCAD), 프로그래밍로우동작신호(PRCNT) 및 프로그래밍컬럼동작신호(PCCNT)를 생성할 수 있다.
도 17은 본 발명의 또 다른 예에 따른 반도체장치(13C)의 구성을 도시한 블록도이다. 도 17에 도시된 바와 같이, 반도체장치(13C)는 커맨드디코더(CMD DEC, 321), 프로그래밍제어신호생성회로(PCTR GEN, 325) 및 프로그래밍제어회로(PGM CTR, 327)를 포함할 수 있다.
커맨드디코더(321)는 외부제어신호(CA)를 디코딩하여 프로그래밍인에이블신호(PG_EN)를 생성할 수 있다. 프로그래밍인에이블신호(PG_EN)는 프로그래밍동작을 위해 생성될 수 있다.
프로그래밍제어신호생성회로(325)는 커맨드디코더(321)에 연결될 수 있다. 프로그래밍제어신호생성회로(325)는 커맨드디코더(321)로부터 프로그래밍인에이블신호(PG_EN)를 수신할 수 있다. 프로그래밍제어신호생성회로(315)는 프로그래밍동작이 수행되어 활성화된 프로그래밍인에이블신호(PG_EN)가 수신될 때 입력데이터(DIN)를 수신할 수 있고, 입력데이터(DIN)를 토대로 프로그래밍제어신호(CTR) 및 프로그래밍종료신호(PG_EX)를 생성할 수 있다. 프로그래밍제어신호생성회로(325)는 프로그래밍제어회로(327)에 연결될 수 있다. 프로그래밍제어신호생성회로(325)는 프로그래밍제어신호(CTR)를 프로그래밍제어회로(327)에 인가할 수 있다.
프로그래밍제어회로(327)는 프로그래밍제어신호생성회로(325)에 연결될 수 있다. 프로그래밍제어회로(327)는 프로그래밍제어신호생성회로(325)로부터 프로그래밍제어신호(CTR)를 수신할 수 있다. 프로그래밍제어회로(327)는 프로그래밍동작이 수행될 때 프로그래밍제어신호(CTR)를 토대로 제1 커맨드(ICMD1), 제2 커맨드(ICMD2), 제3 커맨드(ICMD3), 로우어드레스(RADD), 컬럼어드레스(CADD), 로우동작신호(RCNT) 및 컬럼동작신호(CCNT)로부터 제1 프로그래밍커맨드(PCMD1), 제2 프로그래밍커맨드(PCMD2), 제3 프로그래밍커맨드(PCMD3), 프로그래밍로우어드레스(PRAD), 프로그래밍컬럼어드레스(PCAD), 프로그래밍로우동작신호(PRCNT) 및 프로그래밍컬럼동작신호(PCCNT)를 생성할 수 있다.
이상 살펴본 바와 같이 구성된 반도체장치(13A, 13B, 13C)는 커맨드들(CMD1, CMD2 및 CMD3), 프로그래밍어드레스들(PRAD 및 PCAD) 및 프로그래밍동작신호들(PRCNT 및 PCCNT)을 프로그래밍하여 반도체장치의 내부동작에 사용함으로써, 시간 및 비용이 소모되는 내부회로들에 대한 수정(revision) 작업 없이 반도체장치의 사양(specification) 변경에 용이하게 대처할 수 있다.
이제까지 본 발명에 대하여 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
111: 커맨드디코더 113: 어드레스디코더
115: 커맨드멀티플렉싱회로 117: 어드레스멀티플렉싱회로
119: 로우동작신호생성회로 121: 컬럼동작신호생성회로
123: 동작신호멀티플렉싱회로 125: 로우동작회로
127: 컬럼동작회로 131: 메모리블럭
133: 입출력제어회로 135: 모드레지스터
137: 프로그래밍제어신호생성회로 139: 프로그래밍제어회로

Claims (22)

  1. 프로그래밍동작이 수행될 때 프로그래밍데이터로부터 프로그래밍제어신호 및 프로그래밍종료신호를 생성하는 프로그래밍제어신호생성회로; 및
    상기 프로그래밍제어신호를 토대로 커맨드, 어드레스 및 동작신호를 프로그래밍하여 프로그래밍커맨드, 프로그래밍어드레스 및 프로그래밍동작신호를 생성하는 프로그래밍제어회로를 포함하는 반도체장치.
  2. 제 1 항에 있어서, 상기 프로그래밍제어신호생성회로는 상기 프로그래밍동작이 수행될 때 활성화되는 프로그래밍인에이블신호를 수신하는 반도체장치.
  3. 제 2 항에 있어서,
    모드레지스터라이트동작이 수행될 때 외부제어신호로부터 상기 프로그래밍인에이블신호를 추출하여 저장하고,
    모드레지스터리드동작이 수행될 때 상기 프로그래밍인에이블신호를 상기 프로그래밍제어신호생성회로로 출력하는 모드레지스터를 더 포함하는 반도체장치.
  4. 제 1 항에 있어서,
    상기 프로그래밍제어신호는 제1 내지 제2 프로그래밍제어신호를 포함하고,
    상기 프로그래밍제어신호생성회로는
    클럭을 토대로 상기 제1 프로그래밍제어신호를 생성하는 제1 프로그래밍제어신호생성회로; 및
    상기 클럭을 토대로 상기 제2 프로그래밍제어신호를 생성하는 제2 프로그래밍제어신호생성회로를 포함하는 반도체장치.
  5. 제 4 항에 있어서,
    상기 클럭은 상기 반도체장치의 외부에서 인가되거나 상기 반도체장치의 내부에서 생성되는 반도체장치.
  6. 제 4 항에 있어서, 상기 제1 프로그래밍제어신호생성회로는
    상기 프로그래밍동작이 수행될 때 상기 클럭에 동기하여 상기 프로그래밍데이터를 순차적으로 래치하여 상기 제1 프로그래밍제어신호에 포함된 비트들을 생성하는 반도체장치.
  7. 제 6 항에 있어서, 상기 제2 프로그래밍제어신호생성회로는
    상기 프로그래밍동작이 수행될 때 상기 클럭에 동기하여 상기 제1 프로그래밍제어신호생성회로의 출력신호를 순차적으로 래치하여 상기 제2 프로그래밍제어신호에 포함된 비트들을 생성하는 반도체장치.
  8. 제 7 항에 있어서, 상기 제2 프로그래밍제어신호생성회로는
    상기 클럭에 동기하여 상기 제2 프로그래밍제어신호에 포함된 마지막 비트를 래치하여 상기 프로그래밍종료신호를 생성하는 반도체장치.
  9. 제 1 항에 있어서,
    상기 커맨드는 제1 내지 제3 커맨드를 포함하고,
    상기 제1 커맨드는 로우동작을 위해 생성되고, 상기 제2 커맨드는 컬럼동작을 위해 생성되며, 상기 제3 커맨드는 모드레지스터라이트동작 및 모드레지스터리드동작을 위해 생성되는 반도체장치.
  10. 제 1 항에 있어서,
    상기 어드레스는 제1 및 제2 어드레스를 포함하고,
    상기 제1 어드레스는 로우동작이 수행될 때 셀어레이들이 연결된 워드라인들 중 적어도 하나를 선택하기 위해 생성을 위해 생성되고,
    상기 제2 어드레스는 컬럼동작이 수행될 때 셀어레이들이 연결된 비트라인들 중 적어도 하나를 선택하기 위해 생성되는 반도체장치.
  11. 제 1 항에 있어서,
    상기 동작신호는 로우동작신호 및 컬럼동작신호를 포함하고,
    상기 로우동작신호는 로우동작을 제어하기 위해 생성되고,
    상기 컬럼동작신호는 컬럼동작을 제어하기 위해 생성되는 반도체장치.
  12. 제 1 항에 있어서, 상기 프로그래밍제어회로는
    상기 프로그래밍제어신호를 토대로 상기 커맨드, 상기 어드레스, 상기 동작신호 및 레벨신호들 중 적어도 하나를 입력 받는 입력멀티플렉싱회로를 포함하는 반도체장치.
  13. 제 12 항에 있어서, 상기 프로그래밍제어회로는
    상기 프로그래밍제어신호를 토대로 논리연산의 결과값들을 룩업테이블신호로 저장하는 다수의 프로그래밍로직회로들을 더 포함하되,
    상기 다수의 프로그래밍로직회로들 각각은 상기 입력멀티플렉싱회로에서 입력된 신호 및 상기 다수의 프로그래밍로직회로들의 출력신호들 중 적어도 하나로부터 수신된 로직입력신호를 토대로 상기 룩업테이블신호로부터 로직출력신호를 생성하는 반도체장치.
  14. 제 13 항에 있어서, 상기 프로그래밍제어회로는
    상기 프로그래밍제어신호를 토대로 상기 다수의 프로그래밍로직회로들의 출력신호들 및 레벨신호들 중 하나를 상기 프로그래밍커맨드, 상기 프로그래밍어드레스 및 상기 프로그래밍동작신호 중 하나로 선택하여 출력하는 출력멀티플렉싱회로를 더 포함하는 반도체장치.
  15. 제 1 항에 있어서,
    상기 프로그래밍종료신호를 토대로 상기 커맨드 및 상기 프로그래밍커맨드로부터 선택커맨드를 생성하는 커맨드멀티플렉싱회로;
    상기 프로그래밍종료신호를 토대로 상기 어드레스 및 상기 프로그래밍어드레스로부터 선택어드레스를 생성하는 어드레스멀티플렉싱회로; 및
    상기 프로그래밍종료신호를 토대로 상기 동작신호 및 상기 프로그래밍동작신호로부터 선택동작신호를 생성하는 동작신호멀티플렉싱회로를 더 포함하는 반도체장치.
  16. 프로그래밍동작이 수행될 때 입력데이터로부터 프로그래밍제어신호 및 프로그래밍종료신호를 생성하는 프로그래밍제어신호생성회로; 및
    상기 프로그래밍제어신호를 토대로 커맨드, 어드레스 및 동작신호를 프로그래밍하여 프로그래밍커맨드, 프로그래밍어드레스 및 프로그래밍동작신호를 생성하는 프로그래밍제어회로를 포함하는 반도체장치.
  17. 프로그래밍동작이 수행될 때 입력데이터를 메모리블럭에 프로그래밍데이터로 저장하는 프로그래밍라이트동작을 수행하는 단계; 및
    상기 메모리블럭에 저장된 프로그래밍데이터를 토대로 프로그래밍제어신호 및 프로그래밍종료신호를 생성하고, 상기 프로그래밍제어신호를 토대로 커맨드, 어드레스 및 동작신호를 프로그래밍하여 프로그래밍커맨드, 프로그래밍어드레스 및 프로그래밍동작신호를 생성하는 프로그래밍리드동작을 수행하는 단계를 포함하는 프로그래밍동작을 수행하는 방법.
  18. 제 17 항에 있어서, 상기 프로그래밍라이트동작을 수행하는 단계는
    상기 프로그래밍라이트동작을 위한 커맨드를 토대로 어드레스가 생성되는 단계;
    상기 어드레스에 의해 엑세스된 상기 메모리블럭에 상기 입력데이터를 상기 프로그래밍데이터로 저장하는 단계; 및
    상기 어드레스가 마지막 어드레스인지 여부에 따라 상기 어드레스를 카운팅하거나 상기 어드레스를 초기화하는 단계를 포함하는 방법.
  19. 제 17 항에 있어서, 상기 프로그래밍리드동작을 수행하는 단계는
    상기 프로그래밍리드동작을 위한 커맨드를 토대로 어드레스가 생성되는 단계;
    상기 어드레스에 의해 엑세스된 상기 메모리블럭에 저장된 프로그래밍데이터로부터 상기 프로그래밍제어신호를 생성하는 단계; 및
    상기 프로그래밍제어신호를 토대로 상기 프로그래밍커맨드, 상기 프로그래밍어드레스 및 상기 프로그래밍동작신호를 생성하는 단계를 포함하는 방법.
  20. 제 17 항에 있어서,
    상기 프로그래밍종료신호를 토대로 상기 커맨드 및 상기 프로그래밍커맨드로부터 선택커맨드를 생성하는 단계;
    상기 프로그래밍종료신호를 토대로 상기 어드레스 및 상기 프로그래밍어드레스로부터 선택어드레스를 생성하는 단계; 및
    상기 프로그래밍종료신호를 토대로 상기 동작신호 및 상기 프로그래밍동작신호로부터 선택동작신호를 생성하는 단계를 포함하는 방법.
  21. 프로그래밍라이트커맨드를 토대로 입력데이터를 프로그래밍데이터로 저장하고, 프로그래밍리드커맨드를 토대로 상기 저장된 프로그래밍데이터를 출력하는 프로그래밍데이터저장회로;
    프로그래밍동작이 수행될 때 상기 프로그래밍데이터로부터 프로그래밍제어신호 및 프로그래밍종료신호를 생성하는 프로그래밍제어신호생성회로; 및
    상기 프로그래밍제어신호를 토대로 커맨드, 어드레스 및 동작신호를 프로그래밍하여 프로그래밍커맨드, 프로그래밍어드레스 및 프로그래밍동작신호를 생성하는 프로그래밍제어회로를 포함하는 반도체장치.
  22. 제 21 항에 있어서, 상기 프로그래밍데이터저장회로는 메모리블럭, 데이터래치 및 레지스터 중 하나로 구현되는 반도체장치.
KR1020210149248A 2021-11-02 2021-11-02 프로그래밍동작을 수행하는 방법 및 반도체장치 KR20230063805A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020210149248A KR20230063805A (ko) 2021-11-02 2021-11-02 프로그래밍동작을 수행하는 방법 및 반도체장치
US17/696,638 US11989454B2 (en) 2021-11-02 2022-03-16 Semiconductor devices and methods for performing programming operations
CN202210556612.3A CN116072166A (zh) 2021-11-02 2022-05-19 用于执行编程操作的半导体装置和方法
US17/882,844 US20230133922A1 (en) 2021-11-02 2022-08-08 Electroinc devices and electroinc systems for transmitting bit stream including programming data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210149248A KR20230063805A (ko) 2021-11-02 2021-11-02 프로그래밍동작을 수행하는 방법 및 반도체장치

Publications (1)

Publication Number Publication Date
KR20230063805A true KR20230063805A (ko) 2023-05-09

Family

ID=86144832

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210149248A KR20230063805A (ko) 2021-11-02 2021-11-02 프로그래밍동작을 수행하는 방법 및 반도체장치

Country Status (3)

Country Link
US (1) US11989454B2 (ko)
KR (1) KR20230063805A (ko)
CN (1) CN116072166A (ko)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3822411B2 (ja) * 2000-03-10 2006-09-20 株式会社東芝 半導体記憶装置
KR100480999B1 (ko) 2002-10-29 2005-04-07 한국전자통신연구원 강제적 접근 제어가 적용된 보안 운용 체제에서의 신뢰채널 제공 장치 및 방법
US20050144372A1 (en) 2003-12-31 2005-06-30 Robert Walker Memory device controlled with user-defined commands
KR102317786B1 (ko) * 2015-02-02 2021-10-26 삼성전자주식회사 스토리지 디바이스에서의 입출력 처리 방법 및 이를 적용하는 스토리지 디바이스 및 비휘발성 메모리 디바이스
US10116557B2 (en) 2015-05-22 2018-10-30 Gray Research LLC Directional two-dimensional router and interconnection network for field programmable gate arrays, and other circuits and applications of the router and network
KR20170100416A (ko) 2016-02-25 2017-09-04 에스케이하이닉스 주식회사 집적 회로 시스템
US11217286B2 (en) * 2016-06-27 2022-01-04 SK Hynix Inc. Semiconductor memory device with power down operation
KR20180106491A (ko) * 2017-03-20 2018-10-01 에스케이하이닉스 주식회사 반도체장치
US10608642B2 (en) 2018-02-01 2020-03-31 iCometrue Company Ltd. Logic drive using standard commodity programmable logic IC chips comprising non-volatile radom access memory cells
US10715127B2 (en) * 2018-11-21 2020-07-14 Micron Technology, Inc. Apparatuses and methods for using look-ahead duty cycle correction to determine duty cycle adjustment values while a semiconductor device remains in operation
KR20200086137A (ko) * 2019-01-08 2020-07-16 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
KR20210003351A (ko) 2019-07-01 2021-01-12 삼성전자주식회사 불휘발성 메모리 장치 및 이의 동작 방법
US11372591B2 (en) * 2020-06-30 2022-06-28 SK Hynix Inc. Memory apparatus, a semiconductor system including the same and an operating method thereof

Also Published As

Publication number Publication date
US11989454B2 (en) 2024-05-21
CN116072166A (zh) 2023-05-05
US20230133799A1 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
JP6224401B2 (ja) 半導体メモリ
KR100680975B1 (ko) 파워다운 모드 제어 회로
US9208109B2 (en) Memory controllers with dynamic port priority assignment capabilities
JP2014197445A (ja) データ記憶セルへの書き込み動作の支援
JP2003173676A (ja) 半導体記憶装置
KR102466965B1 (ko) 반도체장치
US9373379B2 (en) Active control device and semiconductor device including the same
KR100504696B1 (ko) 블록 소거/프로그램 정보를 저장하기 위한 상태 셀들의어레이를 포함한 낸드 플래시 메모리 장치
US10818328B2 (en) Nonvolatile memory device, operation method of the nonvolatile memory device, and operation method of memory controller controlling the nonvolatile memory device
KR100560773B1 (ko) 동작 모드의 재설정없이 버스트 길이를 제어할 수 있는반도체 메모리 장치 및 그것을 포함하는 메모리 시스템
KR20190028127A (ko) 데이터 제어 회로 및 이를 포함하는 반도체 메모리 장치 및 반도체 시스템
KR20230063805A (ko) 프로그래밍동작을 수행하는 방법 및 반도체장치
KR20210029616A (ko) 반도체장치
US8531905B2 (en) Memory apparatus and refresh method thereof
KR20210131814A (ko) 기준전압 트레이닝 동작을 수행하기 위한 시스템
JP4327482B2 (ja) 同期型半導体記憶装置
JP6035760B2 (ja) 半導体記憶装置及び半導体記憶装置の制御方法
US20080056038A1 (en) Semiconductor memory device
KR20190118292A (ko) 반도체시스템
JP2004146051A (ja) データ読み取り動作及び書き込み動作を同時に実行可能な集積回路及び方法
KR100771876B1 (ko) 버스트 데이터의 리오더링 여부에 따라 클럭 레이턴시를조절하는 반도체 메모리 장치 및 방법
US20230133922A1 (en) Electroinc devices and electroinc systems for transmitting bit stream including programming data
US11328753B2 (en) Methods of performing self-write operation and semiconductor devices used therefor
KR102423288B1 (ko) 트리플 파워 소스를 이용한 듀얼-트렌지언트 워드 라인 어시스트를 수행할 수 있는 임베디드 메모리 장치를 포함하는 집적 회로와 이를 포함하는 장치
US20190369906A1 (en) Semiconductor device