IP Library Granted Patent US 10,331,359
Granted Patent B2
US 10,331,359 · App. 15/730,952 · Granted Jun 25, 2019

Memory subsystem with wrapped-to-continuous read

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,331,359
App. No.
15/730,952
Granted
Jun 25, 2019
Kind
B2
Abstract

Disclosed herein are system, method, and computer program product embodiments for accessing data of a memory. A method embodiment operates by receiving one or more requests for data stored across at least a first memory area and a second memory area of a memory. The method continues with performing, by at least one processor, a wrapped read of data within a first memory area of the memory. The method then performs, by the at least one processor, a continuous read of data within a second memory area of the memory, the second memory area being adjacent to the first memory area. The continuous read starts at a first boundary of the second memory area, and is performed automatically after the wrapped read of data within the first memory area.

Claims (38)

1. A computer implemented method for accessing data, comprising:

receiving two or more requests for data stored across at least a first memory area and a second memory area of a memory;

performing, by at least one processor, a wrapped read of data within the first memory area of the memory;

performing, by the at least one processor, a continuous read of data within the second memory area of the memory, the second memory area being adjacent to the first memory area, wherein the continuous read starts at a first boundary of the second memory area, and is performed automatically after reading a final address of the wrapped read of data within the first memory area.

2. The computer implemented method of claim 1 , further comprising:

continuing the continuous read of data within one or more additional adjacent memory areas of the memory, wherein the continuous read of data within one of the one or more additional adjacent memory areas occurs automatically after the continuous read of data within a previous adjacent memory area.

3. The computer implemented method of claim 1 , further comprising:

merging the received two or more requests for data into a single request for data across at least the first memory area and the second memory area in response to determining that the first memory area is adjacent to the second memory area; and

updating a read length associated with the single request such that the updated read length encompasses at least the first memory area and the second memory area.

4. The computer implemented method of claim 3 , wherein performing the continuous read of data from the second memory area is done in response to the single request and using the updated read length.

5. The computer implemented method of claim 1 , further comprising determining if the requested data is stored across a plurality of adjacent memory areas of the memory.

6. The computer implemented method of claim 1 , wherein the receiving comprises receiving the two or more requests for data from a cache memory controller.

7. The computer implemented method of claim 6 , further comprising transmitting, by the at least one processor, at least the requested data to the cache memory controller.

8. The computer implemented method of claim 7 , wherein the data within the first memory area is written to a first cacheline of a cache associated with the cache memory controller and the data within the second memory area is written to a second cacheline of the cache.

9. The computer implemented method of claim 1 , further comprising controlling a timing of performing the wrapped read and a timing of performing the continuous read using a state machine coupled to the at least one processor.

10. A system comprising:

a plurality of memory devices;

a memory controller comprising a decoder configured to receive two or more requests for data stored across at least a first memory area and a second memory area of the plurality of memory devices; and

a processor configured to:

perform a wrapped read of data within the first memory area; and

perform a continuous read of data within the second memory area, wherein the continuous read starts at a first boundary of the second memory area;

wherein after reading a final address of the wrapped read of data within the first memory area, the processor automatically starts the continuous read of data at the first boundary of the second memory area.

11. The system of claim 10 , wherein the processor is further configured to perform a continuous read of data within one or more additional adjacent memory areas.

12. The system of claim 10 , wherein the memory controller is configured to receive the two or more requests for data from a cache memory controller.

13. The system of claim 12 , wherein the memory controller is further configured to transmit at least the requested data to the cache memory controller.

14. The system of claim 13 , wherein the cache memory controller is configured to write the data within the first memory area to a first cacheline of a cache and to write the data within the second memory area to a second cacheline of the cache.

15. The system of claim 10 , wherein the memory controller comprises a merge detect module configured to determine that the first memory area is adjacent to the second memory area and responsively merge the received two or more requests for data into a single request for data across at least the first memory area and the second memory area, and update a read length associated with the single request such that the updated read length encompasses at least the first memory area and the second memory area.

16. The system of claim 15 , wherein the continuous read of data within the second memory area is performed in response to the single request and using the updated read length.

17. The system of claim 15 , wherein the memory controller further comprises a counter configured to count down a length of the read length.

18. A non-transitory computer readable medium having instructions stored upon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:

receiving two or more requests for data stored across at least a first memory area and a second memory area of a memory;

performing a wrapped read of data within the first memory area of the memory; and

performing a continuous read of data within the second memory area of the memory, the second memory area being adjacent to the first memory area, wherein the continuous read starts at a first boundary of the second memory area, and is performed automatically after reading a final address of the wrapped read of data within the first memory area; and

controlling a timing of the performing of the wrapped read and a timing of the performing of the continuous read.

19. The non-transitory computer readable medium of claim 18 , wherein:

the instructions cause the at least one computing device to further perform the operation of merging the received two or more requests for data into a single request for data across at least the first memory area and the second memory area, and updating a read length such that the updated read length encompasses at least the first memory area and the second memory area;

performing the wrapped read of data within the first memory area of the memory is based on the single request; and

performing the continuous read of data within the second memory area of the memory is done using the updated read length using a state machine.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2022
From: CYPRESS SEMICONDUCTOR CORPORATION
To: INFINEON TECHNOLOGIES LLC
Reel/Frame 059721/0467 →
RELEASE OF SECURITY INTEREST Recorded Mar 16, 2022
From: MUFG UNION BANK, N.A.
To: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
Reel/Frame 059410/0438 →
SECURITY INTEREST Recorded Jul 31, 2019
From: CYPRESS SEMICONDUCTOR CORPORATION
To: MUFG UNION BANK, N.A.
Reel/Frame 049917/0093 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2017
From: SPANSION LLC
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 044551/0290 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2017
From: HASAN, QAMRUL; OKADA, SHINSUKE; SHOUJI, KIYOMATSU; ISE, YUICHI; DIEFFENBACH, KAI
To: SPANSION LLC
Reel/Frame 044226/0429 →