Simultaneous Access Regulation Patents (Class 711/150)
  • Patent number: 8583987
    Abstract: Subject matter disclosed herein relates to read and write processes of a memory device. During a write process to a particular partition in a memory array, a response to a read request of contents of the particular partition may be delayed. In some embodiments, the contents of the particular partition may be indirectly read during the write process without delaying the response to the read request. The contents of the particular partition can be indirectly read by determining the contents of the particular partition based, at least in part, on an error correction code based, at least in part, on contents of memory partitions of the memory array.
    Type: Grant
    Filed: November 16, 2010
    Date of Patent: November 12, 2013
    Assignee: Micron Technology, Inc.
    Inventor: Graziano Mirichigni
  • Patent number: 8583851
    Abstract: A device may receive a request to read data from or write data to a memory that includes a number of memory banks. The request may include an address. The device may perform a mapping operation on the address to map the address from a first address space to a second address space, identify one of the memory banks based on the address in the second address space, and send the request to the identified memory bank.
    Type: Grant
    Filed: February 25, 2013
    Date of Patent: November 12, 2013
    Assignee: Juniper Networks, Inc.
    Inventors: Anjan Venkatramani, Srinivas Perla, John Keen
  • Patent number: 8578105
    Abstract: Various technologies and techniques are disclosed for providing type stability techniques to enhance contention management. A reference counting mechanism is provided that enables transactions to safely examine states of other transactions. Contention management is facilitated using the reference counting mechanism. When a conflict is detected between two transactions, owning transaction information is obtained. A reference count of the owning transaction is incremented. The system ensures that the correct transaction was incremented. If the owning transaction is still a conflicting transaction, then a contention management decision is made to determine proper resolution. When the decision is made, the reference count on the owning transaction is decremented by the conflicting transaction. When each transaction completes, the reference counts it holds to itself is decremented. Data structures cannot be deallocated until their reference count is zero.
    Type: Grant
    Filed: August 2, 2011
    Date of Patent: November 5, 2013
    Assignee: Microsoft Corporation
    Inventors: David Detlefs, Michael M. Magruder, John Joseph Duffy
  • Patent number: 8577923
    Abstract: In one embodiment the present invention includes a computer-implemented for determining whether or not a data object is frozen. The method comprises accessing, by a user on a computer, a first data object of a plurality of data objects in one or more computer software applications. The plurality of data objects are assigned to a plurality of entities, where each entity specifies a category, and each of the plurality of data objects belong to a specific entity. The method determines if the first data object is frozen based on a relationship between the first entity and a second entity.
    Type: Grant
    Filed: January 14, 2010
    Date of Patent: November 5, 2013
    Assignee: SAP AG
    Inventors: Jianzhuo Shi, Haiyang Yu
  • Patent number: 8572329
    Abstract: A data processing system is provided with a programmable memory protection unit 10 defining a plurality of programmable memory regions 2, 4, 6, 8 each with associated programmable memory attributes. A default memory protection unit 22 is provided and defines a plurality of default memory regions a, b, c, d, e each with associated default memory attributes. If a miss occurs in the programmable memory protection unit 10, and the memory access is a privileged level memory access, then the default memory protection unit 22 will return default memory attributes for that memory request.
    Type: Grant
    Filed: October 4, 2005
    Date of Patent: October 29, 2013
    Assignee: ARM Limited
    Inventors: Simon Axford, Simon John Craske, Paul Kimelman
  • Patent number: 8566537
    Abstract: A method and apparatus to facilitate shared pointers in a heterogeneous platform. In one embodiment of the invention, the heterogeneous or non-homogeneous platform includes, but is not limited to, a central processing core or unit, a graphics processing core or unit, a digital signal processor, an interface module, and any other form of processing cores. The heterogeneous platform has logic to facilitate sharing of pointers to a location of a memory shared by the CPU and the GPU. By sharing pointers in the heterogeneous platform, the data or information sharing between different cores in the heterogeneous platform can be simplified.
    Type: Grant
    Filed: March 29, 2011
    Date of Patent: October 22, 2013
    Assignee: Intel Corporation
    Inventors: Yang Ni, Rajkishore Barik, Ali-Reza Adl-Tabatabai, Tatiana Shpeisman, Jayanth N. Rao, Ben J. Ashbaugh, Tomasz Janczak
  • Patent number: 8555006
    Abstract: A memory hub and method for transmitting a read response on a data path of a memory hub interposed between a transmitting memory hub and a receiving memory hub. An arbitration packet including data indicative of a data path configuration for an associated read response is received at the memory hub. The arbitration packet is decoded, and the data path is configured in accordance with the data of the arbitration packet. The associated read response is received at the memory hub and the associated read response is coupled to the configured data path for transmitting the same to the receiving memory hub.
    Type: Grant
    Filed: November 21, 2011
    Date of Patent: October 8, 2013
    Assignee: Micron Technology, Inc.
    Inventors: Joseph M. Jeddeloh, Ralph James
  • Patent number: 8555010
    Abstract: One embodiment provides a computer system and data backup method which enable improvements in the response performance of a storage apparatus to a write request from a host apparatus. In a case where, during execution of same intra-enclosure copy processing, a primary storage apparatus receives a write request in which the data write destination is a storage area in a target range for the same intra-enclosure copy processing in a first primary volume in the primary storage apparatus, the primary storage apparatus transmits an advance notification storing an address of a storage area in a secondary storage apparatus which corresponds to the data write destination storage area designated in the write request to the secondary storage apparatus such that an on-demand copy is executed based on the advance notification in the secondary storage apparatus.
    Type: Grant
    Filed: March 24, 2011
    Date of Patent: October 8, 2013
    Assignee: Hitachi, Ltd.
    Inventors: Atsushi Yuhara, Hiroshi Kuwabara, Junichi Hiwatashi
  • Patent number: 8549235
    Abstract: A method, apparatus and algorithm for quickly detecting an address match in a deeply pipelined processor design in a manner that may be implemented using a minimum of physical space in the critical area of the processor. The address comparison is split into two parts. The first part is a fast, partial address match comparator system. The second part is a slower, full address match comparator system. If a partial match between a requested address and a registry address is detected, then execution of the program or set of instructions requesting the address is temporarily suspended while a full address match check is performed. If the full address match check results in a full match between the requested address and a registry address, then the program or set of instructions is interrupted and stopped. Otherwise, the program or set of instructions continues execution.
    Type: Grant
    Filed: November 15, 2011
    Date of Patent: October 1, 2013
    Assignee: International Business Machines Corporation
    Inventors: Miles Robert Dooley, Scott Bruce Frommer, David Allen Hrusecky, Sheldon B Levenstein
  • Publication number: 20130254495
    Abstract: A memory system includes a memory controller, and first through fourth memory modules. The first memory module is directly connected to the memory controller through a first memory bus and exchanges first data with the memory controller through the first memory bus. The second memory module is directly connected to the memory controller through a second memory bus and exchanges second data with the memory controller through the second memory bus. The third memory module is connected to the first memory module through a third memory bus and exchanges the first data with the memory controller through the first and third memory buses. The fourth memory module is connected to the second memory module through a fourth memory bus and exchanges the second data with the memory controller through the second and fourth memory buses.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 26, 2013
    Applicant: Samsung Electronics Co., Ltd.
    Inventors: Jeong-Kyoum Kim, Jung-Hwan Choi, Seok-Hun Hyun
  • Patent number: 8543775
    Abstract: A method and apparatus are disclosed for implementing early release of speculatively read data in a hardware transactional memory system. A processing core comprises a hardware transactional memory system configured to receive an early release indication for a specified word of a group of words in a read set of an active transaction. The early release indication comprises a request to remove the specified word from the read set. In response to the early release request, the processing core removes the group of words from the read set only after determining that no word in the group other than the specified word has been speculatively read during the active transaction.
    Type: Grant
    Filed: December 13, 2012
    Date of Patent: September 24, 2013
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Jaewoong Chung, David S Christie, Michael Hohmuth, Stephan Diestelhorst, Martin Pohlack, Luke Yen
  • Patent number: 8543768
    Abstract: An integrated memory system with a spiral cache responds to requests for values at a first external interface coupled to a particular storage location in the cache in a time period determined by the proximity of the requested values to the particular storage location. The cache supports multiple outstanding in-flight requests directed to the same address using an issue table that tracks multiple outstanding requests and control logic that applies the multiple requests to the same address in the order received by the cache memory. The cache also includes a backing store request table that tracks push-back write operations issued from the cache memory when the cache memory is full and a new value is provided from the external interface, and the control logic to prevent multiple copies of the same value from being loaded into the cache or a copy being loaded before a pending push-back has been completed.
    Type: Grant
    Filed: December 17, 2009
    Date of Patent: September 24, 2013
    Assignee: International Business Machines Corporation
    Inventors: Fadi H. Gebara, Jeremy D. Schaub, Volker Strumpen
  • Patent number: 8539190
    Abstract: A computer-implemented method that includes receiving a plurality of stores in a store queue, via a processor, comparing a fetch request against the store queue to search for a target store having a same memory address as the fetch request, determining whether the target store is ahead of the fetch request in a same pipeline, and processing the fetch request when it is determined that the target store is ahead of the fetch request.
    Type: Grant
    Filed: April 30, 2012
    Date of Patent: September 17, 2013
    Assignee: International Business Machines Corporation
    Inventors: Deanna Postles Dunn Berger, Michael Fee, Robert J. Sonnelitter
  • Patent number: 8539120
    Abstract: In one embodiment the present invention includes an apparatus having a random access memory, a first interface, and a second interface. The first interface is coupled between the random access memory and a plurality of storage devices, and operates in a first in first out (FIFO) manner. The second interface is coupled between the random access memory and a processor, and operates in a random access manner. As a result, the processor is not required to be in the loop when data is being transferred between the random access memory and the storage devices.
    Type: Grant
    Filed: October 29, 2012
    Date of Patent: September 17, 2013
    Assignee: Marvell International Ltd.
    Inventor: Li Sha
  • Patent number: 8539174
    Abstract: A host device includes a first file system, and a storage device includes a plurality of memory units and a plurality of controllers. While the host device is operative coupled to the storage device, the host device creates a second file system corresponding to the storage device and copies host content from the first file system to the second file system. The second file system is segmented into a plurality of segments, each of the plurality of segments being uniquely associated with a particular one of the plurality of controllers. The host device selects a data transfer rate to write the host content from the second file system to the storage device.
    Type: Grant
    Filed: September 5, 2012
    Date of Patent: September 17, 2013
    Assignee: Sandisk IL Ltd.
    Inventors: Judah Gamliel Hahn, Donald Ray Bryant-Rich
  • Patent number: 8539168
    Abstract: A system and method for concurrency control may use slotted read-write locks. A slotted read-write lock is a lock data structure associated with a shared memory area, wherein the slotted read-write lock indicates whether any thread has a read-lock and/or a write-lock for the shared memory area. Multiple threads may concurrently have the read-lock but only one thread can have the write-lock at any given time. The slotted read-write lock comprises multiple slots, each associated with a single thread. To acquire the slotted read-write lock for reading, a thread assigned to a slot performs a store operation to the slot and then attempts to determine that no other thread holds the slotted read-write lock for writing. To acquire the slotted read-write lock for writing, a thread assigned to a slot sets its write-bit and then attempts to determine that the write-lock is not held.
    Type: Grant
    Filed: June 26, 2009
    Date of Patent: September 17, 2013
    Assignee: Oracle America, Inc.
    Inventors: David Dice, Nir N. Shavit
  • Patent number: 8533394
    Abstract: Instruction fetch unit (IFU) verification is improved by dynamically monitoring the current state of the IFU model and detecting any predetermined states of interest. The instruction address sequence is automatically modified to force a selected address to be fetched next by the IFU model. The instruction address sequence may be modified by inserting one or more new instruction addresses, or by jumping to a non-sequential address in the instruction address sequence. In exemplary implementations, the selected address is a corresponding address for an existing instruction already loaded in the IFU cache, or differs only in a specific field from such an address. The instruction address control is preferably accomplished without violating any rules of the processor architecture by sending a flush signal to the IFU model and overwriting an address register corresponding to a next address to be fetched.
    Type: Grant
    Filed: February 17, 2012
    Date of Patent: September 10, 2013
    Assignee: International Business Machines Corporation
    Inventors: Akash V. Giri, Darin M. Greene, Alan G. Singletary
  • Patent number: 8526326
    Abstract: In general, the present disclosure describes techniques for both removing memory buffers from and adding memory buffers to a list (e.g., a linked list) of available buffers, for use by a network device, without locking the list during access. One example method includes allocating a list of memory buffers that are each available for use by multiple modules executed within the network device, wherein the list includes a first end and a second, opposite end, and removing a first memory buffer from the first end of the list by a first module of the multiple modules without locking the list. The method further includes adding the first memory buffer to the second end of the list by a second module of the multiple modules without locking the list.
    Type: Grant
    Filed: August 27, 2008
    Date of Patent: September 3, 2013
    Assignee: Juniper Networks, Inc.
    Inventors: Monty S. Gill, Yi Sun
  • Patent number: 8527804
    Abstract: A method and apparatus for controlling system access to a memory that includes receiving first and second instructions, and evaluating whether both instructions can architecturally complete. When at least one instruction cannot architecturally complete, delaying both instructions. When both instructions can architecturally complete and at least one is a write instruction, adjusting a write control of the memory to account for an evaluation delay. The evaluation delay can be sufficient to evaluate whether both instructions can architecturally complete. The evaluation delay can be input to the write control and not the read control of the memory. A precharge clock of the memory can be adjusted to account for the evaluation delay. Evaluating whether both instructions can architecturally complete can include determining whether data for each instruction is located in a cache, and whether the instructions are memory access instructions.
    Type: Grant
    Filed: November 1, 2010
    Date of Patent: September 3, 2013
    Assignee: QUALCOMM Incorporated
    Inventors: Jentsung Ken Lin, Ajay Anant Ingle, Eai-hsin A. Kuo, Paul Douglas Bassett
  • Patent number: 8522244
    Abstract: In at least one embodiment, a method includes locally scheduling a memory request requested by a thread of a plurality of threads executing on at least one processor. The memory request is locally scheduled according to a quality-of-service priority of the thread. The quality-of-service priority of the thread is based on a quality of service indicator for the thread and system-wide memory bandwidth usage information for the thread. In at least one embodiment, the method includes determining the system-wide memory bandwidth usage information for the thread based on local memory bandwidth usage information associated with the thread periodically collected from a plurality of memory controllers during a timeframe. In at least one embodiment, the method includes at each mini-timeframe of the timeframe accumulating the system-wide memory bandwidth usage information for the thread and updating the quality-of-service priority based on the accumulated system-wide memory bandwidth usage information for the thread.
    Type: Grant
    Filed: May 7, 2010
    Date of Patent: August 27, 2013
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Jaewoong Chung, Debarshi Chatterjee
  • Patent number: 8521970
    Abstract: Electrical interfaces, addressing schemes, and command protocols allow for communications with memory modules in computing devices such as imaging and printing devices. Memory modules may be assigned an address through a set of discrete voltages. One, multiple, or all of the memory modules may be addressed with a single command, which may be an increment counter command, a write command, a punch out bit field, or a cryptographic command. The commands may be transmitted using a broadcast scheme or a split transaction scheme. The status of the memory modules may be determined by sampling a single signal that may be at a low, high, or intermediate voltage level.
    Type: Grant
    Filed: April 19, 2006
    Date of Patent: August 27, 2013
    Assignee: Lexmark International, Inc.
    Inventors: James Ronald Booth, Bryan Scott Willett
  • Patent number: 8521979
    Abstract: Embodiments of the present invention provide memory systems having a plurality of memory devices sharing an interface for the transmission of read data. A controller can identify consecutive read requests sent to different memory devices. To avoid data contention on the interface, for example, the controller can be configured to delay the time until read data corresponding to the second read request is placed on the interface.
    Type: Grant
    Filed: May 29, 2008
    Date of Patent: August 27, 2013
    Assignee: Micron Technology, Inc.
    Inventors: Paul A. LaBerge, James B. Johnson
  • Patent number: 8522355
    Abstract: Embodiments relate to systems and methods for implementation on a mobile device to force the mobile device into a secure state upon detection or determination of a triggering event. Once it is determined that a triggering event has occurred, each application operating on the mobile device is caused to immediately unreference sensitive objects and a secure garbage collection operation is performed upon the unreferenced sensitive objects to render data associated therewith unreadable. The mobile device is then caused to enter a secure state, in which the mobile device cannot be accessed without authorization. A microprocessor within the mobile device is configured to determine the existence of the triggering event according to a configuration data structure and to perform the secure garbage collection.
    Type: Grant
    Filed: October 17, 2011
    Date of Patent: August 27, 2013
    Assignee: Research In Motion Limited
    Inventors: Herbert Anthony Little, Neil Patrick Adams, Michael Kenneth Brown, Michael Stephen Brown
  • Patent number: 8521982
    Abstract: A system and method for tracking core load requests and providing arbitration and ordering of requests. When a core interface unit (CIU) receives a load operation from the processor core, a new entry in allocated in a queue of the CIU. In response to allocating the new entry in the queue, the CIU detects contention between the load request and another memory access request. In response to detecting contention, the load request may be suspended until the contention is resolved. Received load requests may be stored in the queue and tracked using a least recently used (LRU) mechanism. The load request may then be processed when the load request resides in a least recently used entry in the load request queue. CIU may also suspend issuing an instruction unless a read claim (RC) machine is available. In another embodiment, CIU may issue stored load requests in a specific priority order.
    Type: Grant
    Filed: April 15, 2009
    Date of Patent: August 27, 2013
    Assignee: International Business Machines Corporation
    Inventors: Robert A. Cargnoni, Guy L. Guthrie, Thomas L. Jeremiah, Stephen J. Powell, William J. Starke, Jeffrey A. Steucheli
  • Patent number: 8510495
    Abstract: In a data processing system, a buffer integrated-circuit (IC) device includes multiple control interfaces, multiple memory interfaces and switching circuitry to couple each of the control interfaces concurrently to a respective one of the memory interfaces in accordance with a path selection value. A plurality of requestor IC devices are coupled respectively to the control interfaces, and a plurality of memory IC devices are coupled respectively to the memory interfaces.
    Type: Grant
    Filed: July 1, 2010
    Date of Patent: August 13, 2013
    Assignee: Rambus Inc.
    Inventors: Frederick A. Ware, Kishore Kasamsetty
  • Patent number: 8510496
    Abstract: Method and apparatus for scheduling access requests for a multi-bank low-latency random read memory (LLRRM) device within a storage system. The LLRRM device comprising a plurality of memory banks, each bank being simultaneously and independently accessible. A queuing layer residing in storage system may allocate a plurality of request-queuing data structures (“queues”), each queue being assigned to a memory bank. The queuing layer may receive access requests for memory banks in the LLRRM device and store each received access request in the queue assigned to the requested memory bank. The queuing layer may then send, to the LLRRM device for processing, an access request from each request-queuing data structure in successive order. As such, requests sent to the LLRRM device will comprise requests that will be applied to each memory bank in successive order as well, thereby reducing access latencies of the LLRRM device.
    Type: Grant
    Filed: April 27, 2009
    Date of Patent: August 13, 2013
    Assignee: NetApp, Inc.
    Inventors: George Totolos, Jr., Nhiem T. Nguyen
  • Patent number: 8504780
    Abstract: A computer includes first and second processors, first and second I/O devices, a shared memory, and an interrupt controller. The first processor issues a control command for causing the first I/O device to read target data from the first apparatus and store the target data in the shared memory. The first I/O device reads the target data from the first apparatus and, transfers the target data to the shared memory, and generates an I/O complete interrupt. The interrupt controller delivers the generated I/O complete interrupt to the second processor. When the second processor receives the I/O complete interrupt, the second processor issues a control command for causing the second I/O device to read the target data from the shared memory and send the target data to the second apparatus. The second I/O device reads the target data from the shared memory and sends the target data to the second apparatus.
    Type: Grant
    Filed: April 8, 2011
    Date of Patent: August 6, 2013
    Assignee: Hitachi, Ltd.
    Inventors: Hiroshi Mine, Ken Nomura, Damien Le Moal, Tadashi Takeuchi
  • Patent number: 8499135
    Abstract: In a data read-and-write controlling device, without waiting for confirmation that data is written in a RAM, data is written in a WER and an ADR, and at the same time, address information of the data is written in the RAM write-information table. That is, the data read-and-write controlling device associates an address retained at a data register of a write controlling unit with the value (a write request is present=“1”) of a write request that makes a request for writing data in the RAM, the value being retained in a write request register, and then causes the result to be stored in the RAM write-information table as the address information.
    Type: Grant
    Filed: August 21, 2008
    Date of Patent: July 30, 2013
    Assignee: Fujitsu Limited
    Inventor: Koji Ebisuzaki
  • Patent number: 8495311
    Abstract: When a thread begins an atomic transaction, the thread reads one or more variables from one or more source addresses. The read portion of the transaction is constrained to a predetermined amount of time or number of cycles (N). The mechanism then performs a test and set operation to determine whether any other threads hold locks on the one or more source addresses. If the locks for the one or more source addresses are free, then the thread acquires locks on the one or more source addresses. The thread then performs work and updates the one or more variables. Thereafter, the mechanism delays for an amount of time or number of cycles greater than or equal to N before releasing the locks. If another thread attempts to acquire a lock on the one or more source addresses, then the test and set operation for that other thread will fail.
    Type: Grant
    Filed: June 25, 2009
    Date of Patent: July 23, 2013
    Assignee: International Business Machines Corporation
    Inventor: Andrew K. Martin
  • Patent number: 8495309
    Abstract: Various embodiments of systems and methods for variable length data protected by Seqlock are described herein. Seqlock is a special locking mechanism used in data structures for multithreaded applications that can be read very quickly, when there are no changes being made, at the cost of needing to repeat a read operation when writing has occurred. A Seqlock, in normal use, can only protect a fixed-size data structure with no pointers. This is because the writing thread may invalidate a pointer after a reading thread has followed it. The embodiments specify an algorithm where a Seqlock-protected pointer, once written, is never invalidated. This removes the “no pointers” restriction, allowing the Seqlock to protect a simple singly-linked list, which can be safely increased in size while being read by other threads. The innovation includes the use of the write-once head and next pointers, and the always valid end iterator.
    Type: Grant
    Filed: October 22, 2010
    Date of Patent: July 23, 2013
    Assignee: Business Objects Software Limited
    Inventor: Wade Richards
  • Publication number: 20130185524
    Abstract: A method for detecting a race condition, comprising storing a seed value to a first global variable D; detecting a race condition when the second global variable A does not equal a first predefined value V1, wherein the second global variable A was set to the first predefined value V1 at the initiation event prior to storing the seed value; storing a second predefined value V2 to the second global variable A; detecting a race condition when the first global variable D does not equal the seed value; accessing a shared resource; and storing the first predefined variable V1 to the second global variable A.
    Type: Application
    Filed: September 23, 2010
    Publication date: July 18, 2013
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventor: Oleksandr Sakada
  • Patent number: 8489821
    Abstract: Various embodiments of the present invention allow concurrent accesses to a cache. A request to update an object stored in a cache is received. A first data structure comprising a new value for the object is created in response to receiving the request. A cache pointer is atomically modified to point to the first data structure. A second data structure comprising an old value for the cached object is maintained until a process, which holds a pointer to the old value of the cached object, at least one of one of ends and indicates that the old value is no longer needed.
    Type: Grant
    Filed: August 9, 2012
    Date of Patent: July 16, 2013
    Assignee: International Business Machines Corporation
    Inventors: Paul M. Dantzig, Robert O. Dryfoos, Sastry S. Duri, Arun Iyengar
  • Patent number: 8490094
    Abstract: In a NUMA-topology computer system that includes multiple nodes and multiple logical partitions, some of which may be dedicated and others of which are shared, NUMA optimizations are enabled in shared logical partitions. This is done by specifying a home node parameter in each virtual processor assigned to a logical partition. When a task is created by an operating system in a shared logical partition, a home node is assigned to the task, and the operating system attempts to assign the task to a virtual processor that has a home node that matches the home node for the task. The partition manager then attempts to assign virtual processors to their corresponding home nodes. If this can be done, NUMA optimizations may be performed without the risk of reducing the performance of the shared logical partition.
    Type: Grant
    Filed: February 27, 2009
    Date of Patent: July 16, 2013
    Assignee: International Business Machines Corporation
    Inventors: Vaijayanthimala K. Anand, Mark R. Funk, Steven R. Kunkel, Mysore S. Srinivas, Randal C. Swanberg, Ronald D. Young
  • Patent number: 8484438
    Abstract: Some embodiments provide a system that facilitates concurrency control in a computer system. During operation, the system generates a set of signatures associated with memory accesses in the computer system. To generate the signatures, the system creates a set of hierarchical Bloom filters (HBFs) corresponding to the signatures, and populates the HBFs using addresses associated with the memory accesses. Next, the system compares the HBFs to detect a potential conflict associated with the memory accesses. Finally, the system manages concurrent execution in the computer system based on the detected potential conflict.
    Type: Grant
    Filed: June 29, 2009
    Date of Patent: July 9, 2013
    Assignee: Oracle America, Inc.
    Inventor: Robert E. Cypher
  • Publication number: 20130173866
    Abstract: Reducing contentions between processes or tasks that are trying to access shared resources is described herein. According to embodiments of the invention, a method of writing a set of data associated with a task to a memory resource is provided. The method includes calculating the amount of memory required to write said data to the memory resource and updating an expected end marker to reflect the amount of memory required to write the data to the memory resource. A flag is then set to an incomplete state, and the data is written to the memory resource. The flag can be set to a complete state and an end marker is updated. The end marker indicates the end of the data stored in the memory resource.
    Type: Application
    Filed: December 30, 2011
    Publication date: July 4, 2013
    Applicant: Sybase, Inc.
    Inventors: Ameya Sakhalkar, Anunay Tiwari, Daniel Alan Wood, Kantikiran Krishna Pasupuleti
  • Patent number: 8478940
    Abstract: Instruction fetch unit (IFU) verification is improved by dynamically monitoring the current state of the IFU model and detecting any predetermined states of interest. The instruction address sequence is automatically modified to force a selected address to be fetched next by the IFU model. The instruction address sequence may be modified by inserting one or more new instruction addresses, or by jumping to a non-sequential address in the instruction address sequence. In exemplary implementations, the selected address is a corresponding address for an existing instruction already loaded in the IFU cache, or differs only in a specific field from such an address. The instruction address control is preferably accomplished without violating any rules of the processor architecture by sending a flush signal to the IFU model and overwriting an address register corresponding to a next address to be fetched.
    Type: Grant
    Filed: June 2, 2009
    Date of Patent: July 2, 2013
    Assignee: International Business Machines Corporation
    Inventors: Akash V. Giri, Darin M. Greene, Alan G. Singletary
  • Patent number: 8478946
    Abstract: Embodiments for a local data share (LDS) unit are described herein. Embodiments include a co-operative set of threads to load data into shared memory so that the threads can have repeated memory access allowing higher memory bandwidth. In this way, data can be shared between related threads in a cooperative manner by providing a re-use of a locality of data from shared registers. Furthermore, embodiments of the invention allow a cooperative set of threads to fetch data in a partitioned manner so that it is only fetched once into a shared memory that can be repeatedly accessed via a separate low latency path.
    Type: Grant
    Filed: September 8, 2010
    Date of Patent: July 2, 2013
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael Mantor, Michael Mang, Karl Mann
  • Publication number: 20130151794
    Abstract: Provided is a memory controller that manages memory access requests between the processor and the memory. In response to the memory controller receiving two or more memory access requests for the same area of memory, the memory controller is configured to stall the memory controller and sequentially process the memory access requests.
    Type: Application
    Filed: December 10, 2012
    Publication date: June 13, 2013
    Inventors: Jae-Un Park, Ki-Seok Kwon, Suk-Jin Kim
  • Patent number: 8464007
    Abstract: Various embodiments include fault tolerant memory apparatus, methods, and systems, including a memory manager for supplying read and write requests to a memory device having a plurality of addressable memory locations. The memory manager includes a plurality of banks. Each bank includes a bank queue for storing read and write requests. The memory manager also includes a request arbiter connected to the plurality of banks. The request arbiter removes read and write requests from the bank queues for presentation to the memory device. The request arbiter includes a read phase of operation and a write phase of operation, wherein the request arbiter preferentially selects read requests for servicing during the read phase of operation and preferentially selects write requests for servicing during the write phase of operation.
    Type: Grant
    Filed: June 12, 2009
    Date of Patent: June 11, 2013
    Assignee: Cray Inc.
    Inventors: Dennis C. Abts, Michael Higgins, Van L. Snyder, Gerald A Schwoerer
  • Patent number: 8458411
    Abstract: A distributed shared memory multiprocessor that includes a first processing element, a first memory which is a local memory of the first processing element, a second processing element connected to the first processing element via a bus, a second memory which is a local memory of the second processing element, a virtual shared memory region, where physical addresses of the first memory and the second memory are associated for one logical address in a logical address space of a shared memory having the first memory and the second memory, and an arbiter which suspends an access of the first processing element, if there is a write access request from the first processing element to the virtual shared memory region, according to a state of a write access request from the second processing element to the virtual shared memory region.
    Type: Grant
    Filed: August 25, 2009
    Date of Patent: June 4, 2013
    Assignee: Renesas Electronics Corporation
    Inventors: Yukihiko Akaike, Hitoshi Suzuki
  • Patent number: 8458412
    Abstract: The apparatus and method described herein are for handling shared memory accesses between multiple processors utilizing lock-free synchronization through transactional-execution. A transaction demarcated in software is speculatively executed. During execution invalidating remote accesses/requests to addresses loaded from and to be written to shared memory are tracked by a transaction buffer. If an invalidating access is encountered, the transaction is re-executed. After a pre-determined number of times re-executing the transaction, the transaction may be re-executed non-speculatively with locks/semaphores.
    Type: Grant
    Filed: June 24, 2011
    Date of Patent: June 4, 2013
    Assignee: Intel Corporation
    Inventors: Sailesh Kottapalli, John H. Crawford, Kushagra Vaid
  • Patent number: 8452948
    Abstract: Systems, methods, and computer program products are disclosed for intermixing different types of machine instructions. One embodiment of the invention provides a protocol for intermixing the different types of machine instructions. By adhering to the protocol, different types of machine instructions may be intermixed to concurrently update data structures without leading to unpredictable results.
    Type: Grant
    Filed: June 28, 2010
    Date of Patent: May 28, 2013
    Assignee: International Business Machines Corporation
    Inventor: Greg A. Dyck
  • Patent number: 8447931
    Abstract: One embodiment of the present invention provides a processor that supports multiple-issue execution. This processor includes a register file, which contains an array of memory cells, wherein the memory cells contain bits for architectural registers of the processor. The register file also includes multiple read ports and multiple write ports to support multiple-issue execution. During operation, if multiple read ports simultaneously read from a given register, the register file is configured to: read each bit of the given register out of the array of memory cells through a single bitline associated with the bit; and to use a driver located outside of the array of memory cells to drive the bit to the multiple read ports. In this way, each memory cell only has to drive a single bitline (instead of multiple bitlines) during a multiple-port read operation, thereby allowing memory cells to use smaller and more power-efficient drivers for read operations.
    Type: Grant
    Filed: July 1, 2005
    Date of Patent: May 21, 2013
    Assignee: Oracle America, Inc.
    Inventors: Shailender Chaudhry, Paul Caprioli, Marc Tremblay
  • Patent number: 8447874
    Abstract: A system generates a web page that includes a plurality of embedded data windows. The system receives a request for the web page from a browser and in response generates and displays a frame for the web page on the browser. The frame includes holes for the embedded data windows. The system also receives a data streaming request for each of the embedded data windows and determines if the data streaming requests are thread-safe. For all the data streaming requests that are thread-safe, the system generates a parallel thread to fetch the data for each corresponding data streaming requests. When the data has been fetched for a particular data streaming requests, the data is rendered and streamed to the browser where it is displayed in place of the hole by the browser.
    Type: Grant
    Filed: February 4, 2008
    Date of Patent: May 21, 2013
    Assignee: Oracle International Corporation
    Inventors: Blake Sullivan, Max Starets, Edward J. Farrell
  • Patent number: 8438340
    Abstract: A disjoint instruction for accessing operands in memory while executing in a processor of a plurality of processes interrogates a state indicator settable by other processors to determine if the disjoint instruction accessed the operands without an intervening store operation from another processor to the operand. A condition code is set based on the state indicator.
    Type: Grant
    Filed: February 18, 2010
    Date of Patent: May 7, 2013
    Assignee: International Business Machines Corporation
    Inventors: Theodore J. Bohizic, Reid T. Copeland, Marcel Mitran
  • Patent number: 8433858
    Abstract: A solid-state storage subsystem, such as a non-volatile memory card or drive, includes multiple interfaces and a memory area storing information used by a data arbiter to prioritize data commands received through the interfaces. As one example, the information may store a priority ranking of multiple host systems that are connected to the solid-state storage subsystem, such that the data arbiter may process concurrently received data transfer commands serially according to their priority ranking. A host software component may be configured to store and modify the priority control information in solid-state storage subsystem's memory area.
    Type: Grant
    Filed: March 20, 2012
    Date of Patent: April 30, 2013
    Assignee: Siliconsystems, Inc.
    Inventors: Mark S. Diggs, David E. Merry
  • Patent number: 8433857
    Abstract: A disclosed embodiment is an interruptible write block comprising a primary register having an input coupled to an input of the interruptible write block, a secondary register having an input selectably coupled to an output of the primary register and to an output of the secondary register through an interrupt circuit. The interrupt circuit is utilized to interrupt flow of new data from the primary register to the secondary register during an interrupt of a write operation, such that upon resumption of the write operation the secondary register contains valid data. A method of utilizing an interruptible write block during a write operation comprises loading data into a primary register, interrupting the write operation to perform one or more other operations, loading the data into a secondary register while loading new data into the primary register, and resuming the write operation using valid data from the secondary register.
    Type: Grant
    Filed: February 12, 2008
    Date of Patent: April 30, 2013
    Assignee: Broadcom Corporation
    Inventor: Christopher Gronlund
  • Patent number: 8433801
    Abstract: Methods, systems, and apparatus, including computer program products, for managing resources in virtualization systems, including multi-cloud systems. The use of supply chain economics alone and in combination with other techniques offers a unified platform to integrate, optimize or improve, and automate resource management in a virtualization system. These techniques may be used to monitor and control the delivery of service level agreements and software licenses. They may also be used to monitor and control contention of computing resources in a virtualization system, and to suspend or terminate computing resources.
    Type: Grant
    Filed: August 12, 2009
    Date of Patent: April 30, 2013
    Assignee: VMTurbo, Inc.
    Inventors: Yechiam Yemini, Shmuel Kliger, Danilo Florissi, Shai Benjamin, Yuri Rabover
  • Patent number: 8429374
    Abstract: System, method, and program to perform simultaneous read and write operations in a NAND-type memory device, including: assigning a first partition in a NAND-type memory device, wherein the first partition is configured to perform read operations on high priority read content; assigning a second partition in the NAND-type memory device, wherein the second partition is configured to perform read operations and write operations, wherein the read operations are performed on non-high priority read content; and controlling the first partition and second partition to operate in a simultaneous manner.
    Type: Grant
    Filed: March 22, 2010
    Date of Patent: April 23, 2013
    Assignees: Sony Corporation, Sony Mobile Communications AB
    Inventor: Wladyslaw Bolanowski
  • Publication number: 20130097391
    Abstract: Critical sections of multi-threaded programs, normally protected by locks providing access by only one thread, are speculatively executed concurrently by multiple threads with elision of the lock acquisition and release. Upon a completion of the speculative execution without actual conflict as may be identified using standard cache protocols, the speculative execution is committed, otherwise the speculative execution is squashed. Speculative execution with elision of the lock acquisition, allows a greater degree of parallel execution in multi-threaded programs with aggressive lock usage.
    Type: Application
    Filed: November 26, 2012
    Publication date: April 18, 2013
    Applicant: Wisconsin Alumni Research Foundation
    Inventor: Wisconsin Alumni Research Foundation