KR20120094778A - 캐시 레이턴시 저감을 위한 캐시 메모리 제어방법 및 캐시 메모리 시스템 - Google Patents

캐시 레이턴시 저감을 위한 캐시 메모리 제어방법 및 캐시 메모리 시스템 Download PDF

Info

Publication number
KR20120094778A
KR20120094778A KR1020110014243A KR20110014243A KR20120094778A KR 20120094778 A KR20120094778 A KR 20120094778A KR 1020110014243 A KR1020110014243 A KR 1020110014243A KR 20110014243 A KR20110014243 A KR 20110014243A KR 20120094778 A KR20120094778 A KR 20120094778A
Authority
KR
South Korea
Prior art keywords
memory
cache
group data
latency
data memory
Prior art date
Application number
KR1020110014243A
Other languages
English (en)
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 KR1020110014243A priority Critical patent/KR20120094778A/ko
Priority to US13/342,440 priority patent/US20120215959A1/en
Publication of KR20120094778A publication Critical patent/KR20120094778A/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
    • 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline

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

캐시 레이턴시 저감을 위한 캐시 메모리 제어방법이 개시된다. 그러한 방법은 상대적으로 큰 레이턴시를 갖는 제2 그룹 데이터 메모리가 캐시 히트/미스 신호의 생성 전에 제1 그룹 데이터 메모리 보다 우선적으로 억세스 되도록 한다. 그리고, 상기 제2 그룹 데이터 메모리로부터 출력되는 타겟 데이터를 상기 캐시 히트/미스 신호에 따라 스위칭한다. 본 발명의 실시 예에 따르면, 캐시 레이턴시가 최소화 또는 감소되므로 캐시 메모리 시스템의 성능이 개선된다.

Description

