IP Library Granted Patent US 10,057,348
Granted Patent B2
US 10,057,348 · App. 14/863,044 · Granted Aug 21, 2018

Storage fabric address based data block retrieval

Inventors: Michael G. Myrah (Sammamish, WA); Balaji Natrajan (Spring, TX)
Assignee: Hewlett Packard Enterprise Development LP
H04L67/1097G06F3/064G06F3/065G06F3/067G06F3/0611G06F3/0617G06F3/0643G06F3/0659G06F3/0683G06F17/30194H04L67/303
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 10,057,348
App. No.
14/863,044
Granted
Aug 21, 2018
Kind
B2
Abstract

Techniques for retrieving data blocks are provided. In one aspect, a storage fabric address of a controller associated with a data block is retrieved by a node. If the node is on the same storage fabric as the retrieved address, the data block may be retrieved over the storage fabric. In another aspect, a directory server maintains mappings of data blocks to storage fabric addresses of controllers associated with the data blocks. A request for the location of the data block includes the storage fabric address of the associated controller.

Claims (41)

1. A method comprising:

retrieving, with a client node, a storage fabric address for a controller associated with a storage device storing a block of data;

retrieving, with the client node, a local area network address associated with the controller;

determining, by the client node, whether the client node is attached to the same storage fabric as the controller based on the storage fabric address;

retrieving, with the client node, the block of data from the controller over the storage fabric in response to determining that the client node is attached to the same storage fabric as the controller; and

retrieving, with the client node, the block of data over a local area network in response to determining that the client node is not attached to the same storage fabric as the controller.

2. The method of claim 1 , wherein the storage fabric is a Serial Attached Small Computer Systems Interface (SAS) fabric.

3. The method of claim 1 , wherein the local area network is an Ethernet network.

4. The method of claim 1 , wherein retrieving the block of data over the local area network is further based on an operating performance of the storage fabric and the local area network.

5. The method of claim 1 , further comprising:

retrieving storage fabric addresses and local area network addresses for a plurality of controllers associated with the data block, the storage fabric addresses associated with a plurality of storage fabrics;

selecting a given controller from among the plurality of controllers based on the operating performance of the storage fabrics and the local area network; and

retrieving the block of data from the selected controller.

6. A non-transitory computer readable medium containing thereon processor readable instructions which upon execution cause a client node comprising a processor to:

retrieve a storage fabric address for a controller associated with a storage device storing a block of data;

retrieve a local area network address associated with the controller;

determine whether the client node is attached to the same storage fabric as the controller based on the storage fabric address;

retrieve, with the client node, the block of data from the controller over the storage fabric in response to determining that the client node is attached to the same storage fabric as the controller; and

retrieve, with the client node, the block of data over a local area network in response to determining that the client node is not attached to the same storage fabric as the controller.

7. The non-transitory medium of claim 6 , comprising further processor readable instructions which upon execution cause the client node to:

send a request to a directory server to retrieve a storage fabric address of a given controller associated with a data block;

receive a response from the directory server containing the storage fabric address of the given controller;

determine whether the client node is associated with a storage fabric including the storage fabric address of the given controller; and

send a request for the data block to the given controller over the storage fabric in response to determining that the client node is associated with the storage fabric including the storage fabric address of the given controller.

8. The non-transitory medium of claim 7 , comprising further processor readable instructions which upon execution cause the client node to:

receive the response from the directory server containing a local area network address associated with a server including the given controller; and

send the request for the data block to the server over the local area network in response to determining that the client node is not associated with the storage fabric including the storage fabric address of the given controller.

9. The non-transitory medium of claim 8 , comprising further processor readable instructions which upon execution cause the client node to receive the data block over the local area network in response to the request for the data block being sent over the local area network.

10. The non-transitory medium of claim 7 , comprising further processor readable instructions which upon execution cause the client node to receive the data block over the storage fabric in response to the request for the data block being sent over the storage fabric.

11. The non-transitory medium of claim 6 , comprising further processor readable instructions which if executed cause the client node to select the storage fabric or the local area network based on the operating performance of the storage fabric and the local area network.

12. A device comprising:

a processor; and

a non-transitory computer readable storage medium storing instructions executable on the processor to:

retrieve a storage fabric address for a controller associated with a storage device storing a block of data;

retrieve a local area network address associated with the controller;

determine whether the client node is attached to the same storage fabric as the controller based on the storage fabric address;

retrieve the block of data from the controller over the storage fabric in response to determining that the client node is attached to the same storage fabric as the controller; and

retrieve the block of data over a local area network in response to determining that the client node is not attached to the same storage fabric as the controller.

13. The device of claim 12 , wherein the storage fabric is a Serial Attached Small Computer Systems Interface (SAS) fabric.

14. The device of claim 12 , wherein the local area network is an Ethernet network.

15. The device of claim 12 , wherein the retrieving of the block of data over the local area network is further based on an operating performance of the storage fabric and the local area network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
Continuity (2)
Division 13460115 · Apr 30, 2012
Related Publication 20160014203A1 · Jan 14, 2016
Cited By (1)
US 12,481,466