With Plurality Of Cache Hierarchy Levels (epo) Patents (Class 711/E12.043)
-
Patent number: 11972293Abstract: A data structure for a jointly utilized memory device, in particular, for inter-process communication, in an application system. The memory device includes a memory cell. The data structure includes a management structure, the management structure being configured to hold a pointer object to the memory cell.Type: GrantFiled: September 29, 2020Date of Patent: April 30, 2024Assignee: ROBERT BOSCH GMBHInventors: Christian Eltzschig, Dietrich Kroenke, Mathias Kraus, Matthias Killat, Michael Poehnl
-
Patent number: 11967364Abstract: Described are memory modules that support different error detection and correction (EDC) schemes in both single- and multiple-module memory systems. The memory modules are width configurable and support the different EDC schemes for relatively wide and narrow module data widths. Data buffers on the modules support the half-width and full-width modes, and also support time-division-multiplexing to access additional memory components on each module in support of enhanced EDC.Type: GrantFiled: May 30, 2023Date of Patent: April 23, 2024Assignee: Rambus Inc.Inventors: Frederick A. Ware, John Eric Linstadt, Kenneth L. Wright
-
Patent number: 11954339Abstract: A memory allocation device includes a storage including at least one memory pool in which a memory piece used to search for a route is previously generated and a controller that determines whether it is possible to search for the route using the previously generated memory piece and determines an added amount of memory pieces to previously allocate a memory of the storage, when it is impossible to search for the route.Type: GrantFiled: May 21, 2021Date of Patent: April 9, 2024Assignees: HYUNDAI MOTOR COMPANY, KIA CORPORATIONInventors: Pyoung Hwa Lee, Jin Woo Kim
-
Patent number: 11934886Abstract: Methods, systems and computer program products for intra-footprint computing cluster bring-up within a virtual private cloud. A network connection is established between an initiating module and a virtual private cloud (VPC). An initiating module allocates resources of the virtual private cloud including a plurality of nodes that correspond to members of a to-be-configured computing cluster. A cluster management module having coded therein an intended computing cluster configuration is configured into at least one of the plurality of nodes. The members of the to-be-configured computing cluster interoperate from within the VPC to accomplish a set of computing cluster bring-up operations that configure the plurality of members into the intended computing cluster configuration. Execution of bring-up instructions of the management module serve to allocate networking IP addresses of the virtual private cloud.Type: GrantFiled: January 9, 2023Date of Patent: March 19, 2024Assignee: Nutanix, Inc.Inventors: Mohan Maturi, Abhishek Arora, Manoj Sudheendra
-
Patent number: 11860786Abstract: A cache system, having: a first cache; a second cache; a configurable data bit; and a logic circuit coupled to a processor to control the caches based on the configurable bit. When the configurable bit is in a first state, the logic circuit is configured to: implement commands for accessing a memory system via the first cache, when an execution type is a first type; and implement commands for accessing the memory system via the second cache, when the execution type is a second type. When the configurable data bit is in a second state, the logic circuit is configured to: implement commands for accessing the memory system via the second cache, when the execution type is the first type; and implement commands for accessing the memory system via the first cache, when the execution type is the second type.Type: GrantFiled: December 13, 2021Date of Patent: January 2, 2024Assignee: Micron Technology, Inc.Inventor: Steven Jeffrey Wallach
-
Patent number: 11847058Abstract: A request to access data at an address is received from a host system. A tag associated with the address is determined to not be found in first entries in a first content-addressable memory (CAM) or in second entries in a second CAM. Responsive to determining that the tag is not found in the first entries or in the second entries, a particular entry of the first entries that each includes valid data is selected. A determination is made whether the particular entry satisfies a condition indicating that content in the particular entry is to be stored in the second CAM. The content is associated with other data stored in the cache. Responsive to determining that the condition is satisfied, the content of the particular entry is stored in one of the second entries to maintain the data in the cache.Type: GrantFiled: August 8, 2022Date of Patent: December 19, 2023Assignee: Micron Technology, Inc.Inventors: Laurent Isenegger, Dhawal Bavishi, Jeffrey Frederiksen
-
Patent number: 11789868Abstract: An apparatus includes a CPU core and a L1 cache subsystem including a L1 main cache, a L1 victim cache, and a L1 controller. The apparatus includes a L2 cache subsystem including a L2 main cache, a shadow L1 main cache, a shadow L1 victim cache, and a L2 controller configured to receive a read request from the L1 controller as a single transaction. Read request includes a read address, a first indication of an address and a coherence state of a cache line A to be moved from the L1 main cache to the L1 victim cache to allocate space for data returned in response to the read request, and a second indication of an address and a coherence state of a cache line B to be removed from the L1 victim cache in response to the cache line A being moved to the L1 victim cache.Type: GrantFiled: October 12, 2021Date of Patent: October 17, 2023Assignee: Texas Instruments IncorporatedInventors: Abhijeet Ashok Chachad, David Matthew Thompson, Naveen Bhoria, Pete Michael Hippleheuser
-
Patent number: 11734015Abstract: A cache system, having a first cache, a second cache, and a logic circuit coupled to control the first cache and the second cache according to an execution type of a processor. When an execution type of a processor is a first type indicating non-speculative execution of instructions and the first cache is configured to service commands from a command bus for accessing a memory system, the logic circuit is configured to copy a portion of content cached in the first cache to the second cache. The cache system can include a configurable data bit. The logic circuit can be coupled to control the caches according to the bit. Alternatively, the caches can include cache sets. The caches can also include registers associated with the cache sets respectively. The logic circuit can be coupled to control the cache sets according to the registers.Type: GrantFiled: June 13, 2022Date of Patent: August 22, 2023Assignee: Micron Technology, Inc.Inventor: Steven Jeffrey Wallach
-
Patent number: 11709711Abstract: An electronic device includes a memory; a plurality of clients; at least one arbiter circuit; and a management circuit. A given client of the plurality of clients communicates a request to the management circuit requesting an allocation of memory access bandwidth for accesses of the memory by the given client. The management circuit then determines, based on the request, a set of memory access bandwidths including a respective memory access bandwidth for each of the given client and other clients of the plurality of clients that are allocated memory access bandwidth. The management circuit next configures the at least one arbiter circuit to use respective memory access bandwidths from the set of memory access bandwidths for the given client and the other clients for subsequent accesses of the memory.Type: GrantFiled: December 13, 2020Date of Patent: July 25, 2023Assignee: Advanced Micro Devices, Inc.Inventor: Guhan Krishnan
-
Patent number: 11550633Abstract: Methods, systems and computer program products for intra-footprint computing cluster bring-up within a virtual private cloud. A network connection is established between an initiating module and a virtual private cloud (VPC). An initiating module allocates resources of the virtual private cloud including a plurality of nodes that correspond to members of a to-be-configured computing cluster. A cluster management module having coded therein an intended computing cluster configuration is configured into at least one of the plurality of nodes. The members of the to-be-configured computing cluster interoperate from within the VPC to accomplish a set of computing cluster bring-up operations that configure the plurality of members into the intended computing cluster configuration. Execution of bring-up instructions of the management module serve to allocate networking IP addresses of the virtual private cloud.Type: GrantFiled: October 31, 2020Date of Patent: January 10, 2023Inventors: Mohan Maturi, Abhishek Arora, Manoj Sudheendra
-
Patent number: 11422947Abstract: A page directory entry cache (PDEC) can be checked to potentially rule out one or more possible page sizes for a translation lookaside buffer (TLB) lookup. Information gained from the PDEC lookup can reduce the number of TLB checks required to conclusively determine if the TLB lookup is a hit or a miss.Type: GrantFiled: August 12, 2020Date of Patent: August 23, 2022Assignee: International Business Machines CorporationInventors: David Campbell, Jake Truelove, Charles D. Wait, Jon K. Kriegel
-
Patent number: 10922114Abstract: A processing system includes a first register to store an invalidation mode flag associated with a virtual processor identifier (VPID) and a processing core, communicatively coupled to the first register, the processing core comprising a logic circuit to execute a virtual machine monitor (VMM) environment, the VMM environment comprising a root mode VMM supporting a non-root mode VMM, the non-root mode VMM to execute a virtual machine (VM) identified by the VPID, the logic circuit further comprising an invalidation circuit to execute a virtual processor invalidation (INVVPID) instruction issued by the non-root mode VMM, the INVVPID instruction comprising a reference to an INVVPID descriptor that specifies a linear address and the VPID and responsive to determining that the invalidation mode flag is set, invalidate, without triggering a VM exit event, a memory address mapping associated with the linear address.Type: GrantFiled: December 12, 2016Date of Patent: February 16, 2021Assignee: Intel CorporationInventors: Bing Zhu, Kai Wang, Peng Zou, Fangjian Zhong
-
Patent number: 10853081Abstract: A processor is disclosed that performs pipelining which processes a plurality of threads and executes instructions in concurrent processing, the instructions corresponding to thread numbers of the threads and including a branch instruction. The processor may include a pipeline processor, which includes a fetch part that fetches the instruction of the thread having an execution right, and a computation execution part that executes the instruction fetched by the fetch part. The processor may include a branch controller that determines whether to drop an instruction subsequent to the branch instruction within the pipeline processor based on the thread number of the thread where the branch instruction is executed and on the thread number of the subsequent instruction.Type: GrantFiled: November 27, 2018Date of Patent: December 1, 2020Assignee: SANKEN ELECTRIC CO., LTD.Inventors: Kazuhiro Mima, Hitomi Shishido
-
Patent number: 10475150Abstract: Graphics processing systems and methods are described. For example, one embodiment of a graphics processing apparatus comprises a graphics processing unit (GPU), the GPU including a high priority command streamer to dispatch high priority commands from an application, a normal priority command streamer to receive normal priority commands through a command path, one or more execution units, and a thread dispatcher. The thread dispatcher to dispatch normal priority commands to the one or more executions units, determine the high priority command streamer includes at least one command, cause the one or more execution units to save their states, and dispatch at least one command from the high priority queue to the one or more execution units.Type: GrantFiled: September 29, 2017Date of Patent: November 12, 2019Assignee: Intel CorporationInventors: William A. Hux, Girish Ravunnikutty, Adam T. Lake
-
Patent number: 10198260Abstract: A system that for storing program counter values is disclosed. The system may include a program counter, a first memory including a plurality of sectors, a first circuit configured to retrieve a program instruction from a location in memory dependent upon a value of the program counter, send the value of the program counter to an array for storage and determination a predicted outcome of the program instruction in response to a determination that execution of the program instruction changes a program flow. The second circuit may be configured to retrieve the value of the program counter from a given entry in a particular sector of the array, and determine an actual outcome of the program instruction dependent upon the retrieved value of the program counter.Type: GrantFiled: January 13, 2016Date of Patent: February 5, 2019Assignee: Oracle International CorporationInventors: Manish Shah, Christopher Olson
-
Patent number: 10148671Abstract: A functional program stored in a memory area of an electronic card may be protected against an attack by disturbance of electrical origin intended to modify at least one logic state of at least one code of this program. The method may include: a storage step during which codes of the functional program and codes of a check program intended to check the logical behavior of the functional program are stored in the memory of the card; and a step of executing at least one code of the functional program followed by a step of checking the logic states of the functional program by executing the check program. During the storage step, the codes of the check program are stored in a memory area formed by addresses that are defined so that the attack by disturbance of electrical origin has no influence on the logic states of this program.Type: GrantFiled: July 8, 2013Date of Patent: December 4, 2018Assignee: IDEMIA IDENTITY & SECURITY FRANCEInventors: Thanh Ha Le, Julien Bringer, Louis-Philippe Goncalves, Maël Berthier
-
Patent number: 9990199Abstract: A method and system are disclosed. The method may include receiving instructions in a hardware accelerator coupled to a computing device. The instructions may describe operations and data dependencies between the operations. The operations and the data dependencies may be predetermined. The method may include performing a splitter operation in the hardware accelerator, performing an operation in each of a plurality of branches, and performing a combiner operation in the hardware accelerator.Type: GrantFiled: September 18, 2015Date of Patent: June 5, 2018Assignee: Axis ABInventors: Niclas Danielsson, Mikael Asker, Hans-Peter Nilsson, Markus Skans, Mikael Pendse
-
Patent number: 9965391Abstract: A first threshold number of cache lines may be fetched to populate each of the ways of a first cache set of a higher level cache and each of the ways of a first cache set of a lower level cache. A second threshold number of cache lines may be fetched to map to the first cache set of the higher level cache and a second cache set of the lower level cache. The first threshold number of cache lines may be accessed from the second from the first cache set of the lower level cache.Type: GrantFiled: June 30, 2014Date of Patent: May 8, 2018Assignee: Hewlett Packard Enterprise Development LPInventor: Anys Bacha
-
Patent number: 9921849Abstract: Embodiments relate to address expansion and contraction in a multithreading computer system. According to one aspect, a computer implemented method for address adjustment in a configuration is provided. The configuration includes a core configurable between an ST mode and an MT mode, where the ST mode addresses a primary thread and the MT mode addresses the primary thread and one or more secondary threads on shared resources of the core. The primary thread is accessed in the ST mode using a core address value. Switching from the ST mode to the MT mode is performed. The primary thread or one of the one or more secondary threads is accessed in the MT mode using an expanded address value. The expanded address value includes the core address value concatenated with a thread address value.Type: GrantFiled: August 18, 2015Date of Patent: March 20, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Jonathan D. Bradbury, Fadi Y. Busaba, Mark S. Farrell, Charles W. Gainey, Jr., Dan F. Greiner, Lisa Cranton Heller, Jeffrey P. Kubala, Damian L. Osisek, Donald W. Schmidt, Timothy J. Slegel
-
Patent number: 9892482Abstract: Technologies may provide for processing video content. A request to process video content may be received at a user mode driver. In response, the user mode driver may insert a command associated with the request into a command buffer. In addition, the user mode driver may enqueue the command buffer to receive a further request to process further video content independent of an execution of the command by platform hardware. Additionally, a command submission process may dequeue the command buffer and call a kernel mode driver. The kernel mode driver may receive the system call independent of the user mode driver and submit the command buffer to the platform hardware to process the video content.Type: GrantFiled: December 19, 2012Date of Patent: February 13, 2018Assignee: Intel CorporationInventors: Hua You, Jiaping Wu
-
Patent number: 9703615Abstract: In one embodiment, a method includes receiving a request to execute first program code that is configured to perform a step of a computation, wherein the request includes a current state of the computation, determining whether the first program code is to be invoked based on an execution condition, when the execution condition is true, executing the first program code based on the current state of the computation, and returning a response that includes a result of executing the first program code, and when the execution condition is false, returning a response indicating that the result of the executing is invalid. The execution condition may be false when an amount of time that has passed since a previous execution of the first program code is greater than a threshold time limit.Type: GrantFiled: July 18, 2014Date of Patent: July 11, 2017Assignee: Facebook, Inc.Inventors: Ari Alexander Grant, Jonanthan P. Dann
-
Patent number: 9558035Abstract: A system and method can support queue processing in a computing environment such as a distributed data grid. A thread can be associated with a queue in the computing environment, wherein the thread runs on one or more microprocessors that support a central processing unit (CPU). The system can use the thread to process one or more tasks when said one or more tasks arrive at the queue. Furthermore, the system can configure the thread to be in one of a sleep state and an idle state adaptively, when there is no task in the queue.Type: GrantFiled: August 1, 2014Date of Patent: January 31, 2017Assignee: ORACLE INTERNATIONAL CORPORATIONInventor: Mark A. Falco
-
Patent number: 9009408Abstract: This invention handles write request cache misses. The cache controller stores write data, sends a read request to external memory for a corresponding cache line, merges the write data with data returned from the external memory and stores merged data in the cache. The cache controller includes buffers with plural entries storing the write address, the write data, the position of the write data within a cache line and unique identification number. This stored data enables the cache controller to proceed to servicing other access requests while waiting for response from the external memory.Type: GrantFiled: September 26, 2011Date of Patent: April 14, 2015Assignee: Texas Instruments IncorporatedInventors: Abhijeet Ashok Chachad, Raguram Damodaran, David Matthew Thompson
-
Patent number: 8972662Abstract: The population of data to be inserted into secondary data storage cache is controlled by determining a heat metric of candidate data; adjusting a heat metric threshold; rejecting candidate data provided to the secondary data storage cache whose heat metric is less than the threshold; and admitting candidate data whose heat metric is equal to or greater than the heat metric threshold. The adjustment of the heat metric threshold is determined by comparing a reference metric related to hits of data most recently inserted into the secondary data storage cache, to a reference metric related to hits of data most recently evicted from the secondary data storage cache; if the most recently inserted reference metric is greater than the most recently evicted reference metric, decrementing the threshold; and if the most recently inserted reference metric is less than the most recently evicted reference metric, incrementing the threshold.Type: GrantFiled: April 26, 2012Date of Patent: March 3, 2015Assignee: International Business Machines CorporationInventors: Michael T. Benhase, Stephen L. Blinick, Evangelos S. Eleftheriou, Lokesh M. Gupta, Robert Haas, Xiao-Yu Hu, Ioannis Koltsidas, Roman A. Pletka
-
Patent number: 8972661Abstract: The population of data to be inserted into secondary data storage cache is controlled by determining a heat metric of candidate data; adjusting a heat metric threshold; rejecting candidate data provided to the secondary data storage cache whose heat metric is less than the threshold; and admitting candidate data whose heat metric is equal to or greater than the heat metric threshold. The adjustment of the heat metric threshold is determined by comparing a reference metric related to hits of data most recently inserted into the secondary data storage cache, to a reference metric related to hits of data most recently evicted from the secondary data storage cache; if the most recently inserted reference metric is greater than the most recently evicted reference metric, decrementing the threshold; and if the most recently inserted reference metric is less than the most recently evicted reference metric, incrementing the threshold.Type: GrantFiled: October 31, 2011Date of Patent: March 3, 2015Assignee: International Business Machines CorporationInventors: Michael T. Benhase, Stephen L. Blinick, Evangelos S. Eleftheriou, Lokesh M. Gupta, Robert Haas, Xiao-Yu Hu, Ioannis Koltsidas, Roman A. Pletka
-
Patent number: 8966221Abstract: A lookup operation is performed in a translation look aside buffer based on a first translation request as current translation request, wherein a respective absolute address is returned to a corresponding requestor for the first translation request as translation result in case of a hit. A translation engine is activated to perform at least one translation table fetch in case the current translation request does not hit an entry in the translation look aside buffer, wherein the translation engine is idle waiting for the at least one translation table fetch to return data, reporting the idle state of the translation engine as lookup under miss condition and accepting a currently pending translation request as second translation request, wherein a lookup under miss sequence is performed in the translation look aside buffer based on said second translation request.Type: GrantFiled: June 21, 2011Date of Patent: February 24, 2015Assignee: International Business Machines CorporationInventors: Ute Gaertner, Thomas Koehler
-
Populating a first stride of tracks from a first cache to write to a second stride in a second cache
Patent number: 8966178Abstract: Provided are a computer program product, system, and method for managing data in a cache system comprising a first cache, a second cache, and a storage system. A determination is made of tracks stored in the storage system to demote from the first cache. A first stride is formed including the determined tracks to demote. A determination is made of a second stride in the second cache in which to include the tracks in the first stride. The tracks from the first stride are added to the second stride in the second cache. A determination is made of tracks in strides in the second cache to demote from the second cache. The determined tracks to demote from the second cache are demoted.Type: GrantFiled: January 17, 2012Date of Patent: February 24, 2015Assignee: International Business Machines CorporationInventors: Kevin J. Ash, Michael T. Benhase, Lokesh M. Gupta, Matthew J. Kalos, Karl A. Nielsen -
Populating a first stride of tracks from a first cache to write to a second stride in a second cache
Patent number: 8959279Abstract: Provided are a computer program product, system, and method for managing data in a cache system comprising a first cache, a second cache, and a storage system. A determination is made of tracks stored in the storage system to demote from the first cache. A first stride is formed including the determined tracks to demote. A determination is made of a second stride in the second cache in which to include the tracks in the first stride. The tracks from the first stride are added to the second stride in the second cache. A determination is made of tracks in strides in the second cache to demote from the second cache. The determined tracks to demote from the second cache are demoted.Type: GrantFiled: May 4, 2012Date of Patent: February 17, 2015Assignee: International Business Machines CorporationInventors: Kevin J. Ash, Michael T. Benhase, Lokesh M. Gupta, Matthew J. Kalos, Karl A. Nielsen -
Patent number: 8938585Abstract: Embodiments of the present disclosure provide a system on a chip (SOC) comprising a processing core including a core bus agent, a bus interface unit (BIU), and a bridge module operatively coupling the processing core to the BIU, the bridge module configured to selectively route information from the core bus agent to a cache or to the BIU by bypassing the cache. Other embodiments are also described and claimed.Type: GrantFiled: March 25, 2014Date of Patent: January 20, 2015Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Tarek Rohana, Gil Stoler
-
Patent number: 8935478Abstract: 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: GrantFiled: November 1, 2011Date of Patent: January 13, 2015Assignee: International Business Machines CorporationInventors: Robert H. Bell, Jr., Wen-Tzer T. Chen, Diane G. Flemming, Hong L. Hua, William A. Maron, Mysore S. Srinivas
-
Patent number: 8904110Abstract: This invention permits user controlled cache coherence operations with the flexibility to do these operations on all levels of cache together or each level independently. In the case of an all level operation, the user does not have to monitor and sequence each phase of the operation. This invention also provides a way for users to track completion of these operations. This is critical for multi-core/multi-processor devices. Multiple cores may be accessing the end point and the user/application needs to be able to identify when the operation from one core is complete, before permitting other cores access that data or code.Type: GrantFiled: September 22, 2011Date of Patent: December 2, 2014Assignee: Texas Instruments IncorporatedInventors: Raguram Damodaran, Abhijeet A. Chachad
-
Patent number: 8832377Abstract: Information is maintained on strides configured in a second cache and occupancy counts for the strides indicating an extent to which the strides are populated with valid tracks and invalid tracks. A determination is made of tracks to demote from a first cache. A first stride is formed including the determined tracks to demote. The tracks from the first stride are to a second stride in the second cache having an occupancy count indicating the stride is empty. A determination is made of a target stride in the second cache based on the occupancy counts of the strides in the second cache. A determination is made of at least two source strides in the second cache having valid tracks based on the occupancy counts of the strides in the second cache. The target stride is populated with the valid tracks from the source strides.Type: GrantFiled: February 27, 2013Date of Patent: September 9, 2014Assignee: International Business Machines CorporationInventors: Michael T. Benhase, Lokesh M. Gupta
-
Patent number: 8825953Abstract: Information on strides configured in the second cache includes information indicating a number of valid tracks in the strides, wherein a stride has at least one of valid tracks and free tracks not including valid data. A determination is made of tracks to demote from the first cache. A first stride is formed including the determined tracks to demote. The tracks from the first stride are added to a second stride in the second cache that has no valid tracks. A target stride in the second cache is selected based on a stride most recently used to consolidate strides from at least two strides into one stride. Data from the valid tracks is copied from at least two source strides in the second cache to the target stride.Type: GrantFiled: January 17, 2012Date of Patent: September 2, 2014Assignee: International Business Machines CorporationInventors: Michael T. Benhase, Lokesh M. Gupta
-
Patent number: 8825956Abstract: Information on strides configured in the second cache includes information indicating a number of valid tracks in the strides, wherein a stride has at least one of valid tracks and free tracks not including valid data. A determination is made of tracks to demote from the first cache. A first stride is formed including the determined tracks to demote. The tracks from the first stride are added to a second stride in the second cache that has no valid tracks. A target stride in the second cache is selected based on a stride most recently used to consolidate strides from at least two strides into one stride. Data from the valid tracks is copied from at least two source strides in the second cache to the target stride.Type: GrantFiled: February 27, 2013Date of Patent: September 2, 2014Assignee: International Business Machines CorporationInventors: Michael T. Benhase, Lokesh M. Gupta
-
Patent number: 8825957Abstract: Information is maintained on strides configured in a second cache and occupancy counts for the strides indicating an extent to which the strides are populated with valid tracks and invalid tracks. A determination is made of tracks to demote from a first cache. A first stride is formed including the determined tracks to demote. The tracks from the first stride are to a second stride in the second cache having an occupancy count indicating the stride is empty. A determination is made of a target stride in the second cache based on the occupancy counts of the strides in the second cache. A determination is made of at least two source strides in the second cache having valid tracks based on the occupancy counts of the strides in the second cache. The target stride is populated with the valid tracks from the source strides.Type: GrantFiled: January 17, 2012Date of Patent: September 2, 2014Assignee: International Business Machines CorporationInventors: Michael T. Benhase, Lokesh M. Gupta
-
Patent number: 8793437Abstract: A cache memory system using temporal locality information and a data storage method are provided. The cache memory system including: a main cache which stores data accessed by a central processing unit; an extended cache which stores the data if the data is evicted from the main cache; and a separation cache which stores the data of the extended cache when the data of the extended cache is evicted from the extended cache and temporal locality information corresponding to the data of the extended cache satisfies a predetermined condition.Type: GrantFiled: August 8, 2007Date of Patent: July 29, 2014Assignee: Samsung Electronics Co., Ltd.Inventors: Jong Myon Kim, Soojung Ryu, Dong-Hoon Yoo, Dong Kwan Suh, Jeongwook Kim
-
Patent number: 8719508Abstract: Parallel computing environments, where threads executing in neighboring processors may access the same set of data, may be designed and configured to share one or more levels of cache memory. Before a processor forwards a request for data to a higher level of cache memory following a cache miss, the processor may determine whether a neighboring processor has the data stored in a local cache memory. If so, the processor may forward the request to the neighboring processor to retrieve the data. Because access to the cache memories for the two processors is shared, the effective size of the memory is increased. This may advantageously decrease cache misses for each level of shared cache memory without increasing the individual size of the caches on the processor chip.Type: GrantFiled: December 10, 2012Date of Patent: May 6, 2014Assignee: International Business Machines CorporationInventors: Miguel Comparan, Robert A. Shearer
-
Patent number: 8719507Abstract: Parallel computing environments, where threads executing in neighboring processors may access the same set of data, may be designed and configured to share one or more levels of cache memory. Before a processor forwards a request for data to a higher level of cache memory following a cache miss, the processor may determine whether a neighboring processor has the data stored in a local cache memory. If so, the processor may forward the request to the neighboring processor to retrieve the data. Because access to the cache memories for the two processors is shared, the effective size of the memory is increased. This may advantageously decrease cache misses for each level of shared cache memory without increasing the individual size of the caches on the processor chip.Type: GrantFiled: January 4, 2012Date of Patent: May 6, 2014Assignee: International Business Machines CorporationInventors: Miguel Comparan, Robert A. Shearer
-
Publication number: 20140108734Abstract: A processor includes a first processing unit and a first level cache associated with the first processing unit and operable to store data for use by the first processing unit used during normal operation of the first processing unit. The first processing unit is operable to store first architectural state data for the first processing unit in the first level cache responsive to receiving a power down signal. A method for controlling power to processor including a hierarchy of cache levels includes storing first architectural state data for a first processing unit of the processor in a first level of the cache hierarchy responsive to receiving a power down signal and flushing contents of the first level including the first architectural state data to a first lower level of the cache hierarchy prior to powering down the first level of the cache hierarchy and the first processing unit.Type: ApplicationFiled: October 17, 2012Publication date: April 17, 2014Inventors: Paul Edward Kitchin, William L. Walker
-
Patent number: 8688911Abstract: Embodiments of the present disclosure provide a system on a chip (SOC) comprising a processing core including a core bus agent, a bus interface unit (BIU), and a bridge module operatively coupling the processing core to the BIU, the bridge module configured to selectively route information from the core bus agent to a cache or to the BIU by bypassing the cache. Other embodiments are also described and claimed.Type: GrantFiled: November 23, 2009Date of Patent: April 1, 2014Assignee: Marvell Israel (M.I.S.L) Ltd.Inventors: Tarek Rohana, Gil Stoler
-
Patent number: 8650374Abstract: In a computer system including a plurality of data storage apparatuses and a management computer, a given data storage apparatus, upon receipt of a control request for a local data storage apparatus from a management computer, accesses the hierarchical relation information between the storage areas in the local data storage apparatus and the storage areas of the other data storage apparatuses, and in the case where a storage area in the local data storage apparatus is set to correspond to a level lower than the other data storage apparatuses, transmits an approval request to the other data storage apparatuses. The given data storage apparatus, upon receipt of the approval from the other data storage apparatuses, executes the control request of the management computer.Type: GrantFiled: January 3, 2011Date of Patent: February 11, 2014Assignee: Hitachi Ltd.Inventors: Daisuke Kito, Kenji Fujii, Yasunori Kaneda, Masato Arai
-
Patent number: 8607000Abstract: This invention is a data processing system having a multi-level cache system. The multi-level cache system includes at least first level cache and a second level cache. Upon a cache miss in both the at least one first level cache and the second level cache the data processing system evicts and allocates a cache line within the second level cache. The data processing system determine from the miss address whether the request falls within a low half or a high half of the allocated cache line. The data processing system first requests data from external memory of the miss half cache line. Upon receipt data is supplied to the at least one first level cache and the CPU. The data processing system then requests data from external memory for the other half of the second level cache line.Type: GrantFiled: September 23, 2011Date of Patent: December 10, 2013Assignee: Texas Instruments IncorporatedInventors: Abhijeet Ashok Chachad, Roger Kyle Castille, Joseph Raymond Michael Zbiciak, Dheera Balasubramanian
-
Publication number: 20130297876Abstract: In one embodiment, a microprocessor is provided. The microprocessor includes a cache that is controlled by a cache controller. The cache controller is configured to replace cachelines in the cache based on a replacement scheme that prioritizes the replacement of cachelines that are less likely to cause roll back of a transaction of the microprocessor.Type: ApplicationFiled: May 1, 2012Publication date: November 7, 2013Applicant: NVIDIA CORPORATIONInventor: Meng-Bing Yu
-
Patent number: 8572323Abstract: Each level of cache within a memory hierarchy of a device is configured with a cache results register (CRR). The caches are coupled to a debugger interface via a peripheral bus. The device is placed in debug mode, and a debugger forwards a transaction address (TA) of a dummy transaction to the device. On receipt of the TA, the device processor forwards the TA via the system bus to the memory hierarchy to initiate an address lookup operation within each level of cache. For each cache in which the TA hits, the cache controller (debug) logic updates the cache's CRR with Hit, Way, and Index values, identifying the physical storage location within the particular cache at which the corresponding instruction/data is stored. The debugger retrieves information about the hit/miss status, the physical storage location and/or a copy of the data via direct requests over the peripheral bus.Type: GrantFiled: December 30, 2010Date of Patent: October 29, 2013Assignee: Freescale Semiconductor, Inc.Inventors: Robert Ehrlich, Kevin C. Heuer, Robert A. McGowan
-
Patent number: 8364907Abstract: In one embodiment, a processor may be configured to write ECC granular stores into the data cache, while non-ECC granular stores may be merged with cache data in a memory request buffer. In one embodiment, a processor may be configured to detect that a victim block writeback hits one or more stores in a memory request buffer (or vice versa) and may convert the victim block writeback to a fill. In one embodiment, a processor may speculatively issue stores that are subsequent to a load from a load/store queue, but prevent the update for the stores in response to a snoop hit on the load.Type: GrantFiled: January 27, 2012Date of Patent: January 29, 2013Assignee: Apple Inc.Inventors: Ramesh Gunna, Sudarshan Kadambi
-
Patent number: 8341353Abstract: A system and method to access data from a portion of a level two memory or from a level one memory is disclosed. In a particular embodiment, the system includes a level one cache and a level two memory. A first portion of the level two memory is coupled to an input port and is addressable in parallel with the level one cache.Type: GrantFiled: January 14, 2010Date of Patent: December 25, 2012Assignee: QUALCOMM IncorporatedInventors: Suresh K. Venkumahanti, Christopher Edward Koob, Lucian Codrescu
-
Patent number: 8332587Abstract: A method of providing history based done logic for instructions includes receiving an instruction in a cache line in a L2 cache; and loading the cache line into an L1 cache with a history count that indicates the number of read references of the previous access.Type: GrantFiled: May 28, 2009Date of Patent: December 11, 2012Assignee: International Business Machines CorporationInventor: David A. Luick
-
Patent number: 8327072Abstract: A data processing system includes a processor core having an associated upper level cache and a lower level victim cache. In response to a memory access request of the processor core, the lower level cache victim determines whether the memory access request hits or misses in the directory of the lower level victim cache, and the upper level cache determines whether a castout from the upper level cache is to be performed and selects a victim coherency granule for eviction from the upper level cache. In response to determining that a castout from the upper level cache is to be performed, the upper level cache evicts the selected victim coherency granule. In the eviction, the upper level cache reads out the victim coherency granule from the data array of the upper level cache only in response to an indication that the memory access request misses in the directory of the lower level victim cache.Type: GrantFiled: July 23, 2008Date of Patent: December 4, 2012Assignee: International Business Machines CorporationInventors: Guy L. Guthrie, Thomas L. Jeremiah, William J. Starke, Phillip G. Williams
-
Patent number: 8312220Abstract: In response to a data request of a first of a plurality of processing units, the first processing unit selects a victim cache line to be castout from the lower level cache of the first processing unit and determines whether a mode is set. If not, the first processing unit issues on the interconnect fabric an LCO command identifying the victim cache line and indicating that a lower level cache is the intended destination. If the mode is set, the first processing unit issues a castout command with an alternative intended destination. In response to a coherence response to the LCO command indicating success of the LCO command, the first processing unit removes the victim cache line from its lower level cache, and the victim cache line is held elsewhere in the data processing system. The mode can be set to inhibit castouts to system memory, for example, for testing.Type: GrantFiled: April 9, 2009Date of Patent: November 13, 2012Assignee: International Business Machines CorporationInventors: Guy L. Guthrie, Harmony L. Helterhoff, William J. Starke, Phillip G. Williams, Jeffrey A. Stuecheli
-
Patent number: 8291169Abstract: A method of providing history based done logic includes receiving a cache line in a L2 cache; determining if the cache line has a history of access at least three times on a previous call into the L2 cache; providing the cache line directly to a processor if the history of access was less then the at least three times; and loading the cache line into an L1 cache if the history of access was the at least three times.Type: GrantFiled: May 28, 2009Date of Patent: October 16, 2012Assignee: International Business Machines CorporationInventor: David A. Luick