Patents Examined by Nicholas Simonetti
  • Patent number: 8898401
    Abstract: Methods and apparatuses are disclosed that allow for improved speculation success in execute ahead microprocessors. In some embodiments, the method may include speculatively executing a first thread of a program code while a second thread of the program code is executing, determining if a load request is serviceable from a cache line within a cache, and in the event that the load request is serviceable from the cache line, associating a first indicator bit with the cache line. The method also may include determining whether the cache line associated with the first indicator bit has been evicted, and in the event that the cache line is evicted, allowing speculative execution of the first thread to continue.
    Type: Grant
    Filed: November 7, 2008
    Date of Patent: November 25, 2014
    Assignee: Oracle America, Inc.
    Inventors: Chaiyasit Manovit, Paul Nicholas Loewenstein
  • Patent number: 8892841
    Abstract: In one embodiment, a processor may be configured to write ECC granular stores into the data cache, while non-ECC granular stores may be merged with cache data in a memory request buffer. In one embodiment, a processor may be configured to detect that a victim block writeback hits one or more stores in a memory request buffer (or vice versa) and may convert the victim block writeback to a fill. In one embodiment, a processor may speculatively issue stores that are subsequent to a load from a load/store queue, but prevent the update for the stores in response to a snoop hit on the load.
    Type: Grant
    Filed: July 9, 2012
    Date of Patent: November 18, 2014
    Assignee: Apple Inc.
    Inventors: Ramesh Gunna, Po-Yung Chang, Sudarshan Kadambi
  • Patent number: 8886887
    Abstract: A computer implemented method, software infrastructure and computer usable program code for improving application performance. A delinquent memory operation instruction is identified. A delinquent memory operation instruction is an instruction associated with cache misses that exceeds a threshold number of cache misses. A directive is inserted in a code region associated with the delinquent memory operation to form annotated code. The directive indicates an address of the delinquent memory operation instruction and a number of memory latency cycles expected to be required for the delinquent memory operation instruction to execute. The information included in the annotated code is used to optimize execution of an application associated with the delinquent memory operation instruction.
    Type: Grant
    Filed: March 15, 2007
    Date of Patent: November 11, 2014
    Assignee: International Business Machines Corporation
    Inventors: Gheorghe Calin Cascaval, Yaoqing Gao, Allen Russell Martin, Mark Peter Mendell
  • Patent number: 8880826
    Abstract: A Write-Once Read-Many (WORM) memory controller receives data from a processing system that is addressed to a location in a storage device, stores the data and a tag at the location, receives second data from the processing system that is addressed to the location, determines that the location includes the tag, and prevents the second data from being stored at the location based upon the presence of the tag. A WORM memory device sends a reply to a controller in response to an initialization command. The reply includes an address number that corresponds with the storage capacity of the WORM memory device. The WORM memory device sends another reply to another controller in response to another initialization command. The initialization commands are different from each other. The other initialization reply includes an address number of zero.
    Type: Grant
    Filed: October 20, 2009
    Date of Patent: November 4, 2014
    Assignee: Dell Products, LP
    Inventors: Jacob Cherian, Farzad Khosrowpour, Marco A. Peereboom
  • Patent number: 8856467
    Abstract: Methods, systems, computer program products and methods for deploying computing infrastructure for managing metadata in a storage subsystem are provided. A call is received from a client to update a portion of a metadata track. Data is also received from the client identifying at least one field of the metadata track to be updated, associated update values for the at least one field to be updated and an update type for the at least one field. A data structure field of a client interface is then populated with the identity of the at least one field and the associated update values and an opcode field of the client interface is populated with the update type. A task control block (TCB) is then allocated to the client call and, at the direction of the TCB, various operations are performed without further activity by the client. The metadata track may also be validated before being updated to ensure that the client has access only to valid updates.
    Type: Grant
    Filed: November 18, 2004
    Date of Patent: October 7, 2014
    Assignee: International business Machines Corporation
    Inventors: Aaron S Mahar, Angelique R Budaya, James A Springer
  • Patent number: 8825960
    Abstract: A system and method is provided wherein, in one aspect, a currently-requested item of information is stored in a cache based on whether it has been previously requested and, if so, the time of the previous request. If the item has not been previously requested, it may not be stored in the cache. If the subject item has been previously requested, it may or may not be cached based on a comparison of durations, namely (1) the duration of time between the current request and the previous request for the subject item and (2) for each other item in the cache, the duration of time between the current request and the previous request for the other item. If the duration associated with the subject item is less than the duration of another item in the cache, the subject item may be stored in the cache.
    Type: Grant
    Filed: October 16, 2013
    Date of Patent: September 2, 2014
    Assignee: Google Inc.
    Inventors: Timo Burkard, David Presotto
  • Patent number: 8825961
    Abstract: A system and method is provided wherein, in one aspect, a currently-requested item of information is stored in a cache based on whether it has been previously requested and, if so, the time of the previous request. If the item has not been previously requested, it may not be stored in the cache. If the subject item has been previously requested, it may or may not be cached based on a comparison of durations, namely (1) the duration of time between the current request and the previous request for the subject item and (2) for each other item in the cache, the duration of time between the current request and the previous request for the other item. If the duration associated with the subject item is less than the duration of another item in the cache, the subject item may be stored in the cache.
    Type: Grant
    Filed: October 16, 2013
    Date of Patent: September 2, 2014
    Assignee: Google Inc.
    Inventors: Timo Burkard, David Presotto
  • Patent number: 8819358
    Abstract: Provided is a data storage device including two or more data storage areas including may have two or more (heterogeneous) types of nonvolatile memory cells. At least one of the data storage areas includes a plurality of memory blocks that are sequentially selected, and metadata are stored in the currently selected memory block. The memory blocks can be sequentially used and metadata can be stored in a uniformly-distributed manner throughout the data storage device. Therefore, separate merging and wear-leveling operations are unnecessary. Thus, it is possible to improve the lifetime and writing performance of a data storage device having two or more heterogeneous nonvolatile memories.
    Type: Grant
    Filed: February 19, 2013
    Date of Patent: August 26, 2014
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: KyungWook Ye, Yul-Won Cho
  • Patent number: 8812791
    Abstract: A system and method is provided wherein, in one aspect, a currently-requested item of information is stored in a cache based on whether it has been previously requested and, if so, the time of the previous request. If the item has not been previously requested, it may not be stored in the cache. If the subject item has been previously requested, it may or may not be cached based on a comparison of durations, namely (1) the duration of time between the current request and the previous request for the subject item and (2) for each other item in the cache, the duration of time between the current request and the previous request for the other item. If the duration associated with the subject item is less than the duration of another item in the cache, the subject item may be stored in the cache.
    Type: Grant
    Filed: October 8, 2013
    Date of Patent: August 19, 2014
    Assignee: Google Inc.
    Inventors: Timo Burkard, David Presotto
  • Patent number: 8788760
    Abstract: Data access is facilitated by employing local caches and an adaptive caching strategy. Specific data is stored in each local cache and consistency is maintained between the caches. To maintain consistency, adaptive caching structures are used. The members of an adaptive caching structure are selected based on a sharing context, such as those members having a chosen association identifier or those members not having the chosen association identifier.
    Type: Grant
    Filed: November 18, 2009
    Date of Patent: July 22, 2014
    Assignee: International Business Machines Corporation
    Inventors: Casimer M. DeCusatis, Rajaram B. Krishnamurthy, Todd A. Nelson, Anuradha Rao, Joseph H. Torella
  • Patent number: 8745309
    Abstract: A cooperative memory card system includes a memory card device, and a host in signal communication with the memory card device, where the host assumes at least one memory management function for the memory card device; and a corresponding method of cooperative memory management between a host and a memory card device includes selecting at least one of several memory management functions to be performed by the host for the device.
    Type: Grant
    Filed: August 3, 2007
    Date of Patent: June 3, 2014
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Myoung-Soo Jung, Chan-Ik Park, Sang-Jin Oh
  • Patent number: 8738871
    Abstract: A method and apparatus for creating and utilizing a map of files related to a virtual disk of a virtual machine. In one embodiment, the method comprises inspecting file system entries within at least one volume of the virtual disk; converting information related to file system entries into a map, where the map comprises file locations within a physical disk for the files related to the virtual disk. In another embodiment, the method comprises examining a map of an image of at least a portion of a virtual disk, accessing the image, extracting and utilizing at least one file. In yet another embodiment, the method comprises creating a map related to an image representing stored files in a virtual disk, storing the map and the image, selecting a file, examining the map, accessing the image, extracting the file from the image and restoring the file to a storage system.
    Type: Grant
    Filed: June 29, 2007
    Date of Patent: May 27, 2014
    Assignee: Symantec Corporation
    Inventors: Timothy Michael Naftel, David Teater
  • Patent number: 8719511
    Abstract: A system and method is provided wherein, in one aspect, a currently-requested item of information is stored in a cache based on whether it has been previously requested and, if so, the time of the previous request. If the item has not been previously requested, it may not be stored in the cache. If the subject item has been previously requested, it may or may not be cached based on a comparison of durations, namely (1) the duration of time between the current request and the previous request for the subject item and (2) for each other item in the cache, the duration of time between the current request and the previous request for the other item. If the duration associated with the subject item is less than the duration of another item in the cache, the subject item may be stored in the cache.
    Type: Grant
    Filed: October 8, 2013
    Date of Patent: May 6, 2014
    Assignee: Google Inc.
    Inventors: Timo Burkard, David Presotto
  • Patent number: 8688920
    Abstract: A data structure of readily accessible units of memory is provided as computer useable media having computer readable program code logic providing information tables and a software emulation program to enable hardware to run new software that uses transactional memory and a bit associated with a transaction for executing transactional memory constructs. The data structure with Guest PTRAN bit is used in emulation of software written for a given computer on a different computer which executes a different set of instructions. The emulating instructions are used to provide transactional memory instructions on a computer which does not support those instructions natively.
    Type: Grant
    Filed: October 30, 2007
    Date of Patent: April 1, 2014
    Assignee: International Business Machines Corporation
    Inventor: Thomas J. Heller, Jr.
  • Patent number: 8671256
    Abstract: A system and computer program product for migrating contents of a memory on a virtual machine. The system includes a source virtual machine executing on a host system, the source virtual machine including a memory. The system also includes a hypervisor executing on the host system. The hypervisor is in communication with the source virtual machine and includes instructions. The instructions facilitate establishing communication from the source virtual machine to a target virtual machine, the source virtual machine including a memory. The contents of the memory on the source virtual machine are transmitted to the target virtual machine. The contents of the memory on the source virtual machine include a plurality of pages. It is determined if all or a subset of the pages have been modified on the source virtual machine subsequent to being transmitted to the target virtual machine.
    Type: Grant
    Filed: August 27, 2007
    Date of Patent: March 11, 2014
    Assignee: International Business Machines Corporation
    Inventor: Eli M. Dow
  • Patent number: 8661211
    Abstract: A method for migrating contents of a memory on a virtual machine. The method includes computer instructions for establishing communication from a source virtual machine to a target virtual machine, the source virtual machine including a memory. The contents of the memory on the source virtual machine are transmitted to the target virtual machine. The contents of the memory on the source virtual machine include a plurality of pages. It is determined if all or a subset of the pages have been modified on the source virtual machine subsequent to being transmitted to the target virtual machine. If it is determined that all or a subset of the pages have been modified, then the modified pages, including a page location and page content for each of the modified pages, are transmitted to the target virtual machine. The determining and transmitting the modified pages continues until the number of remaining pages that have been modified is less than a threshold.
    Type: Grant
    Filed: August 27, 2007
    Date of Patent: February 25, 2014
    Assignee: International Business Machines Corporation
    Inventor: Eli M. Dow
  • Patent number: 8645641
    Abstract: In a particular embodiment, a storage device includes a controller that is adapted to receive environmental data from a plurality of environmental sensors, where the environmental data is related to an operating environment of the storage device. Further, the controller is adapted to receive state information related to the data storage medium from a plurality of firmware detectors, to weight the received environmental data and the received state information according to a pre-determined weighting table, and to dynamically manage at least one attribute of the storage device based on the weighted environmental data and the weighted state information.
    Type: Grant
    Filed: December 17, 2008
    Date of Patent: February 4, 2014
    Assignee: Seagate Technology LLC
    Inventors: Michael Edward Baum, Jim Joseph Touchton, Timothy Richard Feldman, Mike Montemorra
  • Patent number: 8601227
    Abstract: A method includes determining an amount of memory space in a memory device available for memory mirroring. The method further includes presenting the available memory space to an operating system. The method further includes selecting at least a portion of the amount of memory space to be used for memory mirroring with the operating system. The method further includes adding a non-selected portion of the available memory to memory space available to the operating system during operation. An associated system and machine readable medium are also disclosed.
    Type: Grant
    Filed: March 16, 2011
    Date of Patent: December 3, 2013
    Assignee: Intel Corporation
    Inventors: Robert C. Swanson, John V. Lovelace, Larry D. Aaron, Jr., Sugumar Govindarajan
  • Patent number: 8583876
    Abstract: A system is described in which a plurality of host computers are coupled to a storage system for storing and retrieving data in the storage system. The storage system includes individually addressable units of storage such as volumes or logical unit numbers. A security management system controls access to each of the individually addressable units of storage based upon the identification of the host permitted to access that unit of storage.
    Type: Grant
    Filed: March 27, 2008
    Date of Patent: November 12, 2013
    Assignee: Hitachi, Ltd.
    Inventor: Yuichi Taguchi
  • Patent number: 8572327
    Abstract: A system and method is provided wherein, in one aspect, a currently-requested item of information is stored in a cache based on whether it has been previously requested and, if so, the time of the previous request. If the item has not been previously requested, it may not be stored in the cache. If the subject item has been previously requested, it may or may not be cached based on a comparison of durations, namely (1) the duration of time between the current request and the previous request for the subject item and (2) for each other item in the cache, the duration of time between the current request and the previous request for the other item. If the duration associated with the subject item is less than the duration of another item in the cache, the subject item may be stored in the cache.
    Type: Grant
    Filed: August 19, 2011
    Date of Patent: October 29, 2013
    Assignee: Google Inc.
    Inventors: Timo Burkard, David Presotto