우선, 도 1을 참조하여 본 발명의 제1 원리를 설명한다.
도 1은 2개의 반도체 장치(10, 13)가 데이터 버스(16)를 통해 접속된 시스템을 나타낸다. 도 1의 예에서는, 반도체 장치(10)는 제어기이고, 반도체 장치(13)는제어기(10)로 제어되는 반도체 기억 장치(하나의 메모리 칩. 이하, 단지 "메모리"라 칭함)이다. 제어기(10)는 레지스터(12)를 구비하는 인터페이스(interface)부(11)를 갖는다. 마찬가지로, 메모리(13)도 레지스터(14)를 구비하는 인터페이스부(14)를 구비한다.
본 발명의 제1 원리를 앞에서 언급한 데이터 전송의 예로 설명한다. D1:1100110011001100과 D2:1100110011001101을 제어기(10)로부터 메모리(13)에 전송하는 경우, 종래 기술에서는 D1과 D2를 그대로 차례로 보내고 있었다. 이에 대해, 본 발명의 제1 원리에서는 최초로 D1을 보내고, 다음은 데이터 D2 중 D1의 비트와 다른(반전하고 있는) 비트만을 송신한다. 즉, 데이터 D2를 전송하는 대신에 D2':0000000000000001을 전송한다. 이를 수신한 메모리(13)는 직전의 데이터 D1과 전송된 데이터 D2'로부터 데이터 D2를 재생한다. 메모리(13)로부터 제어기(10)에 데이터를 전송하는 경우도 마찬가지이다.
즉, 제어기(10)와 메모리(13)는 각각 마지막으로 주고 받은 데이터를 레지스터(12, 15)에 보관 유지해 두고, 다음에 보내는 데이터와 보관 유지해 둔 데이터와의 상위(相違) 비트만을 상대방에 전송하고, 수신측에서는 수취한 데이터와 보관 유지해 둔 데이터로부터 이번 전송된 데이터를 재생한다. 반전한 비트는 펄스(pulse)로 송신한다. 이하, 이러한 펄스를 데이터 반전 펄스 신호라고 하는 경우가 있다.
이 처리를 도 1의 아래 쪽 부분에 나타내는 순차 순서(sequence)를 참조하여 자세히 설명한다. 이 순차 순서는 제어기(10)가 메모리(13)에 데이터를 기입하는경우를 나타내고 있다.
스텝 ① : 우선, 제어기(10)가 리프레시(refresh)를 지시하는 리프레시 명령을 발행한다. 이 리프레시 명령으로 제어기(10)의 레지스터(12)와 메모리(13)의 레지스터(15)가 0000으로 리셋(reset)된다. 리셋값은 0000으로 한정되는 것은 아니고, 레지스터(12, 15)가 같은 값으로 리셋되는 것이면 임의의 값이어도 좋다.
스텝 ② : 제어기(10)가 메모리(13)에 데이터 1011을 기입하는 단계이다. 제어기(10)는 데이터 1011과 레지스터(12)의 데이터 0000과의 배타적 논리합(Exclusive∼OR : EX-OR)을 취하고, 그 결과를 데이터 버스(16)를 통해 메모리(13)에 송신한다. 메모리(13)는 데이터 1011을 수신하고, "1"이 있는 자리에 대해서 레지스터(15)의 내용을 반전시켜 데이터 1011을 재생한다. 이 예에서는, 레지스터(12, 15)에는 0000이 기억되어 있으므로, 송신된 데이터와 재생한 데이터는 1011로 같다. 그리고, 제어기(10)와 메모리(13)는 각각 레지스터(12, 15)의 내용을 1011로 개서한다. 또한, 재생된 데이터 1011은 메모리(13) 내부의 메모리 코어에 전송되고 ` .
스텝 ③ : 제어기(10)가 메모리(13)에 데이터 1010을 기입하는 단계이다. 제어기(10)는 데이터 1010과 레지스터(12)의 데이터 1011과의 배타적 논리합을 취하고, 그 결과 0001을 메모리(13)에 전송한다. 메모리(13)는 데이터 0001을 수신하고, "1"이 있는 자리에 대해서 레지스터(15)의 내용을 반전시키고, 데이터 1010을 재생한다. 그리고, 제어기(10)와 메모리(13)는 각각 레지스터(12, 15)의 내용을 1010으로 개서한다.
이하 스텝 ④, ⑤와 같은 처리를 반복한다.
이와 같이, 제어기(10)와 메모리(13) 양쪽 모두에서 마지막으로 주고 받은 데이터를 레지스터(12, 15)에 유지하고, 전송하려고 하는 데이터와 보관 유지한 데이터와의 상위(반전)하는 비트만을 송신하고, 수신측에서는 이 데이터와 보관 유지하고 있는 데이터로부터 송신된 데이터를 재생하기 때문에, 데이터 "1"을 보내는 회수가 큰 폭으로 줄어들게 되어, 송신측 및 수신측에서의 소비 전력을 삭감할 수가 있다. 예를 들면, 스텝 ③에서는 데이터 1010을 송신하는 대신에 데이터 0001을 송신하고 있으므로 1 비트 분의 전력 소비를 경감할 수 있다. 특히, 동화상 데이터와 같이 전후의 데이터는 거의 같고 일부만이 다른 경우의 효과는 절대적이다.
도 1은 제어기(10)가 메모리(13)에 데이터를 기입하는 경우의 순차 순서를 나타내고 있지만, 메모리(13)로부터 데이터를 독출(read)하여 제어기(10)로 송신하는 경우도 마찬가지다.
이상, 요약하면 제어기(10) 및 메모리(13)는 제1 정보(리프레시 후의 최초의 데이터나 마지막으로 주고 받은 데이터)를 보관 유지하는 레지스터(12, 15) 및 외부로부터 제1 신호[배타적 논리합의 연산 결과로 버스(16) 상으로 전송하는 신호]를 수신하여 제2 정보를 생성하는 정보 생성 회로[제어기(10)나 메모리(13)의 내부 회로로, 예를 들면 인터페이스부(10, 13)에 설치되어 있는 회로]를 구비하고, 상기 제1 신호는 상기 제1 정보의 반전을 나타내는 신호(배타적 논리합 연산의 출력)이고, 상기 정보 생성 회로는 상기 제1 정보 및 상기 제1 신호에 기초하여(예를 들면, 배타적 논리합 연산을 행하는 것에 의해) 상기 제2 정보를 생성하는 반도체 장치라고 할 수 있다.
또한, 본 발명은 정보 처리 방법을 포함하는 것이고, 제1 정보(리프레시 후의 최초의 데이터나 마지막으로 주고 받은 데이터)를 레지스터(12, 15)에 유지하는 스텝과, 외부로부터 수신한 제1 신호[배타적 논리합의 연산 결과로 버스(16) 상으로 전송하는 신호]와 상기 제1 정보에 기초하여 제2 정보를 생성하여 소정의 회로에 송출하는 스텝을 가지며, 상기 제1 신호는 상기 제1 정보의 반전을 나타내는 신호인 정보 처리 방법이다.
또한, 제어기(10) 및 메모리(13)는 제1 정보(리프레시 후의 최초의 데이터나 마지막으로 주고 받은 데이터)를 보관 유지하는 레지스터(12, 15) 및 제2 정보[예를 들면, 제어기(10)의 기입(write) 데이터]를 수신하여 제1 신호를 외부[도 1의 예에서 메모리(13)]에 출력하는 정보 생성 회로[제어기(10)나 메모리(13)의 내부 회로로, 예를 들면 인터페이스부(10, 13)에 설치되어 있는 회로]를 구비하고, 상기 제1 신호는 상기 레지스터에 보관 유지된 상기 제1 정보와 상기 정보 생성 회로가 수신한 상기 제2 정보의 논리 연산(예를 들면, 배타적 논리합 연산)에 기초한 신호인 반도체 장치이다.
또한, 본 발명은 정보 처리 방법을 포함하는 것이고, 제1 정보(리프레시 후의 최초의 데이터나 마지막으로 주고 받은 데이터)를 레지스터(12, 15)에 유지하는 스텝과, 수신한 제2 정보와 상기 제1 정보의 논리 연산(예를 들면, 배타적 논리합 연산)을 하여 제1 신호를 생성하여 외부에 송신하는 스텝을 가지고, 상기 제1 신호는 제1 정보의 반전을 나타내는 신호인 정보 처리 방법이다.
또한, 상기의 설명에서는 레지스터(12, 15)를 리셋하기 위해서 리프레시 명령을 이용하고 있지만, 메모리(13)가 DRAM인 경우에는 정기적으로 리프레시가 필요하기 때문에, 제어기(10)는 DRAM에 정기적으로 리프레시 명령을 발행한다. 따라서, 이를 이용하여 정기적으로 레지스터(12, 15)를 리셋하면, 만일 레지스터(12)와 레지스터(15)의 내용이 서로 달라지더라도, 리프레시 때마다 리셋이 되므로 에러의 발생을 최소한으로 억제할 수가 있다.
레지스터(12, 15)는 리프레시 명령 이외의 신호이어도 좋다. 예를 들면, 제어기(10)나 메모리(13) 등의 반도체 장치에 전원을 인가했을 때에 내부에서 발생하는 전원 온 리셋(Power On Reset) 신호를 이용해도 좋고, 대기(stand-by)를 제어하는 신호[예를 들어, 동기 DRAM의 클럭 인에이블(enable) 신호(CKE)] 등을 이용하여 리셋을 해도 좋다.
또한, 후술하는 바와 같이, 상기 본 발명의 제1 원리는 데이터 전송만이 아니고, 어드레스 신호의 송신에도 적용할 수가 있다.
이하, 본 발명의 실시의 형태나 실시예를 설명한다. 이하의 설명에서 「독출 데이터」와「기입 데이터」라고 하는 어구를 사용하는데, 이는 제어기와 메모리 사이의 데이터 전송을 예로 하고 있기 때문이다. 메모리에 있어서도 제어기에 있어서도, 이러한 어구는 다음의 의미로 사용되고 있다.
제어기로부터 메모리에 송신하는 데이터 : 기입 데이터
메모리로부터 제어기에 송신하는 데이터 : 독출 데이터
따라서, 예를 들면 기입 데이터는 메모리에 있어서는 수신하는 데이터이고,제어기에 있어서는 송신하는 데이터이다.
<본 발명의 제1 실시의 형태>
도 2는 본 발명의 한 실시의 형태를 나타내는 블럭도이다. 도시하는 시스템은 제어기(10)가 4개의 메모리(13a, 13b, 13c, 13d)를 제어하는 구성이다. 제어기(10)와 4개의 메모리(13a∼13d)와의 사이에서 전송되는 어드레스, 기입 데이터 및 독출 데이터에 대해, 앞에서 언급한 본 발명의 제1 원리가 적용되고 있다.
제어기(10)와 4개의 메모리(13a∼13d)는 데이터 버스(16D), 어드레스(address) 버스(16A), 명령 버스(16C), 클럭선(21) 및 칩 선택 신호선(22)을 통해 서로 접속되어 있다. 데이터 버스(16D)는 저항(24)을 통해 소정 전압 VR에서 종단되고, 마찬가지로 클록 신호선(21)은 저항(23)을 통해 소정 전압 VR에서 종단되어 있다. 소정 전압 VR은 논리 "0"[하이(high) 레벨 H]에 상당한다. 어드레스 버스(16A) 및 데이터 버스(16D)는, 데이터 "1"을 전송할 때 로(low) 레벨 데이터 반전 펄스 신호를 전송한다. 또한, 리프레시 직후에는 원래의 송신 데이터가 데이터 버스(16D)에 출력된다.
제어기(10)는 메모리(13a∼13d)에 각각 대응하는 레지스터(17a∼17d)와 인터페이스부(18)를 갖는다. 각 레지스터(17a∼17d)는 도 1의 레지스터(12)에 상당한다. 메모리(13a∼13d)는 각각 메모리 코어(20a∼20d)와 인터페이스부(19a∼19d)를 구비한다. 각 인터페이스부(19a∼19d) 내부의 레지스터는 도 1의 레지스터(15)에 상당한다. 제어기(10)의 인터페이스부(18)와 메모리(13a∼13d)의 인터페이스부(19a∼19d)는 각각 데이터 버스(16D), 어드레스 버스(16A), 명령 버스(16C),클럭선(21) 및 칩 선택 신호선(22)에 접속되어 있다.
제어기(10)의 레지스터(17a∼17d)는 각각 어드레스용 레지스터(RegADDC), 기입 데이터용 레지스터(RegDWC) 및 독출 데이터용 레지스터(RegDRC)를 갖는다. 어드레스용 레지스터(RegADDC)는 리셋 어드레스값 또는 마지막으로 주고 받은 어드레스값을 보관 유지한다. 기입 데이터용 레지스터(RegDWC)는 리셋 기입 데이터 값 또는 마지막으로 주고 받은 기입 데이터 값을 보관 유지한다. 독출 데이터용 레지스터(RegDRC)는 리셋 독출 데이터 값 또는 마지막으로 주고 받은 독출 데이터 값을 보관 유지한다. 인터페이스(18)는 복수의 반도체 장치[도 2에서는 메모리(13a∼13d)]와 선택적으로 접속 가능한 인터페이스로, 도 1을 참조하여 설명한 레지스터 값과 이번 송신하는 데이터와의 배타적 논리합을 취하여 송신해야 할 데이터나 어드레스를 계산하여 대응하는 버스에 출력하는 구성 및 레지스터 값과 대응하는 버스로부터 수신한 데이터와의 배타적 논리합을 취하여 수신한 데이터를 재생하는 구성을 포함하는 것이다. 또한, 이러한 구성의 자세한 것은 후술한다.
메모리(13a∼13d)의 인터페이스부(19a∼19d)는 각각 어드레스용 레지스터(RegADD), 기입 데이터용 레지스터(RegDW) 및 독출 데이터용 레지스터(RegDR)를 갖는다. 인터페이스부(19a∼19d)의 어드레스용 레지스터(RegADD)는 각각 제어기(10)의 레지스터(17a∼17d)의 어드레스용 레지스터(RegADDC)에 대응하고, 리셋 어드레스값 또는 마지막으로 주고 받은 어드레스값을 보관 유지한다. 인터페이스부(19a∼19d)의 기입 데이터용 레지스터(RegDW)는 각각 제어기(10)의 레지스터(17a∼17d)의 기입 데이터용 레지스터(RegDWC)에 대응하고, 리셋 기입 데이터 값 또는 마지막으로 주고 받은 기입 데이터 값을 보관 유지한다. 인터페이스부(19a∼19d)의 독출 데이터용 레지스터(RegDR)는 각각 제어기(10)의 레지스터(17a∼17d)의 독출 데이터용 레지스터(RegDRC)에 대응하고, 리셋 독출 데이터 값 또는 마지막으로 주고 받은 독출 데이터 값을 보관 유지한다. 인터페이스(19a∼19d)는 도 1을 참조하여 설명한 레지스터 값과 이번 송신하는 데이터와의 배타적 논리합을 취하여 송신해야 할 데이터나 어드레스를 계산하여 대응하는 버스에 출력하는 구성 및 레지스터 값과 대응하는 버스로부터 수신한 데이터와의 배타적 논리합을 취하여 수신한 데이터를 재생하는 구성을 포함하는 것이다. 또한, 이러한 구성의 자세한 것은 후술한다. 메모리 코어(20a∼20d)는 다수의 메모리 셀이 매트릭스 상으로 배열된 어레이(array)를 포함한다.
다음에, 도 2에 나타내는 구성의 동작을 설명한다.
최초로 제어기(10)는 메모리(13a∼13d)에 리프레시 명령을 발행하고, 제어기(10)의 레지스터(17a∼17d)의 레지스터(RegADDC, RegDWC, RegDRC) 및 메모리(13a∼13d)의 인터페이스부(19a∼19d) 내의 레지스터(RegADD, RegDW, RegDR)를 리셋한다(도 1의 스텝 ①에 상당하는 처리). 예를 들면, 각 레지스터는 각 비트가 "0"으로 리셋된다.
다음에, 제어기(10)는 선택해야 할 메모리에 대응하는 칩 선택 신호 CSa∼CSd의 어느 것인가를 ON하고 명령을 발행한다. 예를 들면, 칩 선택 신호 CSa가 ON하면, 제어기(10)의 레지스터(17a)가 ON하고, 또한 신호선(22)을 통해메모리(13a)가 선택된다. 명령이 기입 명령인 경우, 제어기(10)의 인터페이스부(18)는 송신해야 할 어드레스 및 데이터와 레지스터(RegADDC, RegDWC, RegDRC) 내의 데이터와의 배타적 논리합을 취하고, 그 연산 결과를 이러한 레지스터에 기입함과 동시에, 각각 어드레스 버스(16A) 및 데이터 버스(16D)에 송신한다(도 1의 스텝 ②에 상당하는 처리). 선택되어 있는 메모리(13a)는 어드레스 버스(16A) 및 데이터 버스(16D)로부터 각각 배타적 논리합 출력을 수취하고, 수취한 데이터와 레지스터(RegADD, RegDW, RegDR)의 데이터와의 배타적 논리합을 취하고, 그 연산 결과를 이러한 레지스터에 기입함과 동시에 메모리 코어(20a)에 출력한다(도 1의 스텝 ②에 상당하는 처리). 이하, 동일한 처리가 반복해진다.
다른 한편, 명령이 독출 명령인 경우, 메모리(13a)의 인터페이스부(19a)는 송신해야 할 어드레스 및 데이터와 레지스터(RegADD, RegDW, RegDR) 내의 데이터와의 배타적 논리합을 취하고, 그 연산 결과를 각각 이러한 레지스터에 기입함과 동시에, 어드레스 버스(16A) 및 데이터 버스(16D)에 송신한다. 제어기(10)는 어드레스 버스(16A) 및 데이터 버스(16D)로부터 각각 배타적 논리합 출력을 수취하고, 수취한 데이터와 레지스터(RegADDC, RegDWC, RegDRC)의 데이터와의 배타적 논리합을 취하고, 그 연산 결과를 이러한 레지스터에 기입함과 동시에 내부 회로에 출력한다.
이와 같이, 직전의 데이터와는 다른 비트 위치에만 "1"이 있는 배타적 논리합 출력을 어드레스 버스(16A) 및 데이터 버스(16D)에 출력한다. 따라서, 논리 "1"에 의해 어드레스 버스(16A)나 데이터 버스(16D)가 로(low) 레벨의 펄스를 전송하는 회수가 줄어들어 소비 전력을 삭감할 수가 있다.
<메모리측 데이터 입력부의 제1 실시예>
다음에, 각 메모리(13a∼13d)의 인터페이스부(19a∼19d)의 내부에 설치된 데이터 입력부의 제1 실시예를 설명한다. 제1 실시예는, 외부로부터의 데이터를 클럭에 동기하여 집어넣는 형태의 데이터 입력부이다.
각 인터페이스부(19a∼19d)는 데이터 버스(16D)로부터 데이터(기입 데이터)를 입력하는 데이터 입력부를 구비한다. 이 데이터 입력부의 제1 실시예를 도 3에 나타낸다. 데이터 입력부는 클럭 발생부(25), 명령 입력 회로/명령 디코더(26), OR 게이트(27) 및 n 개(n은 임의의 정수)의 데이터 입력 회로(281∼28n)를 갖는다. 클럭 발생부(25)는 클럭선(21)으로부터 클록 신호를 수취하고, 내부 클럭(CLK1)을 생성하여 명령 입력 회로/명령 디코더(26) 및 데이터 입력 회로(281∼28n)에 출력한다. 명령 입력 회로/명령 디코더(26)는 대응하는 칩 선택 신호 /CS(CSa∼CSd의 어느 것인가)를 받아서 ON(인에이블 상태)하고, 명령 버스(16C)로부터 공급된 명령을 집어넣고 이를 디코드한다. 디코드 한 결과에 따라, 3개의 제어선(33a∼33c)의 어느 것을 구동한다. 명령 입력 회로/명령 디코더(26)는 명령이 독출 명령인 경우에는 제어선(33a)을 구동하여 내부 독출 명령을 출력하고, 기입 명령인 경우에는 제어선(33b)을 구동하여 내부 기입 명령을 출력하고, 리프레시 명령인 경우에는 제어선(33c)을 구동해 내부 리프레시 명령을 출력한다.
데이터 입력 회로(281∼28n)의 각각은 비교기(29), 동기형 래치(30), 펄스 발생부(31) 및 레지스터(RegDW)를 갖는다. 데이터 입력 회로(281∼28n)는 앞에서 언급한 배타적 논리합 연산을 한다. 레지스터(RegDW)는 플립 플롭(F/F)(32)을 갖는다. 데이터 입력 회로(281∼28n)는 각각 데이터 버스(16D)의 각각의 버스선에 접속되어 있다. 예를 들면, 데이터 버스(16D)가 16 비트 폭인 경우에는 16개의 데이터 입력 회로(281∼2816)가 설치되어 있다. 비교기(29)는 대응하는 1 비트의 입력 데이터(여기에서는 N으로 함)와 임계치 Vref를 비교하고, 입력 데이터 IN의 논리값을 판정한다. 동기형 래치(30)는 내부 클럭 CLK1을 받아서 비교기(29)의 출력을 래치한다. 펄스 발생부(31)는 제어선(33b)이 ON일 때, 즉 기입 명령을 수신했을 때에 동기형 래치(30)의 출력 신호 N1을 받아 소정의 펄스 N2를 발생한다. 펄스 N2는 플립 플롭(32)의 클럭 단자에 주어진다. 플립 플롭(32)의 /Q 출력은 D 단자에 접속되고, Q 출력이 데이터 입력 회로(281)의 출력 신호로 된다. 플립 플롭(32)은 OR 게이트(27)의 출력으로 리셋된다. OR 게이트(27)는 명령 입력 회로/명령 디코더(26)가 출력하는 리셋 신호(칩 선택 신호 /CS가 OFF 했을 때 생성) 또는 리프레시 명령을 수신했을 때[제어선(33c)이 ON했을 때] 리셋된다. 리셋되면 Q 출력은 "0"이 된다.
도 4는 도 3에 나타내는 회로의 동작을 나타내는 타이밍도이다. 도 4는 도 3의 데이터 입력 회로(281)에 기입 데이터 IN가 공급되는 경우의 동작이다. 우선, 클럭 CLK에 동기되어 명령이 보내져 온다. 도 4의 예에서는 최초로 리프레시 명령이공급되고, 플립 플롭(32)이 리셋된다. 계속해서, 기입 데이터 IN과 기입 명령이 공급된다(도 4의 ①의 부분). 기입 데이터 IN은 비교기(29)를 통과하고, 동기형 래치(30)로 래치된다. 동기형 래치(30)는 클럭 CLK(실제로는 지금부터 생성되는 내부 클럭 CLK1)의 하강에 동기하고, 데이터 IN을 래치한다. 래치된 출력은 N1로 되고 펄스 발생부(31)에 보내진다. 도 4의 타이밍도에서는 N1을 도시하고 있지 않다.
명령 입력 회로/명령 디코더(26)는 이 기입 명령을 디코드하여 제어선(33b)을 구동한다. 이에 의해, 펄스 발생부(31)는 인에이블 상태로 되고, 도 4의 ①로 나타내듯이 데이터 IN1에 응답하여 펄스 N2를 발생한다. 바꾸어 말하면, 기입 데이터 "1"이 클럭에 동기하고 래치되어 소정의 펄스가 하나 생성되는 것이다. 펄스 N2는 플립 플롭(32)의 상태를 반전시키고, Q 출력이 로 레벨로부터 하이 레벨로 변화한다. 즉, 리프레시 후 최초로 송신된 데이터 "1"이 OUT으로서 도시하지 않는 내부 회로[예를 들면, 도 2에 나타내는 메모리 코어(20a)]에 출력됨과 동시에 플립 플롭(32)에 기억된다.
다음에, ②의 타이밍에서는 기입 명령과 "0"(하이 레벨의 펄스로 전송됨)의 데이터 IN가 송신되어 온다. 데이터 IN가 "0"이라고 하는 것은, 송신측의 배타적 논리합 연산 결과가"0", 즉 이번의 기입 데이터는 전번의 기입 데이터와 같다는 것을 의미하고 있다. 동기형 래치(30)는 하이 레벨을 래치하여 N1을 펄스 발생부(31)에 출력한다. 펄스 발생부(31)는 하이 레벨의 신호 N1에 응답하지 않고, 펄스 N2를 발생하지 않는다. 따라서, 플립 플롭(32)의 상태는 반전하지 않고, 그 출력 OUT은 하이 레벨인 상태인 채로 바뀌지 않는다.
다음에, ③의 타이밍에서 기입 명령과 "1"(로 레벨의 펄스로 전송됨)의 데이터가 송신되어 온다. 즉, ③에서 송신되는 데이터는 ②에서 송신된 데이터의 반전 데이터이다. 이 경우, ①의 타이밍과 같은 동작이 행해지고, 플립 플롭(32)은 펄스 N2를 받아 상태가 반전된다. 따라서, 출력 OUT는 하이 레벨로부터 로 레벨로 하강한다.
이하, ④, ⑤의 타이밍에서 같은 동작이 이루어진다. ①∼⑤로 송신된 데이터는 10110이다. 즉, 원래의 송신 데이터는 11011이다. 데이터 입력 회로(281)의 출력 OUT는 11011이 되어 있고, 원래의 송신 데이터(기입 데이터)가 올바르게 재생되어 있다. 원래의 데이터 11011을 그대로 송신하는 것이 아니라 배타적 논리합 출력 10110을 송신함으로써, 1 비트 분의 전력 소비가 경감되어 있다.
각 타이밍 ①∼⑤에서는, n 비트의 병렬 데이터가 데이터 버스(16D)로 전송되고 있고, 상술한 데이터 입력 회로(281) 이외의 데이터 입력 회로(282∼28n)도 상술한 데이터 입력 회로(281)와 마찬가지로 동작한다.
<메모리측 어드레스 입력부의 실시예>
도 5는 각 메모리(13a∼13d)의 인터페이스부(19a∼19d)의 내부에 설치된 어드레스 입력부의 실시예를 설명한다.
각 인터페이스부(19a∼19d)는 어드레스 버스(16A)로부터 어드레스를 입력하는 어드레스 입력부를 구비한다. 어드레스 입력부는 도 3에 나타내는 데이터 입력부의 제1 실시예와 거의 동일 구성이다. 즉, 어드레스 입력부는 데이터 입력부와마찬가지로, 클럭 발생부(35), 명령 입력 회로/명령 디코더(36), OR 게이트(37) 및 m 개(m는 임의의 정수이고, 어드레스를 구성하는 비트수에 상당함)의 어드레스 입력 회로(381∼38m)를 갖는다. 어드레스 입력 회로(381∼38n)의 각각은 어드레스 N을 수취하는 비교기(39), 동기형 래치(40), 펄스 발생부(41) 및 레지스터(RegADD)를 갖는다. 레지스터(RegADD)는 플립 플롭(42)을 갖는다.
어드레스 입력부와 데이터 입력부와의 차이는 펄스 발생부(41)가 독출 명령을 받아 ON하는 제어선(43a)과 기입 명령을 받아 ON하는 제어선(43b) 양쪽 모두에서 제어되는 점이다. 이는 어드레스 입력 회로(381∼38n)를 독출 명령과 기입 명령 양쪽 모두에서 동작시키기 때문이다.
도 5에서 어드레스 입력부의 동작은 도 4에 나타내는 타이밍도에 나타내는 동작과 같아서 여기서의 설명은 생략한다.
<메모리측 데이터 입력부의 제2 실시예>
다음에, 각 메모리(13a∼13d)의 인터페이스부(19a∼19d)의 내부에 설치된 데이터 입력부의 제2 실시예를 설명한다.
도 6은 본 발명의 제2 실시예에 의한 데이터 입력부의 구성을 나타내는 블럭도이다. 도 6에 나타내는 구성 요소 중 도 3에 나타내는 구성 요소와 동일한 것에는 동일한 참조 번호를 붙이고 있다. 제2 실시예는 데이터 IN의 로 에지[하이로부터 로로 하강하는 에지(edge)]를 검출하는 형태의 데이터 입력부이다.
도 3에 나타내는 데이터 입력 회로(281∼28n)에 대신하여 데이터 입력회로(1281∼128n)가 사용되고 있다. 다만, 도 6에서는 데이터 입력 회로(1281)만을 나타낸다. 또한, 내부 클럭 CLK1을 분주율 2로 분주하여 상보 관계에 있는 내부 클럭 CLK2 및 /CLK2를 생성하는 1/2 분주기(44)가 설치되어 있다.
데이터 입력 회로(1281)는 비교기(29), 인버터(46), 입력 래치부(45), 펄스 발생부(31) 및 플립 플롭(32)을 갖는 기입 레지스터(RegDW)를 갖는다. 입력 래치부(45)는 데이터 IN의 로(L) 에지를 검출함으로써, 교대로 동작하는 2 계통의 검출부를 갖는다. 2 계통의 검출부의 한쪽(이하, "제1 로 에지 검출부"라 칭함)은 내부 클럭 CLK2에 관련하는 회로로, 게이트(47), 비교기(48), 래치(49), 지연(delay) 회로(50)를 갖는다. 다른 한쪽의 검출부(이하, "제2 로 에지 검출부"라 칭함)는 내부 클럭 /CLK2에 관련하는 회로로, 게이트(51), 비교기(52) 및 래치(53) 및 지연 회로(54)를 갖는다. 또한, 어느 쪽의 계통에 속하는가를 알기 쉽게 하기 위해서, 각부의 명칭의 뒤에 1 또는 2의 번호를 붙이고 있다. 또한, 입력 래치부(45)는 OR 게이트(55), 지연 회로(56) 및 동기형 래치(30)를 구비한다.
도 7은 도 6에 나타내는 데이터 입력부의 동작을 나타내는 타이밍도이다. 도 7에 나타내는 클럭 CLK와 데이터 IN의 관계에서 나타내듯이, 클럭 CLK의 타이밍 t1과 t2의 사이에 데이터 IN의 L(로) 에지가 발생한 펄스 ①은 기입 명령 Write1로 받아들여지고, 마찬가지로 펄스 ②는 기입 명령 Write2로 받아들여진다. 펄스 ③은 클럭 CLK의 타이밍 t4를 넘어서까지 발생하고 있지만, 펄스 ③의 L 에지는 타이밍 t3과 t4의 사이에서 발생하고 있으므로, 기입 명령 Write3에서 받아들여진다. 클럭CLK의 타이밍 t4와 t5의 사이에서는 펄스 ③의 후반이 비죽 나오고 있지만, 이 부분은 무시되고 펄스 ④가 기입 명령 Write4로 받아들여진다. 클럭 CLK의 타이밍 t5와 t6의 사이에서는 데이터 IN에 L 에지가 발생하고 있지 않기 때문에, 기입 명령 Write5는 펄스를 받아들이지 않는다. 또한, 도 7에 있어서 기입 명령 Write2가 입력되지 않았으면 펄스 ②는 무시된다.
앞에서 언급한 입력 래치부(45)의 제1 로 에지 검출부는 내부 클럭 CLK2가 로(L)의 기간에 발생하는 데이터 IN의 L 에지를 검출하고, 제2 로 에지 검출부는 내부 클럭 /CLK2가 로의 기간에 발생하는 데이터 IN의 L 에지를 검출한다. 제1 및 제2 로 에지 검출부를 교대로 동작시킴으로써 모든 기간에 있어서의 데이터 IN의 L 에지의 검출이 가능해진다.
또한, 데이터 IN을 인버터(46)를 통해 /IN로서 입력하고 있는 것은, 입력이 L 펄스인 것보다도 H(high) 펄스인 쪽이 도 7의 동작을 알아 쉽게 쓸 수 있기 때문이다.
제1 로 에지 검출부의 동작을 설명한다. 내부 클럭 CLK2가 H 레벨 동안은 래치(49)가 리셋되어 있고, 그 출력 N3은 L이다. 내부 클럭 CLK2가 L 레벨이 되면 래치(49)에서 리셋이 해제되고, 래치(49)는 비교기(48)의 출력 N2가 H 레벨로 되는 것을 기다리는 상태로 된다. 게이트(47)의 기능은 후술 하지만, 이 때는 접속 상태이다. 데이터 IN에 L 펄스가 입력되면, 노드 N1에 하이 펄스가 발생한다. 내부 클럭 CLK2의 H 에지[로(low)로부터 하이(high)로 상승하는 에지]와 노드 N1의 H 에지 중 어느 것이 빠른 가를 비교기(48)로 판정한다. 노드 N1의 H 에지가 빠르면 출력N2는 H로 되고, 이것이 래치(49)에 래치된다. H 레벨 신호는 노드 N3, N7에 전달되고, 내부 클럭 CLK1에 동기하여 동기형 래치(30)에 래치되고, 출력 신호 N8로서 펄스 발생부(31)에 출력된다. 데이터 IN에 대응한 기입 명령이 입력되어 있으면, 제어선(33b)이 ON하여 있으며(내부 기입 명령이 발생하고 있다고도 말할 수 있음), 펄스 발생부(31)에서 펄스 N9가 발생하고, 플립 플롭(32)의 상태를 반전시킨다. 도 7의 경우에는, 출력 OUT이 "0"으로부터 "1"로 반전된다(반전 ①).
여기서, 래치(49)가 필요한 이유는, 도 7의 IN ①과 같이 내부 클럭 CLK2가 L 레벨 동안에 펄스의 발생이 끝나 버리는 경우에는, 비교기(48)의 판정 결과도 IN 펄스의 종료와 함께 사라져 버리기 때문에, 래치(49)에서 이를 보관 유지할 필요가 있기 때문에 있다.
또한, 게이트(47)의 기능은 도 7의 IN ③과 같이 클럭 CLK의 H 에지를 넘어서 입력되는 펄스의 경우, 뒤에는 비죽 나온 부분을 무시시키는 것이다. 비교기(48)에서 내부 클럭 CLK2 보다 노드 N1의 H가 빠른 경우에는 노드 N2가 H로 되며, 이 상태는 노드 N1이 H인 한 유지된다. 노드 N2가 H 레벨인 동안에는 게이트 2는 절단 상태로 되고, 제2 로 에지 검출부의 회로에 데이터 IN는 전달되지 않는다. 그 후, 노드 N1이 L 레벨로 되면 노드 N2가 L 레벨로 되고, 게이트(51)가 접속 상태로 되고, 내부 클럭 /CLK2가 L 레벨인 동안에 펄스가 입력되면, 제2 로 에지 검출 회로가 데이터 IN을 집어넣는다.
또한, 도 6에 나타내는 구성에서는 입력 데이터의 펄스 폭(L 레벨 부분의 길이)이 1 클럭의 길이를 넘을 것 같은 입력 펄스의 사용은 원칙으로 금지된다. 또한, 래치(49)는 내부 클럭 CLK2를 소정 시간만 지연시키는 지연 회로(50)의 출력으로 리셋된다. 마찬가지로, 래치(53)는 내부 클럭 /CLK2를 소정 시간만 지연시키는 지연 회로(54)의 출력으로 리셋된다. 또한, 동기형 래치(30)는 내부 클럭 CLK1을 소정 시간만 지연시키는 지연 회로(56)로 리셋된다.
도 8은 도 6에 나타내는 데이터 입력부의 입력 래치부(45)의 회로 구성예를 나타내는 도면이다. 게이트(47)는 NOR 게이트(47a)로 이루어진다. NOR 게이트(47a)는 비교기(29)의 출력과 인버터(58)의 출력을 NOR 연산한다. 비교기(48)는 NAND 게이트(48a, 48b)로 이루어진다. 래치(49)는 NAND 게이트(49a, 49b)로 이루어진다. 지연 회로(50)는 인버터(50a)와 지연 소자(50b)로 이루어진다. 마찬가지로, 게이트(51)는 NOR 게이트(51a)로 이루어진다. NOR 게이트(51a)는 비교기(29)의 출력과 인버터(57)의 출력을 NOR 연산한다. 비교기(52)는 NAND 게이트(52a, 52b)로 이루어진다. 래치(53)는 NAND 게이트(53a, 53b)로 이루어진다. 지연 회로(54)는 인버터 (54a)와 지연 소자 (54b)로 이루어진다. OR 게이트(55)는 NOR 게이트(55a)와 인버터(55b)로 이루어진다.
도 8의 회로 동작은 도 7에 나타내는 대로이다.
<메모리측 데이터 입력부의 제3 실시예>
다음에, 도 9를 참조하여 각 메모리(13a∼13d)의 인터페이스부(19a∼19d)의 내부에 설치된 데이터 입력부의 제3 실시예를 설명한다. 제3 실시예는 칩 선택 신호 /CS의 상승에서 데이터 IN의 레벨을 집어넣는 형태의 데이터 입력부이다. 또한, 도 9에 있어서 도 3에 나타내는 구성 요소와 동일한 것에는 동일한 참조 번호를 붙이고 있다.
명령 입력 회로/명령 디코더(26)는 칩 선택 신호 /CS의 하강을 검출하고, 내부 칩 선택 신호 CS1을 출력하여 래치(30)에 출력한다. 래치(30)는 내부 칩 선택 신호 CS1에 동기하여 데이터 IN을 집어넣는다. 그 외의 회로 구성은, 도 3에 나타내는 회로 구성과 같다.
도 10은 도 9에 나타내는 데이터 입력부의 동작을 나타내는 타이밍도이다. 리프레시 후, 칩 선택 신호 /CS의 하강에 응답하여 래치 회로(30)가 데이터 IN의로 펄스를 래치한다. 펄스 발생부(31)는 제어선(33b)이 ON함으로써 인에이블 상태에 있고, 래치(30)로부터의 펄스 N1을 받아 펄스 N2를 플립 플롭(32)에 출력한다. 플립 플롭(32)은 펄스 N2를 받아서, 바꾸어 말하면 노드 N2의 상승을 받아 상태가 반전한다. 이 상태의 반전에 의해, 플립 플롭(32)의 출력 OUT은 L로부터 H 레벨로 변화한다.
이하 마찬가지로 하여, 칩 선택 신호 /CS의 하강 때에 데이터 IN이 로 레벨인 경우에 플립 플롭(32)의 상태를 반전시킨다.
<메모리측 데이터 입력부의 제4 실시예>
다음에, 도 11을 참조하여 각 메모리(13a∼13d)의 인터페이스부(19a∼19d)의 내부에 설치된 데이터 입력부의 제4 실시예를 설명한다. 제4 실시예는 데이터 IN의 L 에지를 비동기(클럭 CLK나 칩 선택 신호 /CS는 동기하지 않음)로 검출하는 형태의 데이터 입력부이다. 또한, 도 11 중에서 도 6에 나타내는 구성 요소와 동일한 것에는 동일의 참조 번호를 붙이고 있다.
도 11의 회로 구성은, 도 6에 나타내는 입력 래치부(45)에 대신하여 입력 래치부(60)를 설치한 점과 도 6에 나타내는 1/2 분주기(44)를 구비하고 있지 않은 점에서 도 6에 나타내는 회로 구성과 서로 다르다. 입력 래치부(60)는 비교기(48), 래치(49) 및 지연 회로(50)를 구비한다. 입력 래치부(60)는 칩 선택 신호 /CS(즉, CS1)가 ON 상태인 동안(입력 접수 기간), 입력 데이터 IN의 L 에지, 직접적으로는 인버터(46)가 출력하는 반전 데이터 /IN의 H 에지를 검출하면, 펄스 발생부(31)에 출력 신호 N3을 출력한다.
도 12는 도 11의 회로의 동작을 나타내는 타이밍도이다. 리프레시 후의 최초의 데이터 IN는 L 펄스(①)이다. 내부 칩 선택 신호 CS1이 입력 접수 기간 내에 반전 데이터 /IN가 L로부터 H 레벨로 변화하므로, 비교기(48)는 펄스 N2를 래치(49)로 출력한다. 래치(49)는 H 펄스를 보관 유지하고, 펄스 발생부(31)에 H 레벨의 신호 N3을 출력한다. 펄스 발생부(31)는 기입 명령 Write1을 받아 ON 상태로 된 제어선(33b)을 통해(바꾸어 말하면, 내부 기입 명령에 의해) 인에이블 상태에 있고, H 레벨의 신호 N3을 받아 펄스 N4를 플립 플롭(32)에 출력한다. 이를 받은 플립 플롭(32)은 상태가 반전되고, 출력 OUT는 L로부터 H 레벨로 변화한다.
데이터 IN의 다음의 L 펄스(②)의 타이밍에서는, 내부 칩 선택 신호 CS1은 OFF 상태이고, 비교기(48)는 이 L 펄스를 검출하지 않는다. 도 12에 있어서, 신호(노드) N2를 나타내는 시간축 상에 점선으로 도시되어 있는 펄스는 비교기(48)에서 검출되지 않아, 이 결과 입력 래치부(60)에 래치되지 않은 것을 나타내고 있다.
래치(49)의 리셋은 내부 칩 선택 신호 CS1을 소정 시간만 지연시키는 지연 회로(50)의 출력 신호로 행해진다. 도시하는 예에서는, 지연 시간은 내부 칩 선택 신호 CS1의 1/2 주기에 상당한다.
데이터 IN의 그 다음에, L 펄스(③)는 앞에서 언급한 ①의 L 펄스와 마찬가지로 처리된다. 이 결과 입력 데이터, 즉 기입 데이터의 ①과 ③의 L 펄스에 응답하여 각각 플립 플롭(32)의 상태가 변화하고, 출력 OUT은 L→H→L로 변화한다.
<메모리측 데이터 입력부의 제5 실시예>
다음에, 도 13을 참조하여 각 메모리(13a∼13d)의 인터페이스부(19a∼19d)의 내부에 설치된 데이터 입력부의 제5 실시예를 설명한다. 제5 실시예는 데이터 IN의 L 에지를 비동기로 검출하는 형태의 데이터 입력부로, 상술한 제4 실시예의 개량형이다. 또한, 도 13 중에서 도 6에 나타내는 구성 요소와 동일한 것에는 동일의 참조 번호를 붙이고 있다.
제5 실시예의 회로 구성은, 도 6에 나타내는 제2 실시예의 회로 구성을 닮고 있지만, 도 13에 나타내는 입력 래치부(62)는 하나의 로 에지 검출부를 구비하고 있다. 이 로(low) 에지 검출부는 게이트(47), 비교기(48), 래치(49) 및 지연 회로(50)를 구비한다. 게이트(51), 비교기(52) 및 인버터(63)로 이루어지는 회로는 게이트(47)의 ON/OFF를 제어한다.
도 14는 도 13에 나타내는 제5 실시예의 동작을 나타내는 타이밍도이다. 데이터 IN의 L 펄스 ①은 인버터(46)에서 H 펄스의 데이터 /IN으로 변환되고, 게이트(47)를 통과하고, N1로서 비교기(38)에 주어진다. 이 때 비교기(38)는 L 레벨의 내부 칩 선택 신호 CS1을 받고 있으므로, H 펄스의 출력 N2를 래치(49) 및 게이트(51)에 출력한다. 래치(49)는 이 H 펄스를 래치하고, H 레벨의 출력 N3을 펄스 발생부(31)에 준다. 펄스 발생부(31)는 기입 명령 Write1을 디코드하여 얻어지는 내부 명령 Write에 응답하고, 펄스 출력 N4를 플립 플롭(32)에게 준다. 이에 의해 출력 OUT는 L로부터 H 레벨로 변화한다.
다른 한편, H 펄스의 신호 N2를 받아 게이트(51)는 접속 상태로 되어 있고, 반전 데이터 /IN는 게이트(51)를 통과하여 비교기(52)에 주어진다. 이 때, 반전 내부 칩 선택 신호 /CS1은 H 레벨이므로 비교기(52)는 반전 데이터 /IN의 상승을 검출할 수 없고, 그 출력 N6은 L 레벨 그대로이다. L 레벨의 출력 N6에서 게이트(47)는 접속 상태에 있다.
입력 데이터 IN의 다음의 L 펄스 ②를 받았을 때, 내부 칩 선택 신호 CS1은 H이므로 비교기(48)는 디스에이블(disable) 상태이고, 비교기(52)는 인에이블(enable) 상태이다. 노드 N2는 L 레벨에 있으므로, 게이트(51)는 접속 상태에 있다. 따라서, 비교기(52)는 반전 데이터 /IN의 상승을 검출하고, 그 출력 N6을 H 레벨로 한다. 이를 받아 게이트(47)는 OFF하고, 그 출력 N1은 L 레벨에 있다. 따라서, 비교기(48)의 출력 N2도 L이다. 이 때, 래치(49)는 H 레벨을 계속 보관 유지하고 있다. 즉, 입력 래치부(62)는 L 펄스 ②를 검출하지 않는다(래치하지 않음). 이는, 칩 선택 신호 /CS가 하강하는 시점에서는 이미 L 펄스 ②가 하강해 있고, 이러한 타이밍에 있는 L 펄스를 무시하기 때문이다.
래치(49)는 내부 칩 선택 신호 CS1을 소정 시간만 지연시키는 지연 회로(50)의 출력으로 리셋되어 L 레벨로 리셋된다. 즉, 래치가 해제된다.
다음의 데이터 입력 IN의 L 펄스 ③은 상술한 ①과 마찬가지로 처리되고, 플립 플롭(32)을 반전시킨다.
이상과 같이 하여, 데이터 IN의 3개의 L 펄스 ①, ②, ③에 따라 출력 OUT는 L→H→L로 2회만 변화한다.
또한, 상기 제3∼제5 실시예에서는 데이터 IN을 집어 넣는 데에 칩 선택 신호 /CS를 이용하고 있지만, 그 이외의 명령 신호이어도 좋다.
<메모리측 데이터 입력부의 제6 실시예>
다음에, 도 15를 참조하여 각 메모리(13a∼13d)의 인터페이스부(19a∼19d)의 내부에 설치된 데이터 입력부의 제6 실시예를 설명한다. 제6 실시예는 도 3에 나타내는 제1 실시예에 전력 소비의 관점으로부터 개량을 더한 데이터 입력부이다. 또한, 도 15에 있어서 도 3에 나타내는 구성 요소와 동일한 것에는 동일한 참조 번호를 붙이고 있다.
도 15에 나타내는 회로 구성은 비교기(29)로 구성되는 입력 초단을 명령 입력 회로/명령 디코더(26)가 출력하는 내부 칩 선택 신호 CS1로 제어하는 구성을 갖는다. 이 점에서 도 3에 나타내는 회로 구성과 서로 다르다. 내부 칩 선택 신호 CS1이 ON인 때만 비교기(29)는 인에이블 상태로 된다(활성화 된다). 즉, OFF 일때에는 비교기(29)는 디스에이블 상태이다. 이에 의해, 데이터 입력부가 탑재되는 칩이 선택되어 있지 않을 때에는 비교기(29)는 쓸데없는 전력을 소비하지 않는다.
도 16은 도 15에 나타내는 회로 구성의 동작을 나타내는 타이밍도이다. 칩선택 신호 /CS를 클럭 CLK의 상승 에지보다 소정 기간(도 16의 예에서는 1/2 주기)만큼 전에 입력함으로써, 비교기(29)를 인에이블 상태로 한 후에 데이터 IN의 L 레벨을 집어넣도록 하고 있다.
입력 초단을 필요한 때만 인에이블 상태로 하는 제6 실시예의 사고의 방법은 제1 내지 제5 실시예에도 마찬가지로 적용할 수 있다.
<메모리측 데이터 출력부의 실시예>
다음에, 도 17을 참조하여 각 메모리(13a∼13d)의 인터페이스부(19a∼19d)의 내부에 설치된 데이터 출력부의 한 실시예를 설명한다. 이하에 설명하는 데이터 출력부는 동기형에도 비동기형에도 적용 가능하다.
도 17에 나타내는 데이터 출력부는 OR 게이트(65), 수취 게이트(60), 레지스터(67) 및 n 개의 데이터 출력 회로(681∼68n)를 갖는다. 데이터 출력 회로(681∼68n)의 각각은 배타적 논리합 게이트(69), 플립 플롭(70), 지연 회로(71), AND 게이트(72) 및 트랜지스터(73)를 구비한다. 메모리 코어(도 2에 도시)로부터의 독출 데이터는 수취 게이트(60)에 주어짐과 동시에, 비트 단위로 대응하는 데이터 출력 회로(681∼68n)에 주어진다. 수취 게이트(60)는 메모리 코어로부터의 데이터 출력 펄스에 응답하여 게이트가 접속상태로 되고, 독출 데이터를 레지스터(67)에 출력한다. 명령 버스(16C)(도 2)를 통과하여 제어기(10)로부터 혹은 메모리 내부에서 발생하는 리프레시 명령 또는 내부에서 발생하는 리셋 신호는 OR 게이트(65)를 통과하여 레지스터(67)에 주어진다. 이러한 신호를 받으면,레지스터(67)는 리셋된다. 레지스터(67)는 데이터의 독출이 있을 때마다 리셋된다.
데이터 출력 회로(681)의 배타적 논리합 게이트(69)는 독출 데이터의 대응하는 비트와 레지스터(67)로부터 독출된 독출 데이터의 대응하는 비트와의 배타적 논리합 연산을 한다. 레지스터(67)로부터 독출된 독출 데이터는 메모리 코어로부터 독출된 데이터의 직전의 독출 데이터이다. 따라서, 배타적 논리합 게이트(69)는 전번의 데이터에 대해 이번 데이터가 반전하고 있는지 어떤지를 검출한다. 반전하고 있으면, 배타적 논리합 게이트(69)는 H 레벨의 출력 N1을 플립 플롭(70)에 출력한다. 플립 플롭(70)은 데이터 출력 펄스에 응답하여 H 레벨의 출력 N1을 래치하고, Q 출력에 H를 출력한다. 데이터 출력 펄스는 지연 회로(71)에서 약간 지연되고, AND 게이트(72)에 주어진다. AND 게이트(72)는 Q 출력과 지연 회로(71)로부터의 출력과의 타이밍 차이에 상당하는 폭의 펄스를 출력한다. 트랜지스터(73)는 N채널 MOS 트랜지스터 등의 전계 효과형 트랜지스터로 구성되어 있고, AND 게이트(72)가 출력하는 H 펄스에 응답하여 데이터 버스(16D)의 대응하는 버스선을 접지 레벨(로 레벨)로 설정한다. 트랜지스터(73)의 드레인은 저항으로 종단된 데이터 버스선에 접속되어 있어 이른바 오픈 드레인 형태의 사용 형태이다.
<제어기의 /CS 출력부 및 데이터 출력부의 실시예>
다음에, 도 18을 참조하여 제어기(10)의 내부에 설치된 칩 선택 신호 출력부(이하, "/CS 출력부"라 칭함) 및 데이터 출력부의 한 실시예를 설명한다.
제어기(10) 내부의 /CS 출력부는 칩 선택 제어 회로(75) 및 칩 선택 신호 출력 회로(84a∼84d)를 포함한다. 칩 선택 제어 회로(75)는 도 2에 나타내는 4개의 메모리(13a∼13d)를 선택하기 위한 칩 선택 신호를 생성하고, 칩 선택 신호 출력 회로(84a∼84d)에 출력한다. 각 칩 선택 신호 출력 회로(84a∼84d)는 AND 게이트(85) 및 NMOS 트랜지스터 등의 전계 효과 트랜지스터(86)를 갖는다. AND 게이트(85)는 대응하는 칩 선택 신호와 CS 출력 제어 신호를 받는다. CS 출력 제어 신호는 제어기(10) 내부의 제어부(도시하지 않음)로부터 출력되는 것이고, 칩을 선택할 때에 ON으로 되는 신호이다. AND 게이트(85)의 출력은 트랜지스터(86)의 게이트를 제어한다. 칩 선택 신호 출력 회로(84a∼84d)의 AND 게이트(86)는, 액티브·로(active·low)의 칩 선택 신호 /CSa∼/CSd를 출력한다. 칩 선택 신호 /CSa∼/CSd는 각각 명령 버스(16C)를 통해 도 2의 메모리(13a∼13d)에 공급된다.
제어기(10)의 데이터 출력부는 OR 게이트(76), 수취 제어 회로(77), 리셋 회로(78), 레지스터군(79), 멀티플렉서(83) 및 데이터 출력 회로(871∼87n)를 구비한다. 레지스터군(79)은 4개의 메모리(10a∼10d)에 대응하여 4개의 레지스터 유닛(80a∼80d)을 구비한다. 각 레지스터 유닛(80a∼80d)은 수취 게이트(81)와 레지스터(82)를 구비한다. 레지스터 유닛(80a∼80d)은 각각 도 3에 나타내는 레지스터(17a∼17d)에 상당한다. 도 3의 인터페이스부(18)는 도 18의 멀티플렉서(83) 및 데이터 출력 회로(871∼87n)를 포함한다.
기입 데이터는 레지스터군(79)에 주어짐과 동시에, 비트 단위로 데이터 출력 회로(871∼87n)에 주어진다. 수취 제어 회로(77)는 4개의 칩 선택 신호를 수취하고,데이터 출력 펄스에 응답하여, 레지스터 유닛(80a∼80d)으로부터 ON으로 되어 있는(인에이블 상태에 있는) 칩 선택 신호에 대응하는 유닛의 수취 게이트(81)가 접속 상태로 된다. 이에 의해, 기입 데이터는 ON으로 된 수취 게이트를 통해서, 대응하는 유닛의 레지스터(82)에 기입해진다. 리셋 회로(78)는 제어기(10)의 내부 회로로부터 OR 게이트(76)를 통해 공급되는 리프레시 명령 또는 리셋 신호에 응답하여, 칩 선택 신호로 선택된 유닛의 레지스터(82)를 리셋한다.
레지스터 유닛(80a∼80d)의 레지스터(82)로부터 독출되는 기입 데이터는 멀티플렉서(83)를 통해 비트 단위로 대응하는 데이터 출력 회로(871∼87n)에 공급된다.
데이터 출력 회로(871∼87n)는 각각 배타적 논리합 게이트(84), 플립 플롭(85), 지연 회로(86), AND 게이트(87) 및 NMOS 트랜지스터 등의 전계 효과 트랜지스터(88)를 구비한다. 이 구성은 도 17에 나타내는 데이터 출력 회로(681∼68n)와 같다. 배타적 논리합 게이트(84)는 멀티플렉서(83)로부터의 대응하는 비트와 기입 데이터의 대응하는 비트를 수취하고, 이들의 배타적 논리합 연산을 하고, 연산 결과를 플립 플롭(85)에 출력한다. 멀티플렉서(83)를 통해 수취하는 기입 데이터는 하나 전에 처리된 기입 데이터이다. 따라서, 이 배타적 논리합 연산은, 이번의 기입 데이터가 전번의 기입 데이터의 반전 데이터인지 어떤지를 검출하는 것이다. 반전해 있으면 배타적 논리합 게이트(84)는 H 레벨의 출력을 플립 플롭(85)에 출력한다. 플립 플롭(85)은 데이터 출력 펄스에 응답하여 H 레벨의 출력을 래치하고, Q출력에 H를 출력한다. 데이터 출력 펄스는 지연 회로(86)에서 약간 지연되고, AND 게이트(87)에 주어진다. AND 게이트(87)는 Q 출력과 지연 회로(86)로부터의 출력과의 타이밍 차이에 상당하는 폭의 펄스를 출력한다. 트랜지스터(88)는 N채널 MOS 트랜지스터 등의 전계 효과형 트랜지스터로 구성되어 있고, AND 게이트(87)가 출력하는 H 펄스에 응답하여 데이터 버스(16D)의 대응하는 버스선을 접지 레벨로 설정한다.
<제어기의 데이터 입력부의 실시예>
다음에, 도 19를 참조하여 제어기(10)의 내부에 설치된 데이터 입력부의 한 실시예를 설명한다.
제어기(10)의 데이터 입력부는 칩 선택 회로(75), OR 게이트(90), 리셋 회로(91), n 개의 입력 회로(911∼91n), 4개의 메모리(13a∼13d)에 각각 대응하는 레지스터 유닛(93a∼93d) 및 멀티플렉서(98)를 구비한다. 데이터 입력부는 데이터 버스(16D)로부터 독출 데이터를 수취하고, 메모리 코어를 포함한 내부 회로에 출력하는 회로이다.
입력 회로(921∼92n)는 데이터 버스(16D)로부터 독출 데이터를 수취하고, 레지스터 유닛(93a∼93d)에 출력한다. 입력 회로(921∼92n)의 각각은 비교기, 래치부 및 펄스 발생부를 구비하고, 앞에서 언급한 메모리측의 데이터 입력부의 제1 실시예로부터 제6 실시예와 마찬가지로 구성할 수 있다.
레지스터 유닛(93a∼93d)의 각각은 n 개의 AND 게이트(96)로 구성되는 수취게이트(94)와 n 개의 플립 플롭으로부터 구성되는 데이터 레지스터(95)를 구비한다. AND 게이트(96)는 입력 회로(921∼92n)로부터 n 비트의 독출 데이터를 받음과 동시에, 대응하는 칩 선택 신호를 받는다. AND 게이트(96)의 출력은 대응하는 플립 플롭(97)의 클럭 단자에 공급된다. 각 플립 플롭(97)의 /Q 출력은 D 입력에 접속되고, Q 출력이 멀티플렉서(98)에 공급된다. 리셋 회로(91)는 OR 게이트(90)를 통해 공급되는 리프레시 명령 또는 리셋 신호에 응답하고, 유닛(93a∼93d) 중의 칩 선택 신호로 지시되어 있는 하나의 유닛의 플립 플롭(97)을 리셋한다. 멀티플렉서(98)는 ON으로 되어 있는 칩 선택 신호에 대응하는 유닛을 선택하고, 여기에서 출력되는 독출 데이터를 메모리 코어를 포함한 내부 회로에 출력한다.
입력 회로(911∼91n)가 반전 데이터 "1"(L 펄스)을 수취하면, 수취 게이트(94)를 통해 데이터 레지스터(95)의 대응하는 플립 플롭(97)의 상태를 반전시킴으로써 송신된 데이터의 재생이 이루어진다.
<메모리측 데이터 입출력부의 실시예>
다음에, 도 20을 참조하여 각 메모리(13a∼13d)의 인터페이스부(19a∼19d)의 내부에 설치된 데이터 입출력부를 제7 실시예로서 설명한다. 제7 실시예는 기입 데이터 레지스터(RegDW)와 독출 데이터 레지스터(RegDR)를 겸용하는 것이다. 또한, 도 20에 있어서, 앞에서 언급한 도면에 나타내는 구성 요소와 동일한 것에는 동일의 참조 번호를 붙이고 있다.
데이터 입출력부는 OR 게이트(65), 수취 게이트(60), 레지스터(67) 및 데이터 입출력부(100)를 갖는다. 데이터 입출력부(100)는 n 개의 데이터 입출력 유닛(1011∼101n)을 갖는다. 데이터 입출력 유닛(1011∼101n)의 각각은 데이터 입력 및 펄스 발생 회로(102) 및 데이터 출력 회로(103)를 구비한다. 데이터 입력 회로(102)는 앞에서 언급한 제1 실시예로부터 제6 실시예의 데이터 입력 회로 중, 기입 레지스터(RegDW)를 제외하는 펄스 발생부(31)까지의 회로를 포함하는 것이다. 기입 레지스터(RegDW)는 레지스터(67)에 상당한다. 또한, 데이터 출력 회로(103)는, 예를 들면 도 17에 나타내는 데이터 출력 회로(681∼68n)이다. 도 17에 나타내는 레지스터(67)[독출 레지스터(RegDR)]는 도 20의 기입 레지스터(RegDW)로도 기능한다.
메모리 코어로부터의 독출 데이터는 내부 독출 데이터 버스(105)를 통해, 수취 게이트(60)와 데이터 입출력 유닛(1011∼101n)의 데이터 출력 회로(103)에 공급된다. 데이터 출력 회로(103)는 배타적 논리합 연산의 결과가 "1"에 대응하는 데이터 반전 펄스 신호(예를 들면, L 펄스)를 버스(16D)에 출력한다. 기입 데이터는 데이터 버스(16D)로부터 데이터 입력 회로(102)에 입력되고, 여기서 데이터 반전을 나타내는 L 펄스가 검출되면 펄스 신호가 레지스터(67)에 주어진다. 레지스터(67)는 기입 데이터 또는 비교용 데이터를 내부 기입 데이터 버스(104)에 출력한다. 비교용 데이터라는 것은 이번 독출 데이터에 대한 전회의 독출 데이터로서 수취 게이트(60)를 통해 레지스터(67)에 저장된 것이다.
도 21은 도 20에 나타내는 수취 게이트(60)와 레지스터(67)의 한 구성예를나타내는 회로도로서, 1 비트 분의 회로 구성을 나타낸다. 수취 게이트(60)는 인버터(104)와 2개의 AND 게이트(105, 106)를 구비한다. 내부 독출 데이터 버스(105) 상의 독출 데이터는 AND 게이트(106)에 직접 공급됨과 동시에, 인버터(104)에서 반전되어 AND 게이트(105)에 공급된다. 또한, AND 게이트(105, 106)는 수취 제어 신호로서 기능하는 데이터 출력 제어 펄스를 수취한다.
레지스터(67)는 OR 게이트(107)와 세트 단자 플립 플롭(108)을 구비한다. AND 게이트(105)의 출력은 OR 게이트(107)를 통해, 플립 플롭(108)의 리셋 단자에 주어진다. 또한, 이 리셋 단자에는 OR 게이트(107)를 통해 리프레시 명령(또는, 리셋 신호)이 주어진다. AND 게이트(106)의 출력은 세트 단자에 접속되어 있다. 클럭 단자에는 데이터 입력 및 펄스 발생 회로(102)로부터의 데이터 반전 펄스 신호가 주어진다. /Q 단자는 D 단자에 접속되고 Q 단자가 레지스터(67)의 출력을 구성한다.
도 21의 회로 동작을 설명한다. 리프레시 명령(또는, 리셋 신호)이 플립 플롭(108)에 주어지면, 플립 플롭(108)은 리셋되고, Q 출력은 L 레벨로 된다. 데이터 출력시에는 데이터 출력 제어 펄스가 H 레벨로 변화한다. 독출 데이터가 L 레벨인 경우에는 리셋 단자가 H로 되고, Q 출력은 L 레벨로 된다. 기입 데이터를 집어넣는 경우에는, 데이터 입력 및 펄스 발생 회로(102)로부터의 데이터 반전 펄스 신호가 플립 플롭(108)의 클럭 단자에 들어가고, Q 출력이 반전한다.
이와 같이, 기입 데이터와 독출 데이터가 레지스터를 공유함으로써 칩 면적을 절약할 수가 있다.
<제어기의 /CS 출력부 및 데이터 출력부의 다른 실시예>
다음에, 도 22를 참조하여 제어기(10)의 내부에 설치된 칩 선택 신호 출력부(이하, "/CS 출력부"라 칭함) 및 데이터 출력부의 다른 실시예를 제2 실시예로서 설명한다. 이 제2 실시예는, 기입 데이터 레지스터(RegDWC)와 독출 데이터 레지스터(RegDRC)를 겸용하는 것이다. 또한, 도 22에 있어서 도 18에 나타내는 구성 요소와 동일한 것에는 동일한 참조 번호를 붙이고 있다.
레지스터군(110)은 도 2에 나타내는 4개의 메모리(13a∼13d)에 대응해 4개의 레지스터 유닛(111a∼111d)을 갖는다. 각 레지스터 유닛(111a∼111d)은 2개의 수취 게이트(112, 113) 및 레지스터(114)를 갖는다. 수취 제어 회로(77)는 칩 선택 신호에 기초하여, 레지스터 유닛(111a∼111d) 중의 하나의 수취 게이트(112)를 접속상태로 한다. 레지스터 유닛(111a∼111d)의 수취 게이트(113)는 대응하는 칩 선택 신호에 응답하여 제어된다. 내부 기입 데이터 버스(122) 상의 기입 데이터는 레지스터 유닛(111a∼111d) 중의 어느 쪽이든 하나의 수취 게이트를 통해 레지스터(114)에 기입된다. 후술하는 데이터 입출력부(117)로부터의 데이터 반전 펄스 신호는 레지스터 유닛(111a∼111d) 중의 어느 하나의 수취 게이트를 통해 레지스터(114)에 기입된다. 멀티플렉서(115)는 칩 선택 신호에 응답하고, 레지스터 유닛(111a∼111d) 중의 어느 하나를 선택하고, 이로부터의 데이터 출력을 레지스터(116)에 기입한다. 레지스터(116)로부터 읽어진 데이터(독출 데이터 또는 비교용 데이터)는 내부 독출 데이터 버스(121) 상에 독출된다.
데이터 입출력부(117)는 도 20에 나타내는 데이터 입출력부(100)와 마찬가지의 구성이다. 데이터 입출력부(117)는 n 개의 데이터 입출력 유닛(1181∼118n)을 갖는다. 데이터 입출력 유닛(1181∼118n)은 각각 데이터 입력 및 펄스 발생 회로(119) 및 데이터 출력 회로(120)를 구비한다. 데이터 입력 회로(119)는 도 19에 나타내는 입력 회로(921∼92n)에 상당하는 것으로, 앞에서 언급한 제1 실시예로부터 제6 실시예의 데이터 입력 회로 중 기입 레지스터(RegDW)를 제외하고 펄스 발생부(31)까지의 회로를 포함하는 것이다. 기입 레지스터(RegDW)는 레지스터(114)에 상당한다. 또한, 데이터 출력 회로(120)는, 예를 들면 도 18에 나타내는 데이터 출력 회로(871∼87n)이다. 도 22에 나타내는 칩 선택 신호 출력 회로(84)는 도 18에 나타내는 칩 선택 신호 출력 회로(84a∼84d)를 포함한다.
도 23은 도 22에 나타내는 수취 게이트(112, 113) 및 레지스터(114)의 한 회로 구성예를 나타내는 회로도이다. 수취 게이트(112)는 인버터(131) 및 2개의 AND 게이트(132, 133)를 갖는다. 수취 게이트(136)는 AND 게이트(136)를 갖는다. 레지스터(114)는 OR 게이트(134)와 플립 플롭(135)을 갖는다. 수취 게이트(112)는 도 21에 나타내는 수취 게이트(60)와 동일 구성이다. 또한, 레지스터(114)는 도 21에 나타내는 레지스터(67)와 동일 구성이다. 도 21의 회로 구성에서는 데이터 반전 펄스 신호가 직접 플립 플롭(108)의 클럭 단자에 공급되고 있는 것에 대해, 도 23의 회로 구성에서는 AND 게이트(136)로 구성되는 수취 게이트(113)를 통해 플립 플롭(135)의 클럭 단자에 공급되고 있다. AND 게이트(136)는 데이터 반전 펄스 신호와 대응하는 칩 선택 신호의 AND 연산을 한다. 칩 선택 신호가 ON일 때, 데이터 입력 및 펄스 발생 회로(119)가 출력하는 데이터 반전 펄스 신호가 AND 게이트(136)를 통해 플립 플롭(135)의 클럭 단자에 주어진다. 그리고, Q 출력이 멀티플렉서(115)를 통해 레지스터(116)에 일단 보관 유지된 후, 독출 데이터로서 메모리 코어에 공급된다.
<본 발명의 제2 원리>
다음에, 도 24를 참조하여 본 발명의 제2 원리를 설명한다.
도 1을 참조하여 설명한 본 발명의 제1 원리에서는, 제어기(10)의 레지스터(12)와 메모리(13)의 레지스터(15)와는 항상 마지막으로 주고 받은 데이터를 보관 유지하는 구성이다. 이에 대해, 본 발명의 제2 원리에서는, 제어기(10)의 레지스터(12)와 메모리(13)의 레지스터(15)는 동일한 대표 데이터를 보관 유지하는 것이다. 그리고, 대표 데이터와 다른 비트를 데이터 반전 신호로서 송신한다. 이 송신은, 예를 들면 펄스를 이용하여 행해진다.
예를 들면, 어떤 일군의 데이터를 송신하는 경우, 우선 대표 데이터를 송신하고, 이에 계속하여 이 대표 데이터와 다른 비트를 송신한다. 이 경우, 기입 명령에는 대표 데이터를 송신하는 명령[WRITE(A)]과 반전 비트를 송신하는 명령[WRITE(B)] 2 종류를 이용한다. 독출 명령도 마찬가지로, 독출 데이터를 그대로 출력하는 명령[READ(A)]과 반전하는 비트만을 출력하는 명령[READ(B)]이 있다. 또한, 신호의 송수신은 펄스로 하지만, 대표 데이터를 송신하는 경우에는, L 펄스가 들어간 경우에는 "0"으로, 들어가지 않은 경우에는 "1" 등과 같이 미리 결정해둔다.
도 24의 예에서는, 스텝 ①에서 제어기(10)가 대표 데이터 1011을 레지스터(12)에 기입함과 동시에, 메모리(13)의 레지스터(15)에 기입 명령 WRITE(A)를 이용하여 기입한다. 이에 의해 동일한 대표 데이터가 레지스터(12, 15)에 기입된다.
스텝 ②에서 제어기(10)는 기입 데이터 1010과 대표 데이터 1011과의 배타적 논리합 연산을 하고, 그 연산 결과 0001을 데이터 버스(16)를 통해 메모리(13)에 보낸다. 이 때의 기입 명령은 WRITE(B)이다. 메모리(13)에서는 지금 수취한 데이터 0001과 대표 데이터 1011과의 사이에 배타적 논리합 연산을 하고, 그 연산 결과 1010을 메모리 코어에 기입한다.
이하, 마찬가지로 스텝 ③, ④처럼 행해진다.
<제2 원리에 대응한 메모리의 데이터 입출력부의 실시예>
도 25는 제2 원리에 대응한 메모리[도 1의 메모리(13) 또는 도 2에 나타내는 메모리(13a∼13d)에 상당]의 데이터 입출력부의 실시예로, 기입 레지스터와 독출 레지스터를 공용하는 예이다.
도시하는 데이터 입출력부는 메모리 코어(20), 스위치(140), 수취 게이트(141), 레지스터(142), 배타적 논리합 게이트(EX-OR2)(143), 멀티플렉서(MUX2)(144), 데이터 입출력 회로(145), 배타적 논리합 게이트(EX-OR1)(146) 및 멀티플렉서(MUX1)(147)를 갖는다.
대표 데이터를 송수신하는 경우에는, 메모리 내부에서 대표 데이터 수취 신호가 발생하고, 수취 게이트(141)를 접속 상태로 함과 동시에, 멀티플렉서(143, 147)가 입력 A를 선택한다. 또한, 기입인지 독출인지에 의해 스위치(140)가 전환된다. 이 때, 기입 데이터이면 데이터 입출력 회로(145)로부터 수취되고, 멀티플렉서(147)를 통과하여 그대로 메모리 코어(20)에 보내어짐과 동시에, 레지스터(142)에도 보내어져 보관 유지된다. 이에 대해, 독출 데이터이면 메모리 코어(20)로부터 온 데이터는 멀티플렉서(144)를 통과하여 그대로 데이터 입출력 회로(145)로부터 출력됨과 동시에, 레지스터(142)에 보내어져 보관 유지된다.
반전 비트를 송수신하는 경우에는, 2개의 멀티플렉서(144, 147)가 입력 B를 선택한다. 이 때, 기입 데이터이면 데이터 입출력 회로(145)로부터 수취되고, 배타적 논리합 게이트(146)에서 레지스터(142)의 대표 데이터와 배타적 논리합을 취한다. 이 연산 결과는 멀티플렉서(147)를 통과하여 메모리 코어(20)에 보내진다. 또한, 독출 데이터이면 배타적 논리합 게이트(143)는 메모리 코어(20)로부터 온 데이터와 레지스터(142)의 대표 데이터와의 배타적 논리합을 연산한다. 이 연산 결과는 멀티플렉서(144)를 통과하여 데이터 입출력 회로(145)로부터 출력된다.
일반적으로는, 대표 데이터는 제어기(10)로부터 메모리(13a∼13d)에 보내어지는 경우가 거의 모두로 생각되지만, 보다 범용성을 갖게 하기 위해서 도 25에 나타내는 회로 구성에서는 메모리(13a-13d)로부터 제어기(10)에도 대표 데이터를 송신 할 수 있는 구성으로 하고 있다.
<제2 원리에 대응한 제어기의 데이터 입출력부의 실시예>
도 26은 제2 원리에 대응한 제어기의 데이터 입출력부의 실시예로서, 기입레지스터와 독출 레지스터를 공용하는 예이다. 도면 중에서 앞에서 언급한 도면에 나타낸 구성 요소와 동일한 구성 요소에는 동일한 참조 번호를 붙이고 있다.
도시한 제어기의 데이터 입출력부는 칩 선택 회로(75), 수취 제어 회로(77), 칩 선택 신호 출력 회로(84), 멀티플렉서(115), 제어기의 내부 회로(150), 스위치(151) 및 레지스터군(160)을 갖는다. 또한, 데이터 입출력부는 배타적 논리합 게이트(EX-OR)(161), 멀티플렉서(MUX)(162), 데이터 입출력 회로(163), 배타적 논리합 게이트(EX-OR)(164) 및 멀티플렉서(MUX)(165)를 갖는다.
레지스터군(160)은 도 2에 나타내는 4개의 메모리(13a∼13d)에 대응하여, 4개의 레지스터 유닛(161a∼161d)을 구비한다. 각 레지스터 유닛(161a∼161d)은 수취 게이트(113)와 레지스터(114)를 갖는다.
대표 데이터를 송수신하는 경우에는 내부 회로(150)에서 대표 데이터 수취 신호가 발생한다. 수취 게이트(77)는 ON 상태의 칩 선택 신호에 대응한 레지스터 유닛(161a∼161d) 중의 한 레지스터 유닛의 수취 게이트(113)를 접속 상태로 한다. 또한, 대표 데이터 수취 신호는 멀티플렉서(162, 165)가 입력 A를 선택한다. 또, 기입인가 독출인가에 의해서 스위치(151)가 전환된다. 이 때, 기입 데이터이면, 데이터 입출력 회로(163)로부터 수취되고, 멀티플렉서(165)를 통과하여 그대로 내부 회로(150)에 보내어짐과 동시에, 대응하는 레지스터 유닛의 레지스터(114)에도 보내어져 보관 유지된다. 이에 대해, 독출 데이터이면 내부 회로(150)로부터 온 데이터는 멀티플렉서(162)를 통과하여 그대로 데이터 입출력 회로(163)로부터 출력됨과 동시에, 대응하는 레지스터 유닛의 레지스터(114)에 보내어져 보관 유지된다.
반전 비트를 송수신하는 경우에는, 2개의 멀티플렉서(162, 165)가 입력 B를 선택한다. 이 때, 기입 데이터이면 데이터 입출력 회로(163)로부터 수취되고, 배타적 논리합 게이트(164)로 레지스터(114)의 대표 데이터와 배타적 논리합을 취한다. 이 연산 결과는 멀티플렉서(165)를 통과하여 내부 회로(150)에 보내진다. 또한, 독출 데이터이면 배타적 논리합 게이트(161)는 내부 회로(150)로부터 온 데이터와 레지스터(114)의 대표 데이터와의 배타적 논리합을 연산한다. 이 연산 결과는 멀티플렉서(162)를 통과하여 데이터 입출력 회로(163)로부터 출력된다.
도 25나 도 26에 나타내는 회로 구성을 가지는 소자에 있어서, 전원 노이즈(noise) 등의 영향에 의해 레지스터(142, 160)의 데이터가 반전해버린 경우에는, 제어기(10)로부터 메모리에 대표 데이터를 재송신하면 좋다. 이와 같은 경우에 대비하여, 독출도 기입과 수반하지 않고, 대표 데이터를 송신하여 레지스터의 내용을 갱신하는 것만의 명령(대표 데이터 갱신 명령)을 명령 체계의 안에 준비해 두는 것도 할 수 있다.
<제1 및 제2 원리 양쪽 모두에 대응한 메모리의 데이터 입출력부의 실시예>
도 27은 전술한 본 발명의 제1 및 제2 원리 양쪽 모두에 대응한 메모리의 데이터 입출력부의 실시예를 나타내는 도이다. 도 27에 있어서, 도 25에 나타내는 구성 요소와 동일한 것에는 동일한 참조 번호를 붙이고 있다. 이 메모리는 제1 원리로 동작하는 동작 모드 1과 제2 원리로 동작하는 동작 모드 2의 2개의 모드를 갖는다.
수취 게이트(141)는 게이트 제어 1 신호, 모드 전환 신호 및 대표 데이터 수취 신호를 논리 연산 한 결과로 제어된다. 이 논리 연산은 인버터(167), AND 게이트(168, 169) 및 OR 게이트(170)로 구성된다. 레지스터(142)는 리셋 신호(또는, 리프레시 신호)와 모드 전환 신호를 인버터(171)와 AND 게이트(172)에서 논리 연산 한 신호로 리셋된다. 멀티플렉서(147)와 메모리 코어(20)와의 사이에는 게이트(173)와 래치(174)가 설치되어 있다. 게이트(173)는 OR 게이트(165)에서 모드 전환 신호와 게이트 제어 2 신호와의 OR 연산의 결과로 제어된다. 멀티플렉서(144)와 데이터 입출력 회로(145)와의 사이에는 게이트(175)와 래치(176)가 설치되어 있다. 게이트(175)는 OR 게이트(166)에서 모드 전환 신호와 게이트 제어 3 신호와의 OR 연산의 결과로 제어된다. 이러한 게이트(173)와 래치(174) 및 게이트(175)와 래치(176)는 동작 모드 1에 대응한 동작을 실현하기 위해서 설치되어 있다.
게이트 제어 1 신호, 게이트 제어 2 신호, 게이트 제어 3 신호, 데이터 입출력 제어 신호, 대표 데이터 수취 신호, 독출/기입 전환 제어 신호는, 예를 들면 메모리의 타이밍 제어기 등의 내부 회로(도시하지 않음)에서 생성되는 것이다. 또한, 모드 전환 신호는 모드 레지스터 등을 이용하여 외부로부터 설정해도 좋고, 퓨즈(fuse) 등을 이용하여 출하시에 프로그램을 해도 좋다. 또한, 명령 체계에 동작 모드 1과 동작 모드 2 양쪽 모두를 준비하면, 제어기로부터의 명령 지시에 의해 수시로 전환하여 동작시키는 것도 가능하다.
동작 모드 1에서는, 모드 전환 신호는 L 레벨로 설정된다. 또한, 멀티플렉서(144, 147)는 입력 B를 선택한다. 레지스터(142)는 리프레시 명령으로리셋된다. 동작 모드 1에서의 기입시의 게이트 제어 1 신호와 게이트 제어 2 신호와의 타이밍은 도 27에 나타내는 관계에 있다. 게이트 제어 2 신호를 ON으로 하고 게이트(173)를 접속 상태로 하여 기입 데이터를 래치(174)에 래치시킨 후에, 게이트 제어 1 신호를 ON으로 하여 수취 게이트(141)를 접속 상태로 하여 기입 데이터를 레지스터(142)에 기억시킨다. 또한, 독출시에는 게이트 제어 3 신호를 ON으로 하여 독출 데이터를 래치(176)에 래치시킨 후에, 게이트 제어 1 신호를 ON으로 하여 수취 게이트(141)를 접속 상태로 하여 독출 데이터를 레지스터(142)에 기억시킨다. 이와 같은 타이밍 관계에 있는 게이트 제어 1 신호로 수취 게이트(141)는 제어되고, 게이트 제어 2 신호로 게이트(173)는 제어되고, 게이트 제어 3 신호로 게이트(175)는 제어된다. 이러한 동작 모드 1의 동작은 도 20을 참조하여 설명한 회로 구성의 동작과 실질적으로 같다.
동작 모드 2에서는, 모드 전환 신호는 H 레벨로 설정된다. 수취 게이트(1)와 멀티플렉서(144, 147)는 대표 데이터 수취 신호의 상태에 따라 제어된다. 게이트(173, 175)는 접속 상태로 고정이다. 레지스터(142)는 리프레시 명령에서는 리셋되지 않는다. 이러한 동작 모드 2의 동작은 도 25를 참조하여 설명한 회로 구성의 동작과 같다.
전원 노이즈 등의 영향에 의해 레지스터(142)가 반전해 버릴 경우에는, 동작 모드 1에서는 레지스터(142)를 리셋하고, 동작 모드 2에서는 대표 데이터를 재수신하여 레지스터(142)의 내용을 갱신하면 좋다.
또한, 도 27에 나타내는 회로 구성에서는, 동작 모드 1에 있어서도 앞에서언급한 대표 데이터 갱신 명령과 같은 동작을 하는 레지스터 갱신 명령을 준비하면, 다음과 같은 대응도 가능하다. 동작 모드 1로 사용 중에 레지스터(142)의 내용을 갱신하는 경우에는, 제어기(10)로부터 레지스터 갱신 명령과 제어기의 레지스터에 보관 유지되어 있는 최신 데이터를 메모리에 그대로 송신한다. 메모리는 레지스터 갱신 명령을 수신하면 모드 전환 신호를 일시적으로 H로 하고, 또 대표 데이터 수취 신호를 발생한다. 이에 의해, 제어기와 메모리의 레지스터의 내용이 일치한다. 그 후, 모드 전환 신호와 대표 데이터 수취 신호를 L로 하고, 동작 모드 1로 돌아온다. 즉, 동작 모드 1에 있어서도 레지스터를 리셋하는 것이 아니고, 제어기의 레지스터의 내용을 그대로 메모리(142)의 레지스터에 전송하여 내용을 일치시킬 수가 있다.
또한, 제1 및 제2 원리 양쪽 모두에 대응한 제어기의 데이터 입출력부는 도 27에 나타내는 구성에 있어서 수취 게이트(141)와 레지스터(142)를 메모리의 몇 개 분만 준비하고, 스위치(140)와 수취 게이트(141)와의 사이, OR 게이트(170)와 수취 게이트(141)와의 사이, OR 게이트(172)와 레지스터(142)와의 사이 및 레지스터(142)의 출력에 각각 선택기(selector)를 설치한 회로 구성으로 된다.
이상, 본 발명의 실시의 형태 및 실시예를 설명했다. 본 발명은 상기 실시의 형태나 실시예로 한정되는 것은 아니고, 본 발명의 범위내에서 여러가지 다른 실시의 형태나 실시예가 가능하다.
이하, 상술한 본 발명의 일부를 정리하면 다음과 같다.
(부기 1) 제1 정보를 보관 유지하는 레지스터 및 외부로부터 제1 신호를 수신하여 제2 정보를 생성하는 정보 생성 회로를 구비하고, 상기 제1 신호는 상기 제1 정보의 반전을 나타내는 신호이고, 상기 정보 생성 회로는 상기 제1 정보 및 상기 제1 신호에 기초하여 상기 제2 정보를 생성하는 반도체 장치.
(부기 2) 제1 정보를 보관 유지하는 레지스터 및 제2 정보를 수신하여 제1 신호를 외부에 출력하는 정보 생성 회로를 구비하고, 상기 제1 신호는 상기 레지스터에 보관 유지된 상기 제1 정보와 상기 정보 생성 회로가 수신한 상기 제2 정보의 논리 연산에 기초하는 신호로, 제1 정보의 반전을 나타내는 신호인 반도체 장치.
(부기 3) 상기 정보 생성 회로는 상기 레지스터에 보관 유지된 상기 제1 정보를 상기 제2 정보로 개서하는 부기 1 또는 2 기재의 반도체 장치.
(부기 4) 상기 정보 생성 회로는 상기 제1 정보를 수신하여 상기 레지스터에 저장하고, 다음에 상기 제1 신호를 수신하여 상기 제2 정보를 생성하는 부기 1 기재의 반도체 장치.
(부기 5) 상기 정보 생성 회로는 상기 제1 정보를 수신하여 상기 레지스터에 저장하고, 다음에 상기 제2 정보를 수신하여 상기 제1 신호를 생성하는 부기 1 또는 2 기재의 반도체 장치.
(부기 6) 상기 레지스터는 리셋 신호로 리셋되는 부기 1 또는 2 기재의 반도체 장치.
(부기 7) 상기 반도체 장치는 메모리 어레이를 포함하는 반도체 장치이고, 상기 레지스터는 외부로부터 수신한 리프레시 지시에 기초하여 리셋되는 부기 1 또는 2 기재의 반도체 장치.
(부기 8) 상기 제1 신호는 펄스 신호인 부기 1 또는 2 기재의 반도체 장치.
(부기 9) 상기 정보 생성 회로는 상기 제1 신호를 래치하는 데이터 입력부를 가지고,
상기 반도체 장치는 외부로부터의 칩 선택 신호를 수신하는 회로를 가지고,
상기 데이터 입력부는 상기 칩 선택 신호에 기초하여 상기 제1 신호를 래치하는 부기 1 기재의 반도체 장치.
(부기 10) 상기 제1 신호는 펄스 신호이고, 상기 데이터 입력부는 이 펄스 신호의 에지를 검출하여 상기 제1 신호를 래치하는 부기 9 기재의 반도체 장치.
(부기 11) 상기 정보 생성 회로는 상기 제1 신호를 래치하는 데이터 입력부를 가지고,
상기 반도체 장치는 외부로부터 클럭을 수신하여 내부 클럭을 발생하는 클럭 발생부를 가지고,
상기 데이터 입력부는 상기 내부 클럭에 동기하여 상기 제1 신호를 래치하는 부기 1 기재의 반도체 장치.
(부기 12) 상기 정보 생성 회로는 상기 제1 신호를 래치하는 데이터 입력부를 가지고,
상기 반도체 장치는 외부로부터 클럭을 수신하여 내부 클럭을 발생하는 클럭 발생부를 가지고,
상기 데이터 입력부는 상기 내부 클럭을 기준으로 하는 소정의 기간에 있어서, 펄스 신호인 상기 제1 신호의 에지를 검출하여 래치하는 부기 1 기재의 반도체장치.
(부기 13) 상기 반도체 장치는 반도체 기억 장치를 제어하는 제어기이고, 상기 반도체 기억 장치에 리프레시 지시에의 발행에 관련하고, 상기 레지스터를 리셋하는 부기 1 기재의 반도체 장치.
(부기 14) 상기 반도체 장치는 복수의 반도체 장치와 선택적으로 접속 가능한 인터페이스를 가지고, 상기 레지스터는 상기 복수의 반도체 장치마다 설치되어 있는 부기 1 또는 2 기재의 반도체 장치.
(부기 15) 상기 정보 생성 회로는 상기 제1 정보와 상기 제1 신호와의 배타적 논리합 연산을 하여 상기 제2 정보를 생성하는 부기 1 기재의 반도체 장치.
(부기 16) 상기 정보 생성 회로는 상기 제1 정보와 상기 제2 정보와의 배타적 논리합 연산을 하여 상기 제1 신호를 생성하는 부기 2 기재의 반도체 장치.
(부기 17) 부기 1 기재의 반도체 장치와 부기 2 기재의 반도체 장치를 갖는 시스템으로, 각각의 레지스터는 동일한 제1 신호를 보관 유지하는 시스템.
(부기 18) 제1 정보를 레지스터에 보관 유지하는 스텝과,
외부로부터 수신한 제1 신호와 상기 제1 정보와에 기초하여 제2 정보를 생성하여 소정의 신호선에 송출하는 스텝을 가지고,
상기 제1 신호는 상기 제1 정보의 반전을 나타내는 신호인 정보 처리 방법.
(부기 19) 제1 정보를 레지스터에 보관 유지하는 스텝과,
수신한 제2 정보와 상기 제1 정보의 논리 연산을 하여 제1 신호를 생성하여 외부에 송신하는 스텝을 가지고,
상기 제1 신호는 제1 정보의 반전을 나타내는 신호인 정보 처리 방법.
(부기 20) 상기 정보 처리 방법은, 또한 상기 레지스터에 보관 유지된 상기 제1 정보를 상기 제2 정보로 개서하는 부기 18 또는 19 기재의 정보 처리 방법.