Addressing Cache Memories Patents (Class 711/3)
-
Patent number: 8190839Abstract: A multi-processor computer system is provided for managing physical memory domains. The system includes at least one processor having an address interface for sending a memory access message, which includes an address in physical memory and a domain identification (ID). The system also includes a physical memory portioned into a plurality of domains, where each domain includes a plurality of physical addresses. A domain mapping unit (DMU) has an interface to accept the memory access message from the processor. The DMU uses the domain ID to access a permission list, cross-reference the domain ID to a domain including addresses in physical memory, and grant the processor access to the address in response to the address being located in the domain.Type: GrantFiled: March 11, 2009Date of Patent: May 29, 2012Assignee: Applied Micro Circuits CorporationInventor: Daniel L. Bouvier
-
Patent number: 8190849Abstract: A memory structure includes a plurality of address banks where each address bank is operative to store a memory address. In certain embodiments, at least two of the address banks share physical memory locations for at least one redundant most significant bit. Additionally, at least two of the address banks in certain embodiments share physical memory locations for at least one redundant most significant bit and at least one redundant least significant bit. At least two of the address banks in certain embodiments also share physical memory locations for at least one redundant interior bit.Type: GrantFiled: December 30, 2010Date of Patent: May 29, 2012Assignee: Micron Technology, Inc.Inventor: Sujeet Ayyapureddi
-
Patent number: 8190807Abstract: A computer implemented tool is provided for assisting in the mapping of a computer program to an asymmetric multiprocessing apparatus 2 incorporating an asymmetric memory hierarchy formed of a plurality of memories 12, 14. An at least partial architectural description 22, 40 is provided as an input variable to the tool and used to infer missing annotations within a source computer program 24, such as which functions are to be executed by which execution mechanisms 4, 6, 8 and which variables are to be stored within which memories 12, 14. The tool also adds mapping support commands, such as cache flush commands, cache invalidate commands, DMA move commands and the like as necessary to support the mapping of the computer program to the asymmetric multiprocessing apparatus 2.Type: GrantFiled: October 23, 2007Date of Patent: May 29, 2012Assignee: ARM LimitedInventors: Alastair David Reid, Edmund Grimley-Evans, Simon Andrew Ford
-
Patent number: 8180955Abstract: A computing system is provided. A flash memory device includes at least one mapping block, at least one modification block and at least one cache block. A processor is configured to perform: receiving a write command with a write logical address and predetermined data, loading content of a cache page from the cache block corresponding to the modification block according to the write logical address to a random access memory device in response to that a page of the mapping block corresponding to the write logical address has been used, the processor, reading orderly the content of the cache page stored in the random access memory device to obtain location information of an empty page of the modification block, and writing the predetermined data to the empty page according to the location information. Each cache page includes data fields to store location information corresponding to the data has been written in the pages of the modification block in order.Type: GrantFiled: February 15, 2010Date of Patent: May 15, 2012Assignee: Via Telecom, Inc.Inventors: Rong Li, Huaqiao Wang, Yuefeng Jin
-
Patent number: 8176282Abstract: A system and method are provided for managing cache memory in a computer system. A cache controller portions a cache memory into a plurality of partitions, where each partition includes a plurality of physical cache addresses. Then, the method accepts a memory access message from the processor. The memory access message includes an address in physical memory and a domain identification (ID). A determination is made if the address in physical memory is cacheable. If cacheable, the domain ID is cross-referenced to a cache partition identified by partition bits. An index is derived from the physical memory address, and a partition index is created by combining the partition bits with the index. A processor is granted access (read or write) to an address in cache defined by partition index.Type: GrantFiled: April 6, 2009Date of Patent: May 8, 2012Assignee: Applied Micro Circuits CorporationInventor: Daniel L. Bouvier
-
Patent number: 8171200Abstract: A method includes indexing a translation table stored in memory with a first index of a virtual address corresponding to a first memory region size by querying the translation table at first locations associated with the first index. Indexing the translation table with a second index of the virtual address corresponding to a second memory region size by querying the translation table at second locations associated with the second index. The translation table includes translations for mapping address tags of the virtual address to physical addresses. The first index is different than the second index, and the first memory region size is different than the second memory region size.Type: GrantFiled: November 9, 2010Date of Patent: May 1, 2012Assignee: Marvell International Ltd.Inventors: Dennis O'Connor, Stephen J. Strazdus
-
Patent number: 8171258Abstract: In an embodiment, an address generation unit (AGU) is configured to generate a pseudo sum from an index portion of two or more operands. The pseudo sum may equal the index if the carry-in of the actual sum to the least significant bit of the index is a selected value (e.g. zero). The AGU may also include circuitry coupled to receive the operands and to generate the actual carry-in to the least significant bit of the index. The AGU may transmit the pseudo sum and the carry-in to a decode block for a memory array. The decode block may decode the pseudo sum into one or more one-hot vectors. The one-hot vectors may be input to muxes, and the one-hot vectors rotated by one position may be the other input. The actual carry-in may be the selection control of the mux.Type: GrantFiled: July 21, 2009Date of Patent: May 1, 2012Assignee: Apple Inc.Inventors: Rajat Goel, Chen-Ju Hsieh
-
Publication number: 20120096213Abstract: To aim to provide a cache memory device that performs a line size determination process for determining a refill size, in advance of a refill process that is performed at cache miss time. According to the line size determination process, the number of reads/writes of a management target line that belongs to a set is acquired (S51), and in the case where the numbers of reads completely match one another and the numbers of writes completely match one another (S52: Yes), the refill size is determined to be large (S54). Otherwise (S52: No), the refill size is determined to be small (S55).Type: ApplicationFiled: April 7, 2010Publication date: April 19, 2012Inventor: Kazuomi Kato
-
Patent number: 8142291Abstract: A gaming machine that permits wagering on games includes an input/output module associated with a microprocessing unit and is adapted to download schedules from a server of gaming actions to be taken by the gaming machine. Memory in the gaming machine stores the schedules. The memory also stores a backup schedule of gaming actions to be taken. A microprocessing unit determines whether one of the schedules or the backup schedule will be implemented. The microprocessing unit controls the performance of the gaming actions defined by the schedule being implemented.Type: GrantFiled: October 2, 2007Date of Patent: March 27, 2012Assignee: WMS Gaming, Inc.Inventor: Chad A. Ryan
-
Patent number: 8145786Abstract: Buffering messages by receiving a message from a messaging client, writing the message to a logically-contiguous write-available region of a message buffer starting at a logically next write-available location within the write-available region, updating a head index to indicate a head boundary between a logically last message in the message buffer and a logically next write-available location in the message buffer, defining a packet including the message within the message buffer, transmitting a packet that includes a logically first message in the message buffer, and updating a tail index to indicate a tail boundary between a new logically last write-available location in the message buffer and a new logically first message in the message buffer.Type: GrantFiled: October 6, 2008Date of Patent: March 27, 2012Assignee: International Business Machines CorporationInventors: Gidon Gershinsky, Konstantin Shagin
-
Publication number: 20120072768Abstract: 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: ApplicationFiled: September 22, 2010Publication date: March 22, 2012Inventors: Tonia G. Morris, Lawrence D. Blankenbeckler
-
Patent number: 8135914Abstract: 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 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. Thereafter, as requests to read data items on the storage medium are processed using cache metadata to identify addresses at which the data items are stored in cache, the identified addresses may be stored in memory.Type: GrantFiled: August 30, 2011Date of Patent: March 13, 2012Assignee: Microsoft CorporationInventors: Mehmet Iyigun, Yevgeniy M. Bak, Michael Fortin, David Fields, Cenk Ergan, Alexander Kirshenbaum
-
Patent number: 8135923Abstract: In a method for enabling a root device to access a plurality of memory locations in an address space in an endpoint device, a first access is sent to the endpoint device by transmitting a first header and a first address. The header includes a continue bit that is set at a first state that indicates that the first access is accessing a selected first memory location that the address is being sent. A first memory location is accessed when the continue bit is in the first state. A second access, which accesses accessing a second memory location that is contiguous to an immediately previously accessed memory location, is sent to the endpoint device by transmitting a header that includes a continue bit set to a second state and not sending an address. The second memory location corresponds to the first address plus a predetermined address offset.Type: GrantFiled: April 26, 2007Date of Patent: March 13, 2012Assignee: International Business Machines CorporationInventors: Ryan S. Haraden, Adalberto G. Yanes
-
Publication number: 20120059971Abstract: The present invention provides a method and apparatus for handling critical blocking of store-to-load forwarding. One embodiment of the method includes recording a load that matches an address of a store in a store queue before the store has valid data. The load is blocked because the store does not have valid data. The method also includes replaying the load in response to the store receiving valid data so that the valid data is forwarded from the store queue to the load.Type: ApplicationFiled: September 7, 2010Publication date: March 8, 2012Inventors: DAVID KAPLAN, Tarun Nakra, Christopher D. Bryant, Bradley Burgess
-
Publication number: 20120054375Abstract: According to one aspect of the present disclosure a method and technique for monitoring memory access is disclosed. The method includes monitoring, by a plurality of memory controllers, access to a memory unit, wherein each memory controller is associated with a different range of memory addresses of the memory unit, and wherein each memory controller monitors access for its associated range of memory addresses. The method also includes updating an incrementor with access data corresponding to accesses to the memory unit, wherein each memory controller updates the access data based on access of its associated range of memory addresses. The method further includes storing, by each respective memory controller, the updated access data in a cache corresponding to the respective range of memory addresses and, responsive to the updated access data for a respective range of memory addresses exceeding a threshold, storing the access data for the respective range of memory addresses in memory unit.Type: ApplicationFiled: August 26, 2010Publication date: March 1, 2012Applicant: International Business Machines CorporationInventors: Richard L. Arndt, Karthick Rajamani, Jeffrey A. Stuecheli
-
Publication number: 20120047311Abstract: A method and system to facilitate full throughput operation of cache memory line split accesses in a device. By facilitating full throughput operation of cache memory line split accesses in the device, the device minimizes the performance and throughput loss associated with the handling of non-aligned cache memory accesses that cross two or more cache memory lines and/or page memory boundaries in one embodiment of the invention. When the device receives a non-aligned cache memory access request, the merge logic combines or merges the incoming data of a particular cache memory line from a data cache memory with the stored data of the preceding cache memory line of the particular cache memory line.Type: ApplicationFiled: August 17, 2010Publication date: February 23, 2012Inventor: Gad S. Sheaffer
-
Patent number: 8122178Abstract: A system comprising a processor, a data storage device that is accessible by the processor, and filesystem software that is executable by the processor to organize files on the data storage device are provided. The filesystem software is executable to maintain a filename cache comprising filename entries. The filename entries may include a filename header section and each filename entry identifies a filename of a corresponding file.Type: GrantFiled: June 10, 2011Date of Patent: February 21, 2012Assignee: QNX Software Systems LimitedInventors: Dan Dodge, Peter van der Veen
-
Patent number: 8112585Abstract: A method implements a cache-policy switching module in a storage system. The storage system includes a cache memory to cache storage data. The cache memory uses a first cache configuration. The cache-policy switching module emulates the caching of the storage data with a plurality of cache configurations. Upon a determination that one of the plurality of cache configurations performs better than the first cache configuration, the cache-policy switching module automatically applies the better performing cache configuration to the cache memory for caching the storage data.Type: GrantFiled: April 30, 2009Date of Patent: February 7, 2012Assignee: NetApp, Inc.Inventors: Naresh Patel, Jeffrey S. Kimmel, Garth Goodson
-
Publication number: 20120030403Abstract: A memory system including a non-volatile memory, a cache memory, a control circuit, and a data processing device is configured. The high speed can be achieved by transferring data in the non-volatile memory to the cache memory to retain the same therein. When the data in the non-volatile memory is transferred to the cache memory, error correction is performed so as to improve the reliability. Since the cache memory and the non-volatile memory can be accessed from the data processing device independently, improvement in usability can be achieved. The memory system including the plurality of chips is configured as a memory system module where respective chips are arranged in a stacked manner and wired by a ball grid array (BGA) and wire bonding between chips.Type: ApplicationFiled: July 25, 2011Publication date: February 2, 2012Inventor: Seiji MIURA
-
Patent number: 8108866Abstract: A mechanism is provided for determining whether to use cache affinity as a criterion for software thread dispatching in a shared processor logical partitioning data processing system. The server firmware may store data about when and/or how often logical processors are dispatched. Given these data, the operating system may collect metrics. Using the logical processor metrics, the operating system may determine whether cache affinity is likely to provide a significant performance benefit relative to the cost of dispatching a particular logical processor to the operating system.Type: GrantFiled: May 30, 2008Date of Patent: January 31, 2012Assignee: International Business Machines CorporationInventors: Vaijayanthimala K. Anand, Dean J. Burdick, Bret R. Olszewski
-
Patent number: 8108587Abstract: A computing system stores a database comprising pages. Each of the pages is the same size. When a page is requested, a block of virtual memory addresses is associated with the page and a set of physical data storage locations is committed to the block of virtual memory addresses. A copy of the page is then stored into the set of physical data storage locations. Physical data storage locations committed to the virtual memory addresses associated with available free space in the copy of the page are deallocated, thereby allowing reuse of these physical data storage locations. A reference to the copy of the page is then returned.Type: GrantFiled: May 26, 2009Date of Patent: January 31, 2012Assignee: Microsoft CorporationInventors: Brett A. Shirley, Laurion Burchall, Matthew Gossage
-
Patent number: 8091000Abstract: An apparatus and methods are disclosed herein for identifying and avoiding attempts to access a defective portion of memory. Errors associated with portions of memory, such as a cache memory, are tracked over time enabling detection of both hard and erratic errors. Based on the number of errors tracked over time for a portion of memory, it is determined if the portion of memory is defective. In response to determining portion of memory is defective, the portion of memory is disabled. The portion of memory may be flushed and moved before being disable. Additionally, disabling the portion of memory may be conditioned upon determining if it is allowable to disable the portion of memory.Type: GrantFiled: August 13, 2009Date of Patent: January 3, 2012Assignee: Intel CorporationInventors: Tsung-Yung (Jonathan) Chang, Durgesh Srivastava, Jonathan Shoemaker, John Benoit
-
Publication number: 20110314202Abstract: 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 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. Thereafter, as requests to read data items on the storage medium are processed using cache metadata to identify addresses at which the data items are stored in cache, the identified addresses may be stored in memory.Type: ApplicationFiled: August 30, 2011Publication date: December 22, 2011Applicant: Microsoft CorporationInventors: Mehmet Iyigun, Yevgeniy Bak, Michael Fortin, David Fields, Cenk Ergan, Alexander Kirshenbaum
-
Patent number: 8078790Abstract: 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: GrantFiled: April 28, 2008Date of Patent: December 13, 2011Assignee: Infineon Technologies AGInventor: Klaus J. Oberlaender
-
Patent number: 8078826Abstract: An embodiment of the invention provides a method for effective memory clustering to minimize page faults and optimize memory utilization. More specifically, the method monitors data access requests to secondary storage and identifies data addresses in secondary storage 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 a cross-sectional partition is created (sliced) from the multi-dimensional cluster. The method receives a request for a data object in secondary storage and identifies a data address corresponding to the requested data object. The data address is mapped to the multi-dimensional cluster and/or the memory page; and, the memory page is transferred to a data cache in primary storage.Type: GrantFiled: April 10, 2009Date of Patent: December 13, 2011Assignee: International Business Machines CorporationInventor: Maharaj Mukherjee
-
Publication number: 20110289257Abstract: A request for reading data from a memory location of a main memory is received, the memory location being identified by a physical memory address. In response to the request, a cache memory is accessed based on the physical memory address to determine whether the cache memory contains the data being requested. The data associated with the request is returned from the cache memory without accessing the memory location if there is a cache hit. The data associated is returned from the main memory if there is a cache miss. In response to the cache miss, it is determined whether there have been a number of accesses within a predetermined period of time. A cache entry is allocated from the cache memory to cache the data if there have been a predetermined number of accesses within the predetermined period of time.Type: ApplicationFiled: May 20, 2010Publication date: November 24, 2011Applicant: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)Inventors: Robert Hathaway, Evan Gewirtz
-
MEMORY BANKING SYSTEM AND METHOD TO INCREASE MEMORY BANDWIDTH VIA PARALLEL READ AND WRITE OPERATIONS
Publication number: 20110289256Abstract: A cache memory and a tag memory are included in a banked memory system and used to effectively enable parallel write and read operations on each clock cycle, even though the memory banks consist of single-port devices that are not inherently capable of parallel write and read operations.Type: ApplicationFiled: May 18, 2010Publication date: November 24, 2011Applicant: Avago Technologies Enterprise IP (Singapore) Pte. Ltd.Inventor: Douglas E. Bartlett -
Publication number: 20110283040Abstract: 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: ApplicationFiled: May 13, 2010Publication date: November 17, 2011Applicant: International Business Machines CorporationInventors: Sundeep Chadha, Cathy May, Naresh Nayar, Randal Craig Swanberg
-
Publication number: 20110283041Abstract: A cache memory comprises a data array that stores a cashed block; a first address array that stores an address of the cached block; a second address array that stores an address of a first block to be removed from the data array when a cache miss occurs; and a control unit that transmits to a processor the first block stored in the data array as a cache hit block, when the address stored in the second address array results in a cache hit during a period before a second block which has caused the cache miss is read from a memory and written into the data array.Type: ApplicationFiled: January 25, 2010Publication date: November 17, 2011Inventor: Yasushi Kanoh
-
Patent number: 8060869Abstract: A method and system for providing a binary instrumentation tool to detect memory problems in a runtime application executing on a computer system includes identifying one or more functions or statements in the runtime application. A plurality of compiler annotations defining essential functional characteristic data of each of the plurality of functions is generated by a compiler when compiling the user program from source code to an executable binary code. A program error detector is configured to provide a checker code based on guidelines provided by of the plurality of compiler annotations associated with the function. The program error detector generates a modified function code for the identified function by inserting the checker code into a function code for the corresponding function. A modified executable binary code for the runtime application is then generated by replacing the function code for the function with the corresponding modified function code.Type: GrantFiled: June 8, 2007Date of Patent: November 15, 2011Assignee: Oracle America, Inc.Inventors: Maksim V Panchenko, Fu-Hwa Wang
-
Publication number: 20110252180Abstract: Systems, methods, and devices for dynamically mapping and remapping memory when a portion of memory is activated or deactivated are provided. In accordance with an embodiment, an electronic device may include several memory banks, one or more processors, and a memory controller. The memory banks may store data in hardware memory locations and may be independently deactivated. The processors may request the data using physical memory addresses, and the memory controller may translate the physical addresses to hardware memory locations. The memory controller may use a first memory mapping function when a first number of memory banks is active and a second memory mapping function when a second number is active.Type: ApplicationFiled: September 30, 2010Publication date: October 13, 2011Applicant: APPLE INC.Inventors: Ian Hendry, Rajabali Koduri, Jeffry Gonion
-
Patent number: 8032732Abstract: A cache-aware Bloom filter system segments a bit vector of a cache-aware Bloom filter into fixed-size blocks. The system hashes an item to be inserted into the cache-aware Bloom filter to identify one of the fixed-size blocks as a selected block for receiving the item and hashes the item k times to generate k hashed values for encoding the item for insertion in the in the selected block. The system sets bits within the selected block with addresses corresponding to the k hashed values such that accessing the item in the cache-aware Bloom filter requires accessing only the selected block to check the k hashed values. The size of the fixed-size block corresponds to a cache-line size of an associated computer architecture on which the cache-aware Bloom filter is installed.Type: GrantFiled: June 5, 2008Date of Patent: October 4, 2011Assignee: International Business Machines CorporatioInventors: Kevin Scott Beyer, Sridhar Rajagopalan
-
Patent number: 8032707Abstract: 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 data items are stored. In some embodiments, cache metadata may be stored in a hierarchical data structure comprising a plurality of hierarchy levels. Only a subset of the plurality of hierarchy levels may be loaded to memory, thereby reducing the memory “footprint” of cache metadata and expediting the process of restoring the cache metadata during startup operations. Startup may be further expedited by using cache metadata to perform operations associated with reboot. Thereafter, as requests to read data items on the storage medium are processed using cache metadata to identify addresses at which the data items are stored in cache, the identified addresses may be stored in memory.Type: GrantFiled: November 14, 2008Date of Patent: October 4, 2011Assignee: Microsoft CorporationInventors: Mehmet Iyigun, Yevgeniy Bak, Michael Fortin, David Fields, Cenk Ergan, Alexander Kirshenbaum
-
Patent number: 8027854Abstract: A method, system and computer program product for interfacing between information requesters and information sources. In an embodiment, information is obtained from one or more information sources in response to client requests. In an embodiment, information received from information sources is cached for future use, such as for future client requests. In a caching embodiment, information can also be received by monitoring traffic between an information source and a third party, and/or by proactively querying the information sources. Proactive queries can be generated to populate a cache and/or to update presently cached information. In a caching embodiment, the invention includes methods for determining whether to respond to a request for information out-of-cache and/or with real-time information from an information source. In an embodiment, the invention interfaces with airline availability information sources.Type: GrantFiled: November 13, 2006Date of Patent: September 27, 2011Assignee: ITA Software, Inc.Inventors: David M. Baggett, Gregory R. Galperin
-
Publication number: 20110231593Abstract: An embodiment provides a virtual address cache memory including: a TLB virtual page memory configured to, when a rewrite to a TLB occurs, rewrite entry data; a data memory configured to hold cache data using a virtual page tag or a page offset as a cache index; a cache state memory configured to hold a cache state for the cache data stored in the data memory, in association with the cache index; a first physical address memory configured to, when the rewrite to the TLB occurs, rewrite a held physical address; and a second physical address memory configured to, when the cache data is written to the data memory after the occurrence of the rewrite to the TLB, rewrite a held physical address.Type: ApplicationFiled: December 1, 2010Publication date: September 22, 2011Applicant: KABUSHIKI KAISHA TOSHIBAInventors: Kenta YASUFUKU, Shigeaki IWASA, Yasuhiko KUROSAWA, Hiroo HAYASHI, Seiji MAEDA, Mitsuo SAITO
-
Publication number: 20110208894Abstract: A multiprocessor system includes nodes. Each node includes a data path that includes a core, a TLB, and a first level cache implementing disambiguation. The system also includes at least one second level cache and a main memory. For thread memory access requests, the core uses an address associated with an instruction format of the core. The first level cache uses an address format related to the size of the main memory plus an offset corresponding to hardware thread meta data. The second level cache uses a physical main memory address plus software thread meta data to store the memory access request. The second level cache accesses the main memory using the physical address with neither the offset nor the thread meta data after resolving speculation. In short, this system includes mapping of a virtual address to a different physical addresses for value disambiguation for different threads.Type: ApplicationFiled: January 4, 2011Publication date: August 25, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Alan Gala, Martin Ohmacht
-
Publication number: 20110197013Abstract: A cache system includes a primary cache memory configured to input and output data between a computation unit, the primary cache memory includes multi-port memory units each including a storing unit that stores unit data having a first data size, a writing unit that simultaneously writes sequentially inputted plural unit data to consecutive locations of the storing unit, and an outputting unit that reads out and outputs unit data written in the storing unit, wherein when writing data having a second data size that is an arbitrary multiple of a first data size and is segmented into unit data to the primary cache memory, the data is stored in different multi-port memory units by writing the sequential unit data to a subset of the multi-port memory units, and writing the other sequential unit data to another subset of the multi-port memory units.Type: ApplicationFiled: January 25, 2011Publication date: August 11, 2011Applicant: FUJITSU LIMITEDInventor: Takahito HIRANO
-
Patent number: 7996619Abstract: A method and apparatus for a k-way direct mapped cache organization is herein described. Control logic coupled to a cache may associate an address to a way within a plurality based on a first portion of the address. The control logic may match the first portion of the address to a predefined value in a mapping table, wherein the predefined value in the mapping table is associated with the way. In addition, the control logic may map the address to a set within cache based on a second portion of the address.Type: GrantFiled: April 22, 2004Date of Patent: August 9, 2011Assignee: Intel CorporationInventor: Kiran R. Desai
-
Publication number: 20110182348Abstract: Frame data stored in an external memory is partitioned into a plurality of macroblocks, and a plurality of access units each comprising at least one macroblock are provided. A plurality of frames are fetched from the external memory by loading the plurality of access units in a predetermined sequence. A current data for decoding a macroblock of the first access unit and a reference data for decoding a macroblock of the second access unit are loaded from the first access unit, and respectively mapped to a first memory group and a second memory group of a circular cache according to the frame width.Type: ApplicationFiled: January 26, 2010Publication date: July 28, 2011Inventors: Chien-Chang Lin, Chan-Shih Lin
-
Publication number: 20110185104Abstract: A method of merging subsequent updates to a memory location includes receiving, at a first stage in an update pipeline, a first request to update a status word at a first address of a cache memory and receiving the status word from the cache memory. The method continues with determining, at a stage subsequent to the first stage, that a second request to update the status word has been received. Further included is updating the status word according to the first and second requests to form an updated status word and writing the updated status word to the cache memory.Type: ApplicationFiled: January 26, 2010Publication date: July 28, 2011Inventor: Chris Brueggen
-
Patent number: 7984229Abstract: A cache design is described in which corresponding accesses to tag and information arrays are phased in time, and in which tags are retrieved (typically speculatively) from a tag array without benefit of an effective address calculation subsequently used for a corresponding retrieval from an information array. In some exploitations, such a design may allow cycle times (and throughput) of a memory subsystem to more closely match demands of some processor and computation system architectures. Our techniques seek to allow early (indeed speculative) retrieval from the tag array without delays that would otherwise be associated with calculation of an effective address eventually employed for a corresponding retrieval from the information array. Speculation can be resolved using the eventually calculated effective address or using separate functionality. In some embodiments, we use calculated effective addresses for way selection based on tags retrieved from the tag array.Type: GrantFiled: March 9, 2007Date of Patent: July 19, 2011Assignee: Freescale Semiconductor, Inc.Inventors: Ravindraraj Ramaraju, Ambica Ashok, David R. Bearden, Prashant U. Kenkare
-
Patent number: 7979669Abstract: 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: GrantFiled: May 27, 2008Date of Patent: July 12, 2011Inventors: H. Peter Anvin, Guillermo J. Rozas, Alexander Klaiber, John P. Banning
-
Patent number: 7975093Abstract: A cache memory system and method for supporting multiple simultaneous store operations using a plurality of tag memories is provided. The cache data system further provides a plurality of multiple simultaneous cache store functions along with a single cache load function that is simultaneous with the store functions. Embodiments create a cache memory wherein the cache write buffer does not operate as a bottle neck for data store operations into a cache memory system or device.Type: GrantFiled: October 18, 2006Date of Patent: July 5, 2011Assignee: NXP B.V.Inventors: Jan-Willem Van De Waerdt, Carlos Basto
-
Publication number: 20110161548Abstract: 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: ApplicationFiled: December 29, 2009Publication date: June 30, 2011Applicant: International Business Machines CorporationInventors: Brian Flachs, Barry L. Minor, Mark Richard Nutter
-
Publication number: 20110161549Abstract: A memory control device for controlling an access from a processing unit to a cache memory, the memory control device includes: an address estimation circuit for receiving a first read address of the cache memory from the processing unit and estimating a second read address on the basis of the first read address; an access start detection circuit for detecting an access start of accessing cache memory at the first read address and outputting an access start signal; a data control circuit for receiving read data from the cache memory and for outputting the read data to the processing unit; and a clock control circuit for controlling a read clock to be output to the processing unit in response to the access start signal, the processing unit receiving the read data from the data control circuit with the read clock.Type: ApplicationFiled: December 10, 2010Publication date: June 30, 2011Applicant: FUJITSU SEMICONDUCTOR LIMITEDInventor: Akinori HASHIMOTO
-
Patent number: 7970998Abstract: A cache memory of the present invention includes a second cache memory that is operated in parallel with a first cache memory, a judgment unit which, when a cache miss occurs in both of the first cache memory and the second cache memory, makes a true or false judgment relating to an attribute of data for which memory access resulted in the cache miss, and a controlling unit which stores memory data in the second cache memory when a judgment of true is made, and stores the memory data in the first cache memory when a judgment of false is made.Type: GrantFiled: March 17, 2006Date of Patent: June 28, 2011Assignee: Panasonic CorporationInventors: Takao Yamamoto, Tetsuya Tanaka, Ryuta Nakanishi, Masaitsu Nakajima, Keisuke Kaneko, Hazuki Okabayashi
-
Patent number: 7966442Abstract: In general, this disclosure describes techniques of storing data in and retrieving data from a cache of a computing device. More specifically, techniques are described for utilizing a “perfect hash” function to implement an associative cache within a computing device. That is, the associative cache implements a fully associative map between a predetermined set of addresses and data values, employing only a single tag fetch comparison.Type: GrantFiled: May 17, 2010Date of Patent: June 21, 2011Assignee: Juniper Networks, Inc.Inventors: Ramesh Panwar, Philip A. Thomas
-
Patent number: 7958263Abstract: A data storage enclosure management system of a plurality of service processors is configured to communicate externally via a pair of FC-AL loops. Lead and subsidiary service processors are defined and lead service processors connect to ones of the FC-AL loops with an FC-AL address, and the lead and subsidiary service processors are connected by a secondary communication link. The lead service processor(s) employ an identifier unassociated with the FC-AL address to differentiate communications of the lead service processor from communications of an associated subsidiary service processor, the lead service processor serving as a proxy for the associated subsidiary service processor with respect to the FC-AL address and communicating with the associated subsidiary service processor via the secondary communication link.Type: GrantFiled: February 20, 2007Date of Patent: June 7, 2011Assignee: International Business Machines CorporationInventors: John Charles Elliott, Robert Akira Kubo, Gregg Steven Lucas
-
Publication number: 20110119426Abstract: 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: ApplicationFiled: January 29, 2010Publication date: May 19, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Peter Boyle, Norman Christ, Alan Gara, Changhoan Kim, Robert Mawhinney, Martin Ohmacht, Krishnan Sugavanam
-
Patent number: 7941631Abstract: In one embodiment, the present invention includes a translation lookaside buffer (TLB) to store entries each having a translation portion to store a virtual address (VA)-to-physical address (PA) translation and a second portion to store bits for a memory page associated with the VA-to-PA translation, where the bits indicate attributes of information in the memory page. Other embodiments are described and claimed.Type: GrantFiled: December 28, 2007Date of Patent: May 10, 2011Assignee: Intel CorporationInventors: David Champagne, Abhishek Tiwari, Wei Wu, Christopher J. Hughes, Sanjeev Kumar, Shih-Lien Lu