Patents by Inventor John D. Davis

John D. Davis 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: 10853243
    Abstract: A method for extending data lifetime for reference in deduplication is provided. The method includes determining that a quantity of user data has at least a threshold amount of data that is re-created in a storage system. The method includes protecting at least portions of the quantity of user data from erasure by garbage collection in the storage system during a predetermined time interval, wherein the protected at least portions are available for data deduplication of further user data in the storage system during the predetermined time interval.
    Type: Grant
    Filed: April 6, 2018
    Date of Patent: December 1, 2020
    Assignee: Pure Storage, Inc.
    Inventor: John D. Davis
  • Patent number: 10838633
    Abstract: A method for managing processing power in a storage system is provided. The method includes providing a plurality of blades, each of a first subset having a storage node and storage memory, and each of a second, differing subset having a compute-only node. The method includes distributing authorities across the plurality of blades, to a plurality of nodes including at least one compute-only node, wherein each authority has ownership of a range of user data.
    Type: Grant
    Filed: August 12, 2019
    Date of Patent: November 17, 2020
    Assignee: Pure Storage, Inc.
    Inventors: John Martin Hayes, Robert Lee, John Colgrove, John D. Davis
  • Patent number: 10809919
    Abstract: A storage cluster includes a plurality of storage nodes. Each of the plurality of storage nodes includes nonvolatile solid-state memory and each of the plurality of storage nodes is configured to cooperate with others of the plurality of storage nodes having differing storage capacities in applying erasure coding. The plurality of storage nodes are configured to distribute the user data and metadata throughout the plurality of storage nodes.
    Type: Grant
    Filed: January 16, 2020
    Date of Patent: October 20, 2020
    Assignee: Pure Storage, Inc.
    Inventors: John Martin Hayes, Par Anders Botes, John Colgrove, John D. Davis, Robert Lee, Joshua P. Robinson, Peter Vajgel
  • Publication number: 20200257591
    Abstract: A plurality of storage nodes in a single chassis is provided. The plurality of storage nodes in the single chassis is configured to communicate together as a storage cluster. Each of the plurality of storage nodes includes nonvolatile solid-state memory for user data storage. The plurality of storage nodes is configured to distribute the user data and metadata associated with the user data throughout the plurality of storage nodes such that the plurality of storage nodes maintain the ability to read the user data, using erasure coding, despite a loss of two of the plurality of storage nodes. A plurality of compute nodes is included in the single chassis, each of the plurality of compute nodes is configured to communicate with the plurality of storage nodes. A method for accessing user data in a plurality of storage nodes having nonvolatile solid-state memory is also provided.
    Type: Application
    Filed: April 30, 2020
    Publication date: August 13, 2020
    Inventors: John Hayes, John Colgrove, John D. Davis
  • Patent number: 10712948
    Abstract: A method for mapping storage system resources is provided. The method includes receiving identification information from a plurality of storage system resources of at least one data center, and receiving performance information from the plurality of storage system resources. The method includes generating a physical or virtual mapping, in one or more dimensions, of locations of each of the plurality of storage system resources, relative to the at least one data center, and representing the identification information and the performance information in the physical or virtual mapping of each of the plurality of storage system resources.
    Type: Grant
    Filed: October 28, 2016
    Date of Patent: July 14, 2020
    Assignee: Pure Storage, Inc.
    Inventor: John D. Davis
  • Publication number: 20200192756
    Abstract: In some embodiments, a method for die-level monitoring is provided. The method includes distributing user data throughout a plurality of storage nodes through erasure coding, wherein the plurality of storage nodes are housed within a chassis that couples the storage nodes. Each of the storage nodes has a non-volatile solid-state storage with non-volatile memory and the user data is accessible via the erasure coding from a remainder of the storage nodes in event of two of the storage nodes being unreachable. The method includes producing diagnostic information that diagnoses the non-volatile memory on a basis of per package, per die, per plane, per block, or per page, the producing performed by each of the plurality of storage nodes. The method includes writing the diagnostic information to a memory in the storage cluster.
    Type: Application
    Filed: February 25, 2020
    Publication date: June 18, 2020
    Inventors: John D. Davis, John Hayes, Hari Kannan, Nenad Miladinovic, Zhangxi Tan
  • Patent number: 10671480
    Abstract: A plurality of storage nodes in a single chassis is provided. The plurality of storage nodes in the single chassis is configured to communicate together as a storage cluster. Each of the plurality of storage nodes includes nonvolatile solid-state memory for user data storage. The plurality of storage nodes is configured to distribute the user data and metadata associated with the user data throughout the plurality of storage nodes such that the plurality of storage nodes maintain the ability to read the user data, using erasure coding, despite a loss of two of the plurality of storage nodes. A plurality of compute nodes is included in the single chassis, each of the plurality of compute nodes is configured to communicate with the plurality of storage nodes. A method for accessing user data in a plurality of storage nodes having nonvolatile solid-state memory is also provided.
    Type: Grant
    Filed: March 30, 2018
    Date of Patent: June 2, 2020
    Assignee: Pure Storage, Inc.
    Inventors: John Hayes, John Colgrove, John D. Davis
  • Publication number: 20200150877
    Abstract: A storage cluster includes a plurality of storage nodes. Each of the plurality of storage nodes includes nonvolatile solid-state memory and each of the plurality of storage nodes is configured to cooperate with others of the plurality of storage nodes having differing storage capacities in applying erasure coding. The plurality of storage nodes are configured to distribute the user data and metadata throughout the plurality of storage nodes.
    Type: Application
    Filed: January 16, 2020
    Publication date: May 14, 2020
    Inventors: John Martin Hayes, Par Anders Botes, John Colgrove, John D. Davis, Robert Lee, Joshua P. Robinson, Peter Vajgel
  • Patent number: 10579474
    Abstract: In some embodiments, a method for die-level monitoring is provided. The method includes distributing user data throughout a plurality of storage nodes through erasure coding, wherein the plurality of storage nodes are housed within a chassis that couples the storage nodes. Each of the storage nodes has a non-volatile solid-state storage with non-volatile memory and the user data is accessible via the erasure coding from a remainder of the storage nodes in event of two of the storage nodes being unreachable. The method includes producing diagnostic information that diagnoses the non-volatile memory on a basis of per package, per die, per plane, per block, or per page, the producing performed by each of the plurality of storage nodes. The method includes writing the diagnostic information to a memory in the storage cluster.
    Type: Grant
    Filed: January 29, 2018
    Date of Patent: March 3, 2020
    Assignee: Pure Storage, Inc.
    Inventors: John D. Davis, John Hayes, Hari Kannan, Nenad Miladinovic, Zhangxi Tan
  • Patent number: 10528419
    Abstract: A method of failure mapping is provided. The method includes determining that a non-volatile memory block in the memory has a defect and generating a mask that indicates the non-volatile memory block and the defect. The method includes reading from the non-volatile memory block with application of the mask, wherein the reading and the application of the mask are performed by the non-volatile solid-state storage.
    Type: Grant
    Filed: September 15, 2017
    Date of Patent: January 7, 2020
    Assignee: Pure Storage, Inc.
    Inventors: John D. Davis, John Hayes, Hari Kannan, Nenad Miladinovic, Zhangxi Tan
  • Publication number: 20190369885
    Abstract: A method for managing processing power in a storage system is provided. The method includes providing a plurality of blades, each of a first subset having a storage node and storage memory, and each of a second, differing subset having a compute-only node. The method includes distributing authorities across the plurality of blades, to a plurality of nodes including at least one compute-only node, wherein each authority has ownership of a range of user data.
    Type: Application
    Filed: August 12, 2019
    Publication date: December 5, 2019
    Inventors: JOHN MARTIN HAYES, ROBERT LEE, JOHN COLGROVE, JOHN D. DAVIS
  • Publication number: 20190340136
    Abstract: A storage controller coupled to a storage array comprising one or more storage devices that performs at least one data reduction operation on decrypted data, encrypts the reduced data using a second encryption key to generate a second encrypted data, and stores the second encrypted data on the storage array.
    Type: Application
    Filed: July 17, 2019
    Publication date: November 7, 2019
    Inventors: Jonas R. Irwin, Ethan L. Miller, John D. Davis
  • Patent number: 10442011
    Abstract: A flat flywheel body fabricated by water jet cutting has radial spoke pairs with a display hanger slot in between and flywheel weights circumferentially extending at their peripheral ends. Resilient thin attachment rims for the saw blades are circumferentially connecting the flywheel weights and provide together with them a continuous peripheral sliding surface. A two piece arbor is connected to a central continuous spline of the flywheel body. The peripheral saw blades are bent into concentric curvature by radially clamping them onto the blade attachment rims.
    Type: Grant
    Filed: November 20, 2017
    Date of Patent: October 15, 2019
    Assignee: ME3, INC
    Inventor: John D. Davis
  • Publication number: 20190278674
    Abstract: A plurality of storage nodes within a single chassis is provided. The plurality of storage nodes is configured to communicate together as a storage cluster. The plurality of storage nodes has a non-volatile solid-state storage for user data storage. The plurality of storage nodes is configured to distribute the user data and metadata associated with the user data throughout the plurality of storage nodes, with erasure coding of the user data. The plurality of storage nodes is configured to recover from failure of two of the plurality of storage nodes by applying the erasure coding to the user data from a remainder of the plurality of storage nodes. The plurality of storage nodes is configured to detect an error and engage in an error recovery via one of a processor of one of the plurality of storage nodes, a processor of the non-volatile solid state storage, or the flash memory.
    Type: Application
    Filed: May 24, 2019
    Publication date: September 12, 2019
    Inventors: John D. Davis, John Hayes, Hari Kannan, Nenad Miladinovic, Zhangxi Tan
  • Patent number: 10387661
    Abstract: A storage controller coupled to a storage array comprising one or more storage devices receives a request to write encrypted data to a volume resident on a storage array, where the encrypted data comprises data encrypted by a first encryption key that is associated with at least one property of the data. The storage controller determines a decryption key to decrypt the encrypted data, decrypts the encrypted data using the decryption key, performs at least one data reduction operation on the decrypted data, encrypts the reduced data using a second encryption key to generate a second encrypted data, and storing the second encrypted data on the storage array.
    Type: Grant
    Filed: January 9, 2017
    Date of Patent: August 20, 2019
    Assignee: Pure Storage, Inc.
    Inventors: John D. Davis, Jonas R. Irwin, Ethan L. Miller
  • Patent number: 10379763
    Abstract: A method for managing processing power in a storage system is provided. The method includes providing a plurality of blades, each of a first subset having a storage node and storage memory, and each of a second, differing subset having a compute-only node. The method includes distributing authorities across the plurality of blades, to a plurality of nodes including at least one compute-only node, wherein each authority has ownership of a range of user data.
    Type: Grant
    Filed: December 4, 2017
    Date of Patent: August 13, 2019
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, John D. Davis, John Martin Hayes, Robert Lee
  • Patent number: 10367507
    Abstract: A plurality of dynamic decode circuits for decoding a plurality of input signals comprises a decoder that decodes the plurality of input signals to produce a result at a first node, the result is propagated to a second node while an evaluation clock is active by a pair of serially connected transistors consisting of a transistor receiving an evaluation clock at its gate and a transistor receiving the first node at its gate, the plurality of dynamic decode circuits sharing a conditioned node.
    Type: Grant
    Filed: July 7, 2018
    Date of Patent: July 30, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Paul Alan Bunce, Yuen Hung Chan, John D. Davis, Antonio Raffaele Pelella
  • Publication number: 20190227875
    Abstract: A storage cluster is provided. The storage cluster includes a plurality of storage nodes within a chassis. The plurality of storage nodes has flash memory for storage of user data and is configured to distribute the user data and metadata throughout the plurality of storage nodes such that the storage nodes can access the user data with a failure of two of the plurality of storage nodes. Each of the storage nodes is configured to generate at least one address translation table that maps around defects in the flash memory on one of a per flash package basis, per flash die basis, per flash plane basis, per flash block basis, per flash page basis, or per physical address basis. Each of the plurality of storage nodes is configured to apply the at least one address translation table to write and read accesses of the user data.
    Type: Application
    Filed: March 29, 2019
    Publication date: July 25, 2019
    Inventors: John D. Davis, John Hayes, Hari Kannan, Nenad Miladinovic, Zhangxi Tan
  • Patent number: 10324812
    Abstract: A plurality of storage nodes within a single chassis is provided. The plurality of storage nodes is configured to communicate together as a storage cluster. The plurality of storage nodes has a non-volatile solid-state storage for user data storage. The plurality of storage nodes is configured to distribute the user data and metadata associated with the user data throughout the plurality of storage nodes, with erasure coding of the user data. The plurality of storage nodes is configured to recover from failure of two of the plurality of storage nodes by applying the erasure coding to the user data from a remainder of the plurality of storage nodes. The plurality of storage nodes is configured to detect an error and engage in an error recovery via one of a processor of one of the plurality of storage nodes, a processor of the non-volatile solid state storage, or the flash memory.
    Type: Grant
    Filed: November 14, 2016
    Date of Patent: June 18, 2019
    Assignee: Pure Storage, Inc.
    Inventors: John D. Davis, John Hayes, Hari Kannan, Nenad Miladinovic, Zhangxi Tan
  • Publication number: 20190178283
    Abstract: An actuation and reaction socket tool features a reaction coupling that is slid onto the spline flange of a power torque wrench prior to attaching the actuation socket on the drive shaft of the torque wrench and prior to securing it with a well-known safety pin. The reaction coupling is then coupled to the reaction socket via circumferentially arrayed and interlocking castles on both the reaction coupling and reaction socket. A lock plate spring loaded snaps into grooves on the inside of the castles and axially locks the reaction coupling with the reaction socket. At least one of the reaction coupling and reaction socket is axially withheld by the central actuation socket such that the entire tool system remains connected to the torque wrench. To remove the tool again, the reaction coupling and reaction socket are first decoupled, which provides access again to the safety pin for its removal.
    Type: Application
    Filed: December 7, 2018
    Publication date: June 13, 2019
    Applicant: The Reaction Washer Company LLC
    Inventors: John D. Davis, Johannes P. Schneeberger