Patents Examined by Sheng-Jen Tsai
  • Patent number: 9558074
    Abstract: A replica control system includes software to control replication in virtual environments. The replica control system identifies a plurality of data blocks within an underlying storage volume in response to a request to update a replica of a target storage volume, identifies changed data blocks of the plurality of data blocks within the underlying storage volume, and identifies a subset of the changed data blocks with which to update the replica of the target storage volume based on a characteristic of the changed data blocks.
    Type: Grant
    Filed: June 10, 2011
    Date of Patent: January 31, 2017
    Assignee: QUANTUM CORPORATION
    Inventors: Gregory L. Wade, J. Mitchell Haile
  • Patent number: 9552299
    Abstract: Systems and methods of building massively parallel computing systems using low power computing complexes in accordance with embodiments of the invention are disclosed. A massively parallel computing system in accordance with one embodiment of the invention includes at least one Solid State Blade configured to communicate via a high performance network fabric. In addition, each Solid State Blade includes a processor configured to communicate with a plurality of low power computing complexes interconnected by a router, and each low power computing complex includes at least one general processing core, an accelerator, an I/O interface, and cache memory and is configured to communicate with non-volatile solid state memory.
    Type: Grant
    Filed: June 10, 2011
    Date of Patent: January 24, 2017
    Assignee: California Institute of Technology
    Inventor: Mark A. Stalzer
  • Patent number: 9547589
    Abstract: A flash drive has increased endurance and longevity by reducing writes to flash. An Endurance Translation Layer (ETL) is created in a DRAM buffer and provides temporary storage to reduce flash wear. A Smart Storage Switch (SSS) controller assigns data-type bits when categorizing host accesses as paging files used by memory management, temporary files, File Allocation Table (FAT) and File Descriptor Block (FDB) entries, and user data files, using address ranges and file extensions read from FAT. Paging files and temporary files are never written to flash. Partial-page data is packed and sector mapped by sub-sector mapping tables that are pointed to by a unified mapping table that stores the data-type bits and pointers to data or tables in DRAM. Partial sectors are packed together to reduce DRAM usage and flash wear. A spare/swap area in DRAM reduces flash wear. Reference voltages are adjusted when error correction fails.
    Type: Grant
    Filed: December 18, 2014
    Date of Patent: January 17, 2017
    Assignee: Super Talent Technology, Corp.
    Inventors: Frank Yu, Abraham C. Ma, Shimon Chen
  • Patent number: 9548108
    Abstract: A Virtual-Memory Device (VMD) driver and application execute on a host to increase endurance of flash memory attached to a Super Enhanced Endurance Device (SEED) or Solid-State Drive (SSD). Host accesses to flash are intercepted by the VMD driver using upper and lower-level filter drivers and categorized as data types of paging files, temporary files, meta-data, and user data files, using address ranges and file extensions read from meta-data tables. Paging files and temporary files are optionally written to flash. Full-page and partial-page data are grouped into multi-page meta-pages by data type before storage by the SSD. Ramdisks and caches for storing each data type in the host DRAM are managed and flushed to the SSD by the VMD driver. Write dates are stored for pages or blocks for management functions. A spare/swap area in DRAM reduces flash wear. Reference voltages are adjusted when error correction fails.
    Type: Grant
    Filed: December 18, 2014
    Date of Patent: January 17, 2017
    Assignee: Super Talent Technology, Corp.
    Inventors: Frank Yu, Abraham C. Ma, Shimon Chen, Yi Syu Yan
  • Patent number: 9542332
    Abstract: A hardware prefetch tablewalk system for a microprocessor including a tablewalk engine that is configured to perform hardware prefetch tablewalk operations without blocking software-based tablewalk operations. Tablewalk requests include a priority value, in which the tablewalk engine is configured to compare priorities of requests in which a higher priority request may terminate a current tablewalk operation. Hardware prefetch tablewalk requests having the lowest possible priority so that they do not bump higher priority tablewalk operations and are bumped by higher priority tablewalk requests. The priority values may be in the form of age values indicative of relative ages of operations being performed. The microprocessor may include a hardware prefetch engine that performs boundless hardware prefetch pattern detection that is not limited by page boundaries to provide the hardware prefetch tablewalk requests.
    Type: Grant
    Filed: November 13, 2014
    Date of Patent: January 10, 2017
    Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD.
    Inventor: Colin Eddy
  • Patent number: 9542313
    Abstract: A parallel computer system includes information processing devices, each of the information processing devices including a communication control device that performs communication, a main memory that stores data, and an arithmetic processing device that is coupled to the communication control device and the main memory, the information processing devices being coupled to each other through a network by the respective communication control device, wherein the arithmetic processing device includes a cache memory and a cache controller, the cache controller that executes an atomic operation for target data on the cache memory that stores the target data when the communication control device outputs an atomic operation request that is used to request the atomic operation, the atomic operation being not divided into a smaller operation, and notifies the communication control device of a result that is obtained by executing the atomic operation on the cache memory.
    Type: Grant
    Filed: November 13, 2014
    Date of Patent: January 10, 2017
    Assignee: FUJITSU LIMITED
    Inventors: Shinya Hiramoto, Tomohiro Inoue, Masahiro Maeda, Shun Ando, Yuta Toyoda
  • Patent number: 9542326
    Abstract: A method and a system for use in managing tiering in a cache-based system is disclosed wherein the cache-based system comprises a first data storage tier and a second data storage tier configured such that the performance characteristics associated with one of the tiers is superior to the performance characteristics associated with the other tier. In at least one embodiment the method and system comprises collecting a first set of I/O activity data for at least one data unit located in a cache, wherein the at least one data unit is associated with a data group located on the first data storage tier; collecting a second set of I/O activity data for the data group located on the first data storage tier; analyzing the first and second set of I/O activity data; and based on the analysis and the performance characteristics associated with the second data storage tier, determining whether the data group should be migrated to the second data storage tier.
    Type: Grant
    Filed: June 14, 2011
    Date of Patent: January 10, 2017
    Assignee: EMC IP Holding Company LLC
    Inventors: Dean D. Throop, Dennis T. Duprey
  • Patent number: 9536016
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for storing data on in a storage medium. In one aspect, a method includes receiving a key-value pair including a key k and a value v. The method further includes encoding the key-value pair as (i) a first key-value pair including a first key k1 and first value v1, and (ii) a second key-value pair including a second key k2. The method further includes inserting the first key-value pair and the second key-value pair in a trie.
    Type: Grant
    Filed: August 20, 2013
    Date of Patent: January 3, 2017
    Assignee: Google Inc.
    Inventors: Ulas Kirazci, Scott Banachowski
  • Patent number: 9507670
    Abstract: Systems, methods, and computer program products are provided for reducing the size of image level backups. An example method receives backup parameters identifying a physical or Virtual Machine (VM) to backup and at least one file system object to include in the backup. The method connects to production storage corresponding to the selected physical or virtual machine and obtains access to data stored in disk corresponding to the selected file system object(s). The method fetches file allocation table (FAT) blocks from the disk and parses contents of the FAT blocks to determine if the disk blocks correspond to the selected file system object(s). The method creates a backup disk image FAT comprising blocks corresponding to the selected file system object(s). The method creates a reconstructed disk image FAT blocks corresponding to the backup FAT and disk image data blocks belonging to the selected file system object(s) and all other disk image data blocks are saved as zero blocks.
    Type: Grant
    Filed: June 13, 2011
    Date of Patent: November 29, 2016
    Assignee: Veeam Software AG
    Inventors: Ratmir Timashev, Anton Gostev
  • Patent number: 9489293
    Abstract: Techniques for opportunistic data storage are described. In one embodiment, for example, an apparatus may comprise a data storage device and a storage management module, and the storage management module may be operative to receive a request to store a set of data in the data storage device, the request indicating that the set of data is to be stored with opportunistic retention, the storage management module to select, based on allocation information, storage locations of the data storage device for opportunistic storage of the set of data and write the set of data to the selected storage locations. Other embodiments are described and claimed.
    Type: Grant
    Filed: August 19, 2013
    Date of Patent: November 8, 2016
    Assignee: NetApp, Inc.
    Inventor: Jeffrey S. Kimmel
  • Patent number: 9489326
    Abstract: An integrated circuit device may include a first integrated circuit (IC) portion having a memory array that stores data units as storage locations and burst access circuitry that sequentially accesses N relates storage locations within the memory array, where N>1; and a second IC portion comprising a plurality of burst access registers coupled to the burst access circuitry, each burst access register having register locations to store at least N data units, and being coupled to a corresponding port by a single data unit access path.
    Type: Grant
    Filed: April 9, 2010
    Date of Patent: November 8, 2016
    Assignee: Cypress Semiconductor Corporation
    Inventors: Dinesh Maheshwari, Anuj Chakrapani
  • Patent number: 9471514
    Abstract: A method for protecting a computer includes identifying a first pointer in a data structure used by a computer program indicating a first memory address to be accessed, using the pointer, in order to invoke a functionality of the computer. The identified first pointer is replaced with a second pointer indicating a second memory address, different from the first memory address. A security program module traps attempts to access the second memory address during execution of the computer program so as to foil unauthorized access to the functionality of the computer.
    Type: Grant
    Filed: August 19, 2013
    Date of Patent: October 18, 2016
    Assignee: PALO ALTO NETWORKS, INC.
    Inventors: Gal Badishi, Netanel Davidi
  • Patent number: 9465745
    Abstract: Apparatus and associated method concerning managing access commands with a main storage space, a volatile buffer, and a nonvolatile buffer. The volatile buffer is configured to store a plurality of command nodes that are associated with data access commands received from a remote device and directed to the main storage space. The apparatus also has command prioritizing logic configured for using a prescribed rule in repeatedly identifying two or more candidate command nodes of the plurality that are at least individually favored for execution with respect to the main storage space, for selecting one of the candidate command nodes for the execution, and for transferring a nonselected one of the candidate command nodes from the volatile buffer to the nonvolatile buffer where the nonselected command node continues to be considered for execution with respect to the main storage space but is no longer considered by the prescribed rule when identifying subsequent candidate command nodes in the volatile buffer.
    Type: Grant
    Filed: April 9, 2010
    Date of Patent: October 11, 2016
    Assignee: Seagate Technology, LLC
    Inventor: Satish Laxmanrao Rege
  • Patent number: 9459869
    Abstract: Instructions may require one or more operands to be executed, which may be provided from a register file. In the context of a GPU, however, a register file may be a relatively large structure, and reading from the register file may be energy and/or time intensive An operand cache may store a subset of operands, and may use less power and have quicker access times than the register file. In some embodiments, intelligent operand prefetching may speed execution by reducing memory bank conflicts (e.g., conflicts within a register file containing multiple memory banks). An unused operand slot for another instruction (e.g., an instruction that does not require a maximum number of source operands allowed by an instruction set architecture) may be used to prefetch an operand for another instruction in one embodiment. Prefetched operands may be stored in an operand cache, and prefetching may occur based on software-provided information.
    Type: Grant
    Filed: August 20, 2013
    Date of Patent: October 4, 2016
    Assignee: Apple Inc.
    Inventors: Timothy A. Olson, Terence M. Potter, James S. Blomgren, Andrew M. Havlir
  • Patent number: 9448892
    Abstract: System and methods for selectively or automatically migrating resources between storage operation cells are provided. In accordance with one aspect of the invention, a management component within the storage operation system may monitor system operation and migrate components from storage operation cell to another to facilitate failover recovery, promote load balancing within the system and improve overall system performance as further described herein. Another aspect of the invention may involve performing certain predictive analyzes on system operation to reveal trends and tendencies within the system. Such information may be used as the basis for potentially migrating components from one storage operation cell to another to improve system performance and reduce or eliminate resource exhaustion or congestion conditions.
    Type: Grant
    Filed: July 31, 2015
    Date of Patent: September 20, 2016
    Assignee: Commvault Systems, Inc.
    Inventors: Srinivas Kavuri, Marcus S. Muller
  • Patent number: 9448844
    Abstract: Provided is a computing system having a hierarchical memory structure. When a data structure is allocated with respect to a task processed in the computing system, the data structure is divided and a portion of the data structure is allocated to a high speed memory of the hierarchical memory structure and a remaining data structure is allocated to a low speed memory of the hierarchical memory.
    Type: Grant
    Filed: September 14, 2010
    Date of Patent: September 20, 2016
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Jae Don Lee, Shi Hwa Lee, Seung Won Lee, Chae Seok Lim, Min Kyu Jeong
  • Patent number: 9442842
    Abstract: A nonvolatile memory die is tested to determine certain parameters such as read time, which are then recorded in the nonvolatile memory die. After the die is incorporated into a memory system, and firmware is downloaded, the nonvolatile memory system uses the recorded parameters to determine how to configure the memory system for operation within specified limits, such as determining how much delay to apply to read operations.
    Type: Grant
    Filed: August 19, 2013
    Date of Patent: September 13, 2016
    Assignee: SanDisk Technologies LLC
    Inventors: Preeti Yadav, Barys Sarana, Abhijeet Bhalerao, Frederick Fernandez, Namita Joshi
  • Patent number: 9424175
    Abstract: A method, computer program product, and computing system for receiving a write request on a first cache system, wherein the write request identifies new content to be written to a data array. A write request content identifier associated with the new content is compared to a plurality of content identifiers included within a content directory for the first cache system to determine if a matching content identifier exists. Each of the plurality of content identifiers is associated with a piece of previously-written content included within the first cache system. If a matching content identifier is identified, content on the data array is copied from a first location on the data array associated with the matching content identifier to a second location on the data array associated with the write request content identifier.
    Type: Grant
    Filed: November 30, 2011
    Date of Patent: August 23, 2016
    Assignee: EMC Corporation
    Inventors: Roy E. Clark, Alex Veprinsky
  • Patent number: 9424125
    Abstract: Disk-backed array techniques can, in some implementations, help ensure that the arrays contain consistent data. An alert can be provided if it is determined that the data in the array is, or may be, corrupted.
    Type: Grant
    Filed: August 19, 2013
    Date of Patent: August 23, 2016
    Assignee: Google Inc.
    Inventors: Ulas Kirazci, Scott Banachowski
  • Patent number: 9418011
    Abstract: In one embodiment, the present invention includes a processor comprising a page tracker buffer (PTB), the PTB including a plurality of entries to store an address to a cache page and to store a signature to track an access to each cache line of the cache page, and a PTB handler, the PTB handler to load entries into the PTB and to update the signature. Other embodiments are also described and claimed.
    Type: Grant
    Filed: June 23, 2010
    Date of Patent: August 16, 2016
    Assignee: Intel Corporation
    Inventors: Livio B. Soares, Naveen Cherukuri, Akhilesh Kumar, Mani Azimi