Patents Examined by Hiep Nguyen
  • Patent number: 9069671
    Abstract: Methods and apparatus relating to gather or scatter operations in a multi-level cache are described. In some embodiments, a logic may determine whether to perform gather or scatter operations at a first memory or a second memory, based in part on a relative performance of performing the gather or scatter operations at the first memory and the second memory. Other embodiments are also described and claimed.
    Type: Grant
    Filed: July 21, 2014
    Date of Patent: June 30, 2015
    Assignee: Intel Corporation
    Inventors: Christopher J. Hughes, Yen-Kuang Chen, Changkyu Kim, Daehyun Kim, Victor W. Lee, Anthony-Trung D. Nguyen, Nadathur Rajagopalan Satish
  • Patent number: 9053035
    Abstract: A multi-threaded binary translation system performs atomic operations by a thread, such operations include processing a load linked instruction and a store conditional instruction. The store conditional instruction updates data stored in a shared memory address only when at least three conditions are satisfied. The conditions are: a copy of a load linked shared memory address of the load linked instruction is the same as the store conditional shared memory address, a reservation flag indicates that the thread has a valid reservation, and the copy of data stored by the load linked instruction is the same as data stored in the store conditional shared memory address.
    Type: Grant
    Filed: November 25, 2013
    Date of Patent: June 9, 2015
    Assignee: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Ashish Mathur, Sandeep Jain
  • Patent number: 9052918
    Abstract: A data processing entity that includes a mass memory with a plurality of memory locations for storing memory blocks. Each of a plurality of software images includes a plurality of memory blocks with corresponding image addresses within the software image. The memory blocks of software images stored in boot locations of a current software image are relocated. The boot blocks of the current software image are stored into the corresponding boot locations. The data processing entity is booted from the boot blocks of the current software image in the corresponding boot locations, thereby loading the access function. Each request to access a selected memory block of the current software image is served by the access function, with the access function accessing the selected memory block in the associated memory location provided by the control structure.
    Type: Grant
    Filed: December 14, 2011
    Date of Patent: June 9, 2015
    Assignee: International Business Machines Corporation
    Inventors: David Clerc, Jacques Fontignie, Luis Garcés-Erice, Claudio Marinelli, John G. Rooney, Marc V. Stückelberg
  • Patent number: 9052840
    Abstract: An apparatus and method is provided for coupling additional memory to a plurality of processors. The method may include determining the memory requirements of the plurality of processors in a system, comparing the memory requirements of the plurality of processors to an available memory assigned to each of the plurality of processors, and selecting a processor from the plurality of processors that requires additional memory capacity. The apparatus may include a plurality of processors, where the plurality of processors is coupled to a logic element. In addition, the apparatus may include an additional memory coupled to the logic element, where the logic element is adapted to select a processor from the plurality of processors to couple with the additional memory.
    Type: Grant
    Filed: March 1, 2013
    Date of Patent: June 9, 2015
    Assignee: International Business Machines Corporation
    Inventors: Edgar R. Cordero, Anand Haridass, Diyanesh B. Vidyapoornachary, Robert B. Tremaine
  • Patent number: 9052828
    Abstract: A mechanism is provided in a data processing system for volume placement across remote replication relationships. Responsive to applying a volume placement optimization to a source storage pool having at least one volume with a replication target in a target storage pool, the mechanism determines whether the source storage pool and the target storage pool have identical storage volume membership. Responsive to determining the source storage pool and the target storage pool not having the same storage volume membership, the mechanism generates workload performance data for each non-shared storage volume in the target storage pool that does not have a corresponding member of the source storage pool. The mechanism generates a hardware profile for hardware of the target storage pool.
    Type: Grant
    Filed: May 31, 2013
    Date of Patent: June 9, 2015
    Assignee: International Business Machines Corporation
    Inventors: Stephen A. Byrd, Benjamin J. Randall
  • Patent number: 9053039
    Abstract: Data caching methods and systems are provided. The data cache method loads data into an installation cache and a cache (simultaneously or serially) and returns data from the installation cache when the data has not completely loaded into the cache. The data cache system includes a processor, a memory coupled to the processor, a cache coupled to the processor and the memory and an installation cache coupled to the processor and the memory. The system is configured to load data from the memory into the installation cache and the cache (simultaneously or serially) and return data from the installation cache to the processor when the data has not completely loaded into the cache.
    Type: Grant
    Filed: December 21, 2012
    Date of Patent: June 9, 2015
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Matthew R. Poremba, Gabriel H. Loh
  • Patent number: 9047057
    Abstract: An apparatus and method is provided for coupling additional memory to a plurality of processors. The method may include determining the memory requirements of the plurality of processors in a system, comparing the memory requirements of the plurality of processors to an available memory assigned to each of the plurality of processors, and selecting a processor from the plurality of processors that requires additional memory capacity. The apparatus may include a plurality of processors, where the plurality of processors is coupled to a logic element. In addition, the apparatus may include an additional memory coupled to the logic element, where the logic element is adapted to select a processor from the plurality of processors to couple with the additional memory.
    Type: Grant
    Filed: November 16, 2012
    Date of Patent: June 2, 2015
    Assignee: International Business Machines Corporation
    Inventors: Edgar R. Cordero, Anand Haridass, Diyanesh B. Vidyapoornachary, Robert B. Tremaine
  • Patent number: 9043569
    Abstract: A method and computer-readable storage media are provided for rearranging data in physical memory units. In one embodiment, a method may include monitoring utilization counters. The method may further include, comparing the utilization counters for a match with an instance in a first table containing one or more instances when data may be rearranged in the physical memory units. The table may further include where the data should be relocated by a rearrangement. The method may also include, continuing to monitor the utilization counters if a match is not found with an instance in the first table. The method may further include, rearranging the data in the physical memory units if a match between the utilization counters and an instance in the first table is found.
    Type: Grant
    Filed: May 31, 2013
    Date of Patent: May 26, 2015
    Assignee: International Business Machines Corporation
    Inventors: Timothy J. Dell, Manoj Dusanapudi, Prasanna Jayaraman, Anil B. Lingambudi
  • Patent number: 9043578
    Abstract: Apparatuses and methods for providing data are disclosed. An example apparatus includes a plurality of memories coupled to a data bus. The memories provide data to the data bus responsive, at least in part, to a first address. The plurality of memories further provide at least a portion of the data corresponding to the first address to the data bus during a sense operation for a second address provided to the plurality of memories after the first address. Each of the plurality of memories provides data to the data bus corresponding to the first address at different times. Moreover, a plurality of memories may provide at least 2N bits of data to the data bus responsive, at least in part, to an address, each of the plurality of memories provide N bits of data to the data bus at different times.
    Type: Grant
    Filed: May 20, 2014
    Date of Patent: May 26, 2015
    Assignee: Micron Technology, Inc.
    Inventors: Yi Chen, Yihua Zhang, Keith E. Winters
  • Patent number: 9043557
    Abstract: A heterogeneous memory system includes a main memory arrangement, a first-level cache, and a memory management unit (MMU). The first-level cache includes an SRAM arrangement and a DRAM arrangement. The MMU is configured and arranged to read first data from the main memory arrangement in response to a stored first value associated with the first data and indicative of a start time. The MMU selects one of the SRAM arrangement or the DRAM arrangement for storage of the first data and stores the first data in the selected one of the SRAM arrangement or DRAM arrangement. The MMU reads second data from one of the SRAM arrangement or DRAM arrangement and writes the data to the main memory arrangement in response to a stored second value associated with the second data and indicative of a duration.
    Type: Grant
    Filed: June 5, 2013
    Date of Patent: May 26, 2015
    Inventors: Prasanna Sundararajan, Chidamber Kulkarni
  • Patent number: 9026719
    Abstract: A memory device can include a non-volatile memory array and control logic integrated with and distributed over the non-volatile memory array. The control logic can be operable to selectively distribute functionality across the non-volatile memory array.
    Type: Grant
    Filed: November 15, 2012
    Date of Patent: May 5, 2015
    Assignee: Elwha, LLC
    Inventors: Roderick A. Hyde, Nicholas F. Pasch, Clarence T. Tegreene
  • Patent number: 9009419
    Abstract: Methods and systems are provided for mapping a memory instruction to a shared memory address space in a computer arrangement having a CPU and an APD. A method includes receiving a memory instruction that refers to an address in the shared memory address space, mapping the memory instruction based on the address to a memory resource associated with either the CPU or the APD, and performing the memory instruction based on the mapping.
    Type: Grant
    Filed: July 31, 2012
    Date of Patent: April 14, 2015
    Assignees: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Anthony Asaro, Kevin Normoyle, Mark D. Hummel, Mark Fowler
  • Patent number: 9009413
    Abstract: A processor includes a processor core including an execution unit to execute instructions, and a cache memory. The cache memory includes a controller to update each of a plurality of stale indicators in response to a lazy flush instruction. Each stale indicator is associated with respective data, and each updated stale indicator is to indicate that the respective data is stale. The cache memory also includes a plurality of cache lines. Each cache line is to store corresponding data and a foreground tag that includes a respective virtual address associated with the corresponding data, and that includes the associated stale indicator. Other embodiments are described as claimed.
    Type: Grant
    Filed: December 21, 2012
    Date of Patent: April 14, 2015
    Assignee: Intel Corporation
    Inventors: Varun K. Mohandru, Fernando Latorre, Niranjan L. Cooray, Pedro Lopez, Naveen Neelakantam, Li-Gao Zei, Rami May, Jaroslaw Topp, Thomas Gaertner
  • Patent number: 9003106
    Abstract: A system, method, and computer program product for establishing a memory-mapped file, enabling the memory-mapped file data to be paged to a non-volatile storage medium, marking a portion of the memory-mapped file as protected, wherein a write to the memory mapped file throws a segmentation fault; receiving a write at the memory mapped file, throwing a segmentation fault; and handling the segmentation fault in a segmentation handler, where the handling comprises reading the information in the memory mapped file facility into the undo log, and writing the write IO to the storage medium.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: April 7, 2015
    Assignee: EMC Corporation
    Inventors: Roy E Clark, John S Harwood, David Cohen
  • Patent number: 8996798
    Abstract: Methods and systems for a network device having a plurality of base-ports, each base-port having a plurality of sub-ports configured to operate independently as a port for sending and receiving information using one of a plurality of network links at a plurality of rates complying with a plurality of protocols. The network device includes a ternary content addressable memory (TCAM) module for storing a plurality of entries for routing frames that are received for the plurality of sub-ports complying with the plurality of protocols. Each TCAM entry has an associated history value that is used by a processor for the network device to purge TCAM entries based on an age of the TCAM entries.
    Type: Grant
    Filed: November 15, 2012
    Date of Patent: March 31, 2015
    Assignee: QLOGIC, Corporation
    Inventors: Frank R. Dropps, William J. Andersen, Leo J. Slechta, Jr., Craig M. Verba
  • Patent number: 8984212
    Abstract: In one embodiment, a memory system includes a memory device with a first memory and a second memory, and a controller configured to control storing of data in the memory device. The controller is configured to control an (N?1)th piece of meta data to be stored in the second memory when an Nth piece of user data is stored in the first memory or control the Nth piece of the user data to be stored in the second memory when the (N?1)th piece of the meta data is stored in the first memory, where N denotes a natural number equal to or greater than ‘1’. Also, a time period of storing the Nth piece of the user data is controlled to partially or entirely overlap with a time period of storing the (N?1)th piece of the meta data.
    Type: Grant
    Filed: July 31, 2012
    Date of Patent: March 17, 2015
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Wan-soo Choi, Hee-tak Shin, Won-jin Lim, Bong-gwan Seol, Jun-seok Park
  • Patent number: 8977807
    Abstract: A Flash-based storage system, card, and/or module comprises a Flash controller configured to encrypt the data pages of a page stripe by shuffling the data pages, including loading each data page into a data shuffling buffer in a sequential order relative to other data pages in the page stripe, and thereafter unloading each data page in a non-sequential order relative to other data pages in the page stripe. The Flash controller is also configured to scramble the data pages of the page stripe by performing a bitwise logical operation on the data pages that are unloaded from the data shuffling buffer. A user key and one or more system keys are used to perform the shuffling and scrambling. The Flash controller is further configured to flush the user key by bypassing the system's backup power supply and performing an emergency system shutdown without backing up system data.
    Type: Grant
    Filed: April 28, 2014
    Date of Patent: March 10, 2015
    Assignee: International Business Machines Corporation
    Inventors: Holloway H. Frost, Charles J. Camp
  • Patent number: 8977830
    Abstract: A method, system, and computer program product comprising using a tracking structure to map a first portion and a second portion of a non-volatile storage medium to a logical representation of the non-volatile storage medium; wherein the first portion is presented by the logical representation as writable storage and using the tracking structure to enable the logical representation to present the data written to the second portion as the data corresponding to the write in the first portion.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: March 10, 2015
    Assignee: EMC Corporation
    Inventor: Roy E Clark
  • Patent number: 8972682
    Abstract: Methods, program products, and systems for lock-free object recycling are described. In some implementations, a system can provide a type-neutral wrapper for a first data object. Upon receiving an indicator that the first data object is no longer used, the system can store the first data object and the type-neutral wrapper in a lock-free data structure. Upon receiving a request to create a second data object, the system can fetch the type-neutral wrapper and the first data object from the lock-free data structure without using a lock. The system can then return the first data object as a response to the request.
    Type: Grant
    Filed: May 23, 2014
    Date of Patent: March 3, 2015
    Assignee: Apple Inc.
    Inventor: Wei-De Ju
  • Patent number: 8972697
    Abstract: Methods and apparatus are disclosed for using an index array and finite state machine for scatter/gather operations. Embodiment of apparatus may comprise: decode logic to decode a scatter/gather instruction and generate a set of micro-operations, and an index array to hold a set of indices and a corresponding set of mask elements. A finite state machine facilitates the gather operation. Address generation logic generates an address from an index of the set of indices for at least each of the corresponding mask elements having a first value. An address is accessed to load a corresponding data element if the mask element had the first value. The data element is written at an in-register position in a destination vector register according to a respective in-register position the index. Values of corresponding mask elements are changed from the first value to a second value responsive to completion of their respective loads.
    Type: Grant
    Filed: June 2, 2012
    Date of Patent: March 3, 2015
    Assignee: Intel Corporation
    Inventors: Zeev Sperber, Robert Valentine, Guy Patkin, Stanislav Shwartsman, Shlomo Raikin, Igor Yanover, Gal Ofir