Associative Patents (Class 711/128)
-
Publication number: 20150058527Abstract: A hybrid memory system includes a primary memory comprising a host memory space arranged as memory sectors corresponding to host logical block addresses (host LBAs). A secondary memory is implemented as a cache for the primary host memory. A hybrid controller is configured directly map the clusters of host LBAs to clusters of secondary memory. The secondary memory clusters correspond to a memory space of the cache. Mapping of the host LBA secondary memory clusters is fully associative such that any host LBA cluster can be mapped to any secondary memory cluster.Type: ApplicationFiled: August 20, 2013Publication date: February 26, 2015Applicant: Seagate Technology LLCInventor: Sumanth Jannyavula Venkata
-
Patent number: 8966182Abstract: A pattern matching accelerator (PMA) for assisting software threads to find the presence and location of strings in an input data stream that match a given pattern. The patterns are defined using regular expressions that are compiled into a data structure comprised of rules subsequently processed by the PMA. The patterns to be searched in the input stream are defined by the user as a set of regular expressions. The patterns to be searched are grouped in pattern context sets. The sets of regular expressions which define the pattern context sets are compiled to generate a rules structure used by the PMA hardware. The rules are compiled before search run time and stored in main memory, in rule cache memory within the PMA or a combination thereof. For each input character, the PMA executes the search and returns the search results.Type: GrantFiled: February 8, 2011Date of Patent: February 24, 2015Assignee: International Business Machines CorporationInventors: Giora Biran, Christoph Hagleitner, Timothy H. Heil, Russell D. Hoover, Jan Van Lunteren
-
Patent number: 8966180Abstract: A scatter/gather technique optimizes unstructured streaming memory accesses, providing off-chip bandwidth efficiency by accessing only useful data at a fine granularity, and off-loading memory access overhead by supporting address calculation, data shuffling, and format conversion.Type: GrantFiled: March 1, 2013Date of Patent: February 24, 2015Assignee: Intel CorporationInventors: Daehyun Kim, Christopher J. Hughes, Yen-Kuang Chen, Partha Kundu
-
Publication number: 20150052310Abstract: A cache device may include a first cache including a first set and a plurality of ways corresponding to the first set, and a second cache including a second set and a plurality of ways corresponding to the second set. The second set is related with the first set depending on a vacancy of the ways of the first set.Type: ApplicationFiled: July 16, 2014Publication date: February 19, 2015Inventors: Dong-Gun KIM, Yong-Kee KWON, Hong-Sik KIM
-
Publication number: 20150052309Abstract: Addition, search, and performance of other allied activities relating to keys are performed in a hardware hash table. Further, high performance and efficient design may be provided for a hash table applicable to CPU caches and cache coherence directories. Set-associative tables and cuckoo hashing are combined for construction of a directory table of a directory based cache coherence controller. A method may allow configuration of C cuckoo ways, where C is an integer greater than or equal to 2, wherein each cuckoo way Ci is a set-associative table with N sets, where each set has an associativity of A, where A is an integer greater than or equal to 2.Type: ApplicationFiled: August 13, 2013Publication date: February 19, 2015Applicant: NETSPEED SYSTEMSInventors: Joji PHILIP, Sailesh KUMAR, Joe ROWLANDS
-
Patent number: 8954674Abstract: A scatter/gather technique optimizes unstructured streaming memory accesses, providing off-chip bandwidth efficiency by accessing only useful data at a fine granularity, and off-loading memory access overhead by supporting address calculation, data shuffling, and format conversion.Type: GrantFiled: October 8, 2013Date of Patent: February 10, 2015Assignee: Intel CorporationInventors: Daehyun Kim, Christopher J. Hughes, Yen-Kuang Chen, Partha Kundu
-
Patent number: 8953354Abstract: A semiconductor memory device includes a memory portion that includes i (i is a natural number) sets each including j (j is a natural number of 2 or larger) arrays each including k (k is a natural number of 2 or larger) lines to each of which a first bit column of an address is assigned in advance; a comparison circuit; and a control circuit. The i×j lines to each of which a first bit column of an objective address is assigned in advance are searched more than once and less than or equal to j times with the use of the control circuit and a cache hit signal or a cache miss signal output from the selection circuit. In such a manner, the line storing the objective data is specified.Type: GrantFiled: June 5, 2012Date of Patent: February 10, 2015Assignee: Semiconductor Energy Laboratory Co., Ltd.Inventor: Yoshiyuki Kurokawa
-
Patent number: 8949530Abstract: Systems and methods are disclosed for improving the performance of cache memory in a computer system by dynamically selecting an index for caching main memory while an application is running. A disclosed example of a memory system includes a cache including a data array, a primary tag array, and at least one secondary tag array. A currently selected index is used to index data bits to the data array and tag bits to the primary tag array. The performance of at least one candidate index is evaluated by indexing tag bits to the secondary tag array, without caching any data using the candidate index while the candidate index is under evaluation. If the candidate index has a better hit rate than the currently selected index, the memory system switches to using the candidate index to cache data.Type: GrantFiled: August 2, 2011Date of Patent: February 3, 2015Assignee: International Business Machines CorporationInventors: Mvv A. Krishna, Shaul Yifrach
-
Publication number: 20150026406Abstract: A size of a cache of a processing system is adjusted by ways, such that each set of the cache has the same number of ways. The cache is a set-associative cache, whereby each set includes a number of ways. In response to defined events at the processing system, a cache controller changes the number of ways of each set of the cache. For example, in response to a processor core indicating that it is entering a period of reduced activity, the cache controller can reduce the number of ways available in each set of the cache.Type: ApplicationFiled: July 19, 2013Publication date: January 22, 2015Applicant: Advanced Micro Devices, Inc.Inventors: Edward J. McLellan, Sudha Thiruvengadam, Douglas R. Beard, Carl D. Dietz, Stephen V. Kosonocky
-
Publication number: 20150026407Abstract: As a processor enters selected low-power modes, a cache is flushed of data by writing data stored at the cache to other levels of a memory hierarchy. The flushing of the cache allows the size of the cache to be reduced without suffering an additional performance penalty of writing the data at the reduced cache locations to the memory hierarchy. Accordingly, when the cache exits the selected low-power modes, it is sized to a minimum size by setting the number of ways of the cache to a minimum number. In response to defined events at the processing system, a cache controller changes the number of ways of each set of the cache.Type: ApplicationFiled: July 19, 2013Publication date: January 22, 2015Applicant: Advanced Micro Devices, Inc.Inventors: Edward J. McLellan, Sudha Thiruvengadam, Douglas R. Beard, Carl D. Dietz, Stephen V. Kosonocky
-
Patent number: 8938586Abstract: A memory system includes: a cache memory, a nonvolatile semiconductor memory, and a controller. The controller includes a plurality of management tables that manage data stored in the cache memory and the nonvolatile semiconductor memory using a cluster unit and a track unit. The controller performs data flushing processing from the cache memory to the nonvolatile semiconductor memory when the number of track units registered in the cache memory exceeds a predetermined threshold. Data may be flushed to the nonvolatile memory in different size data units such as a cluster or a track. Data flushing processing may also be performed if a last free way is used when data writing processing is performed on the cache memory managed in a set associative system. The nonvolatile semiconductor memory can be a NAND flash memory.Type: GrantFiled: February 10, 2009Date of Patent: January 20, 2015Assignee: Kabushiki Kaisha ToshibaInventors: Junji Yano, Kosuke Hatsuda, Hidenori Matsuzaki, Ryoichi Kato
-
Patent number: 8924649Abstract: A persistent cacheable high volume manufacturing (HVM) initialization code is generally presented. In this regard, an apparatus is introduced comprising a processing unit, a unified cache, a unified cache controller, and a control register to selectively mask off access by the unified cache controller to portions of the unified cache. Other embodiments are also described and claimed.Type: GrantFiled: February 3, 2014Date of Patent: December 30, 2014Assignee: Intel CorporationInventors: Timothy J. Callahan, Snigdha Jana, Nandan A. Kulkarni
-
Patent number: 8924653Abstract: A method for providing a transactional memory is described. A cache coherency protocol is enforced upon a cache memory including cache lines, wherein each line is in one of a modified state, an owned state, an exclusive state, a shared state, and an invalid state. Upon initiation of a transaction accessing at least one of the cache lines, each of the lines is ensured to be either shared or invalid. During the transaction, in response to an external request for any cache line in the modified, owned, or exclusive state, each line in the modified or owned state is invalidated without writing the line to a main memory. Also, each exclusive line is demoted to either the shared or invalid state, and the transaction is aborted.Type: GrantFiled: October 31, 2006Date of Patent: December 30, 2014Assignee: Hewlett-Packard Development Company, L.P.Inventors: Blaine D. Gaither, Judson E. Veazey
-
Patent number: 8914574Abstract: The present invention discloses a content addressable memory and a method of searching data thereof. The method includes generating a hash index data item from a received input data item; searching the cache for presence of a row tag of the RAM data row corresponding to the data item of hash index; in response to presence, searching the RAM for a RAM data item corresponding to the input data item according to the corresponding row tag of the RAM data row; in response to absence, searching the RAM for a RAM data item corresponding to the input data item by using the data item of hash index; and in response to finding a RAM data item corresponding to the input data item in the RAM, outputting data corresponding to the RAM data item. The method can accelerate data search in the CAM.Type: GrantFiled: February 14, 2012Date of Patent: December 16, 2014Assignee: International Business Machines CorporationInventors: Yong Feng Pan, Yufei Li, Bo Fan, Liang Chen
-
Patent number: 8914580Abstract: In some embodiments, a cache may include a tag array and a data array, as well as circuitry that detects whether accesses to the cache are sequential (e.g., occupying the same cache line). For example, a cache may include a tag array and a data array that stores data, such as multiple bundles of instructions per cache line. During operation, it may be determined that successive cache requests are sequential and do not cross a cache line boundary. Responsively, various cache operations may be inhibited to conserve power. For example, access to the tag array and/or data array, or portions thereof, may be inhibited.Type: GrantFiled: August 23, 2010Date of Patent: December 16, 2014Assignee: Apple Inc.Inventors: Rajat Goel, Ian D. Kountanis
-
Publication number: 20140365729Abstract: The present application describes embodiments of techniques for picking a data array lookup request for execution in a data array pipeline a variable number of cycles behind a corresponding tag array lookup request that is concurrently executing in a tag array pipeline. Some embodiments of a method for picking the data array lookup request include picking the data array lookup request for execution in a data array pipeline of a cache concurrently with execution of a tag array lookup request in a tag array pipeline of the cache. The data array lookup request is picked for execution in response to resources of the data array pipeline becoming available after picking the tag array lookup request for execution. Some embodiments of the method may be implemented in a cache.Type: ApplicationFiled: June 7, 2013Publication date: December 11, 2014Inventors: Marius Evers, John Kalamatianos, Carl D. Dietz, Richard E. Klass, Ravindra N. Bhargava
-
Patent number: 8909872Abstract: A computer system is provided including a central processing unit having an internal cache, a memory controller is coupled to the central processing unit, and a closely coupled peripheral is coupled to the central processing unit. A coherent interconnection may exist between the internal cache and both the memory controller and the closely coupled peripheral, wherein the coherent interconnection is a bus.Type: GrantFiled: October 31, 2006Date of Patent: December 9, 2014Assignee: Hewlett-Packard Development Company, L. P.Inventors: Michael S. Schlansker, Boon Ang, Erwin Oertli
-
Publication number: 20140359223Abstract: Part of a plurality of ways are selected from among the ways according to a value of select data created based on tag address information which is part of address information, and cache tags are read. Further, when performing cache fill, the cache memory performs the cache fill on a cache entry selected from part of the ways according to the value of the select data. For select data used for selecting a way, e.g. parity data in connection with tag address information is used. A way to read a cache tag from is selected based on a value of parity data and further, the way of a cache entry to perform cache fill on is selected.Type: ApplicationFiled: December 26, 2011Publication date: December 4, 2014Inventors: Thomas Edison Chua Yu, Hajime Yamashita, Masayuki Ito
-
Patent number: 8904112Abstract: A method and apparatus for disabling ways of a cache memory in response to history based usage patterns is herein described. Way predicting logic is to keep track of cache accesses to the ways and determine if an access to some ways are to be disabled to save power, based upon way power signals having a logical state representing a predicted miss to the way. One or more counters associated with the ways count accesses, wherein a power signal is set to the logical state representing a predicted miss when one of said one or more counters reaches a saturation value. Control logic adjusts said one or more counters associated with the ways according to the accesses.Type: GrantFiled: March 15, 2013Date of Patent: December 2, 2014Assignee: Intel CorporationInventors: Martin Licht, Jonathan Combs, Andrew Huang
-
Patent number: 8904111Abstract: A cache memory includes a CAM with an associativity of n (where n is a natural number) and an SRAM, and storing or reading out corresponding data when a tag address is specified by a CPU connected to the cache memory, the tag address constituted by a first sub-tag address and a second sub-tag address. The cache memory classifies the data, according to the time at which a read request has been made, into at least a first generation which corresponds to a read request made at a recent time and a second generation which corresponds to a read request made at a time which is different from the recent time. The first sub-tag address is managed by the CAM. The second sub-tag address is managed by the SRAM. The cache memory allows a plurality of second sub-tag addresses to be associated with a same first sub-tag address.Type: GrantFiled: October 19, 2010Date of Patent: December 2, 2014Assignee: The University of Electro-CommunicationsInventors: Sho Okabe, Koki Abe
-
Publication number: 20140351522Abstract: A system and method are disclosed for storing data in a hash table. The method includes receiving data, determining a location identifier for the data wherein the location identifier identifies a location in the hash table for storing the data and the location identifier is derived from the data, compressing the data by extracting the location identifier; and storing the compressed data in the identified location of the hash table.Type: ApplicationFiled: August 11, 2014Publication date: November 27, 2014Inventors: Mohammad Reza SADRI, Saied KAZEMI, Siddharth CHOUDHURI
-
Publication number: 20140344522Abstract: The present invention provides a dynamic set associative cache apparatus for a processor. When read access occurs, the apparatus first determines a valid/invalid bit of each cache block in a cache set to be accessed, and sets, according to the valid/invalid bit of each cache block, an enable/disable bit of a cache way in which the cache block is located; then, reads valid cache blocks, compares a tag section in a memory address with a tag block in each cache block that is read, and if there is a hit, reads data from a data block in a hit cache block according to an offset section of the memory address.Type: ApplicationFiled: July 10, 2014Publication date: November 20, 2014Inventors: Lingjun Fan, Shibin Tang, Da Wang, Hao Zhang, Dongrui Fan
-
Patent number: 8874849Abstract: Technologies are generally described for a system for copying particular data in a particular sector of a particular block from a memory into a cache, in some examples, the cache includes a tag array and a data array. In some examples, a processor may be adapted to copy data in the particular sector from the memory into a way of the data array starling at a start sector. In some examples, the processor may be adapted to update the tag array to identify the particular sector. In some examples, the processor may be adapted to update the tag array to identify the way in the data array, in some examples, the processor may be adapted to update the tag array to identify the start sector.Type: GrantFiled: April 21, 2010Date of Patent: October 28, 2014Assignee: Empire Technology Development LLCInventor: Yan Solihin
-
Patent number: 8868844Abstract: A method for implementing a software-managed cache comprises determining an object identifier (ID) for each of a first set of objects of a plurality of objects resident in a local memory, to generate a first cache table, the first cache table comprising a plurality of entries. Each object comprises an object ID and an effective address. The method receives a request for an object, the request comprising an object ID. The method compares the received object ID with the entries in the first cache table. In the event the received object ID matches an entry in the first cache table, the method returns the matching entry in response to the request. In the event the received object ID does not match an entry in the first cache table, the method calculates an effective address in the local memory of the object associated with the object ID.Type: GrantFiled: June 25, 2008Date of Patent: October 21, 2014Assignee: International Business Machines CorporationInventors: Mark Richard Nutter, Dean Joseph Burdick, Barry L. Minor
-
Patent number: 8868835Abstract: A cache control apparatus according to the present invention includes a cache allocation control unit which allocates each of a plurality of ways included in a cache memory to one or more of tasks to be executed by a plurality of processors. In the case where a group of ways includes an unallocated way that is not allocated to any of the tasks and a way allocated to one or more of the tasks which is to be executed by one of the processors, the cache allocation control unit allocates the unallocated way included in the group to the one or more of the tasks to be executed by the one of the processors.Type: GrantFiled: October 5, 2011Date of Patent: October 21, 2014Assignee: Panasonic CorporationInventor: Kunihiko Hayashi
-
Publication number: 20140310471Abstract: In response to snooping a read-type memory access request of a requestor on a system fabric of a data processing system, a memory channel interface forwards the request to a memory buffer and starts a timer. In response to the forwarded request, the memory buffer performs a lookup of a target address of the request in a memory controller cache. In response to the target address hitting in a coherence state permitting provision of early data, the memory buffer provides a response indicating early data and provides a copy of a target memory block of the request to the memory channel interface. The memory channel interface, responsive to receipt prior to expiration of the timer of the response indicating early data, transmits the copy of the target memory block to the requestor via the system fabric prior to receiving a combined response of the data processing system to the request.Type: ApplicationFiled: April 15, 2013Publication date: October 16, 2014Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: JOHN T. HOLLAWAY, JR., CHARLES F. MARINO, ERIC E. RETTER, JEFFREY A. STUECHELI
-
Publication number: 20140310472Abstract: In response to snooping a read-type memory access request of a requestor on a system fabric of a data processing system, a memory channel interface forwards the request to a memory buffer and starts a timer. In response to the forwarded request, the memory buffer performs a lookup of a target address of the request in a memory controller cache. In response to the target address hitting in a coherence state permitting provision of early data, the memory buffer provides a response indicating early data and provides a copy of a target memory block of the request to the memory channel interface. The memory channel interface, responsive to receipt prior to expiration of the timer of the response indicating early data, transmits the copy of the target memory block to the requestor via the system fabric prior to receiving a combined response of the data processing system to the request.Type: ApplicationFiled: September 25, 2013Publication date: October 16, 2014Inventors: John T. Hollaway, JR., Charles F. Marino, Eric E. Retter, Jeffrey A. Stuecheli
-
Patent number: 8862827Abstract: A cache manager receives a request for data, which includes a requested effective address. The cache manager determines whether the requested effective address matches a most recently used effective address stored in a mapped tag vector. When the most recently used effective address matches the requested effective address, the cache manager identifies a corresponding cache location and retrieves the data from the identified cache location. However, when the most recently used effective address fails to match the requested effective address, the cache manager determines whether the requested effective address matches a subsequent effective address stored in the mapped tag vector. When the cache manager determines a match to a subsequent effective address, the cache manager identifies a different cache location corresponding to the subsequent effective address and retrieves the data from the different cache location.Type: GrantFiled: December 29, 2009Date of Patent: October 14, 2014Assignee: International Business Machines CorporationInventors: Brian Flachs, Barry L. Minor, Mark Richard Nutter
-
Publication number: 20140304475Abstract: A system and method are described for flushing a specified region of a memory side cache (MSC) within a multi-level memory hierarchy. For example, a computer system according to one embodiment comprises: a memory subsystem comprised of a non-volatile system memory and a volatile memory side cache (MSC) for caching portions of the non-volatile system memory; and a flush engine for flushing a specified region of the MSC to the non-volatile system memory in response to a deactivation condition associated with the specified region of the MSC.Type: ApplicationFiled: December 20, 2011Publication date: October 9, 2014Inventors: Raj K Ramanujan, Glenn J Hinton, David J Zimmerman
-
Patent number: 8856448Abstract: Efficient techniques are described for tracking a potential invalidation of a data cache entry in a data cache for which coherency is required. Coherency information is received that indicates a potential invalidation of a data cache entry. The coherency information in association with the data cache entry is retained to track the potential invalidation to the data cache entry. The retained coherency information is kept separate from state bits that are utilized in cache access operations. An invalidate bit, associated with a data cache entry, may be utilized to represents a potential invalidation of the data cache entry. The invalidate bit is set in response to the coherency information, to track the potential invalidation of the data cache entry. A valid bit associated with the data cache entry is set in response to the active invalidate bit and a memory synchronization command. The set invalidate bit is cleared after the valid bit has been cleared.Type: GrantFiled: February 19, 2009Date of Patent: October 7, 2014Assignee: QUALCOMM IncorporatedInventors: Michael W. Morrow, James Norris Dieffenderfer
-
Publication number: 20140297959Abstract: Methods and apparatuses for reducing power consumption of a system cache within a memory controller. The system cache includes multiple ways, and each way is powered independently of the other ways. A target active way count is maintained and the system cache attempts to keep the number of currently active ways equal to the target active way count. The bandwidth and allocation intention of the system cache is monitored. Based on these characteristics, the system cache adjusts the target active way count up or down, which then causes the number of currently active ways to rise or fall in response to the adjustment to the target active way count.Type: ApplicationFiled: April 2, 2013Publication date: October 2, 2014Applicant: Apple Inc.Inventors: Shinye Shiu, Sukalpa Biswas, Wolfgang H. Klingauf, Rong Zhang Hu
-
Patent number: 8850112Abstract: A non-volatile hard disk drive cache system is coupled between a processor and a hard disk drive. The cache system includes a control circuit, a non-volatile memory and a volatile memory. The control circuit causes a subset of the data stored in the hard disk drive to be written to the non-volatile memory. In response to a request to read data from the hard disk drive, the control circuit first determines if the requested read data are stored in the non-volatile memory. If so, the requested read data are provided from the non-volatile memory. Otherwise, the requested read data are provided from the hard disk drive. The volatile memory is used as a write buffer and to store disk access statistics, such as the disk drive locations that are most frequently read, which are used by the control circuit to determine which data to store in the non-volatile memory.Type: GrantFiled: May 16, 2011Date of Patent: September 30, 2014Assignee: Round Rock Research, LLCInventor: Dean A. Klein
-
Publication number: 20140289473Abstract: A cache memory includes: a tag storage section in which one of a plurality of indexes, each index containing a plurality of tag addresses and one suspension-indicating section, is looked up by a first address portion of an accessed address; a data storage section; a tag control section configured to, when the suspension-indicating section contained in the looked-up index indicates suspension, allow access relevant to the accessed address to wait, and when the suspension-indicating section contained in the looked-up index indicates non-suspension, compare a second address portion different from the first address portion of the accessed address to each of the plurality of tag addresses contained in the looked-up index, and detects a tag address matched with the second address portion; and a data control section.Type: ApplicationFiled: March 12, 2014Publication date: September 25, 2014Applicant: Sony CorporationInventor: Taichi Hirao
-
Publication number: 20140281110Abstract: Techniques are disclosed for tracking memory page accesses in a unified virtual memory system. An access tracking unit detects a memory page access generated by a first processor for accessing a memory page in a memory system of a second processor. The access tracking unit determines whether a cache memory includes an entry for the memory page. If so, then the access tracking unit increments an associated access counter. Otherwise, the access tracking unit attempts to find an unused entry in the cache memory that is available for allocation. If so, then the access tracking unit associates the second entry with the memory page, and sets an access counter associated with the second entry to an initial value. Otherwise, the access tracking unit selects a valid entry in the cache memory; clears an associated valid bit; associates the entry with the memory page; and initializes an associated access counter.Type: ApplicationFiled: December 9, 2013Publication date: September 18, 2014Applicant: NVIDIA CORPORATIONInventors: Jerome F. DULUK, Jr., Cameron BUSCHARDT, James Leroy DEMING, Brian FAHS, Mark HAIRGROVE, John MASHEY
-
Publication number: 20140281248Abstract: A system and method to enforce read-write partitioning in an N-way, set associative cache may limit a number of ways allocated for storing modified data in a set to a value W and limit a number of ways holding read data to a value R. The cache may be configured where N=R+W. Furthermore, a number of ways storing prefetched read data may be limited to RP, while a number of ways storing prefetched modified data may be limited to WP. The values for W, R, WP, and/or RP may be determined using a prediction method to estimate cache miss rates for different values for W, R, WP, and/or RP and selecting values corresponding to a desired cache miss rate, and so allowing for selective application of the read-write partitioning.Type: ApplicationFiled: March 16, 2013Publication date: September 18, 2014Applicant: Intel CorporationInventors: Alaa R. Alameldeen, Christopher B. Wilkerson, Samira M. Khan
-
Patent number: 8839025Abstract: The systems and methods described herein may provide a flush-retire instruction for retiring “bad” cache locations (e.g., locations associated with persistent errors) to prevent their allocation for any further accesses, and a flush-unretire instruction for unretiring cache locations previously retired. These instructions may be implemented as hardware instructions of a processor. They may be executable by processes executing in a hyper-privileged state, without the need to quiesce any other processes. The flush-retire instruction may atomically flush a cache line implicated by a detected cache error and set a lock bit to disable subsequent allocation of the corresponding cache location. The flush-unretire instruction may atomically flush an identified cache line (if valid) and clear the lock bit to re-enable subsequent allocation of the cache location. Various bits in the encodings of these instructions may identify the cache location to be retired or unretired in terms of the physical cache structure.Type: GrantFiled: September 30, 2011Date of Patent: September 16, 2014Assignee: Oracle International CorporationInventors: Ramaswamy Sivaramakrishnan, Ali Vahidsafa, Aaron S. Wynn, Connie W. Cheung
-
Patent number: 8832378Abstract: A method for selecting a cache way, the method includes: selecting an initially selected cache way out of multiple cache ways of a cache module for receiving a data unit; the method being characterized by including: searching, if the initially selected cache way is locked, for an unlocked cache way, out of at least one group of cache ways that are located at predefined offsets from the first cache way.Type: GrantFiled: April 11, 2008Date of Patent: September 9, 2014Assignee: Freescale Semiconductor, Inc.Inventors: Rotem Porat, Moshe Anschel, Alon Eldar, Amit Gur, Shai Koren, Itay Peled
-
Patent number: 8825955Abstract: A data processing apparatus has a cache with a data array and a tag array. The tag array stores address tag portions associated with the data values in the data array. The cache performs a tag lookup, comparing a tag portion of a received address with a set of tag entries in the tag array. The data array includes a partial tag store storing a partial tag value in association with each data entry. In parallel with the tag lookup, a partial tag value of the received address is compared with partial tag values stored in association with a set of data entries in said data array. A data value is read out if a match condition occurs. Exclusivity circuitry ensures that at most one partial tag value of said partial tag values stored in association with said set of data entries can generate said match condition.Type: GrantFiled: March 19, 2012Date of Patent: September 2, 2014Assignee: The Regents of the University of MichiganInventors: Faissal Mohamad Sleiman, Ronald George Dreslinski, Jr., Thomas Friedrich Wenisch
-
Publication number: 20140237174Abstract: A method of operating a cache memory includes the step of storing a set of data in a first space in a cache memory, a set of data associated with a set of tags. A subset of the set of data is stored in a second space in the cache memory, the subset of the set of data associated with a tag of a subset of the set of tags. The tag portion of an address is compared with the subset of data in the second space in the cache memory in that said subset of data is read when the tag portion of the address and the tag associated with the subset of data match. The tag portion of the address is compared with the set of tags associated with the set of data in the first space in cache memory and the set of data in the first space is read when the tag portion of the address matches one of the sets of tags associated with the set of data in the first space and the tag portion of the address and the tag associated with the subset of data in the second space do not match.Type: ApplicationFiled: February 24, 2014Publication date: August 21, 2014Applicant: Narada Systems, LLCInventor: Gautam Nag Kavipurapu
-
Patent number: 8812783Abstract: An apparatus comprising first holding units each of which includes first nodes connected in series and shifts first data in each first node in a first direction, second holding units each of which includes second nodes connected in series and shifts second data in each second node in a second direction is provided. Each first node corresponds to at least one of the second nodes. The apparatus further comprises an operation unit which executes, for a node of interest which is a first node, an operation using first data in the node of interest, and second data in at least one of the second nodes to which the node of interest corresponds, and an input unit which inputs, in parallel, the first data to at least two out of the first holding units, and serially inputs the second data to at least two out of the second holding units.Type: GrantFiled: May 11, 2011Date of Patent: August 19, 2014Assignee: Canon Kabushiki KaishaInventor: Tadayuki Ito
-
Patent number: 8812786Abstract: A system and method of providing directory cache coherence are disclosed. The system and method may include tracking the coherence state of at least one cache block contained within a region using a global directory, providing at least one region level sharing information about the least one cache block in the global directory, and providing at least one block level sharing information about the at least one cache block in the global directory. The tracking of the provided at least one region level sharing information and the provided at least one block level sharing information may organize the coherence state of the at least one cache block and the region.Type: GrantFiled: October 18, 2011Date of Patent: August 19, 2014Assignee: Advanced Micro Devices, Inc.Inventors: Bradfod M. Beckmann, Arkaprava Basu, Steven K. Reinhardt
-
Patent number: 8806174Abstract: A system and method are disclosed for storing data in a hash table. The method includes receiving data, determining a location identifier for the data wherein the location identifier identifies a location in the hash table for storing the data and the location identifier is derived from the data, compressing the data by extracting the location identifier; and storing the compressed data in the identified location of the hash table.Type: GrantFiled: November 15, 2012Date of Patent: August 12, 2014Assignee: STEC, Inc.Inventors: Mohammad Reza Sadri, Saied Kazemi, Siddharth Choudhuri
-
Publication number: 20140223102Abstract: Disclosed is a flush control apparatus etc. having the capability to control a Set Associative cache memory apparatus efficiently. A flush control apparatus 11 includes: a tag memory unit 14 capable of associating a tag identifier identifying a tag which associates a plurality of cache lines and tag information representing whether or not the tag is valid; a line memory unit 15, a way specification unit 12 and a flush unit 13 which directs to flush the way specified by the way specification unit 12.Type: ApplicationFiled: January 29, 2014Publication date: August 7, 2014Applicant: NEC CORPORATIONInventors: Yohei YAMADA, Yasuo ISHII
-
Publication number: 20140195730Abstract: The present disclosure is generally directed to a more robust memory subsystem having a an improved architecture for managing a memory space. In one embodiment, a method is provided that includes receiving a memory access request from a memory controller and attempting to access the requested data from a first level of memory maintained on the memory device that contains the map cache. The method is further configured to perform a lookup in the map cache to determine whether the requested address is resident in the first level of memory. If the requested data is not resident in the first level of memory, the method causes a re-map address to be calculated that identifies a location of the requested data in a lower level of memory. Conversely, if the requested data is resident in the first level of memory, the method provides the memory controller with access to the requested data.Type: ApplicationFiled: January 7, 2014Publication date: July 10, 2014Inventor: Dannie Gerrit Feekes
-
Patent number: 8775740Abstract: The present disclosure describes a system and method for high performance, power efficient store buffer forwarding. Some illustrative embodiments may include a system, comprising: a processor coupled to an address bus; a cache memory that couples to the address bus and comprises cache data (the cache memory divided into a plurality of ways); and a store buffer that couples to the address bus, and comprises store buffer data, a store buffer way and a store buffer index. The processor selects the store buffer data for use by a data load operation if a selected way of the plurality of ways matches the store buffer way, and if at least part of the bus address matches the store buffer index.Type: GrantFiled: August 30, 2005Date of Patent: July 8, 2014Assignee: Texas Instruments IncorporatedInventor: Muralidharan S. Chinnakonda
-
Publication number: 20140189243Abstract: A coarse-grained cache line may be associated with a way from a set in a cache. A first sector of the coarse-grained cache line may be stored in the way. The coarse-grained cache line may include a predetermined number of sectors. A fine-grained cache line may be associated with the way. A second sector of the fine-grained cache line may be stored in the way. The fine-grained cache line may include a predetermined number of sectors. The predetermined number of sectors in the fine-grained cache line may be lower than the predetermined number of sectors in the coarse-grained cache line.Type: ApplicationFiled: December 28, 2012Publication date: July 3, 2014Inventors: Blas CUESTA, Qiong CAI, Nevin HYUSEINOVA, Serkan OZDEMIR, Marios NICOLAIDES, Ferad ZYULKYAROV
-
Publication number: 20140189244Abstract: A cache management system employs a replacement policy in a manner that manages redundant accesses to cache elements. The cache management system comprises a cache, a replacement policy state storage and an update control module. The update control module comprises a buffer for storing recent addresses, a comparison unit for comparing a new address with those stored in the recent address buffer, and an update unit which determines whether to update the replacement policy state storage. When an address matches those stored in the recent address buffer, a replacement status update is suppressed.Type: ApplicationFiled: January 2, 2013Publication date: July 3, 2014Inventors: Brian C. Grayson, David P. Burgess, Peter J. Wilson
-
Patent number: 8769204Abstract: A programmable cache and cache access protocol that can be dynamically optimized with respect to either power consumption or performance based on a monitored performance of the cache. A monitoring unit monitors cache misses, load use penalty, and/or other performance parameter, and compares the monitored values against a set of one or more predetermined thresholds. Based on the comparison results, a cache controller configures the programmable cache to operate in a parallel mode, to increase cache performance at the cost of greater power consumption, or in a serial mode, to conserve power at the cost of unnecessary performance. A banked cache memory that supports aligned and unaligned instruction fetches using a banked access strategy, and a cache access controller that includes a prefetch capability are also described.Type: GrantFiled: June 4, 2013Date of Patent: July 1, 2014Assignee: Marvell International Ltd.Inventors: Joseph Delgross, Sujat Jamil, R. Frank O'Bleness, Tom Hameenanttila, David E. Miner
-
Publication number: 20140181407Abstract: For a memory access at a processor, only a subset (less than all) of the ways of a cache associated with a memory address is prepared for access. The subset of ways is selected based on stored information indicating, for each memory access, which corresponding way of the cache was accessed. The subset of ways is selected and preparation of the subset of ways is initiated prior to the final determination as to which individual cache way in the subset is to be accessed.Type: ApplicationFiled: December 26, 2012Publication date: June 26, 2014Applicant: Advanced Micro Devices, Inc.Inventors: Matthew M. Crum, Teik-Chung Tan
-
Publication number: 20140173379Abstract: A method of managing memory includes installing a first cacheline at a first location in a cache memory and receiving a write request. In response to the write request, the first cacheline is modified in accordance with the write request and marked as dirty. Also in response to the write request, a second cacheline is installed that duplicates the first cacheline, as modified in accordance with the write request, at a second location in the cache memory.Type: ApplicationFiled: December 19, 2012Publication date: June 19, 2014Applicant: Advanced Micro Devices, Inc.Inventors: Gabriel H. LOH, Vilas K. Sridharan, James M. O'Connor, Jaewoong Sim