IP Library Granted Patent US 12665948
Granted Patent B2
US 12665948 · App. 18/645,933 · Granted Jun 23, 2026

Method and apparatus for preventing delays in the reception of storage system data

Inventors: Niall Geary (Ballinlough, IE); Scott Rowlands (Cumming, GA); Igor Fradkin (Sharon, MA)
Assignee: Dell Products L.P.
H04L67/1097
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 12665948
App. No.
18/645,933
Filed
Apr 25, 2024
Granted
Jun 23, 2026
Kind
B2
Art Unit
2457
USPC
709/217
Abstract

A method for use in a storage system including a plurality of storage processors, the method comprising: detecting, by a given one of the plurality of storage processors, a first event that is associated with a communications network, the communications network being arranged to deliver write requests to the storage processor, the first event being an event that signals a disruption or a possible disruption in the operation of the communications network; in response to the first event, transitioning the given storage processor from a first state into a second state, the first state being a state in which data items associated with the write requests are routed to a global memory of the storage system via a first data path, the second state being state in which the data items are routed to the global memory via a second data path.

Claims (41)

1 . A method for use in a storage system including a plurality of storage processors, the method comprising:

detecting, by a given one of the plurality of storage processors, a first event that is associated with a communications network, the communications network being arranged to deliver write requests to the storage processor, the first event being an event that signals a disruption or a possible disruption in the operation of the communications network;

in response to the first event, transitioning the given storage processor from a first state into a second state, the first state being a state in which data items associated with the write requests are routed to a global memory of the storage system via a first data path, the second state being state in which the data items are routed to the global memory via a second data path,

wherein the global memory includes a plurality of global memory portions that are part of a same address space, wherein each global memory portion is implemented using physical memory hardware that is part of a different one of the plurality of storage processors, and

wherein routing a first one of the data items via the first data path includes: receiving, by the given storage processor, a plurality of portions of the first data item; and storing, by the given storage processor, each of the plurality of portions of the first data item in the global memory, at least some of the plurality of portions of the first data item being stored in the global memory before the entire first data item is successfully transferred to the given storage processor.

2 . The method of claim 1 , wherein the communications network includes a Fibre Channel network and the first event is a Fabric Performance Impact Notification (FPIN) event.

3 . The method of claim 1 , wherein routing a second one of the data items via the second data path includes:

receiving, by the given storage processor, a plurality of portions of the second data item and storing each of the plurality of portions of the second data item in a local memory of the given storage processor, the local memory being separate of the global memory; and

after the entire second data item has been successfully stored in the local memory, copying, by the given storage processor, the plurality of portions of the second data item from the local memory to the global memory,

wherein the global memory is accessible by each of the plurality of storage processors and the local memory is accessible only by the given storage processor.

4 . The method of claim 3 , wherein the local memory is hosted on physical memory hardware that is part of the given storage processor.

5 . The method of claim 1 , further comprising detecting a second event and transitioning the given storage processor from the second state back to the first state.

6 . The method of claim 5 , wherein the second event includes a timer event or a network signaling event.

7 . A storage processor, comprising:

physical memory hardware; and

at least one processor that is operatively coupled to the physical memory hardware, the at least one processor being configured to perform the operations of:

detecting a first event that is associated with a communications network, the communications network being arranged to deliver write requests to the storage processor, the first event being an event that signals a disruption or a possible disruption in the operation of the communications network;

in response to the first event, transitioning the storage processor from a first state into a second state, the first state being a state in which data items associated with the write requests are routed to a global memory of a storage system via a first data path, the second state being a state in which the data items are routed to the global memory via a second data path,

wherein the storage processor is part of a plurality of storage processors that constitute the storage system, and

wherein the global memory includes a plurality of global memory portions that are part of a same address space, wherein each global memory portion is implemented using physical memory hardware that is part of a different one of the plurality of storage processors, and

wherein routing a first one of the data items via the first data path includes: receiving a plurality of portions of the first data item; and storing each of the plurality of portions of the first data item in the global memory, at least some of the plurality of portions of the first data item being stored in the global memory before the entire first data item is successfully transferred to the storage processor.

8 . The storage processor of claim 7 , wherein the communications network includes a Fibre Channel network and the first event is a Fabric Performance Impact Notification (FPIN) event.

9 . The storage processor of claim 7 , wherein routing a second one of the data items via the second data path includes:

receiving a plurality of portions of the second data item and storing each of the plurality of portions of the second data item in a local memory, the local memory being separate of the global memory; and

after the entire second data item has been successfully stored in the local memory, copying the plurality of portions of the second data item from the local memory to the global memory,

wherein the global memory is accessible by each of the plurality of storage processors and the local memory is accessible only by the at least one processor.

10 . The storage processor of claim 9 , wherein the local memory is hosted on the physical memory hardware.

11 . The storage processor of claim 7 , further comprising detecting a second event and transitioning the storage processor from the second state back to the first state.

12 . The storage processor of claim 11 , wherein the second event includes a timer event or a network signaling event.

13 . A non-transitory computer-readable medium storing one or more processor-executable instructions, which, when executed by a processing circuitry of a given one of a plurality of storage processors in a storage system, causes the processing circuitry to perform the operations of:

detecting a first event that is associated with a communications network, the communications network being arranged to deliver write requests to the given storage processor, the first event being an event that signals a disruption or a possible disruption in the operation of the communications network;

in response to the first event, transitioning the given storage processor from a first state into a second state, the first state being a state in which data items associated with the write requests are routed to a global memory of the storage system via a first data path, the second state being a state in which the data items are routed to the global memory via a second data path,

wherein the global memory includes a plurality of global memory portions that are part of a same address space, wherein each global memory portion is implemented using physical memory hardware that is part of a different one of the plurality of storage processors, and

wherein routing a first one of the data items via the first data path includes: receiving by the given storage processor, a plurality of portions of the first data item; and storing, by the given storage processor, each of the plurality of portions of the first data item in the global memory, at least some of the plurality of portions of the first data item being stored in the global memory before the entire first data item is successfully transferred to the given storage processor.

14 . The non-transitory computer-readable medium of claim 13 , wherein the communications network includes a Fibre Channel network and the first event is a Fabric Performance Impact Notification (FPIN) event.

15 . The non-transitory computer-readable medium of claim 13 , wherein routing a second one of the data items via the second data path includes:

receiving, by the given storage processor, a plurality of portions of the second data item and storing each of the plurality of portions of the second data item in a local memory of the given storage processor, the local memory being separate of the global memory; and

after the entire second data item has been successfully stored in the local memory, copying, by the given storage processor, the plurality of portions of the second data item from the local memory to the global memory,

wherein the global memory is accessible by each of the plurality of storage processors and the local memory is accessible only by the given storage processor.

16 . The non-transitory computer-readable medium of claim 15 , wherein the local memory is hosted on physical memory hardware that is part of the given storage processor.

17 . The non-transitory computer-readable medium of claim 13 , further comprising detecting a second event and transitioning the given storage processor from the second state back to the first state.