METHOD AND APPARATUS FOR PROVIDING MULTI-NAMESPACE USING MAPPING MEMORY
First Claim
1. A method for facilitating multiple namespaces (“
- NSs”
) in a solid state drive (“
SSD”
) via flash translation layer (“
FTL”
), comprising;
receiving a first memory access request with a logical block address (“
LBA”
) within a first namespace identifier (“
NSID”
);
identifying a first LBA offset in accordance with the first NSID and generating a first translated LBA (“
TR_LBA”
) in response to the first LBA offset;
looking up a global LBA (“
GL”
) base unit in a mapping table based on the first TR_LBA;
receiving a second memory access request with an LBA within a second NSID; and
identifying a second LBA offset in accordance with the second NSID and generating a second TR_LBA in response to the second LBA offset.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and/or apparatus capable of storing information in non-volatile memory with multiple namespaces is disclosed. The method or apparatus, in one aspect, includes a translation table, a global LBA table, and a FTL table wherein the translation table is also known as namespace translation table. The translation table, in one example, includes multiple entries wherein each entry stores translated information relating to translation between an incoming logical block address (“LBA”) with namespace identifiers (“NSIDs”) and a translated LBA (“TR_LBA”). The global LBA table, in one aspect, has multiple global entries, wherein each global entry stores a global LBA base unit generated in response to a TR_LBA. The FTL table contains multiple FTL entries, wherein each FTL entry includes a physical page address (“PPA”) indexed by a global LBA base unit. The apparatus is capable of facilitating memory access based on the PPA.
36 Citations
26 Claims
-
1. A method for facilitating multiple namespaces (“
- NSs”
) in a solid state drive (“
SSD”
) via flash translation layer (“
FTL”
), comprising;receiving a first memory access request with a logical block address (“
LBA”
) within a first namespace identifier (“
NSID”
);identifying a first LBA offset in accordance with the first NSID and generating a first translated LBA (“
TR_LBA”
) in response to the first LBA offset;looking up a global LBA (“
GL”
) base unit in a mapping table based on the first TR_LBA;receiving a second memory access request with an LBA within a second NSID; and identifying a second LBA offset in accordance with the second NSID and generating a second TR_LBA in response to the second LBA offset. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
- NSs”
-
12. An apparatus configured to store information persistently, comprising:
-
a translation table containing multiple entries wherein each entry stores information relating to translation between an incoming logical block address (“
LBA”
) with namespace identifiers (“
NSIDs”
) and a translated LBA (“
TR_LBA”
);a mapping table coupled to the translation table and configured to have multiple global entries, wherein each global entry stores a global LBA (“
GL”
) base unit; anda flash translation layer (“
FTL”
) table coupled to the mapping table and configured to have multiple FTL entries, wherein each FTL entry includes a physical page address (“
PPA”
) indexed by a global LBA. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A method for facilitating multiple namespaces (“
- NSs”
) in a solid state drive (“
SSD”
) via flash translation layer (“
FTL”
), comprising;receiving a first memory access request with a logical block address (“
LBA”
) within a first namespace identifier (“
NSID”
);looking up first LBA offset in an NS translation table in response to the first NSID and generating a first translated LBA (“
TR_LBA”
) based on the first LBA offset;identifying a first global LBA (“
GL”
) base unit in a mapping table in accordance with an index generated from a portion of bits of the first TR_LBA; andobtaining a first physical page address (“
PPA”
) in a flash translation layer (“
FTL”
) table in response to the first GL base unit and a portion of bits of the first TR_LBA. - View Dependent Claims (18, 19, 20, 21)
- NSs”
-
22. A method for facilitating multiple namespaces (“
- NSs”
) in a solid state drive (“
SSD”
) via flash translation layer (“
FTL”
), comprising;translating the LBA of the first NSID to a first translated LBA (“
TR_LBA”
) based on the first LBA of the first NSID and the LBA offset obtained from the NS translation table entry associated with the first NSID;identifying a first entry in a mapping table in accordance with a portion of bits of the first TR_LBA and obtaining a first global LBA (“
GL”
) base unit from the mapping table;obtaining a first physical page address (“
PPA”
) in a flash translation layer (“
FTL”
) table in response to the first GL base unit and a portion of bits of the first TR_LBA; andperforming the first memory access request in accordance with the first PPA. - View Dependent Claims (23, 24, 25, 26)
- NSs”
Specification