캐시 레이턴시 저감을 위한 캐시 메모리 제어방법 및 캐시 메모리 시스템 {Cache memory controlling method and cache memory system for reducing cache latency}
본 발명은 컴퓨터 시스템 등과 같은 데이터 처리 장치에 채용 가능한 캐시 메모리 시스템에 관한 것으로, 보다 상세하게는 캐시 레이턴시 저감을 위한 캐시 메모리 제어방법 및 캐시 메모리 시스템에 관한 것이다.
전형적으로, 프로세서(processor)가 DRAM(다이나믹 랜덤 억세스 메모리)등과 같은 메인 메모리(main memory)로부터 리드한 데이터(data)를 처리하는 대부분의 데이터 처리 장치는, 메인 메모리와 프로세서 간의 동작 속도 차에 따른 데이터 처리의 병목현상을 완화하기 위하여 캐시 메모리 시스템(cache memory system)을 구비하고 있다.
그러한 캐시 메모리 시스템 내에 채용되는 캐시 메모리는 장치 내의 캐시 레벨에 따라 L1 캐시 또는 L2 캐시로서 사용된다. 1차 캐시라고도 불려지는 L1 캐시는 프로세서에 의해 가장 빨리 억세스 되어지며 메모리 용량은 L2 캐시보다 적다.
한편, L2 캐시는 프로세서가 L1 캐시를 억세스한 후 원하는 데이터를 찾지 못한 경우에 프로세서에 의해 2차적으로 억세스된다. L2 캐시의 동작 속도는 L1 캐시보다는 느리지만 메인 메모리보다는 빠르다.
결국, 캐시 메모리는 데이터 억세스의 특징인 지역성(locality)과 반복성에 기초하여 널리 이용되는 임시 저장장치이다. 마이크로 아키텍쳐(micro architecture)의 복잡성이 증가되고, 동작 속도 및 파워 이슈(power issue)가 커짐에 따라, L1, L2 캐시의 메모리 용량 증가에 대한 요구도 또한 커지고 있다. 특히 L2 캐시의 메모리 용량이 증가되면 데이터의 저장 능력이 커지는 장점이 있으나, 반면, 칩 디자인(Chip design)시 물리적인 이유로 인해, 레이턴시(latency)가 증가된다.
여기서, 레이턴시는 캐시 메모리를 억세스하기 위한 어드레스가 캐시 메모리에 인가된 후 캐시 히트된 데이터를 수신하기 까지의 대기 시간을 의미하며 레이턴시 사이클로서도 불려진다.
그러므로 L2 캐시 등과 같은 캐시 메모리의 메모리 용량이 커지더라도 캐시 메모리 시스템에서 발생되는 레이턴시의 증가를 최소화 또는 줄일 수 있는 대책이 필요해진다.
본 발명이 해결하고자 하는 기술적 과제는, 캐시 레이턴시를 최소화 또는 줄일 수 있는 캐시 메모리 제어 방법 및 캐시 메모리 시스템을 제공함에 있다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 데이터 메모리가 갖는 레이턴시의 크기에 따라 태그 어드레스의 인가시점을 다르게 할 수 있는 캐시 레이턴시 저감을 위한 캐시 메모리 제어방법을 제공함에 있다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 캐시 히트/미스 판정 이전에 태그 어드레스에 의해 억세스되는 데이터 메모리를 구비한 캐시 메모리 시스템을 제공함에 있다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 상대적으로 레이턴시가 큰 그룹에 속하는 데이터 메모리를 상대적으로 레이턴시가 작은 그룹에 속하는 데이터 메모리에 비해 우선적으로 억세스되도록 하는 캐시 메모리 시스템을 제공함에 있다.
상기 기술적 과제를 달성하기 위하여, 본 발명의 실시 예의 일 양상에 따른 캐시 레이턴시 저감을 위한 캐시 메모리 제어방법은, 태그 데이터를 저장하고 있는 태그 메모리와, 제1 그룹 데이터 메모리의 레이턴시보다 큰 레이턴시를 갖는 제2 그룹 데이터 메모리에 타겟 어드레스를 인가하는 단계; 및
상기 제1 그룹 데이터 메모리보다 빨리 억세스된 상기 제2 그룹 데이터 메모리로부터 출력되는 타겟 데이터를 상기 태그 메모리의 억세스 결과에 의해 생성되는 캐시 히트/미스 신호에 따라 스위칭하는 단계를 구비한다.
본 발명의 실시 예에서, 상기 태그 메모리 및 상기 제1,2 그룹 데이터 메모리들은 L2 캐시에 포함될 수 있다.
본 발명의 실시 예에서, 상기 제2 그룹 데이터 메모리는 상기 캐시 히트/미스 신호가 생성되기 이전에 상기 타겟 어드레스를 받아 억세스될 수 있다.
본 발명의 실시 예에서, 상기 캐시 히트/미스 신호는 상기 태그 메모리로부터 출력되는 태그 데이터와 상기 타겟 어드레스를 수신하여 리드 동작 모드에서 판정을 수행하는 비교 및 변환부에 의해 생성될 수 있다.
본 발명의 실시 예에서, 상기 제2 그룹 데이터 메모리는 캐시 제어부를 기준으로 상기 제1 그룹 데이터 메모리에 비해 더 멀리 배치될 수 있다.
본 발명의 실시 예에서, 상기 타겟 데이터를 스위칭하는 스위칭부는 상기 제2 그룹 데이터 메모리의 메모리 셀 어레이와 컬럼 디코더 사이에 위치될 수 있다.
본 발명의 실시 예에서, 상기 타겟 데이터를 스위칭하는 스위칭부는 상기 제2 그룹 데이터 메모리의 메모리 셀 어레이와 로우 디코더 사이에 위치될 수 있다.
본 발명의 실시 예에서, 캐시 메모리 시스템 내에 상기 제2 그룹 데이터 메모리보다 레이턴시가 더 큰 제3 그룹 데이터 메모리가 구비된 경우에 상기 제3 그룹 데이터 메모리는 상기 제2 그룹 데이터 메모리보다 상기 타겟 어드레스를 더 빨리 수신할 수 있다.
본 발명의 실시 예에서, 상기 태그 메모리는 적어도 1사이클 이상의 레이턴시를 가질 수 있다.
본 발명의 실시 예에서, 상기 제1 그룹 데이터 메모리의 레이턴시가 2 사이클인 경우에 상기 제2 그룹 데이터 메모리의 레이턴시는 3 사이클일 수 있다.
상기 기술적 과제를 달성하기 위하여, 본 발명의 실시 예의 다른 양상에 따른 캐시 레이턴시 저감을 위한 캐시 메모리 시스템은, 태그 데이터를 저장하고 있는 태그 메모리와, 제1 그룹 데이터 메모리와, 상기 제1 그룹 데이터 메모리의 레이턴시보다 큰 레이턴시를 갖는 제2 그룹 데이터 메모리를 구비하는 캐시 메모리와; 상기 태그 메모리와 상기 제2 그룹 데이터 메모리에 상기 제1 그룹 데이터 메모리보다 타겟 어드레스를 먼저 인가하며, 상기 제2 그룹 데이터 메모리로부터 출력되는 타겟 데이터를 상기 태그 메모리의 억세스 결과에 의해 생성되는 캐시 히트/미스 신호에 따라 데이터 출력단으로 스위칭하는 캐시 제어부를 포함한다.
본 발명의 실시 예에서, 상기 캐시 메모리 시스템은 컴퓨터 시스템의 L2 캐시로서 기능할 수 있다.
본 발명의 실시 예에서, 상기 캐시 메모리 시스템은 데이터 처리 장치의 L2 캐시로서 기능할 수 있다.
본 발명의 실시 예에서, 상기 제1 그룹 데이터 메모리는 상기 캐시 제어부를 기준으로 상기 제2 그룹 데이터 메모리에 비해 더 가까이 배치될 수 있다.
본 발명의 실시 예에서, 상기 제1 그룹 데이터 메모리의 레이턴시가 2 사이클 이상인 경우에 상기 제2 그룹 데이터 메모리의 레이턴시는 3 사이클 이상일 수 있다.
본 발명의 실시 예에서, 상기 제2 그룹 데이터 메모리보다 레이턴시가 더 크며 상기 제2 그룹 데이터 메모리보다 상기 타겟 어드레스를 더 빨리 수신하는 제3 그룹 데이터 메모리가 더 구비될 수 있다.
본 발명의 실시 예에서, 상기 제2 그룹 데이터 메모리는 메모리 셀 어레이와 컬럼 디코더 사이에 스위칭부를 구비하여 상기 타겟 데이터가 상기 데이터 출력단으로 스위칭되록 할 수 있다.
본 발명의 실시 예에서, 상기 제2 그룹 데이터 메모리는 메모리 셀 어레이와 로우 디코더 사이에 스위칭부를 구비하여 상기 타겟 데이터가 상기 데이터 출력단으로 스위칭되록 할 수 있다.
본 발명의 실시 예에서, 상기 캐시 제어부는 상기 태그 메모리로부터 출력되는 태그 데이터와 상기 타겟 어드레스를 수신하여 리드 동작 모드에서 판정을 수행함에 의해 상기 캐시 히트/미스 신호를 생성하는 비교 및 변환부를 포함할 수 있다.
본 발명의 실시 예에서, 상기 제2 그룹 데이터 메모리로부터 출력되는 타겟 데이터가 필요 없을 경우에 상기 스위칭부는 상기 캐시 히트/미스 신호에 응답하여 턴 오프될 수 있다.
본 발명의 실시 예 적인 구성에 따르면, 캐시 레이턴시가 최소화 또는 감소된다. 따라서, 캐시 동작이 보다 고속으로 수행되므로 캐시 메모리 시스템의 성능이 개선된다.
도 1은 본 발명이 적용되는 데이터 처리 장치의 개략적 블록도,
도 2는 도 1중 캐시 메모리 시스템의 레이아웃도,
도 3은 도 1중 캐시 메모리 시스템의 일 예시에 따른 개략적 블록도,
도 4는 도 1중 캐시 메모리 시스템의 다른 예시에 따른 개략적 블록도,
도 5는 도 3 또는 도 4의 제2,3 그룹 데이터 메모리들의 제1 구현 회로 블록도,
도 6은 도 3 또는 도 4의 제2,3 그룹 데이터 메모리들의 제2 구현 회로 블록도,
도 7는 본 발명에 따른 캐시 레이턴시를 설명하기 위해 제시된 사이클 신호 파형도,
도 8은 전자 시스템에 채용된 본 발명의 응용 예를 도시한 블록도,
도 9는 데이터 처리 장치에 채용된 본 발명의 응용 예를 도시한 블록도, 및
도 10은 메모리 카드에 채용된 본 발명의 응용 예를 도시한 블록도.
위와 같은 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시 예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시 예들은, 이해의 편의를 제공할 의도 이외에는 다른 의도 없이, 개시된 내용이 보다 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.
본 명세서에서, 어떤 소자 또는 라인들이 대상 소자 블록에 연결 된다 라고 언급된 경우에 그것은 직접적인 연결뿐만 아니라 어떤 다른 소자를 통해 대상 소자 블록에 간접적으로 연결된 의미까지도 포함한다.
또한, 각 도면에서 제시된 동일 또는 유사한 참조 부호는 동일 또는 유사한 구성 요소를 가급적 나타내고 있다. 일부 도면들에 있어서, 소자 및 라인들의 연결관계는 기술적 내용의 효과적인 설명을 위해 나타나 있을 뿐, 타의 소자나 회로블록들이 더 구비될 수 있다.
여기에 설명되고 예시되는 각 실시 예는 그것의 상보적인 실시 예도 포함될 수 있으며, 캐시 메모리에 대한 캐시 억세스 동작과 캐시 히트/미스 신호의 생성과정에 대한 세부는 본 발명의 요지를 모호하지 않도록 하기 위해 상세히 설명되지 않음을 유의(note)하라.
도 1은 본 발명이 적용되는 데이터 처리 장치의 개략적 블록도이다.
도면을 참조하면, 데이터 처리 장치는 프로세서(10), 캐시 메모리 시스템(20), 메모리 콘트롤러(30), 및 메인 메모리(40)를 포함한다.
상기 캐시 메모리 시스템(20)은 캐시 제어부(22)와 캐시 메모리(24)를 포함하며, 상기 캐시 메모리(24)는 본 발명의 실시 예에서 L2 캐시가 될 수 있다.
시스템 버스(60)에는 상기 캐시 제어부(22)의 라인(16)과 상기 프로세서(10)의 데이터 라인(14)이 연결된다.
상기 시스템 버스(60)와는 라인(62)을 통해 연결된 메모리 콘트롤러(30)는 상기 프로세서(10)의 명령에 따라 메인 메모리(40)를 제어한다. 또한 상기 시스템 버스(60)에는 라인(66)을 통해 데이터 입출력 동작을 수행하기 위한 입출력부(50)가 연결될 수 있다.
상기 프로세서(10)는 데이터 프로세싱 동작 시에 메인 메모리(40)를 억세스하기 전에 캐시 메모리(24)를 일단 먼저 억세스한다. 이 경우에 라인(12)을 통해 어드레스 및 제어 명령이 캐시 제어부(22) 및 캐시 메모리(24)에 인가된다. 캐시 메모리(24)에 상기 프로세서(10)가 원하는 데이터나 명령이 있으면 캐시 히트(hit)에 따른 동작이 수행된다. 캐시 히트 시에는 캐시 메모리(24)로부터 출력된 타겟 데이터가 라인(L2) 및 데이터 라인(14)을 차례로 거쳐 프로세서(10)로 인가된다. 캐시 메모리(24)가 프로세서(10)에 의해 메인 메모리(40)에 비해 먼저 억세스되는 이유는 빈번하게 사용되는 메인 메모리(40)의 일부 데이터가 상기 프로세서(10)에 의해 상기 캐시 메모리(24)에 일단 저장되어 있기 때문이다. 여기서, 캐시 메모리 시스템(20)에는 태그 데이터를 저장하는 태그 메모리가 통상적으로 구비된다. 상기 태그 데이터는 캐시 메모리(24)내에 저장되어 있는 타겟 데이터의 어드레스를 나타내는 데이터이다.
한편, 캐시 메모리(24)에 상기 프로세서(10)가 원하는 데이터나 명령이 없을 경우에는 캐시 미스(miss)에 따른 동작이 수행된다. 즉, 이 경우에 상기 프로세서(10)는 시스템 버스(60)를 통해 메모리 콘트롤러(30)를 제어한다. 이에 따라 메인 메모리(40)가 억세스되어, 메인 메모리(40)로부터 출력된 데이터가 상기 시스템 버스(60)를 거쳐 상기 데이터 라인(14)으로 인가된다.
도 2는 도 1중 캐시 메모리 시스템의 레이아웃도이다.
도면을 참조하면, 어드레스를 인가하는 로직 영역을 포함하는 캐시 제어부(22)가 중앙 영역(20a)에 배치될 경우에 캐시 메모리(24)를 구성하는 캐시 데이터 메모리들이 상기 중앙 영역(20a) 및 주변 영역들(20b,20c)에 배치된다. 상기 캐시 제어부(22)를 기준으로 상기 중앙 영역(20a)에 배치된 데이터 메모리들은 상기 주변 영역들(20b,20c)에 배치된 데이터 메모리들에 비해 물리적 거리가 더 가깝다. 따라서, 메모리 대기시간 즉 레이턴시는 상기 중앙 영역(20a)에 배치된 데이터 메모리들의 경우에 레이턴시 2(LA2)를 가지며, 상기 주변 영역들(20b,20c)에 배치된 데이터 메모리들의 경우에 레이턴시 3(LA3)을 가질 수 있다. 여기서, 레이턴시 3은 레이턴시 2보다 1 레이턴시 사이클이 큰 것을 의미한다. 결국, L2 캐시의 메모리 용량을 크게 할 경우에 상기 주변 영역들(20b,20c)에도 데이터 메모리들을 배치하여야 하기 때문에 레이턴시가 필연적으로 증가되는 것이다.
캐시 메모리 용량이 늘어날수록 캐시 메모리 억세스 타임 및 레이턴시는 증가된다. 이는 캐시 메모리 시스템의 퍼포먼스를 저하시키기 때문에, 상대적으로 멀리 배치된 데이터 메모리들에 대한 레이턴시를 최소화 또는 줄이는 대책이 필요하게 된다.
본 발명의 실시 예에서는 데이터 메모리가 배치된 장소(placement)에 따라 레이턴시가 차등한 값을 갖게 될 경우, 그 차등한 값에 따라 메모리 억세스 타임( memory access time)이 조절되도록 한다. 도 2와 같은 캐시 메모리의 경우에 레이턴시 2를 가지는 데이터 메모리들이 존재하지만 상기 주변 영역들(20b,20c)에 배치된 데이터 메모리들에 기인하여 캐시 메모리는 레이턴시 3의 값을 갖게 된다. 결국, 캐시 메모리의 레이턴시는 가장 먼 패쓰(path)의 레이턴시 값으로 결정되므로, 상기 중앙 영역(20a)에 배치된 데이터 메모리들은 레이턴시 값 LA 1(LA3-LA2=LA1)을 리던던시로서 갖는 셈이다. 이와 같이 상기 중앙 영역(20a)에 배치된 데이터 메모리들에 대한 리던던시 레이턴시를 줄이기 위해 도 3과 같이 데이터 메모리들을 물리적 거리에 따라 그룹핑하고 태그 어드레스의 인가 시점을 차별화한다.
도 3은 도 1중 캐시 메모리 시스템의 일 예시에 따른 개략적 블록도이다. 도면을 참조하면, 캐시 메모리 시스템은 태그 메모리(240), 비교 및 변환부(242), 제1 그룹 데이터 메모리(250), 제2 그룹 데이터 메모리(260), 및 스위치(245)를 포함한다.
데이터 메모리(캐시 데이터 메모리)에 저장된 타겟 데이터(캐시 데이터)의 어드레스(태그 데이터)를 저장하는 태그 메모리(240), 타겟 데이터를 저장하는 상기 제1 그룹 데이터 메모리(250), 및 타겟 데이터를 저장하는 상기 제2 그룹 데이터 메모리(260)는 도 1의 캐시 메모리(24)에 포함된다. 여기서, 상기 제2 그룹 데이터 메모리(260)는 상기 제1 그룹 데이터 메모리(250)의 레이턴시보다 큰 레이턴시를 갖는다. 예를 들어, 상기 제2 그룹 데이터 메모리(260)가 도 2에서와 같이 레이턴시 3(LA3)을 가질 때 상기 제1 그룹 데이터 메모리(250)는 레이턴시 2(LA2)를 가질 수 있다. 결국, 상기 제2 그룹 데이터 메모리(260)는 상기 캐시 제어부(22)를 기준으로 상기 제1 그룹 데이터 메모리(250)에 비해 더 멀리 배치되어 있다.
여기서, 상기 제1,2 그룹 데이터 메모리들(250,260)은 각기 복수의 데이터 메모리 어레이로 구성될 수 있으며, 데이터 메모리 어레이는 메모리 뱅크 또는 메모리 매트로서 이루어질 수 있다.
도 1의 캐시 제어부(22)는 캐시 동작을 수행하기 위한 다양한 제어 로직들을 구비하지만 도 3에서는 본 발명에 대한 이해의 편의를 위해 대부분 생략되어 있고, 상기 비교 및 변환부(242)만이 상기 캐시 제어부(22)의 일부로서 나타나 있다. 상기 비교 및 변환부(242)는 상기 태그 메모리(240)로부터 출력되는 태그 데이터와 상기 타겟 어드레스(TADD)를 수신하여 리드 동작 모드에서 판정을 수행한다. 상기 판정 수행의 결과로서 캐시 히트/미스 신호가 생성된다.
상기 캐시 제어부(22)는 상기 태그 메모리(240)와 상기 제2 그룹 데이터 메모리(260)에 상기 제1 그룹 데이터 메모리(250)보다 타겟 어드레스(TADD)를 먼저 인가한다. 상기 타겟 어드레스(TADD)는 라인(L10)을 통해 태그 메모리(240)에 인가되고, 차례로 라인(L12) 및 라인(L14)을 통해 상기 제2 그룹 데이터 메모리(260)에 인가된다. 태그 메모리(240)는 상기 타겟 어드레스(TADD)에 응답된 태그 데이터를 라인(L13)을 통해 출력한다.
한편, 제1 그룹 데이터 메모리(250)는 비교 및 변환부(242)의 출력이 나타나는 라인(L15)에 연결된 라인(L17)을 통해 상기 타겟 어드레스(TADD)를 수신한다. 비교 및 변환부(242)의 출력이 인가되는 상기 라인(L15)에는 캐시 히트/미스 신호와 타겟 어드레스가 나타난다. 상기 캐시 히트/미스 신호는 라인(L16)을 통해 스위치(245)에 스위칭 제어신호로서 인가된다.
또한, 상기 캐시 제어부(22)는 상기 제2 그룹 데이터 메모리(260)로부터 출력되는 타겟 데이터를 상기 태그 메모리의 억세스 결과에 의해 생성되는 캐시 히트/미스 신호에 따라 데이터 출력단(OUT)으로 스위칭한다. 상기 스위치(245)가 클로즈되면 라인(L20)에 나타나는 제2 그룹 데이터 메모리(260)의 타겟 데이터는 라인(L21)을 통해 상기 데이터 출력단(OUT)으로 인가된다. 캐시 히트의 결과에 따라 상기 제1 그룹 데이터 메모리(250)로부터 타겟 데이터가 라인(L18)을 통해 출력될 경우에는 상기 스위치(245)는 개방된다. 한편, 제2 그룹 데이터 메모리(260)로부터 출력된 타겟 데이터가 라인(L20)에 나타나는 경우에 상기 스위치(245)는 클로즈되고, 상기 라인(L18)에는 상기 제1 그룹 데이터 메모리(250)로부터의 출력이 존재하지 않게 된다.
캐시 레이턴시를 설명하기 위한 사이클 신호(CS)의 파형이 나타나 있는 도 7을 참조하면, 6 레이턴시 사이클이 C1,C2~C6로서 나타나 있다. 시점 t1에서는 타겟 어드레스(TADD)가 생성되고, 시점 t7에서는 타겟 데이터가 타겟 데이터를 요청한 로직 회로에 전송된다. 결국, 시점 t1에서 시점 t7까지는 캐시 메모리 억세스 타임을 나타내고, 시점 t4에서 데이터 메모리에 타겟 어드레스(TADD)가 인가되었다면 구간 T2는 레이턴시 값(이 경우에는 레이턴시 3)이 된다.
여기서, 시점 t4에서 상기 제1 그룹 데이터 메모리(250)에 타겟 어드레스(TADD)가 인가된다고 하면, 상기 제2 그룹 데이터 메모리(260)에는 시점 t3에서 타겟 어드레스(TADD)가 인가된다. 따라서, 상기 제1 그룹 데이터 메모리(250)의 레이턴시가 구간 T2와 같이 레이턴시 3이라면 상기 제2 그룹 데이터 메모리(260)의 레이턴시는 구간 T1을 오버하더라도 시점 T7을 넘지는 않는다. 따라서, 캐시 메모리 시스템의 레이턴시는 제1 그룹 데이터 메모리(250)의 레이턴시 값 근방에 맞추어 질 수 있다.
도 3과 같은 캐시 메모리 시스템의 구조는, 데이터 메모리들의 물리적 배치에 따라 캐시 메모리 억세스 타임(cache memory access time)의 값과 레이턴시 값이 서로 다르게 되고, 태그 메모리의 억세스 타임이 최소 1 사이클(cycle)이상의 레이턴시를 가질 경우에 보다 강력하게 활용될 수 있다.
캐시 제어부의 로직 영역에 상대적으로 가깝게 배치되어 레이턴시가 상대적으로 작은 제1 그룹 데이터 메모리(250)는 단거리 캐시 데이터 메모리로서 그룹핑된다. 이러한 단거리 캐시 데이터 메모리로부터의 타겟 데이터는 캐시 히트/미스 신호의 생성 후에 얻어짐을 알 수 있다.
한편, 캐시 제어부의 로직 영역에 상대적으로 멀리 배치되어 레이턴시가 상대적으로 큰 제2 그룹 데이터 메모리(260)는 장거리 캐시 데이터 메모리로서 그룹핑된다. 이러한 장거리 캐시 데이터 메모리로부터의 타겟 데이터는 캐시 히트/미스 신호의 생성 이전에 타겟 어드레스(TADD)의 인가에 의해 얻어짐을 알 수 있다. 상기 타겟 데이터는 파워 소산(power dissipation)을 최소화 할 수 있는 사이클(cycle)에서 출력 될 수 있다.
이와 같이, 캐시 히트/미스 신호가 생성되기 이전에 제1 그룹 데이터 메모리(250)의 레이턴시보다 큰 레이턴시를 갖는 제2 그룹 데이터 메모리(260)에 타겟 어드레스를 인가하고, 상기 제1 그룹 데이터 메모리(250)보다 빨리 억세스된 상기 제2 그룹 데이터 메모리로(260)부터 출력되는 타겟 데이터를 상기 캐시 히트/미스 신호에 따라 스위칭하면, 캐시 메모리 시스템의 캐시 레이턴시가 최소화 또는 감소된다. 따라서, 캐시 동작이 보다 고속으로 수행되므로 캐시 메모리 시스템의 성능이 개선된다.
도 3에서 나타낸 캐시 메모리 시스템은 메모리 용량이 비교적 커지더라도 레이턴시 증가를 효율적으로 줄일 수 있으므로 컴퓨터 시스템이나 데이터 처리 장치의 L2 캐시로서 적합하게 채용될 수 있다.
비록 도 3에서는 상기 스위치(245)가 상기 제2 그룹 데이터 메모리(260)의 외부에 설치되는 것으로 나타나 있지만, 상기 스위치(245)는 도 5나 도 6에서 보여지는 바와 같이 제2 그룹 데이터 메모리(260)의 내부에 설치되는 스위칭부(130)로서 대치될 수 있다. 여기서, 상기 스위치(245)가 필요한 이유는 라인(L18)에 타겟 데이터가 출력되는 경우에 라인(L20)에 타겟 데이터가 출력되는 것을 막아 로직 맬펑션(logic malfunction)을 방지해야 하기 때문이다. 결국, 도 3의 경우에 타겟 어드레스(TADD)를 인가하여 캐시 메모리를 억세스할 경우에 2개 그룹의 데이터 메모리에서 2개의 타겟 데이터가 생성될 수 있으므로, 캐시 히트/미스 신호가 생성되고 상기 제1 그룹 데이터 메모리(250)가 타겟 데이터를 출력하는 경우에는 라인(L21)의 출력이 차단되는 것이다.
도 5의 경우에 타겟 데이터를 스위칭하는 스위칭부(130)는 상기 제2 그룹 데이터 메모리(260)의 메모리 셀 어레이(110)와 컬럼 디코더(140) 사이에 위치된다.
도 6의 경우에 상기 타겟 데이터를 스위칭하는 스위칭부(130)는 상기 제2 그룹 데이터 메모리(260)의 메모리 셀 어레이(110)와 로우 디코더(120) 사이에 위치된다.
시스템의 고속화 및 퍼포먼스 개선 요구에 부응하여, 캐시 메모리 용량이 더욱 증대되는 경우에, 도 3의 캐시 메모리 시스템 내에 는 상기 제2 그룹 데이터 메모리(260)보다 레이턴시가 더 큰 또 다른 데이터 메모리가 도 4에서와 같이 설치될 수 있다.
도 4는 도 1중 캐시 메모리 시스템의 다른 예시에 따른 개략적 블록도이다.
도면을 참조하면, 제2 그룹 데이터 메모리(260)보다 상기 타겟 어드레스(TADD)를 더 빨리 수신하는 제3 그룹 데이터 메모리(270)가 라인(L22)과 라인(L23)사이에 배치되어 있다. 제2 스위치(247)는 라인(L23)에 나타나는 타겟 데이터를 라인(L16b)을 통해 인가되는 캐시 히트/미스 신호에 응답하여 데이터 출력단(OUT)과 연결된 라인(L24)으로 스위칭한다. 도 4의 캐시 메모리 시스템의 구성은 상기 제3 그룹 데이터 메모리(270)와 제2 스위치(247)를 제외하면, 도 3과 실질적으로 같다.
도 3과 유사하게, 태그 메모리(240), 제1 그룹 데이터 메모리(250), 제2 그룹 데이터 메모리(260), 및 제3 그룹 데이터 메모리(270)는 도 1의 캐시 메모리(24)에 포함된다. 여기서, 상기 제3 그룹 데이터 메모리(270)는 상기 캐시 제어부(22)를 기준으로 상기 제2 그룹 데이터 메모리(260)에 비해 더 멀리 배치되어 있다. 또한, 상기 제1 그룹 데이터 메모리(250)는 상기 캐시 제어부(22)를 기준으로상기 제2 그룹 데이터 메모리(260)에 비해 더 가까이 배치되어 있다.
그러므로 제3 그룹 데이터 메모리(270)의 레이턴시 값이 가장 크지만 타겟 어드레스(TADD)를 가장 먼저 수신하기 때문에 캐시 메모리 시스템의 레이턴시 증가는 최소화 또는 감소된다.
상기 제1,2,3 그룹 데이터 메모리들(250,260,270)은 통합형(unified) 혹은 분리형(split) 캐쉬 메모리일 수 있다. 통합형 캐쉬는 명령과 데이터를 모두 저장할 수 있는 반면, 분리형 캐쉬는 두개의 서브(sub) 캐쉬들로 나누어져 명령과 데이터를 각각 따로 저장한다. 필요한 경우에 두 종류의 캐쉬는 성능의 효율성을 위해 다른 구조들을 가질 수도 있다.
도 4의 캐시 메모리 시스템은, 레이턴시 값이 4 사이클 이상인 경우에 캐시 데이터 메모리를 3개의 그룹으로 분할하고, 타겟 어드레스를 각 그룹에 도달하는 시간을 미리 고려하여 각기 차등적으로 인가하는 경우에 적합한 구성이다.
태그 데이터 및 타겟 어드레스를 수신하는 비교 및 변환부(242)에 의해 생성된 캐시 히트/미스(hit/miss) 신호는 상기 스위치들(245,247)을 스위칭하는 제어신호로서 사용된다. 도 4의 경우에 타겟 어드레스(TADD)를 인가하여 캐시 메모리(250,260,270)를 억세스할 경우에 3개 그룹의 데이터 메모리에서 3개의 타겟 데이터가 생성될 수 있으므로, 상기 캐시 히트/미스 신호가 생성되고 상기 제1 그룹 데이터 메모리(250)가 타겟 데이터를 출력하는 지의 유무에 따라 라인들(L21,L24)의 출력이 차단되는 것이다. 한편, 상기 라인(L20)에서 타겟 데이터가 출력되는 경우에는 제2 스위치(247)는 개방되고, 스위치(245)는 클로즈된다. 또한, 상기 라인(L23)에서 타겟 데이터가 출력되는 경우에 제2 스위치(247)는 클로즈되고, 스위치(245)는 개방된다.
도 4와 같이 대용량의 캐시 메모리를 갖는 캐시 메모리 시스템의 구조는, 데이터 메모리들의 물리적 배치에 따라 캐시 메모리 억세스 타임(cache memory access time)의 값과 레이턴시 값이 서로 다르게 되고, 태그 메모리의 억세스 타임이 최소 1 사이클(cycle)이상의 레이턴시를 가질 경우에 보다 강력하게 활용될 수 있다.
도 4에서도 도 3과 마찬가지로, 캐시 제어부의 로직 영역에 상대적으로 가깝게 배치되어 레이턴시가 상대적으로 작은 제1 그룹 데이터 메모리(250)는 단거리 캐시 데이터 메모리로서 그룹핑된다. 이러한 단거리 캐시 데이터 메모리로부터의 타겟 데이터는 캐시 히트/미스 신호의 생성 후에 얻어짐을 알 수 있다.
한편, 캐시 제어부의 로직 영역에 상대적으로 멀리 배치되어 레이턴시가 상대적으로 큰 제2,3 그룹 데이터 메모리(260,270)는 제1,2 장거리 캐시 데이터 메모리들로서 그룹핑된다. 이러한 장거리 캐시 데이터 메모리들로부터의 타겟 데이터는 캐시 히트/미스 신호의 생성 이전에 타겟 어드레스(TADD)의 인가에 의해 얻어짐을 알 수 있다.
이와 같이, 캐시 히트/미스 신호가 생성되기 이전에 제1 그룹 데이터 메모리(250)의 레이턴시보다 큰 레이턴시를 갖는 제2,3 그룹 데이터 메모리(260)에 타겟 어드레스를 차별적으로 인가하고, 상기 제1 그룹 데이터 메모리(250)보다 빨리 억세스된 상기 제2,3 그룹 데이터 메모리(260,270)로부터 출력되는 타겟 데이터를 상기 캐시 히트/미스 신호에 따라 선택적으로 스위칭하면, 캐시 메모리 시스템의 캐시 레이턴시가 최소화 또는 감소된다. 따라서, 캐시 동작이 보다 고속으로 수행되므로 캐시 메모리 시스템을 채용하는 데이터 처리 장치나 컴퓨터 장치의 성능이 개선된다.
비록 도 4에서는 상기 스위치들(245,247)이 상기 제2,3 그룹 데이터 메모리들(260,270)의 외부에 설치되는 것으로 나타나 있지만, 상기 스위치들(245,247)는 도 5나 도 6에서 보여지는 바와 같이 제2,3 그룹 데이터 메모리들(260,270)의 내부에 설치되는 스위칭부(130)로서 대치될 수 있다.
도 5는 도 3 또는 도 4의 제2,3 그룹 데이터 메모리들의 제1 구현 회로 블록도이다.
도 3의 설명을 통해 일부 설명된 도 5를 참조하면, 제2 그룹 데이터 메모리 또는 제3 그룹 데이터 메모리는 제어회로(100), 메모리 셀 어레이(110), 로우 디코더(120), 컬럼 디코더(140), 및 센스앰프(150)를 포함한다. 도 5의 경우에 라인(L16)을 통해 캐시 히트/미스 신호를 수신하여 타겟 데이터를 스위칭하는 스위칭부(130)는 상기 제2,3 그룹 데이터 메모리(260,270)의 메모리 셀 어레이(110)와 컬럼 디코더(140) 사이에 위치된다. 제어회로(100)에 연결된 라인(L14)으로는 상기 타겟 어드레스가 인가된다. 상기 메모리 셀 어레이(110)는 복수의 스태틱 랜덤 억세스 메모리 셀들로 구성될 수 있으며, 메모리 셀들은 복수의 행과 열의 교차점에 매트릭스 형태로 배치될 수 있다.
도 5와 같이 스위칭부(130)를 배치하면, 스위칭 오프시에 컬럼 디코더(140)의 컬럼 디코딩 동작이 디세이블 되므로 결국, 타겟 데이터는 센스앰프(150)를 통해 출력되지 못한다.
도 6은 도 3 또는 도 4의 제2,3 그룹 데이터 메모리들의 제2 구현 회로 블록도이다.
도 3의 설명을 통해 일부 설명된 도 6을 참조하면, 제2 그룹 데이터 메모리 또는 제3 그룹 데이터 메모리는 제어회로(100), 메모리 셀 어레이(110), 로우 디코더(120), 컬럼 디코더(140), 및 센스앰프(150)를 포함한다. 도 6의 경우에 라인(L16)을 통해 캐시 히트/미스 신호를 수신하여 타겟 데이터를 스위칭하는 스위칭부(130)는 상기 제2,3 그룹 데이터 메모리(260,270)의 메모리 셀 어레이(110)와 로우 디코더(120) 사이에 위치된다. 여기서, 제어회로(100)에 연결된 라인(L14)으로는 상기 타겟 어드레스(TADD)가 인가된다. 상기 메모리 셀 어레이(110)는 마찬가지로, 복수의 스태틱 랜덤 억세스 메모리 셀들로 구성될 수 있으며, 메모리 셀들은 복수의 행과 열의 교차점에 매트릭스 형태로 배치될 수 있다.
도 6과 같이 메모리 내부에 스위칭부(130)를 배치하면, 스위칭 오프시에 로우 디코더(120)의 로우 디코딩 동작이 디세이블 되므로 메모리 셀 어레이의 워드라인이 선택되지 않는다. 이 경우에도 결국, 타겟 데이터는 센스앰프(150)를 통해 출력되지 못한다.
도 7는 본 발명에 따른 캐시 레이턴시를 설명하기 위해 제시된 사이클 신호 파형도이다. 도 7의 파형도도 도 3의 설명에서 일부 설명되었다.
도 7을 다시 참조하면, 사이클 신호(CS)의 파형이 6 레이턴시 사이클(C1,C2~C6)로서 나타나 있다. 1 사이클은 시스템 클럭 주파수 신호에 대응하거나 복수의 클럭 주파수 신호들에 대응할 수 있다.
시점 t1에서는 타겟 어드레스(TADD)가 생성되고, 시점 t7에서는 타겟 데이터가 타겟 데이터를 요청한 로직 회로에 전송된다. 결국, 시점 t1에서 시점 t7까지는 캐시 메모리 억세스 타임을 나타내고, 시점 t4에서 데이터 메모리에 타겟 어드레스(TADD)가 인가되었다면 구간 T2는 레이턴시 값(이 경우에는 레이턴시 3)이 된다.
여기서, 시점 t4에서 상기 제1 그룹 데이터 메모리(250)에 타겟 어드레스(TADD)가 인가된다고 하면, 상기 제2 그룹 데이터 메모리(260)에는 시점 t3에서 타겟 어드레스(TADD)가 인가되고, 상기 제3 그룹 데이터 메모리(270)에는 시점 t2에서 타겟 어드레스(TADD)가 차별적으로 인가된다. 따라서, 상기 제1 그룹 데이터 메모리(250)의 레이턴시가 구간 T2와 같이 레이턴시 3이라면 상기 제3 그룹 데이터 메모리(270)의 레이턴시는 시점 t4를 오버하더라도 시점 T7을 넘지는 않는다. 따라서, 캐시 메모리 시스템의 레이턴시는 상기 제3 그룹 데이터 메모리(270)가 본질적으로 갖는 레이턴시 값보다는 줄어든다.
도 8은 전자 시스템에 채용된 본 발명의 응용 예를 도시한 블록도이다. 도면을 참조하면, 전자 시스템(1200)은 입력 장치(1100), 출력 장치(1120), 프로세서 장치(1130), 캐시 시스템(1133), 그리고 메모리 장치(1140)를 포함한다.
도 8에서 상기 메모리 장치(1140)는 통상의 DRAM(1150)을 포함할 수 있다. 상기 프로세서 장치(1130)는 각각 해당하는 인터페이스를 통해서 입력 장치(1100), 출력 장치(1120), 그리고 메모리 장치(1140)를 제어한다. 도 8의 경우에도, 도 3 또는 도 4와 같은 캐시 시스템(1133)을 프로세서 디바이스(1130)가 활용하면 캐시 레이턴시의 증가가 최소화 또는 줄어들어, 전자 시스템의 성능이 향상될 수 있다.
도 9는 데이터 처리 장치에 채용된 본 발명의 응용 예를 도시한 블록도이다. 도면을 참조하면, 도 9를 참조하면, 모바일 기기나 데스크 톱 컴퓨터와 같은 데이터 처리 장치에 본 발명의 실시 예에 따른 캐시 시스템(1333)이 또한 장착될 수 있다. 상기 데이터 처리 장치(1300)는 플래시 메모리 시스템(1310)과, 시스템 버스(1360)를 통해 각기 연결된 모뎀(1320), 중앙처리장치(1330), 캐시 시스템(1333), 램(1340), 및 유저 인터페이스(1350)를 포함할 수 있다. 상기 플래시 메모리 시스템(1310)은 일반적인 메모리 시스템과 실질적으로 동일하게 구성될 수 있으며, 메모리 콘트롤러(1312)와 플래시 메모리(1311)를 포함할 수 있다. 상기 플래시 메모리 시스템(1310)에는 중앙처리장치(1330)에 의해 처리된 데이터 또는 외부에서 입력된 데이터가 불휘발적으로 저장될 수 있다. 여기서, 상기 플래시 메모리 시스템(1310)은 반도체 디스크 장치(SSD)로써도 구현될 수 있으며, 이 경우 정보 처리 시스템(1300)은 대용량의 데이터를 플래시 메모리 시스템(1310)에 안정적으로 저장할 수 있다. 그리고 신뢰성의 증대에 따라, 플래시 메모리 시스템(1310)은 에러 정정에 소요되는 자원을 절감할 수 있어 고속의 데이터 교환 기능을 데이터 처리 장치(1300)에 제공할 수 있을 것이다. 도시되지 않았지만, 본 발명에 따른 데이터 처리 장치(1300)에는 응용 칩셋(Application Chipset), 카메라 이미지 프로세서(Camera Image Processor:CIS), 입출력 장치 등이 더 제공될 수 있다.
또한, 본 발명에 따른 캐시 시스템(1333) 또는 플래시 메모리 시스템(1310) 은 다양한 형태들의 패키지로 실장 될 수 있다. 예를 들면, 캐시 시스템(1333)이나 플래시 메모리 시스템(1310)은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 방식으로 패키지화되어 실장될 수 있다.
도 9의 경우에도, 도 3 또는 도 4와 같은 캐시 시스템(1333)을 CPU(1330)가 활용하면 캐시 레이턴시의 증가가 최소화 또는 줄어들므로, 데이터 처리 장치의 데이터 처리 속도가 향상될 수 있다.
도 10은 메모리 카드에 채용된 본 발명의 응용 예를 도시한 블록도이다. 도면을 참조하면, 고용량의 데이터 저장 능력을 지원하기 위한 메모리 카드(1400)는 본 발명에 따른 캐시 시스템(1233)을 포함한다. 상기 메모리 카드(1400)는 호스트(Host)와 플래시 메모리(1210)간의 데이터 교환을 전반적으로 제어하는 메모리 컨트롤러(1220)를 포함한다.
상기 메모리 컨트롤러(1220)내에서, SRAM(1221)은 센트럴 프로세싱 유닛(1222)의 동작 메모리로써 사용된다. 호스트 인터페이스(1223)는 메모리 카드(1200)와 호스트 간의 데이터 교환 인터페이스를 담당한다. 에러 정정 블록(1224)은 플래시 메모리(1210)로부터 리드된 데이터에 포함된 에러를 검출 및 정정한다. 메모리 인터페이스(1225)는 상기 CPU(1222)와 플래시 메모리(1210) 사이의 데이터 인터페이싱을 담당한다. CPU(1222)는 메모리 컨트롤러(1220)의 데이터 교환에 관련된 동작을 전반적으로 제어한다. 비록 도면에는 도시되지 않았지만, 본 발명의 캐시 시스템(1133)을 채용하는 메모리 카드(1400)에는 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(미도시됨) 등이 더 제공될 수 있다.
도 10의 경우에도 도 3 또는 도 4와 같은 캐시 시스템(1233)을 메모리 카드(1400)에 채용하면 캐시 레이턴시의 증가가 최소화 또는 줄어들어, CPU의 데이터 처리 속도가 개선될 수 있다. 따라서, 이를 채용한 메모리 카드의 성능이 개선될 수 있다.
상기한 설명에서는 본 발명의 실시 예들을 위주로 도면을 따라 예를 들어 설명하였지만, 본 발명의 기술적 사상의 범위 내에서 본 발명을 다양하게 변형 또는 변경할 수 있음은 본 발명이 속하는 분야의 당업자에게는 명백한 것이다. 예를 들어, 사안이 다른 경우에 본 발명의 기술적 사상을 벗어남이 없이, 데이터 메모리를 레이턴시에 따라 더 세부적으로 그룹핑하거나 타겟 어드레스의 인가 시점을 다양하게 변경 또는 변형할 수 있을 것이다.
*도면의 주요 부분에 대한 부호의 설명*
240: 태그 메모리
242: 비교 및 변환부
250: 제1그룹 데이터 메모리
260: 제2그룹 데이터 메모리

Claims (10)

  1. 태그 데이터를 저장하고 있는 태그 메모리와, 제1 그룹 데이터 메모리의 레이턴시보다 큰 레이턴시를 갖는 제2 그룹 데이터 메모리에 타겟 어드레스를 인가하는 단계; 및
    상기 제1 그룹 데이터 메모리보다 빨리 억세스된 상기 제2 그룹 데이터 메모리로부터 출력되는 타겟 데이터를 상기 태그 메모리의 억세스 결과에 의해 생성되는 캐시 히트/미스 신호에 따라 스위칭하는 단계를 구비함을 특징으로 하는 캐시 레이턴시 저감을 위한 캐시 메모리 제어방법.
  2. 제1항에 있어서, 상기 태그 메모리 및 상기 제1,2 그룹 데이터 메모리들은 L2 캐시에 포함됨을 특징으로 하는 캐시 레이턴시 저감을 위한 캐시 메모리 제어방법.
  3. 제1항에 있어서, 제2 그룹 데이터 메모리는 상기 캐시 히트/미스 신호가 생성되기 이전에 상기 타겟 어드레스를 받아 억세스됨을 특징으로 하는 캐시 레이턴시 저감을 위한 캐시 메모리 제어방법.
  4. 제1항에 있어서, 상기 캐시 히트/미스 신호는 상기 태그 메모리로부터 출력되는 태그 데이터와 상기 타겟 어드레스를 수신하여 리드 동작 모드에서 판정을 수행하는 비교 및 변환부에 의해 생성됨을 특징으로 하는 캐시 레이턴시 저감을 위한 캐시 메모리 제어방법.
  5. 제1항에 있어서, 상기 제2 그룹 데이터 메모리는 캐시 제어부를 기준으로 상기 제1 그룹 데이터 메모리에 비해 더 멀리 배치되어 있는 것을 특징으로 하는 캐시 레이턴시 저감을 위한 캐시 메모리 제어방법.
  6. 제1항에 있어서, 상기 타겟 데이터를 스위칭하는 스위칭부는 상기 제2 그룹 데이터 메모리의 메모리 셀 어레이와 컬럼 디코더 사이에 위치됨을 특징으로 하는 캐시 레이턴시 저감을 위한 캐시 메모리 제어방법.
  7. 제1항에 있어서, 캐시 메모리 시스템 내에 상기 제2 그룹 데이터 메모리보다 레이턴시가 더 큰 제3 그룹 데이터 메모리가 구비된 경우에 상기 제3 그룹 데이터 메모리는 상기 제2 그룹 데이터 메모리보다 상기 타겟 어드레스를 더 빨리 수신하는 것을 특징으로 하는 캐시 레이턴시 저감을 위한 캐시 메모리 제어방법.
  8. 태그 데이터를 저장하고 있는 태그 메모리와, 제1 그룹 데이터 메모리와, 상기 제1 그룹 데이터 메모리의 레이턴시보다 큰 레이턴시를 갖는 제2 그룹 데이터 메모리를 구비하는 캐시 메모리; 및
    상기 태그 메모리와 상기 제2 그룹 데이터 메모리에 상기 제1 그룹 데이터 메모리보다 타겟 어드레스를 먼저 인가하며, 상기 제2 그룹 데이터 메모리로부터 출력되는 타겟 데이터를 상기 태그 메모리의 억세스 결과에 의해 생성되는 캐시 히트/미스 신호에 따라 데이터 출력단으로 스위칭하는 캐시 제어부를 포함함을 특징으로 하는 캐시 레이턴시 저감을 위한 캐시 메모리 시스템.
  9. 제8항에 있어서, 상기 제1 그룹 데이터 메모리는 상기 캐시 제어부를 기준으로 상기 제2 그룹 데이터 메모리에 비해 더 가까이 배치되어 있는 것을 특징으로 하는 캐시 레이턴시 저감을 위한 캐시 메모리 시스템.
  10. 제9항에 있어서, 상기 제1 그룹 데이터 메모리의 레이턴시가 2 사이클 이상인 경우에 상기 제2 그룹 데이터 메모리의 레이턴시는 3 사이클 이상임을 특징으로 하는 캐시 레이턴시 저감을 위한 캐시 메모리 시스템.
KR1020110014243A 2011-02-17 2011-02-17 캐시 레이턴시 저감을 위한 캐시 메모리 제어방법 및 캐시 메모리 시스템 KR20120094778A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110014243A KR20120094778A (ko) 2011-02-17 2011-02-17 캐시 레이턴시 저감을 위한 캐시 메모리 제어방법 및 캐시 메모리 시스템
US13/342,440 US20120215959A1 (en) 2011-02-17 2012-01-03 Cache Memory Controlling Method and Cache Memory System For Reducing Cache Latency

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110014243A KR20120094778A (ko) 2011-02-17 2011-02-17 캐시 레이턴시 저감을 위한 캐시 메모리 제어방법 및 캐시 메모리 시스템

Publications (1)

Publication Number Publication Date
KR20120094778A true KR20120094778A (ko) 2012-08-27

Family

ID=46653705

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110014243A KR20120094778A (ko) 2011-02-17 2011-02-17 캐시 레이턴시 저감을 위한 캐시 메모리 제어방법 및 캐시 메모리 시스템

Country Status (2)

Country Link
US (1) US20120215959A1 (ko)
KR (1) KR20120094778A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9086957B2 (en) 2012-08-02 2015-07-21 International Business Machines Corporation Requesting a memory space by a memory controller
US10229043B2 (en) 2013-07-23 2019-03-12 Intel Business Machines Corporation Requesting memory spaces and resources using a memory controller
US9710381B2 (en) 2014-06-18 2017-07-18 International Business Machines Corporation Method and apparatus for cache memory data processing
US10089238B2 (en) * 2014-07-17 2018-10-02 Qualcomm Incorporated Method and apparatus for a shared cache with dynamic partitioning
WO2017058414A1 (en) * 2015-09-29 2017-04-06 Apple Inc. Unified addressable memory
US10057366B2 (en) * 2015-12-31 2018-08-21 Hughes Network Systems, Llc Accurate caching in adaptive video streaming based on collision resistant hash applied to segment contents and ephemeral request and URL data

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5226147A (en) * 1987-11-06 1993-07-06 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device for simple cache system
JP2862948B2 (ja) * 1990-04-13 1999-03-03 三菱電機株式会社 半導体記憶装置
DE69616402T2 (de) * 1995-03-31 2002-07-18 Sun Microsystems Inc Schnelle Zweitor-Cachesteuerungsschaltung für Datenprozessoren in einem paketvermittelten cachekohärenten Multiprozessorsystem
JP3560266B2 (ja) * 1995-08-31 2004-09-02 株式会社ルネサステクノロジ 半導体装置及び半導体データ装置
US7054999B2 (en) * 2002-08-02 2006-05-30 Intel Corporation High speed DRAM cache architecture
US20050144409A1 (en) * 2002-09-11 2005-06-30 Fujitsu Limited Data processing device and method utilizing latency difference between memory blocks
JP4439838B2 (ja) * 2003-05-26 2010-03-24 Necエレクトロニクス株式会社 半導体記憶装置及びその制御方法
US7711893B1 (en) * 2004-07-22 2010-05-04 Netlogic Microsystems, Inc. Range code compression method and apparatus for ternary content addressable memory (CAM) devices
US7490200B2 (en) * 2005-02-10 2009-02-10 International Business Machines Corporation L2 cache controller with slice directory and unified cache structure
US20080133864A1 (en) * 2006-12-01 2008-06-05 Jonathan Randall Hinkle Apparatus, system, and method for caching fully buffered memory
JP2008262390A (ja) * 2007-04-12 2008-10-30 Toshiba Corp プログラム
US8341353B2 (en) * 2010-01-14 2012-12-25 Qualcomm Incorporated System and method to access a portion of a level two memory and a level one memory

