Patents Examined by Adam M Queler
  • Patent number: 10289563
    Abstract: For efficient reclamation of pre-allocated direct memory access (DMA) memory in a computing environment, hot-add random access memory (RAM) is emulated for a general purpose use by reclamation of pre-allocated DMA memory reserved at boot time by notifying a non-kernel use device user that the non-kernel use device has a smaller window, stopping and remapping to the smaller window, and notifying a kernel that new memory has been added, wherein the new memory is a region left after the remap. The hot-add RAM is split into at least two continuous parts.
    Type: Grant
    Filed: January 17, 2017
    Date of Patent: May 14, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Shay H. Akirav, Oren Bar, Roman Barsky, Itay Maoz
  • Patent number: 10254997
    Abstract: A backup and archival policy method, system, and non-transitory computer readable medium, includes harnessing of metrics of data classification including both operational data and backup data from an end-to-end stack from a backup Information Lifecycle Governance (ILM) viewpoint.
    Type: Grant
    Filed: August 2, 2016
    Date of Patent: April 9, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Carmen P. Allen, Jarir Kamel Chaar, Bernhard Julius Klingenberg, Radha P. Ratnaparkhi, Robert Michael Rees, Ramani Ranjan Routray, Dinesh C. Verma
  • Patent number: 10254964
    Abstract: A system and method for efficiently maintaining metadata stored among a plurality of solid-state storage devices. A data storage subsystem supports multiple mapping tables. Records within a mapping table are arranged in multiple levels. Each level stores at least pairs of a key value and a physical pointer value. The levels are sorted by time. New records are inserted in a created new highest (youngest) level. No edits are performed in-place. A data storage controller determines both a cost of searching a given table exceeds a threshold and an amount of memory used to flatten levels exceeds a threshold. In response, the controller incrementally flattens selected levels within the table based on key ranges. After flattening the records in the selected levels within the key range, the records may be removed from the selected levels. The process repeats with another different key range.
    Type: Grant
    Filed: April 30, 2018
    Date of Patent: April 9, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Marco Sanvido, Richard Hankins, Mark McAuliffe, Neil Vachharajani
  • Patent number: 10248362
    Abstract: Managing data stored in at least one Data Storage Device (DSD) includes generating a Linear Tape File System (LTFS) write or read command including an LTFS block address. The generated LTFS command is for writing or reading data in an LTFS data partition, writing or reading metadata in the LTFS data partition, or writing or reading metadata in an LTFS index partition. The LTFS block address is translated to a device address for the at least one DSD using state metadata representing a state of the LTFS data partition and/or a state of the LTFS index partition. The data or the metadata is written or read in the at least one DSD at the device address.
    Type: Grant
    Filed: July 17, 2017
    Date of Patent: April 2, 2019
    Assignee: Western Digital Technologies, Inc.
    Inventors: James N. Malina, Albert H. Chen
  • Patent number: 10235288
    Abstract: Systems and techniques for cache management are disclosed that provide improved cache performance by prioritizing particular storage stripes for cache flush operations. The systems and techniques may also leverage features of the storage devices to provide atomicity without the overhead of inter-controller mirroring. In some embodiments, the systems and techniques include a storage controller that stores data in a cache. The data is associated with one or more sectors of a storage stripe that is defined over plurality of storage devices. The storage controller identifies a locality of dirty sectors of the one or more sectors, classifies the storage stripe into a category based on the locality, provides a category ordering of the category relative to at least one other category, and flushes the storage stripe from the cache to the plurality of storage devices according to the category ordering.
    Type: Grant
    Filed: October 2, 2015
    Date of Patent: March 19, 2019
    Assignee: NETAPP, INC.
    Inventors: Arindam Banerjee, Donald R Humlicek, Scott Terrill
  • Patent number: 10235085
    Abstract: A method for execution by a dispersed storage and task (DST) processing unit that includes a processor includes generating storage unit heat data based on a plurality of temperature readings received from each of a plurality of storage units, where the storage unit heat data indicates a first hot storage unit. A pair of storage units is selected from the plurality of storage units based on the storage unit heat data, where the pair of storage units includes the first hot storage unit and a second storage unit. A data swap request is generated for transmission to the pair of storage units, where the data swap request includes an instruction to transfer at least one first data slice from the first hot storage unit to the second storage unit and to transfer at least one second data slice from the second storage unit to the first hot storage unit.
    Type: Grant
    Filed: June 27, 2016
    Date of Patent: March 19, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Teague S. Algie, Andrew G. Peake
  • Patent number: 10216412
    Abstract: Operating a data processing system including producing data in the form of plural blocks of data, where each block of data represents a particular region of an output data array, storing the data in a memory of the data processing system, and reading the data from the memory in the form of lines. Storing the data in the memory comprises storing each block of data of a first row of blocks of data in the memory at one or more memory addresses of a first set of memory addresses of a sequence of memory addresses for the memory, and storing each block of data of a second row of blocks of data in the memory at one or more memory addresses of a second set of different memory addresses of the sequence of memory addresses for the memory.
    Type: Grant
    Filed: February 14, 2017
    Date of Patent: February 26, 2019
    Assignee: Arm Limited
    Inventor: Sharjeel Saeed
  • Patent number: 10191858
    Abstract: A hypervisor receives, from a guest virtual machine, a request to disable access to a memory range. The hypervisor disables access to the memory range. The hypervisor detects a prohibited access attempt. The prohibited access attempt is an access attempt to the memory range. Responsive to detecting the prohibited access attempt, the hypervisor stops the guest virtual machine. The hypervisor receives a request to reboot the guest virtual machine. The hypervisor reboots the guest virtual machine. Responsive to rebooting the guest virtual machine, the hypervisor enables access to the memory range.
    Type: Grant
    Filed: November 25, 2015
    Date of Patent: January 29, 2019
    Assignee: Red Hat Israel, Ltd.
    Inventor: Michael Tsirkin
  • Patent number: 10185494
    Abstract: A method for managing a storage system includes: providing at least one heartbeat monitoring path between a set of expander control circuits within an expansion module in the storage system, for transmitting at least one of a plurality of heartbeat monitoring signals for a set of management modules in the storage system, wherein the expansion module is utilized for installing a set of shared storage devices, and each shared storage device within the set of shared storage devices is coupled to the set of expander control circuits, respectively, to allow the management modules to control the set of shared storage devices through the expander control circuits, respectively. The method further includes performing heartbeat monitoring according to the heartbeat monitoring signals, for at least one of the management modules to perform high availability management on shared storage devices and selectively take over management of non-shared components.
    Type: Grant
    Filed: May 24, 2016
    Date of Patent: January 22, 2019
    Assignee: Synology Incorporated
    Inventors: Chi-Lei Ho, Shih-Kai Tsai
  • Patent number: 10152266
    Abstract: The disclosed computer-implemented method for providing data backup services in a virtual environment may include (1) identifying a data path used to transfer, via a storage area network, backup data between a client system and a host operating system of a backup server, (2) establishing communication between the host operating system and a backup agent on a guest operating system of the backup server, and (3) extending the data path to the guest operating system by facilitating data transfer between the host operating system and the backup agent of the guest operating system such that the backup data is transferred between the client system and the backup agent of the guest operating system. Various other methods, systems, and computer-readable media are also disclosed.
    Type: Grant
    Filed: July 28, 2014
    Date of Patent: December 11, 2018
    Assignee: Veritas Technologies LLC
    Inventors: Yingsong Jia, Zhi Su, William Browning
  • Patent number: 10140020
    Abstract: A method for transferring messages from a producer element to a consumer element uses a memory shared between the producer element and the consumer element, and a hardware queue including several registers designed to contain addresses of the shared memory. The method includes the steps of storing each message for the consumer element in the shared memory in the form of a node of a linked list, including a pointer to a next node in the list, the pointer being initially void, writing successively the address of each node in a free slot of the queue, whereby the node identified by each slot of the queue is the first node of a linked list assigned to the slot, and when the queue is full, writing the address of the current node in memory, in the pointer of the last node of the linked list assigned to the last slot of the queue, whereby the current node is placed at the end of the linked list assigned to the last slot of the queue.
    Type: Grant
    Filed: February 28, 2017
    Date of Patent: November 27, 2018
    Assignee: STMicroelectronics (Grenoble 2) SAS
    Inventors: Gilles Pelissier, Jean-Philippe Cousin, Badr Bentaybi
  • Patent number: 10133508
    Abstract: A computer-implemented method for enhancing data protection is disclosed. The method starts with monitoring an operating status of a storage volume at a primary storage of a storage system, where the storage volume is allocated to one or more applications. The method continues with determining whether the operating status of the storage volume satisfies a predetermined condition and notifying a backup application to trigger a backup of the storage volume of the primary storage to a backup storage upon determining that the operating status of the storage volume satisfies the first predetermined condition.
    Type: Grant
    Filed: June 13, 2014
    Date of Patent: November 20, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Stephen D. Smaldone, Jian Xing, Hyong Shim
  • Patent number: 10127166
    Abstract: Techniques are disclosed relating to processing data in a storage controller. In one embodiment, a method includes receiving data at a storage controller of a storage device. The method further includes processing data units of the data in parallel via a plurality of write pipelines in the storage controller. The method further includes writing the data units to a storage medium of the storage device. In some embodiments, the method may include inserting header information into the data for a plurality of data units before processing, and the header information may include sequence information. In some embodiments, writing the data units may include writing according to a sequence determined prior to processing the data units.
    Type: Grant
    Filed: April 16, 2014
    Date of Patent: November 13, 2018
    Assignee: SanDisk Technologies LLC
    Inventor: James G. Peterson
  • Patent number: 10114757
    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, 2015
    Date of Patent: October 30, 2018
    Assignee: Pure Storage, Inc.
    Inventors: John Hayes, Shantanu Gupta, John Davis, Brian Gold, Zhangxi Tan
  • Patent number: 10083122
    Abstract: Subject matter disclosed herein relates to techniques to perform transactions using a memory device.
    Type: Grant
    Filed: August 10, 2015
    Date of Patent: September 25, 2018
    Assignee: Micron Technology, Inc.
    Inventor: Sean Eilert
  • Patent number: 10083737
    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: June 26, 2017
    Date of Patent: September 25, 2018
    Assignee: Intel Corporation
    Inventors: Kuljit S. Bains, John B. Halbert
  • Patent number: 10073780
    Abstract: Systems and methods for tracking addresses stored in non-home locations in a cache. A method includes determining if an address that is to be stored in a cache is to be stored in a non-home location, determining if a directory has a location available for storing an identifier of the non-home location and if one or more locations of the directory are available for storing an identifier of the non-home location, storing an identifier of the non-home location in one of the one or more locations of the directory. The method further includes invalidating a non-home location in the cache that corresponds to one of the one or more locations of the directory, if none of the one or more locations of the directory are available for storing an identifier of the non-home location, and storing an identifier of the non-home location in the one of the one or more locations.
    Type: Grant
    Filed: October 15, 2014
    Date of Patent: September 11, 2018
    Assignee: Intel Corporation
    Inventor: Karthikeyan Avudaiyappan
  • Patent number: 10039492
    Abstract: In one aspect of the present disclosure, a method involves obtaining, by a body-mountable device, sensor data, where the body-mountable device includes a data storage. The method further involves making a determination that each condition in a condition set has been satisfied. In addition, the method involves responsive to making the determination that each condition in the condition set has been satisfied, storing the obtained sensor data in the data storage.
    Type: Grant
    Filed: June 13, 2014
    Date of Patent: August 7, 2018
    Assignee: Verily Life Sciences, LLC
    Inventors: Daniel James Yeager, Brian Otis
  • Patent number: 10007438
    Abstract: A computing device having interface, memory, and processing module, transmits write requests for a set of encoded data slices to storage units (SUs) of a dispersed storage network (DSN) based on a write request process and to receive proposal records for a subset of the set of encoded data slices from at least some of the SUs. The computing device interprets the proposal records to determine whether it or any another computing device has a threshold number of its respective write requests in a first priority position in the ordered list of pending write requests. When no computing device has the threshold number, the computing device determines whether any computing device can be blacklisted and/or eliminated and whether a winner of the ballot can be determined after such determination. When a winner is determined, the computing device transmits finalize commands to the storage units.
    Type: Grant
    Filed: June 25, 2016
    Date of Patent: June 26, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Greg R. Dhuse, Ravi V. Khadiwala, Ethan S. Wozniak
  • Patent number: 9971696
    Abstract: A file-system filter driver is attached to each cache volume containing a cache and a source volume containing a source file. The file-system filter driver intercepts requests and may redirect the requests to the cache. The redirection may be based on metadata information corresponding to the file or folder associated with a given request. Redirection to the cache prevents an application or user from directly accessing or modifying the source volume, which may be shared among multiple client devices. Redirecting requests to the cache also permits user-specific modifications to be stored in the cache. A merged view of the source volume and the cache may then be presented to the user or an application, reflecting the user-specific modifications without affecting the source volume.
    Type: Grant
    Filed: September 17, 2015
    Date of Patent: May 15, 2018
    Assignee: Dell Products L.P.
    Inventors: Sergii Liashenko, Puneet Kaushik, Rushikesh P. Patil, Satya Mylvara