IP Library Granted Patent US 10,714,176
Granted Patent B2
US 10,714,176 · App. 16/103,277 · Granted Jul 14, 2020

Read-write cycle execution based on history

Inventor: Jeffrey Frederiksen (Santa Clara, CA)
Assignee: Micron Technology, Inc.
G11C13/0069G06F12/0246G06F12/0831G11C7/1006G11C2013/0076G11C2213/71
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,714,176
App. No.
16/103,277
Granted
Jul 14, 2020
Kind
B2
Abstract

Aspects of the present disclosure configure a media controller of a memory component to skip execution of a read-write cycle for specific data if the media controller has not observed at least one prior data modification request from a memory sub-system controller that causes modification of the specific data. For example, a media controller of a first memory component can be configured to include a data modification tracker to monitor a memory channel for data modification requests to a second memory component and to track data modification requests that have been observed by the media controller on the memory channel, where the memory channel may be one shared by the first and second memory components.

Claims (60)

1. A system comprising:

a first memory component; and

a media controller of the first memory component, the media controller configured to perform operations comprising:

monitoring a memory channel to detect a first request to a second memory component to modify a first data block stored on the second memory component, the memory channel being shared by the first memory component and the second memory component;

marking the first data block as modified based on detecting the first request;

receiving a second request to write a first sequence of data bits from the first data block of the second memory component to the first memory component; and

in response to the second request:

based on whether the first data block has been marked as modified, determining whether to complete the second request by executing a write cycle at the first memory component to write the first sequence of data bits from the first data block of the second memory component to the first memory component; and

in response to determining that the first data block has not been marked as modified:

foregoing execution of the write cycle at the first memory component; and

sending a response to the second request, the response indicating completion of writing the first sequence of data bits from the first data block of the second memory component to the first memory component despite the foregoing the execution of the write cycle.

2. The system of claim 1 , wherein the operations further comprise:

in response to determining that the first data block has been marked as modified, executing the write cycle at the first memory component.

3. The system of claim 2 , wherein the operations further comprise:

marking the first data block as not modified in response to executing the write cycle.

4. The system of claim 1 , wherein the marking the first data block as modified comprises:

modifying a data bit, associated with the first data block, to indicate that the first data block stored on the second memory component has been modified, the data bit being stored on the first memory component.

5. The system of claim 4 , wherein the data bit associated with the first data block is stored in a reserved memory space on the first memory component, the reserved memory space storing a plurality of data bits that each indicate whether a different data block has been modified on the second memory component.

6. The system of claim 1 , wherein the write cycle comprises a read-write cycle.

7. The system of claim 1 , wherein:

the first memory component is configured as a secondary memory component; and

the second memory component is configured as a primary memory component.

8. The system of claim 1 , wherein the first request and the second request are sent from a memory sub-system controller coupled to the memory channel, and the response is sent to the memory sub-system controller.

9. The system of claim 1 , wherein the second memory component operates as a cache for the first memory component.

10. A method comprising:

monitoring, by a media controller of a first memory component, a memory channel to detect a first request to a second memory component to modify a first data block stored on the second memory component, the memory channel being shared by the first memory component and the second memory component;

marking, by the media controller, the first data block as modified based on detecting the first request;

receiving, at the media controller, a second request to write a first sequence of data bits from the first data block of the second memory component to the first memory component; and

in response to the second request:

based on whether the first data block has been marked as modified, determining, by the media controller, whether to complete the second request by executing a write cycle at the first memory component to write the first sequence of data bits from the first data block of the second memory component to the first memory component; and

in response to determining that the first data block has not been marked as modified:

foregoing, by the media controller, execution of the write cycle at the first memory component; and

sending, by the media controller, a response to the second request, the response indicating completion of writing the first sequence of data bits from the first data block of the second memory component to the first memory component despite the foregoing the execution of the write cycle.

11. The method of claim 10 , further comprising:

in response to determining that the first data block has been marked as modified, executing, by the media controller, the write cycle at the first memory component.

12. The method of claim 11 , further comprising:

marking, by the media controller, the first data block as not modified in response to executing the write cycle.

13. The method of claim 10 , wherein the marking the first data block as modified comprises:

modifying a data bit, associated with the first data block, to indicate that the first data block stored on the second memory component has been modified, the data bit being stored on the first memory component.

14. The method of claim 13 , wherein the data bit associated with the first data block is stored in a reserved memory space on the first memory component, the reserved memory space storing a plurality of data bits that each indicate whether a different data block has been modified on the second memory component.

15. The method of claim 10 , wherein the write cycle comprises a read-write cycle.

16. The method of claim 10 , wherein:

the first memory component is configured as a secondary memory component; and

the second memory component is configured as a primary memory component.

17. The method of claim 10 , wherein the second memory component operates as a cache for the first memory component.

18. A memory sub-system comprising:

a first memory component comprising non-volatile memory;

a second memory component comprising volatile memory;

a memory channel shared by the first memory component and the second memory component; and

a media controller of the first memory component, the media controller configured to perform operations comprising:

monitoring the memory channel to detect a first request to the second memory component to modify a first data block stored on the second memory component;

marking the first data block as modified based on detecting the first request to modify the first data block stored on the second memory component;

receiving a second request to write a first sequence of data bits from the first data block of the second memory component to the first memory component;

determining whether to execute a write cycle, at the first memory component, to write the first sequence of data bits from the first data block to the first memory component based on whether the first data block has been marked as modified, and

in response to determining that the first data block has not been marked as modified:

foregoing execution of the write cycle at the first memory component; and

sending a response to the second request, the response indicating completion of writing the first sequence of data bits from the first data block of the second memory component to the first memory component despite the foregoing the execution of the write cycle.

19. The memory sub-system of claim 18 , wherein the second memory component operates as a cache for the first memory component.

20. The memory sub-system of claim 18 , further comprising:

a memory sub-system controller coupled to the memory channel, the first request and the second request being sent from the memory sub-system controller.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 14, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051028/0835 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050719/0550 →
SUPPLEMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Nov 13, 2018
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A.., AS COLLATERAL AGENT
Reel/Frame 047630/0756 →
SUPPLEMENT NO. 10 TO PATENT SECURITY AGREEMENT Recorded Nov 13, 2018
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048102/0420 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2018
From: FREDERIKSEN, JEFFREY
To: MICRON TECHNOLOGY, INC.
Reel/Frame 046880/0005 →