Patents by Inventor Siamak Nazari

Siamak Nazari 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: 20170322878
    Abstract: Examples to determine an unreferenced page in a deduplication store are disclosed. In one example implementation according to aspects of the present disclosure, a cyclic redundancy check (CRC) value is calculated for a received garbage collection data request for data on a client volume. The CRC value is translated into a physical page location in a deduplication store for the client volume using a three-level table scheme. It is then determined whether a physical page in the deduplication store is unreferenced.
    Type: Application
    Filed: October 28, 2014
    Publication date: November 9, 2017
    Applicant: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventors: Jin Wang, Siamak Nazari, Srinivasa D. Murthy
  • 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: 20170168756
    Abstract: A system that includes a plurality of nodes configured to execute storage transactions. The nodes include a first node and a plurality of other nodes. The storage transactions are grouped into transaction sets that are to be executed in a predetermined order that ensures that dependencies between the transactions are observed. A cluster sequencer that resides on the first node is configured to increment a sequence number that identifies an active transaction set of the transaction sets and send the sequence number from the first node to the plurality of other nodes. Upon receipt of the sequence number, each one of the plurality of other nodes begins executing the transactions of the active transaction set without waiting for confirmation that all of the plurality of other nodes have the same sequence number.
    Type: Application
    Filed: July 29, 2014
    Publication date: June 15, 2017
    Inventors: Kouei Yamada, Siamak Nazari, Brian Rutledge, Jianding Luo, Jin Wang, Mark Doherty, Richard Dalzell, Peter Hynes
  • 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: 20170060674
    Abstract: Examples relate to persistent checksum data validation. In some examples, it is determined if a storage array supports a persistent checksum capability. After determining that the storage array supports the persistent checksum capability, protection information is added to a data packet at an egress port, where the protection information includes a cyclic redundancy check (CRC), a serial number, and an offset. The data packet is sent with the protection information to the storage array, where the storage array uses the protection information to validate the data packet. A data response is received from the storage array, and then the protection information is used to validate the data response.
    Type: Application
    Filed: September 2, 2015
    Publication date: March 2, 2017
    Inventors: Siamak Nazari, Tim Silversides
  • Publication number: 20170038972
    Abstract: Example implementations relate to determining lengths of acknowledgment delays for input/output (I/O) commands. In example implementations, a length of an acknowledgment delay for a respective I/O command may be based on cache availability, and activity level of a drive at which the respective I/O command is directed, after the respective I/O command has been executed. Acknowledgments for respective I/O commands may be transmitted after respective periods of time equal to respective lengths of acknowledgment delays have elapsed.
    Type: Application
    Filed: April 30, 2014
    Publication date: February 9, 2017
    Inventors: Siamak Nazari, Srinivasa D Murthy, Jin Wang, Ming Ma
  • Patent number: 9513822
    Abstract: A system that includes a storage drive and a controller communicatively coupled to the storage drive. The storage drive includes a first region of storage space that is mapped to a virtual volume and at least a second region of storage space reserved for over-provisioning operations. The controller is to unmap an operable portion of the first region of storage space in response to aging of the storage drive so that the unmapped portion can be used for over-provisioning operations.
    Type: Grant
    Filed: September 26, 2014
    Date of Patent: December 6, 2016
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Siamak Nazari, Daniel Aaron Harbaugh, Gilad Sade, Faris Hindi, Danyaal Masood Khan
  • Patent number: 9513823
    Abstract: A method for migrating data in a storage system includes generating a first set of logical disks (LDs), the LDs being mapped to physical storage space in the storage system, generating a temporary virtual volume (VV) mapped to the first set of LDs, generating a second set of LDs mapped to the temporary VV, and migrating data between the second set of LDs and a third set of LDs.
    Type: Grant
    Filed: April 30, 2012
    Date of Patent: December 6, 2016
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Siamak Nazari, Ming Ma, Douglas James Cameron, Jonathan Andrew McDowell, Salil Gokhale
  • Publication number: 20160350175
    Abstract: In one example implementation according to aspects of the present disclosure, a method may include calculating, by a computing system, a cyclic redundancy check (CRC) value for a received data request. The method may further include translating, by the computing system, the CRC value into a physical page location using a three-level table walk. The method may also include detecting, by the computing system, whether the received data request represents duplicate data by comparing the received data request with a data stored at the physical page location.
    Type: Application
    Filed: April 30, 2014
    Publication date: December 1, 2016
    Inventors: Siamak Nazari, Jin Wang, Srinivasa D Murthy
  • 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: 20160350192
    Abstract: A system that includes a storage volume comprising a plurality of regions. The system also includes a plurality of nodes to receive transactions related to the storage volume from one or more client computers and execute the transactions. Each node is designated as an owner of one region of the plurality of regions. Each one of the plurality of nodes includes a ticket dispenser for dispensing tickets that ensure that the transactions that are actively being executed have exclusive access to a storage object identified in the transaction.
    Type: Application
    Filed: March 20, 2014
    Publication date: December 1, 2016
    Inventors: Mark Doherty, Siamak Nazari, Jonathan Stewart, Richard Dalzell, Peter Hynes
  • Publication number: 20160342362
    Abstract: Disclosed herein is a storage array configured for volume migration. An example of the storage array includes migration logic, at least partially comprising hardware logic, to establish a pass-through volume in the storage array wherein the pass-through volume is not associated with local storage in the storage array, such that communication paths between a host computing device, a source volume, and the pass-through volume during are maintained during migration. The migration logic is configured to convert the pass-through volume to a destination volume in the storage array after data migration, wherein the destination volume is associated with local storage within the storage array.
    Type: Application
    Filed: January 23, 2014
    Publication date: November 24, 2016
    Applicant: Hewlett Packard Enterprise Development LP
    Inventors: Murali Vaddagiri, Jonathan Andrew McDowell, Siamak Nazari
  • Publication number: 20160342476
    Abstract: A data storage drive and a controller communicatively coupled to the data storage drive. The data storage drive includes a first region of storage space and at least a second region of storage space. The storage drive to reserve the first region of storage space for over-provisioning operations. The controller is to instruct the data storage drive to use the second region of storage space for over-provisioning operations.
    Type: Application
    Filed: March 20, 2014
    Publication date: November 24, 2016
    Inventors: Siamak Nazari, Danil Aaron Harbaugh, William Joshua Price, Danyaal Masood Khan, Faris Hindi
  • Publication number: 20160335022
    Abstract: In example implementations, unreferenced memory addresses in a segment of a storage volume may be identified. Access to the segment of the storage volume may be controlled by one of a plurality of storage volume controllers (SVCs). The plurality of SVCs may control access to respective segments of the storage volume. Indicators of the identified unreferenced memory addresses may be stored in a volatile memory in the one of the plurality of SVCs. In response to an input/output (I/O) command from a host, data may be written to one of the identified unreferenced memory addresses corresponding to one of the indicators stored in the volatile memory. After the data has been written, the one of the indicators may be deleted from the volatile memory. The one of the identified unreferenced memory addresses may not have been made available to other SVCs after being identified.
    Type: Application
    Filed: May 11, 2015
    Publication date: November 17, 2016
    Inventors: Siamak Nazari, Jin Wang, 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: 20160203043
    Abstract: Disclosed herein are a system, non-transitory computer-readable medium, and method for maintaining storage unit transaction logs. Storage unit transaction logs received from controllers are separated.
    Type: Application
    Filed: August 29, 2013
    Publication date: July 14, 2016
    Inventors: Siamak Nazari, Jin Wang, Srinivasa D. Murthy, Ming Ma
  • Publication number: 20160197994
    Abstract: Example embodiments relate to storage array confirmation of use of a path. A controller node of a storage array may confirm use of a path to a storage volume of the storage array. The controller node may include a command monitor to detect commands at a communication layer that is above a transport protocol layer. The commands may flow via a path from a host to the storage volume. The controller node may include a command analyzer to determine whether at least one of the commands indicates that the host has detected or is capable of using the storage volume successfully via the path. In other words, the command analyzer may determine that the path is active.
    Type: Application
    Filed: September 5, 2013
    Publication date: July 7, 2016
    Inventors: Siamak Nazari, Jonathan Andrew McDowell
  • Publication number: 20160196078
    Abstract: Example embodiments relate to a mesh topology storage cluster with art array based manager. The mesh topology storage may include a first pair of controller nodes to access a first storage volume, and a second pair of controller nodes to access a second storage volume. The mesh topology storage may include an array based manager (ABM) associated with the first pair of controller nodes to monitor paths to the first storage volume via the first pair of controller nodes and to monitor paths to the second storage volume via the second pair of controller nodes. The mesh topology storage may include a passive component associated with the second pair of controller nodes to route ABM-type communications of the second pair of controller nodes to the ABM.
    Type: Application
    Filed: September 5, 2013
    Publication date: July 7, 2016
    Applicant: Hewlett Packard Enterprise Development LP
    Inventors: James D. Preston, Siamak Nazari, Rodger Daniels
  • Publication number: 20160092121
    Abstract: A system that includes a storage drive and a controller communicatively coupled to the storage drive. The storage drive includes a first region of storage space that is mapped to a virtual volume and at least a second region of storage space reserved for over-provisioning operations. The controller is to unmap an operable portion of the first region of storage space in response to aging of the storage drive so that the unmapped portion can be used for over-provisioning operations.
    Type: Application
    Filed: September 26, 2014
    Publication date: March 31, 2016
    Inventors: Siamak Nazari, Daniel Aaron Harbaugh, Gilad Sade, Faris Hindi, Danyaal Masood Khan