IP Library Granted Patent US 7,653,785
Granted Patent B2
US 7,653,785 · App. 11/158,596 · Granted Jan 26, 2010

Reconfigurable cache controller utilizing multiple ASIC SRAMS

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 7,653,785
App. No.
11/158,596
Granted
Jan 26, 2010
Kind
B2
Abstract

An application specific integrated circuit (ASIC) is configured to perform image processing tasks on a printer or other multi-function device. The ASIC includes a processor, a dedicated cache memory, a cache controller and additional Static Random Access Memory (SRAM) normally employed in image processing tasks. This additional SRAM may be dynamically allocated as a cache memory when not otherwise occupied.

Claims (59)

1. An application specific integrated circuit (ASIC) comprising:

a processor;

a first module configured to perform a first task when the first module is active;

a first task-specific memory that is used only by said first module when performing said first task;

a dedicated cache memory that is physically distinct from and non-contiguous to the first task-specific memory; and

a cache controller connected to said first task-specific memory and configured to employ the first task-specific memory as the processor's cache memory, when said first module is not active, and to employ the dedicated cache memory as the processor's cache memory when said first module is active;

wherein the dedicated cache memory is disabled from any use while the first task-specific memory is employed as the processors' cache memory.

2. The application specific integrated circuit according to claim 1 , wherein the cache controller is reconfigurable by firmware.

3. The application specific integrated circuit according to claim 1 , wherein the cache controller is reconfigurable by one or more ASIC input pins.

4. The application specific integrated circuit according to claim 1 , wherein the cache controller is automatically reconfigurable by one or more status signals from the first module.

5. The application specific integrated circuit according to claim 1 , wherein the first task-specific memory is physically isolated from said dedicated cache memory.

6. The application specific integrated circuit according to claim 1 , wherein the first task-specific memory is larger in size than said dedicated cache memory.

7. The application specific integrated circuit according to claim 1 , further comprising:

a second module configured to perform a second task when the second module is active; and

a second task-specific memory that is physically distinct from and non-contiguous to the first task-specific memory and used only by said second module when performing said second task; wherein:

the cache controller is connected to said second task-specific memory and is further configured to employ the second task-specific memory as the processor's cache memory, when said first module is active and the second module is not active, the dedicated cache memory being employed at the processor's cache memory only when the first and second modules are active.

8. The application specific integrated circuit according to claim 7 , wherein the cache controller is configured to simultaneously use the first and second task-specific memories together as a single cache memory.

9. The application specific integrated circuit according to claim 7 , wherein the first and second task-specific memories are both larger in size than said dedicated the cache memory.

10. The application specific integrated circuit according to claim 7 , wherein the first task-specific memory, the second task-specific memory and the dedicated cache memory are all mutually non-contiguous.

11. The application specific integrated circuit according to claim 1 , comprising:

a plurality of cache controllers and an equal plurality of task-specific memories that are capable of serving as cache memories, wherein each of said plurality of task-specific memories is controlled by a corresponding one of said cache controllers.

12. The application specific integrated circuit according to claim 11 , wherein at least two of said plurality of cache controllers differ from one another in one or more of replacement schemes, numbers of sections and section sizes.

13. An application specific integrated circuit (ASIC) comprising:

a processor;

a first dedicated cache memory accessible by the processor and usable only as a cache memory by that processor, the first dedicated cache memory having a first size;

a first module configured to perform a first task when the first module is active;

a first task-specific memory that is used only by said first module when performing said first task and that is physically distinct from and non-contiguous to the first dedicated cache memory, and having a second size larger than the first size; and

a cache controller connected to both the first dedicated cache memory and to the first task-specific memory, wherein:

the first task-specific memory is reconfigurable by the cache controller to be employed as a cache memory when said first module is not active so that the processor has access to a cache memory having a size larger than that of the dedicated cache memory;

wherein the dedicated cache memory is disabled from any use while the first task-specific memory is employed as the processors' cache memory.

14. The application specific integrated circuit according to claim 13 , further comprising:

a second module configured to perform a second task when the second module is active; and

