With Pre-fetch (epo) Patents (Class 711/E12.057)
-
Publication number: 20130318306Abstract: A method and system for implementing vector prefetch with streaming access detection is contemplated in which an execution unit such as a vector execution unit, for example, executes a vector memory access instruction that references an associated vector of effective addresses. The vector of effective addresses includes a number of elements, each of which includes a memory pointer. The vector memory access instruction is executable to perform multiple independent memory access operations using at least some of the memory pointers of the vector of effective addresses. A prefetch unit, for example, may detect a memory access streaming pattern based upon the vector of effective addresses, and in response to detecting the memory access streaming pattern, the prefetch unit may calculate one or more prefetch memory addresses based upon the memory access streaming pattern. Lastly, the prefetch unit may prefetch the one or more prefetch memory addresses into a memory.Type: ApplicationFiled: May 22, 2012Publication date: November 28, 2013Inventor: Jeffry E. Gonion
-
Publication number: 20130318307Abstract: An apparatus including a tag comparison logic and a fetch-ahead generation logic. The tag comparison logic may be configured to present a miss address in response to detecting a cache miss. The fetch-ahead generation logic may be configured to select between a plurality of predefined fetch ahead policies in response to a memory access request and generate one or more fetch addresses based upon the miss address and a selected fetch ahead policy.Type: ApplicationFiled: May 23, 2012Publication date: November 28, 2013Inventors: Alexander Rabinovitch, Leonid Dubrovin, Vladimir Kopilevitch
-
Patent number: 8595443Abstract: A method of data processing in a processor includes maintaining a usage history indicating demand usage of prefetched data retrieved into cache memory. An amount of data to prefetch by a data prefetch request is selected based upon the usage history. The data prefetch request is transmitted to a memory hierarchy to prefetch the selected amount of data into cache memory.Type: GrantFiled: February 1, 2008Date of Patent: November 26, 2013Assignee: International Business Machines CorporationInventors: Ravi K. Arimilli, Gheorghe C. Cascaval, Balaram Sinharoy, William E. Speight, Lixin Zhang
-
Patent number: 8583894Abstract: A hybrid prefetch method and apparatus is disclosed. A processor includes a hybrid prefetch unit configured to generate addresses for accessing data from a system memory. The hybrid prefetch unit includes a first prediction unit configured to generate a first memory address according to a first prefetch algorithm and a second prediction unit configured to generate a second memory address according to a second prefetch algorithm. The hybrid prefetcher further includes an arbitration unit configured to select one of the first and second memory addresses and further configured to provide the selected one of the first and second memory addresses during a prefetch operation.Type: GrantFiled: September 9, 2010Date of Patent: November 12, 2013Assignee: Advanced Micro DevicesInventors: Swamy Punyamurtula, Bharath Narasimha Swamy
-
Publication number: 20130290607Abstract: A technique includes using a cache controller of an integrated circuit to control a cache including cached data content and associated cache metadata. The technique includes storing the metadata and the cached data content off of the integrated circuit and organizing the storage of the metadata relative to the cached data content such that a bus operation initiated by the cache controller to target the cached data content also targets the associated metadata.Type: ApplicationFiled: April 30, 2012Publication date: October 31, 2013Inventors: Jichuan Chang, Justin James Meza, Parthasarathy Ranganathan
-
Publication number: 20130262779Abstract: Profiling and analyzing modules may be combined with hardware modules to identify a likelihood that a particular region of code in a computer program contains data that would benefit from prefetching. Those regions of code that would not benefit from prefetching may also be identified. Once a region of code has been identified, a hardware prefetcher may be selectively enabled or disable when executing code in identified code region. In some instances, once a processing device finishes executing code in the identified code region, the state of the hardware prefetcher may then be switched back to its original state. Systems, methods, and media are provided.Type: ApplicationFiled: March 30, 2012Publication date: October 3, 2013Inventors: Jayaram BOBBA, Ryan CARLSON, Jeffrey Cook, Abhinav DAS, Jason HORIHAN, Wei LI, Suresh SRINIVAS, Sreenivas SUBRAMONEY, Krishnaswamy VISWANATHAN
-
Patent number: 8549231Abstract: Provided is a method, which may be performed on a computer, for prefetching data over an interface. The method may include receiving a first data prefetch request for first data of a first data size stored at a first physical address corresponding to a first virtual address. The first data prefetch request may include second data specifying the first virtual address and third data specifying the first data size. The first virtual address and the first data size may define a first virtual address range. The method may also include converting the first data prefetch request into a first data retrieval request. To convert the first data prefetch request into a first data retrieval request the first virtual address specified by the second data may be translated into the first physical address. The method may further include issuing the first data retrieval request at the interface, receiving the first data at the interface and storing at least a portion of the received first data in a cache.Type: GrantFiled: January 8, 2010Date of Patent: October 1, 2013Assignee: Oracle America, Inc.Inventors: Rabin A. Sugumar, Bjørn Dag Johnsen, Ben Sum
-
Publication number: 20130254485Abstract: Processors and methods for coordinating prefetch units at multiple cache levels. A single, unified training mechanism is utilized for training on streams generated by a processor core. Prefetch requests are sent from the core to lower level caches, and a packet is sent with each prefetch request. The packet identifies the stream ID of the prefetch request and includes relevant training information for the particular stream ID. The lower level caches generate prefetch requests based on the received training information.Type: ApplicationFiled: March 20, 2012Publication date: September 26, 2013Inventors: Hari S. Kannan, Brian P. Lilly, Gerard R. Williams, III, Mahnaz Sadoughi-Yarandi, Perumal R. Subramoniam, Pradeep Kanapathipillai
-
Publication number: 20130246708Abstract: The disclosed embodiments provide a system that filters pre-fetch requests to reduce pre-fetching overhead. During operation, the system executes an instruction that involves a memory reference that is directed to a cache line in a cache. Upon determining that the memory reference will miss in the cache, the system determines whether the instruction frequently leads to cache misses. If so, the system issues a pre-fetch request for one or more additional cache lines. Otherwise, no pre-fetch request is sent. Filtering pre-fetch requests based on instructions' likelihood to miss reduces pre-fetching overhead while preserving the performance benefits of pre-fetching.Type: ApplicationFiled: March 15, 2012Publication date: September 19, 2013Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Tarik Ono, Mark R. Greenstreet
-
Patent number: 8539162Abstract: Methods and systems for quantifying a spatial distribution of accesses to storage systems and for determining spatial locality of references to storage addresses in the storage systems are described. In one aspect, a specified quantity of address references associated with a storage system is received. A spatial distribution of references to addresses of the storage system is determined based at least in part on the received specified quantity of the address references, and the determined spatial distribution is combined with a previously determined spatial distribution into a spatial locality metric of the storage system. The spatial locality metric includes a weighted sum of the determined spatial distribution and the previously determined spatial distribution. The spatial locality metric is used in caching data from the storage system to a cache device.Type: GrantFiled: February 23, 2011Date of Patent: September 17, 2013Assignee: Marvell World Trade Ltd.Inventor: Arvind Pruthi
-
Publication number: 20130238861Abstract: One or more lines of a cache are prefetched according to a first prefetch routine while training a prefetcher to prefetch one or more lines of the cache according to a second prefetch routine. In response to determining that the prefetcher has been trained, one or more lines of the cache may be prefetched according to the second prefetch routine.Type: ApplicationFiled: March 7, 2012Publication date: September 12, 2013Inventors: Srilatha Manne, Nitya Ranganathan, Paul Keltcher, Donald W. McCauley
-
Patent number: 8533394Abstract: Instruction fetch unit (IFU) verification is improved by dynamically monitoring the current state of the IFU model and detecting any predetermined states of interest. The instruction address sequence is automatically modified to force a selected address to be fetched next by the IFU model. The instruction address sequence may be modified by inserting one or more new instruction addresses, or by jumping to a non-sequential address in the instruction address sequence. In exemplary implementations, the selected address is a corresponding address for an existing instruction already loaded in the IFU cache, or differs only in a specific field from such an address. The instruction address control is preferably accomplished without violating any rules of the processor architecture by sending a flush signal to the IFU model and overwriting an address register corresponding to a next address to be fetched.Type: GrantFiled: February 17, 2012Date of Patent: September 10, 2013Assignee: International Business Machines CorporationInventors: Akash V. Giri, Darin M. Greene, Alan G. Singletary
-
Publication number: 20130232293Abstract: Using integrated circuits, such as field programmable gate arrays, it is possible to transfer data to common off the shelf storage devices at high speeds which would normally be associated with special purpose hardware created for a particular application. Such high speed storage can include prefetching data to be stored from a memory element into a cache, and translating the commands which will be used in accomplishing the transfer into a standard format, such as peripheral component interconnect express.Type: ApplicationFiled: March 5, 2012Publication date: September 5, 2013Inventors: Nguyen P. Nguyen, Geoffrey Egnal, Michael J. Corbett, Gloacchino Prisciandaro, Stuart L. Claggett, Mitchell J. Corbett
-
Publication number: 20130212334Abstract: A run-time delay of a memory is measured, a run-time duration of a routine is determined, and an optimal run-time preload distance for the routine is determined based on the measured run-time memory delay and the determined run-time duration of the routine. Optionally, the run-time duration of the routine can be determined by measuring a run-time duration, and optionally the run-time duration can be determined based on a database of run-time delay for operations of the routine. Optionally, the optimal run-time preload distance is used in performing a loop of the routines.Type: ApplicationFiled: February 9, 2012Publication date: August 15, 2013Applicant: QUALCOMM INCORPORATEDInventors: Gerald Paul Michalak, Gregory Allan Reid
-
Patent number: 8499127Abstract: A computer system includes a memory hub for coupling a processor to a plurality of synchronous dynamic random access memory (“SDRAM”) devices. The memory hub includes a processor interface coupled to the processor and a plurality of memory interfaces coupled to respective SDRAM devices. The processor interface is coupled to the memory interfaces by a switch. Each of the memory interfaces includes a memory controller, a cache memory, and a prediction unit. The cache memory stores data recently read from or written to the respective SDRAM device so that it can be subsequently read by processor with relatively little latency. The prediction unit prefetches data from an address from which a read access is likely based on a previously accessed address.Type: GrantFiled: June 4, 2012Date of Patent: July 30, 2013Assignee: Round Rock Research, LLCInventor: Joseph M. Jeddeloh
-
Publication number: 20130191601Abstract: An apparatus, system, and method are disclosed for managing a cache. A cache interface module provides access to a plurality of virtual storage units of a solid-state storage device over a cache interface. At least one of the virtual storage units comprises a cache unit. A cache command module exchanges cache management information for the at least one cache unit with one or more cache clients over the cache interface. A cache management module manages the at least one cache unit based on the cache management information exchanged with the one or more cache clients.Type: ApplicationFiled: January 24, 2012Publication date: July 25, 2013Applicant: FUSION-IO, INC.Inventors: Jim Peterson, Nisha Talagala, Robert Wipfel, David Atkisson, Jonathan Ludwig, Ann Martin
-
Publication number: 20130185515Abstract: Systems and methods for populating a cache using a hardware prefetcher are disclosed. A method for prefetching cache entries includes determining an initial stride value based on at least a first and second demand miss address in the cache, verifying the initial stride value based on a third demand miss address in the cache, prefetching a predetermined number of cache entries based on the verified initial stride value, determining an expected next miss address in the cache based on the verified initial stride value and addresses of the prefetched cache entries; and confirming the verified initial stride value based on comparing the expected next miss address to a next demand miss address in the cache. If the verified initial stride value is confirmed, additional cache entries are prefetched. If the verified initial stride value is not confirmed, further prefetching is stalled and an alternate stride value is determined.Type: ApplicationFiled: January 16, 2012Publication date: July 18, 2013Applicant: QUALCOMM INCORPORATEDInventors: Peter G. Sassone, Suman Mamidi, Elizabeth Abraham, Suresh K. Venkumahanti, Lucian Codrescu
-
Patent number: 8484421Abstract: Embodiments of the present disclosure provide a system on a chip (SOC) comprising a processing core, and a cache including a cache instruction port, a cache data port, and a port utilization circuitry configured to selectively fetch instructions through the cache instruction port and selectively pre-fetch instructions through the cache data port. Other embodiments are also described and claimed.Type: GrantFiled: November 23, 2009Date of Patent: July 9, 2013Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Tarek Rohana, Adi Habusha, Gil Stoler
-
Patent number: 8478940Abstract: Instruction fetch unit (IFU) verification is improved by dynamically monitoring the current state of the IFU model and detecting any predetermined states of interest. The instruction address sequence is automatically modified to force a selected address to be fetched next by the IFU model. The instruction address sequence may be modified by inserting one or more new instruction addresses, or by jumping to a non-sequential address in the instruction address sequence. In exemplary implementations, the selected address is a corresponding address for an existing instruction already loaded in the IFU cache, or differs only in a specific field from such an address. The instruction address control is preferably accomplished without violating any rules of the processor architecture by sending a flush signal to the IFU model and overwriting an address register corresponding to a next address to be fetched.Type: GrantFiled: June 2, 2009Date of Patent: July 2, 2013Assignee: International Business Machines CorporationInventors: Akash V. Giri, Darin M. Greene, Alan G. Singletary
-
Publication number: 20130151779Abstract: A mechanism is provided for weighted history allocation prediction. For each member in a plurality of members in a lower level cache, an associated reference counter is initialized to an initial value based on an operation type that caused data to be allocated to a member location of the member. For each access to the member in the lower level cache, the associated reference counter is incremented. Responsive to a new allocation of data to the lower level cache and responsive to the new allocation of data requiring the victimization of another member in the lower level cache, a member of the lower level cache is identified that has a lowest reference count value in its associated reference counter. The member with the lowest reference count value in its associated reference counter is then evicted.Type: ApplicationFiled: December 9, 2011Publication date: June 13, 2013Applicant: International Business Machines CorporationInventors: David M. Daly, Benjiman L. Goodman, Stephen J. Powell, Aaron C. Sawdey, Jeffrey A. Stuecheli
-
Publication number: 20130145101Abstract: A method and apparatus are provided for controlling power consumed by a cache. The method comprises monitoring usage of a cache and providing a cache usage signal responsive thereto. The cache usage signal may be used to vary an operating parameter of the cache. The apparatus comprises a cache usage monitor and a controller. The cache usage monitor is adapted to monitor a cache and provide a cache usage signal responsive thereto. The controller is adapted to vary the operating parameter of the cache in response to the cache usage signal.Type: ApplicationFiled: December 6, 2011Publication date: June 6, 2013Inventor: Lisa Hsu
-
Patent number: 8458407Abstract: A method for generating cache user initiated pre-fetch requests, the method comprises initiating a sequence of user initiated pre-fetch requests; the method being characterized by: determining the timing of user initiated pre-fetch requests of the sequence of user initiated pre-fetch requests in response to: the timing of an occurrence of a last triggering event, a user initiated pre-fetch sequence delay period and a user initiated pre-fetch sequence rate.Type: GrantFiled: March 13, 2007Date of Patent: June 4, 2013Assignee: Freescale Semiconductor, Inc.Inventors: Rotem Porat, Moshe Anschel, Shai Koren, Itay Peled, Erez Steinberg
-
Publication number: 20130138887Abstract: The disclosed embodiments relate to a system that selectively drops a prefetch request at a cache. During operation, the system receives the prefetch request at the cache. Next, the system identifies a prefetch source for the prefetch request, and then uses accuracy information for the identified prefetch source to determine whether to drop the prefetch request. In some embodiments, the accuracy information includes accuracy information for different prefetch sources. In this case, determining whether to drop the prefetch request involves first identifying a prefetch source for the prefetch request, and then using accuracy information for the identified prefetch source to determine whether to drop the prefetch request.Type: ApplicationFiled: November 29, 2011Publication date: May 30, 2013Applicant: ORACLE INTERNATIONAL CORPORATIONInventor: Yuan C. Chou
-
Publication number: 20130132680Abstract: A method, apparatus and product for data prefetching. The method comprising: prefetching data associated with a load instruction of a computer program, wherein the prefetching is performed in anticipation to performing the load instruction, whereby the data is retained in the cache; detecting whether the prefetched data of the prefetching is invalidated after the prefetching commenced and prior to performing the load instruction; and adaptively determining whether to modify the prefetching data operation associated with the load instruction in response to the detection.Type: ApplicationFiled: November 20, 2011Publication date: May 23, 2013Applicant: International Business Machines CorporationInventor: Nitzan Peleg
-
Publication number: 20130132681Abstract: In one embodiment, a memory management system temporarily maintains a memory page at an artificially high priority level 210. The memory management system may assign an initial priority level 212 to a memory page in a page priority list 202. The memory management system may change the memory page to a target priority level 214 in the page priority list 202 after a protection period 238 has expired.Type: ApplicationFiled: November 22, 2011Publication date: May 23, 2013Applicant: Microsoft CorporationInventors: Landy Wang, Yevgeniy Bak, Mehmet Iyigun
-
Patent number: 8443151Abstract: An apparatus and method is described herein for optimization to prefetch throttling, which potentially enhances performance, reduces power consumption, and maintains positive gain for workloads that benefit from prefetching. More specifically, the optimizations described herein allow for bandwidth congestion and prefetch accuracy to be taken into account as feedbacks for throttling at the source of prefetch generation. As a result, when there is low congestion, full prefetch generation is allowed, even if the prefetch is inaccurate, since there is available bandwidth. However, when congestion is high, the determination of throttling falls to prefetch accuracy. If accuracy is high—miss rate is low—then less throttling is needed, because the prefetches are being utilized—performance is being enhanced.Type: GrantFiled: November 9, 2009Date of Patent: May 14, 2013Assignee: Intel CorporationInventors: Puqi P. Tang, Hemant G. Rotithor, Ryan L. Carlson, Nagi Aboulenein
-
Patent number: 8433853Abstract: A microprocessor includes a translation lookaside buffer, a request to load a page table entry into the microprocessor generated in response to a miss of a virtual address in the translation lookaside buffer, and a prefetch unit. The prefetch unit receives a physical address of a first cache line that includes the requested page table entry and responsively generates a request to prefetch into the microprocessor a second cache line that is the next physically sequential cache line to the first cache line.Type: GrantFiled: March 6, 2012Date of Patent: April 30, 2013Assignee: VIA Technologies, IncInventors: Colin Eddy, Rodney E. Hooker
-
Publication number: 20130103907Abstract: A memory management device includes a prefetch execution unit which performs prefetching data from a first memory unit, and moving the data to a second memory unit, and an initial data preservation unit which preserves data including at least a part of the data items which are placed in the second memory unit before the prefetch execution unit performs the prefetching, and data including the data which is prefetched by the prefetch execution unit as initial data which is data stored in the second memory unit when a system including the first and second memory units is started, before the prefetch execution unit performs prefetching.Type: ApplicationFiled: October 12, 2012Publication date: April 25, 2013Applicant: Sony CorporationInventor: Sony Corporation
-
Patent number: 8423720Abstract: A computer system having a main unit and an expansion unit connected by an interface arrangement. The expansion unit includes at least one connector for receiving an input/output component, so that additional input/output components can be added to the computer system. The interface arrangement includes at least one cache controller and at least one cache memory for monitoring and predicting requests exchanged between the main unit and the expansion unit. A method of caching and processing input/output requests and a storage medium is also provided.Type: GrantFiled: May 5, 2008Date of Patent: April 16, 2013Assignee: International Business Machines CorporationInventor: Andreas Christian Döring
-
Publication number: 20130086324Abstract: A change in workload characteristics detected at one tier of a multi-tiered cache is communicated to another tier of the multi-tiered cache. Multiple caching elements exist at different tiers, and at least one tier includes a cache element that is dynamically resizable. The communicated change in workload characteristics causes the receiving tier to adjust at least one aspect of cache performance in the multi-tiered cache. In one aspect, at least one dynamically resizable element in the multi-tiered cache is resized responsive to the change in workload characteristics.Type: ApplicationFiled: September 30, 2011Publication date: April 4, 2013Inventors: GOKUL SOUNDARARAJAN, Kaladhar Voruganti, Lakshmi Narayanan Bairavasundaram, Priya Sehgal, Vipul Mathur
-
Patent number: 8407423Abstract: Read-ahead of data blocks in a storage system is performed based on a policy. The policy is stochastically selected from a plurality of policies in respect to probabilities. The probabilities are calculated based on past performances, also referred to as rewards. Policies which induce better performance may be given precedence over other policies. However, the other policies may be also utilized to reevaluate them. A balance between exploration of different policies and exploitation of previously discovered good policies may be achieved.Type: GrantFiled: April 19, 2012Date of Patent: March 26, 2013Assignee: International Business Machines CorporationInventors: Dan Pelleg, Eran Raichstein, Amir Ronen
-
Publication number: 20130073810Abstract: An embedded controller includes a microcontroller core and memory control circuitry. The memory control circuitry is configured to communicate with a Central Processing Unit (CPU) chipset over a first Serial Peripheral Interface (SPI), for which bus arbitration is not supported, at a first clock rate, to communicate with a memory over a second SPI at a second, fixed clock rate, to relay memory transactions between the CPU chipset and the memory over the first and second SPIs, to identify time intervals in which no memory transactions are relayed on the second SPI and to retrieve from the memory information for operating the microcontroller core during the identified time intervals.Type: ApplicationFiled: September 20, 2011Publication date: March 21, 2013Applicant: NUVOTON TECHNOLOGY CORPORATIONInventors: Moshe Alon, Michal Schramm, Nir Tasher
-
Publication number: 20130067170Abstract: A method and computer readable medium are disclosed for predictive caching of web pages for display through a screen of a mobile computing device. A load request is received at a mobile computing device, where the load request includes a current timestamp and an address. The address points to a remote server storing a current copy of the address content. The mobile computing device determines whether there is an existing copy of the address content is pre-cached on the mobile computing device. The mobile computing device determines whether a difference between the current timestamp and a pre-cache timestamp is greater than a heuristic timeliness value. If it is, the mobile computing device pre-caches the current copy of the address content from the remove server at the address on the mobile computing device. The mobile computing device then provides the current copy of the address content for display on its screen.Type: ApplicationFiled: September 14, 2011Publication date: March 14, 2013Inventor: Yin Zin Mark Lam
-
Publication number: 20130042074Abstract: In one embodiment, a processor comprises a prefetch unit coupled to a data cache. The prefetch unit is configured to concurrently maintain a plurality of separate, active prefetch streams. Each prefetch stream is either software initiated via execution by the processor of a dedicated prefetch instruction or hardware initiated via detection of a data cache miss by one or more load/store memory operations. The prefetch unit is further configured to generate prefetch requests responsive to the plurality of prefetch streams to prefetch data in to the data cache.Type: ApplicationFiled: October 15, 2012Publication date: February 14, 2013Applicant: APPLE INC.Inventor: Apple Inc.
-
Publication number: 20130031313Abstract: A first cache arrangement including an input configured to receive a memory request from a second cache arrangement; a first cache memory for storing data; an output configured to provide a response to the memory request for the second cache arrangement; and a first cache controller; the first cache controller configured such that for the response to the memory request output by the output, the cache memory includes no allocation for data associated with the memory request.Type: ApplicationFiled: July 27, 2012Publication date: January 31, 2013Applicant: STMicroelectronics (R&D) Ltd.Inventors: Stuart Ryan, Andrew Michael Jones
-
Publication number: 20130031312Abstract: A cache memory controller including: a pre-fetch requester configured to issue pre-fetch requests, each pre-fetch request having one of a plurality of different quality of services.Type: ApplicationFiled: July 27, 2012Publication date: January 31, 2013Applicant: STMicroelectronics (R&D) Ltd.Inventors: Andrew Michael Jones, Stuart Ryan
-
Publication number: 20130031306Abstract: Apparatuses and methods for prefetching data are disclosed. A method may include receiving a read request at a data storage device, determining a meta key in an address map that includes a logical block address (LBA) of the read request, wherein the meta key includes a beginning LBA and a size field corresponding to a number of consecutive sequential LBAs stored on the data storage device, calculating a prefetch operation to prefetch data based on addresses included in the meta key, and reading data corresponding to the prefetch operation and the read request. An apparatus may include a processor configured to receive a read request, determine a first meta key and a second meta key in an address map, calculate a prefetch operation based on addresses included in the first meta key and the second meta key, and read data corresponding to the prefetch operation and the read request.Type: ApplicationFiled: April 27, 2012Publication date: January 31, 2013Applicant: Seagate Technology LLCInventor: Ki Woong Kim
-
Patent number: 8364902Abstract: A microprocessor includes an instruction decoder for decoding a repeat prefetch indirect instruction that includes address operands used to calculate an address of a first entry in a prefetch table having a plurality of entries, each including a prefetch address. The repeat prefetch indirect instruction also includes a count specifying a number of cache lines to be prefetched. The memory address of each of the cache lines is specified by the prefetch address in one of the entries in the prefetch table. A count register, initially loaded with the count specified in the prefetch instruction, stores a remaining count of the cache lines to be prefetched. Control logic fetches the prefetch addresses of the cache lines from the table into the microprocessor and prefetches the cache lines from the system memory into a cache memory of the microprocessor using the count register and the prefetch addresses fetched from the table.Type: GrantFiled: October 15, 2009Date of Patent: January 29, 2013Assignee: VIA Technologies, Inc.Inventors: Rodney E. Hooker, John Michael Greer
-
Publication number: 20130024627Abstract: Provided are a computer program product, system, and method for prefetching data tracks and parity data to use for destaging updated tracks. A write request is received including at least one updated track to the group of tracks. The at least one updated track is stored in a first cache device. A prefetch request is sent to the at least one sequential access storage device to prefetch tracks in the group of tracks to a second cache device. A read request is generated to read the prefetch tracks following the sending of the prefetch request. The read prefetch tracks returned to the read request from the second cache device are stored in the first cache device. New parity data is calculated from the at least one updated track and the read prefetch tracks.Type: ApplicationFiled: April 27, 2012Publication date: January 24, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael T. Benhase, Binny S. Gill, Lokesh M. Gupta, James L. Hafner
-
Publication number: 20130024625Abstract: Provided are a computer program product, sequential access storage device, and method for managing data in a sequential access storage device receiving read requests and write requests from a system with respect to tracks stored in a sequential access storage medium. A prefetch request indicates prefetch tracks in the sequential access storage medium to read from the sequential access storage medium. The accessed prefetch tracks are cached in a non-volatile storage device integrated with the sequential access storage device, wherein the non-volatile storage device is a faster access device than the sequential access storage medium. A read request is received for the prefetch tracks following the caching of the prefetch tracks, wherein the prefetch request is designated to be processed at a lower priority than the read request with respect to the sequential access storage medium. The prefetch tracks are returned from the non-volatile storage device to the read request.Type: ApplicationFiled: May 24, 2012Publication date: January 24, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael T. Benhase, Binny S. Gill, Lokesh M. Gupta, James L. Hafner
-
Publication number: 20130024626Abstract: A point-in-time copy relationship associates tracks in a source storage with tracks in a target storage. The target storage stores the tracks in the source storage as of a point-in-time. A write request is received including an updated source track for a point-in-time source track in the source storage in the point-in-time copy relationship. The point-in-time source track was in the source storage at the point-in-time the copy relationship was established. The updated source track is stored in a first cache device. A prefetch request is sent to the source storage to prefetch the point-in-time source track in the source storage subject to the write request to a second cache device. A read request is generated to read the source track in the source storage following the sending of the prefetch request. The read source track is copied to a corresponding target track in the target storage.Type: ApplicationFiled: July 22, 2011Publication date: January 24, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael T. Benhase, Lokesh M. Gupta
-
Patent number: 8359430Abstract: A data storage system can automatically improve the layout of data blocks on a mass storage subsystem by collecting optimization information during both read and write activities, then processing the optimization information to limit the impact of optimization activities on the system's response to client requests. Processing read-path optimization information and write-path optimization information through shared rate-limiting logic simplifies system administration and promotes phased implementation, which can reduce the difficulty of developing a self-optimizing storage server.Type: GrantFiled: August 30, 2007Date of Patent: January 22, 2013Assignee: Network Appliance, Inc.Inventor: Robert L. Fair
-
Publication number: 20130013867Abstract: A data prefetcher includes a controller to control operation of the data prefetcher. The controller receives data associated with cache misses and data associated with events that do not rely on a prefetching function of the data prefetcher. The data prefetcher also includes a counter to maintain a count associated with the data prefetcher. The count is adjusted in a first direction in response to detection of a cache miss, and in a second direction in response to detection of an event that does not rely on the prefetching function. The controller disables the prefetching function when the count reaches a threshold value.Type: ApplicationFiled: July 6, 2011Publication date: January 10, 2013Applicant: ADVANCED MICRO DEVICES, INC.Inventors: Srilatha Manne, Steven K. Reinhardt
-
Publication number: 20130007374Abstract: A dual-mode prefetch system for implementing checkpoint tag prefetching includes: a data array for storing data fetched from cache memory; a set of cache tags identifying the data stored in the data array; a checkpoint tag array storing data identification information; and a cache controller with prefetch logic.Type: ApplicationFiled: September 11, 2012Publication date: January 3, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Harold Wade Cain, III, Jong-Deok Choi
-
Patent number: 8347039Abstract: A stream prefetch engine performs data retrieval in a parallel computing system. The engine receives a load request from at least one processor. The engine evaluates whether a first memory address requested in the load request is present and valid in a table. The engine checks whether there exists valid data corresponding to the first memory address in an array if the first memory address is present and valid in the table. The engine increments a prefetching depth of a first stream that the first memory address belongs to and fetching a cache line associated with the first memory address from the at least one cache memory device if there is not yet valid data corresponding to the first memory address in the array. The engine determines whether prefetching of additional data is needed for the first stream within its prefetching depth. The engine prefetches the additional data if the prefetching is needed.Type: GrantFiled: January 8, 2010Date of Patent: January 1, 2013Assignee: International Business Machines CorporationInventors: Peter Boyle, Norman Christ, Alan Gara, Robert Mawhinney, Martin Ohmacht, Krishnan Sugavanam
-
Publication number: 20120331235Abstract: There is provided a memory management apparatus including a data input/output part for requesting to read data in units of blocks in a first size from a first storage medium and storing the data read from the first storage medium into a second storage medium, a data creating part for creating prefetch data obtained by converting a history of the request to read the data from the first storage medium into data of which read position and size are indicated in units of blocks in a second size, the request being issued by the data input/output part in response to a request from a program to be prefetched, and a prefetching part for requesting the data input/output part to prefetch the data of the program from the first storage medium to the second storage medium based on the prefetch data.Type: ApplicationFiled: June 15, 2012Publication date: December 27, 2012Inventors: Tomohiro KATORI, Kazumi Sato
-
Publication number: 20120331234Abstract: Data transfer between processors is efficiently performed in a multiprocessor including a shared cache memory. Each entry in a tag storage section 220 of a cache memory holds a reference number field 224 in addition to a tag address field 221, a valid field 222, and a dirty field 223. The reference number field 224 is set in a data write, and the value thereof is decremented after each read access. When the value of the reference number field 224 is changed from “1” to “0”, the entry is invalidated without performing a write-back operation. When the cache memory is used for communication between processors in the multiprocessor system, the cache memory functions as a shared FIFO, and used data is automatically deleted.Type: ApplicationFiled: December 14, 2010Publication date: December 27, 2012Applicant: Sony CorporationInventors: Taichi Hirao, Hiroaki Sakaguchi, Hiroshi Yoshikawa, Masaaki Ishii
-
Publication number: 20120323549Abstract: A system and method of parallel processing includes a computer system including a first processor, the first processor being a control flow type processor, a second processor, the second processor being a data flow type processor. The second processor is coupled to a second memory system, the second memory system including instructions stored therein in an order of execution and corresponding events data stored therein in the order of execution. A first one of the instructions are stored at a predefined location in the second memory system. The system also includes a run time events insertion and control unit coupled to the first processor and the second processor. The first processor, the second processor and the run time events insertion and control unit are on a common integrated circuit.Type: ApplicationFiled: June 12, 2012Publication date: December 20, 2012Inventor: Asghar Bashteen
-
Publication number: 20120317364Abstract: An apparatus is disclosed for performing cache prefetching from non-uniform memories. The apparatus includes a processor configured to access multiple system memories with different respective performance characteristics. Each memory stores a respective subset of system memory data. The apparatus includes caching logic configured to determine a portion of the system memory to prefetch into the data cache. The caching logic determines the portion to prefetch based on one or more of the respective performance characteristics of the system memory that stores the portion of data.Type: ApplicationFiled: June 13, 2011Publication date: December 13, 2012Inventor: Gabriel H. Loh
-
Patent number: 8327077Abstract: A prefetch system improves a performance of a parallel computing system. The parallel computing system includes a plurality of computing nodes. A computing node includes at least one processor and at least one memory device. The prefetch system includes at least one stream prefetch engine and at least one list prefetch engine. The prefetch system operates those engines simultaneously. After the at least one processor issues a command, the prefetch system passes the command to a stream prefetch engine and a list prefetch engine. The prefetch system operates the stream prefetch engine and the list prefetch engine to prefetch data to be needed in subsequent clock cycles in the processor in response to the passed command.Type: GrantFiled: January 29, 2010Date of Patent: December 4, 2012Assignee: International Business Machines CorporationInventors: Peter A. Boyle, Norman H. Christ, Alan Gara, Robert D. Mawhinney, Martin Ohmacht, Krishnan Sugavanam