User Data Cache And Instruction Data Cache Patents (Class 711/123)
  • Patent number: 8185692
    Abstract: One embodiment provides a system that includes a processor with a unified cache structure that facilitates accessing translation table entries (TTEs). This unified cache structure can simultaneously store program instructions, program data, and TTEs. During a memory access, the system receives a virtual memory address. The system then uses this virtual memory address to identify one or more cache lines in the unified cache structure which are associated with the virtual memory address. Next, the system compares a tag portion of the virtual memory address with the tags for the identified cache line(s) to identify a cache line that matches the virtual memory address. The system then loads a translation table entry that corresponds to the virtual memory address from the identified cache line.
    Type: Grant
    Filed: February 9, 2009
    Date of Patent: May 22, 2012
    Assignee: Oracle America, Inc.
    Inventors: Paul Caprioli, Gregory M. Wright
  • Patent number: 8185700
    Abstract: In one embodiment, the present invention includes a method for receiving a bus message in a first cache corresponding to a speculative access to a portion of a second cache by a second thread, and dynamically determining in the first cache if an inter-thread dependency exists between the second thread and a first thread associated with the first cache with respect to the portion. Other embodiments are described and claimed.
    Type: Grant
    Filed: May 30, 2006
    Date of Patent: May 22, 2012
    Assignee: Intel Corporation
    Inventors: Carlos Madriles Gimeno, Carlos García Quinones, Pedro Marcuello, Jesús Sánchez, Fernando Latorre, Antonio González
  • Patent number: 8171225
    Abstract: A method includes storing a plurality of data RAM, holding information for all outstanding requests forwarded to a next-level memory subsystem, clearing information associated with a serviced request after the request has been fulfilled, determining if a subsequent request matches an address supplied to one or more requests already in-flight to the next-level memory subsystem, matching fulfilled requests serviced by the next-level memory subsystem to at least one requester who issued requests while an original request was in-flight to the next level memory subsystem, storing information specific to each request comprising a set attribute and a way attribute configured to identify where the returned data should be held in the data RAM once the data is returned, the information specific to each request further including at least one of thread ID, instruction queue position and color, and scheduling hit and miss data returns.
    Type: Grant
    Filed: June 28, 2007
    Date of Patent: May 1, 2012
    Assignee: Intel Corporation
    Inventors: Thomas A Piazza, Michael K Dwyer, Scott Cheng
  • Publication number: 20120084497
    Abstract: An apparatus of an aspect includes a prefetch cache line address predictor to receive a cache line address and to predict a next cache line address to be prefetched. The next cache line address may indicate a cache line having at least 64-bytes of instructions. The prefetch cache line address predictor may have a cache line target history storage to store a cache line target history for each of multiple most recent corresponding cache lines. Each cache line target history may indicate whether the corresponding cache line had a sequential cache line target or a non-sequential cache line target. The cache line address predictor may also have a cache line target history predictor. The cache line target history predictor may predict whether the next cache line address is a sequential cache line address or a non-sequential cache line address, based on the cache line target history for the most recent cache lines.
    Type: Application
    Filed: September 30, 2010
    Publication date: April 5, 2012
    Inventors: Samantika Subramaniam, Aamer Jaleel, Simon C. Steely, JR.
  • Patent number: 8142291
    Abstract: 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: Grant
    Filed: October 2, 2007
    Date of Patent: March 27, 2012
    Assignee: WMS Gaming, Inc.
    Inventor: Chad A. Ryan
  • Patent number: 8140761
    Abstract: An event tracking hardware engine having N (?2) caches is invoked when an event of interest occurs, using a corresponding key. The event tracking engine stores a cumulative number of occurrences for each one of the different kinds of events, and searches in the N caches for an entry for the key. When an entry for the key is found, the engine increments the number of occurrences if no overflow of the cumulative number of occurrences would occur. However, if the incrementing would cause overflow, then instead of incrementing the cumulative number of occurrences, the engine promotes the entry for the event of interest to a next higher cache.
    Type: Grant
    Filed: December 4, 2009
    Date of Patent: March 20, 2012
    Assignee: International Business Machines Corporation
    Inventors: Kattamuri Ekanadham, Il Park
  • Patent number: 8141098
    Abstract: An apparatus initiates, in connection with a context switch operation, a prefetch of data likely to be used by a thread prior to resuming execution of that thread. As a result, once it is known that a context switch will be performed to a particular thread, data may be prefetched on behalf of that thread so that when execution of the thread is resumed, more of the working state for the thread is likely to be cached, or at least in the process of being retrieved into cache memory, thus reducing cache-related performance penalties associated with context switching.
    Type: Grant
    Filed: January 16, 2009
    Date of Patent: March 20, 2012
    Assignee: International Business Machines Corporation
    Inventors: Jeffrey Powers Bradford, Harold F. Kossman, Timothy John Mullins
  • Patent number: 8127085
    Abstract: Methods and apparatus for instruction restarts and inclusion in processor micro-op caches are disclosed. Embodiments of micro-op caches have way storage fields to record the instruction-cache ways storing corresponding macroinstructions. Instruction-cache in-use indications associated with the instruction-cache lines storing the instructions are updated upon micro-op cache hits. In-use indications can be located using the recorded instruction-cache ways in micro-op cache lines. Victim-cache deallocation micro-ops are enqueued in a micro-op queue after micro-op cache miss synchronizations, responsive to evictions from the instruction-cache into a victim-cache. Inclusion logic also locates and evicts micro-op cache lines corresponding to the recorded instruction-cache ways, responsive to evictions from the instruction-cache.
    Type: Grant
    Filed: December 31, 2008
    Date of Patent: February 28, 2012
    Assignee: Intel Corporation
    Inventors: Lihu Rappoport, Chen Koren, Franck Sala, Oded Lempel, Ido Ouziel, Ilhyun Kim, Ron Gabor, Lior Libis, Gregory Pribush
  • Patent number: 8086801
    Abstract: A load instruction that accesses data cache may be off natural alignment, which causes a cache line crossing to complete the access. The illustrative embodiments provide a mechanism for loading data across multiple cache lines without the need for an accumulation register or collection point for partial data access from a first cache line while waiting for a second cache line to be accessed. Because the accesses to separate cache lines are concatenated within the vector rename register without the need for an accumulator, an off-alignment load instruction is completely pipeline-able and flushable with no cleanup consequences.
    Type: Grant
    Filed: April 8, 2009
    Date of Patent: December 27, 2011
    Assignee: International Business Machines Corporation
    Inventors: David A. Hrusecky, David S. Ray, Bruce J. Ronchetti, Shih-Hsiung S. Tung
  • Patent number: 8082398
    Abstract: There is a need for providing a data processor capable of easily prefetching data from a wide range. A central processing unit is capable of performing a specified instruction that adds an offset to a value of a register to generate an effective address for data. This register can be assigned an intended value in accordance with execution of an instruction. A buffer maintains part of instruction streams and data streams stored in memory. The buffer includes cache memories for storing the instruction stream and the data stream. From the memory, the buffer prefetches a data stream containing data corresponding to an effective address designated by the specified instruction stored in the cache memory. A data prefetch operation is easy because a data stream is prefetched by finding the specified instruction from the fetched instruction stream. Data can be prefetched from a wider range than the use of a PC-relative load instruction.
    Type: Grant
    Filed: March 30, 2009
    Date of Patent: December 20, 2011
    Assignee: Renesas Electronics Corporation
    Inventors: Tetsuya Yamada, Naoki Kato, Kesami Hagiwara
  • Patent number: 8082397
    Abstract: Described are techniques and criteria used in connection with cache management. The cache may be organized as a plurality of memory banks in which each memory bank includes a plurality of slots. Each memory bank has an associated control slot that includes groups of extents of tags. Each cache slot has a corresponding tag that includes a bit value indicating the availability of the associated cache slot, and a time stamp indicating the last time the data in the slot was used. The cache may be shared by multiple processors. Exclusive access of the cache slots is implemented using an atomic compare and swap instruction. The time stamp of slots in the cache may be adjusted to indicate ages of slots affecting the amount of time a particular portion of data remains in the cache. Each director may obtain a cache slot from a private stack of nondata cache slots in addition to accessing a shared cache used by all directors.
    Type: Grant
    Filed: September 30, 2004
    Date of Patent: December 20, 2011
    Assignee: EMC Corporation
    Inventors: Josef Ezra, Adi Ofer
  • Patent number: 8037045
    Abstract: When storing data (D1), spread on a memory (10), into a file storage unit (50), a user ? assigns a meaningful filename-for-user, such as “sales book for April.” Storage control unit (35) converts this “sales book for April” to a meaningless filename-for-storage, such as “RST123.” The correspondence between the two is stored as filename correspondence information for user ? in a correspondence information storage unit (80). A storage processing unit (30) stores the data (D1) with the filename, “RST123.” Whereas when user ? is presented with a list of filenames of the stored files from a filename presentation unit (60), the meaningful filename of “sales book for April” is presented as the filename since a presentation control unit (65) performs reverse conversion of the filename based on the filename correspondence information, the meaningless filename of “RST123” is presented to other users. Security in regard to filenames can thus be secured and inference of the file contents can be prevented.
    Type: Grant
    Filed: April 28, 2009
    Date of Patent: October 11, 2011
    Assignee: Dai Nippon Printing Co., Ltd.
    Inventors: Syouzou Niwata, Yoshihiro Yano
  • Patent number: 8015362
    Abstract: A method for handling cache coherency includes allocating a tag when a cache line is not exclusive in a data cache for a store operation, and sending the tag and an exclusive fetch for the line to coherency logic. An invalidation request is sent within a minimum amount of time to an I-cache, preferably only if it has fetched to the line and has not been invalidated since, which request includes an address to be invalidated, the tag, and an indicator specifying the line is for a PSC operation. The method further includes comparing the request address against stored addresses of prefetched instructions, and in response to a match, sending a match indicator and the tag to an LSU, within a maximum amount of time. The match indicator is timed, relative to exclusive data return, such that the LSU can discard prefetched instructions following execution of the store operation that stores to a line subject to an exclusive data return, and for which the match is indicated.
    Type: Grant
    Filed: February 15, 2008
    Date of Patent: September 6, 2011
    Assignee: International Business Machines Corporation
    Inventors: Gregory W. Alexander, Christian Jacobi, Barry W. Krumm, Chung-Lung Kevin Shum, Aaron Tsai
  • Patent number: 7962607
    Abstract: A system and a method are disclosed for establishing a baseline and the corresponding bands of data for alarming, etc. Historical raw data are aggregated and grouped. For example, the data may be and hourly grouped as 168 groups of data in a weekly frame. Clusters of the groups of data are then formed based on dynamic data window by analyzing statistical similarity among the 168 groups of data. Data in each cluster of groups, originated from the raw data at specific hour(s) of day on specific day(s) of week, are used as historical data to predict a baseline and the envelopes at these associated hour(s) and day(s). Generating a baseline includes determining a mapping function, which transforms data in a cluster to become normal or nearly normal. A mean and standard deviation of the transformed data are calculated. Envelopes are determined using the mean and the standard deviation. An inverse transformation function is uniquely derived.
    Type: Grant
    Filed: September 8, 2006
    Date of Patent: June 14, 2011
    Assignee: Network General Technology
    Inventors: Hung-Jen Chang, Mohan Kumar Maturi
  • Publication number: 20110138125
    Abstract: An event tracking hardware engine having N (?2) caches is invoked when an event of interest occurs, using a corresponding key. The engine stores, for each of the different kinds of events, a corresponding cumulative number of occurrences, by carrying out additional steps. In some instances, the additional steps include searching in the N caches for an entry for the key; if an entry for the key is found, and no overflow of the corresponding cumulative number of occurrences for the entry for the key would occur by incrementing the corresponding cumulative number of occurrences, incrementing; if the entry for the key is found, and overflow would occur, promoting the entry to a next highest cache; and if the entry for the key is not found, entering the entry for the key in a zeroth one of the caches with the corresponding cumulative number of occurrences being initialized.
    Type: Application
    Filed: December 4, 2009
    Publication date: June 9, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kattamuri Ekanadham, Il Park
  • Patent number: 7953935
    Abstract: A cache memory system which readily accepts software control for processing includes: a cache memory provided between a processor and memory; and a TAC (Transfer and Attribute Controller) for controlling the cache memory. The TAC receives a command which indicates a transfer and an attribute operation of cache data and a target for the operation, resulting from the execution of a predetermined instruction by the processor, so as to request the operation indicated by the command against the address to the cache memory.
    Type: Grant
    Filed: February 8, 2006
    Date of Patent: May 31, 2011
    Assignee: Panasonic Corporation
    Inventors: Hazuki Okabayashi, Tetsuya Tanaka, Ryuta Nakanishi, Masaitsu Nakajima, Keisuke Kaneko
  • Publication number: 20110125969
    Abstract: A cache memory control device includes cache memories shared by arithmetic processing units, buses shared by the arithmetic processing units to transfer data, an instruction execution unit that accesses the cache memories to execute an access instruction from the arithmetic processing unit, and transfers data from the cache memory to the bus, an instruction feeding unit that feeds the access instruction to the instruction execution unit while inhibiting feeding of a subsequent access instruction for the cache memory accessed in the preceding access instruction in an execution period of the preceding access instruction and inhibiting feeding of a subsequent access instruction using the same bus as the preceding access instruction in a predetermined period, and a timing control unit that, depending on the type of the subsequent access instruction, controls the instruction executing unit to delay the transfer of the data from the cache memory to the bus.
    Type: Application
    Filed: November 18, 2010
    Publication date: May 26, 2011
    Applicant: FUJITSU LIMITED
    Inventor: Naoya Ishimura
  • Publication number: 20110125968
    Abstract: A cache system to compare memory transactions while facilitating checkpointing and rollback is provided. The system includes at least one processor core including at least one cache operating in write-through mode, at least two checkpoint caches operating in write-back mode, a comparison/checkpoint logic, and a main memory. The at least two checkpoint caches are communicatively coupled to the at least one cache operating in write-through mode. The comparison/checkpoint logic is communicatively coupled to the at least two checkpoint caches. The comparison/checkpoint logic compares memory transactions stored in the at least two checkpoint caches responsive to an initiation of a checkpointing. The main memory is communicatively coupled to at least one of the at least two checkpoint caches.
    Type: Application
    Filed: November 24, 2009
    Publication date: May 26, 2011
    Applicant: HONEYWELL INTERNATIONAL INC.
    Inventors: David J. Kessler, David R. Bueno, David Paul Campagna
  • Patent number: 7899992
    Abstract: In the cache circuit, an instruction cache hit counter counts the number of cache hits, and an instruction memory access counter counts the number of times of instruction access. An instruction cache hit rate computation/entry disabling control circuit computes the ratio of the cache hit count to the instruction access count (cache hit rate). If the cache hit rate exceeds an instruction cache entry disabling threshold, an instruction cache control circuit disables contents of instruction cache memory.
    Type: Grant
    Filed: January 11, 2006
    Date of Patent: March 1, 2011
    Assignee: Panasonic Corporation
    Inventor: Nobuhiro Tsuboi
  • Patent number: 7884831
    Abstract: Circuits, methods, and apparatus that provide texture caches and related circuits that store and retrieve texels in a fast and efficient manner. One such texture circuit provides an increased number of bilerps for each pixel in a group of pixels, particularly when trilinear or aniso filtering is needed. For trilinear filtering, texels in a first and second level of detail are retrieved for a number of pixels during a clock cycle. When aniso filtering is performed, multiple bilerps can be retrieved for each of a number of pixels during one clock cycle.
    Type: Grant
    Filed: January 19, 2010
    Date of Patent: February 8, 2011
    Assignee: NVIDIA Corporation
    Inventors: Alexander L. Minkin, Joel J. McCormack, Paul S. Heckbert, Michael J. M. Toksvig, Luke Y. Chang, Karim Abdalla, Bo Hong, John W. Berendsen, Walter Donavan, Emmett M. Kilgariff
  • Publication number: 20100318742
    Abstract: In a particular embodiment, a circuit device includes a translation look-aside buffer (TLB) configured to receive a virtual address and to translate the virtual address to a physical address of a cache having at least two partitions. The circuit device also includes a control logic circuit adapted to identify a partition replacement policy associated with the identified one of the at least two partitions based on a partition indicator. The control logic circuit controls replacement of data within the cache according to the identified partition replacement policy in response to a cache miss event.
    Type: Application
    Filed: June 11, 2009
    Publication date: December 16, 2010
    Applicant: QUALCOMM INCORPORATED
    Inventors: Erich James Plondke, Lucian Codrescu, Ajay Ingle
  • Publication number: 20100293333
    Abstract: A first portion of an identifier can be used to assign the identifier to a slot in a first directory. The identifier can identify a cache unit in a cache. It can be determined whether assignment of the identifier to the slot in the first directory will result in the identifier and one or more other identifiers being assigned to the same slot in the first directory. If so, then the technique can include (1) using a second portion of the identifier to assign the identifier to a slot in a second directory; and (2) assigning the one or more other identifiers to one or more slots in the second directory. In addition, it can be determined whether a directory in a cache lookup data structure includes more than one pointer. If not, then a parent pointer that points to the subject directory can be removed.
    Type: Application
    Filed: May 13, 2009
    Publication date: November 18, 2010
    Applicant: Microsoft Corporation
    Inventors: Muralidhar Krishnaprasad, Sudhir Mohan Jorwekar, Sharique Muhammed, Subramanian Muralidhar, Anil K. Nori
  • Publication number: 20100269102
    Abstract: Systems, methods, and apparatuses for decomposing a sequential program into multiple threads, executing these threads, and reconstructing the sequential execution of the threads are described. A plurality of data cache units (DCUs) store locally retired instructions of speculatively executed threads. A merging level cache (MLC) merges data from the lines of the DCUs. An inter-core memory coherency module (ICMC) globally retire instructions of the speculatively executed threads in the MLC.
    Type: Application
    Filed: November 24, 2009
    Publication date: October 21, 2010
    Inventors: Fernando Latorre, Josep M. Codina, Enric Gibert Codina, Pedro Lopez, Carlos Madriles, Alejandro Martinez Vincente, Raul Martinez, Antonio Gonzalez
  • Patent number: 7813749
    Abstract: A method and terminal for processing media data for a Session Initiation Protocol (SIP) based session service, in which a terminal checks a talk burst revoke reason code included in a talk burst revoke message received from a server to selectively perform either transmission or discard of remaining buffered media data depending on the checked talk burst revoke reason.
    Type: Grant
    Filed: January 12, 2007
    Date of Patent: October 12, 2010
    Assignee: LG Electronics, Inc.
    Inventor: Kang Suk Huh
  • Publication number: 20100257514
    Abstract: Executable computer code sections can be stored in the same section of secondary memory (e.g., instruction cache) during execution time in order to reduce the observable changes to the state of the secondary memory, thereby enhancing the security of computing systems that use secondary memory in addition the primary (main) memory to support execution of computer code. In addition, size of code sections can also be effectively adjusted so that code sections that are mapped to the same section of the secondary memory appear to have the same size, thereby further reducing the observable changes to the state of the secondary memory. As a result, the security of computing system can be further enhanced. It should be noted that code sections can be effectively relocated to cause them to map to the same section of secondary memory. It will be appreciated that mapping code sections considered to be critical to security can be especially useful to improving security.
    Type: Application
    Filed: April 3, 2009
    Publication date: October 7, 2010
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Onur Aciicmez, Xinwen Zhang, Jean-Pierre Seifert
  • Patent number: 7802077
    Abstract: A new class traces for a processing engine, called “extended blocks,” possess an architecture that permits possible many entry points but only a single exit point. These extended blocks may be indexed based upon the address of the last instruction therein. Use of the new trace architecture provides several advantages, including reduction of instruction redundancies, dynamic block extension and a sharing of instructions among various extended blocks.
    Type: Grant
    Filed: June 30, 2000
    Date of Patent: September 21, 2010
    Assignee: Intel Corporation
    Inventors: Stephen J. Jourdan, Lihu Rappoport, Ronny Ronen, Adi Yoaz
  • Patent number: 7765360
    Abstract: Mechanisms for performing useful computations during a software cache reload operation are provided. With the illustrative embodiments, in order to perform software caching, a compiler takes original source code, and while compiling the source code, inserts explicit cache lookup instructions into appropriate portions of the source code where cacheable variables are referenced. In addition, the compiler inserts a cache miss handler routine that is used to branch execution of the code to a cache miss handler if the cache lookup instructions result in a cache miss. The cache miss handler, prior to performing a wait operation for waiting for the data to be retrieved from the backing store, branches execution to an independent subroutine identified by a compiler. The independent subroutine is executed while the data is being retrieved from the backing store such that useful work is performed.
    Type: Grant
    Filed: October 1, 2008
    Date of Patent: July 27, 2010
    Assignee: International Business Machines Corporation
    Inventors: John Kevin Patrick O'Brien, Kathryn O'Brien
  • Patent number: 7752393
    Abstract: A design structure embodied in a machine readable storage medium for designing, manufacturing, and/or testing a design for forwarding store data to loads in a pipelined processor is provided. In one implementation, a processor is provided that includes a decoder operable to decode an instruction, and a plurality of execution units operable to respectively execute a decoded instruction from the decoder. The plurality of execution units include a load/store execution unit operable to execute decoded load instructions and decoded store instructions and generate corresponding load memory operations and store memory operations. The store queue is operable to buffer one or more store memory operations prior to the one or more memory operations being completed, and the store queue is operable to forward store data of the one or more store memory operations buffered in the store queue to a load memory operation on a byte-by-byte basis.
    Type: Grant
    Filed: May 4, 2008
    Date of Patent: July 6, 2010
    Assignee: International Business Machines Corporation
    Inventors: Jason A. Cox, Kevin C. K. Lin, Eric F. Robinson
  • Patent number: 7733854
    Abstract: A network device for processing packets. The network device includes a memory management unit for storing packets and performing resource checks on each packet and an egress module for performing packet modification and transmitting the packet to a destination port. The memory management unit includes a timer for indicating that a free space should be created on a bus slot between the memory management unit and the egress module, wherein the free space is used for transmitting CPU instructions from the memory management unit to the egress module.
    Type: Grant
    Filed: March 28, 2005
    Date of Patent: June 8, 2010
    Assignee: Broadcom Corporation
    Inventors: Anupam Anand, Chien-Hsien Wu, Samir K. Sanghani
  • Publication number: 20100138608
    Abstract: Methods and apparatus for instruction restarts and inclusion in processor micro-op caches are disclosed. Embodiments of micro-op caches have way storage fields to record the instruction-cache ways storing corresponding macroinstructions. Instruction-cache in-use indications associated with the instruction-cache lines storing the instructions are updated upon micro-op cache hits. In-use indications can be located using the recorded instruction-cache ways in micro-op cache lines. Victim-cache deallocation micro-ops are enqueued in a micro-op queue after micro-op cache miss synchronizations, responsive to evictions from the instruction-cache into a victim-cache. Inclusion logic also locates and evicts micro-op cache lines corresponding to the recorded instruction-cache ways, responsive to evictions from the instruction-cache.
    Type: Application
    Filed: December 31, 2008
    Publication date: June 3, 2010
    Inventors: Lihu Rappoport, Chen Koren, Franck Sala, Oded Lempel, Ido Ouziel, Ilhyun Kim, Ron Gabor, Lior Libis, Gregory Pribush
  • Patent number: 7725659
    Abstract: A method of obtaining data, comprising at least one sector, for use by at least a first thread wherein each processor cycle is allocated to at least one thread, includes the steps of: requesting data for at least a first thread; upon receipt of at least a first sector of the data, determining whether the at least first sector is aligned with the at least first thread, wherein a given sector is aligned with a given thread when a processor cycle in which the given sector will be written is allocated to the given thread; responsive to a determination that the at least first sector is aligned with the at least first thread, bypassing the at least first sector, wherein bypassing a sector comprises reading the sector while it is being written; and responsive to a determination that the at least first sector is not aligned with the at least first thread, delaying the writing of the at least first sector until the occurrence of a processor cycle allocated to the at least first thread by retaining the at least first s
    Type: Grant
    Filed: September 5, 2007
    Date of Patent: May 25, 2010
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Hans Mikael Jacobson, Robert Alan Philhower
  • Patent number: 7707358
    Abstract: A method and system for accessing a single port multi-way cache with way dedication includes address multiplexers that simultaneously addresses a set of data and a set of program instructions in the multi-way cache. Duplicate output way multiplexers respectively select data and program instructions read from the cache responsive to the address multiplexer.
    Type: Grant
    Filed: November 20, 2006
    Date of Patent: April 27, 2010
    Assignee: Infineon Technologies AG
    Inventor: Klaus Oberlaender
  • Patent number: 7698506
    Abstract: A technique for partially offloading, from a main cache in a storage server, the storage of cache tags for data blocks in a victim cache of the storage server, is described. The technique includes storing, in the main cache, a first subset of the cache tag information for each of the data blocks, and storing, in a victim cache of the storage server, a second subset of the cache tag information for each of the data blocks. This technique avoids the need to store the second subset of the cache tag information in the main cache.
    Type: Grant
    Filed: April 26, 2007
    Date of Patent: April 13, 2010
    Assignee: Network Appliance, Inc.
    Inventors: Robert L. Fair, William P. McGovern, Thomas C. Holland, Jason Sylvain
  • Patent number: 7694077
    Abstract: A multi-port instruction/data integrated cache which is provided between a parallel processor and a main memory and stores therein a part of instructions and data stored in the main memory has a plurality of banks, and a plurality of ports including an instruction port unit consisting of at least one instruction port used to access an instruction from the parallel processor and a data port unit consisting of at least one data port used to access data from the parallel processor. Further, a data width which can be specified to the bank from the instruction port is set larger than a data width which can be specified to the bank from the data port.
    Type: Grant
    Filed: February 20, 2008
    Date of Patent: April 6, 2010
    Assignee: Semiconductor Technology Academic Research Center
    Inventors: Tetsuo Hironaka, Hans Jürgen Mattausch, Tetsushi Koide, Tai Hirakawa, Koh Johguchi
  • Publication number: 20100077148
    Abstract: A method of configuring a unified cache includes identifying unified cache way assignment combinations for an application unit. Each combination has an associated error rate. A combination is selected based at least in part on the associated error rate. The unified cache is configured in accordance with the selected combination for execution of the application-unit.
    Type: Application
    Filed: September 20, 2008
    Publication date: March 25, 2010
    Inventor: William C. Moyer
  • Patent number: 7649538
    Abstract: Circuits, methods, and apparatus that provide texture caches and related circuits that store and retrieve texels in a fast and efficient manner. One such texture circuit provides an increased number of bilerps for each pixel in a group of pixels, particularly when trilinear or aniso filtering is needed. For trilinear filtering, texels in a first and second level of detail are retrieved for a number of pixels during a clock cycle. When aniso filtering is performed, multiple bilerps can be retrieved for each of a number of pixels during one clock cycle.
    Type: Grant
    Filed: November 3, 2006
    Date of Patent: January 19, 2010
    Assignee: NVIDIA Corporation
    Inventors: Alexander L. Minkin, Joel J. McCormack, Paul S. Heckbert, Michael J. M. Toksvig, Luke Y. Chang, Karim Abdalla, Bo Hong, John W. Berendsen, Walter Donovan, Emmett M. Kilgariff
  • Patent number: 7646389
    Abstract: Methods and systems for texture mapping in a computer-implemented graphics pipeline are described. A sample group is identified as including a divergent pixel. A determination is made whether an operand of an instruction executing on the divergent pixel satisfies a condition. A scheme for determining a level of detail for the texture mapping is selected depending on whether or not the condition is satisfied.
    Type: Grant
    Filed: May 18, 2005
    Date of Patent: January 12, 2010
    Assignee: NVIDIA Corporation
    Inventors: Christian Rouet, Emmett M. Kilgariff, Rui M. Bastos, Wei-Chao Chen
  • Patent number: 7645644
    Abstract: In one aspect, a semiconductor device is provided which includes a data block including M parallel and sequentially arranged data lines numbered {0, 1, 2, . . . n, n+1, . . . , m?1, m}, where M, n and m are positive integers, and where n<m, and M=m+1, and a first decoder region and a second decoder region respectively located on opposite sides of the data block. A first data line group among the M data lines extend to the first decoder region from the data block, and a second data line group among the M data lines extend to the second decoder region from the data block. The first data line group includes even numbered data lines among the data lines {0, 1, 2, . . . n}, and odd numbered data lines among the data lines {n+1, . . . m?1, m}, and the second data line group includes odd numbered data lines among the data lines {0, 1, 2, . . . n}, and even numbered data lines among the data lines {n+1, . . . m?1, m}.
    Type: Grant
    Filed: May 2, 2008
    Date of Patent: January 12, 2010
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Jong-Sun Sel, Jung-Dal Choi
  • Patent number: 7640396
    Abstract: A data-processing system and method are disclosed, which include a cached processor for processing data, and a plurality of memory components that communicate with the cached processor. The cached processor is separated from the memory components such that the cached processor provides support for the memory components, thereby providing a diffused memory architecture with diffused memory capabilities. The memory components can constitute, for example, memory devices such as diffused memory, matrix memory, R-Cell memory components, and the like, depending on design considerations.
    Type: Grant
    Filed: November 2, 2005
    Date of Patent: December 29, 2009
    Assignee: LSI Corporation
    Inventors: Claus Pribbernow, David Parker
  • Patent number: 7640414
    Abstract: Methods, systems, and computer program products for forwarding store data to loads in a pipelined processor are provided. In one implementation, a processor is provided that includes a decoder operable to decode an instruction, and a plurality of execution units operable to respectively execute a decoded instruction from the decoder. The plurality of execution units include a load/store execution unit operable to execute decoded load instructions and decoded store instructions and generate corresponding load memory operations and store memory operations. The store queue is operable to buffer one or more store memory operations prior to the one or more memory operations being completed, and the store queue is operable to forward store data of the one or more store memory operations buffered in the store queue to a load memory operation on a byte-by-byte basis.
    Type: Grant
    Filed: November 16, 2006
    Date of Patent: December 29, 2009
    Assignee: International Business Machines Corporation
    Inventors: Jason Alan Cox, Kevin Chih Kang Lin, Eric Francis Robinson
  • Patent number: 7634619
    Abstract: A method and apparatus within a processing system is provided for separating access to an instruction memory and a data memory to allow concurrent access by different pipeline stages to both the instruction memory and the data memory. An instruction memory interface is provided to access the instruction memory. A data memory interface is provided to access the data memory. Redirection logic is provided to determine whether an access by the data memory interface should be directed to the instruction memory interface utilizing either the address of the access, or the type of instruction that is executing. If the access is redirected, the access to the instruction memory is performed by the instruction memory interface, and data retrieved by the instruction memory interface is then provided to the data memory interface, and in turn to the pipeline stage that requested the data memory interface to access the data.
    Type: Grant
    Filed: August 29, 2005
    Date of Patent: December 15, 2009
    Assignee: MIPS Technologies, Inc.
    Inventors: Gideon D. Intrater, Anders M. Jagd, Ryan C. Kinter
  • Patent number: 7602758
    Abstract: A method and apparatus to decrease the amount of time it takes to obtain friendly names of Bluetooth devices is presented. A name server caches friendly names for devices that it has acquired from other devices or from other name servers. The name server is any device that caches friendly names of Bluetooth devices and that makes the friendly names available to other devices. A requesting device determines if a name server has responded to an inquiry command. If a name server has responded, the device gets the friendly names the name server has cached and requests the friendly names of devices that responded that have not been cached by the name server. Identification of a name server is accomplished by embedding a marker in the friendly name field after the null character to indicate that the device is a name server.
    Type: Grant
    Filed: August 16, 2006
    Date of Patent: October 13, 2009
    Assignee: Microsoft Corporation
    Inventors: Om Sharma, Doron J. Holan, Kenneth D. Ray, Louis J. Giliberto
  • Patent number: 7574500
    Abstract: Providing an input-dependent output is disclosed. A received message is processed to determine if a previously cached output exists for the received message. If a previously cached output is found, the previously cached output is provided to a destination other than the sender of the received message as output for the received message.
    Type: Grant
    Filed: February 14, 2006
    Date of Patent: August 11, 2009
    Assignee: Reactivity, Inc.
    Inventor: Brian Roddy
  • Patent number: 7552283
    Abstract: In a processor, there are situations where instructions and some parts of a program may reside in a data cache prior to execution of the program. Hardware and software techniques are provided for fetching an instruction in the data cache after having a miss in an instruction cache to improve the processor's performance. If an instruction is not present in the instruction cache, an instruction fetch address is sent as a data fetch address to the data cache. If there is valid data present in the data cache at the supplied instruction fetch address, the data actually is an instruction and the data cache entry is fetched and supplied as an instruction to the processor complex. An additional bit may be included in an instruction page table to indicate on a miss in the instruction cache that the data cache should be checked for the instruction.
    Type: Grant
    Filed: January 20, 2006
    Date of Patent: June 23, 2009
    Assignee: QUALCOMM Incorporated
    Inventors: Michael William Morrow, Thomas Andrew Sartorius
  • Patent number: 7543127
    Abstract: A technology for allowing the smooth acquisition of required data when a processor switches working modes in a computer system is provided. According to one aspect of the present invention, the present invention can provide a computer system including a processor having a plurality of working modes, each having a different privilege level from each other; an exclusive memory area related to a selected one of said plurality of working modes; and a connecting means for connecting said processor with said exclusive memory, depending on said working mode.
    Type: Grant
    Filed: January 24, 2006
    Date of Patent: June 2, 2009
    Assignee: Nokia Corporation
    Inventor: Masao Kajihara
  • Patent number: 7529889
    Abstract: A data processing apparatus and method are provided for performing a cache lookup in an energy efficient manner. The data processing apparatus has at least one processing unit for performing operations and a cache having a plurality of cache lines for storing data values for access by that at least one processing unit when performing those operations. The at least one processing unit provides a plurality of sources from which access requests are issued to the cache, and each access request, in addition to specifying an address, further includes a source identifier indicating the source of the access request. A storage element is provided for storing for each source an indication as to whether the last access request from that source resulted in a hit in the cache, and cache line identification logic determines, for each access request, whether that access request is seeking to access the same cache line as the last access request issued by that source.
    Type: Grant
    Filed: August 14, 2006
    Date of Patent: May 5, 2009
    Assignee: ARM Limited
    Inventors: Vladimir Vasekin, Stuart David Biles
  • Publication number: 20090089506
    Abstract: A design structure embodied in a machine readable storage medium for designing, manufacturing, and/or testing a design is provided. The design structure generally includes a system that includes a cache that stores information in a cache line for processing, wherein the cache line includes at least a first field configured to store an instruction or data and at least a second field configured to store parity information, a parity register that include a parameter indicative a whether parity generation and checking is disabled for the information in the cache line, and a processor that sets the second field in the cache line to include a value, which indicates a corresponding action to be performed, when the parameter in the parity register indicates that parity generation and checking is disabled for the cache line.
    Type: Application
    Filed: April 25, 2008
    Publication date: April 2, 2009
    Inventor: Anthony J. Bybell
  • Patent number: 7493621
    Abstract: An apparatus, program product and method initiate, in connection with a context switch operation, a prefetch of data likely to be used by a thread prior to resuming execution of that thread. As a result, once it is known that a context switch will be performed to a particular thread, data may be prefetched on behalf of that thread so that when execution of the thread is resumed, more of the working state for the thread is likely to be cached, or at least in the process of being retrieved into cache memory, thus reducing cache-related performance penalties associated with context switching.
    Type: Grant
    Filed: December 18, 2003
    Date of Patent: February 17, 2009
    Assignee: International Business Machines Corporation
    Inventors: Jeffrey Powers Bradford, Harold F. Kossman, Timothy John Mullins
  • Patent number: 7493447
    Abstract: Methods and related computer program products, systems, and devices for using a NAND flash as a program ROM are disclosed.
    Type: Grant
    Filed: May 3, 2006
    Date of Patent: February 17, 2009
    Assignee: Nuvoton Technology Corporation
    Inventor: Yi-Hsien Chuang
  • Patent number: 7478199
    Abstract: A method of performing cache coloring includes the steps of generating function strength information in response to a dynamic function flow representing a sequence in which a plurality of functions are called at a time of executing a program comprised of the plurality of functions, the function strength information including information about runtime relationships between any given one of a plurality of functions and all the other ones of the plurality of functions in terms of a way the plurality of functions are called, and allocating the plurality of functions to memory space in response to the function strength information such as to reduce instruction cache conflict.
    Type: Grant
    Filed: August 20, 2004
    Date of Patent: January 13, 2009
    Assignee: Fujitsu Limited
    Inventor: Shigeru Kimura