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: 11126381Abstract: 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: GrantFiled: August 29, 2019Date of Patent: September 21, 2021Assignee: Pure Storage, Inc.Inventors: Roland Dreier, Krishna Kant, Rachel Shanava
-
Publication number: 20210019091Abstract: 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: ApplicationFiled: October 7, 2020Publication date: January 21, 2021Inventors: Gordon James Coleman, Roland Dreier, Peter E. Kirkpatrick
-
Patent number: 10896000Abstract: 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: GrantFiled: June 6, 2018Date of Patent: January 19, 2021Assignee: Pure Storage, Inc.Inventors: Gordon James Coleman, Roland Dreier, Peter E. Kirkpatrick
-
Publication number: 20200343974Abstract: 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: ApplicationFiled: July 13, 2020Publication date: October 29, 2020Inventor: Roland Dreier
-
Patent number: 10776046Abstract: 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: GrantFiled: July 6, 2018Date of Patent: September 15, 2020Assignee: PURE STORAGE, INC.Inventors: Roland Dreier, Peter E. Kirkpatrick, Naveen Neelakantam
-
Patent number: 10756816Abstract: 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: GrantFiled: March 29, 2019Date of Patent: August 25, 2020Assignee: Pure Storage, Inc.Inventor: Roland Dreier
-
Publication number: 20200183827Abstract: 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: ApplicationFiled: January 3, 2020Publication date: June 11, 2020Inventors: Roland Dreier, Ronald Karr, Peter E. Kirkpatrick
-
Patent number: 10678432Abstract: 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: GrantFiled: January 26, 2017Date of Patent: June 9, 2020Assignee: Pure Storage, Inc.Inventors: Roland Dreier, Bryan Freed, Logan Jennings, Sandeep Mann
-
Patent number: 10680932Abstract: 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: GrantFiled: August 23, 2017Date of Patent: June 9, 2020Assignee: Pure Storage, Inc.Inventors: John Colgrove, Roland Dreier, David Grunwald, Steven Hodgson, Ronald Karr, Daquan Zuo
-
Patent number: 10613974Abstract: 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: GrantFiled: April 28, 2017Date of Patent: April 7, 2020Assignee: PURE STORAGE, INC.Inventors: Roland Dreier, Ronald Karr, Peter E. Kirkpatrick
-
Patent number: 10545861Abstract: 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: GrantFiled: April 28, 2017Date of Patent: January 28, 2020Assignee: PURE STORAGE, INC.Inventors: Roland Dreier, Ronald Karr, Peter E. Kirkpatrick
-
Patent number: 10540307Abstract: 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: GrantFiled: March 5, 2018Date of Patent: January 21, 2020Assignee: Pure Storage, Inc.Inventors: Roland Dreier, Yan Liu, Sandeep Mann
-
Patent number: 10459664Abstract: 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: GrantFiled: July 26, 2017Date of Patent: October 29, 2019Assignee: Pure Storage, Inc.Inventors: Roland Dreier, Krishna Kant, Rachel Shanava
-
Patent number: 10310760Abstract: 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: GrantFiled: October 30, 2018Date of Patent: June 4, 2019Assignee: Pure Storage, Inc.Inventors: Roland Dreier, Steven Hodgson, Ronald Karr
-
Publication number: 20180285024Abstract: 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: ApplicationFiled: June 6, 2018Publication date: October 4, 2018Inventors: Gordon James Coleman, Roland Dreier, Peter E. Kirkpatrick
-
Patent number: 10019201Abstract: 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: GrantFiled: August 2, 2017Date of Patent: July 10, 2018Assignee: PURE STORAGE, INC.Inventors: Gordon James Coleman, Roland Dreier, Peter E. Kirkpatrick
-
Publication number: 20180095872Abstract: 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: ApplicationFiled: April 28, 2017Publication date: April 5, 2018Inventors: Roland Dreier, Ronald Karr, Peter E. Kirkpatrick
-
Publication number: 20180095871Abstract: 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: ApplicationFiled: April 28, 2017Publication date: April 5, 2018Inventors: Roland Dreier, Ronald Karr, Peter E. Kirkpatrick
-
Patent number: 9910800Abstract: 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: GrantFiled: September 7, 2017Date of Patent: March 6, 2018Assignee: Pure Storage, Inc.Inventors: Roland Dreier, Yan Liu, Sandeep Mann
-
Patent number: 9892071Abstract: 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: GrantFiled: August 3, 2015Date of Patent: February 13, 2018Assignee: Pure Storage, Inc.Inventors: Roland Dreier, Yan Liu, Sandeep Mann