US9137541B2ExpiredUtilityA1

Video data cache

48
Assignee: MACINNIS ALEXANDERPriority: May 23, 2003Filed: May 21, 2004Granted: Sep 15, 2015
Est. expiryMay 23, 2023(expired)· nominal 20-yr term from priority
H04N 19/433
48
PatentIndex Score
0
Cited by
6
References
20
Claims

Abstract

System(s) and method(s) for a video data cache are presented herein. During decoding, the video decoder fetches portions of a reference frame. The video data cache is first checked for the portions of the reference frame. If the portion of the reference frame is found in the video data cache, the portion is fetched from the video data cache. The foregoing avoids a DRAM fetch and cycles associated with the DRAM fetch.

Claims

exact text as granted — not AI-modified
The invention claimed is:  
     
       1. A method of providing data to a video decoder, said method comprising:
 determining, by a memory access unit, whether a target address is within a plurality of memory address ranges, the target address comprising an address word and representing an address of a first memory at which a data word requested by a video decoder is stored; 
 identifying a particular one of a plurality of indicators stored in a second memory using a plurality of bits from the address word of the target address, based on a determination that the target address is within a first memory address range of the plurality of memory address ranges, the particular one of a plurality of indicators indicating whether the requested data word is stored at a cache address in a cache memory of the video cache; and 
 retrieving the particular one of a plurality of indicators from the second memory based on the determination that the target address is within the first memory address range of the plurality of memory address ranges, wherein the memory access unit is configured to: 
 provide the data word at the cache address to the video decoder when the particular one of the plurality of indicators indicates that the requested data word is stored in the cache memory; and 
 provide the requested data word from the first memory, when the target address is not within the plurality of memory ranges or when the particular one of the indicators indicates that the requested data word is not stored in the cache memory of the video cache. 
 
     
     
       2. The method of  claim 1 , further comprising:
 discarding the data word at the cache address when the particular one of the plurality of indicators does not indicate that the data word is in the video cache; and 
 providing the data word at the target address from the first memory when the particular one of the plurality of indicators does not indicate that data word is in the video cache. 
 
     
     
       3. The method of  claim 1 , further comprising:
 writing the data word from the target address of the first memory to the cache address, when the particular one of the plurality of indicators does not indicate that the data word at the target address is in the cache; and 
 setting the particular one of the plurality of indicators in the second memory to indicate that the data word is in the video cache. 
 
     
     
       4. The method of  claim 1 , wherein when the target address is not within any of the plurality of memory address ranges, adding an address range comprising the target address to the plurality of memory address ranges. 
     
     
       5. The method of  claim 4 , further comprising:
 removing another one of the plurality of memory address ranges. 
 
     
     
       6. The method of  claim 5 , wherein the another one of the plurality of memory address ranges is the least recently used one of the plurality of memory address ranges. 
     
     
       7. The method of  claim 1 , further comprising:
 comparing another target address to the plurality of memory address ranges while examining the particular one of the indicators. 
 
     
     
       8. The method of  claim 1 , wherein the data word comprises 16 bytes. 
     
     
       9. A circuit for providing data to a video decoder, said circuit comprising:
 logic configured to determine whether a target address is within a plurality of memory address ranges, the target address comprising an address word and representing an address of a first memory at which a data word requested by a video decoder is stored; 
 a cache memory of a video cache comprising a plurality of sections corresponding to the plurality of memory ranges, each section comprising data words allocated to memory addresses in the address range corresponding to the section; and 
 a second memory, 
 wherein the logic is further configured to:
 identify a particular one of a plurality of indicators stored in the second memory using a plurality of bits from the address word of the target address, based on a determination that the target address is within a first memory address range of the plurality of memory s indicating whether the requested data word is stored at a cache address in a cache memory of the video cache; 
 retrieve the particular one of a plurality of indicators from the second memory based on the determination that the target address is within the first memory address range of the plurality of memory address ranges, 
 provide the data word at the cache address to the video decoder when the retrieved bit indicates that the requested data word is stored in the cache memory, and 
 provide the requested data word from the first memory, when the target address is not within the plurality of memory ranges or when the particular one of the indicators indicates that the requested data word is not stored in the cache memory of the video cache. 
 
 
     
     
       10. The circuit of  claim 9 , wherein the logic is configured to indicate whether the target address falls within any of the memory address ranges, and to provide an identification of the first memory address range within which the target address falls. 
     
     
       11. The circuit of  claim 10 , wherein the second memory is configured to provide the particular one of a plurality of indicators from a particular one of a plurality of words associated with the first memory address range. 
     
     
       12. The circuit of  claim 11 , wherein the cache memory is configured to provide a particular data word from a particular one of the plurality of sections associated with the first memory address range, the particular data word assigned to the target address. 
     
     
       13. The circuit of  claim 9 , wherein the logic comprises a memory access unit. 
     
     
       14. The circuit of  claim 9 , wherein the logic is configured to write the data word from the target address of the first memory to the cache memory at the cache address when the memory access unit provides the data word from the first memory to the video decoder; and to set the particular one of a plurality of indicators to indicate that the data word is stored at the cache address. 
     
     
       15. The circuit of  claim 9 , wherein the logic is configured to determine that one of the plurality of memory address ranges is to be replaced with another address range, wherein the another address range includes the target address. 
     
     
       16. The circuit of  claim 10 , wherein the one of the plurality of memory address ranges to be replaced is the least recently used one of the memory address ranges. 
     
     
       17. The circuit of  claim 9 , wherein the data word comprises 16 bytes. 
     
     
       18. The circuit of  claim 9 , wherein the logic is configured to:
 compare another target address to the plurality of memory address ranges while examining the particular one of the indicators. 
 
     
     
       19. The circuit of  claim 9 , wherein the logic is configured to:
 discard the data word at the cache address when the particular one of the plurality of indicators does not indicate that the data word is in the video cache; and 
 provide the data word at the target address from the first memory when the particular one of the plurality of indicators does not indicate that data word is in the video cache. 
 
     
     
       20. The circuit of  claim 9 , wherein the logic is configured to:
 when the target address is not within any of the plurality of memory address ranges, add an address range comprising the target address to the plurality of memory address ranges.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.