Also Published As

Publication number Publication date
US20120215959A1 (en) 2012-08-23

Similar Documents

Publication Publication Date Title
US20210406170A1 (en) Flash-Based Coprocessor
US10896136B2 (en) Storage system including secondary memory that predicts and prefetches data
US8862963B2 (en) Nonvolatile memory, memory controller, nonvolatile memory accessing method, and program
US8725983B2 (en) Memory devices and systems including multi-speed access of memory modules
KR101975528B1 (ko) 패스트 어레이 영역을 갖는 반도체 메모리 셀 어레이 및 그것을 포함하는 반도체 메모리
KR20120094778A (ko) 캐시 레이턴시 저감을 위한 캐시 메모리 제어방법 및 캐시 메모리 시스템
US20060143428A1 (en) Semiconductor signal processing device
KR20180019818A (ko) 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US20120151232A1 (en) CPU in Memory Cache Architecture
KR20170082463A (ko) 반도체 기억 장치
US20060101207A1 (en) Multiport cache memory and access control system of multiport cache memory
US11921650B2 (en) Dedicated cache-related block transfer in a memory system
KR20170031758A (ko) 역방향 메모리 스페어링을 위한 방법 및 장치
US8036061B2 (en) Integrated circuit with multiported memory supercell and data path switching circuitry
KR20220017006A (ko) 메모리-인식 프리-페칭 및 캐시 바이패싱 시스템 및 방법
US11908537B2 (en) Memory circuit architecture
JP2010020432A (ja) キャッシュメモリ装置
US11216326B2 (en) Memory system and operation method thereof
KR20050057060A (ko) 어드레스 디코드
KR101967857B1 (ko) 다중 캐시 메모리를 구비한 지능형 반도체 장치 및 지능형 반도체 장치에서의 메모리 접근 방법
US8862825B2 (en) Processor supporting coarse-grained array and VLIW modes
US20210034286A1 (en) Memory system for data swap and operating method thereof
US11756606B2 (en) Method and apparatus for recovering regular access performance in fine-grained DRAM
CN217588059U (zh) 处理器系统
US20150026408A1 (en) Cache memory system and method of operating the same

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid