Patents by Inventor Praveen Viraraghavan
Praveen Viraraghavan 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).
-
Publication number: 20200379666Abstract: 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: ApplicationFiled: September 16, 2019Publication date: December 3, 2020Inventors: Ying Z. Guo, Ilya Volvovski, Jason K. Resch, Manish Motwani, Ethan S. Wozniak, Praveen Viraraghavan
-
Publication number: 20200363979Abstract: A computer-implemented method includes receiving a plurality of storage requests to store a plurality of objects in a dispersed storage network. The computer-implemented method further includes transforming each object in the plurality of objects into a set of error encoded slices. The computer-implemented method further includes dispersing each error encoded slice in each set of error encoded slices to a memory zone of a distinct storage unit. The computer-implemented method further includes co-locating two or more error encoded slices in a common memory zone of a storage unit based, at least in part, on an expiry time associated with the two or more encoded slices. The computer-implemented method further includes logically deleting the common memory zone of the storage unit after all error encoded slices stored in the common memory zone have expired.Type: ApplicationFiled: May 14, 2019Publication date: November 19, 2020Inventors: Praveen Viraraghavan, Ethan Wozniak, Amit Lamba
-
Patent number: 10834196Abstract: 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: GrantFiled: March 21, 2019Date of Patent: November 10, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: 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: 10831378Abstract: A method for use in a dispersed storage network (DSN) includes receiving a data access request at a DSN memory that controls storage of encoded data slices in multiple storage units. The data access request is capable of being serviced using either of at least two different storage units. The DSN memory determines wear levels associated with the two different storage units, and selects one of them as a preferred storage unit based, at least in part, on the wear levels. The DSN memory fulfills the data access request using the preferred storage unit.Type: GrantFiled: September 24, 2018Date of Patent: November 10, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Trent W. Johnson, Praveen Viraraghavan, Ilya Volvovski
-
Publication number: 20200304573Abstract: 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: ApplicationFiled: September 16, 2019Publication date: September 24, 2020Inventors: 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: 20200304572Abstract: 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: ApplicationFiled: March 21, 2019Publication date: September 24, 2020Inventors: 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: 20200225881Abstract: 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: ApplicationFiled: March 30, 2020Publication date: July 16, 2020Inventors: Andrew D. Baptist, Manish Motwani, Praveen Viraraghavan, Ilya Volvovski
-
Publication number: 20200225871Abstract: A method begins by obtaining a set of load level information regarding a set of dispersed storage (DS) processing units of a plurality of sets of DS processing units of the DSN. The method continues by determining whether the first DS processing unit has a load imbalance based on the set of load level information. When the first DS processing unit has the load imbalance, the method continues by determining whether to delegate a first access request of one or more access requests to another DS processing unit. When determining to delegate the first access request, the method continues by determining a delegate DS processing unit of the set of DS processing units based on the set of load level information. The method continues by instructing the first DS processing unit to send the first access request to the delegate DS processing unit for processing.Type: ApplicationFiled: January 16, 2019Publication date: July 16, 2020Inventors: Ethan S. Wozniak, Praveen Viraraghavan
-
Patent number: 10656866Abstract: A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and processing circuitry operably coupled to the interface and to the memory. The processing circuitry is configured to execute the operational instructions to perform various operations and functions. The computing device selects storage parameters for a multi-vault synchronization process from a first storage vault to a second storage vault. The computing device synchronizes storage of the set(s) of ingestion encoded data slices (EDSs) between the vaults and maintains storage of a portion of an ingestion data stream within the second storage vault. The computing device facilitates deletion of the set(s) of ingestion EDSs corresponding to the portion of an ingestion data stream from the first storage vault. the computing device performs additional multi-vault synchronization process(es) for any other portion(s) of the ingestion data stream.Type: GrantFiled: December 15, 2017Date of Patent: May 19, 2020Assignee: PURE STORAGE, INC.Inventors: Adam M. Gray, Greg R. Dhuse, Andrew D. Baptist, Ravi V. Khadiwala, Wesley B. Leggette, Scott M. Horan, Franco V. Borich, Bart R. Cilfone, Daniel J. Scholl, Kumar Abhijeet, Praveen Viraraghavan
-
Publication number: 20200151068Abstract: A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method begins by detecting a failure (partial or full) of a dispersed storage (DS) unit memory device within the DSN. The method continues by tracking namespace ranges of encoded data slices intended for access in the failed DS unit memory device. The method continues by redirecting access of the encoded data slices reflected by the namespace ranges from the failed DS unit memory device to a failover DS unit memory device.Type: ApplicationFiled: November 14, 2018Publication date: May 14, 2020Inventors: Ethan S. Wozniak, Praveen Viraraghavan, Asimuddin Kazi, Michael J. Niedbala
-
Patent number: 10642532Abstract: 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: GrantFiled: February 28, 2017Date of Patent: May 5, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Andrew D. Baptist, Manish Motwani, Praveen Viraraghavan, Ilya Volvovski
-
Publication number: 20200133581Abstract: A method for execution by a compaction management system includes determining observed compaction information based on compaction observed in at least one storage device during an observed timeframe. An estimated compaction rate is generated for a first future timeframe based on the observed compaction information. An updated ingest rate is generated for the first future timeframe based on a current ingest rate and the estimated compaction rate. A first proper subset of a set of data to be written to the at least one storage device is generated based on the updated ingest rate. Storage of the first proper subset in the at least one storage device is facilitated during the first future timeframe. Storage of a remaining proper subset of the set of data in an elastic buffer is facilitated during the first future timeframe, where the elastic buffer utilizes a memory of the compaction management system.Type: ApplicationFiled: October 29, 2018Publication date: April 30, 2020Inventors: Ilya Volvovski, Andrew D. Baptist, Benjamin L. Martin, Praveen Viraraghavan, Ying Z. Guo, Jordan H. Williams
-
Publication number: 20200133582Abstract: A method for execution by a compaction management system includes determining observed compaction information based on compaction observed in at least one storage device during an observed timeframe. An estimated compaction rate is generated for a first future timeframe based on the observed compaction information. An updated ingest rate is generated for the first future timeframe based on a current ingest rate and the estimated compaction rate. A first proper subset of a set of data to be written to the at least one storage device is generated based on the updated ingest rate. Storage of the first proper subset in the at least one storage device is facilitated during the first future timeframe. Storage of a remaining proper subset of the set of data in an elastic buffer is facilitated during the first future timeframe, where the elastic buffer utilizes a memory of the compaction management system.Type: ApplicationFiled: July 19, 2019Publication date: April 30, 2020Inventors: Ilya Volvovski, Andrew D. Baptist, Benjamin L. Martin, Praveen Viraraghavan, Ying Z. Guo, Jordan H. Williams
-
Patent number: 10635360Abstract: A method for execution by a compaction management system includes determining observed compaction information based on compaction observed in at least one storage device during an observed timeframe. An estimated compaction rate is generated for a first future timeframe based on the observed compaction information. An updated ingest rate is generated for the first future timeframe based on a current ingest rate and the estimated compaction rate. A first proper subset of a set of data to be written to the at least one storage device is generated based on the updated ingest rate. Storage of the first proper subset in the at least one storage device is facilitated during the first future timeframe. Storage of a remaining proper subset of the set of data in an elastic buffer is facilitated during the first future timeframe, where the elastic buffer utilizes a memory of the compaction management system.Type: GrantFiled: October 29, 2018Date of Patent: April 28, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Ilya Volvovski, Andrew D. Baptist, Benjamin L. Martin, Praveen Viraraghavan, Ying Z. Guo, Jordan H. Williams
-
Publication number: 20200097186Abstract: A method for use in a dispersed storage network (DSN) includes receiving a data access request at a DSN memory that controls storage of encoded data slices in multiple storage units. The data access request is capable of being serviced using either of at least two different storage units. The DSN memory determines wear levels associated with the two different storage units, and selects one of them as a preferred storage unit based, at least in part, on the wear levels. The DSN memory fulfills the data access request using the preferred storage unit.Type: ApplicationFiled: September 24, 2018Publication date: March 26, 2020Inventors: Trent W. Johnson, Praveen Viraraghavan, Ilya Volvovski
-
Publication number: 20200097181Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes generating a first compaction object by performing a compaction function on a first previously compacted object and first data slices that compare favorably to a cold access threshold. Storage of the first previously compacted object in a cold memory region is replaced with the first compacted object, and the first data slices are removed from prior storage in different memory regions. A second compacted object is generated by performing the compaction function on a second previously compacted object and second data slices that compare favorably to a hot access threshold. Storage of the second previously compacted object in a hot memory region is replaced with the second compacted object, and the second data slices are removed from prior storage in different memory regions.Type: ApplicationFiled: September 26, 2018Publication date: March 26, 2020Inventors: Ilya Volvovski, Praveen Viraraghavan, Andrew D. Baptist, Jason K. Resch
-
Publication number: 20200097182Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes generating a first compaction object by performing a compaction function on a first previously compacted object and first data slices that compare favorably to a cold access threshold. Storage of the first previously compacted object in a cold memory region is replaced with the first compacted object, and the first data slices are removed from prior storage in different memory regions. A second compacted object is generated by performing the compaction function on a second previously compacted object and second data slices that compare favorably to a hot access threshold. Storage of the second previously compacted object in a hot memory region is replaced with the second compacted object, and the second data slices are removed from prior storage in different memory regions.Type: ApplicationFiled: July 22, 2019Publication date: March 26, 2020Inventors: Ilya Volvovski, Praveen Viraraghavan, Andrew D. Baptist, Jason K. Resch
-
Patent number: 10594790Abstract: A method for execution by a dispersed storage and task (DST) processing unit includes receiving a write request that includes a data object. Characterization data is generated by determining a data type of the data object. Object constraint data is generated by determining a compressibility of the data type and a processing cost of the data type. Optimized trade-off data is generated by optimizing a plurality of trade-off constraints based on the object constraint data. A compression algorithm is selected from a plurality of compression algorithm options based on the optimized trade-off data. A compressed data object is generated by performing the selected compression algorithm on the data object. A plurality of data slices are generated for transmission to a plurality of storage units for storage by performing an information dispersal algorithm on the compressed data object.Type: GrantFiled: June 28, 2017Date of Patent: March 17, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Adam M. Gray, Ravi V. Khadiwala, Greg R. Dhuse, Jason K. Resch, Praveen Viraraghavan, Russell C. Fordyce
-
Patent number: 10579309Abstract: A method is provided for increasing throughput in a distributed storage network (DSN). A storage unit (SU) of the DSN receives a set of access requests regarding a set of encoded data slices and determines whether processing one or more access requests from the set of access requests can be delayed. Based on performance information regarding the one or more access requests the SU queues the requests and delays the processing of the requests in order to achieve higher throughput.Type: GrantFiled: February 16, 2017Date of Patent: March 3, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Andrew D. Baptist, Greg R. Dhuse, Manish Motwani, Jason K. Resch, Praveen Viraraghavan, Ilya Volvovski, Ethan S. Wozniak
-
Patent number: 10552341Abstract: Systems and Methods for data storage in a distributed storage network are disclosed. Unexpected errors can adversely affect consistency of both the content of a write (including the slice data), and the synchronicity between the written slices and metadata structures. To maintain consistency between these data structures, a sequencing of the order of writes and flushes to the memory devices for the different data structures may be enforced as follows: First: Slice content data is first written to the volatile memory (e.g. a cache memory) of a DS unit; Second: the Slice content data stored in volatile memory is “flushed” to a non-volatile bin (which bin is associated with a group of physical memory blocks in non-volatile memory); Third: after the flush of the slice content data to the bin (i.e. data is durable on the media device): metadata relating to the data is written.Type: GrantFiled: February 17, 2017Date of Patent: February 4, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Andrew D. Baptist, Joseph M. Kaczmarek, Manish Motwani, Praveen Viraraghavan, Ilya Volvovski