IP Library Granted Patent US 9,990,305
Granted Patent B2
US 9,990,305 · App. 14/490,902 · Granted Jun 5, 2018

Memory management component having multiple memory management modules and method therefor

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,990,305
App. No.
14/490,902
Granted
Jun 5, 2018
Kind
B2
Abstract

A memory management component arranged to receive memory access transactions and provide memory management functionality therefor, and a method of providing memory management functionality within a processing system are disclosed. The memory management component comprises a first memory management module arranged to provide memory management functionality for received memory access transactions in accordance with a paging memory management scheme, and at least one further memory management module arranged to provide memory management functionality for received memory access transactions in accordance with an address range memory management scheme.

Claims (41)

1. A memory management component arranged to receive memory access transactions and provide memory management functionality therefor, the memory management component comprising:

a first memory management module arranged to provide memory management functionality for received memory access transactions in accordance with a paging memory management scheme, wherein data is retrieved in same-size blocks; and

at least one further memory management module arranged to provide memory management functionality for received memory access transactions in accordance with an address range memory management scheme, wherein the address range is for substantially any size memory area, the first memory management module and the at least one further memory management module being coupled together in series to provide memory access transactions between a single master device and a memory, wherein a memory access transaction having a stream identifier and the at least one further memory management module having a bypass mode, a memory access transaction bypassing the at least one further memory management module and being forwarded to the first memory management module in response to the stream identifier mismatching a predefined stream identifier.

2. The memory management component of claim 1 , wherein the at least one further memory management module is arranged to:

compare at least one sideband signal corresponding to received memory access transactions to at least one predefined parameter to identify memory access transactions for which memory management functionality provided thereby is to be provided based at least partly on the comparison of the at least one sideband signal corresponding to the received memory access transactions to the at least one predefined parameter; and

provide memory management functionality in relation to identified memory access transactions.

3. The memory management component of claim 2 , wherein the at least one sideband signal which the at least one further memory management module is arranged to compare to at least one predefined parameter comprises a context identifier signal corresponding to the received memory access transactions.

4. The memory management component of claim 2 , wherein the at least one further memory management module comprises at least a first memory element within which the at least one predefined parameter is stored.

5. The memory management component of claim 2 , wherein the at least one further memory management module is arranged to:

provide memory management functionality in relation to memory access transactions for which the at least one sideband signal matches the predefined parameter; and

cause the memory management functionality provided thereby to be bypassed for memory access transactions for which the at least one sideband signal does not match the predefined parameter.

6. The memory management component of claim 1 , wherein the memory management functionality provided by the at least one further memory management module to a received memory access transaction comprises determining whether a target address of the received memory access transaction corresponds to at least one predefined address range.

7. The memory management component of claim 6 , wherein the at least one further memory management module comprises at least one memory element arranged to store there in parameters defining the at least one predefined address range.

8. The memory management component of claim 6 , wherein the memory management functionality provided by the at least one further memory management module to a memory access transaction comprises generating an error interrupt if the target address of the received memory access transaction is not within the predefined address range.

9. The memory management component of claim 1 , where the first memory management module is arranged to:

compare at least one sideband signal corresponding to received memory access transactions to at least one predefined parameter to identify memory access transactions for which memory management functionality provided thereby is to be bypassed based at least partly on the comparison of the at least one sideband signal corresponding to the received memory access transactions to the at least one predefined parameter; and

cause memory management functionality provided thereby to be bypassed for identified memory access transactions.

10. The memory management component of claim 9 , wherein the at least one sideband signal which the first memory management module is arranged to compare to at least one predefined parameter comprises a context identifier signal corresponding to the received memory access transactions.

11. The memory management component of claim 9 , wherein the first memory management module comprises at least a first memory element within which the at least one predefined parameter is stored.

12. The memory management component of claim 9 , wherein the first memory management module is arranged to:

provide memory management functionality in relation to memory access transactions for which the at least one sideband signal does not match the predefined parameter; and

cause the memory management functionality provided thereby to be bypassed for memory access transactions for which the at least one sideband signal does matches the predefined parameter.

13. The memory management component of claim 12 , wherein the first memory management module is arranged to use a page table within at least one secondary memory element for storing mapping information between at least one of:

virtual addresses and physical addresses;

virtual addresses and intermediate addresses; and

intermediate addresses and physical address.

14. The memory management component of claim 13 , wherein the first memory management module comprises at least one translation lookaside buffer arranged to store therein a subset of page table entries.

15. The memory management component of claim 1 , wherein the first and at least one further memory management modules are configured such that:

the first memory management module is arranged to provide memory management functionality for memory access transactions comprising sideband signals that do not match a predefined context parameter; and

the at least one further memory management module is arranged to provide memory management functionality for memory access transactions comprising sideband signals that match a predefined context parameter.

16. The memory management component of claim 15 , wherein the at least one further memory management module is configured to provide memory management functionality for memory access transaction comprising sideband signals indicating a memory access transaction from a master device to a private area of memory of the master device.

17. The memory management component of claim 1 implemented within an integrated circuit device comprising at least one die within a single integrated circuit package.

18. A microprocessor comprising, at least one processing core and at least one memory management component according to claim 1 .

19. A processing system, comprising a microprocessor as claimed in claim 18 and at least one memory element connected to the memory management component.

20. A method of providing memory management functionality within a processing system, the method comprising:

configuring a first memory management module arranged to provide memory management functionality for received memory access transactions in accordance with a paging memory management scheme to provide memory management functionality for memory access transactions comprising sideband signals that do not match a predefined context, wherein data is retrieved in same-size blocks;

configuring at least one further memory management module arranged to provide memory management functionality for received memory access transactions in accordance with an address range memory management scheme to provide memory management functionality for memory access transactions comprising sideband signals that match the predefined context, the at least one further memory management module coupled in series to the first memory management module to provide memory access transactions between a single master device and a memory, wherein the address range is for substantially any size memory area;

receiving a memory access transaction at the at least on further memory management module;

comparing a stream identifier for the received memory access transaction to a defined stream identifier;

bypassing the at least one further memory management module in response to a mismatch between the stream identifier and the defined stream identifier; and

forwarding the received memory access transaction to the first memory management module.

Assignments (15)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040626 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Jan 12, 2017
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 041414/0883 →
CHANGE OF NAME Recorded Nov 16, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040626/0683 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037458/0460 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037458/0502 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0921 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Nov 4, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 034160/0351 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Nov 4, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 034160/0370 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Nov 4, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 034153/0027 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2014
From: BARUCH, NIR; ATZMON, NIR; TODD, DAVID W.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 033775/0211 →