Map recycling acceleration
First Claim
Patent Images
1. An apparatus comprising:
- a memory configured to store data; and
a controller configured to process a plurality of input/output requests to read/write to/from the memory, the controller comprising a processor configured to initiate a recycle operation by generation of a start index and a search range, and a hardware assist circuit configured to store the start index and the search range in a queue, search exclusively through a first level in a map in response to the start index and the search range, notify the processor in response to a detection in the first level of the map that one or more of the source blocks to be recycled contain valid data, and suspend the recycle operation while servicing a new command to access the memory, wherein the start index and the search range identify a plurality of source blocks in the memory to be recycled in the recycle operation, the map defines a plurality of translations between a plurality of logical addresses used at a host interface and a plurality of physical addresses used in the memory, the map has a plurality of pages in a second level, the first level in the map indicates if data in the source blocks is valid or not, and all of the first level and a portion less than all, of the second level in the map are buffered in a cache while the first level is searched.
6 Assignments
0 Petitions
Accused Products
Abstract
An apparatus having a processor and a circuit is disclosed. The processor is generally configured to initiate an operation to recycle a plurality of source blocks in a memory that is nonvolatile. The circuit is generally configured to (i) search through a first of a plurality of levels in a map that defines a plurality of translations between a plurality of logical addresses used at an interface to a computer and a plurality of physical addresses used in the memory and (ii) notify the processor in response to a detection in the first level of one or more of the source blocks to be recycled that contain valid data.
-
Citations
20 Claims
-
1. An apparatus comprising:
-
a memory configured to store data; and a controller configured to process a plurality of input/output requests to read/write to/from the memory, the controller comprising a processor configured to initiate a recycle operation by generation of a start index and a search range, and a hardware assist circuit configured to store the start index and the search range in a queue, search exclusively through a first level in a map in response to the start index and the search range, notify the processor in response to a detection in the first level of the map that one or more of the source blocks to be recycled contain valid data, and suspend the recycle operation while servicing a new command to access the memory, wherein the start index and the search range identify a plurality of source blocks in the memory to be recycled in the recycle operation, the map defines a plurality of translations between a plurality of logical addresses used at a host interface and a plurality of physical addresses used in the memory, the map has a plurality of pages in a second level, the first level in the map indicates if data in the source blocks is valid or not, and all of the first level and a portion less than all, of the second level in the map are buffered in a cache while the first level is searched. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for map recycling acceleration, comprising the steps of:
-
processing a plurality of input/output requests to read/write to/from a memory; initiating a recycle operation by generation of a start index and a search range using a processor; storing the start index and the search range in a queue; searching exclusively through a first level in a map in response to the start index and the search range; notifying the processor in response to a detection in the first level of the map that one or more of the source blocks to be recycled contain valid data; and suspending the recycle operation while servicing a new command to access the memory, wherein the start index and the search range identify a plurality of source blocks in the memory to be recycled in the recycle operation, the map defines a plurality of translations between a plurality of logical addresses used at a host interface and a plurality of physical addresses used in the memory, the map has a plurality of pages in a second level, the first level in the map indicates if data in the source blocks is valid or not, and all of the first level and a portion less than all of the second level in the map are buffered in a cache while the first level is searched. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. An apparatus comprising:
-
are interface configured to process a plurality of read/write operations to/from a memory; and a control circuit configured to process a plurality of input/output requests to read/write to/from the memory, initiate a recycle operation by generation of a start index and a search range, store the start index and the search range in a queue, search exclusively through a first level in a map in response to the start index and the search range, generate a notification in response to a detection in the first level of the map that one or more of the source blocks to be recycled contain valid data, and suspend the recycle operation while servicing a new command to access the memory, wherein the start index and the search range identify a plurality of source blocks in the memory to be recycled in the recycle operation, the map defines a plurality of translations between a plurality of logical addresses used at a host interface and a plurality of physical addresses used in the memory, the map has a plurality of pages in a second level, the first level in the map indicates if data in the source blocks is valid or not, and all of the first level and a portion less than all of the second level in the map are buffered in a cache while the first level is searched. - View Dependent Claims (20)
-
Specification