Fractal layout of data blocks across multiple devices

US9405486B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9405486-B2
Application numberUS-201414243421-A
CountryUS
Kind codeB2
Filing dateApr 2, 2014
Priority dateMar 15, 2012
Publication dateAug 2, 2016
Grant dateAug 2, 2016

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 system, method, and computer-readable storage medium for mapping block numbers within a region to physical locations within a storage system. Block numbers are mapped within a region according to a fractal-based space-filling curve. If the region is not a 2 k by 2 k square, then the region is broken up into one or more 2 k by 2 k squares. Any remaining sub-region is centered within a 2 k by 2 k square, the 2 k by 2 k square is numbered using a fractal-based space-filling curve, and then the sub-region is renumbered by assigning numbers based on the order of the original block numbers of the sub-region.

First claim

Opening claim text (preview).

What is claimed is: 1. A computing system comprising: a plurality of storage devices; and a data storage controller, wherein the data storage controller is configured to: receive a request to store a consecutive collection of data; and store the group of data within a region using a fractal pattern, wherein the region spans two or more storage devices of the plurality of storage device. 2. The computing system as recited in claim 1 , wherein the region is represented by a two-dimensional grid, wherein a first dimension is measured in blocks, and wherein a second dimension is measured in storage devices. 3. The computing system as recited in claim 1 , wherein the data storage controller is configured to map virtual block numbers to physical locations in the region using a mapping table. 4. The computing system as recited in claim 3 , wherein the mapping table is initialized using a space-filling curve. 5. The computing system as recited in claim 1 , wherein the region is a square with a side length equal to 2 k , where k is a positive integer greater than one. 6. The computing system as recited in claim 1 , wherein the region is a rectangle of size A by B with M blocks, wherein A, B, and M are integers greater than zero, and wherein the data storage controller is further configured to: center the region within a square of side length equal to 2 k , wherein k is a positive integer greater than one, wherein the square includes N blocks, wherein N is an integer greater than zero, and wherein at least one of A or B is less than 2 k . 7. The computing system as recited in claim 1 , wherein the region is a rectangle of size A by B with M blocks, wherein A, B, and M are integers greater than zero, and wherein the data storage controller is further configured to: partition the region into one or more square regions, wherein each square region has a side length equal to 2 k , wherein k is a positive integer greater than one, and wherein k may vary for the one or more smaller square regions. 8. The computing system as recited in claim 7 , wherein a leftover region remains after partitioning the region into one or more square regions, wherein the leftover region is a rectangle of size C by D with P blocks, wherein C, D, and P are integers greater than zero, and wherein the data storage controller is further configured to: center the leftover region within a square of side length equal to 2 j , wherein j is a positive integer greater than one, wherein the square includes N blocks, wherein N is an integer greater than zero, and wherein at least one of C or D is less than 2 j . 9. A method for use in a computing system including a plurality of storage devices, the method comprising: receiving a request to store a consecutive collection of data; and storing the group of data within a region using a fractal pattern, wherein the region spans two or more storage devices of the plurality of storage device. 10. The method as recited in claim 9 , wherein the region is represented by a two-dimensional grid, wherein a first dimension is measured in blocks, and wherein a second dimension is measured in storage devices. 11. The method as recited in claim 9 , wherein the data storage controller is configured to map virtual block numbers to physical locations in the region using a mapping table. 12. The method as recited in claim 11 , wherein the mapping table is initialized using a space-filling curve. 13. The method as recited in claim 9 , wherein the region is a square with a side length equal to 2 k , and where k is a positive integer greater than one. 14. The method as recited in claim 9 , wherein the region is a rectangle of size A by B with M blocks, where A, B, and M are integers greater than zero, the method further comprising: centering the region within a square of side length equal to 2 k , wherein k is a positive integer greater than one, wherein the square includes N blocks, where N is an integer greater than zero and a least one of A or B is less than 2 k . 15. A non-transitory computer readable storage medium comprising program instructions, wherein said program instructions are executable to: receive a request to store a consecutive collection of data; and store the group of data within a region using a fractal pattern, wherein the region spans two or more storage devices of the plurality of storage device. 16. The non-transitory computer readable storage medium as recited in claim 15 , wherein the region is represented by a two-dimensional grid, wherein a first dimension is measured in blocks, and wherein a second dimension is measured in storage devices. 17. The non-transitory computer readable storage medium as recited in claim 15 , wherein the data storage controller is configured to map virtual block numbers to physical locations in the region using a mapping table.

Assignees

Inventors

Classifications

  • Management of blocks · CPC title

  • using tables or multilevel address translation means (G06F12/023 takes precedence; address translation in virtual memory systems G06F12/10) · CPC title

  • Improving I/O performance · CPC title

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

  • at device level, e.g. emulation of a storage device or system · 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 US9405486B2 cover?
A system, method, and computer-readable storage medium for mapping block numbers within a region to physical locations within a storage system. Block numbers are mapped within a region according to a fractal-based space-filling curve. If the region is not a 2 k by 2 k square, then the region is broken up into one or more 2 k by 2 k squares. Any remaining sub-region is centered within a 2 k …
Who is the assignee on this patent?
Pure Storage Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0608. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 02 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).