Patents by Inventor John Tomlin

John Tomlin 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: 11841801
    Abstract: Various implementations described herein relate to systems and methods for managing metadata for an atomic write operation, including determining metadata for data, queuing the metadata in an atomic list, in response to determining that atomic commit has occurred, moving the metadata from the atomic list to write lookup lists based on logical information of the data, and determining one of metadata pages of a non-volatile memory for each of the write lookup lists based on the logical information.
    Type: Grant
    Filed: October 11, 2022
    Date of Patent: December 12, 2023
    Assignee: KIOXIA CORPORATION
    Inventor: Andrew John Tomlin
  • Patent number: 11733924
    Abstract: Various implementations described herein relate to systems and methods for managing metadata for power loss, including determining first metadata for first data, sending the first data to the non-volatile memory to be programmed to the first new locations of the non-volatile memory, and discarding the first metadata in response to detecting an imminent interruption to operations of the storage device. The first completion status for programming of the first data is unknown at the time of detecting the imminent interruption. The first data is read from first original locations of a non-volatile memory. The first metadata includes a first physical address for each of first new regions of the non-volatile memory.
    Type: Grant
    Filed: August 3, 2021
    Date of Patent: August 22, 2023
    Assignee: KIOXIA CORPORATION
    Inventors: Andrew John Tomlin, Michael Anthony Moser
  • Publication number: 20230214778
    Abstract: Automatically managing virtual real-time online interviews between a job provider and qualified job seekers, including (i) receiving a request to automatically enable virtual real-time online interviews for a job listing with predetermined criteria between the job provider representative and job seekers meeting qualifications, (ii) responsive to receipt of the job provider interview request, automatically posting the job listing online, (iii) responsive to a job seeker requesting an online interview for the posted job listing, automatically determining whether job seeker qualifications meet the criteria, (vi) responsive to a positive determination, automatically placing the job seeker in a queue for interviewing regarding the job listing, (v) receiving a request to activate a virtual real-time online interview session with a job seeker in the queue, (vi) and activating an audio and visual connection between the interviewer computer system and the second computer system to conduct the virtual real-time online
    Type: Application
    Filed: May 26, 2021
    Publication date: July 6, 2023
    Applicant: Indeed, Inc.
    Inventors: John Tomlin McMahon, Jamie Powers
  • Patent number: 11681630
    Abstract: A device for processing commands to manage non-volatile memory includes a controller configured to obtain address information from a command, read, based on the address information, an entry of a metadata table, and determine, based on the entry of the metadata table, whether a metadata page corresponding to the address information is being processed by the controller. In response to determining that the metadata page corresponding to the address information is being processed, the controller determines a processing status of the metadata page, among a plurality of processing statuses, based on the entry of the metadata table and processes the command according to the processing status of the first metadata page. In response to determining that the metadata page corresponding to first address information is not being processed, the controller reads the metadata page from the non-volatile memory based on the entry of the metadata table.
    Type: Grant
    Filed: September 18, 2020
    Date of Patent: June 20, 2023
    Assignee: KIOXIA CORPORATION
    Inventors: Andrew John Tomlin, Michael Anthony Moser
  • Patent number: 11650759
    Abstract: Various implementations described herein relate to systems and methods for managing metadata using an in-memory journal, including determining metadata for data, storing the metadata in an in-memory journal, detecting an imminent interruption to operations of the storage device, in response to detecting the imminent interruption, program the in-memory journal to a non-volatile memory device of the storage device, detect that the operations of the storage device are being restored, and in response to detecting that the operations of the storage device are being restored, performing metadata update. The first data is read from first original areas of a non-volatile memory. The first metadata includes a first physical address for each of first new areas of the non-volatile memory. The metadata is programmed in a metadata area of the non-volatile memory device.
    Type: Grant
    Filed: August 3, 2021
    Date of Patent: May 16, 2023
    Assignee: KIOXIA CORPORATION
    Inventor: Andrew John Tomlin
  • Patent number: 11609715
    Abstract: A method for maintaining coherence for memory storage devices comprising a plurality of controllers in a side-by-side configuration. The method includes generating, by a first controller of the plurality of controllers, a first plurality of requests to access a first plurality of memory ranges; receiving, by the first controller from a second controller of the plurality of controllers, a second plurality of requests to access a second plurality of memory ranges; and serializing, by the first controller, the first plurality of requests and the second plurality of requests to generate a serialized request.
    Type: Grant
    Filed: May 2, 2022
    Date of Patent: March 21, 2023
    Assignee: KIOXIA CORPORATION
    Inventor: Andrew John Tomlin
  • Publication number: 20230038857
    Abstract: Various implementations described herein relate to systems and methods for managing metadata for an atomic write operation, including determining metadata for data, queuing the metadata in an atomic list, in response to determining that atomic commit has occurred, moving the metadata from the atomic list to write lookup lists based on logical information of the data, and determining one of metadata pages of a non-volatile memory for each of the write lookup lists based on the logical information.
    Type: Application
    Filed: October 11, 2022
    Publication date: February 9, 2023
    Applicant: Kioxia Corporation
    Inventor: Andrew John Tomlin
  • Publication number: 20230040696
    Abstract: Various implementations described herein relate to systems and methods for managing metadata using an in-memory journal, including determining metadata for data, storing the metadata in an in-memory journal, detecting an imminent interruption to operations of the storage device, in response to detecting the imminent interruption, program the in-memory journal to a non-volatile memory device of the storage device, detect that the operations of the storage device are being restored, and in response to detecting that the operations of the storage device are being restored, performing metadata update. The first data is read from first original areas of a non-volatile memory. The first metadata includes a first physical address for each of first new areas of the non-volatile memory. The metadata is programmed in a metadata area of the non-volatile memory device.
    Type: Application
    Filed: August 3, 2021
    Publication date: February 9, 2023
    Applicant: Kioxia Corporation
    Inventor: Andrew John Tomlin
  • Publication number: 20230044942
    Abstract: Various implementations described herein relate to systems and methods for managing metadata for conditional update, including adding conditional entry to a list in an in-memory journal for a conditional update associated with a garbage collection write, configuring a base entry in the list to point to the conditional entry, and in response to determining that the conditional update is resolved such that a physical location identified in the conditional entry is valid, freeing the conditional entry.
    Type: Application
    Filed: August 3, 2021
    Publication date: February 9, 2023
    Applicant: Kioxia Corporation
    Inventor: Andrew John Tomlin
  • Patent number: 11467970
    Abstract: Various implementations described herein relate to systems and methods for managing metadata for an atomic write operation, including determining metadata for data, queuing the metadata in an atomic list, in response to determining that atomic commit has occurred, moving the metadata from the atomic list to write lookup lists based on logical information of the data, and determining one of metadata pages of a non-volatile memory for each of the write lookup lists based on the logical information.
    Type: Grant
    Filed: August 3, 2021
    Date of Patent: October 11, 2022
    Assignee: KIOXIA CORPORATION
    Inventor: Andrew John Tomlin
  • Publication number: 20220261189
    Abstract: A method for maintaining coherence for memory storage devices comprising a plurality of controllers in a side-by-side configuration. The method includes generating, by a first controller of the plurality of controllers, a first plurality of requests to access a first plurality of memory ranges; receiving, by the first controller from a second controller of the plurality of controllers, a second plurality of requests to access a second plurality of memory ranges; and serializing, by the first controller, the first plurality of requests and the second plurality of requests to generate a serialized request.
    Type: Application
    Filed: May 2, 2022
    Publication date: August 18, 2022
    Applicant: Kioxia Corporation
    Inventor: Andrew John TOMLIN
  • Patent number: 11321020
    Abstract: A method for maintaining coherence for memory storage devices comprising a plurality of controllers in a side-by-side configuration. The method includes generating, by a first controller of the plurality of controllers, a first plurality of requests to access a first plurality of memory ranges; receiving, by the first controller from a second controller of the plurality of controllers, a second plurality of requests to access a second plurality of memory ranges; and serializing, by the first controller, the first plurality of requests and the second plurality of requests to generate a serialized request.
    Type: Grant
    Filed: September 18, 2020
    Date of Patent: May 3, 2022
    Assignee: KIOXIA CORPORATION
    Inventor: Andrew John Tomlin
  • Publication number: 20220091783
    Abstract: A method for maintaining coherence for memory storage devices comprising a plurality of controllers in a side-by-side configuration. The method includes generating, by a first controller of the plurality of controllers, a first plurality of requests to access a first plurality of memory ranges; receiving, by the first controller from a second controller of the plurality of controllers, a second plurality of requests to access a second plurality of memory ranges; and serializing, by the first controller, the first plurality of requests and the second plurality of requests to generate a serialized request.
    Type: Application
    Filed: September 18, 2020
    Publication date: March 24, 2022
    Applicant: Kioxia Corporation
    Inventor: Andrew John TOMLIN
  • Publication number: 20220091988
    Abstract: A device for processing commands to manage non-volatile memory includes a controller configured to obtain address information from a command, read, based on the address information, an entry of a metadata table, and determine, based on the entry of the metadata table, whether a metadata page corresponding to the address information is being processed by the controller. In response to determining that the metadata page corresponding to the address information is being processed, the controller determines a processing status of the metadata page, among a plurality of processing statuses, based on the entry of the metadata table and processes the command according to the processing status of the first metadata page. In response to determining that the metadata page corresponding to first address information is not being processed, the controller reads the metadata page from the non-volatile memory based on the entry of the metadata table.
    Type: Application
    Filed: September 18, 2020
    Publication date: March 24, 2022
    Applicant: Kioxia Corporation
    Inventors: Andrew John TOMLIN, Michael Anthony Moser
  • Publication number: 20220092046
    Abstract: A device for managing key-value (KV) data in non-volatile memory, includes a controller and volatile memory storing a hash table. The controller generates a first key from a KV pair, reads a first entry of the hash table based on the first key, reads, based on the first entry, a first page including a set of KV hash entries each containing a location of the non-volatile memory, determine whether the number of entries of the first page reaches a predetermined number, and in response to determining that the number of entries of the first page reaches the predetermined number, store KV data corresponding to the KV pair in a location of the non-volatile memory, write a KV hash entry containing the location of the non-volatile memory, and write a location of the KV hash entry in a second entry of the hash table.
    Type: Application
    Filed: September 18, 2020
    Publication date: March 24, 2022
    Applicant: Kioxia Corporation
    Inventor: Andrew John TOMLIN
  • Patent number: 10540219
    Abstract: In one embodiment, a method for reset and error handling comprises identifying at least one queue of a plurality of queues that is subject to a reset, halting fetching of commands from a host that are associated with the at least one queue subject to the reset, halting reallocation of command identifiers of completed commands to commands received from the host that are associated with the plurality of queues, identifying at least one command identifier associated with the at least one queue subject to the reset, updating an error state bitmap to indicate the at least one command identifier as a command in error, resuming reallocation of command identifiers of completed commands after updating the error state bitmap, and resuming fetching of commands from the host that are associated with the at least one queue subject to the reset after resuming reallocation of command identifiers of completed commands.
    Type: Grant
    Filed: March 12, 2018
    Date of Patent: January 21, 2020
    Assignee: Toshiba Memory Corporation
    Inventor: Andrew John Tomlin
  • Patent number: 10528414
    Abstract: In one embodiment, a system comprises a plurality of hardware blocks, each of the plurality of hardware blocks configured to perform a function in response to a request associated with a command, an error queue manager configured to receive an error message from at least one of the plurality of hardware blocks and store the error message in an error queue, the error message including a command identifier of a command in error, and an error state manager including an error state bitmap, the error state bitmap storing an error state bit for each of a plurality of command identifiers, the error state bit indicating either command in error or command not in error; the error state manager configured to set the error state bit for the command identifier of the command in error to indicate command in error in response to an error state message, the error state message including the command identifier of the command in error.
    Type: Grant
    Filed: September 13, 2017
    Date of Patent: January 7, 2020
    Assignee: Toshiba Memory Corporation
    Inventors: Andrew John Tomlin, Justin Cree Jones
  • Patent number: 10241908
    Abstract: Dynamically varying Over-Provisioning (OP) enables improvements in lifetime, reliability, and/or performance of a Solid-State Disk (SSD) and/or a flash memory therein. A host coupled to the SSD writes newer data to the SSD. If the newer host data is less random than older host data, then entropy of host data on the SSD decreases. In response, an SSD controller dynamically alters allocations of the flash memory, decreasing host allocation and increasing OP allocation. If the newer host data is more random, then the SSD controller dynamically increases the host allocation and decreases the OP allocation. The SSD controller dynamically allocates the OP allocation between host OP and system OP proportionally in accordance with a ratio of bandwidths of host and system data writes to the flash memory. Changes in allocations are selectively made in response to improved compression or deduplication of the host data, or in response to a host command.
    Type: Grant
    Filed: April 22, 2012
    Date of Patent: March 26, 2019
    Assignee: Seagate Technology LLC
    Inventor: Andrew John Tomlin
  • Publication number: 20190079824
    Abstract: In one embodiment, a system comprises a plurality of hardware blocks, each of the plurality of hardware blocks configured to perform a function in response to a request associated with a command, an error queue manager configured to receive an error message from at least one of the plurality of hardware blocks and store the error message in an error queue, the error message including a command identifier of a command in error, and an error state manager including an error state bitmap, the error state bitmap storing an error state bit for each of a plurality of command identifiers, the error state bit indicating either command in error or command not in error; the error state manager configured to set the error state bit for the command identifier of the command in error to indicate command in error in response to an error state message, the error state message including the command identifier of the command in error.
    Type: Application
    Filed: September 13, 2017
    Publication date: March 14, 2019
    Inventors: Andrew John Tomlin, Justin Cree Jones
  • Publication number: 20190079817
    Abstract: In one embodiment, a method for reset and error handling comprises identifying at least one queue of a plurality of queues that is subject to a reset, halting fetching of commands from a host that are associated with the at least one queue subject to the reset, halting reallocation of command identifiers of completed commands to commands received from the host that are associated with the plurality of queues, identifying at least one command identifier associated with the at least one queue subject to the reset, updating an error state bitmap to indicate the at least one command identifier as a command in error, resuming reallocation of command identifiers of completed commands after updating the error state bitmap, and resuming fetching of commands from the host that are associated with the at least one queue subject to the reset after resuming reallocation of command identifiers of completed commands.
    Type: Application
    Filed: March 12, 2018
    Publication date: March 14, 2019
    Inventor: Andrew John Tomlin