Addressing Cache Memories Patents (Class 711/3)
  • Patent number: 8782667
    Abstract: Embodiments of the present invention provide a method, system and computer program product for weather adaptive environmentally hardened appliances. In an embodiment of the invention, a method for weather adaptation of an environmentally hardened computing appliance includes determining a location of an environmentally hardened computing appliance. Thereafter, a weather forecast including a temperature forecast can be retrieved for a block of time at the location. As a result, a cache policy for a cache of the environmentally hardened computing appliance can be adjusted to account for the weather forecast.
    Type: Grant
    Filed: December 27, 2010
    Date of Patent: July 15, 2014
    Assignee: International Business Machines Corporation
    Inventors: Erik J. Burckart, Gennaro Cuomo, Andrew J. Ivory, Victor S. Moore, Aaron K. Shook
  • Publication number: 20140189193
    Abstract: An image forming apparatus includes a function unit to perform functions of the image forming apparatus, and a control unit to control the function unit to perform the functions of the image forming apparatus. The control unit includes a processor core to operate in a virtual memory address, a main memory to operate in a physical memory address and store data used in the functions of the image forming apparatus, and a plurality of input/output (I/O) logics to operate in the virtual memory address and control at least one of the functions performed by the image forming apparatus. Each of the plurality of I/O logics translates the virtual memory address into the physical memory address corresponding to the virtual memory address and accesses the main memory.
    Type: Application
    Filed: March 7, 2014
    Publication date: July 3, 2014
    Applicant: SAMSUNG Electronics, Co., Ltd.
    Inventor: Byoung-tae CHO
  • Publication number: 20140189192
    Abstract: An apparatus and method for implementing a multiple page size translation lookaside buffer (TLB). For example, a method according to one embodiment comprises: reading a first group of bits and a second group of bits from a linear address; determining whether the linear address is associated with a large page size or a small page size; identifying a first cache set using the first group of bits if the linear address is associated with a first page size and identifying a second cache set using the second group of bits if the linear address is associated with a second page size; and identifying a first cache way if the linear address is associated with a first page size and identifying a second cache way if the linear address is associated with a second page size.
    Type: Application
    Filed: December 28, 2012
    Publication date: July 3, 2014
    Inventors: Shlomo Raikin, Oren Hamama, Robert S. Chappell, Camron B. Rust, Han S. Luu, Leslie A. Ong, Gur Hildesheim
  • Publication number: 20140189191
    Abstract: A processor is described comprising: an architectural register file implemented as a combination of a register file cache and an architectural register region within a level 1 (L1) data cache, and a data location table (DLT) to store data indicating a location of each architectural register within the register file cache and/or the architectural register region within the L1 data cache.
    Type: Application
    Filed: December 28, 2012
    Publication date: July 3, 2014
    Inventors: Ilan Pardo, Michael Behar, Oren Ben-Kiki, Dror Markovich
  • Patent number: 8756400
    Abstract: The present disclosure includes devices, systems, and methods for memory address translation. One or more embodiments include a memory array and a controller coupled to the array. The array includes a first table having a number of records, wherein each record includes a number of entries, wherein each entry includes a physical address corresponding to a data segment stored in the array and a logical address. The controller includes a second table having a number of records, wherein each record includes a number of entries, wherein each entry includes a physical address corresponding to a record in the first table and a logical address. The controller also includes a third table having a number of records, wherein each record includes a number of entries, wherein each entry includes a physical address corresponding to a record in the second table and a logical address.
    Type: Grant
    Filed: April 9, 2013
    Date of Patent: June 17, 2014
    Assignee: Micron Technology, Inc.
    Inventors: Troy A. Manning, Martin L. Culley, Troy D. Larsen
  • Patent number: 8751751
    Abstract: A method for minimizing cache conflict misses is disclosed. A translation table capable of facilitating the translation of a virtual address to a real address during a cache access is provided. The translation table includes multiple entries, and each entry of the translation table includes a page number field and a hash value field. A hash value is generated from a first group of bits within a virtual address, and the hash value is stored in the hash value field of an entry within the translation table. In response to a match on the entry within the translation table during a cache access, the hash value of the matched entry is retrieved from the translation table, and the hash value is concatenated with a second group of bits within the virtual address to form a set of indexing bits to index into a cache set.
    Type: Grant
    Filed: January 28, 2011
    Date of Patent: June 10, 2014
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Men-Chow Chiang, Hong L. Hua
  • Patent number: 8745307
    Abstract: An approach identifies an amount of high order bits used to store a memory address in a memory address field that is included in a memory. This approach calculates at least one minimum number of low order bits not used to store the address with the calculation being based on the identified amount of high order bits. The approach retrieves a data element from one of the identified minimum number of low order bits of the address field and also retrieves a second data element from one of the one of the identified minimum number of low order bits of the address field.
    Type: Grant
    Filed: May 13, 2010
    Date of Patent: June 3, 2014
    Assignee: International Business Machines Corporation
    Inventors: Sundeep Chadha, Cathy May, Naresh Nayar, Randal Craig Swanberg
  • Publication number: 20140149632
    Abstract: Processors and methods for preventing lower level prefetch units from stalling at page boundaries. An upper level prefetch unit closest to the processor core issues a preemptive request for a translation of the next page in a given prefetch stream. The upper level prefetch unit sends the translation to the lower level prefetch units prior to the lower level prefetch units reaching the end of the current page for the given prefetch stream. When the lower level prefetch units reach the boundary of the current page, instead of stopping, these prefetch units can continue to prefetch by jumping to the next physical page number provided in the translation.
    Type: Application
    Filed: November 29, 2012
    Publication date: May 29, 2014
    Applicant: APPLE INC.
    Inventors: Hari S. Kannan, Pradeep Kanapathipillai, Brian P. Lilly, Perumal R. Subramoniam, Mahnaz Sadoughi-Yarandi
  • Patent number: 8719502
    Abstract: A method for operating a cache that includes both robust cells and standard cells may include receiving a data to be written to the cache, determining whether a type of the data is unmodified data or modified data, and writing the data to robust cells or standard cells as a function of the type of the data. A processor includes a core that includes a cache including both robust cells and standard cells for receiving data, wherein the data is written to robust cells or standard cells as a function of whether a type of the data is determined to be unmodified data or modified data.
    Type: Grant
    Filed: March 30, 2012
    Date of Patent: May 6, 2014
    Assignee: Intel Corporation
    Inventors: Christopher B. Wilkerson, Alaa R. Alameldeen, Jaydeep P. Kulkarni
  • Publication number: 20140115225
    Abstract: A processor unit removes, responsive to obtaining a new address, an entry from a memory of a type of memory based on a comparison of a performance of the type of memory to different performances, each of the different performances associated with a number of other types of memory.
    Type: Application
    Filed: October 18, 2012
    Publication date: April 24, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Rahul Chandrakar, Venkatesh Sainath, Vaidyanathan Srinivasan
  • Publication number: 20140115226
    Abstract: A processor unit removes, responsive to obtaining a new address, an entry from a memory of a type of memory based on a comparison of a performance of the type of memory to different performances, each of the different performances associated with a number of other types of memory.
    Type: Application
    Filed: February 11, 2013
    Publication date: April 24, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Rahul Chandrakar, Venkatesh Sainath, Vaidyanathan Srinivasan
  • Patent number: 8694924
    Abstract: A mobile terminal having a function of managing files and folders is disclosed. In one embodiment, the mobile terminal displays folder items representing one or more memory elements installed in or joined to the mobile terminal on a display unit when a request to perform a search function is inputted, and displays selection items corresponding to at least one of files included in the folder item and subfolders on the display unit when a select command for a folder item is inputted. At least one embodiment of the invention allows easy management of data (e.g., files, folders, etc.) stored in one or more memory devices installed in or joined to the mobile terminal.
    Type: Grant
    Filed: June 5, 2007
    Date of Patent: April 8, 2014
    Assignee: KT Corporation
    Inventor: Sang-Joon Jung
  • Patent number: 8688890
    Abstract: A method for handling a request of storage on a serial fabric comprising formatting an address for communication on a serial fabric into a plurality of fields including a field comprising at least one set selection bit and a field comprising at least one tag bit. The address is communicated on the serial fabric with the field comprising the at least one set selection bit communicated first.
    Type: Grant
    Filed: December 5, 2006
    Date of Patent: April 1, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Blaine D. Gaither, Verna Knapp
  • Patent number: 8688962
    Abstract: Apparatuses and methods to perform gather instructions are presented. In one embodiment, an apparatus comprises a gather logic module which includes a gather logic unit to identify locality of data elements in response to a gather instruction. The apparatus includes memory comprising a plurality of memory rows including a memory row associated with the gather instruction. The apparatus further includes memory structure to store data element addresses accessed in response to the gather instruction.
    Type: Grant
    Filed: April 1, 2011
    Date of Patent: April 1, 2014
    Assignee: Intel Corporation
    Inventors: Shlomo Raikin, Robert Valentine
  • Patent number: 8688913
    Abstract: For movement of partial data segments within a computing storage environment having lower and higher levels of cache by a processor, a whole data segment containing one of the partial data segments is promoted to both the lower and higher levels of cache. Requested data of the whole data segment is split and positioned at a Most Recently Used (MRU) portion of a demotion queue of the higher level of cache. Unrequested data of the whole data segment is split and positioned at a Least Recently Used (LRU) portion of the demotion queue of the higher level of cache. The unrequested data is pinned in place until a write of the whole data segment to the lower level of cache completes.
    Type: Grant
    Filed: November 1, 2011
    Date of Patent: April 1, 2014
    Assignee: International Business Machines Corporation
    Inventors: Michael T. Benhase, Stephen L. Blinick, Evangelos S. Eleftheriou, Lokesh M. Gupta, Robert Haas, Xiao-Yu Hu, Matthew J. Kalos, Ioannis Koltsidas, Roman A. Pletka
  • Patent number: 8681169
    Abstract: Systems and methods for texture processing are presented. In one embodiment a texture method includes creating a sparse texture residency translation map; performing a probe process utilizing the sparse texture residency translation map information to return a finest LOD that contains the texels for a texture lookup operation; and performing the texture lookup operation utilizing the finest LOD. In one exemplary implementation, the finest LOD is utilized as a minimum LOD clamp during the texture lookup operation. A finest LOD number indicates a minimum resident LOD and a sparse texture residency translation map includes one finest LOD number per tile of a sparse texture. The sparse texture residency translation can indicate a minimum resident LOD.
    Type: Grant
    Filed: December 31, 2009
    Date of Patent: March 25, 2014
    Assignee: Nvidia Corporation
    Inventors: Jesse D. Hall, Jerome F. Duluk, Jr., Andrew Tao, Henry Moreton
  • Publication number: 20140082252
    Abstract: Responsive to receiving a logical address for a cache access, a mechanism looks up a first portion of the logical address in a local cache directory for a local cache. The local cache directory returns a set identifier for each set in the local cache directory. Each set identifier indicates a set within a higher level cache directory. The mechanism looks up a second portion of the logical address in the higher level cache directory and compares each absolute address value received from the higher level cache directory to an absolute address received from a translation look-aside buffer to generate a higher level cache hit signal. The mechanism compares the higher level cache hit signal to each set identifier to generate a local cache hit signal and responsive to the local cache hit signal indicating a local cache hit, accesses the local cache based on the local cache hit signal.
    Type: Application
    Filed: September 17, 2012
    Publication date: March 20, 2014
    Applicant: International Business Machines Corporation
    Inventors: Khary J. Alexander, Jonathan T. Hsieh, Christian Jacobi, Barry W. Krumm
  • Patent number: 8677049
    Abstract: A prefetch device and method are disclosed that determines from which addresses to speculatively fetch data based on information collected regarding previous cache-miss addresses. A historical record showing a propensity to experience cache-misses at a particular address-offset from a prior cache-miss address within a region of memory provides an indication that data needed by future instructions has an increased likelihood to be located at a similar offset from a current cache-miss address. The prefetch device disclosed herein maintains a record of the relationship between a cache-miss address and subsequent cache-miss addresses for the most recent sixty-four unique data manipulation instructions that resulted in a cache-miss. The record includes a weighted confidence value indicative of how many cache-misses previously occurred at each of a selection of offsets from a particular cache-miss address.
    Type: Grant
    Filed: April 13, 2009
    Date of Patent: March 18, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Mahadev S. Deshpande, Ronny L. Arnold, Josef A. Dvorak, Paul L. Rogers
  • Patent number: 8677050
    Abstract: According to one aspect of the present disclosure, a method and technique for using processor registers for extending a cache structure is disclosed. The method includes identifying a register of a processor, identifying a cache to extend, allocating the register as an extension of the cache, and setting an address of the register as corresponding to an address space in the cache.
    Type: Grant
    Filed: November 12, 2010
    Date of Patent: March 18, 2014
    Assignee: International Business Machines Corporation
    Inventors: Wen-Tzer T. Chen, Diane G. Flemming, William A. Maron, Mysore S. Srinivas, David B. Whitworth
  • Patent number: 8661179
    Abstract: A cache memory architecture, a method of operating a cache memory and a memory controller. In one embodiment, the cache memory architecture includes: (1) a segment memory configured to contain at least one most significant bit (MSB) of a main memory address, the at least one MSB being common to addresses in a particular main memory logical segment that includes the main memory address, (2) a tag memory configured to contain tags that include other bits of the main memory address and (3) combinatorial logic associated with the segment memory and the tag memory and configured to indicate a cache hit only when both the at least one most significant bit and the other bits match a requested main memory address.
    Type: Grant
    Filed: October 3, 2008
    Date of Patent: February 25, 2014
    Assignee: Agere Systems LLC
    Inventors: Allen B. Goodrich, Alex Rabinovitch, Assaf Rachlevski, Alex Shinkar
  • Patent number: 8655842
    Abstract: Embodiments are directed towards modifying a distribution of writers as either a push writer or a pull writer based on a cost model that decides for a given content reader whether it is more effective for the writer to be a pull writer or a push writer. A cache is maintained for each content reader for caching content items pushed by a push writer in the content writer's push list of writers when the content is generated. At query time, content items are pulled by the content reader based on writers a content reader's pull list. One embodiment of the cost model employs data about a previous number of requests for content items for a given writer for a number of previous blended display results of content items. When a writer is determined to be popular, mechanisms are proposed for pushing content items to a plurality of content readers.
    Type: Grant
    Filed: August 17, 2009
    Date of Patent: February 18, 2014
    Assignee: Yahoo! Inc.
    Inventor: Zhichen Xu
  • Patent number: 8627039
    Abstract: An embodiment of the invention provides a method for organizing data addresses within a virtual address space to reduce the number of data fetches to a cloud computing environment. More specifically, data access requests to the cloud computing environment are monitored to identifying data addresses having similar properties. Multi-dimensional clusters are created based on the monitoring to group the data addresses having similar properties. A memory page is created from a multi-dimensional cluster, wherein the creating of the memory page includes creating a cross-sectional partition from the multi-dimensional cluster. The multi-dimensional clusters and the memory page are stored in the cloud computing environment. A request for a data object in the cloud computing environment is received from a user interface. The data address corresponding to the data object is identified and mapped to the multi-dimensional cluster and/or the memory page. The memory page is transferred to the user interface.
    Type: Grant
    Filed: November 9, 2011
    Date of Patent: January 7, 2014
    Assignee: International Business Machines Corporation
    Inventor: Maharaj Mukherjee
  • Publication number: 20140006681
    Abstract: An architecture is described for performing memory management in a virtualization environment. Multiple levels of caches are provided to perform address translations, where at least one of the caches contains a mapping between a guest virtual address and a host physical address. This type of caching implementation serves to minimize the need to perform costly multi-stage translations in a virtualization environment.
    Type: Application
    Filed: June 29, 2012
    Publication date: January 2, 2014
    Applicant: Broadcom Corporation
    Inventors: Wei-Hsiang CHEN, Ricardo RAMIREZ, Hai N. NGUYEN
  • Patent number: 8619790
    Abstract: Certain embodiments of the invention may be found in a method and system for an adaptive cache for caching context and for adapting to collisions in session lookup table. A network processor chip may comprise an on-chip cache that stores transport control blocks (TCB) from a TCB array in external memory to reduce latency in active transmission control protocol/Internet protocol (TCP/IP) sessions. The on-chip cache may comprise a tag portion implemented using a content addressable memory (CAM) and a data portion implemented using a random access memory (RAM). When a session collision occurs the context of a subsequent network connection may be stored in a data overflow portion of an overflow table in the on-chip cache. A search key associated with the subsequent network connection that comprises network connection parameters may be stored in a tag overflow portion of the overflow table.
    Type: Grant
    Filed: September 16, 2005
    Date of Patent: December 31, 2013
    Assignee: Broadcom Corporation
    Inventor: Fong Pong
  • Patent number: 8599707
    Abstract: Methods and apparatus for operating a mobile device based upon a power capability of the mobile device are disclosed. In one embodiment, the mobile device includes a network selection component configured to select a particular transceiver for communication based upon the power capability of the mobile device and a quality of service associated with available networks. In addition, a cache management component is configured to increase, based upon an indication of the power capability of the mobile device, a size of the cache that is available for requested content so as to increase the likelihood that subsequent requests for the content will be loaded from the mobile device. Moreover, some variations of the mobile device are capable of providing an indication of a power capability of the mobile device to a remote server so the remote server may modify the requested content based upon the power capability.
    Type: Grant
    Filed: November 18, 2010
    Date of Patent: December 3, 2013
    Assignee: Qualcomm Innovation Center, Inc.
    Inventor: Dinesh K. Garg
  • Patent number: 8566564
    Abstract: A method for caching attribute data for matching attributes with physical addresses. The method includes storing a plurality of attribute entries in a memory, wherein the memory is configured to provide at least one attribute entry when accessed with a physical address, and wherein the attribute entry provided describes characteristics of the physical address.
    Type: Grant
    Filed: December 13, 2012
    Date of Patent: October 22, 2013
    Inventors: H. Peter Anvin, Guillermo J. Rozas, Alexander Klaiber, John P. Banning
  • Publication number: 20130275649
    Abstract: An access optimization method for a main memory database based on page-coloring is described. An access sequence of all data pages of a weak locality dataset is ordered by page-color, and all the data pages are grouped by page-color, and then all the data pages of the weak locality dataset are scanned in a sequence of page-color grouping. Further, a number of memory pages having the same page-color are preset as a page-color queue, in which the page-color queue serves as a memory cache before a memory page is loaded into a CPU cache; the data page of the weak locality dataset first enters the page-color queue in an asynchronous mode, and is then loaded into the CPU cache to complete data processing. Accordingly, cache conflicts between datasets with different data locality strengths can be effectively reduced.
    Type: Application
    Filed: May 16, 2012
    Publication date: October 17, 2013
    Applicant: RENMIN UNIVERSITY OF CHINA
    Inventors: Yan-Song Zhang, Shan Wang, Xuan Zhou, Min Jiao, Zhan-Wei Wang
  • Patent number: 8560795
    Abstract: A hardware memory architecture or arrangement suited for multi-processor systems or arrays is disclosed. In one aspect, the memory arrangement includes at least one memory queue between a functional unit (e.g., computation unit) and at least one memory device, which the functional unit accesses (for write and/or read access).
    Type: Grant
    Filed: December 28, 2007
    Date of Patent: October 15, 2013
    Assignees: IMEC, Samsung Electronics Co., Ltd.
    Inventors: Bingfeng Mei, Suk Jin Kim, Osman Allam
  • Publication number: 20130262736
    Abstract: The present system enables receiving a request from an I/O device to translate a virtual address to a physical address to access the page in system memory. One or more memory attributes of the page defining a cacheability characteristic of the page is identified. A response including the physical address and the cacheability characteristic of the page is sent to the I/O device.
    Type: Application
    Filed: March 30, 2012
    Publication date: October 3, 2013
    Applicants: ATI Technologies ULC, Advanced Micro Devices, Inc.
    Inventors: Andrew KEGEL, Mark Hummel, Anthony Asaro
  • Patent number: 8549208
    Abstract: A cache memory having enhanced performance and security feature is provided. The cache memory includes a data array storing a plurality of data elements, a tag array storing a plurality of tags corresponding to the plurality of data elements, and an address decoder which permits dynamic memory-to-cache mapping to provide enhanced security of the data elements, as well as enhanced performance. The address decoder receives a context identifier and a plurality of index bits of an address passed to the cache memory, and determines whether a matching value in a line number register exists. The line number registers allow for dynamic memory-to-cache mapping, and their contents can be modified as desired. Methods for accessing and replacing data in a cache memory are also provided, wherein a plurality of index bits and a plurality of tag bits at the cache memory are received.
    Type: Grant
    Filed: December 8, 2009
    Date of Patent: October 1, 2013
    Assignee: Teleputers, LLC
    Inventors: Ruby B. Lee, Zhenghong Wang
  • Patent number: 8539185
    Abstract: Systolic networks within a tiled storage array provide for movement of requested values to a front-most tile, while making space for the requested values at the front-most tile by moving other values away. A first and second information pathway provide different linear pathways through the tiles. The movement of other values, requests for values and responses to requests is controlled according to a clocking logic that governs the movement on the first and second information pathways according to a systolic duty cycle. The first information pathway may be a move-to-front network of a spiral cache, crossing the spiral push-back network which forms the push-back network. The systolic duty cycle may be a three-phase duty cycle, or a two-phase duty cycle may be provided if the storage tiles support a push-back swap operation.
    Type: Grant
    Filed: December 17, 2009
    Date of Patent: September 17, 2013
    Assignee: International Business Machines Corporation
    Inventors: Fadi H. Gebara, Jeremy D. Schaub, Volker Strumpen
  • Patent number: 8521944
    Abstract: In one embodiment, a processor includes an address generation unit having a memory context logic to determine whether a memory context identifier associated with an address of a memory access request corresponds to an agent memory context identifier for the processor, and to handle the memory address request based on the determination.
    Type: Grant
    Filed: August 31, 2010
    Date of Patent: August 27, 2013
    Assignee: Intel Corporation
    Inventor: Ramon Matas
  • Patent number: 8495435
    Abstract: An apparatus, system, method, and machine-readable medium are disclosed. In one embodiment the apparatus includes an address swap cache. The apparatus also includes memory segment swap logic that is capable of detecting a reproducible fault at a first address targeting a memory segment. Once detected, the logic remaps the first address targeting the faulty memory segment with a second address targeting another memory segment. The logic stores the two addresses in an entry in the address swap cache. Then the memory segment swap logic receives a memory transaction that is targeting the first physical address and use the address to perform a lookup process in the address swap cache to determine if an entry exists that has the faulty address. If an entry does exist for that address, the logic then swaps the second address into the memory transaction for the first address.
    Type: Grant
    Filed: September 22, 2010
    Date of Patent: July 23, 2013
    Assignee: Intel Corporation
    Inventors: Tonia G. Morris, Lawrence D. Blankenbeckler
  • Publication number: 20130185473
    Abstract: Embodiments of a data cache are disclosed that substantially decrease a number of accesses to a physically-tagged tag array of the data cache are provided. In general, the data cache includes a data array that stores data elements, a physically-tagged tag array, and a virtually-tagged tag array. In one embodiment, the virtually-tagged tag array receives a virtual address. If there is a match for the virtual address in the virtually-tagged tag array, the virtually-tagged tag array outputs, to the data array, a way stored in the virtually-tagged tag array for the virtual address. In addition, in one embodiment, the virtually-tagged tag array disables the physically-tagged tag array. Using the way output by the virtually-tagged tag array, a desired data element in the data array is addressed.
    Type: Application
    Filed: March 22, 2012
    Publication date: July 18, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Robert D. Clancy, James Norris Dieffenderfer, Thomas Philip Speier
  • Patent number: 8489815
    Abstract: Embodiments of the invention provide techniques for managing cache metadata providing a mapping between addresses on a storage medium (e.g., disk storage) and corresponding addresses on a cache device at which data items are stored. In some embodiments, cache metadata may be stored in a hierarchical data structure comprising a plurality of hierarchy levels. When a reboot of the computer is initiated, only a subset of the plurality of hierarchy levels may be loaded to memory, thereby expediting the process of restoring the cache metadata and thus startup operations. Startup may be further expedited by using cache metadata to perform operations associated with reboot.
    Type: Grant
    Filed: February 2, 2012
    Date of Patent: July 16, 2013
    Assignee: Microsoft Corporation
    Inventors: Mehmet Iyigun, Yevgeniy M. Bak, Michael Fortin, Mahlon David Fields, Cenk Ergan, Alexander Kirshenbaum
  • Patent number: 8489817
    Abstract: An apparatus, system, and method are disclosed for caching data. A storage request module detects an input/output (“I/O”) request for a storage device cached by solid-state storage media of a cache. A direct mapping module references a single mapping structure to determine that the cache comprises data of the I/O request. The single mapping structure maps each logical block address of the storage device directly to a logical block address of the cache. The single mapping structure maintains a fully associative relationship between logical block addresses of the storage device and physical storage addresses on the solid-state storage media. A cache fulfillment module satisfies the I/O request using the cache in response to the direct mapping module determining that the cache comprises at least one data block of the I/O request.
    Type: Grant
    Filed: August 12, 2011
    Date of Patent: July 16, 2013
    Assignee: Fusion-io, Inc.
    Inventors: David Flynn, David Atkisson, Joshua Aune
  • Publication number: 20130166814
    Abstract: A program for causing an information processing apparatus to execute a process of a virtual calculator, the process including judging, when a switching of a virtual address space being a processing target of a virtual calculation apparatus occurs, whether or not a there exits physical calculation apparatus in which cache information of a physical address space corresponding to a virtual address space of a switching destination is accumulated; selecting the physical calculation apparatus when there exists a physical calculation apparatus in which the cache information of the physical address space is accumulated, and selecting the physical calculation apparatus in which cache information itself is not accumulated when there exists no physical calculation apparatus in which the cache information is accumulated; and assigning the selected physical calculation apparatus to the virtual calculation apparatus in which the switching of the virtual address space being a processing target has occurred.
    Type: Application
    Filed: February 25, 2013
    Publication date: June 27, 2013
    Applicant: FUJITSU LIMITED
    Inventor: FUJITSU LIMITED
  • Patent number: 8468531
    Abstract: A monitor bit per hardware thread in a memory location may be allocated, in a multiprocessing computer system having a plurality of hardware threads, the plurality of hardware threads sharing the memory location, and each of the allocated monitor bit corresponding to one of the plurality of hardware threads. A condition bit may be allocated for each of the plurality of hardware threads, the condition bit being allocated in each context of the plurality of hardware threads. In response to detecting the memory location being accessed, it is determined whether a monitor bit corresponding to a hardware thread in the memory location is set. In response to determining that the monitor bit corresponding to a hardware thread is set in the memory location, a condition bit corresponding to a thread accessing the memory location is set in the hardware thread's context.
    Type: Grant
    Filed: May 26, 2010
    Date of Patent: June 18, 2013
    Assignee: International Business Machines Corporation
    Inventors: Michael K. Gschwind, John K. O'Brien, Valentina Salapura, Zehra N. Sura
  • Patent number: 8464000
    Abstract: A system for determining a cache line to replace is described. In one embodiment, the system includes a cache comprising a plurality of cache lines. The system further includes an identifier configured to identify a cache line for replacement. The system also includes a control logic configured to determine a value of the identifier selected from an incrementer, a cache maintenance instruction, or remains the same.
    Type: Grant
    Filed: February 29, 2008
    Date of Patent: June 11, 2013
    Assignee: QUALCOMM Incorporated
    Inventors: Ajay Anant Ingle, Erich James Plondke, Lucian Codrescu
  • Patent number: 8438003
    Abstract: A method of improved simulator processing is provided. The method according to the current invention includes grouping frequently accessed data into one set id to improve memory hierarchy performance. The method further includes simulating predication in a non-predicated architecture to improve CPU performance. The simulated predication includes pseudo-predicated implementation of read-operation vector element access pseudo-predicated implementation of write-operation vector element access, and predicated implementation of multi-way branches with assignment statements having a same left-hand-side (lhs). The method further includes determining a selection path in a multi-sensitive “always” block to reduce taken branches. The multi-sensitive “always” block selection path determination includes generating instance-specific code to save port allocation storage, and generating inlined instance-specific code to combine sensitive actions.
    Type: Grant
    Filed: April 14, 2008
    Date of Patent: May 7, 2013
    Assignee: Cadence Design Systems, Inc.
    Inventors: Rakesh Agarwal, Oana Baltaretu
  • Patent number: 8417914
    Abstract: The present disclosure includes devices, systems, and methods for memory address translation. One or more embodiments include a memory array and a controller coupled to the array. The array includes a first table having a number of records, wherein each record includes a number of entries, wherein each entry includes a physical address corresponding to a data segment stored in the array and a logical address. The controller includes a second table having a number of records, wherein each record includes a number of entries, wherein each entry includes a physical address corresponding to a record in the first table and a logical address. The controller also includes a third table having a number of records, wherein each record includes a number of entries, wherein each entry includes a physical address corresponding to a record in the second table and a logical address.
    Type: Grant
    Filed: January 6, 2011
    Date of Patent: April 9, 2013
    Assignee: Micron Technology, Inc.
    Inventors: Troy A. Manning, Martin L. Culley, Troy D. Larsen
  • Patent number: 8407392
    Abstract: A cache unit multiple memory towers, which can be independently addressed. Cache lines are divided among multiple towers. Furthermore, physical lines of the memory towers are shared by multiple cache lines. Because each tower can be addressed independently and the cache lines are split among the towers, unaligned cache access can be performed. Furthermore, power can be conserved because not all the memory towers of the cache unit needs to be activated during some memory access operations.
    Type: Grant
    Filed: December 13, 2011
    Date of Patent: March 26, 2013
    Assignee: Infineon Technologies AG
    Inventor: Klaus J. Oberlaender
  • Patent number: 8402198
    Abstract: A hardware search structure quickly determines the status of cache lines associated with a large disk array and at the same time reduces the amount of memory space needed for tracking the status. The search structure is configurable in hardware to different cache line sizes and different primary and secondary index sizes. A maintenance feature invalidates state record entries based both on their time stamps and on associated usage statistics.
    Type: Grant
    Filed: May 28, 2010
    Date of Patent: March 19, 2013
    Assignee: Violin Memory, Inc.
    Inventors: Erik de la Iglesia, Som Sikdar, David Parker, Dommeti Sivaram
  • Patent number: 8370604
    Abstract: A method for caching attribute data for matching attributes with physical addresses. The method includes storing a plurality of attribute entries in a memory, wherein the memory is configured to provide at least one attribute entry when accessed with a physical address, and wherein the attribute entry provided describes characteristics of the physical address.
    Type: Grant
    Filed: June 24, 2011
    Date of Patent: February 5, 2013
    Inventors: H. Peter Anvin, Guillermo J. Rozas, Alexander Klaiber, John P. Banning
  • Publication number: 20130024597
    Abstract: A method is provided including recording, in a counter of a set of counters, a number of cache accesses for a page corresponding to a translation lookaside buffer (TLB) page table entry, where the counters are physically grouped together and physically separate from the TLB. The method also includes recording the number of cache accesses from the corresponding counter to a field of the page table responsive to an event. An apparatus is provided that includes a memory unit and a set of counters coupled to the one memory unit, the set of counters comprises one or more counters that are physically grouped together and are adapted to store a value indicative of a number of memory page accesses. The apparatus includes a cache coupled to the set of counters. Also provided is a computer readable storage device encoded with data for adapting a manufacturing facility to create the apparatus.
    Type: Application
    Filed: July 19, 2011
    Publication date: January 24, 2013
    Inventors: Gabriel H. Loh, Nuwan Jayasena
  • Publication number: 20130019047
    Abstract: An apparatus having a memory and circuit is disclosed. The memory may (i) assert a first signal in response to detecting a conflict between at least two addresses requesting access to a block at a first time, (ii) generate a second signal in response to a cache miss caused by an address requesting access to the block at a second time and (iii) store a line fetched in response to the cache miss in another block by adjusting the first address by an offset. The second time is generally after the first time. The circuit may (i) generate the offset in response to the assertion of the first signal and (ii) present the offset in a third signal to the memory in response to the assertion of the second signal corresponding to reception of the first address at the second time. The offset is generally associated with the first address.
    Type: Application
    Filed: July 11, 2011
    Publication date: January 17, 2013
    Inventors: Dmitry Podvalny, Alex Shinkar, Assaf Rachlevski
  • Patent number: 8352709
    Abstract: A memory access technique, in accordance with one embodiment of the present invention, includes caching segmentation data. The technique utilizes a separate memory for storing a plurality of context specifiers and an MMU. The MMU includes an on-chip cache and a segmentation unit. The MMU receives a location of a particular context specifier and a corresponding context index for each of one or more of the plurality of context specifiers stored in the separate memory. The segmentation unit retrieves the particular context specifier and caches it locally. The segmentation unit also binds the cache location of the particular context specifier to the corresponding context index. After caching one or more context specifiers and generating a corresponding binding, the segmentation unit may receive a memory access request that includes a given context index. A given context specifier that is cached locally is accessed by the segmentation unit using the context index to get a base address.
    Type: Grant
    Filed: September 19, 2006
    Date of Patent: January 8, 2013
    Assignee: NVIDIA Corporation
    Inventors: David B. Glasco, John S. Montrym, Lingfeng Yuan
  • Patent number: 8346966
    Abstract: The present invention, in particular embodiments, provides methods, apparatuses and systems directed to providing a mechanism by which clients can transparently access remote file server appliances. Due to this, clients do not need to modify the pathnames in order to access the file servers.
    Type: Grant
    Filed: July 19, 2007
    Date of Patent: January 1, 2013
    Assignee: Blue Coat Systems, Inc.
    Inventors: Shirish H. Phatak, Chandra Kilaru Satish, Murali Rangarajan, Pratik Shankarial Rana
  • Publication number: 20120324141
    Abstract: Systems and methods for dynamically remapping elements of a set to another set based on random keys. Application of said systems and methods to dynamically mapping regions of memory space of non-volatile memory, e.g., phase-change memory, can provide a wear-leveling technique. The wear leveling technique can be effective under normal execution of typical applications, and in worst-case scenarios including the presence of malicious exploits and/or compromised operating systems, wherein constantly migrating the physical location of data inside the PCM avoids information leakage and increases security; wherein random relocation of data results in the distribution of memory requests across the physical memory space increases durability; and wherein such wear leveling schemes can be implemented to provide fine-grained wear leveling without overly-burdensome hardware overhead e.g., a look-up table.
    Type: Application
    Filed: May 24, 2012
    Publication date: December 20, 2012
    Applicant: Georgia Tech Research Corporation
    Inventors: Nak Hee Seong, Dong Hyuk Woo, Hsien-Hsin S. Lee
  • Publication number: 20120324142
    Abstract: A list prefetch engine improves a performance of a parallel computing system. The list prefetch engine receives a current cache miss address. The list prefetch engine evaluates whether the current cache miss address is valid. If the current cache miss address is valid, the list prefetch engine compares the current cache miss address and a list address. A list address represents an address in a list. A list describes an arbitrary sequence of prior cache miss addresses. The prefetch engine prefetches data according to the list, if there is a match between the current cache miss address and the list address.
    Type: Application
    Filed: August 24, 2012
    Publication date: December 20, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Peter Boyle, Norman Christ, Alan Gara, Changhoan Kim, Robert Mawhinney, Martin Ohmacht, Krishnan Sugavanam