Startup reconstruction of logical-to-physical address translation data for solid state disks
First Claim
1. A method of reconstructing, by a media controller, logical-to-physical address mapping data for one or more sectors of a storage device, the sectors of the storage device organized into blocks and superblocks and the address mapping data stored in a volatile memory, the method comprising:
- at a startup condition of the media controller;
allocating, by a buffer layer module of the media controller, space in the volatile memory for one or more logical-to-physical address mapping data structures;
determining, by a media layer module of the media controller, a block type of each block of the storage device;
grouping, by the media layer module, each block of the storage device into corresponding groups based on the determined block type of each block;
processing, by the media layer module, the one or more blocks of each group;
constructing, by the media layer module, one or more address mapping data structures for the storage device in the allocated space in the volatile memory,wherein the address mapping data structures comprise;
an active block table (ABT) of the storage device, wherein the ABT stores a location of a currently active block in each superblock;
a page global directory (PGD) of the storage device, wherein the PGD stores i) a pointer to a summary page associated with each Superblock and ii) an ABT pointer to a location of the ABT for the superblock;
a free block list of the storage device, wherein the free block list includes pointers to erased blocks; and
a bad block list of the storage device, wherein the bad block list includes pointers to failed blocks.
6 Assignments
0 Petitions
Accused Products
Abstract
Described embodiments provide reconstruction of logical-to-physical address mapping data for one or more sectors of a storage device at startup of a media controller. The sectors of the storage device are organized into blocks and superblocks and the address mapping data is stored in a volatile memory. At a startup condition of the media controller, a buffer layer module of the media controller allocates space in the volatile memory for one or more logical-to-physical address mapping data structures. A media layer module of the media controller determines a block type of each block of the storage device and places each block of the storage device into corresponding groups based on the determined block type of each block. The one or more blocks of each group are processed, and one or more address mapping data structures for the storage device are constructed in the allocated space in the volatile memory.
-
Citations
17 Claims
-
1. A method of reconstructing, by a media controller, logical-to-physical address mapping data for one or more sectors of a storage device, the sectors of the storage device organized into blocks and superblocks and the address mapping data stored in a volatile memory, the method comprising:
-
at a startup condition of the media controller; allocating, by a buffer layer module of the media controller, space in the volatile memory for one or more logical-to-physical address mapping data structures; determining, by a media layer module of the media controller, a block type of each block of the storage device; grouping, by the media layer module, each block of the storage device into corresponding groups based on the determined block type of each block; processing, by the media layer module, the one or more blocks of each group; constructing, by the media layer module, one or more address mapping data structures for the storage device in the allocated space in the volatile memory, wherein the address mapping data structures comprise; an active block table (ABT) of the storage device, wherein the ABT stores a location of a currently active block in each superblock; a page global directory (PGD) of the storage device, wherein the PGD stores i) a pointer to a summary page associated with each Superblock and ii) an ABT pointer to a location of the ABT for the superblock; a free block list of the storage device, wherein the free block list includes pointers to erased blocks; and a bad block list of the storage device, wherein the bad block list includes pointers to failed blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory machine-readable storage medium, having encoded thereon program code, wherein, when the program code is executed by a machine, the machine implements a method of reconstructing, by a media controller, logical-to-physical address mapping data for one or more sectors of a storage device, the sectors of the storage device organized into blocks and superblocks and the address mapping data stored in a volatile memory, the method comprising:
-
at a startup condition of the media controller; allocating, by a buffer layer module of the media controller, space in the volatile memory for one or more logical-to-physical address mapping data structures; determining, by a media layer module of the media controller, a block type of each block of the storage device; grouping, by the media layer module, each block of the storage device into corresponding groups based on the determined block type of each block; processing, by the media layer module, the one or more blocks of each group; constructing, by the media layer module, one or more address mapping data structures for the storage device in the allocated space in the volatile memory, wherein the address mapping data structures comprise; an active block table (ABT) of the storage device, wherein the ABT stores a location of a currently active block in each superblock; a page global directory (PGD) of the storage device, wherein the PGD stores i) a pointer to a summary page associated with each Superblock and ii) an ABT pointer to a location of the ABT for the superblock; a free block list of the storage device, wherein the free block list includes pointers to erased blocks; and a bad block list of the storage device, wherein the bad block list includes pointers to failed blocks. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A media controller for reconstructing, at startup of the media controller, logical-to-physical address mapping data for one or more sectors of a storage device, the sectors of the storage device organized into blocks and superblocks, the media controller comprising:
-
a volatile memory for storing one or more logical-to-physical address mapping data structures; a buffer layer module of the media controller for allocating space in the volatile memory for the one or more logical-to-physical address mapping data structures; a media layer module of the media controller for i) determining a block type of each block of the storage device, ii) grouping each block of the storage device into corresponding groups based on the determined block type of each block, iii) processing the one or more blocks of each group, and iv) reconstructing the one or more address mapping data structures for the storage device in the allocated space in the volatile memory, wherein the address mapping data structures comprise; an active block table (ABT) of the storage device, wherein the ABT stores a location of a currently active block in each superblock; a page global directory (PGD) of the storage device, wherein the PGD stores i) a pointer to a summary page associated with each Superblock and ii) an ABT pointer to a location of the ABT for the superblock; a free block list of the storage device wherein the free block list includes pointers to erased blocks; and a bad block list of the storage device, wherein the bad block list includes pointers to failed blocks. - View Dependent Claims (16, 17)
-
Specification