IP Library Granted Patent US 10,331,570
Granted Patent B2
US 10,331,570 · App. 15/289,742 · Granted Jun 25, 2019

Real time memory address translation device

Inventor: Flaviu Dorin Turean (Palo Alto, CA)
Assignee: Avago Technologies International Sales Pte. Limited
G06F12/1009G11C7/1003G11C7/1072G06F2212/655
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,570
App. No.
15/289,742
Granted
Jun 25, 2019
Kind
B2
Abstract

A real time memory address translation device is described herein. The address translation device operates to change memory addresses from one address space that is used by system buses to another address space that is used by a main memory of the associated system. The translation device may be placed on the same chip as a corresponding processor core, for example, on a system on chip. The on-chip arrangement of the translation device enables predictable translation times to meet real-time requirement of time-sensitive subsystems.

Claims (40)

1. A system, comprising:

a dynamic random access memory (DRAM) translation unit (DTU) configured to map a bus address in a bus address super page to a device address in a device address super page, the DTU comprising:

a device state array comprising N d entries, each of which is a device address super page, and N d is an equivalent number of super pages covering a device address range that corresponds to an installed DRAM capacity; and

a bus map comprising N b entries, each of which is a bus address super page, and N b is an equivalent number of super pages covering a bus address range, N b being equal to or larger than N d ,

wherein the DTU is configured to map the bus address super page to the device address super page within a predetermined period of time to meet real-time requirements of DRAM requests having an upper-bound response time.

2. The system of claim 1 , further comprising an integrated circuit chip that includes the device state array and the bus map.

3. The system of claim 1 , wherein the DTU further comprises a scrub background agent configured to monitor the N d entries to determine if one or more device address super pages need scrubbing.

4. The system of claim 3 , wherein the DTU further comprises a scrubber configured to scrub the one or more device address super pages determined to need scrubbing and to change a state of the scrubbed one or more device address super pages to active.

5. The system of claim 4 , wherein the scrubber is configured to scrub the one or more device address super pages determined to need scrubbing by issuing a device write command with a zero value.

6. The system of claim 1 , wherein the DTU further comprises an allocator configured to identify unmapped device address super pages that are available for mapping.

7. The system of claim 6 , wherein the allocator is implemented in software and is further configured to map one or more bus address super pages to one or more device address super pages, and to unmap one or more bus address super pages from one or more device address super pages.

8. The system of claim 6 , wherein the allocator is implemented in hardware.

9. The system of claim 6 , wherein the allocator is further configured to enforce mappings between bus address super pages and device address super pages, and the allocator is implemented in hardware.

10. The system of claim 1 , further comprising at least one memory controller.

11. The system of claim 1 , wherein the device state array and the bus map are updated contemporaneously.

12. A method, comprising:

(a) receiving a request from a requestor at a dynamic random access memory (DRAM) translation unit (DTU) regarding addressing needs of the requestor, the addressing needs comprising a first bus address to be mapped and a first bus address super page that contains the first bus address;

(b) polling for a free count that indicates a number of device address super pages having an inactive state that is available for mapping;

(c) in response to determining that the free count is greater than zero, mapping the first bus address super page to a first device address super page by writing a value to the first bus address super page and reading the first bus address to verify that a valid flag has been set; and

(d) if no valid flag is set, repeating steps (b) and (c).

13. The method of claim 12 , further comprising:

(e) identifying a second bus address to unmap and a second bus address super page that contains the second bus address;

(f) writing a value to the second bus address super page and reading the second bus address to verify that a valid flag is not set; and

(g) outputting an error message if the valid flag is set.

14. The method of claim 12 , wherein the mapping of the first bus address super page to the first device address super page is performed within a fixed period of time to meet real-time requirements of DRAM requests having an upper-bound response time.

15. The method of claim 12 , wherein the mapping of the first bus address super page to the first device address super page is performed using an on-chip device state array and a bus map.

16. The method of claim 15 , further comprising:

monitoring entries in the device state array to determine if one or more device address super pages need scrubbing; and

generating work items based upon the one or more device address super pages determined to need scrubbing.

17. The method of claim 16 , further comprising:

receiving the generated work items; and

scrubbing the one or more device address super pages by issuing a device write command with a zero value.

18. A dynamic random access memory (DRAM) translation unit (DTU) for mapping a bus address to a device address, comprising:

a device state array comprising a plurality of device page entries, each of which corresponds to a device page, the plurality of device page entries covering a device address range that corresponds to an installed DRAM capacity;

a bus map comprising a plurality of bus page entries, each of which corresponds to a bus page;

an allocator configured to manage availability of the device pages, wherein the allocator is further configured to map a first bus address super page to first device address super page by writing a value to the first bus address super page and, reading a first bus address in the first bus address super page to verify that a valid flag has been set;

a scrub background agent configured to monitor the plurality of device page entries to determine if one or more device pages need scrubbing; and

a scrubber configured to scrub the one or more device pages determined to need scrubbing by issuing a device write command with a zero value.

19. The DTU of claim 18 , wherein the number of bus page entries is equal to or greater than the number of device page entries.

20. The DTU of claim 18 , wherein the device write command is configured to fill the one or more device pages determined to need scrubbing with zeros.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER AND APPLICATION NOS. 13/237,550 AND 16/103,107 FROM THE MERGER PREVIOUSLY RECORDED ON REEL 047231 FRAME 0369. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048549/0113 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047231/0369 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2016
From: TUREAN, FLAVIU DORIN
To: BROADCOM CORPORATION
Reel/Frame 040225/0086 →
Continuity (2)
Provisional Application 62369139 · Jul 31, 2016
Related Publication 20180032442A1 · Feb 1, 2018