Patents by Inventor Manish Motwani

Manish Motwani has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10904337
    Abstract: A distributed storage network (DSN) includes a DSN memory and a distributed storage (DS) processing unit. The DS processing unit determines a particular revision of source data for persistence, and generates a protocol message associated with the particular revision of source data. The protocol message is generated based on a balance between durability and persistence associated with the particular revision. The protocol message is transmitted from the DS processing unit to the DSN memory, and indicates to the DSN memory a particular persistence protocol. The DSN memory process data slices corresponding to the particular revision of source data in accordance with the particular persistence protocol.
    Type: Grant
    Filed: June 28, 2019
    Date of Patent: January 26, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Ravi V. Khadiwala, Manish Motwani, Praveen Viraraghavan, Ilya Volvovski
  • Publication number: 20210019083
    Abstract: A method begins or continues by a computing device of a dispersed storage network (DSN) determining an error with a first write request in a first zone of a plurality of zones of a memory device of a storage unit of DSN, where the first zone includes a first set of sequential blocks that are in a first logical and physical location of the memory device. The method continues with the computing device abandoning pending write requests to the first zone. The method continues with reassigning the first write request to a second zone of the memory device, where the second zone includes a second set of sequential blocks that are in a second logical and physical location of the memory device.
    Type: Application
    Filed: July 17, 2019
    Publication date: January 21, 2021
    Inventors: Ying Z. Guo, Praveen Viraraghavan, Ilya Volvovski, Benjamin L. Martin, Manish Motwani, Andrew D. Baptist, Jordan H. Williams
  • Patent number: 10891068
    Abstract: A method for execution by a storage unit includes identifying, from a plurality of memory devices of the storage unit, a first memory device that is designated for storage of a first data slice to be written of the storage unit based on determining a slice name of the first data slice compares favorably to a namespace assigned to the first memory device. A function is performed on the slice name of the first data slice to identify a second memory device from the plurality of memory devices of the storage unit for temporary storage the first data slice in response to determining that the first memory device is unavailable and the first data slice is stored in the second memory device in response. The first data slice is migrated to storage in the first memory device in response to determining that the first memory device is available.
    Type: Grant
    Filed: June 3, 2019
    Date of Patent: January 12, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ying Z. Guo, Ilya Volvovski, Jason K. Resch, Manish Motwani, Ethan S. Wozniak, Praveen Viraraghavan
  • Patent number: 10884648
    Abstract: A method for execution by a storage unit includes identifying, from a plurality of memory devices of the storage unit, a first memory device that is designated for storage of a first data slice to be written of the storage unit based on determining a slice name of the first data slice compares favorably to a namespace assigned to the first memory device. A function is performed on the slice name of the first data slice to identify a second memory device from the plurality of memory devices of the storage unit for temporary storage the first data slice in response to determining that the first memory device is unavailable and the first data slice is stored in the second memory device in response. The first data slice is migrated to storage in the first memory device in response to determining that the first memory device is available.
    Type: Grant
    Filed: September 16, 2019
    Date of Patent: January 5, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ying Z. Guo, Ilya Volvovski, Jason K. Resch, Manish Motwani, Ethan S. Wozniak, Praveen Viraraghavan
  • Publication number: 20200379665
    Abstract: A method for execution by a storage unit includes identifying, from a plurality of memory devices of the storage unit, a first memory device that is designated for storage of a first data slice to be written of the storage unit based on determining a slice name of the first data slice compares favorably to a namespace assigned to the first memory device. A function is performed on the slice name of the first data slice to identify a second memory device from the plurality of memory devices of the storage unit for temporary storage the first data slice in response to determining that the first memory device is unavailable and the first data slice is stored in the second memory device in response. The first data slice is migrated to storage in the first memory device in response to determining that the first memory device is available.
    Type: Application
    Filed: June 3, 2019
    Publication date: December 3, 2020
    Inventors: Ying Z. Guo, Ilya Volvovski, Jason K. Resch, Manish Motwani, Ethan S. Wozniak, Praveen Viraraghavan
  • Publication number: 20200379666
    Abstract: A method for execution by a storage unit includes identifying, from a plurality of memory devices of the storage unit, a first memory device that is designated for storage of a first data slice to be written of the storage unit based on determining a slice name of the first data slice compares favorably to a namespace assigned to the first memory device. A function is performed on the slice name of the first data slice to identify a second memory device from the plurality of memory devices of the storage unit for temporary storage the first data slice in response to determining that the first memory device is unavailable and the first data slice is stored in the second memory device in response. The first data slice is migrated to storage in the first memory device in response to determining that the first memory device is available.
    Type: Application
    Filed: September 16, 2019
    Publication date: December 3, 2020
    Inventors: Ying Z. Guo, Ilya Volvovski, Jason K. Resch, Manish Motwani, Ethan S. Wozniak, Praveen Viraraghavan
  • Patent number: 10852957
    Abstract: A migration agent, which is part of a distributed storage network, identifies one or more data objects stored as sets of encoded data slices in a first storage pool, and determines, for each of those data objects, whether to migrate corresponding sets of encoded data slices from the first storage pool to another storage pool. For at least one of the data objects, the migration agent determines to migrate a set of encoded data slices, and issues a set of MoveSlice requests to storage units included in the first storage pool, from which the data slices will be migrated. In response to the MoveSlice requests, the migration agent receives MoveSlice responses from the storage units in the first storage pool. If a threshold number of favorable MoveSlice responses is received, the migration agent facilitates deletion of the migrated encoded data slices from the first storage pool.
    Type: Grant
    Filed: December 14, 2017
    Date of Patent: December 1, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Manish Motwani, Jason K. Resch, Andrew D. Baptist
  • Patent number: 10853173
    Abstract: A method begins by a processing module receiving a checked write slice request from a requesting entity. The method continues by determining that locally stored encoded data slices do not include the requested encoded data slice. The method continues by identifying an alternate location for the requested encoded data slice. The method continues by determining whether the alternate location is associated with storage of the encoded data slice. The method continues when the alternate location is associated with the storage of the encoded data slice, by issuing a favorable checked write slice response to a requesting entity. The method can include facilitating transfer of the requested encoded data slice from the alternate location to the storage unit for storage.
    Type: Grant
    Filed: April 3, 2019
    Date of Patent: December 1, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Asimuddin Kazi, Niall J. McShane, Manish Motwani, Michael J. Niedbala
  • Patent number: 10834196
    Abstract: A method for execution by a dispersed storage and task (DST) processing unit includes determining a first optimal slice size requirement is determined for a first independent data element (IDE). The first IDE is split into a first plurality of IDEs based on determining the first IDE compares unfavorably to the first optimal slice size requirement. An error coding function is performed on the first plurality of IDEs to produce a set of encoded slices for each of the first plurality of IDEs for transmission to storage units. A subset of additional IDEs are selected to be merged into a merged IDE based on a second optimal slice size requirement, and continuous content of the subset of additional IDEs is concatenated to produce the merged IDE. The error coding function is performed on the merged IDE to produce a second set of encoded slices for transmission to storage units.
    Type: Grant
    Filed: March 21, 2019
    Date of Patent: November 10, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason K. Resch, Ram Narayanan, Andrew D. Baptist, Praveen Viraraghavan, Wesley B. Leggette, Ethan S. Wozniak, Manish Motwani, Bart R. Cilfone, Greg R. Dhuse
  • Patent number: 10831600
    Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes identifying a plurality of pending operations. A resource availability level to support execution of at least one of the plurality of pending operations is determined, and a required resource level to execute the at least one of the plurality of pending operations is determined. A balance factor between at least two types of the plurality of pending operations is determined based on the resource availability level and the required resource level. Determination of required timing of the execution of the at least one of the plurality of pending operations is coordinated with at least one other DST execution unit. An operation execution schedule is updated based on the required resource levels, the resource availability level, the balance factor, and the required timing of the execution.
    Type: Grant
    Filed: April 21, 2020
    Date of Patent: November 10, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Ilya Volvovski, Bruno H. Cabral, Manish Motwani, Thomas D. Cocagne, Timothy W. Markison, Gary W. Grube, Wesley B. Leggette, Jason K. Resch, Michael C. Storm, Greg R. Dhuse, Yogesh R. Vedpathak, Ravi V. Khadiwala
  • Publication number: 20200334078
    Abstract: A method for execution by a request scheduler includes receiving a set of requests for execution from at least one request issuer. Resource requirements are determined for each of the set of requests, and current resource availability data is determined for resources indicated in the resource requirements. Scheduling data is generated for the set of requests based on the resource requirements and the current resource availability data. A first subset of the set of requests are added to a queue in response to the scheduling data indicating the first subset of the set of requests be queued for execution. Execution of the set of requests is facilitated in accordance with the scheduling data by facilitating immediate, simultaneous execution of a second subset of the set of requests and by facilitating serial execution of the first subset of the set of requests.
    Type: Application
    Filed: July 19, 2019
    Publication date: October 22, 2020
    Inventors: Anthony J. Baldocchi, Shaorong Liu, Jordan H. Williams, Ethan S. Wozniak, Manish Motwani, Ilya Volvovski
  • Publication number: 20200334077
    Abstract: A method for execution by a request scheduler includes receiving a set of requests for execution from at least one request issuer. Resource requirements are determined for each of the set of requests, and current resource availability data is determined for resources indicated in the resource requirements. Scheduling data is generated for the set of requests based on the resource requirements and the current resource availability data. A first subset of the set of requests are added to a queue in response to the scheduling data indicating the first subset of the set of requests be queued for execution. Execution of the set of requests is facilitated in accordance with the scheduling data by facilitating immediate, simultaneous execution of a second subset of the set of requests and by facilitating serial execution of the first subset of the set of requests.
    Type: Application
    Filed: April 22, 2019
    Publication date: October 22, 2020
    Inventors: Anthony J. Baldocchi, Shaorong Liu, Jordan H. Williams, Ethan S. Wozniak, Manish Motwani, Ilya Volvovski
  • Publication number: 20200304572
    Abstract: A method for execution by a dispersed storage and task (DST) processing unit includes determining a first optimal slice size requirement is determined for a first independent data element (IDE). The first IDE is split into a first plurality of IDEs based on determining the first IDE compares unfavorably to the first optimal slice size requirement. An error coding function is performed on the first plurality of IDEs to produce a set of encoded slices for each of the first plurality of IDEs for transmission to storage units. A subset of additional IDEs are selected to be merged into a merged IDE based on a second optimal slice size requirement, and continuous content of the subset of additional IDEs is concatenated to produce the merged IDE. The error coding function is performed on the merged IDE to produce a second set of encoded slices for transmission to storage units.
    Type: Application
    Filed: March 21, 2019
    Publication date: September 24, 2020
    Inventors: Jason K. Resch, Ram Narayanan, Andrew D. Baptist, Praveen Viraraghavan, Wesley B. Leggette, Ethan S. Wozniak, Manish Motwani, Bart R. Cilfone, Greg R. Dhuse
  • Publication number: 20200304573
    Abstract: A method for execution by a dispersed storage and task (DST) processing unit includes determining a first optimal slice size requirement is determined for a first independent data element (IDE). The first IDE is split into a first plurality of IDEs based on determining the first IDE compares unfavorably to the first optimal slice size requirement. An error coding function is performed on the first plurality of IDEs to produce a set of encoded slices for each of the first plurality of IDEs for transmission to storage units. A subset of additional IDEs are selected to be merged into a merged IDE based on a second optimal slice size requirement, and continuous content of the subset of additional IDEs is concatenated to produce the merged IDE. The error coding function is performed on the merged IDE to produce a second set of encoded slices for transmission to storage units.
    Type: Application
    Filed: September 16, 2019
    Publication date: September 24, 2020
    Inventors: Jason K. Resch, Ram Narayanan, Andrew D. Baptist, Praveen Viraraghavan, Wesley B. Leggette, Ethan S. Wozniak, Manish Motwani, Bart R. Cilfone, Greg R. Dhuse
  • Publication number: 20200225881
    Abstract: A method for execution by a storage unit in a dispersed storage network (DSN) includes selecting a storage zone of a memory device of the storage unit based on zone allocation parameters, and designating the selected storage zone as open for writes. A data slice is received via a network for storage. The data slice is written sequentially at a memory location of the one of storage zone based on determining that the storage zone is designated as open for writes. A pointer corresponding to the data slice that indicates the storage zone and the memory location is generated. A read request is received via the network from a requesting entity that indicates the data slice. The data slice is retrieved from the memory device based on the pointer, and is transmitted to the requesting entity.
    Type: Application
    Filed: March 30, 2020
    Publication date: July 16, 2020
    Inventors: Andrew D. Baptist, Manish Motwani, Praveen Viraraghavan, Ilya Volvovski
  • Patent number: 10693640
    Abstract: Systems and Methods for encrypting and decrypting data in a dispersed storage network are disclosed. A data object may be encrypted using a data object specific encryption key, a container specific encryption key, a tenant account specific encryption key, or a time based encryption key. This specific, or more generally, secondary encryption key can be derived from a master or primary encryption key. Encryption key metadata pertaining to the master encryption key and the specific encryption key is also created and stored in the DSN. When reading an encrypted data object, the master encryption key can be retrieved and, along with the encryption key metadata, used to derive the specific encryption key. The specific encryption key can then be used to decrypt the encrypted data object to recover the data object.
    Type: Grant
    Filed: March 17, 2017
    Date of Patent: June 23, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Adam M. Gray, Harsha Hegde, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Daniel J. Scholl, Mark D. Seaborn, Rohan P. Shah, Yogesh R. Vedpathak
  • Patent number: 10678642
    Abstract: A method begins by a processing module determining, by a first storage unit, that a storage growth rate is unfavorable for the first storage unit over an estimated time frame of reallocating at least a portion of encoded data slices stored in the first storage unit to one or more additional storage units. The method continues with the processing module when the storage growth rate is unfavorable, selecting an unfavorable growth rate abatement approach to include prioritizing new deletes and outgoing allocations such that estimated required storage capacity is less than available storage capacity of the first storage unit for the estimated time frame of the reallocation of the at least a portion of encoded data slices. The method continues with the processing module facilitating implementation of the unfavorable growth rate abatement approach.
    Type: Grant
    Filed: August 21, 2018
    Date of Patent: June 9, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Bart R. Cilfone, Ravi V. Khadiwala, Niall J. McShane, Manish Motwani, Jason K. Resch, Shikha Shree
  • Patent number: 10678462
    Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes generating location weight data that includes a plurality of location weights assigned to a plurality of memory devices of the DST execution unit. A first one of the plurality of memory devices and a second one of the plurality of memory devices are selected for reallocation based on the location weight data. The reallocation is executed by removing a data slice from the first one of the plurality of memory devices and storing the data slice in the second one of the plurality of memory devices.
    Type: Grant
    Filed: January 28, 2019
    Date of Patent: June 9, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew D. Baptist, Ravi V. Khadiwala, Manish Motwani, Jason K. Resch, Trevor J. Vossberg, Ethan S. Wozniak
  • Patent number: 10678622
    Abstract: Monitoring the health status of a distributed storage network (DSN) and scheduling maintenance tasks relating to identified memory failures. In various examples, monitoring the health status of the DSN can include obtaining status information regarding storage units of the DSN and, based thereon, determining that memory of one or more of the storage units requires repair. Physical locations for identified storage units are determined, as well as the level of data loss risk associated with encoded data stored in the storage units. Based on this information, a repair plan is generated for and issued to the identified storage units. A repair plan may include, for example, an ordered list of maintenance tasks that are prioritized to balance data loss risk considerations with repair effort efficiency considerations. The maintenance tasks may be mapped to available service operators for performing the desired repairs (e.g., based on physical locations of the storage units).
    Type: Grant
    Filed: February 7, 2017
    Date of Patent: June 9, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Manish Motwani, Jason K. Resch
  • Patent number: 10681138
    Abstract: A method begins by a processing module of a dispersed storage network (DSN) receiving content from a data source for storage in the DSN. The method continues with the processing module transforming the content into a plurality of formats of a set of set of formats according to a formatting scheme and dispersed storage error encoding each format of the plurality formats to produce a corresponding plurality of sets of encoded data slices. The method continues with the processing module generating a logical address for each format, and generating a corresponding plurality of sets of slice names for each logical address. The method continues with the processing unit facilitating storage of the corresponding set of encoded data slices in a set of storage units using the corresponding plurality of sets of slice names.
    Type: Grant
    Filed: November 15, 2018
    Date of Patent: June 9, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: S. Christopher Gladwin, Jason K. Resch, Manish Motwani