• 검색 결과가 없습니다.

테크브릿지 - (19) 대한민국특허청(KR) (12) 공개특허공보(A)

N/A
N/A
Protected

Academic year: 2024

Share "테크브릿지 - (19) 대한민국특허청(KR) (12) 공개특허공보(A)"

Copied!
10
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

(19) 대한민국특허청(KR) (12) 공개특허공보(A)

(11) 공개번호 10-2016-0106999 (43) 공개일자 2016년09월13일 (51) 국제특허분류(Int. Cl.)

H04L 12/861 (2013.01) H04L 12/883 (2013.01) (52) CPC특허분류

H04L 49/9005 (2013.01) H04L 49/9021 (2013.01)

(21) 출원번호 10-2015-0029836 (22) 출원일자 2015년03월03일 심사청구일자 없음

(71) 출원인

한국전자통신연구원

대전광역시 유성구 가정로 218 (가정동) (72) 발명자

신무용

대전광역시 유성구 상대남로 26 좌혜경

대전광역시 유성구 가정로 63, 럭키하나아파트106-703 나지현

대전광역시 유성구 어은로 57, 한빛아파트 133-1505

(74) 대리인

특허법인태평양 전체 청구항 수 : 총 1 항

(54) 발명의 명칭 메모리 할당의 부분 해제를 지원하는 메모리 관리 장치 및 방법 (57) 요 약

본 발명은 통신 시스템 등에서 프로토콜 계층간 데이터 전달을 위해 사용되는 메모리를 각각의 계층에서 일정 패 킷 크기로 분할 할당하고 해제하는 방식에서, 프로토콜 계층을 거치면서 분할된 메모리를 부분적으로 해제할 수 있는 메모리 관리 장치 및 방법에 관한 것이다.

대 표 도 - 도1

(2)

(52) CPC특허분류

H04L 49/9042 (2013.01) 이 발명을 지원한 국가연구개발사업 과제고유번호 14-000-04-001 부처명 미래창조과학부

연구관리전문기관 정보통신기술진흥센터 연구사업명 ETRI통합과제

연구과제명 초연결 스마트 모바일 서비스를 위한 5G 이동통신 핵심기술 개발 기 여 율 1/1

주관기관 한국전자통신연구원 연구기간 2014.03.01 ~ 2018.02.28

(3)

명 세 서 청구범위 청구항 1

메모리 할당의 부분 해제를 지원하는 메모리 관리 장치에 있어서,

패킷 인덱스로 구분되는 헤더와 데이터 영역에 데이터 패킷의 헤더 정보와 데이터를 각각 저장하는 패킷 저장 메모리; 상기 패킷 저장 메모리 할당이 부분 해제된 해당 포인터와 상기 패킷 인덱스를 관리하기 위한 해제 관 리 메모리; 및

상기 패킷 저장 메모리의 할당에 있어서 상기 데이터 패킷의 크기와 태그 정보를 상기 헤더 정보로서 저장하여 관리하고 상기 데이터 패킷의 데이터를 상기 데이터 영역에 저장하여 관리하며, 상기 할당의 해제 요청에 따른 해당 해제 대상 포인터와 해제 대상 크기를 이용하여, 상기 해제 대상 포인터 앞이 상기 태그 정보인지 여부와 상기 해제 대상 크기가 상기 데이터 패킷의 크기와 일치 여부를 판단해 부분 해제인지 여부를 결정하는 메모리 관리자를 포함하고,

상기 메모리 관리자는, 상기 부분 해제에 있어서, 상기 해제 대상 포인터가 상기 해제 관리 메모리에 존재 여부 에 따라 중복 해제 여부를 검사하여, 상기 중복 해제에 해당하지 않으면, 상기 해제 대상 포인터와 함께 그에 대응된 상기 패킷 인덱스를 상기 해제 관리 메모리에 관리하는 것을 특징으로 하는 메모리 관리 장치.

발명의 설명 기 술 분 야

본 발명은 메모리 관리 장치 및 방법에 관한 것으로서, 특히, 통신 시스템 등에서 메모리를 일정 패킷 크기로 [0001]

할당하고 해제하는 방식에서, 해제 시 메모리를 부분적으로 해제하기 위한 메모리 관리 장치 및 방법에 관한 것 이다.

배 경 기 술

통신 시스템에서는 통신 프로토콜을 지원하기 위해 여러 계층으로 프로토콜이 나뉘어져 있다. 예를 들어, 이동 [0002]

통신 시스템에서는 망에서 받은 IP 데이터를 PDCP(Packet Data Convergence Protocol)를 처리한 후 전송을 하 기 위해 RLC (Radio Link Control), MAC(Media Access Control) 계층을 거쳐 모뎀 계층으로 전달하는 프로토 콜을 수행하게 된다. 이러한 프로토콜들은 각각의 메모리를 사용하여 이루어진다.

IP 데이터는 계층을 이동할 때마다 해당 계층에서 데이터를 분할 및 조립하기 위한 메모리 관리 방식으로 이루 [0003]

어진다. 데이터 분할 시 물리적으로 분할된 데이터를 다른 메모리에 복사하여 조립하는 방식으로 수행할 수 있 으나, 이러한 복사 방식은 고속화되는 통신 시스템에서 매우 큰 프로세싱 오버헤드를 주며 시스템의 성능을 현 격히 저하시키는 요인이 된다. 성능 향상을 위해 이러한 분할 데이터를 메모리에 복사하지 않고 분할 정보만을 이용하여 계층간 전달하게 하는 무복사(zero copy) 시스템을 지향하고 있다.

그러나, 무복사 시스템에서는 메모리 관리에 문제점이 있다. 예를 들어, 위와 같은 예에서 PDCP에서 IP 데이터 [0004]

를 저장하기 위해 메모리 관리자에서 할당받은 메모리는 각 프로토콜 계층을 지나면서 분할될 수 있다. 즉, 최 상위 계층(예, PDCP)에서 할당받은 주 메모리는 계층 이동 시 분할되어 RLC 계층 등에서는 여러 개의 데이터 메 모리로 분할되어 관리된다. 이러한 경우 일반적으로 메모리 관리자는, PDCP에서 할당받은 메모리를 해제하기 위 해서 할당받은 주 메모리의 주소, 즉, 포인터(pointer)를 해제 시에 요구하게 된다. 그러나, 계층을 거치면서 분할된 부 메모리 포인터와 크기만을 관리하게 되므로 이러한 프로토콜에서는 최상위 계층에서 할당받은 주 메 모리 포인터에 대한 정보를 관리하기 어려울 뿐만 아니라, 각 계층에서 분할된 데이터들이 해제되는 시점과 해 제하는 주체가 다를 수 있으므로 분할된 메모리 전체에 대하여 해제관련 정보를 전체적으로 관리하기 것이 매우 어렵다는 단점이 있다.

발명의 내용

(4)

해결하려는 과제

따라서, 본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은, 통신 시스템 등에서 프 [0005]

로토콜 계층간 데이터 전달을 위해 사용되는 메모리를 각각의 계층에서 일정 패킷 크기로 분할 할당하고 해제하 는 방식에서, 프로토콜 계층을 거치면서 분할된 메모리를 부분적으로 해제할 수 있는 메모리 관리 장치 및 방법 을 제공하는 데 있다.

과제의 해결 수단

먼저, 본 발명의 특징을 요약하면, 상기의 목적을 달성하기 위한 본 발명의 일면에 따른 메모리 할당의 부분 해 [0006]

제를 지원하는 메모리 관리 장치는, 패킷 인덱스로 구분되는 헤더와 데이터 영역에 데이터 패킷의 헤더 정보와 데이터를 각각 저장하는 패킷 저장 메모리; 상기 패킷 저장 메모리 할당이 부분 해제된 해당 포인터와 상기 패 킷 인덱스를 관리하기 위한 해제 관리 메모리; 및 상기 패킷 저장 메모리의 할당에 있어서 상기 데이터 패킷의 크기와 태그 정보를 상기 헤더 정보로서 저장하여 관리하고 상기 데이터 패킷의 데이터를 상기 데이터 영역에 저장하여 관리하며, 상기 할당의 해제 요청에 따른 해당 해제 대상 포인터와 해제 대상 크기를 이용하여, 상기 해제 대상 포인터 앞이 상기 태그 정보인지 여부와 상기 해제 대상 크기가 상기 데이터 패킷의 크기와 일치 여 부를 판단해 부분 해제인지 여부를 결정하는 메모리 관리자를 포함하고, 상기 메모리 관리자는, 상기 부분 해제 에 있어서, 상기 해제 대상 포인터가 상기 해제 관리 메모리에 존재 여부에 따라 중복 해제 여부를 검사하여, 상기 중복 해제에 해당하지 않으면, 상기 해제 대상 포인터와 함께 그에 대응된 상기 패킷 인덱스를 상기 해제 관리 메모리에 관리한다.

상기 메모리 관리자는, 상기 해제 대상 포인터(p)에 대하여 하기의 수학식을 이용하여 상기 패킷 인덱스(i)를 [0007]

계산하며,

i = FLOOR( ( p - BASE_ADDRESS ) / ( MM1_S + DATA_S) ) [0008]

여기서, FLOOR(k)는 k보다 크지 않은 최대 정수값, BASE_ADDRESS는 상기 패킷 저장 메모리의 기준 주소, MM1_S [0009]

는 상기 헤더의 크기, DATA_S는 상기 데이터 영역의 크기이다.

상기 메모리 관리자는, 상기 중복 해제에 해당하지 않으면, 상기 헤더 정보의 상기 데이터 패킷의 크기에서 상 [0010]

기 해제 대상 크기를 뺀값으로 상기 데이터 패킷의 크기를 갱신하며, 갱신된 상기 데이터 패킷의 크기가 0이 아 니라면, 상기 해제 대상 포인터와 함께 그에 대응된 상기 패킷 인덱스를 상기 해제 관리 메모리에 저장하여 관 리한다.

상기 해제 관리 메모리는, 상기 부분 해제된 해당 포인터와 상기 패킷 인덱스를 관리하기 위한 포인터 저장 메 [0011]

모리와 보조 메모리를 포함하며, 상기 메모리 관리자는, 상기 포인터 저장 메모리의 상기 패킷 인덱스에 대응된 저장소에 상기 해제 대상 포인터를 저장하며, 상기 포인터 저장 메모리의 상기 패킷 인덱스에 대응된 스택 포인 터 각각이 소정의 최대값에 이르면 상기 해제 대상 포인터와 그에 대응된 상기 패킷 인덱스를 상기 보조 메모리 의 스택 포인터로 구분된 저장소에 저장하여 관리한다.

이에 따라 상기 포인터 저장 메모리의 저장소 크기가 소정의 크기로 제한되지만 상기 패킷 인덱스를 이용한 빠 [0012]

른 검색을 지원하고, 상기 보조 메모리는 상기 패킷 인덱스의 구분없이 사용되어 메모리가 절약되도록 지원한다.

그리고, 본 발명의 다른 일면에 따른 메모리 관리 장치에서 메모리 할당의 부분 해제를 지원하는 메모리 관리 [0013]

방법은, 패킷 저장 메모리의 할당에 있어서, 헤더에 상기 데이터 패킷의 크기와 태그 정보를 헤더 정보로서 저 장하여 관리하고, 데이터 영역에 상기 데이터 패킷의 데이터를 저장하여 관리하는 단계; 상기 할당의 해제 요청 에 따른 해당 해제 대상 포인터와 해제 대상 크기를 이용하여, 상기 해제 대상 포인터 앞이 상기 태그 정보인지 여부와 상기 해제 대상 크기가 상기 데이터 패킷의 크기와 일치 여부를 판단해 부분 해제인지 여부를 결정하는 단계; 및 상기 메모리 관리자는, 상기 부분 해제에 있어서, 상기 해제 대상 포인터가 상기 해제 관리 메모리에 존재 여부에 따라 중복 해제 여부를 검사하여, 상기 중복 해제에 해당하지 않으면, 상기 해제 대상 포인터와 함 께 그에 대응된 상기 패킷 인덱스를 상기 해제 관리 메모리에 관리하는 단계를 포함한다.

발명의 효과

본 발명에 따른 메모리 관리 장치 및 방법에 따르면, 통신 시스템 등에서 프로토콜 계층간 데이터 전달을 위해 [0014]

사용되는 메모리를 각각의 계층에서 할당하고 해제 시에, 메모리 할당 방식에 있어서 일정크기의 패킷 메모리를

(5)

사용하는 경우 패킷 메모리를 부분적으로 해제 가능하도록 함으로써, 통신 계층간 이동하는 데이터가 분할되더 라도 메모리 무복사 시스템을 원활히 구성하여 시스템의 성능을 높일 수 있다.

도면의 간단한 설명

도 1은 본 발명의 일 실시예에 따른 메모리 할당의 부분 해제를 지원하는 메모리 관리 장치를 설명하기 위한 도 [0015]

면이다.

도 2는 본 발명의 메모리 할당의 부분 해제에 대한 일례를 설명하기 위한 도면이다.

도 3은 본 발명의 일 실시예에 따른 메모리 할당의 부분 해제를 지원하는 메모리 관리 장치의 동작을 설명하기 위한 흐름도이다.

발명을 실시하기 위한 구체적인 내용

이하에서는 첨부된 도면들을 참조하여 본 발명에 대해서 자세히 설명한다. 이때, 각각의 도면에서 동일한 구성 [0016]

요소는 가능한 동일한 부호로 나타낸다. 또한, 이미 공지된 기능 및/또는 구성에 대한 상세한 설명은 생략한다.

이하에 개시된 내용은, 다양한 실시 예에 따른 동작을 이해하는데 필요한 부분을 중점적으로 설명하며, 그 설명 의 요지를 흐릴 수 있는 요소들에 대한 설명은 생략한다. 또한 도면의 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시될 수 있다. 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니며, 따라서 각각의 도면에 그려진 구성요소들의 상대적인 크기나 간격에 의해 여기에 기재되는 내용들이 제한되는 것은 아 니다.

도 1은 본 발명의 일 실시예에 따른 메모리 할당의 부분 해제를 지원하는 메모리 관리 장치(100)를 설명하기 위 [0017]

한 도면이다.

도 1을 참조하면, 본 발명의 일 실시예에 따른 메모리 관리 장치(100)는, 패킷 저장 메모리(110), 포인터 저장 [0018]

메모리(121)와 보조 메모리(122)를 포함하는 해제 관리 메모리(120), 및 메모리 관리자(130)를 포함한다.

메모리 관리자(130)는 메모리 관리 장치(100)에서의 IP(Internet Protocol) 데이터 패킷의 저장을 위한 메모리 [0019]

할당과 해제 등에 관련된 전반적인 제어와 관리를 담당한다.

메모리 관리자(130)는 패킷 저장 메모리(110)의 저장소를 할당하여, 이동통신 시스템, 인터넷 시스템 등 통신 [0020]

시스템 등에서 PDCP(Packet Data Convergence Protocol), RLC (Radio Link Control), MAC(Media Access Control), 모뎀(물리 계층) 등 다수의 신호 처리 계층 각각에서 처리되는 IP 데이터 패킷을 저장할 수 있다.

패킷 저장 메모리(110)는 기준 주소(base address)로부터 소정의 크기(바이트)의 저장소로 이루어지며, 소정의 [0021]

개수 PN(자연수) 개의 분할된 저장소로 관리되어 각각의 분할된 저장소에 데이터 패킷이 저장될 수 있다. 각각 의 분할된 저장소는, 해당 패킷의 데이터 크기, 소정의 태그(TAG) 정보 등 헤더 정보를 저장하는 헤더 MM1[i]

및 해당 패킷의 데이터를 저장하는 데이터 영역을 포함하고, 인덱스 i(i=0~PN-1)로 데이터 패킷의 저장 위치를 구분할 수 있고 인덱스 i 값은 해당 패킷의 ID(식별자)에 해당한다. 각각의 분할된 저장소의 헤더 MM1[i]와 데 이터 영역은 각각 MM1_S(자연수) 및 DATA_S(자연수)의 크기(바이트)를 가지는 것으로 가정한다.

해제 관리 메모리(120)의 포인터 저장 메모리(121)와 보조 메모리(122)는 메모리 해제를 관리하기 위한 저장소 [0022]

이다. 보조 메모리(122)는 포인터 저장 메모리(121)의 저장소 부족 시에 사용을 위한 보조 저장소로서, 모든 패 킷들 각각에 대한 정보를 포인터 구분자 MM3.p 및 패킷 인덱스 구분자 MM3.i로 구분하여 저장한다. 보조 메모리 (122)에는 모든 패킷에 대한 정보를 저장할 수 있지만, 포인터 저장 메모리(121)에 비교하여 검색이 느릴 수 있 다. 다만, 보조 메모리(122)는 모든 패킷들이 공용으로 사용할 수 있어 메모리를 절약할 수 있는 장점이 있다.

메모리 관리자(130)는 각 계층에서의 소정의 프로세서로부터 메모리 할당 요청을 받으면, 패킷 저장 메모리 [0023]

(110)의 PN개의 패킷 저장소 중에 사용 가능한 위치를 선정하고 해당 패킷의 데이터 영역의 시작 주소인 포인터 를 리턴한다. 또한, 메모리 관리자(130)는 할당 해제 시에는, 기 할당했던 포인터를 전달받아 해당 패킷을 해제 한다. 이러한 방식은 일반적인 통신 시스템에서 사용하는 방식으로서, 본 발명에서는 메모리 관리자(130)에서의 메모리 할당과 해제에 관한 다양한 구체적인 방식이 적용될 수 있다.

도 2는 본 발명의 메모리 할당의 부분 해제에 대한 일례를 설명하기 위한 도면이다.

[0024]

먼저, 종래의 메모리 관리자를 통한 메모리 할당의 해제에 있어서는, 부분 해제가 불가능하고 할당 받은 해당 [0025]

메모리의 전체에 대하여만 해제가 가능하다. 예를 들어, 도 2와 같이 메모리 할당 위치가 주 메모리포인터 p'이

(6)

고 할당 크기가 소정의 사이즈 size (size1 + size2 + size3)인 경우에, 해제 시에는 p' 주 메모리 포인터가 요 구되며, p'에 대해 size 전체를 해제하는 방식으로 동작한다. 그러나, 이러한 종래 방식에서는, 어느 계층에서 p', size로 메모리를 할당 받았지만 다른 계층에서 이를 p1, p2, p3로 나누어 사용하다가 p1, p2, p3를 부분적 으로 해제하고자 할 경우에는, 기존 메모리 관리자는 p'을 이용하여 size 전체에 대한 해제 요청만을 할 수 있 으므로, 해당 계층에서 p1, p2, p3의 부분적 해제 관련하여서는 각 프로세서(사용자)가 별도로 관리하여야 하므 로 메모리 사용이 매우 복잡하고 어려운 실정이다.

따라서, 본 발명에서는 각 계층에서 메모리를 사용하는 프로세서(사용자)와 메모리 관리자(130) 사이에 도 1과 [0026]

같이 메모리의 부분적 해제 관리를 위해 패킷 저장 메모리(110) 이외에 중복 해제를 방지하기 위한 해제 관리 메모리(120)를 두어 프로세서(사용자)가 부분적으로 메모리를 해제 가능하도록 하였다. 메모리 할당의 부분 해 제를 지원하는 본 발명의 메모리 관리 장치(100)에서는 패킷 저장 메모리(110)에 할당한 데이터에 대해 분할되 어 해제하는 경우에 분할 해제 정보를 관리하여, 분할 해제 요구에 대하여 메모리 관리자(130)가 적절한 해제를 처리하고 관리한다. 본 발명의 메모리 관리 장치(100)의 구성 요소들의 동작은 소프트웨어, 하드웨어, 또는 이 들의 결합으로 구현하는 것이 가능하다.

도 1에서, 본 발명의 메모리 관리 장치(100)의 메모리 관리자(130)는, 패킷 저장 메모리(110)의 저장소를 할당 [0027]

할 때, 해당 계층에서 요구된 메모리 크기 또는 그 이상의 패킷 메모리를 데이터 영역으로 할당한다. 예를 들어, 도 1에서 MM1[i]에 해당하는 패킷을 할당하는 경우, 데이터 영역의 시작 주소(포인터)인 'MM1[i] 주소값 + MM1_S'를 포인터 p로 할당한다. 또한, 도 2와 같이, 메모리 관리자(130)는, 해당 계층에서 요구한 메모리 크 기를 헤더 MM1[i]의 MM1[i].size 부분에 저장하며, 헤더 MM1[i]의 MM1[i].TAG에 기 정의된 소정의 값(태그정보)을 저장한다.

해제 관리 메모리(120)의 포인터 저장 메모리(121)와 보조 메모리(122)는 메모리 해제를 관리하기 위한 정보를 [0028]

저장하되, 중복 해제를 방지하기 위한 저장소로서 사용된다. 포인터 저장 메모리(121)에는 각각의 정보를 구분 자 MM2[i].p와 같이 패킷 인덱스 i 값만으로 접근 가능하도록, 각 패킷 인덱스 i에 대응시켜 연관 정보(포인터 p)를 저장소에 저장하므로, 빠르게 검색이 가능하지만 저장 가능한 개수가 MM2_MAX로 제한된다. 보조 메모리 (122)는 포인터 저장 메모리(121)의 저장소 부족 시에 사용을 위한 보조 저장소로서, 모든 패킷들 각각에 대한 정보를 포인터 구분자 MM3.p 및 패킷 인덱스 구분자 MM3.i로 구분하여 저장한다. 보조 메모리(122)에는 모든 패 킷에 대한 정보를 저장할 수 있지만, 포인터 저장 메모리(121)에 비교하여 검색이 느릴 수 있다. 다만, 보조 메 모리(122)는 패킷 인덱스 구분없이 모든 패킷들이 공용으로 사용할 수 있어 메모리를 절약할 수 있는 장점이 있 다.

좀 더 구체적으로, 메모리 관리자(130)는 포인터 저장 메모리(121)에 패킷 저장 메모리(110)의 부분 해제 대상 [0029]

포인터들(p)을 저장하며, 중복해제를 검사하기 위해 이를 사용한다. 패킷 저장 메모리(110)의 패킷 인덱스 i를 할당 할 때, 포인터 저장 메모리(121)의 스택 포인터 MM2[i].sp(패킷 인덱스 i 마다의 스택 포인터)는 초기값 0 으로 초기화되어 있고, MM2[i].sp를 1씩 증가하면서 부분 해제 대상 포인터들(p)을 MM2[i].p[MM2[i].sp]에 저장 한다.

포인터 저장 메모리(121)에서 p 포인터를 검색하기 위하여, 메모리 관리자(130)는 주소 MM2[i].p[0] ~ [0030]

MM2[i].p[MM2[i].sp -1]까지 p 값과 일치하는지를 검사한다.

스택 포인터 MM2[i].sp가 소정의 최대값 MM2_MAX(자연수)가 되면 더 이상 MM2에는 저장할 수 없으므로, 메모리 [0031]

관리자(130)는 나머지 부분 해제 대상 포인터들(p)을 보조 메모리(122)에 저장한다. 통신 시스템에서 하나의 패 킷이 분할되는 개수는 어느 정도 예측 가능하므로 가능하면 MM2_MAX 개수 내에서 동작하도록 MM2_MAX 값을 설정 할 수 있다. 그러나 최악의 경우를 대비해서 MM2_MAX 개수가 부족한 경우에만 보조 메모리(122)에 포인터 구분 자 MM3.p 및 패킷 인덱스 구분자 MM3.i로 구분하여 부분 해제 대상 포인터들(p)을 저장한다.

즉, 포인터 저장 메모리(121)와 마찬가지로, 보조 메모리(122)에는 부분 해제 대상 포인터들(p)이 저장되며 중 [0032]

복해제를 검사하기 위해 사용된다. 보조 메모리(122)는 포인터 저장 메모리(121)와 그 기능이 유사하지만, 특정 패킷이 아닌 모든 패킷에 대해 저장 가능한 메모리이다. 보조 메모리(122)는 포인터(p) 저장 개수를 지정하는 스택 포인터 MM3.sp, 각 포인터(p)가 저장되는 MM3.p[n], 그 포인터가 몇 번째 패킷에 속하는지를 지정하기 위 한 MM3.i[n] 등의 구분자에 의해 정보가 저장되고 읽어진다. MM3.sp는 시스템 초기화 시에 0으로 설정 된다.

메모리 관리자(130)는 스택 포인터 MM3.sp를 1씩 증가하면서, MM3.p[MM3.sp] 위치에 포인터(p)를 저장하고, [0033]

MM3.i[MM3.sp]에 패킷 인덱스 i를 저장한다.

(7)

보조 메모리(122)에서 포인터(p)를 삭제하는 과정에 있어서는, 메모리 관리자(130)는 i번째 패킷에 해당 하는 [0034]

포인터(p)를 삭제하는 경우에, MM3.i[n]의 값을 n = 0 ~ MM3.sp-1까지 검색하여 패킷 인덱스 i 값을 가지는 위 치를 검색한다. 예를 들어, MM3.i[x] 값이 패킷 인덱스 i와 같으면, MM3.sp-1에 위치하는 MM3.i[MM3.sp-1]와 MM3.p[MM3.sp-1] 값을 MM3.i[x]와 MM3.p[x]에 저장하고 MM3.sp를 1 감소시킨다.

보조 메모리(122)에서 p 포인터를 검색하기 위하여, 메모리 관리자(130)는 주소 MM3.p[0] ~ MM3.p[MM2[i].sp [0035]

-1]까지 p 값과 일치하는지를 검사한다.

이하 도 3의 흐름도를 참조하여 본 발명의 일 실시예에 따른 메모리 관리 장치(100)의 동작을 좀 더 자세히 설 [0036]

명한다.

먼저, 이동통신 시스템, 인터넷 시스템 등 통신 시스템 등에서 PDCP, RLC , AC, 모뎀(물리 계층) 등 다수의 신 [0037]

호 처리 계층 각각에서 IP 데이터 패킷을 패킷 저장 메모리(110)에 저장하고, 필요에 따라 해제 대상 포인터 (p)과 해제 대상 크기(size)를 지정하여 메모리 할당의 해제를 요청할 수 있다(S110). 해제 대상 크기(size)는 해제 대상 포인터(p)로부터 시작하여 후속하는 해제될 마지막 주소까지의 바이트 단위 등의 크기이다.

