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: 11662922
    Abstract: 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: Grant
    Filed: October 18, 2021
    Date of Patent: May 30, 2023
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Hy Dinh Vu, Murali Krishna Vishnumolakala, Yihong Xu, Ying Hu
  • Publication number: 20230121626
    Abstract: 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: Application
    Filed: October 18, 2021
    Publication date: April 20, 2023
    Inventors: Hy Dinh Vu, Murali Krishna Vishnumolakala, Yihong Xu, Ying Hu
  • Patent number: 10705911
    Abstract: 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: Grant
    Filed: December 19, 2017
    Date of Patent: July 7, 2020
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Murali Krishna Vishnumolakala, Umesh Maheshwari
  • Patent number: 10684927
    Abstract: 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: Grant
    Filed: July 29, 2014
    Date of Patent: June 16, 2020
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Anil Nanduri, Chunqi Han, Murali Krishna Vishnumolakala
  • Patent number: 10496481
    Abstract: 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: Grant
    Filed: December 22, 2016
    Date of Patent: December 3, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Chunqi Han, Anil Nanduri, Murali Krishna Vishnumolakala
  • Publication number: 20180307560
    Abstract: 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: Application
    Filed: December 19, 2017
    Publication date: October 25, 2018
    Applicant: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Murali Krishna Vishnumolakala, Umesh Maheshwari
  • Patent number: 10042563
    Abstract: 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: Grant
    Filed: July 19, 2017
    Date of Patent: August 7, 2018
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Anil Kumar Nanduri, Murali Krishna Vishnumolakala
  • Publication number: 20170315736
    Abstract: 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: Application
    Filed: July 19, 2017
    Publication date: November 2, 2017
    Inventors: Anil Kumar Nanduri, Murali Krishna Vishnumolakala
  • Patent number: 9747044
    Abstract: 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: Grant
    Filed: October 4, 2016
    Date of Patent: August 29, 2017
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Anil Kumar Nanduri, Murali Krishna Vishnumolakala
  • Publication number: 20170161146
    Abstract: 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: Application
    Filed: December 22, 2016
    Publication date: June 8, 2017
    Inventors: Chunqi Han, Anil Nanduri, Murali Krishna Vishnumolakala
  • Patent number: 9588919
    Abstract: 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: Grant
    Filed: November 28, 2014
    Date of Patent: March 7, 2017
    Assignee: NIMBLE STORAGE, INC.
    Inventors: Anil Nanduri, Chunqi Han, Murali Krishna Vishnumolakala
  • Patent number: 9563509
    Abstract: 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: Grant
    Filed: July 15, 2014
    Date of Patent: February 7, 2017
    Assignee: NIMBLE STORAGE, INC.
    Inventors: Chunqi Han, Anil Nanduri, Murali Krishna Vishnumolakala
  • Publication number: 20170024149
    Abstract: 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: Application
    Filed: October 4, 2016
    Publication date: January 26, 2017
    Inventors: Anil Kumar Nanduri, Murali Krishna Vishnumolakala
  • Patent number: 9489141
    Abstract: 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: Grant
    Filed: December 18, 2014
    Date of Patent: November 8, 2016
    Assignee: Nimble Storage, Inc.
    Inventors: Anil Kumar Nanduri, Murali Krishna Vishnumolakala
  • Publication number: 20160179404
    Abstract: 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: Application
    Filed: December 18, 2014
    Publication date: June 23, 2016
    Inventors: Anil Kumar Nanduri, Murali Krishna Vishnumolakala
  • Publication number: 20160034209
    Abstract: 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: Application
    Filed: July 29, 2014
    Publication date: February 4, 2016
    Inventors: Anil Nanduri, Chunqi Han, Murali Krishna Vishnumolakala
  • Publication number: 20160034370
    Abstract: 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: Application
    Filed: August 19, 2014
    Publication date: February 4, 2016
    Inventors: Anil Nanduri, Chunqi Han, Murali Krishna Vishnumolakala
  • Publication number: 20160019114
    Abstract: 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: Application
    Filed: July 15, 2014
    Publication date: January 21, 2016
    Inventors: Chunqi Han, Anil Nanduri, Murali Krishna Vishnumolakala
  • Publication number: 20150100709
    Abstract: 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: Application
    Filed: November 28, 2014
    Publication date: April 9, 2015
    Inventors: Anil Nanduri, Chunqi Han, Murali Krishna Vishnumolakala
  • Patent number: 8924607
    Abstract: 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: Grant
    Filed: October 7, 2013
    Date of Patent: December 30, 2014
    Assignee: Nimble Storage, Inc.
    Inventors: Anil Nanduri, Chunqi Han, Murali Krishna Vishnumolakala