KR100481849B1 - 용량 변경이 가능한 캐쉬 메모리 및 이를 구비한 프로세서칩 - Google Patents

용량 변경이 가능한 캐쉬 메모리 및 이를 구비한 프로세서칩 Download PDF

Info

Publication number
KR100481849B1
KR100481849B1 KR10-2001-0076262A KR20010076262A KR100481849B1 KR 100481849 B1 KR100481849 B1 KR 100481849B1 KR 20010076262 A KR20010076262 A KR 20010076262A KR 100481849 B1 KR100481849 B1 KR 100481849B1
Authority
KR
South Korea
Prior art keywords
ways
memory
tag
data
way
Prior art date
Application number
KR10-2001-0076262A
Other languages
English (en)
Other versions
KR20030045517A (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 KR10-2001-0076262A priority Critical patent/KR100481849B1/ko
Priority to US10/307,864 priority patent/US6954827B2/en
Priority to GB0228321A priority patent/GB2387459B/en
Publication of KR20030045517A publication Critical patent/KR20030045517A/ko
Application granted granted Critical
Publication of KR100481849B1 publication Critical patent/KR100481849B1/ko

Links

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
    • 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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • G11C29/883Masking faults in memories by using spares or by reconfiguring with partially good memories using a single defective memory device with reduced capacity, e.g. half capacity
    • 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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

여기에 개시된 멀티-웨이 세트-어소시어티브 캐쉬 메모리는, 치유될 수 없는 결함 셀을 포함하는 태그 메모리의 웨이들 및 데이터 메모리의 웨이들을 제외한 나머지 정상 태그 메모리의 웨이들 및 데이터 메모리의 웨이들 만으로 동작한다. 이와 같이 저용량 캐쉬 메모리로 변경함으로써, 캐쉬 메모리에서 발생된 몇몇의 결함 셀들 때문에 CPU와 캐쉬 메모리가 단일 칩으로 집적된 고가의 프로세서 칩 전체를 폐기처분하는 손실을 방지할 수 있다.

Description

용량 변경이 가능한 캐쉬 메모리 및 이를 구비한 프로세서 칩{CACHE MEMORY CAPABLE OF PERMITTING SELECTING SIZE OF THEREOF AND PROCESSOR CHIP HAVING THE SAME}
본 발명은 반도체 집적 회로에 관한 것으로, 좀 더 구체적으로는 용량 변경이 가능한 캐쉬 메모리 및 이를 구비한 프로세서 칩에 관한 것이다.
전형적인 많은 프로그램을 분석하면, 주어진 시간 동안의 메모리 참조는 국한된 영역에서만 이루어지는 경향이 있음을 알 수 있다. 이러한 현상을 참조의 국한성(locality of reference)이라 한다. 이러한 현상은 전형적인 컴퓨터 프로그램에서 프로그램 루프와 서브루틴이 많이 쓰이며 순차적으로 진행된다는 사실에서 쉽게 이해될 수 있다. 또한 데이터의 메모리 참조도 한 영역에 국한되는 경향이 있다. 테이블-룩업(table-lookup) 절차, 공통 메모리와 배열을 참조하는 반복 절차가 이에 해당한다.
이렇게 자주 참조되는 프로그램과 데이터가 속도가 빠른 조그만 메모리에 저장된다면 평균 메모리 접근 시간이 감소되며, 따라서 프로그램의 총 수행 시간이 단축된다. 이러한 빠르고 조그만 메모리를 캐쉬(cache) 메모리라 한다. 일반적으로 SRAM(static random access memory)로 구성되는 캐쉬 메모리의 접근 시간은 DRAM(dynamic random acces memory)로 구성되는 메인 메모리의 접근 시간보다 5~10배 빠르다. 캐쉬는 메모리의 계층 구조에서 가장 빠른 소자이며, CPU(central processing unit)의 속도에 근접한다.
캐쉬의 기본 동작은 다음과 같다. CPU가 메모리에 접근할 필요가 있을 때, 먼저 캐쉬를 조사한다. 원하는 워드가 캐쉬에서 발견되면 이를 읽어들이고, 발견되지 않으면 메인 메모리가 워드를 읽기 위하여 접근된다. 이 워드를 포함한 블록이 메인 메모리로부터 캐쉬 메모리로 전송된다. 블록의 크기는 1~16워드 정도이다.
캐쉬 메모리의 성능은 히트율(hit ratio)에 의하여 측정된다. CPU가 메모리를 참조할 때 캐쉬에서 이를 찾을 경우 히트(hit)라 부르며, 캐쉬에서 찾지 못하고 메인 메모리에 있을 때에는 미스(miss)라 부른다. 힛트의 수를 CPU에 의한 메모리 참조의 총 수로 나눈 비율을 히트율이라 한다. 히트율은 컴퓨터의 전형적인 프로그램을 수행하여 주어진 시간 동안 히트와 미스의 수를 셈으로써 실험적으로 측정된다. 보통 0.9 이상의 값을 갖는데 이는 메모리 참조의 국한성을 증명한다.
캐쉬 메모리의 기본적인 특성은 빠른 접근 시간으로 캐쉬에서 워드를 찾는데 거의 시간이 걸리지 않도록 해야 한다. 메인 메모리로부터 캐쉬 메모리로 데이터를 전송하는 것을 매핑(mapping) 프로세스라 하며 이는 어소시어티브(associative) 매핑, 직접(direct) 매핑, 그리고 세트-어소시어티브(set-associative) 매핑과 같은 세 가지의 방법이 있다.
어소시어티브 매핑을 채용한 캐쉬 메모리는 가장 빠르고 가장 융통성이 있다. 어소시어티브 메모리는 메모리 워드의 주소와 데이터를 저장한다. CPU의 어드레스는 인자 레지스터(argument register)에 놓여지며, 어소시어티브 메모리는 이 안의 주소와 같은 것을 찾아 대응하는 데이터를 읽어 CPU에 보낸다. 만약 매치가 일어나지 않으면 이 워드를 메인 메모리에서 찾아 주소와 데이터를 어소시어티브 캐쉬 메모리에 넣는다. 만약 캐쉬가 꽉차 있으면 캐쉬에 없는 필요한 워드의 저장을 위해 한 쌍의 주소 및 데이터가 대치되어야 한다. 어떤 쌍이 제거되느냐 하는 것은 설계자가 선택한 교체 알고리즘에 따라 결정된다.
직접 매핑에서 CPU의 어드레스는 인덱스 필드(index field)와 태그(tag) 필드로 나뉘어 진다. 캐쉬 메모리의 각 워드는 데이터 워드와 태그로 구성된다. CPU가 메모리의 참조를 요청하면 CPU 어드레스의 인덱스 필드는 캐쉬에 접근하기 위한 주소로 쓰인다. CPU 어드레스의 태그 필드와 캐쉬로부터 읽힌 워드의 태그 필드가 비교되어 같으면 히트이며 원하는 데이터가 캐쉬에 있음을 나타낸다. 그렇지 않으면 미스이며 원하는 워드는 메인 메모리로부터 읽혀진다. 이것은 새로운 태그를 가지고 캐쉬에 저장된다. 직접 매핑의 단점은 만약 같은 인덱스를 가졌으나 다른 태그를 가진 두 개 이상의 워드가 반복하여 접근된다면 히트율이 상당히 떨어질 수 있다는 것이다.
세트-어소시어티브 매핑은 캐쉬의 각 워드는 같은 인덱스 주소 아래서 두 개 이상의 메모리 워드를 저장할 수 있도록 함으로써 직접 매핑의 단점을 보완한 것이다. 각 데이터 워드는 태그와 함께 저장되며 캐쉬의 한 워드 내의 태그 워드 항목들은 한 세트를 이룬다고 말한다.
최근 반도체 공정이 발전하면서 CPU와 캐쉬 메모리를 단일 칩으로 집적하는 경향을 보이고 있다. 도 1은 CPU(2)와 캐쉬 메모리(3)가 단일 칩으로 집적된 프로세서 칩(1)의 구성을 개략적으로 보여주고 있다. 프로세서 칩(1)은 CPU(2) 뿐만 아니라 DSP(digital signal processor) 또는 마이크로프로세서 등과 같은 프로세서를 포함하여 구성될 수 있다. 캐쉬 메모리와 CPU를 단일 칩으로 집적하는 경우, CPU 칩과 캐쉬 메모리간의 데이터 비트 수가 현저히 증가해 데이터 입/출력 속도가 향상되고 그 결과 CPU의 전체 성능이 향상되는 효과를 얻을 수 있다. 그러나, CPU와 분리된 캐쉬 메모리에 비해 내장된 캐쉬 메모리는 사이즈에 제한을 받기 때문에, 히트율이 감소한다. 따라서, 최근의 경향은 캐쉬 메모리를 온칩으로 집적할 경우 사이즈 감소로 인한 히트율 감소를 보상하기 위해 세트-어소시어티브 캐쉬 메모리의 세트(set) 크기를 증가시키고 있다.
도 2는 멀티-웨이 세트-어소시어티브 캐쉬 메모리 구조의 일 예를 보여주고 있다. 이와 같은 멀티-웨이 세트-어소시어티브 캐쉬 메모리의 구조는 Toshichika에 의해 2000년 10월 10일 취득된 미국특허공보 제 6,131,143 호에 "MULTI-WAY ASSOCIATIVE STORAGE TYPE CACHE MEMORY" 라는 제목으로 개시되어 있다.
도 2에 도시된 캐쉬 메모리는 9-웨이 세트-어소시어티브형 캐쉬 메모리이다. 도 2에서, CPU(2)로부터 어드레스 버스로 제공되는 어드레스(10)는 태그(tag) 어드레스(11)와 세트 어드레스(12)로 구성된다.
도 2를 참조하면, 캐쉬 메모리(3)는 디코더(20), 9 개의 태그 메모리들(30a-30i), 유효 비트들(31a-31i), 데이터 메모리들(40a-40i), 비교기들(50a-50i) 그리고 웨이 선택기(60)를 포함한다.
디코더(20)는 어드레스(10)의 세트 어드레스(12)를 디코드(decode)한다. 태그 메모리들(30a-30i)과 데이터 메모리들(40a-40i)은 k 개의 라인들(즉, 세트들)로 구성되는데, 각각의 세트들은 데이터를 저장한다. 데이터 메모리들(40a-40i)은 디코더(20)에 의해 디코드된 세트 어드레스에 의해 선택된 세트에 저장된 데이터를 웨이 선택기(60)로 제공한다. 유효 비트들(valid bits)(31a-31i)은 대응하는 데이터 메모리들(40a-40i)에 저장된 내용(contents)이 유효한 지의 여부를 각각 나타낸다. 비교기들(50a-50i)은 유효 비트들(31a-31i)에 따라서 태그 어드레스(11)와 태그 메모리들(30a-30i)의 내용을 비교한다. 웨이 선택기(60)는 비교기들(50a-50i)로부터의 비교 결과를 나타내는 신호들(HITa-HITi)에 응답해서 데이터 메모리들(40a-40i) 중 어느 하나로부터의 데이터를 선택하거나 또는 어떤 데이터도 선택하지 않는다.
도 2에서, 태그 메모리들을 나타내는 30a 내지 30i 그리고 데이터 메모리들을 나타내는 40a 내지 40i의 a 및 i는 웨이를 각각 나타낸다.
계속해서 상기 캐쉬 메모리(3)의 동작이 설명된다.
어드레스(10)가 CPU(2)로부터 제공될 때, 세트 어드레스(12)는 디코더(20)에 의해서 디코드된다. 태그 메모리들(30a-30i)의 선택된 세트 어드레스에 저장된 내용들은 비교기들(50a-50i)로 각각 제공된다. 한편, 데이터 메모리들(40a-40i)의 선택된 세트 어드레스에 저장된 내용들은 웨이 선택기(60)로 제공된다.
비교기들(50a-50i) 중 어느 하나가 태그 메모리들(30a-30i)의 선택된 세트 어드레스에 저장된 내용과 어드레스 태그(11)가 일치하는 것으로 판별하고, 그에 대응하는 유효 비트(31a, 31b, …, 또는 31i)가 활성 상태일 때, 그에 대응하는 히트 신호(HITa, HITb 또는 HITi)가 활성화된다.
태그 메모리(30a, 30b, …, 또는 30i)의 선택된 세트 어드레스에 저장된 내용과 태그 어드레스(11)가 일치하는 웨이가 있을 때, 웨이 선택기(60)는 그 웨이의 데이터를 출력한다. 태그 메모리(30a, 30b, …, 또는 30i)의 선택된 세트 어드레스에 저장된 내용과 태그 어드레스(11)가 일치하는 웨이가 없을 때, 캐쉬 메모리 대신 메인 메모리(미 도시됨)에 저장된 데이터가 CPU(2)에 의해 액세스된다. 그리고, CPU(2)에 의해 액세스된 메인 메모리의 데이터는 캐쉬 메모리(3)의 데이터 메모리(40a, 40b, …, 또는 40i)에 저장된다.
상술한 바와 같은 캐쉬 메모리에 있어서, 태그 메모리들(30a-30i)과 데이터 메모리들(40a-40i)은 다수 개의 메모리 셀들로 구성되고, 캐쉬 메모리는 결함있는 메모리 셀을 대체하기 위한 여분의 셀들(redundant cells)을 더 구비한다. 일반적으로 반도체 집적 회로를 생산하는 과정의 마지막 단계에서는 생산된 반도체 집적 회로에 결함이 있는 지의 여부를 테스트하게 된다. 테스트 단계에서 캐쉬 메모리에 결함있는 메모리 셀이 있는 것으로 판정되면 그 셀은 여분의 셀로 대체된다. 그러나, 여분의 셀의 개수는 제한되어 있으므로 여분의 셀로 대체할 수 없는 결함 셀이 존재하는 경우에 그 집적 회로는 폐기 처분되어야만 할 것이다.
CPU와 캐쉬 메모리가 단일 칩으로 집적된 프로세서 칩에 있어서, 캐쉬 메모리에 여분의 셀들로 대체될 수 없는 결함있는 셀들이 존재한다면 그 프로세서 칩은 폐기되어야만 할 것이다. 일반적으로 CPU는 다른 반도체 집적 회로들에 비해 매우 고가이다. 그러므로, 캐쉬 메모리에서 발생된 몇몇의 결함 셀들 때문에 프로세서 칩 전체를 폐기처분하는 것은 매우 큰 손실이 아닐 수 없다.
따라서, 본 발명의 목적은 상술한 제반 문제점을 해결하기 위해 제안된 것으로, 용량(크기)을 다양하게 변경할 수 있는 캐쉬 메모리를 구비한 프로세서 칩을 제공하는데 있다.
본 발명의 다른 목적은 태그 메모리의 결함있는 셀들을 포함하는 태그 및 데이터 메모리들을 제외한 정상적인 태그 및 데이터 메모리들 만을 선택해서 사용할 수 있는 멀티-웨이 세트-어소시어티브 캐쉬 메모리를 구비한 프로세서 칩을 제공하는데 있다.
본 발명의 또 다른 목적은 용량(크기)을 다양하게 변경할 수 있는 캐쉬 메모리를 제공하는데 있다.
본 발명의 다른 목적은 용량(크기)을 다양하게 변경할 수 있는 캐쉬 메모리를 제공하는데 있다.
(구성)
상술한 바와 같은 목적을 달성하기 위한 본 발명의 일 특징에 의하면, 데이터 프로세싱 시스템은: 프로세서와 상기 프로세서에 의해서 사용될 데이터를 저장하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리를 포함한다. 특히, 상기 캐쉬 메모리는 복수의 웨이들로 분할되는 그리고 상기 프로세서에 의해서 사용될 데이터를 저장하는 데이터 메모리와 복수의 웨이들로 분할되는 그리고 태그 어드레스를 저장하는 태그 메모리 그리고 상기 태그 메모리 또는 데이터 메모리의 웨이들 중 결함있는 메모리 셀을 포함하는 웨이를 제외한 정상 웨이들과 상기 데이터 메모리의 웨이들 중 결함있는 메모리 셀을 포함하는 웨이를 제외한 정상 웨이들을 선택해서 일대일 대응시키는 결함 보정 수단을 포함한다.
바람직한 실시예에 있어서, 상기 프로세서로부터의 소정의 어드레스와 상기 태그 메모리의 웨이들에 저장된 태그 어드레스들을 각각 비교하고, 상기 소정의 어드레스와 상기 태그 메모리의 웨이들 각각에 저장된 태그 어드레스의 일치 여부를 각각 나타내는 히트 신호들을 출력하는 비교 수단을 더 포함한다. 이 때, 상기 결함 보정 수단은 상기 비교 수단으로부터의 상기 히트 신호들 중 상기 태그 메모리의 정상 웨이들에 대응하는 히트 신호들을 상기 태그 메모리의 정상 웨이들과 일대일 대응시킨다.
이 실시예에서, 상기 결함 보정 수단은, 상기 히트 신호들 중 상기 태그 메모리의 선택된 웨이들에 대응하는 히트 신호들을 받아들이고, 상기 데이터 메모리의 웨이들에 각각 대응하는 복수의 선택 신호들을 출력하는 제 1 선택 회로와 상기 선택 신호들에 따라서 상기 데이터 메모리의 웨이들 중 어느 하나에 저장된 상기 데이터를 상기 프로세서로 제공하는 제 2 선택 회로로 구성된다. 단, 상기 선택 신호들은 상기 데이터 메모리의 선택된 웨이들 중 어느 하나를 선택하기 위한 신호들이다.
또한, 상기 제 2 선택 회로는 상기 히트 신호들 전부가 상기 소정의 어드레스와 상기 태그 메모리의 대응하는 웨이에 저장된 태그 어드레스가 일치하지 않음을 나타낼 때 상기 데이터 메모리에 저장된 어떠한 데이터도 상기 프로세서로 제공하지 않는다.
바람직한 실시예에 있어서, 상기 제 1 선택 회로는, 상기 데이터 메모리의 웨이들에 각각 대응하며, 상기 태그 메모리의 선택된 웨이들에 대응하는 상기 히트 신호들 중 어느 하나를 선택적으로 받아들이고, 그리고 상기 데이터 메모리의 대응하는 웨이를 선택하기 위한 상기 선택 신호를 출력하는 복수 개의 선택 신호 발생 회로들을 포함한다.
이 실시예에서, 상기 선택 신호 발생 회로들 각각은, 상기 데이터 메모리의 대응하는 웨이가 선택되었을 때 상기 태그 메모리의 선택된 웨이들에 대응하는 상기 히트 신호들 중 어느 하나를 선택적으로 받아들이고, 상기 데이터 메모리의 대응하는 웨이가 비선택되었을 때 상기 히트 신호들 중 어느 것도 받아들이지 않으며 그리고 상기 선택 신호를 출력하지 않는다.
한편, 상기 선택 신호 발생 회로들 각각은, 상기 태그 메모리의 선택된 웨이들에 대응하는 상기 히트 신호들을 받아들이기 위한 입력 단자들, 상기 비교 수단으로부터의 상기 히트 신호들 중 어느 것을 받아들일 것인지 또는 어느 것도 받아들이지 않을 지에 대한 정보를 저장하는 저장 수단, 상기 저장 수단에 저장된 정보를 디코드해서 디코딩 신호들을 출력하는 디코더 그리고 상기 디코딩 신호들에 응답해서, 상기 입력 단자들을 통해 입력되는 상기 히트 신호들 중 어느 하나를 받아들이고 상기 선택 신호를 출력하거나 또는 상기 히트 신호들 중 어느 것도 받아들이지 않고 상기 선택 신호를 출력하지 않는 선택 신호 발생기를 포함한다.
이 경우, 상기 저장 수단은 적어도 하나의 퓨즈로 구성되며; 상기 입력 단자들의 개수는, 상기 데이터 및 태그 메모리들의 최대로 선택될 수 있는 웨이 수와 최소로 선택될 수 있는 웨이 수의 차에 1을 더한 수이다.
본 발명의 다른 특징에 따른 데이터 프로세싱 시스템은: 프로세서와 상기 프로세서에 의해서 사용될 데이터를 저장하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리를 포함하는데, 상기 캐쉬 메모리는, 복수의 웨이들로 분할되는 그리고 상기 프로세서에 의해서 사용될 데이터를 저장하는 데이터 메모리, 복수의 웨이들로 분할되는 그리고 태그 어드레스를 저장하는 태그 메모리, 상기 프로세서로부터의 소정의 어드레스와 상기 태그 메모리의 웨이들에 저장된 태그 어드레스들을 각각 비교하고, 상기 소정의 어드레스와 상기 태그 메모리의 웨이들 각각에 저장된 태그 어드레스의 일치 여부를 각각 나타내는 히트 신호들을 출력하는 비교 수단, 그리고 상기 태그 메모리의 웨이들 중 일부에 대응하는 상기 히트 신호들 및 상기 데이터 메모리의 웨이들 중 일부를 선택하고, 상기 선택된 히트 신호들과 상기 데이터 메모리의 선택된 웨이들을 일대일 대응시키는 캐쉬 메모리 용량 선택 회로를 포함한다.
바람직한 실시예에 있어서, 상기 캐쉬 메모리 용량 선택 회로는, 상기 태그 메모리의 결함있는 메모리 셀을 포함하는 웨이들을 제외한 정상 웨이들과 상기 데이터 메모리의 결함있는 메모리 셀을 포함하는 웨이들을 제외한 정상 웨이들을 각각 선택한다.
또한, 상기 캐쉬 메모리 용량 선택 회로는, 상기 데이터 메모리의 웨이들에 각각 대응하며, 상기 태그 메모리의 정상 웨이들에 대응하는 히트 신호들 중 어느 하나를 받아들이고, 각각이 상기 데이터 메모리의 대응하는 웨이를 선택하기 위한 선택 신호를 출력하는 복수의 선택 신호 발생 회로들과, 상기 선택 신호들에 의해 선택된 상기 데이터 메모리의 웨이에 저장된 데이터를 상기 프로세서로 제공하는 출력 회로를 더 포함한다.
이 실시예에서 상기 출력 회로는, 상기 히트 신호들 모두가 상기 소정의 어드레스와 상기 태그 메모리의 대응하는 웨이에 저장된 상기 태그 어드레스가 일치하지 않음을 나타낼 때, 상기 데이터 메모리에 저장된 어떠한 데이터도 상기 프로세서로 제공하지 않는다.
본 발명의 또다른 특징에 따른 멀티-웨이 세트-어소시어티브 캐쉬 메모리는: 복수의 웨이들로 분할되는 그리고 상기 프로세서에 의해서 사용될 데이터를 저장하는 데이터 메모리와, 복수의 웨이들로 분할되는 그리고 태그 어드레스를 저장하는 태그 메모리 그리고 상기 태그 메모리 또는 데이터 메모리의 웨이들 중 결함있는 메모리 셀을 포함하는 웨이를 제외한 정상 웨이들과 상기 데이터 메모리의 웨이들 중 결함있는 메모리 셀을 포함하는 웨이를 제외한 정상 웨이들을 선택해서 일대일 대응시키는 결함 보정 수단을 포함한다.
바람직한 실시예에서, 상기 프로세서로부터의 소정의 어드레스와 상기 태그 메모리의 웨이들에 저장된 태그 어드레스들을 각각 비교하고, 상기 소정의 어드레스와 상기 태그 메모리의 웨이들 각각에 저장된 태그 어드레스의 일치 여부를 각각 나타내는 히트 신호들을 출력하는 비교 수단을 더 포함하는데, 이 때 상기 결함 보정 수단은 상기 비교 수단으로부터의 상기 히트 신호들 중 상기 태그 메모리의 정상 웨이들에 대응하는 히트 신호들을 상기 태그 메모리의 정상 웨이들과 일대일 대응시킨다.
본 발명의 다른 특징에 의하면, 멀티-웨이 세트-어소시어티브 캐쉬 메모리는: 복수의 웨이들로 분할되는 그리고 프로세서에 의해서 사용될 데이터를 저장하는 데이터 메모리, 복수의 웨이들로 분할되는 그리고 태그 어드레스를 저장하는 태그 메모리와, 상기 프로세서로부터의 소정의 어드레스와 상기 태그 메모리의 웨이들에 저장된 태그 어드레스들을 각각 비교하고, 상기 소정의 어드레스와 상기 태그 메모리의 웨이들 각각에 저장된 태그 어드레스의 일치 여부를 각각 나타내는 히트 신호들을 출력하는 비교 수단 그리고 상기 태그 메모리의 웨이들 중 일부에 대응하는 상기 히트 신호들 및 상기 데이터 메모리의 웨이들 중 일부를 선택하고, 상기 선택된 히트 신호들과 상기 데이터 메모리의 선택된 웨이들을 일대일 대응시키는 용량 선택 회로를 포함한다.
(실시예)
본 발명의 멀티-웨이 세트-어소시어티브 캐쉬 메모리는 치유될 수 없는 결함 셀을 포함하는 태그 메모리의 웨이들 및 데이터 메모리의 웨이들을 제외한 나머지 정상 태그 메모리의 웨이들 및 데이터 메모리의 웨이들 만으로 동작할 수 있다. 이와 같이 캐쉬 메모리의 용량을 변경함으로써, 캐쉬 메모리에서 발생된 몇몇의 결함 셀들 때문에 CPU와 캐쉬 메모리가 단일 칩으로 집적된 고가의 프로세서 칩 전체를 폐기처분하는 손실을 방지할 수 있다.
도 3은 도 2에 도시된 웨이 선택기(60)의 본 발명의 바람직한 실시예에 따른 구성을 보여주는 블록도이다.
도 3를 참조하면, 상기 웨이 선택기(60)는 캐쉬 용량 선택 회로(61)와 출력 선택 회로(62)를 포함한다. 캐쉬 용량 선택 회로(61)는 후술되는 내장된 퓨즈 회로들의 프로그램된 상태에 따라서 비교기들(50a-50i)로부터 제공되는 9 개의 히트 신호들(HITa-HITi)들 중 결함없는 태그 메모리들에 대응하는 히트 신호들을 받아들이고, 입력된 히트 신호들을 웨이선택신호들(WSELa-WSELi)로서 출력한다. 출력 선택 회로(62)는 캐쉬 용량 선택 회로(61)로부터의 웨이선택신호들(WSELa-WSELi)에 응답하여, 데이터 메모리들(40a-40i)로부터 제공되는 데이터들(DATAa-DATAI) 가운데 어느 하나를 선택해서 출력하거나 또는 어떤 데이터도 선택하지 않는다. 캐쉬 용량 선택 회로(61) 및 출력 선택 회로(62)의 상세한 회로 구성 및 동작이 이하 설명된다.
도 4는 도 3에 도시된 캐쉬 용량 선택 회로(61)의 상세한 회로 구성을 보여주는 도면이다.
도 4를 참조하면, 캐쉬 용량 선택 회로(61)는 데이터 메모리들(40a-40i)에 각각 대응하는 9 개의 웨이선택신호 발생기들(100a-100i)과 상기 웨이선택신호 발생기들(100a-100i)에 각각 대응하는 9 개의 퓨즈 디코더들(200a-200i)을 포함한다.
웨이선택신호 발생기들(100a-100i) 각각은 6 개의 입력 단자들(IN1-IN6)과 하나의 출력 단자(OUT)를 가지며, 대응하는 퓨즈 디코더(200a, 200b, …, 또는 200i)로부터 제공되는 디코딩 신호들(D1-D6)에 응답해서 입력 단자들(IN1-IN6)로부터 입력되는 히트 신호들 가운데 어느 하나를 선택해서 웨이선택신호(WSEL0)로서 출력하거나 또는 로우 레벨의 웨이선택신호(WSEL0)를 출력한다.
캐쉬 용량 선택 회로(61)는 캐쉬 메모리(3)에 구비된 9 개의 웨이들 가운데 결함있는 셀을 포함하는 태그 메모리 또는 데이터 메모리가 있다면, 결함있는 셀을 포함하는 태그 메모리 또는 데이터 메모리를 제외한 나머지 메모리들을 정상적으로 사용하기 위하여 제공된다. 특히, 도 4에 도시된 캐쉬 용량 선택 회로(61)는 9 개의 태그 메모리들(30a-30i) 중 최대 5 개의 태그 메모리들 그리고 9 개의 데이터 메모리들(40a-40i) 중 최대 5 개의 데이터 메모리들이 결함 셀로 인해 사용 불가능할 때, 캐쉬 메모리(3)를 최소 4-웨이 세트-어소시어티브 캐쉬 메모리로 사용할 수 있도록 동작한다.
웨이선택신호 발생기들(100a-100i)의 입력 단자의 개수는 다음 수학식 1에 의해서 계산된다.
여기서, '캐쉬 메모리의 최대 웨이 수'란, 캐쉬 메모리(3)에 구비된 웨이의 총 개수를 의미하며, 이 때 태그 메모리들 및 데이터 메모리들에는 여분의 셀로 대체될 수 없는 결함 셀이 전혀 존재하지 않는다. 한편, '캐쉬 메모리의 최소 웨이 수'란 캐쉬 메모리(3)에 구비된 태그 메모리들과 데이터 메모리들 중 몇몇에 결함 셀이 있더라도 결함이 없는 태그 메모리들과 데이터 메모리들 만을 사용하여 캐쉬 메모리(3)를 동작시킬 수 있는 최소 웨이 개수를 말한다.
본 발명에서는 최대 웨이 수가 9이고, 최소 웨이 수가 4인 캐쉬 메모리를 실시예로 설명한다. 이 경우, 웨이선택신호 발생기들(100a-100i) 각각의 입력 단자의 수는 (9-4+1) 즉, 6이므로 6 개의 입력 단자들(IN1-IN6)을 갖는다. 하나의 웨이선택신호 발생기(100a, 100b, …, 또는 100i)에 구비된 6 개의 입력 단자들(IN1-IN6)에는 서로 다른 히트 신호들이 입력된다. 도 4에 도시된 예에서는, 웨이선택신호 발생기(100a)의 입력 단자들(IN1-IN6)에는 히트 신호들(HITa, HITe, HITf, HITg, HITh 및 HITi)이 입력되고, 웨이선택신호 발생기(100b)의 입력 단자들에는 히트 신호들(HITb, HITa, HITf, HITg, HITh 및 HITi)이, 웨이선택신호 발생기(100c)에는 히트 신호들(HITc, HITa, HITb, HITg, HITh 및 HITi)이, 웨이선택신호 발생기(100d)의 입력 단자들에는 히트 신호들(HITd, HITa, HITb, HITc, HITh 및 HITi)이, 웨이선택신호 발생기(100e)의 입력 단자들에는 히트 신호들(HITe, HITa, HITb, HITc, HITd 및 HITi), 웨이선택신호 발생기(100f)의 입력 단자들에는 히트 신호들(HITf, HITa, HITb, HITc, HITd 및 HITe)이, 웨이선택신호 발생기(100g)의 입력 단자들에는 히트 신호들(HITg, HITb, HITc, HITd, HITe 및 HITf)이, 웨이선택신호 발생기(100h)의 입력 단자들에는 히트 신호들(HITh, HITc, HITd, HITe, HITf 및 HITg)이 그리고 웨이선택신호 발생기(100i)의 입력 단자들에는 히트 신호들(HITi, HITd, HITe, HITf, HITg 및 HITh)이 각각 입력된다.
또한, 비교기들(50a-50i)로부터 출력되는 히트 신호들(HITa-HITi) 각각은 6 개의 웨이선택신호 발생기들(100a-100i)에 입력된다. 도 4에 캐쉬 용량 선택 회로(61)는 가장 바람직한 방법에 따라서 히트 신호들(HITa-HITi)이 웨이선택신호 발생기들(100a-100i)로 입력되는 것을 예시하고 있으나, 웨이선택신호 발생기들(100a-100i) 각각의 입력 단자들(IN1-IN6)에 히트 신호들(HITa-HITi)을 연결하는 것은 다양하게 변경될 수 있다.
계속해서, 도 5 및 도 6을 참조하여, 웨이선택신호 발생기들(100a-100i)과 퓨즈 디코더들(200a-200i)의 상세한 회로 구성 및 동작을 설명한다. 도 5는 도 4에 도시된 웨이선택신호 발생기들(100a)의 상세한 회로 구성을 보여주는 도면이고, 도 6은 도 4에 도시된 퓨즈 디코더(200a)의 상세한 회로 구성을 보여주는 도면이다. 나머지 웨이선택신호 발생기들(100b-100i)은 웨이선택신호 발생기(100a)와 동일한 회로 구성을 가지며, 나머지 퓨즈 디코더들(200b-200i)은 퓨즈 디코더(200a)와 동일한 회로 구성을 갖는다.
먼저, 도 5를 참조하면, 웨이선택신호 발생기(100)는 입력 단자들(IN1-IN6)에 각각 대응하는 트랜스미션 게이트들(111-161)과 인버터들(112-162) 그리고 트랜스미션 게이트(171), 인버터(172) 및 노아(NOR) 게이트(173)를 포함한다. 인버터(112)는 디코더(200a)로부터 제공되는 디코딩 신호(D1)를 받아들이는 입력 단자와 출력 단자를 갖는다. 트랜스미션 게이트(111)는 NMOS 트랜지스터와 PMOS 트랜지스터로 구성되며, 트랜지스터들의 전류 통로들은 입력 단자(IN1)와 출력 단자(OUT) 사이에 형성된다. PMOS 트랜지스터의 게이트는 인버터(112)의 출력 단자와 연결되고, NMOS 트랜지스터의 게이트는 디코딩 신호(D1)와 연결된다. 그러므로, 디코딩 신호(D1)가 하이 레벨(즉, 논리 '1')일 때 입력 단자(IN1)를 통해 입력되는 신호는 출력 단자(OUT)로 전달된다.
트랜스미션 게이트(111) 및 인버터(112)의 연결관계와 유사한 방법으로 나머지 트랜스미션 게이트들(121-161)과 인버터들(122-162)이 연결된다. 따라서, 웨이선택신호 발생기(100a)는 퓨즈 디코더(200a)로부터 제공되는 디코딩 신호들(D1-D6) 가운데 하이 레벨인 디코딩 신호에 대응하는 입력 단자(IN1, IN2, …, 또는 IN6)를 통해 입력되는 신호를 출력 단자(OUT)로 출력한다.
노아 게이트(173)는 디코딩 신호들(D1-D6)을 받아들인다. 인버터(172)는 노아 게이트(173)로부터의 출력 신호를 받아들이는 입력 단자와 출력 단자를 갖는다. 트랜스미션 게이트(171)는 NMOS 트랜지스터와 PMOS 트랜지스터로 구성되며, 트랜지스터들의 전류 통로들은 접지 전압과 출력 단자(OUT) 사이에 형성된다. PMOS 트랜지스터의 게이트는 인버터(172)의 출력 단자와 연결되고, NMOS 트랜지스터의 게이트는 노아 게이트(173)의 출력과 연결된다. 그러므로, 디코딩 신호들(D1-D6)이 모두 로우 레벨(즉, 논리 '0')일 때 출력 단자(OUT)는 접지 전압과 연결된다.
다음 도 6을 참조하면, 퓨즈 디코더(200a)는 퓨즈들(F1, F2 및 F3), PMOS 트랜지스터들(211-213) 인버터들(221-223) 그리고 앤드 게이트들(231-236)을 포함한다. 퓨즈(F1)는 접지 전압과 연결된 일단 및 제 1 노드(N1)와 연결된 타단을 갖는다. PMOS 트랜지스터(211)는 전원 전압과 제 1 노드(N1) 사이에 형성된 전류 통로 및 접지 전압과 연결된 게이트를 갖는다. 인버터(221)는 제 1 노드(N1)와 연결된 입력 단자 및 출력 단자를 갖는다. 퓨즈(F2)는 접지 전압과 연결된 일단 및 제 2 노드(N2)와 연결된 타단을 갖는다. PMOS 트랜지스터(212)는 전원 전압과 제 2 노드(N2) 사이에 형성된 전류 통로 및 접지 전압과 연결된 게이트를 갖는다. 인버터(222)는 제 2 노드(N2)와 연결된 입력 단자 및 출력 단자를 갖는다. 퓨즈(F3)는 접지 전압과 연결된 일단 및 제 3 노드(N3)와 연결된 타단을 갖는다. PMOS 트랜지스터(213)는 전원 전압과 제 3 노드(N3) 사이에 형성된 전류 통로 및 접지 전압과 연결된 게이트를 갖는다. 인버터(223)는 제 3 노드(N3)와 연결된 입력 단자 및 출력 단자를 갖는다.
앤드 게이트(231)는 인버터들(221, 222 및 223)의 출력 단자들에 각각 연결된 입력 단자들과 디코딩 신호(D1)를 출력하는 출력 단자를 갖는다. 앤드 게이트(232)는 인버터들(221, 222)의 출력 단자들 및 제 3 노드(N3)에 각각 연결된 입력 단자들과 디코딩 신호(D2)를 출력하는 출력 단자를 갖는다. 앤드 게이트(233)는 인버터들(221, 223)의 출력 단자들과 제 2 노드(N2)에 각각 연결된 입력 단자들과 디코딩 신호(D3)를 출력하는 출력 단자를 갖는다. 앤드 게이트(234)는 인버터(221)의 출력 단자와 제 2 및 제 3 노드들(N2, N3)에 각각 연결된 입력 단자들과 디코딩 신호(D3)를 출력하는 출력 단자를 갖는다. 앤드 게이트(235)는 제 1 노드(N1)와 인버터들(222, 223)의 출력 단자들에 각각 연결된 입력 단자들과 디코딩 신호(D5)를 출력하는 출력 단자를 갖는다. 그리고, 앤드 게이트(236)는 제 1 및 제 3 노드들(N1, N3) 및 인버터(222)의 출력 단자와 연결된 입력 단자들과 디코딩 신호(D6)를 출력하는 출력 단자를 갖는다.
상술한 바와 같은 구성을 갖는 퓨즈 디코더(200a)는 퓨즈들(F1, F2 및 F3)의 커팅(cutting) 여부에 따라서 디코딩 신호들(D1-D6) 중 어느 하나의 신호만을 하이 레벨 활성화시키거나 또는 모든 디코딩 신호들(D1-D6)을 로우 레벨로 비활성화시킨다.
도 7은 도 6에 도시된 퓨즈들(F1, F2 및 F3)의 프로그램 상태(즉, 커팅 여부)에 따라서 앤드 게이트들(231-236)로부터 출력되는 디코딩 신호들(D1-D6) 가운데 활성화되는 디코딩 신호를 정리해서 보여주고 있다. 도 7에서는 퓨즈들이 커팅된 것을 '1'로 표시하고, 커팅되지 않은 것을 '0'으로 표시하였다.
도 6 및 도 7을 참조하면, 예를 들어, 퓨즈들(F1, F2 및 F3)이 모두 커팅되지 않았을 때, 퓨즈들(F1, F2 및 F3) 각각을 통해서 전원 전압과 접지 전압 사이에 전류 패스(current path)가 형성되어서 제 1, 2 및 3 노드들(N1, N2 및 N3)은 모두 로우 레벨로 된다. 그 결과, 앤드 게이트(231)로부터 출력되는 디코딩 신호(D1) 만이 하이 레벨로 활성화되고, 나머지 앤드 게이트들(232-236)로부터 출력되는 디코딩 신호들(D2-D6)은 모두 로우 레벨로 비활성화된다. 다른 예로, 퓨즈(F3)만이 커팅되고 나머지 퓨즈들(F1, F2)은 커팅되지 않았다면, 커팅된 퓨즈(F3)와 연결된 제 3 노드(N3)는 PMOS 트랜지스터(212)에 의해서 하이 레벨로 되고, 나머지 퓨즈들(F1, F2)과 연결된 제 1 및 제 2 노드들(N1, N2)은 로우 레벨로 된다. 그 결과, 앤드 게이트(232)로부터 출력되는 디코딩 신호(D2) 만이 하이 레벨로 활성화되고 나머지 앤드 게이트들(231 및 233-236)로부터 출력되는 디코딩 신호들(D1 및 D3-D6)은 로우 레벨로 비활성화된다. 만일 퓨즈들(F1, F2 및 F3)이 모두 커팅되었거나, 퓨즈들(F1, F2)이 커팅되었다면 앤드 게이트들(231-236)로부터 출력되는 디코딩 신호들(D1-D6)은 모두 로우 레벨로 비활성화될 것이다.
이와 같은 방법으로 도 4에 도시된 퓨즈 디코더들(200a-200i)에 각각 구비된 퓨즈들을 프로그램하면 캐쉬 메모리의 용량을 선택할 수 있다. 캐쉬 메모리의 용량을 선택하는 방법은 이하 상세히 설명된다.
도 8a는 2 개의 태그 메모리들과 2 개의 데이터 메모리들 각각에 결함 셀들이 존재할 때 9-웨이 대신 7-웨이 세트-어소시어티브 캐쉬 메모리로 용량을 변경해서 선택하는 방법의 일 예를 보여주고 있다. 도 8b는 도 8a에 도시된 바와 같이, 9-웨이 캐쉬 메모리를 7-웨이 캐쉬 메모리로 변경할 때, 퓨즈 디코더들(200a-200i) 각각의 퓨즈들(F1-F3)의 프로그램 상태와 그에 따른 디코딩 신호들(D1-D6) 및 웨이선택신호 발생기들(100a-100i) 각각의 선택되는 입력 단자를 정리해서 보여주는 도면이다.
도 8a 및 도 8b를 참조하면, 2 개의 태그 메모리들(30d, 30e)과 2 개의 데이터 메모리들(40b, 40g) 각각에 결함 셀들이 존재할 때 생산자는 결함있는 셀들이 존재하는 태그 메모리들(30d, 30e) 및 데이터 메모리들(40b, 40g)이 사용되지 않도록 퓨즈 디코더들(200a-200i) 내의 퓨즈들(F1, F2 및 F3)을 프로그램한다. 도 8b에 도시된 바와 같은 방법으로 퓨즈 디코더들(200a-200i)을 프로그램하면, 웨이선택신호 발생기(100a)는 입력 단자(IN1)를 통해 입력되는 히트 신호(HITa)를 웨이선택신호(WSELa)로서 출력하고, 웨이선택신호 발생기(100c)는 입력 단자(IN3)를 통해 입력되는 히트 신호(HITb)를 웨이선택신호(WSELc)로서 출력하고, 웨이선택신호 발생기(100d)는 입력 단자(IN4)를 통해 입력되는 히트 신호(HITc)를 웨이선택신호(WSELd)로서 출력하고, 웨이선택신호 발생기(100e)는 입력 단자(IN6)를 통해 입력되는 히트 신호(HITi)를 웨이선택신호(WSELe)로서 출력하고, 웨이선택신호 발생기(100f)는 입력 단자(IN1)를 통해 입력되는 히트 신호(HITf)를 웨이선택신호(WSELf)로 출력하고, 웨이선택신호 발생기(100h)는 입력 단자(IN1)를 통해 입력되는 히트 신호(HITh)를 웨이선택신호(WSELh)로 출력하고 그리고 웨이선택신호 발생기(100i)는 입력 단자(IN5)를 통해 입력되는 히트 신호(HITg)를 웨이선택신호(WSELi)로 출력한다. 한편, 웨이선택신호 발생기(100b)와 웨이선택신호 발생기(100g)는 입력 단자들(IN1-IN6)을 통해 입력되는 어떠한 신호도 받아들이지 않고, 로우 레벨의 웨이선택신호(WSELb) 및 (WSELg)를 각각 출력한다. 그러므로, 결함있는 셀을 포함하는 태그 메모리들(30d 및 30e)과 데이터 메모리들(40b 및 40g)은 사용되지 않는다.
상술한 바와 같은 구성을 갖는 캐쉬 메모리(3)에서, 예를 들어, 만일 비교기(50b)가 태그 메모리(30b)에 저장된 내용과 태그 어드레스(11)가 일치하는 것으로 판별해서 히트 신호(HITb)를 하이 레벨로 출력하면, 웨이선택신호 발생기(100c)에 의해서 웨이선택신호(WSELc)가 발생되므로 출력 선택 회로(62)는 데이터 메모리(40c)로부터의 데이터(DATAc)를 CPU(2)로 출력한다.
다른 예로, 만일 비교기(50i)가 태그 메모리(30i)에 저장된 내용과 태그 어드레스(11)가 일치하는 것으로 판별해서 히트 신호(HITi)를 하이 레벨로 출력하면, 웨이선택신호 발생기(100e)에 의해서 웨이선택신호(WSELe)가 발생되므로 출력 선택 회로(62)는 데이터 메모리(40e)로부터의 데이터(DATAe)를 CPU(2)로 출력한다.
이와 같은 본 발명에 의하면, 태그 메모리들(30a-30i)과 데이터 메모리들(40a-40i) 중 결함있는 셀을 포함하는 태그 메모리들(30d 및 30e) 및 데이터 메모리들(40b 및 40g)을 제외한 나머지 태그 메모리들(30a-30c 및 30f-30i) 및 데이터 메모리들(40a, 40c-40f, 40h 및 40i) 만을 사용함으로써 용량이 감소되었을 뿐 정상적으로 동작하는 캐쉬 메모리를 구현할 수 있다.
도 9a는 5 개의 태그 메모리들과 5 개의 데이터 메모리들 각각에 결함 셀들이 존재할 때 9-웨이 대신 4-웨이 세트-어소시어티브 캐쉬 메모리로 용량을 변경해서 선택하는 방법의 일 예를 보여주고 있다. 도 9b는 도 9a에 도시된 바와 같이, 9-웨이 캐쉬 메모리를 4-웨이 캐쉬 메모리로 변경할 때, 퓨즈 디코더들(200a-200i) 각각의 퓨즈들(F1-F3)의 프로그램 상태와 그에 따른 디코딩 신호들(D1-D6) 및 웨이선택신호 발생기들(100a-100i)각각의 선택되는 입력 단자를 정리해서 보여주는 도면이다.
도 9a 및 도 9b를 참조하면, 5 개의 태그 메모리들(30a, 30c, 30f, 30g 및 30h)과 5 개의 데이터 메모리들(40c, 40d, 40e, 40h 및 40i) 각각에 결함 셀들이 존재할 때, 생산자는 결함있는 셀들이 존재하는 태그 메모리들(30a, 30c, 30f, 30g 및 30h) 및 데이터 메모리들(40c, 40d, 40e, 40h 및 40i)이 사용되지 않도록 퓨즈 디코더들(200a-200i) 내의 퓨즈들(F1, F2 및 F3)을 프로그램한다. 도 9b에 도시된 바와 같은 방법으로 퓨즈 디코더들(200a-200i)을 프로그램하면, 웨이선택신호 발생기(100a)는 입력 단자(IN6)를 통해 입력되는 히트 신호(HITi)를 웨이선택신호(WSELa)로서 출력하고, 웨이선택신호 발생기(100b)는 입력 단자(IN1)를 통해 입력되는 히트 신호(HITb)를 웨이선택신호(WSELb)로서 출력하고, 웨이선택신호 발생기(100f)는 입력 단자(IN1)를 통해 입력되는 히트 신호(HITd)를 웨이선택신호(WSELf)로서 출력하고, 그리고 웨이선택신호 발생기(100g)는 입력 단자(IN1)를 통해 입력되는 히트 신호(HITe)를 웨이선택신호(WSELg)로 출력한다. 한편, 결함있는 메모리 셀을 포함하는 데이터 메모리들(40c, 40d, 40e, 40h 및 40i)에 대응하는 웨이선택신호 발생기들(100c, 100d, 100e, 100h 및 100i)은 입력 단자들(IN1-IN6)을 통해 입력되는 어떠한 신호도 받아들이지 않는다. 이와 같은 구성에 의하면, 결함있는 셀을 포함하는 태그 메모리들(30a, 30c, 30f, 30g 및 30h)과 데이터 메모리들(40c, 40d, 40e, 40h 및 40i)은 사용되지 않는다.
상술한 바와 같은 구성을 갖는 캐쉬 메모리(3)에서, 예를 들어, 만일 비교기(50d)가 태그 메모리(30d)에 저장된 내용과 태그 어드레스(11)가 일치하는 것으로 판별해서 히트 신호(HITd)를 하이 레벨로 출력하면, 웨이선택신호 발생기(100f)에 의해서 웨이선택신호(WSELf)가 발생되므로 출력 선택 회로(62)는 데이터 메모리(40f)로부터의 데이터(DATAf)를 CPU(2)로 출력한다.
다른 예로, 만일 비교기(50i)가 태그 메모리(30i)에 저장된 내용과 태그 어드레스(11)가 일치하는 것으로 판별해서 히트 신호(HITi)를 하이 레벨로 출력하면, 웨이선택신호 발생기(100a)에 의해서 웨이선택신호(WSELa)가 발생되므로 출력 선택 회로(62)는 데이터 메모리(40a)로부터의 데이터(DATAa)를 CPU(2)로 출력한다.
이와 같은 본 발명에 의하면, 태그 메모리들(30a,-30i)과 데이터 메모리들(40a-40i) 중 결함있는 셀을 포함하는 태그 메모리들(30a, 30c, 30f, 30g 및 30h) 및 데이터 메모리들(40c, 40d, 40e, 40h 및 40i)을 제외한 나머지 태그 메모리들(30b, 30d, 30e 및 30i) 및 데이터 메모리들(40a, 40b, 40f 및 40g) 만을 사용함으로써 용량이 감소되었을 뿐 정상적으로 동작하는 캐쉬 메모리를 구현할 수 있다.
만일 태그 메모리들(30a-30i) 중 3 개의 태그 메모리들에 결함 셀이 있고, 데이터 메모리들(40a-40i) 중 1 개의 데이터 메모리에 결함 셀이 있다면, 결함 셀이 없는 정상 태그 메모리들과 데이터 메모리들은 일대일 대응되어야 하므로 정상 데이터 메모리들 중 2 개는 사용될 수 없다. 즉, 결함 셀이 없는 6 개의 태그 메모리들과 6 개의 데이터 메모리들이 일대일 대응된다.
이 실시예에서는 9-웨이 세트-어소시어티브 캐쉬 메모리(3)를 도시하고 설명하였으나 멀티-웨이 세트-어소시어티브 캐쉬 메모리에 모두 적용될 수 있으며, 최소 웨이 개수 역시 다양하게 변경될 수 있음은 통상의 기술자들에게 자명하다. 캐쉬 메모리의 최대 웨이 수에 따라 웨이선택신호 발생기들의 개수가 결정된다. 또한 앞서 설명한 바와 같이, 캐쉬 메모리의 최대 웨이 수와 최소 웨이 수에 따라 웨이선택신호 발생기들의 입력 단자들의 개수가 결정된다. 따라서, 청구범위는 그러한 변형 예들 및 그 유사한 구성들 모두를 포함하는 것으로 가능한 폭넓게 해석되어야 한다.
이상과 같은 본 발명에 의하면, 멀티-웨이 세트-어소시어티브 캐쉬 메모리의 태그 및 데이터 메모리들에 치유될 수 없는 결함 셀들이 있는 경우, 결함있는 셀을 포함하는 태그 메모리의 웨이들 및 데이터 메모리의 웨이들을 제외한 나머지 정상 태그 메모리의 웨이들 및 데이터 메모리의 웨이들 만을 선택해서 사용할 수 있다. 이와 같이 저용량 캐쉬 메모리로 변경함으로써, 캐쉬 메모리에서 발생된 몇몇의 결함 셀들 때문에 CPU와 캐쉬 메모리가 단일 칩으로 집적된 고가의 프로세서 칩 전체를 폐기처분하는 손실을 방지할 수 있다.
도 1은 CPU와 캐쉬 메모리가 단일 칩으로 집적된 프로세서 칩의 구성을 보여주는 도면;
도 2는 멀티-웨이 세트-어소시어티브 캐쉬 메모리 구조의 일 예를 보여주는 도면;
도 3은 도 2에 도시된 웨이 선택기의 본 발명의 바람직한 실시예에 따른 구성을 보여주는 블록도;
도 4는 도 3에 도시된 캐쉬 용량 선택 회로의 상세한 회로 구성을 보여주는 도면;
도 5는 도 4에 도시된 웨이선택신호 발생기들의 상세한 회로 구성을 보여주는 도면;
도 6은 도 4에 도시된 퓨즈 디코더의 상세한 회로 구성을 보여주는 도면;
도 7은 도 6에 도시된 퓨즈들의 프로그램 상태에 따라서 활성화되는 디코딩 신호를 정리한 도면;
도 8a는 2 개의 태그 메모리들과 2 개의 데이터 메모리들 각각에 결함 셀들이 존재할 때 9-웨이 대신 7-웨이 세트-어소시어티브 캐쉬 메모리로 용량을 변경한 경우, 도 4에 도시된 캐쉬 용량 선택 회로로/로부터 입/출력되는 신호들을 예시적으로 표시한 도면;
도 8b는 도 8a에 도시된 예에서 퓨즈 디코더들 각각의 퓨즈들의 프로그램 상태와 그에 따른 디코딩 신호들의 상태 및 웨이선택신호 발생기들 각각의 선택되는 입력 단자를 정리해서 보여주는 도면;
도 9a는 5 개의 태그 메모리들과 5 개의 데이터 메모리들 각각에 결함 셀들이 존재할 때 9-웨이 대신 4-웨이 세트-어소시어티브 캐쉬 메모리로 용량을 변경한 경우, 도 4에 도시된 캐쉬 용량 선택 회로로/로부터 입/출력되는 신호들을 예시적으로 표시한 도면; 그리고
도 9b는 도 9a에 도시된 예에서 퓨즈 디코더들 각각의 퓨즈들의 프로그램 상태와 그에 따른 디코딩 신호들의 상태 및 웨이선택신호 발생기들 각각의 선택되는 입력 단자를 정리해서 보여주는 도면이다.
*도면의 주요 부분에 대한 설명*
1 : 프로세서 칩 2 : CPU
3 : 캐쉬 메모리 10 : 어드레스
11 : 태그 어드레스 12 : 세트 어드레스
20 : 디코더 30a-30i : 태그 메모리
31a-31i : 유효 비트 40a-40i : 데이터 메모리
50a-50i : 비교기 60 : 웨이 선택기
61 : 캐쉬 용량 선택 회로 62 : 출력 선택 회로
100a-100i :웨이선택신호 발생기 111-161 : 트랜스미션 게이트
112-162, 221-223 : 인버터 200a-200i : 퓨즈 디코더
211, 212, 213 : PMOS 트랜지스터 231-236 : 앤드 게이트
F1, F2, F3 : 퓨즈

Claims (38)

  1. 데이터 프로세싱 시스템에 있어서:
    프로세서와;
    상기 프로세서에 의해서 사용될 데이터를 저장하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리를 포함하되;
    상기 캐쉬 메모리는,
    복수의 웨이들로 분할되는 그리고 상기 프로세서에 의해서 사용될 데이터를 저장하기 위한 데이터 메모리와;
    복수의 웨이들로 분할되며, 분할된 웨이들은 상기 데이터 메모리의 웨이들에 각각 대응하는 그리고 태그 어드레스를 저장하기 위한 태그 메모리; 그리고
    상기 태그 메모리의 웨이들 중 결함있는 메모리 셀을 포함하는 웨이를 제외한 정상 웨이들을 선택하고, 상기 데이터 메모리의 웨이들 중 결함있는 메모리 셀을 포함하는 웨이를 제외한 정상 웨이들을 선택하고, 그리고 상기 태그 메모리의 선택된 웨이들과 상기 데이터 메모리의 선택된 웨이들을 새롭게 일대일 대응시키는 결함 보정 수단을 포함하는 것을 특징으로 하는 데이터 프로세싱 시스템.
  2. 제 1 항에 있어서,
    상기 프로세서로부터의 소정의 어드레스와 상기 태그 메모리의 웨이들에 저장된 태그 어드레스들을 각각 비교하고, 상기 소정의 어드레스와 상기 태그 메모리의 웨이들 각각에 저장된 태그 어드레스의 일치 여부를 각각 나타내는 히트 신호들을 출력하는 비교 수단을 더 포함하되;
    상기 결함 보정 수단은,
    상기 비교 수단으로부터의 상기 히트 신호들 중 상기 태그 메모리의 정상 웨이들에 대응하는 히트 신호들을 상기 태그 메모리의 정상 웨이들과 일대일 대응시키는 것을 특징으로 하는 데이터 프로세싱 시스템.
  3. 제 2 항에 있어서,
    상기 결함 보정 수단은,
    상기 히트 신호들 중 상기 태그 메모리의 선택된 웨이들에 대응하는 히트 신호들을 받아들이고, 상기 데이터 메모리의 웨이들에 각각 대응하는 복수의 선택 신호들을 출력하는 제 1 선택 회로와;
    상기 선택 신호들은 상기 데이터 메모리의 선택된 웨이들 중 어느 하나를 선택하기 위한 신호들이며; 그리고
    상기 선택 신호들에 따라서 상기 데이터 메모리의 웨이들 중 어느 하나에 저장된 상기 데이터를 상기 프로세서로 제공하는 제 2 선택 회로를 포함하는 것을 특징으로 하는 데이터 프로세싱 시스템.
  4. 제 3 항에 있어서,
    상기 제 2 선택 회로는,
    상기 히트 신호들 전부가 상기 소정의 어드레스와 상기 태그 메모리의 대응하는 웨이에 저장된 태그 어드레스가 일치하지 않음을 나타낼 때 상기 데이터 메모리에 저장된 어떠한 데이터도 상기 프로세서로 제공하지 않는 것을 특징으로 하는 데이터 프로세싱 시스템.
  5. 제 3 항에 있어서,
    상기 제 1 선택 회로는,
    상기 데이터 메모리의 웨이들에 각각 대응하며, 상기 태그 메모리의 선택된 웨이들에 대응하는 상기 히트 신호들 중 어느 하나를 선택적으로 받아들이고, 그리고 상기 데이터 메모리의 대응하는 웨이를 선택하기 위한 상기 선택 신호를 출력하는 복수 개의 선택 신호 발생 회로들을 포함하는 것을 특징으로 하는 데이터 프로세싱 시스템.
  6. 제 5 항에 있어서,
    상기 선택 신호 발생 회로들 각각은,
    상기 데이터 메모리의 대응하는 웨이가 선택되었을 때 상기 태그 메모리의 선택된 웨이들에 대응하는 상기 히트 신호들 중 어느 하나를 선택적으로 받아들이고,
    상기 데이터 메모리의 대응하는 웨이가 비선택되었을 때 상기 히트 신호들 중 어느 것도 받아들이지 않으며 그리고 상기 선택 신호를 출력하지 않는 것을 특징으로 하는 데이터 프로세싱 시스템.
  7. 제 5 항에 있어서,
    상기 선택 신호 발생 회로들 각각은 서로 다른 히트 신호를 받아들이는 것을 특징으로 하는 데이터 프로세싱 시스템.
  8. 제 5 항에 있어서,
    상기 선택 신호 발생 회로들 각각은,
    상기 태그 메모리의 선택된 웨이들에 대응하는 상기 히트 신호들을 받아들이기 위한 입력 단자들과;
    상기 비교 수단으로부터의 상기 히트 신호들 중 어느 것을 받아들일 것인지 또는 어느 것도 받아들이지 않을 지에 대한 정보를 저장하는 저장 수단과;
    상기 저장 수단에 저장된 정보를 디코드해서 디코딩 신호들을 출력하는 디코더; 그리고
    상기 디코딩 신호들에 응답해서, 상기 입력 단자들을 통해 입력되는 상기 히트 신호들 중 어느 하나를 받아들이고 상기 선택 신호를 출력하거나 또는 상기 히트 신호들 중 어느 것도 받아들이지 않고 상기 선택 신호를 출력하지 않는 선택 신호 발생기를 포함하는 것을 특징으로 하는 데이터 프로세싱 시스템.
  9. 제 8 항에 있어서,
    상기 저장 수단은 적어도 하나의 퓨즈로 구성되는 것을 특징으로 하는 데이터 프로세싱 시스템.
  10. 제 8 항에 있어서,
    상기 입력 단자들의 개수는,
    상기 데이터 및 태그 메모리들의 최대로 선택될 수 있는 웨이 수와 최소로 선택될 수 있는 웨이 수의 차에 1을 더한 수인 것을 특징으로 하는 데이터 프로세싱 시스템.
  11. 데이터 프로세싱 시스템에 있어서:
    프로세서와;
    상기 프로세서에 의해서 사용될 데이터를 저장하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리를 포함하되;
    상기 캐쉬 메모리는,
    복수의 웨이들로 분할되는 그리고 상기 프로세서에 의해서 사용될 데이터를 저장하는 데이터 메모리와;
    복수의 웨이들로 분할되며 상기 분할된 웨이들은 상기 데이터 메모리의 웨이들에 각각 대응하는 그리고 태그 어드레스를 저장하는 태그 메모리와;
    상기 프로세서로부터의 소정의 어드레스와 상기 태그 메모리의 웨이들에 저장된 태그 어드레스들을 각각 비교하고, 상기 소정의 어드레스와 상기 태그 메모리의 웨이들 각각에 저장된 태그 어드레스의 일치 여부를 각각 나타내는 히트 신호들을 출력하는 비교 수단; 그리고
    상기 태그 메모리의 웨이들 중 일부에 대응하는 상기 히트 신호들 및 상기 데이터 메모리의 웨이들 중 일부를 선택하고, 상기 선택된 히트 신호들과 상기 데이터 메모리의 선택된 웨이들을 새롭게 일대일 대응시키는 캐쉬 메모리 용량 선택 회로를 포함하는 것을 특징으로 하는 데이터 프로세싱 시스템.
  12. 제 11 항에 있어서,
    상기 캐쉬 메모리 용량 선택 회로는,
    상기 태그 메모리의 결함있는 메모리 셀을 포함하는 웨이들을 제외한 정상 웨이들과 상기 데이터 메모리의 결함있는 메모리 셀을 포함하는 웨이들을 제외한 정상 웨이들을 각각 선택하는 것을 특징으로 하는 데이터 프로세싱 시스템.
  13. 제 12 항에 있어서,
    상기 캐쉬 메모리 용량 선택 회로는,
    상기 데이터 메모리의 웨이들에 각각 대응하며, 상기 태그 메모리의 정상 웨이들에 대응하는 히트 신호들 중 어느 하나를 받아들이고, 각각이 상기 데이터 메모리의 대응하는 웨이를 선택하기 위한 선택 신호를 출력하는 복수의 선택 신호 발생 회로들과;
    상기 선택 신호들에 의해 선택된 상기 데이터 메모리의 웨이에 저장된 데이터를 상기 프로세서로 제공하는 출력 회로를 더 포함하는 것을 특징으로 하는 데이터 프로세싱 시스템.
  14. 제 13 항에 있어서,
    상기 출력 회로는,
    상기 히트 신호들 모두가 상기 소정의 어드레스와 상기 태그 메모리의 대응하는 웨이에 저장된 상기 태그 어드레스가 일치하지 않음을 나타낼 때, 상기 데이터 메모리에 저장된 어떠한 데이터도 상기 프로세서로 제공하지 않는 것을 특징으로 하는 데이터 프로세싱 시스템.
  15. 제 13 항에 있어서,
    상기 선택 신호 발생 회로들 각각은,
    상기 데이터 메모리의 대응하는 웨이가 선택되었을 때 상기 태그 메모리의 선택된 웨이들에 대응하는 상기 히트 신호들 중 어느 하나를 받아들이고,
    상기 데이터 메모리의 대응하는 웨이가 비선택되었을 때 상기 히트 신호들 중 어느 것도 받아들이지 않으며 그리고 상기 선택 신호를 출력하지 않는 것을 특징으로 하는 데이터 프로세싱 시스템.
  16. 제 13 항에 있어서,
    상기 선택 신호 발생 회로들 각각은 서로 다른 히트 신호를 받아들이는 것을 특징으로 하는 데이터 프로세싱 시스템.
  17. 제 13 항에 있어서,
    상기 선택 신호 발생 회로들 각각은,
    상기 태그 메모리의 선택된 웨이들에 대응하는 상기 히트 신호들을 받아들이기 위한 입력 단자들과;
    상기 비교 수단으로부터의 상기 히트 신호들 중 어느 것을 받아들일 것인 지에 대한 정보를 저장하는 저장 수단과;
    상기 저장 수단에 저장된 정보를 디코드해서 디코딩 신호들을 출력하는 디코더; 그리고
    상기 디코딩 신호들에 응답해서 상기 입력 단자들을 통해 입력되는 상기 히트 신호들 중 어느 하나를 선택해서 상기 선택 신호로서 출력하거나 또는 상기 히트 신호들 중 어느 것도 선택하지 않아서 상기 선택 신호를 출력하지 않는 선택 신호 발생기를 포함하는 것을 특징으로 하는 데이터 프로세싱 시스템.
  18. 제 17 항에 있어서,
    상기 저장 수단은 적어도 하나의 퓨즈로 구성되는 것을 특징으로 하는 데이터 프로세싱 시스템.
  19. 제 17 항에 있어서,
    상기 입력 단자들의 개수는,
    상기 데이터 및 태그 메모리들의 최대로 선택될 수 있는 웨이 수와 최소로 선택될 수 있는 웨이 수의 차에 1을 더한 수인 것을 특징으로 하는 데이터 프로세싱 시스템.
  20. 멀티-웨이 세트-어소시어티브 캐쉬 메모리에 있어서:
    복수의 웨이들로 분할되는 그리고 상기 프로세서에 의해서 사용될 데이터를 저장하는 데이터 메모리와;
    복수의 웨이들로 분할되며, 분할된 웨이들은 상기 데이터 메모리의 웨이들에 각각 대응하는 그리고 태그 어드레스를 저장하는 태그 메모리; 그리고
    상기 태그 메모리의 웨이들 중 결함있는 메모리 셀을 포함하는 웨이를 제외한 정상 웨이들을 선택하고, 상기 데이터 메모리의 웨이들 중 결함있는 메모리 셀을 포함하는 웨이를 제외한 정상 웨이들을 선택하고, 그리고 상기 태그 메모리의 선택된 웨이들과 상기 데이터 메모리의 선택된 웨이들을 새롭게 일대일 대응시키는 결함 보정 수단을 포함하는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  21. 제 20 항에 있어서,
    상기 프로세서로부터의 소정의 어드레스와 상기 태그 메모리의 웨이들에 저장된 태그 어드레스들을 각각 비교하고, 상기 소정의 어드레스와 상기 태그 메모리의 웨이들 각각에 저장된 태그 어드레스의 일치 여부를 각각 나타내는 히트 신호들을 출력하는 비교 수단을 더 포함하되;
    상기 결함 보정 수단은,
    상기 비교 수단으로부터의 상기 히트 신호들 중 상기 태그 메모리의 정상 웨이들에 대응하는 히트 신호들을 상기 태그 메모리의 정상 웨이들과 일대일 대응시키는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  22. 제 21 항에 있어서,
    상기 결함 보정 수단은,
    상기 히트 신호들 중 상기 태그 메모리의 선택된 웨이들에 대응하는 히트 신호들을 받아들이고, 상기 데이터 메모리의 웨이들에 각각 대응하는 복수의 선택 신호들을 출력하는 제 1 선택 회로와;
    상기 선택 신호들은 상기 데이터 메모리의 선택된 웨이들 중 어느 하나를 선택하기 위한 신호들이며; 그리고
    상기 선택 신호들에 따라서 상기 데이터 메모리의 웨이들 중 어느 하나에 저장된 상기 데이터를 상기 프로세서로 제공하는 제 2 선택 회로를 포함하는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  23. 제 22 항에 있어서,
    상기 제 2 선택 회로는,
    상기 히트 신호들 전부가 상기 소정의 어드레스와 상기 태그 메모리의 대응하는 웨이에 저장된 태그 어드레스가 일치하지 않음을 나타낼 때 상기 데이터 메모리에 저장된 어떠한 데이터도 상기 프로세서로 제공하지 않는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  24. 제 22 항에 있어서,
    상기 제 1 선택 회로는,
    상기 데이터 메모리의 웨이들에 각각 대응하며, 상기 태그 메모리의 선택된 웨이들에 대응하는 상기 히트 신호들 중 어느 하나를 받아들여서 상기 데이터 메모리의 대응하는 웨이를 선택하기 위한 상기 선택 신호로서 출력하는 복수 개의 선택 신호 발생 회로들을 포함하는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  25. 제 24 항에 있어서,
    상기 선택 신호 발생 회로들 각각은,
    상기 데이터 메모리의 대응하는 웨이가 선택되었을 때 상기 태그 메모리의 선택된 웨이들에 대응하는 상기 히트 신호들 중 어느 하나를 받아들이고,
    상기 데이터 메모리의 대응하는 웨이가 비선택되었을 때 상기 히트 신호들 중 어느 것도 받아들이지 않으며 그리고 상기 선택 신호를 출력하지 않는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  26. 제 24 항에 있어서,
    상기 선택 신호 발생 회로들 각각은 서로 다른 히트 신호를 받아들이는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  27. 제 24 항에 있어서,
    상기 선택 신호 발생 회로들 각각은,
    상기 태그 메모리의 선택된 웨이들에 대응하는 상기 히트 신호들을 받아들이기 위한 입력 단자들과;
    상기 비교 수단으로부터의 상기 히트 신호들 중 어느 것을 받아들일 것인 지에 대한 정보를 저장하는 저장 수단과;
    상기 저장 수단에 저장된 정보를 디코드해서 디코딩 신호들을 출력하는 디코더; 그리고
    상기 디코딩 신호들에 응답해서 상기 입력 단자들을 통해 입력되는 상기 히트 신호들 중 어느 하나를 선택해서 상기 선택 신호로서 출력하거나 또는 상기 히트 신호들 중 어느 것도 선택하지 않아서 상기 선택 신호를 출력하지 않는 선택 신호 발생기를 포함하는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  28. 제 27 항에 있어서,
    상기 저장 수단은 적어도 하나의 퓨즈로 구성되는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  29. 제 27 항에 있어서,
    상기 입력 단자들의 개수는,
    상기 데이터 및 태그 메모리들의 최대로 선택될 수 있는 웨이 수와 최소로 선택될 수 있는 웨이 수의 차에 1을 더한 수인 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  30. 멀티-웨이 세트-어소시어티브 캐쉬 메모리에 있어서:
    복수의 웨이들로 분할되는 그리고 프로세서에 의해서 사용될 데이터를 저장하는 데이터 메모리와;
    복수의 웨이들로 분할되며, 분할된 웨이들은 상기 데이터 메모리의 웨이들에 각각 대응하는 그리고 태그 어드레스를 저장하는 태그 메모리와;
    상기 프로세서로부터의 소정의 어드레스와 상기 태그 메모리의 웨이들에 저장된 태그 어드레스들을 각각 비교하고, 상기 소정의 어드레스와 상기 태그 메모리의 웨이들 각각에 저장된 태그 어드레스의 일치 여부를 각각 나타내는 히트 신호들을 출력하는 비교 수단; 그리고
    상기 태그 메모리의 웨이들 중 일부에 대응하는 상기 히트 신호들 및 상기 데이터 메모리의 웨이들 중 일부를 선택하고, 상기 선택된 히트 신호들과 상기 데이터 메모리의 선택된 웨이들을 새롭게 일대일 대응시키는 용량 선택 회로를 포함하는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  31. 제 30 항에 있어서,
    상기 용량 선택 회로는,
    상기 히트 신호들 중 어느 하나가 상기 태그 메모리의 대응하는 웨이에 저장된 태그 어드레스와 상기 소정의 어드레스가 일치함을 나타낼 때 상기 데이터 메모리의 대응하는 웨이에 저장된 데이터를 상기 프로세서로 제공하는 출력 회로를 더 포함하는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  32. 제 31 항에 있어서,
    상기 용량 선택 회로는,
    상기 데이터 메모리의 웨이들에 각각 대응하며, 상기 태그 메모리의 정상 웨이들에 대응하는 히트 신호들 중 어느 하나를 받아들이고, 각각이 상기 데이터 메모리의 대응하는 웨이를 선택하기 위한 선택 신호를 출력하는 복수의 선택 신호 발생 회로들; 그리고
    상기 선택 신호에 의해 선택된 상기 데이터 메모리의 웨이에 저장된 상기 데이터를 상기 프로세서로 제공하는 출력 회로를 포함하는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  33. 제 32 항에 있어서,
    상기 선택 신호 발생 회로들 각각은,
    상기 히트 신호들 전부가 상기 소정의 어드레스와 상기 태그 메모리의 대응하는 웨이에 저장된 태그 어드레스가 일치하지 않음을 나타낼 때 상기 출력 선택 회로가 상기 데이터 메모리에 저장된 어떠한 데이터도 상기 프로세서로 제공하지 않도록 상기 선택 신호를 출력하는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  34. 제 32 항에 있어서,
    상기 선택 신호 발생 회로들 각각은,
    상기 데이터 메모리의 대응하는 웨이가 선택되었을 때 상기 태그 메모리의 선택된 웨이들에 대응하는 상기 히트 신호들 중 어느 하나를 받아들이고,
    상기 데이터 메모리의 대응하는 웨이가 비선택되었을 때 상기 히트 신호들 중 어느 것도 받아들이지 않으며 그리고 상기 선택 신호를 출력하지 않는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  35. 제 32 항에 있어서,
    상기 선택 신호 발생 회로들 각각은 서로 다른 히트 신호를 받아들이는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  36. 제 35 항에 있어서,
    상기 선택 신호 발생 회로들 각각은,
    상기 태그 메모리의 선택된 웨이들에 대응하는 상기 히트 신호들을 받아들이기 위한 입력 단자들과;
    상기 비교 수단으로부터의 상기 히트 신호들 중 어느 것을 받아들일 것인 지에 대한 정보를 저장하는 저장 수단과;
    상기 저장 수단에 저장된 정보를 디코드해서 디코딩 신호들을 출력하는 디코더; 그리고
    상기 디코딩 신호들에 응답해서 상기 입력 단자들을 통해 입력되는 상기 히트 신호들 중 어느 하나를 선택해서 상기 선택 신호로서 출력하거나 또는 상기 히트 신호들 중 어느 것도 선택하지 않아서 상기 선택 신호를 출력하지 않는 선택 신호 발생기를 포함하는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  37. 제 36 항에 있어서,
    상기 저장 수단은 적어도 하나의 퓨즈로 구성되는 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
  38. 제 36 항에 있어서,
    상기 입력 단자들의 개수는,
    상기 데이터 및 태그 메모리들의 최대로 선택될 수 있는 웨이 수와 최소로 선택될 수 있는 웨이 수의 차에 1을 더한 수인 것을 특징으로 하는 멀티-웨이 세트-어소시어티브 캐쉬 메모리.
KR10-2001-0076262A 2001-12-04 2001-12-04 용량 변경이 가능한 캐쉬 메모리 및 이를 구비한 프로세서칩 KR100481849B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR10-2001-0076262A KR100481849B1 (ko) 2001-12-04 2001-12-04 용량 변경이 가능한 캐쉬 메모리 및 이를 구비한 프로세서칩
US10/307,864 US6954827B2 (en) 2001-12-04 2002-12-02 Cache memory capable of selecting size thereof and processor chip having the same
GB0228321A GB2387459B (en) 2001-12-04 2002-12-04 Cache memory capable of selecting size thereof and processor chip having the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0076262A KR100481849B1 (ko) 2001-12-04 2001-12-04 용량 변경이 가능한 캐쉬 메모리 및 이를 구비한 프로세서칩

Publications (2)

Publication Number Publication Date
KR20030045517A KR20030045517A (ko) 2003-06-11
KR100481849B1 true KR100481849B1 (ko) 2005-04-11

Family

ID=19716624

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0076262A KR100481849B1 (ko) 2001-12-04 2001-12-04 용량 변경이 가능한 캐쉬 메모리 및 이를 구비한 프로세서칩

Country Status (3)

Country Link
US (1) US6954827B2 (ko)
KR (1) KR100481849B1 (ko)
GB (1) GB2387459B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4753549B2 (ja) * 2004-05-31 2011-08-24 パナソニック株式会社 キャッシュメモリおよびシステム
JP4676723B2 (ja) * 2004-07-30 2011-04-27 富士通株式会社 キャッシュメモリ、プロセッサ、キャッシュメモリの製造方法、プロセッサの製造方法
US7366953B2 (en) * 2004-12-09 2008-04-29 International Business Machines Corporation Self test method and apparatus for identifying partially defective memory
US7809980B2 (en) * 2007-12-06 2010-10-05 Jehoda Refaeli Error detector in a cache memory using configurable way redundancy
JP6244842B2 (ja) * 2013-11-14 2017-12-13 富士通株式会社 半導体集積回路の製造方法
US9600179B2 (en) * 2014-07-30 2017-03-21 Arm Limited Access suppression in a memory device
KR20210071469A (ko) * 2019-12-06 2021-06-16 삼성전자주식회사 기능 안전 수준을 향상시키는 오류 검출 기능을 갖는 메모리 장치 및 이를 포함하는 제어 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197622A (ja) * 1992-01-21 1993-08-06 Fujitsu Ltd キャッシュサブシステム
US5551004A (en) * 1993-05-28 1996-08-27 Sgs-Thomson Microelectronics, Inc. Structure which renders faulty data of a cache memory uncacheable in order that a partially functional cache memory may be utilized
JPH10254771A (ja) * 1997-03-14 1998-09-25 Fujitsu Ltd キャッシュ装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3750116A (en) * 1972-06-30 1973-07-31 Ibm Half good chip with low power dissipation
US3845476A (en) * 1972-12-29 1974-10-29 Ibm Monolithic memory using partially defective chips
US4527251A (en) * 1982-12-17 1985-07-02 Honeywell Information Systems Inc. Remap method and apparatus for a memory system which uses partially good memory devices
JPH07182238A (ja) * 1993-11-01 1995-07-21 Sgs Thomson Microelectron Inc 欠陥データ無効化回路及び方法
JPH10334695A (ja) * 1997-05-27 1998-12-18 Toshiba Corp キャッシュメモリ及び情報処理システム
JPH10340226A (ja) 1997-06-09 1998-12-22 Nec Corp 連想記憶方式のキャッシュメモリ
JP2001243790A (ja) * 2000-03-01 2001-09-07 Mitsubishi Electric Corp 半導体記憶装置
US6918071B2 (en) * 2001-04-20 2005-07-12 Sun Microsystems, Inc. Yield improvement through probe-based cache size reduction

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197622A (ja) * 1992-01-21 1993-08-06 Fujitsu Ltd キャッシュサブシステム
US5551004A (en) * 1993-05-28 1996-08-27 Sgs-Thomson Microelectronics, Inc. Structure which renders faulty data of a cache memory uncacheable in order that a partially functional cache memory may be utilized
JPH10254771A (ja) * 1997-03-14 1998-09-25 Fujitsu Ltd キャッシュ装置

Also Published As

Publication number Publication date
KR20030045517A (ko) 2003-06-11
GB2387459B (en) 2005-11-23
GB0228321D0 (en) 2003-01-08
GB2387459A (en) 2003-10-15
US6954827B2 (en) 2005-10-11
US20030131196A1 (en) 2003-07-10

Similar Documents

Publication Publication Date Title
US7120068B2 (en) Column/row redundancy architecture using latches programmed from a look up table
US7162669B2 (en) Apparatus and method for compressing redundancy information for embedded memories, including cache memories, of integrated circuits
US7134057B1 (en) Off-pitch column redundancy using dynamic shifters
US6724670B2 (en) Shared redundancy for memory having column addressing
US7831774B2 (en) Pipelining D states for MRU steerage during MRU-LRU member allocation
KR19980041820A (ko) 메모리 회로 및 메모리 회로내에서의 정보 저장 및 검색 방법
KR100481849B1 (ko) 용량 변경이 가능한 캐쉬 메모리 및 이를 구비한 프로세서칩
US8230277B2 (en) Storage of data in data stores having some faulty storage locations
US7174477B2 (en) ROM redundancy in ROM embedded DRAM
US6876557B2 (en) Unified SRAM cache system for an embedded DRAM system having a micro-cell architecture
KR100395768B1 (ko) 멀티 레벨 캐쉬 시스템
US6918071B2 (en) Yield improvement through probe-based cache size reduction
US20020124203A1 (en) Method for utilizing DRAM memory
US6504771B2 (en) Semiconductor device, system, and method of controlling accessing to memory
JP3409056B2 (ja) 半導体記憶装置およびそれを用いたシステム
JPH0997498A (ja) 読み出し専用半導体記憶装置
US7385862B2 (en) Shared redundant memory architecture and memory system incorporating same
US20050083719A1 (en) Semiconductor memory device used for cache memory
US8331174B2 (en) Semiconductor memory device and method for operating the same
JP2001256793A (ja) 半導体集積回路装置
Lamet et al. Defect-tolerant cache memory design
JP2008198355A (ja) 半導体集積回路装置
JP2004158069A (ja) 半導体集積回路装置
JPH07219846A (ja) 連想メモリ、及びデータ処理装置
KR0176186B1 (ko) Pc 칩세트의 어드레스 매핑회로

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090309

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee