IP Library Granted Patent US 10,853,238
Granted Patent B2
US 10,853,238 · App. 16/221,846 · Granted Dec 1, 2020

Unaligned data coalescing

Inventor: David A. Palmer (Boise, ID)
Assignee: Micron Technology, Inc.
G06F12/0246G06F12/04G06F2212/1016G06F2212/1036G06F2212/7203
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 10,853,238
App. No.
16/221,846
Granted
Dec 1, 2020
Kind
B2
Abstract

The present disclosure includes methods and systems for coalescing unaligned data. One method includes receiving a first write command associated with a first unaligned portion of data, receiving a second write command associated with a second unaligned portion of data, and coalescing the first unaligned portion of data and the second unaligned portion of data, wherein coalescing includes writing the first unaligned portion of data and the second unaligned portion of data to a page in a memory device.

Claims (35)

1. An apparatus, comprising:

an array of memory cells; and

a controller, coupled to the array, configured to:

coalesce a first unaligned portion of data and a second unaligned portion of data located in a buffer on the controller in response to a first indicator in a coalescing data structure associated with the first unaligned portion of data and a second indicator in the coalescing data structure associated with the second unaligned portion of data referring a particular logic page, wherein the first unaligned portion of data and the second unaligned portion of data are stored in the buffer on the controller, remain in the controller prior to coalescing the first unaligned portion of data and the second unaligned portion of data, and are in the buffer when coalesced.

2. The apparatus of claim 1 , wherein the controller is configured to write the first unaligned portion of data and the second unaligned portion of data to the array in a single write operation.

3. The apparatus of claim 1 , wherein the controller is configured to coalesce the first unaligned portion of data and the second unaligned portion of data responsive to logical address associated with the first unaligned portion of data and the second unaligned portion of data corresponding to the particular logical page and the logical addresses not being in common.

4. The apparatus of claim 3 , wherein the controller is configured to store the logical addresses associated with the first unaligned portion of data in a read coalescing data structure.

5. The apparatus of claim 3 , wherein the controller is configured to store the logical addresses associated with the first unaligned portion of data and the second unaligned portion of data in a write coalescing data structure.

6. The apparatus of claim 1 , wherein the controller is configured to create the second indicator that refers to the particular logical page corresponding to logical addresses associated with the second unaligned portion of data.

7. The apparatus of claim 1 , wherein the buffer is configured to store the first unaligned portion of data and the second unaligned portion of data during coalescing.

8. A method for unaligned data coalescing, comprising:

receiving a number of write commands associated with a first unaligned portion of data and a second unaligned portion of data;

creating a first indicator corresponding to the first unaligned portion of data, wherein the first indicator refers to a logical address of the first unaligned portion of data and a first logical page;

placing the first indicator in a coalescing data structure;

creating a second indicator corresponding to the second unaligned portion of data, wherein the second indicator refers to a logical address of the second unaligned portion of data and the first logical page;

placing the second indicator in the coalescing data structure; and

coalescing the first unaligned portion of data and the second unaligned portion of data in response to the first indicator and the second indicator referring to the first logical page, wherein the first unaligned portion of data and the second unaligned portion of data are stored in a buffer on a controller, remain in the controller prior to coalescing the first unaligned portion of data and the second unaligned portion of data, and are in the buffer when coalesced.

9. The method of claim 8 , wherein coalescing the first unaligned portion of data and the second unaligned portion of data includes writing the first unaligned portion of data and the second unaligned portion of data to a page in a memory device.

10. The method of claim 8 , further including removing the first indicator and the second indicator from the coalescing data structure in response to coalescing the first unaligned portion of data and the second unaligned portion of data.

11. The method of claim 8 , further including receiving the number of commands associated with a third unaligned portion of data.

12. The method of claim 11 , further including creating a third indicator corresponding to the third unaligned portion of data, wherein the third indicator refers to a logical address of the third unaligned portion of data and a second logical page.

13. The method of claim 12 , further including placing the third indicator in the coalescing data structure.

14. The method of claim 12 , further including removing the third indicator from the coalescing data structure in response to coalescing the third unaligned portion of data with another unaligned portion of data.

15. An apparatus, comprising:

an array of memory cells; and

a controller, coupled to the array, configured to:

receive a first write command associated with a first unaligned portion of data and an aligned portion of data;

coalesce the first unaligned portion of data and a second unaligned portion of data in response to an indicator associated with the second unaligned portion of data referring to a logical page associated with the first unaligned portion of data and wherein the indicator is located in a coalescing data structure, wherein the first unaligned portion of data and the second unaligned portion of data are stored in a buffer on the controller, remain in the controller prior to coalescing the first unaligned portion of data and the second unaligned portion of data, and are in the buffer when coalesced; and

write the aligned portion of data to a first page in the array of memory cells and write the first unaligned portion of data and the second unaligned portion of data to a second page in the array of memory cells.

16. The apparatus of claim 15 , wherein the first unaligned portion of data and the second unaligned portion of data are associated with logical addresses that correspond to the logical page.

17. The apparatus of claim 15 , wherein the controller is configured to store the first unaligned portion of data and the second unaligned portion of data in the buffer for coalescing.

18. The apparatus of claim 15 , wherein the controller is configured to:

receive a second write command associated with a third unaligned portion of data and a third write command associated with a fourth unaligned portion of data; and

store the third unaligned portion of data and the fourth unaligned portion of data in a buffer.

19. The apparatus of claim 18 , wherein the controller is configured to coalesce the third unaligned portion of data and the fourth unaligned portion of data in response to a logical address of the third unaligned portion of data and a logical address of the fourth unaligned portion of data being associated with another logical page.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 15, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051026/0568 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050718/0764 →
SUPPLEMENT NO. 11 TO PATENT SECURITY AGREEMENT Recorded Jan 16, 2019
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048082/0860 →
SUPPLEMENT NO. 2 TO PATENT SECURITY AGREEMENT Recorded Jan 16, 2019
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 048082/0889 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2018
From: PALMER, DAVID A.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047793/0747 →