KR20140111907A - 다차원 메모리 자원 관리 및 할당 장치 및 방법 - Google Patents

다차원 메모리 자원 관리 및 할당 장치 및 방법 Download PDF

Info

Publication number
KR20140111907A
KR20140111907A KR1020130049534A KR20130049534A KR20140111907A KR 20140111907 A KR20140111907 A KR 20140111907A KR 1020130049534 A KR1020130049534 A KR 1020130049534A KR 20130049534 A KR20130049534 A KR 20130049534A KR 20140111907 A KR20140111907 A KR 20140111907A
Authority
KR
South Korea
Prior art keywords
memory
grid
resource
area
memory resource
Prior art date
Application number
KR1020130049534A
Other languages
English (en)
Other versions
KR102058642B1 (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 삼성전자주식회사
Publication of KR20140111907A publication Critical patent/KR20140111907A/ko
Application granted granted Critical
Publication of KR102058642B1 publication Critical patent/KR102058642B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • G06F17/175Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method of multidimensional data
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Memory System (AREA)

Abstract

다차원 자원의 할당 및 관리 장치 및 방법 제공된다. 그 방법은 다차원 메모리 자원 블록의 할당에 대한 요구를 수신하는 단계, 할당 요구에 따라 다차원 메모리 자원의 공간들을 추적하는 그리드를 선택하는 단계, 다차원 메모리 자원 블록의 할당 요구에 대응하는 다차원 메모리 자원 블록이 비할당되었는지를 결정하는 단계, 다차원 메모리 자원의 비할당 블록을 할당하는 단계를 포함한다.

Description

다차원 메모리 자원 관리 및 할당 장치 및 방법{APPARATUS AND METHOD FOR MULTIDIMENSIONAL MEMORY RESOURCE MANAGEMENT AND ALLOCATION}
본 발명은 다차원 메모리 자원 관리 및 할당 장치 및 방법에 관한 것이다. 특히, 본 발명은 다차원 메모리 공간에 대한 중복 제한을 초과하지 않는 효율적인 방식으로 다차원 메모리 공간의 메모리 자원을 관리하고 할당하는 장치 및 방법에 관한 것이다.
개인용 컴퓨터(PC), 랩탑, 휴대 단말기, 휴대용 전자기기, 전자 책, 개인용 미디어 플레이어, 스마트 장치 및 계산 능력을 갖는 다른 다양한 기기와 같이 계산 능력이 있는 계산 기기 및 전자 기기를 어디서나 볼 수 있게 되었다. 또한 통신 네트워크 및 대역폭이 증가하고 컴퓨터 및 전자 기기들의 휴대성과 처리능력이 증가함에 따라 그러한 기기들에 대해 계산 및/또는 처리 능력의 향상에 대한 소비자 요구가 급증하고 있다. 따라서 컴퓨터 및 전자 기기에 포함되어, 메모리 성능을 증가시키고 메모리 자원들에 대해 더 효율적으로 관리할 필요가 있다.
종래 기술에 따른, 1차원(1D) 메모리 자원의 할당 및/또는 비할당 블록을 관리하는 것은 1D 메모리 자원과 할당 및/또는 비할당 블록들이 선형방식으로 구조화되어 있기 때문에 비교적 단순한 작업일 수 있다. 따라서, 1D 메모리 관리자는 사용가능한 1D 메모리 자원 전체에 대해 할당을 시작할 수 있기 때문에, 임의의 크기의 메모리 요구에 대해 사용가능한 메모리 자원을 효율적으로 검색할 수 있다. 따라서 1D 메모리 자원이 경우에. 각 할당에 대해 유사 및/또는 완전히 정렬된 순서로 비할당 자원들의 리스트를 유지하기 위해 약간의 작업만이 필요해, 이후 적절한 크기의 사용가능한 메모리 자원에 대한 탐색이 빨리 이뤄질 수 있다.
1D 메모리 자원에 대한 할당 및/또는 비할당 블록이 1D 메모리 자원이 구조화되어 있는 선형방식으로 배치되어 있기 때문에, 블록 에지들이 터치되거나 중첩되는 경우, 할당 및/또는 비할당 블록의 결과적으로 초래된 높은 수준의 맵(map)은 선의 형태, 즉, 선형이다. 그러나, 그러한 선형 특징은 1D 자원에만 고유한 것이므로, 1D 메모리 자원에서 물리적으로 조작되는, 1D 메모리 자원에 대한 할당 방식 및 메모리 자원은 그래픽 디스플레이와 같은 2차원(2D) 시스템에서는 부적절하다.
예를 들어, 그래픽 디스플레이를 위한 2D 캔버스 픽셀들이 1D 메모리 자원에서 선형으로 구조화되어 있는 경우, 같은 행의 이웃 픽셀들은 순차적으로 1D 메모리 자원에 위치하지만 인접하지 않은 다른 행에 위치한 이웃 픽셀들은 1D 메모리 자원의 선형 구조에서는 완전히 분리되어 있을 수 있다. 따라서, 그러한 경우, 사각형과 같이 단순한 형상조차도 임의의 2D 형상을 갖는 블록 할당이 요구된다면, 1D 메모리 관리자 및/또는 1D 메모리 할당 방식은 효율적으로 비할당 블록들을 위치시킬 수 없다.
도 1a 및 1b는 종래기술의 1D 메모리 할당 방식에 따라 할당된 픽셀들의 2D 캔버스를 도시한 것이다.
도 1a 및 1b를 참조하면, 메모리 자원의 2D 캔버스(101)는 12픽셀의 높이와 12픽셀의 폭을 가질 수 있고, 전체 13픽셀이 할당되도록 할당된 픽셀의 제1블록(102) 및 제2블록(103)을 갖는다. 2D 캔버스(101)에서 5x5 픽셀 블록의 할당이 요구되면, 요구된 5x5 블록 할당을 지원하기 위해서 1D 메모리 할당자는 도 1b에 도시된 비할당 블록들(104 내지 108) 중에서 적절한 크기를 갖는 비할당 블록을 검색하지 못할 수 있다. 즉, 도 1a에 도시된 방식으로 배치된 제1블록(102) 및 제2블록(103) 때문에, 1D 메모리 할당자는 도 1a에 도시된 비할당 블록들(104 내지 108) 중 적어도 세 부분만을 할당함으로써 5x5 블록에 대한 요구를 수용할 수 있다.
도 1a 및 1b에 도시된 상술한 문제를 다루기 위해, 디스플레이 장치에 사용된 것과 같은 선형으로 구조화된 다차원 메모리 자원의 요구를 다루기 위해, 임의의 형상으로 자원을 효율적으로 할당하기 위한 다차원 자원 관리자 및/또는 할당자가 필요하다. 종래기술에 따르면, 그러한 임의의 형상에 대한 자원 할당의 예가 비결정적인(non-deterministic) 시간 알고리즘에 따라 2D 워드 클라우드로 워드들을 배치하는 워들 워드 클라우딩(Wordle word clouding) 방법이다.
워들 워드 클라우딩 방법은 워드 클라우드에서 랜덤한 위치에 새 워드를 배치해 새로운 워드를 추가하고, 픽셀로 디스플레이된 새 워드가 기존 워드를 디스플레이하는 픽셀과 충돌하지 않을 때까지 나선형 경로를 따라 바깥쪽으로 새 단어를 반복적으로 움직일 때, 페이스 워드(pace word)의 문자들을 중첩되지 않게 하고 문자들이 밀집된 둥지 형상을 만들게 한다. 워들 워드 글라우딩 방법은 비결정적 할당 시간을 갖기 때문에 100 워드 미만의 워드 클라우드에서 잘 작동하는 반면, 500워드와 같이 많은 워드 수를 갖는 워드 클라우드에서는 매우 불충분하다. 워들 워드 클라우딩 방법은 한 워드를 배치하는데 랜덤한 시간을 사용하지만, 새 워드를 나선형 경로를 따라 바깥쪽으로 새 워드를 움직임으로써 중복된 위치의 분석을 방지할 수 있다. 따라서 워들 워드 방법은 할당에 결정적인 시간을 제공하지 않는다.
따라서 임의 형태의 블록들의 요구에 대해 메모리 자원을 효율적으로 할당할 수 있는 다차원 자원 관리자 및/또는 할당자에 대한 요구가 있다.
본 발명이 이루고자하는 기술적 과제는 최소한 상술한 문제 및/또는 단점을 처리하고, 적어도 하기 장점을 제공하는 것이다. 따라서 본 발명의 기술적 과제는 다차원 자원 할당 및 관리 장치 및 방법을 제공하는 것이다.
본 발명의 일 양상에 따르면, 다차원 자원 할당 및 관리 방법이 제공된다. 그 방법은 다차원 메모리 자원 블록 할당 요구를 수신하는 단계; 할당 요구에 따라 다차원 메모리 자원의 공간 추적을 위한 그리드를 선택하는 단계; 다차원 메모리 자원 블록 할당에 대한 요구에 대응하는 다차원 메모리 자원블록이 비할당되었는지를 결정하는 단계; 및 다차원 메모리 자원의 비할당 블록을 할당하는 단계를 포함한다.
본 발명의 다른 양상에 따르면, 다차원 자원 할당 및 관리 장치가 제공된다. 그 장치는 N 차원을 갖는 다차원 방식에 따라 배열된 메모리; 및 다차원 메모리 자원 블록 할당에 대한 요구를 수신하고, 다차원 메모리 자원 블록 할당에 대한 요구에 대응하는 다차원 메모리 자원블록이 비할당되었는지를 결정하고, 다차원 메모리 자원의 비할당 블록을 할당하는 제어부를 포함한다.
본 발명의 또 다른 양상에 따르면, 다차원 자원의 할당 및 관리 방법에 있어서, 메모리 자원의 공간들을 추적하는 그리드의 셀들이 메모리 영역 중 자원이 할당된 서브영역과 일부 또는 전체 중첩되는지를 확인하는 단계; 상기 그리드의 셀들 중 상기 메모리 영역의 자원이 할당된 서브영역과 일부 또는 전체 중첩할 시, 상기 중첩하는 그리드의 셀을 다수의 제1 서브 셀로 분할하는 단계; 상기 그리드의 셀들 중 상기 메모리 영역의 자원이 할당된 서브영역과 일부 또는 전체 중첩하지 않을 시, 상기 중첩하지 않은 그리드의 셀에 대응하는 상기 메모리 영역의 서브영역을 비할당 영역으로 결정하는 단계를 포함한다.
본 발명의 다른 양상, 장점 및 핵심적인 특징들은 첨부된 도면을 참조하여 본 발명의 예시적인 실시예들을 개시한 다음의 상세한 설명으로부터 당업자에게 명백해질 것이다.
본 발명에 따른 다차원 자원 관리자 및/또는 할당자는 임의의 형상의 블록 요구에 대해 메모리 자원을 효율적으로 할당할 수 있다.
본 발명의 예시적인 실시예들의 양상, 특징 및 장점들은 첨부된 도면을 참조한 다음의 설명으로부터 명백해질 것이다.
도 1a 및 1b는 종래 기술에 따른 1차원(1D) 메모리 할당 방식에 따라 할당된 픽셀들의 2차원(2D) 캔버스(canvas)를 도시한 것이다.
도 2는 본 발명의 예시적인 실시예에 따른 예시적인 2D 메모리 자원에서 블록 할당을 도시한 것이다.
도 3은 본 발명의 예시적인 실시예에 따른 2D 메모리 자원의 그리드 계층구조(hierarchy)를 도시한 것이다.
도 4는 본 발명의 예시적인 실시예에 따른 다차원 메모리 자원관리 및 할당 방법을 도시한 플로우차트이다.
도 5는 본 발명의 예시적인 실시예들에 따른 캔버스 소모영역의 계층적인 바운딩 볼륨들을 도시한 것이다.
도 6은 본 발명의 예시적인 실시예에 따라 투명하게 중첩된 그리드 컨텐츠뷰를 도시한 것이다.
도 7은 본 발명의 예시적인 실시예에 따른, 메모리 및 제어부를 포함하는 전자 기기를 도시한 것이다.
도면 전체에서 동일한 참조번호는 동일한 구성요소, 특징 및 구조물을 나타낸다.
이하 본 발명의 다양한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
다음의 설명과 청구범위에 사용된 용어와 단어들은 사전적인 의미에 한정되지 않으며, 단순히 본 발명에 대한 명확하고 일관성있는 이해를 위해 발명자에 의해 사용된 것이다. 따라서 본 발명의 예시적인 실시예에 대한 다음의 설명은 설명의 목적으로만 제공되며 부가된 청구범위와 그 균등물에 의해 정의된 발명을 제한할 목적으로 제공되지 않았음이 당업자에게는 명백할 것이다.
별도로 명시되지 않았다면 단수형 표현은 복수형을 포함한다는 것이 이해되어야 한다. 따라서, 예를 들어, "하나의 구성요소의 표면"에 대한 언급은하나 이상의 그러한 표면들에 대한 언급을 포함한다.
단어 "실질적으로"는 인용된 특징, 파라미터, 또는 값이 정확하게 달성될 필요는 없지만, 예를 들어, 허용치, 측정 오차, 측정 정확도 제한 및 당업자에게 알려진 다른 요소들을 포함하는 편차 또는 변이가 본 발명의 특징이 제공하려고 한 효과를 배제하지 않는 양으로 일어날 수 있다는 것을 의미한다.
본 발명의 예시적인 실시예는 다차원 메모리 자원 관리 및 할당 장치 및 방법을 포함한다.
본 발명의 예시적인 실시예는 1차원(1D) 메모리 구조를 갖는 컴퓨터 시스템에 대해, 다시 말해, 메모리 어드레스가 순차적이고 선형으로 조직화된 선형 조직 메모리를 갖는 컴퓨터 시스템에 대해 2차원(2D) 메모리 자원과 같은 다차원 메모리 자원들을 관리 및/또는 할당하는 장치 및 방법을 포함한다. 더욱 상세하게, 본 발명의 예시적인 실시예들은 새 사각형 자원을 할당하는 부분선형(sub-linear) 시간에 그리고 자원할당을 해제하는 일정 시간에 수행하는 컴퓨터 시스템 대한 2D 메모리 자원을 관리 및/또는 할당하는 장치 및 방법에 관한 것이다. 본 예시적인 실시예들은 설명을 단순화하기 위해 2D 메모리 자원에 대해 설명했지만 본 발명은 그에 한정되지 않으며, 본 발명의 예시적인 실시예들은 2차원 이상의 다차원 자원들의 스케일링에 이용될 수 있다.
도 2는 본 발명의 예시적인 실시예에 따른 2D 메모리 자원의 블록할당을 도시한 것이다.
도 2를 참조하면, 다차원 관리자 및/또는 할당자의 경우, 애플리케이션이 WxH 크기의 블록 또는 메모리 공간을 요구하면, 다차원 관리자 및/또는 할당자는 비할당 블록(204 내지 209) 또는 할당된 블록(202 및 203)을 포함하는 2D 캔버스(201)의 다른 비할당 블록들 중에서 사용가능하다면, 요구된 크기를 수용하는 인접 비할당 영역을 제공할 수 있다. 더욱이, 인접 비할당 영역을 제공하는 것 이외에, 다차원 관리자는 인접 비할당 영역의 할당 이후 증가된 비할당 영역 양을 허용하는 영역을 할당할 수 있다. 달리 설명하면, 인접 비할당 영역을 할당함으로써 다차원 자원 관리자는 추가 할당을 위한 더 많은 양 및/또는 영역의 메모리를 유지할 수 있다. 종래 기술의 워들 워드 클라우딩 방식과 대조적으로 다차원 자원 관리자는, 자원할당의 중첩을 회피하기 위해 충돌 평가를 수행할 필요 없이, 사용가능하다면 WxH 크기를 갖는 블록을 할당할 수 있다. 게다가 워들 워드 클라우딩 방식은 할당 블록 (202 및 203)과 같은 할당 블록 위치에 따라 비결정적인 시간 동안 WxH 크기를 갖는 비할당 블록을 탐색할 수 있다. 그러나 2D 캔버스(201)에 사용되는 다차원 자원 관리자 및/또는 할당자는 도 2에 도시된 바와 같이, 할당 블록(202 및 203)의 위치에 대응하는 결정적인 시간동안 WxH 크기를 갖는 비할당 블록을 탐색할 수 있다.
도 3은 본 발명의 예시적인 실시예에 따른 2D 메모리 장치의 그리드 계층구조(hierarchy)를 도시한 것이다.
도 3을 참조하면, 2D 메모리 자원의 그리드 계층구조는 2D 사각 공간을 추적하는데 사용되는 그리드 시리즈(301 내지 305)를 포함한다. 도 3의 예시적인 실시예는 5개의 그리드로서 그리드 시리즈(301 내지 305)를 보이지만, 본 발명은 그에 한정되지 않으며, 그리드 시리즈의 각 그리드에서 셀들의 개수에 대해 대수적인 계층구조(logarithmic hierarchy)를 갖는 임의의 그리드 시리즈가 사용될 수 있다. 그리드 시리즈의 대수적인 계층구조는 할당되지 않은 2D 사각 공간을 추적하는데 사용될 수 있다. 그리드 시리즈(301 내지 305)에 도시된 바와 같이, 계층구조는 1x1 셀을 갖는 그리드(301), 2x2 셀을 갖는 그리드(302), 3x3 셀을 갖는 그리드(303), 6x6 셀을 갖는 그리드(304) 및 12x12 셀을 갖는 그리드(305)를 포함한다.
따라서, 도 3의 예시적인 실시예에서, 그리드 시리즈(301 내지 305)의 각 그리드는 그리드 시리즈(301 내지 305)의 이전 그리드에 비해 셀들의 수에서 크기가 2배로 된다. 이는 그리드 시리즈(301 내지 305)의 이전 그리드로부터 그리드 셀 크기를 각 차원별로 절반으로 줄인다. 게다가, 그리드 시리즈(301 내지 305)와 같은 그리드 시리즈에 있어서, 그리드에서 최소 양을 갖는 가장 작은 그리드 크기는 특별한 애플리케이션에 따라 선택될 수 있다. 그러나 임의의 그리드 셀 크기일 수 있는, 선택된 가장 작은 그리드 셀 크기에 대해 더 큰 그리드는 가장 작은 그리드 셀 크기를 초과하지 않는 범위 내에서 유지되거나 고정(fit)되어야 한다. 따라서 픽셀 캔버스 전체는 가장 작은 그리드 셀 크기를 갖는 하나의 그리드 셀에서 고정될 수 있다.
더욱 상세하게 그리고 예시적인 실시예에 따라, 엔지니어, 설계자 또는 다른 적절한 사람일 수 있는 다차원 관리자의 사용자는 가장 작은 그리드 셀 크기를 1x1 셀이 아닌 다른 것으로 선택할 수 있다. 즉, 사용자는 특별한 애플리케이션을 위해 가장 작은 그리드 셀 크기를 5x5 셀로 선택할 수 있다. 그러나 본 발명은 그에 한정되지 않으며, 임의의 그리드 셀 크기가 다른 예시적인 실시예에 따라 선택될 수 있다. 따라서 사용자가 가장 작은 셀 크기를 5x5셀로 선택한 후, 그리드 시리즈 중에서 2D 자원 전체를 커버하는데 충분하도록 큰 셀 크기를 가질 수 있다.
예를 들어, 2D 자원이 240x390 픽셀이고, 사용자가 가장 작은 셀 크기를 5x5 셀로 선택한 경우, 제1그리드는 5x5 셀, 제2그리드는 10x10 셀, 제3그리드는 20x20 셀, 제4그리드는 40x40 셀, 제5그리드는 80x80 셀, 제6그리드는 160x160 셀, 제7그리드는 640x640 셀, 및 제8그리드는 640x640 셀을 가질 수 있다. 640x640 셀을 갖는 제8그리드는 2D 자원의 모든 부분이 할당되지 않았을 때 2D 자원 전체를 처음부터 관리하기 위해 240x390 픽셀 캔버스의 가장 큰 차원인 390을 수용할 필요가 있다.
각 그리드(301 내지 305)는 비할당 메모리 자원 중 2D 사각형 또는 다른 유사한 적절한 직선 형태, 즉, 가장 큰 차원이 각 그리드(301 내지 305)의 각 셀 크기 이하이고 각 셀 크기의 절반보다 큰, 블록들을 추적할 수 있다. 도 3의 예시적인 실시예에서, 캔버스는 가장 작은 그리드 셀 크기로 그리드(301)의 1x1 셀 크기를 갖는 12x12 픽셀 캔버스이고, 12x12 픽셀 캔버스 전체는 그리드(301)의 1x1 셀 크기에 맞는다. 따라서 나머지 그리드들(302 내지 305)은 그리드(301)를 기초로 한 셀 크기를 갖는다.
도 4는 본 발명의 예시적인 실시예에 따른 다차원 메모리 자원 관리 및 할당 방법을 도시한 플로우차트이다.
도 4를 참조하면, 401단계에서 2D 메모리 자원의 할당 요구가 수신된다. 402단계에서 요구된 2D 메모리 자원에 대한 가장 큰 차원이 결정된다. 예를 들어, W와 H가 폭과 높이를 각각 나타내고, W가 H보다 큰 정수 값일 때, 요구된 할당이 WxH 크기를 갖는 2D 메모리 자원에 대한 것이라면, 요구된 2D 메모리 자원의 가장 큰 차원은 W이다. 요구된 2D 메모리 자원의 가장 큰 차원이 결정된 후, 403단계에서는, 예를 들어, 가장 큰 차원에 해당하는 공간을 추적하는 도 3의 그리드 시리즈(301 내지 305) 중의 한 그리드가 선택된다. 다음으로 404단계에서는 선택된 그리드의 셀들이 검사된다. 405단계에서, 2D 메모리 자원들 중 적절한 크기의 블록이 404단계에서 선택된 그리드의 검사에 따라 할당되지 않았는지 여부가 결정된다. 적절한 크기의 2D 메모리 자원 블록이 할당되지 않은 것으로 결정되면, 406단계에서 적절한 크기의 2D 메모리 자원 블록이 할당된다. 적절한 크기의 2D 메모리 자원 블록이 할당된 것으로 결정되면, 407단계에서 적절한 크기의 2D 메모리 자원 블록이 사용가능하지 않다는 통지가 제공된다.
더욱이, 도 4의 예시적인 실시예는 2D 메모리 자원에 대해 제시됐지만, 본 발명은 그에 한정되지 않으며, 도 4의 예시적인 실시예는 임의의 적절한 다차원 메모리 자원에 적용될 수 있다. 또한 본 발명은 도 4에 도시된 예시적인 실시예의 401단계의 요구에 한정되지 않으며, 다차원 메모리의 특정 지역에서 다차원 메모리 자원에 대한 요구가 이뤄질 수 있다. 그러한 경우, 다차원 메모리 요구에 대응하는 특정영역과 중첩하는 그리드 셀만이 404단계에서 검사된다. 따라서 본 발명의 예시적인 실시예에 따르면, 다차원 메모리 자원의 특정영역만이 그 특정영역이 다차원 메모리 자원 요구를 만족시키는데 적합한 비할당 자원을 갖는지 여부를 결정하기 위해 검사된다.
또한, 도 4의 예시적인 실시예에서 405단계는 도 4의 방법을 실행하는 메모리 할당자에 의해 실행될 수 있지만, 본 발명은 그에 한정되지 않는다. 예를 들어, 도 4의 예시적인 실시예에 도시된 바와 같이, 메모리 할당자는 할당될 비할당 2D 메모리 자원블록의 서브 영역(sub-region)을 결정할 수 있다. 그러나 본 발명은 그에 한정되지 않으며, 메모리 할당자는 또한 2D 메모리 자원 할당 요구를 생성한 요구자 또는 사용자가 그 요구에 응답하여 할당될 비할당 2D 메모리 자원 블록의 서브 영역을 선택하게 한다.
도 5는 본 발명의 예시적인 실시예들에 따른 캔버스 소모 영역들의 계층적 바운딩 볼륨(hierarchical bounding volumes)을 도시한 것이다.
도 6은 본 발명의 예시적인 실시예에 따른 투명하게 중첩된 그리드 컨텐츠 뷰를 도시한 것이다.
도 5 및 6을 참조하면, 다차원 메모리 자원 블록이 할당될 때, 달리 설명하면, 그리드 시리즈(301 내지 305)의 캔버스 셀 영역 또는 셀들이 소모될 때, 그리드 시리즈(301 내지 305)의 각 그리드는 그리드 시리즈(301 내지 305) 각각의 셀들이 비할당되었는지, 달리 설명하면, 사용가능한 블록들 또는 셀들을 갖는지에 대한 정보를 갱신하기 위해 검사된다. 더욱 상세하게는, 각 그리드에 있어서, 셀들의 소모영역 중첩에 따라, 셀들의 소모 영역과 중첩하는 셀들은 각각이 부모(501)로 지칭되고, 그 셀들만 4개의 작은 영역 또는 사각형들로 분할되고, 그 각각은 자식(child)(502)으로 지칭될 수 있다. 각각의 자식(502)이 다른 부모(501)에 포함되는지를 결정하기 위해, 가장 큰 그리드 레벨의 부모(501) 각각부터 시작하거나, 임의의 적절한 그리드 레벨부터 시작하여, 자식(502) 각각은 자식(502)의 부모(501)를 갖는 그리드가 아닌 다른 그리드의 부모(501) 각각과 비교된다. 각 자식(502)이 다른 부모(501)에 포함된다면, 각 자식(502)은 버려진다. 따라서 각각 남아있는 자식(502), 즉, 버려지지 않은 자식들은 각 남은 자식(502)의 크기에 적당한 그리드에 추적될 수 있고, 각 부모(501)는 버려질 수 있다. 따라서, 도 6에 도시된 바와 같이, 투명하게 중첩된 그리드 컨텐츠 뷰에 대응하는 정보가 도 6에서 검은 색 영역으로 보이는 할당된 영역(601)과 도 6에서 검은 색이 아닌 회색으로 보이는 비할당 영역(602)을 보이기 위해 생성될 수 있다. 따라서 다차원 자원은 효율적으로 관리 및 할당될 수 있다.
도 7은 본 발명의 예시적인 실시예에 따른, 메모리 및 제어부를 포함한 전자장치를 도시한 것이다.
도 7을 참조하면, 전자 장치(700)는 제어부(701) 및 메모리(702)를 포함한다. 메모리(702)는 메모리 어드레스가 순차적이고 선형으로 조직된 1D 메모리 아키텍쳐를 갖는 적어도 하나의 다차원 메모리 자원을 포함할 수 있다. 메모리(702)는 램(RAM), 롬(ROM), 광 스토리지 장치, 자기광학스토리지 장치, 자기 스토리지 장치, 트랜지스터 기반 스토리지 장기 또는 임의의 다른 적절한 형태의 비일시적인(non-transitory) 컴퓨터로 읽을 수 있는 스토리지 매체일 수 있다. 제어부(701)는 도 2 내지 6의 예시적인 실시예들의 동작 및 특징들을 실행하는 마이크로프로세서, 컴퓨터 칩, 또는 임의의 다른 유사 및/또는 적절한 하드웨어 엘레멘트(element)일 수 있다. 또한, 적어도 제어부(701) 및 메모리(702)는 도 2 내지 6의 예시적인 실시예들의 동작 및 특징을 실행하는데 사용될 수 있는 명령어들을 저장하는 비일시적인 컴퓨터로 읽을 수 있는 스토리지 매체일 수 있다.
본 발명은 예시적인 실시예를 참조하여 도시되고 설명되었으며, 형태와 세부사항들의 다양한 변화가 첨부된 청구범위와 그 균등물에 의해 정의된 바와 같이 본 발명의 사상과 범위를 벗어나지 않고 그 안에서 이루어질 수 있음을 당업자는 이해해야 할 것이다.
401: 2D 메모리 자원의 할당 요구를 수신
402: 요구된 2D 메모리 자원의 가장 큰 차원을 결정
403: 가장 큰 차원에 해당하는 공간을 추적하는 그리드를 선택
404: 선택된 그리드 셀들을 검사
405: 2D 메모리 자원의 적절한 크기의 블록이 할당되지 않았는지 여부를 결정
406: 2D 메모리 자원의 적절한 크기의 블록을 할당
407: 2D 메모리 자원이 사용가능하지 않음을 통지
601: 할당된 영역 602:비할당된 영역

Claims (16)

  1. 자원의 할당 및 관리 방법에 있어서,
    메모리 자원 블록의 할당에 대한 요구를 수신하는 단계;
    상기 할당 요구에 따라 상기 메모리 자원의 공간들을 추적하는 그리드를 선택하는 단계;
    상기 메모리 자원 블록의 할당 요구에 대응하는 메모리 자원 블록이 비할당되었는지를 결정하는 단계; 및
    상기 메모리 자원의 비할당 블록을 할당하는 단계를 포함함을 특징으로 하는 자원의 할당 및 관리 방법.
  2. 제1항에 있어서, 상기 그리드를 선택하는 단계는 요구된 메모리 자원의 가장 큰 차원을 결정하는 단계를 포함함을 특징으로 하는 자원의 할당 및 관리 방법.
  3. 제2항에 있어서, 상기 요구된 메모리 자원은 N차원을 갖고, 상기 N차원 각각은 정수 값의 크기를 갖는 것을 특징으로 하는 자원의 할당 및 관리 방법.
  4. 제1항에 있어서, 상기 공간을 추적하는 그리드를 선택하는 단계는 상기 선택된 그리드의 검사 셀들을 포함함을 특징으로 하는 자원의 할당 및 관리 방법.
  5. 제1항에 있어서, 상기 메모리 자원 블록의 할당 요구에 대응하는 상기 메모리 자원 블록이 할당된 것으로 결정되면 상기 요구된 메모리 자원은 사용가능하지 않다는 것을 통지하는 단계를 더 포함함을 특징으로 하는 자원의 할당 및 관리 방법.
  6. 제1항에 있어서,
    상기 메모리 자원관리는 다차원 메모리 자원관리인 것을 포함하는 자원의 할당 및 관리 방법.
  7. 자원 할당 및 관리 장치에 있어서,
    메모리; 및
    메모리 자원 블록의 할당에 대한 요구를 수신하고,
    상기 할당 요구에 따라 상기 메모리 자원의 공간들을 추적하는 그리드를 선택하고,
    상기 메모리 자원 블록의 할당 요구에 대응하는 메모리 자원 블록이 비할당되었는지를 결정하고, 및
    상기 메모리 자원의 비할당 블록을 할당하는 제어부를 포함함을 특징으로 하는 자원의 할당 및 관리 장치.
  8. 제7항에 있어서, 상기 제어부는 상기 그리드를 선택할 때 상기 요구된 메모리 자원 중 가장 큰 차원을 결정하는 것을 특징으로 하는 다차원 자원의 할당 및 관리 장치.
  9. 제8항에 있어서, 상기 요구된 메모리 장치는 N차원을 구비하고, 상기 M차원의 각각은 정수값의 크기를 갖는 것을 특징으로 하는 자원의 할당 및 관리 장치.
  10. 제8항에 있어서, 상기 제어부는 공간을 추적하는 그리드를 선택할 때 상기 선택된 그리드의 셀들을 검사하는 것을 특징으로 하는 자원의 할당 및 관리 장치.
  11. 제7항에 있어서, 상기 제어부는 상기 메모리 자원 블록의 할당 요구에 대응하는 상기 메모리 자원 블록이 할당된 것으로 결정되면, 상기 요구된 메모리 자원이 사용가능하지 않다고 통지하는 것을 특징으로 하는 자원의 할당 및 관리 장치.
  12. 제7항에 있어서,
    상기 메모리 자원관리는 다차원 메모리 자원관리인 것을 포함하는 자원의 할당 및 관리 장치.
  13. 제7항에 있어서,
    상기 메모리는 N차원을 갖는 다차원 방식에 따라 배열되는 것을 포함하는 자원의 할당 및 관리 장치.
  14. 자원의 할당 및 관리 방법에 있어서,
    메모리 자원의 공간들을 추적하는 그리드의 셀들이 메모리 영역 중 자원이 할당된 서브영역과 일부 또는 전체 중첩되는지를 확인하는 단계;
    상기 그리드의 셀들 중 상기 메모리 영역의 자원이 할당된 서브영역과 일부 또는 전체 중첩할 시, 상기 중첩하는 그리드의 셀을 다수의 제1 서브 셀로 분할하는 단계;
    상기 그리드의 셀들 중 상기 메모리 영역의 자원이 할당된 서브영역과 일부 또는 전체 중첩하지 않을 시, 상기 중첩하지 않은 그리드의 셀에 대응하는 상기 메모리 영역의 서브영역을 비할당 영역으로 결정하는 단계를 포함하는 방법.
  15. 제14항에 있어서, 상기 다수의 제1 서브 셀이 상기 메모리 영역의 자원이 할당된 서브영역과 일부 또는 전체 중첩되는지를 확인하는 단계;
    상기 그리드의 제1 서브 셀들 중 상기 메모리 영역의 자원이 할당된 서브영역과 일부 또는 전체 중첩할 시, 상기 중첩하는 그리드의 제1 서브 셀을 다수의 제2 서브 셀로 분할하는 단계;
    상기 그리드의 서브 셀들 중 상기 메모리 영역의 자원이 할당된 서브영역과 일부 또는 전체 중첩하지 않을 시, 상기 중첩하지 않은 그리드의 서브 셀에 대응하는 상기 메모리 영역의 서브영역을 비할당 영역으로 결정하는 단계를 더 포함하는 방법.
  16. 제14항에 있어서,
    상기 그리드에서 가장 작은 셀 크기는 상기 메모리 영역의 최소 자원블록 크기와 같거나 작고
    상기 그리드의 크기는 상기 메모리 영역과 일치하는 것을 특징으로 하는 방법.
KR1020130049534A 2013-03-12 2013-05-02 다차원 메모리 자원 관리 및 할당 장치 및 방법 KR102058642B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/796,168 US9569350B2 (en) 2013-03-12 2013-03-12 Multidimensional resource manager/allocator
US13/796,168 2013-03-12

Publications (2)

Publication Number Publication Date
KR20140111907A true KR20140111907A (ko) 2014-09-22
KR102058642B1 KR102058642B1 (ko) 2019-12-23

Family

ID=51533956

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130049534A KR102058642B1 (ko) 2013-03-12 2013-05-02 다차원 메모리 자원 관리 및 할당 장치 및 방법

Country Status (2)

Country Link
US (1) US9569350B2 (ko)
KR (1) KR102058642B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9940026B2 (en) * 2014-10-03 2018-04-10 Micron Technology, Inc. Multidimensional contiguous memory allocation
US9954927B2 (en) * 2015-01-26 2018-04-24 Hong Kong Applied Science and Technology Research Institute Company Limited Method for managing multiple windows on a screen for multiple users, and device and system using the same
US10942843B2 (en) * 2017-04-25 2021-03-09 Micron Technology, Inc. Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3624616A (en) * 1969-12-04 1971-11-30 Burroughs Corp Dynamic allocation of multidimensional array memory space
JPS58128078A (ja) * 1982-01-27 1983-07-30 Dainippon Screen Mfg Co Ltd メモリ装置の構成方法
CA2212316C (en) * 1997-07-31 2001-02-13 Ibm Canada Limited - Ibm Canada Limitee A method of recognizing fixed and variable sized data objects in memory
US6806891B1 (en) * 1999-05-07 2004-10-19 The Foxboro Company Method and apparatus for automated management and display of booking status
US6828977B2 (en) * 2001-02-15 2004-12-07 Sony Corporation Dynamic buffer pages
US7853760B2 (en) * 2003-08-07 2010-12-14 Siemens Corporation Advanced memory management architecture for large data volumes
US20110246742A1 (en) * 2010-04-01 2011-10-06 Kogen Clark C Memory pooling in segmented memory architecture
US8913335B2 (en) * 2011-05-23 2014-12-16 HGST Netherlands B.V. Storage device with shingled data and unshingled cache regions

Also Published As

Publication number Publication date
US9569350B2 (en) 2017-02-14
KR102058642B1 (ko) 2019-12-23
US20140281340A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
CN103995861B (zh) 一种基于空间关联的分布式数据装置、方法及系统
US20170230247A1 (en) System and Method for Determining and Visualizing Efficiencies and Risks in Computing Environments
EP2766803B1 (en) A method and system for consolidating a plurality of heterogeneous storage systems in a data center
CN111862292B (zh) 输电线路走廊的数据渲染方法、装置和计算机设备
KR20220058844A (ko) 리소스 스케줄링 방법 및 장치, 전자 기기, 저장 매체 및 프로그램 제품
CN104732565B (zh) 一种基于监控范围可视化设计的安防布局绘图方法
Mustafa et al. Dynamic simplification and visualization of large maps
EP3008558A1 (en) Network visualization systems and methods
Aldous et al. True scale-invariant random spatial networks
CN109918469A (zh) 网格化处理方法及装置
KR20140111907A (ko) 다차원 메모리 자원 관리 및 할당 장치 및 방법
Yu et al. Scalable parallel distance field construction for large-scale applications
Fahmy et al. CoS-HDFS: Co-locating geo-distributed spatial data in hadoop distributed file system
CN117009411A (zh) 一种基于点云数据网格化空间存储与索引方法、装置及计算机可读存储介质
Beilschmidt et al. An efficient aggregation and overlap removal algorithm for circle maps
Elango et al. On using the roofline model with lower bounds on data movement
Bandyopadhyay et al. Spatial Pattern Analysis for finding Weighted Candidate Set for p-median Problem inLocating Emergency Facilities
CN113704380B (zh) 基于空间格网的分布式叠加分析方法、装置及存储介质
Krämer et al. Scalable processing of massive geodata in the cloud: generating a level-of-detail structure optimized for web visualization
Zhou et al. Data decomposition method for parallel polygon rasterization considering load balancing
US11163808B2 (en) Hexagon clustering of spatial data
Ujang et al. 3d hilbert space filling curves in 3d city modeling for faster spatial queries
XIAO et al. Integration method of TINs and Grids for multi-resolution surface modeling
Depian et al. Transitions in Dynamic Point Labeling
Hirvikorpi et al. The general two-level storage management problem: A reconsideration of the KTNS-rule

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