IP Library Granted Patent US 8,914,612
Granted Patent B2
US 8,914,612 · App. 11/978,529 · Granted Dec 16, 2014

Data processing with time-based memory access

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 8,914,612
App. No.
11/978,529
Granted
Dec 16, 2014
Kind
B2
Abstract

Memory access in data processing is provided using a time-based technique in which memory locations are mapped to respectively corresponding periods of time during which they are made available for access.

Claims (74)

1. A method of providing a data processor with access to a plurality of memory locations in a memory, comprising:

independently of the data processor, accessing the memory locations sequentially and repetitively to produce a continually repeating sequence of memory location accesses; and

making said continually repeating sequence of memory location accesses available to the data processor.

2. The method of claim 1 , including making said continually repeating sequence of memory location accesses simultaneously available to a plurality of data processors.

3. A method of providing a plurality of data processors with shared access to a memory having a plurality of memory locations, comprising:

independently of the data processors, accessing a first group of the memory locations sequentially and repetitively to produce a first continually repeating sequence of memory location accesses;

making said first continually repeating sequence of memory location accesses available to a first one of the data processors;

independently of the data processors, accessing a second group of the memory locations sequentially and repetitively to produce a second continually repeating sequence of memory location accesses; and

making said second continually repeating sequence of memory location accesses available to a second one of the data processors.

4. The method of claim 3 , including making said first continually repeating sequence of memory location accesses simultaneously available to the first data processor and a third one of the data processors.

5. The method of claim 4 , including making said second continually repeating sequence of memory location accesses simultaneously available to the second data processor and a fourth one of the data processors.

6. The method of claim 3 , including performing said accessing steps simultaneously, and performing said making steps simultaneously.

7. The method of claim 3 , wherein said second group is a subset of said first group.

8. The method of claim 7 , including making said first continually repeating sequence of memory location accesses simultaneously available to the first data processor and a third one of the data processors.

9. The method of claim 8 , including making said second continually repeating sequence of memory location accesses simultaneously available to the second data processor and a fourth one of the data processors.

10. The method of claim 7 , including, independently of the data processors, accessing a third group of the memory locations sequentially and repetitively to produce a third continually repeating sequence of memory location accesses, and making said third continually repeating sequence of memory location accesses available to a third one of the data processors, wherein said third group is a subset of said second group.

11. The method of claim 10 , including making said first continually repeating sequence of memory location accesses simultaneously available to the first data processor and a fourth one of the data processors.

12. The method of claim 11 , including making said second continually repeating sequence of memory location accesses simultaneously available to the second data processor and a fifth one of the data processors.

13. The method of claim 7 , including performing said accessing steps simultaneously, and performing said making steps simultaneously.

14. A memory apparatus for use with a data processor, comprising:

a memory having a plurality of memory locations;

a memory controller coupled to said memory and cooperable therewith independently of the data processor for accessing said memory locations sequentially and repetitively to produce a continually repeating sequence of memory location accesses; and

a bus coupled to said memory and adapted for coupling to the data processor to make said continually repeating sequence of memory location accesses available to the data processor.

15. The apparatus of claim 14 , wherein said bus is adapted for coupling to a plurality of data processors to make said continually repeating sequence of memory location accesses simultaneously available to the plurality of data processors.

16. The apparatus of claim 14 , wherein said plurality of memory locations includes groups of physically adjacent memory locations, and wherein said continually repeating sequence of memory location accesses provides access to first and second ones of said groups without providing access to a third one of said groups that is physically interposed between said first and second groups.

17. A memory apparatus for use with a plurality of data processors, comprising:

a memory having a plurality of memory locations;

a memory controller coupled to said memory and cooperable therewith independently of the data processors for

accessing a first group of the memory locations sequentially and repetitively to produce a first continually repeating sequence of memory location accesses, and

accessing a second group of the memory locations sequentially and repetitively to produce a second continually repeating sequence of memory location accesses;

a first bus coupled to said memory and adapted for coupling to a first one of the data processors to make said first continually repeating sequence of memory location accesses available to the first data processor; and

a second bus coupled to said memory and adapted for coupling to a second one of the data processors to make said second continually repeating sequence of memory location accesses available to the second data processor.

18. The apparatus of claim 17 , wherein said first bus is adapted for coupling to a third one of the data processors to make said first continually repeating sequence of memory location accesses simultaneously available to the first data processor and the third data processor.

19. The apparatus of claim 18 , wherein said second bus is adapted for coupling to a fourth one of the data processors to make said second continually repeating sequence of memory location accesses simultaneously available to the second data processor and the fourth data processor.

20. The apparatus of claim 17 , wherein said memory controller produces said first and second continually repeating sequences of memory location accesses simultaneously, and wherein said first and second buses make said first and second continually repeating sequences of memory location accesses available respectively to the first and second data processors simultaneously.

21. The apparatus of claim 17 , wherein said second group is a subset of said first group.

22. The apparatus of claim 21 , wherein said first bus is adapted for coupling to a third one of the data processors to make said first continually repeating sequence of memory location accesses simultaneously available to the first data processor and the third data processor.

23. The apparatus of claim 22 , wherein said second bus is adapted for coupling to a fourth one of the data processors to make said second continually repeating sequence of memory location accesses simultaneously available to the second data processor and the fourth data processor.

24. The apparatus of claim 21 , wherein said memory controller is cooperable with said memory independently of the data processors for accessing a third group of the memory locations sequentially and repetitively to produce a third continually repeating sequence of memory location accesses, and including a third bus coupled to said memory and adapted for coupling to a third one of the data processors to make said third continually repeating sequence of memory location accesses available to the third data processor, wherein said third group is a subset of said second group.

25. The apparatus of claim 24 , wherein said first bus is adapted for coupling to a fourth one of the data processors to make said first continually repeating sequence of memory location accesses simultaneously available to the first data processor and the fourth data processor.

26. The apparatus of claim 25 , wherein said second bus is adapted for coupling to a fifth one of the data processors to make said second continually repeating sequence of memory location accesses simultaneously available to the second data processor and the fifth data processor.

27. The apparatus of claim 21 , wherein said memory controller produces said first and second continually repeating sequences of memory location accesses simultaneously, and wherein said first and second buses make said first and second continually repeating sequences of memory location accesses available respectively to the first and second data processors simultaneously.

28. A data processing apparatus, comprising:

a data processor;

a memory having a plurality of memory locations;

a memory controller coupled to said memory and cooperable therewith independently of said data processor for accessing said memory locations sequentially and repetitively to produce a continually repeating sequence of memory location accesses; and

said memory coupled to said data processor to make said continually repeating sequence of memory location accesses available to said data processor.

29. A data processing apparatus, comprising:

first and second data processors;

a memory having a plurality of memory locations;

a memory controller coupled to said memory and cooperable therewith independently of said first and second data processors for accessing a first group of the memory locations sequentially and repetitively to produce a first continually repeating sequence of memory location accesses, and accessing a second group of the memory locations sequentially and repetitively to produce a second continually repeating sequence of memory location accesses;

said memory coupled to said first and second data processors to make said first and second continually repeating sequences of memory location accesses respectively available to said first and second data processors.

30. A data processing apparatus, comprising:

a data processor;

a memory having a plurality of memory locations;

a memory controller coupled to said memory and cooperable therewith independently of said data processor for accessing said memory locations sequentially and repetitively to produce a continually repeating sequence of memory location accesses;

said memory coupled to said data processor to make said continually repeating sequence of memory location accesses available to said data processor; and

a user interface coupled to said data processor to permit user access to said data processor.

31. A data processing apparatus, comprising:

first and second data processors;

a memory having a plurality of memory locations;

a memory controller coupled to said memory and cooperable therewith independently of said first and second data processors for accessing a first group of the memory locations sequentially and repetitively to produce a first continually repeating sequence of memory location accesses, and accessing a second group of the memory locations sequentially and repetitively to produce a second continually repeating sequence of memory location accesses;

said memory coupled to said first and second data processors to make said first and second continually repeating sequences of memory location accesses respectively available to said first and second data processors; and

a user interface coupled to said first data processor to permit user access to said first data processor.

32. A data processing apparatus, comprising:

a data processing portion; and

a memory interface portion coupled to said data processing portion, said memory interface portion configured to interface with a memory apparatus that contains a plurality of memory locations and is operable, independently of said data processing portion and said memory interface portion, to present to said memory interface portion a continually repeating sequence of memory location accesses, and said memory interface portion further configured to make said continually repeating sequence of memory location accesses available to said data processing portion.

33. The apparatus of claim 32 , wherein said memory interface portion includes a timing controller configured for temporally tracking said continually repeating sequence of memory location accesses.

34. The apparatus of claim 33 , wherein said memory interface portion includes a cache memory coupled to said timing controller and said data processing portion.

35. A method of transferring first and second vectors from a memory apparatus to a data processing apparatus, wherein said first vector includes a first plurality of vector components respectively stored in a first plurality of memory locations in the memory apparatus, and wherein said second vector includes a second plurality of vector components respectively stored in a second plurality of memory locations in the memory apparatus, comprising:

independently of the data processing apparatus, accessing the first plurality of memory locations sequentially to provide the first plurality of vector components in a first sequence;

sequentially loading the first vector components of the first sequence into respective data processing elements of the data processing apparatus;

independently of the data processing apparatus, accessing the second plurality of memory locations sequentially to provide the second plurality of vector components in a second sequence; and

sequentially loading the second vector components of the second sequence respectively into said data processing elements of the data processing apparatus.

Assignments (11)
CHANGE OF NAME Recorded Jun 16, 2021
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: MOSAID TECHNOLOGIES INCORPORATED
Reel/Frame 056603/0591 →
RELEASE OF SECURITY INTEREST Recorded Nov 6, 2020
From: CPPIB CREDIT INVESTMENTS INC.
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 054444/0018 →
RELEASE OF U.S. PATENT AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Oct 12, 2018
From: ROYAL BANK OF CANADA, AS LENDER
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 047645/0424 →
AMENDED AND RESTATED U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Aug 22, 2018
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CPPIB CREDIT INVESTMENTS, INC.
Reel/Frame 046900/0136 →
U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Sep 9, 2014
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CPPIB CREDIT INVESTMENTS INC., AS LENDER; ROYAL BANK OF CANADA, AS LENDER
Reel/Frame 033706/0367 →
CHANGE OF ADDRESS Recorded Sep 3, 2014
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 033678/0096 →
RELEASE OF SECURITY INTEREST Recorded Aug 7, 2014
From: ROYAL BANK OF CANADA
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.; CONVERSANT IP N.B. 868 INC.; CONVERSANT IP N.B. 276 INC.
Reel/Frame 033484/0344 →
CHANGE OF NAME Recorded Mar 13, 2014
From: MOSAID TECHNOLOGIES INCORPORATED
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 032439/0638 →
U.S. INTELLECTUAL PROPERTY SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) - SHORT FORM Recorded Jan 10, 2012
From: 658276 N.B. LTD.; 658868 N.B. INC.; MOSAID TECHNOLOGIES INCORPORATED
To: ROYAL BANK OF CANADA
Reel/Frame 027512/0196 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2008
From: MEKHIEL, NAGI, MR.
To: MOSAID TECHNOLOGIES INCORPORATED
Reel/Frame 021468/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2008
From: MEKHIEL, NAGI N.
To: MOSAID TECHNOLOGIES INCORPORATED
Reel/Frame 020495/0119 →