Patents by Inventor Vijay Karamcheti

Vijay Karamcheti 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: 9727112
    Abstract: In one embodiment of the invention, a memory apparatus for improved write performance is disclosed. The memory apparatus includes a base printed circuit board (PCB) having an edge connector for plugging into a host server system; a card level power source to provide card level power during a power failure; a memory controller coupled to the card level power source and having one or more memory channels; and one or more non-volatile memory devices (NVMDs) coupled to the card level power source and organized to respectively couple to the memory channels controlled by the memory controller. Each memory controller provides queuing and scheduling of memory operations on a channel for each NVMD in the memory channels. Responsive to power failure, the memory controller receives card level power and changes the scheduling of memory operations to the NVMDs in each memory channel.
    Type: Grant
    Filed: September 29, 2014
    Date of Patent: August 8, 2017
    Assignee: Virident Systems, LLC
    Inventors: Vijay Karamcheti, Ashwin Narasimha
  • Publication number: 20170220461
    Abstract: An apparatus includes a printed circuit board with a plurality of printed circuit board traces, a memory controller mounted on the printed circuit board coupled to one or more of the plurality of printed circuit board traces, a plurality of non-volatile type of memory integrated circuits coupled to the printed circuit board, and a plurality of support integrated circuits coupled between the memory controller and the plurality of non-volatile type of memory integrated circuits.
    Type: Application
    Filed: April 17, 2017
    Publication date: August 3, 2017
    Inventors: Vijay KARAMCHETI, Kumar GANAPATHY, Kenneth Alan OKIN, Rajesh PAREKH
  • Patent number: 9678665
    Abstract: Techniques for improving memory page allocation are disclosed. In some embodiments, the techniques may be realized as a method for improving memory page allocation including generating, using a compression unit, compressed grains associated with compressed blocks, identifying a write page allocation unit to query, receiving, at the write page allocation unit, a query for a flash memory location to store the compressed grains, determining a flash memory location for the compressed grains, determining a parity location for the compressed grains, returning offsets indicating the flash memory location and the parity location, sending the compressed grains to the free grain location and a parity bit to the parity location as part of an atomic transaction, and recording a start location of compressed grains in a mapping.
    Type: Grant
    Filed: March 6, 2015
    Date of Patent: June 13, 2017
    Assignee: Western Digital Technologies, Inc.
    Inventors: Vijay Karamcheti, Ashwin Narasimha, Ashish Singhai
  • Patent number: 9672158
    Abstract: Main memory is managed by receiving a command from an application to read data associated with a virtual address that is mapped to the main memory. A memory controller determines that the virtual address is mapped to one of the symmetric memory components of the main memory, and accesses memory use characteristics indicating how the data associated with the virtual address has been accessed, The memory controller determines that the data associated with the virtual address has access characteristics suited to an asymmetric memory component of the main memory and loads the data associated with the virtual address to the asymmetric memory component of the main memory. After the loading and using the memory management unit, a command is received from the application to read the data associated with the virtual address, and the data associated with the virtual address is retrieved from the asymmetric memory component.
    Type: Grant
    Filed: January 7, 2016
    Date of Patent: June 6, 2017
    Assignee: Virident Systems Inc.
    Inventors: Vijay Karamcheti, Kenneth A. Okin, Kumar Ganapathy, Ashish Singhai, Rajesh Parekh
  • Publication number: 20170123677
    Abstract: A system comprising a processor and a memory storing instructions that, when executed, cause the system to retrieve data blocks from a data store; identify an association between the retrieved data blocks and one or more reference data sets stored in the data store, wherein the association reflects a common dependency of the retrieved data blocks to the one or more reference data sets; generate a segment including the data blocks that depend on the common reference data set; generate a first identifier for the segment and track the segment using the first identifier.
    Type: Application
    Filed: November 4, 2015
    Publication date: May 4, 2017
    Inventors: Ashish Singhai, Saurabh Manchanda, Ashwin Narasimha, Vijay Karamcheti
  • Publication number: 20170123689
    Abstract: A system comprising a processor and a memory storing instructions that, when executed, cause the system to receive a data stream including a set of new data blocks, retrieve a reference data set having reference data blocks from a data store, encode the new set of data blocks based on the reference data set while concurrently generating a second reference data set including a subset of reference data blocks and the set of new data blocks of the data stream and store the new reference data set in the data store.
    Type: Application
    Filed: November 4, 2015
    Publication date: May 4, 2017
    Inventors: Ashish Singhai, Saurabh Manchanda, Ashwin Narasimha, Vijay Karamcheti
  • Publication number: 20170123678
    Abstract: A system comprising a processor and a memory storing instructions that, when executed, cause the system to receive data blocks of an incoming data stream, determine a first reference data set associated with a segment of data store based on the received data blocks, determine a state of the first reference data set, determine whether the first reference data set meets a retirement criteria based on the state, and responsive to meeting the retirement criteria, perform retiring of the first reference data set.
    Type: Application
    Filed: November 4, 2015
    Publication date: May 4, 2017
    Inventors: Ashish Singhai, Saurabh Manchanda, Ashwin Narasimha, Vijay Karamcheti
  • Publication number: 20170123676
    Abstract: A system comprising a processor and a memory storing instructions that, when executed, cause the system to retrieve reference data blocks from a data store, aggregate the reference data blocks into a first set based on a criterion, generate a reference data set based on a portion of the first set including the reference data blocks and store the reference data set in the data store.
    Type: Application
    Filed: November 4, 2015
    Publication date: May 4, 2017
    Inventors: Ashish Singhai, Saurabh Manchanda, Ashwin Narasimha, Vijay Karamcheti
  • Patent number: 9626290
    Abstract: An apparatus includes a printed circuit board with a plurality of printed circuit board traces, a memory controller mounted on the printed circuit board coupled to one or more of the plurality of printed circuit board traces, a plurality of non-volatile type of memory integrated circuits coupled to the printed circuit board, and a plurality of support integrated circuits coupled between the memory controller and the plurality of non-volatile type of memory integrated circuits.
    Type: Grant
    Filed: September 2, 2014
    Date of Patent: April 18, 2017
    Assignee: Virident Systems, LLC
    Inventors: Vijay Karamcheti, Kumar Ganapathy, Kenneth Alan Okin, Rajesh Parekh
  • Publication number: 20170097960
    Abstract: Embodiments of the present invention include a memory unit and a processor coupled to a memory unit. The processor is operable to group a plurality of subsets of data from an input data stream and compute a first hash value corresponding to a first grouped subset of data. Additionally, the processor is operable to detect a match between the first hash value and a second hash value stored in a hash table. Furthermore, the processor is also configured to monitor a hash value match frequency for the input data stream in which the processor is operable to increment a counter value responsive to a detection of the match and determine an entropy level for the input data stream based on the counter value relative to a frequent hash value match threshold.
    Type: Application
    Filed: December 15, 2016
    Publication date: April 6, 2017
    Inventors: Ashwin NARASIMHA, Ashish SINGHAI, Vijay KARAMCHETI, Krishanth SKANDAKUMARAN
  • Patent number: 9588698
    Abstract: Some implementations include a method of managing a hosted non-volatile random-access memory (NVRAM) based storage subsystem that includes NVRAM devices. The method includes: receiving, at a device driver on the host computing device, write requests each requesting to write a respective unit of data to the NVRAM-based storage subsystem; categorizing the write requests into subgroups of write requests, where write requests within respective subgroups are mutually exclusive; ascertaining a load condition of each of several of the NVRAM devices of the NVRAM-based storage subsystem; identifying a target location on at least one NVRAM device to service a particular subgroup of write requests according to the ascertained load conditions of the NVRAM devices of the NVRAM-based storage subsystem; and servicing the particular subgroup of write requests by writing the corresponding units of data to the identified target location on the at least one NVRAM device of the NVRAM-based storage subsystem.
    Type: Grant
    Filed: March 22, 2016
    Date of Patent: March 7, 2017
    Assignee: Virident Systems Inc.
    Inventors: Vijay Karamcheti, Ashish Singhai, Shibabrata Mondal, Ajith Kumar
  • Publication number: 20170038981
    Abstract: Some implementations include a method of managing a hosted non-volatile random-access memory (NVRAM) based storage subsystem that includes NVRAM devices. The method includes: receiving, at a device driver on the host computing device, write requests each requesting to write a respective unit of data to the NVRAM-based storage subsystem; categorizing the write requests into subgroups of write requests, where write requests within respective subgroups are mutually exclusive; ascertaining a load condition of each of several of the NVRAM devices of the NVRAM-based storage subsystem; identifying a target location on at least one NVRAM device to service a particular subgroup of write requests according to the ascertained load conditions of the NVRAM devices of the NVRAM-based storage subsystem; and servicing the particular subgroup of write requests by writing the corresponding units of data to the identified target location on the at least one NVRAM device of the NVRAM-based storage subsystem.
    Type: Application
    Filed: October 24, 2016
    Publication date: February 9, 2017
    Inventors: Vijay Karamcheti, Ashish Singhai, Shibabrata Mondal, Ajith Kumar
  • Patent number: 9552384
    Abstract: Embodiments of the present invention include a memory unit and a processor coupled to a memory unit. The processor is operable to group a plurality of subsets of data from an input data stream and compute a first hash value corresponding to a first grouped subset of data. Additionally, the processor is operable to detect a match between the first hash value and a second hash value stored in a hash table. Furthermore, the processor is also configured to monitor a hash value match frequency for the input data stream in which the processor is operable to increment a counter value responsive to a detection of the match and determine an entropy level for the input data stream based on the counter value relative to a frequent hash value match threshold.
    Type: Grant
    Filed: June 19, 2015
    Date of Patent: January 24, 2017
    Assignee: HGST Netherlands B.V.
    Inventors: Ashwin Narasimha, Ashish Singhai, Vijay Karamcheti, Krishanth Skandakumaran
  • Patent number: 9536609
    Abstract: A memory module is provided. In one example, the memory module includes a printed circuit board with one or more connectors, and a plurality of multi-chip packaged integrated circuit parts mounted to the printed circuit board. Each of the plurality of multi-chip packaged integrated circuit parts includes an integrated circuit package including a slave memory controller (SMC) die and one or more pairs of (1) a spacer under the slave memory controller die and (2) a flash memory die under the spacer. Each flash memory die is larger than each spacer to provide an opening into a perimeter of the flash memory die to which electrical connections may be made.
    Type: Grant
    Filed: July 27, 2015
    Date of Patent: January 3, 2017
    Assignee: Virident Systems, Inc.
    Inventors: Vijay Karamcheti, Kumar Ganapathy
  • Publication number: 20160371292
    Abstract: An apparatus and method for inline compression and deduplication is presented. Embodiments of the present invention include a memory unit and a processor coupled to the memory unit. The processor is configured to receive a subset of data from a data stream and select a reference data block corresponding to the subset of data, in which the reference data block is stored in a memory buffer resident in the memory unit. The processor is also configured to compare a first hash value computed for the subset of data to a second hash value computed for the reference data block, in which the first hash value and the second hash value are stored in separate hash tables and generate a compressed representation of the subset of data by modifying header data corresponding to the subset of data responsive to a detected match between the first hash value and the second hash value in one of the separate hash tables.
    Type: Application
    Filed: June 19, 2015
    Publication date: December 22, 2016
    Inventors: Ashwin NARASIMHA, Ashish SINGHAI, Vijay KARAMCHETI
  • Publication number: 20160371267
    Abstract: Embodiments of the present invention include a memory unit and a processor coupled to a memory unit. The processor is operable to group a plurality of subsets of data from an input data stream and compute a first hash value corresponding to a first grouped subset of data. Additionally, the processor is operable to detect a match between the first hash value and a second hash value stored in a hash table. Furthermore, the processor is also configured to monitor a hash value match frequency for the input data stream in which the processor is operable to increment a counter value responsive to a detection of the match and determine an entropy level for the input data stream based on the counter value relative to a frequent hash value match threshold.
    Type: Application
    Filed: June 19, 2015
    Publication date: December 22, 2016
    Inventors: Ashwin NARASIMHA, Ashish SINGHAI, Vijay KARAMCHETI, Krishanth SKANDAKUMARAN
  • Patent number: 9513695
    Abstract: In one embodiment of the invention, a memory apparatus is disclosed. The memory apparatus includes a memory array, a block read/write controller, and a random access read memory controller. The memory array is block read/write accessible and random read accessible. The block read/write controller is coupled between the memory array and an external interconnect. The block read/write controller performs block read/write operations upon the memory array to access blocks of consecutive memory locations therein. The random access read memory controller is coupled between the memory array and the external interconnect in parallel with the block read/write access controller. The random access read memory controller performs random read memory operations upon the memory array to access random memory locations therein.
    Type: Grant
    Filed: July 26, 2013
    Date of Patent: December 6, 2016
    Assignee: Virident Systems, Inc.
    Inventors: Vijay Karamcheti, Kenneth A. Okin, Kumar Ganapathy
  • Patent number: 9514038
    Abstract: A memory controller (MC) is associated with a remapping table to enable access to content in a memory system that includes asymmetric memory. The MC receives a request for a memory read or an Input/Output (I/O) write from a central processing unit (CPU) for a physical address specified by the system's memory management unit (MMU). The CPU uses the MMU to manage memory operations for the CPU, by translating the virtual addresses associated with CPU instructions into physical addresses representing system memory or I/O locations. The MC for asymmetric memories is configured to process the MMU-specified physical addresses as an additional type of virtual addresses, creating a layer of abstraction between the physical address specified by the MMU and the physical memory address with which that address is associated by the MC. The MC shields the CPU from the computational complexities required to implement a memory system with asymmetric components.
    Type: Grant
    Filed: March 25, 2013
    Date of Patent: December 6, 2016
    Assignee: Virident Systems Inc.
    Inventors: Kenneth A. Okin, Vijay Karamcheti
  • Publication number: 20160342195
    Abstract: In one embodiment of the invention, a memory apparatus is disclosed. The memory apparatus includes a memory array, a block read/write controller, and a random access read memory controller. The memory array is block read/write accessible and random read accessible. The block read/write controller is coupled between the memory array and an external interconnect. The block read/write controller performs block read/write operations upon the memory array to access blocks of consecutive memory locations therein. The random access read memory controller is coupled between the memory array and the external interconnect in parallel with the block read/write access controller. The random access read memory controller performs random read memory operations upon the memory array to access random memory locations therein.
    Type: Application
    Filed: April 6, 2016
    Publication date: November 24, 2016
    Inventors: Vijay Karamcheti, Kenneth Alan Okin, Kumar Ganapathy
  • Patent number: 9477595
    Abstract: Some implementations include a method of managing a hosted non-volatile random-access memory (NVRAM) based storage subsystem that includes NVRAM devices. The method includes: receiving, at a device driver on the host computing device, write requests each requesting to write a respective unit of data to the NVRAM-based storage subsystem; categorizing the write requests into subgroups of write requests, where write requests within respective subgroups are mutually exclusive; ascertaining a load condition of each of several of the NVRAM devices of the NVRAM-based storage subsystem; identifying a target location on at least one NVRAM device to service a particular subgroup of write requests according to the ascertained load conditions of the NVRAM devices of the NVRAM-based storage subsystem; and servicing the particular subgroup of write requests by writing the corresponding units of data to the identified target location on the at least one NVRAM device of the NVRAM-based storage subsystem.
    Type: Grant
    Filed: September 14, 2015
    Date of Patent: October 25, 2016
    Assignee: Virident Systems Inc.
    Inventors: Vijay Karamcheti, Ashish Singhai, Shibabrata Mondal, Ajith Kumar