Look-ahead Patents (Class 711/137)
  • Publication number: 20150026414
    Abstract: A prefetcher maintains the state of stored prefetch information, such as a prefetch confidence level, when a prefetch would cross a memory page boundary. The maintained prefetch information can be used both to identify whether the stride pattern for a particular sequence of demand requests persists after the memory page boundary has been crossed, and to continue to issue prefetch requests according to the identified pattern. The prefetcher therefore does not have re-identify a stride pattern each time a page boundary is crossed by a sequence of demand requests, thereby improving the efficiency and accuracy of the prefetcher.
    Type: Application
    Filed: July 17, 2013
    Publication date: January 22, 2015
    Applicant: Advanced Micro Devices, Inc.
    Inventors: John Kalamatianos, Paul Keltcher, Marius Evers, Chitresh Narasimhaiah
  • Publication number: 20150026413
    Abstract: In an embodiment, a processor may implement an access map-pattern match (AMPM)-based prefetcher in which patterns may include wild cards for some cache blocks. The wild card may match any access for the corresponding cache block (e.g. no access, demand access, prefetch, successful prefetch, etc.). Furthermore, patterns with irregular strides and/or irregular access patterns may be included in the matching patterns and may be detected for prefetch generation. In an embodiment, the AMPM prefetcher may implement a chained access map for large streaming prefetches. If a stream is detected, the AMPM prefetcher may allocate a pair of map entries for the stream and may reuse the pair for subsequent access map regions within the stream. In some embodiments, a quality factor may be associated with each access map and may control the rate of prefetch generation.
    Type: Application
    Filed: July 16, 2013
    Publication date: January 22, 2015
    Inventors: Stephan G. Meier, Gerard R. Williams, III, Hari S. Kannan, Pavlos Konas
  • Publication number: 20150026415
    Abstract: A method for pre-loading contents in a cache of a mobile terminal, and a mobile terminal using the method, are provided. The method includes determining specific contents for pre-loading, determining circumstances for pre-loading the specific contents, and monitoring circumstances of the mobile terminal. If the circumstances for pre-loading are detected, the method determines whether the specific contents are already present in cache, and if the specific contents are not present in cache, loads the specific contents into the cache when the circumstances for pre-loading are detected.
    Type: Application
    Filed: July 19, 2013
    Publication date: January 22, 2015
    Applicant: Samsung Electronics Co., Ltd.
    Inventors: William Stryker CLAUSEN, Andrew MAST
  • Publication number: 20150019824
    Abstract: An apparatus for processing cache requests in a computing system is disclosed. The apparatus may include a pending request buffer and a control circuit. The pending request buffer may include a plurality of buffer entries. The control circuit may be coupled to the pending request buffer and may be configured to receive a request for a first cache line from a pre-fetch engine, and store the received request in an entry of the pending request buffer. The control circuit may be further configured to receive a request for a second cache line from a processor, and store the request received from the processor in the entry of the pending request buffer in response to a determination that the second cache line is the same as the first cache line.
    Type: Application
    Filed: July 12, 2013
    Publication date: January 15, 2015
    Inventors: Brian P. Lilly, Perumal R. Subramoniam, Prashant Jain
  • Publication number: 20150019821
    Abstract: Embodiments relate to a method and computer program product for prefetching data on a chip having at least one scout core and a parent core. The method includes saving a prefetch code start address by the parent core. The prefetch code start address indicates where a prefetch code is stored. The prefetch code is specifically configured for monitoring the parent core based on a specific application being executed by the parent core. The method includes sending a broadcast interrupt signal by the parent core to the at least one scout core. The broadcast interrupt signal being sent based on the prefetch code start address being saved. The method includes monitoring the parent core by the prefetch code executed by at least one scout core. The scout core executes the prefetch code based on receiving the broadcast interrupt signal.
    Type: Application
    Filed: September 30, 2014
    Publication date: January 15, 2015
    Inventors: Fadi Y. Busaba, Steven R. Carlough, Christopher A. Krygowski, Brian R. Prasky, Chung-lung K. Shum
  • Patent number: 8935478
    Abstract: According to one aspect of the present disclosure, a system and technique for variable cache line size management is disclosed. The system includes a processor and a cache hierarchy, where the cache hierarchy includes a sectored upper level cache and an unsectored lower level cache, and wherein the upper level cache includes a plurality of sub-sectors, each sub-sector having a cache line size corresponding to a cache line size of the lower level cache. The system also includes logic executable to, responsive to determining that a cache line from the upper level cache is to be evicted to the lower level cache: identify referenced sub-sectors of the cache line to be evicted; invalidate unreferenced sub-sectors of the cache line to be evicted; and store the referenced sub-sectors in the lower level cache.
    Type: Grant
    Filed: November 1, 2011
    Date of Patent: January 13, 2015
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Wen-Tzer T. Chen, Diane G. Flemming, Hong L. Hua, William A. Maron, Mysore S. Srinivas
  • Patent number: 8935479
    Abstract: Provided are a computer program product, system, and method for managing data in a first cache and a second cache. A reference count is maintained in the second cache for the page when the page is stored in the second cache. It is determined that the page is to be promoted from the second cache to the first cache. In response to determining that the reference count is greater than zero, the page is added to a Least Recently Used (LRU) end of an LRU list in the first cache. In response to determining that the reference count is less than or equal to zero, the page is added to a Most Recently Used (LRU) end of the LRU list in the first cache.
    Type: Grant
    Filed: May 8, 2012
    Date of Patent: January 13, 2015
    Assignee: International Business Machines Corporation
    Inventors: Michael T. Benhase, Stephen L. Blinick, Evangelos S. Eleftheriou, Lokesh M. Gupta, Robert Haas, Xiao-Yu Hu, Ioannis Koltsidas, Roman A. Pletka
  • Publication number: 20150012712
    Abstract: A method for pre-fetching information units, the method may include: (I) Receiving, by a storage system, write requests for writing information units to the storage system. Each write request includes a first identifier and a second identifier. The first identifier identifies a logical address. A combination of the first and second identifiers identifies an accessing entity that initiated the write request. (II) Receiving a read request for reading at least one information unit from the storage system, the read request is initiated by a certain accessing entity. (III) Determining whether to perform a pre-fetch of at least one additional information unit in response to at least one write request that was initiated by the certain accessing entity. If is determined to perform the pre-fetch then fetching the at least one additional information unit.
    Type: Application
    Filed: July 2, 2013
    Publication date: January 8, 2015
    Inventor: SHLOMI PENNER
  • Patent number: 8930968
    Abstract: A data processing method and driver capable of reducing transactions between operating systems (OS) in a virtualization environment that supports a plurality of operating systems are provided. The data processing driver reads, when reading data, an Inode of next data. Then, the data processing driver determines whether or not to request an Inode to a host OS by comparing the read Inode with a requested Inode.
    Type: Grant
    Filed: December 8, 2010
    Date of Patent: January 6, 2015
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Bo-Seok Moon, Sang-Bum Suh, Sung-Min Lee
  • Patent number: 8930624
    Abstract: Provided are a computer program product, system, and method for managing data in a first cache and a second cache. A reference count is maintained in the second cache for the page when the page is stored in the second cache. It is determined that the page is to be promoted from the second cache to the first cache. In response to determining that the reference count is greater than zero, the page is added to a Least Recently Used (LRU) end of an LRU list in the first cache. In response to determining that the reference count is less than or equal to zero, the page is added to a Most Recently Used (LRU) end of the LRU list in the first cache.
    Type: Grant
    Filed: March 5, 2012
    Date of Patent: January 6, 2015
    Assignee: International Business Machines Corporation
    Inventors: Michael T. Benhase, Stephen L. Blinick, Evangelos S. Eleftheriou, Lokesh M. Gupta, Robert Haas, Xiao-Yu Hu, Ioannis Koltsidas, Roman A. Pletka
  • Patent number: 8930632
    Abstract: Methods and systems for application controlled pre-fetch are described. The system receives pre-fetch information, over a network, at a first load balancer. The pre-fetch information is received from a first application server and includes a plurality of element identifiers that respectively identify a plurality of interface elements included in an interface. The system identifies a first element identifier from the plurality of element identifiers in the pre-fetch information. The first element identifier identifies a first interface element. The system retrieves the first interface element by communication of a request to a second application server. The request includes the first element identifier.
    Type: Grant
    Filed: November 14, 2012
    Date of Patent: January 6, 2015
    Assignee: eBay Inc.
    Inventor: Srinivasan Raman
  • Patent number: 8924651
    Abstract: 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: Grant
    Filed: April 16, 2013
    Date of Patent: December 30, 2014
    Assignee: Intel Corporation
    Inventors: Perry P. Tang, Hemant G. Rotithor, Ryan L. Carlson, Nagi Aboulenein
  • Patent number: 8922565
    Abstract: A system, method and apparatus are disclosed, in which a processing unit is configured to perform secondary processing on graphics pipeline data outside the graphics pipeline, with the output from the secondary processing being integrated into the graphics pipeline so that it is made available to the graphics pipeline. A determination is made whether to use secondary processing, and in a case that secondary processing is to be used, a command stream, which can comprise one or more commands, is provided to the secondary processing unit, so that the unit can locate and operate on buffered graphics pipeline data. Secondary processing is managed and monitored so as to synchronize data access by the secondary processing unit with the graphics pipeline processing modules.
    Type: Grant
    Filed: November 30, 2007
    Date of Patent: December 30, 2014
    Assignee: QUALCOMM Incorporated
    Inventor: Michael D. Street
  • Publication number: 20140379995
    Abstract: A semiconductor device may include a pattern detector configured to select any one of a plurality of stride patterns as a detect pattern by referring to an input address, and the pattern detector may be configured to generate a prefetch address. The semiconductor device may also include a prefetch controller configured to generate a prefetch request according to the prefetch address generated by the pattern detector. The semiconductor device may also include a first storage unit configured to store prefetch data provided from a memory device according to the prefetch request generated by the prefetch controller, and a second storage unit configured to store prefetch data removed from the first storage unit.
    Type: Application
    Filed: June 10, 2014
    Publication date: December 25, 2014
    Inventors: Jung-Hyun KWON, Min-Sung KANG
  • Patent number: 8918589
    Abstract: A memory controller (101) according to this invention includes: a command generation unit (102) which generates access commands each including a physical address, based on an access request including a logical address indicating a rectangular area in image data; and a command issuance unit (105) which issues, to a memory (0), the access commands generated by the command generation unit (102). The command generation unit (102) includes a group determination unit (104) which determines a group to which a bank including data to be accessed belongs, based on the physical address corresponding to the access request. The command generation unit (102) generates a pair of a first and a second access commands which share a prefetch buffer between two banks belonging to different groups, when data to be accessed is continuous across two banks belonging to different groups.
    Type: Grant
    Filed: April 21, 2009
    Date of Patent: December 23, 2014
    Assignee: Panasonic Corporation
    Inventors: Koji Asai, Tetsuji Mochida, Daisuke Imoto, Takashi Yamada, Wataru Ohkoshi
  • Patent number: 8918618
    Abstract: An adaptive memory system is provided for improving the performance of an external computing device. The adaptive memory system includes a single controller, a first memory type (e.g., Static Random Access Memory or SRAM), a second memory type (e.g., Dynamic Random Access Memory or DRAM), a third memory type (e.g., Flash), an internal bus system, and an external bus interface. The single controller is configured to: (i) communicate with all three memory types using the internal bus system; (ii) communicate with the external computing device using the external bus interface; and (iii) allocate cache-data storage assignment to a storage space within the first memory type, and after the storage space within the first memory type is determined to be full, allocate cache-data storage assignment to a storage space within the second memory type.
    Type: Grant
    Filed: July 2, 2013
    Date of Patent: December 23, 2014
    Assignee: Mobile Semiconductor Corporation
    Inventors: Louis Cameron Fisher, Stephen V. R. Hellriegel, Mohammad S. Ahmadnia
  • Patent number: 8914590
    Abstract: In a data-processing method, first result data may be obtained using a plurality of configurable coarse-granular elements, the first result data may be written into a memory that includes spatially separate first and second memory areas and that is connected via a bus to the plurality of configurable coarse-granular elements, the first result data may be subsequently read out from the memory, and the first result data may be subsequently processed using the plurality of configurable coarse-granular elements. In a first configuration, the first memory area may be configured as a write memory, and the second memory area may be configured as a read memory. Subsequent to writing to and reading from the memory in accordance with the first configuration, the first memory area may be configured as a read memory, and the second memory area may be configured as a write memory.
    Type: Grant
    Filed: September 30, 2009
    Date of Patent: December 16, 2014
    Assignee: PACT XPP Technologies AG
    Inventors: Martin Vorbach, Jürgen Becker, Markus Weinhardt, Volker Baumgarte, Frank May
  • Publication number: 20140365732
    Abstract: Patterns of access and/or behavior can be analyzed and persisted for use in pre-fetching data from a physical storage device. In at least some embodiments, data can be aggregated across volumes, instances, users, applications, or other such entities, and that data can be analyzed to attempt to determine patterns for any of those entities. The patterns and/or analysis can be persisted such that the information is not lost in the event of a reboot or other such occurrence. Further, aspects such as load and availability across the network can be analyzed to determine where to send and/or store data that is pre-fetched from disk or other such storage in order to reduce latency while preventing bottlenecks or other such issues with resource availability.
    Type: Application
    Filed: August 25, 2014
    Publication date: December 11, 2014
    Inventors: Swaminathan Sivasubramanian, Bradley Eugene Marshall, Tate Andrew Certain, Nicholas J. Maniscalco
  • Patent number: 8909866
    Abstract: A processor transfers prefetch requests from their targeted cache to another cache in a memory hierarchy based on a fullness of a miss address buffer (MAB) or based on confidence levels of the prefetch requests. Each cache in the memory hierarchy is assigned a number of slots at the MAB. In response to determining the fullness of the slots assigned to a cache is above a threshold when a prefetch request to the cache is received, the processor transfers the prefetch request to the next lower level cache in the memory hierarchy. In response, the data targeted by the access request is prefetched to the next lower level cache in the memory hierarchy, and is therefore available for subsequent provision to the cache. In addition, the processor can transfer a prefetch request to lower level caches based on a confidence level of a prefetch request.
    Type: Grant
    Filed: November 6, 2012
    Date of Patent: December 9, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventors: John Kalamatianos, Ravindra Nath Bhargava, Ramkumar Jayaseelan
  • Patent number: 8898390
    Abstract: In one embodiment, a processor includes a first cache and a second cache, a first core associated with the first cache and a second core associated with the second cache. The caches are of asymmetric sizes, and a scheduler can intelligently schedule threads to the cores based at least in part on awareness of this asymmetry and resulting cache performance information obtained during a training phase of at least one of the threads.
    Type: Grant
    Filed: March 8, 2011
    Date of Patent: November 25, 2014
    Assignee: Intel Corporation
    Inventors: Xiaowei Jiang, Li Zhao, Ravishankar Iyer
  • Patent number: 8892821
    Abstract: A data processing system includes a system memory, one or more processing cores, and a memory controller that controls access to a system memory. The memory controller includes a memory speculation mechanism that stores historical information regarding prior memory accesses. In response to a memory access request, the memory controller speculatively initiates access to the system memory based upon the historical information in the memory speculation mechanism in advance of receipt of a coherency message indicating that the memory access request is to be serviced by reference to the system memory.
    Type: Grant
    Filed: December 10, 2003
    Date of Patent: November 18, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ravi Kumar Arimilli, Sanjeev Ghai, Warren Edward Maule
  • Patent number: 8892822
    Abstract: 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: Grant
    Filed: November 29, 2011
    Date of Patent: November 18, 2014
    Assignee: Oracle International Corporation
    Inventor: Yuan C. Chou
  • Patent number: 8886914
    Abstract: According to one embodiment of the present disclosure, a method for multiplex restore using next relative address may be provided. The method may include identifying an address of a first data chunk of a file stored on a storage device. The first data chunk may be read by accessing the storage device at the address of the first data chunk. A next relative address appended to the first data chunk may be identified. The next relative address may indicate a position of a next chunk. The next chunk may comprise a next data chunk of the file or an empty chunk associated with the file. The method may further include reading the next chunk by accessing the storage device at the position indicated by the next relative address.
    Type: Grant
    Filed: February 24, 2011
    Date of Patent: November 11, 2014
    Assignee: CA, Inc.
    Inventor: Ai Huang
  • Patent number: 8886895
    Abstract: A method for fetching information in response to hazard indication information, the method includes: (i) associating hazard indication information to at least one information unit that is being fetched to the cache module; (ii) receiving a request to perform a fetch operation; and (iii) determining whether to fetch at least one information unit to the cache module in response to the hazard indication information and in response to dirty information associated with the at least one information unit.
    Type: Grant
    Filed: September 14, 2004
    Date of Patent: November 11, 2014
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Itay Peled, Moshe Anschel, Jacob Efrat, Alon Eldar, Ziv Zamsky
  • Patent number: 8886887
    Abstract: A computer implemented method, software infrastructure and computer usable program code for improving application performance. A delinquent memory operation instruction is identified. A delinquent memory operation instruction is an instruction associated with cache misses that exceeds a threshold number of cache misses. A directive is inserted in a code region associated with the delinquent memory operation to form annotated code. The directive indicates an address of the delinquent memory operation instruction and a number of memory latency cycles expected to be required for the delinquent memory operation instruction to execute. The information included in the annotated code is used to optimize execution of an application associated with the delinquent memory operation instruction.
    Type: Grant
    Filed: March 15, 2007
    Date of Patent: November 11, 2014
    Assignee: International Business Machines Corporation
    Inventors: Gheorghe Calin Cascaval, Yaoqing Gao, Allen Russell Martin, Mark Peter Mendell
  • Patent number: 8880807
    Abstract: A data prefetcher in a microprocessor. The data prefetcher includes a plurality of period match counters associated with a corresponding plurality of different pattern periods. The data prefetcher also includes control logic that updates the plurality of period match counters in response to accesses to a memory block by the microprocessor, determines a clear pattern period based on the plurality of period match counters and prefetches into the microprocessor non-fetched cache lines within the memory block based on a pattern having the clear pattern period determined based on the plurality of period match counters.
    Type: Grant
    Filed: May 20, 2014
    Date of Patent: November 4, 2014
    Assignee: VIA Technologies, Inc.
    Inventors: Rodney E. Hooker, John Michael Greer
  • Patent number: 8880652
    Abstract: 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: Grant
    Filed: September 14, 2011
    Date of Patent: November 4, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Yin Zin Mark Lam
  • Patent number: 8880847
    Abstract: A prefetching system receives a memory read request having an associated address. In response to a determination that a most significant portion of the associated address is not present within slots of an array for storing the most significant portion of predicted addresses, a prefetch FIFO (First In-First Out) counter is modified to point to a next slot of the array and a new predicted address is generated in response to the received most significant portion of the associated address and is placed in the next slot of the array. The prefetch FIFO counter cycles through the slots of the array before wrapping around to a first slot of the array for storing the most significant portion of predicted addresses.
    Type: Grant
    Filed: July 4, 2011
    Date of Patent: November 4, 2014
    Assignee: Texas Instruments Incorporated
    Inventor: Kai Chirca
  • Publication number: 20140325159
    Abstract: Methods and systems for improved control of traffic generated by a processor are described. In an embodiment, when a device generates a pre-fetch request for a piece of data or an instruction from a memory hierarchy, the device includes a pre-fetch identifier in the request. This identifier flags the request as a pre-fetch request rather than a non-pre-fetch request, such as a time-critical request. Based on this identifier, the memory hierarchy can then issue an abort response at times of high traffic which suppresses the pre-fetch traffic, as the pre-fetch traffic is not fulfilled by the memory hierarchy. On receipt of an abort response, the device deletes at least a part of any record of the pre-fetch request and if the data/instruction is later required, a new request is issued at a higher priority than the original pre-fetch request.
    Type: Application
    Filed: January 13, 2014
    Publication date: October 30, 2014
    Applicant: IMAGINATION TECHNOLOGIES, LTD.
    Inventor: Jason MEREDITH
  • Patent number: 8872677
    Abstract: A compression method applies a selection rule to input symbols and generates a reduced partial set of symbols. The partial set is checked against a dictionary-index for a match. A match identifies a range of matching symbols in a dictionary. The length of the matching range is iteratively increased by checking previous and next symbols in the input data and the dictionary until a matching range length meets a threshold limit or the length of the matching range cannot be increased further. Compressed data corresponding to the input symbols is provided where input symbols are copied over and symbols in a matched range of data are replaced with a representation of their corresponding start location and length in the dictionary.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: October 28, 2014
    Assignee: Dialogic Networks (Israel) Ltd.
    Inventors: Oleg Litvak, Amir Ilan
  • Patent number: 8874853
    Abstract: A method, circuit arrangement, and design structure utilize broadcast prediction data to determine whether to globally broadcast a memory request in a computing system of the type that includes a plurality of nodes, each node including a plurality of processing units. The method includes updating broadcast prediction data for a cache line associated with a first memory request within a hardware-based broadcast prediction data structure in turn associated with a first processing unit in response to the first memory request, the broadcast prediction data for the cache line including data associated with a history of ownership of the cache line. The method further comprises accessing the broadcast prediction data structure and determining whether to perform an early broadcast of a second memory request to a second node based on broadcast prediction data within the broadcast prediction data structure in response to that second memory request associated with the cache line.
    Type: Grant
    Filed: June 4, 2010
    Date of Patent: October 28, 2014
    Assignee: International Business Machines Corporation
    Inventors: Jason F. Cantin, Steven R. Kunkel
  • Patent number: 8874840
    Abstract: In one aspect of the present description, at least one of the value of a prestage trigger and the value of the prestage amount, may be modified as a function of the drive speed of the storage drive from which the units of read data are prestaged into a cache memory. Thus, cache prestaging operations in accordance with another aspect of the present description may take into account storage devices of varying speeds and bandwidths for purposes of modifying a prestage trigger and the prestage amount. Other features and aspects may be realized, depending upon the particular application.
    Type: Grant
    Filed: March 6, 2013
    Date of Patent: October 28, 2014
    Assignee: International Business Machines Corporation
    Inventors: Michael T. Benhase, Nedlaya Y Francisco, Binny S. Gill, Lokesh M. Gupta, Suguang Li
  • Publication number: 20140317356
    Abstract: A processor includes a processing unit, a cache memory, and a central request queue. The central request queue is operable to receive a prefetch load request for a cache line to be loaded into the cache memory, receive a demand load request for the cache line from the processing unit, merge the prefetch load request and the demand load request to generate a promoted load request specifying the processing unit as a requestor, receive the cache line associated with the promoted load request, and forward the cache line to the processing unit.
    Type: Application
    Filed: April 17, 2013
    Publication date: October 23, 2014
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Sriram Srinivasan, Tarun Nakra
  • Publication number: 20140317357
    Abstract: A processor includes a cache memory, a first core including an instruction execution unit, and a memory bus coupling the cache memory to the first core. The memory bus is operable to receive a first portion of a cache line of data for the cache memory, the first core is operable to identify a plurality of data requests targeting the cache line and the first portion and select one of the identified plurality of data requests for execution, and the memory bus is operable to forward the first portion to the instruction execution unit and to the cache memory in parallel.
    Type: Application
    Filed: April 17, 2013
    Publication date: October 23, 2014
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: David A. Kaplan, Tarun Nakra
  • Patent number: 8868822
    Abstract: A data-processing method in a flash memory with a plurality of sectors, the method includes arranging first data which is not updated in a first sector at a leading portion of a second sector and adding a first identifier of the first data to the second sector by a memory control circuit when transferring data in the first sector to the second sector, the plurality of sectors including the first sector and the second sector.
    Type: Grant
    Filed: March 3, 2011
    Date of Patent: October 21, 2014
    Assignee: Spansion LLC
    Inventor: Hiroyuki Komori
  • Publication number: 20140310479
    Abstract: A microprocessor includes a first hardware data prefetcher that prefetches data into the microprocessor according to a first algorithm. The microprocessor also includes a second hardware data prefetcher that prefetches data into the microprocessor according to a second algorithm, wherein the first and second algorithms are different. The second prefetcher detects that it is prefetching data into the microprocessor according to the second algorithm in excess of a first predetermined rate and, in response, sends a throttle indication to the first prefetcher. The first prefetcher prefetches data into the microprocessor according to the first algorithm at below a second predetermined rate in response to receiving the throttle indication from the second prefetcher.
    Type: Application
    Filed: June 25, 2014
    Publication date: October 16, 2014
    Inventors: Rodney E. Hooker, John Michael Greer
  • Publication number: 20140310478
    Abstract: A prefetch stream is established in a prefetch unit of a memory controller for a system memory at a lowest level of a volatile memory hierarchy of the data processing system based on a memory access request received from a processor core. The memory controller receives an indication of an upcoming high latency event affecting access to the system memory.
    Type: Application
    Filed: September 25, 2013
    Publication date: October 16, 2014
    Inventors: JOHN S. DODSON, MILES R. DOOLEY, BENJIMAN L. GOODMAN, JODY B. JOYNER, STEPHEN J. POWELL, ERIC E. RETTER, JEFFREY A. STUECHELI
  • Publication number: 20140310477
    Abstract: A prefetch stream is established in a prefetch unit of a memory controller for a system memory at a lowest level of a volatile memory hierarchy of the data processing system based on a memory access request received from a processor core. The memory controller receives an indication of an upcoming high latency event affecting access to the system memory.
    Type: Application
    Filed: April 12, 2013
    Publication date: October 16, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: JOHN S. DODSON, MILES R. DOOLEY, BENJIMAN L. GOODMAN, JODY B. JOYNER, STEPHEN J. POWELL, ERIC E. RETTER, JEFFREY A. STUECHELI
  • Patent number: 8862831
    Abstract: A method and apparatus to facilitate shared pointers in a heterogeneous platform. In one embodiment of the invention, the heterogeneous or non-homogeneous platform includes, but is not limited to, a central processing core or unit, a graphics processing core or unit, a digital signal processor, an interface module, and any other form of processing cores. The heterogeneous platform has logic to facilitate sharing of pointers to a location of a memory shared by the CPU and the GPU. By sharing pointers in the heterogeneous platform, the data or information sharing between different cores in the heterogeneous platform can be simplified.
    Type: Grant
    Filed: September 6, 2013
    Date of Patent: October 14, 2014
    Assignee: Intel Corporation
    Inventors: Yang Ni, Rajkishore Barik, Ali-Reza Adl-Tabatabai, Tatiana Shpeisman, Jayanth N. Rao, Ben J. Ashbaugh, Tomasz Janczak
  • Patent number: 8856452
    Abstract: A method and apparatus for prefetching data from memory for a multicore data processor. A prefetcher issues a plurality of requests to prefetch data from a memory device to a memory cache. Consecutive cache misses are recorded in response to at least two of the plurality of requests. A time between the cache misses is determined and a timing of a further request to prefetch data from the memory device to the memory cache is altered as a function of the determined time between the two cache misses.
    Type: Grant
    Filed: May 31, 2011
    Date of Patent: October 7, 2014
    Assignee: Illinois Institute of Technology
    Inventors: Xian-He Sun, Yong Chen, Huaiyu Zhu
  • Patent number: 8856454
    Abstract: Interaction between a client and a service in which the service responds to requests from the client. In addition to responding to specific client requests, the service also anticipates or speculates about what the client may request in the future. Rather than await the client request (that may or may not ultimately be made), the service provides the unrequested anticipatory data to the client in the same data stream as the response data that actual responds to the specific client requests. The client may then use the anticipatory data to fully or partially respond to future requests from the client, if the client does make the request anticipated by the service. Thus, in some cases, latency may be reduced when responding to requests in which anticipatory data has already been provided. The service may give priority to the actual requested data, and gives secondary priority to the anticipatory data.
    Type: Grant
    Filed: June 24, 2013
    Date of Patent: October 7, 2014
    Assignee: Microsoft Corporation
    Inventors: Nicholas Alexander Allen, Kenneth D. Wolf
  • Patent number: 8856453
    Abstract: A prefetch unit includes a transience register and a length register. The transience register hosts an indication of transient for data stream prefetching. The length register hosts an indication of a stream length for data stream prefetching. The prefetch unit monitors the transience register and the length register. The prefetch unit generates prefetch requests of data streams with a transient property up to the stream length limit when the transience register indicates transient and the length register indicates the stream length limit for data stream prefetching. A cache controller coupled with the prefetch unit implements a cache replacement policy and cache coherence protocols. The cache controller writes data supplied from memory responsive to the prefetch requests into cache with an indication of transient. The cache controller victimizes cache lines with an indication of transient independent of the cache replacement policy.
    Type: Grant
    Filed: March 1, 2012
    Date of Patent: October 7, 2014
    Assignee: International Business Machines Corporation
    Inventors: Jason N. Dale, Miles R. Dooley, Richard J. Eickemeyer, Bradly G. Frey, Yaoqing Gao, Francis P. O'Connell, Jeffrey A. Stuecheli
  • Patent number: 8856451
    Abstract: The present invention provides a method and apparatus for adapting aggressiveness of a pre-fetcher in a processor-based system. One embodiment includes modifying a rate for pre-fetching data from a memory into one or more caches by comparing a first address of a memory access request to addresses in an address window that includes one or more previously fetched addresses and one or more addresses to be fetched.
    Type: Grant
    Filed: August 26, 2010
    Date of Patent: October 7, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Stephen P. Thompson, Tarun Nakra
  • Patent number: 8856447
    Abstract: Methods, apparatuses, and processors for reducing memory latency in the presence of barriers. When a barrier operation is executed, subsequent memory access operations are delayed until the barrier operation retires. While the memory access operation is delayed, the memory access operation is converted into a prefetch request and sent to the L2 cache. Then, data corresponding to the prefetch request is retrieved and stored in the L1 data cache. When the memory access operation wakes up, the data for the operation will already be stored in the L1 data cache, reducing the memory latency of the operation.
    Type: Grant
    Filed: July 17, 2012
    Date of Patent: October 7, 2014
    Assignee: Apple Inc.
    Inventor: Gerard R. Williams, III
  • Publication number: 20140297965
    Abstract: A processor employs a prefetch prediction module that predicts, for each prefetch request, whether the prefetch request is likely to be satisfied from (“hit”) the cache. The arbitration priority of prefetch requests that are predicted to hit the cache is reduced relative to demand requests or other prefetch requests that are predicted to miss in the cache. Accordingly, an arbiter for the cache is less likely to select prefetch requests that hit the cache, thereby improving processor throughput.
    Type: Application
    Filed: April 1, 2013
    Publication date: October 2, 2014
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Ramkumar Jayaseelan, John Kalamatianos
  • Patent number: 8850123
    Abstract: An apparatus generally having a processor, a cache and a circuit is disclosed. The processor may be configured to generate (i) a plurality of access addresses and (ii) a plurality of program counter values corresponding to the access addresses. The cache may be configured to present in response to the access addresses (i) a plurality of data words and (ii) a plurality of address information corresponding to the data words. The circuit may be configured to record a plurality of events in a file in response to a plurality of cache misses. A first of the events in the file due to a first of the cache misses generally includes (i) a first of the program counter values, (ii) a first of the address information and (iii) a first time to prefetch a first of the data word from a memory to the cache.
    Type: Grant
    Filed: October 19, 2010
    Date of Patent: September 30, 2014
    Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
    Inventors: Leonid Dubrovin, Alexander Rabinovitch, Dmitry Podvalny
  • Patent number: 8850116
    Abstract: A method for communication between an initiator system and a storage cluster. The method comprises receiving an initial I/O request from the initiator system to a first storage system; providing a referral response from the first storage system to the initiator system, the referral response providing information for directing the initiator system to a second storage system; notifying the second storage system regarding the referral response via a prefetch notice, the prefetch notice including an operation type and address information for accessing requested data; when the initial I/O request is a read request, prefetching at least a portion of the requested data stored in the second storage system in to a cache; receiving a second I/O request from the initiator system to the second storage system; and providing to the initiator system the portion of the prefetched data from the cache of the second storage system.
    Type: Grant
    Filed: March 10, 2010
    Date of Patent: September 30, 2014
    Assignee: LSI Corporation
    Inventor: Andrew J. Spry
  • Patent number: 8850118
    Abstract: A memory access determination circuit includes a counter that switches between a first reference value and a second reference value in accordance with a control signal to generate a count value based on the first reference value or the second reference value. A controller performs a cache determination based on an address that corresponds to the count value and outputs the control signal in accordance with the cache determination. A changing unit changes the second reference value in accordance with the cache determination.
    Type: Grant
    Filed: September 14, 2011
    Date of Patent: September 30, 2014
    Assignee: Fujitsu Semiconductor Limited
    Inventor: Kazuhiko Okada
  • Patent number: 8850124
    Abstract: A method, system, apparatus, and computer-readable medium are provided for performing read-ahead operations for sequential read operations. A method includes maintaining a bitmap including a plurality of bits, each bit corresponding to a sector of the disk cache and containing data indicating whether the corresponding sector is valid and can be used to satisfy read requests. The method includes receiving a request to read a sector of the disk cache, and in response, identifying a bit in the bitmap that corresponds to the requested sector. Further, the method includes determining whether the disk cache contains valid data for a sector previous to the requested sector by examining a bit in the bitmap previous to the bit that corresponds to the requested sector, and in response, reading sequentially into the disk cache sectors of the disk cache corresponding to bits in the bitmap following the bit corresponding to the requested sector.
    Type: Grant
    Filed: September 30, 2013
    Date of Patent: September 30, 2014
    Assignee: American Megatrends, Inc.
    Inventors: Paresh Chatterjee, Srikumar Subramanian, Srinivasa Rao Vempati, Suresh Grandhi
  • Publication number: 20140289478
    Abstract: A control device that controls a reading process of information stored in a unit storage area under control of the control device and a unit storage area under control of a different control device in a distributed manner, the control device includes a processor. The processor executes a procedure including determining whether or not the reading process is a sequential reading process that reads information stored in a unit storage area under control of the control device in an order of logical addresses and whether or not a reading target area of the sequential reading process includes a last address in the unit storage area, and reporting to the different control device control information related to a sequential reading process including the last address determined by the first determination unit.
    Type: Application
    Filed: March 4, 2014
    Publication date: September 25, 2014
    Applicant: FUJITSU LIMITED
    Inventors: Takeshi WATANABE, Kazuhiko IKEUCHI, Chikashi Maeda, Kazuhiro URATA, Yukari Tsuchiyama, Norihide KUBOTA, Kenji KOBAYASHI, Ryota TSUKAHARA