Patents by Inventor Manavalan KRISHNAN

Manavalan KRISHNAN 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: 9626400
    Abstract: A computer system detects a request to access a first data object stored in a tiered data structure, that includes internal nodes and leaf nodes, where data objects in the leaf nodes include unique key information and corresponding values, and the first data object is uniquely identified by a first key. In response to detecting the request to access the first data object, the computer system retrieves a leaf node that includes the first data object and identifies the first data object in the leaf node by combining unique key information of the first data object with a key prefix that is stored separately in the leaf node to generate a combined key and determining that the combined key matches the first key that uniquely identifies the first data object. After identifying the first data object, the computer system provides access to the first data object.
    Type: Grant
    Filed: July 21, 2014
    Date of Patent: April 18, 2017
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Ramesh Chander, Johann George, Brian W. O'Krafka, Manavalan Krishnan
  • Publication number: 20170091243
    Abstract: A method of managing a storage system having one or more storage devices includes receiving a request to access, in a tiered data structure, a data object and one or more attributes of the data object and processing the access request. The request includes a first key value for the data object and respective second key values for the one or more attributes of the data object. Modified key values for the attributes of the data object are generated in accordance with at least a portion of the first key value and used to access tree entries for the data object attributes in one or more leaf nodes of the tiered data structure. A tree entry for the data object is also accessed from the same set of one or more leaf nodes.
    Type: Application
    Filed: May 2, 2016
    Publication date: March 30, 2017
    Inventors: Tomy Ammuthan Cheru, Brian W. O'Krafka, Allen Samuels, Manavalan Krishnan
  • Patent number: 9390021
    Abstract: A computer system detects a request to access a first data object stored in a tiered data structure that includes internal nodes and leaf nodes. In response to detecting the request, the computer system determines whether the first data object is stored in a cache that includes a plurality of data objects from the tiered data structure that are stored separately from their corresponding leaf node in the cache. When the first data object is stored in the cache, the computer system returns the first data object from the cache and when the first data object is not stored in the cache, the computer system traverses the tiered data structure to a leaf node that includes the first data object and returns the first data object from the leaf node for the first data object in the tiered data structure.
    Type: Grant
    Filed: July 21, 2014
    Date of Patent: July 12, 2016
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Brian W. O'Krafka, Tomy A. Cheru, Manavalan Krishnan, John Busch
  • Publication number: 20150286695
    Abstract: A memory controller detects a request, with a key to a data object and a value, to perform an operation. The memory controller locates the data object by mapping the key to a location of the data object in a tiered data structure and identifies a sequence number of the data object. When the sequence number of the data object is greater than a sequence number of a snapshot of the tiered data structure, the memory controller replaces the data object with a modified data object, including the key and the value, and assigns the modified object a unique sequence number. When the sequence number of the data object is less than the sequence number of the snapshot, the memory controller inserts a new data object, including the key and the value, into the tiered data structure and assigns the new data object the unique sequence number.
    Type: Application
    Filed: August 7, 2014
    Publication date: October 8, 2015
    Inventors: Harihara Kadayam, Niranjan Patre Neelakanta, Ajit Kumar Tapse, Manavalan Krishnan, Brian Walter O'Krafka, Johann George
  • Publication number: 20150278093
    Abstract: A computer system detects a request to access a first data object stored in a tiered data structure that includes internal nodes and leaf nodes. In response to detecting the request, the computer system determines whether the first data object is stored in a cache that includes a plurality of data objects from the tiered data structure that are stored separately from their corresponding leaf node in the cache. When the first data object is stored in the cache, the computer system returns the first data object from the cache and when the first data object is not stored in the cache, the computer system traverses the tiered data structure to a leaf node that includes the first data object and returns the first data object from the leaf node for the first data object in the tiered data structure.
    Type: Application
    Filed: July 21, 2014
    Publication date: October 1, 2015
    Inventors: Brian W. O'Krafka, Tomy A. Cheru, Manavalan Krishnan, John Busch
  • Publication number: 20150278271
    Abstract: A computer system detects a request to access a first data object stored in a tiered data structure, that includes internal nodes and leaf nodes, where data objects in the leaf nodes include unique key information and corresponding values, and the first data object is uniquely identified by a first key. In response to detecting the request to access the first data object, the computer system retrieves a leaf node that includes the first data object and identifies the first data object in the leaf node by combining unique key information of the first data object with a key prefix that is stored separately in the leaf node to generate a combined key and determining that the combined key matches the first key that uniquely identifies the first data object. After identifying the first data object, the computer system provides access to the first data object.
    Type: Application
    Filed: July 21, 2014
    Publication date: October 1, 2015
    Inventors: Ramesh Chander, Johann George, Brian W. O'Krafka, Manavalan Krishnan
  • Patent number: 8954385
    Abstract: Approaches for recovering a node of a distributed transactional system. When a recovering node is being brought on-line, a copy of at least a portion of a first data store maintained by an existing node is created without ceasing to process transactions against the first data store at the existing node. The recovering node creates a second data store based on the copy of the first data store. While the recovering node creates the second data store, the recovering node stores committed transaction data received from a plurality of nodes. The committed transaction data describes transactions committed against data stores maintained by the sender of the committed transaction data. The recovering node may thereafter replay, against the second data store, any transactions identified by the committed transaction data that are associated with a global transaction number that is more recent than is a reference commit number.
    Type: Grant
    Filed: June 28, 2011
    Date of Patent: February 10, 2015
    Assignee: SanDisk Enterprise IP LLC
    Inventors: Johann George, Darpan Dinker, Manavalan Krishnan, Brian W. O'Krafka
  • Patent number: 8868487
    Abstract: Approaches for processing an event in an objects store, such as an MySQL database management system or a memcached caching system, that are maintained on one or more solid state devices. A plurality of threads may be instantiated. Each of the threads may be configured to retrieve items from a queue of items. Each item in the queue of items may be associated with a particular event occurring within the object store. Each event is a message that indicates an activity requiring work has occurred within the object store. When a particular thread retrieves an item from the queue of items, the particular thread processes the particular event associated with the item retrieved by the particular thread. In this way, event handling in object stores such as MySQL and memcached may be performed more efficiently on a solid state device.
    Type: Grant
    Filed: April 11, 2011
    Date of Patent: October 21, 2014
    Assignee: Sandisk Enterprise IP LLC
    Inventors: Manavalan Krishnan, Darpan Dinker, Brian W. O'Krafka
  • Patent number: 8694733
    Abstract: Approaches for replicating data in a distributed transactional system. At a first node of a cluster, a per-transaction write set, comprising a plurality of write operations, is committed against a first MySQL database. One or more per-transaction write sets are replicated from the first node to a second node. Upon receiving a read query, the second node parses the read query to identify a read set, calculates a write set conflict window for the read query, and upon determining that the read set conflicts with one or more write sets in the write set conflict window, waits to process the read query until all conflicting write sets are committed. However, upon determining that the read set does not conflict any write sets in the write set conflict window, the read query is processed without first committing any write transactions in the write set conflict window for the read query.
    Type: Grant
    Filed: February 17, 2012
    Date of Patent: April 8, 2014
    Assignee: Sandisk Enterprise IP LLC
    Inventors: Manavalan Krishnan, Darpan Dinker, Johann George
  • Patent number: 8666939
    Abstract: Approaches for replicating data in a distributed transactional system. At a first node of a cluster, a per-transaction write set that comprises a plurality of write operations that are performed against a first data store maintained by the first node is committed. The per-transaction write set is replicated from the first node to a second node of the cluster. At the second node, the plurality of write operations, specified by the per-transaction write set, may be performed in parallel against a second data store maintained by the second node. At the second node, two or more threads may perform a portion of the plurality of write operations against data blocks stored within an in-memory buffer.
    Type: Grant
    Filed: June 28, 2011
    Date of Patent: March 4, 2014
    Assignee: Sandisk Enterprise IP LLC
    Inventors: Brian W. O'Krafka, Darpan Dinker, Manavalan Krishnan, Johann George
  • Publication number: 20130151467
    Abstract: Approaches for replicating data in a distributed transactional system. At a first node of a cluster, a per-transaction write set, comprising a plurality of write operations, is committed against a first MySQL database. One or more per-transaction write sets are replicated from the first node to a second node. Upon receiving a read query, the second node parses the read query to identify a read set, calculates a write set conflict window for the read query, and upon determining that the read set conflicts with one or more write sets in the write set conflict window, waits to process the read query until all conflicting write sets are committed. However, upon determining that the read set does not conflict any write sets in the write set conflict window, the read query is processed without first committing any write transactions in the write set conflict window for the read query.
    Type: Application
    Filed: February 17, 2012
    Publication date: June 13, 2013
    Inventors: Manavalan Krishnan, Darpan Dinker, Johann George
  • Publication number: 20120005154
    Abstract: Approaches for recovering a node of a distributed transactional system. When a recovering node is being brought on-line, a copy of at least a portion of a first data store maintained by an existing node is created without ceasing to process transactions against the first data store at the existing node. The recovering node creates a second data store based on the copy of the first data store. While the recovering node creates the second data store, the recovering node stores committed transaction data received from a plurality of nodes. The committed transaction data describes transactions committed against data stores maintained by the sender of the committed transaction data. The recovering node may thereafter replay, against the second data store, any transactions identified by the committed transaction data that are associated with a global transaction number that is more recent than is a reference commit number.
    Type: Application
    Filed: June 28, 2011
    Publication date: January 5, 2012
    Inventors: Johann George, Darpan Dinker, Manavalan Krishnan, Brian W. O'Krafka
  • Publication number: 20110320403
    Abstract: Approaches for replicating data in a distributed transactional system. At a first node of a cluster, a per-transaction write set that comprises a plurality of write operations that are performed against a first data store maintained by the first node is committed. The per-transaction write set is replicated from the first node to a second node of the cluster. At the second node, the plurality of write operations, specified by the per-transaction write set, may be performed in parallel against a second data store maintained by the second node. At the second node, two or more threads may perform a portion of the plurality of write operations against data blocks stored within an in-memory buffer.
    Type: Application
    Filed: June 28, 2011
    Publication date: December 29, 2011
    Inventors: Brian W. O'Krafka, Darpan Dinker, Manavalan Krishnan, Johann George
  • Publication number: 20110283045
    Abstract: Approaches for processing an event in an objects store, such as an MySQL database management system or a memcached caching system, that are maintained on one or more solid state devices. A plurality of threads may be instantiated. Each of the threads may be configured to retrieve items from a queue of items. Each item in the queue of items may be associated with a particular event occurring within the object store. Each event is a message that indicates an activity requiring work has occurred within the object store. When a particular thread retrieves an item from the queue of items, the particular thread processes the particular event associated with the item retrieved by the particular thread. In this way, event handling in object stores such as MySQL and memcached may be performed more efficiently on a solid state device.
    Type: Application
    Filed: April 11, 2011
    Publication date: November 17, 2011
    Inventors: Manavalan KRISHNAN, Darpan Dinker, Brian W. O'Krafka