KR20090054657A - 라이트-백 동작시 라이트-백 데이터의 버스트 길이를조절할 수 있는 캐시 메모리와 이를 포함하는 시스템 - Google Patents

라이트-백 동작시 라이트-백 데이터의 버스트 길이를조절할 수 있는 캐시 메모리와 이를 포함하는 시스템 Download PDF

Info

Publication number
KR20090054657A
KR20090054657A KR1020070121450A KR20070121450A KR20090054657A KR 20090054657 A KR20090054657 A KR 20090054657A KR 1020070121450 A KR1020070121450 A KR 1020070121450A KR 20070121450 A KR20070121450 A KR 20070121450A KR 20090054657 A KR20090054657 A KR 20090054657A
Authority
KR
South Korea
Prior art keywords
write
block
data
burst length
cache memory
Prior art date
Application number
KR1020070121450A
Other languages
English (en)
Other versions
KR101443231B1 (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 KR1020070121450A priority Critical patent/KR101443231B1/ko
Priority to US12/313,981 priority patent/US8443152B2/en
Publication of KR20090054657A publication Critical patent/KR20090054657A/ko
Priority to US13/893,746 priority patent/US8799585B2/en
Application granted granted Critical
Publication of KR101443231B1 publication Critical patent/KR101443231B1/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
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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/0877Cache access modes
    • G06F12/0879Burst mode

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

캐시 메모리가 개시된다. 상기 캐시 메모리는 라이트-백 결정부와 버스트 길이 선택부를 포함한다. 상기 라이트-백 결정부는 블록에 대한 n-비트 더티 값에 기초하여 상기 블록이 라이트-백 블록인지를 결정한다. 상기 버스트 길이 선택부는 상기 블록이 상기 라이트-백 블록인 경우, 상기 n-비트 더티 값과 최소 버스트 길이에 기초하여 상기 라이트-백 블록에 포함된 라이트-백 데이터의 버스트 길이를 결정한다. 상기 버스트 길이는 상기 최소 버스트 길이의 정수 배이다.
버스트 길이(burst length), 대역폭(bandwidth), 라이트 백, 라이트 쓰루

Description

라이트-백 동작시 라이트-백 데이터의 버스트 길이를 조절할 수 있는 캐시 메모리와 이를 포함하는 시스템{Cache memory capable of adjusting burst length of write-back data in write-back operation}
본 발명은 반도체 장치에 관한 것으로, 특히 라이트-백 동작시 라이트 백 데이터의 버스트 길이를 조절할 수 있는 캐시 메모리, 및 상기 캐시 메모리를 포함하는 시스템에 관한 것이다.
최근, 메인 메모리를 효율적으로 사용하고 좀더 빠른 메모리 액세스를 수행하는 고성능의 제품을 실현하기 위하여 중앙처리장치(central processing unit; CPU)뿐만 아니라 다양한 코-프로세서들(예컨대, 3D 그래픽 프로세서)에서도 캐시 메모리(cache memory) 또는 라이트 버퍼(write buffer)의 사용이 점차 증가하고 있다.
이러한 캐시 메모리는, 메인 메모리에 저장된 데이터 중에서 CPU에 의하여 빈번하게 액세스되고 있는 데이터를 저장하고 있는 고속 기억 장치로서, 하드 디스크 드라이브(HDD; Hard Disk Drive)에 비해 수 십배 내지 수 백배 이상으로 고속으로 데이터의 읽기 동작 또는 쓰기 동작을 수행할 수 있다.
다시 말하면, 캐시 메모리는 메인 메모리에 저장된 데이터 중에서 사용 빈도가 높은 데이터를 고속 기억 장치에 보존해 놓고, CPU의 데이터 요청시 요청된 데이터에 상응하는 데이터를 즉시 출력함으로써 모든 데이터를 저속 기억 장치(예컨대, 하드 디스크 드라이브)에 저장해 두었을 경우보다 고속으로 원하는 데이터를 액세스를 할 수 있다. 따라서, CPU가 한번 읽어들인 데이터를 중복적으로 액세스하는 경우, 캐시 메모리는 상기 데이터를 메인 메모리로부터 처음 액세스하는 과정과 달리 매우 빠르게 액세스할 수 있으므로 시스템의 효율이 높아진다.
캐시 메모리는 라이트 쓰루(write-through) 캐시와 라이트 백(write-back) 캐시가 있다. 상기 라이트 쓰루 캐시는 기입(write) 동작시 상기 라이트 쓰루 캐시 내의 블록에 저장된 데이터가 기입된 데이터(이하, "기입 데이터"라 한다)로 갱신되는 것과 동시에 메인 메모리에 저장되어 있는 데이터도 상기 기입 데이터로 갱신한다. 반면, 상기 라이트 백 캐시는 기입 동작시 상기 라이트 백 캐시 내의 블록에 저장된 데이터만을 기입 데이터로 갱신한다. 차후, 독출(read) 동작시 캐시 미스(MISS)가 발생하는 경우, 상기 라이트 백 캐시는 CPU로부터 출력되는 데이터 요청 신호에 상응하는 데이터를 상기 라이트 백 캐시 내의 블록에 저장하기 위하여 비워져야할 블록이 기입 데이터를 포함하는 경우에만 메인 메모리에 저장되어 있는 데이터도 상기 기입 데이터로 갱신한다. 주로 상기 메인 메모리에 데이터 액세스를 하는 횟수를 줄일 수 있는 상기 라이트 백 캐시가 많이 사용된다.
일반적으로 캐시 메모리에 저장될 수 있는 블록의 수는 한정되어 있으므로, 상기 캐시 메모리 내의 모든 블록이 기입 데이터를 포함하는 경우(즉, 더티(또는, 갱신)가 되는 경우) 적어도 어느 하나의 블록은 다음 데이터 액세스를 위하여 비워져야 한다. 또한 캐시 메모리는 메인 메모리와 블록 단위로 데이터를 액세스하나, 프로세서는 상기 캐시 메모리와 워드 단위로 데이터를 액세스함으로써 상기 블록 내의 데이터 중에서 일부 데이터만 변경되는 경우가 많다.
종래의 컴퓨터 시스템 예컨대, 마이크로프로세서에서는 블록의 크기가 큰 캐시 메모리를 필요로 하지 않았다. 따라서, 상기 캐시 메모리는 상기 블록의 크기가 작으므로 갱신되지 않은 데이터까지 시스템 버스에 라이트하여 메인 메모리로 전송하더라도 대역폭의 낭비가 많지 않았다. 여기서 상기 대역폭(bandwidth)은 상기 캐시 메모리가 상기 메인 메모리로 한번에 전송할 수 있는 데이터 전송량을 나타낸다.
그러나, 최근 어플리케이션이 다양화되고 시스템 내의 데이터 전송량이 증가함에 따라 컴퓨터 시스템 특히, 멀티미디어 하드웨어에서는 좀 더 큰 블록의 크기(예컨대, 64 바이트(byte) 이상)를 갖는 캐시 메모리가 요구되었고, 이러한 많은 양의 데이터 처리를 위해 시스템 버스의 대역폭도 64비트(bit), 또는128비트 등으로 확장되었다.
이에 따라 종래의 캐시 메모리는 블록 내의 기입 데이터뿐만 아니라 기입되지 않은 데이터까지 모든 데이터를 시스템 버스에 라이트하여 메인 메모리로 전송함으로써 대역폭의 낭비가 많다. 따라서, 라이트 백 동작시 라이트-백 데이터의 버스트 길이를 조절하여 대역폭을 줄일 수 있는 캐시 메모리가 요구된다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 라이트 백 동작시 라이트-백 데이터가 기입 데이터를 포함할 수 있도록 라이트-백 데이터를 전송하기 위한 버스트 길이를 가변적으로 조절하여 메인 메모리로 전송할 수 있는 캐시 메모리, 및 상기 캐시 메모리를 포함하는 시스템을 제공하는 것이다.
상기 기술적 과제를 해결하기 위한 캐시 메모리는 라이트-백 결정부와 버스트 길이 선택부를 포함한다. 상기 라이트-백 결정부는 블록에 대한 n-비트 더티 값에 기초하여 상기 블록이 라이트-백 블록인지를 결정한다. 상기 버스트 길이 선택부는 상기 블록이 상기 라이트-백 블록인 경우, 상기 n-비트 더티 값과 최소 버스트 길이에 기초하여 상기 라이트-백 블록에 포함된 라이트-백 데이터의 버스트 길이를 결정한다.
상기 버스트 길이는 상기 최소 버스트 길이의 정수 배이다. 상기 캐시 메모리는 상기 n-비트 더티 값을 저장하기 위한 더티 값 저장부를 더 포함한다.
상기 캐시 메모리는 상기 라이트-백 블록의 데이터를 저장하는 데이터 저장부; 및 결정된 버스트 길이에 응답하여, 상기 데이터 저장부에 저장된 상기 라이트-백 블록의 데이터 중에서 상기 라이트-백 데이터를 시스템 버스로 출력하도록 상기 데이터 저장부를 제어하는 프로세서를 더 포함한다.
상기 캐시 메모리는 상기 시스템 버스로 출력되는 상기 라이트-백 데이터를 저장하기 위한 라이트-백 버퍼를 더 포함한다.
상기 기술적 과제를 해결하기 위한 캐시 메모리는 라이트-백 결정부와 버스트 길이 선택부를 포함한다. 상기 라이트-백 결정부는 블록에 대한 n-비트 더티 값과 상기 블록에 대한 교체 정보에 기초하여 상기 블록이 라이트-백 블록인지를 결정한다. 상기 블록이 상기 라이트-백 블록인 경우, 상기 버스트 길이 선택부는 상기 n-비트 더티 값과 최소 버스트 길이 값에 기초하여 상기 라이트-백 블록에 포함된 라이트-백 데이터의 버스트 길이를 결정한다. 상기 교체 정보는 상기 블록에 대한 정보, 상기 블록의 액세스 회수, 또는 상기 블록의 데이터 갱신 시간 중에서 적어도 하나를 포함한다.
상기 기술적 과제를 달성하기 위한 시스템은 캐시 메모리로부터 출력된 라이트-백 데이터를 시스템 버스를 통하여 수신하고 저장하는 메인 메모리를 포함한다.
상기 캐시 메모리는 블록의 데이터를 저장하기 위한 데이터 저장부와, 상기 블록에 대한 n-비트 더티 값에 기초하여 상기 블록이 라이트-백 블록인지를 판단하기 위한 라이트 백 결정부와, 상기 블록이 상기 라이트-백 블록인 경우, 상기 n-비트 더티 값과 최소 버스트 길이에 기초하여 상기 블록의 데이터 중에서 상기 라이트-백 데이터의 버스트 길이를 결정하기 위한 버스트 길이 선택 부와, 결정된 버스트 길이에 응답하여, 상기 데이터 저장부에 저장된 상기 블록의 데이터 중에서 상기 라이트-백 데이터를 상기 시스템 버스로 출력하도록 상기 데이터 저장부를 제어하는 프로세서를 포함한다. 상기 라이트 백 결정부가 상기 블록에 대한 교체 정보를 더 수신하는 경우, 상기 라이트 백 결정부는 상기 n-비트 더티 값과 상기 교체 정보에 기초하여 상기 블록이 상기 라이트-백 블록인지를 판단한다.
본 발명의 실시예에 따른 캐시 메모리는 라이트 백 동작시 라이트-백 데이터가 기입 데이터로 대부분을 포함할 수 있도록 상기 라이트-백 데이터의 버스트 길이를 조절할 수 있으므로 메인 메모리로 라이트-백 되는 상기 라이트-백 데이터의 대역폭을 감소시킬 수 있는 효과가 있다.
또한, 본 발명의 실시예에 따른 캐시 메모리는 라이트-백 데이터의 버스트 길이를 용이하게 조절할 수 있다. 따라서, 상기 라이트-백 데이터의 전송량이 감소함으로 시스템에서 라이트-백 데이터 전송 시 대기 시간을 감소시킬 수 있으므로, 상기 시스템은 고속으로 메인 메모리를 액세스할 수 있는 효과가 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 컴퓨터 시스템(10)의 개략적인 블록도이다.
도 1을 참조하면, 컴퓨터 시스템(10)은 중앙처리장치(central processing unit; CPU; 13), 캐시 메모리(20), 및 메인 메모리(15)를 포함한다. 컴퓨터 시스 템(10)은 PC, 이동 통신 장치, PDA, 또는 스마트 카드 등일 수 있다.
CPU(13)는 입력되는 명령, 예컨대 기입 명령 또는 독출 명령에 기초하여 상기 기입 명령 또는 상기 독출 명령을 수행하기 위한 어플리케이션을 수행하고, 전체 컴퓨터 시스템(10)의 기입 동작 또는 독출 동작을 제어한다.
메인 메모리(15)는 CPU(13)내의 주기억장치(미도시)보다 데이터를 액세스하는 동작 속도는 느리나 상기 주기억장치(또는, 내부기억장치)의 용량 부족을 해결하기 위한 대용량 기억장치(또는, 외부기억장치)이다.
메인 메모리(15)는 하드디스크 드라이브(HDD; Hard Disk Drive), 플로피 디스크 드라이브(FDD ; Floppy Disk Drive), 콤팩트 디스크 롬 드라이브(CD-ROM drive ; Compact Disk Read Only Memory drive) 또는 플레쉬 EEPROM과 같은 불휘발성 메모리 장치 등일 수 있다.
캐시 메모리(20)는 동작 속도가 서로 다른 CPU(13)와 메인 메모리(15) 사이에 접속된다. 캐시 메모리(20)는 CPU(13)로부터 출력되는 독출 어드레스(Read Address)를 포함하는 독출 명령에 응답하여 독출 어드레스(Read Address)와 태그 저장부(도 2의 27)에 저장된 태그를 서로 비교하고, 비교 결과에 따라 히트(HIT) 또는 미스(MISS)를 판별한다. 판결 결과 히트(HIT)인 경우에는 독출 어드레스(Read Address)에 상응하는 데이터를 데이터 저장부(도 2의 23)로부터 독출하고, 독출된 데이터(DATA)를 CPU(13)로 출력하고, 미스(MISS)인 경우에는 독출 어드레스(Read Address)에 상응하는 데이터를 시스템 버스(도 2의 35)를 통하여 메인 메모리(도 2의 15)로부터 독출하고 독출된 데이터(DATA)를 CPU(13)로 출력하고 독출된 데이 터(DATA)를 데이터 저장부(230)에 저장한다.
캐시 메모리(20)는 CPU(13)로부터 출력되는 기입 어드레스(Write Address)를 포함하는 기입 명령에 응답하여 기입 데이터를 기입 어드레스(Write Address)에 의하여 지정된 영역, 예컨대 데이터 저장부(23) 및/또는 메인 메모리(15)에 기입한다.
캐시 메모리(20)는 메인 메모리(15)와 블록(block) 단위 또는 서브 블록(sub block) 단위로 데이터를 주고 받는다. 상기 블록은 태그와 데이터를 포함하는 다수의 워드들을 포함한다. 상기 블록의 크기(예컨대, 8바이트, 16바이트, 32바이트, 64바이트, 또는 128바이트 등)는 컴퓨터 시스템(10)의 구조, 예컨대 시스템 버스, 또는 데이터 저장부(23)의 구조에 따라 다양하다.
본 명세서에서 사용되는 캐시 메모리(20)는 CPU(13)와 메인 메모리(15) 사이에 존재하는 캐시 메모리를 가리키지만, 버퍼 캐시(buffer cache), 또는 라이트 버퍼(write buffer)를 포함한다.
도 2는 본 발명의 일 실시예에 따라 라이트-백 데이터의 버스트 길이를 결정할 수 있는 캐시 메모리(20)의 블록도이다.
도 2를 참조하면, 캐시 메모리(20)는 데이터 저장부(23), 교체 정보 저장부(24), 더티 값 저장부(25), 태그 저장부(27), 태그 비교부(28), 라이트-백 제어부(30), 및 프로세서(29)를 포함한다. 도 2에서는 설명의 편의를 위해, 캐시 메모리(20)와 CPU(13) 및 메인 메모리(15)는 함께 도시되었다.
프로세서(29)는 입력 신호(예컨대, HIT/MISS)에 기초하여 독출 동작 또는 기 입 동작을 수행하기 위한 출력 신호(AS1, AS2, BL1, 또는 WB1)을 생성한다.
데이터 저장부(23)는 이전에 액세스된 다수의 블록들 각각에 상응하는 데이터를 저장한다. 태그 저장부(27)는 태그 비교부(28)가 CPU(13)로부터 출력된 독출 어드레스(Read Address) 또는 기입 어드레스(Write)에 응답하여 히트(HIT) 또는 미스(MISS)를 판별할 수 있도록, 상기 다수의 블록들 각각에 상응하는 각각의 태그를 저장한다.
데이터 저장부(23), 및 태그 저장부(25) 각각은 SRAM, 또는 레지스터(register)로 구현될 수 있다.
태그 비교부(28)는, CPU(13)로부터 출력되는 독출 어드레스(Read Address)에 응답하여, 수신된 독출 어드레스(Read address)와 태그 저장부(27)에 저장된 다수의 태그들 각각을 비교하고, 비교 결과로서 히트(HIT) 또는 미스(MISS)를 판별한다.
판단 결과 히트(HIT)인 경우, 데이터 저장부(23)는 프로세서(29)로부터 출력되는 독출 동작 신호(AS1)에 응답하여 독출 어드레스(Read Address)에 상응하는 데이터(Data)를 즉시 CPU(13)로 출력한다.
판단 결과 미스(MISS)인 경우, 프로세서(29)는 메인 메모리(15)로 독출 어드레스(Read Address)를 포함하는 데이터 요청 신호(AS2)를 전송하고, 독출 어드레스(Read Address)에 상응하는 데이터(Data)를 메인 메모리(15)로부터 독출하고, 독출된 데이터를 데이터 저장부(23)로 전송하는 동시에 CPU(13)로 출력한다.
더티 값(dirty value) 저장부(25)는 데이터 저장부(23)에 저장된 다수의 블 록들 각각에 해당하는 각각의 더티 값을 저장한다. 상기 각각의 더티 값은 n(n은 2이상의 자연수)-비트들로 구성되고, 상기 n-비트들 각각은 다수의 블록들 각각을 구성하는 다수의 서브 블록들(sub blocks) 각각에 포함된 데이터의 갱신(write) 여부를 나타낸다. 여기서, 서브 블록에 포함된 데이터 중에서 적어도 일부가 기입 데이터인 경우, 상기 서브 블록을 나타내는 비트는 "1"이고 이를 유효 비트라 한다.
교체 정보 저장부(24)는 라이트 백 결정부(30)가 교체 알고리즘에 따라 다수의 블록들 중에서 적어도 어느 하나의 블록을 선택할 수 있도록 상기 다수의 블록들 각각에 해당하는 각각의 교체 정보를 저장한다. 상기 각각의 교체 정보는 n-비트 더티 값에 상응하는 블록의 정보, 블록의 액세스 횟수, 또는 블록의 데이터 갱신 시간 등일 수 있다.
라이트 백 제어부(30)는 라이트 백 결정부(31) 및 버스트 길이 선택부(33)를 포함한다.
라이트 백 결정부(31)는 더티 값 저장부(25)로부터 출력되는 각각의 n-비트 더티 값 및/또는 교체 정보 저장부(24)로부터 출력되는 각각의 교체 정보를 수신하고, 상기 각각의 n-비트 더티값 및/또는 상기 각각의 교체 정보에 기초하여 교체 알고리즘에 따라 다수의 블록들 중에서 적어도 어느 하나의 블록 또는 서브 블록(sub-block)을 선택하여 라이트 백 동작의 수행 여부를 판단한다.
이때 사용되는 상기 교체 알고리즘은 LRU(Least Recently Used), LFU(Least Frequently Used), 또는 FIFO(First In First Out) 등일 수 있다. 따라서, 라이트 백 결정부(31)는 더티 값 저장부(25)로부터 출력된 각각의 n-비트 더티 값 및/또는 교체 정보 저장부(24)로부터 출력되는 각각의 교체 정보에 기초하여 다수의 블록들 중에서 어떤 블록이 라이트-백 될 블록(이하, "라이트-백 블록"이라 한다)인지의 여부를 판단한다.
버스트 길이 선택부(33)는 라이트 백 결정부(31)에서 결정된(또는 선택된) 라이트-백 블록에 해당하는 n-비트 더티 값과 최소 버스트 길이에 기초하여 결정된 라이트-백 블록의 데이터 중에서 라이트-백될 데이터(이하, "라이트-백 데이터"라 한다)의 버스트 길이 m을 결정한다.
버스트 길이 선택부(33)는 라이트-백 블록에 해당하는 더티 값을 구성하는 n-비트의 수에 따라 최소 버스트 길이의 정수 배에 비례하는 버스트 길이 m을 결정한다. 예컨대, 최소 버스트 길이가 4인 경우, m은 4의 배수일 수 있다.
즉, 버스트 길이 선택부(33)는 라이트-백 블록에 해당하는 더티 값을 구성하는 n-비트 중에서 유효 비트의 수에 따라 버스트 길이 m을 결정할 수 있다.
또한, 버스트 길이 선택부(33)는 라이트-백 블록에 해당하는 n-비트들이 모두 유효 비트가 아닌 경우라도 최대 버스트 길이(예컨대, 16)를 선택하는 경우도 발생할 수 있다. 예컨대, 캐시 메모리(20)가 데이터를 읽고 쓰는데 소모되는 대기 시간(latency)이 긴 경우 최대 버스트 길이로 데이터를 출력할 때 캐시 메모리(20)의 성능은 더 좋기 때문이다.
버스트 길이 선택부(33)는 더티 값을 구성하는 n-비트들 중에서 유효 비트(예컨대, 데이터 "1")들 사이에 존재하는 적어도 하나의 비트(예컨대, 데이터 "0")를 유효 비트로 인식하여 라이트-백 데이터의 버스트 길이를 가변할 수 있다.
또한, 컴퓨터 시스템(10)은 라이트-백 데이터를 버스트 길이 4, 버스트 길이 8, 또는 버스트 길이 16으로 시스템 버스(35)를 통하여 메인 메모리(15)로 라이트-백 동작을 수행할 수 있기 때문에, 버스트 길이 선택부(33)는 더티 값을 구성하는 n-비트들에 따라 유효 비트들 사이에 존재하는 적어도 하나의 비트를 유효 비트로 인식하여 라이트-백 데이터의 버스트 길이를 가변할 수 있다.
즉, 이 경우 유효 비트(예컨대, "1")에 해당하는 서브 블록의 데이터뿐만 아니라 유효 비트가 아닌 비유효 비트(예컨대, "0")에 해당하는 서브 블록의 데이터도 함께 메인 메모리(15)로 전송하는 캐시 메모리(20)의 대기 시간은 기입 데이터를 포함하며 유효 비트에 해당하는 서브 블록의 데이터만 메인 메모리(15)로 전송하는 캐시 메모리의 대기 시간(latency)보다 짧으므로, 캐시 메모리(20)는 고속으로 데이터를 액세스할 수 있다.
프로세서(29)는 라이트 백 제어부(30)로부터 출력되는 라이트 백 블록의 교체 정보 및/또는 결정된 버스트 길이에 기초하여 라이트 백 동작신호(WB1)를 발생하여 이를 데이터 저장부(23)로 출력한다.
데이터 저장부(23)는 라이트 백 동작신호(WB1)에 해당하는 블록의 데이터 중에서 라이트-백 데이터를 출력한다. 상기 라이트-백 데이터는 서브 블록 단위로 메인 메모리(15)로 라이트-백 된다. 캐시 메모리(20)의 데이터 저장부(23)는, 프로세서(29)의 제어하에, 라이트 백 동작 신호(WB1)에 응답하여, 결정된 버스트 길이를 갖는 라이트-백 데이터를 시스템 버스(35)를 통하여 메인 메모리(15)로 라이트-백 할 수 있다.
상술한 바와 같이, 본 발명의 실시 예에 따른 캐시 메모리(20)는 기입 데이터를 모두 포함하도록 라이트-백 데이터의 버스트 길이 m을 조절할 수 있다.
버스트 길이 선택부(33)가 라이트-백 블록의 더티 값에 기초하여 라이트-백 데이터의 버스트 길이 m을 선택하는 방법은 도 3a 내지 도 4p를 참조하여 상세히 설명될 것이다.
캐시 메모리(20)는 라이트-백 동작을 수행하기 위하여 데이터 저장부(23)로부터 메인 메모리(15)로 출력되는 라이트-백 데이터를 일시적으로 저장하기 위한 라이트 백 버퍼(write back buffer; 37)를 더 포함할 수 있다.
캐시 메모리(20)의 최소 버스트 길이와 최대 버스트 길이는 시스템 버스(35)의 대역폭, 데이터 저장부(23)의 구조(예컨대, 블록의 크기), 또는 SFR(special function resistor)의 설정 등에 기초하여 컴퓨터 시스템(10)에 따라 다양하게 결정될 수 있다.
캐시 메모리(20)는 라이트-백 데이터의 버스트 길이를 조절(또는 결정)하기 위한 값을 저장하는 SFR을 설정하기 위한 컨트롤러(미도시)를 더 포함할 수 있다. 상기 컨트롤러는 캐시 메모리(20)의 내부 또는 외부에 구현될 수 있다. 상기 컨트롤러가 캐시 메모리(20)의 외부에 구현되는 경우 상기 컨트롤러는 CPU(13)의 일부로서 구현될 수 있다.
도 3a 내지 도 3c는 본 발명의 실시 예에 따라 더티 값 저장부(25)에 저장된 더티 값을 나타낸다. 도 3a 내지 도 3c를 참조하면, 하나의 블록의 크기(B)가 64바이트이고 시스템 버스(35)의 대역폭이 32비트인 컴퓨터 시스템(10)에서 4-비트 더 티 값의 일 예를 나타낸다.
도 3a 내지 도 3c를 참조하면, 다수의 서브 블록들 각각에 저장된 데이터의 일부가 기입 데이터로 변경되는 경우, 상기 기입 데이터를 포함하는 서브 블록에 상응하는 비트는 제1레벨 (예컨대, 하이 레벨 또는 데이터 "1")로 설정된다.
제1레벨을 갖는 비트를 유효 비트라 하며, 상기 유효 비트는 도 3a 내지 도 4p에 도시된 바와 같이 해치된 영역으로 표시된다. 또한, 제2레벨(예컨대, 로우 레벨 또는 데이터 "0")을 갖는 비유효 비트는 서브 블록의 데이터에 기입 데이터가 포함되지 않을 경우를 나타내며, 비유효 비트는 도 3a 내지 도 4p에 도시된 바와 같이 해치되지 않은 영역으로 표시된다.
도 3a 내지 도 3c에 도시된 바와 같이, 캐시 메모리(20)의 각각의 블록(BLOCK)은 64바이트이고, 더티 값은 4-비트이다. 따라서, 하나의 블록(BLOCK)은 4개의 서브 블록들(sub#1, sub#2, sub#3, 및 sub#4)을 포함한다. 상기 4개의 서브 블록들(sub#1, sub#2, sub#3, 및 sub#4) 각각은 4바이트이다. 따라서, 블록(BLOCK)이 B바이트이고, 더티 값이 n-비트인 경우, 서브 블록의 크기는 (B/n=64/4=16)바이트이다.
도 3a에 도시된 바와 같이, 더티 값 "1010"은 하나의 블록의 서브 블록들(sub#1 및 sub#3) 각각에 저장된 데이터(예컨대, 16바이트) 중에서 적어도 일부(예컨대, 1바이트)가 기입 데이터로 변경되었음을 나타낸다. 또한, 도 3b에 도시된 바와 같이, 더티 값 "0001"은 하나의 블록의 서브 블록(sub#4)에 저장된 데이터 중에서 적어도 일부가 기입 데이터로 변경되었음을 나타낸다. 그리고, 도 3c에 도시 된 바와 같이, 더티 값 "1111"은 하나의 블록의 모든 서브 블록들(sub#1, sub#2, sub#3, 또는 sub#4) 각각에 저장된 데이터 중에서 적어도 일부가 기입 데이터로 변경되었음을 나타낸다. 예컨대, 기입 데이터는 시스템 버스(35)의 대역폭, 즉 4바이트씩 기입(또는 갱신)될 수 있다.
도 4a 내지 도 4p는 4-비트 더티 값에 따라 결정된 라이트-백 데이터의 버스트 길이를 나타낸다. 즉, 캐시 메모리(20)의 더티 값 저장부(25)에 저장된 다수의 블록들 각각에 해당하는 4-비트 더티 값에 따라 결정된 라이트-백 데이터의 버스트 길이는 도 4a 내지 도 4에 도시된 바와 같다.
캐시 메모리(20)의 라이트-백 제어부(30)는 다수의 블록들 각각에 대한 n-비트 더티 값에 응답하여 상기 다수의 블록들 중에서 라이트-백 블록을 결정하고, 결정된 라이트-백 블록의 n-비트 더티 값, 특히 유효 비트의 개수에 기초하여 최소 버스트 길이(또는, 서브 블록)의 정수 배에 비례하는 라이트-백 데이터의 버스트 길이 m을 결정한다.
예컨대, 4-비트 더티 값이 어느 하나의 유효 비트(예컨대, "1")를 갖는 경우, 예컨대, 4a의 0001(즉, 서브 블록(sub#4)에 저장된 데이터 중에서 적어도 일부가 기입 데이터로 변경된 경우), 도 4b의 0010(즉, 서브 블록(sub#3)에 저장된 데이터 중에서 적어도 일부가 기입 데이터로 변경된 경우), 도 4d의 0100(즉, 서브 블록(sub#2)에 저장된 데이터 중에서 적어도 일부가 기입 데이터로 변경된 경우), 또는 도 4h의 1000(즉, 서브 블록(sub#1)에 저장된 데이터 중에서 적어도 일부가 기입 데이터로 변경된 경우), 캐시 메모리(20)는 각각의 유효 비트에 상응하는 각 각의 서브 블록(sub#4, sub#3, sub#2, 또는 sub#1)에 저장된 데이터, 즉 라이트-백 데이터를 버스트 길이 4로 시스템 버스(35)를 통하여 메인 메모리(15)로 라이트-백한다. 예컨대, 최소 버스트 길이가 4인 경우, 캐시 메모리(20)는 최소 버스트 길이로 라이트-백 데이터를 시스템 버스(35)를 통하여 메인 메모리(15)로 전송한다.
또한, 4-비트 더티 값이 두 개의 유효 비트들을 갖는 경우, 예컨대, 4c의 0011(즉, 서브 블록들(sub#3과 sub#4) 각각에 저장된 데이터 중에서 적어도 일부가 기입 데이터로 변경된 경우) 캐시 메모리(20)는 버스트 길이 8로 서브 블록들(sub#3과 sub#4) 각각에 저장된 라이트-백 데이터를 시스템 버스(35)를 통하여 메인 메모리(15)로 라이트-백하고, 도 4f의 0110(즉, 서브 블록들(sub#2와 sub#3) 각각에 저장된 데이터 중에서 적어도 일부가 기입 데이터로 변경된 경우) 캐시 메모리(20)는 버스트 길이 8로 서브 블록들(sub#2와 sub#3) 각각에 저장된 라이트-백 데이터를 시스템 버스(35)를 통하여 메인 메모리(15)로 라이트-백하고, 도 4i의 1001(즉, 서브 블록들(sub#1 및 sub#4) 각각에 저장된 데이터 중에서 적어도 일부가 기입 데이터로 변경된 경우) 캐시 메모리(20)는 버스트 길이 8로 서브 블록들(sub#1와 sub#4) 각각에 저장된 라이트-백 데이터를 시스템 버스(35)를 통하여 메인 메모리(15)로 라이트-백하고, 도 4l의 1100(즉, 서브 블록들(sub#1과 sub#2) 각각에 저장된 데이터 중에서 적어도 일부가 기입 데이터로 변경된 경우), 캐시 메모리(20)는 버스트 길이 8로 서브 블록들(sub#1과 sub#2)각각에 저장된 라이트-백 데이터를 시스템 버스(35)를 통하여 메인 메모리(15)로 라이트-백한다. 즉, 캐시 메모리(20)는 최소 버스트 길이*2로 라이트-백 데이터를 시스템 버스(35)를 통하여 메인 메모리(15)로 전송한다.
도 4e와 같이 더티값이 0101, 도 4g와 같이 0111, 도 4j와 같이 더티 값이 1010, 도 4k와 같이 더티 값이 1011, 도 4m과 같이 더티 값이 1101, 도 n과 같이 더티 값이 1110, 또는 도 4o와 같이 더티 값이 1111인 경우, 캐시 메모리(20)는 라이트-백 블록의 라이트-백 데이터를 버스트 길이 16으로 시스템 버스(35)를 통하여 메인 메모리(15)로 라이트-백한다.
또한, 도 4p와 같이 더티 값이 0000인 경우, 즉 4-비트 더티 값이 유효 비트를 하나도 포함하지 않는 경우, 캐시 메모리(20)는 4-비트 더티 값 "0000"에 해당하는 블록을 메인 메모리(15)로 라이트 백하지 않는다.
도 4e, 도 4g, 도 4j, 도 4k, 도 4m, 또는 도 4n을 참조하여 설명한 바와 같이, 캐시 메모리(20)는 4-비트 더티 값에 따라 상기 더티 값을 구성하는 각각의 유효 비트(예컨대, 데이터 "1")에 상응하는 서브 블록의 데이터뿐만 아니라 기입 데이터를 포함하지 않음을 나타내는 비유효 비트(예컨대, 데이터 "0")에 해당하는 서브 블록의 데이터도 함께 메인 메모리(15)로 전송할 수 있다. 이 경우, 캐시 메모리(20)는 도 4e, 도 4g, 도 4i, 도 4k, 도 4m, 또는 도 4n에 도시된 바와 같은 더티 값을 갖는 라이트-백 블록의 라이트-백 데이터를 버스트 길이 16으로 시스템 버스(35)를 통하여 메인 메모리(15)로 라이트 백할 수 있다.
즉, 도 4e, 4j, 도 4k, 또는 도 4m을 참조하여 설명한 바와 같이, 캐시 메모리(20)는, 더티 값을 구성하는 다수의 유효 비트들 사이에 적어도 하나의 비유효 비트가 포함되는 경우, 컴퓨터 시스템(10)의 성능을 높이기 위하여 4-비트 더티 값 을 구성하는 유효 비트의 수가 2개 또는 3개일지라도 라이트-백 데이터를 버스트 길이 16으로 시스템 버스(35)를 통하여 메인 메모리(15)로 라이트 백할 수 있다.
도 5는 본 발명의 실시 예에 따른 컴퓨터 시스템의 기입 동작시 수행되는 라이트 백 동작의 흐름도를 나타낸다.
도 1 내지 도 5를 참조하여, 캐시 메모리(20)의 데이터 저장부(23)에 저장된 다수의 블록들 중에서 적어도 어느 하나의 블록에 포함된 라이트-백 데이터를 메인 메모리(15)에 라이트 백하는 동작을 설명하면 다음과 같다. 우선, 기입 데이터가 데이터 저장부(23)의 임의의 블록, 특히 서브 블록에 저장되어 있다고 가정한다.
캐시 메모리(20)의 태그 비교부(28)는 CPU(13)로부터 출력된 독출 어드레스(Read Address)를 포함하는 명령, 예컨대 독출 명령에 응답하여 독출 어드레스(Read Address)와 태그 저장부(27)에 저장된 태그들 각각을 각각 비교하고, 히트(HIT) 또는 미스(MISS)를 판별한다(S110 및 S130).
비교 결과 히트(HIT)인 경우, 캐시 메모리(20)의 데이터 저장부(23)는 프로세서(29)로부터 출력된 독출 동작 신호(AS1)에 응답하여 독출 어드레스(Read Address)에 상응하는 기입 데이터(Data)를 CPU(13)로 출력한다(S145).
반대로, 비교 결과 미스(MISS)인 경우, 캐시 메모리(20)의 라이트 백 결정부(31)는 데이터 저장부(23) 내에 저장된 다수의 블록들 중에서 교체 알고리즘에 따라 라이트-백 동작이 수행될 블록을 확인한다(S140).
상기 블록에 상응하는 더티 값에 유효 비트가 포함되지 않는 경우, 캐시 메모리(20)는 상기 블록, 또는 상기 블록의 데이터를 삭제하고 메인 메모리(15)로 독 출 어드레스(Read Address)를 포함하는 데이터 요청 신호(AS2)를 출력한다. 캐시 메모리(20)는 데이터 요청 신호(AS2)에 상응하는 블록의 데이터를 메인 메모리(15)로부터 읽어들여 저장한다(S150, 및 S165).
또한, 라이트-백 블록에 해당하는 더티 값에 유효 비트가 포함된 경우, 캐시 메모리(20)는 라이트 백 동작을 수행하기 위하여 상기 라이트-백 블록에 해당하는 n-비트 더티 값에 기초하여 라이트-백 데이터의 버스트 길이 m을 선택한다(S160).
캐시 메모리(20)는 라이트 백 동작이 수행될 라이트-백 블록 및 결정된 버스트 길이 m에 기초하여 생성된 라이트 백 동작신호(WB1)를 데이터 저장부(23)로 전송한다. 데이터 저장부(23)는 라이트 백 동작신호(WB1)에 응답하여 라이트-백 데이터를 결정된 버스트 길이 m으로 독출하고, 독출된 라이트-백 데이터를 버스트 길이 m으로 시스템 버스(35)를 통해 순차적으로, 즉 시스템 버스(35)의 대역폭 단위로 메인 메모리(15)로 전송한다(S170).
라이트 백 동작이 완료된 후, 캐시 메모리(20)는 데이터 요청 신호(AS2)에 상응하는 데이터를 블록 단위로 메인 메모리(15)로부터 독출하여 CPU(13)로 출력하는 동시에 독출된 데이터를 데이터 저장부(23)에 저장하고, 저장된 데이터에 해당하는 태그를 태그 저장부(27)에 저장한다.
본 발명의 실시 예에 따른 캐시 메모리(20)는 라이트 백을 수행할 때 4-비트 더티 값에 따라 기입 데이터를 포함하도록 라이트-백 데이터의 버스트 길이를 조절하여 메인 메모리(15)에 라이트 백 동작을 수행함으로써 시스템 버스(35)의 대역폭을 효율적으로 이용할 수 있으므로, 캐시 메모리(20)를 포함하는 컴퓨터 시스 템(10)의 효율을 높일 수 있는 효과가 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 컴퓨터 시스템의 개략적인 블록도이다.
도 2는 본 발명의 일 실시예에 따라 라이트-백 테이터의 버스트 길이를 결정 할 수 있는 캐시 메모리의 블록도이다.
도 3a 내지 도 3c는 본 발명의 실시 예에 따라 더티 값 저장부에 저장된 더티 값을 나타낸다.
도 4a 내지 도 4p는 4-비트 더티 값에 따라 결정된 라이트-백 데이터의 버스트 길이를 나타낸다.
도 5는 본 발명의 실시 예에 따른 컴퓨터 시스템의 기입 동작시 수행되는 라이트 백 동작의 흐름도를 나타낸다.

Claims (11)

  1. 블록에 대한 n-비트 더티 값에 기초하여 상기 블록이 라이트-백 블록인지를 결정하기 위한 라이트-백 결정부; 및
    상기 블록이 상기 라이트-백 블록인 경우, 상기 n-비트 더티 값과 최소 버스트 길이에 기초하여 상기 라이트-백 블록에 포함된 라이트-백 데이터의 버스트 길이를 결정하기 위한 버스트 길이 결정부를 포함하는 캐시 메모리.
  2. 제1항에 있어서, 상기 버스트 길이는 상기 최소 버스트 길이의 정수배인 캐시 메모리.
  3. 제1항에 있어서, 상기 캐시 메모리는 상기 n-비트 더티 값을 저장하기 위한 더티 값 저장부를 더 포함하는 캐시 메모리.
  4. 제1항에 있어서, 상기 캐시 메모리는,
    상기 라이트-백 블록의 데이터를 저장하는 데이터 저장부; 및
    결정된 버스트 길이에 응답하여, 상기 데이터 저장부에 저장된 상기 라이트-백 블록의 데이터 중에서 상기 라이트-백 데이터를 시스템 버스로 출력하도록 상기 데이터 저장부를 제어하는 프로세서를 더 포함하는 캐시 메모리.
  5. 제4항에 있어서, 상기 캐시 메모리는,
    상기 시스템 버스로 출력되는 상기 라이트-백 데이터를 저장하기 위한 라이트-백 버퍼를 더 포함하는 캐시 메모리.
  6. 블록에 대한 n-비트 더티 값과 상기 블록에 대한 교체 정보에 기초하여 상기 블록이 라이트-백 블록인지를 결정하기 위한 라이트 백 결정부; 및
    상기 블록이 상기 라이트-백 블록인 경우, 상기 n-비트 더티 값과 최소 버스트 길이 값에 기초하여 상기 라이트-백 블록에 포함된 라이트-백데이터의 버스트 길이를 결정하기 위한 버스트 길이 선택 부를 포함하는 캐시 메모리.
  7. 제6항에 있어서, 상기 교체 정보는 상기 블록에 대한 정보, 상기 블록의 액세스 회수, 또는 상기 블록의 데이터 갱신 시간 중에서 적어도 하나를 포함하는 캐시 메모리.
  8. 캐시 메모리로부터 출력된 라이트-백 데이터를 시스템 버스를 통하여 수신하고 저장하는 메인 메모리를 포함하는 시스템에 있어서,
    상기 캐시 메모리는,
    블록의 데이터를 저장하기 위한 데이터 저장부;
    상기 블록에 대한 n-비트 더티 값에 기초하여 상기 블록이 라이트-백 블록인지를 판단하기 위한 라이트 백 결정부;
    상기 블록이 상기 라이트-백 블록인 경우, 상기 n-비트 더티 값과 최소 버스트 길이에 기초하여 상기 블록의 데이터 중에서 상기 라이트-백 데이터의 버스트 길이를 결정하기 위한 버스트 길이 선택 부; 및
    결정된 버스트 길이에 응답하여, 상기 데이터 저장부에 저장된 상기 블록의 데이터 중에서 상기 라이트-백 데이터를 상기 시스템 버스로 출력하도록 상기 데이터 저장부를 제어하는 프로세서를 포함하는 시스템.
  9. 제8항에 있어서, 상기 라이트 백 결정부가 상기 블록에 대한 교체 정보를 더 수신하는 경우, 상기 라이트 백 결정부는 상기 n-비트 더티 값과 상기 교체 정보에 기초하여 상기 블록이 상기 라이트-백 블록인지를 판단하는 시스템.
  10. 제8항에 있어서, 상기 버스트 길이는 상기 최소 버스트 길이의 정수배인 시스템.
  11. 제8항에 있어서, 상기 버스트 길이는 상기 블록의 크기를 상기 더티 값을 구성하는 비트의 수로 나눈 값의 정수배인 시스템.
KR1020070121450A 2007-11-27 2007-11-27 라이트-백 동작시 라이트-백 데이터의 버스트 길이를조절할 수 있는 캐시 메모리와 이를 포함하는 시스템 KR101443231B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070121450A KR101443231B1 (ko) 2007-11-27 2007-11-27 라이트-백 동작시 라이트-백 데이터의 버스트 길이를조절할 수 있는 캐시 메모리와 이를 포함하는 시스템
US12/313,981 US8443152B2 (en) 2007-11-27 2008-11-26 Cache memory capable of adjusting burst length of write-back data in write-back operation
US13/893,746 US8799585B2 (en) 2007-11-27 2013-05-14 Cache memory capable of adjusting burst length of write-back data in write-back operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070121450A KR101443231B1 (ko) 2007-11-27 2007-11-27 라이트-백 동작시 라이트-백 데이터의 버스트 길이를조절할 수 있는 캐시 메모리와 이를 포함하는 시스템

Publications (2)

Publication Number Publication Date
KR20090054657A true KR20090054657A (ko) 2009-06-01
KR101443231B1 KR101443231B1 (ko) 2014-09-19

Family

ID=40670738

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070121450A KR101443231B1 (ko) 2007-11-27 2007-11-27 라이트-백 동작시 라이트-백 데이터의 버스트 길이를조절할 수 있는 캐시 메모리와 이를 포함하는 시스템

Country Status (2)

Country Link
US (2) US8443152B2 (ko)
KR (1) KR101443231B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996291A (zh) * 2010-11-02 2011-03-30 北京握奇数据系统有限公司 数据操作方法及装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8245112B2 (en) * 2009-06-04 2012-08-14 Lsi Corporation Flash memory organization
US8321639B2 (en) * 2009-12-30 2012-11-27 Lsi Corporation Command tracking for direct access block storage devices
US8166258B2 (en) * 2009-07-24 2012-04-24 Lsi Corporation Skip operations for solid state disks
US8219776B2 (en) * 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US20100306451A1 (en) * 2009-06-01 2010-12-02 Joshua Johnson Architecture for nand flash constraint enforcement
US8286004B2 (en) * 2009-10-09 2012-10-09 Lsi Corporation Saving encryption keys in one-time programmable memory
US8296480B2 (en) * 2009-11-30 2012-10-23 Lsi Corporation Context execution in a media controller architecture
US8555141B2 (en) * 2009-06-04 2013-10-08 Lsi Corporation Flash memory organization
US9319880B2 (en) 2010-09-15 2016-04-19 Intel Corporation Reformatting data to decrease bandwidth between a video encoder and a buffer
CN107577614B (zh) * 2013-06-29 2020-10-16 华为技术有限公司 数据写入方法及内存系统
TWI611405B (zh) * 2015-11-25 2018-01-11 旺宏電子股份有限公司 將資料自記憶體寫回儲存裝置的方法及應用其的資料存取系統
US20170168957A1 (en) * 2015-12-10 2017-06-15 Ati Technologies Ulc Aware Cache Replacement Policy
KR102362239B1 (ko) 2015-12-30 2022-02-14 삼성전자주식회사 디램 캐시를 포함하는 메모리 시스템 및 그것의 캐시 관리 방법
US10846253B2 (en) 2017-12-21 2020-11-24 Advanced Micro Devices, Inc. Dynamic page state aware scheduling of read/write burst transactions
KR20190103593A (ko) * 2018-02-28 2019-09-05 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US11403803B2 (en) 2020-06-26 2022-08-02 Imagination Technologies Limited Hierarchical acceleration structures for use in ray tracing systems
US11335055B2 (en) * 2020-06-26 2022-05-17 Imagination Technologies Limited Intersection testing in ray tracing systems with skipping of nodes in sub-trees of hierarchical acceleration structures
US11380042B2 (en) 2020-06-26 2022-07-05 Imagination Technologies Limited Intersection testing in ray tracing systems using hierarchical acceleration structures with implicitly represented nodes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5631909A (en) * 1995-05-31 1997-05-20 Quantum Corporation Method and apparatus for determining burst errors in an error pattern
US6185637B1 (en) * 1998-04-15 2001-02-06 Advanced Micro Devices, Inc. System for implementing an adaptive burst length for burst mode transactions of a memory by monitoring response times for different memory regions
US6615308B1 (en) 1999-12-09 2003-09-02 Intel Corporation Method and apparatus for regulating write burst lengths
US6766431B1 (en) * 2000-06-16 2004-07-20 Freescale Semiconductor, Inc. Data processing system and method for a sector cache
US7076614B2 (en) 2001-06-29 2006-07-11 Intel Corporation System and method for optimizing bus bandwidth utilization by grouping cache write-backs
US7149824B2 (en) * 2002-07-10 2006-12-12 Micron Technology, Inc. Dynamically setting burst length of memory device by applying signal to at least one external pin during a read or write transaction
US7380059B2 (en) * 2003-05-16 2008-05-27 Pillar Data Systems, Inc. Methods and systems of cache memory management and snapshot operations
US7139878B2 (en) * 2003-06-20 2006-11-21 Freescale Semiconductor, Inc. Method and apparatus for dynamic prefetch buffer configuration and replacement
ATE410733T1 (de) 2004-06-16 2008-10-15 Freescale Semiconductor Inc Datum-pufferspeichersystem

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996291A (zh) * 2010-11-02 2011-03-30 北京握奇数据系统有限公司 数据操作方法及装置

Also Published As

Publication number Publication date
US8443152B2 (en) 2013-05-14
US8799585B2 (en) 2014-08-05
US20090138663A1 (en) 2009-05-28
KR101443231B1 (ko) 2014-09-19
US20130254493A1 (en) 2013-09-26

Similar Documents

Publication Publication Date Title
KR101443231B1 (ko) 라이트-백 동작시 라이트-백 데이터의 버스트 길이를조절할 수 있는 캐시 메모리와 이를 포함하는 시스템
JP3888508B2 (ja) キャッシュ・データ管理方法
JP4008826B2 (ja) オンチップキャッシュのデータ圧縮により有効キャッシュサイズを増大させるキャッシュ圧縮エンジンのための装置
US8176258B2 (en) System and method for cache management
US8843705B2 (en) Read and write aware cache with a read portion and a write portion of a tag and status array
US8230179B2 (en) Administering non-cacheable memory load instructions
US7257693B2 (en) Multi-processor computing system that employs compressed cache lines' worth of information and processor capable of use in said system
KR100339904B1 (ko) 캐시 프로세스용 시스템 및 방법
US6578111B1 (en) Cache memory system and method for managing streaming-data
JP6859361B2 (ja) 中央処理ユニット(cpu)ベースシステムにおいて複数のラストレベルキャッシュ(llc)ラインを使用してメモリ帯域幅圧縮を行うこと
KR20150057798A (ko) 캐시 제어 장치 및 방법
KR101472967B1 (ko) 라이트 백 동작을 수행하는 캐시 메모리, 이의 동작 방법, 및 이를 포함하는 시스템
US7844777B2 (en) Cache for a host controller to store command header information
US6598124B1 (en) System and method for identifying streaming-data
US11960419B2 (en) Systems and methods for data prefetching for low latency data read from a remote server
US7865666B2 (en) Cache memory systems and methods thereof
WO2002027498A2 (en) System and method for identifying and managing streaming-data
CN100587676C (zh) 探测标记的控制装置
WO2022021337A1 (zh) 闪存控制方法和装置
CN114764307A (zh) 计算机系统及其数据管理方法
KR19990079976A (ko) 빅팀캐쉬의 상태비트에 따른 무효화 순위결정 로직장치
JPH10105466A (ja) ディスク装置のキャッシュメモリ制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180831

Year of fee payment: 5