KR100759865B1 - User terminal having self-operated additional processor and memory sharing method - Google Patents

User terminal having self-operated additional processor and memory sharing method Download PDF

Info

Publication number
KR100759865B1
KR100759865B1 KR1020050076161A KR20050076161A KR100759865B1 KR 100759865 B1 KR100759865 B1 KR 100759865B1 KR 1020050076161 A KR1020050076161 A KR 1020050076161A KR 20050076161 A KR20050076161 A KR 20050076161A KR 100759865 B1 KR100759865 B1 KR 100759865B1
Authority
KR
South Korea
Prior art keywords
processor
memory
bus
data
additional
Prior art date
Application number
KR1020050076161A
Other languages
Korean (ko)
Other versions
KR20070021655A (en
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 KR1020050076161A priority Critical patent/KR100759865B1/en
Priority to PCT/KR2006/003248 priority patent/WO2007021154A1/en
Publication of KR20070021655A publication Critical patent/KR20070021655A/en
Application granted granted Critical
Publication of KR100759865B1 publication Critical patent/KR100759865B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명은 독립 동작 가능한 부가 제어부를 구비한 사용자 단말기 및 메모리 공유 방법에 관한 것이다. 본 발명의 바람직한 일 실시예에 따른 디지털 처리 장치는 비휘발성 메모리, 휘발성 메모리, 메인 프로세서, 및 메인 프로세서와 MP-AP 버스 및 MEM 버스를 통해 각각 결합되고, 비휘발성 메모리와 NV 버스를 통해 결합되며, 휘발성 메모리와 복수의 AP-AM 버스를 통해 각각 결합되고, 휘발성 메모리와 메인 프로세서간의 억세스 경로를 제공하는 부가 프로세서를 포함한다. 본 발명에 의해, 멀티미디어 데이터 처리시 메인 프로세서의 관여없이 부가 프로세서만으로 동작할 수 있도록 하여 처리 효율을 극대화할 수 있다.The present invention relates to a user terminal having an additional control unit that can operate independently and a memory sharing method. The digital processing device according to the preferred embodiment of the present invention is coupled to the nonvolatile memory, the volatile memory, the main processor, and the main processor through the MP-AP bus and the MEM bus, respectively, through the nonvolatile memory and the NV bus. And an additional processor, each coupled through a volatile memory and a plurality of AP-AM buses, to provide an access path between the volatile memory and the main processor. According to the present invention, it is possible to maximize the processing efficiency by operating only the additional processor without involvement of the main processor when processing multimedia data.

독립, 공유, 메모리, 프로세서, 버스 Independent, shared, memory, processor, bus

Description

독립 동작 가능한 부가 제어부를 구비한 사용자 단말기 및 메모리 공유 방법{User terminal having self-operated additional processor and memory sharing method}User terminal having self-operated additional processor and memory sharing method

도 1은 종래의 카메라 기능을 구비한 이동 통신 단말기의 블록 구성도.1 is a block diagram of a mobile communication terminal having a conventional camera function.

도 2는 종래 기술에 따른 프로세서와 메모리간의 결합 구조를 간략히 나타낸 도면.Figure 2 is a simplified diagram showing a coupling structure between a processor and a memory according to the prior art.

도 3은 종래 기술에 따른 메인 프로세서와 부가 프로세서가 부가 프로세서에 결합된 부가 메모리를 공유하는 구조를 나타낸 블록 구성도.3 is a block diagram illustrating a structure in which a main processor and an additional processor according to the related art share an additional memory coupled to the additional processor.

도 4는 본 발명의 바람직한 일 실시예에 따른 사용자 단말기에 구비된 듀얼 포트 메모리에 결합된 부가 제어부를 나타낸 블록 구성도.4 is a block diagram illustrating an additional control unit coupled to a dual port memory included in a user terminal according to an exemplary embodiment of the present invention.

도 5는 본 발명의 바람직한 일 실시예에 따른 사용자 단말기에 구비된 독립 동작 가능한 부가 제어부를 나타낸 블록 구성도.FIG. 5 is a block diagram illustrating a standalone additional control unit provided in a user terminal according to an exemplary embodiment of the present invention. FIG.

도 6은 본 발명의 바람직한 일 실시예에 따른 부가 제어부의 동작 과정을 나타낸 순서도.6 is a flowchart illustrating an operation process of an additional controller according to an exemplary embodiment of the present invention.

본 발명은 전기/전자 장치(디지털 처리 장치)에 관한 것으로, 특히 복수의 프로세서를 구비한 사용자 단말기에 관한 것이다.The present invention relates to an electrical / electronic device (digital processing device), and more particularly to a user terminal having a plurality of processors.

전기/전자 장치의 일 예로서, 휴대형 단말기는 게임, 이동 통신 등의 기능을 수행하기 위하여 작은 크기로 형성되어 사용자의 휴대를 용이하게 한 전자 장치를 의미한다. 휴대형 단말기에는 이동 통신 단말기, 개인 휴대 단말기(PDA : Personal Digital Assistant), 휴대형 멀티미디어 단말기(PMP : Portable Multimedia Player) 등이 있다.As an example of an electric / electronic device, a portable terminal refers to an electronic device that is formed in a small size to facilitate a user's portability in order to perform a function such as a game or a mobile communication. The portable terminal includes a mobile communication terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), and the like.

이중, 이동 통신 단말기는 본질적으로 이동중인 사용자가 원격지의 수신자와 전화 통화를 가능하도록 구현된 장치이다. 그러나, 과학 기술의 발전으로 인해, 최근의 이동 통신 단말기는 전화 통화 기능, 단문 메시지 송수신 기능, 주소록 관리 기능 등의 본질적 기능 외에 카메라 기능, 멀티미디어 데이터 재생 기능 등의 부가적 기능을 더 구비한다.Among them, a mobile communication terminal is essentially a device implemented so that a mobile user can make a telephone call with a remote receiver. However, due to the development of science and technology, recent mobile communication terminals have additional functions such as a camera function and a multimedia data reproduction function in addition to the essential functions such as a telephone call function, a short message transmission and reception function, and an address book management function.

도 1은 종래의 카메라 기능을 구비한 이동 통신 단말기의 블록 구성도이다.1 is a block diagram of a mobile communication terminal having a conventional camera function.

도 1을 참조하면, 카메라 기능을 구비한 이동 통신 단말기(100)는 고주파 처리부(110), A/D 변환부(115), D/A 변환부(120), 제어부(125), 전원부(130), 키 입력부(135), 메인 메모리(140), 표시부(145), 카메라(150), 영상 처리부(155) 및 보조 메모리(160)를 포함하여 구성된다.Referring to FIG. 1, the mobile communication terminal 100 having a camera function includes a high frequency processor 110, an A / D converter 115, a D / A converter 120, a controller 125, and a power supply 130. ), A key input unit 135, a main memory 140, a display unit 145, a camera 150, an image processing unit 155, and an auxiliary memory 160.

고주파 처리부(110)는 안테나를 통해 수신되거나 안테나를 통해 송신되는 고 주파 신호를 처리한다. The high frequency processor 110 processes the high frequency signal received through the antenna or transmitted through the antenna.

A/D 변환부(115)는 고주파 처리부(110)로부터 출력되는 아날로그 신호를 디지털 신호로 변환하여 제어부(125)로 전달한다. The A / D converter 115 converts an analog signal output from the high frequency processor 110 into a digital signal and transmits the analog signal to the controller 125.

D/A 변환부(120)는 제어부(125)로부터 출력되는 디지털 신호를 아날로그 신호로 변환하여 고주파 처리부(110)로 전달한다.The D / A converter 120 converts the digital signal output from the controller 125 into an analog signal and transmits the analog signal to the high frequency processor 110.

제어부(125)는 이동 통신 단말기(100)의 전반적인 동작을 제어한다. 제어부(125)는 CPU(Central Processing Unit) 또는 마이크로 컨트롤러(Micro-Controller)를 포함할 수 있다.The controller 125 controls the overall operation of the mobile communication terminal 100. The controller 125 may include a central processing unit (CPU) or a micro-controller.

전원부(130)는 이동 통신 단말기(100)의 동작을 위해 필요한 전원을 공급하는 수단으로, 전원부(130)는 외부 전원 소스(source)와 결합되거나 배터리(battery) 등과 결합될 수 있다.The power supply unit 130 is a means for supplying power required for the operation of the mobile communication terminal 100. The power supply unit 130 may be combined with an external power source or a battery.

키 입력부(135)는 이동 통신 단말기(100)의 각종 기능 설정, 다이얼링 등을 수행하기 위한 키 데이터를 생성하여 제어부(125)로 전달한다.The key input unit 135 generates key data for performing various function setting, dialing, etc. of the mobile communication terminal 100 and transmits the generated key data to the controller 125.

메인 메모리(140)는 이동 통신 단말기(100)의 운용 프로그램, 각종 데이터 등을 저장한다. 메인 메모리(140)는 플래시 메모리(Flash Memory) 또는 EEPROM(Electrically Erasable Programmable Read Only Memory) 등으로 구성될 수 있다.The main memory 140 stores an operation program, various data, and the like of the mobile communication terminal 100. The main memory 140 may be configured as a flash memory or an electrically erasable programmable read only memory (EEPROM).

표시부(145)는 이동 통신 단말기(100)의 동작 상태, 관련 정보(예를 들어, 날짜, 시각 등), 카메라(150)를 통해 촬영된 외부 영상 등을 표시한다.The display unit 145 displays an operation state of the mobile communication terminal 100, related information (eg, date, time, etc.), an external image captured by the camera 150, and the like.

카메라(150)는 외부 영상(피사체)를 촬영하고, 영상 처리부(155)는 카메라 (150)에 의해 촬영된 외부 영상을 처리한다. 영상 처리부(155)는 색 보간, 감마 보정, 화질 보정, JPEG 부호화 등의 기능을 수행한다. 보조 메모리(160)는 영상 처리부(155)에 의해 처리된 외부 영상 등을 저장한다. 보조 메모리(160)는 SRAM(Static RAM) 또는 SDRAM(Synchronous DRAM)일 수 있다.The camera 150 photographs an external image (subject), and the image processor 155 processes the external image photographed by the camera 150. The image processor 155 performs functions such as color interpolation, gamma correction, image quality correction, JPEG encoding, and the like. The auxiliary memory 160 stores an external image processed by the image processor 155. The auxiliary memory 160 may be static RAM (SRAM) or synchronous DRAM (SDRAM).

상술한 바와 같이, 카메라 기능을 구비한 이동 통신 단말기(100)는 복수의 프로세서(즉, 메인 프로세서와 부가 기능 수행을 위한 하나 이상의 부가 프로세서)를 구비한다. 예를 들어, 도 1에 도시된 이동 통신 단말기(100)는 전체적인 기능을 제어하기 위한 제어부(125, 즉 메인 프로세서)와 카메라 기능을 제어하기 위한 영상 처리부(155, 즉 부가 프로세서)를 포함한다. 또한, 각각의 프로세서는 각각 독립된 메모리와 결합되도록 구성된다.As described above, the mobile communication terminal 100 having a camera function includes a plurality of processors (ie, a main processor and one or more additional processors for performing additional functions). For example, the mobile communication terminal 100 shown in FIG. 1 includes a controller 125 (ie, a main processor) for controlling overall functions and an image processor 155 (ie, an additional processor) for controlling a camera function. In addition, each processor is configured to be coupled to a separate memory, respectively.

부가 프로세서의 형태 및 수량은 휴대형 단말기(100)에 어떤 부가 기능이 구비되는지에 따라 상이할 수 있다. 예를 들어, 카메라 기능 수행을 위한 부가 프로세서는 JPEG 부호화(encoding), JPEG 복호화(decoding) 등의 기능을 수행할 수 있고, 음악 파일 재생 기능을 수행하기 위한 부가 프로세서는 음악 파일의 부호화, 복호화 등을 수행할 수 있다. 이외에도 휴대형 단말기는 게임 컨트롤을 위한 부가 프로세서 등을 더 포함할 수도 있다. 상술한 프로세서들 각각은 처리된 데이터를 저장하기 위한 메모리를 개별적으로 구비한다.The type and quantity of additional processors may vary depending on what additional functions are provided in the portable terminal 100. For example, an additional processor for performing a camera function may perform functions such as JPEG encoding and JPEG decoding, and an additional processor for performing a music file reproduction function may encode or decode a music file. Can be performed. In addition, the portable terminal may further include an additional processor for game control. Each of the processors described above separately includes a memory for storing the processed data.

이러한 구성에서, 저장 공간의 확장 또는 처리 효율의 증진 등을 위해 각 부가 프로세서가 구비한 메모리를 타 부가 프로세서 또는 메인 프로세서가 공유하도록 하기 위한 다양한 시도가 행해지고 있다. In such a configuration, various attempts have been made to share the memory included in each additional processor with other additional processors or the main processor in order to expand storage space or improve processing efficiency.

그러나, 종래의 메모리 공유 구조는 하나의 포트(port)를 구비한 메모리를 이용하도록 구성되어 고화질, 고성능의 이미지 처리 등에 있어 시간 지연, 처리 효율 감소 등의 문제점이 있었다.However, the conventional memory sharing structure is configured to use a memory having one port, and thus there are problems such as time delay and processing efficiency reduction in high quality and high performance image processing.

도 2는 종래 기술에 따른 프로세서와 메모리간의 결합 구조를 간략히 나타낸 도면이다.2 is a view schematically illustrating a coupling structure between a processor and a memory according to the related art.

도 2에 도시된 바와 같이, 부가 프로세서로서 멀티미디어 프로세서는 이미지 신호 처리부(210), 멀티미디어 처리부(220), 제어 기능 처리부(230)를 포함하여 구성될 수 있고, 각 처리부들(210, 220 및 230)은 하나의 버스를 통해 병렬적으로 메모리(240)에 결합된다.As shown in FIG. 2, the multimedia processor as the additional processor may include an image signal processor 210, a multimedia processor 220, and a control function processor 230, and each processor 210, 220, and 230. ) Is coupled to the memory 240 in parallel via one bus.

이 경우 각각의 처리부는 동시에 메모리(240)에 억세스할 수 없으므로 우선 순위 또는 지정 순서에 따라 순차적으로 메모리(240)에 억세스하게 된다. 따라서, 각 처리부의 처리 동작에 시간 지연이 발생되고, 프로세서가 많은 양의 데이터를 처리함에 부담을 가지게 된다. 또한, 이미지 센서의 화소 수가 증가할수록 비례하여 이미지 신호 처리부(210)가 메모리(240)를 점유하는 시간이 길어지게 되어 다른 처리부에서 지정된 동작을 수행하기 위해 메모리(240)를 이용하는 시간이 제약될 수 밖에 없게 된다.In this case, since each processor cannot access the memory 240 at the same time, the processor 240 sequentially accesses the memory 240 in order of priority or designation. Therefore, a time delay occurs in the processing operation of each processing unit, and the processor is burdened to process a large amount of data. In addition, as the number of pixels of the image sensor increases, the time for which the image signal processor 210 occupies the memory 240 becomes longer, so that the time for using the memory 240 to perform a specified operation in another processor may be limited. There will be only one.

도 3은 종래 기술에 따른 메인 프로세서와 부가 프로세서가 부가 프로세서에 결합된 부가 메모리를 공유하는 구조를 나타낸 블록 구성도이다. 부가 프로세서는 이미지 센서(330)를 제어하고 이미지 센서(330)로부터 입력되는 멀티미디어 데이터 처리를 위한 멀티미디어 프로세서인 경우를 가정하여 설명한다.3 is a block diagram illustrating a structure in which a main processor and an additional processor share an additional memory coupled to the additional processor according to the related art. The additional processor will be described on the assumption that it is a multimedia processor for controlling the image sensor 330 and processing multimedia data input from the image sensor 330.

도 3을 참조하면, 메인 프로세서(310)는 복수의 메모리 컨트롤러(즉, 제1 메모리 컨트롤러(333), 제2 메모리 컨트롤러(336))를 구비한다. 메인 프로세서(310)는 제1 메모리 컨트롤러(333)의 동작에 의해 MP(Main Processor)-AP(Application Processor) 버스(BUS)를 통해 멀티미디어 프로세서(320)에 접속함으로써, 멀티미디어 프로세서(320)에 결합된 부가 메모리(325)에 데이터를 기록(Write)하거나 부가 메모리(325)에 저장된 데이터를 독출(Read)한다. Referring to FIG. 3, the main processor 310 includes a plurality of memory controllers (ie, a first memory controller 333 and a second memory controller 336). The main processor 310 is coupled to the multimedia processor 320 by connecting to the multimedia processor 320 through a Main Processor (MP) -AP (BUS) bus (BUS) by the operation of the first memory controller 333. The data is written to the additional memory 325 or the data stored in the additional memory 325 is read.

또한, 메인 프로세서(310)는 제2 메모리 컨트롤러(336)의 동작에 의해 MP(Main Processor)-MM(Main Memory) 버스(BUS)를 통해 메인 프로세서(310)에 직접 결합된 메인 메모리(315)에 접속하여 데이터를 기록하거나 저장된 데이터를 독출한다.In addition, the main processor 310 is directly coupled to the main processor 310 through a Main Processor (MP) -MM (Main Memory) bus (BUS) by the operation of the second memory controller 336. Access to record data or to read stored data.

멀티미디어 프로세서(320)는 인터페이스(342), 컨트롤러(344), 멀티미디어 처리부(346), 이미지 스케일러(348), 우선 순위 제어부(353), 메모리 제어부(356)를 포함한다. The multimedia processor 320 includes an interface 342, a controller 344, a multimedia processor 346, an image scaler 348, a priority controller 353, and a memory controller 356.

멀티미디어 프로세서(320)는 AP-AM(Application Memory) 버스를 통해 하나의 포트를 구비한 부가 메모리(325)에 결합된다. 또한 멀티미디어 프로세서(320)는 처리한 멀티미디어 데이터를 디스플레이하기 위한 표시부(145)와 결합될 수 있다.The multimedia processor 320 is coupled to the additional memory 325 having one port through an AP-AM bus. In addition, the multimedia processor 320 may be combined with the display unit 145 for displaying the processed multimedia data.

인터페이스(342)는 멀티미디어 프로세서(320)와 결합된 메인 프로세서(310)간에 정보 송수신을 수행한다. 멀티미디어 프로세서(320)는 인터페이스(342)를 통해 메인 프로세서(310)로부터 제어 신호가 수신되면 상응하는 처리 동작을 수행한다.The interface 342 transmits and receives information between the main processor 310 and the multimedia processor 320. The multimedia processor 320 performs a corresponding processing operation when a control signal is received from the main processor 310 through the interface 342.

컨트롤러(344)는 멀티미디어 프로세서(320)의 구동을 위해 내장된 프로그램에 의해 멀티미디어 프로세서(320)의 동작을 제어한다. 즉, 멀티미디어 프로세서(320)의 동작을 제어하고, 프로그램의 수행시 필요한 데이터는 부가 메모리(325)로부터 독출하며, 처리된 프로그래밍 결과를 부가 메모리(325)에 저장한다. 컨트롤러(344)는 시스템 버스(350), 메모리 제어부(356)를 통해 부가 메모리(325)에 억세스할 수 있다. 일반적으로 컨트롤러(344)는 메인 프로세서(310)로부터 수신된 제어 신호에 상응하여 멀티미디어 프로세서(320)의 동작을 제어한다. 컨트롤러(344)는 예를 들어 MCU(Microcontroller Unit)일 수 있다.The controller 344 controls the operation of the multimedia processor 320 by a built-in program for driving the multimedia processor 320. That is, the operation of the multimedia processor 320 is controlled, data necessary for executing a program is read from the additional memory 325, and the processed programming result is stored in the additional memory 325. The controller 344 may access the additional memory 325 through the system bus 350 and the memory controller 356. In general, the controller 344 controls the operation of the multimedia processor 320 in response to a control signal received from the main processor 310. The controller 344 may be, for example, a microcontroller unit (MCU).

멀티미디어 처리부(346)는 부가 메모리(325)에 저장된 이미지 데이터를 독출하여 미리 지정된 포맷(예를 들어 JPEG, MPEG4)으로 압축하거나 필요한 효과를 주는 등의 역할을 수행한다. 또한 멀티미디어 처리부(346)는 메인 프로세서(310)로부터 수신되어 부가 메모리(325)에 저장된 압축 파일을 독출하여 디코딩을 수행한 후 표시부(145)에 디스플레이하는 기능을 수행한다. The multimedia processing unit 346 reads image data stored in the additional memory 325 and compresses the image data into a predetermined format (for example, JPEG and MPEG4) or performs a necessary effect. In addition, the multimedia processing unit 346 reads the compressed file received from the main processor 310 and stored in the additional memory 325, performs decoding, and then displays the decoded file on the display unit 145.

이미지 스케일러(348)는 이미지 센서(330)로부터 입력되는 데이터를 컨트롤러(344)의 제어에 의해 가공하여 미리 지정된 데이터로 변환한다. 이미지 스케일러(348)는 예를 들어 이미지의 크기 조정, 색상 변경, 필터링(filtering)에 의한 부드러운 이미지 생성 등을 수행한다. 이미지 스케일러(348)에 의해 처리된 데이터는 메모리 제어부(356)에 의해 AP-AM 버스를 통해 부가 메모리(325)에 저장된다.The image scaler 348 processes the data input from the image sensor 330 under the control of the controller 344 and converts the data into predetermined data. The image scaler 348 may perform, for example, resizing an image, changing a color, generating a smooth image by filtering, and the like. Data processed by the image scaler 348 is stored by the memory controller 356 in the additional memory 325 via the AP-AM bus.

우선 순위 제어부(353)는 멀티미디어 프로세서(320)의 부가 메모리(325) 억세스 및 메인 프로세서(310)로부터의 부가 메모리(325) 억세스 요청간의 우선 순위 를 결정하여 어느 하나가 부가 메모리(325)에 억세스할 수 있도록 제어한다. 또한, 우선 순위 제어부(353)는 멀티미디어 프로세서(320) 내의 구성 요소(즉, function unit)간의 부가 메모리(325) 억세스 요청시 각 구성 요소의 우선순위를 결정하여 메모리 제어부(356)를 제어한다. 멀티미디어 프로세서(320)는 예를 들어, 이미지 스케일러(348)에 의해 처리된 이미지 데이터의 저장, 멀티미디어 처리부(346)에 의한 부가 메모리(325)에 저장된 데이터의 처리, 처리된 데이터의 저장 등의 경우 부가 메모리(325)에 억세스할 수 있다.The priority control unit 353 determines the priority between the access of the additional memory 325 of the multimedia processor 320 and the request for accessing the additional memory 325 from the main processor 310 so that any one accesses the additional memory 325. To control it. In addition, the priority control unit 353 controls the memory control unit 356 by determining the priority of each element when requesting access to the additional memory 325 between the elements (that is, the function unit) in the multimedia processor 320. The multimedia processor 320 may, for example, store image data processed by the image scaler 348, process data stored in the additional memory 325 by the multimedia processor 346, and store processed data. The additional memory 325 may be accessed.

메모리 제어부(356)는 메인 프로세서(310)와 멀티미디어 프로세서(320)가 동시에 부가 메모리(325) 억세스를 요청한 경우 우선 순위 제어부(353)의 우선 순위 제어 신호에 의해 어느 하나의 프로세서가 부가 메모리(325)에 억세스할 수 있도록 처리한다. 또한, 메모리 제어부(356)는 멀티미디어 프로세서(320) 내부의 구성 요소들이 동시에 부가 메모리(325) 억세스를 요청한 경우 우선 순위 제어부(353)의 제어에 의해 어느 하나의 구성 요소가 부가 메모리(325)에 억세스하도록 처리한다.When the main processor 310 and the multimedia processor 320 request access to the additional memory 325 at the same time, the memory controller 356 may be configured to execute one of the additional memories 325 by the priority control signal of the priority controller 353. ) To make it accessible. In addition, when the components in the multimedia processor 320 request access to the additional memory 325 at the same time, the memory controller 356 may control any one of the components in the additional memory 325 under the control of the priority controller 353. Process to access.

도 3에 도시된 바와 같이 종래의 메모리 공유 구조는 복수의 프로세서들 및/또는 구성 요소들이 하나의 버스를 통해 하나의 메모리에 억세스하는 구조이다. 따라서, 메인 프로세서(310)에서 임의의 부가 프로세서(320)의 메모리를 이용하기 위해 많은 시간적 제한을 가진다. As shown in FIG. 3, a conventional memory sharing structure is a structure in which a plurality of processors and / or components access one memory through one bus. Thus, there are many time limits for using the memory of any additional processor 320 in the main processor 310.

예를 들어, MPEG 파일을 재생하는 경우 메인 프로세서(310)는 연결된 메인 메모리(315)에 저장된 또는 실시간으로 입력받은 MPEG 파일을 멀티미디어 프로세서로 전달하여야 한다. MPEG 파일은 그 크기가 크기 때문에 멀티미디어 프로세서 (320)에 결합된 부가 메모리(325)에 우선 기록되며, 필요 시점에 멀티미디어 프로세서(320)의 특정 구성 요소(예를 들어, 멀티미디어 처리부(346))가 해당 데이터를 독출하여 디코딩(decoding)을 수행한 후 표시부(145)로 전달한다. For example, when playing an MPEG file, the main processor 310 should deliver the MPEG file stored in the connected main memory 315 or received in real time to the multimedia processor. Since the MPEG file is large in size, it is first recorded in the additional memory 325 coupled to the multimedia processor 320, and a specific component of the multimedia processor 320 (e.g., the multimedia processing unit 346) is required when necessary. The data is read, decoded, and transmitted to the display unit 145.

결과적으로, 도 3에 도시된 종래의 메모리 공유 구조에 의하면 프로세서간에 전달된 데이터의 크기가 클수록 멀티미디어 프로세서(320)에 연결된 부가 메모리(325)를 이용함에 많은 제한이 있을 수 밖에 없다. 이는 멀티미디어 프로세서(320)에 포함된 각 구성 요소들이 처리 동작을 수행할 때 부가 메모리(325)에 연결된 AP-AM 버스를 이용하여야 하기 때문이다.As a result, according to the conventional memory sharing structure illustrated in FIG. 3, the larger the size of the data transferred between the processors, the more limited the use of the additional memory 325 connected to the multimedia processor 320. This is because each component included in the multimedia processor 320 must use an AP-AM bus connected to the additional memory 325 when performing a processing operation.

상술한 바와 같이, 종래의 메모리 공유 구조는 고성능, 고화질의 이미지 처리 등의 경우 많은 시간 지연이 발생되는 문제점이 있었다. 또한, 부가 프로세서의 처리 효율이 감소되는 문제점도 있었다.As described above, the conventional memory sharing structure has a problem that a large time delay occurs in the case of high performance, high quality image processing, and the like. In addition, there is a problem that the processing efficiency of the additional processor is reduced.

또한 부가 프로세서는 독립적으로 동작을 수행할 수 없고 메인 프로세서의 제어에 의해서만 동작하기 때문에 멀티미디어 데이터 처리(예를 들어, 오디오 데이터 재생)의 경우에도 두 개의 프로세서들이 각각 동시에 동작을 하여야 한다. 따라서, 전력 소비가 클 수 밖에 없고, 또한 멀티미디어 데이터 처리시 시간의 제약이 발생하는 문제점도 있었다. In addition, since the additional processors cannot operate independently and operate only under the control of the main processor, two processors must simultaneously operate in the case of multimedia data processing (for example, audio data reproduction). Therefore, power consumption is inevitably high, and there is a problem that time constraints occur when processing multimedia data.

따라서, 상술한 문제점들을 해결하기 위한 본 발명의 목적은 멀티미디어 데이터 처리(예를 들어, 오디오 데이터 재생)시 메인 프로세서의 관여없이 부가 프로 세서만으로 동작할 수 있도록 하여 처리 효율을 극대화할 수 있는 독립 동작 가능한 부가 제어부를 구비한 사용자 단말기 및 메모리 공유 방법을 제공하는 것이다.Accordingly, an object of the present invention to solve the above problems is to operate independently of the main processor when the multimedia data processing (for example, audio data playback) without the involvement of the main processor to maximize the processing efficiency To provide a user terminal and a memory sharing method having an additional control possible.

본 발명의 다른 목적은 멀티미디어 데이터 처리(예를 들어, 고성능, 고화질의 이미지 처리, 오디오 데이터 재생 등)의 경우 시간 지연을 최소화할 수 있는 독립 동작 가능한 부가 제어부를 구비한 사용자 단말기 및 메모리 공유 방법을 제공하는 것이다.Another object of the present invention is to provide a user terminal and a memory sharing method having an additional control unit capable of minimizing time delay in the case of multimedia data processing (for example, high performance, high quality image processing, and audio data reproduction). To provide.

본 발명의 또 다른 목적은 데이터 저장 또는 데이터 처리를 요하는 복수의 구성 요소가 저장부에 별개의 경로를 통해 억세스하여 동시에 작업을 수행할 수 있는 독립 동작 가능한 부가 제어부를 구비한 사용자 단말기 및 메모리 공유 방법을 제공하는 것이다.It is still another object of the present invention to share a memory with a user terminal having an independent control unit capable of simultaneously performing operations by accessing a plurality of components requiring data storage or data processing through separate paths to a storage unit. To provide a way.

본 발명의 또 다른 목적은 메인 프로세서의 관여없이 부가 프로세서의 독자적 동작이 가능하도록 하여 최소 전력 소비를 실현할 수 있는 독립 동작 가능한 부가 제어부를 구비한 사용자 단말기 및 메모리 공유 방법을 제공하는 것이다.It is still another object of the present invention to provide a user terminal and a memory sharing method including an additionally operable additional control unit capable of realizing minimum power consumption by enabling independent operation of the additional processor without involvement of the main processor.

본 발명의 또 다른 목적은 부가 프로세서의 처리 동작 여부에 무관하게 이미지 센서로부터 입력되는 이미지 데이터가 저장부에 실시간 저장될 수 있어 메모리 사용 효율을 최적화할 수 있는 독립 동작 가능한 부가 제어부를 구비한 사용자 단말기 및 메모리 공유 방법을 제공하는 것이다.It is still another object of the present invention to provide a user terminal having an independent control unit capable of optimizing memory use efficiency, as image data input from an image sensor may be stored in a storage unit regardless of whether an additional processor is processed. And a memory sharing method.

본 발명의 또 다른 목적은 이미지 센서로부터 입력되는 이미지 데이터의 저장시 시간 지연을 제거할 수 있어 데이터 손실을 억제할 수 있는 독립 동작 가능한 부가 제어부를 구비한 사용자 단말기 및 메모리 공유 방법을 제공하는 것이다.It is still another object of the present invention to provide a user terminal and a memory sharing method including an additionally operable additional control unit capable of eliminating a time delay when storing image data input from an image sensor and suppressing data loss.

본 발명의 또 다른 목적은 메인 프로세서가 독립된 버스(bus)를 통해 부가 프로세서에 결합된 저장부에 억세스할 수 있고, 억세스된 저장부로 신속한 데이터 저장이 가능한 독립 동작 가능한 부가 제어부를 구비한 사용자 단말기 및 메모리 공유 방법을 제공하는 것이다.It is still another object of the present invention to provide a user terminal having an independent control unit capable of accessing a storage unit coupled to an additional processor through an independent bus, and capable of quickly storing data into the accessed storage unit. It is to provide a memory sharing method.

본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.Other objects of the present invention will be readily understood through the following description.

상기 목적들을 달성하기 위하여, 본 발명의 일 측면에 따르면 독립 동작 가능한 부가 제어부를 구비한 사용자 단말기가 제공된다.In order to achieve the above objects, according to an aspect of the present invention, there is provided a user terminal having an additional control unit that can be operated independently.

본 발명의 일 실시예에 따른 디지털 처리 장치는, 휘발성 메모리; 상기 휘발성 메모리에 AP-AM 버스를 통해 결합되는 부가 프로세서; 상기 부가 프로세서에 NV 버스를 통해 결합되는 비휘발성 메모리; 및 상기 부가 프로세서에 MP-AP 버스 및 MEM 버스를 통해 각각 결합되는 메인 프로세서를 포함할 수 있다. 여기서, 상기 메인 프로세서가 상기 휘발성 메모리, 상기 비휘발성 메모리 중 하나 이상에 접속하기 위한 경로를 제공하는 상기 부가 프로세서는, 상기 MEM 버스를 통해 결합된 상기 메인 프로세서가 상기 NV 버스를 통해 상기 비휘발성 메모리에 접속하기 위한 경로를 제공하는 제1 메모리 제어부; 및 상기 메인 프로세서가 상기 AP-AM 버스를 통해 상기 휘발성 메모리에 접속하기 위한 경로를 제공하는 제2 메모리 제어부 중 하나 이상을 포함할 수 있다.A digital processing apparatus according to an embodiment of the present invention, a volatile memory; An additional processor coupled to the volatile memory via an AP-AM bus; A nonvolatile memory coupled to the additional processor via an NV bus; And a main processor coupled to the additional processor through an MP-AP bus and a MEM bus, respectively. Here, the additional processor that provides a path for the main processor to access at least one of the volatile memory and the nonvolatile memory, the main processor coupled via the MEM bus, the non-volatile memory via the NV bus A first memory controller for providing a path for accessing the memory; And a second memory controller configured to provide a path for the main processor to access the volatile memory through the AP-AM bus.

상기 부가 프로세서는, 상기 MP-AP 버스를 통해 상기 메인 프로세서와 정보를 송수신하는 MP 인터페이스; 입력부를 통해 입력되는 사용자 명령을 인식하기 위한 키 스캔부; 상기 사용자 명령에 따라 상기 휘발성 메모리 또는 상기 비휘발성 메모리에 저장된 데이터를 처리하는 멀티미디어 데이터 처리부를 더 포함할 수 있다. 여기서, 상기 제2 메모리 제어부는 상기 메인 프로세서, 상기 멀티미디어 데이터 처리부 중 하나 이상이 각각 상응하는 AP-AM 버스를 통해 상기 휘발성 메모리에 억세스되도록 제어할 수 있다.The additional processor includes an MP interface for transmitting and receiving information with the main processor through the MP-AP bus; A key scan unit for recognizing a user command input through the input unit; The apparatus may further include a multimedia data processor configured to process data stored in the volatile memory or the nonvolatile memory according to the user command. Here, the second memory controller may control at least one of the main processor and the multimedia data processor to access the volatile memory through a corresponding AP-AM bus.

상기 부가 프로세서는, 이미지 센서로부터 실시간 입력되는 데이터를 미리 지정된 방법에 따라 처리하는 이미지 스케일러를 더 포함하되, 상기 제2 메모리 제어부는 상기 이미지 스케일러에 의해 처리된 데이터가 상기 휘발성 메모리에 실시간 저장되도록 하나의 AP-AM 버스를 우선적으로 할당할 수 있다. The additional processor may further include an image scaler configured to process data input in real time from an image sensor according to a predetermined method, wherein the second memory controller is configured to store data processed by the image scaler in the volatile memory in real time. AP-AM bus can be allocated preferentially.

상기 휘발성 메모리는 n개의 저장 영역으로 분할되어 구성되고, m(1 내지 n-1 중 어느 하나)개의 저장 영역은 상기 이미지 스케일러에 의해 전용될 수 있다. 상기 제2 메모리 제어부는 하나의 분할된 저장 영역의 저장 공간이 모두 이용된 경우, 상기 이미지 스케일러에 의해 처리된 데이터가 다른 분할된 저장 영역에 저장되도록 경로를 재설정할 수 있다. 상기 휘발성 메모리 및 상기 비휘발성 메모리 중 하나 이상과 상기 부가 프로세서는 동일한 칩 내에 구현될 수 있다.The volatile memory is divided into n storage regions, and m (any one of 1 to n-1) storage regions may be dedicated by the image scaler. When all of the storage space of one divided storage area is used, the second memory controller may reset a path so that data processed by the image scaler is stored in another divided storage area. At least one of the volatile memory and the nonvolatile memory and the additional processor may be implemented in the same chip.

본 발명의 다른 실시예에 따른 디지털 처리 장치는, 메모리; 메인 프로세서; 및 상기 메인 프로세서 및 상기 메모리에 각각 결합되고, 상기 메모리에 저장된 데이터를 처리하여 출력하는 부가 프로세서를 포함할 수 있다. 상기 부가 프로세서는, 상기 메인 프로세서와 정보를 송수신하는 MP 인터페이스; 입력부를 통해 입력되는 사용자 명령을 인식하기 위한 키 스캔부; 및 상기 키 스캔부를 통해 인식된 상기 사용자 명령에 상응하도록 상기 메모리에 저장된 데이터를 처리하는 멀티미디어 데이터 처리부를 포함할 수 있다.According to another embodiment of the present invention, a digital processing device includes a memory; Main processor; And an additional processor coupled to the main processor and the memory, respectively, for processing and outputting data stored in the memory. The additional processor, MP interface for transmitting and receiving information with the main processor; A key scan unit for recognizing a user command input through the input unit; And a multimedia data processor configured to process data stored in the memory to correspond to the user command recognized through the key scan unit.

본 발명의 또 다른 실시예에 따른 디지털 처리 장치의 부가 프로세서는, 메인 프로세서와 정보를 송수신하는 MP 인터페이스; 입력부를 통해 입력되는 사용자 명령을 인식하기 위한 키 스캔부; 상기 키 스캔부를 통해 인식된 상기 사용자 명령에 상응하도록 메모리에 저장된 데이터를 처리하는 멀티미디어 데이터 처리부; 및 상기 MP 인터페이스를 통해 상기 메인 프로세서로부터 멀티미디어 데이터 재생 명령이 입력되면 상기 키 스캔부를 활성화하는 컨트롤러를 포함할 수 있다.An additional processor of the digital processing apparatus according to another embodiment of the present invention, the MP interface for transmitting and receiving information with the main processor; A key scan unit for recognizing a user command input through the input unit; A multimedia data processor configured to process data stored in a memory to correspond to the user command recognized through the key scan unit; And a controller for activating the key scan unit when a multimedia data play command is input from the main processor through the MP interface.

상기 목적들을 달성하기 위하여, 본 발명의 다른 측면에 따르면 메모리 공유 방법이 제공된다.In order to achieve the above objects, a memory sharing method is provided according to another aspect of the present invention.

본 발명의 일 실시예에 따른 부가 프로세서의 독립적 실행 방법은, 메인 프로세서가 멀티미디어 데이터 재생을 위한 일련의 데이터를 비휘발성 메모리 또는 휘발성 메모리에 저장하도록 하는 경로를 제공하는 단계; 상기 메인 프로세서로부터 상기 멀티미디어 데이터의 재생 명령이 수신되면, 입력부를 통해 입력되는 사용자 명령을 인식하기 위한 키 스캔부를 활성화하는 단계; 상기 메인 프로세서로 준비 완료 통지를 전송하는 단계; 및 상기 입력부를 통해 입력된 상기 사용자 명령이 상기 키 스캔부를 통해 인식되면 상응하는 멀티미디어 데이터 재생 동작을 수행하는 단계를 포함할 수 있다.According to an embodiment of the present invention, there is provided a method of independently executing an additional processor, including: providing a path for a main processor to store a series of data for playing multimedia data in a nonvolatile memory or a volatile memory; Activating a key scan unit for recognizing a user command input through an input unit when a reproduction command of the multimedia data is received from the main processor; Sending a ready notification to the main processor; And performing a corresponding multimedia data reproduction operation when the user command input through the input unit is recognized through the key scan unit.

상기 부가 프로세서는 상기 메인 프로세서와 MP-AP 버스 및 MEM 버스를 통해 각각 결합되고, 상기 비휘발성 메모리와 NV 버스를 통해 결합되며, 상기 휘발성 메모리와 복수의 AP-AM 버스를 통해 각각 결합될 수 있다.The additional processor may be coupled to the main processor through the MP-AP bus and the MEM bus, respectively, through the nonvolatile memory and the NV bus, and may be respectively coupled through the volatile memory and the plurality of AP-AM buses. .

상기 부가 프로세서의 독립적 실행 방법은 이미지 센서로부터 데이터가 실시간 입력되면 미리 지정된 방법으로 처리하는 단계; 상기 처리된 데이터를 상기 비휘발성 메모리에 저장하기 위하여 어느 하나의 AP- AM 버스를 우선적으로 할당하는 단계; 및 상기 할당된 AP-AM 버스를 통해 상기 처리된 데이터를 상기 비휘발성 메모리에 저장하는 단계를 더 포함할 수 있다.The independent execution method of the additional processor may include processing in a predetermined method when data is input in real time from an image sensor; Preferentially allocating one AP-AM bus to store the processed data in the nonvolatile memory; And storing the processed data in the nonvolatile memory through the allocated AP-AM bus.

상기 준비 완료 통지를 수신한 상기 메인 프로세서는 파워 다운 모드(power down mode)로 전환할 수 있다.The main processor receiving the preparation completion notification may switch to a power down mode.

이하, 본 발명의 바람직한 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. 본 명세서에서 이용되는 서수(ordinal number, 예를 들어, 제1, 제2, A, B 등)는 동일 또는 유사한 개체가 표시된 순서대로 단지 구별을 위해 순차적으 로 구분하기 위한 식별 기호에 불과하다. 따라서, 서수가 부가된 구성 요소의 명칭은 그 전체로서 특정되는 것은 아니며, 또한 이로 인해 본 발명의 권리범위가 제한되지 않음은 자명하다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. As used herein, an ordinal number (eg, first, second, A, B, etc.) is merely an identification symbol for sequentially distinguishing the same or similar entities in order of identification only. Therefore, the name of the component to which the ordinal number is added is not specified as a whole, and it is obvious that the scope of the present invention is not limited thereby.

또한, 본 발명은 복수의 프로세서를 구비하고, 특정 메모리가 복수의 프로세서에 의해 공유될 필요가 있거나 하나의 프로세서에 포함된 복수의 구성 요소가 동시에 메모리를 공유할 필요가 있는 모든 형태의 디지털 처리 장치 또는 시스템(예를 들어, 이동 통신 단말기, PDA, PMP(Portable Multimedia Player), MP3 플레이어, 디지털 카메라, 디지털 텔레비전, 음향 기기 등과 같이 휴대형 단말기 및/또는 가정 내에 구비되는 가정용 디지털 기기 등)에 동일하게 적용할 수 있음은 자명하다. 다만, 이하에서는 설명 및 이해의 편의를 위해 휴대형 단말기를 중심으로 설명하기로 한다. 또한, 하기의 설명을 통해 본 발명이 적용될 수 있는 휴대형 단말기가 특정 유형의 단말기에 제한되지 않고 복수의 프로세서 또는 구성 요소들에 의해 공유되는 메모리를 포함하여 구성된 단말기인 경우라면 동일하게 적용될 수 있음을 쉽게 이해할 수 있을 것이다.In addition, the present invention provides a digital processing apparatus of any type that includes a plurality of processors, a particular memory needs to be shared by a plurality of processors, or a plurality of components included in one processor need to simultaneously share a memory. Or similarly to a system (e.g., a mobile terminal, a PDA, a portable multimedia player (PMP), an MP3 player, a digital camera, a digital television, an audio device, etc., a portable terminal and / or a home digital device in a home, etc.) Applicability is obvious. However, hereinafter, the description will be made mainly on the portable terminal for convenience of explanation and understanding. In addition, through the following description that the portable terminal to which the present invention can be applied is not limited to a specific type of terminal, but may be equally applicable if the terminal is configured to include a memory shared by a plurality of processors or components. It will be easy to understand.

도 4는 본 발명의 바람직한 일 실시예에 따른 사용자 단말기에 구비된 듀얼 포트 메모리에 결합된 부가 제어부를 나타낸 블록 구성도이다.4 is a block diagram illustrating an additional control unit coupled to a dual port memory included in a user terminal according to an exemplary embodiment of the present invention.

부가 프로세서(320)는 멀티미디어 프로세서인 경우를 중심으로 설명하며, 멀티미디어 프로세서는 이미지 센서(330)를 제어하고 이미지 센서(330)로부터 입력되는 멀티미디어 데이터(예를 들어, 이미지 데이터, 음성 데이터 등 중 적어도 어느 하나를 포함하는 데이터)를 처리하며, 부가 메모리(410)에 저장된 오디오 데이터를 처리하여 오디오 재생부(415)로 전달하며, 3D 게임을 실행하는 등의 기능들 중 하나 이상을 수행할 수 있다. The additional processor 320 is mainly described as a multimedia processor, and the multimedia processor controls the image sensor 330 and receives at least multimedia data (eg, image data, voice data, etc.) input from the image sensor 330. Data including any one), the audio data stored in the additional memory 410 may be processed and transmitted to the audio reproducing unit 415, and one or more of functions such as playing a 3D game may be performed. .

도시되지는 않았으나, 메인 프로세서(310)는 메인 메모리(미도시)와 독립적으로 결합될 수 있고, 부가 프로세서(320)와 결합된 부가 메모리(410)는 메인 프로세서(310) 및/또는 부가 프로세서(320) 내에 포함된 각 구성 요소들에 의해 공유될 수 있다. 이하에서는 부가 메모리(410)가 부가 프로세서(320) 내의 각 구성 요소들에 의해 공유되는 경우만을 중심으로 설명한다.Although not shown, the main processor 310 may be independently coupled to the main memory (not shown), and the additional memory 410 coupled with the additional processor 320 may include the main processor 310 and / or the additional processor (not shown). It may be shared by each component included in 320. Hereinafter, only the case where the additional memory 410 is shared by each component in the additional processor 320 will be described.

도 4를 참조하면, 본 발명에 따른 부가 프로세서(320)는 MP(Main Processor)-AP(Application Processor) 버스(Host I/F)를 통해 메인 프로세서(310)와 결합되고, 2개의 포트를 구비한 부가 메모리(410)와 제1 AP-AM(Application Memory) 버스 및 제2 AP-AM 버스를 통해 각각 결합된다. 또한 부가 프로세서(320)는 이미지 센서(330)로부터 입력된 멀티미디어 데이터를 처리하여 부가 메모리(410)에 저장하고, 부가 메모리(410)에 저장된 멀티미디어 데이터(예를 들어, 이미지 데이터, 오디오 데이터)를 처리하여 출력 수단(예를 들어, 표시부(145), 오디오 재생부(415))를 통해 출력한다. Referring to FIG. 4, the additional processor 320 according to the present invention is coupled to the main processor 310 through a Main Processor (MP) -Application Processor (AP) bus (Host I / F) and includes two ports. The additional memory 410 is coupled to the first AP-AM bus and the second AP-AM bus, respectively. In addition, the additional processor 320 processes the multimedia data input from the image sensor 330 and stores the multimedia data in the additional memory 410, and stores the multimedia data (for example, image data and audio data) stored in the additional memory 410. Processing is then output via the output means (for example, the display unit 145 and the audio reproduction unit 415).

도시된 바와 같이, 부가 프로세서(320)는 MP 인터페이스(342), 컨트롤러(344), 멀티미디어 처리부(346), 이미지 스케일러(348), 메모리 제어부(420), 오디오 인터페이스(425)를 포함한다.As shown, the additional processor 320 includes an MP interface 342, a controller 344, a multimedia processing unit 346, an image scaler 348, a memory control unit 420, and an audio interface 425.

MP 인터페이스(342)는 멀티미디어 프로세서(320)와 결합된 메인 프로세서 (310)간에 정보 송수신을 수행한다. 멀티미디어 프로세서(320)는 MP 인터페이스(342)를 통해 메인 프로세서(310)로부터 제어 신호가 수신되면 상응하는 처리 동작을 수행한다.The MP interface 342 transmits and receives information between the main processor 310 and the multimedia processor 320. The multimedia processor 320 performs a corresponding processing operation when a control signal is received from the main processor 310 through the MP interface 342.

컨트롤러(344)는 멀티미디어 프로세서(320)의 구동을 위해 내장된 프로그램에 의해 멀티미디어 프로세서(320)의 동작을 제어한다. 멀티미디어 프로세서(320)의 동작을 제어하고, 프로그램의 수행시 필요한 데이터는 부가 메모리(410)로부터 독출하며, 처리된 프로세싱 결과를 부가 메모리(410)에 저장하거나 출력 수단을 통해 출력되도록 한다. 컨트롤러(344)는 예를 들어 MCU(Microcontroller Unit)일 수 있다.The controller 344 controls the operation of the multimedia processor 320 by a built-in program for driving the multimedia processor 320. The operation of the multimedia processor 320 is controlled, data necessary for executing a program is read from the additional memory 410, and the processed processing result is stored in the additional memory 410 or output through an output means. The controller 344 may be, for example, a microcontroller unit (MCU).

컨트롤러(344)는 메인 프로세서(310)로부터 수신된 제어 신호에 상응하여 멀티미디어 프로세서(320)의 동작을 제어하거나, 도 5를 참조하여 설명되는 바와 같이 메인 프로세서(310)의 관여없이 독자적으로 멀티미디어 프로세서(320)의 동작을 제어할 수도 있다. The controller 344 controls the operation of the multimedia processor 320 in response to a control signal received from the main processor 310 or independently of the main processor 310 as described with reference to FIG. 5. The operation of 320 may be controlled.

멀티미디어 처리부(346)는 메모리 제어부(420)를 통해 부가 메모리(410)에 저장된 데이터를 독출하여 상응하는 처리를 수행한다. 예를 들어, 멀티미디어 처리부(346)는 독출된 데이터가 이미지 데이터인 경우 미리 지정된 포맷(예를 들어 JPEG, MPEG4)으로 압축하거나 필요한 이미지 효과(예를 들어, 흑백 처리, 스케치 처리 등)를 주는 등의 역할을 수행한다. 또한 멀티미디어 처리부(346)는 독출된 데이터가 오디오 데이터인 경우 디코딩을 수행할 수 있다. 멀티미디어 처리부(346)에 의해 처리된 데이터는 부가 메모리(410)에 저장되거나 출력 수단(예를 들어, 표시 부(145), 오디오 재생부(425))을 통해 출력될 수 있다.The multimedia processor 346 reads data stored in the additional memory 410 through the memory controller 420 and performs corresponding processing. For example, when the read data is image data, the multimedia processing unit 346 compresses the data into a predetermined format (for example, JPEG and MPEG4), or provides necessary image effects (for example, black and white processing, sketch processing, etc.). Plays the role of. Also, the multimedia processor 346 may perform decoding when the read data is audio data. The data processed by the multimedia processing unit 346 may be stored in the additional memory 410 or output through the output means (for example, the display unit 145 and the audio reproduction unit 425).

이미지 스케일러(348)는 이미지 센서(330)로부터 입력되는 데이터를 컨트롤러(344)의 제어에 의해 가공하여 필요한 이미지 데이터로 변환한다. 이미지 스케일러(348)는 예를 들어 이미지의 크기 조정, 색상 변경, 필터링(filtering)에 의한 부드러운 이미지 생성 등을 수행한다. 이미지 스케일러(348)에 의해 처리된 데이터는 메모리 제어부(420)에 의해 할당된 제1 또는 제2 AP-AM 버스를 통해 부가 메모리(410)에 저장된다. The image scaler 348 processes the data input from the image sensor 330 under the control of the controller 344 and converts the data into necessary image data. The image scaler 348 may perform, for example, resizing an image, changing a color, generating a smooth image by filtering, and the like. The data processed by the image scaler 348 is stored in the additional memory 410 through the first or second AP-AM bus allocated by the memory controller 420.

본 발명의 이미지 스케일러(348)는 부가 메모리(410)로 멀티미디어 데이터를 저장하는 구성 요소의 일 실시예에 불과할 수 있고, 본 발명은 부가 메모리(410)로 멀티미디어 데이터(예를 들어, 이미지 데이터 및/또는 음성 데이터 등)를 실시간 저장할 필요가 있는 모든 멀티미디어 데이터 입력부에 범용적으로 적용될 수도 있음은 자명하다. The image scaler 348 of the present invention may be just one embodiment of a component for storing multimedia data in the additional memory 410, and the present invention may provide multimedia data (e.g., image data and And / or voice data, etc.) may be universally applied to all multimedia data inputs that need to be stored in real time.

또한 마찬가지로 도 5에 도시된 멀티미디어 처리부(346) 등은 부가 메모리(410)에 저장된 멀티미디어 데이터를 처리하는 구성 요소의 일 실시예에 불과하며, 본 발명은 부가 메모리(410)에 저장된 멀티미디어 데이터를 처리하여 부가 메모리(410)에 다시 저장하거나, 표시부(145)를 통해 디스플레이하거나, 또는 메인 프로세서(310)로 전송하는 모든 멀티미디어 데이터 처리부에 범용적으로 적용될 수 있음은 자명하다. Similarly, the multimedia processing unit 346 illustrated in FIG. 5 is just an embodiment of a component for processing multimedia data stored in the additional memory 410, and the present invention processes multimedia data stored in the additional memory 410. It is apparent that the present invention may be universally applied to all multimedia data processing units that are stored in the additional memory 410, displayed on the display unit 145, or transmitted to the main processor 310.

메모리 제어부(420)는 이미지 센서(330)로부터 입력되는 데이터 및/또는 메인 프로세서(310)로부터 MP-AP 버스를 통해 전달되는 데이터를 부가 메모리(410)에 저장되도록 하고, 부가 프로세서(320) 내부의 임의의 구성 요소(예를 들어, 멀티미디어 처리부(346) 등)가 부가 메모리(410)로부터 독출되도록 하기 위해 제1 및/또는 제2 AP-AM 버스의 할당을 제어한다. 예를 들어, 메모리 제어부(420)는 이미지 센서(330)로부터 실시간 입력되는 데이터의 연속 저장을 보장하기 위해 하나의 AP-AM 버스를 이미지 스케일러(348)가 독점하도록 제어할 수도 있다. 메모리 제어부(420)는 컨트롤러(344)의 제어에 의해 버스 할당을 제어할 수 있음은 자명하다.The memory controller 420 stores the data input from the image sensor 330 and / or data transmitted from the main processor 310 through the MP-AP bus in the additional memory 410, and internally of the additional processor 320. The allocation of the first and / or second AP-AM buses is controlled to cause any component of (e.g., multimedia processor 346, etc.) to be read from the additional memory 410. For example, the memory controller 420 may control the image scaler 348 to monopolize one AP-AM bus to ensure continuous storage of data input in real time from the image sensor 330. Obviously, the memory controller 420 may control bus allocation under the control of the controller 344.

오디오 인터페이스(425)는 오디오 재생부(425)와의 인터페이스를 담당한다. 오디오 재생부(425)는 오디오 코덱, 스피커 등을 포함할 수 있다. The audio interface 425 is responsible for the interface with the audio reproducing unit 425. The audio player 425 may include an audio codec, a speaker, and the like.

메모리 제어부(420)의 버스 제어 방법을 몇 가지 예로 들어 설명하면 다음과 같다.The bus control method of the memory controller 420 will be described below with some examples.

먼저, 이미지 센서에서 실시간 입력되는 데이터를 이용하여 MPEG 포맷의 데이터를 생성하는 방법을 설명한다. 메모리 제어부(420)는 이미지 센서의 데이터의 신속한 저장을 위해 어느 하나의 버스(예를 들어, 제1 AP-AM 버스)를 이미지 스케일러(348)에 할당(즉, 이미지 스케일러(348)와 부가 메모리(410)간의 경로 설정)한다. 또한, 다른 하나의 버스(예를 들어, 제2 AP-AM 버스)는 저장된 이미지 데이터를 이용하여 MPEG 포맷의 데이터를 생성하는 멀티미디어 처리부(346)에 할당한다. 멀티미디어 처리부(346)는 부가 메모리(410)에 저장이 완료된 이미지 데이터가 존재하는지 여부를 확인하여 저장이 완료된 데이터가 존재하는 경우 이를 제2 AP-AM 버스를 통해 독출하여 처리한다. 이 경우 부가 메모리(410)는 복수의 저장 영역으로 분할되어 구성될 수 있으며, 예를 들어 각 저장 영역은 데이터 저장 등을 위해 각 구성 요소에 미리 할당될 수도 있다. 멀티미디어 처리부(346)는 이미지 스케일러(348)의 동작을 실시간 감시하거나, 이미지 스케일러(348)가 저장이 완료된 데이터가 존재할 때마다 메시지를 멀티미디어 처리부(346)(또는 컨트롤러(344))로 전달하거나, 부가 메모리(410) 내의 데이터 저장 경과를 실시간 감시하는 등의 방법을 이용하여 저장이 완료된 이미지 데이터의 존재 여부를 확인할 수 있을 것이다. First, a method of generating data in MPEG format using data input in real time from an image sensor will be described. The memory controller 420 assigns any one bus (eg, the first AP-AM bus) to the image scaler 348 (ie, the image scaler 348 and the additional memory) for rapid storage of data of the image sensor. 410 path setting). In addition, the other bus (eg, the second AP-AM bus) is allocated to the multimedia processing unit 346 that generates data in MPEG format using the stored image data. The multimedia processing unit 346 checks whether the stored image data exists in the additional memory 410, and reads the processed data through the second AP-AM bus when the stored data exists. In this case, the additional memory 410 may be divided into a plurality of storage regions, and for example, each storage region may be previously allocated to each component for data storage. The multimedia processor 346 monitors the operation of the image scaler 348 in real time, the image scaler 348 delivers a message to the multimedia processor 346 (or the controller 344) whenever there is data that has been stored. By using a method such as real-time monitoring of the progress of data storage in the additional memory 410, whether or not the image data that has been stored may be confirmed.

다음으로, 메인 프로세서(310)가 부가 프로세서(320)의 3D 게임 실행을 위해 신속하게 데이터를 전송하는 방법을 설명한다. 3D 게임의 수행을 위해 메인 프로세서(310)는 많은 양의 데이터를 부가 프로세서(320)로 전달하여야 한다. 메모리 제어부(420)는 메인 프로세서(310)가 많은 양의 데이터를 신속하게 부가 메모리(410)로 전달할 수 있도록 어느 하나의 버스(예를 들어, 제1 AP-AM 버스)를 메인 프로세서(310)에 할당(즉, 메인 프로세서(310)와 부가 메모리(410)간의 경로 설정)한다. 메인 프로세서(310)로부터 전달되는 데이터는 MP 인터페이스(342) 및 메모리 제어부(420)를 통해 부가 메모리(410)의 임의의 저장 영역에 저장될 것이다. 또한, 메모리 제어부(420)는 다른 하나의 버스(예를 들어, 제2 AP-AM 버스)를 3D 게임 실행을 위한 임의의 구성 요소(예를 들어, 멀티미디어 처리부(346), 게임 실행부(미도시) 등)에 할당한다. 물론, 메모리 제어부(420)는 메인 프로세서(310)가 데이터를 계속 저장하고 있는 중일 때에는 제2 AP-AM 버스를 다른 구성 요소에 할당할 수도 있으므로, 메인 프로세서(310)는 부가 프로세서(320)의 동작 여부에 무관하게 지속적으로 데이터를 부가 메모리(410)에 저장할 수 있게 된다. 이는 부가 메모리(410)가 복수의 저장 영역으로 분할되어 구성된 경우 보다 유용할 것이다. 메모리 제어 부(420)는 메인 프로세서(310)로부터 MP 인터페이스(342)를 통해 수신된 제어 신호 또는 이에 의한 컨트롤러(344)의 제어에 의해 메인 프로세서(310)의 데이터 저장이 완료되었는지 여부를 확인할 수 있다.Next, a method in which the main processor 310 quickly transmits data for executing the 3D game of the additional processor 320 will be described. In order to perform the 3D game, the main processor 310 needs to transfer a large amount of data to the additional processor 320. The memory controller 420 may use any one bus (eg, the first AP-AM bus) so that the main processor 310 may quickly transfer a large amount of data to the additional memory 410. (Ie, setting a path between the main processor 310 and the additional memory 410). Data transferred from the main processor 310 may be stored in any storage area of the additional memory 410 through the MP interface 342 and the memory controller 420. In addition, the memory controller 420 may use another bus (eg, the second AP-AM bus) as an arbitrary component (eg, the multimedia processor 346 and the game execution unit) for executing the 3D game. Time, etc.). Of course, the memory controller 420 may allocate the second AP-AM bus to other components when the main processor 310 is still storing data. The data may be continuously stored in the additional memory 410 regardless of operation. This may be more useful when the additional memory 410 is divided into a plurality of storage areas. The memory controller 420 may check whether the data storage of the main processor 310 is completed by the control signal received from the main processor 310 through the MP interface 342 or by the control of the controller 344. have.

다음으로, 실시간 입력되는 오디오 데이터를 실시간 재생하는 방법을 설명한다. 메모리 제어부(420)는 메인 프로세서(310)가 오디오 데이터를 부가 메모리(410)에 실시간 저장할 수 있도록 어느 하나의 버스(예를 들어, 제1 AP-AM 버스)를 메인 프로세서(310)에 할당한다. 이후 도 5를 참조하여 상세히 설명되는 바와 같이, 메인 프로세서(310)는 MEM 버스를 통해 제1 부가 메모리(510 - 도 5 참조)에 저장한 후 제1 부가 메모리(510)에 저장된 데이터가 제2 메모리 제어부(520)을 통해 제2 부가 메모리(525)에 기록되도록 할 수도 있다. 또한, 메모리 제어부(420)는 다른 하나의 버스(예를 들어, 제2 AP-AM 버스)는 실시간 저장되는 오디오 데이터를 독출하여 디코딩을 수행한 후 오디오 인터페이스(425)를 통해 오디오 재생부(425)로 전달하는 멀티미디어 처리부(346)(또는 별도의 구성 요소일 수도 있음)에 할당한다. 멀티미디어 처리부(346)는 부가 메모리(410)에 실시간 저장되는 오디오 데이터를 제2 AP-AM 버스를 통해 독출하여 처리한다. 이 경우 부가 메모리(410)는 복수의 저장 영역으로 분할되어 구성될 수 있으며, 예를 들어 각 저장 영역은 데이터 저장 등을 위해 각 구성 요소에 미리 할당될 수도 있다. 멀티미디어 처리부(346)는 부가 메모리(410) 내의 데이터 저장 경과를 실시간 감시하는 등의 방법을 이용하여 실시간 저장되는 오디오 데이터의 존재를 확인할 수 있을 것이다. Next, a method of real time reproduction of audio data input in real time will be described. The memory controller 420 allocates one bus (eg, the first AP-AM bus) to the main processor 310 so that the main processor 310 can store audio data in the additional memory 410 in real time. . Subsequently, as described in detail with reference to FIG. 5, the main processor 310 stores the data in the first additional memory 510 after storing the data in the first additional memory 510 through the MEM bus. The memory controller 520 may also be written to the second additional memory 525. In addition, the memory controller 420 reads and decodes audio data stored in another bus (eg, the second AP-AM bus) in real time, and then performs audio decoding through the audio interface 425. Is assigned to the multimedia processing unit 346 (or may be a separate component). The multimedia processor 346 reads and processes audio data stored in the additional memory 410 in real time through the second AP-AM bus. In this case, the additional memory 410 may be divided into a plurality of storage regions, and for example, each storage region may be previously allocated to each component for data storage. The multimedia processing unit 346 may confirm the existence of audio data stored in real time by using a method such as real time monitoring of the progress of data storage in the additional memory 410.

도 5는 본 발명의 바람직한 일 실시예에 따른 사용자 단말기에 구비된 독립 동작 가능한 부가 제어부를 나타낸 블록 구성도이고, 도 6은 본 발명의 바람직한 일 실시예에 따른 부가 제어부의 동작 과정을 나타낸 순서도이다.FIG. 5 is a block diagram illustrating an additionally operable additional controller provided in a user terminal according to an exemplary embodiment of the present invention, and FIG. 6 is a flowchart illustrating an operation process of the additional controller according to an exemplary embodiment of the present invention. .

부가 프로세서(320)는 멀티미디어 프로세서인 경우를 중심으로 설명하며, 멀티미디어 프로세서는 이미지 센서(330)를 제어하고 이미지 센서(330)로부터 입력되는 멀티미디어 데이터(예를 들어, 이미지 데이터 및 음성 데이터 등)를 처리하며, 부가 메모리(410)에 저장된 오디오 데이터를 처리하여 오디오 재생부(415)로 전달하며, 3D 게임을 실행하는 등의 기능들 중 하나 이상을 수행할 수 있다. The additional processor 320 will be described based on the case of a multimedia processor. The multimedia processor controls the image sensor 330 and stores multimedia data (for example, image data and voice data, etc.) input from the image sensor 330. And process audio data stored in the additional memory 410, transfer the audio data to the audio reproducing unit 415, and perform one or more of functions such as playing a 3D game.

도 5를 참조하면, 본 발명에 따른 부가 프로세서(320)는 MP-AP 버스, MEM(Memory) 버스를 통해 메인 프로세서(310)와 각각 결합되고, 제1 부가 메모리(510)와 NV 버스를 통해 결합되며, 2개의 포트를 구비한 제2 부가 메모리(525)와 제1 AP-AM 버스 및 제2 AP-AM 버스를 통해 각각 결합된다. 또한 부가 프로세서(320)는 이미지 센서(330)로부터 입력된 멀티미디어 데이터를 처리하여 부가 메모리(410)에 저장하고, 부가 메모리(410)에 저장된 멀티미디어 데이터(예를 들어, 이미지 데이터, 오디오 데이터)를 처리하여 출력 수단(예를 들어, 표시부(145), 오디오 재생부(415))를 통해 출력한다. Referring to FIG. 5, the additional processor 320 according to the present invention is coupled to the main processor 310 through an MP-AP bus and a MEM (Memory) bus, respectively, and through the first additional memory 510 and the NV bus. And a second additional memory 525 having two ports and a first AP-AM bus and a second AP-AM bus, respectively. In addition, the additional processor 320 processes the multimedia data input from the image sensor 330 and stores the multimedia data in the additional memory 410, and stores the multimedia data (for example, image data and audio data) stored in the additional memory 410. Processing is then output via the output means (for example, the display unit 145 and the audio reproduction unit 415).

도시된 바와 같이, 부가 프로세서(320)는 MP 인터페이스(342), 컨트롤러(344), 멀티미디어 처리부(346), 이미지 스케일러(348), 오디오 인터페이스(425), 제1 메모리 제어부(515), 제2 메모리 제어부(520), 키 스캔부(530)를 포함한다.As shown, the additional processor 320 may include the MP interface 342, the controller 344, the multimedia processor 346, the image scaler 348, the audio interface 425, the first memory controller 515, and the second memory controller 515. The memory controller 520 and the key scan unit 530 are included.

제1 메모리 제어부(515)는 컨트롤러(344)의 제어에 의해 메인 프로세서(310) 또는 부가 프로세서(320)가 NV 버스를 통해 제1 부가 메모리(510)에 접속할 수 있도록 제어한다. 메인 프로세서(310)는 MEM 버스를 통해 제1 메모리 제어부(515)에 접속하여 제1 부가 메모리(510)에 부가 프로세서(320)에 의해 처리될 데이터를 저장할 수 있다. 메인 프로세서(310)는 MP-AP 버스를 통해 컨트롤러(344)로 셀렉트(select) 신호를 전송함으로써 부가 프로세서(320)가 제1 부가 메모리에 억세스하지 않도록 제어할 수 있다. 또는 메인 프로세서(310)는 MEM 버스를 통해 셀렉트 신호를 제1 메모리 제어부(515)로 전송함으로써 제1 메모리 제어부(515)가 메인 프로세서(310)가 제1 부가 메모리(510)로 접속하도록 하는 경로를 설정하도록 제어할 수도 있다. 메인 프로세서(310)는 제1 메모리 제어부(515)를 통해 제1 부가 메모리(510)에 임의의 데이터를 저장한 후, 저장된 데이터의 처리 명령(예를 들어, 오디오 데이터 재생)을 MP-AP 버스를 통해 전달할 수 있다. The first memory controller 515 controls the main processor 310 or the additional processor 320 to access the first additional memory 510 through the NV bus under the control of the controller 344. The main processor 310 may access the first memory controller 515 through the MEM bus and store data to be processed by the additional processor 320 in the first additional memory 510. The main processor 310 may control the additional processor 320 not to access the first additional memory by transmitting a select signal to the controller 344 through the MP-AP bus. Alternatively, the main processor 310 transmits a select signal to the first memory controller 515 through the MEM bus so that the first memory controller 515 connects the main processor 310 to the first additional memory 510. You can also control to set. The main processor 310 stores arbitrary data in the first additional memory 510 through the first memory controller 515, and then executes a processing instruction (for example, audio data reproduction) of the stored data in the MP-AP bus. Can be delivered via

제2 메모리 제어부(520)는 이미지 센서(330)로부터 입력되는 데이터 및/또는 메인 프로세서(310)로부터 MP-AP 버스를 통해 전달되는 데이터를 제2 부가 메모리(525)에 저장되도록 하고, 부가 프로세서(320) 내부의 임의의 구성 요소(예를 들어, 멀티미디어 처리부(346) 등)가 제2 부가 메모리(525)로부터 독출되도록 하기 위해 제1 및/또는 제2 AP-AM 버스의 할당을 제어한다. 제2 메모리 제어부(520)는 앞서 도 4를 참조하여 설명한 메모리 제어부(520)와 동일한 구성 요소이므로 이에 대한 상세한 설명은 생략한다. The second memory controller 520 stores the data input from the image sensor 330 and / or data transmitted from the main processor 310 through the MP-AP bus in the second additional memory 525, and the additional processor Controls allocation of the first and / or second AP-AM buses so that any component (eg, multimedia processor 346, etc.) inside 320 is read from the second additional memory 525. . Since the second memory controller 520 is the same as the memory controller 520 described with reference to FIG. 4, a detailed description thereof will be omitted.

키 스캔부(530)는 부가 프로세서(320)가 메인 프로세서(310)의 제어 없이 독자적인 동작을 수행하기 위해 사용자의 입력부(135)를 이용한 제어 명령을 입력받 을 수 있도록 한다. The key scan unit 530 allows the additional processor 320 to receive a control command using the user input unit 135 to perform an independent operation without the control of the main processor 310.

부가 프로세서(320)와 NV 버스를 통해 결합된 제1 부가 메모리(510)는 메인 프로세서(310)로부터 전달되는 데이터를 저장하거나 부가 프로세서(320)에서 처리된 데이터를 저장하기 위한 용도로 이용될 수 있으며, 비휘발성(non-volatile) 메모리일 수 있다. 예를 들어, 제1 부가 메모리(510)는 예를 들어, 낸드 플래시 메모리, 외장형 메모리(예를 들어, SD, MMC, T-Flash 등) 등일 수 있다.The first additional memory 510 coupled with the additional processor 320 through the NV bus may be used to store data transferred from the main processor 310 or to store data processed by the additional processor 320. And may be non-volatile memory. For example, the first additional memory 510 may be, for example, a NAND flash memory or an external memory (eg, SD, MMC, T-Flash, etc.).

부가 프로세서(320)와 제1 및 제2 AP-AM 버스를 통해 결합된 제2 부가 메모리(525)는 메인 프로세서(310)로부터 전달되는 데이터, 이미지 센서(330)로부터 입력된 멀티미디어 데이터, 부가 프로세서(320)에서 처리된 데이터 중 적어도 어느 하나를 저장하기 위한 용도로 이용될 수 있으며, 휘발성(volatile) 메모리일 수 있다. The second additional memory 525 coupled with the additional processor 320 through the first and second AP-AM buses may include data transmitted from the main processor 310, multimedia data input from the image sensor 330, and additional processor. It may be used for storing at least one of the data processed at 320 and may be a volatile memory.

상술한 부가 프로세서(320), 제1 부가 메모리(510), 제2 부가 메모리(525)는 하나의 칩 상에 구현될 수 있다. The additional processor 320, the first additional memory 510, and the second additional memory 525 may be implemented on one chip.

이하, 도 6을 참조하여 메인 프로세서(310) 및 부가 프로세서(320)의 동작 과정을 설명한다. 다만, 부가 프로세서(320)의 처리 동작은 오디오 데이터 재생인 경우를 가정하여 설명한다.Hereinafter, an operation process of the main processor 310 and the additional processor 320 will be described with reference to FIG. 6. However, a description will be given on the assumption that the processing operation of the additional processor 320 is audio data reproduction.

도 6을 참조하면, 부가 프로세서(320)는 단계 610에서 메인 프로세서(310)가 MEM 버스를 통해 제1 부가 메모리(510)에 접속하기 위한 경로를 제공하고, 단계 615에서 MP-AP 버스를 통해 메인 프로세서(310)로부터 재생 명령을 수신한다. 재생 명령 내에는 재생될 파일 리스트 등이 포함될 수 있다. Referring to FIG. 6, the additional processor 320 provides a path for the main processor 310 to access the first additional memory 510 through the MEM bus in step 610, and through the MP-AP bus in step 615. The play command is received from the main processor 310. The reproduction command may include a list of files to be reproduced.

즉, 메인 프로세서(310)는 입력부(135)를 통해 사용자로부터 재생 명령이 입력되면, 셀렉트 신호를 컨트롤러(344) 또는 제1 메모리 제어부(515)로 전송하여 메인 프로세서(310)와 제1 부가 메모리(510)간에 경로가 설정되도록 한다. 이어서, 오디오 데이터 재생을 위한 일련의 데이터들을 MEM 버스를 통해 제1 부가 메모리(510)에 저장한다. 데이터 저장이 완료된 후, 메인 프로세서(310)는 재생 명령을 MP-AP 버스를 통해 부가 프로세서(320)의 컨트롤러(344)로 전송한다. That is, when a play command is input from the user through the input unit 135, the main processor 310 transmits a select signal to the controller 344 or the first memory controller 515 to transmit the select signal to the main processor 310 and the first additional memory. The path is set between 510. Subsequently, a series of data for reproducing the audio data is stored in the first additional memory 510 through the MEM bus. After data storage is completed, the main processor 310 transmits a play command to the controller 344 of the additional processor 320 through the MP-AP bus.

상술한 바와 같이, 제2 부가 메모리(525)의 저장 용량이 충분한 경우 메인 프로세서(310)는 일련의 데이터들을 제2 부가 메모리(525)에 저장할 수도 있다. 이 경우, 메인 프로세서(310)로부터 셀렉트 신호가 수신되면 컨트롤러(344)는 제2 부가 메모리(525)의 저장 용량을 확인한 후 충분한 저장 공간이 존재하면 MP-AP 버스를 통해 메인 프로세서(310)로 제2 부가 메모리(525)로의 데이터 저장 요청을 전송할 것이다. 메인 프로세서(310)는 MP-AP 버스 또는 MEM 버스를 통해 데이터를 전송하고, 부가 프로세서(320)는 수신된 데이터를 제2 부가 메모리(525)에 저장되도록 경로를 설정한다.As described above, when the storage capacity of the second additional memory 525 is sufficient, the main processor 310 may store a series of data in the second additional memory 525. In this case, when a select signal is received from the main processor 310, the controller 344 checks the storage capacity of the second additional memory 525 and if there is sufficient storage space, passes through the MP-AP bus to the main processor 310. The request to save the data to the second additional memory 525 will be sent. The main processor 310 transmits data through the MP-AP bus or the MEM bus, and the additional processor 320 routes the received data to the second additional memory 525.

부가 프로세서(320)(즉, 컨트롤러(344))는 단계 620에서 입력부(135)를 통한 사용자 명령을 입력받기 위하여 키 스캔부(530)를 활성화하고, 단계 625에서 준비 완료 통지를 MP-AP 버스를 통해 메인 프로세서(310)로 전송한다. 사용자 명령은 예를 들어 오디오 파일 명칭 표시, 오디오 파일 선택, 선택된 파일 재생, FF(Fast Forward), Rewind, 정지(Stop), 볼륨 업/다운 등 중 적어도 어느 하나일 수 있다. 준비 완료 통지에 의해 메인 프로세서(310)는 파워 다운 모드(Power Down Mode)로 진입하여 최소한의 동작만(예를 들어, 호(call) 신호 수신 여부 감지 등)을 수행한다. 이는 메인 프로세서(310)가 오디오 데이터 재생을 위해 아무런 동작도 수행할 필요가 없기 때문이다. 즉, 부가 제어부에서 오디오 재생에 필요한 데이터들과 재생에 필요한 장치를 가지고 있으므로 메인 제어부의 제어를 받지 않고, 직접 키 입력을 받아서 필요한 처리를 할 수 있으므로 메인 제어부에는 오디오 재생시 아무런 동작을 할 필요가 없다. 메인 프로세서(310)가 파워 다운 모드로 전환하고, 최소의 구성 요소들만이 동작되도록 함으로써 단말기 전체적으로 전원 소모를 최소화할 수 있으며, 장시간의 오디오 데이터 재생이 가능해진다. 또한 사용자 명령은 오디오 재생 모드 종료를 더 포함할 수 있으며, 오디오 재생 모드 종료가 입력되면 키 스캔부(530)의 활성화가 종료되어 메인 프로세서(310)로부터의 제어에 의해 동작될 수 있다.The additional processor 320 (ie, the controller 344) activates the key scan unit 530 to receive a user command through the input unit 135 in step 620, and sends a ready notification to the MP-AP bus in step 625. Through the transmission to the main processor 310. The user command may be at least one of, for example, displaying an audio file name, selecting an audio file, playing a selected file, fast forward (FF), rewind, stop, and volume up / down. By the preparation completion notification, the main processor 310 enters a power down mode and performs only a minimal operation (for example, detecting whether a call signal is received). This is because the main processor 310 does not need to perform any operation for audio data reproduction. That is, since the additional control unit has data necessary for audio reproduction and a device necessary for reproduction, the main control unit does not need to perform any operation during audio reproduction since the key control unit can directly perform key processing without receiving the control of the main control unit. none. The main processor 310 switches to the power-down mode and allows only a minimum of components to operate, thereby minimizing power consumption of the entire terminal and enabling long-term audio data playback. In addition, the user command may further include an end of the audio play mode, and when the end of the audio play mode is input, activation of the key scan unit 530 is terminated and may be operated by control from the main processor 310.

단계 630에서 부가 프로세서(320)는 활성화된 키 스캔부(530)를 통해 사용자 명령이 입력되었는지 여부를 판단한다. 즉, 부가 프로세서(320)는 키 스캔부(530)를 활성화함으로써 메인 프로세서(310)로부터 오디오 데이터 재생을 위한 어떠한 제어 신호도 받을 필요가 없다.In operation 630, the additional processor 320 determines whether a user command is input through the activated key scan unit 530. That is, the additional processor 320 does not need to receive any control signal for audio data reproduction from the main processor 310 by activating the key scan unit 530.

사용자 명령이 입력되었다면 단계 635에서 상응하는 처리 동작을 수행하고, 그렇지 않은 경우에는 단계 630에서 대기한다. 예를 들어, 사용자가 오디오 파일 선택 및 선택된 파일 재생이라는 사용자 명령을 입력한 경우 부가 프로세서(320)는 제1 부가 메모리(510)에 저장된 오디오 데이터를 독출하여 디코딩을 수행하고, 디코딩된 데이터를 오디오 재생부(425)로 전송할 수 있다. 물론, 부가 프로세서(320) 는 제1 부가 메모리(510)에 저장된 데이터를 제2 부가 메모리(525)로 이동한 후 사용자 명령에 상응하는 처리를 수행할 수도 있다. If a user command has been entered, the corresponding processing operation is performed in step 635; otherwise, the processing waits in step 630. For example, when a user inputs a user command of selecting an audio file and playing a selected file, the additional processor 320 reads and decodes the audio data stored in the first additional memory 510 and decodes the decoded data. It may be transmitted to the playback unit 425. Of course, the additional processor 320 may move data stored in the first additional memory 510 to the second additional memory 525 and then perform a process corresponding to a user command.

상술한 바와 같이, 본 발명에 따른 부가 프로세서(320)는 메인 프로세서(310)의 제어없이 독자적인 동작 수행이 가능하다. As described above, the additional processor 320 according to the present invention may perform an independent operation without the control of the main processor 310.

상술한 바와 같이 본 발명에 따른 독립 동작 가능한 부가 제어부를 구비한 사용자 단말기 및 메모리 공유 방법은 멀티미디어 데이터 처리(예를 들어, 오디오 데이터 재생)시 메인 프로세서의 관여없이 부가 프로세서만으로 동작할 수 있도록 하여 처리 효율을 극대화할 수 있는 효과가 있다.As described above, the user terminal and the memory sharing method having the independent control unit that can operate independently according to the present invention process the multimedia data processing (for example, audio data playback) so that only the additional processor can operate without involvement of the main processor. There is an effect that can maximize the efficiency.

또한, 본 발명은 멀티미디어 데이터 처리(예를 들어, 고성능, 고화질의 이미지 처리, 오디오 데이터 재생 등)의 경우 시간 지연을 최소화할 수 있는 효과가 있다.In addition, the present invention has the effect of minimizing the time delay in the case of multimedia data processing (for example, high performance, high quality image processing, audio data playback, etc.).

또한, 본 발명은 데이터 저장 또는 데이터 처리를 요하는 복수의 구성 요소가 저장부에 별개의 경로를 통해 억세스하여 동시에 작업을 수행할 수 있는 효과가 있다.In addition, the present invention has the effect that a plurality of components requiring data storage or data processing can be accessed at the same time through a separate path to the storage unit to perform a task at the same time.

또한, 본 발명은 메인 프로세서의 관여없이 부가 프로세서의 독자적 동작이 가능하도록 하여 메인 프로세서를 절전모드(파워다운 모드)로 만들 수 있으므로 최소 전력 소비를 실현할 수 있는 효과가 있다.In addition, the present invention enables the independent operation of the additional processor without the involvement of the main processor, so that the main processor can be made into a power saving mode (power down mode), thereby achieving the minimum power consumption.

또한, 본 발명은 부가 프로세서의 처리 동작 여부에 무관하게 이미지 센서로 부터 입력되는 이미지 데이터가 저장부에 실시간 저장될 수 있어 메모리 사용 효율을 최적화할 수 있는 효과가 있다.In addition, the present invention has the effect of optimizing the memory usage efficiency can be stored in the storage unit in real time image data input from the image sensor irrespective of the processing operation of the additional processor.

또한, 본 발명은 이미지 센서로부터 입력되는 이미지 데이터의 저장시 시간 지연을 제거할 수 있어 데이터 손실을 억제할 수 있는 효과가 있다.In addition, the present invention can eliminate the time delay during the storage of the image data input from the image sensor has the effect of suppressing data loss.

또한, 본 발명은 메인 프로세서가 독립된 버스(bus)를 통해 부가 프로세서에 결합된 저장부에 억세스할 수 있고, 억세스된 저장부로 신속한 데이터 저장이 가능한 효과가 있다.In addition, the present invention has the effect that the main processor can access the storage unit coupled to the additional processor via an independent bus, and the data can be quickly stored in the accessed storage unit.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art to which the present invention pertains without departing from the spirit and scope of the present invention as set forth in the claims below It will be appreciated that modifications and variations can be made.

Claims (12)

디지털 처리 장치에 있어서,In the digital processing device, 휘발성 메모리;Volatile memory; 상기 휘발성 메모리에 AP-AM 버스를 통해 결합되는 부가 프로세서;An additional processor coupled to the volatile memory via an AP-AM bus; 상기 부가 프로세서에 NV 버스를 통해 결합되는 비휘발성 메모리; 및A nonvolatile memory coupled to the additional processor via an NV bus; And 상기 부가 프로세서에 MP-AP 버스 및 MEM 버스를 통해 각각 결합되는 메인 프로세서를 포함하되,A main processor coupled to the additional processor via an MP-AP bus and a MEM bus, respectively; 상기 메인 프로세서가 상기 휘발성 메모리, 상기 비휘발성 메모리 중 하나 이상에 접속하기 위한 경로를 제공하는 상기 부가 프로세서는, The additional processor for providing a path for the main processor to access at least one of the volatile memory and the nonvolatile memory, 상기 MEM 버스를 통해 결합된 상기 메인 프로세서가 상기 NV 버스를 통해 상기 비휘발성 메모리에 접속하기 위한 경로를 제공하는 제1 메모리 제어부; 및A first memory controller providing a path for the main processor coupled via the MEM bus to access the nonvolatile memory via the NV bus; And 상기 메인 프로세서가 상기 AP-AM 버스를 통해 상기 휘발성 메모리에 접속하기 위한 경로를 제공하는 제2 메모리 제어부 중 하나 이상을 포함하는 것을 특징으로 하는 디지털 처리 장치.And at least one of a second memory controller which provides a path for the main processor to access the volatile memory via the AP-AM bus. 제1항에 있어서,The method of claim 1, 상기 부가 프로세서는,The additional processor, 상기 MP-AP 버스를 통해 상기 메인 프로세서와 정보를 송수신하는 MP 인터페이스;An MP interface for transmitting and receiving information to and from the main processor through the MP-AP bus; 입력부를 통해 입력되는 사용자 명령을 인식하기 위한 키 스캔부;A key scan unit for recognizing a user command input through the input unit; 상기 사용자 명령에 따라 상기 휘발성 메모리 또는 상기 비휘발성 메모리에 저장된 데이터를 처리하는 멀티미디어 데이터 처리부를 더 포함하되,Further comprising a multimedia data processing unit for processing data stored in the volatile memory or the non-volatile memory according to the user command, 상기 제2 메모리 제어부는 상기 메인 프로세서, 상기 멀티미디어 데이터 처리부 중 하나 이상이 각각 상응하는 AP-AM 버스를 통해 상기 휘발성 메모리에 억세스되도록 제어하는 것을 특징으로 하는 디지털 처리 장치.And the second memory controller controls at least one of the main processor and the multimedia data processor to access the volatile memory through a corresponding AP-AM bus. 제2항에 있어서,The method of claim 2, 상기 부가 프로세서는,The additional processor, 이미지 센서로부터 실시간 입력되는 데이터를 미리 지정된 방법에 따라 처리하는 이미지 스케일러를 더 포함하되,Further comprising an image scaler for processing data input in real time from the image sensor according to a predetermined method, 상기 제2 메모리 제어부는 상기 이미지 스케일러에 의해 처리된 데이터가 상기 휘발성 메모리에 실시간 저장되도록 하나의 AP-AM 버스를 우선적으로 할당하는 것을 특징으로 하는 디지털 처리 장치.And the second memory controller preferentially allocates one AP-AM bus so that data processed by the image scaler is stored in the volatile memory in real time. 제3항에 있어서,The method of claim 3, 상기 휘발성 메모리는 n개의 저장 영역으로 분할되어 구성되고, m(1 내지 n-1 중 어느 하나)개의 저장 영역은 상기 이미지 스케일러에 의해 전용되는 것을 특징으로 하는 디지털 처리 장치.And the volatile memory is divided into n storage regions, and m (any one of 1 to n-1) storage regions are dedicated by the image scaler. 제4항에 있어서,The method of claim 4, wherein 상기 제2 메모리 제어부는 하나의 분할된 저장 영역의 저장 공간이 모두 이용된 경우, 상기 이미지 스케일러에 의해 처리된 데이터가 다른 분할된 저장 영역에 저장되도록 경로를 재설정하는 디지털 처리 장치.And when the storage space of one divided storage area is used up, the second memory controller resets a path such that data processed by the image scaler is stored in another divided storage area. 제1항에 있어서,The method of claim 1, 상기 휘발성 메모리 및 상기 비휘발성 메모리 중 하나 이상과 상기 부가 프로세서는 동일한 칩 내에 구현되는 것을 특징으로 하는 디지털 처리 장치.At least one of the volatile memory and the nonvolatile memory and the additional processor are implemented within the same chip. 부가 프로세서가 독립적으로 실행되는 방법에 있어서,In the method that the additional processor is executed independently, 메인 프로세서가 멀티미디어 데이터 재생을 위한 일련의 데이터를 비휘발성 메모리 또는 휘발성 메모리에 저장하도록 하는 경로를 제공하는 단계;Providing a path for the main processor to store a series of data for playing multimedia data in a nonvolatile memory or a volatile memory; 상기 메인 프로세서로부터 상기 멀티미디어 데이터의 재생 명령이 수신되면, 입력부를 통해 입력되는 사용자 명령을 인식하기 위한 키 스캔부를 활성화하는 단계;Activating a key scan unit for recognizing a user command input through an input unit when a reproduction command of the multimedia data is received from the main processor; 상기 메인 프로세서로 준비 완료 통지를 전송하는 단계; 및Sending a ready notification to the main processor; And 상기 입력부를 통해 입력된 상기 사용자 명령이 상기 키 스캔부를 통해 인식되면 상응하는 멀티미디어 데이터 재생 동작을 수행하는 단계를 포함하는 부가 프로세서의 독립적 실행 방법.And performing a corresponding multimedia data reproducing operation when the user command input through the input unit is recognized through the key scan unit. 제7항에 있어서,The method of claim 7, wherein 상기 부가 프로세서는 상기 메인 프로세서와 MP-AP 버스 및 MEM 버스를 통해 각각 결합되고, 상기 비휘발성 메모리와 NV 버스를 통해 결합되며, 상기 휘발성 메모리와 복수의 AP-AM 버스를 통해 각각 결합되는 것을 특징으로 하는 부가 프로세서의 독립적 실행 방법.The additional processor is coupled to the main processor through the MP-AP bus and the MEM bus, respectively, through the nonvolatile memory and the NV bus, and respectively coupled through the volatile memory and the plurality of AP-AM buses. Independent execution of the additional processor. 제7항에 있어서,The method of claim 7, wherein 이미지 센서로부터 데이터가 실시간 입력되면 미리 지정된 방법으로 처리하는 단계; Processing data in a predetermined manner when data is input from the image sensor in real time; 상기 처리된 데이터를 상기 비휘발성 메모리에 저장하기 위하여 어느 하나의 AP- AM 버스를 우선적으로 할당하는 단계; 및Preferentially allocating one AP-AM bus to store the processed data in the nonvolatile memory; And 상기 할당된 AP-AM 버스를 통해 상기 처리된 데이터를 상기 비휘발성 메모리에 저장하는 단계를 더 포함하는 부가 프로세서의 독립적 실행 방법.Storing the processed data in the non-volatile memory via the allocated AP-AM bus. 제7항에 있어서,The method of claim 7, wherein 상기 준비 완료 통지를 수신한 상기 메인 프로세서는 파워 다운 모드(power down mode)로 전환하는 것을 특징으로 하는 부가 프로세서의 독립적 실행 방법.And the main processor receiving the preparation completion notification switches to a power down mode. 디지털 처리 장치에 있어서,In the digital processing device, 메모리;Memory; 메인 프로세서; 및Main processor; And 상기 메인 프로세서 및 상기 메모리에 각각 결합되고, 상기 메모리에 저장된 데이터를 처리하여 출력하는 부가 프로세서를 포함하되,And an additional processor coupled to the main processor and the memory, respectively, for processing and outputting data stored in the memory. 상기 부가 프로세서는,The additional processor, 상기 메인 프로세서와 정보를 송수신하는 MP 인터페이스;An MP interface for transmitting and receiving information with the main processor; 입력부를 통해 입력되는 사용자 명령을 인식하기 위한 키 스캔부; 및A key scan unit for recognizing a user command input through the input unit; And 상기 키 스캔부를 통해 인식된 상기 사용자 명령에 상응하도록 상기 메모리에 저장된 데이터를 처리하는 멀티미디어 데이터 처리부를 포함하는 것을 특징으로 하는 디지털 처리 장치.And a multimedia data processor configured to process data stored in the memory to correspond to the user command recognized through the key scan unit. 디지털 처리 장치의 부가 프로세서에 있어서,In the additional processor of the digital processing device, 메인 프로세서와 정보를 송수신하는 MP 인터페이스;MP interface for transmitting and receiving information with the main processor; 입력부를 통해 입력되는 사용자 명령을 인식하기 위한 키 스캔부; A key scan unit for recognizing a user command input through the input unit; 상기 키 스캔부를 통해 인식된 상기 사용자 명령에 상응하도록 메모리에 저장된 데이터를 처리하는 멀티미디어 데이터 처리부; 및A multimedia data processor configured to process data stored in a memory to correspond to the user command recognized through the key scan unit; And 상기 MP 인터페이스를 통해 상기 메인 프로세서로부터 멀티미디어 데이터 재생 명령이 입력되면 상기 키 스캔부를 활성화하는 컨트롤러를 포함하는 부가 프로세서.And a controller for activating the key scan unit when a multimedia data play command is input from the main processor through the MP interface.
KR1020050076161A 2005-08-19 2005-08-19 User terminal having self-operated additional processor and memory sharing method KR100759865B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050076161A KR100759865B1 (en) 2005-08-19 2005-08-19 User terminal having self-operated additional processor and memory sharing method
PCT/KR2006/003248 WO2007021154A1 (en) 2005-08-19 2006-08-18 Memory sharing by a plurality of processors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050076161A KR100759865B1 (en) 2005-08-19 2005-08-19 User terminal having self-operated additional processor and memory sharing method

Publications (2)

Publication Number Publication Date
KR20070021655A KR20070021655A (en) 2007-02-23
KR100759865B1 true KR100759865B1 (en) 2007-09-18

Family

ID=37757781

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050076161A KR100759865B1 (en) 2005-08-19 2005-08-19 User terminal having self-operated additional processor and memory sharing method

Country Status (2)

Country Link
KR (1) KR100759865B1 (en)
WO (1) WO2007021154A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1131076A (en) 1997-07-10 1999-02-02 Nec Robotics Eng Ltd Multi cpu system
KR19990031220A (en) * 1997-10-09 1999-05-06 윤종용 V. M. Bus Controls in V. M. Bus Systems

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137690A (en) * 1998-10-29 2000-05-16 Uerubiin:Kk Multi-cpu system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1131076A (en) 1997-07-10 1999-02-02 Nec Robotics Eng Ltd Multi cpu system
KR19990031220A (en) * 1997-10-09 1999-05-06 윤종용 V. M. Bus Controls in V. M. Bus Systems

Also Published As

Publication number Publication date
KR20070021655A (en) 2007-02-23
WO2007021154A1 (en) 2007-02-22

Similar Documents

Publication Publication Date Title
KR100591371B1 (en) Method for varying size of partitioned blocks of shared memory and portable terminal having shared memory
KR100855701B1 (en) Chip combined with a plurality of processor cores and data processing method thereof
KR100592105B1 (en) Method for controlling access to partitioned blocks of shared memory and portable terminal having shared memory
KR100663380B1 (en) Imaging device and method for transferring image signal
KR100782592B1 (en) Device having shared memory and method for controlling shared memory
KR100625811B1 (en) Method and apparatus for correcting code data error
KR100728650B1 (en) Method and apparatus for sharing multi-partitioned memory through a plurality of routes
CN102137255B (en) Portable decoder as well as display method and display system thereof
KR100803005B1 (en) Memory interfacing method and apparatus
KR100748191B1 (en) Device having shared memory and method for providing access status information by shared memory
KR100731969B1 (en) Method and apparatus for sharing memory through a plurality of routes
KR100746364B1 (en) Method and apparatus for sharing memory
KR100736902B1 (en) Method and apparatus for sharing memory by a plurality of processors
KR100592106B1 (en) Method and apparatus for allowing access to individual memory
KR100759865B1 (en) User terminal having self-operated additional processor and memory sharing method
US11720624B2 (en) Storage device, electronic system including storage device, and control program for storage device
KR100822468B1 (en) Device having shared memory and method for transferring code data
KR100749469B1 (en) Apparatus having multimedia platform comprising a plurality of memories and method for sharing non-volatile memory
KR100592109B1 (en) Method for controlling access to partitioned blocks of shared memory and portable terminal having shared memory
KR100658588B1 (en) Memory sharing system and method thereof
KR100888427B1 (en) Device having shared memory and method for displaying data
KR100710626B1 (en) Digital processing device and method for having extend structure of data-bus
KR100658591B1 (en) Method and apparatus for controlling display using shared memory
KR100743253B1 (en) Method and apparatus for correcting code data error
KR100592108B1 (en) Rapid data delivery method among processors and digital processing apparatus having shared memory

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120710

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130826

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140827

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150728

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170829

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180823

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190826

Year of fee payment: 13