Patents by Inventor Neil Buda Vachharajani

Neil Buda Vachharajani 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: 10496330
    Abstract: A method of using flash storage devices with different sized erase blocks is provided. The method includes allocating a plurality of erase blocks of heterogeneous erase block sizes to a RAID stripe, to form a tile pattern having the heterogeneous erase block sizes in the RAID stripe. The method includes writing the RAID stripe across the flash storage devices in accordance with the allocating, and stopping the writing the RAID stripe, responsive to contents of the RAID stripe reaching a threshold.
    Type: Grant
    Filed: October 31, 2017
    Date of Patent: December 3, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Andrew R. Bernat, Timothy W. Brennan, Mark L. McAuliffe, Eric D. Seppanen, Neil Buda Vachharajani
  • Patent number: 10481798
    Abstract: A storage controller coupled to a storage array comprising one or more storage devices receive a request to write data to one of the storage devices. The storage controller determines a first data block on the storage device comprising a list of deallocated data blocks on the storage device, the list comprising a block number of each deallocated data block and an access operation count value at which each deallocated data block was deallocated. The storage controller identifies a second data block from the list of deallocated data blocks on the storage device based on a corresponding access operation count value from the list and writes the data to the second data block.
    Type: Grant
    Filed: October 28, 2016
    Date of Patent: November 19, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Nidhi Pankaj Doshi, Eric D. Seppanen, Neil Buda Vachharajani
  • Publication number: 20190236004
    Abstract: A method for memory management in a storage system is provided. The method includes defining a required set of pages for writes to solid-state memory and defining multiple levels of indirection for writing data to the solid-state memory, comprising data stripes, each having a plurality of allocation units and each of the allocation units having a plurality of data units. The method includes assigning portions of an allocation unit to a plurality of data units such that one portion of the allocation unit fills an instance of the required set of pages that straddles a boundary between a first data unit and a second data unit, and writing the plurality of data units to the solid-state memory, with the plurality of data units satisfying the required set of pages for writes to solid-state memory.
    Type: Application
    Filed: April 11, 2019
    Publication date: August 1, 2019
    Inventors: Andrew R. Bernat, Timothy W. Brennan, Mark L. McAuliffe, Neil Buda Vachharajani
  • Publication number: 20180121088
    Abstract: A storage controller coupled to a storage array comprising one or more storage devices receive a request to write data to one of the storage devices. The storage controller determines a first data block on the storage device comprising a list of deallocated data blocks on the storage device, the list comprising a block number of each deallocated data block and an access operation count value at which each deallocated data block was deallocated. The storage controller identifies a second data block from the list of deallocated data blocks on the storage device based on a corresponding access operation count value from the list and writes the data to the second data block.
    Type: Application
    Filed: October 28, 2016
    Publication date: May 3, 2018
    Inventors: Nidhi Pankaj Doshi, Eric D. Seppanen, Neil Buda Vachharajani