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: 20220277006Abstract: 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: ApplicationFiled: May 9, 2022Publication date: September 1, 2022Inventors: Brian Walter O'Krafka, John Richard Busch, Manavalan Krishnan, Kai Rothauge
-
Patent number: 11327966Abstract: 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: GrantFiled: September 10, 2020Date of Patent: May 10, 2022Assignee: Wind Jammer Technologies, LLCInventors: Brian Walter O'Krafka, John Richard Busch, Manavalan Krishnan, Kai Rothauge
-
Patent number: 11281601Abstract: 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: GrantFiled: June 26, 2020Date of Patent: March 22, 2022Assignee: Western Digital Technologies, Inc.Inventors: Sanjay Subbarao, Vladislav Bolkhovitin, Anand Kulkarni, Brian Walter O'Krafka
-
Patent number: 10831603Abstract: 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: GrantFiled: August 3, 2018Date of Patent: November 10, 2020Assignee: Western Digital Technologies, Inc.Inventors: Anand Kulkarni, Vladislav Bolkhovitin, Brian Walter O'Krafka, Sanjay Subbarao
-
Publication number: 20200327074Abstract: 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: ApplicationFiled: June 26, 2020Publication date: October 15, 2020Inventors: Sanjay Subbarao, Vladislav Bolkhovitin, Anand Kulkarni, Brian Walter O'Krafka
-
Patent number: 10725941Abstract: 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: GrantFiled: June 30, 2018Date of Patent: July 28, 2020Assignee: Western Digital Technologies, Inc.Inventors: Sanjay Subbarao, Vladislav Bolkhovitin, Anand Kulkarni, Brian Walter O'Krafka
-
Publication number: 20200042389Abstract: 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: ApplicationFiled: August 3, 2018Publication date: February 6, 2020Inventors: Anand Kulkarni, Vladislav Bolkhovitin, Brian Walter O'Krafka, Sanjay Subbarao
-
Publication number: 20200004701Abstract: 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: ApplicationFiled: June 30, 2018Publication date: January 2, 2020Inventors: Sanjay Subbarao, Vladislav Bolkhovitin, Anand Kulkarni, Brian Walter O'Krafka
-
Patent number: 10445372Abstract: 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: GrantFiled: February 1, 2016Date of Patent: October 15, 2019Assignee: SanDisk Technologies LLC.Inventors: Vishal Kanaujia, Manavalan Krishnan, Brian Walter O'Krafka, Ramesh Chander, Niranjan Patre Neelakanta
-
Patent number: 10409511Abstract: 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: GrantFiled: June 30, 2018Date of Patent: September 10, 2019Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.Inventors: Sanjay Subbarao, Vladislav Bolkhovitin, Anand Kulkarni, Brian Walter O'Krafka
-
Patent number: 10019174Abstract: 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: GrantFiled: October 27, 2015Date of Patent: July 10, 2018Assignee: SANDISK TECHNOLOGIES LLCInventors: Brian Walter O'Krafka, Johann George, Akshay Mathur
-
Patent number: 9990146Abstract: 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: GrantFiled: February 3, 2016Date of Patent: June 5, 2018Assignee: SanDisk Technologies LLCInventors: Niranjan Patre Neelakanta, Manavalan Krishnan, Tomy Ammuthan Cheru, Ramesh Chander, Brian Walter O'Krafka
-
Publication number: 20170220634Abstract: 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: ApplicationFiled: February 1, 2016Publication date: August 3, 2017Inventors: VISHAL KANAUJIA, MANAVALAN KRISHNAN, BRIAN WALTER O'KRAFKA, RAMESH CHANDER, NIRANJAN PATRE NEELAKANTA
-
Publication number: 20170220267Abstract: 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: ApplicationFiled: February 3, 2016Publication date: August 3, 2017Inventors: NIRANJAN PATRE NEELAKANTA, MANAVALAN KRISHNAN, TOMY AMMUTHAN CHERU, RAMESH CHANDER, BRIAN WALTER O'KRAFKA
-
Patent number: 9697267Abstract: 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: GrantFiled: August 7, 2014Date of Patent: July 4, 2017Assignee: SANDISK TECHNOLOGIES LLCInventors: Harihara Kadayam, Niranjan Patre Neelakanta, Ajit Kumar Tapse, Manavalan Krishnan, Brian Walter O'Krafka, Johann George
-
Publication number: 20170115891Abstract: 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: ApplicationFiled: October 27, 2015Publication date: April 27, 2017Inventors: Brian Walter O'Krafka, Johann George, Akshay Mathur
-
Publication number: 20150286695Abstract: 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: ApplicationFiled: August 7, 2014Publication date: October 8, 2015Inventors: Harihara Kadayam, Niranjan Patre Neelakanta, Ajit Kumar Tapse, Manavalan Krishnan, Brian Walter O'Krafka, Johann George
-
Patent number: 8732386Abstract: 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: GrantFiled: August 25, 2008Date of Patent: May 20, 2014Assignee: Sandisk Enterprise IP LLC.Inventors: Brian Walter O'Krafka, Michael John Koster, Darpan Dinker, Earl T. Cohen, Thomas M. McWilliams
-
Patent number: 8667001Abstract: 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: GrantFiled: June 20, 2012Date of Patent: March 4, 2014Assignee: Sandisk Enterprise IP LLCInventors: Darpan Dinker, Andrew David Eckhardt, Darryl Manabu Ouye, Brian Walter O'Krafka, Earl T. Cohen, Thomas M. McWilliams
-
Publication number: 20120259889Abstract: 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: ApplicationFiled: June 20, 2012Publication date: October 11, 2012Inventors: Darpan Dinker, Andrew David Eckhardt, Darryl Manabu Ouye, Brian Walter O'Krafka, Earl T. Cohen, Thomas M. McWilliams