KR101021046B1 - 동적 프리페치 버퍼 구성 및 대체를 위한 방법 및 장치 - Google Patents
동적 프리페치 버퍼 구성 및 대체를 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR101021046B1 KR101021046B1 KR1020057024484A KR20057024484A KR101021046B1 KR 101021046 B1 KR101021046 B1 KR 101021046B1 KR 1020057024484 A KR1020057024484 A KR 1020057024484A KR 20057024484 A KR20057024484 A KR 20057024484A KR 101021046 B1 KR101021046 B1 KR 101021046B1
- Authority
- KR
- South Korea
- Prior art keywords
- prefetch buffer
- prefetch
- buffer
- line
- data
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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
-
- 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
-
- 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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/60—Details of cache memory
- G06F2212/6022—Using a prefetch buffer or dedicated prefetch cache
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 Transfer Systems (AREA)
Abstract
Description
Claims (8)
- 프리페치 버퍼(prefetch buffer)를 구성하는 방법에 있어서,마스터로부터 판독 요청을 수신하는 단계; 및상기 판독 요청에 응답하여, 상기 프리페치 버퍼의 프리페치 버퍼 라인의 라인 크기를 상기 판독 요청의 버스트 길이 및 데이터 크기에 기초하여 조정된 라인 크기로 변경하고, 그로 인해 상이한 크기들의 라인들을 갖도록 상기 프리페치 버퍼를 동적으로 구성하는 단계를 포함하며, 상기 프리페치 버퍼의 각 라인은 상기 프리페치 버퍼의 어떤 라인이 대체 엔트리로서 선택되는지를 결정하기 위해 사용되는 표시자들을 포함하는 상태 필드를 더 포함하는, 프리페치 버퍼 구성 방법.
- 제 1 항에 있어서,어드레스 태그 필드, 상기 프리페치 버퍼에서의 대응 라인이 유효하지 않음을 나타내기 위한 무효 필드, 상기 프리페치 버퍼에서의 대응 라인이 이전 버스트 판독 요청에 응답하여 제공되었음을 나타내기 위한 사용됨 필드(used field), 및 상기 프리페치 버퍼에서의 대응 라인이 이전 넌-버스트 판독 요청에 응답하여 제공되었음을 나타내기 위한 유효 필드를 갖는 각 상태 필드를 구현하는 단계를 더 포함하는, 프리페치 버퍼 구성 방법.
- 삭제
- 데이터 처리 시스템에 있어서,마스터;메모리;상기 마스터 및 상기 메모리에 결합된 프리페치 버퍼로서, 상기 프리페치 버퍼는 다수의 라인들을 갖고, 상기 다수의 라인들의 각각은 상기 다수의 라인들 중 어느 것이 대체 엔트리로서 선택되는지를 결정하기 위해 대응하는 상태 필드를 가지며, 각각의 상태 필드는 어드레스 태그 필드, 상기 프리페치 버퍼에서의 대응 라인이 유효하지 않음을 나타내기 위한 무효 필드, 상기 프리페치 버퍼에서의 대응 라인이 이전 버스트 판독 요청에 응답하여 제공됨을 나타내기 위한 사용됨 필드, 및 상기 프리페치 버퍼에서의 대응 라인이 이전의 넌-버스트 판독 요청에 응답하여 제공되었음을 나타내기 위한 유효 필드를 포함하는, 상기 프리페치 버퍼; 및상기 프리페치 버퍼에 결합된 프리페치 제어 회로로서, 상기 프리페치 제어 회로는 상기 프리페치 버퍼의 상기 다수의 라인들 중 하나의 라인 크기를 상기 마스터로부터의 판독 요청의 버스트 길이 및 데이터 크기에 기초하여 조정된 라인 크기로 변경하는, 상기 프리페치 제어 회로를 포함하는, 데이터 처리 시스템.
- 제 4 항에 있어서,상기 프리페치 버퍼와 인터페이스하는 다수의 마스터들을 더 포함하는, 데이터 처리 시스템.
- 제 5 항에 있어서,상기 다수의 마스터들은 상이한 특성들을 갖는 다수의 메모리들 및 상이한 버스트 길이들을 지원하는, 데이터 처리 시스템.
- 삭제
- 삭제
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/600,959 | 2003-06-20 | ||
| US10/600,959 US7139878B2 (en) | 2003-06-20 | 2003-06-20 | Method and apparatus for dynamic prefetch buffer configuration and replacement |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20060017881A KR20060017881A (ko) | 2006-02-27 |
| KR101021046B1 true KR101021046B1 (ko) | 2011-03-15 |
Family
ID=33517859
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020057024484A Expired - Fee Related KR101021046B1 (ko) | 2003-06-20 | 2004-06-18 | 동적 프리페치 버퍼 구성 및 대체를 위한 방법 및 장치 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US7139878B2 (ko) |
| EP (1) | EP1639473A4 (ko) |
| JP (1) | JP4699363B2 (ko) |
| KR (1) | KR101021046B1 (ko) |
| CN (1) | CN100419712C (ko) |
| TW (1) | TW200508861A (ko) |
| WO (1) | WO2004114370A2 (ko) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20140029403A (ko) * | 2011-06-16 | 2014-03-10 | 더 보잉 컴파니 | 동적으로 재구성가능한 전기적 인터페이스 |
Families Citing this family (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8595394B1 (en) | 2003-06-26 | 2013-11-26 | Nvidia Corporation | Method and system for dynamic buffering of disk I/O command chains |
| JP3954992B2 (ja) * | 2003-06-27 | 2007-08-08 | 富士通株式会社 | メモリインタフェース回路 |
| US7451254B2 (en) * | 2003-07-31 | 2008-11-11 | Hewlett-Packard Development Company, L.P. | System and method for adaptive buffer allocation in a memory device interface |
| US8683132B1 (en) | 2003-09-29 | 2014-03-25 | Nvidia Corporation | Memory controller for sequentially prefetching data for a processor of a computer system |
| US8356142B1 (en) | 2003-11-12 | 2013-01-15 | Nvidia Corporation | Memory controller for non-sequentially prefetching data for a processor of a computer system |
| US8700808B2 (en) * | 2003-12-01 | 2014-04-15 | Nvidia Corporation | Hardware support system for accelerated disk I/O |
| JP2005258719A (ja) * | 2004-03-10 | 2005-09-22 | Matsushita Electric Ind Co Ltd | データ処理システム及びスレーブデバイス |
| US8356143B1 (en) * | 2004-10-22 | 2013-01-15 | NVIDIA Corporatin | Prefetch mechanism for bus master memory access |
| US8122193B2 (en) * | 2004-12-21 | 2012-02-21 | Samsung Electronics Co., Ltd. | Storage device and user device including the same |
| US7328312B2 (en) | 2005-02-03 | 2008-02-05 | International Business Machines Corporation | Method and bus prefetching mechanism for implementing enhanced buffer control |
| CN100430868C (zh) * | 2005-12-26 | 2008-11-05 | 威盛电子股份有限公司 | 数据缓冲系统及数据缓冲装置的读取方法 |
| JP2007241927A (ja) * | 2006-03-13 | 2007-09-20 | Toshiba Corp | データ記憶装置及び方法 |
| US9304773B2 (en) * | 2006-03-21 | 2016-04-05 | Freescale Semiconductor, Inc. | Data processor having dynamic control of instruction prefetch buffer depth and method therefor |
| JP4327863B2 (ja) * | 2007-03-19 | 2009-09-09 | 株式会社東芝 | 映像蓄積装置とその制御方法 |
| US7873791B1 (en) * | 2007-09-28 | 2011-01-18 | Emc Corporation | Methods and systems for incorporating improved tail cutting in a prefetch stream in TBC mode for data storage having a cache memory |
| KR101443231B1 (ko) | 2007-11-27 | 2014-09-19 | 삼성전자주식회사 | 라이트-백 동작시 라이트-백 데이터의 버스트 길이를조절할 수 있는 캐시 메모리와 이를 포함하는 시스템 |
| JP5351145B2 (ja) * | 2008-04-22 | 2013-11-27 | パナソニック株式会社 | メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法 |
| US8356128B2 (en) * | 2008-09-16 | 2013-01-15 | Nvidia Corporation | Method and system of reducing latencies associated with resource allocation by using multiple arbiters |
| US8370552B2 (en) * | 2008-10-14 | 2013-02-05 | Nvidia Corporation | Priority based bus arbiters avoiding deadlock and starvation on buses that support retrying of transactions |
| US8698823B2 (en) * | 2009-04-08 | 2014-04-15 | Nvidia Corporation | System and method for deadlock-free pipelining |
| US8984231B2 (en) * | 2009-12-22 | 2015-03-17 | Intel Corporation | Methods and apparatus to perform adaptive pre-fetch operations in managed runtime environments |
| US8566496B2 (en) * | 2010-12-03 | 2013-10-22 | Lsi Corporation | Data prefetch in SAS expanders |
| JP5598337B2 (ja) * | 2011-01-12 | 2014-10-01 | ソニー株式会社 | メモリアクセス制御回路、プリフェッチ回路、メモリ装置および情報処理システム |
| US10346173B2 (en) * | 2011-03-07 | 2019-07-09 | Oracle International Corporation | Multi-threaded instruction buffer design |
| WO2013030628A1 (en) * | 2011-09-01 | 2013-03-07 | Freescale Semiconductor, Inc. | Integrated circuit device, memory interface module, data processing system and method for providing data access control |
| US9569385B2 (en) | 2013-09-09 | 2017-02-14 | Nvidia Corporation | Memory transaction ordering |
| KR102130578B1 (ko) * | 2014-12-02 | 2020-07-06 | 에스케이하이닉스 주식회사 | 반도체 장치 |
| CN105812620B (zh) * | 2016-03-30 | 2018-12-11 | 豪威科技(上海)有限公司 | 数据转换器及其工作方法 |
| US10152237B2 (en) | 2016-05-05 | 2018-12-11 | Micron Technology, Inc. | Non-deterministic memory protocol |
| US10534540B2 (en) * | 2016-06-06 | 2020-01-14 | Micron Technology, Inc. | Memory protocol |
| US9892066B1 (en) | 2016-10-31 | 2018-02-13 | International Business Machines Corporation | Dynamically adjusting read data return sizes based on interconnect bus utilization |
| US9684461B1 (en) | 2016-10-31 | 2017-06-20 | International Business Machines Corporation | Dynamically adjusting read data return sizes based on memory interface bus utilization |
| US10585624B2 (en) | 2016-12-01 | 2020-03-10 | Micron Technology, Inc. | Memory protocol |
| US10503435B2 (en) * | 2016-12-01 | 2019-12-10 | Qualcomm Incorporated | Providing extended dynamic random access memory (DRAM) burst lengths in processor-based systems |
| US11003602B2 (en) | 2017-01-24 | 2021-05-11 | Micron Technology, Inc. | Memory protocol with command priority |
| US10635613B2 (en) | 2017-04-11 | 2020-04-28 | Micron Technology, Inc. | Transaction identification |
| KR102653373B1 (ko) * | 2018-09-13 | 2024-04-02 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
| CN109284240B (zh) * | 2018-10-15 | 2020-06-16 | 上海兆芯集成电路有限公司 | 存储器集成电路及其预取方法 |
| JP7541731B2 (ja) * | 2019-02-16 | 2024-08-29 | 国立大学法人東北大学 | デバイス、センサノード及びマイクロコントローラにおける処理方法 |
| US11500779B1 (en) | 2019-07-19 | 2022-11-15 | Marvell Asia Pte, Ltd. | Vector prefetching for computing systems |
| US11379379B1 (en) * | 2019-12-05 | 2022-07-05 | Marvell Asia Pte, Ltd. | Differential cache block sizing for computing systems |
| CN116010310B (zh) * | 2023-03-21 | 2023-07-04 | 广东华芯微特集成电路有限公司 | 一种sdr-sdram控制器及其控制方法 |
| EP4621578A1 (en) * | 2024-03-20 | 2025-09-24 | Semidynamics Technology Services, S.L. | Prefetching memory blocks |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030105926A1 (en) | 2001-12-03 | 2003-06-05 | International Business Machies Corporation | Variable size prefetch cache |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6085291A (en) * | 1995-11-06 | 2000-07-04 | International Business Machines Corporation | System and method for selectively controlling fetching and prefetching of data to a processor |
| US5958040A (en) | 1997-05-28 | 1999-09-28 | Digital Equipment Corporation | Adaptive stream buffers |
| US6233641B1 (en) * | 1998-06-08 | 2001-05-15 | International Business Machines Corporation | Apparatus and method of PCI routing in a bridge configuration |
| DE69923539T2 (de) * | 1999-05-03 | 2006-02-16 | Stmicroelectronics S.A. | Ein Mehrport-Speicher |
| US6260115B1 (en) * | 1999-05-13 | 2001-07-10 | Storage Technology Corporation | Sequential detection and prestaging methods for a disk storage subsystem |
| US6636927B1 (en) * | 1999-09-24 | 2003-10-21 | Adaptec, Inc. | Bridge device for transferring data using master-specific prefetch sizes |
| US6560693B1 (en) * | 1999-12-10 | 2003-05-06 | International Business Machines Corporation | Branch history guided instruction/data prefetching |
| US6523093B1 (en) * | 2000-09-29 | 2003-02-18 | Intel Corporation | Prefetch buffer allocation and filtering system |
| US6529998B1 (en) | 2000-11-03 | 2003-03-04 | Emc Corporation | Adaptive prefetching of data from a disk |
| US20030093608A1 (en) * | 2001-11-09 | 2003-05-15 | Ken Jaramillo | Method for increasing peripheral component interconnect (PCI) bus thoughput via a bridge for memory read transfers via dynamic variable prefetch |
| US6832296B2 (en) * | 2002-04-09 | 2004-12-14 | Ip-First, Llc | Microprocessor with repeat prefetch instruction |
| US6892281B2 (en) * | 2002-10-03 | 2005-05-10 | Intel Corporation | Apparatus, method, and system for reducing latency of memory devices |
-
2003
- 2003-06-20 US US10/600,959 patent/US7139878B2/en not_active Expired - Fee Related
-
2004
- 2004-06-18 WO PCT/US2004/019625 patent/WO2004114370A2/en active Application Filing
- 2004-06-18 CN CNB2004800172695A patent/CN100419712C/zh not_active Expired - Fee Related
- 2004-06-18 KR KR1020057024484A patent/KR101021046B1/ko not_active Expired - Fee Related
- 2004-06-18 JP JP2006517444A patent/JP4699363B2/ja not_active Expired - Fee Related
- 2004-06-18 EP EP04755665A patent/EP1639473A4/en not_active Withdrawn
- 2004-06-21 TW TW093117961A patent/TW200508861A/zh unknown
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030105926A1 (en) | 2001-12-03 | 2003-06-05 | International Business Machies Corporation | Variable size prefetch cache |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20140029403A (ko) * | 2011-06-16 | 2014-03-10 | 더 보잉 컴파니 | 동적으로 재구성가능한 전기적 인터페이스 |
| KR101881623B1 (ko) | 2011-06-16 | 2018-07-24 | 더 보잉 컴파니 | 동적으로 재구성가능한 전기적 인터페이스 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2004114370A3 (en) | 2005-03-17 |
| JP4699363B2 (ja) | 2011-06-08 |
| WO2004114370A2 (en) | 2004-12-29 |
| US7139878B2 (en) | 2006-11-21 |
| KR20060017881A (ko) | 2006-02-27 |
| US20040260908A1 (en) | 2004-12-23 |
| CN1809817A (zh) | 2006-07-26 |
| JP2007524904A (ja) | 2007-08-30 |
| CN100419712C (zh) | 2008-09-17 |
| EP1639473A2 (en) | 2006-03-29 |
| TW200508861A (en) | 2005-03-01 |
| EP1639473A4 (en) | 2008-04-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101021046B1 (ko) | 동적 프리페치 버퍼 구성 및 대체를 위한 방법 및 장치 | |
| US6832280B2 (en) | Data processing system having an adaptive priority controller | |
| US6643747B2 (en) | Processing requests to efficiently access a limited bandwidth storage area | |
| JP4712110B2 (ja) | データ処理システムに於けるメモリ制御 | |
| US12014206B2 (en) | Pipeline arbitration | |
| US5958040A (en) | Adaptive stream buffers | |
| US6523093B1 (en) | Prefetch buffer allocation and filtering system | |
| US5742831A (en) | Methods and apparatus for maintaining cache coherency during copendency of load and store operations | |
| US20250021481A1 (en) | Aliased mode for cache controller | |
| JP2000090009A (ja) | キャッシュメモリにおいてキャッシュラインを置き換えるための方法および装置 | |
| CN107851065B (zh) | 预先缓存分配器 | |
| JP2001297037A (ja) | スマート・キャッシュ | |
| JP2001147854A (ja) | 処理システム、書き込みバッファユニット内の格納の最適化方法、並びに、データの格納及び分配方法 | |
| EP1304619A1 (en) | Cache memory operation | |
| US7360021B2 (en) | System and method for completing updates to entire cache lines with address-only bus operations | |
| JP2007500402A (ja) | 周辺装置アクセス保護付きデータ処理システム | |
| US7543113B2 (en) | Cache memory system and method capable of adaptively accommodating various memory line sizes | |
| JPH10320277A (ja) | マイクロプロセッサ回路およびシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
St.27 status event code: A-0-1-A10-A15-nap-PA0105 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| A201 | Request for examination | ||
| 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 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-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 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U12-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| FPAY | Annual fee payment |
Payment date: 20140224 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| FPAY | Annual fee payment |
Payment date: 20150225 Year of fee payment: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| FPAY | Annual fee payment |
Payment date: 20160223 Year of fee payment: 6 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20170304 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20170304 |