WO2010001433A1 - メモリ装置及びそれを制御するメモリコントローラ - Google Patents
メモリ装置及びそれを制御するメモリコントローラ Download PDFInfo
- Publication number
- WO2010001433A1 WO2010001433A1 PCT/JP2008/001702 JP2008001702W WO2010001433A1 WO 2010001433 A1 WO2010001433 A1 WO 2010001433A1 JP 2008001702 W JP2008001702 W JP 2008001702W WO 2010001433 A1 WO2010001433 A1 WO 2010001433A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- address
- generation unit
- memory
- memory device
- control signal
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 190
- 230000004044 response Effects 0.000 claims description 34
- 239000011159 matrix material Substances 0.000 claims description 13
- 238000003079 width control Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 40
- 239000013598 vector Substances 0.000 description 28
- 238000000034 method Methods 0.000 description 22
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 8
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 238000010845 search algorithm Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 5
- 102100032566 Carbonic anhydrase-related protein 10 Human genes 0.000 description 3
- 101000867836 Homo sapiens Carbonic anhydrase-related protein 10 Proteins 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- QNRATNLHPGXHMA-XZHTYLCXSA-N (r)-(6-ethoxyquinolin-4-yl)-[(2s,4s,5r)-5-ethyl-1-azabicyclo[2.2.2]octan-2-yl]methanol;hydrochloride Chemical compound Cl.C([C@H]([C@H](C1)CC)C2)CN1[C@@H]2[C@H](O)C1=CC=NC2=CC=C(OCC)C=C21 QNRATNLHPGXHMA-XZHTYLCXSA-N 0.000 description 2
- 101100325793 Arabidopsis thaliana BCA2 gene Proteins 0.000 description 2
- 102100033029 Carbonic anhydrase-related protein 11 Human genes 0.000 description 2
- 102100033779 Collagen alpha-4(IV) chain Human genes 0.000 description 2
- 101000867841 Homo sapiens Carbonic anhydrase-related protein 11 Proteins 0.000 description 2
- 101000710870 Homo sapiens Collagen alpha-4(IV) chain Proteins 0.000 description 2
- 101001075218 Homo sapiens Gastrokine-1 Proteins 0.000 description 2
- 101000767160 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) Intracellular protein transport protein USO1 Proteins 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
Definitions
- the present invention relates to a memory device and a memory controller that controls the memory device, and more particularly to a memory device that stores image data and the memory controller thereof.
- Memory devices particularly large-capacity SDRAMs among semiconductor memory devices, are widely used as frame memories in image processing devices.
- the frame memory for storing image data has a strong demand for large capacity in order to support full high-definition screens.
- the MPEG standard in response to the MPEG standard having the compression and decompression processing of moving images, it is required to access image data in an arbitrary area at high speed in addition to memory access by normal raster scanning.
- the MPEG standard includes a process of searching for an image that matches an image in a predetermined rectangular area in order to detect a motion vector. This motion vector search process requires frequent and large-capacity read operations on the frame memory.
- the memory device has a plurality of memory unit areas selected by input addresses, stores image data in the plurality of memory unit areas according to a predetermined memory map, and is adjacent by one input address. The output data is read from the memory unit area to be written and the input data is written to the adjacent memory unit area.
- General-purpose SDRAM has burst read and burst write functions, and can efficiently access storage areas with continuous addresses. Therefore, in the case of a memory map that stores image data in the raster scan direction of 2D image data in a continuous address area, access to raster scan 2D image data is very efficient and processed per unit time.
- the memory bandwidth which is the number of possible data, becomes very large. However, memory access in a direction or area different from the raster scan decreases the memory access efficiency and decreases the memory bandwidth.
- Patent Document 1 vertical image data of a two-dimensional image is stored in the same row address and column address areas of a plurality of bank areas in a memory, and a plurality of bank areas are activated simultaneously, It describes that the image data in a row is accessed simultaneously. That is, by storing the image data of the two-dimensional image based on a special memory map, the access efficiency of the image data of a plurality of lines is increased.
- a video RAM has a DRAM for storing image data of a two-dimensional image and a serial access memory SAM for controlling the data of the DRAM, and the serial access memory SAM can count in ascending or descending order. And a serial address counter is written in descending order to write an image that is reversed left and right.
- a video RAM has a DRAM for storing image data of a two-dimensional image and a serial access memory SAM for controlling the cache of the DRAM data, and the address counter of the serial access memory is subtracted from the addition mode. It is described that the mode can be changed and the addition value of the address counter can be set from the outside as an arbitrary number.
- Patent Document 4 image data read by an image reading device is written in an image memory so that the addresses of adjacent pixel data in the sub-scanning direction are continuous addresses, and the image is read in the opposite direction. It describes that page mode read processing is performed on data.
- Patent Document 5 describes a video RAM similar to Patent Document 2. JP 2005-116128 A JP-A-8-190372 JP-A-6-243675 JP-A-5-334426 Japanese Patent Laid-Open No. 5-54657
- Patent Documents 1 to 5 all disclose the configuration of a system having a DRAM, and do not relate to the internal configuration of a DRAM that stores image data. Therefore, these prior arts cannot increase the bandwidth of DRAM storing image data. On the other hand, a memory device that can efficiently perform special access corresponding to various image processing is expected.
- an object of the present invention is to provide a memory device capable of efficiently performing special access.
- Another object of the present invention is to provide a memory device capable of efficiently performing continuous access of a two-dimensional image in an arbitrary direction.
- Another object of the present invention is to provide a memory device that can efficiently access an arbitrary two-dimensional area of a two-dimensional image.
- the memory device has a plurality of memory unit areas selected by an address, a memory cell array for storing two-dimensional array data in the plurality of memory unit areas, and an internal address for selecting the memory unit area based on an external address And an decoder for selecting the memory unit area by decoding the internal address.
- the plurality of memory unit areas store data arranged in a first direction among the matrix of the two-dimensional array data based on the lower bit group of the internal address, and based on the upper bit group of the address Stores data arranged in the second direction in the matrix of two-dimensional array data.
- the internal address control unit sequentially generates internal addresses corresponding to the scanning direction based on a scanning direction control signal for controlling a plurality of scanning directions including at least an oblique direction of the two-dimensional array data.
- the internal address controller sequentially generates the lower and upper addresses in parallel based on the scanning direction control signal in the oblique direction, burst access in the oblique direction is possible. Furthermore, since the internal address control unit sequentially generates lower and upper addresses based on the scanning direction control signal, burst access in the scanning direction specified by the scanning direction control signal becomes possible.
- a memory controller for controlling the memory device inputs a position coordinate that defines a rectangular area to be accessed, a vertical and horizontal length, and an inclination, generates a burst direction determination unit that generates the scanning direction control signal, and generates a control command.
- a command issuing unit for outputting to the memory device and an address issuing unit for generating the external address and outputting the external address to the memory device.
- the scanning direction control signal is output to the memory device.
- the memory device can perform burst access in various directions for two-dimensional array data such as image data.
- FIG. 6 is a detailed view of the memory map of FIG. 5. It is a figure which shows the memory map in a page area
- FIG. 6 is a timing chart of the memory device when scanning in an oblique direction.
- FIG. 6 is a timing chart of the memory device when scanning in an oblique direction. It is a figure which shows the horizontal scanning access in a page area
- FIG. 4 is a timing chart for a memory device when performing burst access of a rectangular area. It is a partial block diagram of the lower address generation unit for backward access. It is a figure which shows the example of the memory map which has a time axis.
- Memory device 41 Column address control unit 44: Row address control unit 47: Memory core 48: Memory cell array 49: Column decoder 50: Row decoder
- FIG. 1 is a configuration diagram of an image encoding system.
- the memory device corresponds to the frame memory 10 that stores two-dimensional array data such as image data.
- the image encoding system includes a processing selection unit 18 that selects either intra prediction processing for compressing input image data IMin within the same frame or inter prediction processing for compression in the time axis direction. And an encoding processing unit 20 that encodes the input image data IMin based on the processed processing and outputs the encoded output image data CDout.
- the image coding system includes an intra prediction processing unit 14 and an inter prediction processing unit 16 including a motion prediction processing 17.
- the intra prediction processing unit 14 and the inter prediction processing unit 16 access the frame memory 10 via the memory controller 12 respectively, and with respect to the image data of a desired region among the image data stored in the frame memory. Read or write.
- the process selection unit 18 selects a more suitable process based on the result of the intra prediction process and the result of the inter prediction process.
- the intra prediction processing unit 14 and the inter prediction processing unit 16 frequently access the frame memory 10 via the memory controller 12. Therefore, the frame memory 10 needs to efficiently access image data in a desired area by the intra prediction processing unit 14 and the inter prediction processing unit 16.
- the intra prediction process and the inter prediction process are processes performed in a compression technique in the MPEG standard, for example.
- writing of image data to the frame memory 10 and reading of image data from the frame memory 10 are performed with high frequency.
- motion prediction processing is performed in which the motion direction of the same image is detected to obtain a motion vector between frame images having different time axis directions.
- FIG. 2 is a diagram for explaining designation of an access area for image data in the image encoding system.
- the processing units 14 and 16 have the origin coordinates (Xa, Ya) of the access area 22, the horizontal length Lh, the vertical height Lv, and the inclination. Information of 0 ° is supplied to the memory controller 12.
- the processing units 14 and 16 have the origin coordinates (Xa, Ya) of the access area 22, the length Lh in the first direction, and the second direction. Information about the length Lv and the inclination of 45 ° is supplied to the memory controller 12.
- the memory device is configured to be able to access various access areas as described above with higher efficiency (large bandwidth).
- the memory device can perform burst read and burst write in the row direction or column direction of image data in accordance with the shape of the access area.
- the memory device can perform burst read and burst write of image data in an oblique direction with a desired inclination according to the inclination of the access area.
- the memory device can also switch the burst direction between forward and backward.
- the memory device can continuously burst read or write the image data in the two-dimensional access area based on a single column command and column address.
- FIG. 3 is a diagram showing the configuration of the memory controller and the connection configuration with the memory device in the present embodiment.
- the memory controller 12 is supplied with memory map information MAP from a host system such as the processing units 14 and 16 in FIG.
- the memory map information MAP is information on how to store the two-dimensional arrangement data in the memory device 10.
- the memory controller 12 is supplied with the access control data Acn, and the memory register control unit 35 generates mode register setting data MRSdata to be set in the mode register 40 in the memory device 10.
- the mode register setting data MRSd includes, for example, step information STEP and width information WIDTH when the column address control unit 41 generates a column address. These step information and width information will be described in detail in the description of the memory device.
- the memory controller 12 inputs information on the origin coordinates (Xa, Ya), inclination SLOP, length Lh, Lv for specifying the access area from the host system, and the burst direction determination unit 32 determines the optimum burst direction. , Burst direction information (corresponding to a vector address VA described later) is generated. Further, the address calculation unit 30 calculates an address to be output to the memory device 10 based on the starting point coordinates (Xa, Ya) and the burst direction information.
- the memory controller 12 is connected to the memory device 10 via a command bus (for example, 4 bits) 38, an address bus (for example, 12 bits) 37, and a data bus (for example, 32 bits) 36.
- the command issuing unit 33 generates four command signals / CS, / RAS, / CAS, / WE that specify various commands, active ACT, precharge PRE, read RD, write WR, mode register set MRS, etc. Output to the command bus 38 at an appropriate timing.
- the address issuing unit 31 outputs the bank address BA, the row address RA, the column address CA, the vector address VA, the mode register set data MRSdata, and the like to the address bus 37 together with the command from the command issuing unit. Then, the memory controller 12 outputs write data to the data bus 36 and inputs read data from the data bus 36.
- the control of the memory device 10 by the memory controller 12 is, for example, as follows.
- the memory controller 12 outputs mode register set data MRSdata together with the mode register set command MRS at power-on or at other predetermined timing.
- the memory device 10 stores the mode register set data MRSdata in the mode register 40.
- the memory controller 12 When performing the read or write operation, the memory controller 12 outputs the bank address BA and the row address RA together with the active command ACT, and activates the page area corresponding to the bank address BA and the row address RA to the memory device 10. Thereafter, the memory controller 12 outputs the bank address BA, the column address CA, and the vector address VA together with the read command RD or the write command RW, and accesses a desired memory unit area in the page area that is in the active state.
- the memory unit area is an area having a memory cell group composed of a plurality of bits or a plurality of bytes selected by an address.
- the column address control unit 41 in the memory device 10 sequentially generates internal column addresses corresponding to the scanning direction in the access area according to the supplied column address CA and vector address VA.
- a memory core (not shown) having a plurality of memory unit areas corresponding to the scanning direction is continuously input / output. That is, the memory device 10 can continuously read or write two-dimensional array data in an arbitrary scanning direction in response to a single column command (read or write) and a column address in the burst mode. .
- the memory device can perform burst access in an arbitrary angular direction by setting the step information STEP in the mode register and inputting the vector address VA.
- the access area is a two-dimensional area
- the column address control unit 41 responds to one column-related command (read or write) and the column address.
- Column addresses corresponding to the two-dimensional access area can be continuously generated, and the memory device 10 can continuously read or write data in the two-dimensional access area.
- the bank address BA, the row address RA, the column address CA, etc. may be supplied to the memory device in multiples (in a time division manner) or non-multiple (in a batch without time division). )
- the memory controller may supply the memory device.
- FIG. 4 is a configuration diagram of the memory device according to the present embodiment.
- the memory device 10 receives command signals / CS, / RAS, / CAS, / WE for specifying a command from the memory controller via the command bus 38, and the command control unit 40 receives the command.
- the mode register 40, the row timing control unit 43, and the column timing control unit 42 are controlled.
- the command control unit 40 sets the mode register set data MRSdata supplied to the address bus 37 in the mode register 40.
- the command control unit 40 controls the row timing control unit 43 to perform an active operation.
- the command control unit 40 controls the column timing control unit 42 to perform a read or write operation.
- the memory device 10 receives an address signal A [11: 0] from the memory controller via the address bus 37, and the external row address raext is supplied to the row address control unit 44 via the row buffer 46, and the external column address caext is supplied to the column address control unit 41 via the column buffer 45. Also, the memory device inputs the vector address VA [2: 0] from the memory controller through the dedicated bus 39 or through some bits of the address bus 37, and the external vector address vaext is the column address control unit. 41. Further, the control signal selcntext corresponding to the step information and width information set in the mode register 40 is also supplied to the column address control unit 41.
- the row address control unit 44 generates an internal row address raint from the external row address raext and supplies it to the row decoder 50.
- the row address is composed of 12 bits, for example.
- the column address control unit 41 generates an internal column address caint based on the external column address caext, the vector address vaext, the control signal selcntext, etc., and supplies it to the column decoder 49. It should be noted that “ext” is added to the reference sign for the address and control signal supplied from the outside to the memory device 10. Further, “int” is added to the reference sign for the address and control signal generated inside the memory device 10.
- FIG. 5 is a diagram showing an example of a memory map of the memory device according to the present embodiment.
- image data in the image processing system including the display device 1 is stored in the memory device 10.
- the image data is composed of data such as a luminance signal Y and color difference signals Ca and Cb of each pixel and an RGB gradation signal of each pixel, and each signal is composed of, for example, 8-bit (1 byte) data.
- the memory device 10 is generally a large-capacity and high-speed semiconductor memory device in which an integrated circuit is formed on a semiconductor substrate such as an SDRAM.
- a memory device is composed of a plurality of banks, four banks Bank0 to Bank3 in FIG. 1, each bank Bank0 having a plurality of blocks BLK-0, each block having a plurality of word lines WL and bit lines BL. And memory cells MC at the intersections thereof.
- the memory cell includes a MOS transistor having a gate connected to a word line and a capacitor connected to the MOS transistor.
- four banks are associated with bank addresses BA0-BA3
- word lines WL are associated with row addresses RA0-RA7
- bit lines BL are associated with column addresses CA0-CA127.
- the page area Page specified by the bank address BA and the row address RA is arranged in a matrix of two-dimensional arrangement data which is image data.
- One page area Page has 128 memory unit areas specified by column addresses CA0-127 as shown in the enlarged area PageE, and each memory unit area stores 4-byte data BY0-3. To do.
- the 4-byte data BY0-3 is input / output via the 32-bit input / output terminals DQ0-31 of the memory device.
- the above memory map 2 is suitable for operating the memory device 10 such as SDRAM having a plurality of banks at high speed.
- the SDRAM drives the selected word line in the selected bank in response to the active command given together with the bank address BA and the row address RA, outputs the data of the memory cell to the bit line, An active operation for amplifying the bit line potential by activating the sense amplifier associated with the bit line is performed. Thereafter, the SDRAM performs a read operation for reading data from the selected bit line in response to a read command given together with the column address CA. Alternatively, the SDRAM performs a write operation for writing the write data to the selected bit line in response to a write command given together with the column address CA and the write data after the active operation.
- each bank can independently perform an active operation, a read operation, and a write operation.
- different bank addresses BA0-3 are associated with page areas Page adjacent to each other in the vertical and horizontal directions. That is, bank addresses BA0 and BA1 are alternately arranged in odd rows of the memory map 2, and bank addresses BA2 and BA3 are alternately arranged in even rows. Further, in the raster direction (row direction) of the memory map 2, the row address RA0-7 is incremented while being repeated two by two, and each row of the memory map 2 is folded at four row addresses RA0-3 and RA4-7. Yes.
- FIG. 6 is a detailed diagram of the memory map of FIG. FIG. 6 shows the relationship between the memory map 2, the bank addresses BA0 and BA1, the row address RA, and the column address CA.
- the bank addresses BA0 and BA1 are represented by binary numbers “0, 1”
- the row address RA is represented by a decimal number “0 to K ⁇ 1, 0 to L ⁇ 1”.
- a plurality of page areas Page corresponding to the matrix direction of the two-dimensional arrangement data which is image data are associated based on the bank address BA and the row address RA. That is, the lower bank address BA0 and the lower row address RA correspond to the page area Page in the row direction, and the upper bank address BA1 and the upper row address RA correspond to the page area Page in the column direction.
- FIG. 6 shows a part of the enlarged memory map 2E. Similar to FIG. 5, adjacent two-row and two-column page areas surrounded by a thick frame correspond to “BA0, RA0”, “BA1, RA0”, “BA2, RA0”, “BA3, RA0” of bank and row addresses. It is attached. The row direction is folded at the row address RAK-1. Each page area further includes a plurality of memory unit areas associated with each other by a column address CA. In FIG. 6, a specific value of the column address CA is omitted.
- mapping a plurality of page areas into rectangles contributes to improving access efficiency.
- the four bank areas are simultaneously activated by an active operation that requires a long time. By changing the bank address and the column address together with the column-related command, it becomes possible to access the data of the active memory cell in a short time.
- FIG. 7 is a diagram showing a memory map in the page area.
- one page area Page has a memory unit area MU (256 areas) of 16 rows and 16 columns selected by column addresses A00 to A07.
- column addresses CA00 to CAff in hexadecimal notation are displayed in each memory unit area MU.
- the memory unit area MU stores 4 bytes (32 bits) of data corresponding to the 32-bit DQ interface.
- the plurality of memory unit areas MU are data arranged in the row direction of the two-dimensional array data based on the lower bit group CA-L (A00 to A03) of the column address.
- the data arranged in the column direction of the two-dimensional array data based on the upper bit group CA-U (A04 to A07) in the column address.
- each data (8 bits) is stored separately in one pixel data (RGB ⁇ )
- four pixel image data is stored in one memory unit area MU.
- image data of pixels in one row and four columns is stored in one memory unit region MU
- image data of 64 ⁇ 16 pixels is stored in one page region Page.
- image data of 2 rows and 2 columns of pixels is stored in one memory unit area MU
- image data of 32 ⁇ 32 pixels is stored in one page area.
- image data of pixels of 4 rows and 1 column is stored in one memory unit region MU
- image data of 16 ⁇ 64 pixels is stored in one page region.
- column addresses are expressed in hexadecimal numbers (CA00 to CAff).
- CA00 to CAff the 4-bit column addresses A00 to A03 and A04 to A07 are expressed in binary numbers (0, 1).
- FIG. 8 is a diagram showing a configuration for generating a column address in the column address control unit 41 in the present embodiment.
- the column address control unit 41 inputs the 8-bit external column address caext ⁇ 07:04>, caext ⁇ 03:00>, and the 8-bit internal column address caint ⁇ 07:04>, caint ⁇ 03:00>. Generated and supplied to the column decoder in the memory core.
- the column address control unit 41 sequentially generates and outputs internal column addresses as many as the burst length.
- the column address control unit 41 includes a lower address generation unit 80 that generates the lower bit group caint ⁇ 03:00> of the internal column address, and an upper address generation unit 84 that generates the upper bit group caint ⁇ 07:04> of the internal address. And an address generation unit control circuit 88 for controlling the operation of the lower address generation unit 80 and the upper address generation unit 84 based on the scanning direction control signal vaext ⁇ 03:00> of the two-dimensional array data.
- the internal column addresses corresponding to the scanning direction of the signal vaext ⁇ 02:00> are sequentially generated.
- the lower bit group and the upper bit group are divided into 4 bits, but the present invention is not limited to this, and may be divided into 2 bits and 6 bits, and 3 bits and 5 bits. In this case, the ratio of the matrix of the memory unit area in the page area shown in FIG. 7 differs depending on the number of upper bits and the number of lower bits.
- the lower address generation unit 80 includes a 4-bit counter 81, a step setting circuit 82 for setting the number of steps of the counter (increase / decrease number per clock), and a folding width setting for setting the maximum counter value (corresponding to the folding width). And a circuit 83.
- the step setting circuit 82 is a selector circuit that selects which bit of the counter the count control signal countlz should be input to.
- the step setting circuit 82 selects according to the step control signal selcntls (2 bits) set in the mode register 40.
- the folding width setting circuit 83 is a selector circuit that selects which bit of the counter output is to be output as a count end signal (a kind of carry signal) caintle, and the folding width control signal selcntlw (set in the mode register 40).
- the bit of the counter is selected according to (2 bits).
- the upper address generation unit 84 includes a 4-bit counter 81, a step setting circuit 82 for setting the number of steps of the counter (increase / decrease number per clock), and a maximum count value (folding width) of the counter. And a folding width setting circuit 83 for setting The step setting circuit 86 and the folding width setting circuit 87 are the same as the circuits 82 and 83 in the lower address generation unit 80.
- an address operation control signal selcntlext supplied from the memory controller together with the mode register set command is set.
- This address calculation control signal selcntlext has a step control signal selcntls (2 bits for each lower and upper order) and a folding width control signal selcntlw (2 bits for each lower and upper order).
- the address generation unit control circuit 88 controls the operation of the lower and upper address generation units 80 and 84 in accordance with the scanning direction control signal vaext supplied from the memory controller.
- the scanning direction control signal vaext is a 3-bit signal, and is a signal that specifies a total of eight scanning directions of up, down, left and right directions and four diagonal directions.
- FIG. 9 is a diagram showing a specific example of the scanning direction control signal vaext.
- reference numeral 90 denotes a specific example of the scanning direction control signal vaext
- a 3-bit scanning direction control signal vaext is assigned to the upper and lower column directions, left and right row directions, and four diagonal directions from the current pixel CPX.
- This scanning direction control signal can be supplied by a method in which the memory controller sets the mode register together with the mode register setting command and a method in which the memory controller supplies the column direction command.
- Reference numeral 92 in FIG. 9 indicates the assignment of address terminals A00 to A11 when supplied together with column commands.
- an active command ACT which is a row command
- 12-bit row addresses RA00-RA11 are input to 12-bit address terminals A00-A11.
- the 8-bit column address CA00-CA07 is input to the address terminals A00-A07
- the auto precharge signal AP is supplied to the address terminal A10
- the remaining addresses The 3-bit scanning direction control signals VA0-VA2 are input to the terminals A08, A09, A11. Since the scanning direction control signal vaext is input to the address terminal, it is also referred to as a vector address.
- the address generation unit control circuit 88 outputs the clock CLK for count control as the count control signal countlz of the lower address generation unit 80 according to the scanning direction control signal vaext, Controls whether the count control signal countuz or both count control signals countlx and countuz are output. Further, the address generation unit control circuit 88 outputs the count end signal (carry signal) caintle of the lower address generation unit 80 as the upper count control signal countuz in accordance with the scanning direction control signal vaext, or the upper address generation unit It controls whether 84 count end signal (carry signal) caintue is output as the lower count control signal countlz. Then, the address generation unit control circuit 88 outputs the reverse control signals reverslz and reversuz to the lower and upper address generation units 80 and 84 in accordance with the scanning direction control signal vaext.
- the clock CLK is output as the count control signal countlz of the lower address generation unit 80, and the count end signal caintle of the lower address generation unit 80 is supplied as the count control signal of the upper address generation unit 84.
- the clock CLK is output as the count control signal countuz of the upper address generation unit 84, and the count end signal caintue of the upper address generation unit 84 is supplied as the count control signal of the upper address generation unit 80.
- the clock is output as the lower and upper count control signals.
- the following describes how the address generation unit control circuit 88 controls the lower and upper address generation units 80 and 84 in accordance with the scanning direction control signal vaext.
- Scanning direction control signal vaext 000: Forward clock CLK is connected to lower count control signal countlz in the row direction; Lower count end signal (carry signal) caintle is connected to higher count control signal countuz; Reverse control signals reverselz and reverseuz are both set to forward; As a result, the low-order to high-order clock control circuits 80 and 84 are connected in series, and the 8-bit internal column address caint ⁇ 07:00> is sequentially counted up in synchronization with the clock CLK. That is, the upper address generation unit 84 performs a count operation in synchronization with the count end signal caintle of the lower address generation unit 80.
- Scanning direction control signal vaext 001: Forward clock CLK in the column direction is connected to upper count control signal countuz; Upper count end signal (carry signal) caintue is connected to lower count control signal countlz; Reverse control signals reverselz and reverseuz are both set to forward; As a result, the upper and lower clock control circuits 84 and 80 are connected in series, the 4-bit upper internal column address caint ⁇ 07:04> is sequentially counted up in synchronization with the clock CLK, and the upper count end signal In synchronization with cainteue, the 4-bit lower internal column address caint ⁇ 03:00> is sequentially counted up.
- Scanning direction control signal vaext 011:
- Clock CLK is connected to upper and lower count control signals countuz and countlz in the lower right direction; Reverse control signals reverselz and reverseuz are both set to forward;
- the upper and lower clock control circuits 84 and 80 count up in parallel with the clock CLK. That is, the upper internal column address caint ⁇ 07:04> and the lower internal column address caint ⁇ 03:00> are sequentially counted up in parallel.
- Scanning direction control signal vaext 101:
- Clock CLK is connected to upper and lower count control signals countuz and countlz in the upper right direction; Reverse control signals reverselz and reverseuz are set to forward and reverse;
- the upper and lower clock control circuits 84 and 80 count in parallel with the clock CLK, and count down and count up, respectively. That is, the upper internal column address caint ⁇ 07:04> is sequentially counted down, and the lower internal column address caint ⁇ 03:00> is sequentially counted up.
- Scanning direction control signal vaext 010: Clock CLK is connected to upper and lower count control signals countuz and countlz in the lower left direction; Reverse control signals reverselz and reverseuz are set to reverse and forward; As a result, the upper and lower clock control circuits 84 and 80 count in parallel with the clock CLK, and count up and count down, respectively. That is, the upper internal column address caint ⁇ 07:04> is sequentially counted up, and the lower internal column address caint ⁇ 03:00> is sequentially counted down.
- Scanning direction control signal vaext 100: Clock CLK is connected to upper and lower count control signals countuz and countlz in the upper left direction; Reverse control signals reverselz and reverseuz are both set to reverse; As a result, the upper and lower clock control circuits 84 and 80 count in parallel with the clock CLK and both count down. That is, the upper internal column address caint ⁇ 07:04> is sequentially counted down, and the lower internal column address caint ⁇ 03:00> is also sequentially counted down.
- the upper and lower address generation units 80 and 84 count up or count down at a set step according to the step control signal selcntls.
- the oblique scanning direction is 45 degrees with respect to the horizontal and vertical directions (when the number of lower and upper steps is equal), and the direction other than 45 degrees with respect to the horizontal and vertical directions. (When the number of lower and upper steps is different). For example, if the number of lower steps is set to 1 and the number of upper steps is set to 2, scanning can be performed in the direction of Keima jump.
- the upper and lower address generation units 80 and 84 repeat counting up or counting down with the set folding width in accordance with the folding width control signal selcntlw. By appropriately setting the return width, access to an arbitrary rectangular area can be performed by burst access using a single column command.
- the continuous count numbers by the upper and lower address generation units 80 and 84 are controlled by the number of clocks CLK based on the burst length.
- both control signals may be set in the mode register 40 by the mode register set command, or may be input from the address terminal together with the column related command.
- the scanning direction control signal vaext is input together with the column command
- the address calculation control signal selcntlext is set in the mode register 40 by the mode register set command.
- the moving image data is composed of continuous frame image data.
- compression processing according to the MPEG standard the motion direction of the same figure between frame images is obtained as a motion vector, and only the difference between the motion vector and the figure is used as data of the next frame image. As a result, the data amount of the next frame image can be compressed.
- this motion vector search a microblock image in a subsequent frame image that matches or is similar to the image data of a microblock composed of 16 ⁇ 16 pixels is searched.
- FIG. 10 is a diagram illustrating an example of the moving direction of a moving image.
- FIG. 10 A
- FIG. 10 (B) there are many vertical movements as shown in FIG. 10 (B).
- the movement in the horizontal and vertical directions account for most of the movement of the figure.
- the probability that a figure moves in an oblique direction is relatively low.
- FIG. 11 is a diagram showing a moving direction and a moving amount distribution of a moving image.
- FIG. 11A shows the distribution of moving directions of moving images.
- One memory unit area (4 bytes) stores image data of 4 pixels, and four memory unit areas CA67 to CA97 are 4 ⁇ 4 pixel image data.
- image data of four memory unit areas that match or are similar to the image data of 4 ⁇ 4 pixels in the memory unit areas CA67 to CA97 are searched. Therefore, setting the search area based on the motion direction statistics and the motion amount statistics contributes to the efficiency of the motion vector search process.
- the search for a region in an oblique direction and a large movement amount d has a relatively low probability of detecting a matching or similar figure.
- FIG. 12 is a diagram illustrating an example of a motion vector search range.
- the page area Page is composed of a 16 ⁇ 16 memory unit area, and a matrix of image data that is two-dimensional arrangement data is associated with the 16 ⁇ 16 memory unit area.
- a motion vector search is performed on a block diagram of 4 ⁇ 4 pixels in the central four memory unit areas CA67 to CA97.
- the search efficiency is improved by searching the rhomboid RHB area excluding the four corner areas in the page area Page. be able to. Since the rhombus region RHB has a half area of one page region Page, if the search region is changed to the rhombus region RHB, the search region is halved. Therefore, access in the case of searching for a motion vector in the rhombus region RHB will be described below.
- FIG. 13 is a diagram showing an example of a diamond area access method.
- RHB rhomboid area
- FIG. 13A on the memory device side, if burst read or burst write is performed while scanning in an oblique direction as indicated by an arrow, access can be made with the same burst length, so the access efficiency to the memory device is increased.
- image data in a frame memory is stored in a work memory (FIG. 13B) in the system.
- the system work memory (FIG. 13B) has 8 ⁇ 16.
- the image data of the memory unit area is stored.
- FIG. 14 is a diagram for explaining scanning in an oblique direction.
- the column address control unit in the memory device is required to sequentially generate the column addresses CA07 to CA7e in the arrow direction of FIG. That is, in order to scan in an oblique direction, the lower column address CA-L and the upper column address CA-U must be incremented in parallel. Therefore, as described in the column address control unit 41 in FIG. 8, the lower address generation unit 80 and the upper address generation unit 84 are appropriately controlled so as to operate in parallel, so that the above-described oblique scanning is performed in the burst mode. be able to.
- FIG. 15 is a diagram showing a column address control unit that performs oblique scanning. 16 and 17 are detailed views of the column address control unit that performs oblique scanning.
- the step control signal selcntls is set to step number 1 (step 1), and the selectors of the step setting circuits 82 and 86 are set to supply the count control signals countlz and countuxz to A00 and A04 of the counters 81 and 85, respectively.
- the folding width control signal selcntlw is set to the folding width 16 (width 16), and the selectors of the folding width setting circuits 83 and 87 are set to select the outputs of the counters 81 and 85, A03 and A07.
- the count end signals caintle and caintue are not connected to either.
- FIGS. 16 and 17 show detailed diagrams only for the lower address generation unit.
- the four selectors 161 select either the count control signal countlz or the output caint0-3 of the lower digit of the counter 81.
- the selection of the selector 161 is performed based on a control signal control (step 1, 2, 4, 8) obtained by decoding the 2-bit step control signal selcntls by the decoder 160.
- step 1, 2, 4, 8 obtained by decoding the 2-bit step control signal selcntls by the decoder 160.
- the selector SL00 is set to step 1 and the input in2 is selected, and the other selector SL01-03 selects the input in1.
- the 4-bit counter 81 is supplied with the external column address caext0-3 as an initial value to the initial value terminal init, and repeats the count-up operation in synchronization with the clock signal clkca0-3 from the selector 161. At the falling edge of the clock clk, each flip-flop of the counter 81 repeats the toggle operation of the output out from the L level to the H level or from the H level to the L level.
- the 4-bit counter 81 sequentially counts up the initial value in synchronization with the count control signal countlz. Then, as shown in FIG. 16, the internal column addresses caint0-3 are output from the output terminal out of the counter 81, respectively. Since the lower and upper address generation units are set to step1 by the step control signal, the scanning direction is 45 degrees with respect to the vertical and horizontal directions. However, the scanning direction can be set to a direction different from 45 degrees by appropriately setting the number of steps. Therefore, burst access for scanning in an oblique direction at an arbitrary angle can be performed by the scanning direction control signal vaext and the step control signal.
- each of the four selectors SL10-13 performs a selection operation based on a control signal control (width02, 04, 08, 16) obtained by decoding the 2-bit folded width control signal selcntlw by the decoder 170.
- 18 and 19 are timing charts of the memory device when scanning in an oblique direction.
- 18 shows an example of a memory device that does not have an oblique burst mode
- FIG. 19 shows an example of a memory device that has an oblique burst mode.
- a clock CLK command signals CS, RAS, CAS, WE
- a bank address BA are shown.
- a column address CA input accompanying the read command RD is also shown.
- the shaded portion indicates the operation of bank BA1, and the other portions indicate the operation of bank BA0. That is, in this example, two banks are interleaved.
- the memory device does not have an oblique burst mode.
- the precharge command PRE is input to the bank BA0 at time t0
- the precharge operation is performed at the bank BA0 from time t1.
- the read operation is repeated in the bank BA1 in response to the read command RD.
- An active command ACT is input to the bank BA0 at time t3 after one clock of time t1 and after RAS precharge time tRP. Therefore, the read command is not issued to the bank BA1 during one clock cycle from the time t3.
- the bank BA0 performs an active operation based on a row address (not shown). Meanwhile, the bank BA1 repeats the read operation in response to the read command RD again.
- read command RD and column address CA are successively input to bank BA0.
- the memory device is not in burst mode, but responds to eight read commands RD and eight types of column addresses CA07 to CA7e that are successively input to each of eight memory unit areas arranged in an oblique direction. Repeat the read operation.
- the precharge command PRE for the bank BA1 is issued at time t5
- the active command ACT for the bank BA1 is issued at time t7. Therefore, the read command RD for the bank BA0 is not issued for one clock period from the time t7.
- the memory controller needs to issue eight column commands, the read command RD, and the column address CA in order to scan in an oblique direction. Further, the memory device cannot operate in the burst mode, and continuous read command input is interrupted by the bank interleave operation.
- the memory device has an oblique burst mode function.
- the column address control unit Since the burst length BL is set to 8 in advance, the column address control unit continuously generates internal column addresses CA18, CA29, CA3a, CA4b, CA5c, CA6d, CA7e, and reads 32 bits x 8 times Is done. Meanwhile, at time t5, the active command ACT for the bank BA1 is issued, but the burst read operation in the bank BA0 is not disturbed.
- the read command RDA is a read command with auto precharge, and can be specified by setting the auto precharge bit of the address terminal A10 shown in FIG. 9 to the H level.
- the oblique angle can be set to an arbitrary angle by the scanning direction control signal vaext and the step control signal selcntls.
- an arbitrary angle means an arbitrary angle within the range of the restriction by the position of the memory unit area on the memory map.
- FIG. 20 is a diagram showing horizontal scanning access in the page area.
- the column address control unit in the memory device preferentially increments the lower column address CA-L ( Arrow 200), it is necessary to increment the upper column address CA-U by the carry signal of the lower column address. As a result, burst reading can be performed continuously in the horizontal direction.
- FIG. 21 is a diagram showing the vertical scanning access in the page area.
- the column address control unit in the memory device preferentially increments the upper column address CA-U ( Arrow 210), it is necessary to increment the lower column address CA-L by the carry signal of the upper column address. As a result, burst reading can be continuously performed in the vertical direction.
- FIG. 22 is a diagram showing burst direction determination processing by the memory controller.
- the burst direction determination unit 32 in the memory controller 12 of FIG. 3 performs this determination process.
- the input / output terminal DQ of the memory device is constituted by 32 bits and the image data of one pixel is constituted by 8 bits.
- FIG. 23 is a flowchart of burst direction determination processing by the memory controller.
- the burst direction determination circuit in the memory controller converts the number of pixels into the number of columns in the memory device (S21).
- the burst direction is set in the horizontal direction (S24). Conversely, if Nv> Nh, the burst direction is set in the vertical direction. This is because the burst mode access can be effectively used by setting the burst direction in a longer direction.
- FIG. 24 is a diagram showing an example of scanning access (burst access) in the vertical direction.
- image data of 4 pixels is stored in the memory unit area, and a rectangular area of 4 ⁇ 8 pixels is accessed. Therefore, it is necessary to access eight memory unit areas in the vertical direction from column addresses CA20 to CA90.
- the column address control unit 41 in the memory device sequentially generates CA20-CA90 by incrementing the upper column address CA-U from the top column address CA20.
- FIG. 25 is a configuration diagram of a column address control unit that performs scanning access (burst access) in the vertical direction.
- the lower address generation unit 80 and the upper address generation unit 84 are connected upside down in order to perform burst access in the vertical direction. That is, the address generation unit control circuit 88 supplies the clock CLK to the upper address generation unit 84 as a count control signal countuz, and count control of the count end signal (carry signal) caintue of the upper address generation unit 84 to the lower address generation unit 80 is performed. Supply as signal countlz.
- the step control signal selcontls is set to step step1 for both the lower and upper levels, and the lower counter 81 and the upper counter 85 simultaneously increment the count value by +1 in response to the count control signal. Further, the folding width control signal selcntlw is set to the width width16 for both the lower and upper sides, and the most significant bits of the lower counter 81 and the upper counter 85 are selected by the selectors 83 and 87.
- the upper counter 84 first increments the count value by +1 in synchronization with the clock CLK, and the lower counter 81 sets the count value in synchronization with the count end signal caintue of the upper counter 84. Increment by +1.
- the column address control unit 41 generates column addresses caext0-7 supplied from the outside as initial values CA20 and addresses up to the final value CA90 in order as internal column addresses caint0-7.
- FIGS. 26 and 27 are timing charts in the case of accessing by scanning in the vertical direction.
- FIG. 26 is a timing chart when the memory device does not have a vertical burst mode.
- the precharge command PRE is input to the bank BA0 at time t0
- the precharge operation is performed at the bank BA0 from time t1.
- the read operation is repeated in the bank BA1 in response to the read command RD.
- An active command ACT is input to the bank BA0 at time t3 after one clock of time t1 and after RAS precharge time tRP. Therefore, the read command is not issued to the bank BA1 during one clock cycle from the time t3.
- the bank BA0 performs an active operation based on a row address (not shown). Meanwhile, the bank BA1 repeats the read operation in response to the read command RD again.
- read command RD and column address CA are successively input to bank BA0.
- the memory device is not in burst mode, but responds to 8 read commands RD and 8 types of column addresses CA20 to CA90, which are input continuously, to 8 memory unit areas arranged in the vertical direction. Repeat the read operation.
- the precharge command PRE for the bank BA1 is issued at time t5
- the active command ACT for the bank BA1 is issued at time t7. Therefore, the read command RD for the bank BA0 is not issued for one clock period from the time t7.
- the memory controller needs to issue eight column commands, that is, a read command RD and a column address CA in order to scan and access in the vertical direction. Further, the memory device cannot operate in the burst mode, and continuous read command input is interrupted by the bank interleave operation.
- FIG. 27 is a timing chart when the memory device has a vertical burst mode function.
- the column address control unit continuously generates internal column addresses CA20, CA30, CA40, CA50, CA60, CA70, CA80, and 32 bits x 8 read operations Is done. Meanwhile, at time t5, the active command ACT for the bank BA1 is issued, but the burst read operation in the bank BA0 is not disturbed.
- the memory device since the memory device has the burst mode function in the vertical direction, it is possible to efficiently perform the vertical scan access when accessing the rectangular area having more memory unit areas in the vertical direction.
- FIG. 28 shows another example of scanning access (burst access) in the vertical direction.
- image data of 4 pixels is stored in the memory unit area, and a rectangular area of 8 ⁇ 8 pixels is accessed. Therefore, it is necessary to access eight memory unit areas in the vertical direction from column addresses CA20 to CA90 and eight memory unit areas in the vertical direction from column addresses CA21 to CA91.
- the image data of the rectangular area of 8 ⁇ 8 pixels is accessed.
- the burst length BL is set to 8 and two column commands RD and WR are supplied to the memory device together with the column addresses CA20 and CA21. By doing so, it is possible to access image data in a rectangular area of 8 ⁇ 8 pixels. Therefore, the busy state of the bus between the memory controller and the memory device can be shortened.
- FIG. 29 is a diagram for explaining access when motion prediction is performed.
- 8-bit data per pixel is mapped to a DQ interface memory device having a word configuration of ⁇ 16 bits.
- motion prediction it is assumed that a search is performed for ⁇ 4 pixels in the vertical direction and ⁇ 8 pixels in the horizontal direction for a square rectangle 290 of 4 ⁇ 4 pixels surrounded by a thick frame.
- the rectangle 290 moves 9 times in the column direction and 9 times in the row direction within the rectangular area 292, and the image data of the rectangle 290 and the destination rectangle image data are totaled 81 times. Processing to compare is performed.
- the coincidence image data is detected, the direction of the detected rectangular area from the rectangle 290 becomes a motion vector.
- FIGS. 30 and 31 are diagrams for explaining another access when motion prediction is performed.
- 8-bit data per pixel is mapped to a DQ interface memory device having a word configuration of ⁇ 16 bits. Then, a motion vector search is performed for a 4 ⁇ 4 pixel rectangular region.
- the 8 ⁇ 8 pixel rectangular area 300 (rectangular area surrounded by CA46-CA4c-CAcc-Cac4) that is twice the size of the processing target rectangle is halved in the matrix direction.
- the rectangular area 302 (rectangular area surrounded by CA24-CA2d-Cadd-Cad4), the thinned-out area is searched in the area thinned by 1/2 in the matrix direction. This first search is performed four times in the row direction and three times in the column direction, for a total of 12 accesses and comparison processes.
- the optimum position in the first search is assumed to be a rectangular area 314 (area surrounded by CA66-CA69-Cad9-Cad6) with the memory unit area of column address CA66 as the upper left corner. .
- the above two-step search algorithm is already known.
- the memory controller cannot use burst read to access the data thinned out to 1 ⁇ 2 of FIG. It is necessary to issue a command and a corresponding column address to the memory device.
- data can be accessed by accessing data that is not reduced to 1/2 by burst read and discarding unnecessary data.
- the access efficiency to the memory device is greatly reduced.
- FIG. 32 and 33 are configuration diagrams of the column address control unit in the first search of the two-stage search algorithm.
- FIG. 32 shows a part of the lower address generation unit 80
- FIG. 33 shows a part of the upper address generation unit 84.
- the configuration of the column address control unit in the first search is similar to the configuration shown in FIG. That is, the address generation unit control circuit 88 supplies the clock CLK to the upper address generation unit 84 as a count control signal, and supplies the upper end count signal caintue to the lower address generation unit 80 as a count control signal. This makes it possible to efficiently perform a burst access of a rectangular area that is long in the vertical direction. Further, the step setting circuits 82 and 86 of the lower and upper address generation units set the step width to Step2. As a result, the count value can be incremented with a step width of 2 in synchronization with the count control signal, and burst access can be made to the memory unit area that has been decimated 1/2.
- FIGS. 32 and 33 will be described.
- the increment operation is performed in the higher digits than A01 and A05 of the counters 81 and 85 in synchronization with the clock CLK.
- the lower and upper address generation units 80 and 84 increment the internal column address with an increment (number of steps) of 2. Therefore, the burst mode can be used also in the access of the rectangular area thinned out by half as shown in FIG. Note that no clock is input to the input int1 of the selector SL00 of the lower address generation unit 80 of FIG. Similarly, no clock is input to the input int1 of the selector SL04 of the upper address generation unit 84 in FIG. Therefore, the values of the column addresses A00 and A04 of the initial setting values are maintained in the A00 and A04 bits of the counter.
- FIG. 34 is a timing chart of the memory device in the first search of the two-stage search algorithm.
- the column address control unit in the memory device sequentially generates internal column addresses CA24, CA44, CA64, CA84, and the memory unit areas of the column addresses CA24, CA44, CA64, CA84 in FIG. to access.
- the memory unit area thinned by 1 ⁇ 2 Burst access to is enabled.
- steps 4 and 8 burst access to the memory unit area thinned by 1/4 or 1/8 is possible. The above is the explanation of the thinned burst access.
- the count end values of the lower and upper address generation units can be arbitrarily set by setting the return width setting circuits 83 and 87 by the return width control signal selcntlw of the lower and upper address generation units of the present embodiment. Thereby, the address generation unit can repeatedly generate count values in an arbitrary range in synchronization with the clock CLK. If this is used, a rectangular area composed of memory unit areas with different column addresses in the matrix direction can be burst-accessed with a single column command and the first column address. However, because of counter operation restrictions, the return address of the column address in the rectangular area is both lower and upper addresses.
- CA 1,3,7, F.
- FIG. 35 is a diagram for explaining the burst access of the rectangular area in the present embodiment.
- eight column commands and column addresses CA00, CA10, CA20, CA30, CA40, CA50, CA60, CA70 are supplied to the memory device.
- the memory device sequentially generates 16 internal column addresses. , 16 memory unit areas are burst accessed. For this purpose, it is necessary to set the folding width control signal selcntlw in the column address control unit.
- FIG. 36 is a configuration diagram of the column address control unit for burst access of a rectangular area in the present embodiment.
- the address generation unit 88 supplies the synchronization clock CLK to the count control signal countuz of the upper address generation unit 84 so that vertical scanning access can be performed, and the count end signal of the upper address generation unit 84.
- the step control signal selcntls is set to Step1 for both the lower and upper levels, and the loopback control signal selcontlw is set to Width16, Set to Width8.
- the column address control unit sequentially generates internal column addresses CA01, CA11, CA21, CA31, CA41, CA51, CA61, CA71 from the column address CA01 incremented on the lower side by the increment operation of the upper address generation unit 84. To do. As a result, the rectangular area can be accessed by burst access with a burst length of 16.
- FIG. 37 and FIG. 38 are configuration diagrams of a part of the upper address generation unit for burst access of a rectangular area.
- the upper address generation unit 84 has a 4-bit counter 85 between the step setting circuit 86 and the folding width setting circuit 87.
- the folding width setting circuit 87 includes selector groups SL14-SL17 and selector groups SL24-SL27.
- the higher-order address generation unit 84 includes a first decoder 170A that generates a control signal width02-16 for controlling the selector group SL14-SL17, and a control signal cnt02en for controlling the selector group SL24-SL27. -cnt16en and a second decoder 170B for generating.
- the decoder 170A controls only the return width width08 to the H level based on the return width control signal selcntlw, and only the selector SL16 selects the output caint6 of the counter A06 and the count end signal caintue Output as.
- the decoder 170B in FIG. 38 controls the control signal cnt08en, cnt04en and nt02en are controlled to H level, only the control signal cont16en is controlled to L level, the selector SL27 selects the input in2, and the other selectors SL26, SL25 and SL24 select input in1.
- a 3-bit counter including counters A04, A05, and A06 is configured, and the internal column addresses caint4-6 are sequentially set to 000-111.
- the column address control unit sequentially increments the upper column address from the top column address CA00.
- the internal column address reaches CA70
- the upper internal column address is folded back to 0000, and again from the column address CA01.
- the column address is incremented sequentially until CA71 is reached.
- 16 internal column addresses CA00-CA70, CA01-CA71 corresponding to the burst length 16 are generated.
- the folding control signal by appropriately setting the folding control signal, the lower column address or the upper column address can be folded at 2, 4, 8, and 16, and the internal column address necessary for burst access to the rectangular area can be generated. become.
- FIG. 39 is a timing chart for the memory device in the case of burst access of a rectangular area.
- FIG. 39 is a timing chart of burst access similar to FIG. 27.
- the column address control unit in the memory device After t3, internal column addresses CA00, CA10 to CA70 and CA01, CA11 to CA71 are sequentially generated.
- the memory layer performs burst access of the rectangular area by burst access with a burst length of 16 by inputting a column command and a column address once.
- FIG. 40 is a partial configuration diagram of the lower address generation unit for backward access.
- FIG. 40 shows only the counter 81 of the lower address generation unit 80, and the step setting circuit and the folding width setting circuit are omitted.
- An EOR gate group 400 is provided before the initial value input terminal init of the counter 81, and an EOR gate group 402 is provided after the output terminal out.
- the address generation unit control circuit 88 includes the EOR gate groups 400 and 402, the count direction of the lower and upper address generation units can be set to either forward or reverse. Therefore, even if the direction of the vector address VA is the backward direction of the column address, the column address control unit can sequentially generate the internal column address in the backward direction corresponding to the burst mode.
- FIG. 41 is a diagram showing an example of a memory map having a time axis.
- the description has been made on the assumption of a memory map that stores image data, which is two-dimensionally arranged data, in one page area in FIG.
- the column address control unit is configured by dividing the column address into a lower level and an upper level.
- the number of column address divisions is not limited to 2, but may be 3 or more.
- FIG. 41 shows an example in which the number of column address divisions is three.
- the lower column address CA-L (A00-A03) and the middle column address CA-M (A04-A07) are associated with the horizontal and vertical directions of the two-dimensional array data
- the upper column address CA-U ( A08-A09) are associated with the time axis direction time. In this way, by dividing the column address into three, four page areas Page0-3 of the two-dimensional array specified by the lower and middle column addresses are specified by the upper column address.
- CA08 and CA09 are added as addresses for specifying the time axis direction, and the lower column addresses CA03 to CA00 allocated in the horizontal direction of the image and the intermediate positions allocated in the vertical direction of the image.
- the column address CA07 to CA04 and the upper column addresses CA09 to CA08 assigned in the time axis direction are used, and the column address control unit is constituted by three address generation units. According to such a column address control unit, it is possible to perform burst access in the time axis direction of an image.
- two-dimensional array data such as image data can be burst accessed in various directions.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Dram (AREA)
- Image Input (AREA)
Abstract
Description
44:ロウアドレス制御部 47:メモリコア
48:メモリセルアレイ 49:コラムデコーダ
50:ロウデコーダ
図1は,画像符号化システムの構成図である。本実施の形態のメモリ装置は,画像データなどの二次元配列データを記憶するフレームメモリ10に対応する。画像符号化システムは,入力画像データIMinに対して同一フレーム内で圧縮を行うイントラ予測の処理と,時間軸方向で圧縮を行うインター予測の処理のいずれかを選択する処理選択部18と,選択された処理に基づいて入力画像データIMinの符号化を行い符号化された出力画像データCDoutを出力する符号化処理部20とを有する。さらに,画像符号化システムは,イントラ予測処理部14と,動き予測処理17を含むインター予測処理部16とを有する。そして,イントラ予測処理部14とインター予測処理部16とは,それぞれメモリコントローラ12を経由してフレームメモリ10にアクセスし,フレームメモリに記憶された画像データのうち所望の領域の画像データに対して,リードまたはライトを行う。処理選択部18は,イントラ予測処理の結果とインター予測処理の結果に基づいて,より適している処理を選択する。イントラ予測処理部14とインター予測処理部16は,メモリコントローラ12を介して,フレームメモリ10に頻繁にアクセスする。そのため,フレームメモリ10は,イントラ予測処理部14とインター予測処理部16による所望の領域の画像データに対するアクセスを効率良く行うことが必要になる。
図8は,本実施の形態におけるコラムアドレス制御部41内のコラムアドレスを生成する構成を示す図である。コラムアドレス制御部41は,8ビットの外部コラムアドレスcaext<07:04>,caext<03:00>を入力し,8ビットの内部コラムアドレスcaint<07:04>,caint<03:00>を生成し,メモリコア内のコラムデコーダに供給する。バーストモードがモードレジスタ40に設定された場合は,コラムアドレス制御部41は,バースト長の数の内部コラムアドレスを順次生成し出力する。
クロックCLKが下位のカウント制御信号countlzに接続;
下位のカウント終了信号(キャリー信号)caintleが上位のカウント制御信号countuzに接続;
逆進制御信号reverselz,reversuzは共に順進に設定;
その結果,下位から上位のクロック制御回路80,84に直列に接続され,クロックCLKに同期して,8ビットの内部コラムアドレスcaint<07:00>が順次カウントアップされる。つまり,上位アドレス生成ユニット84は,下位アドレス生成ユニット80のカウント終了信号caintleに同期してカウント動作を行う。
クロックCLKが下位のカウント制御信号countlzに接続;
下位のカウント終了信号(キャリー信号)caintleが上位のカウント制御信号countuzに接続;
逆進制御信号reverselz,reversuzは共に逆進に設定;
その結果,下位と上位のクロック制御回路80,84が直列に接続され,クロックCLKに同期して,8ビットの内部コラムアドレスcaint<07:00>が順次カウントダウンされる。つまり,上位アドレス生成ユニット84は,下位アドレス生成ユニット80のカウント終了信号caintleに同期してカウント動作を行う。なお,逆進によるカウントダウン動作については,後に詳述する。また,逆進制御信号reversuzは順進に設定されてもよい。
クロックCLKが上位のカウント制御信号countuzに接続;
上位のカウント終了信号(キャリー信号)caintueが下位のカウント制御信号countlzに接続;
逆進制御信号reverselz,reversuzは共に順進に設定;
その結果,上位から下位のクロック制御回路84,80に直列に接続され,クロックCLKに同期して,4ビットの上位内部コラムアドレスcaint<07:04>が順次カウントアップされ,上位のカウント終了信号cainteueに同期して4ビットの下位内部コラムアドレスcaint<03:00>が順次カウントアップされる。
クロックCLKが上位のカウント制御信号countuzに接続;
上位のカウント終了信号(キャリー信号)caintueが下位のカウント制御信号countlzに接続;
逆進制御信号reverselz,reversuzは共に逆進に設定;
その結果,上位から下位のクロック制御回路84,80に直列に接続され,クロックCLKに同期して,4ビットの上位内部コラムアドレスcaint<07:04>が順次カウントダウンされ,上位のカウント終了信号cainteueに同期して4ビットの下位内部コラムアドレスcaint<03:00>が順次カウントダウンされる。なお,逆進制御信号reverslzは順進に設定されてもよい。
クロックCLKが上位と下位のカウント制御信号countuz,countlzに接続;
逆進制御信号reverselz,reversuzは共に順進に設定;
その結果,上位と下位のクロック制御回路84,80が,クロックCLKに同期して並行してカウントアップする。つまり,上位内部コラムアドレスcaint<07:04>と下位内部コラムアドレスcaint<03:00>とが並行して順次カウントアップされる。
クロックCLKが上位と下位のカウント制御信号countuz,countlzに接続;
逆進制御信号reverselz,reversuzは順進,逆進に設定;
その結果,上位と下位のクロック制御回路84,80が,クロックCLKに同期して並行してカウント動作し,それぞれカウントダウン,カウントアップする。つまり,上位内部コラムアドレスcaint<07:04>が順次カウントダウンされ,下位内部コラムアドレスcaint<03:00>が順次カウントアップされる。
クロックCLKが上位と下位のカウント制御信号countuz,countlzに接続;
逆進制御信号reverselz,reversuzは逆進,順進に設定;
その結果,上位と下位のクロック制御回路84,80が,クロックCLKに同期して並行してカウント動作し,それぞれカウントアップ,カウントダウンする。つまり,上位内部コラムアドレスcaint<07:04>が順次カウントアップされ,下位内部コラムアドレスcaint<03:00>が順次カウントダウンされる。
クロックCLKが上位と下位のカウント制御信号countuz,countlzに接続;
逆進制御信号reverselz,reversuzは共に逆進に設定;
その結果,上位と下位のクロック制御回路84,80が,クロックCLKに同期して並行してカウント動作し,共にカウントダウンする。つまり,上位内部コラムアドレスcaint<07:04>が順次カウントダウンされ,下位内部コラムアドレスcaint<03:00>も順次カウントダウンされる。
動画データは連続するフレーム画像データで構成される。MPEG規格による圧縮処理では,フレーム画像間で同じ図形の動き方向を動きベクトルとして求め,動きベクトルと図形の差分のみを次のフレーム画像のデータとすることが行われる。これにより次のフレーム画像のデータ量を圧縮することができる。この動きベクトルの探索では,16×16画素からなるマイクロブロックの画像データと一致または類似する後続のフレーム画像内のマイクロブロック画像を探索する。
図20は,ページ領域内の水平走査アクセスを示す図である。ページ領域Page内を矢印に示したとおり水平方向(行方向)に走査しながらアクセスするためには,メモリ装置内のコラムアドレス制御部が,下位のコラムアドレスCA-Lを優先してインクリメントし(矢印200),下位のコラムアドレスのキャリー信号により上位のコラムアドレスCA-Uをインクリメントすることが必要である。これにより,水平方向に連続してバーストリード可能になる。
以下,特殊な走査アクセスとして,間引きバーストアクセスと,矩形領域のバーストアクセスと,順進・逆進のアクセスとについて説明する。
図29は,動き予測を行うときのアクセスを説明する図である。この例では,ワード構成が×16ビットのDQインターフェースのメモリ装置に,1画素あたり8ビットのデータがマッピングされている。動き予測では,太枠で囲んだ4×4画素の正方形の矩形290について,垂直方向に±4画素,水平方向に±8画素の探索が行われるとする。つまり,動きベクトル探索では,長方形領域292内で矩形290が列方向に9回,行方向に9回それぞれ移動しながら,合計81回,矩形290の画像データと移動先の矩形の画像データとを比較する処理が行われる。一致画像データが検出されると,矩形290からその検出された矩形領域の方向が動きベクトルになる。
次に,矩形領域のバーストアクセスについて説明する。本実施の形態の下位及び上位アドレス生成ユニットの折り返し幅制御信号selcntlwにより折り返し幅設定回路83,87を設定することで,下位及び上位アドレス生成ユニットのカウント終了値を任意に設定することができる。それにより,アドレス生成ユニットはクロックCLKに同期して任意の範囲のカウント値を繰り返し生成することができる。これを利用すれば,行列方向にコラムアドレスが異なるメモリ単位領域からなる矩形領域を,1回のコラム系コマンドと先頭コラムアドレスによりバーストアクセスすることができる。ただし,カウンタ動作の制約から,矩形領域のコラムアドレスの折り返しアドレスは,下位,上位アドレスともに
CA=1,3,7,Fの位置になる。
を下位アドレス生成ユニット80のカウント制御信号countlzに供給する。そして,ステップ制御信号selcntlsを下位上位共にStep1に設定し,折り返し制御信号selcontlwを下位,上位でWidth16,
Width8に設定する。そして,バースト長BL=16に設定すれば,コラムアドレス制御部は,先頭コラムアドレスCA00から,上位アドレス生成ユニット84のインクリメント動作により,内部コラムアドレスCA00,CA10,CA20,CA30,CA40,CA50,CA60,CA70を順次生成したあと,カウンタA06の桁上げ信号をカウント終了信号(キャリー信号)caintueとして出力し,それを下位アドレス生成ユニットのカウント制御信号countlzとしてカウンタA00に入力する。これに応答して,下位アドレス生成ユニット80が下位アドレスを+1インクリメントする。さらに,コラムアドレス制御部は,下位側でインクリメントされたコラムアドレスCA01から,上位アドレス生成ユニット84のインクリメント動作により,内部コラムアドレスCA01,CA11,CA21,CA31,CA41,CA51,CA61,CA71を順次生成する。これにより,バースト長16のバーストアクセスにより,矩形領域のアクセスを行うことができる。
cnt04en, nt02enをHレベルに制御し,制御信号cont16enのみをLレベルに制御し,セレクタSL27が入力in2を選択し,他のセレクタSL26,
SL25, SL24が入力in1を選択する。これにより,カウンタA04,A05,A06からなる3ビットカウンタが構成され,内部コラムアドレスcaint4-6が順次000-111になる。最上位のアドレスcaint7は初期値caext7に固定される。つまり,図38のデコーダ回路170Bは,制御信号380がLレベルに設定されているので,折り返し幅信号width02-16に応じて制御信号cnt02en-cnt16enを生成する。具体的には,折り返し幅信号width02-16のうちwidth02=Hならcnt02en=Hとなり1ビットカウンタに設定される。width04=Hなら=Hとなり2ビットカウンタに設定される。width16=Hならcnt02en,cnt04en,cnt08en,cnt16en=Hとなり4ビットカウンタに設定される。
図40は,逆進アクセスする場合の下位アドレス生成ユニットの一部構成図である。図40には,下位アドレス生成ユニット80のカウンタ81についてのみ示されていて,ステップ設定回路と折り返し幅設定回路は省略されている。カウンタ81の初期値入力端子initの前段にEORゲート群400が設けられ,出力端子outの後段にEORゲート群402が設けられている。これらのEROゲート群400,402の一方の入力端子には逆進制御信号reverslzが入力され,逆進制御信号reverslz=Hであれば,外部コラムアドレスcaext0-3がEORゲート群400で反転してカウンタ81に入力され,カウンタ出力がEORゲート群4002で反転して内部コラムアドレスcaint0-3として出力される。逆進制御信号reverslz=Lであれば,EORゲート群400,402は他方の入力信号を反転せずにそのまま出力する。
Claims (16)
- アドレスにより選択される複数のメモリ単位領域を有し,二次元配列データを前記複数のメモリ単位領域に記憶するメモリセルアレイと,
外部アドレスを入力し,当該外部アドレスに基づいて前記メモリ単位領域を選択する内部アドレスを生成する内部アドレス制御部と,
前記内部アドレスをデコードして前記メモリ単位領域を選択するデコーダとを有し,
前記複数のメモリ単位領域は,前記内部アドレスの下位ビット群に基づいて前記二次元配列データの行列のうち第1の方向に配列されたデータを記憶し,前記アドレスの上位ビット群に基づいて前記二次元配列データの行列のうち第2の方向に配列されたデータを記憶し,
前記内部アドレス制御部は,前記内部アドレスの下位ビット群を生成する下位アドレス生成ユニットと,前記内部アドレスの上位ビット群を生成する上位アドレス生成ユニットと,前記二次元配列データの走査方向を制御する走査方向制御信号に基づいて前記下位アドレス生成ユニットと上位アドレス生成ユニットの動作を制御するアドレス生成ユニット制御回路とを有し,前記走査方向制御信号の走査方向に対応する内部アドレスを順次生成することを特徴とするメモリ装置。 - 請求項1記載のメモリ装置において,
前記アドレスはロウアドレスとコラムアドレスとを有し,
前記メモリセルアレイは前記ロウアドレスで選択される複数のページ領域を有し,当該ページ領域は前記コラムアドレスで選択される複数の前記メモリ単位領域を有し,
前記内部アドレス制御部は前記内部アドレスのうち内部コラムアドレスを生成することを特徴とするメモリ装置。 - 請求項2記載のメモリ装置において,
アクティブコマンドに応答して,前記ロウアドレスで選択されるページ領域がアクティブ動作を行い,前記アクティブコマンド後に供給されるリードコマンド又はライトコマンドに応答して,前記コラムアドレスに対応する前記メモリ単位領域にリード動作またはライト動作が行われ,
バーストモードでは,前記リードコマンド又はライトコマンドに応答して,内部アドレス制御部がバースト長の数の内部コラムアドレスを順次生成し,当該順次生成される内部コラムアドレスにより選択される前記メモリ単位領域にリード動作またはライト動作が繰り返されることを特徴とするメモリ装置。 - 請求項3記載のメモリ装置において,
前記走査方向制御信号が斜め方向の場合に,前記アドレス生成ユニット制御回路は,前記下位アドレス生成ユニットと上位アドレス生成ユニットとを並行して動作させて,上位内部コラムアドレスと下位内部コラムアドレスとを並行して順次生成させることを特徴とするメモリ装置。 - 請求項4記載のメモリ装置において,
前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,カウンタ制御信号に応答してカウント値を変更するカウンタ回路をそれぞれ有することを特徴とするメモリ装置。 - 請求項5記載のメモリ装置において,
前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,さらに,ステップ制御信号に応じて前記カウンタ制御信号を前記カウンタ回路のいずれかの桁に入力する下位ステップ設定回路と上位ステップ設定回路をそれぞれ有するメモリ装置。 - 請求項6記載のメモリ装置において,
前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,前記走査方向制御信号と前記ステップ制御信号とに応じた角度方向に対応する下位内部コラムアドレスと上位内部コラムアドレスとを順次生成することを特徴とするメモリ装置。 - 請求項5記載のメモリ装置において,
前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,さらに,折り返し幅制御信号に応じて前記カウンタ回路のいずれかの桁の出力信号をキャリー信号として出力する下位折り返し幅設定回路と上位折り返し幅設定回路をそれぞれ有することを特徴とするメモリ装置。 - 請求項5記載のメモリ装置において,
前記カウンタ回路は,外部から供給されるコラムアドレスが初期値として設定され,前記バースト長の数だけカウント制御信号に応答してカウント値を変更して下位及び上位内部コラムアドレスを順次生成することを特徴とするメモリ装置。 - 請求項3記載のメモリ装置において,
前記走査方向データが前記第1または第2の方向の場合に,前記アドレス生成ユニット制御回路は,前記下位アドレス生成ユニットと上位アドレス生成ユニットとを直列に動作させ,
前記走査方向データが前記第1の方向の場合に,前記アドレス生成ユニット制御回路は,クロックに応答して前記下位アドレス生成ユニットが下位の内部コラムアドレスを順次生成し,前記下位アドレス生成ユニットが生成するキャリー信号に応答して前記上位アドレス生成ユニットが上位の内部コラムアドレスを順次生成し,
前記走査方向データが前記第2の方向の場合に,前記アドレス生成ユニット制御回路は,クロックに応答して前記上位アドレス生成ユニットが上位の内部コラムアドレスを順次生成し,前記上位アドレス生成ユニットが生成するキャリー信号に応答して前記下位アドレス生成ユニットが下位の内部コラムアドレスを順次生成することを特徴とするメモリ装置。 - 請求項3において,
前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,カウンタ制御信号に応答してカウント値を変更するカウンタ回路をそれぞれ有し,さらに,折り返し幅制御信号に応じて前記カウンタ回路のいずれかの桁の出力信号をキャリー信号として出力する下位折り返し幅設定回路と上位折り返し幅設定回路をそれぞれ有し,
2つの方向にそれぞれ複数のメモリ単位領域を有する矩形領域をアクセスする場合,前記リードコマンドまたはライトコマンドと外部コラムアドレスとに応答して,前記下位または上位アドレス生成ユニットは,前記折り返し幅制御信号に応じて設定された折り返し幅で内部コラムアドレスの発生を繰り返すことを特徴とするメモリ装置。 - 請求項3記載のメモリ装置において,
前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,カウンタ制御信号に応答してカウント値を変更するカウンタ回路をそれぞれ有し,
さらに,前記下位アドレス生成ユニット及び上位アドレス生成ユニットは,逆進制御信号に応答して,カウント初期値を反転して前記カウンタ回路に供給し,前記カウンタ回路のカウント値を反転して出力するゲート群を有することを特徴とするメモリ装置。 - 請求項1記載のメモリ装置において,
前記アドレス生成ユニット制御回路は,前記走査方向制御信号が前記第1の方向の場合は,前記下位アドレス生成ユニットを優先して動作させて前記下位アドレスを順次変化させ,前記走査方向制御信号が前記第2の方向の場合は,前記上位アドレス生成ユニットを優先して動作させて前記上位アドレスを順次変化させ,前記走査方向制御信号が前記第1及び第2の方向とは異なる斜め方向の場合は,前記下位及び上位アドレス生成ユニットを並行して動作させて前記下位及び上位アドレスを並行して順次変化させることを特徴とするメモリ装置。 - アドレスにより選択される複数のメモリ単位領域を有し,二次元配列データを前記複数のメモリ単位領域に記憶するメモリセルアレイと,
外部アドレスを入力し,当該外部アドレスに基づいて前記メモリ単位領域を選択する内部アドレスを生成する内部アドレス制御部と,
前記内部アドレスをデコードして前記メモリ単位領域を選択するデコーダとを有し,
前記複数のメモリ単位領域は,前記内部アドレスの下位ビット群に基づいて前記二次元配列データの行列のうち第1の方向に配列されたデータを記憶し,前記アドレスの上位ビット群に基づいて前記二次元配列データの行列のうち第2の方向に配列されたデータを記憶し,
前記内部アドレス制御部は,前記二次元配列データの少なくとも斜め方向を含む複数の走査方向を制御する走査方向制御信号に基づいて前記走査方向に対応する内部アドレスを順次生成することを特徴とするメモリ装置。 - 請求項1または14に記載のメモリ装置を制御するメモリコントローラにおいて,
アクセス対象の矩形領域を規定する位置座標と縦横の長さと傾きとを入力し,前記走査方向制御信号を生成するバースト方向判定部と,
制御コマンドを生成して前記メモリ装置に出力するコマンド発行部と,
前記外部アドレスを生成して前記メモリ装置に出力するアドレス発行部とを有し,
前記走査方向制御信号が前記メモリ装置に出力されることを特徴とするメモリコントローラ。 - 請求項15記載のメモリコントローラにおいて,
前記バースト方向判定部は,前記縦横の長さのうちより長い縦または横の方向を走査方向とする前記走査方向制御信号を生成することを特徴とするメモリコントローラ。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200880130151.1A CN102292774B (zh) | 2008-06-30 | 2008-06-30 | 存储器装置以及控制该存储器装置的存储器控制器 |
JP2010518823A JP5126360B2 (ja) | 2008-06-30 | 2008-06-30 | メモリ装置及びそれを制御するメモリコントローラ |
PCT/JP2008/001702 WO2010001433A1 (ja) | 2008-06-30 | 2008-06-30 | メモリ装置及びそれを制御するメモリコントローラ |
EP08790101A EP2299449A1 (en) | 2008-06-30 | 2008-06-30 | Memory device and memory controller for controlling the same |
KR20107029621A KR101226394B1 (ko) | 2008-06-30 | 2008-06-30 | 메모리 장치 |
US12/981,075 US8493400B2 (en) | 2008-06-30 | 2010-12-29 | Memory device and memory control for controlling the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2008/001702 WO2010001433A1 (ja) | 2008-06-30 | 2008-06-30 | メモリ装置及びそれを制御するメモリコントローラ |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/981,075 Continuation US8493400B2 (en) | 2008-06-30 | 2010-12-29 | Memory device and memory control for controlling the same |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010001433A1 true WO2010001433A1 (ja) | 2010-01-07 |
Family
ID=41465548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2008/001702 WO2010001433A1 (ja) | 2008-06-30 | 2008-06-30 | メモリ装置及びそれを制御するメモリコントローラ |
Country Status (6)
Country | Link |
---|---|
US (1) | US8493400B2 (ja) |
EP (1) | EP2299449A1 (ja) |
JP (1) | JP5126360B2 (ja) |
KR (1) | KR101226394B1 (ja) |
CN (1) | CN102292774B (ja) |
WO (1) | WO2010001433A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693751A (zh) * | 2011-03-23 | 2012-09-26 | 海力士半导体有限公司 | 半导体存储装置的地址延迟电路 |
JP2019057349A (ja) * | 2017-09-21 | 2019-04-11 | 東芝メモリ株式会社 | 半導体記憶装置 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5262741B2 (ja) * | 2009-01-19 | 2013-08-14 | パナソニック株式会社 | 色分布分析装置及び色分布分析方法 |
KR101927255B1 (ko) * | 2011-12-27 | 2018-12-12 | 한국전자통신연구원 | 레지스터 윈도우 오버플로우/언더플로우 처리 장치 |
KR101975330B1 (ko) * | 2012-04-06 | 2019-05-07 | 삼성전자주식회사 | 퓨즈 장치에 저장된 데이터를 리드하는 방법 및 이를 이용하는 장치들 |
US8942473B2 (en) * | 2012-07-25 | 2015-01-27 | Ko Hung Lin | Image processing method and display apparatus |
EP3061233B1 (en) | 2013-10-25 | 2019-12-11 | Microsoft Technology Licensing, LLC | Representing blocks with hash values in video and image coding and decoding |
EP3061253A1 (en) | 2013-10-25 | 2016-08-31 | Microsoft Technology Licensing, LLC | Hash-based block matching in video and image coding |
KR102166762B1 (ko) * | 2013-12-26 | 2020-10-16 | 에스케이하이닉스 주식회사 | 메모리 및 이를 포함하는 메모리 시스템 |
US9507601B2 (en) * | 2014-02-19 | 2016-11-29 | Mediatek Inc. | Apparatus for mutual-transposition of scalar and vector data sets and related method |
WO2015131325A1 (en) * | 2014-03-04 | 2015-09-11 | Microsoft Technology Licensing, Llc | Hash table construction and availability checking for hash-based block matching |
US10368092B2 (en) | 2014-03-04 | 2019-07-30 | Microsoft Technology Licensing, Llc | Encoder-side decisions for block flipping and skip mode in intra block copy prediction |
CN105706450B (zh) * | 2014-06-23 | 2019-07-16 | 微软技术许可有限责任公司 | 根据基于散列的块匹配的结果的编码器决定 |
KR102358276B1 (ko) | 2014-09-30 | 2022-02-04 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 비디오 코딩을 위한 해시 기반 인코더 결정 |
EP3018587B1 (en) * | 2014-11-05 | 2018-08-29 | Renesas Electronics Europe GmbH | Memory access unit |
KR20160112439A (ko) * | 2015-03-19 | 2016-09-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 동작 방법 |
US9639649B2 (en) * | 2015-08-18 | 2017-05-02 | Kabushiki Kaisha Toshiba | Semiconductor memory device, method for designing semiconductor memory device, and recording medium having designing method recorded therein |
CN108431785B (zh) * | 2016-01-25 | 2021-12-10 | 爱信艾达株式会社 | 存储器控制器 |
US10390039B2 (en) | 2016-08-31 | 2019-08-20 | Microsoft Technology Licensing, Llc | Motion estimation for screen remoting scenarios |
US11095877B2 (en) | 2016-11-30 | 2021-08-17 | Microsoft Technology Licensing, Llc | Local hash-based motion estimation for screen remoting scenarios |
US10684955B2 (en) * | 2017-04-21 | 2020-06-16 | Micron Technology, Inc. | Memory devices and methods which may facilitate tensor memory access with memory maps based on memory operations |
US10956315B2 (en) | 2018-07-24 | 2021-03-23 | Micron Technology, Inc. | Memory devices and methods which may facilitate tensor memory access |
KR101956180B1 (ko) | 2018-10-30 | 2019-03-08 | 김경기 | 추진 분사식 해충 방제기 및 그를 구비하는 이류체 압축 방식의 추진 분사식 해충 방제시스템 |
JP6897885B2 (ja) * | 2019-03-08 | 2021-07-07 | 株式会社Jvcケンウッド | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム |
JP7235389B2 (ja) * | 2019-03-29 | 2023-03-08 | ラピスセミコンダクタ株式会社 | 半導体記憶装置 |
US11348622B2 (en) * | 2020-05-06 | 2022-05-31 | Micron Technology, Inc. | Conditional write back scheme for memory |
US11202085B1 (en) | 2020-06-12 | 2021-12-14 | Microsoft Technology Licensing, Llc | Low-cost hash table construction and hash-based block matching for variable-size blocks |
CN114388019B (zh) * | 2022-01-14 | 2023-09-19 | 长鑫存储技术有限公司 | 存储器的检测方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02250132A (ja) * | 1988-11-29 | 1990-10-05 | Matsushita Electric Ind Co Ltd | デュアルポートダイナミックメモリ |
JPH0554657A (ja) | 1991-08-21 | 1993-03-05 | Fujitsu Ltd | 半導体記憶装置 |
JPH05334426A (ja) | 1992-06-04 | 1993-12-17 | Anritsu Corp | 画像データ記憶装置 |
JPH06243675A (ja) | 1993-02-23 | 1994-09-02 | Hitachi Ltd | 半導体記憶装置およびその処理システム |
JPH0896572A (ja) * | 1994-09-27 | 1996-04-12 | Matsushita Electric Ind Co Ltd | 半導体メモリ及びその使用方法、カラムデコーダ並びに画像プロセッサ |
JPH08190372A (ja) | 1995-01-11 | 1996-07-23 | Hitachi Ltd | Vramおよびこれを用いた表示制御システム |
JP2004192110A (ja) * | 2002-12-09 | 2004-07-08 | Sony Corp | 半導体装置及び画像データ処理装置 |
JP2005116128A (ja) | 2003-10-10 | 2005-04-28 | Fujitsu General Ltd | フレームメモリ回路 |
JP2006323604A (ja) * | 2005-05-18 | 2006-11-30 | Sony Corp | データアクセス装置、データアクセス方法、プログラムおよび記録媒体 |
JP2006345415A (ja) | 2005-06-10 | 2006-12-21 | Alegria Kk | 電話交換システム、電話交換方法、電話交換プログラム及び記録媒体 |
JP2007251865A (ja) * | 2006-03-20 | 2007-09-27 | Sony Corp | 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体 |
JP2008048178A (ja) * | 2006-08-16 | 2008-02-28 | Sony Corp | 復号処理装置及び復号処理方法並びに復号処理プログラム |
JP2008159131A (ja) | 2006-12-22 | 2008-07-10 | Fujitsu Ltd | メモリ装置,メモリコントローラ及びメモリシステム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4387370A (en) * | 1980-12-18 | 1983-06-07 | Rca Corporation | Apparatus for angularly scanning memory addresses |
US5142637A (en) * | 1988-11-29 | 1992-08-25 | Solbourne Computer, Inc. | Dynamic video RAM incorporating single clock random port control |
JPH07113904B2 (ja) * | 1990-04-11 | 1995-12-06 | 株式会社東芝 | メモリ・アクセス装置 |
US5293540A (en) * | 1991-07-29 | 1994-03-08 | Nview Corporation | Method and apparatus for merging independently generated internal video with external video |
TW247359B (en) * | 1993-08-30 | 1995-05-11 | Hitachi Seisakusyo Kk | Liquid crystal display and liquid crystal driver |
KR100224807B1 (ko) * | 1994-01-31 | 1999-10-15 | 윤종용 | 반도체 메모리장치 및 고속억세스 방법 |
US5973993A (en) * | 1998-02-27 | 1999-10-26 | Micron Technology, Inc. | Semiconductor memory burst length count determination detector |
GB2362473B (en) * | 2000-05-18 | 2002-08-21 | 3Com Corp | On-chip detector of clock glitches |
JP4286192B2 (ja) * | 2003-08-25 | 2009-06-24 | オリンパス株式会社 | 画像処理装置及び画像処理方法 |
JP2008288946A (ja) * | 2007-05-18 | 2008-11-27 | Seiko Epson Corp | アドレス生成装置及び撮像素子 |
-
2008
- 2008-06-30 WO PCT/JP2008/001702 patent/WO2010001433A1/ja active Application Filing
- 2008-06-30 EP EP08790101A patent/EP2299449A1/en not_active Withdrawn
- 2008-06-30 JP JP2010518823A patent/JP5126360B2/ja not_active Expired - Fee Related
- 2008-06-30 KR KR20107029621A patent/KR101226394B1/ko not_active IP Right Cessation
- 2008-06-30 CN CN200880130151.1A patent/CN102292774B/zh not_active Expired - Fee Related
-
2010
- 2010-12-29 US US12/981,075 patent/US8493400B2/en not_active Expired - Fee Related
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02250132A (ja) * | 1988-11-29 | 1990-10-05 | Matsushita Electric Ind Co Ltd | デュアルポートダイナミックメモリ |
JPH0554657A (ja) | 1991-08-21 | 1993-03-05 | Fujitsu Ltd | 半導体記憶装置 |
JPH05334426A (ja) | 1992-06-04 | 1993-12-17 | Anritsu Corp | 画像データ記憶装置 |
JPH06243675A (ja) | 1993-02-23 | 1994-09-02 | Hitachi Ltd | 半導体記憶装置およびその処理システム |
JPH0896572A (ja) * | 1994-09-27 | 1996-04-12 | Matsushita Electric Ind Co Ltd | 半導体メモリ及びその使用方法、カラムデコーダ並びに画像プロセッサ |
JPH08190372A (ja) | 1995-01-11 | 1996-07-23 | Hitachi Ltd | Vramおよびこれを用いた表示制御システム |
JP2004192110A (ja) * | 2002-12-09 | 2004-07-08 | Sony Corp | 半導体装置及び画像データ処理装置 |
JP2005116128A (ja) | 2003-10-10 | 2005-04-28 | Fujitsu General Ltd | フレームメモリ回路 |
JP2006323604A (ja) * | 2005-05-18 | 2006-11-30 | Sony Corp | データアクセス装置、データアクセス方法、プログラムおよび記録媒体 |
JP2006345415A (ja) | 2005-06-10 | 2006-12-21 | Alegria Kk | 電話交換システム、電話交換方法、電話交換プログラム及び記録媒体 |
JP2007251865A (ja) * | 2006-03-20 | 2007-09-27 | Sony Corp | 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体 |
JP2008048178A (ja) * | 2006-08-16 | 2008-02-28 | Sony Corp | 復号処理装置及び復号処理方法並びに復号処理プログラム |
JP2008159131A (ja) | 2006-12-22 | 2008-07-10 | Fujitsu Ltd | メモリ装置,メモリコントローラ及びメモリシステム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693751A (zh) * | 2011-03-23 | 2012-09-26 | 海力士半导体有限公司 | 半导体存储装置的地址延迟电路 |
JP2019057349A (ja) * | 2017-09-21 | 2019-04-11 | 東芝メモリ株式会社 | 半導体記憶装置 |
Also Published As
Publication number | Publication date |
---|---|
KR101226394B1 (ko) | 2013-01-24 |
KR20110015030A (ko) | 2011-02-14 |
US8493400B2 (en) | 2013-07-23 |
US20110128810A1 (en) | 2011-06-02 |
CN102292774A (zh) | 2011-12-21 |
JP5126360B2 (ja) | 2013-01-23 |
JPWO2010001433A1 (ja) | 2011-12-15 |
EP2299449A1 (en) | 2011-03-23 |
CN102292774B (zh) | 2014-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5126360B2 (ja) | メモリ装置及びそれを制御するメモリコントローラ | |
KR100864473B1 (ko) | 메모리 장치, 메모리 컨트롤러 및 메모리 시스템 | |
KR100873111B1 (ko) | 메모리 장치, 메모리 컨트롤러 및 메모리 시스템 | |
US8918589B2 (en) | Memory controller, memory system, semiconductor integrated circuit, and memory control method | |
US7737986B2 (en) | Methods and systems for tiling video or still image data | |
US6965980B2 (en) | Multi-sequence burst accessing for SDRAM | |
US5850483A (en) | Image decompressing apparatus with efficient image data transfer | |
JPH08307875A (ja) | 画像メモリ装置および動きベクトル検出回路 | |
JPH10283770A (ja) | 半導体メモリ装置およびその読み出しおよび書き込み方法 | |
EP2092759B1 (en) | System for interleaved storage of video data | |
US8436865B2 (en) | Memory controller and memory system using the same | |
US7088369B2 (en) | Checkerboard buffer using two-dimensional buffer pages and using bit-field addressing | |
CN107204199B (zh) | 半导体存储器装置及其地址控制方法 | |
KR20040095795A (ko) | 영상 데이터 처리 시스템 및 영상 데이터 독출/기입 방법 | |
US20080044107A1 (en) | Storage device for storing image data and method of storing image data | |
EP0959428B1 (en) | Image processing apparatus, special effect apparatus and image processing method | |
US6819323B2 (en) | Structure and method for gaining fast access to pixel data to store graphic image data in memory | |
JPH06189292A (ja) | 動画像復号装置 | |
JP2000330864A (ja) | 同期式dramの制御方法 | |
JP2012113597A (ja) | メモリ装置、メモリ制御回路及びメモリ制御システム | |
CA2802666A1 (en) | Image processing device | |
JP2008146235A (ja) | 画像処理装置 | |
JP4696515B2 (ja) | メモリマッピング方法及びメモリインターフェイス回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200880130151.1 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08790101 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010518823 Country of ref document: JP |
|
REEP | Request for entry into the european phase |
Ref document number: 2008790101 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2008790101 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 20107029621 Country of ref document: KR Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |