IN2012DN02977A - - Google Patents
Download PDFInfo
- Publication number
- IN2012DN02977A IN2012DN02977A IN2977DEN2012A IN2012DN02977A IN 2012DN02977 A IN2012DN02977 A IN 2012DN02977A IN 2977DEN2012 A IN2977DEN2012 A IN 2977DEN2012A IN 2012DN02977 A IN2012DN02977 A IN 2012DN02977A
- Authority
- IN
- India
- Prior art keywords
- data stream
- write permission
- prefetch unit
- given data
- response
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/6026—Prefetching based on access pattern detection, e.g. stride based prefetch
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
A system and method for efficient data prefetching. A data stream stored in lower-level memory comprises a contiguous block of data used in a computer program. A prefetch unit in a processor detects a data stream by identifying a sequence of storage accesses referencing a contiguous blocks of data in a monotonically increasing or decreasing manner. After a predetermined training period for a given data stream, the prefetch unit prefetches a portion of the given data stream from memory without write permission, in response to an access that does not request write permission. Also, after the training period, the prefetch unit prefetches a portion of the given data stream from lower-level memory with write permission, in response to determining there has been a prior access to the given data stream that requests write permission subsequent to a number of cache misses reaching a predetermined threshold.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/558,465 US8667225B2 (en) | 2009-09-11 | 2009-09-11 | Store aware prefetching for a datastream |
PCT/US2010/048241 WO2011031837A1 (en) | 2009-09-11 | 2010-09-09 | Store aware prefetching for a datastream |
Publications (1)
Publication Number | Publication Date |
---|---|
IN2012DN02977A true IN2012DN02977A (en) | 2015-07-31 |
Family
ID=43242176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
IN2977DEN2012 IN2012DN02977A (en) | 2009-09-11 | 2010-09-09 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8667225B2 (en) |
EP (1) | EP2476060B1 (en) |
JP (1) | JP5615927B2 (en) |
KR (1) | KR101614867B1 (en) |
CN (1) | CN102640124B (en) |
IN (1) | IN2012DN02977A (en) |
WO (1) | WO2011031837A1 (en) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8307180B2 (en) | 2008-02-28 | 2012-11-06 | Nokia Corporation | Extended utilization area for a memory device |
US8874824B2 (en) | 2009-06-04 | 2014-10-28 | Memory Technologies, LLC | Apparatus and method to share host system RAM with mass storage memory RAM |
US8838906B2 (en) * | 2010-01-08 | 2014-09-16 | International Business Machines Corporation | Evict on write, a management strategy for a prefetch unit and/or first level cache in a multiprocessor system with speculative execution |
US8533399B2 (en) * | 2010-01-15 | 2013-09-10 | International Business Machines Corporation | Cache directory look-up re-use as conflict check mechanism for speculative memory requests |
US8868837B2 (en) * | 2010-01-15 | 2014-10-21 | International Business Machines Corporation | Cache directory lookup reader set encoding for partial cache line speculation support |
US8509254B2 (en) * | 2010-06-28 | 2013-08-13 | Intel Corporation | Direct memory access engine physical memory descriptors for multi-media demultiplexing operations |
US8583894B2 (en) * | 2010-09-09 | 2013-11-12 | Advanced Micro Devices | Hybrid prefetch method and apparatus |
US8880847B2 (en) * | 2010-09-28 | 2014-11-04 | Texas Instruments Incorporated | Multistream prefetch buffer |
US9417998B2 (en) | 2012-01-26 | 2016-08-16 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
US9098418B2 (en) * | 2012-03-20 | 2015-08-04 | Apple Inc. | Coordinated prefetching based on training in hierarchically cached processors |
US9311226B2 (en) | 2012-04-20 | 2016-04-12 | Memory Technologies Llc | Managing operational state data of a memory module using host memory in association with state change |
US9311251B2 (en) | 2012-08-27 | 2016-04-12 | Apple Inc. | System cache with sticky allocation |
GB2509765B (en) * | 2013-01-15 | 2015-07-15 | Imagination Tech Ltd | Improved control of pre-fetch traffic |
US9384136B2 (en) * | 2013-04-12 | 2016-07-05 | International Business Machines Corporation | Modification of prefetch depth based on high latency event |
WO2014202825A1 (en) * | 2013-06-20 | 2014-12-24 | Nokia Corporation | Microprocessor apparatus |
JP6119523B2 (en) * | 2013-09-20 | 2017-04-26 | 富士通株式会社 | Arithmetic processing apparatus, control method for arithmetic processing apparatus, and program |
WO2015089488A1 (en) | 2013-12-12 | 2015-06-18 | Memory Technologies Llc | Channel optimized storage modules |
JP5936152B2 (en) | 2014-05-17 | 2016-06-15 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Memory access trace method |
US9529727B2 (en) | 2014-05-27 | 2016-12-27 | Qualcomm Incorporated | Reconfigurable fetch pipeline |
US9817764B2 (en) * | 2014-12-14 | 2017-11-14 | Via Alliance Semiconductor Co., Ltd | Multiple data prefetchers that defer to one another based on prefetch effectiveness by memory access type |
EP3049915B1 (en) | 2014-12-14 | 2020-02-12 | VIA Alliance Semiconductor Co., Ltd. | Prefetching with level of aggressiveness based on effectiveness by memory access type |
US9971694B1 (en) | 2015-06-24 | 2018-05-15 | Apple Inc. | Prefetch circuit for a processor with pointer optimization |
US10324832B2 (en) * | 2016-05-25 | 2019-06-18 | Samsung Electronics Co., Ltd. | Address based multi-stream storage device access |
US10042749B2 (en) | 2015-11-10 | 2018-08-07 | International Business Machines Corporation | Prefetch insensitive transactional memory |
US10474576B2 (en) | 2015-11-10 | 2019-11-12 | International Business Machines Corporation | Prefetch protocol for transactional memory |
US10152419B2 (en) | 2015-11-10 | 2018-12-11 | International Business Machines Corporation | Deferred response to a prefetch request |
JP6734760B2 (en) | 2015-11-10 | 2020-08-05 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Prefetch insensitive transaction memory |
US9904624B1 (en) | 2016-04-07 | 2018-02-27 | Apple Inc. | Prefetch throttling in a multi-core system |
US10180905B1 (en) | 2016-04-07 | 2019-01-15 | Apple Inc. | Unified prefetch circuit for multi-level caches |
US10169240B2 (en) * | 2016-04-08 | 2019-01-01 | Qualcomm Incorporated | Reducing memory access bandwidth based on prediction of memory request size |
US10649904B2 (en) | 2016-12-12 | 2020-05-12 | Samsung Electronics Co., Ltd. | System and method for store streaming detection and handling |
US10331567B1 (en) | 2017-02-17 | 2019-06-25 | Apple Inc. | Prefetch circuit with global quality factor to reduce aggressiveness in low power modes |
KR102429429B1 (en) | 2017-03-24 | 2022-08-04 | 삼성전자주식회사 | Electronic apparatus, and operating method for the same |
CN109669880A (en) * | 2017-10-13 | 2019-04-23 | 展讯通信(上海)有限公司 | A kind of data prefetching method and device, microprocessor |
CN109408412B (en) * | 2018-10-24 | 2021-04-30 | 龙芯中科技术股份有限公司 | Memory prefetch control method, device and equipment |
US10963249B2 (en) | 2018-11-02 | 2021-03-30 | International Business Machines Corporation | Processor prefetcher mode governor for switching between prefetch modes |
CN110427332B (en) | 2019-08-05 | 2021-08-20 | 上海兆芯集成电路有限公司 | Data prefetching device, data prefetching method and microprocessor |
GB2593487B (en) * | 2020-03-24 | 2022-05-04 | Advanced Risc Mach Ltd | Apparatus and method |
CN114065947B (en) * | 2021-11-15 | 2022-07-22 | 深圳大学 | Data access speculation method and device, storage medium and electronic equipment |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778436A (en) | 1995-03-06 | 1998-07-07 | Duke University | Predictive caching system and method based on memory access which previously followed a cache miss |
US5848254A (en) | 1996-07-01 | 1998-12-08 | Sun Microsystems, Inc. | Multiprocessing system using an access to a second memory space to initiate software controlled data prefetch into a first address space |
US6401193B1 (en) | 1998-10-26 | 2002-06-04 | Infineon Technologies North America Corp. | Dynamic data prefetching based on program counter and addressing mode |
US6282614B1 (en) | 1999-04-15 | 2001-08-28 | National Semiconductor Corporation | Apparatus and method for reducing the power consumption of a microprocessor with multiple levels of caches |
US6457101B1 (en) | 1999-12-20 | 2002-09-24 | Unisys Corporation | System and method for providing the speculative return of cached data within a hierarchical memory system |
US6865652B1 (en) | 2000-06-02 | 2005-03-08 | Advanced Micro Devices, Inc. | FIFO with undo-push capability |
US6571318B1 (en) | 2001-03-02 | 2003-05-27 | Advanced Micro Devices, Inc. | Stride based prefetcher with confidence counter and dynamic prefetch-ahead mechanism |
JP4030314B2 (en) * | 2002-01-29 | 2008-01-09 | 富士通株式会社 | Arithmetic processing unit |
US7103725B2 (en) | 2002-03-22 | 2006-09-05 | Newisys, Inc. | Methods and apparatus for speculative probing with early completion and delayed request |
US7107408B2 (en) | 2002-03-22 | 2006-09-12 | Newisys, Inc. | Methods and apparatus for speculative probing with early completion and early request |
US7003633B2 (en) | 2002-11-04 | 2006-02-21 | Newisys, Inc. | Methods and apparatus for managing probe requests |
US7099999B2 (en) * | 2003-09-30 | 2006-08-29 | International Business Machines Corporation | Apparatus and method for pre-fetching data to cached memory using persistent historical page table data |
US7487296B1 (en) | 2004-02-19 | 2009-02-03 | Sun Microsystems, Inc. | Multi-stride prefetcher with a recurring prefetch table |
JP4532931B2 (en) * | 2004-02-25 | 2010-08-25 | 株式会社日立製作所 | Processor and prefetch control method |
US7836259B1 (en) | 2004-04-02 | 2010-11-16 | Advanced Micro Devices, Inc. | Prefetch unit for use with a cache memory subsystem of a cache memory hierarchy |
US7434004B1 (en) | 2004-06-17 | 2008-10-07 | Sun Microsystems, Inc. | Prefetch prediction |
US7350029B2 (en) * | 2005-02-10 | 2008-03-25 | International Business Machines Corporation | Data stream prefetching in a microprocessor |
US7380066B2 (en) | 2005-02-10 | 2008-05-27 | International Business Machines Corporation | Store stream prefetching in a microprocessor |
US7594078B2 (en) * | 2006-02-09 | 2009-09-22 | International Business Machines Corporation | D-cache miss prediction and scheduling |
US7917731B2 (en) * | 2006-08-02 | 2011-03-29 | Qualcomm Incorporated | Method and apparatus for prefetching non-sequential instruction addresses |
US20090106498A1 (en) | 2007-10-23 | 2009-04-23 | Kevin Michael Lepak | Coherent dram prefetcher |
US7958317B2 (en) * | 2008-08-04 | 2011-06-07 | International Business Machines Corporation | Cache directed sequential prefetch |
-
2009
- 2009-09-11 US US12/558,465 patent/US8667225B2/en active Active
-
2010
- 2010-09-09 WO PCT/US2010/048241 patent/WO2011031837A1/en active Application Filing
- 2010-09-09 JP JP2012528890A patent/JP5615927B2/en active Active
- 2010-09-09 CN CN201080051152.4A patent/CN102640124B/en active Active
- 2010-09-09 IN IN2977DEN2012 patent/IN2012DN02977A/en unknown
- 2010-09-09 KR KR1020127009323A patent/KR101614867B1/en active IP Right Grant
- 2010-09-09 EP EP10755043.6A patent/EP2476060B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2476060B1 (en) | 2015-06-17 |
US20110066811A1 (en) | 2011-03-17 |
WO2011031837A1 (en) | 2011-03-17 |
KR101614867B1 (en) | 2016-04-22 |
KR20120070584A (en) | 2012-06-29 |
US8667225B2 (en) | 2014-03-04 |
JP5615927B2 (en) | 2014-10-29 |
EP2476060A1 (en) | 2012-07-18 |
JP2013504815A (en) | 2013-02-07 |
CN102640124B (en) | 2015-11-25 |
CN102640124A (en) | 2012-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
IN2012DN02977A (en) | ||
GB2506042A (en) | Caching data in a storage system having multiple caches | |
WO2009124014A3 (en) | Cache optimization | |
TW200643792A (en) | Method and apparatus for prefetching based on cache fill buffer hits | |
JP2015505091A5 (en) | ||
KR101485651B1 (en) | Region based technique for accurately predicting memory accesses | |
IN2015DN03878A (en) | ||
JP2017516234A5 (en) | ||
IL169265A0 (en) | Page descriptors for prefetching and memory management | |
TW200634621A (en) | Method and apparatus for initiating CPU data prefetches by an external agent | |
TW200513851A (en) | Prefetch command control method, prefetch command control apparatus and cache memory control apparatus | |
WO2008154191A3 (en) | Cache metadata for implementing bounded transactional memory | |
GB2473149A (en) | Apparatus and method for cache utilization | |
JP2015501497A5 (en) | ||
TW200710674A (en) | Processor, data processing system, and method for initializing a memory block | |
KR102268601B1 (en) | Processor for data forwarding, operation method thereof and system including the same | |
WO2011055976A3 (en) | Apparatus and method for managing a file in a distributed storage system | |
JP2007500897A5 (en) | ||
WO2007002803A3 (en) | Preventing multiple translation lookaside buffer accesses for a same page in memory | |
JP2015122094A5 (en) | ||
ATE513261T1 (en) | METHOD AND DEVICE FOR LOW COMPLEXITY COMMAND PRELOADING SYSTEM | |
US20190384529A1 (en) | Enhanced read-ahead capability for storage devices | |
JP2008529181A5 (en) | ||
WO2012109145A3 (en) | Pre-cache similarity-based delta compression for use in a data storage system | |
CN108874691B (en) | Data prefetching method and memory controller |