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: 11050653Abstract: 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: GrantFiled: June 11, 2020Date of Patent: June 29, 2021Assignee: 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: 20200396151Abstract: 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: ApplicationFiled: June 11, 2020Publication date: December 17, 2020Inventors: 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: 10732895Abstract: 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: GrantFiled: March 21, 2018Date of Patent: August 4, 2020Assignee: Burlywood, Inc.Inventors: Tod Earhart, David Christopher Pruett
-
Patent number: 10725686Abstract: 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: GrantFiled: September 26, 2019Date of Patent: July 28, 2020Assignee: 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: 10719389Abstract: 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: GrantFiled: November 29, 2018Date of Patent: July 21, 2020Assignee: Burlywood, Inc.Inventors: David Christopher Pruett, Christopher Bergman, Tod Roland Earhart
-
Publication number: 20200104048Abstract: 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: ApplicationFiled: September 26, 2019Publication date: April 2, 2020Applicant: 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: 20200042231Abstract: 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: ApplicationFiled: August 2, 2019Publication date: February 6, 2020Applicant: Burlywood, Inc.Inventors: David Christopher Pruett, Christopher Bergman
-
Publication number: 20200042386Abstract: 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: ApplicationFiled: August 2, 2019Publication date: February 6, 2020Applicant: Burlywood, Inc.Inventor: David Christopher Pruett
-
Publication number: 20190171518Abstract: 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: ApplicationFiled: November 29, 2018Publication date: June 6, 2019Inventors: David Christopher Pruett, Christopher Bergman, Tod Roland Earhart
-
Publication number: 20190102105Abstract: 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: ApplicationFiled: September 27, 2018Publication date: April 4, 2019Inventors: Christopher Bergman, David Christopher Pruett
-
Publication number: 20180365079Abstract: 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: ApplicationFiled: June 14, 2018Publication date: December 20, 2018Inventors: Nathan Koch, Tod Roland Earhart, Erik Habbinga, Christopher Bergman, David Christopher Pruett, John Slattery
-
Publication number: 20180364938Abstract: 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: ApplicationFiled: June 14, 2018Publication date: December 20, 2018Inventors: Erik Habbinga, Tod Roland Earhart, Nathan Koch, David Christopher Pruett, John Slattery
-
Publication number: 20180275923Abstract: 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: ApplicationFiled: March 21, 2018Publication date: September 27, 2018Inventors: Tod Earhart, David Christopher Pruett
-
Patent number: 9702305Abstract: 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: GrantFiled: April 17, 2013Date of Patent: July 11, 2017Assignee: Micron Technology, Inc.Inventors: William H. Radke, Laszlo Borbely, David Christopher Pruett
-
Publication number: 20140316684Abstract: 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: ApplicationFiled: April 17, 2013Publication date: October 23, 2014Applicant: Micron Technology, Inc.Inventors: William H. Radke, Laszlo Borbely, David Christopher Pruett
-
Patent number: 6618930Abstract: 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: GrantFiled: February 9, 2000Date of Patent: September 16, 2003Assignee: Seagate Technology LLCInventors: Wilson Massey Fish, David Christopher Pruett
-
Patent number: 6057981Abstract: 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: GrantFiled: December 22, 1997Date of Patent: May 2, 2000Assignee: Seagate Technology, Inc.Inventors: Wilson Massey Fish, David Christopher Pruett