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: 11321002Abstract: 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: GrantFiled: December 11, 2018Date of Patent: May 3, 2022Assignee: Hewlett Packard Enterprise Development LPInventors: Roopesh Kumar Tamma, Marcel Furtado Almeida
-
Patent number: 10783021Abstract: 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: GrantFiled: March 31, 2016Date of Patent: September 22, 2020Assignee: Hewlett Packard Enterprise Development LPInventors: Siamak Nazari, Jin Wang, Jonathan Stewart, Roopesh Kumar Tamma
-
Publication number: 20200293196Abstract: 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: ApplicationFiled: March 11, 2019Publication date: September 17, 2020Inventors: Roopesh Kumar Tamma, Srinivasa D. Murthy
-
Patent number: 10776033Abstract: 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: GrantFiled: February 24, 2014Date of Patent: September 15, 2020Assignee: Hewlett Packard Enterprise Development LPInventors: Siamak Nazari, Roopesh Kumar Tamma, Ajitkumar A Natarajan
-
Publication number: 20200183601Abstract: 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: ApplicationFiled: December 11, 2018Publication date: June 11, 2020Inventors: Roopesh Kumar Tamma, Marcel Furtado Almeida
-
Patent number: 10417202Abstract: 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: GrantFiled: December 21, 2016Date of Patent: September 17, 2019Assignee: Hewlett Packard Enterprise Development LPInventors: Siamak Nazari, Jin Wang, Srinivasa D. Murthy, Roopesh Kumar Tamma
-
Patent number: 10310811Abstract: 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: GrantFiled: March 31, 2017Date of Patent: June 4, 2019Assignee: Hewlett Packard Enterprise Development LPInventors: Gurinder Shergill, Roopesh Kumar Tamma, Thomas H. Marlette
-
Patent number: 10241708Abstract: 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: GrantFiled: September 25, 2014Date of Patent: March 26, 2019Assignee: Hewlett Packard Enterprise Development LPInventors: Jin Wang, Siamak Nazari, Roopesh Kumar Tamma, Srinivasa D Murthy
-
Patent number: 10209906Abstract: 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: GrantFiled: October 31, 2013Date of Patent: February 19, 2019Assignee: Hewlett Packard Enterprises Development LPInventors: Roopesh Kumar Tamma, Siamak Nazari, Ajitkumar A. Natarajan
-
Patent number: 10168937Abstract: 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: GrantFiled: September 25, 2014Date of Patent: January 1, 2019Assignee: Hewlett Packard Enterprise Development LPInventors: Jin Wang, Roopesh Kumar Tamma, Siamak Nazari, Srinivasa D Murthy
-
Publication number: 20180314570Abstract: 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: ApplicationFiled: March 31, 2016Publication date: November 1, 2018Inventors: Siamak Nazari, Jin Wang, Jonathan Stewart, Roopesh Kumar Tamma
-
Publication number: 20180285074Abstract: 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: ApplicationFiled: March 31, 2017Publication date: October 4, 2018Inventors: Gurinder Shergill, Roopesh Kumar Tamma, Thomas H. Mariette
-
Publication number: 20180173731Abstract: 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: ApplicationFiled: December 21, 2016Publication date: June 21, 2018Inventors: Siamak Nazari, Jin Wang, Srinivasa D. Murthy, Roopesh Kumar Tamma
-
Patent number: 9830239Abstract: 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: GrantFiled: January 30, 2013Date of Patent: November 28, 2017Assignee: Hewlett Packard Enterprise Development LPInventors: Siamak Nazari, Roopesh Kumar Tamma, Nigel Kerr
-
Publication number: 20170308315Abstract: 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: ApplicationFiled: September 25, 2014Publication date: October 26, 2017Inventors: Jin Wang, Roopesh Kumar Tamma, Siamak Nazari, Srinivasa D Murthy
-
Publication number: 20170300266Abstract: 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: ApplicationFiled: September 25, 2014Publication date: October 19, 2017Inventors: Jin Wang, Siamak Nazari, Roopesh Kumar Tamma, Srinivasa D Murthy
-
Publication number: 20170075625Abstract: 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: ApplicationFiled: February 24, 2014Publication date: March 16, 2017Inventors: Siamak Nazari, Roopesh Kumar Tamma, Ajitkumar A Natarajan
-
Publication number: 20160350012Abstract: 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: ApplicationFiled: March 20, 2014Publication date: December 1, 2016Inventors: Roopesh Kumar Tamma, Jin Wang, Siamak Nazari, Srinivasa D Murthy
-
Publication number: 20160253115Abstract: 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: ApplicationFiled: October 31, 2013Publication date: September 1, 2016Inventors: Roopesh Kumar TAMMA, Siamak NAZARI, Ajitkumar A. NATARAJAN
-
Publication number: 20150370668Abstract: 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: ApplicationFiled: January 30, 2013Publication date: December 24, 2015Inventors: Siamak Nazari, Roopesh Kumar Tamma, Nigel Kerr