Back to results
US 8,265,169 B2Granted
Video block memory read request translation and tagging
AssigneeIntel Corporation
InventorSteven Tu
Life of this patent
Estimating the term…
Abstract
According to some embodiments, a video block memory read request may be received from a processing unit. For example, a codec may request to access a macroblock of pixel information from a memory unit. The video block memory read request may then be translated into a plurality of memory access requests.
Claims12
A method, comprising:
- receiving from a processing unit a video block memory access request;
- translating the video block memory access request into a plurality of memory access requests;
- after the translating the video block memory access request into a plurality of memory access requests, tagging each of the plurality of generated memory access requests to associate the memory access requests with each other;
- wherein the after the translating the video block memory access request into a plurality of memory access requests, tagging each of the plurality of generated memory access requests to associate the memory access requests with each other comprises generating a tag after said translating the video block memory access request into a plurality of memory access requests, the tag communicating an origin and a type of memory traffic associated with the memory access requests;
- providing the tag to one or more levels of arbitration engines;
- and
- arbitrating, by the one or more levels of arbitration engines, the plurality of generated memory access requests along with additional memory access requests in accordance with the tags, wherein at least some of the additional memory access requests do not have a tag;
- wherein the video block is associated with a plurality of pixel rows, each of the plurality of generated memory access requests being associated with a different pixel row, and said arbitrating includes:
- opening a dynamic random access memory page,
- accessing the memory page in accordance with one of the generated plurality of memory access requests, and
- because of at least one of the tags, again accessing the memory page in accordance with another of the generated plurality of memory access requests before closing the memory page;
- and
- wherein the plurality of generated memory access requests comprise a sequence of linear byte accesses.
10 more elements
An apparatus, comprising:
- a processing unit to request information associated with an image macroblock from a memory unit;
- and
- a translator to generate a plurality of memory access requests in response to the request from the processing unit;
- a tagging unit to tag each of the plurality of generated memory access requests to associate the memory access requests with each other after generation of the plurality of memory access requests,
- wherein said tag each of the plurality of generated memory access requests to associate the memory access requests with each other after generation of the plurality of memory access requests comprises generate a tag after said generation of the plurality of memory access requests, the tag communicating an origin and a type of memory traffic associated with the memory access requests;
- at least one arbitration engine to receive the tag and arbitrate the plurality of generated memory access requests along with additional memory access requests in accordance with the tags, wherein at least some of the additional memory access requests do not have a tag;
- wherein said arbitrate includes arrange for:
- opening a dynamic random access memory page,
- accessing the memory page in accordance with one of the generated plurality of memory access requests, and
- because of at least one of the tags, again accessing the memory page in accordance with another of the generated plurality of memory access requests before closing the memory page;
- and
- wherein the plurality of generated memory access requests comprise a sequence of linear byte accesses.
9 more elements
An apparatus comprising:
- a non-transitory computer-readable storage medium having stored thereon instructions that when executed by a machine result in the following:
- receiving from a processing unit a video block memory access request, and
- translating the video block memory access request into a plurality of memory access requests;
- after the translating the video block memory access request into a plurality of memory access requests, tagging each of the plurality of generated memory access requests to associate the memory access requests with each other;
- wherein the after the translating the video block memory access request into a plurality of memory access requests, tagging each of the plurality of generated memory access requests to associate the memory access requests with each other comprises generating a tag after said translating the video block memory access request into a plurality of memory access requests, the tag communicating an origin and a type of memory traffic associated with the memory access requests;
- providing the tag to one or more levels of arbitration engines;
- and
- arbitrating, by the one or more levels of arbitration engines, the plurality of generated memory access requests along with additional memory access requests in accordance with the tags, wherein at least some of the additional memory access requests do not have a tag;
- wherein the video block is associated with a plurality of pixel rows, each of the plurality of generated memory access requests being associated with a different pixel row, and said arbitrating includes:
- opening a dynamic random access memory page,
- accessing the memory page in accordance with one of the generated plurality of memory access requests, and
- because of at least one of the tags, again accessing the memory page in accordance with another of the generated plurality of memory access requests before closing the memory page;
- and
- wherein the memory access requests comprise a sequence of linear byte accesses.
11 more elements
A system, comprising:
- a codec to (i) request information associated with an image macroblock from a memory unit and (ii) generate image information;
- a translator to generate a plurality of memory access requests in response to the request from the processing unit;
- a tagging unit to tag each of the plurality of generated memory access requests to associate the memory access requests with each other after generation of the plurality of memory access requests;
- wherein said tag each of the plurality of generated memory access requests to associate the memory access requests with each other after generation of the plurality of memory access requests comprises generate a tag after said generation of the plurality of memory access requests, the tag communicating an origin and a type of memory traffic associated with the memory access requests;
- at least one arbitration engine to receive the tag and arbitrate the plurality of generated memory access requests along with additional memory access requests in accordance with the tags, wherein at least some of the additional memory access requests do not have a tag;
- wherein said arbitrate includes arrange for:
- opening a dynamic random access memory page,
- accessing the memory page in accordance with one of the generated plurality of memory access requests, and
- because of at least one of the tags, again accessing the memory page in accordance with another of the generated plurality of memory access requests before closing the memory page;
- and
- a digital output to provide a digital signal, associated with the image information, to a digital display device;
- wherein the plurality of generated memory access requests comprise a sequence of linear byte accesses.
9 more elements
Dependencies are inferred from the claim text.