Patents by Inventor David Christopher Pruett

David Christopher Pruett 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: 11050653
    Abstract: A method of operating a telemetry capture system within a data storage system comprising storage devices is provided. The method includes generating a telemetry packet, and providing the telemetry packet to one or more taps via a telemetry path independent of data and control paths within the storage devices. The method also includes capturing the telemetry packet in one or more of the taps, and generating real-time telemetry data based at least on the telemetry packet.
    Type: Grant
    Filed: June 11, 2020
    Date of Patent: June 29, 2021
    Assignee: Burlywood, Inc.
    Inventors: Amy Lee Wohlschlegel, Christopher Bergman, David Christopher Pruett, Edoardo Daelli, Erik Habbinga, John Foister Murphy, John William Slattery, Kevin Darveau Landin, Nathan Koch, Tod Roland Earhart, Will Allan Loechel
  • Publication number: 20200396151
    Abstract: A method of operating a telemetry capture system within a data storage system comprising storage devices is provided. The method includes generating a telemetry packet, and providing the telemetry packet to one or more taps via a telemetry path independent of data and control paths within the storage devices. The method also includes capturing the telemetry packet in one or more of the taps, and generating real-time telemetry data based at least on the telemetry packet.
    Type: Application
    Filed: June 11, 2020
    Publication date: December 17, 2020
    Inventors: Amy Lee Wohlschlegel, Christopher Bergman, David Christopher Pruett, Edoardo Daelli, Erik Habbinga, John Foister Murphy, John William Slattery, Kevin Darveau Landin, Nathan Koch, Tod Roland Earhart, Will Allan Loechel
  • Patent number: 10732895
    Abstract: A storage controller is provided. The storage controller includes a host interface, a drive interface, and a quality of service control module coupled with the host interface and the drive interface. The QoS module includes read and write queues for each data stream, each queue associated with corresponding token buckets, and an arbiter, configured to receive requests from the read and write queues, and to service the read and write queues in an order at least partially determined by a quantity of tokens in each token bucket. The QoS module also includes a quality of service measurement module, configured to measure quality of service levels for each of the read and write queues, and a bandwidth allocation manager, configured to allocate tokens to each token bucket at a rate corresponding to the service level agreements and the measured quality of service level for each of the read and write queues.
    Type: Grant
    Filed: March 21, 2018
    Date of Patent: August 4, 2020
    Assignee: Burlywood, Inc.
    Inventors: Tod Earhart, David Christopher Pruett
  • Patent number: 10725686
    Abstract: A method of operating a storage controller is provided. The method includes receiving data transferred by a host for storage in a target partition of a storage media, and detecting properties of the data. The method also includes establishing one or more inferred partitions on the storage media based at least on the properties of the data, and based at least on the properties of the data, sorting subsets of the data for storage within the target partition and the one or more inferred partitions.
    Type: Grant
    Filed: September 26, 2019
    Date of Patent: July 28, 2020
    Assignee: Burlywood, Inc.
    Inventors: Erik Habbinga, Kevin Darveau Landin, Tod Roland Earhart, Nathan Koch, John Foister Murphy, David Christopher Pruett, John William Slattery, Amy Lee Wohlschlegel
  • Patent number: 10719389
    Abstract: A method of operating a storage controller is provided. The method includes determining encoded data to be written to a storage media by applying at least an initial encoding comprising a first error correcting code type and a subsequent encoding comprising a second error correcting code type. The method further includes writing the encoded data to the storage media, and responsive to reading the encoded data from the storage media, processing the encoded data into primary decoded data using one or more primary decoders employing the second error correcting code type and detecting when data errors arise in the decoded data. The method also includes based at least on detecting one or more data errors in the decoded data, processing the encoded data into secondary decoded data using one or more secondary decoders employing the first error correcting code type.
    Type: Grant
    Filed: November 29, 2018
    Date of Patent: July 21, 2020
    Assignee: Burlywood, Inc.
    Inventors: David Christopher Pruett, Christopher Bergman, Tod Roland Earhart
  • Publication number: 20200104048
    Abstract: A method of operating a storage controller is provided. The method includes receiving data transferred by a host for storage in a target partition of a storage media, and detecting properties of the data. The method also includes establishing one or more inferred partitions on the storage media based at least on the properties of the data, and based at least on the properties of the data, sorting subsets of the data for storage within the target partition and the one or more inferred partitions.
    Type: Application
    Filed: September 26, 2019
    Publication date: April 2, 2020
    Applicant: Burlywood, Inc.
    Inventors: Erik Habbinga, Kevin Darveau Landin, Tod Roland Earhart, Nathan Koch, John Foister Murphy, David Christopher Pruett, John William Slattery, Amy Lee Wohlschlegel
  • Publication number: 20200042231
    Abstract: A storage controller for a storage system includes a host interface, configured to receive data for storage within the storage system, and to transmit data from the storage system to a host system, and one or more storage interfaces, configured to transmit data to storage media, and to receive data from the storage media. The storage controller also includes a plurality of data paths configured to process and transfer data between the host interface and the one or more storage interfaces, the plurality of data paths comprising a first quantity of read data paths configured to interpret data retrieved from the storage media, and a second quantity of write data paths configured to prepare data for storage onto the storage media, and an arbiter configured to dynamically arbitrate access to the one or more storage interfaces by the read data paths and the write data paths.
    Type: Application
    Filed: August 2, 2019
    Publication date: February 6, 2020
    Applicant: Burlywood, Inc.
    Inventors: David Christopher Pruett, Christopher Bergman
  • Publication number: 20200042386
    Abstract: A storage controller for a storage system is provided. The storage system includes a host interface, a storage interface, a buffer coupled with the host interface and the storage interface, a storage encoder coupled with the buffer, and a storage decoder coupled with the buffer. The storage encoder and storage decoder are configured to use scatter-gather lists in reading data streams from the buffer, and storing data streams to the buffer. They are also configured to provide error correction coding and decoding, with the ability to generate data blocks for missing data blocks.
    Type: Application
    Filed: August 2, 2019
    Publication date: February 6, 2020
    Applicant: Burlywood, Inc.
    Inventor: David Christopher Pruett
  • Publication number: 20190171518
    Abstract: A method of operating a storage controller is provided. The method includes determining encoded data to be written to a storage media by applying at least an initial encoding comprising a first error correcting code type and a subsequent encoding comprising a second error correcting code type. The method further includes writing the encoded data to the storage media, and responsive to reading the encoded data from the storage media, processing the encoded data into primary decoded data using one or more primary decoders employing the second error correcting code type and detecting when data errors arise in the decoded data. The method also includes based at least on detecting one or more data errors in the decoded data, processing the encoded data into secondary decoded data using one or more secondary decoders employing the first error correcting code type.
    Type: Application
    Filed: November 29, 2018
    Publication date: June 6, 2019
    Inventors: David Christopher Pruett, Christopher Bergman, Tod Roland Earhart
  • Publication number: 20190102105
    Abstract: A storage controller is provided. The storage controller includes a host interface, a media interface, and a processing system. The processing system is configured to receive data from the host system, select write locations within the storage media for writing the data, and to select a write format based at least in part on the write locations within the storage media. The processing system is further configured to select write parameters based at least in part on the write locations within the storage media and media states of the write locations within the storage media, and to write the data to the write locations within the storage media using the selected write format and write parameters.
    Type: Application
    Filed: September 27, 2018
    Publication date: April 4, 2019
    Inventors: Christopher Bergman, David Christopher Pruett
  • Publication number: 20180365079
    Abstract: A storage system is provided. The storage system includes a workload manager with visibility to host data operations for a storage drive. The workload manager is configured to determine an operation schedule comprising the host data operations and data migration operations for storage media of the storage drive, and instruct a storage media manager to perform the data migration operations and the host data operations in accordance with the operation schedule. The storage system also includes a storage media manager configured to receive instructions from the workload manager in accordance with the operation schedule, and responsively perform the data migration operations and the host data operations.
    Type: Application
    Filed: June 14, 2018
    Publication date: December 20, 2018
    Inventors: Nathan Koch, Tod Roland Earhart, Erik Habbinga, Christopher Bergman, David Christopher Pruett, John Slattery
  • Publication number: 20180364938
    Abstract: A storage controller is provided. The storage controller includes a host interface, a media interface, and a processing system coupled with the host interface and the media interface. The processing system is configured to configured to maintain a translation table that relates logical addressing to physical blocks of the one or more storage media using at least an extents-based scheme in the translation table to relate the logical addressing to the physical blocks, wherein the extents-based scheme comprises a starting location combined with span length of a sequential portion of data stored on the one or more storage media, and the processing system also configured to handle storage operations of the storage drive in accordance with the translation table.
    Type: Application
    Filed: June 14, 2018
    Publication date: December 20, 2018
    Inventors: Erik Habbinga, Tod Roland Earhart, Nathan Koch, David Christopher Pruett, John Slattery
  • Publication number: 20180275923
    Abstract: A storage controller is provided. The storage controller includes a host interface, a drive interface, and a quality of service control module coupled with the host interface and the drive interface. The QoS module includes read and write queues for each data stream, each queue associated with corresponding token buckets, and an arbiter, configured to receive requests from the read and write queues, and to service the read and write queues in an order at least partially determined by a quantity of tokens in each token bucket. The QoS module also includes a quality of service measurement module, configured to measure quality of service levels for each of the read and write queues, and a bandwidth allocation manager, configured to allocate tokens to each token bucket at a rate corresponding to the service level agreements and the measured quality of service level for each of the read and write queues.
    Type: Application
    Filed: March 21, 2018
    Publication date: September 27, 2018
    Inventors: Tod Earhart, David Christopher Pruett
  • Patent number: 9702305
    Abstract: Multiple engine sequencers in memory interfaces are disclosed. Individual sequencer engines of multiple engine sequencers perform at least portions of their respective operations in parallel with other individual sequencer engine operations performed in the memory interface. In at least one embodiment, sequencer engine operations are performed at least partially concurrently with other sequencer engine operations in the memory interface.
    Type: Grant
    Filed: April 17, 2013
    Date of Patent: July 11, 2017
    Assignee: Micron Technology, Inc.
    Inventors: William H. Radke, Laszlo Borbely, David Christopher Pruett
  • Publication number: 20140316684
    Abstract: Multiple engine sequencers in memory interfaces are disclosed. Individual sequencer engines of multiple engine sequencers perform at least portions of their respective operations in parallel with other individual sequencer engine operations performed in the memory interface. In at least one embodiment, sequencer engine operations are performed at least partially concurrently with other sequencer engine operations in the memory interface.
    Type: Application
    Filed: April 17, 2013
    Publication date: October 23, 2014
    Applicant: Micron Technology, Inc.
    Inventors: William H. Radke, Laszlo Borbely, David Christopher Pruett
  • Patent number: 6618930
    Abstract: A method for improving the operational performance of a disc drive through the identification of vital product information associated with a head-disc assembly (HDA) of the disc drive. The disc drive comprises a printed wiring assembly (PWA) housing control circuitry for the disc drive. The HDA of the disc drive is operably coupled to the printed wiring assembly and includes a rotatable disc to which data are written by a controllably positionable head. A non-volatile memory device is mounted on the HDA and operably coupled to the PWA so that, when the disc drive is initialized, the PWA verifies the configuration of the HDA before proceeding with the initialization of the disc drive, thereby preventing errors and damage to the disc drive as a result of the installation of a new, replacement PWA in the disc drive, or the downloading of new, incorrect firmware to the PWA.
    Type: Grant
    Filed: February 9, 2000
    Date of Patent: September 16, 2003
    Assignee: Seagate Technology LLC
    Inventors: Wilson Massey Fish, David Christopher Pruett
  • Patent number: 6057981
    Abstract: An apparatus for improving the operational performance of a disc drive through the identification of vital product information associated with a head-disc assembly (HDA) of the disc drive. The disc drive comprises a printed wiring assembly (PWA) housing control circuitry for the disc drive. The HDA of the disc drive is operably coupled to the printed wiring assembly and includes a rotatable disc to which data are written by a controllably positionable head. A non-volatile memory device is mounted on the HDA and operably coupled to the PWA so that, when the disc drive is initialized, the PWA verifies the configuration of the HDA before proceeding with the initialization of the disc drive, thereby preventing errors and damage to the disc drive as a result of the installation of a new, replacement PWA in the disc drive, or the downloading of new, incorrect firmware to the PWA.
    Type: Grant
    Filed: December 22, 1997
    Date of Patent: May 2, 2000
    Assignee: Seagate Technology, Inc.
    Inventors: Wilson Massey Fish, David Christopher Pruett