IP Library Granted Patent US 9,135,157
Granted Patent B2
US 9,135,157 · App. 13/988,366 · Granted Sep 15, 2015

Integrated circuit device, signal processing system and method for prefetching lines of data 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,135,157
App. No.
13/988,366
Granted
Sep 15, 2015
Kind
B2
Abstract

An integrated circuit device comprising at least one prefetching module for prefetching lines of data from at least one memory element. The prefetching module is configured to determine a position of a requested block of data within a respective line of data of the at least one memory element, determine a number of subsequent lines of data to prefetch, based at least partly on the determined position of the requested block of data within the respective line of data of the at least one memory element, and cause the prefetching of n successive lines of data from the at least one memory element.

Claims (44)

1. An integrated circuit device comprising:

at least one memory element storing a plurality of lines of data; and

at least one prefetching module for prefetching lines of data from the at least one memory element, wherein the prefetching module is configured to:

determine a position of a requested block of data within a respective line of data within the at least one memory element by dividing the line into s sections and determining which section includes the requested block;

determine a number of subsequent lines of data to prefetch, based at least partly on the determined section; and

cause the prefetching of the number of subsequent lines of data from the at least one memory element based thereon.

2. The integrated circuit device of claim 1 wherein the number of subsequent lines of data to prefetch, n, is determined according to n=x+i, where x is a default number of lines to prefetch, and i is an offset value dependent on the determined section of the line of data within which the requested block of data is located.

3. The integrated circuit device of claim 2 , wherein at least one of s, x, and i is a configurable parameter.

4. The integrated circuit device of claim 2 wherein the prefetching module is operably coupled to at least one register configured to store at least one of the parameters n, s, x, and i.

5. The integrated circuit device of claim 2 wherein the prefetching module is further configured to:

determine, if s=2, whether a requested block of data is located within a first half or a second half of the respective line of data within the at least one memory element; and

if it is determined that the requested block of data is located within the first half of the respective line of data, configure the number of subsequent lines of data to prefetch to be n=x; or

if it is determined that the requested block of data is located within the second half of the respective line of data, configure the number of subsequent lines of data to prefetch to be n=x+i.

6. The integrated circuit device of claim 1 further comprising:

a system bus, wherein the prefetching module is further configured to receive a request for the requested block of data via the system bus.

7. The integrated circuit device of claim 6 wherein the prefetching module is further configured to return the requested block of data via the system bus.

8. The integrated circuit of claim 7 wherein the prefetching module is further configured to:

determine a position of the returned block of data within a respective line of data of the at least one memory element;

determine a number of subsequent lines of data to prefetch based at least partly on the determined position of the returned block of data within the respective line of data of the at least one memory element; and

cause the prefetching of the number of successive lines of data to prefetch from the at least one memory element.

9. The integrated circuit device of claim 1 wherein the prefetching module is further configured to determine whether the requested block of data has been prefetched, and if it is determined that the requested block of data has not been prefetched, to cause the requested data to be fetched from the at least one memory element.

10. The integrated circuit device of claim 1 wherein the at least one memory element comprises an on-chip memory element.

11. The integrated circuit device of claim 1 wherein the at least one memory element comprises a Flash memory element.

12. A signal processing system comprising:

at least one memory element storing a plurality of lines of data; and

at least one prefetching module for prefetching lines of data from the at least one memory element, wherein the prefetching module is configured to:

determine a position of a requested block of data within a respective line of data of the at least one memory element by dividing the line into s sections and determining which section includes the requested block;

determine a number of subsequent lines of data to prefetch, based at least partly on the determined section; and

cause the prefetching of the number of subsequent lines of data n from the at least one memory element based thereon.

13. A method for prefetching lines of data from at least one memory element; the method comprising:

determining a position of a requested block of data within a respective line of data of the at least one memory element by dividing the line into s sections and determining which section includes the requested block;

determining a number of subsequent lines of data to prefetch, based at least partly on the determined section; and

causing the prefetching of the number of subsequent lines of data n from the at least one memory element based thereon.

14. The method of claim 13 further comprising:

receiving a request for the requested block of data via a system bus.

15. The method of claim 13 further comprising:

determining whether the requested block of data has been prefetched;

causing the requested block of data to be fetched from the at least one memory element, if the requested block of data has not been prefetched.

16. The method of claim 13 further comprising:

determining the number of subsequent lines of data to prefetch using a sum of a default number of lines to prefetch (x) and an offset value (i) dependent on the determined section of the line of data within which the requested block of data is located.

17. The method of claim 16 further comprising:

determining, if s=2, whether a requested block of data is located within a first half or a second half of the respective line of data;

configuring the number of subsequent lines of data to prefetch to be x, when the requested block of data is located within the first half of the respective line of data; and

configuring the number of subsequent lines of data to prefetch to be x+i, when the requested block of data is located within the second half of the respective line of data.

Assignments (23)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
MERGER Recorded Jan 3, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041144/0363 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0804 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0844 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0819 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Sep 20, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 031248/0750 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Sep 20, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031248/0627 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Sep 20, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031248/0510 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Sep 20, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031248/0698 →