Memory system having multiple address allocation formats and method for use thereof
AssigneeMicron Technology, Inc.
InventorWilliam Radke
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicron Technology, Inc.
InventorWilliam Radke
Estimating the term…
A system and method for decoding memory addresses for accessing a memory system having a plurality of blocks of memory for storing data at addressable memory locations. Memory addresses are decoded to access the addressable memory locations of a first block of memory in accordance with a first memory address allocation format and the memory addresses are decoded to access the addressable memory locations of a second block of memory in accordance with a second memory address allocation method different from the first memory address allocation format.
A memory system, comprising:
A memory system, comprising:
A method for decoding memory addresses for accessing a memory system having a plurality of blocks of memory for storing data at addressable memory locations, the method comprising:
A method of accessing addressable memory locations of a plurality of memory arrays, the method comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Accessing, addressing or allocating within memory systems or architectures: addressing or allocation; Relocation
General purpose image data processing: memory management
Computing and data processing
Image data processing or generation, in general
Term ended 25 Aug 2022 (estimated)
The present invention is related generally to the field of computer graphics, and more particularly, to a memory system and method for use in a computer graphics processing system.
Graphics data is typically stored in memory in a one-dimensional (1D), or linear, fashion, although data is often conceptually depicted in two-dimensions (2D). For example, a texture map is conceptually represented as having two-dimensions (u, v), but in actuality, the texture data is stored in memory such that the memory addresses for the texture map data are sequential. In accessing the texture data, the requested memory addresses are incremented to access the texture data in a row-like fashion. When the address for the texture data for the last texel in a row is accessed, the memory address is again incremented to roll over and access the texture data for the first texel in the next row.
Typically, data that is requested for processing is retrieved from memory in blocks and temporarily stored for processing in memory pages. In the case of a texture map, each memory page typically includes the texture data for one row of the texture map. When additional data is requested for processing, the memory page of data is first checked for the requested data before performing a memory access operation. If the requested data is already present in the memory page, then overall processing time is reduced. However, if the requested data is not present in the memory page, a “page miss” occurs, and another block of data including the requested data is retrieved from memory to replace the former memory page of data. Page misses add to the overall processing time, and consequently, it is desirable to avoid frequent page misses.
FIG. 1 is a block diagram of a computer system in which embodiments of the present invention are implemented.
FIG. 2 is a block diagram of a graphics processing system in the computer system of FIG. 1.
FIG. 3 is a block diagram of a portion of a memory system according to an embodiment of the present invention.
Embodiments of the present invention provide a memory system having an address decoder that maps requested addresses into each of a plurality of memory arrays according to an address allocation format indicated by a format flag stored in a format register. Thus, a different address allocation format may be applied to each of the plurality of memory arrays. Certain details are set forth below to provide a sufficient understanding of the invention. However, it will be clear to one skilled in the art that the invention may be practiced without these particular details. In other instances, well-known circuits, control signals, timing protocols, and software operations have not been shown in detail in order to avoid unnecessarily obscuring the invention.
FIG. 1 illustrates a computer system 100 in which embodiments of the present invention are implemented. The computer system 100 includes a processor 104 coupled to a host memory 108 through a memory/bus interface 112. The memory/bus interface 112 is coupled to an expansion bus 116, such as an industry standard architecture (ISA) bus or a peripheral component interconnect (PCI) bus. The computer system 100 also includes one or more input devices 120, such as a keypad or a mouse, coupled to the processor 104 through the expansion bus 116 and the memory/bus interface 112. The input devices 120 allow an operator or an electronic device to input data to the computer system 100. One or more output devices 120 are coupled to the processor 104 to provide output data generated by the processor 104. The output devices 124 are coupled to the processor 104 through the expansion bus 116 and memory/bus interface 112. Examples of output devices 124 include printers and a sound card driving audio speakers. One or more data storage devices 128 are coupled to the processor 104 through the memory/bus interface 112 and the expansion bus 116 to store data in, or retrieve data from, storage media (not shown). Examples of storage devices 128 and storage media include fixed disk drives, floppy disk drives, tape cassettes and compact-disc read-only memory drives.
The computer system 100 further includes a graphics processing system 132 coupled to the processor 104 through the expansion bus 116 and memory/bus interface 112. Optionally, the graphics processing system 132 may be coupled to the processor 104 and the host memory 108 through other types of architectures. For example, the graphics processing system 132 may be coupled through the memory/bus interface 112 and a high speed bus 136, such as an accelerated graphics port (AGP), to provide the graphics processing system 132 with direct memory access (DMA) to the host memory 108. That is, the high speed bus 136 and memory bus interface 112 allow the graphics processing system 132 to read and write host memory 108 without the intervention of the processor 104. Thus, data may be transferred to, and from, the host memory 108 at transfer rates much greater than over the expansion bus 116. A display 140 is coupled to the graphics processing system 132 to display graphics images. The display 140 may be any type of display, such as a cathode ray tube (CRT), a field emission display (FED), a liquid crystal display (LCD), or the like, which are commonly used for desktop computers, portable computers, and workstation or server applications.