KR100974713B1 - 독립적으로 어드레스가능한 서브유닛을 가진 데이터 저장장치에 대한 데이터 조정 로직을 테스트하는 방법 및 장치 - Google Patents
독립적으로 어드레스가능한 서브유닛을 가진 데이터 저장장치에 대한 데이터 조정 로직을 테스트하는 방법 및 장치 Download PDFInfo
- Publication number
- KR100974713B1 KR100974713B1 KR1020087024269A KR20087024269A KR100974713B1 KR 100974713 B1 KR100974713 B1 KR 100974713B1 KR 1020087024269 A KR1020087024269 A KR 1020087024269A KR 20087024269 A KR20087024269 A KR 20087024269A KR 100974713 B1 KR100974713 B1 KR 100974713B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- subunits
- read
- subunit
- test
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
- G11C29/16—Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/022—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/1201—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/1208—Error catch memory
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
메모리 어레이의 I/O에 있는 판독 및 기록 데이터 조정 로직은 메모리 어레이 저장 위치의 각각의 어드레스가능 서브유닛에 대한 데이터 버스 레인을 제공함으로서 테스트된다. 각각의 버스 레인은 비교기의 데이터 입력에 연결된다. BIST 제어기는 기록 조정 로직을 통해 메모리에 테스트 패턴들을 기록하고 기록 조정 로직을 테스트하기 위하여 병렬로 테스트 패턴들을 판독한다. BIST 제어기는 메모리에 테스트 패턴들을 병렬로 기록하며, 판독 조정 로직을 테스트하기 위하여 테스트 패턴들을 판독 조정 로직을 통해 판독한다. 양 경우에, 각각의 버스 레인에 전용된 개별 비교기는 서브유닛 데이터가 데이터 버스 레인 및 메모리 저장 위치 서브유닛사이에서 적절하게 시프트되는지를 검증한다. 비교기들은 논리 게이트 스위칭을 막기 위하여 정상 동작동안 효율적으로 디스에이블된다.
Description
본 발명은 일반적으로 프로세서 분야, 특히 메모리 어레이 인터페이스의 데이터 조정 로직을 테스트하기 위한 방법에 관한 것이다.
마이크로프로세서들은 다양한 애플리케이션의 계산 동작들을 수행한다. 프로세서는 서버 또는 데스크탑 컴퓨터와 같은 고정 컴퓨팅 시스템의 중앙 또는 주 처리 유닛으로서 사용될 수 있다. 일반적으로 이러한 데스크탑 프로세서들에서 고속 실행 속도는 바람직하다. 더욱이, 프로세서들은 랩탑들 및 개인 휴대 단말들(PDA)과 같은 이동 컴퓨터들에, 그리고 이동전화들, 위성위치확인 시스템(GPS:Global Positioning System) 수신기들, 휴대용 이메일 클라이언트들 등과 같은 내장형 애플리케이션들에 더욱더 설치되고 있다. 이러한 이동 애플리케이션들에서는 고속 실행속도외에 저전력 소비 및 소형 크기가 보통 바람직한 것으로 고려된다.
보통, 컴퓨터 프로그램들은 마치 이 프로그램들을 실행하는 컴퓨터가 수많은(이상적으로 제한되지 않은 수의) 고속 메모리를 가지는 것 처럼 기록된다. 공통적인 기존 프로세서들은 메모리 타입들의 계층(hierarchy)을 사용함으로써 이상적인 조건을 시뮬레이트하며, 각각의 메모리 타입은 상이한 속도 및 비용 특성을 가진다. 계층내의 메모리 타입들은 상위레벨에서 초고속이면서 고가인 메모리 타입으로부터 하위레벨로 갈수록 점진적으로 느리나 더 경계적인 저장 타입들으로 변화한다. 공통 프로세서 메모리 계층은 상위레벨에서 프로세서의 레지스터들(게이트들)을 포함할 수 있으며, 하위레벨로 가면서 하나 이상의 온-칩 캐시들(SRAM), 가능한 경우 오프-칩 캐시(SRAM), 주 메모리(DRAM), 디스크 저장장치(전기-기계적 액세스 자기 매체), 및 테이프 또는 CD(자기 또는 광 매체)를 포함할 수 있다. 공통 휴대용 전자장치들은 존재하는 경우에 디스크 저장장치를 제한하며, 따라서 종종 크기가 제한된 주 메모리는 메모리 계층에서 최하위 레벨이다.
고속 온-칩 레지스터들은 프로세서 메모리 계층의 상위 레벨을 포함한다. 개별 레지스터들 및/또는 래치(latch)들은 명령 실행 파이프라인의 저장 엘리먼트들로서 사용된다. 공통 RISC 명령 세트 구조(architecture)들은 명령 op 코드들, 어드레스들 또는 어드레스 오프셋들, 산술 및 논리 연산들의 오퍼런드(operand)들, 및 산술 및 논리 연산들의 중간 및 최종 결과들 등과 같은 다양한 데이터를 저장하기 위하여 프로세서에 의하여 사용하는 범용 레지스터들(GPR)의 세트를 포함한다.
일부 프로세서들에서, 논리 GPR들은 직접 물리 저장 엘리먼트들에 대응한다. 다른 프로세서들에서는 각각의 논리 GPR 식별자의 명칭을 변경하거나 또는 큰 세트의 저장 위치들중 한 위치에 각각의 논리 GPR 식별자를 동적으로 할당하는 레지스터, 또는 물리 레지스터들이 사용된다. 어떤 경우라도, 논리 GPR 식별자들에 의하여 액세스된 저장 엘리먼트들은 메모리 어레이내에서 개별 레지스터들로서 또는 저장 위치들(또는 저장 위치들의 독립적으로 어드레스가능한 서브유닛들)로서 구현될 수 있다.
테스팅은 IC 제조에서 중요한 부분이다. 메모리 어레이들을 테스트하는 것은 특히 중요하다. 랜덤 로직을 테스트하기 위하여 보통 사용되는 자동 테스트 패턴 생성(ATPG:Automatic Test Pattern Generation) 방법은 여기 패턴(excitation pattern)을 스캔-체인(scan-chained) 레지스터들 또는 래치들중 한 세트에 스캔하는 단계, 랜덤 로직을 동작시키기 위하여 패턴을 적용하는 단계, 스캔-체인(scan-chained) 레지스터들 또는 래치들의 다른 세트에서 결과치들을 포착하는 단계, 및 예상된 값들과의 비교를 위하여 포착된 결과치들을 스캔하는 단계를 포함한다. 메모리 어레이들은 데이터가 다음 포착 및 비교를 위하여 메모리를 통해 흐리지 않고 오히려 저장 및 검색되기 때문에 ATPG 기술들을 사용하여 효율적으로 테스트될 수 없다.
일부 프로세서들은 기능 테스팅(functional testing)에 의하여 메모리 어레이들을 테스트하며 ― 여기서 코드는 어레이(예컨대, 논리 GPR들)에 테스트 패턴들을 기록하기 위하여 프로세서 파이프라인에서 실행됨 ―, 그 다음에 값들을 판독하고 예상된 값들과 비교한다. 기능 테스팅은 프로세서가 초기화된후 테스트들을 실행하기전에 캐시내에 로드된 코드를 테스트해야 하기 때문에 시간을 많이 소비하여 비효율적이다. 또한, 파이프라인내의 제어 및 관측 포인트는 테스트된 메모리 위치들로부터 멀리 이동되며, 커버되지 않은 결함들을 중간 회로(intervening circuit)들로부터 분리하는 것이 곤란할 수 있다.
따라서, 내장형 메모리 어레이들을 가진 일부 프로세서들은 테스트 모드동안 메모리 어레이를 동작시키는 빌트-인 셀프-테스트(BIST: Built-In Self-Test) 회로를 포함한다. 종래의 BIST 제어기는 메모리 어레이에 데이터 패턴들을 기록하고, 데이터 패턴들을 판독하며, 판독된 데이터를 예상된 데이터와 비교한다. 기능 모드에서, BIST 제어기는 비활성화되며, 메모리 어레이는 프로세서 제어 회로들에 의하여 제어된다. 일부 BIST 시스템들에서, 어레이로 기록되고 어레이로부터 판독되는 데이터를 아키텍처형(architecturally-defined) 버스 정렬 위치들에 정렬시키는 데이터 조정 로직과 같이 메모리 어레이 주위에 있는 I/O 회로들은 테스트되지 않는다.
하나 이상의 실시예들에 있어서, 메모리 어레이의 I/O내의 판독 및 기록 데이터 조정 로직(steering logic)은 메모리 어레이 저장 위치의 각각의 독립적으로 어드레스가능 서브유닛에 데이터 버스 레인(data bus lane)을 제공함으로써 테스트된다. 각각의 버스 레인은 비교기의 데이터 입력에 연결된다. BIST 제어기는 기록 조정 로직을 통해 메모리에 테스트 패턴들을 기록하고, 기록 조정 로직을 테스트하기 위하여 테스트 패턴들을 병렬로 판독한다. BIST 제어기는 메모리에 테스트 패턴들을 병렬로 기록하고, 판독 조정 로직을 테스트하기 위하여 판독 조정 로직을 통해 테스트 패턴들을 판독한다. 양 경우에, 각각의 버스 레인에 전용된 개별 비교기는 서브유닛 데이터가 데이터 버스 레인 및 메모리 저장 위치 서브유닛사이에서 적절하게 시프트되었다는 것을 검증한다. 비교기들은 논리 게이트 스위칭을 막기 위하여 정상 동작들 동안 효율적으로 디스에이블된다.
일 실시예는 N개의 데이터 레인들을 가진 데이터 버스 및 다수의 저장 위치들을 포함하는 메모리 어레이사이에 삽입된 인터페이스의 기록 데이터 조정 로직을 테스트하기 위한 방법에 관한 것이며, 각각의 저장 위치는 N개의 대응하는 어드레스가능 서브유닛들을 포함한다. 각각의 저장위치에 대하여, 제 1 데이터 패턴은 적어도 N-1개의 서브유닛들에 기록된다. 제 1 데이터 패턴과 다른 제 2 데이터 패턴은 N개의 버스 레인들중 하나로부터 기록 데이터 조정 로직을 통해 N개의 서브유닛들중 비-대응 서브유닛에 기록되며, 상기 비-대응 서브유닛은 상기 N개의 데이터 버스 레인들 중 상기 하나에 대응하지 않는 서브유닛을 의미한다. 모든 N개의 서브유닛들은 모든 N개의 버스 레인들을 사용하여 판독된다. 각각의 서브유닛에 대하여, 어레이로부터 판독된 데이터는 상기 서브유닛에 기록되는 각각의 제 1 또는 제 2 데이터 패턴과 비교된다.
다른 실시예는 각각이 N개의 어드레스가능 서브유닛들을 가진 다수의 저장 위치들을 포함하는 메모리 어레이 및 N개의 대응하는 데이터 레인들을 가진 데이터 버스사이에 삽입된 인터페이스의 판독 데이터 조정 로직을 테스트하기 위한 방법에 관한 것이다. 각각의 저장 위치에 대하여, 테스트 데이터 패턴은 모든 N개의 데이터 버스 레인들을 사용하여 기록된다. 테스트 패턴은 테스트되는(under test) 서브유닛과 다른 N-1 개의 서브유닛들에 대한 제 1 데이터 패턴과 테스트되는 서브유닛에 대한 제 2 데이터 패턴을 포함한다. N-1개의 서브유닛들은 판독 조정 로직을 통해 N개의 버스 레인들 중 비-대응 레인상으로 연속적으로 판독되며, 상기 비-대응 레인은 상기 N-1개의 서브유닛들에 대응하지 않은 레인을 의미한다. 어레이로부터 판독된 서브유닛 데이터는 그 서브유닛에 기록된 각각의 제 1 또는 제 2 데이터 패턴과 비교된다.
또 다른 실시예는 프로세서에 관한 것이다. 프로세서는 각각이 N개의 어드레스가능 서브유닛들을 가진 다수의 저장 위치들을 포함하는 메모리 어레이, N개의 데이터 레인들을 가진 데이터 버스, 및 데이터 버스 및 메모리 어레이사이에 삽입된 인터페이스를 포함하며, 상기 인터페이스는 기록 데이터 조정 로직을 포함한다. 프로세서는 또한 판독 데이터 및 비교 데이터 입력들을 각각 가지며, 판독 데이터 및 비교 데이터 입력들이 매칭되는지에 관한 표시자를 출력하는 N개의 비교기들을 포함하며, 각각의 비교기의 판독 데이터 입력은 N개의 데이터 버스 레인들중 하나에 연결된다. 또한, 프로세서는 BIST 제어기를 포함하며, BIST 제어기는 메모리 어레이를 제어하고, N개의 데이터 버스 레인들의 각각에 기록 데이터를 제공하며, N개의 비교기들의 각각의 비교기의 비교 데이터 입력에 비교 데이터를 제공하며, N개의 비교기 매칭 출력(match output)들을 수신한다. BIST 제어기는 메모리 어레이 저장 위치의 적어도 N-1개의 서브유닛들에 제 1 데이터 패턴을 기록하고, N개의 버스 레인들중 하나로부터 기록 데이터 조정 로직을 통해 저장 위치의 N개의 서브유닛들중 비-대응 서브유닛으로 제 1 데이터 패턴과 다른 제 2 데이터 패턴을 기록하며, 모든 N개의 버스 레인들을 사용하여 저장 위치의 모든 N개의 서브유닛들을 판독하며, 각각의 제 1 또는 제 2 데이터 패턴을 각각의 비교기에 제공하며, 기록 데이터 조정 로직 동작을 검증하기 위하여 비교기 매칭 출력들을 검사하도록 동작한다.
또 다른 실시예는 프로세서에 관한 것이다. 프로세서는 각각의 N개의 어드레스가능 서브유닛들을 가진 다수의 저장 위치들을 포함하는 메모리 어레이, N개의 대응하는 데이터 레인들을 가진 데이터 버스, 및 메모리 어레이와 데이터 버스사이에 삽입된 인터페이스를 포함하며, 상기 인터페이스는 판독 데이터 조정 로직을 포함한다. 프로세서는 또한 판독 데이터 및 비교 데이터 입력들을 각각 가지며 판독 데이터 및 비교 데이터 입력들이 매칭되는지에 관한 표시자를 출력하는 N개의 비교기들을 포함하며, 각각의 비교기의 판독 데이터 입력은 N개의 데이터 버스 레인들중 하나에 연결된다. 또한, 프로세서는 BIST 제어기를 포함하며, BIST 제어기는 메모리 어레이를 제어하며, N개의 데이터 버스 레인들의 각각에 기록 데이터를 제공하며, N개의 비교기의 각각의 비교기의 비교 데이터 입력에 비교 데이터를 제공하며, N개의 비교기 매칭 출력을 수신한다. BIST 제어기는 모든 N개의 데이터 버스 레인들을 사용하여 테스트되는 서브유닛과 다른 N-1개의 서브유닛들에 대한 제 1 데이터 패턴 및 테스트되는 서브유닛에 대한 제 2 데이터 패턴을 포함하는 테스트 데이터 패턴을 메모리 어레이의 저장위치에 기록하며, 저장위치의 각각의 N-1개의 서브유닛들을 판독 데이터 조정 로직을 통해 N개의 버스 레인들중 비-대응 레인상으로 연속적으로 판독하며, 판독 데이터가 전송되는 버스 레인에 대응하는 비교기에 각각의 제 1 또는 제 2 데이터 패턴을 제공하며, 판독 데이터 조정 로직 동작을 검증하기 위하여 비교기의 매칭 출력을 검사하도록 동작한다.
도 1은 프로세서의 기능 블록도이다.
도 2는 메모리 어레이 및 이와 연관된 데이터-조정 I/O 및 BIST 회로를 도시한 기능 블록도이다.
도 3은 기록 데이터 조정 로직을 테스트하기 위한 방법을 기술한 흐름도이다.
도 4는 판독 데이터 조정 로직을 테스트하기 위한 방법을 기술한 흐름도이다.
도 1은 프로세서(10)의 기능 블록도를 도시한다. 프로세서(10)는 제어 로직(14)에 따라 명령 실행 파이프라인(12)의 명령들을 실행한다. 파이프라인(12)은 12a 및 12b와 같은 다수의 병렬 파이프라인을 이용하는 슈퍼스칼라 설계(superscalar design)일 수 있다. 파이프라인들(12a, 12b)은 파이프라인 스테이지들내에 편성된 다양한 레지스터들 또는 래치들(16), 및 하나 이상의 산술 로직 유닛들(ALU)(18)을 포함한다. 레지스터 또는 메모리 어레이(20)는 논리 범용 레지스터들(GPR)에 매핑되는 다수의 저장 위치들을 제공한다.
파이프라인들(12a, 12b)은 명령 캐시(I-캐시)(22)로부터의 명령들을 수신하며, 메모리 어드레싱 및 허가들은 명령-사이드 변환 참조 버퍼(ITLB: Instruction-side Translation Lookaside Buffer)(24)에 의하여 관리된다. 데이터는 데이터 캐시(D-캐시)(26)로부터 액세스되며, 메모리 어드레싱 및 허가들은 주 변환 참조 버퍼(TLB: main Translation Lookaside Buffer)(28)에 의하여 관리된다. 다양한 실시예들에서, ITLB는 TLB의 부분의 복사본(copy)을 포함할 수 있다. 대안적으로, ITLB 및 TLB는 집적될 수 있다. 유사하게, 프로세서(10)의 다양한 실시예들에서, I-캐시(22) 및 D-캐시(26)는 집적되거나 또는 통합될 수 있다. I-캐시(22) 및/또는 D-캐시(26)에서의 미스(miss)들은 메모리 인터페이스(30)의 제어하에서 주(오프-칩) 메모리(32)에 대한 액세스를 유발한다. 프로세서(10)는 다양한 주변장치들(36)에 대한 액세스를 제어하는 입력/출력(I/O) 인터페이스(34)를 포함할 수 있다. 당업자는 프로세서(10)의 다수의 변형들이 가능하다는 것을 인식할 것이다. 예컨대, 프로세서(10)는 I 및 D 캐시들중 하나 또는 모두에 대한 제 2 레벨(L2) 캐시를 포함할 수 있다. 더욱이, 프로세서(10)에 도시된 기능 블록들중 하나 이상은 특정 실시예로부터 생략될 수 있다.
도 2는 예컨대 논리적 GPR들의 세트 및 빌트-인 셀프 테스트(BIST) 제어기(46)를 구현할 수 있는 메모리 어레이(20)를 도시한다. 메모리 어레이(20)는 비록 여기에서 제시된 테스트 방법 및 장치가 독립적으로 어드레스가능한 서브유닛들을 가진 메모리의 임의의 구성에 적용가능할지라도 16에 의하여 128비트로서 편성된다. 메모리 어레이(20)의 각각의 128-비트 위치는 워드(32비트) 판독/기록 그래뉼래리티(Granularity)를 가지며, 어레이(20)는 워드 경계들에서 논리적 및 물리적으로 분할된다.
메모리 어레이(20)는 데이터가 우측-정렬(right-align)되는 구조 요건(architectural requirement)에 따른 기록 데이터 조정 로직(40) 및 판독 데이터 조정 로직(42)을 포함한다. 즉, 구조(architecture)는 메모리 어레이(20)에 기록되거나 또는 메모리 어레이(20)로부터 판독될 수 있는 3개의 데이터 크기들, 즉 워드들(32비트), 더블-워드(double-word)들(64비트) 및 쿼드-워드(quad-word)들(128비트)를 정의한다. 쿼드-워드들은 전체(full) 데이터 버스 또는 워드 레인(word lane)들 W0-W3 (비트 D0-D127)을 점유한다. 더블-워드들은 항상 데이터 버스상에서 우측-정렬되며, 즉 워드 레인들(W0) 및 W1(비트 D0-D63)을 점유한다. 그러나, 더블-워드들은 위치 W0-W1(비트 D0-D63) 또는 W2-W3(비트 D64-D127)의 메모리 어레이(20)내의 저장 위치에 저장될 수 있다. 그러므로, 기록 조정 로직(40)의 멀티플렉서들은 버스 레인 W1(비트 D32-D63)을 통해 메모리 어레이(20)의 위치 W1(비트 D32-D63) 또는 W3(비트 D96-D127)중 하나로 데이터를 전송한다. 유사하게, 판독 조정 로직(42)의 멀티플렉서는 메모리 어레이 위치들 W1 및 W3로부터 버스 레인 W1으로 데이터를 선택적으로 전송한다. 부가적으로, 워드들은 항상 버스(레인 W0)상에서 우측-정렬되나, 메모리 어레이(20)의 저장 위치에서 W0, W1, W2 또는 W3 위치들 중 일부를 점유할 수 있다. 기록 조정 로직(40)의 멀티플렉서들은 모든 메모리 어레이(20) 워드 위치들에 버스 레인 W0을 인도하며, 판독 조정 로직(42)의 멀티플렉서들은 메모리 어레이(20)의 일부 워드 위치로부터 버스 레인 W0으로 데이터를 전송한다. 기록 조정 로직(40) 및 판독 조정 로직(42)의 멀티플렉서들은 정상 동작동안 프로세서의 제어하에 있으며, 테스트 모드에서 BIST 제어기(46)에 의하여 제어된다.
테스트 모드에서, BIST 제어기(46)는 부가적으로 메모리 어레이(20)에 기록하기 위하여 데이터 버스에 테스트 데이터를 제공하며, 비교 데이터를 비교기들(48)에 제공한다. 여기에서 기술된 바와같이, BIST 제어기(46)는 또한 메모리 어레이(20)의 동작 및 기록 조정 로직(40) 및 판독 조정 로직(42)내의 선택기들의 동작을 제어하며 정상 동작 모드에서 스위칭을 억제하기 위하여 테스트 모드 신호를 게이트들(49)에 출력한다. 비교기들(48)(버스 레인당 하나)은 각각 데이터 입력에서 메모리 어레이(20)로부터 판독된 데이터의 워드를 수신하고 또한 비교 출력에서 BIST 제어기(46)로부터 비교 데이터 패턴을 수신한다. 각각의 비교기(48)의 출력은 데이터 입력에서의 판독 데이터가 BIST 제어기(46)에 의하여 제공된 비교 패턴과 매칭되는지를 표시한다. 각각의 비교기(48)의 이러한 매칭 출력은 BIST 제어기(46)에 라우팅된다.
메모리 어레이(20), 기록 조정 로직(40) 및 판독 조정 로직(42)을 완전하게 테스트하기 위하여, 비교기들의 수는 메모리 어레이(20)의 저장 위치 마다 판독/기록 어드레스 가능성(addressability)의 그래뉼래리티(Granularity)와 매칭되어야 한다. 예컨대, 만일 메모리 어레이(20)가 바이트-어드레스 가능하면, 어레이 및 연관된 바이트-조정 로직을 테스트하기 위하여 16개의 비교기(48)들이 필요할 것이다(8 × 16 = 128). 일반적으로, 각각의 메모리 어레이(20) 저장 위치는 N개의 서브유닛들 또는 독립적으로 어드레싱가능한 부분들을 가지며, 데이터 버스는 N개의 대응하는 데이터 레인들을 포함한다. 기록 데이터 조정 로직(40) 및 판독 데이터 조정 로직(42)을 완전하게 테스트하려면 N개의 비교기들이 필요하다. 도 2에서, N=4이며 각각의 서브유닛은 워드이다.
초기 테스트에서, BIST 제어기(46)는 전체 128-비트 데이터 버스(즉, 모든 4개의 버스 레인들)를 사용하여 메모리 어레이(20)로 테스트 데이터 패턴들을 기록하고 메모리 어레이(20)로부터 데이터를 판독함으로써 메모리 어레이(20)를 검증할 수 있다. 특히, 표준 메모리 테스트 절차후에, BIST 제어기(46)는 초기에 메모리 어레이(20)의 모든 저장 위치에 배경 패턴을 기록한다. 그 다음에, BIST 제어기(46)는 모든 4개의 데이터 버스 레인들을 사용하여 메모리 어레이(2) 저장 위치들에 테스트 패턴들을 기록한다. 그 다음에, 데이터는 다시 모든 4개의 데이터 버스 레인들을 사용하여 각각의 메모리 어레이(20) 저장 위치로부터 판독되며, 각각의 비교기(48)의 데이터 입력에 직접 라우팅된다(즉, 기록 데이터 조정 로직(40) 및 판독 데이터 조정 로직(42)은 모두 한 워드 위치로부터 다른 워드 위치로 일부 데이터를 시프트하지 않는다).
기록된 테스트 패턴에 대응하는 비교 데이터는 BIST 제어기(46)에 의하여 각각의 비교기(48)의 비교 입력에 공급된다. 각각의 비교기(48)는 그것의 입력에서 데이터를 비교하고, 데이터 패턴들이 BIST 제어기(46)와 매칭되는지에 관한 표시를 제공한다. 미스매치(mismatch)는 메모리 어레이(20) 결함을 표시한다. 공지된 바와같이, 메모리 어레이(20)의 동작을 검증하기 위하여 사용될 데이터 패턴은 교번하는 1(one)들 및 0(zero)들을 가진 "체커보드(checkerboard)와 같은 정적 패턴(static pattern)들; 각각의 저장 위치를 반복적으로 테스트함으로써 "마칭(marching) 1들" 및/또는 "마칭 0들"의 동적 패턴(dynamic pattern); 또는 다른 메모리 테스트 패턴들 및 절차들을 포함할 수 있다.
하나 이상의 실시예들에 따르면, BIST 제어기(46)는 부가적으로 기록 데이터 조정 로직(40) 및/또는 판독 데이터 조정 로직(42)의 기능을 테스트할 수 있다. 기록 데이터 조정 로직(40)을 테스트하기 위한 방법이 도 3에 흐름도로 도시된다. 초기에, 배경 데이터 패턴은 메모리 어레이(20)의 모든 저장 위치들에 선택적으로 기록된다(블록 50). 그 다음에, BIST 제어기(46)는 단일 저장 위치의 적어도 N-1개의 서브유닛들에 제 1 데이터 패턴을 기록한다(블록 52). 테스트 시간을 최소화하기 위하여, BIST 제어기(46)는 데이터 버스의 모든 N개의 레인들을 사용하여 저장 위치의 모든 서브유닛들에 제 1 데이터 패턴을 기록할 수 있다. 제 1 데이터 패턴은 예컨대 모두 1들 또는 모두 0들을 포함할 수 있다. BIST 제어기(46)는 제 1 데이터 패턴과 다른 제 2 데이터 패턴을 N개의 버스 레인들중 한 레인으로부터 기록 데이터 조정 로직을 통해 메모리 어레이(20) 저장 위치의 N개의 서브유닛들중 비-대응 서브유닛에 기록한다(블록 54). 예컨대, BIST 제어기(46)는 버스 레인 W0상에 제 2 데이터 패턴을 배치하고(place), 이 제 2 데이터 패턴을 기록 데이터 조정 로직을 통해 메모리 어레이(20)의 저장 위치의 서브 유닛 위치들 W1, W2 또는 W3에 기록할 수 있다. 제 2 데이터 패턴은 예컨대 0101 또는 1010과 같은 "체커보드" 패턴을 포함할 수 있다.
그 다음에, BIST 제어기(46)는 데이터 버스의 모든 N개의 레인들을 사용하여 저장 위치의 모든 N개의 서브유닛들을 병렬로 판독한다(블록 56). 도 2에 도시된 바와같이, 각각의 데이터 버스 레인은 대응 비교기(48)의 데이터 입력으로 인도된다. BIST 제어기(46)는 각각의 비교기(48)의 비교 입력에 비교 데이터 패턴을 제공한다. 비교 데이터 패턴들은 N-1개의 비교기들(48)에 대한 제 1 데이터 패턴, 및 제 2 데이터 패턴이 기록 데이터 조정 로직(40)에 의하여 전송되는 저장 위치 서브유닛에 대응하는 비교기(48)에 대한 제 2 데이터 패턴을 포함한다. 비교기들(48)은 BIST 제어기(46)에 의하여 제공되는 비교 입력들과 메모리 어레이(20)로부터 판독된 데이터들을 비교하며, 데이터 패턴들이 매칭되는지의 여부를 표시하는 출력을 BIST 제어기(46)에 제공한다. BIST 제어기(46)는 매칭 출력들을 검사하며, 임의의 오비교들(miss compare)을 에러들로서 플래그(flag)한다(블록 58). 테스트는 저장 위치의 모든 서브유닛에 대하여 반복되며(블록 60, 62), 메모리 어레이(20)의 모든 저장 위치에 대하여 반복될 수 있다(블록 64, 66, 68).
BIST 제어기는 제 2 데이터 패턴들을 W0 및 W1 버스 레인들에 제공하고 메모리 어레이(20) 저장위치의 W0-W1 또는 W2-W3 더블-워드 위치들중 한 위치에 연속 테스트들로 제 2 데이터 패턴을 전송하고 전체 저장 위치를 판독하며 대응하는 제 1 또는 제 2 데이터 패턴을 비교기들(48)에 제공하여 더블 워드들을 위한 기록 데이터 조정 로직(40)의 동작을 검증함으로써 더블-워드 조정을 직접 테스트할 수 있다. 일반적으로, BIST 제어기는 M-크기 데이터 조정 기능을 위한 기록 조정 로직(40)을 테스트하기 위하여 제 2 데이터 패턴을 N개의 서브유닛들중 M개의 서브유닛으로, 그리고 N개의 버스 레인들중 M개의 버스 레인으로부터 기록 조정 로직(40)을 통해 N개의 서브유닛 위치들중 비-대응 서브유닛 위치 M으로 기록할 수 있으며, 여기서 M은 N의 적분인자(integral factor)이다. 도 2에 도시된 실시예에서, 더블-워드에 대하여 M=2이다.
대안적으로, BIST 제어기(46)는 제 2 데이터 패턴을 하나의 데이터 버스 레인에 제공하고 메모리 어레이(20) 저장위치내의 비-대응 서브유닛에 제 2 데이터 패턴을 전송하며 저장 위치의 모든 서브유닛들을 병렬로 판독하며 제 2 데이터 패턴의 배치를 검증함으로써 기록 데이터 조정 로직(40)의 일부 선택기의 각각의 레그(leg)를 선택적으로 테스트할 수 있다. 예컨대, 도 2를 참조하면, 버스 레인 W1으로부터 메모리 저장 위치 W3로 데이터를 인도하는 더블-워드 조정 로직은 W1 버스 레인상으로 제 2 데이터 패턴을 배치하고, 기록 데이터 조정 로직(40) 선택기들에 적절한 제어 신호들을 제공하면서 제 2 패턴을 기록하며 전체 저장 위치를 판독하며 W3 버스 레인과 연관된 비교기(48)에 비교 입력으로서 제 2 데이터 패턴을 제공함으로써 테스트될 수 있다. 이러한 예에서, 저장위치의 W2 서브유닛에 W0 버스 레인을 인도하는 기록 데이터 조정 로직(40) 경로는 이전 테스트에서 테스트된다. 따라서, 일반적으로, BIST 제어기(46)는 기록 데이터 조정 로직(40) 선택기들을 적절하게 제어하여 버스 레인으로부터 저장위치내의 비-대응 서브유닛 위치로 제 2 패턴 데이터의 단일 서브유닛을 인도하고 전체 저장 위치를 판독할때 데이터를 검증함으로써 기록 데이터 조정 로직(40)을 완전하게 테스트할 수 있다.
판독 데이터 조정 로직(42)을 테스트하기 위한 방법은 도 4에 흐름도 형식으로 기술된다. 초기에, 배경 데이터 패턴은 메모리 어레이(20)의 모든 저장위치들에 선택적으로 기록된다(블록 70). BIST 제어기(46)는 모든 N개의 버스 레인들을 사용하여 메모리 어레이(20)내의 저장위치에 테스트 데이터 패턴을 기록한다(블록 72). 테스트 패턴은 테스트되는 서브유닛과 다른 N-1 개의 서브유닛들의 위치들의 제 1 데이터 패턴, 및 테스트되는 서브유닛의 위치의 제 1 데이터 패턴과 다른 제 2 데이터 패턴을 포함한다. 그 다음에, 데이터는 저장위치의 N-1개의 서브유닛들로부터 판독 조정 로직을 통해 비-대응 버스 레인상으로 (블록 74) 그리고 연관된 비교기(48)의 데이터 입력으로 연속적으로 판독된다. BIST 제어기(46)는 비교기(48)의 비교 입력에 제 1 또는 제 2 데이터 패턴을 제공하고 비교기(48) 출력을 검사함으로써 매칭(match)을 검사한다(블록 76). BIST 제어기(46)는 테스트를 N-1번을 반복하여 메모리 어레이(20) 저장 위치의 상이한 서브유닛 위치에 제 2 데이터 패턴을 제공할 수 있다(블록 78, 80). 테스트는 메모리 어레이(20)의 각각의 저장 위치에 대하여 반복될 수 있다(블록 82, 84, 86).
판독 데이터 조정 로직(42)은 저장 위치의 W0-W1 서브유닛 위치들 및 W2-W3 서브유닛 위치들에 제 2 데이터 패턴을 교번하여 기록하고 판독 데이터 조정 로직(42)을 통해 W0-W1 데이터 버스 레인들상에서 더블-워드들을 판독하며 W0-W1 데이터 버스 레인들에 대응하는 2개의 비교기들(48)에서 판독되 데이터를 비교함으로써 더블-워드들에 대하여 테스트될 수 있다. 대안적으로, 더블-워드 판독 데이터 조정 로직(42)은 단지 W3 서브유닛 위치의 제 2 데이터 패턴과 그 밖의 위치의 제 1 데이터 패턴을 포함하는 테스트 데이터 패턴을 기록함으로써 테스트될 수 있다. W3 서브유닛은 어레이로부터 판독되고, 판독 데이터 조정 로직(42) 선택기 제어 신호를 제어함으로써 W1 데이터 버스 레인에 인도될 수 있다. 제 2 데이터 패턴은 버스 레인 W1과 연관된 비교기(48)에 비교 입력으로서 제공되며, 제 2 데이터 패턴의 조정은 검증된다. 일반적으로, 판독 데이터 조정 로직(42)의 모든 경로들은 저장 위치의 단일 서브유닛에 제 2 데이터 패턴을 기록하고 판독 데이터 조정 로직(42) 선택기들을 제어하여 비-대응 데이터 버스 레인에 제 2 데이터 패턴을 인도함으로써 테스트될 수 있다.
도 2를 다시 참조하면, 비교기 회로들(48)은 정적 논리 게이트들을 포함한다. 즉, 비교기들(48)은 그들의 비교 입력에 존재하는 데이터와 그들의 데이터 입력에 존재하는 임의의 데이터 패턴을 비교하고 데이터 패턴들이 매칭되는지의 여부를 표시하는 신호를 생성할 것이다. 정상 프로세서 동작(즉 테스트 모드가 아닌)동안, 메모리 어레이(20)(및 판독 데이터 조정 로직(42))에 의하여 출력된 데이터는 빈번하게 변화할 것이다. 비교 데이터 입력들이 메모리 어레이(20)로부터 판독된 데이터와 매칭될 수 없기 때문에, 비교기들(48)내의 게이트들은 빈번하게 스위칭하여 전력을 소비하고 열을 발생시키며 전력 및 접지 레일(rail)들과 관련한 전기 잡음을 유발할 것이다.
따라서, 비교기 회로들(48)은 정적 데이터 패턴이 비교기들(48) 데이터 입력들에 제공되도록 함으로써 정상 동작들동안 효율적으로 디스에이블된다. 일 실시예에서, 대응 데이터 버스 레인으로부터의 데이터는 BIST 제어기(46)으로부터의 TEST MODE 신호와 함께 예컨대 AND 게이트(49)에 의하여 게이팅된다. AND 게이트(49)는 데이터 레인의 각각의 비트(즉, 도 2에 도시된 바와 같이 32 비트)와 테스트 모드 신호를 AND 연산한다.
시스템 리셋시에(또는 프로세서가 정상 동작 모드에 있는 임의의 다른 표시자에 응답하여), BIST 제어기(40)는 TEST MODE 신호를 디어서트(deassert)하며, AND 게이트들(49)은 비교기들(48)에 0들의 정적 데이터 패턴을 제공한다. BIST 제어기(40)는 비교기들(48)의 비교 입력에 대응 정적 데이터 패턴(예컨대, 0들)을 선택적으로 제공할 수 있다. 비교기들(48) 출력이 데이터 매칭 또는 오비교를 표시하던지간에, 입력이 정적이기 때문에, 비교기들(48)내의 게이트들은 초기 1-사이클 비교 이상에서 스위칭하지 않을 것이다. 이러한 방식에서, 비교기들(48)내의 랜덤 게이트 스위칭과 연관된 전력 소비 및 스위칭 잡음은 정상 동작 모드에서 억제된다.
비록 본 발명이 메모리 어레이를 참조로하여 여기에 기술되었을지라도, 본 발명은 레지스터 파일들, 메모리 어레이들 등과 같이 어드레스가능 서브유닛들 및 기록 및/또는 판독 데이터 조정 로직을 가진 저장 위치들의 어레이 또는 임의의 데이터 저장 위치에 적용될 수 있다. 일반적으로, 비록 본 발명이 특정 특징들, 양상들 및 실시예들과 관련하여 여기에 기술되었을지라도, 본 발명의 넓은 범위내에서 다수의 변형들, 수정들 및 다른 실시예들이 가능하며 따라서 모든 변형들, 수정들 및 실시예들이 본 발명의 범위내에 속하는 것으로 간주된다는 것이 명백할 것이다. 따라서, 본 실시예들은 예시적인 것으로 해석되어야 하며, 첨부된 청구항들의 균등범위내의 모든 변화들은 여기에 포함된다.
Claims (18)
- N개의 데이터 레인(lane)들을 가진 데이터 버스 및 다수의 저장 위치들― 각각의 저장위치는 N개의 대응하는 어드레스가능 서브유닛(subunit)들을 포함함 ―을 가진 메모리 어레이사이에 삽입된 인터페이스의 기록 데이터 조정 로직(write data steering logic)을 테스트하기 위한 방법으로서,각각의 저장 위치에 대하여,적어도 N-1개의 서브유닛들에 제 1 데이터 패턴을 기록하는 단계;N개의 데이터 버스 레인들 중 한 레인으로부터 상기 제 1 데이터 패턴과 다른 제 2 데이터 패턴을 상기 기록 데이터 조정 로직을 통해 상기 N개의 서브유닛들 중 비-대응 서브유닛에 기록하는 단계 ― 상기 비-대응 서브유닛은 상기 N개의 데이터 버스 레인들 중 상기 한 레인에 대응하지 않는 서브유닛을 의미함 ―;모든 N개의 버스 레인들을 사용하여 모든 N개의 서브유닛들을 판독하는 단계; 및각각의 서브유닛에 대하여, 각각의 서브유닛에 기록된 각각의 제 1 또는 제 2 데이터 패턴과 상기 어레이로부터 판독된 데이터를 비교하는 단계를 포함하는,기록 데이터 조정 로직을 테스트하기 위한 방법.
- 제 1항에 있어서, 적어도 N-1개의 서브유닛들에 제 1 데이터 패턴을 기록하는 상기 단계는 모든 N개의 데이터 버스 레인들을 사용하여 모든 N개의 서브유닛들에 배경 배턴을 먼저 기록하는 단계를 포함하는, 기록 데이터 조정 로직을 테스트하기 위한 방법.
- 제 1항에 있어서, 각각의 저장위치에 대하여 상기 테스트를 N-1번 반복하는 단계 및 상기 테스트가 수행될 때마다 상기 저장 위치의 상이한 서브유닛에 상기 제 2 데이터 패턴을 기록하는 단계를 더 포함하는, 기록 데이터 조정 로직을 테스트하기 위한 방법.
- 제 3항에 있어서, 상기 메모리 어레이의 각각의 저장 위치에 대하여 상기 테스트들을 반복하는 단계를 더 포함하는, 기록 데이터 조정 로직을 테스트하기 위한 방법.
- 제 1항에 있어서, 각각의 서브 유닛에 기록된 각각의 제 1 또는 제 2 데이터 패턴과 상기 어레이로부터 판독된 데이터를 비교하는 상기 단계는 각각의 서브유닛에 기록되는 상기 제 1 또는 제 2 데이터 패턴과 각각의 서브유닛으로부터 판독되는 데이터를 독립적으로 그리고 병렬로 비교하는 단계를 포함하는, 기록 데이터 조정 로직을 테스트하기 위한 방법.
- 제 5항에 있어서, 각각의 서브유닛은 각각의 서브유닛과 연관되는 상기 데이터 버스 레인을 통해 상기 데이터 버스 레인과 연관되는 각각의 비교기에 연결되며;병렬로 데이터를 비교하는 상기 단계는 각각의 서브유닛에 대하여 상기 어레이로부터 판독되는 상기 데이터 및 상기 각각의 제 1 또는 제 2 데이터 패턴을 N개의 비교기들 중 하나에 전송하는 단계를 포함하는, 기록 데이터 조정 로직을 테스트하기 위한 방법.
- 제 1항에 있어서, 상기 제 1 데이터 패턴을 기록한후에, 상기 제 1 데이터 패턴과 다른 제 2 데이터 패턴을 제 1의 M개의 버스 레인들로부터 상기 기록 조정 로직을 통해 상기 N개의 서브유닛들 중 M개의 서브유닛에 기록하는 단계를 더 포함하며, 상기 M은 상기 N의 적분 인자(integral factor)인, 기록 데이터 조정 로직을 테스트하기 위한 방법.
- 제 7항에 있어서, 각각의 저장 위치에 대하여 상기 테스트를 N/M 번 반복하는 단계, 및 상기 테스트가 수행될 때마다 상기 제 1의 M개의 버스 레인들로부터 상기 기록 데이터 조정 로직을 통해 상기 저장 위치의 N개의 서브유닛들의 상이한 M개의 서브유닛으로 상기 제 2 데이터 패턴을 기록하는 단계를 더 포함하는, 기록 데이터 조정 로직을 테스트하기 위한 방법.
- 제 1항에 있어서, 비교기 회로들이 비-테스트 모드(non-test mode)에서의 메모리 어레이 데이터 판독들에 응답하여 스위칭되는 것을 방지하기 위하여 테스트 모드(test mode)에서 데이터 비교들을 수행하는 비교기 회로들에 상기 비-테스트 모드에서 고정 입력을 입력하는 단계를 더 포함하는, 기록 데이터 조정 로직을 테스트하기 위한 방법.
- 다수의 저장 위치들―상기 각각의 저장위치는 N개의 어드레스가능 서브유닛들을 포함함 ―을 가진 메모리 어레이 및 N개의 대응하는 데이터 레인(lane)들을 가진 데이터 버스사이에 삽입된 인터페이스의 판독 데이터 조정 로직을 테스트하기 위한 방법으로서,각각의 저장위치에 대하여,모든 N개의 데이터 버스 레인들을 사용하여 테스트되는(under test) 서브유닛과 다른 N-1 개의 서브유닛들에 대한 제 1 데이터 패턴 및 테스트되는 서브유닛에 대한 제 2 데이터 패턴을 포함하는 테스트 데이터 패턴을 기록하는 단계;판독 데이터 조정 로직을 통해 상기 N개의 버스 레인들 중 비-대응 레인상에서 N-1개의 서브유닛들을 연속적으로 판독하는 단계 ― 상기 비-대응 레인은 상기 N-1개의 서브유닛들에 대응하지 않는 레인을 의미함 ―; 및각각의 서브유닛에 기록되는 각각의 제 1 또는 제 2 데이터 패턴과 상기 어레이로부터 판독되는 서브유닛 데이터를 비교하는 단계를 포함하는, 판독 데이터 조정 로직을 테스트하기 위한 방법.
- 제 10항에 있어서, 각각의 저장위치에 대하여 상기 테스트를 N-1번 반복하는 단계 및 상기 테스트가 수행될 때마다 상이한 서브유닛에 상기 제 2 데이터 패턴을 기록하는 단계를 더 포함하는, 판독 데이터 조정 로직을 테스트하기 위한 방법.
- 제 11항에 있어서, 상기 메모리 어레이의 각각의 저장 위치에 대하여 상기 테스트들을 반복하는 단계를 더 포함하는, 판독 데이터 조정 로직을 테스트하기 위한 방법.
- 제 10항에 있어서, 비교기 회로들이 비-테스트 모드에서의 메모리 어레이 데이터 판독들에 응답하여 스위칭되는 것을 방지하기 위하여 테스트 모드에서 데이터 비교들을 수행하는 비교기 회로들에 상기 비-테스트 모드에서 고정 입력을 입력하는 단계를 더 포함하는, 판독 데이터 조정 로직을 테스트하기 위한 방법.
- 프로세서로서,각각이 N개의 어드레스가능 서브유닛들을 가진 다수의 저장 위치들을 포함하는 메모리 어레이;N개의 데이터 레인들을 가진 데이터 버스;상기 데이터 버스 및 상기 메모리 어레이사이에 삽입되고, 기록 데이터 조정 로직을 포함하는 인터페이스;판독 데이터 및 비교 데이터 입력들을 각각 가지며 상기 판독 데이터 및 상기 비교 데이터 입력들이 매칭되는지에 관한 표시자(indicator)를 출력하는 N개의 비교기들 ― 상기 각각의 비교기의 판독 데이터 입력은 상기 N개의 데이터 버스 레인들 중 하나에 연결됨 ―; 및상기 메모리 어레이를 제어하고, 상기 N개의 데이터 버스 레인들의 각각에 기록 데이터를 제공하며, 상기 N개의 비교기들의 각각의 비교기의 비교 데이터 입력에 비교 데이터를 제공하며, N개의 비교기 매칭 출력들을 수신하는 빌트-인 셀프-테스트(BIST: Built-In Self-Test) 제어기를 포함하며;상기 BIST 제어기는,메모리 어레이 저장 위치의 적어도 N-1개의 서브유닛들에 제 1 데이터 패턴을 기록하고,상기 제 1 데이터 패턴과 다른 제 2 데이터 패턴을 상기 N개의 버스 레인들 중 하나로부터 상기 기록 데이터 조정 로직을 통해 상기 저장 위치의 N개의 서브유닛 중 비-대응 서브유닛으로 기록하며 ― 상기 비-대응 서브유닛은 상기 N개의 데이터 버스 레인들 중 상기 하나에 대응하지 않는 서브유닛을 의미함 ―,모든 N개의 버스 레인들을 사용하여 상기 저장 위치의 모든 N 개의 서브유닛들을 판독하며,상기 각각의 비교기에 상기 각각의 제 1 또는 제 2 데이터 패턴을 제공하며,상기 기록 데이터 조정 로직 동작을 검증하기 위하여 상기 비교기 매칭 출력들을 검사하도록 동작하는,프로세서.
- 프로세서로서,각각이 N개의 어드레스가능 서브유닛들을 가진 다수의 저장 위치들을 포함하는 메모리 어레이;N개의 대응 데이터 레인들을 가진 데이터 버스;상기 메모리 어레이 및 상기 데이터 버스사이에 삽입되고, 판독 데이터 조정 로직을 포함하는 인터페이스;판독 데이터 및 비교 데이터 입력들을 각각 가지며 상기 판독 데이터 및 상기 비교 데이터 입력이 매칭되는지에 관한 표시자(indicator)를 출력하는 N개의 비교기들 ― 상기 각각의 비교기의 판독 데이터 입력은 상기 N개의 데이터 버스 레인들 중 하나에 연결됨 ―; 및상기 메모리 어레이를 제어하고, 상기 N개의 데이터 버스 레인들의 각각에 기록 데이터를 제공하며, 상기 N개의 비교기들의 각각의 비교기의 비교 데이터 입력에 비교 데이터를 제공하며, N개의 비교기 매칭 출력을 수신하는 빌트-인 셀프-테스트(BIST: Built-In Self-Test) 제어기를 포함하며;상기 BIST 제어기는,모든 N개의 데이터 버스 레인들을 사용하여 테스트되는 서브유닛과 다른 N-1개의 서브유닛들에 대한 제 1 데이터 패턴 및 테스트되는 서브유닛에 대한 제 2 데이터 패턴을 포함하는 테스트 데이터 패턴을 상기 메모리 어레이의 저장 위치에 기록하며,상기 저장 위치의 각각의 N-1개의 서브유닛들을 판독 데이터 조정 로직을 통해 N개의 버스 레인들 중 비-대응 레인상에서 연속적으로 판독하며 ― 상기 비-대응 레인은 상기 N-1개의 서브유닛들에 대응하지 않는 레인을 의미함 ―,판독 데이터가 전송되는 버스 레인에 대응하는 비교기에 상기 각각의 제 1 또는 제 2 데이터 패턴을 제공하며,상기 판독 데이터 조정 로직 동작을 검증하기 위하여 상기 비교기의 매칭 출력을 검사하는, 프로세서.
- 제 15항에 있어서, 상기 메모리 어레이 및 상기 데이터 버스사이에 삽입되고 비-테스트 모드에서 각각의 비교기의 데이터 입력에 정적(static) 데이터 패턴을 제공하도록 동작하는 로직을 더 포함하는, 프로세서.
- 제 16항에 있어서, 상기 로직은 상기 판독 데이터 조정 로직내의 선택기를 포함하며, 상기 선택기의 입력은 정적 데이터 패턴에 고정되는, 프로세서.
- 제 16항에 있어서, 상기 로직은 판독 데이터 비트들 및 테스트 모드 신호사이에서 AND 함수를 구현하는, 프로세서.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/367,959 | 2006-03-03 | ||
US11/367,959 US7447956B2 (en) | 2006-03-03 | 2006-03-03 | Method and apparatus for testing data steering logic for data storage having independently addressable subunits |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080100839A KR20080100839A (ko) | 2008-11-19 |
KR100974713B1 true KR100974713B1 (ko) | 2010-08-06 |
Family
ID=38374155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087024269A KR100974713B1 (ko) | 2006-03-03 | 2007-03-05 | 독립적으로 어드레스가능한 서브유닛을 가진 데이터 저장장치에 대한 데이터 조정 로직을 테스트하는 방법 및 장치 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7447956B2 (ko) |
EP (1) | EP1991990B1 (ko) |
JP (1) | JP4806035B2 (ko) |
KR (1) | KR100974713B1 (ko) |
CN (1) | CN101395674B (ko) |
AT (1) | ATE471564T1 (ko) |
DE (1) | DE602007007190D1 (ko) |
WO (1) | WO2007103892A2 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7996620B2 (en) * | 2007-09-05 | 2011-08-09 | International Business Machines Corporation | High performance pseudo dynamic 36 bit compare |
US9208836B1 (en) * | 2011-01-11 | 2015-12-08 | Rambus Inc. | Chip-to-chip signaling with improved bandwidth utilization |
CN102495357B (zh) * | 2011-11-25 | 2013-09-11 | 哈尔滨工业大学 | 一种基于比较器响应分析器的输入向量监测并发内建自测试电路 |
US9003246B2 (en) | 2012-09-29 | 2015-04-07 | Intel Corporation | Functional memory array testing with a transaction-level test engine |
US8996934B2 (en) | 2012-09-29 | 2015-03-31 | Intel Corporation | Transaction-level testing of memory I/O and memory device |
US9009531B2 (en) * | 2012-12-05 | 2015-04-14 | Intel Corporation | Memory subsystem data bus stress testing |
US9009540B2 (en) | 2012-12-05 | 2015-04-14 | Intel Corporation | Memory subsystem command bus stress testing |
US20140258780A1 (en) * | 2013-03-05 | 2014-09-11 | Micron Technology, Inc. | Memory controllers including test mode engines and methods for repair of memory over busses used during normal operation of the memory |
CN103617810A (zh) * | 2013-11-26 | 2014-03-05 | 中国科学院嘉兴微电子与系统工程中心 | 嵌入式存储器的测试结构及方法 |
KR102491579B1 (ko) * | 2016-01-22 | 2023-01-25 | 삼성전자주식회사 | 메모리 장치, 메모리 모듈 및 메모리 시스템 |
US11514977B2 (en) | 2021-04-01 | 2022-11-29 | Micron Technology, Inc. | Memory devices implementing data-access schemes for digit lines proximate to edges of column planes, and related devices, systems, and methods |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182257B1 (en) | 1997-07-31 | 2001-01-30 | Mosaid Technologies Incorporated | BIST memory test system |
US6272588B1 (en) | 1997-05-30 | 2001-08-07 | Motorola Inc. | Method and apparatus for verifying and characterizing data retention time in a DRAM using built-in test circuitry |
US20050204239A1 (en) | 2004-01-21 | 2005-09-15 | Shinya Miyaji | Method for testing semiconductor integrated circuit |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04157535A (ja) * | 1990-10-20 | 1992-05-29 | Fujitsu Ltd | レジスタ検査方法 |
US5617531A (en) * | 1993-11-02 | 1997-04-01 | Motorola, Inc. | Data Processor having a built-in internal self test controller for testing a plurality of memories internal to the data processor |
US5553082A (en) * | 1995-05-01 | 1996-09-03 | International Business Machines Corporation | Built-in self-test for logic circuitry at memory array output |
US5954830A (en) * | 1997-04-08 | 1999-09-21 | International Business Machines Corporation | Method and apparatus for achieving higher performance data compression in ABIST testing by reducing the number of data outputs |
US6381715B1 (en) * | 1998-12-31 | 2002-04-30 | Unisys Corporation | System and method for performing parallel initialization and testing of multiple memory banks and interfaces in a shared memory module |
US6111801A (en) * | 1999-04-30 | 2000-08-29 | Stmicroelectronics, Inc. | Technique for testing wordline and related circuitry of a memory array |
US6452848B1 (en) * | 2001-09-12 | 2002-09-17 | International Business Machines Corporation | Programmable built-in self test (BIST) data generator for semiconductor memory devices |
US7376811B2 (en) * | 2001-11-06 | 2008-05-20 | Netxen, Inc. | Method and apparatus for performing computations and operations on data using data steering |
US7263585B2 (en) * | 2002-09-19 | 2007-08-28 | Ip-First, Llc | Store-induced instruction coherency mechanism |
US7073100B2 (en) * | 2002-11-11 | 2006-07-04 | International Business Machines Corporation | Method for testing embedded DRAM arrays |
US6961276B2 (en) * | 2003-09-17 | 2005-11-01 | International Business Machines Corporation | Random access memory having an adaptable latency |
DE102004012279B3 (de) * | 2004-03-12 | 2005-06-09 | Infineon Technologies Ag | Verfahren und Vorrichtung zum Speicherselbsttest von eingebetteten Speichern in Halbleiterchips |
US20070208968A1 (en) * | 2006-03-01 | 2007-09-06 | Anand Krishnamurthy | At-speed multi-port memory array test method and apparatus |
-
2006
- 2006-03-03 US US11/367,959 patent/US7447956B2/en active Active
-
2007
- 2007-03-05 KR KR1020087024269A patent/KR100974713B1/ko not_active IP Right Cessation
- 2007-03-05 DE DE602007007190T patent/DE602007007190D1/de active Active
- 2007-03-05 JP JP2008558495A patent/JP4806035B2/ja not_active Expired - Fee Related
- 2007-03-05 CN CN2007800072756A patent/CN101395674B/zh not_active Expired - Fee Related
- 2007-03-05 WO PCT/US2007/063339 patent/WO2007103892A2/en active Application Filing
- 2007-03-05 EP EP07757940A patent/EP1991990B1/en not_active Not-in-force
- 2007-03-05 AT AT07757940T patent/ATE471564T1/de not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6272588B1 (en) | 1997-05-30 | 2001-08-07 | Motorola Inc. | Method and apparatus for verifying and characterizing data retention time in a DRAM using built-in test circuitry |
US6182257B1 (en) | 1997-07-31 | 2001-01-30 | Mosaid Technologies Incorporated | BIST memory test system |
US20050204239A1 (en) | 2004-01-21 | 2005-09-15 | Shinya Miyaji | Method for testing semiconductor integrated circuit |
Also Published As
Publication number | Publication date |
---|---|
JP2009529202A (ja) | 2009-08-13 |
US7447956B2 (en) | 2008-11-04 |
WO2007103892A2 (en) | 2007-09-13 |
EP1991990B1 (en) | 2010-06-16 |
CN101395674B (zh) | 2013-07-24 |
JP4806035B2 (ja) | 2011-11-02 |
WO2007103892A3 (en) | 2007-11-15 |
DE602007007190D1 (de) | 2010-07-29 |
US20070220378A1 (en) | 2007-09-20 |
ATE471564T1 (de) | 2010-07-15 |
CN101395674A (zh) | 2009-03-25 |
KR20080100839A (ko) | 2008-11-19 |
EP1991990A2 (en) | 2008-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100974713B1 (ko) | 독립적으로 어드레스가능한 서브유닛을 가진 데이터 저장장치에 대한 데이터 조정 로직을 테스트하는 방법 및 장치 | |
KR101019276B1 (ko) | 앳-스피드 멀티-포트 메모리 어레이 테스트 방법 및 장치 | |
US8553481B2 (en) | Sense amplifier latch with integrated test data multiplexer | |
US7139204B1 (en) | Method and system for testing a dual-port memory at speed in a stressed environment | |
KR100327136B1 (ko) | 반도체 메모리 장치 및 이 장치의 병렬 비트 테스트 방법 | |
US6286116B1 (en) | Built-in test method for content addressable memories | |
US7178076B1 (en) | Architecture of an efficient at-speed programmable memory built-in self test | |
US7480195B2 (en) | Internal data comparison for memory testing | |
US7506225B2 (en) | Scanned memory testing of multi-port memory arrays | |
US7571357B2 (en) | Memory wrap test mode using functional read/write buffers | |
US20090254785A1 (en) | Test mode for parallel load of address dependent data to enable loading of desired data backgrounds | |
CN114662426A (zh) | 检测瞬态执行攻击的仿真状态 | |
EP1278123A1 (en) | High integrity cache directory | |
US6968427B1 (en) | Built-in self test circuit for testing cache tag array and compare logic | |
US5550974A (en) | Testable memory array which is immune to multiple wordline assertions during scan testing | |
US20140164854A1 (en) | pBIST ARCHITECTURE WITH MULTIPLE ASYNCHRONOUS SUB CHIPS OPERATING IN DIFFERRING VOLTAGE DOMAINS | |
US7702956B2 (en) | Circuit for transferring test flag signals among multiple processors, the test flag signals being used by a test controller to generate test signals | |
US20100079162A1 (en) | Data processing device and methods thereof | |
US20070274142A1 (en) | Method and device of generating test circuit for semiconductor device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130729 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140730 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160629 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |