Patents by Inventor Roopesh Kumar Tamma

Roopesh Kumar Tamma 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: 11321002
    Abstract: In some examples, a system converts a virtual volume from a first volume type to a second volume type without modifying the virtual volume, the converting comprising accessing a source metadata associated with the virtual volume, the source metadata including information for the first volume type, and generating a destination metadata associated with the virtual volume, the destination metadata including information for the second volume type. While the virtual volume is being converted from the first volume type to the second volume type, the system processes a write operation that accesses a portion of the virtual volume and changes data in the accessed portion of the virtual volume.
    Type: Grant
    Filed: December 11, 2018
    Date of Patent: May 3, 2022
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Roopesh Kumar Tamma, Marcel Furtado Almeida
  • Patent number: 10783021
    Abstract: Examples include transaction management for a multi-node cluster. Some examples include generating a request log entry at an owner node that identifies a duplicate data location, tagging the duplicate data location with a requested tag, and issuing a zero-copy request that identifies the duplicate data location. In some such examples, a service node may generate a service log entry based on the zero-copy request that identifies the duplicate data location, process the zero-copy request, and tag the duplicate data location with a serviced tag. A determination may be made as to whether at least one of the owner node and the service node have failed and based on the determination that at least one has failed, the failed node may be recovered via at least one of the requested tag and the serviced tag of the duplicate data location.
    Type: Grant
    Filed: March 31, 2016
    Date of Patent: September 22, 2020
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Siamak Nazari, Jin Wang, Jonathan Stewart, Roopesh Kumar Tamma
  • Publication number: 20200293196
    Abstract: A page of data blocks and data integrity fields (DIFs) for the data blocks to write to corresponding sectors of a storage device equal in number to the data blocks within the page is received. The data blocks and the DIFs are compressed, yielding compressed sector data. In response to a determination that a size of the compressed sector data is not greater than a size of the corresponding sectors, the compressed sector data is written to the sectors.
    Type: Application
    Filed: March 11, 2019
    Publication date: September 17, 2020
    Inventors: Roopesh Kumar Tamma, Srinivasa D. Murthy
  • Patent number: 10776033
    Abstract: A port processor to receive a read command in a target port. In response, use the target to process a data transfer that includes use of memory for the read transfer allocated by a storage array controller prior to receipt of the read command by the target port or while processing the data transfer and selectively mark such memory as repurposable. The port processor to receive a write command in the target port. In response to receipt of the write command, use the target to process a data transfer for the initiator associated with the write operation, wherein the process includes use of memory that the storage array controller pre-allocated or allocated based on receipt of the read command by the target port for the transfer to the storage array controller and marked as repurposable.
    Type: Grant
    Filed: February 24, 2014
    Date of Patent: September 15, 2020
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Siamak Nazari, Roopesh Kumar Tamma, Ajitkumar A Natarajan
  • Publication number: 20200183601
    Abstract: In some examples, a system converts a virtual volume from a first volume type to a second volume type without modifying the virtual volume, the converting comprising accessing a source metadata associated with the virtual volume, the source metadata including information for the first volume type, and generating a destination metadata associated with the virtual volume, the destination metadata including information for the second volume type. While the virtual volume is being converted from the first volume type to the second volume type, the system processes a write operation that accesses a portion of the virtual volume and changes data in the accessed portion of the virtual volume.
    Type: Application
    Filed: December 11, 2018
    Publication date: June 11, 2020
    Inventors: Roopesh Kumar Tamma, Marcel Furtado Almeida
  • Patent number: 10417202
    Abstract: An example storage system may include storage media and a storage controller. The storage controller may be to establish virtual volumes, private data stores, and a deduplication data store, each being a virtual storage space of the storage media, wherein each of the private data stores is associated with one of the virtual volumes and the deduplication data store is shared among the virtual volumes. The storage controller may, in response to receiving input data that is to be stored in a given one of the virtual volumes, determine a signature for the input data and select between storing the input data in the private data store associated with the given one of the virtual volumes and storing the input data in the deduplication data store.
    Type: Grant
    Filed: December 21, 2016
    Date of Patent: September 17, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Siamak Nazari, Jin Wang, Srinivasa D. Murthy, Roopesh Kumar Tamma
  • Patent number: 10310811
    Abstract: Example method includes: negotiating, with a client device, a number of simultaneous I/O commands allowed in a single session between a storage device and the client device; pre-allocating a number of immediate data buffers for the single session based on the negotiated number of simultaneous I/O commands; receiving a write I/O command with immediate data, wherein the immediate data is transmitted within a single PDU as the I/O command; transitioning the pre-allocated buffers from a network interface state to a driver state in an atomic operation, the driver state enabling the pre-allocated buffers to be accessed by a driver layer of the storage device exclusively, and the atomic operation preventing other I/O commands from transitioning the network interface state of the pre-allocated buffers until the atomic operation is completed; and writing the immediate data to the pre-allocated buffers that are in the driver state.
    Type: Grant
    Filed: March 31, 2017
    Date of Patent: June 4, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Gurinder Shergill, Roopesh Kumar Tamma, Thomas H. Marlette
  • Patent number: 10241708
    Abstract: Example implementations relate to data chunk storage. For example, an implementation includes an apparatus that includes a processor. The processor is to receive a first data chunk from a source device and to generate a first fingerprint of the first data chunk. In response to a determination that the first fingerprint matches a second fingerprint of a second data chunk, the processor is to select a storage pool from a plurality of storage pools at a storage device to store the first data chunk based on the first data chunk and based on the second data chunk. The plurality of storage pools includes a first storage pool associated with first particular data chunks with non-colliding fingerprints and a second storage pool associated with second particular data chunks with colliding fingerprints.
    Type: Grant
    Filed: September 25, 2014
    Date of Patent: March 26, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Jin Wang, Siamak Nazari, Roopesh Kumar Tamma, Srinivasa D Murthy
  • Patent number: 10209906
    Abstract: A technique includes receiving a command in a target port, where the command is provided by an initiator and is associated with a write operation. The technique includes, in response to the command, using the target to process a data transfer for the initiator associated with the write operation. The processing includes, based on a characteristic of the command, selectively using memory for the transfer pre-allocated by a storage array controller prior to receipt of the command by the target port or requesting an allocation of memory for the transfer from the storage array controller.
    Type: Grant
    Filed: October 31, 2013
    Date of Patent: February 19, 2019
    Assignee: Hewlett Packard Enterprises Development LP
    Inventors: Roopesh Kumar Tamma, Siamak Nazari, Ajitkumar A. Natarajan
  • Patent number: 10168937
    Abstract: Example implementations relate to storage space allocation. For example, an implementation includes an apparatus including a controller. The controller is to receive an allocation request from a host computing device. The controller is also to reserve a portion of storage space in the storage device via a reservation table based on the allocation request. The controller is further to determine a type of the allocation request. The type of the allocation request includes a space-optimized allocation request and a non-space-optimized allocation request. When the type of the allocation request corresponds to the non-space-optimized allocation request, the controller is to commit the portion of storage space via an allocation table. When the type of the allocation request corresponds to the space-optimized allocation request, the controller is to release the portion of storage space via the reservation table.
    Type: Grant
    Filed: September 25, 2014
    Date of Patent: January 1, 2019
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Jin Wang, Roopesh Kumar Tamma, Siamak Nazari, Srinivasa D Murthy
  • Publication number: 20180314570
    Abstract: Examples include transaction management for a multi-node cluster. Some examples include generating a request log entry at an owner node that identifies a duplicate data location, tagging the duplicate data location with a requested tag, and issuing a zero-copy request that identifies the duplicate data location. In some such examples, a service node may generate a service log entry based on the zero-copy request that identifies the duplicate data location, process the zero-copy request, and tag the duplicate data location with a serviced tag. A determination may be made as to whether at least one of the owner node and the service node have failed and based on the determination that at least one has failed, the failed node may be recovered via at least one of the requested tag and the serviced tag of the duplicate data location.
    Type: Application
    Filed: March 31, 2016
    Publication date: November 1, 2018
    Inventors: Siamak Nazari, Jin Wang, Jonathan Stewart, Roopesh Kumar Tamma
  • Publication number: 20180285074
    Abstract: Example method includes: negotiating, with a client device, a number of simultaneous I/O commands allowed in a single session between a storage device and the client device; pre-allocating a number of immediate data buffers for the single session based on the negotiated number of simultaneous I/O commands; receiving a write I/O command with immediate data, wherein the immediate data is transmitted within a single PDU as the I/O command; transitioning the pre-allocated buffers from a network interface state to a driver state in an atomic operation, the driver state enabling the pre-allocated buffers to be accessed by a driver layer of the storage device exclusively, and the atomic operation preventing other I/O commands from transitioning the network interface state of the pre-allocated buffers until the atomic operation is completed; and writing the immediate data to the pre-allocated buffers that are in the driver state.
    Type: Application
    Filed: March 31, 2017
    Publication date: October 4, 2018
    Inventors: Gurinder Shergill, Roopesh Kumar Tamma, Thomas H. Mariette
  • Publication number: 20180173731
    Abstract: An example storage system may include storage media and a storage controller. The storage controller may be to establish virtual volumes, private data stores, and a deduplication data store, each being a virtual storage space of the storage media, wherein each of the private data stores is associated with one of the virtual volumes and the deduplication data store is shared among the virtual volumes. The storage controller may, in response to receiving input data that is to be stored in a given one of the virtual volumes, determine a signature for the input data and select between storing the input data in the private data store associated with the given one of the virtual volumes and storing the input data in the deduplication data store.
    Type: Application
    Filed: December 21, 2016
    Publication date: June 21, 2018
    Inventors: Siamak Nazari, Jin Wang, Srinivasa D. Murthy, Roopesh Kumar Tamma
  • Patent number: 9830239
    Abstract: A failure at a first port of the controller node is detected, where the first port is initially assigned a first port identifier and is associated with a logical path through a communications fabric between the first port and a port at a host device. In response to detecting the failure, the first port identifier is assigned to a second port to cause the logical path to be associated with the second port. In response to detecting resolution of the failure, a probe identifier is assigned to the first port. Using the probe identifier, a health of network infrastructure between the first port and the host device is checked. In response to the checking, the first port identifier is assigned to the first port to cause failback of the logical path to the first port.
    Type: Grant
    Filed: January 30, 2013
    Date of Patent: November 28, 2017
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Siamak Nazari, Roopesh Kumar Tamma, Nigel Kerr
  • Publication number: 20170308315
    Abstract: Example implementations relate to storage space allocation. For example, an implementation includes an apparatus including a controller. The controller is to receive an allocation request from a host computing device. The controller is also to reserve a portion of storage space in the storage device via a reservation table based on the allocation request. The controller is further to determine a type of the allocation request. The type of the allocation request includes a space-optimized allocation request and a non-space-optimized allocation request. When the type of the allocation request corresponds to the non-space-optimized allocation request, the controller is to commit the portion of storage space via an allocation table. When the type of the allocation request corresponds to the space-optimized allocation request, the controller is to release the portion of storage space via the reservation table.
    Type: Application
    Filed: September 25, 2014
    Publication date: October 26, 2017
    Inventors: Jin Wang, Roopesh Kumar Tamma, Siamak Nazari, Srinivasa D Murthy
  • Publication number: 20170300266
    Abstract: Example implementations relate to data chunk storage. For example, an implementation includes an apparatus that includes a processor. The processor is to receive a first data chunk from a source device and to generate a first fingerprint of the first data chunk. In response to a determination that the first fingerprint matches a second fingerprint of a second data chunk, the processor is to select a storage pool from a plurality of storage pools at a storage device to store the first data chunk based on the first data chunk and based on the second data chunk. The plurality of storage pools includes a first storage pool associated with first particular data chunks with non-colliding fingerprints and a second storage pool associated with second particular data chunks with colliding fingerprints.
    Type: Application
    Filed: September 25, 2014
    Publication date: October 19, 2017
    Inventors: Jin Wang, Siamak Nazari, Roopesh Kumar Tamma, Srinivasa D Murthy
  • Publication number: 20170075625
    Abstract: A port processor to receive a read command in a target port. In response, use the target to process a data transfer that includes use of memory for the read transfer allocated by a storage array controller prior to receipt of the read command by the target port or while processing the data transfer and selectively mark such memory as repurposable. The port processor to receive a write command in the target port. In response to receipt of the write command, use the target to process a data transfer for the initiator associated with the write operation, wherein the process includes use of memory that the storage array controller pre-allocated or allocated based on receipt of the read command by the target port for the transfer to the storage array controller and marked as repurposable.
    Type: Application
    Filed: February 24, 2014
    Publication date: March 16, 2017
    Inventors: Siamak Nazari, Roopesh Kumar Tamma, Ajitkumar A Natarajan
  • Publication number: 20160350012
    Abstract: Techniques to copy data from a source region to a destination region, and to update in cache a source region timestamp and a destination region timestamp.
    Type: Application
    Filed: March 20, 2014
    Publication date: December 1, 2016
    Inventors: Roopesh Kumar Tamma, Jin Wang, Siamak Nazari, Srinivasa D Murthy
  • Publication number: 20160253115
    Abstract: A technique includes receiving a command in a target port, where the command is provided by an initiator and is associated with a write operation. The technique includes, in response to the command, using the target to process a data transfer for the initiator associated with the write operation. The processing includes, based on a characteristic of the command, selectively using memory for the transfer pre-allocated by a storage array controller prior to receipt of the command by the target port or requesting an allocation of memory for the transfer from the storage array controller.
    Type: Application
    Filed: October 31, 2013
    Publication date: September 1, 2016
    Inventors: Roopesh Kumar TAMMA, Siamak NAZARI, Ajitkumar A. NATARAJAN
  • Publication number: 20150370668
    Abstract: A failure at a first port of the controller node is detected, where the first port is initially assigned a first port identifier and is associated with a logical path through a communications fabric between the first port and a port at a host device. In response to detecting the failure, the first port identifier is assigned to a second port to cause the logical path to be associated with the second port. In response to detecting resolution of the failure, a probe identifier is assigned to the first port. Using the probe identifier, a health of network infrastructure between the first port and the host device is checked. In response to the checking, the first port identifier is assigned to the first port to cause failback of the logical path to the first port.
    Type: Application
    Filed: January 30, 2013
    Publication date: December 24, 2015
    Inventors: Siamak Nazari, Roopesh Kumar Tamma, Nigel Kerr