Patents by Inventor Ruchirkumar D. Shah

Ruchirkumar D. Shah 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: 10592429
    Abstract: Cache memory for resistive switching memory modules is provided herein. The cache memory can reside on a separate DIMM from the resistive switching memory, in some embodiments, or can share a common DIMM with the resistive switching memory. Cache management protocols are provided to service read and write policies for managing interaction of data between the cache memory and the resistive switching memory. In various embodiments, memory controllers are optimized for physical characteristics of resistive switching memory, and cache management protocols can be implemented to take advantage of these characteristics.
    Type: Grant
    Filed: June 6, 2017
    Date of Patent: March 17, 2020
    Assignee: CROSSBAR, INC.
    Inventors: Mehdi Asnaashari, Robin Sarno, Ruchirkumar D. Shah
  • Patent number: 10169128
    Abstract: Resistive switching memory architectures disclosed herein are capable of achieving fast read/write times and, particularly in the case of multi-bank parallel processing, executing many read or write operations per second. Because resistive switching memory is not guaranteed to be error free, resistive memory controllers can be programmed for error management when paired with such memory architectures. To reduce error management overhead, a dedicated error pin is provided to mitigate or avoid the need for a status read in conjunction with each read or write operation issued to a memory device. A status read can be implemented in response to an error signal on the dedicated error pin, but otherwise can be avoided.
    Type: Grant
    Filed: June 5, 2017
    Date of Patent: January 1, 2019
    Assignee: CROSSBAR, INC.
    Inventors: Mehdi Asnaashari, Robin Sarno, Ruchirkumar D. Shah
  • Patent number: 9979540
    Abstract: A storage device contains a smart-card device and a memory device, both connected to a controller. The storage device may be used in the same manner as a conventional smart-card device, or it may be used to store a relatively large amount of data in various partitions. One of these partitions may be a read-only partition that is normally accessible only for read accesses. However, it may sometimes be necessary to update or supplement the data stored in the read-only partition. This is accomplished by a host issuing an appropriate command to the storage device, which may be accompanied by an identifier for an appropriate level of authorization. The controller then changes the attribute of the read-only partition from “read-only” to “read/write” to allow data to be written to the partition. Upon completion, the controller changes the attribute of the partition back to read-only.
    Type: Grant
    Filed: June 12, 2015
    Date of Patent: May 22, 2018
    Assignee: Micron Technology, Inc.
    Inventors: Mehdi Asnaashari, Ruchirkumar D. Shah, Sylvain Prevost, Ksheerabdhi Krishna
  • Patent number: 9792073
    Abstract: A method of managing logical unit numbers (LUNs) in a storage system includes identifying one or more LUN logical block address (LBA)-groups being affected. The one or more LUN LBA-groups defining a LUN. The method further determining the existence of an association of each of the affected LUN LBA-groups to a portion of a storage pool and maintaining a mapping table to track the association of the LUN LBA-groups to the storage pool.
    Type: Grant
    Filed: February 9, 2015
    Date of Patent: October 17, 2017
    Assignee: Avalanche Technology, Inc.
    Inventors: Mehdi Asnaashari, Siamack Nemazie, Ruchirkumar D. Shah
  • Patent number: 9727245
    Abstract: In accordance with a method of the invention, host data, accompanied by host LBA, is received from a host. If the host data is determined not to be a duplicate host data, an available intermediate LBA (iLBA) is identified and the host LBA is linked to the identified iLBA. During writing of the received host data to the SSDs, an available SLBA is identified and saved to a table at a location indexed by the identified iLBA. Accordingly, the next time the same host data is received, it is recognized as a duplicate host data and the host address accompanying it is linked to the same iLBA, which is already associated with the same SLBA. Upon this recognition, an actual write to the SSDs is avoided.
    Type: Grant
    Filed: May 26, 2015
    Date of Patent: August 8, 2017
    Assignee: Avalanche Technology, Inc.
    Inventors: Siamack Nemazie, Mehdi Asnaashari, Ruchirkumar D. Shah
  • Patent number: 9483632
    Abstract: A storage device contains a smart-card device and a memory device, both of which are accessed though a controller. The storage device may be used in the same manner as a conventional smart-card device, or it may be used to store a relatively large amount of data in various partitions corresponding to the protection level of the data stored therein. The smart-card device stores critical security parameters that are provided to the controller to protect access to some or all of the partitions of the memory device. A host connected to the controller issues commands, and the controller analyzes the commands and responds to them in various ways depending upon the nature of the command. In particular, depending upon the nature of the command, the controller may either pass the command to the smart-card device, or ignore the command either indefinitely or until a predetermined event has occurred.
    Type: Grant
    Filed: July 21, 2015
    Date of Patent: November 1, 2016
    Assignee: Micron Technology, Inc.
    Inventors: Mehdi Asnaashari, Ruchirkumar D. Shah, Sylvain Prevost, Ksheerabdhi Krishna
  • Patent number: 9413535
    Abstract: A storage device contains a smart-card device and a memory device, which is connected to a controller. The storage device may be used in the same manner as a conventional smart-card device, or it may be used to store a relatively large amount of data. The memory device may also be used to store data or instructions for use by the smart-card device. The controller includes a security engine that uses critical security parameters stored in, and received from, the smart-card device. The critical security parameters may be sent to the controller in a manner that protects them from being discovered. The critical security parameters may be encryption and/or decryption keys that may encrypt data written to the memory device and/or decrypt data read from the memory device, respectively. Data and instructions used by the smart-card device may therefore stored in the memory device in encrypted form.
    Type: Grant
    Filed: January 5, 2015
    Date of Patent: August 9, 2016
    Assignee: Micron Technology, Inc.
    Inventors: Mehdi Asnaashari, Ruchirkumar D. Shah, Sylvain Prevost, Ksheerabdhi Krishna
  • Publication number: 20150378884
    Abstract: In accordance with various embodiments of the invention, the storage processor 10, rather than the storage pool 26, determines locations within the storage pool 26 into which data from the host 12 is to be stored by controlling striping across the SSDs of the storage pool 26 thereby increasing performance of the overall system, i.e. storage system 10, storage pool 26 and host 12. Performance improvement is realized over that of prior art systems because the storage system 10 has a global view of data traffic of the overall system and is aware of what is going on with the overall system as opposed to the SSDs of the storage pool 26, which have comparatively limited view. In accordance with a method and apparatus of the invention, an exemplary manner in which the storage system 10 is capable of controlling addressing of the SSDs of the storage pool 26 is by maintaining geometry information of the SSDs in the memory 20 and maintaining virtual super blocks associated with the SSDs.
    Type: Application
    Filed: April 6, 2015
    Publication date: December 31, 2015
    Inventors: Siamack Nemazie, Mehdi Asnaashari, Ruchirkumar D. Shah
  • Publication number: 20150378886
    Abstract: Flash geometry information of the solid state disk (SSD) is maintained as is a logically-addressable SSD (laSSD) geometry information of the SSD. Based on the flash geometry and the laSSD geometry, virtual super blocks are configured by dynamically binding logical SSD logical block addresses (SLBAs) of a virtual super block with a physical super block within the laSSD. A virtual super block is made of a number of virtual blocks and each virtual block made of a number of virtual pages. Each of the virtual blocks corresponds to a physical block of a physical super block within the laSSD such that the virtual pages of the virtual block correspond to like physical pages of a corresponding physical block. Host logical block addresses (LBAs) are assigned to laSSD LBAs (SLBAs), which identify the virtual super blocks used for striping across physical super blocks.
    Type: Application
    Filed: April 6, 2015
    Publication date: December 31, 2015
    Inventors: Siamack Nemazie, Mehdi Asnaashari, Ruchirkumar D. Shah
  • Publication number: 20150324575
    Abstract: A storage device contains a smart-card device and a memory device, both of which are accessed though a controller. The storage device may be used in the same manner as a conventional smart-card device, or it may be used to store a relatively large amount of data in various partitions corresponding to the protection level of the data stored therein. The smart-card device stores critical security parameters that are provided to the controller to protect access to some or all of the partitions of the memory device. A host connected to the controller issues commands, and the controller analyzes the commands and responds to them in various ways depending upon the nature of the command. In particular, depending upon the nature of the command, the controller may either pass the command to the smart-card device, or ignore the command either indefinitely or until a predetermined event has occurred.
    Type: Application
    Filed: July 21, 2015
    Publication date: November 12, 2015
    Inventors: Mehdi Asnaashari, Ruchirkumar D. Shah, Sylvain Prevost, Ksheerabdhi Krishna
  • Publication number: 20150280912
    Abstract: A storage device contains a smart-card device and a memory device, both connected to a controller. The storage device may be used in the same manner as a conventional smart-card device, or it may be used to store a relatively large amount of data in various partitions. One of these partitions may be a read-only partition that is normally accessible only for read accesses. However, it may sometimes be necessary to update or supplement the data stored in the read-only partition. This is accomplished by a host issuing an appropriate command to the storage device, which may be accompanied by an identifier for an appropriate level of authorization. The controller then changes the attribute of the read-only partition from “read-only” to “read/write” to allow data to be written to the partition. Upon completion, the controller changes the attribute of the partition back to read-only.
    Type: Application
    Filed: June 12, 2015
    Publication date: October 1, 2015
    Inventors: Mehdi Asnaashari, Ruchirkumar D. Shah, Sylvain Prevost, Ksheerabdhi Krishna
  • Publication number: 20150253999
    Abstract: In accordance with a method of the invention, host data, accompanied by host LBA, is received from a host. If the host data is determined not to be a duplicate host data, an available intermediate LBA (iLBA) is identified and the host LBA is linked to the identified iLBA. During writing of the received host data to the SSDs, an available SLBA is identified and saved to a table at a location indexed by the identified iLBA. Accordingly, the next time the same host data is received, it is recognized as a duplicate host data and the host address accompanying it is linked to the same iLBA, which is already associated with the same SLBA. Upon this recognition, an actual write to the SSDs is avoided.
    Type: Application
    Filed: May 26, 2015
    Publication date: September 10, 2015
    Inventors: Siamack Nemazie, Mehdi Asnaashari, Ruchirkumar D. Shah
  • Patent number: 9111045
    Abstract: A storage device contains a smart-card device and a memory device, both of which are accessed though a controller. The storage device may be used in the same manner as a conventional smart-card device, or it may be used to store a relatively large amount of data in various partitions corresponding to the protection level of the data stored therein. The smart-card device stores critical security parameters that are provided to the controller to protect access to some or all of the partitions of the memory device. A host connected to the controller issues commands, and the controller analyzes the commands and responds to them in various ways depending upon the nature of the command. In particular, depending upon the nature of the command, the controller may either pass the command to the smart-card device, or ignore the command either indefinitely or until a predetermined event has occurred.
    Type: Grant
    Filed: April 16, 2012
    Date of Patent: August 18, 2015
    Assignee: Micron Technology, Inc.
    Inventors: Mehdi Asnaashari, Ruchirkumar D. Shah, Sylvain Prevost, Ksheerabdhi Krishna
  • Publication number: 20150212752
    Abstract: A storage system includes a storage processor coupled to solid state disks (SSDs) and a host, the SSDs are identified by SSD logical block addresses (SLBAs). The storage processor receives a command from the host to write data to the SSDs and further receives a location within the SSDs to write the data, the location being referred to as a host LBA. The storage processor includes a central processor unit (CPU) subsystem and maintains unassigned SLBAs of a corresponding SSD. The CPU subsystem upon receiving the command to write data, generates sub-commands based on a range of host LBAs derived from the received command and further based on a granularity. At least one of the host LBAs is non-sequential relative to the remaining host LBAs. The CPU subsystem assigns the sub-commands to unassigned SLBAs by assigning each sub-command to a distinct SSD of a stripe, the host LBAs being decoupled from the SLBAs.
    Type: Application
    Filed: April 3, 2015
    Publication date: July 30, 2015
    Inventors: Siamack Nemazie, Mehdi Asnaashari, Ruchirkumar D. Shah
  • Patent number: 9088418
    Abstract: A storage device contains a smart-card device and a memory device, both connected to a controller. The storage device may be used in the same manner as a conventional smart-card device, or it may he used to store a relatively large amount of data in various partitions. One of these partitions may be a read-only partition that is normally accessible only for read accesses. However, it may sometimes be necessary to update or supplement the data stored in the read-only partition. This is accomplished by a host issuing an appropriate command to the storage device, which may he accompanied by an identifier for an appropriate level of authorization. The controller then changes the attribute of the read-only partition from “read-only” to “read/write” to allow data to be written to the partition. Upon completion, the controller changes the attribute of the partition back to read-only.
    Type: Grant
    Filed: April 18, 2014
    Date of Patent: July 21, 2015
    Assignee: Micron Technology, Inc.
    Inventors: Mehdi Asnaashari, Ruchirkumar D. Shah, Sylvain Prevost, Ksheerabdhi Krishna
  • Publication number: 20150169230
    Abstract: A method of managing logical unit numbers (LUNs) in a storage system includes identifying one or more LUN logical block address (LBA)-groups being affected. The one or more LUN LBA-groups defining a LUN. The method further determining the existence of an association of each of the affected LUN LBA-groups to a portion of a storage pool and maintaining a mapping table to track the association of the LUN LBA-groups to the storage pool.
    Type: Application
    Filed: February 9, 2015
    Publication date: June 18, 2015
    Inventors: Mehdi Asnaashari, Siamack Nemazie, Ruchirkumar D. Shah
  • Publication number: 20150156022
    Abstract: A storage device contains a smart-card device and a memory device, which is connected to a controller. The storage device may be used in the same manner as a conventional smart-card device, or it may be used to store a relatively large amount of data. The memory device may also be used to store data or instructions for use by the smart-card device. The controller includes a security engine that uses critical security parameters stored in, and received from, the smart-card device. The critical security parameters may be sent to the controller in a manner that protects them from being discovered. The critical security parameters may be encryption and/or decryption keys that may encrypt data written to the memory device and/or decrypt data read from the memory device, respectively. Data and instructions used by the smart-card device may therefore stored in the memory device in encrypted form.
    Type: Application
    Filed: January 5, 2015
    Publication date: June 4, 2015
    Inventors: Mehdi Asnaashari, Ruchirkumar D. Shah, Sylvain Prevost, Ksheerabdhi Krishna
  • Publication number: 20150095555
    Abstract: A method of thin provisioning in a storage system is disclosed. The method includes communicating to a user a capacity of a virtual storage, the virtual storage capacity being substantially larger than that of a storage pool. Further, the method includes assigning portions of the storage pool to logical unit number (LUN) logical block address (LBA)-groups only when the LUN LBA-groups are being written to and maintaining a mapping table to track the association of the LUN LBA-groups to the storage pool.
    Type: Application
    Filed: February 3, 2014
    Publication date: April 2, 2015
    Applicant: Avalanche Technology, Inc.
    Inventors: Mehdi Asnaashari, Ruchirkumar D. Shah, Siamack Nemazie
  • Patent number: 8954658
    Abstract: A method of managing logical unit numbers (LUNs) in a storage system includes identifying one or more LUN logical block address (LBA)-groups being affected. The one or more LUN LBA-groups defining a LUN. The method further determining the existence of an association of each of the affected LUN LBA-groups to a portion of a storage pool and maintaining a mapping table to track the association of the LUN LBA-groups to the storage pool.
    Type: Grant
    Filed: November 26, 2013
    Date of Patent: February 10, 2015
    Assignee: Avalanche Technology, Inc.
    Inventors: Mehdi Asnaashari, Siamack Nemazie, Ruchirkumar D. Shah
  • Patent number: 8930711
    Abstract: A storage device contains a smart-card device and a memory device, which is connected to a controller. The storage device may be used in the same manner as a conventional smart-card device, or it may be used to store a relatively large amount of data. The memory device may also be used to store data or instructions for use by the smart-card device. The controller includes a security engine that uses critical security parameters stored in, and received from, the smart-card device. The critical security parameters may be sent to the controller in a manner that protects them from being discovered. The critical security parameters may be encryption and/or decryption keys that may encrypt data written to the memory device and/or decrypt data read from the memory device, respectively. Data and instructions used by the smart-card device may therefore stored in the memory device in encrypted form.
    Type: Grant
    Filed: April 2, 2012
    Date of Patent: January 6, 2015
    Assignee: Micron Technology, Inc.
    Inventors: Mehdi Asnaashari, Ruchirkumar D. Shah, Sylvain Prevost, Ksheerabdhi Krishna