Access Control Bit Patents (Class 711/145)
  • Patent number: 7924717
    Abstract: Systems and methods of reporting access violations in a network device are disclosed. One such method comprises setting a forwarding index field in a specific entry of an access control list (ACL) to reference a specific forwarding table entry (FTE). The specific FTE is the only FTE associated with reporting access violations. The method further comprises setting a next destination field in the specific FTE to indicate a copy-to-processor behavior. The method further comprises setting the next destination field in the specific FTE to indicate a drop behavior. The setting of the next destination field is responsive to a timeout on a timer associated with reporting access violations.
    Type: Grant
    Filed: February 27, 2009
    Date of Patent: April 12, 2011
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Hrishikesh Narasimhan
  • Patent number: 7913041
    Abstract: A method for reconfiguring a cache memory is provided. The method in one aspect may include analyzing one or more characteristics of an execution entity accessing a cache memory and reconfiguring the cache based on the one or more characteristics analyzed. Examples of analyzed characteristic may include but are not limited to data structure used by the execution entity, expected reference pattern of the execution entity, type of an execution entity, heat and power consumption of an execution entity, etc. Examples of cache attributes that may be reconfigured may include but are not limited to associativity of the cache memory, amount of the cache memory available to store data, coherence granularity of the cache memory, line size of the cache memory, etc.
    Type: Grant
    Filed: May 30, 2008
    Date of Patent: March 22, 2011
    Assignee: International Business Machines Corporation
    Inventors: Xiaowei Shen, Balaram Sinharoy, Robert B. Tremaine, Robert W. Wisniewski
  • Patent number: 7904664
    Abstract: One embodiment of the present invention provides a system that selectively monitors load instructions to support transactional execution of a process, wherein changes made during the transactional execution are not committed to the architectural state of a processor until the transactional execution successfully completes. Upon encountering a load instruction during transactional execution of a block of instructions, the system determines whether the load instruction is a monitored load instruction or an unmonitored load instruction. If the load instruction is a monitored load instruction, the system performs the load operation, and load-marks a cache line associated with the load instruction to facilitate subsequent detection of an interfering data access to the cache line from another process. If the load instruction is an unmonitored load instruction, the system performs the load operation without load-marking the cache line.
    Type: Grant
    Filed: August 3, 2007
    Date of Patent: March 8, 2011
    Assignee: Oracle America, Inc.
    Inventors: Marc Tremblay, Quinn A. Jacobson, Shailender Chaudhry
  • Patent number: 7895404
    Abstract: A microcontroller system, such as a system-on-a-chip integrated circuit, including a processor (e.g., a Von Neumann processor), memory, and a memory protection unit (MPU), where the MPU provides execute-only access rights for one or more protected areas of the memory. The MPU can allow instructions fetched from within a protected area to access data in the protected area while preventing instructions fetched from outside the protected area from accessing data in the protected area.
    Type: Grant
    Filed: February 14, 2008
    Date of Patent: February 22, 2011
    Assignee: Atmel Rousset S.A.S.
    Inventors: Sandrine Batifoulier, Stephane Godzinski, Vincent Dupaquis
  • Patent number: 7895398
    Abstract: A system and method is disclosed for the adaptive and dynamic adjustment of the characteristics of a cache on a basis that is specific the operation of each logical unit. A storage controller may include a cache. The cache is subdivided so that a portion of the cache is associated with each logical unit that is coupled to the storage controller. A cache management utility monitors the data access commands transmitted to each logical unit of the storage array. The size of the portion of the cache dedicated to each logical unit may be adjusted on the basis of the data access commands directed to the logical unit. The size of the read cache subportion and the size of the write cache subportion of a cache portion associated with a single logical unit may be adjusted on the basis of the read and write commands directed to the logical unit.
    Type: Grant
    Filed: April 12, 2006
    Date of Patent: February 22, 2011
    Assignee: Dell Products L.P.
    Inventors: Uday D. Shet, Peyman Najafirad, Ramesh S. Rajagopalan
  • Patent number: 7886113
    Abstract: A method for managing access to a data element involves storing a first copy of the data element in a cache location, obtaining a request to modify the data element, where the request to modify the data element is associated with a first execution thread, marking the cache location as dirty based on the request to modify the data element, modifying the cache location according to the request to modify the data element once the cache location is marked as dirty, obtaining a request to read the data element while the cache location is marked as dirty, where the request to read the data element is associated with a second execution thread, providing a second copy of the data element in response to the request to read the data element based on the cache location being marked as dirty, and marking the cache location as clean after modifying the cache location is complete.
    Type: Grant
    Filed: October 31, 2006
    Date of Patent: February 8, 2011
    Assignee: Oracle America, Inc.
    Inventors: Gilles Bellaton, Karine Excoffier, Mark Craig
  • Patent number: 7877550
    Abstract: A write-through cache scheme is created. A store data command is sent to a cache line of a cache array from a processing unit. It is then determined whether the address of the store data is valid, wherein the original data from the store's address has been previously loaded into the cache. A write-through command is sent to a system bus as a function of whether the address of the store data is valid. The bus controller is employed to sense the write-through command. If the write-through command is sensed, a clean command is generated by the bus controller. If the write-through command is sensed, the store data is written into the cache array, and the data is marked as modified. If the write-through command is sensed, the clean command is sent onto the system bus by the bus controller, thereby causing modified data to be written to memory.
    Type: Grant
    Filed: November 19, 2008
    Date of Patent: January 25, 2011
    Assignee: International Business Machines Corporation
    Inventors: Jonathan James DeMent, Kerey Michelle Tassin, Thuong Quang Truong
  • Patent number: 7873795
    Abstract: A method of, shared register system and system for controlling access to a register are described. The shared register stores a plurality of bits including control and data bits. An access signal and a combined signal including a control portion and a data portion are received and the data portion of the combined signal is written to one or more data bits of the shared register corresponding to the control portion of the combined signal. A shared register system for controlling access to portions of a shared register includes a register having storage for bits and a register access control configured to receive an access signal and a combined signal. The register access control is operatively connected with the register to control write access to the register based on the access signal and the control portion of the combined signal.
    Type: Grant
    Filed: March 22, 2005
    Date of Patent: January 18, 2011
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Richard Brabant, Craig VanZante
  • Patent number: 7873757
    Abstract: A direct memory access controller for controlling data transfer between a plurality of data sources and a plurality of data destinations is disclosed. The plurality of data sources and data destinations communicate with the direct memory access controller via a plurality of channels, the direct memory access controller further communicates with a memory and a processor. The memory stores two sets of control data for each of the plurality of channels and for the processor. The direct memory access controller is responsive to a data transfer request received from one of said plurality of channels or from said processor to access one set of said corresponding control data stored in said memory, said direct memory access performing at least a portion of said data transfer requested in dependence upon said accessed control data.
    Type: Grant
    Filed: February 16, 2007
    Date of Patent: January 18, 2011
    Assignee: ARM Limited
    Inventors: Paul Kimelman, Edmond John Simon Ashfield, Steven Richard Mellor, Ian Field
  • Patent number: 7873788
    Abstract: A re-fetching cache memory improves efficiency of a processor, for example by reducing power consumption and/or by advantageously sharing the cache memory. When the cache memory is disabled or temporarily used for another purpose, a data portion of the cache memory is flushed, and some or all of a tag portion is saved in an archive. In some embodiments, the tag portion operates “in-place” as the archive, and in further embodiments, is placed in a reduced-power mode. When the cache memory is re-enabled or when the temporary use completes, optionally and/or selectively, the tag portion is repopulated from some or all of the archive, and the data portion is re-fetched according to the repopulated tag portion. The re-fetching is optionally performed in a cache coherent fashion. According to various embodiments, processor access to the cache is enabled during one or more of: the saving; the repopulating; and the re-fetching.
    Type: Grant
    Filed: May 22, 2007
    Date of Patent: January 18, 2011
    Assignee: Oracle America, Inc.
    Inventors: Laurent R. Moll, Peter N. Glaskowsky, Joseph B. Rowlands
  • Patent number: 7870343
    Abstract: A method and apparatus for managing coherence between two processors of a two processor node of a multi-processor computer system. Generally the present invention relates to a software algorithm that simplifies and significantly speeds the management of cache coherence in a message passing parallel computer, and to hardware apparatus that assists this cache coherence algorithm. The software algorithm uses the opening and closing of put/get windows to coordinate the activated required to achieve cache coherence. The hardware apparatus may be an extension to the hardware address decode, that creates, in the physical memory address space of the node, an area of virtual memory that (a) does not actually exist, and (b) is therefore able to respond instantly to read and write requests from the processing elements.
    Type: Grant
    Filed: February 25, 2002
    Date of Patent: January 11, 2011
    Assignee: International Business Machines Corporation
    Inventors: Matthias A. Blumrich, Dong Chen, Paul W. Coteus, Alan G. Gara, Mark E. Giampapa, Philip Heidelberger, Dirk Hoenicke, Martin Ohmacht
  • Patent number: 7865670
    Abstract: One embodiment of the present invention is a technique to invalidate entries in a translation lookaside buffer (TLB). A TLB in a processor has a plurality of TLB entries. Each TLB entry is associated with a virtual machine extension (VMX) tag word indicating if the associated TLB entry is invalidated according to a processor mode when an invalidation operation is performed. The processor mode is one of execution in a virtual machine (VM) and execution not in a virtual machine.
    Type: Grant
    Filed: October 25, 2004
    Date of Patent: January 4, 2011
    Assignee: Intel Corporation
    Inventors: Erik C. Cota-Robles, Stalinselvaraj Jeyasingh, Alain Kagi, Michael A. Kozuch, Gilbert Neiger, Richard Uhlig
  • Patent number: 7831777
    Abstract: Apparatus and methods for reducing information leakage between processes sharing a cache are disclosed. In one embodiment, an apparatus includes execution logic, a cache memory, and cache security logic. The execution unit is to execute a plurality of processes. The cache memory is to be shared between the plurality of processes. The cache security logic is to cause a stored cache state to be loaded into the cache memory.
    Type: Grant
    Filed: May 26, 2006
    Date of Patent: November 9, 2010
    Inventors: Michael Neve de Mevergnies, Jean-Pierre Seifert
  • Patent number: 7831762
    Abstract: In bit alterable memories, a particular header of a particular block may be programmed to a particular code to indicate that the block is to be considered empty. This saves the time of resetting all the bits in both the header and the data section of the block.
    Type: Grant
    Filed: November 29, 2006
    Date of Patent: November 9, 2010
    Assignee: Intel Corporation
    Inventor: Cheng Zheng
  • Patent number: 7827151
    Abstract: Application-level replication, the synchronization of data updates within a cluster of application servers, may be provided by having application servers themselves synchronize all updates to multiple redundant databases, precluding the need for database-level replication. This may be accomplished by first sending a set of database modifications requested by the transaction to a first database. Then a message may be placed in one or more message queues, the message indicating the objects inserted, updated, or deleted in the transaction. Then a commit command may be sent to the first database. The set of database modifications and a commit command may then be sent to second database. This allows for transparent synchronization of the database and quick recovery from a database failure, while imposing little performance or network overhead.
    Type: Grant
    Filed: October 17, 2007
    Date of Patent: November 2, 2010
    Assignee: Progress Software Corporation
    Inventors: Vivek P. Singhal, Ian David Emmons
  • Patent number: 7823198
    Abstract: An electronic memory device configured to store and transfer data with a host device via a memory device connector and a mating host connector is disclosed. The electronic memory device includes a memory storage, a plurality of key buttons disposed upon the memory device, and a display disposed upon the memory device. The plurality of key buttons is configured to allow entry of a security code comprising a plurality of fields, and the display configured to display the security code. The memory device is configured to allow data transfer to or from the memory storage in response to entry of the security code, but to prevent data transfer to or from the memory storage prior to entry of the security code and in response to disconnection of the memory device from the host device.
    Type: Grant
    Filed: September 13, 2006
    Date of Patent: October 26, 2010
    Assignee: International Business Machines Corporation
    Inventor: Steven M. Miller
  • Patent number: 7818510
    Abstract: One embodiment of the present invention provides a system that selectively monitors store instructions to support transactional execution of a process, wherein changes made during the transactional execution are not committed to the architectural state of a processor until the transactional execution successfully completes. Upon encountering a store instruction during transactional execution of a block of instructions, the system determines whether the store instruction is a monitored store instruction or an unmonitored store instruction. If the store instruction is a monitored store instruction, the system performs the store operation, and store-marks a cache line associated with the store instruction to facilitate subsequent detection of an interfering data access to the cache line from another process. If the store instruction is an unmonitored store instruction, the system performs the store operation without store-marking the cache line.
    Type: Grant
    Filed: August 2, 2007
    Date of Patent: October 19, 2010
    Assignee: Oracle America, Inc.
    Inventors: Marc Tremblay, Quinn A. Jacobson, Shailender Chaudhry
  • Patent number: 7818513
    Abstract: Transactional memory (TM) may be used in conjunction with various synchronization mechanisms, such as that copy a current version of an object, update the copy, and then cause the copy to become current atomically by changing a “current version” indicator. Software operations to modify an object may first make a private copy of the object, modify the private copy, and atomically make the private copy the current version while verifying that no other software operation or transaction has concurrently updated the object. A transaction may be used to update the current copy of a collection of data “in place” and thereby avoiding the necessity to make a copy of the data being modified. If the transactional memory mechanism is unable to complete the transaction to modify the collection of data in place, a set of software operations may be used to modify the collection of data.
    Type: Grant
    Filed: March 30, 2007
    Date of Patent: October 19, 2010
    Assignee: Oracle America, Inc.
    Inventor: Mark S. Moir
  • Patent number: 7814292
    Abstract: A technique to speculatively assign a memory attribute. More specifically, embodiments of the invention include an architecture to assign and issue a speculative memory attribute based on a plurality of translation look-aside buffer (TLB) page attributes concurrently with the determination of the correct memory attribute, such that, in at least one case, determination of the correct memory attribute does not impact performance of a system in which at least one embodiment of the invention is included.
    Type: Grant
    Filed: June 14, 2005
    Date of Patent: October 12, 2010
    Assignee: Intel Corporation
    Inventor: Benjamin Tsien
  • Patent number: 7809893
    Abstract: Methods and apparatus for refetching data to store in a cache are disclosed. According to one aspect of the present invention, a method includes identifying a speculative set that identifies at least a first element that is associated with a cache. The first element has at least a first representation in the cache that is suitable for updating. The method also includes issuing a request to obtain the first element from a data source, opening a channel to the data source, obtaining the first element from the data source using the channel, and closing the channel. Finally, the method includes updating the first representation associated with the first element in the cache.
    Type: Grant
    Filed: July 12, 2007
    Date of Patent: October 5, 2010
    Assignee: Apple Inc.
    Inventors: David Koski, Ryan R. Klems
  • Patent number: 7802041
    Abstract: According to an aspect of an embodiment, an apparatus has a pair of first system boards, each of the first system boards including a processor and being adapted for sending duplicate requests, in parallel, respectively, a second system board including a processor and being adapted for sending requests, a first transfer device for transferring requests, having a first arbiter for selecting and outputting one of the duplicate requests sent from each of the first system boards, and a second arbiter for selecting and outputting one of the requests sent from the second system board and a second transfer device for transferring requests, having a third arbiter for selecting one of the duplicate requests sent from each of the first system boards and outputting the selected request in synchronization with the selected request outputted by the first arbiter, the second transfer device having a forth arbiter.
    Type: Grant
    Filed: July 24, 2008
    Date of Patent: September 21, 2010
    Assignee: Fujitsu Limited
    Inventors: Takayuki Kinoshita, Junji Ichimiya
  • Patent number: 7797495
    Abstract: A system and method for a distributed directory cache in a computing system. A system comprises a plurality of nodes including at least a source node, home node, and one or more target nodes. The source node is configured to convey a request to a home node for a coherency unit, wherein the coherency unit corresponds to a super line which comprises a plurality of coherency units including the requested coherency unit. Prior to conveying the request, the source node is configured to indicate that the request is a non-probing request responsive to determining that none of the plurality of coherency units of the super line are cached in any of the other nodes. In response to receiving the request, the home node is configured to initiate the conveyance of one or more probes to one or more target nodes, if the response does not indicate it is a non-probing request, and inhibit the conveyance of the probes if the request indicates it is a non-probing request.
    Type: Grant
    Filed: August 4, 2005
    Date of Patent: September 14, 2010
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Kevin Michael Lepak
  • Patent number: 7793023
    Abstract: An exclusion controller which allows an information processing unit to acquire a contended resource to the exclusion of the other information processing units includes a plurality of non-prioritized information processing units mutually exclusively acquiring a non-prioritized exclusion right, which indicates a candidate for acquiring the contended resource, by a first process. The exclusion controller further includes a prioritized information processing unit acquiring the contended resource by a second process, which requires a shorter processing time than the first process, to the exclusion of the non-prioritized information processing unit having acquired the non-prioritized exclusion right.
    Type: Grant
    Filed: April 4, 2008
    Date of Patent: September 7, 2010
    Assignee: International Business Machines Corporation
    Inventors: Kiyokuni Kawachiya, Akira Koseki, Tamiya Onodera
  • Patent number: 7793049
    Abstract: A system and method for cache replacement includes: augmenting each cache block in a cache region with a region hint indicating a temporal priority of the cache block; receiving an indication that a cache miss has occurred; and selecting for eviction the cache block comprising the region hint indicating a low temporal priority.
    Type: Grant
    Filed: October 30, 2007
    Date of Patent: September 7, 2010
    Assignee: International Business Machines Corporation
    Inventors: Harold W. Cain, Jong-Deok Choi, Pratak Pattnaik, Mauricio J. Serrano
  • Patent number: 7783840
    Abstract: A cache-status maintaining unit stores address information of data stored in each entry of a cache memory, and maintains a status of each entry as any one of “strongly modified”, “weakly modified”, “shared”, and “Invalid”. A data-fetching-procedure selecting unit selects, upon receiving a data read request, at least one data fetching procedure based on the address information and the status. A read-data delivering unit selects latest data from among the data fetched, and delivers the latest data to a processor that issued the data read request. A cache-status updating unit updates, when registering the address information of the data, updates the status of the entry based on a type of the data read request.
    Type: Grant
    Filed: December 1, 2004
    Date of Patent: August 24, 2010
    Assignee: Fujitsu Limited
    Inventors: Makoto Hataida, Takao Matsui, Daisuke Itoh, Seishi Okada, Takaharu Ishizuka
  • Patent number: 7783841
    Abstract: A cache coherent data processing system includes at least first and second coherency domains each including at least one processing unit and a cache memory. The cache memory includes a cache controller, a data array including a data storage location for caching a memory block, and a cache directory. The cache directory includes a tag field for storing an address tag in association with the memory block and a coherency state field associated with the tag field and the data storage location. The coherency state field has a plurality of possible states including a state that indicates that the address tag is valid, that the storage location does not contain valid data, and that the memory block is possibly cached outside of the first coherency domain.
    Type: Grant
    Filed: August 10, 2007
    Date of Patent: August 24, 2010
    Assignee: International Business Machines Corporation
    Inventors: James Stephen Fields, Jr., Guy Lynn Guthrie, William John Starke, Jeffrey Adam Stuecheli
  • Patent number: 7783837
    Abstract: Systems and a storage medium for memory management are provided. A system includes a tag controlled buffer in communication with a memory device, including multiple pages divided into individually addressable lines. The tag controlled buffer includes a prefetch buffer with at least one of the individually addressable lines from the memory device and a tag cache in communication with the prefetch buffer. The tag cache includes at least one tag associated with one of the pages in the memory device. Each tag includes a reference history field and a pointer to a line in the prefetch buffer that is from the associated page. The reference history field includes information about how the lines from the associated page have been accessed in the past and is utilized to determine which lines in the associated page should be added to the prefetch buffer when the tag is added to the tag cache.
    Type: Grant
    Filed: April 30, 2008
    Date of Patent: August 24, 2010
    Assignee: International Business Machines Corporation
    Inventors: Peter A. Franaszek, Luis A. Lastras
  • Patent number: 7779210
    Abstract: In one embodiment, the present invention includes a method for receiving a request for data in a home agent of a system from a first agent, prefetching the data from a memory and accessing a directory entry to determine whether a copy of the data is cached in any system agent, and forwarding the data to the first agent without waiting for snoop responses from other system agents if the directory entry indicates that the data is not cached. Other embodiments are described and claimed.
    Type: Grant
    Filed: October 31, 2007
    Date of Patent: August 17, 2010
    Assignee: Intel Corporation
    Inventors: Bharadwaj Pudipeddi, Ghassan Khadder
  • Patent number: 7774555
    Abstract: In a cache coherent data processing system including at least first and second coherency domains, a memory block is stored in a system memory in association with a domain indicator indicating whether or not the memory block is cached, if at all, only within the first coherency domain. A master in the first coherency domain determines whether or not a scope of broadcast transmission of an operation should extend beyond the first coherency domain by reference to the domain indicator stored in the cache and then performs a broadcast of the operation within the cache coherent data processing system in accordance with the determination.
    Type: Grant
    Filed: August 7, 2007
    Date of Patent: August 10, 2010
    Assignee: International Business Machines Corporation
    Inventors: James Stephen Fields, Jr., Guy Lynn Guthrie, William John Starke, Jeffrey Adam Stuecheli
  • Patent number: 7770170
    Abstract: A blocking local sense synchronization barrier is provided. The local sense variable is not processor private or global, but truly local to the synchronization barrier function. Safe deletion is provided by making sure the last operation a thread performs on a barrier is a write. Just before returning, threads increment a field that indicates the count of threads that have left the barrier. Blocking is supported such that threads spin for some interval, and when they decide to block, examine and set (if not already set) the indication of whether a thread is blocking that is to be examined by the last thread to arrive at the barrier to determine whether to set an event to release blocking threads.
    Type: Grant
    Filed: July 12, 2005
    Date of Patent: August 3, 2010
    Assignee: Microsoft Corporation
    Inventors: John Rector, Jonathan D. Morrison, Neill M. Clift, Arun U. Kishan
  • Patent number: 7764710
    Abstract: If an input word bit includes overhead data, the input word bit is ignored. If the input word bit includes non-overhead data and the corresponding bit position in a first buffer is empty, the non-overhead data is stored in the corresponding bit position in the first buffer, and the corresponding bit position in the first buffer is marked as full. Otherwise, the non-overhead data is stored in the corresponding bit position in a second buffer, and the corresponding bit position in the second buffer is marked as full. When all bit positions in the first buffer are marked as full, the data is shifted out of the first buffer, rotated to be in data arrival sequence, and made available for further processing. Then, the data in the second buffer is transferred to the first buffer, and the bit positions in second buffer are reset to be marked as empty.
    Type: Grant
    Filed: April 25, 2006
    Date of Patent: July 27, 2010
    Assignee: Altera Corporation
    Inventor: Peter Bain
  • Patent number: 7747661
    Abstract: A virtual binding system ensures that the WORM logic for protecting data immutability cannot be circumvented, effectively guaranteeing WORM property of a WORM storage system composed of rewritable magnetic hard disks. To close the security hole between the rewritable media and the WORM logic, virtual binding securely authenticates the legitimacy of a WORM logic controller before granting data access on a WORM storage media. Furthermore, the system verifies the legitimacy of the WORM logic controller during data access. This approach virtually binds together the WORM logic controller and the WORM storage media even though the WORM logic controller and the WORM storage media may be physically separate.
    Type: Grant
    Filed: October 5, 2005
    Date of Patent: June 29, 2010
    Assignee: International Business Machines Corporation
    Inventors: Windsor Wee Sun Hsu, Lan Huang
  • Patent number: 7747826
    Abstract: A cache coherent data processing system includes at least first and second coherency domains each including at least one processing unit. The first coherency domain includes a first cache memory, and the second coherency domain includes a coherent second cache memory. The first cache memory within the first coherency domain of the data processing system holds a memory block in a storage location associated with an address tag and a coherency state field. The coherency state field is set to a state that indicates that the address tag is valid, that the storage location does not contain valid data, and that the memory block is likely cached only within the first coherency domain.
    Type: Grant
    Filed: April 15, 2008
    Date of Patent: June 29, 2010
    Assignee: International Business Machines Corporation
    Inventors: Jason F. Cantin, James S. Fields, Jr., Steven R. Kunkel, William J. Starke
  • Patent number: 7743215
    Abstract: A cache-memory control apparatus controls a level-1 (L1) cache and a level-2 (L2) cache having a cache line divided into a plurality of sub-lines for storing data from the L1 cache. The cache-memory control apparatus includes a control-flag adding unit, an L1 cache control unit, and an L2 cache control unit. The control-flag adding unit provides an SP flag to each of the sub-lines. The L1-cache control unit acquires an access virtual address, and, when there is no data at the access virtual address, outputs an L2 cache-access address to the L2-cache control unit. The L2-cache control unit switches the SP flag based on a virtual page number in an L1 index and a physical page number in an L2 index. Based on the SP flag, corresponding one of the sub-lines is written back to the L1 cache.
    Type: Grant
    Filed: October 31, 2007
    Date of Patent: June 22, 2010
    Assignee: Fujitsu Limited
    Inventors: Tomoyuki Okawa, Hiroyuki Kojima, Hideki Sakata, Masaki Ukai
  • Patent number: 7743217
    Abstract: A process to make the cache memory of a processor consistent includes the processor processing a request to write data to an address in its memory marked as being in the shared state. The address is transmitted to the other processors, data are written into the processor's cache memory and the address changes to the modified state. An appended memory associated with the processor memorizes the address, the data and an associated marker in a first state. The processor then receives the address with an indicator. If the indicator indicates that the processor must perform the operation and if the associated marker is in the first state, the data are kept in the modified state. If the indicator does not indicate that the processor must perform the operation and if the processor receives an order to mark the data to be in the invalid state, the marker changes to a second state.
    Type: Grant
    Filed: June 27, 2006
    Date of Patent: June 22, 2010
    Assignee: STMicroelectronics S.A.
    Inventors: Jean-Philippe Cousin, Jean-José Berenguer, Gilles Pelissier
  • Publication number: 20100153658
    Abstract: Deadlocks are avoided by marking read requests issued by a parallel processor to system memory as “special.” Read completions associated with read requests marked as special are routed on virtual channel 1 of the PCIe bus. Data returning on virtual channel 1 cannot become stalled by write requests in virtual channel 0, thus avoiding a potential deadlock.
    Type: Application
    Filed: December 12, 2008
    Publication date: June 17, 2010
    Inventors: Samuel H. Duncan, David B. Glasco, Wei-je Huang, Atul Kalambur, Patrick R. Marchand, Dennis K. Ma
  • Patent number: 7739451
    Abstract: A method and apparatus is presented allowing multiple data pointers or addresses to be transferred without acknowledgment to Memory Controller (506) and Memory Controller (510) of Data Controller (500). Data is then transferred in response to the data pointers from BUFFER (512) and Buffer (514) and may be stalled during the transfer in favor of a second data transfer. Once the second data transfer finishes, the first data transfer may be completed.
    Type: Grant
    Filed: December 27, 2002
    Date of Patent: June 15, 2010
    Assignee: Unisys Corporation
    Inventors: Gregory B. Wiedenman, Nathan A. Eckel, Joel B. Artmann
  • Patent number: 7739456
    Abstract: One embodiment of the present invention provides a system that executes a transaction on a multi-threaded processor. The system starts by executing the transaction in a “transaction-pending mode,” which involves placing load-marks or store-marks on cache lines loaded from or stored to during transaction-pending mode and also buffers store operations in a store queue. Upon encountering a store queue overflow, the system continues to execute the transaction in a “store-queue-overflow mode,” which involves placing load-marks or store-marks on cache lines loaded from or stored to during store-queue-overflow mode and discards store data which does not fit into the store queue during store operations. Upon completing the transaction in the store-queue-overflow mode, the system re-executes the transaction in a “repeating-transaction mode,” which involves executing the instructions in the transaction non-speculatively, which allows the store operations to commit to the memory hierarchy.
    Type: Grant
    Filed: March 6, 2007
    Date of Patent: June 15, 2010
    Assignee: Oracle America, Inc.
    Inventors: Robert E. Cypher, Shailender Chaudhry
  • Publication number: 20100146214
    Abstract: Systems and methods for the implementation of more efficient cache locking mechanisms are disclosed. These systems and methods may alleviate the need to present both a virtual address (VA) and a physical address (PA) to a cache mechanism. A translation table is utilized to store both the address and the locking information associated with a virtual address, and this locking information is passed to the cache along with the address of the data. The cache can then lock data based on this information. Additionally, this locking information may be used to override the replacement mechanism used with the cache, thus keeping locked data in the cache. The translation table may also store translation table lock information such that entries in the translation table are locked as well.
    Type: Application
    Filed: February 18, 2010
    Publication date: June 10, 2010
    Inventors: Takeki Osanai, Kimberly Fernsler
  • Patent number: 7725662
    Abstract: A method and apparatus for accelerating transactional execution. Barriers associated with shared memory lines referenced by memory accesses within a transaction are only invoked/executed the first time the shared memory lines are accessed within a transaction. Hardware support, such as a transaction field/transaction bits, are provided to determine if an access is the first access to a shared memory line during a pendancy of a transaction. Additionally, in an aggressive operational mode version numbers representing versions of elements stored in shared memory lines are not stored and validated upon commitment to save on validation costs. Moreover, even in a cautious mode, that stores version numbers to enable validation, validation costs may not be incurred, if eviction of accessed shared memory lines do not occur during execution of the transaction.
    Type: Grant
    Filed: October 29, 2007
    Date of Patent: May 25, 2010
    Assignee: Intel Corporation
    Inventors: Bratin Saha, Ali-Reza Adl-Tabatabai, Quinn A. Jacobson
  • Patent number: 7725661
    Abstract: Management of a Cache is provided by differentiating data base on attributes associated with the data and reducing storage bottlenecks. The Cache differentiates and manages data using a state machine with a plurality of states. The Cache may use data patterns and statistics to retain frequently used data in the cache longer. The Cache uses content or attributes to differentiate and retain data longer. Further, the Cache may provide status and statistics to a data flow manager that determines which data to cache and which data to pipe directly through, or to switch cache policies dynamically, thus avoiding some of the cache overhead. The Cache may also place clean and dirty data in separate states to enable more efficient Cache mirroring and flush.
    Type: Grant
    Filed: March 25, 2008
    Date of Patent: May 25, 2010
    Assignee: Plurata Technologies, Inc.
    Inventors: Wei Liu, Steven H. Kahle
  • Patent number: 7725656
    Abstract: A method and apparatus for storing and retrieving data in an N-way set associative cache with N data array banks is disclosed. On a cache fill corresponding to a particular way, a portion of each cache line (called a chunk) is placed in each data array bank. On a processor load seeking a requested chunk, a candidate chunk is retrieved from each data array bank and the requested chunk is selected from among the candidates.
    Type: Grant
    Filed: October 18, 2006
    Date of Patent: May 25, 2010
    Inventors: Guillermo Rozas, Alexander Klaiber, Robert P. Masleid, John Banning, James Van Zoeren, Paul Serris
  • Publication number: 20100125707
    Abstract: Some embodiments of the present invention provide a system that avoids deadlock while attempting to acquire store-marks on cache lines. During operation, the system keeps track of store-mark requests that arise during execution of a thread, wherein a store-mark on a cache line indicates that one or more associated store buffer entries are waiting to be committed to the cache line. In this system, store-mark requests are processed in a pipelined manner, which allows a store-mark request to be initiated before preceding store-mark requests for the same thread complete. Next, if a store-mark request fails, within a bounded amount of time, the system removes or prevents store-marks associated with younger store-mark requests for the same thread, thereby avoiding a potential deadlock that can arise when one or more other threads attempt to store-mark the same cache lines.
    Type: Application
    Filed: November 19, 2008
    Publication date: May 20, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Robert E. Cypher, Haakan E. Zeffer, Shailender Chaudhry
  • Patent number: 7721050
    Abstract: In a cache coherency protocol a re-snoop may be utilized to resolve a data request conflict condition. The re-snoop may avoid a conflict resolution phase, which may reduce system inefficiencies.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: May 18, 2010
    Assignee: Intel Corporation
    Inventors: Herbert H. Hum, Robert Beers
  • Patent number: 7716249
    Abstract: The described implementations relate to efficient scheduling of transactions and tasks. A memory location, address, or variable previously accessed by a blocked entity is observed periodically to determine an appropriate time to wake and retry the blocked entity. If the previous accessed memory location, address or variable changes state, a scheduler wakes the blocked entity and the blocked entity retries processing. A doubly-indexed data structure of blocked entities and memory locations associated with the blocked entities may be used to efficiently determine when a retrying execution would be profitable.
    Type: Grant
    Filed: September 16, 2005
    Date of Patent: May 11, 2010
    Assignee: Microsoft Corporation
    Inventors: Tim L. Harris, Simon Peyton-Jones, Jonathan R. Howell, John R. Douceur
  • Patent number: 7711909
    Abstract: It has been discovered that globally indicating read-write conflicts and semi-transparent read sharing in a transactional memory space allows for a more expedient validation. Without being aware of particular transactions, a writing transaction can determine that a read-write conflict will occur with some transaction that has read one or more memory locations to be modified by the writing transaction. With semi-transparent reading, reading transactions can validate quickly. If a read-write conflict has not occurred since a reading transaction began (or since the last validation), then the previous reads are valid. Otherwise, the reading transaction investigates each memory location or ownership record to determine if a read-write conflict affected the investigating transaction.
    Type: Grant
    Filed: December 9, 2004
    Date of Patent: May 4, 2010
    Assignee: Oracle America, Inc.
    Inventors: Yosef Lev, Mark S. Moir
  • Patent number: 7711890
    Abstract: A flash memory device includes a storage area having a main memory portion and a cache memory portion storing at least one bit per cell less than the main memory portion; and a controller that manages data transfer between the cache memory portion and the main memory portion according to at least one caching command received from a host. The management of data transfer, by the controller, includes transferring new data from the host to the cache memory portion, copying the data from the cache memory portion to the main memory portion and controlling (enabling/disabling) the scheduling of cache cleaning operations.
    Type: Grant
    Filed: January 10, 2007
    Date of Patent: May 4, 2010
    Assignee: Sandisk IL Ltd
    Inventor: Menahem Lasser
  • Publication number: 20100100688
    Abstract: A low-overhead conditional synchronization instruction operates on a synchronization variable which includes a lock bit, a state specification, and bits for user-defined data. The instruction specifies the memory address of the synchronization variable and a condition. During the synchronization instruction the condition is compared to the state specification within an atomic region. The match succeeds if the condition matches the state specification and the lock bit is clear. The synchronization instruction may operate with a cache under a cache coherency protocol, or without a cache, and may include a timeout operand.
    Type: Application
    Filed: October 16, 2008
    Publication date: April 22, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: David Harper, Burton Smith
  • Patent number: 7698509
    Abstract: A multiprocessing node has a plurality of point-to-point connected microprocessors. Each of the microprocessors is also point-to-point connected to a filter. In response to a local cache miss, a microprocessor issues a broadcast for the requested data to the filter. The filter, using memory that stores a copy of the tags of data stored in the local cache memories of each of the microprocessors, relays the broadcast to those/microprocessors having copies of the requested data. If the snoop filter memory indicates that none of the microprocessors have a copy of the requested data, the snoop filter may either (i) cancel the broadcast and issue a message back to the requesting microprocessor, or (ii) relay the broadcast to a connected multiprocessing node.
    Type: Grant
    Filed: July 13, 2004
    Date of Patent: April 13, 2010
    Assignee: Oracle America, Inc.
    Inventors: Michael J. Koster, Christopher L. Johnson, Brian W. O'Krafka
  • 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