Patents Examined by Tuan V. Thai
  • Patent number: 10762000
    Abstract: A method of choosing a cache line of a plurality of cache lines of data for eviction from a frontend memory, the method including assigning a baseline replacement score to each way of a plurality of ways of a cache, the ways respectively storing the cache lines, assigning a validity score to each way based on a degree of validity of the cache line stored in each way, assigning an eviction decision score to each way based on a function of the baseline replacement score for the way and the validity score for the way, and choosing a cache line of the way having a highest eviction decision score as the cache line for eviction.
    Type: Grant
    Filed: July 27, 2017
    Date of Patent: September 1, 2020
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Mu-Tien Chang, Heehyun Nam, Youngsik Kim, Youngjin Cho, Dimin Niu, Hongzhong Zheng
  • Patent number: 10740238
    Abstract: A storage controller includes a cache destage controller that determines write cache destage rates for each of a plurality of storage arrays as a function of available system resources. When the available system resources are sufficient to satisfy the optimal destage rates for all arrays, the destage rate for each array is set to its optimal rate. When the available system resources are insufficient to satisfy the array rates of all of the arrays, each array is allocated destage rate that is a percentage of the array rates based on the available resources. When the available system resources are insufficient to satisfy the optimal destage rates for all arrays, but sufficient to satisfy the array rates of some of the arrays, a destage rate is determined for each array based on mathematical relationships between sums of the array rates, global rates, optimal rates, and sums of these across arrays.
    Type: Grant
    Filed: November 12, 2018
    Date of Patent: August 11, 2020
    Assignee: International Business Machines Corporation
    Inventors: Adrian Gerhard, Joseph P. Bush
  • Patent number: 10733696
    Abstract: Methods are provided for creating objects in a way that permits an API client to explicitly participate in memory management for an object created using the API. Methods for managing data object memory include requesting memory requirements for an object using an API and expressly allocating a memory location for the object based on the memory requirements. Methods are also provided for cloning objects such that a state of the object remains unchanged from the original object to the cloned object or can be explicitly specified.
    Type: Grant
    Filed: April 3, 2017
    Date of Patent: August 4, 2020
    Assignees: ATI TECHNOLOGIES ULC, ADVANCED MICRO DEVICES, INC.
    Inventors: Guennadi Riguer, Brian K. Bennett
  • Patent number: 10732901
    Abstract: Each of a storage apparatus having a primary volume and a storage apparatus having a secondary volume, upon reception of a write command, changes a data attribute of a data area allocated to an address designated by the write command, to a first attribute if the data attribute is other than the first attribute. In an offloaded data copy processing sequence, each of the storage apparatus changes a data attribute of a data area allocated to a copy source address to a second attribute if the data attribute is other than the second attribute. When an allocation information copy process is to be performed to allocate the data area to a copy destination address according to an offloaded data copy command, each of the storage apparatus discontinues the offloaded data copy processing sequence if the data attribute of the data area is the first attribute.
    Type: Grant
    Filed: June 30, 2017
    Date of Patent: August 4, 2020
    Assignee: HITACHI LTD.
    Inventors: Kazuki Matsugami, Tomohiro Kawaguchi, Yoshihiro Yoshii
  • Patent number: 10732841
    Abstract: Ownership of a memory unit in a data processing system is tracked by assigning an identifier to each software component in the data processing system that can acquire ownership of the memory unit. An ownership variable is updated with the identifier of the software component that acquires ownership of the memory unit whenever the memory unit is acquired.
    Type: Grant
    Filed: December 13, 2017
    Date of Patent: August 4, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Jerry W. Stevens
  • Patent number: 10733051
    Abstract: Techniques are presented for maintaining data distributed across a plurality of storage drives (drives) in a robust manner. A method includes (a) collecting physical state information from each drive of the plurality of drives, (b) generating a predicted failure probability of each drive based on the collected physical state information from that drive, the predicted failure probability indicating a likelihood that that drive will fail within a predetermined period of time, and (c) rearranging a distribution of data across the plurality of drives to minimize a probability of DU/DL. Systems, apparatuses, and computer program products for performing similar methods are also provided.
    Type: Grant
    Filed: October 31, 2018
    Date of Patent: August 4, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Nickolay Alexandrovich Dalmatov, Alexander Shraifel
  • Patent number: 10732840
    Abstract: Techniques for tracking pages that are unshared among snapshot volumes and their parent volume in a volume family. The techniques include maintaining a first counter that tracks a first number (“SnapOwnedCount”) of pages among a total number of pages written to a volume that were overwritten in the immediate sequential next volume in the same branch as the volume, and a second counter that tracks a second number (“UnsharedWithParentCount”) of pages among the total number of pages written to the volume that were overwritten in any sequential next volume in the same branch as the volume. By maintaining, for each volume in a volume family, a first counter and a second counter for tracking the SnapOwnedCount and the UnsharedWithParentCount, respectively, data storage recovery can be performed more effectively, allowing selected volumes and/or portions thereof to be deleted while maintaining accurate space accounting information.
    Type: Grant
    Filed: October 31, 2018
    Date of Patent: August 4, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Kumari Bijayalaxmi Nanda, Alexander S. Mathews, Soumyadeep Sen, Michal Marko
  • Patent number: 10725663
    Abstract: According to one general aspect, a memory management unit (MMU) may be configured to interface with a heterogeneous memory system that comprises a plurality of types of storage mediums. Each type of storage medium may be based upon a respective memory technology and may be associated with performance characteristic(s). The MMU may receive a data access for the heterogeneous memory system. The MMU may also determine at least one of the storage mediums of the heterogeneous memory system to service the data access. The target storage medium may be selected based upon at least one performance characteristic associated with the target storage medium and a quality of service tag that is associated with the virtual machine and that indicates one or more performance characteristics. The MMU may route the data access by the virtual machine to the at least one of the storage mediums.
    Type: Grant
    Filed: December 21, 2018
    Date of Patent: July 28, 2020
    Assignee: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Manu Awasthi, Robert Brennan
  • Patent number: 10726911
    Abstract: A memory system according to an embodiment includes a semiconductor memory and a memory controller. The semiconductor memory includes memory cells and a sequencer. Each of the memory cells stores first data when it has a first threshold voltage, and stores second data when it has a second threshold voltage. The sequencer performs a first write operation for write data. In the first write operation, the sequencer executes a program loop repeatedly and terminates the first write operation, when the verify operation for the first data has passed and the verify operation for the second data has not passed. The sequencer performs a second write operation for the write data based on a first command from the memory controller after the first write operation is terminated.
    Type: Grant
    Filed: September 4, 2018
    Date of Patent: July 28, 2020
    Assignee: Toshiba Memory Corporation
    Inventors: Kuminori Hyodo, Kenji Sakurada, Masanobu Shirakawa, Hideki Yamada
  • Patent number: 10725692
    Abstract: A data storage method and an apparatus are provided in a distributed storage system including a computing node and a plurality of storage nodes. The computing node writes the N data slices and the M check slices into the R storage nodes in each storage node group to improve reliability and stability of data in a data center.
    Type: Grant
    Filed: December 26, 2018
    Date of Patent: July 28, 2020
    Assignee: HUAWEI TECHNOLOGIES CO., LTD.
    Inventor: Yanhui Zhong
  • Patent number: 10719267
    Abstract: Technology is described herein that provides a partial reset of a non-volatile memory controller. In one aspect, a non-volatile memory controller persists memory addresses of I/O queues across a partial reset of the non-volatile memory controller. The non-volatile memory controller may also persist a mapping between each I/O submission queue and a corresponding I/O completion queue across the partial reset. Persisting the addresses of the I/O queues and/or mappings alleviates the need for a host system and non-volatile memory controller to perform a lengthy process of sharing the addresses of the I/O queues and/or mappings.
    Type: Grant
    Filed: May 30, 2018
    Date of Patent: July 21, 2020
    Assignee: Western Digital Technologies, Inc.
    Inventors: Anindya Rai, Jameer Babasaheb Mulani, Devanathan Balasundaram
  • Patent number: 10712964
    Abstract: A leader replica of a replica host group of a distributed storage service is configured to replicate the leader replica and its associated one or more secondary replicas to create a duplicate host group comprising a duplicate leader replica and one or more duplicate secondary replicas. The leader replica may appoint the duplicate leader replica or another host as the leader of the duplicate host group. The leader replica may assign a subset of database keys to be served by the duplicate host group and forward data requests directed a key of the subset of keys assigned to the duplicate host group. The leader replica may further update a global key table of the distributed data storage system to direct data requests associated with the subset of database keys to the duplicate leader replica.
    Type: Grant
    Filed: May 24, 2018
    Date of Patent: July 14, 2020
    Assignee: Amazon Technologies, Inc.
    Inventor: Akhilesh Mritunjai
  • Patent number: 10712956
    Abstract: A management method for a storage system is disclosed. The storage system comprises a plurality of hard disks, the management method comprises dividing the plurality of hard disks into a hot storage group, a warm storage group and a cold storage group according to a first threshold and a second threshold; exchanging a first warm storage hard disk conforming to the first threshold in the warm storage group with a hot storage hard disk in the hot storage group in response to not conform to the first threshold; and exchanging a cold storage hard disk conforming to the second threshold in the cold storage group with a second warm storage hard disk in the warm storage group in response to conform to the second threshold.
    Type: Grant
    Filed: July 4, 2018
    Date of Patent: July 14, 2020
    Assignee: Wiwynn Corporation
    Inventors: Cheng-Kuang Hsieh, Chung-Fu Huang
  • Patent number: 10705970
    Abstract: An apparatus may include a circuit configured to determine a first encoded address is in a bitwise range of addresses, determine a first physical address in a storage memory from the first encoded address using bitwise mapping and retrieve first data from the first physical address in the storage memory. The circuit may further be configured to determine a second encoded address is in an offset linear range of addresses, determine a second physical address in the storage memory from the second encoded address using offset linear mapping and write second data to the second physical address in the storage memory.
    Type: Grant
    Filed: May 12, 2017
    Date of Patent: July 7, 2020
    Assignee: Seagate Technology LLC
    Inventors: Sundararajan Sankaranarayanan, Erich Franz Haratsch
  • Patent number: 10698635
    Abstract: There are provided a memory system and an operating method thereof. The memory system includes: a memory device divided into a plurality of name spaces; and a controller for controlling a program operation of the memory device in response to a write command, wherein the controller generates at least one data set based on input data, and controls the memory device to program the at least one data set in a select name space of the plurality of name spaces based on meta data included in the at least one data set.
    Type: Grant
    Filed: September 26, 2018
    Date of Patent: June 30, 2020
    Assignee: SK hynix Inc.
    Inventor: Yong Jin
  • Patent number: 10684780
    Abstract: Time sensitive data convolution and de-convolution is disclosed. Data stored in chunks of memory can be convolved, based on temporal aspects of the data stored on the chunks, to conserve used memory. Convolved chunks can be de-convolved according to several schema, wherein the schema are selected based temporal aspects of the original data blocks being determined to have satisfied one or more rule(s). In an aspect, the schema can reduce an amount of data transfer between data storage devices of different zones in regard to convolving or de-convolving data blocks. In an embodiment the convolution can comprise an ‘exclusive or’ operation of a first chunk and second chunk to form a third chunk, wherein the several chunks are stored in different zones.
    Type: Grant
    Filed: July 27, 2017
    Date of Patent: June 16, 2020
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Mikhail Danilov, Alexander Rakulenko
  • Patent number: 10684791
    Abstract: A remote agent for performing a backup of a virtual machine includes a persistent storage that stores backup policies and a backup manager that obtains a backup generation request for the virtual machine and, in response to the backup generation request, performs a component validation analysis of a production host that hosts the virtual machine to identify a backup state of the production host; makes a first determination, based on the backup state of the production host, that the production host is in a backup-enabled state; and, in response to the first determination, generates a backup of the virtual machine, using the backup policies, for storage in a backup storage; and validates that the backup of the virtual machine is stored in the backup storage based on a reduced size representation of the backup and a reduced size representation of a copy of the backup in the backup storage.
    Type: Grant
    Filed: September 26, 2018
    Date of Patent: June 16, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Pravin Kumar Ashokkumar, Aaditya Rakesh Bansal, Sudha Vamanraj Hebsur
  • Patent number: 10679705
    Abstract: A controller controls a semiconductor memory device including a plurality of memory blocks. The controller may include a controller control unit and a storing unit. The controller control unit compares the number of times of a read of an original memory block among the plurality of memory blocks with a predetermined copy generation reference value, determines whether to generate copy data of original data stored in the original memory block, and generates a command corresponding to the determination. The storage unit stores the copy generation reference value and address information about the original memory block.
    Type: Grant
    Filed: January 25, 2018
    Date of Patent: June 9, 2020
    Assignee: SK hynix Inc.
    Inventors: Geu Rim Lee, Young Gyun Kim
  • Patent number: 10671310
    Abstract: Direct data transfer between devices having a shared bus may be implemented with reduced involvement from a controller associated with the devices. A controller, a source memory device, and a target memory device may be coupled with a shared bus. The controller may identify a source address at the source memory device for data to be transferred to the target memory device. The controller also may identify a target address in the target memory device, and initiate a data transfer directly from the source to the target through a command that is received at both the source and the target memory device. In response to the command, the source memory device may read data out to the bus, and the target memory may read the data from the bus and store the data starting at the target address without further commands from the controller.
    Type: Grant
    Filed: December 27, 2017
    Date of Patent: June 2, 2020
    Assignee: Micron Technology, Inc.
    Inventors: Yihua Zhang, James Cooke
  • Patent number: 10671548
    Abstract: In some embodiments, a memory initialization detection process includes detecting a read instruction of a program, where the read instruction addresses a particular memory location, and where data corresponding to the particular memory location is cached in a particular cache line of a memory cache. The memory initialization detection process further includes determining, based on metadata stored in the memory cache, that a section of the particular cache line does not store valid data of the program. The memory initialization detection process further includes obtaining validity data from the section of the particular cache line. The memory initialization detection process further includes determining, based on the validity data, whether the read instruction is authorized to proceed.
    Type: Grant
    Filed: May 7, 2018
    Date of Patent: June 2, 2020
    Assignee: Oracle International Corporation
    Inventor: Darryl J. Gove