Patents by Inventor Vladislav Bolkhovitin

Vladislav Bolkhovitin 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: 20180341429
    Abstract: A system and method improve the performance of non-volatile memory storage by facilitating direct memory access (DMA) transfers between a remote host and a non-volatile memory based storage system, such as a flash memory based data storage device (e.g., a solid state drive (SSD)). In conjunction with reading from and writing to non-volatile memory storage, a memory buffer on the non-volatile memory system is allocated, and a read or write command is translated to point to the allocated buffer. Thereafter, read and write operations may be performed through a controller, such as a non volatile memory express (NVMe) controller, using remote direct memory access (RDMA) transfers, thus bypassing time consuming processor steps of buffering data to main memory and allowing bi-directional throughput to reach network and SSD speeds.
    Type: Application
    Filed: August 22, 2017
    Publication date: November 29, 2018
    Inventors: Vladislav Bolkhovitin, Warren Fritz Kruger
  • Publication number: 20180341548
    Abstract: A system and method improve the performance of non-volatile memory storage by offloading parity computations to facilitate high speed data transfers, including direct memory access (DMA) transfers, between a remote host and a non-volatile memory based storage system, such as a flash memory based data storage device (e.g., SSD). In conjunction with writing to non-volatile memory storage, a stripe map is used to target a selected data storage device for parity generation. All data of a stripe is transmitted to the selected data storage device to generate the parity and the generated parity is propagated from the selected data storage device to other data storage devices in the stripe. The data for the stripe may also be propagated from the selected data storage device to the other data storage devices in the stripe.
    Type: Application
    Filed: March 26, 2018
    Publication date: November 29, 2018
    Inventors: Vladislav Bolkhovitin, Brian W. O'Krafka, Sanjay Subbarao
  • Publication number: 20180341606
    Abstract: Data management functions are offloaded from a main controller to individual storage devices in a multi-device storage environment. The main controller receives a data management request from a host system, and responds by determining one or more storage devices and one or more data management operations to be performed by the one or more storage devices. The main controller initiates performance of a data management function corresponding to the data management request, by sending one or more data management commands to the one or more storage devices, and initiating one or more data transfers, such as a direct memory access operation to transfer data between a memory buffer of a storage device and a host memory buffer of the host system, and an internal data transfer between two or more of the storage devices using an internal communication fabric of the data storage sub system.
    Type: Application
    Filed: March 26, 2018
    Publication date: November 29, 2018
    Inventors: Vladislav Bolkhovitin, Sanjay Subbarao, Brian W. O'Krafka, Anand Kulkarni, Warren Fritz Kruger
  • Publication number: 20180341549
    Abstract: A system and method improve the performance of non-volatile memory storage by rebuilding, on the fly, “lost data” in response to a read request, which identifies data to be read or recovered, by identifying a parity data storage device in a set of data storage devices that contains parity corresponding to the identified data; sending a reconstruction request to a respective data storage device, which may be the parity data storage device or other data storage device in the system, to reconstruct the identified data, and receiving the identified data from the respective data storage device. The reconstruction request commands the respective data storage device to retrieve, via peer-to-peer read requests, from other data storage devices, data from one or more data blocks, and to reconstruct the identified data based on the retrieved data and parity data locally stored at the parity data storage device.
    Type: Application
    Filed: March 26, 2018
    Publication date: November 29, 2018
    Inventors: Vladislav Bolkhovitin, Brian W. O'Krafka, Sanjay Subbarao
  • Publication number: 20170242785
    Abstract: A method of managing a storage system having one or more storage devices includes a host-based garbage collection operation that includes identifying a logical stripe in accordance with data storage information stored at the host system, and enabling a process of coalescing valid data in a target logical stripe, the coalescing process including moving the valid data in the logical stripe and repacking valid logical addresses to the beginning of the target logical stripe, comprising the identified logical stripe or another logical stripe. Further, the use of an internal copy operation allows the host-based garbage collection operation to occur without transferring data back to the host, thus minimizing the number of I/O operations between the host and storage devices. Additionally, use of the host-based garbage collection operation allows device-level garbage collection to be minimized, and more sophisticated garbage collection algorithms (e.g., matching the current workload) to be used.
    Type: Application
    Filed: July 12, 2016
    Publication date: August 24, 2017
    Inventors: Brian W. O'Krafka, Vladislav Bolkhovitin, Vivek Shivhare
  • Publication number: 20170242626
    Abstract: Systems, methods and/or devices are used to coalesce metadata and data writes via write serialization with device-level address remapping. In one aspect, a method of managing a storage system having one or more storage devices includes a serialized write operation to the storage system, in which a serialization segment accumulates data objects and mapping information until the segment is full, at which time the serialization segment is written to the storage system in a single contiguous write. As a result, the number of I/O operations is decreased from a minimum of two (one to write data and one to write updated mapping information) to a single write operation. Further, if the serialization segment contains existing valid data prior to accumulating data objects and mapping information, the valid data is moved to the beginning of the serialization segment using either a remap or xcopy operation.
    Type: Application
    Filed: February 8, 2017
    Publication date: August 24, 2017
    Inventors: Brian W. O'Krafka, Johann George, Vladislav Bolkhovitin, Manavalan Krishnan, Evgeniy Firsov
  • Publication number: 20170242790
    Abstract: Systems, methods and/or devices are used for efficient implementation of optimized host-based garbage collection strategies using xcopy and arrays of flash devices. In one aspect, a method of managing a storage system having one or more storage devices includes a host-based garbage collection operation that includes identifying two or more logical stripes in accordance with data storage information stored at the host system, and enabling a process of coalescing valid data in the two or more logical stripes. Further, the use of an internal copy operation (e.g., xcopy), allows the host-based garbage collection operation to occur without transferring data back to the host, thus minimizing the number of I/O operations between the host and storage devices. Additionally, use of the host-based garbage collection operation allows more sophisticated garbage collection algorithms (e.g., matching the current workload) to be used, and ensures that multiple logical stripes are available to write data.
    Type: Application
    Filed: July 12, 2016
    Publication date: August 24, 2017
    Inventors: Brian W. O'Krafka, Vladislav Bolkhovitin, Vivek Shivhare
  • Publication number: 20160070652
    Abstract: A storage system implements a sparse, thinly provisioned logical-to-physical translation layer. The storage system may perform operations to modify logical-to-physical mappings, including creating, removing, and/or modifying any-to-any and/or many-to-one mappings between logical identifiers and stored data (logical manipulation operations). The storage system records persistent metadata to render the logical manipulation (LM) operations persistent and crash-safe. The storage system may provide access to LM functionality through a generalized LM interface. Clients may leverage the LM interface to efficiently implement higher-level functionality and/or offload LM operations to the storage system.
    Type: Application
    Filed: December 12, 2014
    Publication date: March 10, 2016
    Applicant: Fusion-IO, Inc.
    Inventors: Swaminathan Sundararaman, Nisha Talagala, Robert Wipfel, Sriram Subramanian, Vladislav Bolkhovitin