Solid-state storage device with multi-level addressing
First Claim
1. A solid-state storage device comprising:
- a plurality of flash memory devices;
a volatile memory; and
a controller configured to store data received from a host in the plurality of flash memory devices in response to a write command and to read the data stored in the plurality of flash memory devices in response to a read command,wherein the controller is further configured to maintain a multi-level address table that maps logical addresses received from the host identifying the data stored in the plurality of flash memory devices to physical addresses in the plurality of flash memory devices containing the data, andwherein a first level of the multi-level address table is maintained by the controller in the volatile memory and second and third levels of the multi-level address table are maintained by the controller in the plurality of flash memory devices.
9 Assignments
0 Petitions
Accused Products
Abstract
A solid-state storage device with multi-level addressing is provided. The solid-state storage device includes a plurality of flash memory devices, a volatile memory, and a controller. The controller is configured to store data received from a host in the plurality of flash memory devices in response to a write command and to read the data stored in the plurality of flash memory devices in response to a read command. The controller is further configured to maintain a multi-level address table that maps logical addresses received from the host identifying the data stored in the plurality of flash memory devices to physical addresses in the plurality of flash memory devices containing the data. A first level of the multi-level address table is maintained by the controller in the volatile memory and second and third levels of the multi-level address table are maintained by the controller in the plurality of flash memory devices.
-
Citations
20 Claims
-
1. A solid-state storage device comprising:
-
a plurality of flash memory devices; a volatile memory; and a controller configured to store data received from a host in the plurality of flash memory devices in response to a write command and to read the data stored in the plurality of flash memory devices in response to a read command, wherein the controller is further configured to maintain a multi-level address table that maps logical addresses received from the host identifying the data stored in the plurality of flash memory devices to physical addresses in the plurality of flash memory devices containing the data, and wherein a first level of the multi-level address table is maintained by the controller in the volatile memory and second and third levels of the multi-level address table are maintained by the controller in the plurality of flash memory devices. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for mapping a plurality of logical addresses received from a host to a plurality of physical addresses in a flash memory device, the method comprising:
-
determining in a controller a first parameter, a second parameter, and a third parameter from a logical address; mapping the first parameter of the logical address to a first address in a first table stored in a volatile memory; reading a second table from a flash memory device based on the first address; mapping the second parameter of the logical address to a second address in the second table; reading a third table from the flash memory device based on the second address; and mapping the third parameter of the logical address to a third address in the third table, wherein the third address is a physical address in the flash memory device containing data associated with the logical address. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory processor-readable medium containing executable instructions for mapping a plurality of logical addresses received from a host to a plurality of physical addresses in a flash memory device, the executable instructions comprising code for:
-
determining a first parameter, a second parameter, and a third parameter from a logical address; mapping the first parameter of the logical address to a first address in a first table stored in a volatile memory; reading a second table from a flash memory device based on the first address; mapping the second parameter of the logical address to a second address in the second table; reading a third table from the flash memory device based on the second address; and mapping the third parameter of the logical address to a third address in the third table, wherein the third address is a physical address in the flash memory device containing data associated with the logical address. - View Dependent Claims (19, 20)
-
Specification