IP Library Granted Patent US 10,007,428
Granted Patent B2
US 10,007,428 · App. 13/969,402 · Granted Jun 26, 2018

Data storage management

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,007,428
App. No.
13/969,402
Granted
Jun 26, 2018
Kind
B2
Abstract

A method of managing a plurality of storage devices. The method comprises at a first device connected to the plurality of storage devices via a switch, receiving an indication of a plurality of logical disks, each logical disk being provided by a respective one of the plurality of storage devices. Each logical disk comprises a plurality of logical blocks. Data representing a virtual disk is generated, the virtual disk comprising a plurality of virtual blocks, each virtual block being provided by a logical block. Access is provided to the virtual disk to a second device different to the first device. A first virtual block is selected, the first virtual block being provided by a first logical block, and a re-mapping operation is performed after which the first virtual block is provided by a second logical block different to the first logical block.

Claims (33)

1. A method of managing a plurality of storage devices, comprising at a first device connected to the plurality of storage devices via a switch:

receiving via the switch an indication of a plurality of logical disks, each logical disk being provided by a respective one of the plurality of storage devices, each logical disk comprising a plurality of logical blocks;

generating a representation of a virtual disk, the virtual disk comprising a plurality of virtual blocks, each virtual block being provided by a logical block;

providing to a second device different to the first device via the switch access to the virtual disk;

selecting a first virtual block, the first virtual block being provided by a first logical block; and

performing a re-mapping operation after which the first virtual block is provided by a second logical block different to the first logical block by copying the first logical block to the second logical block and dividing the first and second logical blocks into a plurality of sub-blocks and copying each sub-block of the first logical block to a sub-block of the second logical block;

receiving during the re-mapping operation a first write request indicating data to be written to the first virtual block;

performing a write operation, the write operation comprising writing the data to the first logical block;

marking as dirty each sub-block of the first logical block affected by the write operation; and

performing at least one re-copy operation, each re-copy operation copying one of the sub-blocks of the first logical block marked as dirty to a sub-block of the second logical block; and

determining whether a predetermined number of re-copy operations has been performed and if it is determined that the predetermined number of re-copy operations has not been performed, performing at least one further re-copy operation.

2. The method of claim 1 , wherein selecting the first virtual block comprises determining a high-wear virtual block.

3. The method of claim 2 , further comprising selecting the second logical block so as to level wear across the plurality of storage devices.

4. The method of claim 2 , further comprising selecting the second logical block so as to concentrate wear on a particular one of the plurality of storage devices.

5. The method of claim 4 , wherein the particular one of the plurality of storages has a greater endurance than at least one other of the plurality of storage devices.

6. The method of claim 1 , wherein the first virtual block is part of a first virtual disk having a first latency characteristic.

7. The method of claim 6 , further comprising selecting the second logical block based on the latency characteristic of the first virtual disk.

8. The method of claim 1 , further comprising selecting the second logical block from a plurality of low latency logical blocks.

9. The method of claim 1 , wherein if it is determined that the predetermined number of re-copy operations has been performed the method comprises aborting the re-mapping operation.

10. The method of claim 1 , wherein if it is determined that the predetermined number of re-copy operations has been performed the method further comprises:

determining whether a total number of remaining sub-blocks marked as dirty is below a predetermined threshold; and

if it is determined that the total number of remaining sub-blocks marked as dirty is below the predetermined threshold temporarily preventing further write operations writing data to the first logical block.

11. The method of claim 10 , wherein further write operations are prevented for a time required to perform re-copy operations for each of the remaining sub-blocks marked as dirty.

12. The method of claim 1 , wherein if it is determined that the predetermined number of re-copy operations has been performed the method further comprises determining whether a total number of remaining sub-blocks marked as dirty is below a predetermined threshold; and

if it is determined that the total number of remaining sub-blocks marked as dirty is not below the predetermined threshold increasing a rate at which the re-copy operations are performed or increasing the predetermined number of re-copy operations.

13. The method of claim 12 wherein the predetermined number of re-copy operations is increased if it is determined that the number of remaining sub-blocks marked as dirty is below a second predetermined threshold.

14. The method of claim 1 , further comprising:

receiving during the re-mapping operation a second write request indicating second data to be written to the first virtual block;

performing a first write operation, the first write operation comprising writing the second data to the first logical block; and

performing a second write operation, the second write operation comprising writing the second data to the second logical block.

15. The method of claim 1 , further comprising receiving from the second device an indication of at least one high-wear virtual block; and

wherein selecting the first virtual block comprises selecting a virtual block from the virtual blocks indicated in the indication received from the second device.

16. The method of claim 1 , wherein data stored by the first logical block is also stored by a third logical block, and wherein the second logical block is selected from a logical disk provided by one of said plurality of storage devices different to the one of said plurality of storage devices that provides the logical disk comprising the third logical block.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050937/0001 →
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047243/0001 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 8, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 043079/0001 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 038954/0001 →
SECURITY INTEREST Recorded May 12, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038669/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2013
From: PIEKARSKI, MAREK
To: MICRON TECHNOLOGY, INC.
Reel/Frame 031445/0551 →