KR20070060846A - Apparatus for burst access for rotating image in semiconducrot memory - Google Patents

Apparatus for burst access for rotating image in semiconducrot memory Download PDF

Info

Publication number
KR20070060846A
KR20070060846A KR1020050120946A KR20050120946A KR20070060846A KR 20070060846 A KR20070060846 A KR 20070060846A KR 1020050120946 A KR1020050120946 A KR 1020050120946A KR 20050120946 A KR20050120946 A KR 20050120946A KR 20070060846 A KR20070060846 A KR 20070060846A
Authority
KR
South Korea
Prior art keywords
burst
image
unit
data
rotation
Prior art date
Application number
KR1020050120946A
Other languages
Korean (ko)
Inventor
김배성
Original Assignee
엠텍비젼 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엠텍비젼 주식회사 filed Critical 엠텍비젼 주식회사
Priority to KR1020050120946A priority Critical patent/KR20070060846A/en
Publication of KR20070060846A publication Critical patent/KR20070060846A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/606Rotation of whole images or parts thereof by memory addressing or mapping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Image Input (AREA)

Abstract

A burst access device for rotating an image of a semiconductor memory is provided to improve an image processing speed in a DRAM by processing 90° or 270°rotation of image data in a burst mode not a single mode, and improve performance with low power consumption design by using a low clock, as a memory bandwidth is reduced by reading the image in the burst mode. A rotation burst part(410) reads the inputted image data in the burst mode while increasing the image data in a burst length unit. A storing part(420) stores the data received from the rotation burst part in a row direction. A controller(430) reads the data stored in the storing part by a column direction and transfers the read data to an image processor(440). The rotation burst part reads the image data of all addresses by reading the image data from a left lower part of the address to an upper direction in the burst length unit, performing shifting to a right side in the burst length unit if all rows of the burst length are read, and reading the image data from the shifted left lower part to the upper direction in the burst length unit.

Description

반도체 메모리의 이미지 회전을 위한 버스트 접근 장치{Apparatus for burst access for rotating image in semiconducrot memory}Apparatus for burst access for rotating image in semiconducrot memory

도 1은 일반적인 DRAM의 인퍼테이스 구조를 나타낸 예시도,1 is an exemplary view showing an in-permit structure of a general DRAM;

도 2a는 이미지 프로세싱을 위하여 입력되는 이미지,2A is an image input for image processing,

도 2b는 종래의 이미지 프로세싱에서의 프로세싱되는 어드레스의 순서를 설명하기 위한 예시도, 2B is an exemplary diagram for explaining an order of addresses processed in conventional image processing;

도 2c는 도 2a를 이미지 프로세싱한 출력 이미지,2C is an output image obtained by image processing of FIG. 2A;

도 3a는 이미지 프로세싱을 위하여 입력되는 이미지,3A is an image input for image processing,

도 3b는 종래의 이미지 프로세싱에서의 이미지를 회전하는 경우 프로세싱되는 어드레스의 순서를 설명하기 위한 예시도, 3B is an exemplary diagram for explaining the order of addresses processed when rotating an image in conventional image processing;

도 3c는 도 3a를 이미지 프로세싱한 출력 이미지,3C is an output image obtained by image processing of FIG. 3A;

도 4는 본 발명에 따른 반도체 메모리의 이미지 회전을 위한 버스트 접근 장치의 일실시예 구조도,4 is a structural diagram of an embodiment of a burst access device for rotating an image of a semiconductor memory according to the present invention;

도 5a는 이미지가 인가되는 경우 데이터의 어드레스를 나타내기 위한 예시도, 5A is an exemplary diagram for indicating an address of data when an image is applied;

도 5b는 도 4의 회전 버스트부가 어드레스를 읽어들여 저장부에 저장하는 방 식을 설명하기 위한 일예시도,5B is an exemplary view for explaining how the rotation burst unit of FIG. 4 reads an address and stores the address;

도 5c는 도 4의 제어부가 저장부에 저장된 데이터를 읽어내는 방식을 설명하기 위한 일예시도,FIG. 5C is an exemplary diagram for describing a method in which the controller of FIG. 4 reads data stored in a storage unit; FIG.

도 5d는 도 4의 이미지 프로세싱부에 의해 처리된 이미지 데이터의 어드레스를 설명하기 위한 일예시도.FIG. 5D is an exemplary diagram for describing an address of image data processed by the image processing unit of FIG. 4. FIG.

도 6a는 도 4의 회전 버스트부(410)에 입력되는 이미지 데이터의 일예시도,6A illustrates an example of image data input to the rotation burst unit 410 of FIG. 4.

도 6b는 도 4의 저장부에 저장되는 이미지 데이터의 일예시도,6B is an exemplary view illustrating image data stored in a storage unit of FIG. 4;

