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).

  • Publication number: 20220277006
    Abstract: Executing a query in a disaggregated cluster. A query is received at the disaggregated cluster. A query graph is created based on the query that identifies a hierarchy of vertices, where each vertex is associated with a set of data responsive to at least a portion of the query. The compute nodes process the query graph by first identifying a minimum set of tables, files, and objects stored on the storage nodes required to retrieve data that satisfy the query. Next, the compute nodes selectively assign the identified tables, files, and objects to a leaf vertex of the query graph to optimize retrieving data from the storage nodes. Thereafter, the compute nodes process the retrieved data sets associated with each vertex using separate threads of execution for each vertex of the query graph such that leaf vertices are performed in parallel. The compute nodes then provide a result set.
    Type: Application
    Filed: May 9, 2022
    Publication date: September 1, 2022
    Inventors: Brian Walter O'Krafka, John Richard Busch, Manavalan Krishnan, Kai Rothauge
  • Patent number: 11360908
    Abstract: Systems, methods and/or devices are used to perform memory-efficient mapping of block/object addresses. In one aspect, a method of managing a storage system having one or more storage devices includes a tiered data structure in which each node has a logical ID and entries in the nodes reference other nodes in the tiered data structure using the logical IDs. As a result, when a child node is updated and stored to a new location, but retains its logical ID, its parent node does not need to be updated, because the logical ID in the entry referencing the child node remains unchanged. Further, the storage system uses a secondary mapping table to translate the logical IDs to the corresponding physical locations of the corresponding nodes. Additionally, the secondary mapping table is cached in volatile memory, and as a result, the physical location of a required node is determined without accessing non-volatile memory.
    Type: Grant
    Filed: July 10, 2020
    Date of Patent: June 14, 2022
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Brian W. O'Krafka, Frederic H. Tudor, Niranjan Patre Neelakanta, Manavalan Krishnan, Johann George, Evgeniy Firsov
  • Patent number: 11327966
    Abstract: Executing a query in a disaggregated cluster. A query is received at the disaggregated cluster. A query graph is created based on the query that identifies a hierarchy of vertices, where each vertex is associated with a set of data responsive to at least a portion of the query. The compute nodes process the query graph by first identifying all tables, files, and objects stored on the storage nodes whose access is required to retrieve data that satisfy the query. Next, the compute nodes selectively assign the identified tables, files, and objects to a leaf vertex of the query graph to optimize retrieving data from the storage nodes. Thereafter, the compute nodes process the retrieved data sets associated with each vertex using separate threads of execution for each vertex of the query graph such that leaf vertices are performed in parallel. The compute nodes then provide a result set.
    Type: Grant
    Filed: September 10, 2020
    Date of Patent: May 10, 2022
    Assignee: Wind Jammer Technologies, LLC
    Inventors: Brian Walter O'Krafka, John Richard Busch, Manavalan Krishnan, Kai Rothauge
  • Patent number: 11030156
    Abstract: Apparatuses, systems, methods, and computer program products are disclosed for key-value stores with partial data access. An interface module is configured to receive a data object for storage in a key-value store. The data object may include a key and a value. A block object module is configured to generate a plurality of block objects smaller than the data object. A block object may include a new key and a new value. The new key may be based on the key for the data object and on metadata for the new value. The new value may be based on at least a portion of the value for the data object. A storage module is configured to store the block objects in the key-value store.
    Type: Grant
    Filed: August 9, 2016
    Date of Patent: June 8, 2021
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Tomy Cheru, Brian O'Krafka, Allen Samuels, Manavalan Krishnan
  • Publication number: 20200341905
    Abstract: Systems, methods and/or devices are used to perform memory-efficient mapping of block/object addresses. In one aspect, a method of managing a storage system having one or more storage devices includes a tiered data structure in which each node has a logical ID and entries in the nodes reference other nodes in the tiered data structure using the logical IDs. As a result, when a child node is updated and stored to a new location, but retains its logical ID, its parent node does not need to be updated, because the logical ID in the entry referencing the child node remains unchanged. Further, the storage system uses a secondary mapping table to translate the logical IDs to the corresponding physical locations of the corresponding nodes. Additionally, the secondary mapping table is cached in volatile memory, and as a result, the physical location of a required node is determined without accessing non-volatile memory.
    Type: Application
    Filed: July 10, 2020
    Publication date: October 29, 2020
    Inventors: Brian W. O'Krafka, Frederic H. Tudor, Niranjan Patre Neelakanta, Manavalan Krishnan, Johann George, Evgeniy Firsov
  • Patent number: 10747676
    Abstract: Systems, methods and/or devices are used to perform memory-efficient mapping of block/object addresses. In one aspect, a method of managing a storage system having one or more storage devices includes a tiered data structure in which each node has a logical ID and entries in the nodes reference other nodes in the tiered data structure using the logical IDs. As a result, when a child node is updated and stored to a new location, but retains its logical ID, its parent node does not need to be updated, because the logical ID in the entry referencing the child node remains unchanged. Further, the storage system uses a secondary mapping table to translate the logical IDs to the corresponding physical locations of the corresponding nodes. Additionally, the secondary mapping table is cached in volatile memory, and as a result, the physical location of a required node is determined without accessing non-volatile memory.
    Type: Grant
    Filed: July 12, 2016
    Date of Patent: August 18, 2020
    Assignee: SanDisk Technologies LLC
    Inventors: Brian W. O'Krafka, Frederic H. Tudor, Niranjan Patre Neelakanta, Manavalan Krishnan, Johann George, Evgeniy Firsov
  • Patent number: 10705952
    Abstract: Systems, methods, and/or devices are used to store metadata in a storage system. In one aspect, a first user space module sends a logical memory request to a memory management module of a kernel space module. The logical memory request includes data and metadata. A second user space module obtains the metadata of the logical memory request. A storage engine of the second user space module determines, in accordance with the obtained metadata, a location in non-volatile memory for the data. A second user space module generates a physical memory request including an indication of the non-volatile memory for the data. The second user space module transmits the physical memory request to the kernel space memory management module.
    Type: Grant
    Filed: May 17, 2016
    Date of Patent: July 7, 2020
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Vishal Kanaujia, Ramesh Chander, Manavalan Krishnan, Brian W. O'Krafka, Johann George
  • Patent number: 10643707
    Abstract: An apparatus includes a non-volatile memory and a controller coupled to the non-volatile memory. The controller is configured to receive a command from a device to perform a write operation at the non-volatile memory. The command indicates a plurality of logical addresses, data associated with the plurality of logical addresses, and a number of write operations associated with the command.
    Type: Grant
    Filed: July 25, 2017
    Date of Patent: May 5, 2020
    Assignee: Western Digital Technologies, Inc.
    Inventors: Thibash Rajamani, Ramesh Chander, Manavalan Krishnan, Brian O'Krafka, Nagi Reddy Chodem
  • Patent number: 10445372
    Abstract: A method includes accessing, in response to initiating an operation targeting data, auxiliary mapping data to determine whether the auxiliary mapping data includes an indication of a key associated with a node of a hierarchical data structure that is associated with the data. In response to the auxiliary mapping data including the indication of the key, the data is accessed from a memory using a node identification associated with the key. In response to the auxiliary mapping data not including the indication of the key, the data is accessed from the memory using a search operation.
    Type: Grant
    Filed: February 1, 2016
    Date of Patent: October 15, 2019
    Assignee: SanDisk Technologies LLC.
    Inventors: Vishal Kanaujia, Manavalan Krishnan, Brian Walter O'Krafka, Ramesh Chander, Niranjan Patre Neelakanta
  • Patent number: 10289340
    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: Grant
    Filed: February 8, 2017
    Date of Patent: May 14, 2019
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Brian W. O'Krafka, Johann George, Vladislav Bolkhovitin, Manavalan Krishnan, Evgeniy Firsov
  • Publication number: 20190035473
    Abstract: An apparatus includes a non-volatile memory and a controller coupled to the non-volatile memory. The controller is configured to receive a command from a device to perform a write operation at the non-volatile memory. The command indicates a plurality of logical addresses, data associated with the plurality of logical addresses, and a number of write operations associated with the command.
    Type: Application
    Filed: July 25, 2017
    Publication date: January 31, 2019
    Inventors: Thibash Rajamani, Ramesh Chander, Manavalan Krishnan, Brian O'Krafka, Nagi Reddy Chodem
  • Patent number: 10133764
    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: Grant
    Filed: May 2, 2016
    Date of Patent: November 20, 2018
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Tomy Ammuthan Cheru, Brian W. O'Krafka, Allen Samuels, Manavalan Krishnan
  • Patent number: 9990146
    Abstract: An apparatus includes a data sequencing engine configured to receive first data and an identification of a first data container associated with the first data and to allocate the first data to a first data stream of multiple data streams based on the identification. The apparatus further includes at least one memory configured to store the first data container. The data sequencing engine is further configured to cause the at least one memory to send data in the first data stream to a flash memory in response to detecting a data size of the first data stream satisfies a threshold.
    Type: Grant
    Filed: February 3, 2016
    Date of Patent: June 5, 2018
    Assignee: SanDisk Technologies LLC
    Inventors: Niranjan Patre Neelakanta, Manavalan Krishnan, Tomy Ammuthan Cheru, Ramesh Chander, Brian Walter O'Krafka
  • 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: 20170242799
    Abstract: Systems, methods and/or devices are used to perform memory-efficient mapping of block/object addresses. In one aspect, a method of managing a storage system having one or more storage devices includes a tiered data structure in which each node has a logical ID and entries in the nodes reference other nodes in the tiered data structure using the logical IDs. As a result, when a child node is updated and stored to a new location, but retains its logical ID, its parent node does not need to be updated, because the logical ID in the entry referencing the child node remains unchanged. Further, the storage system uses a secondary mapping table to translate the logical IDs to the corresponding physical locations of the corresponding nodes. Additionally, the secondary mapping table is cached in volatile memory, and as a result, the physical location of a required node is determined without accessing non-volatile memory.
    Type: Application
    Filed: July 12, 2016
    Publication date: August 24, 2017
    Inventors: Brian W. O'Krafka, Frederic H. Tudor, Niranjan Patre Neelakanta, Manavalan Krishnan, Johann George, Evgeniy Firsov
  • Publication number: 20170220267
    Abstract: An apparatus includes a data sequencing engine configured to receive first data and an identification of a first data container associated with the first data and to allocate the first data to a first data stream of multiple data streams based on the identification. The apparatus further includes at least one memory configured to store the first data container. The data sequencing engine is further configured to cause the at least one memory to send data in the first data stream to a flash memory in response to detecting a data size of the first data stream satisfies a threshold.
    Type: Application
    Filed: February 3, 2016
    Publication date: August 3, 2017
    Inventors: NIRANJAN PATRE NEELAKANTA, MANAVALAN KRISHNAN, TOMY AMMUTHAN CHERU, RAMESH CHANDER, BRIAN WALTER O'KRAFKA
  • Publication number: 20170220634
    Abstract: A method includes accessing, in response to initiating an operation targeting data, auxiliary mapping data to determine whether the auxiliary mapping data includes an indication of a key associated with a node of a hierarchical data structure that is associated with the data. In response to the auxiliary mapping data including the indication of the key, the data is accessed from a memory using a node identification associated with the key. In response to the auxiliary mapping data not including the indication of the key, the data is accessed from the memory using a search operation.
    Type: Application
    Filed: February 1, 2016
    Publication date: August 3, 2017
    Inventors: VISHAL KANAUJIA, MANAVALAN KRISHNAN, BRIAN WALTER O'KRAFKA, RAMESH CHANDER, NIRANJAN PATRE NEELAKANTA
  • Patent number: 9697267
    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: Grant
    Filed: August 7, 2014
    Date of Patent: July 4, 2017
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Harihara Kadayam, Niranjan Patre Neelakanta, Ajit Kumar Tapse, Manavalan Krishnan, Brian Walter O'Krafka, Johann George
  • Publication number: 20170185625
    Abstract: Apparatuses, systems, methods, and computer program products are disclosed for key-value stores with partial data access. An interface module is configured to receive a data object for storage in a key-value store. The data object may include a key and a value. A block object module is configured to generate a plurality of block objects smaller than the data object. A block object may include a new key and a new value. The new key may be based on the key for the data object and on metadata for the new value. The new value may be based on at least a portion of the value for the data object. A storage module is configured to store the block objects in the key-value store.
    Type: Application
    Filed: August 9, 2016
    Publication date: June 29, 2017
    Applicant: SanDisk Technologies LLC
    Inventors: Tomy Cheru, Brian O'Krafka, Allen Samuels, Manavalan Krishnan
  • Publication number: 20170123971
    Abstract: Systems, methods, and/or devices are used to store metadata in a storage system. In one aspect, a first user space module sends a logical memory request to a memory management module of a kernel space module. The logical memory request includes data and metadata. A second user space module obtains the metadata of the logical memory request. A storage engine of the second user space module determines, in accordance with the obtained metadata, a location in non-volatile memory for the data. A second user space module generates a physical memory request including an indication of the non-volatile memory for the data. The second user space module transmits the physical memory request to the kernel space memory management module.
    Type: Application
    Filed: May 17, 2016
    Publication date: May 4, 2017
    Inventors: Vishal Kanaujia, Ramesh Chander, Manavalan Krishnan, Brian W. O'Krafka, Johann George