Patents Examined by Tracy Chan
  • Patent number: 10067981
    Abstract: A framework for intelligent memory replacement of loaded data blocks by requested data blocks is provided. For example, various factors are taken into account to optimize the selection of loaded data blocks to be discarded from the memory, in favor of the requested data blocks to be loaded into the memory. In some implementations, correlations between the requested data blocks and the loaded data blocks are used to determine which of the loaded data blocks may become candidates to be discarded from memory.
    Type: Grant
    Filed: November 21, 2014
    Date of Patent: September 4, 2018
    Assignee: SAP SE
    Inventors: Nairu Fan, Tianyu Luwang, Conglun Yao, Wen-Syan Li
  • Patent number: 10049061
    Abstract: Embodiments relate to loading and storing of data. An aspect includes a method for transferring data in an active memory device that includes memory and a processing element. An instruction is fetched and decoded for execution by the processing element. Based on determining that the instruction is a gather instruction, the processing element determines a plurality of source addresses in the memory from which to gather data elements and a destination address in the memory. One or more gathered data elements are transferred from the source addresses to contiguous locations in the memory starting at the destination address. Based on determining that the instruction is a scatter instruction, a source address in the memory from which to read data elements at contiguous locations and one or more destination addresses in the memory to store the data elements at non-contiguous locations are determined, and the data elements are transferred.
    Type: Grant
    Filed: November 12, 2012
    Date of Patent: August 14, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bruce M. Fleischer, Thomas W. Fox, Hans M. Jacobson, James A. Kahle, Jaime H. Moreno, Ravi Nair
  • Patent number: 10042564
    Abstract: A method begins by a plurality of storage units of a dispersed storage network (DSN) receiving updated properties of DSN memory. The method continues with a first storage unit and a second storage unit establishing a migration pairing and establishing a storage migration mechanism for migrating storage of data between the first and second storage units. While migrating the storage of data using the storage migration mechanism, the method continues with the first or the second storage unit receiving a data access request regarding data effected by the migrating the storage of data, determining status of the migrating storage of data, and determining which of the first and second storage units is to process the data access request based on the status to produce a determined storage unit. The method continues with the determined storage unit processing the data access request.
    Type: Grant
    Filed: May 8, 2015
    Date of Patent: August 7, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Manish Motwani, Wesley Leggette, Andrew Baptist
  • Patent number: 10042751
    Abstract: Example embodiments of the present invention relate to a method, a system, and a computer program product for tiering metadata. The method includes selecting a consecutive range of addresses of a logical device having a parent data structure associated therewith maintaining a first set of hash values at a first granularity of the logical device. A second hash value then may be calculated over the consecutive range of addresses of the logical device at a second granularity of the logical device and inserted into a child data structure associated with the parent data structure. Entries in the parent data structure at the first granularity for the consecutive range of addresses then may be freed in favor of the second hash value at the second granularity for the consecutive range of addresses inserted into the child data structure, for storing hash values for other addresses of the logical device.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: August 7, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Alexandr Veprinsky, Assaf Natanzon, Saar Cohen, Arieh Don
  • Patent number: 10013551
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for determining where to store a version of an object in an isolated environment. In one aspect, a method include actions of obtaining, from a process running in an isolated environment, a request to access an object and determining a frequency that changes to a version of the object stored in the isolated environment will be mapped back to a version of the object stored in the non-isolated environment. Additional actions include determining, based on the frequency that changes to a version of the object stored in the isolated environment are mapped back to a version of the object stored in the non-isolated environment, whether to store the version of the object in primary memory associated with the isolated environment or secondary memory associated with the isolated environment.
    Type: Grant
    Filed: August 24, 2015
    Date of Patent: July 3, 2018
    Assignee: Accenture Global Services Limited
    Inventor: Amin Hassanzadeh
  • Patent number: 10013174
    Abstract: A plurality of mapping systems are maintained for mapping logical addresses for data stored in a Data Storage Device (DSD) to physical addresses for locations in at least one memory of the DSD that store the data. Data is received from a host for storage in the at least one memory, and the received data is stored in a location in the at least one memory. A mapping system is selected from the plurality of mapping systems for mapping the received data based on information provided by the host for the received data or based on information determined by the controller for the received data.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: July 3, 2018
    Assignee: Western Digital Technologies, Inc.
    Inventor: Robert Lynn Horn
  • Patent number: 10007549
    Abstract: An apparatus and method are described for a hardware transactional memory (HTM) profiler. For example, one embodiment of an apparatus comprises a transactional debugger (TDB) recording module to record data related to the execution of transactional memory program code, including data related to the execution of branches and transactional events in the transactional memory program code; and a profiler to analyze portions of the recorded data using trace-based replay techniques to responsively generate profile data comprising transaction-level events and function-level conflict data usable to optimize the transactional memory program code.
    Type: Grant
    Filed: December 23, 2014
    Date of Patent: June 26, 2018
    Assignee: Intel Corporation
    Inventors: Justin E. Gottschlich, Gilles A. Pokam, Shiliang Hu
  • Patent number: 9996304
    Abstract: The present invention provides a data storage device including a flash memory, a plurality of counting control arrays and a controller. The flash memory includes a plurality of chips, each chip has a plurality of pages arranged to be assembled into a super block according to a predetermined order, and each of the super blocks includes the pages of the different chips. The controller keeps the value of a first field of a first counting control array corresponding to a first chip required to be read and writes a second value into the other fields except for the first field of the first counting control array when the first field is a first value, and writes the first value into the first field and keeps the values of the other fields of the first counting control array when the first field is the second value.
    Type: Grant
    Filed: March 2, 2016
    Date of Patent: June 12, 2018
    Assignee: SILICON MOTION, INC.
    Inventors: Kuan-Lin Chen, Wu-Chi Kuo
  • Patent number: 9996289
    Abstract: Embodiments of the present disclosure provide a method and apparatus for assigning lock resources to objects by obtaining a first alternative lock for the object, and determining first correlations between the object and each of one or more other objects when the first alternative lock has been assigned to the one or more other objects, wherein in response to determining that each of the first correlations is lower than a predetermined threshold, assign the first alternative lock to the object, and may maximize the possibility of parallel execution and reduce the time waiting for lock resources, thereby avoiding lock contention.
    Type: Grant
    Filed: October 15, 2015
    Date of Patent: June 12, 2018
    Assignee: EMC IP HOLING COMPANY LLC
    Inventors: Walter Lei Wang, Matt Zhu Zhang, Gang Cao, Ren Ren, Xiangqing Yang
  • Patent number: 9990302
    Abstract: A tag memory and a cache system with automating tag comparison mechanism and a cache method thereof are provided. The tag memory in the cache system includes a memory cell array, sensing amplifiers and a tag comparison circuit. The memory cell array stores cache tags, and outputs row tags of the cache tags according to an index in a memory address. The sensing amplifiers perform signal amplifications on the row tags to serve as comparison tags. The tag comparison circuit performs parallel comparisons between a target tag in the memory address and the row tags. When one of the row tags matches the target tag, the tag comparison circuit outputs a location of the matched row tag to serve as a first column address. The first column address is a column address where the memory address corresponds to a first data memory in the cache system.
    Type: Grant
    Filed: May 25, 2016
    Date of Patent: June 5, 2018
    Assignee: National Chiao Tung University
    Inventors: Tien-Fu Chen, Meng-Fan Chang, Keng-Hao Yang
  • Patent number: 9990279
    Abstract: According to one embodiment, a method includes assigning a subset of physical pages within a block of non-volatile memory to a pseudo-physical block, wherein a number of pages in the pseudo-physical block is less than a number of physical pages within the non-volatile memory block, and reassigning physical pages within the block of non-volatile memory to the pseudo-physical block upon occurrence of an event. The assigning includes: determining a health metric for each of the physical pages within the block of non-volatile memory, and selecting a subset of the physical pages for assignment to the pseudo-physical block based on the health metric. Moreover, the subset of pages has a fixed size for at least a number of reassignments.
    Type: Grant
    Filed: December 23, 2014
    Date of Patent: June 5, 2018
    Assignee: International Business Machines Corporation
    Inventors: Charles J. Camp, Thomas Mittelholzer, Nikolaos Papandreou, Thomas Parnell, Charalampos Pozidis
  • Patent number: 9983822
    Abstract: The method generates a first deduplication map (DDM) level of a DDM pyramid. The DDM pyramid identifies locations of data stored in the persistent storage resource of the deduplication system. The method further determines a first false positive rate target for a first index summary (IS) level of an index pyramid based on a memory footprint for the first IS level and an aggregate false positive rate target for the index pyramid. The first IS level accelerates lookup into the first DDM level. The first false positive rate target indicates a rate that a hit for a value found in the first IS level is not found in the first DDM level. The method also generates the first IS level with a first false positive rate based on the determined first false positive rate target.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: May 29, 2018
    Assignee: PURE STORAGE, INC.
    Inventors: Ronald Karr, Ethan L. Miller, Cary A. Sandvig, Feng Wang, Wei Zhang
  • Patent number: 9983942
    Abstract: A technique for providing access to a data object serving as a target of snapshot-shipping replication includes taking a system snap of the data object after completion of each of multiple snapshot-shipping updates. In response to receiving a request to take a user snap of the data object, a data storage system redirects the request to a previously generated system snap, so that the data storage system takes the user snap of the system snap rather than taking the user snap of the data object itself.
    Type: Grant
    Filed: March 11, 2015
    Date of Patent: May 29, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Nagapraveen V. Seela, Michael C. Brundage, Yan Xu
  • Patent number: 9983796
    Abstract: The disclosed computer-implemented method for provisioning frequently used image segments from caches may include (1) storing a representation and a use counter for an image segment that is hosted on a storage system in a list of representations and use counters for image segments hosted on the storage system, (2) incrementing a current value of the use counter for the image segment in the list of representations and use counters each time the image segment is provisioned from the storage system, (3) determining that the current value of the use counter for the image segment has met a predetermined threshold for frequent image-segment provisioning, (4) hosting the image segment in a cache that enables quicker provisioning than the storage system enables, and (5) provisioning the image segment from the cache in response to a request to provision the image segment. Various other methods, systems, and computer-readable media are also disclosed.
    Type: Grant
    Filed: September 17, 2015
    Date of Patent: May 29, 2018
    Assignee: Veritas Technologies LLC
    Inventors: Yong Yang, Weibao Wu
  • Patent number: 9983807
    Abstract: Storage system characteristics are processed to generate a service level for a storage system that is one of a fixed number of service levels. Application specific usage tags describing application types the storage system is appropriate to support may also be generated. The service level and application specific usage tags are stored into a storage system capability profile and made available, together with any metadata needed to describe the application specific usage tags, to a system associated with a virtualization environment. A request to provision storage resources for a virtual machine is subsequently received, including a policy profile having a requested service level and one or more application specific usage tags describing the storage requirements of the virtual machine. If the policy profile matches the capability profile, storage resources are provisioned for the virtual machine from the storage system.
    Type: Grant
    Filed: March 30, 2015
    Date of Patent: May 29, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Dmitry Nikolayevich Tylik, Sergey Alexandrovich Alexeev, Alexey Vladimirovich Shusharin, Alexander Nickolaevich Alexeev, Karl M. Owen, Wadah Sayyed
  • Patent number: 9928183
    Abstract: Proving for a framework for propagating priorities to a memory subsystem in a computing system environment is disclosed herein. By way of example, a memory access handler is provided for managing memory access requests and determining associated priorities. The memory access handler includes logic configured for propagating memory requests and the associated priorities to lower levels of a computer hierarchy. A memory subsystem receives the memory access requests and the priorities.
    Type: Grant
    Filed: September 26, 2014
    Date of Patent: March 27, 2018
    Assignee: Ampere Computing LLC
    Inventors: Kjeld Svendsen, Millind Mittal, Gaurav Singh
  • Patent number: 9928142
    Abstract: Systems, methods, and computer program products to perform an operation comprising determining, by a processor, a process identifier of a process associated with a page fault based on an interrupt source number, wherein the page fault was triggered by a coherent accelerator, executing the process on the processor to recreate the page fault on the processor, and resolving the page fault by an operating system executing on the processor.
    Type: Grant
    Filed: November 10, 2015
    Date of Patent: March 27, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Vishal C. Aslot, Bruce Mealey, Mark D. Rogers, Randal C. Swanberg
  • Patent number: 9904600
    Abstract: The present invention provides a mechanism for generating an initial copy in replication initialization. A request is received to replicate a source volume from a source node to a target node so as to generate the initial copy of the source volume in the target node. With respect to a current source data block of at least one source data block contained in the source volume, a search in the target node is performed for a target data block corresponding to the current source data block. Responsive to identifying the target data block, the initial copy of the source volume in the target node is updated using the target data block with the information from the current source data block.
    Type: Grant
    Filed: August 5, 2015
    Date of Patent: February 27, 2018
    Assignee: International Business Machines Corporation
    Inventors: Ye Chen, Ruo Meng Hao, Ke Zhao Li, Shu Xi Wei
  • Patent number: 9880909
    Abstract: Processes are disclosed for embodiments of a caching system to utilize a snapshot file or other limited size data structure to store a portion of the data stored in a cache. The snapshot file can be stored on persistent or otherwise non-transitory storage so that, even in case of a restart, crash or power loss event, the data stored in the snapshot file persists and can be used by the caching system after starting up. The snapshot file can then be used to restore at least some data into the cache in cases where the cached data in the cache is lost. For example, in cases of a cold-start or restart, the caching system can load data from the snapshot file into the empty cache. This can increase the number of cache hits since the cache is repopulated with useful data at startup.
    Type: Grant
    Filed: May 19, 2016
    Date of Patent: January 30, 2018
    Assignee: Amazon Technologies, Inc.
    Inventors: Vishal Parakh, Antoun Joubran Kanawati
  • Patent number: 9817581
    Abstract: Various embodiments are directed to maintaining versions of data within a solid state memory. At least one request to write at least one dataset to a logical page of a solid state memory is received from a file system. At least one physical page in a data block of the solid state memory associated with the logical page is identified. A processor stores the dataset in the at least one physical page. At least one data versioning tag is associated with the at least one dataset in a data structure associated with the logical page. The data versioning tag identifies the at least one dataset as a given version of the logical page. The at least one dataset is maintained as accessible from the at least one physical page irrespective of subsequent write operations to the logical page in response to associating the at least one data versioning tag.
    Type: Grant
    Filed: January 18, 2017
    Date of Patent: November 14, 2017
    Assignee: International Business Machines Corporation
    Inventors: Gokul B. Kandiraju, Hubertus Franke, David Craft