이에 따라 메모리 관리자(130)는 해제 대상 포인터(p)가 주 메모리 포인터(도 2에서 p'=p1에 해당)인지 검사하 [0038]

기 위하여, 패킷 저장 메모리(110)의 해제 대상 포인터(p) 앞의 값이 소정의 값 MM1[i].TAG과 일치하는지 여부 를 확인하여 서로 일치하는 경우(S120), 그 해제 대상 크기(size) 또한 패킷 저장 메모리(110)의 MM1[i].size와 일치하는지 여부를 확인하여 서로 일치하면(S121), 해당 해제 요청을 허가하고 종료 한다(S181). 이는 할당 받 은 메모리를 분할없이 해당 데이터 영역 모두에 대해 그대로 해제하는 경우에 해당한다. 메모리 관리자(130)는 할당 후 해제된 해당 주 메모리포인터 p'=p1를 다른 메모리 할당 요청에 메모리를 할당하기 위하여 관리할 수 있다.

위에서 해제 대상 포인터(p)가 주 메모리 포인터(도 2에서 p1에 해당)가 아니거나, 해제 대상 포인터(p)가 주 [0039]

메모리 포인터이지만 해제 대상 크기(size)가 MM1[i].size와 일치하지 않으면(즉, 부분 해제인 경우), 메모리 관리자(130)는 해제 대상 포인터(p)가 몇 번째 패킷에 속하는지를 계산하여 [수학식1]과 같이 계산되는 값에서 소수점 이하는 버리고 정수값을 취하여 그 패킷 인텍스값 i를 계산한다(S130). FLOOR(k)는 k보다 크지 않은 최 대 정수값이다. 이와 같이 계산되는 i가 도 1에서 패킷 인텍스값 i가 된다.

[수학식1]

[0040]

i = FLOOR( ( p - BASE_ADDRESS ) / ( MM1_S + DATA_S) ) [0041]

패킷 인텍스값 i를 계산 후, 메모리 관리자(130)는 해제 대상 포인터(p)에 대해 중복 해제를 체크한다(S140).

[0042]

즉, 메모리 관리자(130)는 부분 해제하고자 하는 해제 대상 포인터(p)가 포인터 저장 메모리(121)의 MM2[i].p와 보조 메모리(122)의 MM3.p에 존재하는지 여부를 검색하여, MM2[i].p 또는 MM3.p에 해제 대상 포인터(p)가 있는 경우는 메모리의 동일 부분 해제를 중복적으로 요청한 경우이므로 종료한다.

위에서 MM2[i].p 또는 MM3.p에 해제 대상 포인터(p)가 존재하지 않는 경우에(S140), 메모리 관리자(130)는 패킷 [0043]

저장 메모리(110)의 이전 MM1[i].size 정보를 'MM1[i].size - 해제 대상 크기(size)'로 업데이트한다(S150).

MM1[i].size는 메모리 할당 시 할당 받은 메모리 사이즈에 해당하며, 부분해제 될 때 마다 부분 해제 크기만큼 감소되어 업데이트된다.

이때 업데이트된 MM1[i].size 값이 0이 아니면, 패킷 저장 메모리(110)의 해당 패킷 인덱스 i에 대하여 아직도 [0044]

해제하지 않은 부분 데이터 영역이 존재하므로, 해제 대상 포인터(p)를 포인터 저장 메모리(121)의 MM2[i] 또는 보조 메모리(122)의 MM3.p에 저장 관리한다(S161). 즉, MM2[i].sp가 최대값 MM2_MAX가 아닌 경우에는 해제 대 상 포인터(p)를 MM2[i]에 저장하고, MM2[i].sp가 MM2_MAX인 경우는 MM3.p와 MM3.i에 각각 해제 대상 포인터 (p)와 패킷 인덱스 i를 저장한다. 이때 위에서 기술한 바와 같이 해당 스택 포인터가 1씩 증가된다.

위에서 MM1[i].size 값이 0이면(S160), 패킷 인덱스 i 부분의 데이터 영역이 모두 해제된 상태이므로 해당 패킷 [0045]

전체를 해제할 수 있다. 해당 패킷의 해제를 위하여 MM2[i].sp를 0으로 초기화하고 MM3.p를 검색하여 i 패킷에 속하는 포인터들을 삭제한다(S170).

이때 메모리 관리자(130)에서 할당한 메모리를 해제하기 위하여, 메모리 관리자(130)는 할당했던 주 메모리포인 [0046]

터 p'를 [수학식2]와 같이 계산하여 다른 메모리 할당 요청에 메모리를 할당하기 위하여 관리할 수 있다(S180).

주 메모리포인터 p'를 계산 후 메모리 관리자(130)는 해당 해제 요청을 허가하고 종료 한다(S181).

(8)

[수학식2]

[0047]

p' = BASE_ADDRESS + i * ( MM1_S + DATA_S) + MM1_S [0048]

예를 들어, 도 2의 예에서, 패킷을 처리하는 각 계층에서 메모리 관리자(130)로부터 size1 + size2 + size3 크 [0049]

기의 메모리를 할당 받은 후, size1, size2, size3로 이루어진 3개의 분할 데이터로 처리될 수 있다. 이때 p1 및 p2 두 개의 데이터에 대해 부분 해제를 하는 경우, S150에서 MM1[i].size = size3 값으로 업데이트될 수 있 고, 이후 p3 부분을 해제하게 되면 S160에서 MM1[i].size는 0 값을 가지므로, 해당 패킷에 대해 메모리 관리자 (130)에 의해 해제가 처리되고 관리된다.

상술한 바와 같이, 본 발명에 따른 메모리 관리 장치(100)에서는, 통신 시스템 등에서 프로토콜 계층간 데이터 [0050]

전달을 위해 사용되는 메모리를 각각의 계층에서 할당하고 해제 시에, 하나의 할당받은 메모리를 일정 크기로 분할하여 사용하는 경우 부분적으로 해제 가능하도록 함으로써, 통신 계층간 이동하는 데이터가 분할되더라도 메모리 무복사 시스템을 원활히 구성하여 시스템의 성능을 높일 수 있다.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되 [0051]

었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되 는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나 지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모 든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

부호의 설명

패킷 저장 메모리(110) [0052]

해제 관리 메모리(120) 포인터 저장 메모리(121) 보조 메모리(122) 메모리 관리자(130) 도면

도면1

(9)

도면2

(10)

도면3

참조

관련 문서

본 발명의 일실시예에 따른 LDPC 부호화기는 LDPC 부호어를 저장하기 위한 제1 메모리; 0으로 초기화되는 제2 메모리; 및 정보 비트들information bits을 이용하 여 상기 제2 메모리에 대한 누적accumulation을 수행하여 상기 LDPC 부호어를 생성하는 프로세서를 포함하고, 상기 누적은 패러티 검사

과제의 해결 수단 본 발명의 실시 예에 따른 IFD 송수신 장치의 동작 방법은, 수신단, 송신단, 디지털 SICSelf-Interference [0006] Cancellation 처리부 및 디지털 SI 제거부를 포함하는 IFDIn-band Full Duplex 송수신 장치의 동작 방법으 로서, 상기 디지털 SIC 처리부가 상기

본 발명의 일 실시예에 따른 엑스선 소스는 캐소드; 상기 캐소드와 마주하도록 상기 캐소드의 상부에 위치된 아 [0005] 노드; 상기 캐소드 상에 형성된 에미터; 상기 캐소드와 상기 아노드의 사이에 위치되고 상기 에미터와 대응되는 위치에 개구부를 포함하는 게이트 전극; 상기 캐소드의 하부에 위치된 절연 스페이서; 및 상기 절연

본 발명의 다른 목적을 달성하기 위하여, 본 발명은 베타 전개를 이용한 순서 보존 수치데이타 암호화 방법으로 서, a 비밀키 생성부에 의해 비밀키 방식의 암호화 키를 생성하는 단계; b 수치 데이타 암호화부에 의해 상 기 비밀키 생성부에 의해 생성된 암호화 키로 베타 전개beta expansion를 이용하여 수치 데이타를

예로서, 송신 신호11의 크기는 송신 트리거 신호TS1에 포함된 펄스의 크기에 기초하여 결정될 수 있다.. 예로서, 증폭기132는 저잡음 증폭기Low Noise Amplifier 이며, 파라메트릭Parametric 증 폭기, 전계 효과 트랜지스터Field Effect Transistor 증폭기, 터널 다이오드Tunnel Diode

과제 해결수단 상기 목적을 달성하기 위하여, 본 발명에 따른 Left-to-Right 리코딩을 이용한 지수승 방법i 이진법으로 표현 된 비밀키 k를 {1,2}를 이용해 Left-to-Right 방향으로 리코딩하는 단계; 및 ii 상기 리코딩 단계를 활용하여, 주어진 비밀키 k와 밑 g에 대한 지수승 gk를 계산하는

청구항 21 부호화된 비트스트림을 복호화하여, 파일 헤더 및 음원 분리를 통해 분리된 오디오 객체의 프레임을 추출하는 복호화부; 및 상기 파일 헤더로부터 상기 오디오 객체의 재생을 위한 재생 레벨 정보를 추출하는 재생 정보 추출부 를 포함하는 것을 특징으로 하는 비트스트림 복호화 장치... 상기 오디오 객체의 재생을 위한 재생

본 발명에 따른 GFD 설명자 전송 방법은 GFDGeneric File Delivery 모드로 전송할 적어도 하나 이상의 코드 포인트를 포함하는 GFD 설명자를 생성하는 단계; 상기 GFD 설명자를 MMTMPEG Media Transport 리시빙 엔티티에 전송할 시그널링 메시지에 추가하는 단계; 및 상기 시그널링 메시지를 상기