KR20190018730A - 캐시 엔트리 전송을 위한 캐시 위치 정보를 저장하기 위한 시스템 및 방법 - Google Patents

캐시 엔트리 전송을 위한 캐시 위치 정보를 저장하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20190018730A
KR20190018730A KR1020197002814A KR20197002814A KR20190018730A KR 20190018730 A KR20190018730 A KR 20190018730A KR 1020197002814 A KR1020197002814 A KR 1020197002814A KR 20197002814 A KR20197002814 A KR 20197002814A KR 20190018730 A KR20190018730 A KR 20190018730A
Authority
KR
South Korea
Prior art keywords
cache
data
location
controller
location information
Prior art date
Application number
KR1020197002814A
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 KR1020237011379A priority Critical patent/KR102680596B1/ko
Publication of KR20190018730A publication Critical patent/KR20190018730A/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/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • 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/1028Power efficiency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

캐시[120]는, 상위 레벨 캐시[140]에서 하위 레벨 캐시로 전송되는 데이터[170]와 함께, 상기 데이터가 전송되어 온 상위 레벨 캐시 위치를 가리키는 정보[171]를 저장한다. 상위 레벨 캐시 내 위치에 저장된 데이터에 대한 요청을 수신하면, 캐시 제어기[130]가 데이터의 상태 태그에 상위 레벨 캐시 위치 정보를 저장한다. 그 후 캐시 제어기는 데이터를, 상위 레벨 캐시 위치를 가리키는 상태 태그와 함께 하위 레벨 캐시로 전송한다. 데이터가 차후 업데이트되거나 하위 레벨 캐시로부터 방출될 때, 캐시 제어기가 상태 태그 위치 정보를 읽고 데이터를 상기 데이터가 본래 전송되어 온 상위 레벨 캐시 내 위치로 다시 전송한다.

Description

