Patents by Inventor Murali Krishna Vishnumolakala
Murali Krishna Vishnumolakala 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: 11662922Abstract: In some examples, a system allocates a plurality of partitions of a shared storage to respective data services. Based on respective utilizations of the plurality of partitions, the system selects, for a given data service of the data services, between a global storage apportionment process to rebalance shares of the shared storage among the data services, and a local storage apportionment process, where the rebalancing includes releasing a partition of the given data service, and the local storage apportionment process comprising freeing segments within the partition of the given data service.Type: GrantFiled: October 18, 2021Date of Patent: May 30, 2023Assignee: Hewlett Packard Enterprise Development LPInventors: Hy Dinh Vu, Murali Krishna Vishnumolakala, Yihong Xu, Ying Hu
-
Publication number: 20230121626Abstract: In some examples, a system allocates a plurality of partitions of a shared storage to respective data services. Based on respective utilizations of the plurality of partitions, the system selects, for a given data service of the data services, between a global storage apportionment process to rebalance shares of the shared storage among the data services, and a local storage apportionment process, where the rebalancing includes releasing a partition of the given data service, and the local storage apportionment process comprising freeing segments within the partition of the given data service.Type: ApplicationFiled: October 18, 2021Publication date: April 20, 2023Inventors: Hy Dinh Vu, Murali Krishna Vishnumolakala, Yihong Xu, Ying Hu
-
Patent number: 10705911Abstract: According to examples, a storage node may include storage devices and a controller that may determine whether all of a plurality of data chunks of a first intra-node portion of a stripe have been stored on the storage node. Based on a determination that all of the data chunks have been stored, a first intra-node parity chunk may be stored at a second one of the storage devices, in which the first intra-node parity chunk may be determined from at least one of the data chunks of the first intra-node portion. Based on a determination that at least one of the data chunks has not been stored, storage of a first intra-node parity chunk of the stripe on the storage node may be delayed until a determination is made that all of the data chunks of the first intra-node portion have been stored at the storage node.Type: GrantFiled: December 19, 2017Date of Patent: July 7, 2020Assignee: Hewlett Packard Enterprise Development LPInventors: Murali Krishna Vishnumolakala, Umesh Maheshwari
-
Patent number: 10684927Abstract: The failure of a storage unit in a storage array of a storage system may render the storage unit unresponsive to any requests. Any writes to the storage system that occur during the failure of the storage unit will not be reflected on the failed unit, rendering some of the failed unit's data stale. Assuming the failed unit's data is not corrupted but is just stale, a partial rebuild may be performed on the failed unit, selectively reconstructing only data that is needed to replace the stale data. Described herein are techniques for storing information that identifies the data that needs to be rebuilt. When the storage unit fails, the segment identifier associated with the last data segment written to the storage system may be stored. Upon the storage unit recovering, the storage system can rebuild only those data segments whose identifier is greater than the stored segment identifier.Type: GrantFiled: July 29, 2014Date of Patent: June 16, 2020Assignee: Hewlett Packard Enterprise Development LPInventors: Anil Nanduri, Chunqi Han, Murali Krishna Vishnumolakala
-
Patent number: 10496481Abstract: Described herein are techniques for storing data in a redundant manner on a plurality of storage units of a storage system. While all of the storage units are operating without failure, only error-correction blocks are stored on a first one of the storage units, while a combination of data blocks and error-correction blocks are stored on a second one of the storage units. Upon failure of the second storage unit, one or more data blocks and one or more error-correction blocks formerly stored on the second storage unit are reconstructed, and the one or more reconstructed data blocks and the one or more reconstructed error-correction blocks are stored on the first storage unit.Type: GrantFiled: December 22, 2016Date of Patent: December 3, 2019Assignee: Hewlett Packard Enterprise Development LPInventors: Chunqi Han, Anil Nanduri, Murali Krishna Vishnumolakala
-
Publication number: 20180307560Abstract: According to examples, a storage node may include storage devices and a controller that may determine whether all of a plurality of data chunks of a first intra-node portion of a stripe have been stored on the storage node. Based on a determination that all of the data chunks have been stored, a first intra-node parity chunk may be stored at a second one of the storage devices, in which the first intra-node parity chunk may be determined from at least one of the data chunks of the first intra-node portion. Based on a determination that at least one of the data chunks has not been stored, storage of a first intra-node parity chunk of the stripe on the storage node may be delayed until a determination is made that all of the data chunks of the first intra-node portion have been stored at the storage node.Type: ApplicationFiled: December 19, 2017Publication date: October 25, 2018Applicant: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LPInventors: Murali Krishna Vishnumolakala, Umesh Maheshwari
-
Patent number: 10042563Abstract: In an all-flash storage array, write requests can take about 9 to 10 times longer than a read request of the same size. There could be several problems when reading or writing from all-flash storage, such as a large write request slowing down small read requests, or other write requests. Also, a large read request may slow down smaller read requests by filling the incoming requests queue. In one implementation, a determination is made on what is the maximum size of a request to flash storage that improves the throughput of a flash chip (e.g., write requests beyond a certain size do not improve throughput). A chunklet is defined as a block of data having the calculated maximum size. As write requests come in, the write requests are broken into chunklets, and then the chunklets are queued for processing by the flash chip. One chunklet is processed at a time per write request.Type: GrantFiled: July 19, 2017Date of Patent: August 7, 2018Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LPInventors: Anil Kumar Nanduri, Murali Krishna Vishnumolakala
-
Publication number: 20170315736Abstract: In an all-flash storage array, write requests can take about 9 to 10 times longer than a read request of the same size. There could be several problems when reading or writing from all-flash storage, such as a large write request slowing down small read requests, or other write requests. Also, a large read request may slow down smaller read requests by filling the incoming requests queue. In one implementation, a determination is made on what is the maximum size of a request to flash storage that improves the throughput of a flash chip (e.g., write requests beyond a certain size do not improve throughput). A chunklet is defined as a block of data having the calculated maximum size. As write requests come in, the write requests are broken into chunklets, and then the chunklets are queued for processing by the flash chip. One chunklet is processed at a time per write request.Type: ApplicationFiled: July 19, 2017Publication date: November 2, 2017Inventors: Anil Kumar Nanduri, Murali Krishna Vishnumolakala
-
Patent number: 9747044Abstract: In an all-flash storage array, write requests can take about 9 to 10 times longer than a read request of the same size. There could be several problems when reading or writing from all-flash storage, such as a large write request slowing down small read requests, or other write requests. Also, a large read request may slow down smaller read requests by filling the incoming requests queue. In one implementation, a determination is made on what is the maximum size of a request to flash storage that improves the throughput of a flash chip (e.g., write requests beyond a certain size do not improve throughput). A chunklet is defined as a block of data having the calculated maximum size. As write requests come in, the write requests are broken into chunklets, and then the chunklets are queued for processing by the flash chip. One chunklet is processed at a time per write request.Type: GrantFiled: October 4, 2016Date of Patent: August 29, 2017Assignee: Hewlett Packard Enterprise Development LPInventors: Anil Kumar Nanduri, Murali Krishna Vishnumolakala
-
Publication number: 20170161146Abstract: Described herein are techniques for storing data in a redundant manner on a plurality of storage units of a storage system. While all of the storage units are operating without failure, only error-correction blocks are stored on a first one of the storage units, while a combination of data blocks and error-correction blocks are stored on a second one of the storage units. Upon failure of the second storage unit, one or more data blocks and one or more error-correction blocks formerly stored on the second storage unit are reconstructed, and the one or more reconstructed data blocks and the one or more reconstructed error-correction blocks are stored on the first storage unit.Type: ApplicationFiled: December 22, 2016Publication date: June 8, 2017Inventors: Chunqi Han, Anil Nanduri, Murali Krishna Vishnumolakala
-
Patent number: 9588919Abstract: Described herein are techniques for cancelling I/O requests. Initially, virtual memory of an application is assigned to a first portion of memory. The application may issue a read request to an external device. The external device is instructed to record any response to the read request in the first portion of memory. The read request may be cancelled as follows. The virtual memory of the application may be re-assigned to a second portion of the memory. If and when the external device finishes processing the read request, the external device's response to the read request may still be saved in the first portion of memory, even though the read request has been cancelled. Such action of the external device would ordinarily corrupt the virtual memory of the application, but due to the memory re-assignment, no corruption of the virtual memory occurs. Similar techniques may be applied to cancel write requests.Type: GrantFiled: November 28, 2014Date of Patent: March 7, 2017Assignee: NIMBLE STORAGE, INC.Inventors: Anil Nanduri, Chunqi Han, Murali Krishna Vishnumolakala
-
Patent number: 9563509Abstract: Described herein are techniques for storing data in a redundant manner on a plurality of storage units of a storage system. While all of the storage units are operating without failure, only error-correction blocks are stored on a first one of the storage units, while a combination of data blocks and error-correction blocks are stored on a second one of the storage units. Upon failure of the second storage unit, one or more data blocks and one or more error-correction blocks formerly stored on the second storage unit are reconstructed, and the one or more reconstructed data blocks and the one or more reconstructed error-correction blocks are stored on the first storage unit.Type: GrantFiled: July 15, 2014Date of Patent: February 7, 2017Assignee: NIMBLE STORAGE, INC.Inventors: Chunqi Han, Anil Nanduri, Murali Krishna Vishnumolakala
-
Publication number: 20170024149Abstract: In an all-flash storage array, write requests can take about 9 to 10 times longer than a read request of the same size. There could be several problems when reading or writing from all-flash storage, such as a large write request slowing down small read requests, or other write requests. Also, a large read request may slow down smaller read requests by filling the incoming requests queue. In one implementation, a determination is made on what is the maximum size of a request to flash storage that improves the throughput of a flash chip (e.g., write requests beyond a certain size do not improve throughput). A chunklet is defined as a block of data having the calculated maximum size. As write requests come in, the write requests are broken into chunklets, and then the chunklets are queued for processing by the flash chip. One chunklet is processed at a time per write request.Type: ApplicationFiled: October 4, 2016Publication date: January 26, 2017Inventors: Anil Kumar Nanduri, Murali Krishna Vishnumolakala
-
Patent number: 9489141Abstract: In an all-flash storage array, write requests can take about 9 to 10 times longer than a read request of the same size. There could be several problems when reading or writing from all-flash storage, such as a large write request slowing down small read requests, or other write requests. Also, a large read request may slow down smaller read requests by filling the incoming requests queue. In one implementation, a determination is made on what is the maximum size of a request to flash storage that improves the throughput of a flash chip (e.g., write requests beyond a certain size do not improve throughput). A chunklet is defined as a block of data having the calculated maximum size. As write requests come in, the write requests are broken into chunklets, and then the chunklets are queued for processing by the flash chip. One chunklet is processed at a time per write request.Type: GrantFiled: December 18, 2014Date of Patent: November 8, 2016Assignee: Nimble Storage, Inc.Inventors: Anil Kumar Nanduri, Murali Krishna Vishnumolakala
-
Publication number: 20160179404Abstract: In an all-flash storage array, write requests can take about 9 to 10 times longer than a read request of the same size. There could be several problems when reading or writing from all-flash storage, such as a large write request slowing down small read requests, or other write requests. Also, a large read request may slow down smaller read requests by filling the incoming requests queue. In one implementation, a determination is made on what is the maximum size of a request to flash storage that improves the throughput of a flash chip (e.g., write requests beyond a certain size do not improve throughput). A chunklet is defined as a block of data having the calculated maximum size. As write requests come in, the write requests are broken into chunklets, and then the chunklets are queued for processing by the flash chip. One chunklet is processed at a time per write request.Type: ApplicationFiled: December 18, 2014Publication date: June 23, 2016Inventors: Anil Kumar Nanduri, Murali Krishna Vishnumolakala
-
Publication number: 20160034209Abstract: The failure of a storage unit in a storage array of a storage system may render the storage unit unresponsive to any requests. Any writes to the storage system that occur during the failure of the storage unit will not be reflected on the failed unit, rendering some of the failed unit's data stale. Assuming the failed unit's data is not corrupted but is just stale, a partial rebuild may be performed on the failed unit, selectively reconstructing only data that is needed to replace the stale data. Described herein are techniques for storing information that identifies the data that needs to be rebuilt. When the storage unit fails, the segment identifier associated with the last data segment written to the storage system may be stored. Upon the storage unit recovering, the storage system can rebuild only those data segments whose identifier is greater than the stored segment identifier.Type: ApplicationFiled: July 29, 2014Publication date: February 4, 2016Inventors: Anil Nanduri, Chunqi Han, Murali Krishna Vishnumolakala
-
Publication number: 20160034370Abstract: The failure of a storage unit in a storage array of a storage system may render the storage unit unresponsive to any requests. Any writes to the storage system that occur during the failure of the storage unit will not be reflected on the failed unit, rendering some of the failed unit's data stale. Assuming the failed unit's data is not corrupted but is just stale, a partial rebuild may be performed on the failed unit, selectively reconstructing only data that is needed to replace the stale data. Described herein are techniques for storing information that identifies the data that needs to be rebuilt. When the storage unit fails, the segment identifier associated with the last data segment written to the storage system may be stored. Upon the storage unit recovering, the storage system can rebuild only those data segments whose identifier is greater than the stored segment identifier.Type: ApplicationFiled: August 19, 2014Publication date: February 4, 2016Inventors: Anil Nanduri, Chunqi Han, Murali Krishna Vishnumolakala
-
Publication number: 20160019114Abstract: Described herein are techniques for storing data in a redundant manner on a plurality of storage units of a storage system. While all of the storage units are operating without failure, only error-correction blocks are stored on a first one of the storage units, while a combination of data blocks and error-correction blocks are stored on a second one of the storage units. Upon failure of the second storage unit, one or more data blocks and one or more error-correction blocks formerly stored on the second storage unit are reconstructed, and the one or more reconstructed data blocks and the one or more reconstructed error-correction blocks are stored on the first storage unit.Type: ApplicationFiled: July 15, 2014Publication date: January 21, 2016Inventors: Chunqi Han, Anil Nanduri, Murali Krishna Vishnumolakala
-
Publication number: 20150100709Abstract: Described herein are techniques for cancelling I/O requests. Initially, virtual memory of an application is assigned to a first portion of memory. The application may issue a read request to an external device. The external device is instructed to record any response to the read request in the first portion of memory. The read request may be cancelled as follows. The virtual memory of the application may be re-assigned to a second portion of the memory. If and when the external device finishes processing the read request, the external device's response to the read request may still be saved in the first portion of memory, even though the read request has been cancelled. Such action of the external device would ordinarily corrupt the virtual memory of the application, but due to the memory re-assignment, no corruption of the virtual memory occurs. Similar techniques may be applied to cancel write requests.Type: ApplicationFiled: November 28, 2014Publication date: April 9, 2015Inventors: Anil Nanduri, Chunqi Han, Murali Krishna Vishnumolakala
-
Patent number: 8924607Abstract: Described herein are techniques for cancelling I/O requests. Initially, virtual memory of an application is assigned to a first portion of memory. The application may issue a read request to an external device. The external device is instructed to record any response to the read request in the first portion of memory. The read request may be cancelled as follows. The virtual memory of the application may be re-assigned to a second portion of the memory. If and when the external device finishes processing the read request, the external device's response to the read request may still be saved in the first portion of memory, even though the read request has been cancelled. Such action of the external device would ordinarily corrupt the virtual memory of the application, but due to the memory re-assignment, no corruption of the virtual memory occurs. Similar techniques may be applied to cancel write requests.Type: GrantFiled: October 7, 2013Date of Patent: December 30, 2014Assignee: Nimble Storage, Inc.Inventors: Anil Nanduri, Chunqi Han, Murali Krishna Vishnumolakala