Patents by Inventor Roland Dreier

Roland Dreier 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: 11126381
    Abstract: A virtualized copy-by-reference includes: receiving, from a first computer system, a request for reference information for source data within a source volume; providing, to the first computer system, the reference information, wherein the reference information corresponds to a metadata representation of the source data; receiving, from a second computer system, a request to write the source data to a target volume, and wherein the request to write the source data indicates the reference information; and copying, using the reference information, the metadata representation of the source data to the target volume.
    Type: Grant
    Filed: August 29, 2019
    Date of Patent: September 21, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Roland Dreier, Krishna Kant, Rachel Shanava
  • Publication number: 20210019091
    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: October 7, 2020
    Publication date: January 21, 2021
    Inventors: Gordon James Coleman, Roland Dreier, Peter E. Kirkpatrick
  • Patent number: 10896000
    Abstract: A method includes receiving, by a storage drive and from a storage controller, a modified first submission queue command including a first logical unit identifier. The first submission queue command includes a first host identifier to identify a first host controller was previously received by the storage controller from the first host controller. The first submission queue command was modified by the storage controller to replace the first host identifier with the first logical unit identifier. The method also includes responsive to receiving the modified first submission queue command, identifying, by the storage drive, a first logical unit of storage based on the first logical unit identifier of the modified submission queue command. The method includes granting, by the storage drive, a reservation for access to the storage drive on behalf of the first host controller by associating the reservation for the first logical unit with a second logical unit of storage.
    Type: Grant
    Filed: June 6, 2018
    Date of Patent: January 19, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Gordon James Coleman, Roland Dreier, Peter E. Kirkpatrick
  • Publication number: 20200343974
    Abstract: A storage controller includes a processing device to send a Non-Volatile Memory Express over Fibre Channel (NVMe/FC) command to a submission queue without routing the NVMe/FC command through a kernel space, the submission queue being reserved for direct access by an initiator device to a user space of the storage controller.
    Type: Application
    Filed: July 13, 2020
    Publication date: October 29, 2020
    Inventor: Roland Dreier
  • Patent number: 10776046
    Abstract: In one implementation, a method includes receiving code associated with two or more cores of a storage array controller. The method further includes determining, by the storage array controller, that the code is executable and read-only. The method further includes loading, based on the determination, the code into two or more memory pages corresponding to the two or more cores, wherein each of the two or more memory pages is local to each of the two or more cores, respectively.
    Type: Grant
    Filed: July 6, 2018
    Date of Patent: September 15, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Roland Dreier, Peter E. Kirkpatrick, Naveen Neelakantam
  • Patent number: 10756816
    Abstract: A storage controller includes a plurality of submission queues corresponding to an initiator device and a processing device, the processing device to receive a Fibre Channel Protocol (FCP) command from the initiator device and send the FCP command to a first submission queue of the plurality of submission queues, the first submission queue being reserved for use by a kernel space of the storage controller. The processing device further to receive a Non-Volatile Memory Express over Fibre Channel (NVMe/FC) command from the initiator device. The processing device further to send the NVMe/FC command to a second submission queue of the plurality of submission queues without routing the NVMe/FC command through the kernel space, the second submission queue being reserved for direct access by the initiator device to a user space of the storage controller.
    Type: Grant
    Filed: March 29, 2019
    Date of Patent: August 25, 2020
    Assignee: Pure Storage, Inc.
    Inventor: Roland Dreier
  • Publication number: 20200183827
    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: January 3, 2020
    Publication date: June 11, 2020
    Inventors: Roland Dreier, Ronald Karr, Peter E. Kirkpatrick
  • Patent number: 10678432
    Abstract: A storage controller coupled to a storage array includes a device driver running in a kernel space that receives an administrative command from an application running in a user space of the storage controller and writes the administrative command to a first submission queue of a plurality of submission queues associated with a storage device in the storage array, where the first submission queue is reserved for use by the device driver. An input/output (I/O) command received from the application running in the user space, however, is written directly to a second submission queue of the plurality of submission queues without being routed through the kernel space, where the second submission queue being reserved for direct access by the application running in the user space.
    Type: Grant
    Filed: January 26, 2017
    Date of Patent: June 9, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Roland Dreier, Bryan Freed, Logan Jennings, Sandeep Mann
  • Patent number: 10680932
    Abstract: Managing connectivity to synchronously replicated storage systems, including: identifying a plurality of storage systems across which a dataset is synchronously replicated; identifying a host that can issue I/O operations directed to the dataset; identifying a plurality of data communications paths between the host and the plurality of storage systems across which a dataset is synchronously replicated; identifying, from amongst the plurality of data communications paths between the host and the plurality of storage systems across which a dataset is synchronously replicated, one or more optimal paths; and issuing, to the host, an identification of the one or more optimal paths.
    Type: Grant
    Filed: August 23, 2017
    Date of Patent: June 9, 2020
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Roland Dreier, David Grunwald, Steven Hodgson, Ronald Karr, Daquan Zuo
  • Patent number: 10613974
    Abstract: A system may include embedded storage devices, each including an addressable non-volatile random-access memory (NVRAM) portion and storage system controllers operatively coupled to the embedded storage devices via a full-duplex switched network. The storage system controllers may be configured to instruct a first embedded storage device of the plurality of embedded storage devices to: receive first data to be stored in a first NVRAM portion of the embedded storage device, store the first data in the first NVRAM portion of the first embedded storage device, and send second data to a second NVRAM portion of a second embedded storage device directly via the full-duplex switched network.
    Type: Grant
    Filed: April 28, 2017
    Date of Patent: April 7, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Roland Dreier, Ronald Karr, Peter E. Kirkpatrick
  • Patent number: 10545861
    Abstract: A system may include embedded storage devices, each including: a first solid state drive (SSD) storage portion and a second non-volatile random-access memory (NVRAM) portion. The NVRAM portion includes a random access memory (RAM) device, a processing device, and an energy source, where the first SSD portion and the second NVRAM portion are separately addressable. The system further includes a storage system controller, operatively coupled to the embedded storage devices via a network. The storage system controller may be to: determine that data is to be stored in the first SSD storage portion of a first embedded storage device of the plurality of embedded storage devices; and buffer the data in the second NVRAM portion of a second embedded storage device of the plurality of embedded storage devices.
    Type: Grant
    Filed: April 28, 2017
    Date of Patent: January 28, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Roland Dreier, Ronald Karr, Peter E. Kirkpatrick
  • Patent number: 10540307
    Abstract: Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array, including: inserting, into a buffer utilized by a direct memory access (‘DMA’) engine of a first storage array controller, a data transfer descriptor describing data stored in memory of the first storage array controller and a location to write the data to memory of the second storage array controller; retrieving, in dependence upon the data transfer descriptor, the data stored in memory of the first storage array controller; and writing the data into the memory of the second storage array controller in dependence upon the data transfer descriptor.
    Type: Grant
    Filed: March 5, 2018
    Date of Patent: January 21, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Roland Dreier, Yan Liu, Sandeep Mann
  • Patent number: 10459664
    Abstract: A virtualized copy-by-reference includes: receiving, from a first computer system, a request for reference information for source data within a source volume; providing, to the first computer system, the reference information, wherein the reference information corresponds to a metadata representation of the source data; receiving, from a second computer system, a request to write the source data to a target volume, and wherein the request to write the source data indicates the reference information; and copying, using the reference information, the metadata representation of the source data to the target volume.
    Type: Grant
    Filed: July 26, 2017
    Date of Patent: October 29, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Roland Dreier, Krishna Kant, Rachel Shanava
  • Patent number: 10310760
    Abstract: Layering communication fabric protocols, including: allocating storage resources on an initiating storage system for a data transfer, wherein a command protocol to implement the data transfer specifies an exchange of multiple messages; receiving, from a target storage system and into the allocated storage resources at the initiating storage system, data within a single message corresponding to the command protocol that specifies an exchange of multiple messages to implement the data transfer; and in response to receiving the data within the single message corresponding to the command protocol that specifies an exchange of multiple messages to implement the data transfer, generating a status message indicating receipt of the data.
    Type: Grant
    Filed: October 30, 2018
    Date of Patent: June 4, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Roland Dreier, Steven Hodgson, Ronald Karr
  • Publication number: 20180285024
    Abstract: A method includes receiving, by a storage drive and from a storage controller, a modified first submission queue command including a first logical unit identifier. The first submission queue command includes a first host identifier to identify a first host controller was previously received by the storage controller from the first host controller. The first submission queue command was modified by the storage controller to replace the first host identifier with the first logical unit identifier. The method also includes responsive to receiving the modified first submission queue command, identifying, by the storage drive, a first logical unit of storage based on the first logical unit identifier of the modified submission queue command. The method includes granting, by the storage drive, a reservation for access to the storage drive on behalf of the first host controller by associating the reservation for the first logical unit with a second logical unit of storage.
    Type: Application
    Filed: June 6, 2018
    Publication date: October 4, 2018
    Inventors: Gordon James Coleman, Roland Dreier, Peter E. Kirkpatrick
  • Patent number: 10019201
    Abstract: A method includes receiving, by a storage drive and from a storage controller, a modified first reservation command including a first logical unit identifier. The first reservation command includes a first host identifier to identify a first host controller was previously received by the storage controller from the first host controller. The first reservation command was modified by the storage controller to replace the first host identifier with the first logical unit identifier. The method also includes responsive to receiving the modified first reservation command, identifying, by the storage drive, a first logical unit of storage based on the first logical unit identifier of the modified reservation command. The method includes granting, by the storage drive, a reservation for access to the storage drive on behalf of the first host controller by associating the reservation for the first logical unit with a second logical unit of storage.
    Type: Grant
    Filed: August 2, 2017
    Date of Patent: July 10, 2018
    Assignee: PURE STORAGE, INC.
    Inventors: Gordon James Coleman, Roland Dreier, Peter E. Kirkpatrick
  • Publication number: 20180095872
    Abstract: A system may include embedded storage devices, each including: a first solid state drive (SSD) storage portion and a second non-volatile random-access memory (NVRAM) portion. The NVRAM portion includes a random access memory (RAM) device, a processing device, and an energy source, where the first SSD portion and the second NVRAM portion are separately addressable. The system further includes a storage system controller, operatively coupled to the embedded storage devices via a network. The storage system controller may be to: determine that data is to be stored in the first SSD storage portion of a first embedded storage device of the plurality of embedded storage devices; and buffer the data in the second NVRAM portion of a second embedded storage device of the plurality of embedded storage devices.
    Type: Application
    Filed: April 28, 2017
    Publication date: April 5, 2018
    Inventors: Roland Dreier, Ronald Karr, Peter E. Kirkpatrick
  • Publication number: 20180095871
    Abstract: A system may include embedded storage devices, each including an addressable non-volatile random-access memory (NVRAM) portion and storage system controllers operatively coupled to the embedded storage devices via a full-duplex switched network. The storage system controllers may be configured to instruct a first embedded storage device of the plurality of embedded storage devices to: receive first data to be stored in a first NVRAM portion of the embedded storage device, store the first data in the first NVRAM portion of the first embedded storage device, and send second data to a second NVRAM portion of a second embedded storage device directly via the full-duplex switched network.
    Type: Application
    Filed: April 28, 2017
    Publication date: April 5, 2018
    Inventors: Roland Dreier, Ronald Karr, Peter E. Kirkpatrick
  • Patent number: 9910800
    Abstract: Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array, including: inserting, into a buffer utilized by a direct memory access (‘DMA’) engine of a first storage array controller, a data transfer descriptor describing data stored in memory of the first storage array controller and a location to write the data to memory of the second storage array controller; retrieving, in dependence upon the data transfer descriptor, the data stored in memory of the first storage array controller; and writing the data into the memory of the second storage array controller in dependence upon the data transfer descriptor.
    Type: Grant
    Filed: September 7, 2017
    Date of Patent: March 6, 2018
    Assignee: Pure Storage, Inc.
    Inventors: Roland Dreier, Yan Liu, Sandeep Mann
  • Patent number: 9892071
    Abstract: Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array, including: inserting, into a buffer utilized by a direct memory access (‘DMA’) engine of a first storage array controller, a data transfer descriptor describing data stored in memory of the first storage array controller and a location to write the data to memory of the second storage array controller; retrieving, in dependence upon the data transfer descriptor, the data stored in memory of the first storage array controller; and writing the data into the memory of the second storage array controller in dependence upon the data transfer descriptor.
    Type: Grant
    Filed: August 3, 2015
    Date of Patent: February 13, 2018
    Assignee: Pure Storage, Inc.
    Inventors: Roland Dreier, Yan Liu, Sandeep Mann