IP Library Granted Patent US 7,633,881
Granted Patent B2
US 7,633,881 · App. 11/047,985 · Granted Dec 15, 2009

Buffering registered state change notifications to reduce traffic during large fabric changes

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 7,633,881
App. No.
11/047,985
Granted
Dec 15, 2009
Kind
B2
Abstract

The buffering of RSCN frames is disclosed so that RSCN traffic can be reduced. At the start of a state change notification period, a timer is started. A state change manager buffers state changes in a register that holds a pending RSCN frame by storing the address of each changed device. When a new state change is received, the address of the corresponding device is compared against each of the addresses currently stored in the buffered RSCN frame. If a duplicate address is found, the searching process ends. If no duplicate address is found, then the new address is added to the next available 32-bit field in the buffered RSCN frame. When a specified number of state changes have been received, or a specified amount of time has elapsed, the RSCN frame is sent to each initiator that had previously registered to receive state changes.

Claims (42)

1. A method for reducing a number of registered state change notifications (RSCNs) sent to one or more initiators to indicate any respective changes which occurred to a plurality of devices in a storage system, said method comprising:

receiving change notifications from changed devices, each change notification including an address of the changed device;

buffering the addresses of the changed devices in a register for storing in a pending RSCN frame before sending the pending RSCN frame to the initiators registered to receive RSCNs, wherein an RSCN frame comprises device-specific entries consisting of address information and address validity information for the changed devices, regardless of the type of state change;

delaying sending the pending RSCN frame to the initiators until after one or more pre-defined conditions are met; and

in response to a single command from one of the initiators for additional information about multiple changed devices, sending the additional information to the initiator.

2. The method as recited in claim 1 , further comprising:

starting a timer prior to buffering any addresses in the register;

sending the pending RSCN frame when the buffered addresses reach a predetermined count indicating that the register is full of buffered addresses, or after the timer has timed out; and

resetting the timer after the pending RSCN is sent.

3. The method as recited in claim 2 , wherein the timer is programmable.

4. The method as recited in claim 2 , wherein the predetermined count is programmable.

5. The method as recited in claim 1 , further comprising:

eliminating duplicate entries in the register by comparing the address in a received change notification to the addresses already buffered in the register;

making no changes to the register if the address in the received change notification is found in the register as a result of the comparison; and

adding the address in the received change notification to the register if the address was not found in the register as a result of the comparison.

6. The method as recited in claim 1 , wherein the storage system comprises multiple daisy-chained switches connected to the initiators and the devices, the method further comprising:

for each switch, receiving change notifications from changed devices connected to any of the switches and maintaining a complete image of each of the switches, buffering the addresses of the changed devices in the register for storing in a pending RSCN frame, and sending the pending RSCN frame to the initiators connected to one or more local ports that are registered to receive RSCNs.

7. The method as recited in claim 1 , wherein the storage system comprises multiple daisy-chained switches connected to the initiators and the devices, the method further comprising:

designating one switch as a master switch; and

receiving change notifications from changed devices, buffering the addresses of the changed devices in the register for storing in a pending RSCN frame, and sending the pending RSCN frame to the initiators connected to one or more local ports that are registered to receive RSCNs at the master switch.

8. One or more computer-readable storage media storing computer-executable program instructions for reducing a number of registered state change notifications (RSCNs) sent to one or more initiators to indicate any respective changes which occurred to a plurality of devices in a storage system, the program instructions executable to perform a method comprising:

receiving change notifications from changed devices, each change notification including an address of the changed device;

buffering the addresses of the changed devices in a register for storing in a pending RSCN frame before sending the pending RSCN frame to the initiators registered to receive RSCNs, wherein an RSCN frame comprises device-specific entries consisting of address information and address validity information for the changed devices, regard less of the type of state change;

delaying sending the pending RSCN frame to the initiators until after one or more pre-defined conditions are met; and

in response to a single command from one of the initiators for additional information about multiple changed devices, sending the additional information to the initiator.

9. The one or more storage media as recited in claim 8 , storing further program instructions executable to perform a method comprising:

starting a timer prior to buffering any addresses in the register;

sending the pending RSCN when the buffered addresses reach a predetermined count indicating that the register is full of buffered addresses, or after the timer has timed out; and

resetting the timer after the pending RSCN is sent.

10. The one or more storage media as recited in claim 9 , wherein the program instructions are capable of selectively adjusting the timer.

11. The one or more storage media as recited in claim 9 , wherein the program instructions are capable of selectively adjusting the predetermined count.

12. The one or more storage media as recited in claim 8 , storing further program instructions executable to perform a method comprising:

eliminating duplicate entries in the register by comparing the address in a received change notification to the addresses already buffered in the register;

making no changes to the register if the address in the received change notification is found in the register as a result of the comparison; and

adding the address in the received change notification to the register if the address was not found in the register as a result of the comparison.

13. The one or more storage media as recited in claim 8 , wherein the storage system comprises multiple daisy-chained switches connected to the initiators and the devices, storing further program instructions executable to perform a method comprising:

for each switch, receiving change notifications from changed devices connected to any of the switches and maintaining a complete image of each of the switches, buffering the addresses of the changed devices in the register for storing in a pending RSCN frame, and sending the pending RSCN frame to the initiators connected to one or more local ports that are registered to receive RSCNs.

14. The one or more storage media as recited in claim 8 , wherein storage system comprises multiple daisy-chained switches connected to the initiators and the devices, storing further program instructions executable to perform a method comprising:

designating one switch as a master switch; and

receiving change notifications from changed devices, buffering the addresses of the changed devices in the register for storing in a pending RSCN frame, and sending the pending RSCN frame to the initiators connected to one or more local ports that are registered to receive RSCNs at the master switch.

15. A storage system comprising the one or more storage media of claim 8 .

16. A storage area network (SAN) comprising the storage system of claim 15 .

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2015
From: EMULEX CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 036942/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2014
From: EMULEX DESIGN AND MANUFACTURING CORPORATION
To: EMULEX CORPORATION
Reel/Frame 032087/0842 →