IP Library Granted Patent US 12,461,855
Granted Patent B2
US 12,461,855 · App. 18/068,938 · Granted Nov 4, 2025

System and method for memory bandwidth reduction using a programmable cache line

Inventors: Chrysa Kokkala (Patras, GR); Nikolaos Mitas (Patras, GR); Iakovos Stamoulis (Patras, GR); Georgios Keramidas (Patras, GR)
Assignee: Think Silicon Research and Technology Single Member S.A.
G06F12/0802G06F12/0223G06F2212/1021
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 12,461,855
App. No.
18/068,938
Granted
Nov 4, 2025
Kind
B2
Abstract

A system and method for memory bandwidth reduction utilized a programmable cache line. The method includes generating an instruction to render a modified texture based on a modification of a texture, the texture stored as a plurality of lines in a memory, each line addressable by a unique address; determining an amount of data to read from a first line of a texture based on the modification; configuring a programmable cache line to read into a cache at least the determined amount of data from a unique address corresponding to the first line; and storing at least a portion of the determined amount of data in a first line of a framebuffer.

Claims (57)

1 . A method for memory bandwidth reduction using a programmable cache line, comprising:

generating an instruction to render a modified texture based on a modification of a texture, the texture stored as a plurality of lines in a memory, each line addressable by a unique address;

determining an amount of data to read from a first line of a texture based on the modification;

configuring a programmable cache line to read into a cache at least the determined amount of data from a unique address corresponding to the first line; and

storing at least a portion of the determined amount of data in a first line of a framebuffer.

2 . The method of claim 1 , further comprising:

determining an amount of data to read from a second line of a texture based on the modification;

configuring a programmable cache line to read at least the determined amount of data from a unique address of the second line; and

storing at least a portion of the determined amount of data in the first line of the framebuffer after the amount of data read from the first line of the texture.

3 . The method of claim 1 , further comprising:

configuring the programmable cache line to read a predetermined amount of data by writing a predetermined value to an indicator bit, wherein the predetermined value corresponds to at least the predetermined amount of data.

4 . The method of claim 3 , further comprising:

configuring the programmable cache line to read a determined second amount of data by writing a second predetermined value to the indicator bit, which is different from the predetermined value.

5 . The method of claim 3 , further comprising:

configuring the programmable cache line to read the predetermined amount of data from a memory address.

6 . The method of claim 5 , further comprising:

writing a predetermined value corresponding to the memory address to a second indicator bit, wherein the second indicator bit indicates an address from an address space of the memory.

7 . The method of claim 1 , further comprising:

determining an amount of data to read from a first line of a second texture map which is equal to the determined amount of data to read from the first line of the texture map, wherein the second texture map is a bitmap representing a channel of the texture map.

8 . The method of claim 1 , wherein the programmable cache is configured to read any one of a predetermined amount of data.

9 . The method of claim 1 , wherein the modification is any one of: a rotation, a stretch, a contraction, a reflection, a scaling, and a combination thereof.

10 . The method of claim 1 , wherein the amount of data is a discrete amount of bits.

11 . The method of claim 1 , further comprising:

reading data from the framebuffer; and

configuring a display to display an image based on the data read from the framebuffer.

12 . A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process, the process comprising:

generating an instruction to render a modified texture based on a modification of a texture, the texture stored as a plurality of lines in a memory, each line addressable by a unique address;

determining an amount of data to read from a first line of a texture based on the modification;

configuring a programmable cache line to read into a cache at least the determined amount of data from a unique address corresponding to the first line; and

storing at least a portion of the determined amount of data in a first line of a framebuffer.

13 . A system for memory bandwidth reduction using a programmable cache line, comprising:

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

generate an instruction to render a modified texture based on a modification of a texture, the texture stored as a plurality of lines in a texture memory, each line addressable by a unique address;

determine an amount of data to read from a first line of a texture based on the modification;

configure a programmable cache line to read into a cache at least the determined amount of data from a unique address corresponding to the first line; and

store at least a portion of the determined amount of data in a first line of a framebuffer.

14 . The system of claim 13 , wherein the memory contains further instructions which, when executed by the processing circuitry configure the system to:

determine an amount of data to read from a second line of a texture based on the modification;

configure a programmable cache line to read at least the determined amount of data from a unique address of the second line; and

store at least a portion of the determined amount of data in the first line of the framebuffer after the amount of data read from the first line of the texture.

15 . The system of claim 13 , wherein the memory contains further instructions which, when executed by the processing circuitry configure the system to:

configure the programmable cache line to read a predetermined amount of data by writing a predetermined value to an indicator bit, wherein the predetermined value corresponds to at least the predetermined amount of data.

16 . The system of claim 15 , wherein the memory contains further instructions which, when executed by the processing circuitry configure the system to:

configure the programmable cache line to read a determined second amount of data by writing a second predetermined value to the indicator bit, which is different from the predetermined value.

17 . The system of claim 15 , wherein the memory contains further instructions which, when executed by the processing circuitry configure the system to:

configure the programmable cache line to read the predetermined amount of data from a memory address of the texture memory.

18 . The system of claim 17 , wherein the memory contains further instructions which, when executed by the processing circuitry configure the system to:

write a predetermined value corresponding to the memory address to a second indicator bit, wherein the second indicator bit indicates an address from an address space of the texture memory.

19 . The system of claim 13 , wherein the memory contains further instructions which, when executed by the processing circuitry configure the system to:

determine an amount of data to read from a first line of a second texture map which is equal to the determined amount of data to read from the first line of the texture map, wherein the second texture map is a bitmap representing a channel of the texture map.

20 . The system of claim 13 , wherein the programmable cache is configured to read any one of a predetermined amount of data.

21 . The system of claim 13 , wherein the modification is any one of: a rotation, a stretch, a contraction, a reflection, a scaling, and a combination thereof.

22 . The system of claim 13 , wherein the amount of data is a discrete amount of bits.

23 . The system of claim 13 , wherein the memory contains further instructions which, when executed by the processing circuitry configure the system to:

read data from the framebuffer; and

configure a display to display an image based on the data read from the framebuffer.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2026
From: THINK SILICON SINGLE MEMBER P.C. AND APPLIED MATERIALS, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 075735/0803 →
CHANGE OF NAME Recorded Mar 6, 2026
From: THINK SILICON RESEARCH AND TECHNOLOGY SINGLE MEMBER S.A.
To: THINK SILICON SINGLE MEMBER P.C.
Reel/Frame 075032/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2022
From: KOKKALA, CHRYSA; MITAS, NIKOLAOS; STAMOULIS, IAKOVOS; KERAMIDAS, GEORGIOS
To: THINK SILICON RESEARCH AND TECHNOLOGY SINGLE MEMBER S.A.
Reel/Frame 062162/0137 →
Continuity (1)
Related Publication 20250291721A1 · Sep 18, 2025
References Cited (9)
US 5799203A · Lee · 1998 [cited by examiner]
US 8626815B1 · Langhammer · 2014 [cited by applicant]
US 20030046510A1 · North · 2003 [cited by applicant]
US 20030093702A1 · Luo · 2003 [cited by examiner]
US 20060017722A1 · Hong · 2006 [cited by examiner]
US 20230252693A1 · Connor · 2023 [cited by examiner]
EP 4390854A1 · 2024 [cited by examiner]
WO WO9923610A1 · 1999 [cited by examiner]
WO WO2005020582A1 · 2005 [cited by examiner]