Map recycling acceleration
First Claim
1. An apparatus comprising:
- a memory configured to store data; and
a controller circuit configured to process a plurality of input/output requests to read/write to/from the memory, the controller circuit comprisinga processor configured to initiate a recycle operation by generation of a start index,a cachehaving a plurality of cache slots, andconfigured to buffer a first level of a map and less than all of a second level of the map copied from the memory, anda hardware assist circuit configured tosearch through the first level of the map in the cache to identify one or more first level indices in the first level of the map that correspond to erasure candidate blocks in the memory that contain valid data in response to the start index providing one or more identified first level indices,search through the second level of the map in the cache to identify one or more of the cache slots holding a cached second level page of the second level of the map that corresponds to the one or more identified first level indices,install in the cache a preassigned cached second level page corresponding to each of the one or more identified first level indices in response to finding no corresponding cached second level pages,lock the one or more of the cache slots holding the cached second level pages that correspond to the one or more identified first level indices providing one or more locked cache slots;
notify the processor of the erasure candidate blocks to move during the recycle operation in response to detecting one or more blocks in the memory that contain the valid data to be recycled, andunlock the one or more locked cache slots holding the cached second level pages after the second level pages in the erasure candidate blocks have been moved to different locations in the memory.
0 Assignments
0 Petitions
Accused Products
Abstract
An apparatus includes a memory and a controller. The memory may be configured to store data. The controller may be configured to process a plurality of input/output requests to read/write to/from the memory. The controller generally includes a processor, a cache and a hardware assist circuit. The processor may be configured to initiate a recycle operation by generation of a start index. The cache may be configured to buffer a first level of a map and less than all of a second level of the map. The hardware assist circuit may be configured to search through the first level or any portions of the second level of the map in the cache in response to the start index, and notify the processor in response to the search detecting one or more blocks in the memory that contain valid data to be recycled.
-
Citations
20 Claims
-
1. An apparatus comprising:
-
a memory configured to store data; and a controller circuit configured to process a plurality of input/output requests to read/write to/from the memory, the controller circuit comprising a processor configured to initiate a recycle operation by generation of a start index, a cache having a plurality of cache slots, and configured to buffer a first level of a map and less than all of a second level of the map copied from the memory, and a hardware assist circuit configured to search through the first level of the map in the cache to identify one or more first level indices in the first level of the map that correspond to erasure candidate blocks in the memory that contain valid data in response to the start index providing one or more identified first level indices, search through the second level of the map in the cache to identify one or more of the cache slots holding a cached second level page of the second level of the map that corresponds to the one or more identified first level indices, install in the cache a preassigned cached second level page corresponding to each of the one or more identified first level indices in response to finding no corresponding cached second level pages, lock the one or more of the cache slots holding the cached second level pages that correspond to the one or more identified first level indices providing one or more locked cache slots; notify the processor of the erasure candidate blocks to move during the recycle operation in response to detecting one or more blocks in the memory that contain the valid data to be recycled, and unlock the one or more locked cache slots holding the cached second level pages after the second level pages in the erasure candidate blocks have been moved to different locations in the memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for map recycling acceleration, comprising:
-
processing a plurality of input/output requests to read/write to/from a memory; initiating a recycle operation by generation of a start index using a processor; buffering a first level of a map and less than all of a second level of the map copied from the memory in a cache having a plurality of cache slots; searching through the first level of the map in the cache to identify one or more first level indices in the first level of the map that correspond to erasure candidate blocks in the memory that contain valid data using a hardware assist circuit in response to the start index providing one or more identified first level indices; searching through the second level of the map in the cache to identify one or more of the cache slots holding a cached second level page of the second level of the map that corresponds to the one or more identified first level indices using the hardware assist circuit; installing in the cache a preassigned cached second level page corresponding to each of the one or more identified first level indices in response to finding no corresponding cached second level pages using the hardware assist circuit; locking the one or more of the cache slots holding the cached second level pages that correspond to the one or more identified first level indices providing one or more locked cache slots using the hardware assist circuit; notifying the processor of the erasure candidate blocks to move during the recycle operation in response to detecting one or more blocks in the memory that contain the valid data to be recycled using the hardware assist circuit; and unlocking the one or more locked cache slots holding the cached second level pages after the second level pages in the erasure candidate blocks have been moved to different locations in the memory using the hardware assist circuit. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. An apparatus comprising:
-
an interface circuit configured to process a plurality of read/write operations to/from a memory; and a control circuit comprising a processor configured to initiate a recycle operation by generation of a start index, a cache having a plurality of cache slots, and configured to buffer a first level of a map and less than all of a second level of the map copied from the memory, and a hardware assist circuit configured to search through the first level of the map in the cache to identify one or more first level indices in the first level of the map that correspond to erasure candidate blocks in the memory that contain valid data in response to the start index providing one or more identified first level indices, search through the second level of the map in the cache to identify one or more of the cache slots holding a cached second level page of the second level of the map that corresponds to the one or more identified first level indices, install in the cache a preassigned cached second level page corresponding to each of the one or more identified first level indices in response to finding no corresponding cached second level pages, lock the one or more of the cache slots holding the cached second level pages that correspond to the one or more identified first level indices providing one or more locked cache slots; notify the processor of the erasure candidate blocks to move during the recycle operation in response to detecting one or more blocks in the memory that contain the valid data to be recycled, and unlock the one or more locked cache slots holding the cached second level pages after the second level pages in the erasure candidate blocks have been moved to different locations in the memory. - View Dependent Claims (20)
-
Specification