캐시 엔트리 전송을 위한 캐시 위치 정보를 저장하기 위한 시스템 및 방법
관련 기술의 설명
본 발명은 캐시 위치 정보를 저장하기 위한 시스템 및 방법에 관한 것이다.
프로세서에서 명령의 실행을 지원하기 위해, 프로세싱 시스템이 일반적으로 실행 명령에 의해 액세스될 데이터를 저장하기 위한 메모리 모듈을 포함하는 메모리 서브시스템을 포함한다. 프로세싱 효율을 촉진시키기 위해, 메모리 서브시스템은 실행 명령에 의해 액세스될 수 있는 모든 데이터를 저장하기 위해 계층구조의 최상부에 메인 메모리를 가지며, 메인 메모리에 저장된 데이터의 서브세트를 저장하기 위해 메모리 계층구조의 하위 레벨에 하나 이상의 캐시를 갖는 메모리 계층구조로 조직될 수 있다. 예를 들어, 프로세싱 시스템은 적어도 두 개의 캐시, 즉, (메모리 계층구조에서 메인 메모리에 가까운) 상위 레벨 캐시와 (프로세싱 시스템의 프로세서 코어에 가까운) 하위 레벨 캐시를 갖는 메모리 계층구조를 포함할 수 있으며, 여기서 하위 레벨 캐시는 상위 레벨 캐시의 서브세트를 저장한다. 상위 레벨 캐시에서 하위 레벨 캐시로 전송되는 데이터가 차후, 예를 들어, 프로세싱 시스템에 의해 데이터가 업데이트되거나 유입 데이터를 위한 공간을 만들기 위해 하위 레벨 캐시로부터 데이터가 방출될 때, 상위 레벨 캐시로 다시 전송될 수 있다(transfer back). 데이터가 상위 레벨 캐시로 다시 전송될 때, 프로세싱 시스템은 상위 레벨 캐시 내 데이터를 배치할 위치를 결정해야 하며, 따라서 전력 및 메모리 액세스 자원을 소비한다.
본 발명은 첨부된 도면을 참조함으로써 해당 분야의 통상의 기술자에게 더 잘 이해될 수 있으며 많은 특징 및 이점이 자명해질 수 있다. 상이한 도면에서의 동일한 도면 부호의 사용이 유사하거나 동일한 아이템을 가리킨다.
도 1은 일부 실시예에 따르는 캐시 관리 시스템을 채용하는 프로세싱 시스템의 블록도이다.
도 2는 일부 실시예에 따라, 상위 레벨 캐시 내 한 위치에서 하위 레벨 캐시로 데이터 및 위치 태그를 전송하고, 그 후 업데이트된 데이터 및 위치 태그를 상기 하위 레벨 캐시로부터 상위 레벨 캐시 내 상기 위치로 전송하는 도 1의 프로세싱 시스템의 일례의 블록도이다.
도 3은 일부 실시예에 따라, 상위 레벨 캐시로부터 하위 레벨 캐시로 데이터를 전송하고 위치 태그를 위치 태그 버퍼에 저장하며, 그 후 하위 레벨 캐시로부터 업데이트된 데이터를 상위 레벨 캐시 내 위치로 전송할 때 위치 태그 버퍼로부터 위치 태그를 액세스하는 도 1의 프로세싱 시스템의 일례의 블록도이다.
도 4는 일부 실시예에 따라, 위치 태그 버퍼 내에 저장되는 위치 태그의 일례의 블록도이다.
도 5는 일부 실시예에 따라, 데이터가 상이한 캐시로 다시 전송될 때 위치 정보가 액세스될 수 있도록 상이한 캐시에 대한 캐시 위치 정보를 캐시에 저장하는 방법의 흐름도이다.
도 1-5는 상위 레벨 캐시에서 하위 레벨 캐시로 전송되는 데이터와 함께, 데이터가 어느 상위-레벨 캐시 위치로부터 전송되었는지를 가리키는 정보를 저장함으로써, 메모리 관리 효율을 개선하기 위한 기법을 도시한다. 예를 들어, 상위 레벨 캐시 내 위치에 저장되는 데이터에 대한 요청을 수신하면, 캐시 제어기가 데이터의 상태 태그에 상위 레벨 캐시 위치 정보를 저장한다. 그 후 캐시 제어기는 상위 레벨 캐시 위치를 가리키는 상태 태그와 함께 데이터를 하위 레벨 캐시로 전송한다. 데이터가 차후 업데이트되거나 하위 레벨 캐시로부터 방출될 때, 캐시 제어기는 상태 태그 위치 정보를 판독하고 데이터를 본래 전송되어 온 상위 레벨 캐시 내 위치로 다시 전송한다. 데이터가 본래 전송되어 온 상위 레벨 캐시 내 위치를 가리키는 정보를 저장함으로써, 프로세싱 시스템은 데이터를 상위 레벨 캐시 내 상기 위치로 효율적으로 다시 전송한다. 구체적으로, 위치 정보 데이터를 저장함으로써 데이터를 저장하기 위한 상위-레벨 캐시 내 위치를 식별할 필요가 없어짐으로써, 전력 및 메모리 액세스 자원이 보존된다.
도 1은 데이터가 전송되어 온 캐시 내 세트 및 웨이를 가리키는 위치 태그와 함께 데이터를 전송하고 저장하도록 구성되는 프로세싱 시스템(100)의 예시를 도시한다. 따라서, 프로세싱 시스템(100)은 임의의 여러 디바이스, 가령, 개인 컴퓨터, 워크스테이션, 모바일 디바이스, 가령, 스마트폰, 비디오 게임 콘솔, 스마트 TV 등에서 채용될 수 있다. 본 명세서에 더 기재될 바와 같이, 프로세싱 시스템(100)은 프로세서(110), L1 캐시(120), L1 캐시 제어기(130), L2 캐시(140), L2 캐시 제어기(150), 및 메인 메모리(160)를 포함한다.
프로세서(110)는 명령을 실행하기 위해, 컴퓨터 프로그램 형태로 구성됨으로써, 전자 디바이스를 대리하여 작업을 수행하는 하나 이상의 명령 파이프라인을 포함한다. 프로세서(110)가 어느 정도의 일체형 메모리를, 가령, 레지스터의 형태로 가질 수 있지만, 이러한 메모리는 일반적으로 저장 요량의 한계를 가진다. 따라서 명령을 실행하기 위해, 프로세서(110)는 프로세싱 시스템(100)의 메모리 계층구조, 가령, 캐시 메모리의 하나 이상의 레벨, 가령, L1 캐시(120) 및 L2 캐시(140), 및 메인 메모리(160)로부터 데이터를 저장하고 불러온다. 특히, 명령을 실행하는 과정에서, 프로세서(110)는 메모리 계층구조로부터 데이터를 저장하거나(저장 작업) 로딩하기 위한 작업(읽기 작업), 가령, 메모리 액세스 요청이라 지칭되는 작업을 발생시킨다. 캐시 메모리(120 및 140)의 하나 이상의 레벨 및 메인 메모리(160)가 함께 동작하여 메모리 액세스 요청을 만족시킬 수 있으며, 이는 이하에서 더 기재된다. 설명 목적으로 캐시 메모리의 두 개의 레벨이 도 1에 도시되지만, 프로세싱 시스템(100)은 캐시 메모리의 셋 이상의 레벨을 포함할 수 있다.
L1 캐시(120)는 프로세서(110)에 의해 액세스되기 위한 데이터를 저장하도록 구성된 메모리 모듈이다. 적어도 하나의 실시예에서, L1 캐시(120)는 엔트리의 세트를 포함하며, 각각의 엔트리가 캐시 라인이라고 지칭되는 연관된 데이터 유닛을 저장한다. 각각의 캐시 라인은 데이터에 대한 식별자로서 역할 하는 메인 메모리 내 주소를 가진다. 일부 실시예에서, L1 캐시(120)는 세트 연관 캐시이고, 캐시가 복수의 세트로 분할된다. 각각의 세트가 복수의 엔트리 또는 웨이를 포함하며, 이때 각각의 웨이가 캐시 라인을 저장하는 캐시 엔트리에 대응한다. 각각의 세트가 메인 메모리 주소의 서브세트와 연관된 캐시 라인만 저장하며, 인덱스라고 지칭되는 메인 메모리 주소의 일부분을 기초로 하나의 세트와 연관된 서브세트가 대응하는 캐시 제어기에 의해 식별된다.
L1 캐시 제어기(130)는 프로세서(110)로부터 데이터에 대한 메모리 액세스 요청을 수신하고 L1 캐시(120)에서 검색하여 캐시 엔트리 중 하나가 메모리 액세스 요청에 의해 타깃팅되는 메모리 주소와 연관된 캐시 라인을 저장하는지 여부를 결정하도록 구성된 모듈이다. 요청된 캐시 라인이 L1 캐시(120)에서 발견되는 경우, 캐시 적중이 발생했다. 캐시 적중의 경우, 읽기 작업의 경우, L1 캐시(120)로부터 프로세서(110)로 요청된 캐시 라인을 제공하거나, 쓰기 작업의 경우, 캐시 엔트리로의 쓰기 데이터를 저장함으로써, L1 캐시 제어기(130)는 메모리 액세스 요청을 만족시킨다.
L1 캐시(120)와 유사하게, L2 캐시(140)는 엔트리의 세트를 포함하는 메모리이며, 엔트리 각각은 연관된 캐시 라인을 저장한다. 요청된 캐시 라인이 L1 캐시(120)에서 발견되지 않은 경우, 캐시 실패가 발생했다. L1 캐시(120)에서의 캐시 실패의 경우, L1 캐시 제어기(130)는 L2 캐시 제어기(150)로 메모리 액세스 요청을 제공한다. L2 캐시 제어기(150)는 L1 캐시(120)에서의 캐시 실패에 응답하여 L1 캐시 제어기(130)로부터 메모리 액세스 요청을 수신하도록 구성된 모듈이다. 메모리 액세스 요청을 수신하는 것에 응답하여, L2 캐시 제어기(150)가 L2 캐시(140)의 캐시 엔트리 중 하나가 메모리 액세스 요청에 의해 타깃팅되는 메모리 주소와 연관된 데이터를 저장하는지 여부를 식별한다. 그럴 경우, L2 캐시 제어기(150)는 캐시 적중을 식별하고 L2 캐시(140)로부터 요청된 데이터를 L1 캐시(120)로 제공한다. 요청된 데이터가 L2 캐시(140)에서 발견되지 않은 경우, L2 캐시 제어기(150)가 캐시 실패를 식별하고 메모리 액세스 요청을 메인 메모리(160)로 제공한다. 메모리 액세스 요청에 응답하여, 메인 메모리(160)가 요청에 의해 타깃팅되는 메인 메모리 주소에서의 캐시 라인을 불러오고 캐시 라인을 L2 캐시(140)로 제공한다.
(L2 캐시 제어기(150)에 의한 본래의 검색 후 또는 메모리 액세스 요청에 응답하여 메인 메모리(160)로부터의 수신 후) 요청된 캐시 라인이 L2 캐시(140)에서 발견되는 경우, L2 캐시 제어기(150)는 L2 캐시 위치(145)의 세트 및 웨이를 가리키는 L2 위치 태그(171)를 생성한다. 그 후 L2 캐시 제어기(150)가 데이터(170) 및 L2 위치 태그(171)를 발견됐던 L2 캐시 위치(145)로부터 L1 캐시(120)로 전송한다. 일부 실시예에서, L2 캐시(140)가 L1 캐시(120)에 저장된 캐시 라인 각각을 저장하도록, L2 캐시(140)는 L1 캐시(120)를 포함하도록 구성된다.
데이터의 더 효율적인 전송을 촉진시키기 위해, L1 캐시 제어기(130)가 데이터(170)를 L2 캐시(140)로 다시 전송할 때 L2 위치 태그(171)를 읽는다. L1 캐시(120) 내 캐시 라인이 프로세서(110)로부터의 쓰기 작업에 의해 업데이트되는 경우, 업데이트된 캐시 라인이 L2 캐시(140)로 전송되어, L2 캐시(140)가 L1 캐시(120)를 포함하는 상태를 유지할 것이다. 업데이트된 캐시 라인을 L2 캐시(140)로 전송할 때, L1 캐시 제어기(130)가 L2 위치 태그(171)를 읽어, 캐시 라인이 전송될 L2 캐시 위치(145)의 세트 및 웨이를 결정할 수 있다. 데이터(170)와 함께 L2 위치 태그(171)를 저장하여, L2 캐시 제어기(150)가 전송된 데이터에 대한 위치를 식별할 필요없이, 데이터(170)가 동일한 L2 캐시 위치(145)로 다시 전송될 수 있음으로써, 프로세싱 효율이 개선된다. 이와 달리, 종래의 캐시 관리 시스템은 전송되는 데이터에 대한 캐시 엔트리를 식별하는 것, 가령, 데이터를 저장하기 위한 엔트리에 대한 L2 캐시 세트 및 웨이 정보를 조사하는 것을 필요로 함으로써, 추가 전력을 소비하고 L2 캐시(140)로의 액세스가 느려진다.
일부 실시예에서, 주어진 시점에서 메모리 계층구조로부터 전송되어 와서 프로세서(110)에 의해 써진 모든 데이터를 저장할 수 없도록 L1 캐시(120)의 크기가 정해진다. L1 캐시(120)에 써지거나 전송되는 캐시 라인을 수용하기 위한 이용 가능한 캐시 엔트리가 L1 캐시(120) 내에 존재하지 않는 경우, L1 캐시 제어기(130)는 L1 캐시(120)로부터 L2 캐시(140)로 방출될 캐시 라인을 선택할 것이다. 방출된 캐시 라인을 L2 캐시(140)로 전송할 때, 캐시 라인이 복사될 L2 캐시 위치(145)의 세트 및 웨이를 결정하기 위해 L1 캐시 제어기(130)는 L2 위치 태그(171)를 읽는다.
예를 들어, 작업 중에, 프로세서(110)는 메모리 액세스 작업을 실행한다. 프로세서(110)는 L1 캐시 제어기(130)로부터 데이터(170)를 요청하고, 상기 제어기는 L1 캐시(120)에서 요청된 데이터(170)를 검색한다. 요청된 캐시 라인이 L1 캐시(120)에서 발견되는 경우, 요청된 데이터(170)가 프로세서(110)로 제공된다. 요청된 데이터(170)가 L1 캐시(120)에서 발견되지 않는 경우, L1 캐시 제어기(130)는 메모리 액세스 요청을 L2 캐시 제어기(150)로 제공하며, 상기 제어기는 L2 캐시(140)에서 상기 요청된 데이터(170)를 검색한다. 요청된 데이터(170)가 L2 캐시(140)에서 발견되지 않는 경우, L2 캐시 제어기(150)는 메모리 액세스 요청을 메인 메모리(160)로 제공하며, 상기 메인 메모리는 요청된 데이터(170)를 L2 캐시(140)로 전송한다.
요청된 데이터(170)가 L2 캐시(140)에서 발견되는 경우, L2 캐시 제어기(150)는 L2 캐시(140) 내에서 요청된 데이터(170)가 발견된 L2 캐시 위치(145)의 세트 및 웨이를 가리키기는 L2 위치 태그(171)를 생성한다. L2 캐시 제어기(150)는 요청된 데이터(170)를 L2 위치 태그(171)와 함께, 메모리 액세스 요청이 만족되는 L1 캐시(120)로 전송한다.
그 후 데이터(170)가 L1 캐시(120)로부터 L2 캐시(140)로 다시 전송된다. 일부 실시예에서, 전송은 데이터(170)가 L1 캐시에서 업데이트되는 결과이거나, 유입 데이터에 대한 공간을 만들기 위해 데이터(170)가 L1 캐시(140)로부터 방출되는 결과이다. 데이터(170)가 L2 캐시(140)로 다시 전송될 때, L1 캐시 제어기가 데이터(170) 및 이와 연관된 L2 위치 태그(171)를 L2 위치 태그(171)에 의해 지시되는 L2 캐시 위치(145)의 세트 및 웨이로 전송한다. 데이터(170)를 L2 위치(145)의 세트 및 웨이로 다시 전송함으로써, L2 캐시 제어기(150)에 의한 조사(lookup)가 필요하지 않게 되는데, 이는 L1 캐시(120) 내 데이터(170)와 함께 저장된 L2 위치 태그(171)가 L2 캐시 위치(145)에 대한 L2 캐시(140) 세트 및 웨이 정보를 포함함으로써, 더 효율적인 캐시 관리를 촉진시키기 때문이다. 일부 실시예에서, 프로세싱 시스템(100)은 개별 버퍼(도 1에 도시되지 않음)에, 데이터를 상위 레벨 캐시로 다시 전송할 때 액세스될, 데이터가 전송되어 온 상위 레벨 캐시 내 세트 및 웨이를 가리키는 캐시 위치 태그를 저장하도록 구성된다.
도 2는 L2 캐시 제어기(250)가 L2 캐시(240) 내 요청된 데이터(270)가 저장되는 L2 캐시 위치(245)의 세트 및 웨이를 가리키는 L2 위치 태그(271)를 생성하고 상기 요청된 데이터(270)를 연관된 L2 위치 태그(271)와 함께 시점(T1)에서 L1 캐시(220)로 전송하는 일례를 도시한다. 시점(T1)에 앞서, L1 캐시 제어기(230)는 프로세서(도시되지 않음)로부터 데이터(270)에 대한 요청을 수신하고, L1 캐시(220)에서 검색하여 L1 캐시 엔트리 중 하나가 메모리 액세스 요청에 의해 타깃팅된 메모리 주소와 연관된 캐시 라인 지정 데이터(270)를 저장하는지 여부를 결정한다. 도 2의 예시에서, 요청된 데이터(270)는 L1 캐시(220) 내에 존재하지 않고, 따라서 L1 캐시 제어기(230)가 메모리 액세스 요청을 L2 캐시 제어기(250)로 제공한다. 메모리 액세스 요청에 응답하여, L2 캐시 제어기(250)는 L2 캐시(240)에서 요청된 데이터(270)를 검색하며 L2 캐시 위치(245)의 세트 및 웨이에서 요청된 데이터(270)를 찾는다. L2 캐시 제어기(250)는 요청된 데이터(270)가 발견된 L2 캐시 위치(245)의 세트 및 웨이를 가리키는 L2 위치 태그(271)를 생성한다. 일부 실시예에서, L2 위치 태그(271)가 데이터에 대한 메모리 일관성 상태(memory coherence status)를 가리키는 요청된 데이터(270)의 상태 비트에 포함된다. 예를 들어, 8-웨이 연관 캐시의 경우, L2 위치 태그(271)에 의해 특정되는 L2 캐시 웨이가 여전히 3개의 비트를 필요로 할 것이다. 일부 실시예에서, 3개의 비트는 엔트리에 저장된 데이터가 수정되었는지, 특정 프로세서 코어에 독점적인지, 프로세서 코어들 간에 공유되는지 등을 가리키도록 사용되는 일관성 상태 비트로부터 전용된다. L2 캐시 제어기(250)가 메모리 액세스 요청에 응답하여 L2 위치 태그(271)를 생성하면, L2 캐시 제어기(250)가 요청된 데이터(270) 및 L2 위치 태그(271)를 L1 캐시(220)로 전송하며, 여기서 이들은 저장되고 프로세서(도시되지 않음)에 의해 사용되기 가능해진다.
차후 시점(T2)에서, L1 캐시(220)로 전송되고 저장된 데이터(270)가 프로세서(도시되지 않음)에 의해 업데이트된다. 프로세서(도시되지 않음)로부터 업데이트된 데이터(272)를 수신하면, L1 캐시 제어기(230)는 L2 위치 태그(271)를 판독하고 업데이트된 데이터(272)를 L2 위치 태그(271)에 의해 지시되는 L2 캐시 위치(245)의 세트 및 웨이로 전송한다. 이러한 방식으로, 프로세싱 시스템은 업데이트된 데이터(272)를 배치할 L2 캐시(240) 내 세트 및 웨이를 결정하기 위한 조사를 수행할 필요 없이, 업데이트된 데이터(272)의 복사본을 L2 캐시(240)에 유지한다. 또는 차후 시점(T2)에서, L1 캐시(220)에 전송되고 저장된 데이터(270)가, 예를 들어, 유입 캐시 라인을 위한 공간을 만들기 위해 데이터(270)가 L1 캐시(220)로부터 방출되는 경우 업데이트되지 않고, L2 캐시(240)로 다시 전송될 수 있음이 자명할 것이다. 이 경우, L1 캐시 제어기(230)는 L2 위치 태그(271)를 읽고 데이터(270)를 L2 위치 태그(271)에 의해 지시되는 L2 캐시 위치(245)의 세트 및 웨이로 전송한다.
도 3은 L2 캐시 제어기(350)가 L2 캐시(340) 내 요청된 데이터(370)가 저장된 L2 캐시 위치(345)의 세트 및 웨이를 가리키는 L2 위치 태그(371)를 생성하고 상기 요청된 데이터(370)를 연관된 L2 위치 태그(371)와 함께 시점(T1)에서 L1 캐시(320)로 전송하는 예시를 도시한다. 시점(T1) 전에, L1 캐시 제어기(330)는 프로세서(도시되지 않음)로부터 데이터(370)에 대한 요청을 수신하고, L1 캐시(320)를 검색하여, L1 캐시 엔트리 중 하나가 메모리 액세스 요청에 의해 타깃팅되는 메모리 주소와 연관된 캐시 라인 지정 데이터(370)를 저장하는지 여부를 결정한다. 도 3의 예시에서, 요청된 데이터(370)는 L1 캐시(320) 내에 존재하지 않고, 따라서 L1 캐시 제어기(330)는 메모리 액세스 요청을 L2 캐시 제어기(350)로 제공한다. 메모리 액세스 요청에 응답하여, L2 캐시 제어기(350)는 L2 캐시(340)에서 상기 요청된 데이터(370)를 검색하고 L2 캐시 위치(345)의 세트 및 웨이에서 상기 요청된 데이터(370)를 찾는다. L2 캐시 제어기(350)는 요청된 데이터(370)가 발견된 L2 캐시 위치(345)의 세트 및 웨이를 가리키는 L2 위치 태그(371)를 생성하고, 요청된 데이터(370) 및 L2 위치 태그(371)를 L1 캐시(320)로 전송한다. 도 3의 예시에서, L1 캐시 제어기(330)가 L2 위치 태그(371)를 위치 태그 버퍼(335)에 저장한다.
도 3의 예시에서, 차후 시점(T2)에서, L1 캐시(320)로 전송되고 저장된 데이터(370)가 프로세서(도시되지 않음)에 의해 업데이트된다. 프로세서(도시되지 않음)로부터 업데이트된 데이터(372)를 수신하면, L1 캐시 제어기(330)가 위치 태그 버퍼(335)를 액세스하고 위치 태그 버퍼(335)에 저장된 L2 위치 태그(371)를 읽는다. 그 후 L1 캐시 제어기(330)는 업데이트된 데이터(372)를 L2 위치 태그(371)에 의해 지시되는 L2 캐시 위치(345)의 세트 및 웨이로 전송한다. 이러한 방식으로, 프로세싱 시스템은, 업데이트된 데이터(372)를 배치하는 L2 캐시(340) 내 세트 및 웨이를 결정하기 위한 조사를 수행할 필요 없이 L2 캐시(340)에 업데이트된 데이터(372)의 복사본을 유지한다. 또는, 차후 시점(T2)에서, L1 캐시(320)로 전송되고 저장되는 데이터(370)가, 예를 들어, 유입 캐시 라인을 위한 공간을 만들기 위해 데이터(370)가 L1 캐시(320)로부터 방출되는 경우 업데이트되지 않고, L2 캐시(340)로 다시 전송될 수 있음이 자명할 것이다. 이 경우, L1 캐시 제어기(330)는 위치 태그 버퍼(335)를 액세스하며, 이로부터 L2 위치 태그(371)를 읽고 데이터(370)를 L2 위치 태그(371)에 의해 지시되는 L2 캐시 위치(345)의 세트 및 웨이로 전송한다.
도 4는 위치 태그 버퍼(435)에 저장된 위치 태그(472)의 예시를 도시한다. 위치 태그(472)는 데이터(도시되지 않음)와 연관된 데이터 인덱스(476) 및 L2 캐시 웨이 식별자(477)를 포함한다. L2 캐시(도시되지 않음)의 세트 연관성(set associativity)은 L2 캐시의 어느 세트가 데이터 인덱스(476)를 갖는 데이터를 저장하도록 구성되는지를 결정한다. L2 캐시 웨이 식별자(477)는 L2 캐시(도시되지 않음)로부터 데이터(도시되지 않음)가 이전에 전송되어 온 데이터 인덱스(476)와 연관된 세트 내 캐시 웨이를 가리킨다. 따라서 데이터 인덱스(476)와 위치 태그(472)의 L2 캐시 웨이 식별자(477)의 조합이 L1 캐시(도시되지 않음)로 전송되기 전의 데이터(도시되지 않음)를 저장한 L2 캐시(도시되지 않음) 내 세트 및 웨이를 식별한다. 도 4의 예시에서, 위치 태그(472)가 위치 태그 버퍼(435)에 저장된다.
도 5는 일부 실시예에 따라, 도 1의 프로세싱 시스템(100)이 L1 캐시로 전송되는 데이터와 함께 L2 세트 및 웨이 위치 정보를 저장하여, 데이터가 L2 캐시 위치로 되 복사 또는 방출될 때 위치 정보가 액세스되게 하는 방법(500)을 도시한다. 단계(502)에서, L2 캐시 제어기(150)는 L2 캐시 위치(145)에 저장되는 데이터(170)에 대한 요청을 수신한다. 단계(504)에서, L2 캐시 제어기(150)는 요청된 데이터(170)의 L2 위치 태그(171)에 L2 위치 정보(145)를 저장한다. 단계(506)에서, L2 캐시 제어기(150)는 요청된 데이터(170) 및 L2 위치 태그(171)를 L1 캐시(120)로 전송하며, 여기서 이는 저장된다. 단계(508)에서, 데이터(170)가 업데이트되거나 L1 캐시(120)로부터 방출된다. 단계(510)에서, L1 캐시 제어기(130)는 업데이트 또는 방출된 데이터(170)를 L2 위치 태그(171)에 저장된 L2 캐시 위치(145)로 전송한다.
컴퓨터 판독형 저장 매체가 명령 및/또는 데이터를 제공하기 위한 사용 동안 컴퓨터 시스템에 의해 액세스 가능한 임의의 저장 매체, 또는 저장 매체의 조합을 포함할 수 있다. 이러한 저장 매체의 비제한적 예를 들면, 광학 매체(가령, 컴팩트 디스크(CD), 디지털 다목적 디스크(DVD), 블루-레이 디스크), 자기 매체(가령, 플로피 디스크, 자기 테이프, 또는 자기 하드 드라이브), 휘발성 메모리(가령, 랜덤 액세스 메모리(RAM) 또는 캐시), 비휘발성 메모리(가령, 리드-온리 메모리(ROM) 도는 플래시 메모리), 또는 마이크로전자기계 시스템(MEMS)-기반 저장 매체가 있을 수 있다. 컴퓨터 판독형 저장 매체는 컴퓨팅 시스템에 임베딩되거나(가령, 시스템 RAM 또는 ROM), 컴퓨팅 시스템에 고정 부착되거나(가령, 자기 하드 드라이브), 컴퓨팅 시스템에 탈착 가능하게 부착되거나(가령, 광학 디스크 또는 USB(전역 직렬 버스)-기반 플래시 메모리), 유선 또는 무선 네트워크(가령, 네트워크 액세스 가능 스토리지(NAS))를 통해 컴퓨터 시스템에 연결될 수 있다.
앞서 일반적인 설명에서 기재된 모든 활동 또는 요소가 필수인 것은 아니며, 특정 활동 또는 디바이스의 일부분이 필수인 것이 아니고, 기재된 것에 추가로 하나 이상의 추가 활동이 수행될 수 있거나 요소가 포함될 수 있다. 또한 활동들이 나열된 순서가 반드시 이들이 수행되는 순서인 것은 아니다. 또한 개념이 특정 실시예를 참조하여 기재되었다. 그러나, 해당 분야의 통상의 기술자라면 다양한 수정 및 변경이 이하의 청구항에서 제공되는 본 발명의 범위 내에서 이뤄질 수 있음을 알 것이다. 따라서 명세서와 도면은 한정이 아니라 예시로서 간주될 것이며, 이러한 모든 변경이 본 발명의 범위 내에 포함되는 것으로 의도된다.
혜택, 그 밖의 다른 이점, 및 과제 해결수단이 앞서 특정 실시예와 관련하여 기재되었다. 그러나 혜택, 이점, 과제 해결수단, 및 임의의 혜택, 이점, 또는 해결수단이 발생하게 하거나 더 현저하게 할 수 있는 임의의 특징이 임의의 또는 전체 청구항의 핵심적이거나, 필수적이거나, 본질적인 특징으로 해석되지 않을 것이다. 덧붙여, 개시된 주제 사항이 본 명세서의 설명의 이점을 갖는 해당 분야의 통상의 기술자에게 자명한 상이하지만 균등하게 수정되고 실시될 수 있을 때 앞서 기재된 특정 실시예는 단지 예시에 불과하다. 이하의 청구항에서 기재된 것이 아닌 다른 본 명세서의 구성 또는 설계의 세부사항에 의한 어떠한 제한도 의도되지 않는다. 따라서 앞서 개시된 특정 실시예가 변경 또는 수정될 수 있고, 이러한 모든 변형이 개시된 주제 사항의 범위 내에 있는 것으로 간주됨이 자명하다. 따라서 본 명세서에서 추구되는 보호 범위는 이하의 청구항에서 제공된다.

