Patents by Inventor Brian Walter O'Krafka

Brian Walter O'Krafka 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: 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: 11281601
    Abstract: Example multi-device storage systems, storage devices, and methods provide hosted services on peer storage devices. Storage devices include a storage medium, a logical mapping memory, and a processor for executing hosted services using the logical mapping memory. Each storage device is configured to communicate with peer storage devices over an interconnect fabric. The logical mapping memory includes storage device media logical mapping information configured in continuous logical blocks with a media block size equal to a page programming size of the storage medium. The logical mapping memory also includes host logical mapping information, configured in host logical blocks with a host block size smaller than the media block size, for the peer storage devices.
    Type: Grant
    Filed: June 26, 2020
    Date of Patent: March 22, 2022
    Assignee: Western Digital Technologies, Inc.
    Inventors: Sanjay Subbarao, Vladislav Bolkhovitin, Anand Kulkarni, Brian Walter O'Krafka
  • Patent number: 10831603
    Abstract: Methods, systems, and other aspects for reconstructing data and rebuilding a failed storage device in a storage system using one or more functioning compute resources and/or storage resources of the failed storage device. For example, a method may include, responsive to a detection of a failed storage device in a storage system, locating data and redundancy information in functioning storage device(s) in the storage system for reconstructing data of the failed storage device; issuing peer-to-peer commands to the functioning storage device(s) to obtain the data and the redundancy information from the functioning storage device(s); and reconstructing the data of the failed storage device based on the data and the redundancy information obtained from the functioning storage device(s), wherein a functioning compute resource of the failed computing device at least partially performs one or more of the locating, issuing, and reconstructing.
    Type: Grant
    Filed: August 3, 2018
    Date of Patent: November 10, 2020
    Assignee: Western Digital Technologies, Inc.
    Inventors: Anand Kulkarni, Vladislav Bolkhovitin, Brian Walter O'Krafka, Sanjay Subbarao
  • Publication number: 20200327074
    Abstract: Example multi-device storage systems, storage devices, and methods provide hosted services on peer storage devices. Storage devices include a storage medium, a logical mapping memory, and a processor for executing hosted services using the logical mapping memory. Each storage device is configured to communicate with peer storage devices over an interconnect fabric. The logical mapping memory includes storage device media logical mapping information configured in continuous logical blocks with a media block size equal to a page programming size of the storage medium. The logical mapping memory also includes host logical mapping information, configured in host logical blocks with a host block size smaller than the media block size, for the peer storage devices.
    Type: Application
    Filed: June 26, 2020
    Publication date: October 15, 2020
    Inventors: Sanjay Subbarao, Vladislav Bolkhovitin, Anand Kulkarni, Brian Walter O'Krafka
  • Patent number: 10725941
    Abstract: Example multi-device storage systems, storage devices, and methods provide hosted services on peer storage devices. Storage devices include local memory resources, such as operating memory, remotely addressable memory, or logical mapping memory, and compute resources, such as a processor or coding engine. Each storage device is configured to communicate with a plurality of peer storage devices over an interconnect fabric. The storage devices identify requested hosted services from service host requests received through the interconnect fabric. The storage devices store a plurality of hosted services are to enable access to local memory resources and local compute resources for data management operations for the plurality of peer storage devices.
    Type: Grant
    Filed: June 30, 2018
    Date of Patent: July 28, 2020
    Assignee: Western Digital Technologies, Inc.
    Inventors: Sanjay Subbarao, Vladislav Bolkhovitin, Anand Kulkarni, Brian Walter O'Krafka
  • Publication number: 20200042389
    Abstract: Methods, systems, and other aspects for reconstructing data and rebuilding a failed storage device in a storage system using one or more functioning compute resources and/or storage resources of the failed storage device. For example, a method may include, responsive to a detection of a failed storage device in a storage system, locating data and redundancy information in functioning storage device(s) in the storage system for reconstructing data of the failed storage device; issuing peer-to-peer commands to the functioning storage device(s) to obtain the data and the redundancy information from the functioning storage device(s); and reconstructing the data of the failed storage device based on the data and the redundancy information obtained from the functioning storage device(s), wherein a functioning compute resource of the failed computing device at least partially performs one or more of the locating, issuing, and reconstructing.
    Type: Application
    Filed: August 3, 2018
    Publication date: February 6, 2020
    Inventors: Anand Kulkarni, Vladislav Bolkhovitin, Brian Walter O'Krafka, Sanjay Subbarao
  • Publication number: 20200004701
    Abstract: Example multi-device storage systems, storage devices, and methods provide hosted services on peer storage devices. Storage devices include local memory resources, such as operating memory, remotely addressable memory, or logical mapping memory, and compute resources, such as a processor or coding engine. Each storage device is configured to communicate with a plurality of peer storage devices over an interconnect fabric. The storage devices identify requested hosted services from service host requests received through the interconnect fabric. The storage devices store a plurality of hosted services are to enable access to local memory resources and local compute resources for data management operations for the plurality of peer storage devices.
    Type: Application
    Filed: June 30, 2018
    Publication date: January 2, 2020
    Inventors: Sanjay Subbarao, Vladislav Bolkhovitin, Anand Kulkarni, Brian Walter O'Krafka
  • 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: 10409511
    Abstract: Example multi-device storage systems and methods provide disaggregated read/write operations. Read and/or write data requests are received from a host system at a storage controller for a plurality of storage devices. A target service host storage device is identified that hosts a target portion of a logical map of storage locations distributed among the plurality of storage devices. The target service host storage device identifies a destination storage device corresponding to a target location for the request. A data transfer from the host system to the destination storage device is processed for the request and the logical map of the target service host device is updated. The target service host storage device and the destination storage device may be different storage devices among the plurality of storage devices.
    Type: Grant
    Filed: June 30, 2018
    Date of Patent: September 10, 2019
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: Sanjay Subbarao, Vladislav Bolkhovitin, Anand Kulkarni, Brian Walter O'Krafka
  • Patent number: 10019174
    Abstract: A storage device may be configured to determine a delay associated with execution of a read operation responsive to a read command for data stored at the storage device. The storage device may send a notification that indicates the delay, that includes data that indicates a duration of the delay, or both. In response to receiving the notification, an access device may be configured to generate a second read command for redundant associated with data stored at the storage device.
    Type: Grant
    Filed: October 27, 2015
    Date of Patent: July 10, 2018
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Brian Walter O'Krafka, Johann George, Akshay Mathur
  • 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: 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
  • 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
  • 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: 20170115891
    Abstract: A storage device may be configured to determine a delay associated with execution of a read operation responsive to a read command for data stored at the storage device. The storage device may send a notification that indicates the delay, that includes data that indicates a duration of the delay, or both. In response to receiving the notification, an access device may be configured to generate a second read command for redundant associated with data stored at the storage device.
    Type: Application
    Filed: October 27, 2015
    Publication date: April 27, 2017
    Inventors: Brian Walter O'Krafka, Johann George, Akshay Mathur
  • 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
  • Patent number: 8732386
    Abstract: A Sharing Data Fabric (SDF) causes flash memory attached to multiple compute nodes to appear to be a single large memory space that is global yet shared by many applications running on the many compute nodes. Flash objects stored in flash memory of a home node are copied to an object cache in DRAM at an action node by SDF threads executing on the nodes. The home node has a flash object map locating flash objects in the home node's flash memory, and a global cache directory that locates copies of the object in other sharing nodes. Application programs use an applications-programming interface (API) into the SDF to transparently get and put objects without regard to the object's location on any of the many compute nodes. SDF threads and tables control coherency of objects in flash and DRAM.
    Type: Grant
    Filed: August 25, 2008
    Date of Patent: May 20, 2014
    Assignee: Sandisk Enterprise IP LLC.
    Inventors: Brian Walter O'Krafka, Michael John Koster, Darpan Dinker, Earl T. Cohen, Thomas M. McWilliams
  • Patent number: 8667001
    Abstract: A distributed database system has multiple compute nodes each running an instance of a database management system (DBMS) program that accesses database records in a local buffer cache. Records are persistently stored in distributed flash memory on multiple storage nodes. A Sharing Data Fabric (SDF) is a middleware layer between the DBMS programs and the storage nodes and has API functions called by the DBMS programs when a requested record is not present in the local buffer cache. The SDF fetches the requested record from flash memory and loads a copy into the local buffer cache. The SDF has threads on a home storage node that locate database records using a node map. A global cache directory locks and pins records to local buffer caches for updating by a node's DBMS program. DBMS operations are grouped into transactions that are committed or aborted together as a unit.
    Type: Grant
    Filed: June 20, 2012
    Date of Patent: March 4, 2014
    Assignee: Sandisk Enterprise IP LLC
    Inventors: Darpan Dinker, Andrew David Eckhardt, Darryl Manabu Ouye, Brian Walter O'Krafka, Earl T. Cohen, Thomas M. McWilliams
  • Publication number: 20120259889
    Abstract: A distributed database system has multiple compute nodes each running an instance of a database management system (DBMS) program that accesses database records in a local buffer cache. Records are persistently stored in distributed flash memory on multiple storage nodes. A Sharing Data Fabric (SDF) is a middleware layer between the DBMS programs and the storage nodes and has API functions called by the DBMS programs when a requested record is not present in the local buffer cache. The SDF fetches the requested record from flash memory and loads a copy into the local buffer cache. The SDF has threads on a home storage node that locate database records using a node map. A global cache directory locks and pins records to local buffer caches for updating by a node's DBMS program. DBMS operations are grouped into transactions that are committed or aborted together as a unit.
    Type: Application
    Filed: June 20, 2012
    Publication date: October 11, 2012
    Inventors: Darpan Dinker, Andrew David Eckhardt, Darryl Manabu Ouye, Brian Walter O'Krafka, Earl T. Cohen, Thomas M. McWilliams