IP Library Granted Patent US 11,016,667
Granted Patent B1
US 11,016,667 · App. 15/801,161 · Granted May 25, 2021

Efficient mapping for LUNs in storage memory with holes in address space

Inventor: Russell Sears (Mountain View, CA)
Assignee: Pure Storage, Inc.
G06F3/0608G06F3/065G06F3/067G06F3/0665G06F3/0688G06F12/0246G06F2212/7201
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 11,016,667
App. No.
15/801,161
Granted
May 25, 2021
Kind
B1
Abstract

A method for mapping LUNs (logical unit numbers) in storage memory, performed by a storage system, is provided. The method includes determining a set of LUNs in the storage memory and generating a mapping from a logical address space to all of the LUNs in the set, based on the determining, so that each logical address in the logical address space maps to one LUN in the set. The method includes accessing one or more of the LUNs in accordance with the mapping.

Claims (33)

1. A method, comprising:

placing all LUNs (logical unit numbers) in a set of LUNs of a storage system into a list based at least in part on a set of rules, the list comprising a permutation of the set of LUNs wherein the set of rules comprises LUN selection rules to avoid channel conflict and decoder conflict between adjacent LUNs on the list during a sequential access;

mapping logical addresses in a logical address space to the list, so that sequential logical addresses are mapped to sequential LUNs on the list, wherein when a logical address is mapped to a last LUN on the list, a subsequent logical address is mapped to a first LUN on the list, the first LUN being contiguous with the last LUN on the list; and

accessing one or more of the LUNs in accordance with the mapping.

2. The method of claim 1 , wherein the list is included in a circular buffer, and wherein the logical addresses in the logical address space are mapped to the list in the circular buffer.

3. The method of claim 1 , wherein the mapping comprises:

alternating sequential logical addresses in the logical address space among two or more decoders coupled to the set of LUNs.

4. The method of claim 1 , wherein:

adjacent LUNs on the list are on differing channels of one or more decoders.

5. The method of claim 1 , wherein:

adjacent LUNs on the list are coupled to differing decoders.

6. The method of claim 1 , wherein a number of LUNs in the set is equal to a non-power of 2 value.

7. The method of claim 1 , wherein the logical address space is to a granularity of erase blocks, physical pages or logical pages.

8. A tangible, non-transitory, computer-readable media having instructions thereupon which, when executed by a processor, cause the processor to perform a method comprising:

placing all LUNs (logical unit numbers) in a set of LUNs of a storage system into a list based at least in part on a set of rules, the list comprising a permutation of the set of LUNs, wherein the set of rules comprises LUN selection rules to avoid channel conflict and decoder conflict between adjacent LUNs on the list during a sequential access;

mapping logical addresses in a logical address space to the list, so that sequential logical addresses are mapped to sequential LUNs on the list, wherein when a logical address is mapped to a last LUN on the list, a subsequent logical address is mapped to a first LUN on the list, the first LUN being contiguous with the last LUN on the list, each logical address in the logical address space mapping to one of the LUNs, with no logical address mapping to more than one LUN and no logical address mapping to less than one LUN; and

accessing one or more of the LUNS in accordance with one of the logical addresses in the logical address space and the mapping.

9. The computer-readable media of claim 8 , wherein the method further comprises:

updating the mapping, responsive to adding one or more LUNs to the list or a software change.

10. The computer-readable media of claim 8 , wherein:

the mapping comprises mapping the logical addresses in the logical address space to a circular buffer.

11. A storage system, comprising:

a storage memory having a plurality of LUNs;

one or more decoders each having one or more channels, each channel to one or more of the plurality of LUNs; and

one or more processors, configurable to:

place each of the plurality of LUNs in a list based at least in part on a set of rules, the list comprising a permutation of the set of LUNs, wherein the set of rules comprises LUN selection rules to avoid channel conflict and decoder conflict between adjacent LUNs on the list during a sequential access;

generate a mapping from logical addresses in a logical address space to the plurality of LUNs in the list, in a many to one mapping of logical addresses to LUNs without gaps or holes, wherein when a logical address is mapped to a last LUN on the list, a subsequent logical address is mapped to a first LUN on the list, the first LUN being contiguous with the last LUN on the list; and

access the plurality of LUNs through the one or more decoders and the one or more channels of each decoder, in accordance with the mapping.

12. The storage system of claim 11 , wherein to generate the mapping, the one or more processors are configurable to map sequential logical addresses from the logical address space to LUNs on differing channels or coupled to differing decoders.

13. The storage system of claim 11 , wherein:

the one or more processors are

to generate the mapping, the one or more processors are configurable to map the logical addresses from the logical address space to a circular buffer.

14. The storage system of claim 11 , wherein the one or more processors are further to revise the mapping, to map an LUN out of the logical address space, responsive to defect, failure or removal of the LUN.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2017
From: SEARS, RUSSELL
To: PURE STORAGE, INC.
Reel/Frame 044044/0968 →
Continuity (1)
Provisional Application 62482091 · Apr 5, 2017
Cited By (1)
US 12,625,820