KR20200035169A - 캐시 버퍼 - Google Patents
캐시 버퍼 Download PDFInfo
- Publication number
- KR20200035169A KR20200035169A KR1020207008245A KR20207008245A KR20200035169A KR 20200035169 A KR20200035169 A KR 20200035169A KR 1020207008245 A KR1020207008245 A KR 1020207008245A KR 20207008245 A KR20207008245 A KR 20207008245A KR 20200035169 A KR20200035169 A KR 20200035169A
- Authority
- KR
- South Korea
- Prior art keywords
- request
- data
- cache
- cache controller
- buffers
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0808—Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
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
Description
도 2는 본 개시의 복수의 실시예들에 따른 메모리 디바이스의 형태의 장치의 블록도이다.
도 3은 본 개시의 복수의 실시예들에 따른 캐시로부터 데이터를 수신하는 버퍼에 의해 서비스되는 요청의 흐름도이다.
도 4는 본 개시의 복수의 실시예들에 따른 복수의 버퍼들에 의해 서비스되는 복수의 요청들의 흐름도이다.
도 5는 본 개시의 복수의 실시예들에 따른 메모리 디바이스로부터 데이터를 수신하는 버퍼에 의해 서비스되는 요청의 흐름도이다.
Claims (20)
- 장치로서,
캐시 제어기; 및
상기 캐시 제어기에 결합된 캐시 및 메모리 디바이스를 포함하며, 상기 캐시 제어기는 복수의 버퍼들을 포함하고, 상기 캐시 제어기는,
상기 복수의 버퍼들 중 하나의 버퍼에 요청과 연관된 데이터를 저장하고, 상기 복수의 버퍼들 중 상기 하나의 버퍼를 사용하여 상기 요청과 연관된 데이터에 대한 후속 요청을 서비스하도록 구성되는, 장치. - 청구항 1에 있어서, 상기 캐시 제어기는, 상기 요청이 서비스되고 있는 동안 상기 후속 요청을 서비스하도록 구성되는, 장치.
- 청구항 1에 있어서, 상기 캐시 제어기는 상기 요청을 서비스하는 것에 응답하여 상기 캐시로부터 데이터를 퇴거(evict)시키도록 구성되는, 장치.
- 청구항 3에 있어서, 상기 캐시 제어기는, 상기 요청과 연관된 상기 데이터가 퇴거된 상기 캐시에 데이터를 기입하도록 구성되는, 장치.
- 청구항 1에 있어서, 상기 제어기는 상기 후속 요청에 응답하여 상기 버퍼로부터 데이터를 판독하도록 구성되는, 장치.
- 청구항 1 내지 청구항 5에 있어서, 상기 캐시 제어기는, 상기 요청이 서비스될 때까지 상기 버퍼 내에 데이터를 유지하도록 구성되는, 장치.
- 청구항 6에 있어서, 상기 캐시 제어기는 상기 버퍼를 탐색함으로써 데이터의 위치를 찾도록(locate) 구성되는, 장치.
- 청구항 1에 있어서, 캐시 라인은 잠기지 않으며, 상기 캐시 제어기는 상기 후속 요청을 서비스하기 이전에 잠금 해제(lock release)를 기다리지 않도록 구성되는, 장치.
- 청구항 1 내지 청구항 5 및 청구항 8 중 어느 한 항에 있어서, 상기 캐시는, 상기 후속 요청을 서비스하는 동안 상기 복수의 버퍼들 중 상기 하나의 버퍼를 마스킹(mask)하도록 구성되는, 장치.
- 장치로서,
캐시 제어기; 및
상기 캐시 제어기에 결합된 캐시 및 메모리 디바이스를 포함하며, 상기 캐시 제어기는 복수의 버퍼들을 포함하고, 상기 캐시 제어기는,
상기 복수의 버퍼들 중 하나의 버퍼에 상기 메모리 디바이스로부터의 데이터를 저장함으로써 요청을 서비스하고, 상기 복수의 버퍼들 중 상기 하나의 버퍼를 사용하여 상기 요청과 연관된 데이터에 대한 제 1 후속 요청을 서비스하도록 구성되는, 장치. - 청구항 10에 있어서, 상기 캐시 제어기는, 상기 메모리 디바이스로부터 상기 복수의 버퍼들 중 상기 하나의 버퍼로 데이터가 저장되는 것에 응답하여 상기 요청 및 제 1 후속 요청을 서비스하도록 구성되는, 장치.
- 청구항 10에 있어서, 상기 캐시 제어기는, 상기 복수의 버퍼들 중 상기 하나의 버퍼 내에 데이터가 저장되기 이전에 상기 제 1 후속 요청을 수신하도록 구성되는, 장치.
- 청구항 10에 있어서, 상기 캐시 제어기는 상기 제 1 후속 요청을 링크 리스트 구조체(linked list structure) 내의 버퍼의 번호 중 하나에 대한 종속 리스트에 추가하도록 구성되는, 장치.
- 청구항 10 내지 청구항 13에 있어서, 상기 캐시 제어기는 상기 요청의 서비스를 완료하기 위하여 상기 복수의 버퍼들로부터의 데이터를 상기 캐시 내에 저장하도록 구성되는, 장치.
- 청구항 10에 있어서, 상기 캐시 제어기는, 상기 제 1 후속 요청이 서비스되고 있는 동안 상기 복수의 버퍼들 중 상기 하나의 버퍼를 사용하여 제 2 후속 요청을 서비스하도록 구성되는, 장치.
- 청구항 15에 있어서, 상기 캐시 제어기는, 상기 제 2 후속 요청을 서비스하는 것에 응답하여 링크 리스트 구조체를 사용하여 상기 복수의 버퍼들 중 다른 버퍼 내에 데이터를 위치시키도록 구성되는, 장치.
- 방법으로서,
캐시 제어기에서 데이터에 대한 요청을 수신하는 단계; 및
상기 캐시 제어기 상의 버퍼 내에 저장된 데이터를 호스트로 전송함으로써 상기 요청을 서비스하는 단계로서, 상기 버퍼 내에 저장된 상기 데이터는 이전에 수신된 요청과 연관되는, 단계를 포함하는, 방법. - 청구항 17에 있어서, 상기 요청을 서비스하는 동안 상기 이전에 수신된 요청을 서비스하는 단계를 더 포함하는, 방법.
- 청구항 17에 있어서, 상기 버퍼 내의 캐시로부터의 데이터를 저장하고 상기 버퍼 내의 상기 데이터를 보조 기억장치에 저장함으로써 상기 이전에 수신된 요청을 서비스하는 단계를 더 포함하는, 방법.
- 청구항 17 내지 청구항 19에 있어서, 상기 요청을 서비스하는 단계는 상기 요청에 대응하는 어드레스를 가지고 데이터에 대한 판독 요청을 실행하는 단계를 포함하는, 방법.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/690,442 US20190065373A1 (en) | 2017-08-30 | 2017-08-30 | Cache buffer |
| US15/690,442 | 2017-08-30 | ||
| PCT/US2018/048277 WO2019046255A1 (en) | 2017-08-30 | 2018-08-28 | CACHE MEMORY BUFFER |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20200035169A true KR20200035169A (ko) | 2020-04-01 |
Family
ID=65437346
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020207008245A Abandoned KR20200035169A (ko) | 2017-08-30 | 2018-08-28 | 캐시 버퍼 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20190065373A1 (ko) |
| EP (1) | EP3676715B1 (ko) |
| KR (1) | KR20200035169A (ko) |
| CN (1) | CN111033482A (ko) |
| WO (1) | WO2019046255A1 (ko) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115576690A (zh) * | 2022-10-12 | 2023-01-06 | 珠海格力电器股份有限公司 | 请求响应方法、装置和存储介质 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6697918B2 (en) * | 2001-07-18 | 2004-02-24 | Broadcom Corporation | Cache configured to read evicted cache block responsive to transmitting block's address on interface |
| US20080005504A1 (en) * | 2006-06-30 | 2008-01-03 | Jesse Barnes | Global overflow method for virtualized transactional memory |
| US7568072B2 (en) * | 2006-08-31 | 2009-07-28 | Arm Limited | Cache eviction |
| US8200917B2 (en) * | 2007-09-26 | 2012-06-12 | Qualcomm Incorporated | Multi-media processor cache with cache line locking and unlocking |
| US9043555B1 (en) * | 2009-02-25 | 2015-05-26 | Netapp, Inc. | Single instance buffer cache method and system |
| US8631225B2 (en) * | 2010-06-25 | 2014-01-14 | International Business Machines Corporation | Dynamically rewriting branch instructions to directly target an instruction cache location |
| US8352646B2 (en) * | 2010-12-16 | 2013-01-08 | International Business Machines Corporation | Direct access to cache memory |
| US10031850B2 (en) * | 2011-06-07 | 2018-07-24 | Sandisk Technologies Llc | System and method to buffer data |
| WO2015057828A1 (en) * | 2013-10-15 | 2015-04-23 | Mill Computing, Inc. | Computer processor employing cache memory storing backless cache lines |
| US9779025B2 (en) * | 2014-06-02 | 2017-10-03 | Micron Technology, Inc. | Cache architecture for comparing data |
| GB2526849B (en) * | 2014-06-05 | 2021-04-14 | Advanced Risc Mach Ltd | Dynamic cache allocation policy adaptation in a data processing apparatus |
-
2017
- 2017-08-30 US US15/690,442 patent/US20190065373A1/en not_active Abandoned
-
2018
- 2018-08-28 EP EP18850497.1A patent/EP3676715B1/en active Active
- 2018-08-28 CN CN201880055771.7A patent/CN111033482A/zh not_active Withdrawn
- 2018-08-28 WO PCT/US2018/048277 patent/WO2019046255A1/en not_active Ceased
- 2018-08-28 KR KR1020207008245A patent/KR20200035169A/ko not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| CN111033482A (zh) | 2020-04-17 |
| EP3676715A1 (en) | 2020-07-08 |
| US20190065373A1 (en) | 2019-02-28 |
| EP3676715B1 (en) | 2024-03-27 |
| EP3676715A4 (en) | 2021-06-16 |
| WO2019046255A1 (en) | 2019-03-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11822790B2 (en) | Cache line data | |
| CN111143233B (zh) | 存储设备及操作存储设备的方法 | |
| US20220398200A1 (en) | Memory protocol with programmable buffer and cache size | |
| KR20190090635A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
| US11886710B2 (en) | Memory operations on data | |
| KR102240261B1 (ko) | 메모리 관리 | |
| US10466938B2 (en) | Non-volatile memory system using a plurality of mapping units and operating method thereof | |
| US20190042145A1 (en) | Method and apparatus for multi-level memory early page demotion | |
| US11853224B2 (en) | Cache filter | |
| US20250004670A1 (en) | Memory module interfaces | |
| US12373144B2 (en) | Addressing in memory with a read identification (rid) number | |
| US12547341B2 (en) | Data transfer in port switch memory | |
| EP3676715B1 (en) | Cache buffer | |
| US10949117B2 (en) | Direct data transfer in memory and between devices of a memory module | |
| US20200201565A1 (en) | Memory module controller |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PA0105 | International application |
St.27 status event code: A-0-1-A10-A15-nap-PA0105 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| PC1904 | Unpaid initial registration fee |
St.27 status event code: A-2-2-U10-U14-oth-PC1904 St.27 status event code: N-2-6-B10-B12-nap-PC1904 |