IP Library › Granted Patent US 12,293,112
Granted Patent B2
US 12,293,112 · App. 18/582,042 · Granted May 6, 2025

Intelligent storage protocol modification of a distributed storage system

Inventors: Gordon James Coleman (Los Altos, CA); Peter E. Kirkpatrick (Los Altos, CA); Roland Dreier (Mountain View, CA)
Assignee: PURE STORAGE, INC.
G06F3/0659G06F3/061G06F3/067G06F9/4881H04L67/1097H04L67/60
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,293,112
App. No.
18/582,042
Granted
May 6, 2025
Kind
B2
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.

Claims (28)

1. A storage enclosure comprising:

a plurality of solid state storage devices presenting a first storage protocol; and

a plurality of storage controllers, operatively coupled to the plurality of solid state storage devices, the plurality of storage controllers configured to:

present the plurality of solid state storage devices as solid state storage devices presenting a second storage protocol that is different than the first storage protocol; and

modify requests using the second storage protocol to use the first storage protocol of the plurality of solid state storage devices.

2. The storage enclosure of claim 1 , wherein the first storage protocol is Non-volatile Memory Express (NVMe) over Peripheral Component Interconnect Express (PCIe).

3. The storage enclosure of claim 1 , wherein the second storage protocol is Non-volatile Memory Express (NVMe) over fabric.

4. The storage enclosure of claim 3 , wherein the second storage protocol is NVMe over Transmission Control Protocol (TCP).

5. The storage enclosure of claim 3 , wherein the second storage protocol is NVMe over Remote Direct Memory Access (RDMA).

6. The storage enclosure of claim 1 , wherein each of the plurality of storage controllers replace a same host identifier with a same logical identifier.

7. The storage enclosure of claim 1 , wherein the plurality of solid state storage devices has erase blocks that are directly mapped.

8. A method comprising:

presenting, by a processing device of a storage controller, a plurality solid state storage devices presenting a first storage protocol as solid state storage devices presenting a second storage protocol that is different than the first storage protocol; and

modify requests using the second storage protocol to use the first storage protocol of the plurality of solid state storage devices.

9. The method of claim 8 , wherein the first storage protocol is Non-volatile Memory Express (NVMe) over Peripheral Component Interconnect Express (PCIe).

10. The method of claim 8 , wherein the second storage protocol is Non-volatile Memory Express (NVMe) over fabric.

11. The method of claim 10 , wherein the second storage protocol is NVMe over Transmission Control Protocol (TCP).

12. The method of claim 10 , wherein the second storage protocol is NVMe over Remote Direct Memory Access (RDMA).

13. The method of claim 8 , wherein each of the plurality of storage controllers replace a same host identifier with a same logical identifier.

14. The method of claim 8 , wherein the plurality of solid state storage devices has erase blocks that are directly mapped.

15. A non-transitory computer readable storage medium storing instructions which, when executed, cause a processing device of a storage controller to:

present a plurality of solid state storage devices presenting a first storage protocol as solid state storage devices presenting a second storage protocol that is different than the first storage protocol; and

modify requests using the second storage protocol to use the first storage protocol of the plurality of solid state storage devices.

16. The non-transitory computer readable storage medium of claim 15 , wherein the first storage protocol is Non-volatile Memory Express (NVMe) over Peripheral Component Interconnect Express (PCIe).

17. The non-transitory computer readable storage medium of claim 15 , wherein the second storage protocol is Non-volatile Memory Express (NVMe) over fabric.

18. The non-transitory computer readable storage medium of claim 17 , wherein the second storage protocol is NVMe over Transmission Control Protocol (TCP).

19. The non-transitory computer readable storage medium of claim 17 , wherein the second storage protocol is NVMe over Remote Direct Memory Access (RDMA).

20. The non-transitory computer readable storage medium of claim 15 , wherein each of the plurality of storage controllers replace a same host identifier with a same logical identifier.

Continuity (7)
Continuation 17990586 · Nov 18, 2022
Continuation 17065309 · Oct 7, 2020
Continuation 16001827 · Jun 6, 2018
Continuation 15667529 · Aug 2, 2017
Continuation 15419886 · Jan 30, 2017
Provisional Application 62404109 · Oct 4, 2016
Related Publication 20240192894A1 · Jun 13, 2024
References Cited (20)
US 10282258B1 · Compton · 2019 [cited by examiner]
US 11076509B2 · Alissa et al. · 2021 [cited by applicant]
US 11194707B2 · Stalzer · 2021 [cited by applicant]
US 11537322B2 · Coleman · 2022 [cited by examiner]
US 11922070B2 · Coleman · 2024 [cited by examiner]
US 20100306500A1 · Mimatsu · 2010 [cited by applicant]
US 20140220561A1 · Sukumar et al. · 2014 [cited by applicant]
US 20150154418A1 · Redberg · 2015 [cited by applicant]
US 20160026397A1 · Nishikido et al. · 2016 [cited by applicant]
US 20160182542A1 · Staniford · 2016 [cited by applicant]
US 20160248631A1 · Duchesneau · 2016 [cited by applicant]
US 20170262202A1 · Seo · 2017 [cited by applicant]
US 20180054454A1 · Astigarraga et al. · 2018 [cited by applicant]
US 20180285024A1 · Coleman · 2018 [cited by examiner]
US 20190220315A1 · Vallala et al. · 2019 [cited by applicant]
US 20200034560A1 · Natanzon et al. · 2020 [cited by applicant]
US 20200326871A1 · Wu et al. · 2020 [cited by applicant]
US 20210360833A1 · Alissa et al. · 2021 [cited by applicant]
US 20230084818A1 · Coleman · 2023 [cited by examiner]
Strass H., “An Introduction to NVMe,” Seagate, Jun. 9, 2016, 8 Pages, Retrieved from URL: https://www.seagate.com/files/www-content/product-content/ssd-fam/nvme-ssd/nytro-xf1440-ssd/_shared/docs/an-introduction-to-nvme-… [cited by applicant]