KR100901235B1 - 레지스터 파일 회로 내의 기록-후-판독 지연 감소 방법 및레지스터 파일 어레이 - Google Patents

레지스터 파일 회로 내의 기록-후-판독 지연 감소 방법 및레지스터 파일 어레이 Download PDF

Info

Publication number
KR100901235B1
KR100901235B1 KR1020077002554A KR20077002554A KR100901235B1 KR 100901235 B1 KR100901235 B1 KR 100901235B1 KR 1020077002554 A KR1020077002554 A KR 1020077002554A KR 20077002554 A KR20077002554 A KR 20077002554A KR 100901235 B1 KR100901235 B1 KR 100901235B1
Authority
KR
South Korea
Prior art keywords
cell
detection
detection cell
register file
write
Prior art date
Application number
KR1020077002554A
Other languages
English (en)
Other versions
KR20070042541A (ko
Inventor
삼 갯-샹 추
피터 주에르겐 클림
마이클 주 혁 리
호세 앤젤 파레드스
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20070042541A publication Critical patent/KR20070042541A/ko
Application granted granted Critical
Publication of KR100901235B1 publication Critical patent/KR100901235B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • 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 

Abstract

검출 셀(14)을 사용하여 기록-후-판독 블로킹을 통합시키는 레지스터 파일 장치 및 방법은 고성능 레지스터 파일에서 개선된 판독 액세스 시간을 제공한다. 레지스터 파일 셀과 동일하며 레지스터 파일 어레이에 배치된 하나 이상의 검출 셀(14)은 활성 검출 셀(14)의 상태 변화를 검출함으로써 기록이 완료되었을 때, 검출 셀(14)이 각각의 기록시에 값을 교번하거나 기록 및 이어서 검출 후에 특정 값을 변경하도록 구성함으로써 레지스터 파일 내의 판독 동작을 제어하는 데 사용된다. 상태 변화 검출은 판독 스트로브의 리딩 에지를 지연시키는 데 이용되거나, 액세스 제어 로직(10)에서 다음 판독 스트로브의 발생을 지연시키는 데 사용될 수 있다. 따라서 레지스터 파일은 각각의 애플리케이션용으로 튜닝될 필요가 없으며 전압 및 클록 스큐 변동에 따라 트래킹하는 스케일 가능한 설계를 제공한다.

Description

레지스터 파일 회로 내의 기록-후-판독 지연 감소 방법 및 레지스터 파일 어레이{REGISTER FILE APPARATUS AND METHOD INCORPORATING READ-AFTER-WRITE BLOCKING USING DETECTION CELLS}
관련 출원에 대한 상호 참조
본 특허 출원은 동일 발명자에 의해 본 출원과 함께 동시에 출원되고 동일 양수인에게 양도되어 계류중인 미국 특허 출원 번호 제 10/922,271 호 "DYNAMIC-STATIC LOGICAL CONTROL ELEMENT FOR SIGNALING AN INTERVAL BETWEEN THE END OF A CONTROL SIGNAL AND A LOGICAL EVALUATION"을 참조한다. 이상 참조된 출원의 명세서는 본 명세서에서 참조로써 인용된다.
본 발명은 일반적으로 레지스터 파일 액세스 제어 회로에 관한 것으로, 보다 구체적으로, 자동 기록-후-판독 블로킹(automatic read-to-write blocking)을 갖는 레지스터 파일에 관한 것이다.
레지스터 파일은 일반적으로 디지털 회로, 구체적으로 느린 액세스 지연과 함께 상당히 적은 데이터량에 대한 빠른 액세스가 필요한 프로세싱 시스템 부품에 서 블록을 구성하는 데 사용된다. 레지스터 파일 사용의 예는 프로세서 내의 레지스터 어레이, 캐시 메모리 내의 캐시 디렉터리를 포함한다.
SRAM 셀과 달리, 레지스터 파일 셀은 흔히 동일한 클록 사이클 내에서 기록된 후 판독된다. 레지스터 파일이 머신 상태 정보를 저장하는 프로세서 코어 소자에 있어서, 레지스터 파일은 거의 항상 동일한 클록 사이클 내에서 기록하자마자 즉시 판독된다. 이러한 레지스터 파일은 기록에서 판독까지의 지연이 정교하게 튜닝되어, 데이터의 판독이 잘못되게 하거나 불안정해지게 할 수 있는 클록 스큐 변동, 전압 변동 및 다른 요인 내에서 가능한 최상의 성능을 제공하는 것으로서 프로세서 속도를 결정하는 중요한 경로에 존재한다.
레지스터 파일 기록-후-판독 타이밍에 대한 전형적인 설계 마진은 기록 사이클이 완료될 때까지 대기함으로써 클록 사이클 시간의 30% 까지 소비할 수 있다. 그러나 이러한 마진은 상술한 동작 변수의 전형적인 범위 내에서 및 레지스터 파일 셀 및 제어 로직을 구현하는 데 사용되는 현재의 회로에 필요하다.
따라서, 값 및 상태 정보의 저장을 위한 레지스터 파일을 사용하여 레지스터 파일 성능 및 프로세스의 성능을 개선하기 위해 기록-후-판독 마진을 더 감소시키는 것이 바람직할 것이다.
본 발명의 측면은 바람직한 레지스터 파일 성능 및 프로세서 성능을 달성할 수 있는 레지스터 파일 장치 및 이 레지스터 파일 장치를 작동시키는 방법을 포함한다. 레지스터 파일 내의 하나 이상의 셀은 기록 사이클의 마지막이 발생한 경우를 결정하는 검출 메커니즘으로서 전용으로 사용된다. 하나의 셀은 전체 어레이에 대해 사용되고, 하나의 셀은 레지스터 파일 어레이 내의 각 행에 대해 할당되거나, 셀들은 행 그룹마다 할당될 수 있다.
검출 셀들이 접속되어, 셀의 값은 각각의 기록 동작시에 교번하고, 활성 검출 셀의 값은 활성 검출 셀이 상태를 변경할 때까지 레지스터 파일 행에 대한 판독을 막는 로직을 제어하는 데 사용될 수 있다. 이와 달리, 검출 셀은 기록 사이클의 개시 이전에 제 1 상태가 설정되고 이어서 검출 셀이 그 기록에 의해 반대 상태에 대응하는 값으로 기록되도록 구성될 수 있다.
검출 셀 상태 변화의 표시는 기록의 영향을 받은 저장 셀에 대한 다음 판독 스트로브의 리딩 에지를 절단하는 데 사용되거나, 액세스 제어 로직 내에서 영향을 받은 셀에 대한 판독을 발생시키는 판독 스트로브의 생성을 지연시킬 수 있다.
본 발명의 일 측면은 레지스터 파일 회로 내의 기록-후-판독 지연을 감소시키는 방법을 제공한다. 이 방법은, 레지스터 파일 회로 내의 레지스터에 하나 이상의 값을 기록하는 단계와, 실질적으로 기록과 동시에, 레지스터 파일 회로 내의 적어도 하나의 전용 검출 셀의 상태 변화를 트리거링하는 단계와, 기록 시작시에 및 블로킹이 중지될 때까지 레지스터에 대한 판독 액세스를 블로킹하는 단계와, 트리거링의 결과로서 적어도 하나의 검출 셀이 상태를 변경하였던 경우를 검출하는 단계와, 블로킹을 중지하는 단계를 포함함으로써, 레지스터가 판독될 수 있다.
본 발명의 다른 측면은 로직 행 및 열로 정렬되어 비트 값을 저장하는 복수의 저장 셀과, 복수의 저장 셀의 행에 대한 기록에 응답하여 상태를 변화시키도록 구성된 적어도 하나의 검출 셀과, 적어도 하나의 검출 셀의 상태 변화를 검출함으로써 적어도 하나의 검출 셀의 출력 상태가 변할 때까지 행에 대한 판독 액세스를 막는 클록 조종 로직을 포함하는 레지스터 파일 어레이를 제공한다.
본 발명의 다른 측면은 로직 행 및 열로 정렬되어 비트 값을 저장하는 복수의 저장 셀과, 복수의 저장 셀의 행에 대한 기록에 응답하여 상태를 변화시키도록 구성된 적어도 하나의 검출 셀 -적어도 하나의 검출 셀은 스캔 래치 및 검출 저장 셀을 포함하는 스캐닝 가능한 저장 셀이고, 스캔 래치의 반전 출력단은 상기 검출 저장 셀의 입력단에 결합되고 스캔 래치의 입력단은 검출 저장 셀의 출력단에 결합되며, 스캔 래치의 스캔 클록 입력단은 레지스터 파일 어레이의 기록 스트로브에 결합되고 기록 스트로브의 디어서팅 상태에 응답함으로써, 적어도 하나의 검출 셀의 상태가 기록 사이에 저장됨- 과, 적어도 하나의 검출 셀의 상태 변화를 검출함으로써 적어도 하나의 검출 셀의 출력 상태가 변할 때까지 행에 대한 판독 액세스를 막는 클록 조종 로직 -클록 조종 로직은 스캔 래치의 검출 출력단 및 검출 저장 셀의 출력단에 결합되고, 막음은 스캔 래치의 검출 출력단 및 검출 저장 셀의 출력단이 서로 다른 로직 값에 존재할 때까지 유지됨- 을 포함하는 레지스터 파일 어레이를 제공한다.
본 발명의 상술한 특징 및 다른 특징은 첨부하는 도면에 도시된 바와 같이, 본 발명의 바람직한 실시예에 대한 다음 설명으로부터 자명해질 것이다.
본 발명의 실시예는 첨부하는 도면을 예로써만 참조하여 이하에 보다 상세히 설명된다.
도 1은 본 발명의 실시예에 따른 레지스터 파일의 블록도이다.
도 2a는 도 1의 레지스터 파일에서 사용될 수 있는 검출 셀 및 관련된 제어 로직의 블록도이다.
도 2b는 도 1의 레지스터 파일에서 사용될 수 있는 다른 검출 셀 및 관련된 제어 로직의 블록도이다.
도 3은 도 1의 레지스터 파일 내의 신호 관계를 도시하는 타이밍도이다.
도 4는 본 발명의 다른 실시예에 따라, 도 1의 레지스터 파일 내의 제어 로직을 검출하는 블록도이다.
도 5는 도 2b의 회로에서 사용될 수 있는 동적 제어 로직을 상세히 도시하는 개략도이다.
도 6은 도 2a의 회로에서 사용될 수 있는 동적 제어 로직을 상세히 도시하는 개략도이다.
이제 도면을 참조하면, 구체적으로 도 1을 참조하면, 본 발명에 따른 방법 및 장치를 구현하는 레지스터 파일 회로의 블록도가 도시된다.
저장 셀(12) 어레이는 도면을 통해 행들로 정렬된 워드를 위한 저장부를 제 공한다. 워드 내의 각 비트는 도면에서 상하로 연속하는 열을 형성한다. 저장 셀(12)의 물리적 배치는 일반적으로 도시된 배치를 모방하지만, 예컨대, 행이 2개 이상의 유닛으로 분할되는 것처럼 변경될 수 있는데, 이 경우에 행의 일부의 배치는 도면의 그 부분을 모방할 수 있지만, 레지스터 파일의 전체 배치는 분할될 수 있다. 저장 셀(12)은 레지스터 파일 내에서 레지스터 (행)에 대한 판독 및 기록 기능을 수행하기 위해, 각각의 저장 셀(12)을 제어하는 스트로브 신호를 제공하는 제어 로직(10)에 결합된다. 특정 레지스터 파일 설계에서 행과 열은 서로 교환될 수 있으며, 명세서 및 특허청구범위에서 용어 "행"은 임의의 비트 폭일 수 있는 각각의 저장 "워드"에 대응하는 저장 셀 그룹을 나타내는 데 이용될 수 있다는 점을 알아야 한다. 제어 로직(10)도 저장 셀(12) 및 검출 셀(14)에 대한 특정 기능/스캔 클록 관계를 생성함으로써 레지스터 파일 회로의 성능을 테스트하는 스캔 로직(16)에 결합될 수 있다. 데이터 입/출력 버퍼/래치(18)는 저장 셀(12)로부터의 데이터의 입/출력용으로 제공한다.
도 1에 개시된 레지스터 파일에 있어서 고유한 점은 하나 이상의 검출 셀(14)(및/또는 검출 셀 14A 및 14Z)을 추가한다는 것이다. 이 검출 셀은 주어진 기록 동작에 관련된 모든 저장 셀(12)이 저장 셀(12)에 기록된 데이터에 의해 지시받은 상태를 나타내었던 경우를 표시하는 신호를 제공하는 데 사용될 수 있다. 검출은 저장 셀(12)과 일치하는 특성을 갖는 셀을 사용함으로써 수행되어, 클록 스큐, 전원 전압, 온도 변동 및 프로세스 변동과 같은 동작 변수에 따라, 기록 스트로브와 저장 셀(12) 내의 실제 데이터 변화 사이의 지연이 검출 셀(14)(및/또는 14A 및 14Z) 내의 상태 변화를 산출하는 지연만큼 일치될 수 있다.
검출 셀의 개수 및 위치는 본 발명의 실시예에 따라 변할 수 있다. 검출 셀(14)은 검출 셀이 각각의 행 용으로 포함되고 각각의 행의 종단에 배치되는 물리적 및 논리적 배열을 나타낸다. 용어 "행"과 함께 사용되는 용어 "종단"은 클록 (스트로브) 분산 네트워크에 관하여 멀리 떨어져 있는 종단을 나타내는 것임을 알아야 한다. 바꾸어 말하면, 행 내의 종단 셀은 스트로브 변환을 수신하는 최종 셀이다. 검출 셀(14)을 사용함으로써 각각의 행에, 그 행에 대한 기록이 그 행에 배치된 임의의 저장 셀의 상태 변화를 완료해야만 했던 경우를 나타낼 수 있는 신호가 제공된다. 이와 달리, 검출 셀의 열은 행의 종단으로부터 떨어져 있는 다른 위치에 배치될 수 있는데, 이는 검출 셀 상태 변화의 지연을 튜닝하여 블로킹 지연을 판독하는 데 특히 유용하다. 모든 다른 행마다 검출 셀(14)을 제공하는 것과 같은 다른 다수의 검출 셀 배치도 가능하다.
또는, 단일 검출 셀(14A 또는 14Z)이 이용되어 기록 완료를 나타내는 신호를 제공할 수 있다. (또는 분할 어레이에 있어서, 어레이의 각 부분에 단일 셀이 사용될 수 있다). 검출 셀(14Z)은 어레이 내의 최종 행의 종단에 대응하는 단일 셀의 위치를 나타내는데, 여기서, "최종"은 이상의 "종단"과 유사한 방식으로 정의되어, 열과 행 양자에 대한 클록 분산의 멀리 떨어진 종단에 있는 셀을 나타낸다. 따라서, 검출 셀(14Z)은 기록에 의해 관련된 모든 다른 셀이 그들의 상태 변화를 완료해야만 한다는 표시를 제공한다. 상태 변화가 발생하였음을 보장하기 위해, 제어 로직(10)은 기록이 발생한 후에 판독을 인에이블링하기 전에 신뢰도 마진을 제공하는 일부 지연을 제공한다. 또한, 검출 셀(14A)과 같은 다른 장소 내의 검출 셀 위치는 다른 셀이 검출 셀(14A)의 상태 변화보다 늦게 발생하는 상태 변화를 가지는 것으로 예측된다는 사실을 보상하는 기록 완료 신호에 지연이 추가되는 것을 필요로 한다.
일반적으로, 본 발명은 저장 셀(12) 내의 데이터가 안정적이라는 확신이 있을 때까지 기록 스트로브 사이클의 종단보다 먼저 발생하는 판독은 블로킹되거나 생성될 수 없도록, 기록 완료 표시를 제공하는 하나 이상의 검출 셀을 포함하는 레지스터 파일 회로에 관한 것이다. 검출 셀(14,14Z)은 이러한 표시를 직접 제공할 수 있는데, 여기서 제어 회로(10)만이 신뢰도 마진에 필요한 이러한 추가 지연을 포함한다. 또는, 검출 셀(14A)과 같은 검출 셀은 신뢰도 마진이 획득될 수 있도록 제어 로직 또는 표시(들)의 분산에 의해 제어 로직에 추가되는 지연으로 조기 표시를 제공할 수 있다. 상술한 동작의 이점은 기록 완료가 알려지기 위해 판독 스트로브 타이밍 및 스큐가 제어될 필요가 없으며, 이는 전형적으로 종래 기술에서 기록 스트로브가 디어서트될(de-asserted) 때까지 판독 스트로브를 지연함으로써 달성된다는 것이다. 일부 동적 회로 설계에서, 고정 마진은 기록 스트로브의 시작 이후에 추가되고 다음 판독을 인에이블링하는 데 사용된다.
본 발명의 기술을 적용한 결과로 레지스터 파일 회로의 처리량으로 보아 성능이 향상되었다. 또한, 이 회로는 동작 파라미터에 걸쳐 더 나은 지연 스케일링을 달성하여, 상술한 마진이 광범위하게 평가될 필요가 없는 설계 및 동작 주파수 증가를 허용한다. 다른 결과는 기록 사이클에 기인한 상태 변화가 완료될 때까지 동일한 행에 대한 판독 스트로브가 전혀 생성되지 않도록 비동기 판독 동작을 제공한다.
이제 도 2a를 참조하면, 예시적인 제어 로직(10A)에 접속된 검출 셀(24A)의 예는 도 1의 제어 로직(10) 회로에서 사용될 수 있다. 검출 셀(24A)은 전송 게이트(TG1,TG2)(또는 하나의 전달 트랜지스터(pass transistor)를 사용하는 전달 게이트)를 통해 입력단에 저장부가 있는 버퍼(B1)에 결합된 2개의 입력단을 갖는 변경된 저장 셀이다. 하나의 전송 게이트(TG1) 입력단은 로직 하이 값에 졉속되고 다른 (TG2의) 입력단은 로직 로우 값에 접속된다. Write Row가 활성(로직 하이)이 되었을 때, 저장 셀(24A)은 전송 게이트(TG2)의 활성 로우 이네이블 입력단과 Write Row 신호의 접속 때문에 이미 로직 로우 상태에 있었으며, Write Row가 어서트되고 검출 셀(24A)의 고유한 클록-투-상태-변화(clock-to-state-change) 지연이 경과된 후에만 로직 하이 상태로 변환한다. 검출 셀(24A)의 로직 하이 상태는 Write Row 신호의 어서트 시에 전송 게이트(TG1)의 활성화에 의해 설정된다.
검출 셀(24A)의 출력은 선택적 지연(D2)을 통해 제어 로직(10A)에 제공되는데, 이는 상술한 바와 같이, 검출 셀(24A)의 위치를 보상하도록 튜닝될 수 있으며 제어 로직(10A)으로의 경로 지연 및 제어 로직(10A) 내부 지연과 관련하여 바람직한 신뢰도 마진도 제공할 수 있다. 제어 로직(10A) 내에서, 로직 AND 게이트(27)는 행 판독 스트로브 신호 Row Read Stb가 저장 셀(12)의 판독 입력단에 공급되는 Read Row 신호를 산출하도록 권한을 주므로, 검출 셀(24A)로부터의 기록 상태 변화 발생 표시 이전에 행 저장 셀(12)에 어떠한 판독도 어서트될 수 없다. AND 게이 트(27)의 입력단에서 Write Comp 신호는 조합형 정적 및 동적 함수를 갖는 로직 회로에 의해 공급된다. 동적 AND 게이트 내에 통합된 정적 함수를 갖는 특정 회로는 이하 도 6 및 관련 기술에서 상세히 설명될 것이다. 인버터(I1)로 나타낸 동적 도미노 회로의 합산 노드(summing node)는 정적 로직 NAND 게이트(29)의 입력단에 접속된다. 인버터(I1)의 사전충전 입력단은 Write Row 신호에 접속되어, 행에 대한 기록의 개시 이전에, 인버터(I1)의 출력은 로직 하이 상태에 존재한다. 따라서, Write Row 신호가 어서트되면, 로직 NAND 게이트(29)의 양 입력단은 검출 셀(24A)의 고유한 클록-투-상태-변화 지연이 지연(D2)에 기인하는 임의의 추가 지연 가산을 경과할 때까지 AND 게이트(27)를 통해 Row Read Stb 신호를 디스에이블링하는 로직 하이 값을 나타낸다.
검출 셀(24A)의 고유한 클록-투-상태-변화 지연이 지연(D2)에 기인하는 임의의 추가 지연 가산을 경과하였으면, 인버터(I1)는 평가하여, NAND 게이트(29)의 입력단에 로직 하이 값을 제공한다. 이어서 NAND 게이트(29)의 출력단은 로직 하이 상태를 나타내어, AND 게이트(27)를 통해 Row Read Stb 신호를 인에이블링할 것이다. 인버터(I1)는 Write Row 신호가 디어서트될 때까지 계속해서 NAND 게이트(29)의 입력단에 로직 로우 값을 제공할 것이다. Write Row가 디어서트되면, 인버터(I1)는 다음 평가를 위해 사전충전되지만, Write Row 신호와 NAND 게이트(29)의 접속은 NAND 게이트(29)의 출력단이 행에 대한 다음 기록이 시작할 때까지 계속해서 Row Read Stb 신호를 인에이블링할 것임을 보장함으로써, Read Row 사이클이 Write Row 신호의 디어서팅에 의해 절단되는 것을 막는다.
도면은 개별 제어 로직(10A)에 존재하는 게이트 함수를 (도 1의 제어 로직(10)의 일부로서) 나타내지만, 검출 셀(14)의 분산이 행 라인을 따라 출력하면서, 게이트 함수의 물리적 위치가 각각의 행 셀에 또는 그 행에 배치된 하나의 게이트에 의해 국부적으로 제공될 수 있음을 알아야 한다.
이제 도 2b를 참조하면, 다른 검출 셀 회로 및 관련 제어 로직(10B)이 도시되는데, 이는 스캐닝 가능한 아키텍처를 갖는 레지스터 파일 회로에서 특히 이롭다. 도시된 회로에서, 검출 셀(24B)은 보통 스캔 테스트를 위해 검출 셀(24B)에 값을 저장하는 데 사용되는 스캔 래치(22)에 접속된다. 그러나, 검출 셀(24B)에 부착된 스캔 래치(22)는 함수(연산) 모드에 존재하는 경우에 다른 용도로 사용된다. Write Row 신호는 검출 셀(24B)(표준 저장 셀임)의 인에이블 입력단 및 인버터(I2)를 통해 스캔 래치(22)에 제공되는 역버전에 접속된다. 스캔 래치(22)의 반전 출력은 저장 셀(24B)의 기록 데이터 입력단에 제공되어, 검출 셀(24B)에 저장된 로직 값은 각각의 기록 스트로브에서 교번한다. 스캔 래치(22) 내의 값은 Write Row 신호가 디어서트될 때까지 갱신되지 않으므로, 초기에 스캔 래치(22) 및 저장 셀(24B)의 값은 동일할 것이며, Write Row 신호가 어서트되고 검출 셀(24B)의 고유한 클록-투-상태-변화 지연이 경과할 때까지 계속 동일할 것이다.
제어 로직(10B)은 검출 셀(24B) 및 스캔 래치(22)의 출력이 서로 다른 경우를 검출하여, 도 2a의 회로에 대해 상술한 바와 같이 검출 셀(24B) 출력 변화를 지연시키는 지연(D2)만큼 선택적으로 지연되었다는 표시를 제공함으로써 동적 XNOR 게이트 및 정적 NAND 게이트(29)를 통해 기록 완료(WriteComp) 신호를 제공한다. 통합형 정적 NAND 함수를 갖는 동적 XNOR 회로는 이하 도 5 및 관련 기술에서 상세히 나타낸다.
동적 XNOR 게이트(25)의 사전설정 입력은 XNOR 게이트(25)의 출력이 Write Row 신호가 어서트된 후 및 선택적으로 지연된 검출 셀(24B)의 출력이 기록 사이클에 기인하여 상태를 변경하기 전을 제외하고는 사전충전 상태에 남아있도록 Write Row 신호에 접속된다. Write Row 신호가 어서트되면, NAND 게이트(29)의 양 입력단은 로직 하이 값을 나타내는데, XNOR 게이트(25)의 입력단은 이때와 동일하므로, XNOR 게이트(25)의 평가를 막는다. 따라서 NAND 게이트(29)의 출력단은 로직 로우 레벨에 존재하여, 기록 사이클에 기인하는 상태 변화가 발생하기 전에 도달하였던 임의의 Row Read Stb 어서팅을 막을 것이다. 검출 셀(24B)의 고유한 클록-투-상태-변화 지연이 지연(D2)에 기인하는 임의의 추가 지연 가산을 경과하면, 동적 XNOR 게이트(25)는 평가하여, XMOR 게이트(29)에 접속되는 NAND 게이트(29)의 입력단에 로직 로우 값을 제공한다. 이어서 AND 게이트(29)의 출력단은 로직 하이 상태를 나타내어, AND 게이트(27)를 통해 Row Read Stb 신호를 인에이블링할 것이다. 동적 XNOR 게이트(25)는 Write Row 신호가 디어서트되고 XNOR 게이트(25)가 사전충전될 때까지 계속해서 NAND 게이트(29)의 입력단에 로직 로우 값을 제공할 것이다. NAND 게이트(29)의 다른 입력단에 Write Row 신호가 공급되어, NAND 게이트(29)의 출력은 행에 대한 다음 기록 사이클까지 계속해서 홀딩될 수 있는데, 이는 스캔 래치(22)의 출력이 상태를 변경할 때 Write Row 신호의 디어서팅에 의해 Read Row 사이클이 절단되는 것을 막는다.
이제 도 3을 참조하면, 도 1의 레지스터 파일 회로 내에서 도 2b의 회로의 동작을 나타내는 타이밍도가 도시된다. 도 2a의 회로에 있어서, 도 2a의 검출 셀의 초기값은 사이클 사이에서 교번하지 않으므로, 각 사이클마다의 동작은 도 3에 도시된 제 1 사이클(좌측)과 유사하다. WriteRow 신호 수신시에 및 수신 이전에, 검출 셀 출력(DetStorageCell)은 스캔 래치 출력(DetScanLatch)과 일치하고 WriteComp 신호는 로우이다. 검출 셀(24B)의 고유한 클록-투-상태-변화 지연이 경과하였으면, (스캔 래치(22) 반전 출력과 검출 셀(24B) 입력의 접속 때문에) DetStorageCell은 DetScanLatch의 값과 반대인 값을 나타내고, XOR 게이트(25)는 로직 하이 값으로 변환하여, 행 기록 스트로브 RowRead가 저장 셀(12)에 대한 행 판독 스트로브를 구동하는 ReadRow 신호를 공급하도록 권한을 주는 WriteComp 신호를 공급한다. 따라서, 도 3으로부터 도시된 바와 같이, ReadRow 신호는 지연이 만료할 때까지 RowRead 신호로부터 절단된다. 또한, 도면에는 튜닝된 지연에 추가되는 셀 지연(즉, 상태 변화 지연에 대한 고유한 검출 셀 기록 스트로브) 공급이 도시되는데, 이는 신뢰도 마진과, 기록 동작시에 최종 셀 변환이 보장되지 않는 검출 셀을 튜닝할 필요가 있는 임의의 지연을 포함한다.
이제 도 4를 참조하면, 도 1의 레지스터 파일 회로 내에서 이용될 수 있는 다른 제어 로직(10C) 형태의 다른 블로킹 메커니즘이 도시된다. 제어 로직(10C)은 행에 대한 기록 액세스가 검출 셀(들)(14)이 이전 기록 때문에 상태 변화가 발생하였음을 검출할 때까지 블로킹되는 것을 필요로 하는지 아닌지 여부를 판단하기 위해 다음 판독 어드레스와 이전의 기록 어드레스를 비교하는 어드레스 유닛(44)에서 Write Comp 신호(들)를 수신한다. 만일 필요로 하지 않으면, Row Read Stb 신호의 발생은 WriteComp 표시가 수신될 때까지 보류된다. 이 때, 스트로브 발생기/라인 버퍼(42)는 적절한 판독 스트로브를 제공한다.
이제 도 5를 참조하면, 도 2b의 제어 로직(10B)을 구현하는 데 이용될 수 있는 특정 회로가 도시된다. 도시된 회로는 NAND 함수를 제공하기 위해 표준 동적 XOR 게이트 위에 소수의 디바이스만 추가되는 것을 필요로 하므로 동적 XNOR(25)와 NAND(29)의 조합을 구현한다는 점에서 이점이 있다. 로직 배타적-NOR 함수는 2개의 N-디바이스 트리에 의해 내부 합산 노드(Node0)에 제공되는데, 트랜지스터(N60 및 N61)는 제 1 트리를 형성하고 트랜지스터(N62 및 N63)는 제 2 트리를 형성한다. 트랜지스터(N61 및 N63)의 게이트는 각각 스캔 래치(22) 출력 및 인버터(I61)에 의해 제공된 보수(complement)에 의해 구동된다. 이와 유사하게, 트랜지스터(N60 및 N62)는 검출 셀(24B) 출력 및 인버터(I60)에 의해 제공된 보수에 의해 구동된다. 결과 함수는 Node0에서, 동적 회로 함수를 완성하는 사전충전 트랜지스터(P60) 및 풋 트랜지스터(foot transistor)(N64)를 갖는 동적 배타적-NOR 이다. 하프-래치(HL60)는 평가가 발생하기 이전 및 이후 모두에 있어서 사전충전 신호가 없을 경우에도 내부 노드(Node0)의 상태가 유지될 것임을 준비한다. 출력 풋 트랜지스터(N65) 및 출력 풀-업 트랜지스터(P61)가 없다면, 인버터(I62)는 내부 노드 신호(Node0)를 변환하여 출력단(Write Comp1)에 종래의 배타적-OR 함수를 제공할 것이다. /Precharge 입력(이 경우에 Write Row) 신호가 로직 로우 상태(기록 스트로브가 존재하지 않는 동안)에 있으면, 풋 트랜지스터(N65)가 턴오프되어, 인버 터(I62)를 디스에이블링함으로써 배타적-OR의 작동을 디스에이블링한다. 또한, 트랜지스터(P61)가 턴온되어, /Precharge 입력이 활성인 동안 회로의 출력이 로직 하이 값으로 포싱(forced)되게 한다(따라서 인버터(I62)를 통해 풀-업 출력을 단락시키는 것을 막기 위해 트랜지스터(N65)가 필요함). 상술한 회로의 동작은 전형적인 동적 로직 게이트에서, 사전충전된 상태로부터의 출력 상태 변화가 내부 합산 노드의 평가 상태를 반영한다는 점에서 반직관적이다. 그러나, 도시된 회로에서, 출력 상태 변화는 /Precharge 신호의 디어써팅시에 발생하고, 그 회로가 평가될 때까지 남아있다. 따라서, 도시된 회로는 본 발명의 동작에 특히 적합하며, 행 기록의 개시와 고유한 검출 셀 지연의 만료에 기인하는 제어 로직 입력단(들)에서의 변화 사이의 시간을 나타내는 신호를 생성하는 것이 바람직하다.
이제 도 6을 참조하면, 도 2a의 제어 로직(10A)을 구현하는 데 이용될 수 있는 특정 회로가 도시된다. 도시된 회로는 도 5의 회로를 단순화한 것이므로 차이점만 설명될 것이다. 도시된 회로는 도 2a의 회로의 동적 인버터(I1)와 NAND 게이트(29)의 조합형 동작을 제공한다. 검출 셀 출력만이 사전충전 신호로서 사용되는 Write Row 신호와 함께 Write Comp1 신호를 생성하는 상태 변화를 제공하는 데 필요하므로, 평가 트리 및 내부 합산 노드가 검출 셀 출력의 동적-로직 반전을 나타내는 데에는 트랜지스터(N62)만 필요하다(즉, 회로가 사전충전 상태에 존재하지 않고 검출 셀 출력이 로직 하이 상태에 존재하는 경우에만 합산 노드는 로직 로우 값에 존재할 것임). 회로의 균형은 NAND 입력단 중 하나가 /Precharge 신호인 내부 합산 노드의 상태에 부과되는 로직 NAND 함수와 함께 도 5의 회로에 대해 설명한 바와 같이 작동한다. /Precharge 신호가 디어서트되면, 내부 합산 노드의 사전충전된 상태는 (사전충전 사이클 동안 트랜지스터(P61)에 의해 홀딩된 후에) 도시된 회로의 출력이 로직 로우 상태로 변환하게 할 것이다. 검출 셀 출력이 로직 하이 상태로 변환하면, 도시된 회로의 출력은 로직 하이 상태로 리턴할 것이다.
본 발명은 바람직한 실시예를 참조하여 구체적으로 도시되고 설명되었지만, 당업자는 본 발명의 사상 및 범주를 벗어나지 않으면서 형식상 및 상세히 상술한 변경 및 다른 변경이 이루어질 수 있음을 알 것이다.

Claims (10)

  1. 레지스터 파일 회로에서 기록-후-판독(read-after-write) 지연을 감소시키는 방법에 있어서,
    상기 레지스터 파일 회로 내의 레지스터에 하나 이상의 값을 기록하는 단계와,
    상기 기록과 동시에, 상기 레지스터 파일 회로 내의 적어도 하나의 전용 검출 셀의 상태 변화를 트리거링하는 단계와,
    상기 기록 시작시에 및 블로킹이 중지될 때까지 상기 레지스터에 대한 판독 액세스를 블로킹하는 단계와,
    상기 트리거링하는 단계의 결과로서 상기 적어도 하나의 검출 셀이 상태를 변경하였던 경우를 검출하는 단계와,
    상기 블로킹을 중지하는 단계를 포함함으로써, 상기 레지스터가 판독될 수 있되,
    상기 트리거링하는 단계는 상기 적어도 하나의 검출 셀의 현재 상태의 반대 상태에 대응하는 값을 상기 적어도 하나의 검출 셀에 기록하는 단계를 포함하고,
    상기 적어도 하나의 검출 셀은 스캐닝 가능한 레지스터 파일 셀이고,
    상기 방법은 상기 기록하는 단계 이전에 상기 스캐닝 가능한 레지스터 파일 셀의 스캔 래치에 상기 현재 상태를 저장하는 단계를 더 포함하며,
    상기 트리거링하는 단계는 상기 기록하는 단계에 응답하여 상기 적어도 하나의 검출 셀에 스캔 래치 현재 값의 보수(complement)를 기록하는 단계를 포함하는
    레지스터 파일 회로 내의 기록-후-판독 지연 감소 방법.
  2. 제 1 항에 있어서,
    상기 트리거링하는 단계는 상기 적어도 하나의 검출 셀에 사전결정된 값을 기록하는 단계를 포함하고,
    상기 방법은, 상기 기록하는 단계 이전에 상기 적어도 하나의 검출 셀을 상기 적어도 하나의 검출 셀에 대한 상기 사전결정된 값과 반대인 값으로 재설정하는 단계를 더 포함함으로써,
    상기 기록하는 단계에 응답하여, 상기 반대 값에서 상기 사전결정된 값으로의 상기 상태 변화가 발생하는
    레지스터 파일 회로 내의 기록-후-판독 지연 감소 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 적어도 하나의 검출 셀은 상기 기록하는 단계에 응답하여 상기 레지스터 내의 다른 셀이 값을 변경하는 것보다 더 늦은 시간에 상기 상태 변화가 발생하도록 배치된 셀이고,
    상기 중지하는 단계는 상기 검출하는 단계에 응답하여 즉시 수행되는
    레지스터 파일 회로 내의 기록-후-판독 지연 감소 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 적어도 하나의 검출 셀은 상기 기록하는 단계에 응답하여 상기 레지스터 내의 다른 셀이 값을 변경하기 전에 상기 상태 변화가 발생하도록 배치된 셀이고,
    상기 방법은 사전결정된 시간 동안 상기 검출의 결과를 지연시키는 단계를 더 포함하며,
    상기 중지하는 단계는 상기 지연시키는 단계의 종료에 응답하여 수행되는
    레지스터 파일 회로 내의 기록-후-판독 지연 감소 방법.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 적어도 하나의 검출 셀은 상기 레지스터 파일 회로 내의 각 레지스터마다 하나씩 복수의 검출 셀을 포함하고,
    상기 방법은 상기 기록하는 단계에 응답하여 상기 레지스터에 관련된 특정 검출 셀을 선택하는 단계를 더 포함함으로써,
    상기 트리거링하는 단계는 상기 특정 검출 셀만의 상기 상태 변화를 트리거링하는
    레지스터 파일 회로 내의 기록-후-판독 지연 감소 방법.
  6. 레지스터 파일 어레이에 있어서,
    로직 행 및 열로 정렬되며, 비트 값을 저장하는 복수의 저장 셀과,
    상기 복수의 저장 셀의 행에 대한 기록에 응답하여 상태를 변화시키도록 구성된 적어도 하나의 검출 셀과,
    상기 적어도 하나의 검출 셀의 상태 변화를 검출함으로써 상기 적어도 하나의 검출 셀의 출력 상태가 변할 때까지 상기 행에 대한 판독 액세스를 막는 클록 조종 로직과,
    상기 적어도 하나의 검출 셀의 출력단에 결합된 입력단 및 상기 적어도 하나의 검출 셀의 입력단에 결합된 반전 출력단을 가진 저장 레지스터와,
    상기 기록에 응답하여 상기 적어도 하나의 검출 셀에 상기 저장 레지스터의 값을 기록하는 제어 로직을 포함함으로써, 상기 행에 대한 각각의 기록 액세스시에 상기 적어도 하나의 검출 셀에 저장된 값의 상태가 교번하며,
    상기 적어도 하나의 검출 셀은 스캐닝 가능한 저장 셀이고, 상기 저장 레지스터는 상기 스캐닝 가능한 저장 셀에 관련된 스캔 래치인
    레지스터 파일 어레이.
  7. 제 6 항에 있어서,
    상기 기록 시작 전에 상기 적어도 하나의 검출 셀을 사전결정된 상태로 설정하는 제어 로직을 더 포함하되,
    상기 적어도 하나의 검출 셀은 상기 기록에 응답하여 상기 사전결정된 상태의 값과 반대인 제 2 상태를 나타내도록 구성되고,
    상기 클록 조종 로직은 상기 적어도 하나의 검출 셀이 상기 제 2 상태에 있음을 검출함으로써 상기 상태 변화를 검출하는
    레지스터 파일 어레이.
  8. 제 6 항 또는 제 7 항에 있어서,
    상기 적어도 하나의 검출 셀은 상기 로직 행의 수와 동일한 수량의 검출 셀이고,
    상기 적어도 하나의 검출 셀에 접속된 기록 스트로브는 관련된 행에 대한 기록 인에이블 입력단이며,
    상기 클록 조종 로직은 상기 관련된 검출 셀이 상태를 변경할 때까지 상기 관련된 행에 대한 판독 액세스를 막는
    레지스터 파일 어레이.
  9. 제 6 항 또는 제 7 항에 있어서,
    상기 액세스 제어 로직의 어드레스 유닛에 표시가 제공되고,
    상기 어드레스 유닛은 상기 행의 어드레스와 상기 판독 액세스에 관련된 다음 행의 어드레스를 비교하는 어드레스 비교기를 포함하며,
    상기 액세스 제어 로직은 상기 다음 행의 어드레스가 상기 행의 어드레스와 동일해지는 경우에만 상기 판독 스트로브의 생성을 지연시키는
    레지스터 파일 어레이.
  10. 제 6 항 또는 제 7 항에 있어서,
    상기 적어도 하나의 검출 셀은 스캔 래치 및 검출 저장 셀을 포함하는 스캐닝 가능한 저장 셀이고,
    상기 스캔 래치의 반전 출력단은 상기 검출 저장 셀의 입력단에 결합되고 상기 스캔 래치의 입력단은 상기 검출 저장 셀의 출력단에 결합되며,
    상기 스캔 래치의 스캔 클록 입력단은 상기 레지스터 파일 어레이의 기록 스트로브에 결합되고 상기 기록 스트로브의 디어서팅(de-asserted) 상태에 응답함으로써, 상기 적어도 하나의 검출 셀의 상태가 기록 사이에 저장되고,
    상기 클록 조종 로직은 상기 스캔 래치의 검출 출력단 및 상기 검출 저장 셀의 상기 출력단에 결합되며,
    상기 판독 액세스를 막는 것은 상기 스캔 래치의 상기 검출 출력단 및 상기 검출 저장 셀의 상기 출력단이 서로 다른 로직 값으로 존재할 때까지 유지되는
    레지스터 파일 어레이.
KR1020077002554A 2004-08-19 2005-08-19 레지스터 파일 회로 내의 기록-후-판독 지연 감소 방법 및레지스터 파일 어레이 KR100901235B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/922,247 US7012839B1 (en) 2004-08-19 2004-08-19 Register file apparatus and method incorporating read-after-write blocking using detection cells
US10/922,247 2004-08-19

Publications (2)

Publication Number Publication Date
KR20070042541A KR20070042541A (ko) 2007-04-23
KR100901235B1 true KR100901235B1 (ko) 2009-06-08

Family

ID=35285389

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077002554A KR100901235B1 (ko) 2004-08-19 2005-08-19 레지스터 파일 회로 내의 기록-후-판독 지연 감소 방법 및레지스터 파일 어레이

Country Status (12)

Country Link
US (2) US7012839B1 (ko)
EP (1) EP1784834B1 (ko)
JP (1) JP4392041B2 (ko)
KR (1) KR100901235B1 (ko)
CN (1) CN100594553C (ko)
AT (1) ATE436073T1 (ko)
CA (1) CA2577272A1 (ko)
DE (1) DE602005015336D1 (ko)
IL (1) IL181245A (ko)
MX (1) MX2007002013A (ko)
TW (1) TWI349941B (ko)
WO (1) WO2006018452A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100636676B1 (ko) * 2005-02-03 2006-10-23 주식회사 하이닉스반도체 내부전압 생성 제어회로 및 이를 이용한 내부전압 생성회로
US7610571B2 (en) * 2006-04-14 2009-10-27 Cadence Design Systems, Inc. Method and system for simulating state retention of an RTL design
US9105328B2 (en) * 2012-07-31 2015-08-11 Taiwan Semiconductor Manufacturing Company, Ltd. Tracking signals in memory write or read operation
GB2501791B (en) * 2013-01-24 2014-06-11 Imagination Tech Ltd Register file having a plurality of sub-register files
US11269777B2 (en) * 2019-09-25 2022-03-08 Facebook Technologies, Llc. Systems and methods for efficient data buffering
CN114528019A (zh) * 2020-11-23 2022-05-24 深圳比特微电子科技有限公司 多比特寄存器、芯片和计算装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643204B1 (en) * 2001-05-16 2003-11-04 Lsi Logic Corporation Self-time scheme to reduce cycle time for memories

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594691A (en) * 1995-02-15 1997-01-14 Intel Corporation Address transition detection sensing interface for flash memory having multi-bit cells
US5572467A (en) * 1995-04-24 1996-11-05 Motorola, Inc. Address comparison in an inteagrated circuit memory having shared read global data lines
JP3093649B2 (ja) * 1996-09-05 2000-10-03 九州日本電気株式会社 不揮発性半導体メモリ装置
US6275437B1 (en) * 2000-06-30 2001-08-14 Samsung Electronics Co., Ltd. Refresh-type memory with zero write recovery time and no maximum cycle time
CN1303610C (zh) * 2000-07-07 2007-03-07 睦塞德技术公司 同步行和列存取操作的方法和装置
US6701484B1 (en) * 2000-08-11 2004-03-02 International Business Machines Corporation Register file with delayed parity check
JP4020644B2 (ja) * 2002-01-09 2007-12-12 アルプス電気株式会社 Sawフィルタモジュール

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643204B1 (en) * 2001-05-16 2003-11-04 Lsi Logic Corporation Self-time scheme to reduce cycle time for memories

Also Published As

Publication number Publication date
CN100594553C (zh) 2010-03-17
EP1784834B1 (en) 2009-07-08
IL181245A0 (en) 2007-07-04
IL181245A (en) 2010-04-15
CN1998051A (zh) 2007-07-11
JP2008510241A (ja) 2008-04-03
CA2577272A1 (en) 2006-02-23
US20060039203A1 (en) 2006-02-23
DE602005015336D1 (de) 2009-08-20
TWI349941B (en) 2011-10-01
US20060039202A1 (en) 2006-02-23
EP1784834A1 (en) 2007-05-16
US7012839B1 (en) 2006-03-14
KR20070042541A (ko) 2007-04-23
US7142463B2 (en) 2006-11-28
TW200627470A (en) 2006-08-01
JP4392041B2 (ja) 2009-12-24
MX2007002013A (es) 2007-03-28
ATE436073T1 (de) 2009-07-15
WO2006018452A1 (en) 2006-02-23

Similar Documents

Publication Publication Date Title
US10672441B2 (en) Gap detection for consecutive write operations of a memory device
US7414914B2 (en) Semiconductor memory device
US20110051537A1 (en) Address Multiplexing in Pseudo-Dual Port Memory
JP2007188633A (ja) メモリアレイ試験回路
KR100901235B1 (ko) 레지스터 파일 회로 내의 기록-후-판독 지연 감소 방법 및레지스터 파일 어레이
CN111316359B (zh) 数据选通门控
US7237156B1 (en) Content addressable memory with error detection
US7002823B1 (en) Content addressable memory with simultaneous write and compare function
JP3754593B2 (ja) データビットを記憶するメモリーセルを有する集積回路および集積回路において書き込みデータビットをメモリーセルに書き込む方法
KR100353337B1 (ko) 온칩확인을이용한반도체장치최적화방법및장치
CN112908378A (zh) 多相位时钟分割
US6393514B1 (en) Method of generating an almost full flag and a full flag in a content addressable memory
US7440312B2 (en) Memory write timing system
JP4247520B2 (ja) 高速信号経路および方法
JPH07254282A (ja) 並列出力データ経路を有する同期メモリ
USRE38903E1 (en) Method and apparatus for generating a pulse
KR100517257B1 (ko) 메모리어레이테스트회로
KR950009226B1 (ko) 출력 데이타 정보를 잡음으로부터 보호하기 위한 데이타 래칭 유니트를 구비한 비동기 억세스형 반도체 메모리 디바이스
KR100213216B1 (ko) 동기식 반도체 메모리 장치(sdram)를 위한 병렬 비트 테스트(pbt) 제어 회로 및 그 제어 방법
JPH09153287A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee