Method and apparatus for rapid volume reformatting

US10564903B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10564903-B2
Application numberUS-201615153874-A
CountryUS
Kind codeB2
Filing dateMay 13, 2016
Priority dateMay 13, 2016
Publication dateFeb 18, 2020
Grant dateFeb 18, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A storage controller is provided. The storage controller includes circuitry configured to utilize a format command to change a storage volume coupled to the storage controller from a first format to a second format and memory configured to store a data structure for first and second format indications for the storage volume. The storage controller determines if a selected band is initialized to the second format, and if the selected band is not initialized to the second format, the storage controller initializes the selected band to the second format and updates the data structure to indicate the selected band is initialized to the second format.

First claim

Opening claim text (preview).

We claim: 1. A storage controller, comprising: circuitry configured to utilize a format command to change a first storage volume coupled to the storage controller from a first format to a second format, the first storage volume comprising a first plurality of bands each comprising a first band size different from a second band size, the second band size corresponding to a second storage volume comprising a second plurality of bands each comprising the second band size, one or more of the first and second band sizes selected in order to equalize band format times across the first and second storage volumes, each band of the first and second plurality of bands comprising an integer number of sectors; and memory configured to store the format command and a data structure comprising a single high water mark address variable that always tracks a demarcation between bands in the first format and bands in the second format, the format command resident in the memory and configured to be invoked by a user or application program configured to control the storage controller, the storage controller: selecting an initial band comprising one of a lowest or a highest starting Logical Block Address within the first storage volume, the initial band having the lowest starting Logical Block Address within the first storage volume selected in response to an initialization direction variable in a first state and the initial band having the highest starting Logical Block Address within the first storage volume selected in response to the initialization direction variable in a second state opposite to the first state; and determining if the selected band is initialized to the second format, and in response to the storage controller determining the selected band is not initialized to the second format, the storage controller: initializing the selected band to the second format; and updating the data structure to indicate the selected band is initialized to the second format. 2. The storage controller of claim 1 , wherein in response to the storage controller determining the selected band is initialized to the second format, the storage controller: calculating if there are one or more additional bands of the first plurality of bands to initialize to the second format, and in response: choosing a next band of the first plurality of bands to initialize, the next band being adjacent to the selected band in a direction of initialization corresponding to the initialization direction variable, wherein in response to the next band was not previously initialized to the second format, the storage controller repeats the determining, initializing, updating, calculating, and choosing steps until all bands of the first plurality of bands have been initialized to the second format, and if there are no-additional bands of the first plurality of bands to initialize to the second format, the storage controller creating a notification that the first storage volume is in the second format. 3. The storage controller of claim 1 , wherein prior to issuing the format command to the first storage volume, the storage controller: initializes the data structure to a state identifying all bands of the first plurality of bands as one of uninitialized and initialized to the first format. 4. The storage controller of claim 2 , wherein the notification that the first storage volume is in the second format comprises at least one of the storage controller: creates an event in a management log; and notifies a user that initialization of the first storage volume to the second format is complete. 5. The storage controller of claim 1 , wherein the storage controller allows read and write access to the first storage volume while the first storage volume is being initialized to the second format. 6. The storage controller of claim 5 , wherein in response to the storage controller receiving a first write request to the selected band, the storage controller: determining whether the selected band is one of in the first format and initialization to the second format has not been started, currently being initialized to the second format, or previously initialized to the second format, wherein in response to the storage controller determining the selected band is in the first format and initialization to the second format has not been started, the storage controller: locks the selected band; writes data corresponding to the first write request to logical block addresses of the selected band corresponding to the first write request; and initializes data of the selected band having logical block addresses that do not correspond to the first write request, wherein in response to the storage controller determining the selected band is currently being initialized to the second format, the storage controller: delays the first write request to the selected band until the initialization of the selected band to the second format is completed, wherein in response to the storage controller determining the selected band was previously initialized to the second format, the storage controller: completes the first write request to the selected band. 7. The storage controller of claim 5 , wherein in response to the storage controller receiving a read request to the selected band while the selected band is being initialized to the second format, the storage controller either: provides predetermined read data in response to the read request; or waits to provide read data until initialization of the selected band to the second format is completed. 8. The storage controller of claim 1 , wherein one of: the first format comprises one of unformatted, no Protection Information (PI), and a different type of Protection Information (PI) from the second format, and the second format comprises Protection Information (PI); and the first format comprises Protection Information (PI) and the second format comprises no Protection Information (PI). 9. A method comprising: issuing, by a hardware storage controller, a format command changing a first storage volume from a first format to a second format, the first storage volume comprising a first plurality of bands each comprising a first band size different from a second band size, the second band size corresponding to a second storage volume comprising a second plurality of bands each comprising the second band size, one or more of the first and second band sizes selected in order to equalize band format times across the first and second storage volumes, each band of the first and second plurality of bands comprising an integer number of sectors, the format command resident in a memory of the hardware storage controller and configured to be invoked by a user or application program configured to control the hardware storage controller; selecting a band of the first storage volume to initialize, the selected band comprising one of a lowest or a highest starting Logical Block Address within the first storage volume, the selected band having the lowest starting Logical Block Address within the first storage volume selected in response to an initialization direction variable in a first state and the selected band having the highest starting Logical Block Address within the first storage volume selected in response to the initialization direction variable in a second state opposite to the first state; determining, by the hardware storage controller, if the selected band is initialized to the second format, and in response to determining the selected band is not initialized to the second format: initializing the selected band to the second format; and updating a data structure in the memory, the data structure comprising a single address variable that always tr

Assignees

Inventors

Classifications

  • G06F3/0689Primary

    Disk arrays, e.g. RAID, JBOD · CPC title

  • Format or protocol conversion arrangements · CPC title

  • at device level, e.g. emulation of a storage device or system · CPC title

  • Saving storage space on storage systems · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10564903B2 cover?
A storage controller is provided. The storage controller includes circuitry configured to utilize a format command to change a storage volume coupled to the storage controller from a first format to a second format and memory configured to store a data structure for first and second format indications for the storage volume. The storage controller determines if a selected band is initialized to…
Who is the assignee on this patent?
Seagate Technology Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0689. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 18 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).