IP Library Granted Patent US 8,289,984
Granted Patent B2
US 8,289,984 · App. 11/824,512 · Granted Oct 16, 2012

Allocation-unit-based virtual formatting methods and devices employing allocation-unit-based virtual formatting methods

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 8,289,984
App. No.
11/824,512
Granted
Oct 16, 2012
Kind
B2
Abstract

In various embodiments, the present invention provides virtual disk formatting by intermediate devices including: (1) a storage shelf router and the storage shelf in which the storage-shelf is included, to external computing entities, such as disk-array controllers and host computers; (2) an I/O controller; and (3) a storage-bridge device. The virtual-formatting methods of the present invention are based on allocation units, each allocation unit comprising a consecutive sequence of logical blocks and an additional pad region that together map to, and exactly align with, a corresponding consecutive sequence of device blocks.

Claims (45)

1. A method for efficiently accessing data stored on data-storage devices by an intermediate device linked to the data-storage devices, such as a storage-shelf router, a PCI2/SAS I/O controller, or storage bridge, on behalf of an external controller of host computer, the method comprising:

determining a size and a structure of an allocation unit, each allocation unit including a fixed number of two or more consecutive logical blocks and one usable additional data-containing pad region, each allocation unit mapped to, and exactly aligned with, a corresponding fixed number of consecutive device blocks, and each allocation unit containing a fixed amount of non-pad data equal to the fixed number of logical blocks multiplied by the size of each logical block in data-storage units;

receiving, from the external controller or host computer, an access request specifying an amount of data equal to the fixed amount of non-pad data in each allocation unit, or to an amount of data equal to an exact multiple of the fixed amount of non-pad data in each allocation unit, the amount of data corresponding to data-storage units within device blocks of the data-storage devices; and

carrying out the received access request by accessing a number of consecutive device blocks stored within the data-storage devices that contain the specified amount of data.

2. The method of claim 1 wherein determining the size and structure of the allocation unit further comprises:

determining a number of consecutive logical blocks that, when considered to be a smallest unit of access, provides optimal or near-optimal data-transfer rates between the external controller or host computer and the data-storage devices intermediate device; and

determining a number of data units to add, as a pad region, to the determined number of logical blocks so that the determined number of consecutive logical blocks and the pad region together form an allocation unit that is perfectly aligned with the corresponding, fixed number of consecutive device blocks.

3. The method of claim 1 wherein carrying out the received access request by accessing a number of consecutive device blocks that contain the specified amount of data further includes:

when the received access operation directs writing data to the number of consecutive device blocks,

writing the data to the non-pad portions of the number of consecutive device blocks.

4. An intermediate device, such as a storage-shelf router, a PCI2/SAS I/O controller, or storage bridge, that receives access requests specified in logical-block-based addresses and carries out the received access operations by accessing corresponding device blocks of data-storage devices, the intermediate device comprising:

a first set of one or more ports that link the intermediate device to one or more communications media that interconnect the intermediate device to an external controller or host computer that transmits the access requests to the intermediate device;

a second set of two or more ports that link the intermediate device to two or more data-storage devices, to which the intermediate transmits device-block-based access requests in order to carry out the access requests received from the external controller or host computer; and

internal data paths that interconnect the first set of ports with the second set of ports; and

allocation-unit-based virtual formatting logic that translates the received access requests specified in logical-block-based addresses to allocation-unit-based requests and that carries out the allocation-unit-based access requests by transmitting corresponding device- block-based access requests to one or more of the two or more data-storage devices, an allocation unit comprising a fixed number of consecutive logical blocks and one additional usable data-containing pad region mapped to, and exactly aligned with, a corresponding fixed number of two or more consecutive device blocks.

5. The intermediate device of claim 4 wherein a size and a structure for the allocation unit is determined by:

determining a number of consecutive logical blocks that, when considered to be a smallest unit of access, provides optimal or near-optimal data-transfer rates between the external controller or host computer and the data-storage devices linked to the intermediate device; and

determining a number of data-storage units to add, as a pad region, to the determined number of logical blocks so that the determined number of consecutive logical blocks and the pad region together form an allocation unit that is perfectly aligned with the corresponding, fixed number of consecutive device blocks.

6. The intermediate device of claim 4 wherein the first set of ports are one of:

fibre-channel ports;

high-speed local-area-network ports;

internal bus connections; and

backplane connections.

7. The intermediate device of claim 4 wherein the second set of ports are one of:

SAS ports;

SATA ports; and

ATA ports.

8. The intermediate device of claim 4 wherein the internal data paths that interconnect the first set of ports with the second set of ports include one or more of:

a global memory switch; and

PCIe express links.

9. The intermediate device of claim 4 wherein the intermediate device translates received access requests specified in logical-block-based addresses to allocation-unit-based requests by mapping a consecutive sequence of logical blocks to one or more allocation units by including pad regions between each consecutive group of logical blocks.

10. The intermediate device of claim 9 wherein the intermediate device transmits corresponding device-block-based access requests to one or more of the two or more data-storage devices by transmitting access operations directed to a number of device blocks that correspond to, and that are aligned with, the one or more allocation units.

11. A single-integrated-circuit virtual-formatting system comprising:

one or more host ports, through which logical-block-based data-access requests are received, each data-access request specifying READ access or WRITE access to one or more logical blocks, each logical block having a fixed, logical-block size;

one or more device ports, to which device-block-based data-access requests, specifying READ access or WRITE access to one or more device blocks, each device block having a fixed, device-block size different from the logical-block size, are transmitted to one or more mass-storage devices, and from which responses to device-block-based data-access requests are received from the one or more mass-storage devices; and

logic that translates, based on allocation units having a first number of logical blocks and one additional usable data-containing padding and a second number of two or more device blocks and perfectly aligned with logical-block and device-block boundaries, each logical-block-based data-access request received from the one or more host ports into a corresponding device-block-based data-access request for transmission to one of the one or more device ports.

12. The single-integrated-circuit virtual-formatting system of claim 11 wherein allocation units include the first number of consecutive logical blocks in a logical address space followed by padding bytes.

13. The single-integrated-circuit virtual-formatting system of claim 11 wherein allocation units include the first number of consecutive logical blocks in a logical address space preceded by padding bytes.

14. The single-integrated-circuit virtual-formatting system of claim 11 wherein the logic comprises one or more state machines implemented in the single-integrated-circuit virtual-formatting system.

15. The single-integrated-circuit virtual-formatting system of claim 11 wherein the logic comprises firmware executed by one or more processors implemented in the single-integrated-circuit virtual-formatting system.

16. The single-integrated-circuit virtual-formatting system of claim 11 wherein the logic comprises logic circuits implemented in the single-integrated-circuit virtual-formatting system.

17. The single-integrated-circuit virtual-formatting system of claim 11 wherein the one or more host ports are, fibre-channel ports.

18. The single-integrated-circuit virtual-formatting system of claim 11 wherein the one or more host ports are PCIe ports.

19. The single-integrated-circuit virtual-formatting system of claim 11 wherein the one or more device ports are SATA ports.

20. The single-integrated-circuit virtual-formatting system of claim 11 wherein the one or more device ports are SAS ports.

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 Sep 27, 2007
From: SEBASTIAN, DONIA; STEVENS, STUART; OWENS, JASON
To: EMULEX DESIGN & MANUFACTURING CORPORATION
Reel/Frame 019940/0602 →