Patents by Inventor Peter E. Kirkpatrick

Peter E. Kirkpatrick 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: 11630593
    Abstract: Reading data stored at a free block of a storage device is read prior to allocating the free block for storage of data. A determination as to whether a number of bit flips of the data stored at the free block is below a threshold is made. The free block is added to a pool of active free blocks to be allocated for the storage of data upon determining that the number of bit flips of the data stored at the free block is below the threshold.
    Type: Grant
    Filed: March 12, 2021
    Date of Patent: April 18, 2023
    Assignee: Pure Storage, Inc.
    Inventors: Shuyi Shao, Yuhong Mao, Peter E. Kirkpatrick
  • Publication number: 20230084818
    Abstract: A method includes, responsive to receiving a modified first reservation command from a storage controller, identifying, by a storage drive, a first range of storage based on a first range identifier of the modified reservation command. The method also includes granting, by the storage drive, a reservation for access to the storage drive on behalf of a first host controller by associating the reservation for the first range with a second range of storage.
    Type: Application
    Filed: November 18, 2022
    Publication date: March 16, 2023
    Inventors: Gordon James Coleman, Peter E. Kirkpatrick, Roland Dreier
  • Publication number: 20230061949
    Abstract: A command to relocate data is transmitted by a storage controller. The command includes first address information associated with a first set of blocks storing the data at one or more storage devices using a first programming mode and second address information associated with a second set of blocks at the one or more storage devices to store the relocated data using a second programming mode. The command causes the relocation of the data from the first set of blocks to the second set of blocks while bypassing sending the data to the storage controller. An acknowledgement is received that the relocated data has been stored at the second number of blocks.
    Type: Application
    Filed: November 4, 2022
    Publication date: March 2, 2023
    Inventors: Andrew R. Bernat, Peter E. Kirkpatrick, Gordon James Coleman, Wei Tang, John Roper
  • Publication number: 20230024480
    Abstract: One or more performance parameters associated with data stored at a storage device of a plurality of storage devices are received by a storage controller. A first number of blocks of the storage device to a high resiliency portion and a second number of blocks of the storage device to a low resiliency portion of the storage device are allocated based on the one or more performance parameters.
    Type: Application
    Filed: September 28, 2022
    Publication date: January 26, 2023
    Inventors: Hari Kannan, Gordon James Coleman, Yijie Zhao, Peter E. Kirkpatrick, Robert Lee, Yuhong Mao, Boris Feigin
  • Patent number: 11537322
    Abstract: A method includes, responsive to receiving a modified first reservation command from a storage controller, identifying, by a storage drive, a first range of storage based on a first range identifier of the modified reservation command. The method also includes granting, by the storage drive, a reservation for access to the storage drive on behalf of a first host controller by associating the reservation for the first range with a second range of storage.
    Type: Grant
    Filed: October 7, 2020
    Date of Patent: December 27, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Gordon James Coleman, Roland Dreier, Peter E. Kirkpatrick
  • Patent number: 11500570
    Abstract: A command to relocate data is transmitted by a storage controller. The command includes first address information associated with a first set of blocks storing the data at one or more storage devices using a first programming mode and second address information associated with a second set of blocks at the one or more storage devices to store the relocated data using a second programming mode. The command causes the relocation of the data from the first set of blocks to the second set of blocks while bypassing sending the data to the storage controller. An acknowledgement is received that the relocated data has been stored at the second number of blocks.
    Type: Grant
    Filed: June 21, 2021
    Date of Patent: November 15, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Andrew R. Bernat, Peter E. Kirkpatrick, Gordon James Coleman, Wei Tang, John Roper
  • Patent number: 11487455
    Abstract: One or more performance parameters associated with data stored at a storage device of a plurality of storage devices are received by a storage controller. A first number of blocks of the storage device to a high resiliency portion and a second number of blocks of the storage device to a low resiliency portion of the storage device are allocated based on the one or more performance parameters.
    Type: Grant
    Filed: December 17, 2020
    Date of Patent: November 1, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Hari Kannan, Gordon James Coleman, Yijie Zhao, Peter E. Kirkpatrick, Robert Lee, Yuhong Mao, Boris Feigin
  • Publication number: 20220291837
    Abstract: Reading data stored at a free block of a storage device is read prior to allocating the free block for storage of data. A determination as to whether a number of bit flips of the data stored at the free block is below a threshold is made. The free block is added to a pool of active free blocks to be allocated for the storage of data upon determining that the number of bit flips of the data stored at the free block is below the threshold.
    Type: Application
    Filed: March 12, 2021
    Publication date: September 15, 2022
    Inventors: Shuyi Shao, Yuhong Mao, Peter E. Kirkpatrick
  • Publication number: 20220291841
    Abstract: In one implementation, a system resource is added to a storage system, for a resource-preserving upgrade. An upgrade component is coupled to the storage system as a temporary storage system shelf. Storage drives are moved from the storage system to the upgrade component. One or more storage controllers of the upgrade component are promoted to take over data services from the storage system.
    Type: Application
    Filed: May 25, 2022
    Publication date: September 15, 2022
    Inventors: Anthony Niven, Andrew R. Bernat, Eric Kelly Blanchard, Ashish Karkare, Peter E. Kirkpatrick
  • Publication number: 20220283935
    Abstract: A system including embedded storage devices is described. A method of system operation includes determining, by a processing device of a storage system controller operatively coupled via a network to embedded storage devices, that data is to be stored in a first storage portion of a first storage device of the embedded storage devices. The method also includes buffering the data in a second storage portion of a second embedded storage device of the embedded storage devices.
    Type: Application
    Filed: May 20, 2022
    Publication date: September 8, 2022
    Inventors: Roland Dreier, Ronald Karr, Peter E. Kirkpatrick
  • Patent number: 11385999
    Abstract: A system including embedded storage devices is described. A method of system operation includes determining, by a processing device of a storage system controller operatively coupled via a network to embedded storage devices, that data is to be stored in a first storage portion of a first storage device of the embedded storage devices. The method also includes buffering the data in a second storage portion of a second embedded storage device of the embedded storage devices.
    Type: Grant
    Filed: January 3, 2020
    Date of Patent: July 12, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Roland Dreier, Ronald Karr, Peter E. Kirkpatrick
  • Patent number: 11385792
    Abstract: In one implementation, a system resource is added to a storage system, for a resource-preserving upgrade. An upgrade component is coupled to the storage system as a temporary storage system shelf. Storage drives are moved from the storage system to the upgrade component. One or more storage controllers of the upgrade component are promoted to take over data services from the storage system.
    Type: Grant
    Filed: March 12, 2020
    Date of Patent: July 12, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Anthony Niven, Andrew R. Bernat, Eric Kelly Blanchard, Ashish Karkare, Peter E. Kirkpatrick
  • Publication number: 20220215875
    Abstract: A method for page writes for triple or higher level cell flash memory is provided. The method includes receiving data in a storage system, from a client that is agnostic of page write requirements for triple or higher level cell flash memory, wherein the page write requirements specify an amount of data and a sequence of writing data for a set of pages to assure read data coherency for the set of pages. The method includes accumulating the received data, in random-access memory (RAM) in the storage system to satisfy the page write requirements for the triple or higher level cell flash memory in the storage system. The method includes writing at least a portion of the accumulated data in accordance with the page write requirements, from the RAM to the triple level cell, or the higher level cell, flash memory in the storage system as an atomic write.
    Type: Application
    Filed: March 25, 2022
    Publication date: July 7, 2022
    Inventors: Hari Kannan, Peter E. Kirkpatrick
  • Publication number: 20220197505
    Abstract: One or more performance parameters associated with data stored at a storage device of a plurality of storage devices are received by a storage controller. A first number of blocks of the storage device to a high resiliency portion and a second number of blocks of the storage device to a low resiliency portion of the storage device are allocated based on the one or more performance parameters.
    Type: Application
    Filed: December 17, 2020
    Publication date: June 23, 2022
    Inventors: Hari Kannan, Gordon James Coleman, Yijie Zhao, Peter E. Kirkpatrick, Robert Lee, Yuhong Mao, Boris Feigin
  • Patent number: 11354058
    Abstract: A storage system includes solid-state storage devices and a storage controller operatively coupled to the solid-state storage devices, the storage controller including a processing device, the processing device to receive, from a solid-state storage device of the solid-state storage devices, an indication of an occurrence of triggering event associated with data stored at a first data block of the solid-state storage device. In response to receiving the indication of the occurrence of the triggering event, a second data block of the solid-state storage device is identified for storage of the data. A command in transmitted to the solid-state storage device that includes address information associated with the second data block of the solid-state storage device for storage of the data, wherein the command causes the solid-state storage device to program the data to the second data block.
    Type: Grant
    Filed: April 19, 2019
    Date of Patent: June 7, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Andrew R. Bernat, Peter E. Kirkpatrick, Gordon James Coleman, Wei Tang, Ronald Karr
  • Publication number: 20220164120
    Abstract: A storage system has a first storage and a second storage. The first storage has a first plurality of blades with first computing resources, first RAM resources and first solid-state storage resources. The second storage has second plurality of blades with second computing resources, second RAM resources and second solid-state storage resources. The first computing resources and the second computing resources cooperate to determine on which blades of the first and second pluralities of blades, and in which storage of the first and second storage, to perform compute processes and memory controller processes, using which of the first and second computing resources.
    Type: Application
    Filed: December 28, 2021
    Publication date: May 26, 2022
    Inventors: Hari Kannan, Ying Gao, Peter E. Kirkpatrick
  • Patent number: 11327655
    Abstract: In one implementation, a method includes establishing a connection between a new frontend system resource and an existing frontend system resource for a client network. The method further includes transferring, by a processing device, a frontend system resource role from the existing frontend system resource to the new frontend system resource to enable the existing frontend system resource to operate as a backend system resource.
    Type: Grant
    Filed: April 29, 2020
    Date of Patent: May 10, 2022
    Assignee: Pure Storage, Inc.
    Inventor: Peter E. Kirkpatrick
  • Patent number: 11328767
    Abstract: A method for page writes for triple or higher level cell flash memory is provided. The method includes receiving data in a storage system, from a client that is agnostic of page write requirements for triple or higher level cell flash memory, wherein the page write requirements specify an amount of data and a sequence of writing data for a set of pages to assure read data coherency for the set of pages. The method includes accumulating the received data, in random-access memory (RAM) in the storage system to satisfy the page write requirements for the triple or higher level cell flash memory in the storage system. The method includes writing at least a portion of the accumulated data in accordance with the page write requirements, from the RAM to the triple level cell, or the higher level cell, flash memory in the storage system as an atomic write.
    Type: Grant
    Filed: October 30, 2020
    Date of Patent: May 10, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Hari Kannan, Peter E. Kirkpatrick
  • Publication number: 20220138035
    Abstract: Data associated with a write request is stored at a storage device of multiple solid-state storage devices. A determination as to whether the data stored at the storage device is readable is made by determining whether a number of subsequent programming operations have been performed since the data was stored at the storage device. A notification that the stored data is readable from the storage device is generated upon determining that the data is readable.
    Type: Application
    Filed: January 6, 2022
    Publication date: May 5, 2022
    Inventors: Gordon James Coleman, Andrew R. Bernat, Peter E. Kirkpatrick
  • Publication number: 20220083235
    Abstract: A storage array controller may receive data to be programmed to a solid-state storage device of a plurality of solid-state storage devices. The storage array controller may identify a type of the data and determine whether to program the data to a low latency portion of the solid-state storage device based on the type of the data. In response to determining to program the data to the low latency portion of the solid-state storage device, the storage array controller may program the data to the low latency portion of the solid-state storage device.
    Type: Application
    Filed: November 24, 2021
    Publication date: March 17, 2022
    Inventors: Yijie Zhao, Peter E. Kirkpatrick, Andrew R. Bernat