Patents Examined by Edmund Kwong
  • Patent number: 9047409
    Abstract: A method for processing data of a control unit in a data communication device, which has a first memory area and a second memory area, and is connected to the control unit through an interface. Data from the control unit is transmitted to the data communication device through the interface. A value is stored identically in the first memory area and in the second memory area. The data communication device tests whether a first trigger is present, and if present, storage in the first memory area is discontinued, or the trigger class of the first trigger is tested and storage in the first memory area is discontinued only in the presence of a predefined trigger class. Subsequently, values of the data are read out from the first memory area, whereby values arriving chronologically after the first trigger are stored in the second memory area by the data communication device.
    Type: Grant
    Filed: August 9, 2012
    Date of Patent: June 2, 2015
    Assignee: dSPACE GmbH
    Inventors: Marc Dressler, Bastian Kellers, Daniel Hofmann, Thorsten Hufnagel
  • Patent number: 9043550
    Abstract: A controller receives a request to perform a release space operation. A determination is made that a new discard scan has to be performed on a cache, in response to the received request to perform the release space operation. A determination is made as to how many task control blocks are to be allocated to the perform the new discard scan, based on how many task control blocks have already been allocated for performing one or more discard scans that are already in progress.
    Type: Grant
    Filed: November 6, 2013
    Date of Patent: May 26, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael T. Benhase, Lokesh M. Gupta
  • Patent number: 9032141
    Abstract: Detection logic of a memory subsystem obtains a threshold for a memory device that indicates a number of accesses within a time window that causes risk of data corruption on a physically adjacent row. The detection logic obtains the threshold from a register that stores configuration information for the memory device, and can be a register on the memory device itself and/or can be an entry of a configuration storage device of a memory module to which the memory device belongs. The detection logic determines whether a number of accesses to a row of the memory device exceeds the threshold. In response to detecting the number of accesses exceeds the threshold, the detection logic can generate a trigger to cause the memory device to perform a refresh targeted to a physically adjacent victim row.
    Type: Grant
    Filed: November 30, 2012
    Date of Patent: May 12, 2015
    Inventors: Kuljit S. Bains, John B. Halbert
  • Patent number: 9003126
    Abstract: Techniques and mechanisms for adaptively changing between replacement policies for selecting lines of a cache for eviction. In an embodiment, evaluation logic determines a value of a performance metric which is for writes to a non-volatile memory. Based on the determined value of the performance metric, a parameter value of a replacement policy is determined. In another embodiment, cache replacement logic performs a selection of a line of cache for data eviction, where the selection is in response to the policy unit providing an indication of the determined parameter value.
    Type: Grant
    Filed: September 25, 2012
    Date of Patent: April 7, 2015
    Assignee: Intel Corporation
    Inventors: Qiong Cai, Nevin Hyuseinova, Serkan Ozdemir, Ferad Zyulkyarov, Marios Nicolaides, Blas Cuesta
  • Patent number: 8990524
    Abstract: A plurality of subgroups with a least recently used (LRU) list of data elements associated with count variables. The LRU lists have a top entry to store a most recently used data element and a bottom entry to store a least recently used data element. If a data element is accessed, then increase the value of the count variable and move the accessed data element to the top entry of the LRU list of the subgroup associated with the data element. If the value of the count variable of the accessed data element of the top entry is greater than a value of a count variable of a data element of a bottom entry of a LRU list of a subgroup with a higher priority, then swap the data element of the bottom entry with the accessed data element of the top entry.
    Type: Grant
    Filed: September 27, 2012
    Date of Patent: March 24, 2015
    Assignee: Hewlett-Packard Development Company, LP.
    Inventor: Mykel John Kramer
  • Patent number: 8949561
    Abstract: A method performed in a network storage system, the method including receiving a plurality of data blocks at a secondary storage subsystem from a primary storage subsystem, generating a first log that includes a first plurality of entries, one entry for each of the data blocks, in which each entry of the first plurality of entries includes a name for a respective data block and a fingerprint of the respective data block, receiving metadata at the secondary storage subsystem from the primary storage subsystem, the metadata describing relationships between the plurality of blocks and a plurality of files, generating a second log that includes a second plurality of entries, and merging the first log with the second log to generate a change log.
    Type: Grant
    Filed: August 7, 2012
    Date of Patent: February 3, 2015
    Assignee: Netapp, Inc.
    Inventors: Bharadwaj Vellore Ramesh, Venkata Vijay Chaitanya Challapalli, Rohini Raghuwanshi, Praveen Killamsetti, Sudhanshu Gupta
  • Patent number: 8930612
    Abstract: Apparatus and method for data management in a memory, such as but not limited to a flash memory array. In accordance with some embodiments, a plurality of data sets in a memory are identified as having a common data content and different physical addresses in the memory. A selected one of the data sets is marked as valid data and the remaining data sets are marked as stale data responsive to evaluation of at least one variable parameter associated with the physical addresses at which the data sets are respectively stored.
    Type: Grant
    Filed: May 31, 2012
    Date of Patent: January 6, 2015
    Assignee: Seagate Technology LLC
    Inventors: Ryan James Goss, Mark Allen Gaertner, David Scott Seekins
  • Patent number: 8924647
    Abstract: An improved technique for managing data replacement in a multi-level cache dynamically selects a data replacement protocol from among multiple candidates based on which data replacement protocol produces the greatest cache hit rate. The technique includes selecting one of multiple data replacement protocols using a random selection process that can be biased to favor the selection of certain protocols over others. Data are evicted from each level of the multi-level cache using the selected data replacement protocol, and the cache hit rate is monitored. The selected data replacement protocol is then rewarded in response to the detected cache hit rate. The selection process is repeated, and a newly selected data replacement protocol is put into use. Operation tends to converge on an optimal data replacement protocol that best suits the application and current operating environment of the multi-level cache.
    Type: Grant
    Filed: September 26, 2012
    Date of Patent: December 30, 2014
    Assignee: EMC Corporation
    Inventor: T. David Evans
  • Patent number: 8898376
    Abstract: Methods, storage controllers, and systems for grouping data stored on an array of solid-state storage elements are described. One method includes sequentially writing user data to an append point at a head of a log stored in an array of solid-state storage elements. The user data is stored in a plurality of logical erase blocks of the array. The method further includes selecting partially invalidated logical erase blocks of the array based on a characteristic for the partially invalidated logical erase blocks and arranging valid portions of the selected partially invalidated logical erase blocks into groups based on the characteristic. The method further includes writing the groups of valid portions to the log.
    Type: Grant
    Filed: June 4, 2012
    Date of Patent: November 25, 2014
    Assignee: Fusion-IO, Inc.
    Inventor: Joshua Aune
  • Patent number: 8868825
    Abstract: A method of applying an address space to data storage in a non-volatile solid-state storage is provided. The method includes receiving a plurality of portions of user data for storage in the non-volatile solid-state storage and assigning to each successive one of the plurality of portions of user data one of a plurality of sequential, nonrepeating addresses of an address space. The address range of the address space exceeds a maximum number of addresses expected to be applied during a lifespan of the non-volatile solid-state storage. The method includes writing each of the plurality of portions of user data to the non-volatile solid-state storage such that each of the plurality of portions of user data is identified and locatable for reading via the one of the plurality of sequential, nonrepeating addresses of the address space.
    Type: Grant
    Filed: July 2, 2014
    Date of Patent: October 21, 2014
    Assignee: Pure Storage, Inc.
    Inventors: John Hayes, Shantanu Gupta, John Davis, Brian Gold, Zhangxi Tan