a second task-specific memory physically distinct from the dedicated cache memory and the first-task specific memory and having a third size larger than the first size, wherein the second task-specific memory is reconfigurable as a cache memory when said first module is active and said second module is not active, so that the processor has access to a cache memory having a size larger than that of the dedicated cache memory.

15. The application specific integrated circuit according to claim 14 , wherein the second task-specific memory has a size smaller than that of the first task-specific memory.

16. The application specific integrated circuit according to claim 14 , wherein the first task-specific memory, the second task-specific memory and the dedicated cache memory are all mutually non-contiguous.

17. The application specific integrated circuit according to claim 14 , wherein the cache controller is configured to simultaneously use the first and second task-specific memories together as a single cache memory.

18. The application specific integrated circuit according to claim 13 , wherein the cache controller is reconfigurable by firmware.

19. The application specific integrated circuit according to claim 13 , wherein the cache controller is reconfigurable by one or more ASIC input pins.

20. The application specific integrated circuit according to claim 13 , wherein the cache controller is automatically reconfigurable by one or more status signals from the first module.

21. A method of designating a current cache memory in an application specific integrated circuit (ASIC) that has a dedicated cache memory, a first module configured to perform a first task when the first module is active, a second module configured to perform a second task when the second module is active, a first task-specific memory that is used only by said first module when performing said first task and a second task-specific memory that is physically distinct from and non-contiguous to the first task-specific memory and used only by said second module when performing said second task, both the first and second task-specific memories having a size larger than that of the dedicated cache memory with the first task-specific memory having a size larger than a size of the second task-specific memory, wherein said dedicated cache memory is physically distinct from and non-contiguous to the first task-specific memory, the method comprising:

determining whether the first module is active;

if the first module is not active:

enabling the first task-specific memory to serve as the current cache memory;

if the first module is active:

determining whether the second module is active;

if the second module is not active:

enabling the second task-specific memory to serve as the current cache memory; and

if the second module is active:

enabling the dedicated cache memory to serve as the current cache memory;

wherein the dedicated cache memory is disabled from any use while one of the first and second task-specific memories is enabled to serve as the current cache.

22. The method according to claim 21 , further comprising enabling the first task-specific memory to serve as the current cache when the first module is not active.

23. An application specific integrated circuit (ASIC) comprising:

a processor;

a dedicated cache memory accessible by the processor;

a first module configured to perform a first task when the first module is active;

a first task-specific memory physically distinct from the dedicated cache memory and that is used only by said first module when performing said first task; and

a cache controller connected to said dedicated cache memory and said first task-specific memory, said cache controller being configured to disable the dedicated cache memory and employ the first task-specific memory as the processor's cache memory, when said first module is not active, the disabled dedicated cache memory being disabled from any use while disabled.

24. The method of claim 21 , further comprising:

disabling an enabled task-specific memory from serving as the current cache memory responsive to receipt of a new task which requires the enabled task-specific memory.

Assignments (7)
SECURITY INTEREST Recorded Jan 5, 2026
From: LEXMARK INTERNATIONAL, INC.
To: BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 074202/0293 →
SECURITY INTEREST Recorded Jan 5, 2026
From: LEXMARK INTERNATIONAL, INC.
To: BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 074202/0192 →
SECURITY INTEREST Recorded Sep 23, 2025
From: LEXMARK INTERNATIONAL, INC.
To: CITIBANK, N.A.
Reel/Frame 073007/0118 →
SECURITY INTEREST Recorded Sep 23, 2025
From: LEXMARK INTERNATIONAL, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 073007/0346 →
RELEASE OF SECURITY INTEREST Recorded Jan 18, 2024
From: CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT
To: LEXMARK INTERNATIONAL, INC.
Reel/Frame 066345/0026 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT U.S. PATENT NUMBER PREVIOUSLY RECORDED AT REEL: 046989 FRAME: 0396. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT. Recorded Oct 24, 2018
From: LEXMARK INTERNATIONAL, INC.
To: CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT
Reel/Frame 047760/0795 →
PATENT SECURITY AGREEMENT Recorded Aug 30, 2018
From: LEXMARK INTERNATIONAL, INC.
To: CHINA CITIC BANK CORPORATION LIMITED, GUANGZHOU BRANCH, AS COLLATERAL AGENT
Reel/Frame 046989/0396 →