APPARATUS INCLUDING MEMORY SYSTEM CONTROLLERS AND RELATED METHODS
First Claim
1. An apparatus, comprising:
- a switch;
non-volatile memory control circuitry coupled to the switch and including a plurality of channel control circuits, wherein each of the plurality of channel control circuits is configured to be coupled to a number of logical units (LUNs), wherein each of the number of LUNs includes a plurality of blocks;
volatile memory coupled to the switch; and
memory management circuitry coupled to the switch and including local memory, wherein the memory management circuitry is configured to;
store health and status information for each of the plurality of blocks in a block table in the volatile memory;
store a candidate block table in the local memory, wherein the candidate block table identifies a candidate block for a particular operation based on a number of criteria for the particular operation;
update the health and status information for a particular one of the plurality of blocks in the block table in the volatile memory; and
compare the updated health and status information for the particular block with the candidate block according to the number of criteria; and
update the candidate block table to identify the particular block at least partially in response to the comparison indicating that the particular block better satisfies the number of criteria.
8 Assignments
0 Petitions
Accused Products
Abstract
Memory controllers can include a switch and non-volatile memory control circuitry including channel control circuits coupled to the switch. The channel control circuits can coupled to logical units including blocks. Volatile memory and memory management circuitry including local memory can be coupled to the switch. The memory management circuitry can be configured to store health and status information for each of the blocks in a block table in the volatile memory, store a candidate block table that identifies a candidate block for a particular operation based on criteria in the local memory, update the health and status information for a particular block in the block table, compare the updated health and status information for the particular block with the candidate block according to the criteria, and update the candidate block table to identify the particular block in response to the comparison indicating that the particular block better satisfies the criteria.
34 Citations
20 Claims
-
1. An apparatus, comprising:
-
a switch; non-volatile memory control circuitry coupled to the switch and including a plurality of channel control circuits, wherein each of the plurality of channel control circuits is configured to be coupled to a number of logical units (LUNs), wherein each of the number of LUNs includes a plurality of blocks; volatile memory coupled to the switch; and memory management circuitry coupled to the switch and including local memory, wherein the memory management circuitry is configured to; store health and status information for each of the plurality of blocks in a block table in the volatile memory; store a candidate block table in the local memory, wherein the candidate block table identifies a candidate block for a particular operation based on a number of criteria for the particular operation; update the health and status information for a particular one of the plurality of blocks in the block table in the volatile memory; and compare the updated health and status information for the particular block with the candidate block according to the number of criteria; and update the candidate block table to identify the particular block at least partially in response to the comparison indicating that the particular block better satisfies the number of criteria. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, comprising:
-
storing health and status information for each of a plurality of blocks in a block table in volatile memory; storing a candidate block table in local memory, wherein the candidate block table identifies a candidate block for a particular operation based on a number of criteria for the particular operation; updating the health and status information for a particular one of the plurality of blocks in the block table in the volatile memory; and comparing the updated health and status information for the particular block with the candidate block according to the number of criteria; and updating the candidate block table to identify the particular block at least partially in response to the comparison indicating that the particular block better satisfies the number of criteria. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method, comprising:
-
storing logical to physical address translations in a logical block address (LBA) table in volatile memory; retrieving a first physical address corresponding to a logical address for a particular block of a plurality of blocks from a block table prior to information being read from the particular block during a wear leveling operation on the particular block; retrieving a second physical address corresponding to the logical address from the LBA table after the information is written to a different one of the plurality of blocks during the wear leveling operation; and invalidating the wear leveling operation at least partially in response to the second physical address being different than the first physical address. - View Dependent Claims (18)
-
-
19. An apparatus, comprising:
-
a switch; non-volatile memory control circuitry coupled to the switch and including a plurality of channel control circuits, wherein each of the plurality of channel control circuits is configured to be coupled to a number of logical units (LUNs), wherein each of the number of LUNs includes a plurality of blocks; volatile memory coupled to the switch; and memory management circuitry coupled to the switch and including local memory, wherein the memory management circuitry is configured to; store logical to physical address translations in a logical block address (LBA) table in the volatile memory; retrieve a first physical address corresponding to a logical address for a particular block of the plurality of blocks from the block table prior to information being read from the particular block during a wear leveling operation on the particular block; retrieve a second physical address corresponding to the logical address from the LBA table after the information is written to a different one of the plurality of blocks during the wear leveling operation; and update the LBA table with a third physical address corresponding to the different block at least partially in response to the second physical address being equal to the first physical address. - View Dependent Claims (20)
-
Specification