Method for management tables recovery
First Claim
1. A method for self-recovery of memory management tables for solid state storage devices, comprising:
- receiving, by a controller, an indication that a memory management table loaded to a random-access storage device and associated with a non-volatile storage device is in a corrupted state;
retrieving one or more error recovery parameters of a first memory unit stored in metadata of a physical block of a plurality of physical blocks of the non-volatile storage device;
examining the one or more error recovery parameters to determine whether the one or more error recovery parameters indicate the first memory unit is fresh or stale, wherein the first memory unit is determined to be fresh if a sequence number of the error recovery parameters corresponding to the first memory unit is greater than a sequence number corresponding to a second memory unit stored in the metadata with the same logical address as the first memory unit;
updating the memory management table with logical-to-physical translation information of the metadata for the first memory unit that is determined to be fresh; and
writing the updated memory management table to the non-volatile storage device.
5 Assignments
0 Petitions
Accused Products
Abstract
A controller receives an indication that a memory management table loaded to a random-access storage device is in a corrupted state. The controller retrieves one or more error recovery parameters of a memory unit stored in metadata of a physical block of a plurality of physical blocks of the non-volatile storage device. The controller examines the one or more error recovery parameters to determine whether the one or more error recovery parameters indicate the memory unit is fresh or stale. The controller updates the memory management table with logical-to-physical translation information of the metadata for the memory unit that is determined to be fresh. The controller writes the updated memory management table to the non-volatile storage device.
14 Citations
22 Claims
-
1. A method for self-recovery of memory management tables for solid state storage devices, comprising:
-
receiving, by a controller, an indication that a memory management table loaded to a random-access storage device and associated with a non-volatile storage device is in a corrupted state; retrieving one or more error recovery parameters of a first memory unit stored in metadata of a physical block of a plurality of physical blocks of the non-volatile storage device; examining the one or more error recovery parameters to determine whether the one or more error recovery parameters indicate the first memory unit is fresh or stale, wherein the first memory unit is determined to be fresh if a sequence number of the error recovery parameters corresponding to the first memory unit is greater than a sequence number corresponding to a second memory unit stored in the metadata with the same logical address as the first memory unit; updating the memory management table with logical-to-physical translation information of the metadata for the first memory unit that is determined to be fresh; and writing the updated memory management table to the non-volatile storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for self-recovery of memory management tables for solid state storage devices, comprising:
-
receiving, by a controller, an indication that a memory management table loaded to a random-access storage device and associated with a non-volatile storage device is in a corrupted state; retrieving one or more error recovery parameters of a memory unit stored in metadata of a physical block of a plurality of physical blocks of the non-volatile storage device wherein the memory unit is a first memory unit; when the first memory unit and a second memory unit both have the same logical address and; when a sequence number of the error recovery parameters corresponding to the first memory unit is greater than a sequence number corresponding to the second memory unit in the metadata, determining that the memory unit is fresh; and when the sequence number of the error recovery parameters corresponding to the first memory unit is less than the sequence number corresponding to the second memory unit in the metadata, determining that the memory unit is stale; examining the one or more error recovery parameters to determine whether the one or more error recovery parameters indicate the memory unit is fresh or stale; updating the memory management table with logical-to-physical translation information of the metadata for the memory unit that is determined to be fresh; and writing the updated memory management table to the non-volatile storage device. - View Dependent Claims (13, 14, 15)
-
-
16. A storage device comprising:
-
a non-volatile storage device; a random-access storage device; and a controller coupled to the non-volatile storage device and the random-access storage device, the controller configured to; receive an indication that a memory management table loaded to a random-access storage device and associated with a non-volatile storage device is in a corrupted state; retrieve one or more error recovery parameters of a first memory unit stored in metadata of a physical block of a plurality of physical blocks of the non-volatile storage device; examine the one or more error recovery parameters to determine whether the one or more error recovery parameters indicate the first memory unit is fresh or stale, wherein the first memory unit is determined to be fresh if a sequence number of the error recovery parameters corresponding to the first memory unit is greater than a sequence number corresponding to a second memory unit stored in the metadata with the same logical address as the first memory unit; update the memory management table with logical-to-physical translation information of the metadata for the first memory unit that is determined to be fresh; and write the updated memory management table to the non-volatile storage device. - View Dependent Claims (17)
-
-
18. A storage device comprising:
-
a non-volatile storage device; a random-access storage device; and a controller coupled to the non-volatile storage device and the random-access storage device, the controller configured to; receive an indication that a memory management table loaded to a random-access storage device and associated with a non-volatile storage device is in a corrupted state; retrieve one or more error recovery parameters of a memory unit stored in metadata of a physical block of a plurality of physical blocks of the non-volatile storage device; examine the one or more error recovery parameters to determine whether the one or more error recovery parameters indicate the memory unit is fresh or stale wherein the memory unit is a first memory unit; when the first memory unit and a second memory unit both have the same logical address and; when a sequence number of the error recovery parameters corresponding to the first memory unit is greater than a sequence number corresponding to a second memory unit in the metadata, determine that the memory unit is fresh; and when the sequence number of the error recovery parameters corresponding to the first memory unit is less than the sequence number corresponding to the second memory unit in the metadata;
determine that the memory unit is stale;update the memory management table with logical-to-physical translation information of the metadata for the memory unit that is determined to be fresh; and write the updated memory management table to the non-volatile storage device.
-
-
19. A storage device comprising:
-
means for receiving an indication that a memory management table loaded to a random-access storage device and associated with a non-volatile storage device is in a corrupted state; means for retrieving one or more error recovery parameters of a first memory unit stored in metadata of a physical block of a plurality of physical blocks of the non-volatile storage device; means for examining the one or more error recovery parameters to determine whether the one or more error recovery parameters indicate the first memory unit is fresh or stale; means for determining the first memory unit is fresh if a sequence number of the error recovery parameters corresponding to the first memory unit is greater than a sequence number corresponding to a second memory unit stored in the metadata with the same logical address as the first memory unit; means for updating the memory management table with logical-to-physical translation information of the metadata for the first memory unit that is determined to be fresh; and means for writing the updated memory management table to the non-volatile storage device. - View Dependent Claims (20, 21, 22)
-
Specification