Division of data storage in single-storage device architecture
First Claim
1. A data storage device comprising:
- a non-volatile memory comprising a plurality of physical addresses storing data for a first logical unit number (LUN) and a second LUN;
controller circuitry configured to;
receive a storage access request from a host system, the storage access request including a logical address (LBA), an address range, and LUN identification information;
map the LBA to a translated LBA that is one of N contiguous comprehensive LBAs based on the LBA and the LUN identification information, the comprehensive LBAs being associated with both the first LUN and the second LUN, wherein alternating subsets of M contiguous LBAs of the comprehensive LBAs are associated with the first LUN and the second LUN, respectively;
map the translated LBA to one of the plurality of physical addresses of the non-volatile memory; and
read from or write to at least the one of the plurality of physical addresses by at least;
determining that the address range crosses a boundary of the alternating subsets of LBAs by performing a modulo operation on each of a plurality of LBAs associated with the storage access request and determining that at least one of the modulo operations returns a remainder equal to zero;
generating a first storage access command for accessing a first of the alternating subsets of LBAs associated with the LBA of the storage access request;
generating a second storage access command for accessing a second of the alternating subsets of LBAs; and
providing the first and second storage access commands to additional control circuitry associated with the non-volatile memory using a data storage interface.
8 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for sub-dividing data in non-volatile data storage modules. A data storage device includes a non-volatile memory comprising a plurality of physical addresses (PBAs) storing data for a first logical unit number (LUN) and a second LUN, as well as controller circuitry configured to receive a storage access request from a host system, the storage access request including a logical address (LBA), an address range, and LUN identification information. The controller circuitry is further configured to map the LBA to a translated LBA that is one of N contiguous comprehensive LBAs based on the LBA and the LUN identification information, the comprehensive LBAs being associated with both the first LUN and the second LUN, map the translated LBA to one of the plurality of PBAs of the non-volatile memory, and read from or write to at least the one of the plurality of PBAs.
54 Citations
20 Claims
-
1. A data storage device comprising:
-
a non-volatile memory comprising a plurality of physical addresses storing data for a first logical unit number (LUN) and a second LUN; controller circuitry configured to; receive a storage access request from a host system, the storage access request including a logical address (LBA), an address range, and LUN identification information; map the LBA to a translated LBA that is one of N contiguous comprehensive LBAs based on the LBA and the LUN identification information, the comprehensive LBAs being associated with both the first LUN and the second LUN, wherein alternating subsets of M contiguous LBAs of the comprehensive LBAs are associated with the first LUN and the second LUN, respectively; map the translated LBA to one of the plurality of physical addresses of the non-volatile memory; and read from or write to at least the one of the plurality of physical addresses by at least; determining that the address range crosses a boundary of the alternating subsets of LBAs by performing a modulo operation on each of a plurality of LBAs associated with the storage access request and determining that at least one of the modulo operations returns a remainder equal to zero; generating a first storage access command for accessing a first of the alternating subsets of LBAs associated with the LBA of the storage access request; generating a second storage access command for accessing a second of the alternating subsets of LBAs; and providing the first and second storage access commands to additional control circuitry associated with the non-volatile memory using a data storage interface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A data storage device comprising:
-
a non-volatile memory comprising a plurality of physical addresses storing data for a first logical unit number (LUN) and a second LUN; controller circuitry configured to; receive a storage access request from a host system, the storage access request including a logical address (LBA), an address range, and LUN identification information; map the LBA to a translated LBA that is one of N contiguous comprehensive LBAs based on the LBA and the LUN identification information, the comprehensive LBAs being associated with both the first LUN and the second LUN; map the translated LBA to one of the plurality of physical addresses of the non-volatile memory; and read from or write to at least the one of the plurality of physical addresses; wherein alternating subsets of M contiguous LBAs of the comprehensive LBAs are associated with the first LUN and the second LUN, respectively, and wherein when the LUN identification information indicates that the storage access request is associated with the first LUN, said mapping the LBA to the translated LBA (TLBA) is based on a first equation;
TLBA=((LBA/M)×
2M)+(LBA% M),where ‘
/’
is a quotient operator and ‘
%’
is a modulo operator. - View Dependent Claims (14)
-
-
15. A method of managing data in a data storage device, the method comprising:
-
maintaining data for a first logical unit number (LUN) and a second LUN in a non-volatile memory comprising a plurality of physical addresses; receiving a storage access request from a host system, the storage access request including a logical address (LBA), an address range, and LUN identification information; mapping the LBA to a translated LBA that is one of N contiguous comprehensive LBAs based on the LBA and the LUN identification information, the comprehensive LBAs being associated with both the first LUN and the second LUN; mapping the translated LBA to one of the plurality of physical addresses of the non-volatile memory; and accessing at least the one of the plurality of physical address; wherein alternating subsets of M contiguous LBAs of the comprehensive LBAs are associated with the first LUN and the second LUN, respectively, and wherein when the LUN identification information indicates that the storage access request is associated with the first LUN, said mapping the LBA to the translated LBA (TLBA) is based on a first equation;
TLBA=((LBA/M)×
2M)+(LBA% M),where ‘
/’
is a quotient operator and ‘
%’
is a modulo operator. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification