System and method for supporting atomic writes in a flash translation layer
First Claim
1. A method of maintaining and updating a logical-to-physical (LtoP) table in a storage device comprising a processor, a volatile memory, and a non-volatile memory, the storage device being in communication with a host utilizing atomic writes, the method comprising:
- in response to receiving and storing first data at the non-volatile memory, updating, by the processor, a first subset of zones of the LtoP table corresponding to the stored first data, each zone of the first subset of zones mapping physical addresses of stored first data at the non-volatile memory with corresponding logical addresses of the host;
receiving, by the processor, second data for storing at a plurality of physical addresses in the non-volatile memory, the second data being associated with a plurality of logical addresses of the host;
storing, by the processor, the plurality of physical addresses in an atomic LtoP segment in the volatile memory;
after receiving the second data, storing, by the processor, the first subset of zones of the LtoP table in the non-volatile memory; and
in response to the storing of the first subset of zones, updating, by the processor, a second subset of zones of the LtoP table with the plurality of physical addresses in the atomic LtoP segment, the second subset of zones corresponding in size to the atomic LtoP segment, and the second subset of zones having a number of zones that is equal to or greater than that of the first subset of zones.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of maintaining and updating a logical-to-physical (LtoP) table in a storage device including a processor, a volatile memory, and a non-volatile memory, the storage device being in communication with a host utilizing atomic writes, the method including receiving, by the processor, data for storing at a plurality of physical addresses in the non-volatile memory, the data being associated with a plurality of logical addresses of the host, storing, by the processor, the plurality of physical addresses in an atomic segment in the volatile memory, storing, by the processor, one or more of zones of the LtoP table in the non-volatile memory, the one or more zones of the LtoP table corresponding in size to the atomic segment, and updating the one or more zones of the LtoP table with the plurality of physical addresses in the atomic segment.
8 Citations
17 Claims
-
1. A method of maintaining and updating a logical-to-physical (LtoP) table in a storage device comprising a processor, a volatile memory, and a non-volatile memory, the storage device being in communication with a host utilizing atomic writes, the method comprising:
-
in response to receiving and storing first data at the non-volatile memory, updating, by the processor, a first subset of zones of the LtoP table corresponding to the stored first data, each zone of the first subset of zones mapping physical addresses of stored first data at the non-volatile memory with corresponding logical addresses of the host; receiving, by the processor, second data for storing at a plurality of physical addresses in the non-volatile memory, the second data being associated with a plurality of logical addresses of the host; storing, by the processor, the plurality of physical addresses in an atomic LtoP segment in the volatile memory; after receiving the second data, storing, by the processor, the first subset of zones of the LtoP table in the non-volatile memory; and in response to the storing of the first subset of zones, updating, by the processor, a second subset of zones of the LtoP table with the plurality of physical addresses in the atomic LtoP segment, the second subset of zones corresponding in size to the atomic LtoP segment, and the second subset of zones having a number of zones that is equal to or greater than that of the first subset of zones. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A storage device configured to maintain and update a logical-to-physical (LtoP) table in a storage device being in communication with a host utilizing atomic writes, the storage device comprising:
-
a processor; and a memory comprising a volatile memory and a non-volatile memory, wherein the memory has stored thereon instructions that, when executed by the processor, cause the processor to perform; in response to receiving and storing first data at the non-volatile memory, updating, by the processor, a first subset of zones of the LtoP table corresponding to the stored first data, each zone of the first subset of zones mapping physical addresses of stored first data at the non-volatile memory with corresponding logical addresses of the host; receiving second data for storing at a plurality of physical addresses in the non-volatile memory, the second data being associated with a plurality of logical addresses of the host; storing the plurality of physical addresses in an atomic LtoP segment in the volatile memory; after receiving the second data, storing the first subset of zones of the LtoP table in the non-volatile memory; and in response to the storing of the first subset of zones, updating a second subset of zones of the LtoP table with the plurality of physical addresses in the atomic LtoP segment, the second subset of zones corresponding in size to the atomic LtoP segment, and the second subset of zones having a number of zones that is equal to or greater than that of the first subset of zones. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
Specification