9471241

Methods and Systems for Formatting Storage Volumes

PublishedOctober 18, 2016
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for formatting storage volumes, comprising: creating, in a memory device, a storage volume comprising a global counter and partitioned into a plurality of storage segments, wherein: each storage segment comprises a respective segment counter and is partitioned into a plurality of stripes, the global counter and each respective segment counter match at an initial time, a match indicates that stripes in each respective segment do not require formatting, and a mismatch indicates that the stripes in each respective segment require formatting; receiving a command to write first data to a first stripe in a first storage segment subsequent to a first time; comparing a first segment counter associated with the first storage segment and the global counter; determining if the first segment counter and the global counter match; and re-initializing first metadata associated with the first storage segment to indicate that each of the plurality of stripes in the first storage segment require formatting if the first segment counter and the global counter do not match.

2

2. The method of claim 1 , further comprising: releasing, from the memory device at the first time, the plurality of storage segments to one or more requesting entities prior to completely reformatting the storage volume; incrementing the global counter in response to releasing the plurality of storage segments such that the global counter and each respective segment counter no longer match at the first time; and writing data to the plurality of storage segments prior to completely reformatting the storage volume in response to incrementing the global counter.

3

3. The method of claim 2 , wherein writing data to the plurality of storage segments in response to incrementing the global counter and prior to completely reformatting the storage volume further comprises incrementing the first segment counter to match the global counter in response to re-initializing the first metadata.

4

4. The method of claim 3 , wherein writing data to the plurality of storage segments in response to incrementing the global counter and prior to completely reformatting the storage volume further comprises: formatting the first stripe after the first metadata has been re-initialized; and writing the first data to the first stripe after the first stripe is formatted and prior to completely reformatting the storage volume.

5

5. The method of claim 4 , wherein writing data to the plurality of storage segments in response to incrementing the global counter and prior to completely reformatting the storage volume comprises: receiving a command to write second data to a second stripe in a second storage segment subsequent to the first time; comparing a second segment counter associated with the second storage segment and the global counter; determining that the second segment counter and the global counter do not match; re-initializing second metadata associated with the second storage segment to indicate that each of the plurality of stripes in the second storage segment require formatting; incrementing the second segment counter to match the global counter in response to re-initializing the second metadata; formatting the second stripe; and writing the second data to the second stripe after the second stripe is formatted and prior to completely reformatting the storage volume.

6

6. The method of claim 2 , wherein writing data to the plurality of storage segments in response to incrementing the global counter and prior to completely reformatting the storage volume comprises: determining, via a tracking mechanism associated with the first storage segment, if the first stripe has previously been formatted if the first segment counter and the global counter match; writing the first data to the first stripe if the first stripe has been previously formatted; and formatting the first stripe and then writing the first data to the first stripe if the first stripe has not been previously formatted.

7

7. The method of claim 2 , wherein writing data to the plurality of storage segments in response to incrementing the global counter and prior to completely reformatting the storage volume comprises: determining if an indicator associated with the first storage segment indicates that each stripe in the first storage segment has been previously formatted if the first segment counter and the global counter match; writing the first data to the first stripe if the indicator indicates that each stripe in the first storage segment has been previously formatted; determining, via a tracking mechanism associated with the first storage segment, if the first stripe has previously been formatted if the indicator indicates that each stripe in the first storage segment has not been previously formatted; writing the first data to the first stripe if the first stripe has been previously formatted; and formatting the first stripe and then writing the first data to the first stripe if the first stripe has not been previously formatted.

8

8. A system for formatting storage volumes, comprising: a memory device comprising a storage volume, the storage volume comprising a global counter and partitioned into a plurality of storage segments, wherein: each storage segment comprises a respective segment counter and is partitioned into a plurality of stripes, the global counter and each respective segment counter match at an initial time, a match indicates that stripes in each respective segment do not require formatting, and a mismatch indicates that the stripes in each respective segment require formatting; and a processor coupled to the memory device, the processor programmed for: receiving a command to write first data to a first stripe in a first storage segment subsequent to a first time; comparing a first segment counter associated with the first storage segment and the global counter; determining if the first segment counter and the global counter match; and re-initializing first metadata associated with the first storage segment to indicate that each of the plurality of stripes in the first storage segment require formatting if the first segment counter and the global counter do not match.

9

9. The system of claim 8 , wherein the processor is further programmed for: releasing, from the memory device at the first time, the plurality of storage segments to one or more requesting entities prior to completely reformatting the storage volume, incrementing the global counter in response to releasing the plurality of storage segments such that the global counter and each respective segment counter no longer match at the first time, and writing data to the plurality of storage segments prior to completely reformatting the storage volume in response to incrementing the global counter.

10

10. The system of claim 9 , wherein, when writing data to the plurality of storage segments in response to incrementing the global counter and prior to completely reformatting the storage volume, the processor is further programmed for incrementing the first segment counter to match the global counter in response to re-initializing the first metadata.

11

11. The system of claim 10 , wherein, when writing data to the plurality of storage segments in response to incrementing the global counter and prior to completely reformatting the storage volume, the processor is further programmed for: formatting the first stripe after the first metadata has been re-initialized; and writing the first data to the first stripe after the first stripe is formatted and prior to completely re-formatting the storage volume.

12

12. The system of claim 11 , wherein, when enabling the user to write data to the plurality of storage segments in response to incrementing the global counter and prior to completely reformatting the storage volume, the processor is further programmed for: receiving a command to write second data to a second stripe in a second storage segment subsequent to the first time; comparing a second segment counter associated with the second storage segment and the global counter; determining that the second segment counter and the global counter do not match; re-initializing second metadata associated with the second storage segment to indicate that each of the plurality of stripes in the second storage segment require initialization; incrementing the second segment counter to match the global counter in response to re-initializing the second metadata; initializing the second stripe; and writing the second data to the second stripe after the second stripe is initialized and prior to completely reformatting the storage volume.

13

13. The system of claim 9 , wherein, when writing data to the plurality of storage segments in response to incrementing the global counter and prior to completely reformatting the storage volume, the processor is further programmed for: determining, via a tracking mechanism associated with the first storage segment, if the first stripe has previously been formatted if the first segment counter and the global counter match; writing the first data to the first stripe if the first stripe has been previously formatted; and formatting the first stripe and then writing the first data to the first stripe if the first stripe has not been previously formatted.

14

14. The system of claim 9 , wherein, when writing data to the plurality of storage segments in response to incrementing the global counter and prior to completely reformatting the storage volume, the processor is further programmed for: determining if an indicator associated with the first storage segment indicates that each stripe in the first storage segment has been previously formatted if the first segment counter and the global counter match; writing the first data to the first stripe if the indicator indicates that each stripe in the first storage segment has been previously formatted; determining, via a tracking mechanism associated with the first storage segment, if the first stripe has previously been formatted if the indicator indicates that each stripe in the first storage segment has not been previously formatted; writing the first data to the first stripe if the first stripe has been previously formatted; and formatting the first stripe and then writing the first data to the first stripe if the first stripe has not been previously formatted.

15

15. A non-transitory computer storage medium comprising a computer program product method for formatting storage volumes, the computer storage medium comprising: computer program code for creating a storage volume comprising a global counter and partitioned into a plurality of storage segments, wherein: each storage segment comprises a respective segment counter and is partitioned into a plurality of stripes, the global counter and each respective segment counter match at an initial time, a match indicates that stripes in each respective segment do not require formatting, and a mismatch indicates that the stripes in each respective segment require formatting; computer program code for receiving a command to write first data to a first stripe in a first storage segment subsequent to a first time; computer program code for comparing a first segment counter associated with the first storage segment and the global counter; computer program code for determining if the first segment counter and the global counter match; and computer program code for re-initializing first metadata associated with the first storage segment to indicate that each of the plurality of stripes in the first storage segment require formatting if the first segment counter and the global counter do not match.

16

16. The computer storage medium of claim 15 , wherein the computer program code further comprises: computer program code for releasing, from a memory device at the first time, the plurality of storage segments to one or more requesting entities prior to completely reformatting the storage volume; computer program code for incrementing the global counter in response to releasing the plurality of storage segments such that the global counter and each respective segment counter no longer match at the first time; and computer program code for writing data to the plurality of storage segments prior to completely reformatting the storage volume in response to incrementing the global counter.

17

17. The computer storage medium of claim 16 , wherein the computer program code for writing data to the plurality of storage segments in response to incrementing the global counter and prior to completely reformatting the storage volume further comprises: computer program code for incrementing the first segment counter to match the global counter in response to re-initializing the first metadata; computer program code for formatting the first stripe after the first metadata has been re-initialized; and computer program code for writing the first data to the first stripe after the first stripe is formatted and prior to completely reformatting the storage volume.

18

18. The computer storage medium of claim 17 , wherein the computer program code for writing data to the plurality of storage segments in response to incrementing the global counter and prior to completely reformatting the storage volume further comprises: computer program code for receiving a command to write second data to a second stripe in a second storage segment subsequent to the first time; computer program code for comparing a second segment counter associated with the second storage segment and the global counter; computer program code for determining that the second segment counter and the global counter do not match; computer program code for re-initializing second metadata associated with the second storage segment to indicate that each of the plurality of stripes in the second storage segment require formatting; computer program code for incrementing the second segment counter to match the global counter in response to re-initializing the second metadata; computer program code for formatting the second stripe; and computer program code for writing the second data to the second stripe after the second stripe is formatted and prior to completely reformatting the storage volume.

19

19. The computer storage medium of claim 16 , wherein the computer program code for writing data to the plurality of storage segments in response to incrementing the global counter and prior to completely reformatting the storage volume further comprises: computer program code for determining, via a tracking mechanism associated with the first storage segment, if the first stripe has previously been formatted if the first segment counter and the global counter match; computer program code for writing the first data to the first stripe if the first stripe has been previously formatted; and computer program code for formatting the first stripe and then writing the first data to the first stripe if the first stripe has not been previously formatted.

20

20. The computer storage medium of claim 16 , wherein the computer program code for writing data to the plurality of storage segments in response to incrementing the global counter and prior to completely reformatting the storage volume further comprises: computer program code for determining if an indicator associated with the first storage segment indicates that each stripe in the first storage segment has been previously formatted if the first segment counter and the global counter match; computer program code for writing the first data to the first stripe if the indicator indicates that each stripe in the first storage segment has been previously formatted; computer program code for determining, via a tracking mechanism associated with the first storage segment, if the first stripe has previously been formatted if the indicator indicates that every stripe in the first storage segment has not been previously formatted; computer program code for writing the first data to the first stripe if the first stripe has been previously formatted; and computer program code for formatting the first stripe and then writing the first data to the first stripe if the first stripe has not been previously formatted.

Patent Metadata

Filing Date

Unknown

Publication Date

October 18, 2016

Inventors

Ellen J. GRUSY
Brian D. HATFIELD
Kurt A. LOVRIEN
Matthew Sanchez

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “METHODS AND SYSTEMS FOR FORMATTING STORAGE VOLUMES” (9471241). https://patentable.app/patents/9471241

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

METHODS AND SYSTEMS FOR FORMATTING STORAGE VOLUMES — Ellen J. GRUSY | Patentable