Claims (15)

  1. 방법으로서,
    제1 캐시[120]에서의 캐시 실패(cache miss)에 응답하여, 제2 캐시[140]의 엔트리[145]로부터 제1 데이터[170]를 제1 캐시로 전송하는 단계,
    제2 캐시의 엔트리를 가리키는 위치 정보[171]를 저장하는 단계, 및
    제1 캐시에서 제2 데이터를 수신하는 것에 응답하여, 저장된 위치 정보[510]를 기초로 제1 데이터를 제1 캐시로부터 제2 캐시의 엔트리로 전송하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 위치 정보를 저장하는 단계는 제2 캐시의 엔트리를 가리키는 위치 태그를 생성하는 단계를 포함하는, 방법.
  3. 제2항에 있어서, 위치 태그를 생성하는 단계는 제1 데이터의 메모리 일관성 상태(memory coherence status)를 가리키는 상태 태그를 수정하는 단계를 포함하는, 방법.
  4. 제2항에 있어서, 위치 태그를 위치 태그 버퍼[335]에 저장하는 단계를 더 포함하는, 방법.
  5. 제2항에 있어서, 제1 캐시에 제1 데이터와 함께 상기 위치 태그를 저장하는 단계를 더 포함하는, 방법.
  6. 제1항에 있어서, 제1 데이터를 제1 캐시로부터 제2 캐시의 엔트리로 전송하기 전에, 제2 데이터를 수신하는 것에 응답하여 제1 데이터를 수정하는 단계를 더 포함하는, 방법.
  7. 제1항에 있어서, 제2 캐시는 제1 캐시를 포함하는, 방법.
  8. 방법으로서,
    제1 캐시[140] 내에 위치하는 제1 데이터[171]에 대한 메모리 액세스 요청에 응답하여, 제1 데이터를 저장하는 제1 캐시의 엔트리[145]를 가리키는 위치 태그[171]를 생성하는 단계,
    제1 데이터 및 위치 태그를 제2 캐시[120]로 전송하는 단계, 및
    제2 캐시에서 제2 데이터를 수신한 것에 응답하여, 제1 데이터를 위치 태그를 기초로 제1 캐시의 엔트리로 다시 전송하는 단계
    를 포함하는, 방법.
  9. 디바이스[100]로서,
    제1 캐시[120],
    제2 캐시[140], 및
    제2 캐시 내 엔트리[145]로부터 제1 데이터[170]를 제1 캐시로 전송하고,
    제2 캐시의 엔트리를 가리키는 위치 정보[171]를 저장하며,
    제1 캐시에서 제2 데이터를 수신하는 것에 응답하여, 저장된 위치 정보[510]를 기초로, 제1 캐시로부터 제2 캐시의 엔트리로 제1 데이터를 전송하도록 구성된
    캐시 제어기[130]
    를 포함하는, 디바이스.
  10. 제9항에 있어서, 캐시 제어기는 제1 캐시로부터의 제1 데이터의 방출에 응답하여 제1 캐시로부터 저장된 위치 정보에 의해 지시되는 제2 캐시의 엔트리로 제1 데이터를 전송하도록 더 구성되는, 디바이스.
  11. 제10항에 있어서, 캐시 제어기는 제1 데이터를 제1 캐시로부터 저장된 위치 정보에 의해 지시되는 제2 캐시 내 세트 및 웨이로 전송하기 전에 제1 데이터를 업데이트하도록 더 구성되는, 디바이스.
  12. 제9항에 있어서, 제2 캐시는 제1 캐시를 포함하는, 디바이스.
  13. 제9항에 있어서, 캐시 제어기는 위치 태그 버퍼[335]에 위치 정보를 저장하도록 구성되는, 디바이스.
  14. 제9항에 있어서, 캐시 제어기는 데이터와 함께 제1 캐시에 위치 정보를 저장하도록 구성되는, 디바이스.
  15. 제9항에 있어서, 캐시 제어기는 데이터의 일관성 상태(coherency status)를 가리키는 상태 태그에 위치 정보를 저장하도록 구성되는, 디바이스.
KR1020197002814A 2016-07-14 2017-07-13 캐시 엔트리 전송을 위한 캐시 위치 정보를 저장하기 위한 시스템 및 방법 KR20190018730A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237011379A KR102680596B1 (ko) 2016-07-14 2017-07-13 캐시 엔트리 전송을 위한 캐시 위치 정보를 저장하기 위한 시스템 및 방법

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/210,846 US10956339B2 (en) 2016-07-14 2016-07-14 System and method for storing cache location information for cache entry transfer
US15/210,846 2016-07-14
PCT/US2017/041956 WO2018013824A1 (en) 2016-07-14 2017-07-13 System and method for storing cache location information for cache entry transfer

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237011379A Division KR102680596B1 (ko) 2016-07-14 2017-07-13 캐시 엔트리 전송을 위한 캐시 위치 정보를 저장하기 위한 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20190018730A true KR20190018730A (ko) 2019-02-25

Family

ID=60941122

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197002814A KR20190018730A (ko) 2016-07-14 2017-07-13 캐시 엔트리 전송을 위한 캐시 위치 정보를 저장하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US10956339B2 (ko)
EP (1) EP3485382B1 (ko)
JP (1) JP7160792B2 (ko)
KR (1) KR20190018730A (ko)
CN (1) CN109478164B (ko)
WO (1) WO2018013824A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11294572B2 (en) * 2017-07-06 2022-04-05 Seagate Technology, Llc Data storage system with late read buffer assignment after arrival of data in cache
KR20190023433A (ko) * 2017-08-29 2019-03-08 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
TWI697902B (zh) * 2019-01-24 2020-07-01 瑞昱半導體股份有限公司 電子裝置及電子裝置的管理方法
US20220004501A1 (en) * 2020-07-02 2022-01-06 Ampere Computing Llc Just-in-time synonym handling for a virtually-tagged cache

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0604030A3 (en) * 1992-11-30 1995-03-22 Sgs Thomson Microelectronics Label memory for post-storage cache memory.
US5623627A (en) * 1993-12-09 1997-04-22 Advanced Micro Devices, Inc. Computer memory architecture including a replacement cache
US6321297B1 (en) 1998-01-05 2001-11-20 Intel Corporation Avoiding tag compares during writes in multi-level cache hierarchy
US6751720B2 (en) * 2000-06-10 2004-06-15 Hewlett-Packard Development Company, L.P. Method and system for detecting and resolving virtual address synonyms in a two-level cache hierarchy
US6684297B2 (en) * 2001-04-11 2004-01-27 Sun Microsystems, Inc. Reverse directory for facilitating accesses involving a lower-level cache
US7159070B2 (en) 2003-12-09 2007-01-02 Emc Corp Methods and apparatus for caching a location index in a data storage system
US20070073974A1 (en) * 2005-09-29 2007-03-29 International Business Machines Corporation Eviction algorithm for inclusive lower level cache based upon state of higher level cache
EP1986101B1 (en) 2006-02-14 2012-06-20 Fujitsu Ltd. Coherency maintaining device and coherency maintaining method
US7711902B2 (en) * 2006-04-07 2010-05-04 Broadcom Corporation Area effective cache with pseudo associative memory
JP2008040982A (ja) * 2006-08-09 2008-02-21 Toshiba Microelectronics Corp マイクロプロセッサおよびその制御方法
US20090055589A1 (en) 2007-08-24 2009-02-26 Arm Limited Cache memory system for a data processing apparatus
TW201015319A (en) * 2008-09-17 2010-04-16 Panasonic Corp Cache memory, memory system, data copying method and data rewriting method
US8572323B2 (en) * 2010-12-30 2013-10-29 Freescale Semiconductor, Inc. Cache result register for quick cache information lookup
WO2013058745A1 (en) * 2011-10-18 2013-04-25 Soft Machines, Inc. Methods and systems for managing synonyms in virtually indexed physically tagged caches
US9753858B2 (en) * 2011-11-30 2017-09-05 Advanced Micro Devices, Inc. DRAM cache with tags and data jointly stored in physical rows
US8856455B2 (en) * 2012-03-28 2014-10-07 International Business Machines Corporation Data cache block deallocate requests
US9146869B2 (en) * 2012-12-05 2015-09-29 Advanced Micro Devices, Inc. State encoding for cache lines
US9514044B2 (en) 2013-05-24 2016-12-06 Hewlett Packard Enterprise Development Lp Multi-level cache tracking table
CN104346294B (zh) * 2013-07-31 2017-08-25 华为技术有限公司 基于多级缓存的数据读/写方法、装置和计算机系统
WO2015075673A1 (en) 2013-11-21 2015-05-28 Green Cache AB Systems and methods for reducing first level cache energy by eliminating cache address tags
US10402331B2 (en) 2014-05-29 2019-09-03 Samsung Electronics Co., Ltd. Systems and methods for implementing a tag-less shared cache and a larger backing cache
US20160055100A1 (en) 2014-08-19 2016-02-25 Advanced Micro Devices, Inc. System and method for reverse inclusion in multilevel cache hierarchy
US9990289B2 (en) 2014-09-19 2018-06-05 Advanced Micro Devices, Inc. System and method for repurposing dead cache blocks

