CN103038748B - The technology based on region for accurate predicting access of storage - Google Patents

The technology based on region for accurate predicting access of storage Download PDF

Info

Publication number
CN103038748B
CN103038748B CN201180041024.6A CN201180041024A CN103038748B CN 103038748 B CN103038748 B CN 103038748B CN 201180041024 A CN201180041024 A CN 201180041024A CN 103038748 B CN103038748 B CN 103038748B
Authority
CN
China
Prior art keywords
ptb
signature
access
project
processor
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
Application number
CN201180041024.6A
Other languages
Chinese (zh)
Other versions
CN103038748A (en
Inventor
L.索亚列斯
N.切鲁库里
A.库马
M.阿兹米
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Priority to CN201610800912.6A priority Critical patent/CN106294212B/en
Publication of CN103038748A publication Critical patent/CN103038748A/en
Application granted granted Critical
Publication of CN103038748B publication Critical patent/CN103038748B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • 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/10Address translation
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6024History based prefetching

Abstract

In one embodiment, the present invention includes processor, and described processor includes: page tracker buffer (PTB), and this PTB includes multiple project to store the address of caching page and to store signature to follow the tracks of the access of each cache lines to caching page;And PTB handler, project is loaded into PTB and updates signature by this PTB handler.Also describe and claim other embodiments.

Description

The technology based on region for accurate predicting access of storage
Background technology
In order to improve performance and the efficiency of calculating system (such as PC, server etc.), data and instruction that prefetching (prefetch) processor may need after a while are considered as favourable.But, routine prefetches which cache lines that can not calculate to a nicety (cache line) should be prefetched or should not prefetch.
Brief description
Fig. 1 is the block diagram of example processor according to an embodiment of the invention and memory;
Fig. 2 is the block diagram of example page tracker buffer according to an embodiment of the invention;
Fig. 3 is according to an embodiment of the invention for utilizing the flow chart of the exemplary method of access signature;
Fig. 4 is according to an embodiment of the invention for utilizing the flow chart of the exemplary method reusing signature;
Fig. 5 is the block diagram of example system according to an embodiment of the invention.
Detailed description of the invention
In various embodiments, it is proposed that the method and apparatus that predictability prefetches.In the following description, for purposes of explanation, set forth a large amount of concrete details in order to provide the thorough explanation of the present invention.But, to those skilled in the art it would be apparent that embodiments of the invention can be implemented in the case of not having these concrete details.In other instances, show structure and equipment to avoid obscuring the present invention in block diagram form.
Run through this specification to mean to include specific feature, structure or the characteristic describing together with embodiment at least one embodiment of the present invention to mentioning of " embodiment " or " embodiment ".Therefore, phrase " in one embodiment " or " in an embodiment " appearance in each place running through this specification is not necessarily all referring to identical embodiment.Furthermore, it is possible to combine special characteristic, structure or characteristic in one or more embodiments in any suitable manner.
With reference now to Fig. 1, show the block diagram of example processor according to an embodiment of the invention and memory.As shown in Figure 1, system 100 can include processor 102 and memory 104.Processor 102 can include core (one or more) the 106th, level cache the 108th, translation look-aside (translation Lookaside) buffer (TLB) the 110th, page tracker buffer (PTB) the 112nd, L2 cache 114 and PTB handler 116.Although processor 102 is shown as including level cache 108 and L2 cache 114, but processor 102 can include any amount of caching rank.Same, although processor 102 is shown as the TLB 110 including storing the address conversion from virtual address to physical address, but the present invention can implement in the processor do not have TLB.
As illustrated in greater detail with reference to Fig. 2, PTB 112 can comprise to indicate the project (entry) which part (for example, which cache lines of particular cache page or other memory areas) of particular area of memory had previously been accessed by core (one or more) 106.In one embodiment, PTB 112 also comprises to indicate the project which cache lines of particular cache page has repeatedly been accessed by core (one or more) 106, and this indicates potentially and highly desirable may keep resident those cache lines in the buffer.
The instruction and data that core (one or more) 106 will need it is possible, as will be seen in more detail below, PTB handler 116 can be attempted calculating to a nicety.In one embodiment, PTB handler 116 prefetch PTB 112 indicate previously instantiate during be accessed, (such as TLB failure after) add those cache lines of the caching page of TLB 110 to.PTB handler 116 can read PTB 112 project from page tracker memory table 118, and PTB 112 project is write back to a page tracker memory table 118.For example when the additional cache lines of core (one or more) 106 access, PTB handler 116 can also update the project in PTB 112.PTB handler 116 can be realized with the combination of other hardware (for example prefetching module) or software or hardware and software.PTB handler 116 can be applied independently for data and instruction prefetch and can coexist with other prefetchers.
Memory 104 can represent any kind of memory, for example either statically or dynamically random-access memory (ram).In one embodiment, memory 104 represents double data rate synchronous dynamic ram (DDR-SDRAM), but the present invention is not limited to any kind of memory.Memory 104 can be logically divided into page (such as page 120) and is used for caching and addresses.Each page 120 can comprise the row 122 of fixed qty.In one embodiment, page 120 comprises 64 row 122.In another embodiment, page 120 represents the memory area that can pass through firmware or its size of software merit rating.
With reference now to Fig. 2, the block diagram of example page tracker buffer according to an embodiment of the invention is shown.Going out as shown in FIG. 2, page tracker buffer 112 can include can be by any amount of projects of index 208 access, and each of described project can include that the 202nd, address accesses signature (access Signature) 204 and reuse signature (reuse Signature) 206.In one embodiment, PTB 112 can include the project with TLB 110 equal number.In other embodiments, PTB 112 can include the project more or more less than TLB 110.In one embodiment, PTB 112 can include 64 projects.In another embodiment, PTB 112 can include 1024 projects.
Although address 202 being shown as including 28 bits, but address 202 can comprise more or less bit for identifying page 120(or another memory area).Although access signature 204 and reuse signature 206 are shown as including 64 bits, but access signature 204 can comprise with reuse signature 206 or more or less bit is for identifying the row 122 of page 120.In one embodiment, by the row 122 of the page 120 of core (one or more) 106 access in the previously addressing of page 120 in TLB 110 for set (set bit) instruction of access signature 204.In one embodiment, the set reusing signature 206 indicates at TLB By the row 122 of the page 120 of more than 106 access of core (one or more) in the previously addressing of the page 120 in 110.
With reference now to Fig. 3, illustrate according to an embodiment of the invention for utilizing the flow chart of the exemplary method of access signature.Go out as shown in FIG. 3, the method start from PTB handler 116 after any project being expelled out of (evicted) is write back to page tracker memory table 118 by access signature 204 loading (302) that associates with caching page 120 in PTB 112.In one embodiment, at TLB After 110 failures (miss), PTB handler 116 is loaded into access signature 204 and writes back any access signature being just replaced.Then, PTB handler 116 can be designated as previously being prefetched (304) to L2 cache 114 by the row 122 of core (one or more) 106 access by access signature 204 by for example.Finally, PTB handler 116 can update (306) access signature 204.In one embodiment, when request and when taking out any additional row, PTB handler 116 is to the access signature 204 increase bits fetched.In another embodiment, the access signature 204 fetched can be used for prefetching and can regenerate access signature and is used for writing back to memory and uses in page access subsequently by PTB handler 116.
With reference now to Fig. 4, illustrate according to an embodiment of the invention for utilizing the flow chart of the exemplary method reusing signature.As shown in Figure 4, the method start from PTB handler 116 after any dispossessed project is write back to page tracker memory table 118 by reuse signature 206 loading (402) that associates with caching page 120 in PTB 112.In one embodiment, PTB handler 116 is loaded into after TLB 110 failure and reuses signature 206.Then, PTB handler 116 can be designated as previously repeatedly by the replacement policy of those cache lines in the L2 cache 114 of core (one or more) 106 access by reusing signature 206 with priorization (404).In one embodiment, those cache lines can be set at most use recently by PTB handler 116 by the hyte reusing in signature 206.In another embodiment, those cache lines can be set to least recently used by PTB handler 116, and without reusing the hyte in signature 206.Finally, when repeatedly asking any additional row, PTB handler 116 can update (406) and reuse signature 206.
Embodiment can realize with many different system types.With reference now to Fig. 5, the block diagram of system according to an embodiment of the invention is shown.Going out as shown in FIG. 5, multicomputer system 500 is point-to-point interconnection system, and includes the first processor 570 via point-to-point interconnection 550 coupling and the second processor 580.Going out as shown in FIG. 5, each of processor 570 and 580 can be to include the polycaryon processor of the first and second processor cores (that is, processor core 574a and 574b and processor core 584a and 584b).Each processor can include PTB hardware, software and firmware according to an embodiment of the invention.
Referring still to Fig. 5, first processor 570 also includes storage control hub (MCH, memory controller Hub) 572 and point-to-point (P-P) interface 576 and 578.Similarly, the second processor 580 includes MCH 582 and P-P interface 586 and 588.Go out as shown in FIG. 5, MCH 572 and 582 couple the processor to corresponding memory (i.e. memory 532 and memory 534), it can be to be locally attached to the main storage of respective processor (for example, dynamic random access memory (DRAM)) a part, according to one embodiment of present invention, each of described respective processor can include a page tracker memory table.First processor 570 and the second processor 580 can be respectively coupled to chipset 590 via P-P interconnection 552 and 554.Going out as shown in FIG. 5, chipset 590 includes P-P interface 594 and 598.
Additionally, chipset 590 includes the interface 592 for coupling chipset 590 with high performance graphics engine 538.And chipset 590 can be coupled to the first bus 516 via interface 596.Going out as shown in FIG. 5, various I/O equipment 514 can be coupled to the first bus 516 together with the first bus 516 is coupled to the bus bridge 518 of the second bus 520.Various equipment may be coupled to the second bus 520 in one embodiment, including for example, and keyboard/mouse the 522nd, communication equipment 526 and data storage cell 528(such as disc driver or other mass-memory units that code 530 can be included).Additionally, audio frequency I/O 524 may be coupled to the second bus 520.
Embodiment can realize with code and can be stored on the storage medium with the instruction being stored thereon, and storage medium can be used for System Programming to perform these instructions.Storage medium can include but is not limited to: any kind of dish (includes floppy disk, CD, compact disc read-only memory (CD-ROM), CD-RW (CD-RW) and magneto-optic disk), semiconductor equipment (such as read-only storage (ROM), random-access memory (ram) (such as dynamic random access memory (DRAM), static RAM (SRAM)), Erarable Programmable Read only Memory (EPROM), flash memory, EEPROM (EEPROM), magnetic or optical card) or it is suitable for storing the media of any other type of e-command.
Although the embodiment already in connection with limited quantity describes the present invention, but those skilled in the art will therefrom recognize substantial amounts of modifications and changes.Appending claims is intended to cover this type of modifications and changes all falling within the true spirit and scope of the present invention.

Claims (15)

1. a processor, comprising:
First core;
Level cache;
Translation lookaside buffer TLB;
L2 cache;
Page tracker buffer PTB, described PTB includes that multiple project is signed to store the address of storage page and memory access to follow the tracks of the access of each row to described storage page;And
PTB handler, described PTB handler is used for project is loaded into described PTB and updates described access signature,
Wherein, each PTB project reuses, for storing, the repeated access that signature follows the tracks of each row to described storage page, and described PTB handler is used for updating the described signature that reuses, and described PTB handler for priorization by the described replacement policy reusing those row that signature is designated as in the L2 cache being repeatedly accessed.
2. processor as claimed in claim 1, wherein said access signature and each reusing in signature described include 64 bits.
3. processor as claimed in claim 1, wherein said PTB comprises 64 projects.
4. processor as claimed in claim 1, wherein said PTB comprises 1024 projects.
5. processor as claimed in claim 1, project is loaded into described PTB and includes that page tracker memory table from memory for the project is loaded into described PTB by described PTB handler by wherein said PTB handler.
6. processor as claimed in claim 5, also includes the page tracker memory table that described PTB handler will store in described memory from the project that described PTB evicts from.
7. processor as claimed in claim 1, project is loaded into described PTB and includes that project is loaded into described PTB after TLB failure by described PTB handler by wherein said PTB handler.
8. the system for memory access, comprising:
Processor, described processor includes the first core, caching and page tracker buffer PTB performing instruction, the access signature which row that described PTB includes multiple project to store instruction storage page has been accessed, and store the reuse signature indicating which row of described storage page has repeatedly been accessed;
Being coupled to dynamic random access memory DRAM of described processor, described DRAM comprises the page tracker memory table of PTB project for storage;And
PTB handler, described PTB handler for being loaded into described PTB project from described page tracker memory table, described PTB handler for the described PTB project row that had previously been accessed of instruction is loaded into caching, and described PTB handler for priorization by the described replacement policy reusing those row that signature is designated as in the described caching being repeatedly accessed.
9. system as claimed in claim 8, also includes that PTB handler updates described PTB project to indicate that row has been accessed.
10. system as claimed in claim 8, also includes that described PTB project is write back to described page tracker memory table by described PTB handler.
11. systems as claimed in claim 8, wherein said processor also includes translation lookaside buffer TLB, and wherein when TLB failure, described PTB handler is loaded into PTB project.
12. 1 kinds of methods for memory access, comprising:
Reading the access signature associating with storage page and reusing signature, which row of the described storage page of described access signature instruction has been accessed, and described which row reusing the described storage page of signature instruction is repeatedly accessed;And
The row that described access signature instruction had previously been accessed is loaded into the caching of processor;And
Priorization is by the described replacement policy reusing those row that signature is designated as in the described caching being repeatedly accessed.
13. methods as claimed in claim 12, also include fetching described access signature from storage page tracker memory table in memory and described reuse signature.
14. methods as claimed in claim 13, also include updating described access signature and described reuse signature when the row of the described storage page of described processor access.
15. methods as claimed in claim 14, also include, when evicting described access signature and described reuse signature from, described access signature and described reuse signature storage are arrived described page tracker memory table.
CN201180041024.6A 2010-06-23 2011-06-22 The technology based on region for accurate predicting access of storage Expired - Fee Related CN103038748B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610800912.6A CN106294212B (en) 2010-06-23 2011-06-22 Region-based techniques for accurate prediction of memory accesses

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US12/821,935 US9418011B2 (en) 2010-06-23 2010-06-23 Region based technique for accurately predicting memory accesses
US12/821,935 2010-06-23
US12/821935 2010-06-23
PCT/US2011/041511 WO2011163407A2 (en) 2010-06-23 2011-06-22 Region based technique for accurately predicting memory accesses

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201610800912.6A Division CN106294212B (en) 2010-06-23 2011-06-22 Region-based techniques for accurate prediction of memory accesses

Publications (2)

Publication Number Publication Date
CN103038748A CN103038748A (en) 2013-04-10
CN103038748B true CN103038748B (en) 2016-10-05

Family

ID=45353674

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201610800912.6A Expired - Fee Related CN106294212B (en) 2010-06-23 2011-06-22 Region-based techniques for accurate prediction of memory accesses
CN201180041024.6A Expired - Fee Related CN103038748B (en) 2010-06-23 2011-06-22 The technology based on region for accurate predicting access of storage

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201610800912.6A Expired - Fee Related CN106294212B (en) 2010-06-23 2011-06-22 Region-based techniques for accurate prediction of memory accesses

Country Status (7)

Country Link
US (1) US9418011B2 (en)
EP (1) EP2585916B1 (en)
JP (1) JP5697279B2 (en)
KR (1) KR101485651B1 (en)
CN (2) CN106294212B (en)
TW (2) TWI603264B (en)
WO (1) WO2011163407A2 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9418011B2 (en) 2010-06-23 2016-08-16 Intel Corporation Region based technique for accurately predicting memory accesses
US8683136B2 (en) * 2010-12-22 2014-03-25 Intel Corporation Apparatus and method for improving data prefetching efficiency using history based prefetching
US9092341B2 (en) 2012-07-10 2015-07-28 International Business Machines Corporation Methods of cache preloading on a partition or a context switch
US9424031B2 (en) * 2013-03-13 2016-08-23 Intel Corporation Techniques for enabling bit-parallel wide string matching with a SIMD register
JP6088951B2 (en) * 2013-09-20 2017-03-01 株式会社東芝 Cache memory system and processor system
US9513805B2 (en) 2014-04-15 2016-12-06 International Business Machines Corporation Page table including data fetch width indicator
US9582282B2 (en) * 2014-07-17 2017-02-28 Arm Limited Prefetching using a prefetch lookup table identifying previously accessed cache lines
WO2016097809A1 (en) * 2014-12-14 2016-06-23 Via Alliance Semiconductor Co., Ltd. Multiple data prefetchers that defer to one another based on prefetch effectiveness by memory access type
US20160255169A1 (en) * 2015-02-27 2016-09-01 Futurewei Technologies, Inc. Method and system for smart object eviction for proxy cache
US9594678B1 (en) 2015-05-27 2017-03-14 Pure Storage, Inc. Preventing duplicate entries of identical data in a storage device
US10482010B2 (en) * 2017-06-29 2019-11-19 Intel Corporation Persistent host memory buffer
KR20200085522A (en) 2019-01-07 2020-07-15 에스케이하이닉스 주식회사 Main memory device having heterogeneous memories, computer system including the same and data management method thereof
CN110442382B (en) * 2019-07-31 2021-06-15 西安芯海微电子科技有限公司 Prefetch cache control method, device, chip and computer readable storage medium
KR20210108749A (en) * 2020-02-26 2021-09-03 삼성전자주식회사 Accelerator, method for operating the same and accelerator system including the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5752261A (en) * 1996-11-07 1998-05-12 Ncr Corporation Method and apparatus for detecting thrashing in a cache memory
CN101719105A (en) * 2009-12-31 2010-06-02 中国科学院计算技术研究所 Optimization method and optimization system for memory access in multi-core system

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04259048A (en) 1991-02-14 1992-09-14 Fujitsu Ltd Pre-read data control system using statistic information
US5931945A (en) * 1994-04-29 1999-08-03 Sun Microsystems, Inc. Graphic system for masking multiple non-contiguous bytes having decode logic to selectively activate each of the control lines based on the mask register bits
US6055621A (en) * 1996-02-12 2000-04-25 International Business Machines Corporation Touch history table
US5960454A (en) * 1996-12-19 1999-09-28 International Business Machines Corporation Avoiding cache collisions between frequently accessed, pinned routines or data structures
US6317810B1 (en) * 1997-06-25 2001-11-13 Sun Microsystems, Inc. Microprocessor having a prefetch cache
US6047363A (en) * 1997-10-14 2000-04-04 Advanced Micro Devices, Inc. Prefetching data using profile of cache misses from earlier code executions
US5941981A (en) 1997-11-03 1999-08-24 Advanced Micro Devices, Inc. System for using a data history table to select among multiple data prefetch algorithms
US6490654B2 (en) * 1998-07-31 2002-12-03 Hewlett-Packard Company Method and apparatus for replacing cache lines in a cache memory
US6223309B1 (en) * 1998-10-02 2001-04-24 International Business Machines Corporation Method and apparatus for ECC logic test
JP3512678B2 (en) * 1999-05-27 2004-03-31 富士通株式会社 Cache memory control device and computer system
US6804769B1 (en) 2000-02-18 2004-10-12 Hewlett-Packard Development Company, L.P. Unified buffer for tracking disparate long-latency operations in a microprocessor
US6535966B1 (en) 2000-05-17 2003-03-18 Sun Microsystems, Inc. System and method for using a page tracking buffer to reduce main memory latency in a computer system
US6678795B1 (en) * 2000-08-15 2004-01-13 International Business Machines Corporation Method and apparatus for memory prefetching based on intra-page usage history
EP1182559B1 (en) * 2000-08-21 2009-01-21 Texas Instruments Incorporated Improved microprocessor
US6523093B1 (en) 2000-09-29 2003-02-18 Intel Corporation Prefetch buffer allocation and filtering system
US6640285B1 (en) * 2000-10-26 2003-10-28 Emc Corporation Method and apparatus for improving the efficiency of cache memories using stored activity measures
US6832296B2 (en) * 2002-04-09 2004-12-14 Ip-First, Llc Microprocessor with repeat prefetch instruction
US7020762B2 (en) * 2002-12-24 2006-03-28 Intel Corporation Method and apparatus for determining a dynamic random access memory page management implementation
US7194582B1 (en) * 2003-05-30 2007-03-20 Mips Technologies, Inc. Microprocessor with improved data stream prefetching
US7467131B1 (en) * 2003-09-30 2008-12-16 Google Inc. Method and system for query data caching and optimization in a search engine system
US7356651B2 (en) * 2004-01-30 2008-04-08 Piurata Technologies, Llc Data-aware cache state machine
US7975108B1 (en) * 2004-03-25 2011-07-05 Brian Holscher Request tracking data prefetcher apparatus
US7386679B2 (en) 2004-04-15 2008-06-10 International Business Machines Corporation System, method and storage medium for memory management
US7950012B2 (en) * 2005-03-16 2011-05-24 Oracle America, Inc. Facilitating communication and synchronization between main and scout threads
US7496730B2 (en) * 2005-04-15 2009-02-24 Microsoft Corporation System and method for reducing the number of translation buffer invalidates an operating system needs to issue
JP4160589B2 (en) 2005-10-31 2008-10-01 富士通株式会社 Arithmetic processing device, information processing device, and memory access method for arithmetic processing device
US7386673B2 (en) 2005-11-30 2008-06-10 Red Hat, Inc. Method for tracking of non-resident pages
US7526614B2 (en) * 2005-11-30 2009-04-28 Red Hat, Inc. Method for tuning a cache
WO2007068122A1 (en) * 2005-12-16 2007-06-21 Univ Western Ontario System and method for cache management
GB0603552D0 (en) * 2006-02-22 2006-04-05 Advanced Risc Mach Ltd Cache management within a data processing apparatus
US7478197B2 (en) * 2006-07-18 2009-01-13 International Business Machines Corporation Adaptive mechanisms for supplying volatile data copies in multiprocessor systems
JP2008102745A (en) 2006-10-19 2008-05-01 Toshiba Corp Pre-fetching mechanism of instruction cache memory
US7797503B2 (en) * 2007-06-26 2010-09-14 International Business Machines Corporation Configurable memory system and method for providing atomic counting operations in a memory device
US8423715B2 (en) * 2008-05-01 2013-04-16 International Business Machines Corporation Memory management among levels of cache in a memory hierarchy
US9569363B2 (en) * 2009-03-30 2017-02-14 Via Technologies, Inc. Selective prefetching of physically sequential cache line to cache line that includes loaded page table entry
US8161246B2 (en) * 2009-03-30 2012-04-17 Via Technologies, Inc. Prefetching of next physically sequential cache line after cache line that includes loaded page table entry
US8677049B2 (en) * 2009-04-13 2014-03-18 Advanced Micro Devices, Inc. Region prefetcher and methods thereof
US8332587B2 (en) * 2009-05-28 2012-12-11 International Business Machines Corporation Cache line use history based done bit modification to I-cache replacement scheme
US8291169B2 (en) * 2009-05-28 2012-10-16 International Business Machines Corporation Cache line use history based done bit modification to D-cache replacement scheme
US9418011B2 (en) 2010-06-23 2016-08-16 Intel Corporation Region based technique for accurately predicting memory accesses

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5752261A (en) * 1996-11-07 1998-05-12 Ncr Corporation Method and apparatus for detecting thrashing in a cache memory
CN101719105A (en) * 2009-12-31 2010-06-02 中国科学院计算技术研究所 Optimization method and optimization system for memory access in multi-core system

Also Published As

Publication number Publication date
JP5697279B2 (en) 2015-04-08
EP2585916B1 (en) 2019-09-11
WO2011163407A2 (en) 2011-12-29
EP2585916A4 (en) 2014-03-19
EP2585916A2 (en) 2013-05-01
US9418011B2 (en) 2016-08-16
CN106294212A (en) 2017-01-04
JP2013529815A (en) 2013-07-22
TWI590156B (en) 2017-07-01
TWI603264B (en) 2017-10-21
US20110320762A1 (en) 2011-12-29
CN103038748A (en) 2013-04-10
KR20130040952A (en) 2013-04-24
KR101485651B1 (en) 2015-01-22
WO2011163407A3 (en) 2012-04-12
CN106294212B (en) 2020-02-21
TW201224923A (en) 2012-06-16
TW201528136A (en) 2015-07-16

Similar Documents

Publication Publication Date Title
CN103038748B (en) The technology based on region for accurate predicting access of storage
US9208084B2 (en) Extended main memory hierarchy having flash memory for page fault handling
US8707011B1 (en) Memory access techniques utilizing a set-associative translation lookaside buffer
US7657729B2 (en) Efficient multiple-table reference prediction mechanism
US7991963B2 (en) In-memory, in-page directory cache coherency scheme
US6782453B2 (en) Storing data in memory
JP3938370B2 (en) Hardware management virtual-physical address translation mechanism
US20120102273A1 (en) Memory agent to access memory blade as part of the cache coherency domain
US20070061549A1 (en) Method and an apparatus to track address translation in I/O virtualization
US8180965B2 (en) System and method for cache access prediction
CN101782872A (en) Caching systems and methods using a solid state disk
US20040117588A1 (en) Access request for a data processing system having no system memory
US20210089468A1 (en) Memory management unit, address translation method, and processor
CN107818052A (en) Memory pool access method and device
US20120317361A1 (en) Storage efficient sectored cache
US20040117591A1 (en) Data processing system having no system memory
US20040117590A1 (en) Aliasing support for a data processing system having no system memory
US20050055528A1 (en) Data processing system having a physically addressed cache of disk memory
US8661169B2 (en) Copying data to a cache using direct memory access
US20040078544A1 (en) Memory address remapping method
US7519791B2 (en) Address conversion technique in a context switching environment
US10922230B2 (en) System and method for identifying pendency of a memory access request at a cache entry
WO2002027498A2 (en) System and method for identifying and managing streaming-data
CN114063934A (en) Data updating device and method and electronic equipment
EP4328755A1 (en) Systems, methods, and apparatus for accessing data in versions of memory pages

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161005

Termination date: 20210622