IP Library Granted Patent US 9,076,528
Granted Patent B2
US 9,076,528 · App. 13/149,498 · Granted Jul 7, 2015

Apparatus including memory management control circuitry and related methods for allocation of a write block cluster

Inventor: A. Kent Porterfield (Lino Lakes, MN)
Assignee: Micron Technology, Inc.
G11C16/06G11C16/349G06F12/0246G06F2212/7202G06F2212/7208Y02B60/1225
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,076,528
App. No.
13/149,498
Granted
Jul 7, 2015
Kind
B2
Abstract

Memory system controllers can include non-volatile memory control circuitry including a plurality of channel control circuits. Each of the plurality of channel control circuits can be configured to be coupled to a respective number of logical units (LUNs). Memory management circuitry can be coupled to the non-volatile memory control circuitry and configured to allocate a write block cluster for host writes based on an information width of a host bus and a protocol of the host bus. The write block cluster can include one block from fewer than all of the LUNs.

Claims (32)

1. An apparatus, comprising:

non-volatile memory control circuitry including a plurality of channel control circuits, wherein each of the plurality of channel control circuits is configured to be coupled to a respective number of logical units (LUNs) that each include a plurality of blocks; and

memory management circuitry coupled to the non-volatile memory control circuitry and configured to:

allocate a write block cluster for host writes such that blocks of the write block cluster are written in a particular sequence of LUNs, wherein the write block cluster is based on an information width of a host bus and a protocol of the host bus, and wherein the write block cluster comprises one of the plurality of blocks from fewer than all of the LUNs; and

allocate a remainder of the plurality of blocks from the LUNs for wear leveling operations; and

temporarily deallocate at least one of the allocated LUNs from wear leveling operations at least partially in response to the particular sequence of LUNs indicating that the at least one of the allocated LUNs is within a threshold number of LUNs of being next in the particular sequence of LUNs for a host write, wherein the threshold number is associated with a wear leveling read operation, a wear leveling write operation, or an erase operation.

2. The apparatus of claim 1 , wherein the memory management circuitry is configured to limit the size of the write block cluster to a minimum number of the LUNs used to support a maximum host bus bandwidth according to the information width of the host bus and the protocol of the host bus.

3. The apparatus of claim 1 , wherein the threshold number of LUNs is different for each of the wear leveling read operation, the wear leveling write operation, and the erase operation.

4. The apparatus of claim 1 , wherein the non-volatile memory control circuitry includes a number of queues associated with each of the LUNs; and

wherein the memory management circuitry is configured to limit a number of commands issued for wear leveling operations to a particular one of the LUNs at least partially in response to the number of queues associated with the particular LUN being within a threshold of being full.

5. The apparatus of claim 1 , wherein the memory management circuitry is configured to limit a number of commands issued for a wear leveling operation at least partially in response to an amount of power caused to be used by the apparatus exceeding a threshold amount of power.

6. The apparatus of claim 1 , wherein the memory management circuitry is configured to enforce at least a minimum time between issuance of a first command and a second command for a wear leveling operation.

7. The apparatus of claim 6 , wherein the memory management circuitry is configured to enforce the minimum time between issuance of the first and the second command for the wear leveling operation based on a total number of erased blocks in the LUNs.

8. The apparatus of claim 1 , wherein the memory management circuitry is configured to:

track a number of erased blocks for each of the LUNs; and

suspend wear leveling operations for a particular one of the LUNs at least partially in response to the number of erased blocks in the particular LUN exceeding a wear leveling threshold number.

9. The apparatus of claim 8 , wherein the memory management circuitry is configured to suspend host writes for the particular LUN at least partially in response to the number of erased blocks in the particular LUN falling below a host write threshold number.

10. The apparatus of claim 1 , wherein the plurality of channel control circuits include polling logic configured to issue a status read to the respective number of LUNs, and wherein the plurality of channel control circuits are configured to idle the polling logic for a particular time according to a type of operation indicated by a command issued to one of the number of LUNs.

11. A method, comprising:

allocating a write block cluster via memory management control circuitry for host writes such that a plurality of blocks of the write block cluster are written in a particular sequence of a plurality of logical units (LUNs), wherein the write block cluster is based on an information width of a host bus and a protocol of the host bus, and wherein the write block cluster comprises one block from fewer than all of the plurality of LUNs;

allocating a remainder of the plurality of blocks from the plurality of LUNs for wear leveling operations;

temporarily deallocating at least one of the allocated LUNs from wear leveling operations at least partially in response to the particular sequence of LUNs indicating that the at least one of the allocated LUNs is within a threshold number of LUNs of being next in the particular sequence of LUNs for a host write, wherein the threshold number is associated with a wear leveling read operation, a wear leveling write operation, or an erase operation; and

wherein each of a plurality of channel control circuits is configured to be coupled to a respective number of the plurality of LUNs.

12. The method of claim 11 , wherein the method includes limiting the size of the write block cluster to a minimum number of the plurality of LUNs used to support a maximum host bus bandwidth according to the information width of the host bus and the protocol of the host bus.

13. The method of claim 11 , wherein the method includes:

tracking a number of erased blocks for each of the plurality of LUNs; and

suspending wear leveling operations for a particular one of the plurality of LUNs at least partially in response to the number of erased blocks in the particular LUN exceeding a wear leveling threshold number.

14. A method, comprising:

allocating a write block cluster via memory management control circuitry for host writes such that blocks of the write block cluster are written in a particular sequence of a plurality of logical units (LUNs), wherein the write block cluster is based on an information width of a host bus and a protocol of the host bus, and wherein the write block cluster comprises one block from fewer than all of the plurality of LUNs that each include a plurality of blocks; and

allocating a remainder of the plurality of blocks from the plurality of LUNs for wear leveling operations via the memory management control circuitry; and

temporarily deallocating at least one of the allocated LUNs from wear leveling operations at least partially in response to the particular sequence of LUNs indicating that the at least one of the allocated LUNs is within a threshold number of LUNs of being next in the particular sequence of LUNs for a host write, wherein the threshold number is associated with a wear leveling read operation, a wear leveling write operation, or an erase operation.

15. The method of claim 14 , wherein the method includes limiting a number of commands issued for wear leveling operations to a particular one of the plurality of LUNs at least partially in response to a number of queues associated with the particular one of the plurality of LUNs being within a threshold of being full.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050937/0001 →
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047243/0001 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 8, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 043079/0001 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 038954/0001 →
SECURITY INTEREST Recorded May 12, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038669/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2011
From: PORTERFIELD, A. KENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 026707/0354 →
Continuity (1)
Related Publication 20120311231A1 · Dec 6, 2012