Also Published As

Publication number Publication date
EP3485382A1 (en) 2019-05-22
US20180018271A1 (en) 2018-01-18
JP2019521447A (ja) 2019-07-25
KR20230050477A (ko) 2023-04-14
CN109478164B (zh) 2024-04-16
US20210173789A1 (en) 2021-06-10
CN109478164A (zh) 2019-03-15
EP3485382B1 (en) 2024-05-01
EP3485382A4 (en) 2020-03-25
JP7160792B2 (ja) 2022-10-25
WO2018013824A1 (en) 2018-01-18
US10956339B2 (en) 2021-03-23

Similar Documents

Publication Publication Date Title
KR102403034B1 (ko) 이중화 저장 블록들 및 분산 소프트웨어 스택들을 위한 동적 가비지 컬렉션 p/e 정책들
US8745334B2 (en) Sectored cache replacement algorithm for reducing memory writebacks
US20180081822A1 (en) Systems and methods for flushing a cache with modified data
US8595451B2 (en) Managing a storage cache utilizing externally assigned cache priority tags
CN102782683B (zh) 用于数据库服务器的缓冲池扩展
US7979631B2 (en) Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method
JP6630449B2 (ja) 他のキャッシュでのエントリの可用性に基づくキャッシュエントリの置換
KR20190018730A (ko) 캐시 엔트리 전송을 위한 캐시 위치 정보를 저장하기 위한 시스템 및 방법
US9684625B2 (en) Asynchronously prefetching sharable memory pages
US20160170685A1 (en) Method and System for Improving Cache Performance of a Redundant Disk Array Controller
KR102465851B1 (ko) 캐시 엔트리에서 메모리 액세스 요청의 펜던시를 식별하기 위한 시스템 및 방법
US9384135B2 (en) System and method of caching hinted data
US10140029B2 (en) Method and apparatus for adaptively managing data in a memory based file system
US10430287B2 (en) Computer
KR102680596B1 (ko) 캐시 엔트리 전송을 위한 캐시 위치 정보를 저장하기 위한 시스템 및 방법
KR102403063B1 (ko) 모바일 디바이스 및 모바일 디바이스의 메모리 관리 방법
US12026099B2 (en) System and method for storing cache location information for cache entry transfer
US10503640B2 (en) Selective data retrieval based on access latency
US20220300424A1 (en) Memory system, control method, and memory controller
US20140310502A1 (en) Memory management apparatus and memory management method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X601 Decision of rejection after re-examination