Patents Assigned to Pavilion Data Systems, Inc.
  • Patent number: 10241722
    Abstract: A processing device of a storage server that manages a plurality of SSDs receives to read data. The processing device determines a first SSD of the plurality of SSDs on which the data is stored, and determines that the first SSD is performing a background operation. The processing device determines whether the data is located on a block of the first SSD that will be unavailable during the background operation. Responsive to determining that the data is located on the block of the first SSD, the processing device reconstructs the data based on additional data on one or more remaining SSDs of the plurality of SSDs. The processing device then generates a response to the request that includes the data.
    Type: Grant
    Filed: May 26, 2017
    Date of Patent: March 26, 2019
    Assignee: Pavilion Data Systems, Inc.
    Inventors: Kiron Balkrishna Malwankar, Karagada Ramarao Kishore, Sundar Kanthadai
  • Patent number: 10235098
    Abstract: A processing device generates a clone of a first volume of storage, the first volume comprising a plurality of storage blocks, wherein the clone is a second volume that is writable and that references the plurality of storage blocks. The processing device increments a global volume count that represents a number of volumes. For each storage block of the plurality of storage blocks, the processing device postpones an update to metadata of the storage block until an event that causes any volume to stop referencing the storage block, wherein the metadata indicates volumes that reference the storage block.
    Type: Grant
    Filed: January 10, 2017
    Date of Patent: March 19, 2019
    Assignee: Pavilion Data Systems, Inc.
    Inventors: Raghuraman Govindasamy, Venkeepuram R. Satish, Muthukumar Ratty
  • Patent number: 10216423
    Abstract: A processing device of a storage server that manages a plurality of SSDs receives a request to write data. The processing device determines one or more attributes associated with the request, generates a stream tag for the request based on the one or more attributes, and sends a first write command to a first SSD of the plurality of SSDs. The first write command comprises at least a portion of the data and the stream tag that causes the first SSD to write the portion of the data to a first stream block of the first SSD.
    Type: Grant
    Filed: September 15, 2017
    Date of Patent: February 26, 2019
    Assignee: Pavilion Data Systems, Inc.
    Inventors: Kiron Balkrishna Malwankar, Karagada Ramarao Kishore, Sundar Kanthadai
  • Patent number: 10191812
    Abstract: A storage server includes an IO controller, a management controller and physical drives. The IO controller generates multiple metadata updates and writes a cache entry that includes the multiple metadata updates to a first cache in memory of the management controller. The IO controller additionally writes a copy of the cache entry to a second cache in a memory of the IO controller and increments a commit pointer in the first and second caches to indicate that the metadata updates are committed.
    Type: Grant
    Filed: March 30, 2017
    Date of Patent: January 29, 2019
    Assignee: Pavilion Data Systems, Inc.
    Inventors: Suhas Dantkale, Venkeepuram R. Satish, Raghuraman Govindasamy
  • Patent number: 10175891
    Abstract: A processing device of a storage server receives a write request to write to a first logical address of a virtual storage device that is mapped to a plurality of SSDs. The processing device stores a data block associated with the request in a buffer, stores an entry for the write request in a queue, the entry comprising a reference to the data block in the buffer, sends a write command to an SSD, the write command comprising the data block, and subsequently receives an acknowledgment that the data block has been written to the SSD. The processing device maintains the data block in the buffer until a combined size of a plurality of data blocks in the buffer is equal to or greater than a threshold, the threshold being based on a number of SSDs in the plurality of SSDs and a block size of the plurality of SSDs.
    Type: Grant
    Filed: March 14, 2017
    Date of Patent: January 8, 2019
    Assignee: Pavilion Data Systems, Inc.
    Inventors: Kiron Balkrishna Malwankar, Karagada Ramarao Kishore, Sundar Kanthadai
  • Patent number: 10079889
    Abstract: A solid state drive (SSD) comprises a storage area, a network interface controller (NIC) and a storage controller operatively coupled to the storage area. The storage controller comprises a mapping between the storage area and a virtual storage device that is accessible to a remote computing device. The storage controller is configured to receive a message encapsulating an input/output (I/O) command from a remote computing device via the NIC, wherein the I/O command is directed to the virtual storage device. The storage controller is further configured to determine one or more logical addresses of the virtual storage device specified in the I/O command, translate the one or more logical addresses of the virtual storage device into one or more physical addresses of the storage area, and access the one or more physical addresses of the storage area.
    Type: Grant
    Filed: February 27, 2018
    Date of Patent: September 18, 2018
    Assignee: Pavilion Data Systems, Inc.
    Inventors: Kiron Balkrishna Malwankar, Raghuraman Govindasamy, Dan M. Melnic
  • Patent number: 9936024
    Abstract: A storage server generates a device tree representing a maximal topology of the storage server, wherein the maximal topology is a maximum number of storage controllers and solid state drives (SSDs) that are supported by the storage server, and wherein a plurality of entries in the device tree contain placeholder information. The storage server discovers one or more SSDs of the storage server and determines drive information for the one or more SSDs that have been discovered. The storage server replaces the placeholder information in one or more of the plurality of entries in the device tree with the drive information for the one or more SSDs.
    Type: Grant
    Filed: February 6, 2017
    Date of Patent: April 3, 2018
    Assignee: Pavilion Data Systems, Inc.
    Inventors: Kiron Balkrishna Malwankar, Raghuraman Govindasamy, Dan M. Melnic
  • Patent number: 9727456
    Abstract: A processing device identifies a plurality of solid state storage devices arranged in an array and determines, for at least one solid state storage device of the plurality of solid state storage devices, a first time window during which the at least one solid state storage device is permitted to perform one or more garbage collection operations. The processing device then sends, to the at least one solid state storage device, a message comprising the first time window allocated to the at least one storage device, wherein the at least one solid state storage device is to perform the garbage collection operations during the first time window allocated to the at least one solid state storage device.
    Type: Grant
    Filed: November 3, 2014
    Date of Patent: August 8, 2017
    Assignee: Pavilion Data Systems, Inc.
    Inventors: Kiron Balkrishna Malwankar, Raghuraman Govindasamy, Dan M. Melnic
  • Patent number: 9720598
    Abstract: A storage system comprises a storage array comprising a plurality of solid state storage devices (SSDs), a first processor comprising a first root complex of the storage system, a plurality of controller devices, and a first switch to interconnect the plurality of SSDs, the first processor and the plurality of controller devices. A first controller device of the plurality of controller devices is to connect the storage system to one or more remote servers. The first controller device is further to receive a first request from a first server of the one or more remote servers and determine whether the first request is a data request or a control request. The first controller device is further to send a first message to a first SSD of the plurality of SSDs via the first switch, bypassing the first processor, responsive to a determination that the first request is a data request.
    Type: Grant
    Filed: February 12, 2016
    Date of Patent: August 1, 2017
    Assignee: Pavilion Data Systems, Inc.
    Inventor: Kiron Balkrishna Malwankar
  • Patent number: 9712619
    Abstract: A processing device receives an input/output (I/O) command generated by a process, the I/O command directed to a virtual storage provided to a host executing the process, wherein the virtual storage comprises a virtual non-volatile memory express (NVMe) drive. The processing device generates a new I/O command based on the received I/O command and encapsulates the new I/O command into a message. The processing device sends the message to at least one of a remote NVMe storage device or a storage server comprising one or more remote NVMe storage devices.
    Type: Grant
    Filed: November 4, 2014
    Date of Patent: July 18, 2017
    Assignee: Pavilion Data Systems, Inc.
    Inventors: Kiron Balkrishna Malwankar, Raghuraman Govindasamy, Dan M. Melnic
  • Patent number: 9652182
    Abstract: Disclosed are a system, a method and/or an apparatus of a shareable virtual non-volatile storage device for a server. In one embodiment, the system includes a server, a storage array, a management processor, and a switching fabric. The storage array includes a storage device coupled with a controller associated with a shared driver to receive a data request from the server at a remote location from the storage array through the switch fabric via a communication link to direct the data request to the storage device coupled with it and transmit data to the server through the switch fabric. A virtual storage device is generated in the server to enable the server to share the shared driver in the storage array with other servers through the switch fabric between the server and the storage array. The server distributes the data across the storage devices through the shared driver.
    Type: Grant
    Filed: January 31, 2013
    Date of Patent: May 16, 2017
    Assignee: Pavilion Data Systems, Inc.
    Inventors: Kiron Balkrishna Malwankar, Srinivas Prasad Vellanki, Hemanth Srinivas Ravi
  • Patent number: 9565269
    Abstract: A processing device receives a message encapsulating an input/output (I/O) command from a remote computing device. The processing device identifies one or more physical storage devices to be accessed to satisfy the I/O command. The processing device then sends, to each physical storage device of the one or more physical storage devices, one or more non-volatile memory express (NVMe) commands directed to that physical storage device.
    Type: Grant
    Filed: November 4, 2014
    Date of Patent: February 7, 2017
    Assignee: Pavilion Data Systems, Inc.
    Inventors: Kiron Balkrishna Malwankar, Raghuraman Govindasamy, Dan M. Melnic
  • Patent number: 9285995
    Abstract: A controller device associated with a disk array that comprises a plurality of storage devices and a processor receives a request from a host machine that is at a remote location from the disk array. The controller device determines that the request is a data request or a control request based on metadata of the request. Responsive to determining that the request is a data request the controller device converts a format of the data request from a first format to a second format that is compatible with the plurality of storage devices. The data request is then routed in the second format directly to at least one storage device of the plurality of storage devices.
    Type: Grant
    Filed: January 14, 2015
    Date of Patent: March 15, 2016
    Assignee: Pavilion Data Systems, Inc.
    Inventor: Kiron Balkrishna Malwankar
  • Patent number: 8966172
    Abstract: Disclosed are a system, a method and/or an apparatus of processor agnostic data storage in a PCIE based shared storage environment. In one aspect, a method includes processing a storage based request received at an adapter circuit of a controller device associated with a disk array to direct the storage based request to at least one of a processor of the disk array and a plurality of storage devices of the disk array. The method also includes routing, through an interface circuit of the controller device, the data request in the other format compatible with the storage device directly to at least one storage device of the plurality of storage devices of the disk array coupled to the controller device agnostic to a processor of the disk array to store a data associated with the data request based on a mapping table.
    Type: Grant
    Filed: January 23, 2012
    Date of Patent: February 24, 2015
    Assignee: Pavilion Data Systems, Inc.
    Inventor: Kiron Balkrishna Malwankar