도 6c는 도 4의 이미지 프로세싱부의 출력인 이미지 데이터의 일예시도.FIG. 6C is an exemplary view of image data output from the image processing unit of FIG. 4. FIG.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

410 : 회전 버스트부 420 : 저장부410: rotation burst unit 420: storage unit

430 : 제어부 440 : 이미지 프로세싱부430: control unit 440: image processing unit

본 발명은 반도체 메모리의 이미지 회전을 위한 버스트 접근 장치에 관한 것으로서, 보다 상세하게는 동적기억장치(dynamic random access memory; 이하, 간단히 'DRAM'이라 함)에서, 이미지를 90° 또는 270°로 회전하는 경우에 사용하기 위한 반도체 메모리의 이미지 회전을 위한 버스트 접근 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a burst access device for rotating images of a semiconductor memory, and more particularly, to rotating an image by 90 ° or 270 ° in a dynamic random access memory (hereinafter, simply referred to as 'DRAM'). A burst access device for rotating an image of a semiconductor memory for use in the case.

일반적으로, 이미지 프로세싱 과정에서 이미지를 회전(rotate)해야 하는 경우가 발생한다. 이 경우, 사용하는 메모리가 DRAM이라면, 'non-sequence address'로 인하여 접근 방식(access type)이 싱글(single)로 진행되므로, 회전하지 않는 이미비와 비교하였을 때 최소 6배 이상 프로세스 속도가 느려지는 문제점이 발행하며, DRAM에 접근하는 동안 대역폭(bandwidth)의 점유율도 늘어나게 되므로, 전체적인 시스템이 느려지는 현상이 발생하는 문제점이 있다.In general, there is a case where an image needs to be rotated during image processing. In this case, if the memory used is DRAM, the access type proceeds as a single due to the 'non-sequence address', so the process speed is reduced by at least six times compared to the non-rotating image ratio. The problem arises, and the bandwidth occupancy is increased while accessing the DRAM, so that the overall system is slowed down.

본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, 이미지 회전을 버스트(burst)로 진행하여, 이미지 프로세스의 속도를 향상시키기 위한, 반도체 메모리의 이미지 회전을 위한 버스트 접근 장치를 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been proposed to solve the above problems, and provides a burst access device for image rotation of a semiconductor memory for advancing the image rotation in bursts to improve the speed of the image process. There is a purpose.

상기한 바와 같은 목적을 달성하기 위해, 본 발명의 바람직한 실시예에 따르면, 이미지 처리를 수행하기 위한 이미지 프로세싱부를 구비하는 반도체 메모리의 이미지 회전을 위한 버스트 접근 장치에 있어서, 인가되는 이미지 데이터를 버스트 길이 단위로 증가시키면서 버스트로 읽기 위한 회전 버스트부; 상기 회전 버스트부로부터 수신한 데이터를 열방향으로 저장하기 위한 저장부; 및 상기 저장부에 저장된 데이터를 행방향으로 읽어 상기 이미지 프로세싱부에 전달하기 위한 제어부를 포함하는 반도체 메모리의 이미지 회전을 위한 버스트 접근 장치가 제공된다.In order to achieve the above object, according to a preferred embodiment of the present invention, in the burst access device for image rotation of the semiconductor memory having an image processing unit for performing the image processing, the applied image data burst length A rotating burst unit for reading in bursts while increasing in units; A storage unit for storing data received from the rotation burst unit in a column direction; And a controller configured to read data stored in the storage unit in a row direction and transmit the read data in a row direction to the image processing unit.

이때, 상기 회전 버스트부는, 이미지 데이터의 어드레스의 왼쪽 아랫부분부터 버스트 길이 단위로 위방향으로 읽기를 수행하고, 버스트 길이의 모든 행에 대하여 읽기를 완료한 경우에는, 버스트 길이 단위로 오른쪽으로 이동한 왼쪽 아랫부분부터 버스트 길이 단위로 위방향으로 읽기를 수행하여, 모든 어드레스의 데이터를 버스트 길이 단위로 읽기를 수행한다.In this case, the rotation burst unit reads upward in the burst length unit from the bottom left of the address of the image data, and when reading of all the rows of the burst length is completed, the rotation burst unit moves to the right in the burst length unit. Read from the bottom left to the burst length unit to read data from all addresses in burst length unit.

또한, 상기 저장부는, 내부 라인 메모리인 것이 바람직하며, 정적기억장치(SRAM)인 것도 바람직하다. 이때, 상기 저장부의 크기는, 이미지의 폭과 버스트 길이에 따라 결정될 수 있다.In addition, the storage unit is preferably an internal line memory, and also preferably a static memory device (SRAM). In this case, the size of the storage unit may be determined according to the width and burst length of the image.

한편, 상기 제어부는, 캐시일 수 있으며, 더블 버퍼 콘트롤러일 수도 있다.The controller may be a cache or a double buffer controller.

먼저, 본 발명의 설명에 앞서, 종래의 이미지 프로세스를 위한 데이터 접근에 대하여 설명하기로 하자.First, prior to the description of the present invention, data access for a conventional image process will be described.

일반적으로, 정적기억장치(static random access memory; 이하, 간단히 'SRAM'이라 함)은 DRAM보다 접근(access) 속도가 빠르다. 그러나 이러한 SRAM은 그 가격이 비싸기 때문에 캐시(cache)와 같은 메모리는 SRAM을 사용하지만, 이미지 프로세싱과 같이 큰 메모리를 필요로 하는 부분은 DRAM을 사용한다. DRAM의 인터페이스(interface) 구조는 다음의 도 1과 같다.In general, static random access memory (hereinafter, simply referred to as 'SRAM') is faster to access than DRAM. However, because such SRAMs are expensive, memory such as caches use SRAM, but portions of the memory that require large memory such as image processing use DRAM. The interface structure of the DRAM is shown in FIG.

도 1은 일반적인 DRAM의 인퍼테이스 구조를 나타낸 예시도이다.1 is an exemplary view showing an in-peritate structure of a general DRAM.

도면과 같은 DRAM의 어드레스(address) 측면에서 보면, 시퀀스 어드레스 (sequence address)가 BANK, RAS(row address strobe), CAS(column address strobe)로 정렬되어 있다. 이러한 어드레스는 메모리 사이즈에 따라 각각 다른 비트폭(bit width)를 가지지만, 편의상 설명을 위하여 다음과 같은 예를 들기로 하자.In terms of the address of the DRAM as shown in the figure, the sequence address is arranged by BANK, row address strobe (RAS), and column address strobe (CAS). These addresses have different bit widths depending on the memory size, but for convenience, the following example will be given.

전체적으로 512개의 바이트(byte)를 가지는 DRAM을 가정하고, BANK[0], RAS[3:0], CAS[3:0]으로 구성되어 있으며, Assuming DRAMs with 512 bytes as a whole, they consist of BANK [0], RAS [3: 0], and CAS [3: 0].

BANK[0] - sequence address[8] : 1bit widthBANK [0]-sequence address [8]: 1 bit width

RAS[3:0] - sequence address[7:4] : 4bit widthRAS [3: 0]-sequence address [7: 4]: 4bit width

CAS[3:0] - sequence address[3:0] : 4bit widthCAS [3: 0]-sequence address [3: 0]: 4bit width

이라고 가정하면, DRAM 메모리에 쓰기(write)를 수행하는 유닛(unit)이 16×16의 16비트 이미지를 쓰면(write), 다음 표 1과 같은 어드레스를 가지게 된다.In this example, if a unit performing a write to a DRAM memory writes a 16 × 16 16-bit image, it will have an address as shown in Table 1 below.

00 22 44 66 88 1010 1212 1414 1616 1818 2020 2222 2424 2626 2828 3030 3232 3434 3636 3838 4040 4242 4444 4646 4848 5050 5252 5454 5656 5858 6060 6262 6464 6666 6868 7070 7272 7474 7676 7878 8080 8282 8484 8686 8888 9090 9292 9494 9696 9898 100100 102102 104104 106106 108108 110110 112112 114114 116116 118118 120120 122122 124124 126126 128128 130130 132132 134134 136136 138138 140140 142142 144144 146146 148148 150150 152152 154154 156156 158158 160160 162162 164164 166166 168168 170170 172172 174174 176176 178178 180180 182182 184184 186186 188188 190190 192192 194194 196196 198198 200200 202202 204204 206206 208208 210210 212212 214214 216216 218218 220220 222222 224224 226226 228228 230230 232232 234234 236236 238238 240240 242242 244244 246246 248248 250250 252252 254254 256256 258258 260260 262262 264264 266266 268268 270270 272272 274274 276276 278278 280280 282282 284284 286286 288288 290290 292292 294294 296296 298298 300300 302302 304304 306306 308308 310310 312312 314314 316316 318318 320320 322322 324324 326326 328328 330330 332332 334334 336336 338338 340340 342342 344344 346346 348348 350350 352352 354354 356356 358358 360360 362362 364364 366366 368368 370370 372372 374374 376376 378378 380380 382382 384384 386386 388388 390390 392392 394394 396396 398398 400400 402402 404404 406406 408408 410410 412412 414414 416416 418418 420420 422422 424424 426426 428428 430430 432432 434434 436436 438438 440440 442442 444444 446446 448448 450450 452452 454454 456456 458458 460460 462462 464464 466466 468468 470470 472472 474474 476476 478478 480480 482482 484484 486486 488488 490490 492492 494494 496496 498498 500500 502502 504504 506506 508508 510510

위 예의 DRAM은 총 2개의 BANK를 가지고, RAS는 16개의 열(row)로 구성되고, CAS는 16개의 행(column)으로 구성되어 있다. 만약 '0'번지에 접근하려면, RAS=0, CAS=0을 부여해야 하며, '32'번지는 RAS=1, CAS=0이고, '34'번지는 RAS=1, CAS=1을부여한다. The DRAM of the above example has a total of two BANKs, the RAS consists of 16 rows, and the CAS consists of 16 columns. If you want to access '0', you should give RAS = 0, CAS = 0, '32' gives RAS = 1, CAS = 0, and '34' gives RAS = 1, CAS = 1. .

만약, 어드레스를 '0'번지부터 '510'번지까지 진행하며 데이터를 읽는다면, '0'에서 '30'번지까지는 버스트로 동작한다. 즉, 같은 RAS 내에 있는 행은 모두 버스트 동작을 수행할 수 있다. 여기서 버스트 동작이란, 매 클럭(clock)마다 데이터를 읽기/쓰기(read/write)하는 동작을 말한다. '30'번지가 되면, BANK 프리차지(pre-charge) 명령으로 버스트를 종료하게 된다. 그 다음 버스트를 진행하기 위하여, '32'번지가 되면, BANK 액티브(active) 명령이 전달되고 RAS 주소가 갱신되며, CAS 지연(latency)을 기다린 후 다시 버스트로 진행할 수 있다. 이와 같은 과정을 반복하여, 총 16개의 버스트16(burst16)으로 진행할 수 있다.If the address is read from address '0' to '510' and data is read, the address from '0' to '30' operates as a burst. That is, all rows in the same RAS can perform a burst operation. In this case, the burst operation refers to an operation of reading / writing data at every clock. At address 30, the burst ends with a BANK precharge command. In order to proceed with the next burst, when the address is '32', the BANK active command is transmitted, the RAS address is updated, and the user can wait again for the CAS latency and then proceed with the burst. This process can be repeated to proceed with a total of 16 bursts 16 (burst16).

만약, 위 예시에서의 이미지를 90°회전한다고 가정하자. 이미지를 90°회전하였을 때 메모리를 읽는 형태에서 그린 어드레스는 다음의 표 2와 같다.Assume that the image in the above example is rotated 90 °. When the image is rotated by 90 °, the memory address is shown in Table 2 below.

480480 448448 416416 384384 352352 320320 288288 256256 224224 192192 160160 128128 9696 6464 3232 00 482482 450450 418418 386386 354354 322322 290290 258258 226226 194194 162162 130130 9898 6666 3434 22 484484 452452 420420 388388 356356 324324 292292 260260 228228 196196 164164 132132 100100 6868 3636 44 486486 454454 422422 390390 358358 326326 294294 262262 230230 198198 166166 134134 102102 7070 3838 66 488488 456456 424424 392392 360360 328328 296296 264264 232232 200200 168168 136136 104104 7272 4040 88 490490 458458 426426 394394 362362 330330 298298 266266 234234 202202 170170 138138 106106 7474 4242 1010 492492 460460 428428 396396 364364 332332 300300 268268 236236 204204 172172 140140 108108 7676 4444 1212 494494 462462 430430 398398 366366 334334 302302 270270 238238 206206 174174 142142 110110 7878 4646 1414 496496 464464 432432 400400 368368 336336 304304 272272 240240 208208 176176 144144 112112 8080 4848 1616 498498 466466 434434 402402 370370 338338 306306 274274 242242 210210 178178 146146 114114 8282 5050 1818 500500 468468 436436 404404 372372 340340 308308 276276 244244 212212 180180 148148 116116 8484 5252 2020 502502 470470 438438 406406 374374 342342 310310 278278 246246 214214 182182 150150 118118 8686 5454 2222 504504 472472 440440 408408 376376 344344 312312 280280 248248 216216 184184 152152 120120 8888 5656 2424 506506 474474 442442 410410 378378 346346 314314 282282 250250 218218 186186 154154 122122 9090 5858 2626 508508 476476 444444 412412 380380 348348 316316 284284 252252 220220 188188 156156 124124 9292 6060 2828 510510 478478 446446 414414 382382 350350 318318 286286 254254 222222 190190 158158 126126 9494 6262 3030

표에서 설명하는 바와 같이, 표 1의 메모리 자체를 90°회전한 것이다.As explained in the table, the memory of Table 1 itself is rotated 90 degrees.

이러한 방식에서 메모리를 읽는 경우, 480, 448, 416, 384,…..형태로 읽어 들이게 되며, 이는 DRAM이 비효율적으로 동작하게 되는 문제점이 발생한다. 즉, 데이터를 읽을 때 계속해서 RAS 주소를 갱신해야 하므로 싱글 동작(single operation)이 일어나며, 버스트 전송이 일어나지 못한다.When reading memory in this manner, 480, 448, 416, 384,... It reads in .. form, which causes DRAM to operate inefficiently. In other words, since the RAS address must be updated continuously when reading data, single operation occurs and burst transmission does not occur.

즉, 표 1에서와 같은 버스트 전송의 전송의 경우에는, 1.2 클럭에 데이터를 읽기/쓰기할 수 있지만, 이와 같은 싱글 전송이 반복되는 경우에는 BANK 액티브(1클럭), RAS 로드(load)(1클럭), CAS 로드(1클럭), CAS 지연(2~3클럭), 데이터 읽기/쓰기(1클럭) 및 BANK 프리차지(1클럭)의 형태가 발생되어, 이러한 데이터에 접근할 때 최소 6~7배의 속도차가 발생하게 되는 문제점이 있다.That is, in the case of the transfer of the burst transfer as shown in Table 1, data can be read / written at 1.2 clocks, but when such a single transfer is repeated, BANK active (1 clock) and RAS load (1). Clock), CAS load (1 clock), CAS delay (2-3 clock), data read / write (1 clock), and BANK precharge (1 clock), so that at least 6 ~ There is a problem that a seven times speed difference occurs.

도 2a는 이미지 프로세싱을 위하여 입력되는 이미지를 나타내며, 도 2b는 종래의 이미지 프로세싱에서의 프로세싱되는 어드레스의 순서를 설명하기 위한 예시도이고, 도 2c는 도 2a를 이미지 프로세싱한 출력 이미지를 나타내며, 표 1을 참조로 설명한 바와 같은 방식으로 이미지 프로세싱이 수행된다. 도 2a 내지 도 2c에서는 100×100 비트를 예를 들어 나타내었다.FIG. 2A illustrates an input image for image processing, FIG. 2B illustrates an example of an order of addresses processed in conventional image processing, and FIG. 2C illustrates an output image obtained by image processing of FIG. 2A. Image processing is performed in the manner as described with reference to 1. 2A to 2C show 100 × 100 bits as an example.

한편, 도 3a는 이미지 프로세싱을 위하여 입력되는 이미지를 나타내며, 도 3b는 종래의 이미지 프로세싱에서의 이미지를 회전하는 경우 프로세싱되는 어드레스의 순서를 설명하기 위한 예시도이고, 도 3c는 도 3a를 이미지 프로세싱한 출력 이미지를 나타내며, 표 2를 참조로 설명한 바와 같은 방식으로 이미지 프로세싱이 수행되는 것이다. 도 3a 내지 도 3c에서도, 도 2a 내지 도 2c에 사용된 이미지를 사용하였으며, 따라서, 100×100 비트를 예를 들어 설명한 것이다.Meanwhile, FIG. 3A illustrates an image input for image processing, and FIG. 3B is an exemplary diagram for describing an order of addresses processed when rotating an image in a conventional image processing, and FIG. 3C illustrates image processing of FIG. 3A. One output image is shown and image processing is performed in the same manner as described with reference to Table 2. 3A to 3C, the image used in Figs. 2A to 2C is used, and thus 100 x 100 bits is described as an example.

따라서, 본 발명은 이미지 데이터를 90°회전하는 경우에도, DRAM에 접근하는 방식을 버스트로 수행하도록 하여, 싱글 동작보다 속도를 향상시키는 것을 그 목적으로 하는 것이다.Therefore, an object of the present invention is to improve the speed over a single operation by performing a burst approach to DRAM even when the image data is rotated by 90 degrees.

상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 우선 각 도면의 구성요소들에 참조 번호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. First of all, in adding reference numerals to the components of each drawing, it should be noted that the same components have the same number as much as possible even if displayed on different drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 4는 본 발명에 따른 반도체 메모리의 이미지 회전을 위한 버스트 접근 장치의 일실시예 구조도이다.4 is a structural diagram of an embodiment of a burst access device for image rotation of a semiconductor memory according to the present invention.

도면에 도시된 바와 같이, 본 발명에 따른 버스트 접근 장치는, 회전 버스트부(410), 저장부(420) 및 제어부(430)를 포함하여 구성되며, 제어부(430)에서 출력된 데이터가 이미지 프로세싱부(440)에 입력된다. 데이터의 이미지 프로세싱을 수행하는 이미지 프로세싱부(440)는 이미 종래에 알려진 바와 같으므로, 이에 대한 상세한 설명은 생략하는 것으로 하겠다.As shown in the figure, the burst access device according to the present invention includes a rotation burst unit 410, a storage unit 420 and the control unit 430, the data output from the control unit 430 is an image processing It is input to the unit 440. Since the image processing unit 440 that performs image processing of the data is already known in the art, a detailed description thereof will be omitted.

본 발명의 설명에 앞서, 90° 및 270°로 회전하지 않는 데이터(즉, 180°회전 데이터 또는 회전하지 않는 데이터)는 메모리에서 원래부터 버스트로 읽어들일 수 있는 것이므로, 본 발명은 90° 및 270°로 회전하는 데이터에 한하여 적용될 수 있는 것이다.Prior to the description of the present invention, since the data that does not rotate at 90 ° and 270 ° (i.e., 180 ° rotation data or non-rotation data) can be read in bursts from the original in memory, the present invention provides a 90 ° and 270 This can only be applied to data rotating in degrees.

먼저, 회전 버스트부(410)는 인가되는 이미지 데이터를 버스트 길이(burst length) 단위로 증가시키면서 버스트로 읽는 기능을 담당한다. 즉, 이미지 데이터를 읽을 때, 도 3b와 같은 방식으로 회전시킨 데이터를 읽지 않고, 버스트 단위로 증가시키면서 읽어들이는 것이다. 이를 도 5a를 참조로 설명하자.First, the rotation burst unit 410 is responsible for reading in bursts while increasing the applied image data in burst length units. That is, when reading the image data, the data rotated in the same manner as in FIG. 3B is not read, but is read in increments in burst units. This will be described with reference to FIG. 5A.

도 5a는 도 3a의 이미지가 인가되는 경우 이미지 데이터의 어드레스를 나타내기 위한 예시도이며, 도 5b는 도 4의 회전 버스트부가 어드레스를 읽어들여 저장부에 저장하는 방식을 설명하기 위한 일예시도이다. 본 발명의 설명에서 도 2a 또는 도 3a의 100×100 비트의 이미지 데이터가 입력되는 경우를 예를 들어 설명하기로 하자.FIG. 5A is an exemplary diagram for illustrating an address of image data when the image of FIG. 3A is applied, and FIG. 5B is an exemplary diagram for describing a method in which the rotation burst unit of FIG. 4 reads an address and stores the address in the storage unit. . In the description of the present invention, a case where 100 x 100 bit image data of FIG. 2A or 3A is input will be described as an example.

종래의 도 3b와 같은 방식에 따르면, 9900, 9800, 9700,,,,,,100, 0, 9901, 9801,,,,,,101, 1, 9902, 9802,,,,,199, 99 순으로 데이터를 읽어들이게 되지만, 본 발명의 회전 버스트부(410)는 버스트4(burst4)를 그 버스트 길이로 한다고 가정하면, 9900, 9901, 9902, 9903, 9800, 9801, 9802, 9803, …, 100, 101, 102, 103, 0, 1, 2, 3, 9904, 9905, 9906, 9907, 9804, 9805, 9806, 9807, …, 96, 97, 98, 99의 순으로 4단위의 버스트로 읽어 들여 저장부(420)에 저장하게 된다. 다만, 본 발명의 설명에서, 편의상 4개 단위로 버스트를 읽는 것을 예를 들어 설명하였으나, 이에 한정되는 것은 아니며, 그 수는 시스템에 따라 다르게 결정될 수 있는 것이다.According to the conventional method as in FIG. 3B, 9900, 9800, 9700 ,,,,, 100, 0, 9901, 9801 ,,,,,, 101, 1, 9902, 9802 ,,,,, 199,99 order Although the data is read, the rotational burst unit 410 of the present invention assumes that burst 4 is the burst length. , 100, 101, 102, 103, 0, 1, 2, 3, 9904, 9905, 9906, 9907, 9804, 9805, 9806, 9807,... , 96, 97, 98, 99 in order to read in bursts of four units to be stored in the storage unit 420. However, in the description of the present invention, for the sake of convenience, the burst reading in four units has been described as an example. However, the present invention is not limited thereto, and the number may be differently determined according to a system.

이때, 저장부(420)는 내부 라인 메모리 역할을 수행하는 것으로, SRAM일 수 있다. 저장부(420)은 회전 버스트부(410)로부터 수신한 데이터를 열방향(즉, 세로 방향)으로 저장하는 기능을 담당한다.In this case, the storage unit 420 serves as an internal line memory, and may be an SRAM. The storage unit 420 is responsible for storing data received from the rotation burst unit 410 in a column direction (ie, a vertical direction).

즉, 회전 버스트부(410)는 도 5a의 어드레스를 왼쪽 아랫부분(bottom)부터 4개 단위로 위 방향으로 읽게 되며, 왼쪽 윗부분이 마지막을 만나게 되면, 다시 4개 단위로 오른쪽으로 이동한 왼쪽 아랫부분부터 위 방향으로 4개씩 버스트로 읽게 되는 것이다.That is, the rotation burst unit 410 reads the address of FIG. 5A in the upward direction from the left bottom portion (bottom) in four units. When the upper left portion meets the last, the left bottom portion moves to the right in four units again. It reads in bursts of four from the top.

이후, 제어부(430)는 이미지 프로세싱부(440)가 요구하는 데이터를 제공하기 위하여, 저장부(420)에 저장된 데이터를 도 5c에 도시된 화살표 방향(즉, 행방향;가로 방향)으로 읽어 이미지 프로세싱부(440)에 제공하는 기능을 담당한다. Thereafter, the controller 430 reads the data stored in the storage 420 in the arrow direction (ie, the row direction; the horizontal direction) shown in FIG. 5C to provide the data requested by the image processing unit 440. It is responsible for the function provided to the processing unit 440.

도 5c는 도 4의 제어부가 저장부에 저장된 데이터를 읽어내는 방식을 설명하기 위한 일예시도이며, 도 5d는 도 4의 이미지 프로세싱부에 의해 처리된 이미지 데이터의 어드레스를 설명하기 위한 일예시도이다. FIG. 5C is an exemplary diagram for describing a method in which the control unit of FIG. 4 reads data stored in a storage unit, and FIG. 5D is an exemplary diagram for explaining an address of image data processed by the image processing unit of FIG. 4. to be.

도면에 도시된 바와 같이, 저장부(420)에 저장된 데이터를 제어부(430)가 가로 방향으로 읽어내며, 이로써 도 5d와 같은 데이터 어드레스를 얻을 수 있게 된다.As shown in the figure, the controller 430 reads the data stored in the storage 420 in the horizontal direction, thereby obtaining a data address as shown in FIG. 5D.

본 발명에 따르면, DRAM에 접근하는 방식이 모두 다 버스트로 수행되므로, 기존의 싱글로 접근하여 속도가 많이 떨어지는 단점을 보완할 수 있다.According to the present invention, since all the approaches to the DRAM are performed in bursts, the disadvantages of the speed drop can be compensated for by approaching the existing single.

한편, 저장부(420)의 크기는 회전 버스트부(410)의 이미지의 폭(image width)와 버스트 길이(burst length)에 따라 결정된다. 이를 수식으로 표현하면 다음의 수학식과 같다.Meanwhile, the size of the storage unit 420 is determined according to the image width and burst length of the image of the rotation burst unit 410. This expression is expressed as the following equation.

Figure 112005072228268-PAT00001
Figure 112005072228268-PAT00001

만약, 회전 버스트부(410)가 'burst4'로 진행한다면, 저장부(420)의 크기는 'image width×burst4'가 된다.If the rotation burst unit 410 proceeds to 'burst4', the size of the storage unit 420 becomes 'image width × burst4'.

또한, 제어부(430)는 캐시(cache)인 것이 바람직하나, 그 뒷단인 이미지 프로세싱부(440)에서 보간(interpolation)과 같이 시간차를 두고 하나의 픽셀에 여러 번 접근하는 어플리케이션(application)이 있는 경우에는 더블 버퍼 콘트롤러(double buffer controller)가 사용될 수도 있다.In addition, the controller 430 is preferably a cache, but there is an application that accesses one pixel many times at a time difference such as interpolation in the image processing unit 440, which is the back side thereof. A double buffer controller can also be used.

도 6a는 도 4의 회전 버스트부(410)에 입력되는 이미지 데이터의 일예시도이며, 도 6b는 도 4의 저장부에 저장되는 이미지 데이터의 일예시도이다. 또한, 도 6c는 도 4의 이미지 프로세싱부의 출력인 이미지 데이터의 일예시도이다. 도 6b의 간격 A는 버스트 길이를 나타내는 것이다.6A illustrates an example of image data input to the rotation burst unit 410 of FIG. 4, and FIG. 6B illustrates an example of image data stored in the storage unit of FIG. 4. 6C is an exemplary view of image data output from the image processing unit of FIG. 4. The interval A in FIG. 6B represents the burst length.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes can be made in the art without departing from the technical spirit of the present invention. It will be clear to those of ordinary knowledge.

상기한 바와 같은 본 발명은, DRAM에 이미지 프로세싱을 위하여 제공되는 이미지 데이터를 회전하는 경우에 싱글이 아닌 버스트로 진행하도록 함으로써, 메모리 대역폭이 적어지며 이로 인해 낮은 클럭을 사용할 수 있게 되므로 저전력 설계가 가능하게 되어 제품의 성능을 향상시킬 수 있도록 하는 효과가 있다.As described above, the present invention allows the DRAM to proceed in a burst rather than single when rotating the image data provided for image processing, so that the memory bandwidth is reduced, and thus a low clock can be used, thereby enabling a low power design. It is effective to improve the performance of the product.

Claims (7)

이미지 처리를 수행하기 위한 이미지 프로세싱부를 구비하는 반도체 메모리의 이미지 회전을 위한 버스트 접근 장치에 있어서,A burst access device for rotating an image of a semiconductor memory having an image processing unit for performing image processing, the apparatus comprising: 인가되는 이미지 데이터를 버스트 길이 단위로 증가시키면서 버스트로 읽기 위한 회전 버스트부;A rotation burst unit for reading bursts while increasing applied image data in burst length units; 상기 회전 버스트부로부터 수신한 데이터를 열방향으로 저장하기 위한 저장부; 및A storage unit for storing data received from the rotation burst unit in a column direction; And 상기 저장부에 저장된 데이터를 행방향으로 읽어 상기 이미지 프로세싱부에 전달하기 위한 제어부를 포함하는 반도체 메모리의 이미지 회전을 위한 버스트 접근 장치.And a control unit for reading the data stored in the storage unit in a row direction and transferring the data stored in the row unit to the image processing unit. 제1항에 있어서, 상기 회전 버스트부는, 이미지 데이터의 어드레스의 왼쪽 아랫부분부터 버스트 길이 단위로 위방향으로 읽기를 수행하고, 버스트 길이의 모든 행에 대하여 읽기를 완료한 경우에는, 버스트 길이 단위로 오른쪽으로 이동한 왼쪽 아랫부분부터 버스트 길이 단위로 위방향으로 읽기를 수행하여, 모든 어드레스의 데이터를 버스트 길이 단위로 읽기를 수행하는 반도체 메모리의 이미지 회전을 위한 버스트 접근 장치.According to claim 1, wherein the rotation burst unit, in the upper direction from the lower left of the address of the image data to read in the burst length unit, when the reading is completed for all the rows of the burst length, in the burst length unit A burst access device for rotating an image of a semiconductor memory, which reads data of all addresses in burst length units by reading upward from the lower left portion moved to the right. 제1항에 있어서, 상기 저장부는, 내부 라인 메모리인 반도체 메모리의 이미지 회전을 위한 버스트 접근 장치.The burst access device of claim 1, wherein the storage unit is an internal line memory. 제3항에 있어서, 상기 저장부는, 정적기억장치(SRAM)인 반도체 메모리의 이미지 회전을 위한 버스트 접근 장치.The burst access device of claim 3, wherein the storage unit is a static memory device (SRAM). 제1항, 제3항 또는 제4항 중 어느 한 항에 있어서, 상기 저장부의 크기는, 이미지의 폭과 버스트 길이에 따라 결정되는 반도체 메모리의 이미지 회전을 위한 버스트 접근 장치.The apparatus of claim 1, wherein the size of the storage unit is determined according to a width and a burst length of the image. 제1항에 있어서, 상기 제어부는, 캐시인 반도체 메모리의 이미지 회전을 위한 버스트 접근 장치.The apparatus of claim 1, wherein the controller is a cache. 제1항에 있어서, 상기 제어부는, 더블 버퍼 콘트롤러인 반도체 메모리의 이미지 회전을 위한 버스트 접근 장치.The apparatus of claim 1, wherein the controller is a double buffer controller.
KR1020050120946A 2005-12-09 2005-12-09 Apparatus for burst access for rotating image in semiconducrot memory KR20070060846A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050120946A KR20070060846A (en) 2005-12-09 2005-12-09 Apparatus for burst access for rotating image in semiconducrot memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050120946A KR20070060846A (en) 2005-12-09 2005-12-09 Apparatus for burst access for rotating image in semiconducrot memory

Publications (1)

Publication Number Publication Date
KR20070060846A true KR20070060846A (en) 2007-06-13

Family

ID=38356814

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050120946A KR20070060846A (en) 2005-12-09 2005-12-09 Apparatus for burst access for rotating image in semiconducrot memory

Country Status (1)

Country Link
KR (1) KR20070060846A (en)

Similar Documents

Publication Publication Date Title
EP1936631B1 (en) Memory device, memory controller and memory system
US7729200B2 (en) Memory device, memory controller and memory system
JP4569915B2 (en) Semiconductor memory device
US8004921B2 (en) Memory device, memory controller and memory system
KR100258672B1 (en) A multi-bank memory architecture and systems and methods using the same
US9696941B1 (en) Memory system including memory buffer
US7917692B2 (en) Method and system for using dynamic random access memory as cache memory
JP2007213055A (en) Method of transferring frame data using synchronous dynamic random access memory, method of transferring frame data to source driver, and timing control module
US7146454B1 (en) Hiding refresh in 1T-SRAM architecture
JPH08180675A (en) Multiple page memory
JPH03286234A (en) Memory control device
JPH08328949A (en) Storage device
KR20070060846A (en) Apparatus for burst access for rotating image in semiconducrot memory
KR100541366B1 (en) DRAM for high speed Data access
US6433786B1 (en) Memory architecture for video graphics environment
JP2010186403A (en) Data processing apparatus
JP3061824B2 (en) Semiconductor memory
JPH04324187A (en) Dynamic ram

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application