KR101014413B1 - 데이터 캐쉬가 내장된 반도체 집적회로 및 그것의앳-스피드-테스트 방법 - Google Patents

데이터 캐쉬가 내장된 반도체 집적회로 및 그것의앳-스피드-테스트 방법 Download PDF

Info

Publication number
KR101014413B1
KR101014413B1 KR1020040043646A KR20040043646A KR101014413B1 KR 101014413 B1 KR101014413 B1 KR 101014413B1 KR 1020040043646 A KR1020040043646 A KR 1020040043646A KR 20040043646 A KR20040043646 A KR 20040043646A KR 101014413 B1 KR101014413 B1 KR 101014413B1
Authority
KR
South Korea
Prior art keywords
address
data cache
cache
chip memory
data
Prior art date
Application number
KR1020040043646A
Other languages
English (en)
Other versions
KR20050118515A (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 삼성전자주식회사
Priority to KR1020040043646A priority Critical patent/KR101014413B1/ko
Priority to US11/096,137 priority patent/US7173839B2/en
Priority to JP2005162840A priority patent/JP4833586B2/ja
Publication of KR20050118515A publication Critical patent/KR20050118515A/ko
Application granted granted Critical
Publication of KR101014413B1 publication Critical patent/KR101014413B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/24Marginal checking or other specified testing methods not covered by G06F11/26, e.g. race tests
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0401Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C2029/1806Address conversion or mapping, i.e. logical to physical address

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

여기에 개시된 데이터 캐쉬가 내장된 반도체 집적회로 및 그것의 앳-스피드-테스트 방법은, 데이터 캐쉬의 어드레스 디코딩시 일정 비트들을 고려하지 않고 디코딩을 수행하여, 데이터 캐쉬의 복수 개의 어드레스를 소정의 어드레스 단위마다 온칩 메모리의 하나의 어드레스로 매핑시켜 준다. 그리고, 디코딩된 어드레스를 이용하여 데이터 캐쉬의 N개의 서로 다른 어드레스에 대한 N회의 리드-미스(read-miss), N회의 기입-미스(write-miss), 그리고 N회의 라인필 및 캐스트아웃 동작에 대한 테스트를 모두 수행한다. 그 결과, 데이터 캐쉬 보다 작은 사이즈를 갖는 온칩 메모리를 가지고도 데이터 캐쉬에 대한 앳-스피드-테스트를 충분히 수행할 수 있게 된다.

Description

데이터 캐쉬가 내장된 반도체 집적회로 및 그것의 앳-스피드-테스트 방법{Large scale integrated circuit with data cache and at speed test method thereof}
도 1은 본 발명이 적용되는 반도체 집적회로의 블록도;
도 2는 도 1에 도시된 데이터 캐쉬의 구조를 보여주는 도면;
도 3은 도 2에 도시된 구조를 가지는 데이터 캐쉬의 캐쉬 미스 발생 예를 보여주는 도면;
도 4 및 도 5는 도 1에 도시된 유사 어드레스 디코더의 어드레스 디코딩 예를 보여주는 도면;
도 6은 최소 메모리 사이즈의 온칩 메모리에 대한 유사 어드레스 영역의 구성을 보여주는 도면;
도 7은 본 발명의 바람직한 실시예에 따른 데이터 캐쉬의 앳-스피드-테스트 방법을 개략적으로 보여주는 도면; 그리고
도 8은 본 발명의 바람직한 실시예에 따른 데이터 캐쉬의 앳-스피드-테스트 방법의 상세 흐름도이다.
*도면의 주요 부분에 대한 부호의 설명*
100 : 반도체 집적회로 110 : 데이터 캐쉬
120 : 중앙처리장치(CPU) 140 : 온칩 메모리
160 : 유사 어드레스 디코더
본 발명은 반도체 집적회로의 테스트에 관한 것으로, 좀 더 구체적으로는 반도체 집적회로에 내장된 데이터 캐쉬를 위한 앳-스피드-테스트 장치 및 방법에 관한 것이다.
반도체 공정이 발전하면서 최근 개발되고 있는 반도체 집적회로는 중앙처리장치(Central Processing Unit ; CPU)와 캐쉬 메모리가 단일 칩으로 집적된 SOC(system on a chip) 형태로 개발되는 경향을 보이고 있다. CPU와 캐쉬 메모리를 단일 칩으로 집적하는 경우, 데이터 입/출력 속도가 향상되고, 그 결과 CPU의 전체 성능이 향상되는 효과를 얻을 수 있다. 그러나, 제조 공정의 불균형 등으로 인해 반도체 집적회로에 불량이 발생될 수 있으며, 이 같은 불량을 검출하기 위해서는 반도체 집적회로의 실제 동작 속도에 맞추어 테스트를 수행하는 앳-스피드-테스트(at speed test)가 많이 사용되고 있다.
현재 주로 사용되고 있는 앳-스피드-테스트용 테스터의 동작 주파수는 약 80MHz 정도인데 비해, 반도체 집적회로의 동작 주파수는 100MHz 이상부터 시작하여 1GHz가 넘는 것도 있다. 최근에는 300MHz 이상의 고속 동작이 가능한 테스터가 등장하고 있으나 가격이 매우 고가이고, 고속의 테스터를 이용한다 하더라도 테스터 와 반도체 집적회로를 연결시키는 복수 개의 외부 핀(즉, 외부 단자)들에 존재하는 핀간의 기생 용량 때문에 동작 주파수에 영향을 끼치게 된다.
이와 같은 문제를 해결하기 위해, 반도체 집적회로 내부적으로는 고속의 온칩 PLL 클럭(On-chip PLL(Phase-Locked Loop) clock)을 사용하여 고속의 테스트를 수행하고, 테스트 결과만 저속의 테스터로 전송하여 확인하는 방법이 사용되고 있다. 이 경우, 테스트 패턴들은 반도체 집적회로의 외부에 위치한 오프칩 메모리(off-chip memory) 또는 내부에 위치한 온칩 메모리(on-chip memory)에 저장될 수 있는데, 시스템의 성능을 저하시키지 않고 최적의 앳-스피드-테스트를 수행하기 위해서는 오프칩 메모리보다는 온칩 메모리를 사용하는 것이 보다 바람직하다.
일본특허공보 제2003-139818호에는 테스터에 의해 온칩 메모리에 미리 저장된 테스트 패턴을 이용하여 집적회로 내부에서 자체적으로 앳-스피드-테스트를 수행하고, 테스트 수행 결과를 외부의 저속 테스터로 전송하는 기술이 개시되어 있다. 그러나, 상기 테스트 방법에서 데이터 캐쉬 전 영역의 동작을 충분히 테스트하기 위해서는, 반드시 데이터 캐쉬(data cache) 사이즈 보다 큰 온칩 메모리가 집적회로 내에 구비되어야만 하기 때문에, 반도체 집적회로의 사이즈가 커지고, 집적도가 떨어지는 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는, 데이터 캐쉬 사이즈 보다 작은 온칩 메모리를 가지고도 반도체 집적회로에 내장된 데이터 캐쉬를 앳-스피드-테스트 할 수 있는 장치 및 방법을 제공하는데 있다.
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 반도체 집적회로는: 제 1 데이터 저장 영역을 갖는 데이터 캐쉬와; 상기 데이터 캐쉬의 상기 제1 데이터 저장 영역보다 작은 제2 데이터 저장 영역을 갖고, 테스트 데이터를 저장하는 온칩 메모리; 그리고 상기 온칩 메모리에 저장된 상기 테스트 데이터에 대한 액세스가 요구될 때 상기 제1 데이터 저장 영역이 상기 제2 저장 영역으로 매핑되도록 어드레스를 디코딩하는 어드레스 디코더를 포함하는 것을 특징으로 한다.
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 반도체 집적회로를 위한 앳-스피드-테스트 시스템은: 데이터 캐쉬의 데이터 저장 영역이 상기 데이터 캐쉬 보다 작은 데이터 저장 영역을 갖는 온칩 메모리로 매핑될 수 있도록 어드레스를 디코딩하고, 상기 온칩 메모리에 저장된 테스트 데이터를 이용하여 상기 디코딩된 어드레스별로 상기 데이터 캐쉬에 대한 리드-미스, 기입-미스, 그리고 라인필 및 캐스트아웃 동작을 수행하는 반도체 집적회로; 그리고 상기 반도체 집적회로 외부에서 상기 데이터 캐쉬의 동작 수행 결과를 받아들여 상기 데이터 캐쉬의 결함 여부를 분석하는 테스트 회로를 포함하는 것을 특징으로 한다.
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 반도체 집적회로에 내장된 온칩 메모리를 이용하여 데이터 캐쉬를 앳-스피드- 테스트하는 방법은: (a) 상기 데이터 캐쉬의 어드레스 영역을 상기 데이터 캐쉬보다 작은 상기 온칩 메모리의 어드레스 영역으로 디코딩하는 단계; 그리고 (b) 상기 디코딩된 어드레스에 응답해서 상기 온칩 메모리로부터 테스트 데이터를 읽어들여 상기 데이터 캐쉬의 리드-미스, 기입-미스, 그리고 라인필 및 캐스트아웃을 테스트하는 단계를 포함하는 것을 특징으로 한다.
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 반도체 집적회로에 내장된 온칩 메모리를 이용하여 데이터 캐쉬를 앳-스피드-테스트하는 방법은: (a) 상기 데이터 캐쉬의 어드레스 영역을 상기 데이터 캐쉬보다 작은 상기 온칩 메모리의 어드레스 영역으로 디코딩하는 단계; (b) 상기 디코딩된 어드레스에 응답해서 상기 온칩 메모리로부터 테스트 데이터를 읽어들여 상기 데이터 캐쉬에 대한 리드-미스, 기입-미스, 그리고 라인필 및 캐스트아웃 동작을 수행하고, 상기 수행 결과를 상기 반도체 집적회로 외부의 테스트장치로 출력하는 단계; 그리고 (c) 상기 테스트 장치에서 상기 데이터 캐쉬의 동작 수행 결과를 분석하여 상기 데이터 캐쉬의 결함 여부를 판단하는 단계를 포함한다.
바람직한 실시예에 있어서, 상기 데이터 캐쉬가 N개의 어드레스를 가지는 경우, 2N개의 어드레스를 상기 온칩 메모리의 어드레스 영역으로 디코딩하되, 상기 데이터 캐쉬의 어드레스 비트 중 적어도 하나 이상이 어드레스 디코딩시 고려되지 않는 비 고려 어드레스 비트(don't care address bits)로 사용되는 것을 특징으로 한다.
바람직한 실시예에 있어서, 상기 데이터 캐쉬가 2n개의 세트를 가지고, 각각의 세트가 2s개의 블록을 가지고, 1개의 캐쉬 블록 사이즈가 2b바이트이며, 전체 캐쉬 사이즈가 2(s+b+n)바이트이고, 상기 온칩 메모리가 단일 세트 사이즈에 해당되는 2(s+b)바이트의 어드레스 영역을 가지는 경우, 상기 비 고려 어드레스 비트로 n+1 비트가 할당되고, 상기 온칩 메모리가 단일 블록 사이즈에 해당되는 2b바이트의 어드레스 영역을 가지는 경우, 상기 비 고려 어드레스 비트로 n+s+1 비트가 할당되는 것을 특징으로 한다.
(실시예)
이하 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
본 발명의 신규한 데이터 캐쉬가 내장된 반도체 집적회로 및 그것의 앳-스피드-테스트 방법은, 데이터 캐쉬의 어드레스 디코딩시 일정 비트들을 고려하지 않고 디코딩을 수행하여, 데이터 캐쉬의 복수 개의 어드레스를 소정의 어드레스 단위마다 온칩 메모리의 하나의 어드레스로 매핑한다. 그리고, 디코딩된 어드레스를 이용하여 데이터 캐쉬의 N개의 서로 다른 어드레스에 대한 N회의 리드-미스(read-miss), N회의 기입-미스(write-miss), 그리고 N회의 라인필 및 캐스트아웃 동작에 대한 테스트를 모두 수행한다. 그 결과, 데이터 캐쉬 보다 작은 사이즈를 갖는 온칩 메모리를 가지고도 데이터 캐쉬에 대한 앳-스피드-테스트를 충분히 수행할 수 있게 된다.
도 1은 본 발명이 적용되는 반도체 집적회로(100)의 블록도로서, 반도체 집적회로(100)와 테스터(10)와의 연결 관계가 도시되어 있다.
도 1을 참조하면, 본 발명에 따른 반도체 집적회로(100)는 데이터 캐쉬(110)와, 데이터 캐쉬(110)가 내장된 CPU(Central Processing Unit ; 120)와, 반도체 집적회로(100)를 동작시키는데 필요한 고속의 클럭 신호를 발생하는 PLL(130)과, 반도체 집적회로(100)에 내장된 온칩 메모리(140)와, 온칩 메모리(140)의 입출력 동작을 제어하는 메모리 컨트롤러(150)와, 데이터 캐쉬(110) 보다 작은 온칩 메모리(140)로도 데이터 캐쉬(110)의 모든 기능을 충분히 테스트할 수 있도록 유사 어드레스(synonym address)를 디코딩 하는 유사 어드레스 디코더(synonym address decoder ; 160)와, 복수 개의 로직 블록들(180), 그리고 반도체 집적회로(100)에 구비된 기능블록들 사이에서 신호 및 데이터를 전달하는 버스(190)를 포함한다.
도 1에 도시된 바와 같이, 최근 개발되고 있는 반도체 집적회로, 이른바 SOC(system on a chip)는 수 백MHz로 동작하는 캐쉬 내장형 CPU(120)와, 100MHz 이상으로 동작하는 메모리 컨트롤러(150) 등을 구비하고 있다. 고속 SOC의 최대 지연 경로(critical timing path)로는 캐쉬 라인필(cache line fill)과 빅팀 캐스트아웃(victim cast out)이 있으며, 이러한 최대 지연 경로를 클럭을 직접 인가하여 앳-스피드-테스트하는 데는 IO(Input Output) 특성상 여러 가지 어려움이 따르게 되므로, 본 발명에서는 수백 MHz의 클럭을 외부 테스터(10)에서 인가하는 대신 내부 PLL(130)에서 발생된 고속 클럭 신호를 사용하여 SOC를 테스트하되, 데이터 캐쉬(110) 보다 작은 사이즈의 온칩 메모리(140)를 이용하여 테스트를 수행할 수 있도록 유사 어드레스 디코더(160)로부터 디코딩된 유사 어드레스(synonym address)를 이용하여 테스트를 수행한다. 즉, CPU(120)는 캐쉬 미스시 온칩 메모리(140)에 저장된 테스트 데이터를 읽어들여 데이터 캐쉬(110)의 N개의 서로 다른 어드레스에 대한 N회의 리드-미스(read-miss), N회의 기입-미스(write-miss), 그리고 N회의 라인필 및 캐스트아웃 동작을 수행한다. 그리고, 상기 동작의 수행 결과는 반도체 집적회로(100) 외부에 연결된 테스터(10)로 전송되어, 테스트 결과가 판단된다. 그 결과, 저속의 테스터(10)를 이용하여 고속의 반도체 집적회로(100)를 테스트하되, 데이터 캐쉬(110) 보다 작은 사이즈의 온칩 메모리(140)를 가지고 반도체 집적회로(100)에 대한 테스트를 충분히 수행할 수 있게 된다.
일반적으로, 반도체 집적회로(100)의 성능(performance)은 회로 안의 가능한 모든 신호 전달 경로들(signal propagation path) 중 가장 긴 경로에 의해 결정되고, 이것에 의해 회로의 성능이 결정되므로, 이를 최대 지연 경로 또는 임계경로라 한다. 따라서, 아래에서는 도 1에 도시된 반도체 집적회로(100)의 최대 지연 경로, 즉 데이터 캐쉬(110)의 캐쉬 라인필(cache line fill)과 빅팀 캐스트아웃(victim cast out)에 대해 살펴보기 위해 데이터 캐쉬(110)에 대한 기본 구조를 살펴보기로 한다.
프로그램을 분석해 보면, 주어진 시간 동안 최근에 썼던 데이터나 명령어들을 다시 쓰는 경향을 가지고 있다. 이를 참조의 지역성(locality of reference)이라 한다. 이러한 현상은 컴퓨터 프로그램에서 프로그램 루프와 서브루틴이 많이 쓰 이고 있고, 분기 명령어를 만나기 전까지 명령어가 순차적으로 요청된다는 사실에서 쉽게 이해될 수 있다. 이처럼 자주 참조되는 프로그램과 데이터는 속도가 빠른 캐쉬(cache) 메모리에 저장된다. CPU는 메모리에 접근할 필요가 있을 때, 먼저 캐쉬를 조사한 후 원하는 워드가 캐쉬에서 발견되면 이를 읽어들이고, 발견되지 않으면 메인 메모리에 접근한다. CPU가 참조하려는 데이터나 명령어가 캐쉬에 존재하면 이를 캐쉬 히트(cache hit)라 부르고, 캐쉬에 존재하지 않으면 이를 캐쉬 미스(cache miss)라 부른다. 캐쉬 히트가 발생하면 대기 시간 없이 CPU가 동작할 수 있으나, 캐쉬 미스가 발생하면 메모리까지 가서 데이터나 명령어를 참조해야 하므로 시간 지연이 발생하게 된다.
캐쉬 메모리의 기본적인 특성은 빠른 접근 시간으로, 캐쉬에서 필요한 데이터를 찾는데 거의 시간이 걸리지 않도록 해야 한다. 메인 메모리로부터 캐쉬 메모리로 데이터를 전송하는 것을 매핑(mapping) 프로세스라 하며, 매핑 프로세스의 종류에 따라 캐쉬는 풀리 어소시어티브 캐쉬(Fully associative 캐쉬), 다이렉트 매핑 캐쉬(Direct mapped cache), 그리고 N-웨이 세트-어소시어티브 캐쉬(N-way set-associative cache)로 구분된다.
도 2는 도 1에 도시된 데이터 캐쉬(110)의 구조를 보여주는 도면으로, N-웨이 세트 어소시어티브 데이터 캐쉬(N-way set associative data cache)의 논리적 구조가 도시되어 있다.
N-웨이 세트-어소시어티브 캐쉬는, 캐쉬 메모리 내의 하나의 엔트리에 매핑될 수 있는 블록들을 하나의 세트(set)로 묶은 것을 의미한다. 예를 들어, 2-웨이 세트-어소시어티브 캐쉬는 같은 블록 인덱스(block index)를 갖는 블록이 캐쉬 메모리에 두 개 저장될 수 있다는 것을 의미한다. 이 경우, 다이렉트 매핑 캐쉬 보다 미스율(miss rate)을 줄일 수 있는 장점이 있으며, 다이렉트 매핑 캐쉬는 1-웨이 세트-어소시어티브 캐쉬라고도 할 수 있다.
도 2를 참조하면, N-웨이 세트-어소시어티브 캐쉬로 구성된 데이터 캐쉬(110)는 N개(즉, 2n개)의 세트를 가지며, 각각의 세트는 S개(즉 2s개)의 블록(block)을 가진다. 여기서, 1개의 캐쉬 블록 사이즈(cache block size)는 2b바이트(bytes)이고, 전체 캐쉬 사이즈는 2(s+b+n)바이트이다. 예를 들어, ARM사의 ARM1020E는 32Kbytes의 데이터(즉, 32Kbytes = 215=2(s+b+n)=2(4+5+6))를 가지며, 64-웨이 세트-어소시어티브, 32 바이트 블록 구조로 구성된다. 그러므로, ARM사의 ARM1020E의 데이터 캐쉬의 파라미터 값은 각각 N=64, n=6(64=2n이므로, n=6), S=16, s=4(16=2s이므로, s=4), b=5(32=2b이므로, b=5)와 같다. ARM사의 ARM1020E에 대한 보다 상세한 구성은 2002년 ARM사에서 발행된 "ARM1020E Technical Reference Manual"에 상세히 개시되어 있다.
도 3은 도 2에 도시된 구조를 가지는 데이터 캐쉬(110)의 캐쉬 미스 발생 예를 보여주는 도면이다.
도 3을 참조하면, 동일한 세트 인덱스(set index) K를 가지면서 서로 다른 어드레스를 가지는 N+1 개의 데이터 액세스(data access)는, 데이터 캐쉬 미스(data cache miss)를 유발하게 됨을 알 수 있다. 예를 들어, ARM1020E 데이터 캐쉬의 경우, address[8:5]가 동일한 65개의 서로 다른 어드레스 데이터를 액세스하면 데이터 캐쉬 미스가 발생하게 된다. 아래에서 상세하게 설명하겠지만, 본 발명에서는 캐쉬 미스의 발생시 유사 어드레스를 디코딩하고, 이를 이용하여 테스트를 수행하게 된다. 유사 어드레스의 디코딩 방법에 대해 살펴보면 다음과 같다.
도 4 및 도 5는 도 1에 도시된 유사 어드레스 디코더(160)의 어드레스 디코딩 예를 보여주는 도면이다.
종래에는 데이터 캐쉬(110)의 각 어드레스가 온칩 메모리(140)의 각기 다른 어드레스로 디코딩 되어야만 했기 때문에, 테스트하고자 하는 데이터 캐쉬(110)보다 더 큰 온칩 메모리(140)가 반드시 구비되어야만 했다. 그러나, 본 발명에서는 데이터 캐쉬(110)의 각 어드레스를 온칩 메모리(140)의 각기 다른 어드레스로 디코딩 하는 대신, 일정 어드레스 단위마다 데이터 캐쉬(110)의 복수 개의 어드레스를 온칩 메모리(140)의 하나의 어드레스로 디코딩 한다. 즉, 본 발명에 따른 유사 어드레스 디코더(160)는 데이터 캐쉬(110)의 각 어드레스에 대한 디코딩시, 어드레스의 태그(tag) 필드에 포함된 일정 비트들은 고려하지 않고 디코딩 함으로써, 데이터 캐쉬(110)의 복수 개의 어드레스를 일정 어드레스 단위마다 온칩 메모리(140)의 하나의 어드레스로 매핑시킨다.
예를 들어, 32 비트 어드레스에 8 비트의 비 고려 어드레스 비트(don't care address bits)가 존재하는 경우, 아래의 [표 1]과 같이 28개의 어드레스마다 하나의 온칩 메모리(140)의 어드레스 값이 디코딩 된다. [표 1]에 표시된 어드레스는 8 비트의 비 고려 어드레스 비트를 가지는 어드레스 디코딩 결과의 일 부분을 표시한 것이다.
데이터 캐쉬 어드레스 온칩 메모리 어드레스
F000-0000 F000-0000
F000-0001 F000-0000
F000-0010 F000-0000
F000-00FF F000-0000
F000-0100 F000-0100
F000-0101 F000-0100
F000-01FF F000-0100
본 발명에서는 데이터 캐쉬(110)의 어드레스를 온칩 메모리(140)의 각기 다른 어드레스로 디코딩하지 않고 [표 1]과 같이 데이터 캐쉬(110)의 복수 개의 어드레스를 온칩 메모리(140)의 하나의 어드레스로 디코딩 한다. 그 이유는 도 7 및 도 8에서 상세히 설명되겠지만, 본 발명에서는 [표 1]과 같은 방식으로 디코딩된 어드레스만을 가지고도 데이터 캐쉬(110)의 전 어드레스 영역에 대한 리드-미스(read-miss), 기입-미스(write-miss), 그리고 라인필 및 캐스트아웃 동작에 대한 테스트를 모두 수행할 수 있기 때문이다.
이와 같이 데이터 캐쉬(110)의 복수 개의 어드레스가 일정 개수마다 온칩 메모리(140)의 하나의 어드레스로 디코딩 되는 것을 유사 어드레스 디코딩(synonym address decoding)이라 하고, 유사 어드레스 디코딩을 위해 고려하지 않는 비 고려 어드레스 비트(don't care address bits)를 유사 어드레스 비트(synonym address bits)라 한다. 그리고, 상기 유사 어드레스 디코딩 결과 얻어진 어드레스를 유사 어드레스(synonym address)라 하며, 유사 어드레스(synonym address)가 차지하는 어드레스 영역을 유사 어드레스 영역(synonym address space)이라 한다.
도 4에는 단일 세트 사이즈에 해당되는 2(s+b)바이트의 어드레스 영역을 가지는 온칩 메모리(140)를 가지고 2(n+s+b)바이트의 어드레스 영역을 가지는 데이터 캐쉬(110)를 테스트하는데 필요한 온칩 메모리(140)의 유사 어드레스 영역이 표시되어 있다.
도 4에서 2N 세트 사이즈의 어드레스 영역을 1개 세트 사이즈의 어드레스 영역을 가지는 온칩 메모리(140)로 매핑하기 위해서는, 유사 어드레스 디코더(160)가 총 n+1 비트의 유사 어드레스 비트를 가져야 한다. 예를 들어, ARM1020E 데이터 캐쉬를 테스트하는데 사용될 온칩 메모리(140)의 크기가 단일 세트 사이즈인 512 바이트라면, 64개 세트의 2배인 128개(즉, 2(n+1)=27=128) 세트 사이즈의 어드레스 영역을 1개 세트 사이즈의 온칩 메모리(140)로 매핑할 수 있는 어드레스 디코딩 결과를 가져야 한다.
ARM1020E 데이터 캐쉬의 경우 n 파라미터의 값은 6이므로, 유사 어드레스 디코더(160)는 n+1에 해당되는 7비트의 유사 어드레스 비트를 고려하지 않고 어드레스 디코딩을 수행한다. 그 결과, 도 4와 같이 2(n+s+b+1)바이트의 어드레스 영역을 2(s+b)바이트의 물리적 어드레스 영역을 가지는 온칩 메모리(140)로 매핑할 수 있게 된다. 이 경우, 유사 어드레스 디코더(160)가 총 n+1 비트의 유사 어드레스 비트를 가지기 때문에, 데이터 캐쉬(110)의 전체 어드레스(full address)가 디코딩 될 필요가 없으며, 그에 따라 디코딩 속도도 빨라지게 된다. 이 때, 만일 태그 필드의 n+1개의 비트가 디코딩 되지 않을 경우에는 캐쉬 미스가 발생하게 된다.
여기서, 데이터 캐쉬(110)가 N 세트 사이즈의 어드레스 영역을 가짐에도 불구하고 온칩 메모리(140)가 2N 세트 사이즈의 가상 어드레스 영역과 매핑되도록 어드레스를 디코딩하는 이유는, N 세트 사이즈의 어드레스를 가지고 데이터 캐쉬(110)에 대한 리드-미스(read-miss) 및 기입-미스(write-miss)에 대한 테스트를 수행하고, 나머지 N 세트 사이즈의 어드레스를 사용하여 데이터 캐쉬(110)에 대한 라인필 및 캐스트아웃에 대한 테스트를 수행하기 때문이다. 이에 대한 내용은 도 7 및 도 8을 참조하여 아래에서 상세히 설명될 것이다.
계속해서 도 5를 참조하면, 도 5에는 단일 블록 사이즈에 해당되는 2b바이트의 어드레스 영역을 가지는 온칩 메모리(140)를 가지고 데이터 캐쉬(110)를 테스트하는데 필요한 유사 어드레스 영역이 표시되어 있다. 2(n+s+1) 개의 블록 사이즈의 어드레스 영역을 1개의 블록 사이즈의 어드레스 영역으로 매핑하기 위해서는, 유사 어드레스 디코더(160)가 총 n+s+1 비트의 유사 어드레스 비트를 가져야 한다.
예를 들어, ARM1020E 데이터 캐쉬를 테스트하는데 사용될 온칩 메모리(140)의 크기가 단일 블록 사이즈인 32 바이트라면, 1024개 블록의 2배인 2048개(즉, 2(n+s+1)=211=2048) 블록 사이즈의 어드레스 영역을 1개 블록 사이즈의 어드레스 영역을 가지는 온칩 메모리(140)로 매핑할 수 있는 어드레스 디코딩 결과를 가져야 한다. ARM1020E 데이터 캐쉬의 경우, n 파라미터의 값은 6이고, s 파라미터 값은 4이므로, 유사 어드레스 디코더(160)는 n+s+1에 해당되는 11비트의 어드레스를 고려하지 않고 어드레스 디코딩을 수행한다. 그 결과, 도 5와 같이 2b바이트의 물리적 어드레스 영역을 가지는 온칩 메모리(140)를 가지고도 2(n+s+b+1)바이트의 어드레스 영역을 가지는 데이터 캐쉬(110)를 테스트할 수 있게 되며, 이를 위해 태그 필드의 n+1 비트와 세트 인덱스의 s 비트가 디코딩 되지 않을 때에는 캐쉬 미스가 발생하게 된다.
앞에서 설명한 바와 같이, 온칩 메모리(140)가 단일 세트 사이즈에 해당되는 2(s+b)바이트의 어드레스 영역을 가지는 경우에는 총 n+1 비트의 유사 어드레스 비트를 가지는 반면, 온칩 메모리(140)가 단일 블록 사이즈에 해당되는 2b바이트의 어드레스 영역을 가지는 경우에는 총 n+s+1 비트의 유사 어드레스 비트를 가지게 된다. 즉, 유사 어드레스 비트를 크기는 온칩 메모리(140)의 크기가 작아질수록 커지게 되며, 도 5와 같이 온칩 메모리(140)가 최소 메모리 사이즈(즉, 단일 블록 사이즈)를 가질 경우의 유사 어드레스 비트의 크기는 다음과 같이 결정된다.
도 6은 최소 메모리 사이즈의 온칩 메모리(140)에 대한 유사 어드레스 영역의 구성을 보여주는 도면이다. 도 6의 (a)에는 데이터 캐쉬(110)의 풀 어드레스 영 역(full address space)과, 데이터 캐쉬(110)의 사이즈, 그리고 데이터 캐쉬(110)를 테스트하는데 사용되는 온칩 메모리(140)의 사이즈가 각각 도시되어 있다. 그리고, 도6의 (b)에는 데이터 캐쉬(110)보다 작은 사이즈의 온칩 메모리(140)로 데이터 캐쉬(110)를 테스트하는데 필요한 유사 어드레스 영역 및 디코딩 어드레스 영역이 도시되어 있다.
도 6을 참조하면, 유사 어드레스 영역의 사이즈(ADD_SIZESYNONYM)와 온칩 메모리(140)의 어드레스 영역의 사이즈(ADD_SIZEON-CHIP)의 합은, [수학식 1]과 같이 데이터 캐쉬(110)의 어드레스 영역의 사이즈(ADD_SIZED-CACHE) 보다 크게 구성되어야 함을 알 수 있다.
ADD_SIZED-CACHE < ADD_SIZESYNONYM + ADD_SIZEON-CHIP
즉, 본 발명에서 데이터 캐쉬(110)의 어드레스 영역의 사이즈(ADD_SIZED-CACHE)는 2n+s+b 바이트이므로, 유사 어드레스 사이즈(ADD_SIZESYNONYM)와 온칩 메모리(140)의 어드레스 사이즈(ADD_SIZEON-CHIP)의 합이 2n+s+b+1 바이트(여기서, n+s+b+1 = {(n+1)+(s-x)}+(x+b)) 이상이 되도록 구성하여 어드레스를 디코딩 한다.
예를 들어, 최소 메모리 사이즈에 해당되는 단일 블록 사이즈(즉, 32 바이트)의 크기를 가지는 온칩 메모리(140)를 이용하여 ARM1020E 데이터 캐쉬를 테스트 하기 위해서는, 1024개 블록의 2배인 2048개(즉, 2(n+s+1)=211=2048) 블록 사이즈의 어드레스 영역을 1개 블록 사이즈의 어드레스 영역을 가지는 온칩 메모리(140)로 매핑할 수 있어야 한다. 그러므로, [수학식 1]과 같이 n+s+1에 해당되는 11비트의 유사 어드레스 비트를 가지고 어드레스 디코딩을 수행하면, 도 5와 같이 2b바이트의 물리적 어드레스 영역을 가지는 온칩 메모리(140)가 마치 2(n+s+b+1)바이트의 어드레스 영역을 가지는 온칩 메모리(140)처럼 동작할 수 있게 되어, 작은 사이즈의 온칩 메모리(140)를 가지고도 이보다 더 큰 데이터 캐쉬(110)를 충분히 테스트할 수 있게 된다.
도 7은 본 발명의 바람직한 실시예에 따른 데이터 캐쉬(110)의 앳-스피드-테스트 방법을 개략적으로 보여주는 도면이고, 도 8은 본 발명의 바람직한 실시예에 따른 데이터 캐쉬(110)의 앳-스피드-테스트의 상세 흐름도이다. 도 7 및 도 8에는 단일 세트 사이즈를 가지는 온칩 메모리(140)를 위한 앳-스피드-테스트 방법이 도시되어 있다.
도 7 및 도 8을 참조하면, 본 발명에 따른 데이터 캐쉬의 앳-스피드-테스트 방법은 먼저 테스트를 수행하기 전에 데이터 캐쉬(110)를 오프시킨 후(1100 단계), 온칩 메모리(140)에 테스트 패턴0(Pattern 0)을 저장한다(1120 단계). 그리고, 데이터 캐쉬(110)를 온(on) 시킨다(1140 단계). 그리고 나서, 데이터 캐쉬(110)에 리드 미스가 발생하게 되면 도 7의 (a)와 같이 유사 어드레스 영역에 속하는 데이터 캐쉬(110)의 N 개의 어드레스(ADD_1∼ADD_N-1)를 읽어들이고, 이들 어드레스가 가 리키는 온칩 메모리(140)의 해당 어드레스에 저장되어 있는 테스트 패턴0(Pattern 0)을 데이터 캐쉬(110)의 해당 어드레스 영역에 저장하는 라인필을 수행한다(1200 단계). 그리고 나서, 리드 미스가 N회 수행되었는지 여부(즉, 온칩 메모리(140)로부터 테스트 패턴0(Pattern 0)을 읽어들이는 동작이 N회 수행되었는지 여부)를 판별한다(1250 단계).
1250 단계에서의 판별 결과, 리드 미스가 N회 수행되지 않았으면 해당 캐쉬(110)에 불량이 발생한 것으로 판정한다. 그리고, 리드 미스가 N회 수행되었으면, 1200 단계에서 읽어들인 어드레스(ADD_1∼ADD_N-1)를 다시 읽어들인다. 그리고, 해당 어드레스에 테스트 패턴0(Pattern 0)이 올바로 저장되어 있는지를 비교하고(1300 단계), 상기 비교 결과를 근거로 하여 리드 히트가 N회 발생되었는지 여부를 판별한다(1350 단계).
1350 단계에서의 판별 결과, 리드 히트가 N회 발생하지 않았으면 해당 캐쉬(110)에 불량이 발생한 것으로 판정한다. 그리고, 리드 히트가 N회 발생했으면, 도 7의 (b)와 같이 N 개의 어드레스(ADD_1∼ADD_N-1) 각각에 대해 서로 다른 값을 가지는 제1 내지 제N 테스트 패턴(Pattern 1∼Pattern N)을 기입한 후, 기입 히트가 발생되었는지 여부를 비교한다(1400 단계). 여기서, 제1 내지 제N 테스트 패턴(Pattern 1∼Pattern N)은 서로 다른 값을 가지도록 일정 숫자를 더하거나 빼줌에 의해서 발생된 데이터를 사용한다.
1400 단계에서의 비교 결과, 기입 히트가 N회 발생하지 않았으면 해당 캐쉬(110)에 불량이 발생한 것으로 판정한다. 그리고, 기입 히트가 N회 발생했으 면, 도 7의 (c) 및 (d)와 같이 상기 N 개의 어드레스(ADD_1∼ADD_N-1)와는 다른 어드레스 값을 가지는 N 개의 어드레스(ADD_N∼ADD_2N-1)를 읽어들여 각 어드레스별로 라인필을 수행함과 동시에 캐스트아웃을 N회 수행한다(1500 단계). 1500 단계에서 라인필 및 캐스트아웃에 사용되는 N 개의 어드레스(ADD_N∼ADD_2N-1)는 앞에서 사용된 N 개의 어드레스(ADD_1∼ADD_N-1)와 동일한 유사 어드레스 영역에 속하지만(즉, 앞에서 사용된 N 개의 어드레스(ADD_1∼ADD_N-1)와 동일한 온칩 메모리(140)의 어드레스 영역으로 매핑되지만) 앞에서 사용된 N 개의 어드레스(ADD_1∼ADD_N-1)와는 각각 다른 어드레스 값을 가진다.
그 결과, 온 칩 메모리(140)에 저장되어 있던 테스트 패턴0(Pattern 0)은 데이터 캐쉬(110)의 세트 0에 채워지게 되고, 세트 0에 저장되어 있던 테스트 패턴1(Pattern 1)은 온 칩 메모리(140)로 캐스트아웃 된다. 그리고, 온 칩 메모리(140)에 저장되어 있던 테스트 패턴1(Pattern 1)은 데이터 캐쉬(110)의 세트 1에 채워지게 되고, 세트 1에 저장되어 있던 테스트 패턴2(Pattern 2)는 온 칩 메모리(140)로 캐스트아웃 된다. 즉, 데이터 캐쉬(110)에 리드 미스가 발생될 때마다 테스트 패턴 i-1(Pattern i-1)이 라인필되고, 테스트 패턴 i(Pattern i)가 캐스트아웃된다. 그리고, N 개의 어드레스(ADD_N∼ADD_2N-1) 각각에 대해 라인필 되는 테스트 패턴 i-1(Pattern i-1)과 캐스트아웃 되는 테스트 패턴 i(Pattern i)가 일치하는지 여부가 판별된다(1550 단계).
1550 단계에서의 비교 결과, 라인필 되는 테스트 패턴 i-1(Pattern i-1)과 캐스트아웃 되는 테스트 패턴 i(Pattern I)가 서로 일치하지 않으면 해당 캐쉬(110)에 불량이 발생한 것으로 판정한다. 그리고, 라인필 되는 테스트 패턴 i-1(Pattern i-1)과 캐스트아웃 되는 테스트 패턴 i(Pattern i)가 서로 일치하면 해당 캐쉬(110)는 정상인 것으로 판별한다. 이상에서 설명된 앳-스피드-테스트 방법은, 테스트에 사용된 데이터 캐쉬(110)는 기록캐쉬(write-back cache)이며, 리드 미스시 라인필의 내용이 수정된 더티 카피(dirty copy)의 캐스트아웃 보다 우선하고, 테스트 프로그램은 명령어 캐쉬(instruction cache)에 모두 로딩되어 있다는 가정 하에서 수행된다.
앞에서 설명한 바와 같이, 본 발명에 따른 데이터 캐쉬의 앳-스피드-테스트 방법은 데이터 캐쉬(110)가 N 개의 어드레스 영역을 가지는 경우, 2N 개의 어드레스 영역을 온칩 메모리(140)의 어드레스 영역으로 디코딩 한다. 그리고 N 개의 어드레스(ADD_1∼ADD_N-1)를 이용하여 데이터 캐쉬(110)에 대한 N회의 리드-미스(read-miss)와 N회의 기입-미스(write-miss)에 대한 테스트를 수행하고, 나머지 N 개의 어드레스(ADD_N∼ADD_2N-1)를 이용하여 데이터 캐쉬(110)에 대한 라인필 및 캐스트아웃 동작에 대한 테스트를 수행한다. 그 결과, 데이터 캐쉬(110) 보다 작은 사이즈를 가지는 온칩 메모리(140)를 가지고도 데이터 캐쉬(110)를 충분히 테스트할 수 있게 된다.
이상에서, 본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상과 같은 본 발명에 의하면, 데이터 캐쉬의 각 어드레스가 온칩 메모리의 각기 다른 어드레스로 디코딩 되는 대신, 데이터 캐쉬의 복수 개의 어드레스가 일정 어드레스 단위마다 온칩 메모리의 하나의 어드레스로 디코딩된다. 그리고 디코딩된 어드레스를 사용하여 데이터 캐쉬의 전체 어드레스 영역에 대한 리드-미스, 기입-미스, 그리고 리드-미스 및 캐스트아웃 동작을 모두 테스트할 수 있으므로, 데이터 캐쉬 보다 작은 사이즈를 갖는 온칩 메모리를 가지고도 반도체 집적회로에 내장되어 있는 데이터 캐쉬에 대한 앳-스피드-테스트를 충분히 수행할 수 있다.

Claims (27)

  1. 제 1 데이터 저장 영역을 갖는 데이터 캐쉬와;
    상기 데이터 캐쉬의 상기 제1 데이터 저장 영역보다 작은 제2 데이터 저장 영역을 갖고, 테스트 데이터를 저장하는 온칩 메모리; 그리고
    상기 온칩 메모리에 저장된 상기 테스트 데이터에 대한 액세스가 요구될 때 상기 제1 데이터 저장 영역이 상기 제2 저장 영역으로 매핑되도록 어드레스를 디코딩하는 어드레스 디코더를 포함하는 것을 특징으로 하는 반도체 집적회로.
  2. 제 1 항에 있어서,
    상기 어드레스 디코더는 상기 데이터 캐쉬가 N개의 어드레스에 해당되는 상기 제 1 데이터 저장 영역을 가지는 경우, 2N개의 어드레스가 상기 온칩 메모리의 상기 제 2 데이터 저장 영역으로 매핑되도록 어드레스를 디코딩하는 것을 특징으로 하는 반도체 집적회로.
  3. 제 1 항에 있어서,
    상기 어드레스 디코더는 상기 데이터 캐쉬의 어드레스 비트 중 적어도 하나 이상의 비트를 어드레스 디코딩에 영향을 주지 않는 비 고려 어드레스 비트(don't care address bits)로 할당하는 것을 특징으로 하는 반도체 집적회로.
  4. 제 3 항에 있어서,
    상기 데이터 캐쉬가 2n개의 세트를 가지고, 각각의 세트가 2s개의 블록을 가지고, 1개의 캐쉬 블록 사이즈가 2b바이트이며, 전체 캐쉬 사이즈가 2(s+b+n)바이트이고, 상기 온칩 메모리가 단일 세트 사이즈에 해당되는 2(s+b)바이트의 어드레스 영역을 가지는 경우,
    상기 어드레스 디코더는 상기 비 고려 어드레스 비트로 n+1 비트를 할당하는 것을 특징으로 하는 반도체 집적회로.
  5. 제 3 항에 있어서,
    상기 데이터 캐쉬가 2n개의 세트를 가지고, 각각의 세트가 2s개의 블록을 가지고, 1개의 캐쉬 블록 사이즈가 2b바이트이며, 전체 캐쉬 사이즈가 2(s+b+n)바이트이고, 상기 온칩 메모리가 단일 블록 사이즈에 해당되는 2b바이트의 어드레스 영역을 가지는 경우,
    상기 어드레스 디코더는 상기 비 고려 어드레스 비트로 n+s+1 비트를 할당하는 것을 특징으로 하는 반도체 집적회로.
  6. 제 5 항에 있어서,
    상기 비 고려 어드레스 비트의 비트 수는 상기 온칩 메모리의 어드레스 영역의 크기가 작아질수록 커지는 것을 특징으로 하는 반도체 집적회로.
  7. 제 6 항에 있어서,
    상기 비 고려 어드레스 비트의 비트 수는 상기 어드레스 디코더에서 디코딩된 어드레스 영역의 사이즈(ADD_SIZESYNONYM)와 상기 온칩 메모리의 어드레스 영역의 사이즈(ADD_SIZEON-CHIP)의 합이 상기 데이터 캐쉬의 어드레스 영역의 사이즈(ADD_SIZED-CACHE) 보다 큰 값을 가지도록 결정되는 것을 특징으로 하는 반도체 집적회로.
  8. 데이터 캐쉬의 데이터 저장 영역이 상기 데이터 캐쉬 보다 작은 데이터 저장 영역을 갖는 온칩 메모리로 매핑될 수 있도록 어드레스를 디코딩하고, 상기 온칩 메모리에 저장된 테스트 데이터를 이용하여 상기 디코딩된 어드레스별로 상기 데이터 캐쉬에 대한 리드-미스, 기입-미스, 그리고 라인필 및 캐스트아웃 동작을 수행하는 반도체 집적회로; 그리고
    상기 반도체 집적회로 외부에서 상기 데이터 캐쉬의 동작 수행 결과를 받아들여 상기 데이터 캐쉬의 결함 여부를 분석하는 테스트 회로를 포함하는 것을 특징으로 하는 반도체 집적회로를 위한 앳-스피드-테스트 시스템.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 반도체 집적회로에 내장된 온칩 메모리를 이용하여 데이터 캐쉬를 앳-스피드-테스트하는 방법에 있어서:
    (a) 상기 데이터 캐쉬의 어드레스 영역을 상기 데이터 캐쉬보다 작은 상기 온칩 메모리의 어드레스 영역으로 디코딩하는 단계; 그리고
    (b) 상기 디코딩된 어드레스에 응답해서 상기 온칩 메모리로부터 테스트 데이터를 읽어들여 상기 데이터 캐쉬의 리드-미스, 기입-미스, 그리고 라인필 및 캐스트아웃을 테스트하는 단계를 포함하는 것을 특징으로 하는 데이터 캐쉬의 앳-스피드-테스트 방법.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 반도체 집적회로에 내장된 온칩 메모리를 이용하여 데이터 캐쉬를 앳-스피드-테스트하는 방법에 있어서:
    (a) 상기 데이터 캐쉬의 어드레스 영역을 상기 데이터 캐쉬보다 작은 상기 온칩 메모리의 어드레스 영역으로 디코딩하는 단계;
    (b) 상기 디코딩된 어드레스에 응답해서 상기 온칩 메모리로부터 테스트 데이터를 읽어들여 상기 데이터 캐쉬에 대한 리드-미스, 기입-미스, 그리고 라인필 및 캐스트아웃 동작을 수행하고, 상기 수행 결과를 상기 반도체 집적회로 외부의 테스트장치로 출력하는 단계; 그리고
    (c) 상기 테스트 장치에서 상기 데이터 캐쉬의 동작 수행 결과를 분석하여 상기 데이터 캐쉬의 결함 여부를 판단하는 단계를 포함하는 것을 특징으로 하는 반도체 집적회로를 위한 앳-스피드-테스트 방법.
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
KR1020040043646A 2004-06-14 2004-06-14 데이터 캐쉬가 내장된 반도체 집적회로 및 그것의앳-스피드-테스트 방법 KR101014413B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020040043646A KR101014413B1 (ko) 2004-06-14 2004-06-14 데이터 캐쉬가 내장된 반도체 집적회로 및 그것의앳-스피드-테스트 방법
US11/096,137 US7173839B2 (en) 2004-06-14 2005-03-31 Large scale integrated circuit and at speed test method thereof
JP2005162840A JP4833586B2 (ja) 2004-06-14 2005-06-02 データキャッシュが内蔵された半導体集積回路およびそれの実速度テスト方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040043646A KR101014413B1 (ko) 2004-06-14 2004-06-14 데이터 캐쉬가 내장된 반도체 집적회로 및 그것의앳-스피드-테스트 방법

Publications (2)

Publication Number Publication Date
KR20050118515A KR20050118515A (ko) 2005-12-19
KR101014413B1 true KR101014413B1 (ko) 2011-02-15

Family

ID=35460344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040043646A KR101014413B1 (ko) 2004-06-14 2004-06-14 데이터 캐쉬가 내장된 반도체 집적회로 및 그것의앳-스피드-테스트 방법

Country Status (3)

Country Link
US (1) US7173839B2 (ko)
JP (1) JP4833586B2 (ko)
KR (1) KR101014413B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7564380B2 (en) * 2007-08-02 2009-07-21 General Electric Company Systems and methods for storing test data and accessing test data
US9037928B2 (en) * 2012-01-01 2015-05-19 Mosys, Inc. Memory device with background built-in self-testing and background built-in self-repair
CN104412327B (zh) * 2013-01-02 2019-02-12 默思股份有限公司 内建自测试以及修复装置及方法
CN103440186B (zh) * 2013-07-22 2017-02-22 记忆科技(深圳)有限公司 测试缓存加速的方法及其系统
US10176099B2 (en) * 2016-07-11 2019-01-08 Intel Corporation Using data pattern to mark cache lines as invalid

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4575792A (en) 1982-03-31 1986-03-11 Honeywell Information Systems Inc. Shared interface apparatus for testing the memory sections of a cache unit
US6161206A (en) 1998-04-30 2000-12-12 Credence Systems Corporation Pattern generator for a semiconductor integrated circuit tester
US20030120985A1 (en) 2001-12-26 2003-06-26 Richard Slobodnik Method and apparatus for memory self testing

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4167782A (en) * 1977-12-22 1979-09-11 Honeywell Information Systems Inc. Continuous updating of cache store
JP3139818B2 (ja) 1992-03-30 2001-03-05 日本碍子株式会社 固体の水分定量における正確さの検証方法
JPH05342104A (ja) * 1992-06-12 1993-12-24 Fujitsu Ltd キャッシュメモリの診断方法
JPH0689199A (ja) * 1992-09-09 1994-03-29 Fujitsu Ltd キャッシュ機能診断方法
JPH0764863A (ja) * 1993-08-30 1995-03-10 Nec Shizuoka Ltd キャッシュメモリの自動判定方式
US6199142B1 (en) 1996-07-01 2001-03-06 Sun Microsystems, Inc. Processor/memory device with integrated CPU, main memory, and full width cache and associated method
US5974579A (en) * 1996-09-03 1999-10-26 Credence Systems Corporation Efficient built-in self test for embedded memories with differing address spaces
US5805606A (en) * 1997-03-13 1998-09-08 International Business Machines Corporation Cache module fault isolation techniques
JPH1139228A (ja) * 1997-07-15 1999-02-12 Pfu Ltd キャッシュメモリ置き換え制御機構の診断方法およびその診断装置並びに記録媒体
US6748558B1 (en) * 2000-05-10 2004-06-08 Motorola, Inc. Performance monitor system and method suitable for use in an integrated circuit
JP2002367395A (ja) * 2001-06-04 2002-12-20 Fujitsu Ltd Tag−ram試験方法およびそのための装置
JP2003139818A (ja) * 2001-10-30 2003-05-14 Hitachi Ltd 半導体集積回路及び半導体集積回路のテスト方法
JP2005309787A (ja) * 2004-04-21 2005-11-04 Nec Electronics Corp 中央演算処理装置及びマイクロコンピュータ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4575792A (en) 1982-03-31 1986-03-11 Honeywell Information Systems Inc. Shared interface apparatus for testing the memory sections of a cache unit
US6161206A (en) 1998-04-30 2000-12-12 Credence Systems Corporation Pattern generator for a semiconductor integrated circuit tester
US20030120985A1 (en) 2001-12-26 2003-06-26 Richard Slobodnik Method and apparatus for memory self testing

Also Published As

Publication number Publication date
JP4833586B2 (ja) 2011-12-07
US20050276087A1 (en) 2005-12-15
US7173839B2 (en) 2007-02-06
KR20050118515A (ko) 2005-12-19
JP2006004419A (ja) 2006-01-05

Similar Documents

Publication Publication Date Title
US6961824B2 (en) Deterministic setting of replacement policy in a cache
US5276833A (en) Data cache management system with test mode using index registers and CAS disable and posted write disable
US6848024B1 (en) Programmably disabling one or more cache entries
US6732234B1 (en) Direct access mode for a cache
Shirvani et al. PADded cache: a new fault-tolerance technique for cache memories
US7051239B2 (en) Method and apparatus for efficiently implementing trace and/or logic analysis mechanisms on a processor chip
US8103830B2 (en) Disabling cache portions during low voltage operations
US8621336B2 (en) Error correction in a set associative storage device
US5996034A (en) Bus bridge verification system including device independent bus monitors
WO2004095212A2 (en) Memory management in a data processing system
JP4833586B2 (ja) データキャッシュが内蔵された半導体集積回路およびそれの実速度テスト方法
US6240532B1 (en) Programmable hit and write policy for cache memory test
US20020087825A1 (en) Error detection in cache tag array using valid vector
US7596661B2 (en) Processing modules with multilevel cache architecture
US6968427B1 (en) Built-in self test circuit for testing cache tag array and compare logic
KR100833178B1 (ko) 캐시 메모리에 저장되는 블록개수를 제어할 수 있는 캐시메모리 시스템 및 동작 방법
JP2010128698A (ja) マルチプロセッサシステム
US20130173862A1 (en) Method for cleaning cache of processor and associated processor
US6694468B1 (en) Method and apparatus to test memory
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
JPH1185613A (ja) キャッシュメモリ
JP3260466B2 (ja) メモリ更新方式
Cache Center for Reliable Computing
KR19990023336A (ko) 내장 캐쉬 메모리를 갖는 반도체 장치
JP2002169724A (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
FPAY Annual fee payment

Payment date: 20140129

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee