KR102148448B1 - 데이터 처리 장치와 회로 - Google Patents

데이터 처리 장치와 회로 Download PDF

Info

Publication number
KR102148448B1
KR102148448B1 KR1020190096990A KR20190096990A KR102148448B1 KR 102148448 B1 KR102148448 B1 KR 102148448B1 KR 1020190096990 A KR1020190096990 A KR 1020190096990A KR 20190096990 A KR20190096990 A KR 20190096990A KR 102148448 B1 KR102148448 B1 KR 102148448B1
Authority
KR
South Korea
Prior art keywords
memory area
area
data
information
write
Prior art date
Application number
KR1020190096990A
Other languages
English (en)
Other versions
KR20190096893A (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 KR1020190096990A priority Critical patent/KR102148448B1/ko
Publication of KR20190096893A publication Critical patent/KR20190096893A/ko
Application granted granted Critical
Publication of KR102148448B1 publication Critical patent/KR102148448B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 데이터 처리 회로에 있어서, 어플리케이션 프로세서(AP: Application Processor)와, 통신 프로세서(CP: Communication Processor)와, 상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP 중 적어도 하나와 관련된 데이터가 리드(read)/라이트(write)되는 제1영역과, 상기 CP가 억세스 가능하며, 상기 CP와 관련된 데이터가 리드/라이트되는 제2영역을 적어도 포함하는 저장 유닛(unit)을 포함함을 특징으로 한다.

Description

데이터 처리 장치와 회로{APPARATUS AND CIRCUIT FOR PROCESSING DATA}
본 발명은 데이터 처리 장치 및 회로에 관한 것으로서, 특히 저장 유닛(unit)을 공유하는 프로세서(processor)들이 데이터를 처리하는 장치 및 회로에 관한 것이다.
일반적으로, 통신 디바이스의 기능은 크게 두 가지 기능, 즉 사용자 인터페이스(UI: User Interface) 및 어플리케이션(application)을 수행하는 기능과 통신 기능으로 구분될 수 있다. 이하, 설명의 편의상 상기 사용자 인터페이스 및 어플리케이션을 수행하는 기능을 “비통신 기능”이라 칭하기로 한다.
기존에는 1개의 통신 디바이스가 1개의 프로세서를 사용하여 상기 비통신 기능 및 통신 기능을 모두 처리했으나, 통신 속도가 빨라지고, 어플리케이션들이 복잡해지면서 다수개의 프로세서들을 사용하여 상기 비통신 기능 및 통신 기능을 수행하고 있다. 예를 들어, 가장 대표적인 통신 디바이스인 스마트 폰(smart phone)은 어플리케이션 프로세서(AP: Application Processor, 이하 'AP'라 칭하기로 한다)를 사용하여 비통신 기능을 수행하고, 통신 프로세서(CP: Communication Processor, 이하 'CP'라 칭하기로 한다) 프로세서가 통신 기능을 수행하고 있다. 상기 AP와 CP는 별도의 칩(chip)으로 구현되기도 하고, 이와는 달리 1개의 칩으로 통합 구현되기도 한다.
상기 AP와 CP가 별도의 칩으로 구현되는 경우 및 상기 AP와 CP가 1개의 칩으로 구현되는 경우 모두 통신 네트워크를 이용한 데이터 송/수신 및 데이터 처리를 위해 상기 AP와 CP간 데이터 송/수신이 필요하다. 일 예로, LTE(Long-Term Evolution) 단말기가 파일 전송 프로토콜(FTP: File Transfer Protocol, 이하 'FTP'라 칭하기로 한다) 다운로드(download) 동작을 수행할 경우, CP를 통해 수신되는 데이터는 AP로 전달되고, 상기 AP가 데이터 저장 등과 같은 데이터 처리 동작을 수행한다. 이와는 달리, LTE 단말기가 업로드(upload) 동작을 수행할 경우, AP가 업로드할 데이터를 CP로 전달하면, 상기 CP는 통신 네트워크를 통해 데이터를 송신한다. 유투브(U-tube) 등과 같은 비디오 스트리밍(video streaming)의 경우, 상기 CP가 수신한 데이터를 상기 AP로 전달하면, 상기 AP가 상기 CP로부터 전달받은 데이터를 처리하여 화면에 디스플레이한다. 상기에서 설명한 바와 같이 AP와 CP간에는 데이터 송/수신이 빈번하게 발생하였으며, 따라서 AP와 CP간 데이터 송/수신을 위해 기존에는 주로 범용 직렬 버스(USB: Universal Serial Bus, 이하 'USB'라 칭하기로 한다)와, 고속 집적 회로(HSIC: High Speed Integrated Circuit, 이하 'HSIC'라 칭하기로 한다), 디지털 보안 입출력(SDIO: Secure Digital Input Output, 이하 'SDIO'라 칭하기로 한다) 등과 같은 직렬 인터페이스(serial interface)나 듀얼 포트 랜덤 억세스 메모리(DPRAM: Dual Port Random Access Memory, 이하 'DPRAM '라 칭하기로 한다) 등과 같은 공유 메모리를 사용하였다. 특히, 상기 AP와 CP가 1개의 칩으로 통합 구현되어 있을 경우 버스(bus)가 공유되기 때문에 칩 내부에 공유 메모리를 구비하고, 상기 공유 메모리를 통해 데이터를 송/수신하는 방식을 가장 많이 사용하고 있다.
그러면 여기서 도 1을 참조하여 일반적인 통신 디바이스에서 AP와 CP 각각이 동적 랜덤 억세스 메모리(DRAM: Dynamic Random Access Memory, 이하 'DRAM '라 칭하기로 한다)를 사용하면서, 외부 인터페이스(external IF(interface)) 유닛을 통해 데이터를 처리하는 과정에 대해서 설명하기로 한다.
도 1은 일반적인 통신 디바이스에서 AP와 CP 각각이 DRAM을 사용하면서, 외부 인터페이스 유닛을 통해 데이터를 처리하는 과정을 개략적으로 도시한 도면이다.
도 1을 참조하면, 상기 통신 디바이스는 AP(110)와, LPDDR2(120)와, CP(130)와, LPDDR2(140)를 포함한다. 또한, 상기 AP(110)는 중앙 처리 장치(CPU: Central Processing Unit, 이하 'CPU'라 칭하기로 한다)(111)와, 외부 인터페이스 유닛(113)을 포함하며, 상기 CP(130)는 CPU(131)와, 외부 인터페이스 유닛(133)과, 모뎀(MODEM: modulator/de-modulator)(135)을 포함한다.
먼저, 상기 모뎀(135)은 디코더 버퍼(decoder buffer)에 저장되어 있는 디코딩된 데이터와 동일한 데이터를 상기 LPDDR2(140)에 라이트한다(151). 또한, 상기 CP(130)의 CPU(131)는 그 통신 기능을 수행함에 있어 필요로 되는 데이터를 상기 LPDDR2(140)로부터 리드하거나, 상기 LPDDR2(140)에 라이트한다(152). 여기서, 상기 CPU(131) 는 L1/L2/L3, 네트워크 어플리케이션 지원(NAS: Network Application Support, 이하 'NAS'라 칭하기로 한다) 등과 같은 통신 표준 프로토콜을 사용하여 인터넷 프로토콜(IP: Internet Protocol, 이하 'IP'라 칭하기로 한다) 패킷 데이터를 구성한다. 또한, 상기 LPDDR2(140)에 저장되어 있는 데이터, 즉 IP 패킷 데이터는 외부 인터페이스들(133,113)을 통해 상기 AP(110)로 전달되고, 따라서 상기 LPDDR2(120)에 라이트된다(153,154,155).
이렇게, 상기 LPDDR2(140)에 저장되어 있는 데이터가 외부 인터페이스들(133,113)을 통해 상기 LPDDR2(120)에 라이트되기 위해서는 상기 CPU(131)와, 외부 인터페이스들(133,113) 및 CPU(111)간의 제어 메시지(control message) 송수신 과정이 필요로 된다(157,158,159).
또한, 상기 AP(110)의 CPU(111)는 그 어플리케이션 기능을 수행함에 있어 필요로 되는 데이터를 상기 LPDDR2(120)로부터 리드하거나, 상기 LPDDR2(120)에 라이트한다(156).
한편, 도 1에서 상기 외부 인터페이스들(133,113)은 다이렉트 메모리 억세스(DMA: Direct Memory Access, 이하 'DMA'라 칭하기로 한다) 유닛을 포함할 수 있다. 이와는 달리, 상기 외부 인터페이스들(133,113)은 외부 범용 DMA(external general DMA)를 사용하거나 CPU, 혹은 별도의 프로세서가 데이터를 리드하거나 라이트할 수도 있다. 또한, 도 1에서 설명한 바와 같은 데이터 처리 과정은 다운링크를 일 예로 한 데이터 처리 과정이며, 업링크의 경우 도 1에서 설명한 다운링크 데이터 처리 과정과 반대로 수행될 수도 있음은 물론이다.
도 1에서는 일반적인 통신 디바이스에서 AP와 CP 각각이 DRAM을 사용하면서, 외부 인터페이스를 통해 데이터를 처리하는 과정에 대해서 설명하였으며, 다음으로 도 2를 참조하여 일반적인 통신 디바이스에서 칩대칩(C2C: Chip to Chip, 이하 'C2C'라 칭하기로 한다) 인터페이스 방식을 사용하여 AP와 CP가 DRAM을 공유할 경우 데이터를 처리하는 과정에 대해서 설명하기로 한다.
도 2는 일반적인 통신 디바이스에서 C2C 방식을 사용하여 AP와 CP가 DRAM을 공유할 경우 데이터를 처리하는 과정을 개략적으로 도시한 도면이다.
도 2를 참조하면, 상기 통신 디바이스는 AP(210)와, CP(220)와, LPDDR2(230)를 포함한다. 또한, 상기 AP(210)는 CPU(211)와, 외부 인터페이스 유닛(213)과, C2C 인터페이스 유닛(215)을 포함하며, 상기 CP(220)는 외부 인터페이스 유닛(221)과, CPU(223)와, 모뎀(225)과, C2C 인터페이스 유닛(217)을 포함한다. 또한, 상기 LPDDR2(230)는 상기 CP(220)와 관련된 데이터를 저장하는 영역인 CP 영역(231)과, 상기 AP(210)와 관련된 데이터를 저장하는 영역인 AP 영역(233)을 포함한다.
먼저, 상기 모뎀(225)은 디코더 버퍼에 저장되어 있는 디코딩된 데이터와 동일한 데이터를 상기 CP 영역(231)에 라이트한다(241). 또한, 상기 CPU(223)는 그 통신 기능을 수행함에 있어 필요로 되는 데이터를 상기 CP 영역(231)으로부터 리드하거나, 상기 CP 영역(231)에 라이트한다(242). 여기서, 상기 CPU(223)는 L1/L2/L3, NAS 등과 같은 통신 표준 프로토콜을 사용하여 IP 패킷 데이터를 구성한다 또한, 상기 CP 영역(231)에 저장되어 있는 데이터, 즉 IP 패킷 데이터는 외부 인터페이스들(221,213)을 통해 상기 AP 영역(233)에 라이트된다(243,244,245).
이렇게, 상기 CP 영역(231)에 저장되어 있는 데이터가 외부 인터페이스들(221,213)을 통해 상기 AP 영역(233)에 라이트되기 위해서는 상기 CPU(223)와, 외부 인터페이스들(221,213) 및 CPU(211)간의 제어 메시지 송수신 과정이 필요로 된다(247,248).
또한, 상기 CPU(211)는 그 어플리케이션 기능을 수행함에 있어 필요로 되는 데이터를 상기 AP 영역(233)으로부터 리드하거나, 상기 AP 영역(233)에 라이트한다(246).
한편, 도 2에서 상기 외부 인터페이스들(221,213)은 DMA 유닛을 포함할 수 있으며, 이와는 달리 외부 범용 DMA를 사용하거나 CPU, 혹은 별도의 프로세서가 데이터를 리드하거나 라이트할 수도 있음은 물론이다. 또한, 도 2에서 설명한 바와 같은 데이터 송/수신 과정은 다운링크를 일 예로 한 데이터 처리 과정이며, 업링크의 경우 도 2에서 설명한 다운링크 데이터 처리 과정과 반대로 수행될 수도 있음은 물론이다.
한편, 도 1 및 도 2에서 설명한 바와 같은 통신 디바이스에서 데이터 송/수신 과정은 DRAM에 데이터를 리드/라이트하는 회수가 많기 때문에 C2C의 대역폭(BW: Band Width, 이하 'BW'라 칭하기로 한다)에 따라 처리 가능한 데이터 처리량(data throughput)이 한정되게 된다. 일 예로, LTE cat 3 다운링크의 경우 CP는 zero copy 방식으로 최적화된 방식을 사용한다고 할지라도 디코딩된 데이터를 DRAM에 라이트하고, 상기 DRAM에 라이트된 데이터를 디사이퍼링(deciphering, 이하 'deciphering'라 칭하기로 한다)하기 위해 리드하고, 상기 디사이퍼링된 데이터를 라이트해야 하고, 마지막으로 프로토콜 처리가 완료된 사용자 데이터를 AP로 전달하기 위한 리드 동작을 수행해야 하기 때문에, 100Mbps 데이터를 DRAM에 최소 4회 이상 리드/라이트해야만 한다.
또한, CP가 zero copy 방식을 사용하지 않을 경우 세그먼팅된 데이터를 IP 패킷으로 생성하기 위해 데이터 복사(data copy) 동작이 필요하므로 DRAM에 데이터를 리드/라이트하는 회수는 더 증가될 수 밖에 없다(도 1 및 도 2에는 데이터 사이퍼링(ciphering, 이하 'ciphering'라 칭하기로 한다)/deciphering을 위한 데이터 리드/라이트 동작이 별도로 도시되어 있지 않음).
또한, 다운링크/업링크 데이터를 동시에 송/수신할 경우 다운링크 뿐만 아니라 업링크에도 총 4회의 데이터 리드/라이트 동작 수행이 필요로 되며, 따라서 다운링크와 업링크를 모두 고려할 경우 총 8회의 데이터 리드/라이트 동작 수행이 필요로 된다.
또한, 데이터 처리량이 증가하게 되면 도 1에서 설명한 바와 같은 데이터 처리 과정의 경우 DRAM 억세스를 위한 동적 메모리 제어기(DMC: Dynamic Memory Controller, 이하 'DMC'라 칭하기로 한다)에서 혼잡(congestion) 상황이 발생하게 되고, 이는 결국 DRAM 억세스상의 병목(bottleneck) 현상을 발생시킬 뿐만 아니라 외부 인터페이스의 처리 속도 역시 저하시키게 된다.
또한, 데이터 처리량이 증가하게 되면 도 2에서 설명한 바와 같은 데이터 처리 과정의 경우 C2C에서 병목 현상이 발생하고, 이로 인해 고속 데이터 처리가 제한될 뿐만 아니라 외부 인터페이스의 처리 속도 역시 저하시키게 된다.
한편, AP와 CP간의 데이터 전송 속도가 CP의 최대 전송 속도보다 빠른 경우가 발생할 수 있다. 일 예로, 다운링크의 경우 패킷 에러(packet error)가 발생하여 해당 패킷을 재수신할 때까지 데이터 송신을 못하고 있다가, 해당 패킷의 재전송이 완료되어 한꺼번에 비교적 많은 양의 데이터가 AP로 전달되는 경우가 발생할 수 있다. 또한, 업링크의 경우 AP에서 처리하는 어플리케이션의 동작에 상응하게 CP가 지원하는 최대 속도에 상응하는 데이터보다 많은 양의 데이터가 한꺼번에 AP에서 CP로 전달되는 경우가 발생할 수 있다. 상기에서 설명한 바와 같은 경우들에서, 외부 인터페이스를 통한 순간적인 데이터 전송 속도 증가로 인해 CP가 정상적으로 동작하지 못할 수 있는 상황이 발생하게 된다.
본 발명은 데이터 처리 장치 및 회로를 제안한다.
또한, 본 발명은 저장 유닛을 공유하는 프로세서들이 데이터를 처리하는 장치 및 회로를 제안한다.
또한, 본 발명은 데이터의 리드(read)/라이트(write) 횟수를 최소화시키는 데이터 처리 장치 및 회로를 제안한다.
또한, 본 발명은 외부 인터페이스 유닛을 통한 데이터 송/수신을 제거하는 데이터 처리 장치 및 회로를 제안한다.
본 발명에서 제안하는 회로는; 데이터 처리 회로에 있어서, 어플리케이션 프로세서(AP: Application Processor)와, 통신 프로세서(CP: Communication Processor)와, 상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP 중 적어도 하나와 관련된 데이터가 리드(read)/라이트(write)되는 제1영역과, 상기 CP가 억세스 가능하며, 상기 CP와 관련된 데이터가 리드/라이트되는 제2영역을 적어도 포함하는 저장 유닛(unit)을 포함한다.
본 발명에서 제안하는 다른 회로는; 데이터 처리 회로에 있어서, 어플리케이션 프로세서(AP: Application Processor)와, 통신 프로세서(CP: Communication Processor)와, 상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP 중 적어도 하나와 관련된 데이터가 리드(read)/라이트(write)되는 제1영역과, 상기 CP가 억세스 가능하며, 상기 CP와 관련된 데이터가 리드/라이트되는 제2영역과, 상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP간의 프로세서간 통신(IPC: Inter Processor Communication)에 사용되는 IPC 메시지가 리드/라이트되는 제3영역을 적어도 포함하는 저장 유닛(unit)을 포함한다.
본 발명에서 제안하는 장치는; 데이터 처리 장치에 있어서, 어플리케이션 프로세서(AP: Application Processor)와, 통신 프로세서(CP: Communication Processor)와, 상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP 중 적어도 하나와 관련된 데이터가 리드(read)/라이트(write)되는 제1영역과, 상기 CP가 억세스 가능하며, 상기 CP와 관련된 데이터가 리드/라이트되는 제2영역을 적어도 포함하는 저장 유닛(unit)을 포함한다.
본 발명에서 제안하는 다른 장치는; 데이터 처리 장치에 있어서, 어플리케이션 프로세서(AP: Application Processor)와, 통신 프로세서(CP: Communication Processor)와, 상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP 중 적어도 하나와 관련된 데이터가 리드(read)/라이트(write)되는 제1영역과, 상기 CP가 억세스 가능하며, 상기 CP와 관련된 데이터가 리드/라이트되는 제2영역과, 상기 AP와 CP 각각이 억세스 가능하며, 상기 AP와 CP간의 프로세서간 통신(IPC: Inter Processor Communication)에 사용되는 IPC 메시지가 리드/라이트되는 제3영역을 적어도 포함하는 저장 유닛(unit)을 포함한다.
또한, 본 발명은 프로세서들이 저장 유닛을 공유하여 데이터를 처리하는 것을 가능하게 한다는 효과가 있다.
또한, 본 발명은 데이터의 리드/라이트 횟수를 최소화시키는 데이터 처리를 가능하게 한다는 효과가 있다. 따라서, 본 발명은 프로세서들 각각의 로드(load)를 최소화시키고, 따라서 프로세서들간 고속 데이터 송/수신을 가능하게 한다는 효과가 있다.
또한, 본 발명은 외부 인터페이스 유닛을 통한 데이터 송/수신을 제거하는 데이터 처리를 가능하게 한다는 효과가 있다. 이렇게, 외부 인터페이스 유닛을 통한 데이터 송/수신을 제거함으로써 본 발명은 외부 인터페이스 유닛 성능 제한으로 인한 프로세서들의 성능 저하를 방지한다는 효과가 있다.
도 1은 일반적인 통신 디바이스에서 AP와 CP 각각이 DRAM을 사용하면서, 외부 인터페이스 유닛을 통해 데이터를 송/수신하는 과정을 개략적으로 도시한 도면
도 2는 일반적인 통신 디바이스에서 C2C 방식을 사용하여 AP와 CP가 DRAM을 공유할 경우 데이터를 송/수신하는 과정을 개략적으로 도시한 도면
도 3은 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하고, 외부 인터페이스 유닛을 사용할 경우 데이터를 송/수신하는 과정을 개략적으로 도시한 도면
도 4는 도 3의 DRAM(330)의 다른 구현 예를 도시한 도면
도 5a 내지 도 5d는 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하여 데이터를 송/수신할 경우 구현 가능한 DRAM의 구조를 개략적으로 도시한 도면
도 6은 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하고, 외부 인터페이스 유닛을 사용하지 않을 경우 데이터를 송/수신하는 과정을 개략적으로 도시한 도면
도 7은 도 6의 DRAM(630)의 다른 구현 예를 도시한 도면
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
본 발명은 데이터 처리 장치 및 회로를 제안한다.
또한, 본 발명은 저장 유닛(unit)을 공유하는 프로세서(processor)들이 데이터를 처리하는 장치 및 회로를 제안한다.
또한, 본 발명은 데이터의 리드(read)/라이트(write) 횟수를 최소화시키는 데이터 처리 장치 및 회로를 제안한다.
또한, 본 발명은 외부 인터페이스(external IF(interface)) 유닛을 통한 데이터 송/수신을 제거하는 데이터 처리 장치 및 회로를 제안한다.
이하, 본 발명을 설명함에 있어 상기 프로세서들은 어플리케이션 프로세서(AP: Application Processor, 이하 'AP'라 칭하기로 한다)와 통신 프로세서(CP: Communication Processor, 이하 'CP'라 칭하기로 한다)를 포함한다고 가정하기로 하며, 본 발명에서 제안하는 데이터 처리 장치 및 회로는 상기 AP와 CP 뿐만 아니라 다른 프로세서들이 사용될 경우에도 동일하게 적용될 수 있음은 물론이다.
또한, 본 발명을 설명함에 있어 상기 저장 유닛은 동적 랜덤 억세스 메모리(DRAM: Dynamic Random Access Memory, 이하 'DRAM '라 칭하기로 한다)인 경우를 가정하기로 하며, 본 발명에서 제안하는 데이터 처리 장치 및 회로는 상기 DRAM 뿐만 아니라 다른 저장 유닛들이 사용될 경우에도 동일하게 적용될 수 있음은 물론이다.
그러면 도 3을 참조하여 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하고, 외부 인터페이스 유닛을 사용할 경우 데이터를 처리하는 과정에 대해서 설명하기로 한다.
도 3은 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하고, 외부 인터페이스 유닛을 사용할 경우 데이터를 처리하는 과정을 개략적으로 도시한 도면이다.
도 3을 참조하면, 상기 통신 디바이스는 AP(310)와, CP(320)와, DRAM(330)을 포함한다. 상기 AP(310)는 AP 프로세서(311)와, 외부 인터페이스 유닛(313)과, 다이렉트 메모리 억세스(DMA: Direct Memory Access, 이하 'DMA'라 칭하기로 한다) 유닛(315)과, 칩대칩(C2C: Chip to Chip, 이하 'C2C'라 칭하기로 한다) 인터페이스 유닛(317)을 포함한다. 또한, 상기 CP(320)는 외부 인터페이스 유닛(321)과, CP 프로세서(323)와, C2C 인터페이스 유닛(325)과, 모뎀(MODEM: modulator/de-modulator)(327)을 포함한다. 여기서, 본 발명의 실시예에서는 상기 CP(320)가 그 통신 프로토콜(protocol)로 일 예로 셀룰라 모뎀(cellular MODEM(modulator/de-modulator) 프로토콜을 사용하지만, 상기 셀룰라 모뎀 프로토콜뿐만 아니라 와이파이(Wi-Fi: Wireless-Fidelity)와, 블루투스(BLUETOOTH)와, NFC(Near Field Communication) 등과 같은 다양한 통신 프로토콜을 사용할 수도 있음은 물론이다.
또한, 상기 DRAM(330)은 CP 영역(331)과, CP 데이터 영역(333)과, AP 영역(335)을 포함한다. 여기서, 상기 CP 영역(331)은 상기 CP(320)가 상기 CP(320)의 동작과 관련된 데이터를 리드(read)/라이트(write)하는 영역이며, 상기 CP 데이터 영역(333)은 상기 AP(310)에 의해서도 억세스 가능한, CP(320)를 통해 외부 통신 네트워크와 송/수신되는 데이터를 리드/라이트하는 영역이며, 상기 AP 영역(335)은 상기 AP(310)의 동작과 관련된 데이터를 리드/라이트하는 영역이다. 여기서, 상기 CP(320)의 동작과 관련된 데이터는 상기 CP(320)에 의해 처리되어 수신되거나, 혹은 상기 CP(320)에 의해 송신될 데이터를 포함한다. 즉, 상기 CP 데이터 영역(333)은 기본적으로는 상기 CP(320)에 의해서 제어되는 영역이지만, 상기 CP(320) 뿐만 아니라 상기 AP(310)에 의해서도 억세스 가능한 영역이다. 다시 말하면, 상기 CP 데이터 영역(333)은 상기 AP(310)와 CP(320)가 공유하여 데이터를 리드/라이트할 수 있는 공통 영역이다.
즉, 상기 AP(310)는 상기 CP(320)로부터 필요한 정보를 수신하여 상기 CP 데이터 영역(333)에 데이터를 리드/라이트할 수 있다.
그러면 여기서 상기 통신 디바이스가 데이터를 처리하는 과정에 대해서 구체적으로 설명하면 다음과 같다.
먼저, 상기 모뎀(327)이 수신한 데이터는 상기 DRAM(330)의 CP 데이터 영역(333)에 라이트된다(341). 여기서, 상기 C2C 인터페이스 유닛들(341,317)들을 통해 상기 모뎀(327)이 수신한 데이터가 상기 CP 데이터 영역(333)에 라이트된다(341). 즉, 상기 모뎀(327)은 디코더 버퍼(decoder buffer)에 저장되어 있는 디코딩된 데이터와 동일한 데이터를 상기 CP 데이터 영역(333)에 라이트한다(341). 상기 CP 프로세서(323)는 디사이퍼링(deciphering, 이하 ‘deciphering'라 칭하기로 한다)과, 리오더링(reordering, 이하 'reordering '라 칭하기로 한다)과, 자동 재송신 요구(ARQ: Automatic Retransmission request, 이하 'ARQ'라 칭하기로 한다) 등과 같은 프로토콜 스택(protocol stack) 동작을 수행하여 후 최종적으로 인터넷 프로토콜(IP: Internet Protocol, 이하 'IP'라 칭하기로 한다) 패킷(packet)을 생성한다(342). 여기서, 상기 CP 프로세서(323)는 상기 C2C 인터페이스 유닛들(341,317)들을 통해 상기 CP 프로세서(323)가 통신 기능을 수행함에 있어 필요로 되는 데이터를 상기 CP 영역(331) 및 CP 데이터 영역(333)으로부터 리드하거나, 상기 CP 영역(331) 및 CP 데이터 영역(333)에 라이트한다(342). 여기서, 상기 데이터 리드/라이트 동작에 대한 제어는 상기 CP 프로세서(323)가 수행하나, 실제 데이터를 리드/라이트하는 동작은 상기 CP 프로세서(323)가 아닌 DMA나 별도의 프로세서, 혹은 별도의 하드웨어(HW: hardware unit)이 수행할 수 있음은 물론이다.
상기 CP 프로세서(323)는 상기 생성한 IP 패킷에 대한 정보를 상기 AP(310)로 전달한다. 여기서, 상기 IP 패킷은 상기 DRAM(330)내에 scatter되어 있을 수 있고, 이 경우 linked list 등과 같은 scatter data 정보가 전달된다(343). 여기서, 상기 CP 프로세서(323)는 상기 외부 인터페이스 유닛들(321,313)을 통해 상기 AP 프로세서(311)과 제어 메시지(control message)들을 송/수신할 수 있다(343).
또한, 상기 AP 프로세서(311)는 상기 생성한 IP 패킷을 상기 CP 데이터 영역(333)에서 리드하여 상기 AP 영역(335)으로 라이트하고, 즉 상기 생성한 IP 패킷을 CP 데이터 영역(333)에서 복사(copy)하고, 상기 CP 프로세서(323)로 데이터 복사가 완료되었음을 통보한다(344). 즉, 상기 AP 프로세서(311)는 상기 외부 인터페이스 유닛들(321,313)을 통하지 않고도 상기 생성한 IP 패킷을 상기 CP 데이터 영역(333)에서 리드하여 상기 AP 영역(335)으로 라이트할 수 있는 것이다.
또한, 상기 AP 프로세서(311)는 데이터 디스플레이(display)와, 메모리 저장 등과 같은 AP 처리(processing) 동작을 수행한다(345). 즉, 상기 AP 프로세서(311)는 그 어플리케이션 기능을 수행함에 있어 필요로 되는 데이터를 상기 AP 영역(335)으로부터 리드하거나, 상기 AP 영역(335)에 라이트한다(345).
한편, 상기 CP 데이터 영역(333)은 기본적으로 상기 CP(320)가 관리하는 영역으로서, 수신된 데이터에 대해 CP 처리 동작 수행 완료 후 상기 AP(310) 전달까지 완료된 데이터가 저장되어 있던 영역은 새로운 데이터를 저장하는 영역으로 다시 사용될 수 있다. 여기서, 상기 CP 데이터 영역(333)은 일 예로 circular buffer 형태를 가질 수 있으며, 상기 CP(320)는 상기 circular buffer 를 미리 설정되어 있는 크기를 가지는 영역들로 분할한 후, 상기 분할된 영역들 각각에 대한 유용성(availability)을 나타내는 택(tag)을 사용하여 CP 데이터 영역(333)을 제어한다.
한편, 상기 CP(320)는 상기 AP(310)로부터 미리 설정되어 있는 시구간 동안 데이터 복사 완료를 통보받지 못할 경우, 상기 AP(310)와 데이터 복사 완료 여부를 확인하는 과정을 수행한다.
또한, 도 3에서 설명한 바와 같은 데이터 처리 과정은 다운링크를 일 예로 한 데이터 처리 과정이며, 업링크의 경우 도 3에서 설명한 다운링크 데이터 처리 과정과 반대로 수행될 수도 있음은 물론이다.
한편, 상기 CP 데이터 영역(333)은 다운링크 데이터와 업링크 데이터를 구분하여 저장하는 것이 가능하도록 구현될 수 있으며, 이를 도 4를 참조하여 설명하면 다음과 같다.
도 4는 도 3의 DRAM(330)의 다른 구현 예를 도시한 도면이다.
도 4를 참조하면, 상기 DRAM(330)는 CP 영역(331)과, CP 데이터 영역(333)과, AP 영역(335)을 포함하며, 상기 CP 데이터 영역(333)은 CP 다운링크(DL: DownLink, 이하 'DL'이라 칭하기로 한다) 데이터 영역(331-1)과 CP 업링크(UL: Uplink, 이하 'UL'이라 칭하기로 한다) 데이터 영역(331-2)을 포함한다.
업링크의 경우 CP(320)가 사용 가능한 영역에 대한 정보를 AP(310)로 알려 주면, 상기 AP(310)가 송신할 데이터를 상기 CP 업링크 데이터 영역(331-2)에 라이트한 후, 그 라이트된 데이터의 위치 및 크기에 관련된 정보를 상기 CP(320)로 전달한다. 상기 CP(320)는 상기 AP(310)로부터 상기 위치 및 크기에 관련된 정보를 수신하면, ACK(ACKnowledgement)와 새로운 저장 영역에 대한 정보를 상기 AP(310)로 송신한 후 업링크 데이터 송신 과정을 수행한다.
도 4에서는 도 3의 DRAM(330)의 다른 구현 예에 대해서 설명하였으며, 다음으로 도 5a 내지 도 5d를 참조하여 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하여 데이터를 처리할 경우 구현 가능한 DRAM의 구조에 대해서 설명하기로 한다.
도 5a 내지 도 5d는 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하여 데이터를 처리할 경우 구현 가능한 DRAM의 구조를 개략적으로 도시한 도면이다.
첫 번째로, 도 5a를 참조하면, 도 3에서 설명한 바와 같이 DRAM(510)은 AP에 의해 억세스되는 AP 영역(511)과, 기본적으로는 CP에 의해 억세스되지만 AP에 의해서도 억세스 가능한 CP 데이터 영역(513)과, CP에 의해 억세스되는 CP 영역(515)을 포함한다.
두 번째로, 도 5b를 참조하면, 도 4에서 설명한 바와 같이 DRAM(520)은 AP에 의해 억세스되는 AP 영역(521)과, 기본적으로는 CP에 의해 억세스되지만 AP에 의해서도 억세스 가능한 CP DL 데이터 영역(523) 및 CP UL 데이터 영역(525) 과, CP에 의해 억세스되는 CP 영역(527)을 포함한다. 여기서, 상기 CP DL 데이터 영역(523)은 DL 데이터가 리드/라이트되는 영역이며, 상기 CP UL 데이터 영역(525)은 UL 데이터가 리드/라이트되는 영역이다.
세 번째로, 도 5c를 참조하면, DRAM(530)은 AP에 의해 억세스되는 AP 영역(531)과, 기본적으로는 AP에 의해 억세스되지만 CP에 의해서도 억세스 가능한 AP 데이터 영역(533)과, 기본적으로는 CP에 의해 억세스되지만 AP에 의해서도 억세스 가능한 CP 데이터 영역(535)과, CP에 의해 억세스되는 CP 영역(537)을 포함한다. 여기서, 상기 AP 데이터 영역(533)은 도 5b에서 설명한 CP UL 데이터 영역(525)와 유사한 역할을 하고, 상기 CP 데이터 영역(535)은 도 5b에서 설명한 CP DL 데이터 영역(523)과 유사한 역할을 한다. 즉, 도 5b에 도시되어 있는 DRAM(520)과 도 5c에 도시되어 있는 DRAM(530)의 차이점은 상기 DRAM들(520,530) 각각이 포함하는 영역들 각각이 어느 프로세서에 의해 제어되는지 여부이다. 즉, 도 5b에서는 DL/UL 데이터 영역이 모두 CP 프로세서에 의해 제어되지만, 도 5c에서는 AP 데이터 영역은 AP 프로세서에 의해, CP 데이터 영역은 CP 프로세서에 의해 제어된다.
마지막으로, 도 5d를 참조하면, DRAM(540)은 AP에 의해 억세스되는 AP 영역(541)과, AP 및 CP에 의해 억세스되는 DL 데이터 영역(543) 및 UL 데이터 영역(545)과, CP에 의해 억세스되는 CP 영역(547)을 포함한다. 여기서, 상기 DL 데이터 영역(543)은 DL 데이터가 리드/라이트되는 영역이며, 상기 UL 데이터 영역(545)은 UL 데이터가 리드/라이트되는 영역이다. 이 경우, 도 3에서 설명한 바와 같이 DL 데이터는 DL 데이터 영역에서 AP 영역으로, UL 데이터는 UL 데이터 영역에서 CP 영역으로 복사되어 사용될 수도 있으나, 데이터를 복사하지 않고, DL 데이터는 CP에 의해 DL 데이터 영역에서 프로토콜 처리 동작 수행을 통해 IP 패킷으로 구성된 후, AP에 의해 동일 DL 데이터 영역에서 상기 IP 패킷을 사용하여 어플리케이션을 수행할 수도 있다.
이와 마찬가지로, UL 데이터는 AP에 의해 UL 데이터 영역에서 IP 패킷으로 구성된 후, CP에 의해 동일 UL 데이터 영역에서 상기 IP 패킷을 프로토콜 처리 동작 수행을 통해 외부 통신 네트워크로 송신될 수 있다. 이 경우, DL 데이터 영역이나 UL 데이터 영역에서 AP 영역이나 CP 영역으로 데이터를 복사하는 처리 과정이 불필요하게 되어 데이터 처리 속도가 빨라지고, 데이터 처리량(throughput)이 증가할 수 있다.
도 5a 내지 도 5d에서 설명한 바와 같은 DRAM 구조에서 해당 DRMA이 포함하는 각 영역간에 데이터 복사가 발생될 경우, DRAM 리드/라이트 회수는 감소되지 않지만, CP와 AP간 데이터 송/수신 시에 C2C 인터페이스 유닛과 외부 인터페이스 유닛들을 사용하지 않기 때문에 C2C 인터페이스 유닛과 외부 인터페이스 유닛의 대역폭(BW: BandWidth) 제한이나 성능 저하로 인한 AP 및 CP 간의 데이터 송/수신 성능 저하를 방지할 수 있다.
도 5a 내지 도 5d는 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하여 데이터를 처리할 경우 구현 가능한 DRAM의 구조에 대해서 설명하였으며, 다음으로 도 6을 참조하여 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하고, 외부 인터페이스 유닛을 사용하지 않을 경우 데이터를 처리하는 과정에 대해서 설명하기로 한다.
도 6은 본 발명의 실시예에 따른 통신 디바이스에서 AP와 CP가 DRAM을 공유하고, 외부 인터페이스 유닛을 사용하지 않을 경우 데이터를 처리하는 과정을 개략적으로 도시한 도면이다.
도 6을 참조하면, 상기 통신 디바이스는 AP(610)와, CP(620)와, DRAM(630)을 포함한다. 상기 AP(610)는 AP 프로세서(611)와, C2C 인터페이스 유닛(613)을 포함하며, 상기 CP(620)는 CP 프로세서(621)와, C2C 인터페이스 유닛(623)과, 모뎀(625)을 포함한다.
상기 DRAM(630)은 AP 영역(631)과, 프로세서간 통신(IPC: Inter Processor Communication, 이하 'IPC'라 칭하기로 한다) 메시지 영역(633)과, 데이터 영역(635)과, CP 영역(637)을 포함한다. 상기 AP 영역(631)은 상기 AP(610)에 의해 억세스되는 영역을 나타내며, 상기 IPC 메시지 영역(633)은 제어 메시지나, 혹은 IPC 메시지가 리드/라이트되는 영역으로서, 상기 DRAM의 공유 영역, 즉 데이터 영역(633)과 데이터 관련 정보를 송/수신하는데 사용되는 영역이다. 이렇게, 상기 IPC 메시지 영역(633)이 별도로 관리됨에 따라 송신할 데이터가 상기 IPC 메시지 영역(633)에 저장되어 있다는 것을 알리기 위해 상기 AP(610)와 CP(620)간에는 하드웨어 인터럽트(HW(HardWare) Interrupt)가 송/수신되어야 한다. 상기 데이터 영역(635)은 상기 AP 프로세서(611) 및 CP 프로세서(613)에 의해 억세스되는 영역이며, 도 5a 내지 도 5d에서 설명한 바와 같은 방식으로 구성될 수 있다. 또한, 상기 CP 영역(637)은 상기 CP 프로세서(613)에 의해 억세스되는 영역이다.
그러면 여기서 상기 통신 디바이스가 데이터를 처리하는 과정에 대해서 구체적으로 설명하면 다음과 같다.
먼저, 상기 모뎀(625)이 수신한 데이터는 상기 DRAM(630)의 데이터 영역(635)에 라이트된다(631). 여기서, 상기 C2C 인터페이스 유닛들(623,613)들을 통해 상기 모뎀(625)이 수신한 데이터가 상기 데이터 영역(635)에 라이트된다(631). 즉, 상기 모뎀(625)은 디코더 버퍼에 저장되어 있는 디코딩된 데이터와 동일한 데이터를 상기 데이터 영역(635)에 라이트한다(641).
상기 CP 프로세서(621)는 deciphering과, reordering과, ARQ 등과 같은 프로토콜 스택 동작을 수행하여 후 최종적으로 IP 패킷을 생성한다(642,643). 여기서, 상기 CP 프로세서(621)는 상기 C2C 인터페이스 유닛들(623,613)들을 통해 상기 CP 프로세서(621)가 통신 기능을 수행함에 있어 필요로 되는 데이터를 상기 CP 영역(637) 및 데이터 영역(635)으로부터 리드하거나, 상기 CP 영역(637) 및 데이터 영역(635)에 라이트한다(642,643).
상기 CP 프로세서(621)는 상기 생성한 IP 패킷에 대한 정보를 상기 AP(610)로 전달한다. 여기서, 상기 IP 패킷은 상기 DRAM(630)내에 scatter되어 있을 수 있고, 이 경우 linked list 등과 같은 scatter data 정보가 전달된다(642,643). 상기 linked list 등과 같은 scatter data 정보는 상기 IPC 메시지 영역(633)에 저장되고, 상기 CP 프로세서(621)는 하드웨어 인터럽트를 통해 상기 AP 프로세서(611)로 해당 정보가 상기 IPC 메시지 영역(633)에 저장되었음을 알려준다. 즉, 도 6에 도시되어 있는 바와 같은 통신 디바이스의 구조에서는 도 3에 도시되어 있는 바와 같은 통신 디바이스의 구조에서 외부 인터페이스 유닛을 통해 전송하던 데이터 관련 정보들을 외부 DRAM의 IPC 메시지 영역을 통해서 전송하는 것이다.
또한, 상기 AP 프로세서(611)는 상기 하드웨어 인터럽트를 통해 상기 IPC 메시지 영역(622)에 라이트되어 있는 IP 패킷 정보를 리드하고, 상기 생성한 IP 패킷을 상기 CP 데이터 영역(637)에서 리드하여 상기 AP 영역(631)으로 라이트하고, 즉 상기 생성한 IP 패킷을 CP 데이터 영역(637)에서 복사하고, 상기 CP 프로세서(621)로 데이터 복사가 완료되었음을 통보한다(344). 즉, 상기 AP 프로세서(611)는 상기 생성한 IP 패킷을 상기 CP 데이터 영역(637)에서 리드하여 상기 AP 영역(631)으로 라이트할 수 있는 것이다.
또한, 상기 AP 프로세서(611)는 데이터 디스플레이와, 메모리 저장 등과 같은 AP 프로세싱 동작을 수행한다(645). 즉, 상기 AP 프로세서(611)는 그 통신 기능을 수행함에 있어 필요로 되는 데이터를 상기 AP 영역(631)으로부터 리드하거나, 상기 AP 영역(631)에 라이트한다(645).
한편, 상기 데이터 영역(635)은 상기 AP(610)와 상기 CP(620)가 함께 관리하는 영역으로서, 상기 CP(620)가 수신한 데이터에 대해 CP 프로세싱 완료 후 상기 AP(610) 전달까지 완료된 데이터가 저장되어 있던 영역은 새로운 데이터를 저장하는 영역으로 다시 사용될 수 있고, 이와는 달리 상기 AP(610)가 수신한 데이터에 대해 AP 프로세싱 완료 후 상기 CP(620) 전달까지 완료된 데이터가 저장되어 있던 영역은 새로운 데이터를 저장하는 영역으로 다시 사용될 수 있다.
여기서, 상기 데이터 영역(635)은 일 예로 circular buffer 형태를 가질 수 있으며, 상기 CP(620)는 상기 circular buffer 를 미리 설정되어 있는 크기를 가지는 영역들로 분할한 후, 상기 분할된 영역들 각각에 대한 유용성을 나타내는 택을 사용하여 데이터 영역(635)을 제어할 수 있고, 이와는 달리 상기 AP(610)가 상기 circular buffer 를 미리 설정되어 있는 크기를 가지는 영역들로 분할한 후, 상기 분할된 영역들 각각에 대한 유용성을 나타내는 택을 사용하여 데이터 영역(635)을 제어할 수도 있음은 물론이다.
또한, 상기 AP 프로세서(611) 및 CP 프로세서(621)는 그 동작 수행시 발생되는 제어 메시지 및 IPC 메시지와 IP 패킷 이외에 AP(610)와 CP(620)간에 송/수신되어야 하는 데이터들을 상기 IPC 메시지 영역(633)에 리드/라이트한다(646,647). 즉, 임의의 메시지 혹은 데이터를 송신하는 프로세서가 상기 임의의 메시지 혹은 데이터를 상기 IPC 메시지 영역(633)에 라이트하고, 하드웨어 인터럽트를 통해 상기 임의의 메시지 혹은 데이터를 수신하는 프로세서로 알려주면 상기 임의의 메시지 혹은 데이터를 수신하는 프로세서는 상기 임의의 메시지 혹은 데이터를 리드한다.
한편, 상기 CP(620)는 상기 AP(610)로부터 미리 설정되어 있는 시구간 동안 데이터 복사 완료를 통보받지 못할 경우, 상기 AP(610)와 데이터 복사 완료 여부를 확인하는 과정을 수행한다.
또한, 도 6에서 설명한 바와 같은 데이터 처리 과정은 다운링크를 일 예로 한 데이터 처리 과정이며, 업링크의 경우 도 6에서 설명한 다운링크 데이터 처리 과정과 반대로 수행될 수도 있음은 물론이다.
한편, 상기 DRAM(630)은 도 6에서 나타낸 바와 같은 구조와 다른 형태로도 구현될 수 있으며, 이를 도 7을 참조하여 설명하면 다음과 같다.
도 7은 도 6의 DRAM(630)의 다른 구현 예를 도시한 도면이다.
도 7을 참조하면, 상기 DRAM(630)은 AP 영역(711)과, AP 데이터 영역(713)과, CP/AP IPC 메시지 영역(715)과, AP/CP IPC 메시지 영역(717)과, CP 영역(721)을 포함한다.
상기 AP 영역(711)은 상기 AP(610)에 의해 억세스되는 영역을 나타내며, AP 데이터 영역(713)은 기본적으로는 상기 AP(610)에 의해 관리되며, 상기 CP(620)에 의해서도 억세스가 가능한 영역을 나타낸다. 또한, 상기 CP/AP IPC 메시지 영역(715)은 상기 CP(620)에서 AP(610)로 전달되는 IPC 메시지가 리드/라이트되는 영역을 나타내며, 상기 AP/CP IPC 메시지 영역(717)은 상기 AP(610)에서 CP(620)로 전달되는 IPC 메시지가 리드/라이트되는 영역을 나타낸다. 또한, 상기 CP 영역(721)은 상기 CP(620)에 의해 억세스되는 영역을 나타낸다.
또한, 도 6의 DRAM(630)은 도 7에서 설명한 구조 뿐만 아니라 도 5a 내지 도 5d에서 설명한 바와 같은 형태로도 구현 가능함은 물론이다. 다만, 이 경우 CP/AP IPC 메시지 영역과, AP/CP IPC 메시지 영역에 상응하도록 영역이 추가 분할될 수도 있음은 물론이다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (22)

  1. 통신 디바이스에 있어서,
    다이렉트 메모리 억세스(DMA: Direct Memory Access) 유닛을 포함하는 어플리케이션 프로세서(AP: Application Processor)와,
    통신 프로세서(CP: Communication Processor)와,
    상기 CP가 억세스 가능하며 상기 AP는 억세스 불가능한 제 1 메모리 영역, 상기 CP 및 상기 AP가 억세스 가능한 제 2 메모리 영역 및 상기 AP는 억세스 가능하며 상기 CP는 억세스 불가능한 제 3 메모리 영역을 포함하는 메모리를 포함하며,
    상기 CP는 제 1 정보를 상기 제 1 메모리 영역에 라이트(write)하고, 제 2 정보를 상기 제 2 메모리 영역에 라이트하도록 구성되며,
    상기 AP는 상기 제 2 메모리 영역 및 상기 제 3 메모리 영역과 연결된 상기 DMA 유닛을 이용하여 상기 제 2 메모리 영역으로부터 상기 제 2 정보를 리드(read)하고, 제 3 정보를 상기 제 3 메모리 영역에 라이트하도록 구성된 통신 디바이스.
  2. 제1항에 있어서, 상기 CP, 상기 AP 및 상기 메모리가 동일한 집적회로(integrated circuit) 패키지 또는 동일한 시스템-온-칩(system-on-chip)의 적어도 일부로 형성됨을 특징으로 하는 통신 디바이스.
  3. 제1항에 있어서,
    상기 통신 디바이스 외부의 전자 디바이스와 무선 통신 연결을 설정하는 통신 회로를 더 포함하되,
    상기 CP는 상기 제 2 정보를 상기 통신 회로를 사용하여 설정된 무선 통신 연결을 통하여 상기 전자 디바이스로부터 수신하도록 더 구성된 통신 디바이스.
  4. 제1항에 있어서,
    상기 CP는 적어도 상기 제2 정보의 적어도 일부로서 인터넷 프로토콜(IP: Internet Protocol) 패킷을 생성하도록 더 구성된 통신 디바이스.
  5. 제4항에 있어서
    상기 AP는:
    상기 제 2 메모리 영역으로부터 상기 IP 패킷을 상기 제2 정보의 적어도 일부로서 리드하고,
    상기 제 2 메모리 영역으로부터 리드한 상기 IP 패킷을 상기 DMA 유닛을 이용하여 상기 제 3 메모리 영역에 라이트하도록 더 구성된 통신 디바이스.
  6. 제1항에 있어서,
    상기 CP는 상기 제 2 정보를 상기 AP의 적어도 일부를 이용하여 상기 제 2 메모리 영역에 라이트하도록 더 구성된 통신 디바이스.
  7. 제1항에 있어서,
    상기 CP는 상기 AP에게 상기 제 2 메모리 영역 내의 상기 제 2 정보의 위치를 나타내는 제 4 정보를 송신하도록 더 구성되고,
    상기 AP 는 상기 제4 정보의 적어도 일부를 기반으로 상기 제 2 메모리 영역의 위치를 식별하여 상기 제2 메모리 영역으로부터 상기 제 2 정보를 리드하도록 더 구성된 통신 디바이스.
  8. 제1항에 있어서,
    상기 AP는 상기 CP에게 상기 제 2 메모리 영역으로부터 상기 제 2 정보를 리드하는 것의 완료를 나타내는 확인 메시지를 송신하도록 더 구성된 통신 디바이스.
  9. 제1항에 있어서,
    상기 AP는 상기 DMA 유닛을 이용하여 상기 제 3 메모리 영역에서 상기 제 2 메모리 영역으로부터 리드한 상기 제 2 정보를 라이트하도록 더 구성된 통신 디바이스.
  10. 제1항에 있어서,
    상기 제 1 메모리 영역, 상기 제 2 메모리 영역, 및 상기 제 3 메모리 영역은 적어도 버퍼 메모리의 일부를 형성하는 통신 디바이스.
  11. 집적 회로(integrated circuit) 패키지에 있어서,
    통신 프로세서(CP: Communication Processer)와,
    다이렉트 메모리 억세스(DMA: Direct Memory Access) 유닛을 포함하는 어플리케이션 프로세서(AP: Application Processor)와,
    상기 CP가 억세스 가능하며 상기 AP는 억세스 불가능한 제 1 메모리 영역, 상기 CP 및 상기 AP가 억세스 가능한 제 2 메모리 영역, 및 상기 AP는 억세스 가능하며 상기 CP는 억세스 불가능한 제 3 메모리 영역을 포함하는 메모리를 포함하며,
    상기 CP는 제 1 정보를 상기 제 1 메모리 영역에 라이트(write)하고, 제 2 정보를 상기 제 2 메모리 영역에 라이트하도록 구성되며,
    상기 AP는 상기 제 2 메모리 영역 및 상기 제 3 메모리 영역과 연결된 상기 DMA 유닛을 이용하여 상기 제 2 메모리 영역으로부터 상기 제 2 정보를 리드(read)하고, 제 3 정보를 상기 제 3 메모리 영역에 라이트하도록 구성된 집적 회로 패키지.
  12. 제11항에 있어서,
    상기 메모리는 상기 CP 및 상기 AP가 억세스 가능한 제 4 메모리 영역을 더 포함하며,
    상기 CP는 프로세서간 통신(IPC: Inter Processor Communication) 메시지를 상기 제 4 메모리 영역에 라이트하도록 더 구성되며,
    상기 AP는 상기 제 4 메모리 영역으로부터 IPC 메시지를 리드하도록 더 구성된 집적 회로 패키지.
  13. 제11항에 있어서,
    상기 제 2 메모리 영역은 다운링크 데이터 영역을 포함하고,
    다운링크 데이터는 상기 CP에 의해 상기 다운링크 데이터 영역에 라이트되거나, 또는 상기 AP로부터 상기 다운링크 데이터 영역으로부터 리드 되도록 구성된 집적 회로 패키지.
  14. 제13항에 있어서,
    상기 제 2 메모리 영역은 업링크 데이터 영억을 더 포함하되,
    업링크 데이터는 상기 CP에 의해 업링크 데이터 영역에 라이트 되거나, 또는 상기 AP로부터 상기 업링크 데이터 영역으로부터 리드 되도록 구성된 집적 회로 패키지.
  15. 제11항에 있어서,
    상기 제 2 메모리 영역은 CP 영역 및 AP 데이터 영역을 포함하며,
    상기 CP 영역은 상기 CP에 의해 제어되도록 구성되고,
    상기 AP 데이터 영역은 상기 AP에 의해 제어되도록 구성된 집적 회로 패키지.
  16. 제11항에 있어서,
    상기 AP는 상기 DMA 유닛을 이용하여 상기 제 3 메모리 영역에 상기 제 2 메모리 영역으로부터 리드된 상기 제 2 정보를 라이트하도록 더 구성된 집적 회로 패키지.
  17. 통신 디바이스에 있어서,
    다이렉트 메모리 억세스(DMA: Direct Memory Access) 유닛을 포함하는 어플리케이션 프로세서(AP: Application Processor)와,
    통신 프로세서(CP: Communication Processor)와,
    상기 CP가 억세스 가능하며 상기 AP는 억세스 불가능한 제 1 메모리 영역, 상기 CP 및 상기 AP가 억세스 가능한 제 2 메모리 영역, 및 상기 AP는 억세스 가능하며 상기 CP는 억세스 불가능한 제 3 메모리 영역을 포함하는 메모리를 포함하며,
    상기 AP는:
    상기 제 3 메모리 영역에 제 1 정보를 라이트(write)하고,
    상기 제 2 메모리 영역과 상기 제 3 메모리 영역과 연결된 상기 DMA 유닛을 이용하여 상기 제 2 메모리 영역에 제 2 정보를 라이트(write)하도록 구성되고,
    상기 CP는:
    상기 제 2 정보를 상기 제 2 메모리 영역으로부터 리드(read)하고, 제 3 정보를 상기 제 1 메모리 영역에 라이트하도록 구성된 통신 디바이스.
  18. 제17항에 있어서,
    상기 AP는:
    외부 인터페이스를 사용하지 않고 상기 제 2 메모리 영역에 상기 제 2 정보를 라이트하도록 더 구성된 통신 디바이스.
  19. 제18항에 있어서,
    상기 CP는 상기 외부 인터페이스를 사용하여 상기 제 2 메모리 영역으로부터 상기 제 2 정보를 리드하도록 더 구성된 통신 디바이스.
  20. 제17항에 있어서,
    상기 CP는 외부 인터페이스를 사용하지 않고 상기 제 2 메모리 영역으로부터 상기 제 2 정보를 리드하도록 더 구성된 통신 디바이스.
  21. 삭제
  22. 삭제
KR1020190096990A 2019-08-08 2019-08-08 데이터 처리 장치와 회로 KR102148448B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190096990A KR102148448B1 (ko) 2019-08-08 2019-08-08 데이터 처리 장치와 회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190096990A KR102148448B1 (ko) 2019-08-08 2019-08-08 데이터 처리 장치와 회로

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020120142106A Division KR102011137B1 (ko) 2012-12-07 2012-12-07 데이터 처리 장치와 회로

Publications (2)

Publication Number Publication Date
KR20190096893A KR20190096893A (ko) 2019-08-20
KR102148448B1 true KR102148448B1 (ko) 2020-08-26

Family

ID=67807463

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190096990A KR102148448B1 (ko) 2019-08-08 2019-08-08 데이터 처리 장치와 회로

Country Status (1)

Country Link
KR (1) KR102148448B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008013209A1 (fr) * 2006-07-28 2008-01-31 Nec Corporation Circuit de connexion de processeur, dispositif de traitement de données, dispositif opérationnel, et terminal de communications mobiles, et procédé de transfert de données les utilisant
JP2010097252A (ja) * 2008-10-14 2010-04-30 Canon Inc プロセッサ間通信方法、マルチプロセッサシステム及びプロセッサ。
US20110261640A1 (en) 2008-01-11 2011-10-27 Elpida Memory, Inc. Semiconductor memory device and data processing system including the semiconductor memory device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100945724B1 (ko) * 2008-03-07 2010-03-05 한국과학기술원 국부변형에 대해 강건한 라인 워터마킹 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008013209A1 (fr) * 2006-07-28 2008-01-31 Nec Corporation Circuit de connexion de processeur, dispositif de traitement de données, dispositif opérationnel, et terminal de communications mobiles, et procédé de transfert de données les utilisant
US20110261640A1 (en) 2008-01-11 2011-10-27 Elpida Memory, Inc. Semiconductor memory device and data processing system including the semiconductor memory device
JP2010097252A (ja) * 2008-10-14 2010-04-30 Canon Inc プロセッサ間通信方法、マルチプロセッサシステム及びプロセッサ。

Also Published As

Publication number Publication date
KR20190096893A (ko) 2019-08-20

Similar Documents

Publication Publication Date Title
US11379278B2 (en) Methods and apparatus for correcting out-of-order data transactions between processors
US10769096B2 (en) Apparatus and circuit for processing data
KR100981561B1 (ko) 이동통신 시스템의 데이터 처리 방법 및 장치
US10484472B2 (en) Methods and systems for efficiently moving data between nodes in a cluster
CN101827072A (zh) 虚拟内存协议分段卸载
US10275163B2 (en) Methods for controlling data transfer speed of a data storage device and a host device utilizing the same
US10452122B2 (en) Methods for controlling data transfer speed of a data storage device and a host device utilizing the same
US10719376B2 (en) Methods and apparatus for multiplexing data flows via a single data structure
US10154079B2 (en) Pre-boot file transfer system
CN107453845B (zh) 应答确认方法及设备
KR102148448B1 (ko) 데이터 처리 장치와 회로
US20150199298A1 (en) Storage and network interface memory share
CN110659143B (zh) 一种容器间的通讯方法、装置及电子设备
US20200026668A1 (en) Methods and apparatus for reduced overhead data transfer with a shared ring buffer
US20230147131A1 (en) Data transmission method, apparatus, and system
US20210109887A1 (en) I3c pending read with retransmission
CN115982090B (zh) 软硬件协同实现远端内存访问的方法和装置
US20220374368A1 (en) System and method for enhancing throughput during data transfer
CN117692109A (zh) 远程直接内存访问的数据重传方法及相关设备
CN118301197A (en) Network communication method, device, medium, program product and apparatus
CN118057793A (zh) 一种数据读写方法及相关装置
CN114253475A (zh) 一种rdma内存申请保护方法、系统、设备及存储介质
CN117411834A (zh) 基于udp的高速数据可靠传输方法、系统、装置和存储介质
CN116192781A (zh) 基于安全数字输入输出接口的数据传输方法、装置及系统

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant