KR101852974B1 - 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템 및 그 시스템을 이용한 페이지 배치방법 - Google Patents

모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템 및 그 시스템을 이용한 페이지 배치방법 Download PDF

Info

Publication number
KR101852974B1
KR101852974B1 KR1020170100899A KR20170100899A KR101852974B1 KR 101852974 B1 KR101852974 B1 KR 101852974B1 KR 1020170100899 A KR1020170100899 A KR 1020170100899A KR 20170100899 A KR20170100899 A KR 20170100899A KR 101852974 B1 KR101852974 B1 KR 101852974B1
Authority
KR
South Korea
Prior art keywords
page
memory
ranking
write
volatile
Prior art date
Application number
KR1020170100899A
Other languages
English (en)
Other versions
KR20170119305A (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 KR1020170100899A priority Critical patent/KR101852974B1/ko
Publication of KR20170119305A publication Critical patent/KR20170119305A/ko
Application granted granted Critical
Publication of KR101852974B1 publication Critical patent/KR101852974B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • 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
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory

Landscapes

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

Abstract

본 발명은 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템 및 그 시스템을 이용한 페이지 배치방법에 관한 것으로, 모바일 기기에서 사용되는 개별 앱에서 각 페이지의 쓰기 참조 횟수에 따른 순위가 오프 라인에서 미리 설정되어 저장되는 쓰기 참조 랭킹 설정부; 휘발성 및 비휘발성 메모리로 구성된 하이브리드 메모리부; 및 상기 쓰기 참조 랭킹 설정부에 설정된 쓰기 참조 랭킹 값이 미리 설정된 임계 랭킹 기준치(M) 보다 작은 해당 페이지를 휘발성 메모리로 배치하는 페이지 배치부를 포함하되, 상기 휘발성 및 비휘발성 메모리 영역간 페이지 이동이 허용되지 않는 것을 특징으로 한다.

Description

모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템 및 그 시스템을 이용한 페이지 배치방법{HYBRID MEMORY SYSTEM AND PAGE PLACEMENT METHOD IN MOBILE DEVICE}
본 발명은 하이브리드 메모리 시스템 및 이를 이용한 페이지 배치방법에 관한 것으로, 보다 상세하게는 적정한 페이지 부재율과 함께 NVRAM 쓰기 발생량을 최대한 줄여 메모리 효율성을 높일 수 있는 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템 및 그 시스템을 이용한 페이지 배치방법에 관한 것이다.
스마트폰의 메모리로 사용되는 DRAM 은 휘발성 매체이므로 읽기 쓰기 연산이 없더라도 지속적인 전력 재공급(refresh)이 필요하다. 따라서, 메모리 용량이 증가할 경우 그에 비례해서 배터리 소모도 늘어나게 된다. 최근, 이러한 메모리의 전력소모를 줄이기 위해 차세대 비휘발성 메모리(NVRAM)가 대두되고 있다. NVRAM은 DRAM 과 달리 리프레쉬(refresh) 연산이 필요하지 않으므로 배터리 소모를 크게 줄일 수 있으나, 쓰기 연산이 느리거나 쓰기 시 높은 전력 소모를 보이는 등 쓰기 취약성을 나타낸다.
이를 보완하기 위해 NVRAM에 소량의 DRAM을 같이 사용하는 하이브리드 메모리 아키텍처가 제안되었다. 하이브리드 주메모리 아키텍처에서는 DRAM 과 NVRAM 을 동일한 메모리 주소 공간으로 사용하며 DRAM 이 쓰기 연산을 최대한 흡수하여 NVRAM 의 쓰기 취약성을 완충하는 것이 중요하다.
하이브리드 아키텍처에서 제안되었던 기존의 데이터 배치는 DRAM 이 메모리 쓰기 참조를 잘 흡수하게 하기 위해 쓰기 참조가 발생하는 모든 페이지들을 DRAM 에 배치하거나 본 발명에서 제안한 방법과 유사하게 인기 페이지를 분석하여 DRAM 에 배치하는 방법을 사용하였다. 그러나, 기존 연구방법은 온라인으로 DRAM 에 배치될 인기 페이지를 예측하여 많은 시간, 공간적 오버헤드를 발생시켰다.
특히, 온라인으로 인기도를 결정하기 때문에 해당 페이지의 과거 일부 참조 히스토리만을 반영하여 인기도를 예측하게 되고 이로 인해 예측의 정확도가 떨어져 불합리한 데이터 배치를 하도록 하거나 잦은 데이터 이동을 발생시키는 경우가 발생하였다. 최근 한 연구에 따르면 이러한 온라인 분석에 기반한 데이터 배치에서 잘못된 예측으로 인한 불필요한 데이터 이동이 전체 실행시간의 평균 25%까지 증가시켰다고 보고하고 있다.
그리고, 하이브리드 아키텍처에서 대부분의 데이터 배치 정책은 DRAM에서 방출되는 페이지를 NVRAM으로 이동시키고 추후 필요시 DRAM으로 재배치하도록 설계한다. 이것은 하이브리드 아키텍처가 소량의 DRAM을 사용하기 때문에 NVRAM에 있는 페이지보다 상대적으로 인기가 있는 페이지임에도 불구하고 공간의 협소함으로 인해 방출되는 경우가 있기 때문에 보조기억장치가 아닌 메모리로 해당 페이지를 이동시켜주는 것이다. 그러나 이러한 설계는 DRAM과 NVRAM 사이의 불필요한 잦은 이동으로 NVRAM 쓰기를 증폭시킨다는 문제점이 있다.
대한민국 공개특허공보 제10-2009-0093265호(공개일자: 2009년09월02일) 대한민국 공개특허공보 제10-2013-0104937호(공개일자: 2013년09월25일)
본 발명에 따른 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템 및 그 시스템을 이용한 페이지 배치방법은 다음과 같은 해결과제를 가진다.
첫째, 본 발명은 하이브리드 메모리 아키텍처에서 소량의 DRAM이 쓰기를 잘 흡수하도록 하는 하이브리드 메모리 시스템 및 이를 이용한 페이지 배치방법을 제공하고자 함이다.
둘째, 본 발명은 적정한 페이지 부재율과 함께 NVRAM 쓰기 발생량을 최대한 줄여 효율적인 메모리 사용이 가능한 하이브리드 메모리 시스템 및 이를 이용한 페이지 배치방법을 제공하고자 함이다.
본 발명의 해결과제는 이상에서 언급한 것들에 한정되지 않으며, 언급되지 아니한 다른 해결과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하고자 하는 본 발명의 제1 특징은 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템으로, 모바일 기기에서 사용되는 개별 앱에서 각 페이지의 쓰기 참조 횟수에 따른 순위가 오프라인에서 미리 설정되어 저장되는 쓰기 참조 랭킹 설정부; 휘발성 및 비휘발성 메모리로 구성된 하이브리드 메모리부; 및 공유 라이브러리(shared library) 영역을 상기 휘발성 메모리의 배치 대상으로 한정하고, 상기 쓰기 참조 랭킹 설정부에 설정된 쓰기 참조 랭킹 값이 미리 설정된 임계 랭킹 기준치(M) 값보다 작은 페이지의 경우 휘발성 메모리에 배치하고, 미리 설정된 임계 랭킹 기준치(M) 값보다 큰 페이지를 비휘발성 메모리로 배치하는 페이지 배치부를 포함한다.
메모리의 페이지 부재율(page fault ratio)을 산출하는 페이지 부재율 산출부; 상기 산출된 메모리의 페이지 부재율에 따라 상기 기준치(M) 값을 동적으로 조절하는 랭킹 기준치(M) 조절부; 및 상기 휘발성 및 비휘발성 메모리에서 방출되는 페이지를 저장하는 보조기억장치를 더 포함한다.
상기 휘발성 및 비휘발성 메모리 영역 간 페이지 이동이 허용되지 않는다.
상기 공유 라이브러리는 libc, libm, libgui가 참조되는 주소공간, dalvik heap, dalvik bitmap 1, 2 가 참조되는 주소 공간 및 libandroid, dalvik_cache, sqlite 가 참조되는 주소공간인 것을 특징으로 한다.
그리고, 본 발명의 제2 특징은 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템의 페이지 배치방법으로, (a) 쓰기 참조 랭킹 설정부가 모바일 기기에서 사용되는 개별 앱에서 각 페이지의 쓰기 참조 횟수에 따른 순위가 오프라인에서 미리 설정되어 저장하는 단계; (b) 페이지 배치부가 상기 쓰기 참조 랭킹 설정부에 설정된 쓰기 참조 랭킹 값이 미리 설정된 임계 랭킹 기준치(M) 값보다 작은지 여부를 판단하는 단계; 및 (c) 작은 경우, 해당 페이지를 휘발성 메모리로 배치하고, 큰 경우, 해당 페이지를 하이브리드 메모리부의 비휘발성 메모리로 배치하는 단계; 및 (d) 임계 랭킹 기준치(M) 조절부가 상기 임계 랭킹 기준치를 페이지 부재율에 따라 조절하는 단계를 포함하되, 휘발성 및 비휘발성 메모리 영역 간 페이지 이동이 허용되지 않는 것을 특징으로 한다.
상기 하이브리드 메모리 시스템 내 휘발성 메모리에는, 공유 라이브러리(shared library) 영역을 상기 휘발성 메모리의 배치 대상으로 한정하고, 상기 공유 라이브러리는 libc, libm, libgui가 참조되는 주소공간, dalvik heap, dalvik bitmap 1, 2 가 참조되는 주소 공간 및 libandroid, dalvik_cache, sqlite 가 참조되는 주소공간인 것을 특징으로 한다.
그리고, 본 발명의 제3 특징은 하드웨어와 결합되어, 본 발명에 따른 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템의 페이지 배치방법을 실행시키기 위하여 컴퓨터가 판독 가능 한 기록 매체에 저장된 컴퓨터 프로그램을 그 특징으로 한다.
여기서, 본 발명에 따른 장치는 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽힐 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, 광학 디스크, 자기 테이프, 플로피 디스크, 하드 디스크, 비휘발성 메모리 등을 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명에 따른 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템 및 그 시스템을 이용한 페이지 배치방법은 다음과 같은 효과를 가진다.
첫째, 본 발명은 메모리가 데이터의 잦은 이동으로 인하여 NVRAM에 쓰기 발생량의 증가되는 것을 방지할 수 있는 하이브리드 메모리 시스템 및 그 시스템을 이용한 페이지 배치방법을 제공한다.
둘째, 본 발명은 은 NVRAM 쓰기 발생량을 감소시켜 더욱 효율적으로 메모리 사용이 가능한 하이브리드 메모리 시스템 및 이를 이용한 페이지 배치방법을 제공한다.
셋째, 본 발명은 전체 페이지 부재율이 증가하는 것을 막기 위해 주기적으로 DRAM의 페이지 부재율을 산출 또는 예측하고 임계 랭킹 기준치(M)을 동적으로 조절하여, 페이지 부재율을 적절히 유지하면서 NVRAM 쓰기 발생량을 최대한 줄일 수 있는 하이브리드 메모리 시스템 및 이를 이용한 페이지 배치방법을 제공한다.
본 발명의 효과는 이상에서 언급한 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템의 블록 구성과 페이지 배치방법의 흐름을 나타낸 모식도이다.
도 2는 편중된 메모리 쓰기 참조에 대한 분석의 결과는 나타낸 그래프이다.
도 3은 논리주소공간에 따른 메모리 쓰기 참조 분포를 나타낸 그래프이다.
도 4는 페이지 랭킹에 따른 쓰기 참조 분포를 나타내는 그래프이다.
도 5는 앱에 따른 NVRAM과 DRAM 사이의 이동으로 인한 쓰기 발생량을 나타낸 그래프이다.
도 6은 본 발명의 실시예에 적용되는 임계 랭킹 기준치(M)에 대한 동적 조절방법의 결과 그래프이다.
도 7은 벨라디 수명 함수(Belady's lifetime function)를 이용한 페이지 부재율 모델링 결과이다.
도 8은 All_write_to_DRAM과 본 발명의 실시예에서 제안한 기법의 NVRAM 쓰기 발생량을 비교한 그래프이다.
도 9는 All_write_to_DRAM과 본 발명의 실시예에서 제안한 기법의 전체 페이지 부재율을 나태낸 그래프이다.
이하, 첨부한 도면을 참조하여, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 설명한다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 이해할 수 있는 바와 같이, 후술하는 실시예는 본 발명의 개념과 범위를 벗어나지 않는 한도 내에서 다양한 형태로 변형될 수 있다. 가능한 한 동일하거나 유사한 부분은 도면에서 동일한 도면부호를 사용하여 나타낸다.
본 명세서에서 사용되는 전문용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지는 않는다. 여기서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다.
본 명세서에서 사용되는 "포함하는"의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분을 구체화하며, 다른 특정 특성, 영역, 정수, 단계, 동작, 요소, 성분 및/또는 군의 존재나 부가를 제외시키는 것은 아니다.
본 명세서에서 사용되는 기술용어 및 과학용어를 포함하는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 일반적으로 이해하는 의미와 동일한 의미를 가진다. 사전에 정의된 용어들은 관련기술문헌과 현재 개시된 내용에 부합하는 의미를 가지는 것으로 추가 해석되고, 정의되지 않는 한 이상적이거나 매우 공식적인 의미로 해석되지 않는다.
이하에서 본 발명의 바람직한 실시예를 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템의 블록 구성과 페이지 배치방법의 흐름을 나타낸 모식도이다. 도 1에 나타낸 바와 같이, 본 발명의 실시예에 따른 하이브리드 메모리 시스템은, 모바일 기기에서 사용되는 개별 앱에서 각 페이지의 쓰기 참조 횟수에 따른 순위가 오프라인에서 미리 설정되어 저장되는 쓰기 참조 랭킹 설정부(100); 휘발성 및 비휘발성 메모리로 구성된 하이브리드 메모리부(200); 및 상기 쓰기 참조 랭킹 설정부(100)에 설정된 쓰기 참조 랭킹 값이 미리 설정된 기준치(M) 보다 작은 해당 페이지를 휘발성 메모리로 배치하는 페이지 배치부(300)를 포함하되, 상기 휘발성 및 비휘발성 메모리 영역간 페이지 이동이 허용되지 않는 것을 특징으로 한다.
또한, 본 발명의 또 다른 실시예로서, 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템의 페이지 배치방법은, (a) 쓰기 참조 랭킹 설정부(100)가 모바일 기기에서 사용되는 개별 앱에서 각 페이지의 쓰기 참조 횟수에 따른 순위가 오프라인에서 미리 설정되어 저장하는 단계; (b) 페이지 배치부(300)가 상기 쓰기 참조 랭킹 설정부(100)에 설정된 쓰기 참조 랭킹 값이 미리 설정된 기준치(M) 보다 작은지 여부를 판단하는 단계; 및 (c) 작은 경우, 해당 페이지를 휘발성 메모리로 배치하고, 큰 경우, 해당 페이지를 비휘발성 메모리로 배치하는 단계를 포함하되, 상기 휘발성 및 비휘발성 메모리 영역간 페이지 이동이 허용되지 않는 것을 특징으로 한다.
이와 같이 본 발명의 실시예는 NVRAM과 DRAM으로 구성된 하이브리드 메모리 아키텍쳐에서 NVRAM의 쓰기 취약성을 완충하기 위한 데이터 배치 관리 방법 및 그 방법을 적용하는 하이브리드 메모리 시스템을 제안하는 것으로, 메모리 쓰기 참조가 메모리 특정 영역에 편중되어 발생한다는 점을 미리 오프라인으로 분석하고, 분석한 결과를 이용하여 쓰기 참조가 빈번하게 발생하는 페이지를 DRAM에 배치시키고, 또한 NVRAM과 DRAM 사이의 이동을 허용하지 않음으로써, 메모리간 이동으로 발생되는 부가적인 NVRAM 쓰기를 완전히 제거할 수 있는 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템 및 그 시스템을 이용한 페이지 배치방법을 제공한다.
보다 구체적으로, 본 발명의 실시예에 따른 하이브리드 메모리 시스템은, 오프라인에서 모바일 기기에 사용되는 앱들에서 나타나는 각 페이지별 쓰기 참조 횟수를 산출하고, 산출된 횟수에 따라 순위(rank)를 설정하여 저장하는 쓰기 참조 랭킹 설정부(100)와, 휘발성 메모리인 DRAM과 비휘발성 메모리인 NVRAM으로 구성된 하이브리드 메모리부(200)와, 설정된 순위에 따라 미리 설정된 임계 랭킹 기준치와 비교하여, 순위가 높으면(<M) 휘발성 메모리인 DRAM으로 배치하고, 순위가 낮으면(>M) 비휘발성 메모리인 NVRAM으로 배치하는 페이지 배치부(300)로 구성된다.
여기서, 하이브리드 메모리부(200)는 종래의 장치와 달리 DRAM과 NVRAM 사이의 페이지 교환이 허용되지 않고 휘발성 메모리 및 비휘발성 메모리에서 배출한 페이지를 보조기억장치(400)에 저장하게 하게 함으로써, 메모리가 데이터의 잦은 이동으로 인하여 NVRAM에 쓰기 발생량의 증가되는 것을 방지한다.
그리고, 본 발명의 실시예에 따른 하이브리드 메모리 시스템은 페이지 부재율 산출부 및 임계 랭킹 기준치 조절부를 더 구비하여, 메모리간 페이지 이동을 허용하지 않아 발생할 수 있는 페이지 부재율의 증가를 방지하기 위해 각 메모리의 페이지 부재율에 따라 상술한 임계 랭킹 기준치를 동적으로 조절함으로써, 시스템의 성능을 높일 수 있다. 여기서, 페이지 부재율 산출부 및 임계 랭킹 기준치 조절부는 주기적으로 또는 임의적 시간 간격으로 실행될 수 있음은 물론이다.(도시하지 않음)
본 발명의 실시예에 적용되는 모바일 기기는, 스마트폰, 테블릿 PC, PDA 등 무선통신 네트워크를 통해 어플리케이션(앱) 프로그램을 수행할 수 있는 휴대용 컴퓨팅 장치이면 모두 가능하다.
이하에서, 상술한 본 발명의 실시예에 따른 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템을 이용한 페이지 배치방법을 도면을 참조하여 보다 구체적으로 설명하기로 한다.
모바일 기기 앱들의 쓰기 참조 특징 분석
NVRAM에 발생하는 쓰기 연산의 양을 줄이기 위해서는 쓰기 참조 가능성이 높은 페이지를 DRAM에 배치하고 그렇지 않은 페이지를 NVRAM에 배치하는 방법이 필요하다. 이를 위해 본 발명의 실시예에서는 스마트폰 등의 모바일 기기의 주요 앱들에 대해 실제 워크로드를 뽑고 이를 기반으로 메모리 쓰기 참조가 어떤 특징을 갖는지에 대해 정량적으로 분석하였다.
이러한 분석을 위해 본 발명의 실시예에서는 트레이스 추출기로서 Valgrind 3.8.1의 cachegrind tool set을 이용하였다. 특히, LLC(Last Level Cache)를 통해 메모리단에 요청되는 메모리 참조들을 추출하기 위해 cachegrind에 캐쉬 레이어들(L1, L2, LLC)에 대한 에뮬레이터를 추가하였고 안드로이드 운영체제 넥서스 폰을 이용하여 실제 메모리 참조 트레이스를 추출하였다.
스마트폰에서 수행되는 다양한 워크로드에 대해 분석하기 위해 5개의 앱에 대해 메모리 참조를 추출하였다. 즉, 게임인 앵그리버드(angrybirds), 안드로이드 웹 브라우저, 소셜 네트워크 서비스인 페이스북(facebook), 인터넷을 이용한 비디오 스트리밍 서비스인 유투브(youtube), 미디어 플레이어인 엠엑스플레이어(mxplayer) 등의 메모리 참조 트레이스를 추출하고 이를 분석하였다. [표 1]은 추출된 트레이스의 특성을 나타내는 표이다.
Figure 112017076680773-pat00001
도 2는 편중된 메모리 쓰기 참조에 대한 분석의 결과는 나타낸 그래프이다. 도 2에 나타낸 바와 같이, 앵그리버드(Angrybirds) 앱에 대해 메모리 주소 공간에 따라 쓰기 참조가 얼마나 발생하는지를 보여주고 있다. 도 2에서 x축은 논리 주소 공간을 의미하며 y축은 해당 주소 공간에 발생하는 쓰기 참조의 개수를 의미한다.
도 2의 (a)에 나타낸 바 와 같이, 쓰기 참조는 전체 메모리 주소 공간에 골고루 분포하여 발생하지 않고 특정 영역에 집중적으로 발생함을 알 수 있다.
특히, 공유 라이브러리(shared library)와 링커(linker), 스택(stack)이 위치한 영역에 쓰기 참조가 주로 발생하며 그 중에서도 공유 라이브러리(shared library) 영역에 전체 쓰기 참조의 98.35%가 집중적으로 발생하고 있었다. 도 2의 (b)에서는 집중적으로 쓰기 참조가 발생한 공유 라이브러리(s hared library) 영역에 대해 좀 더 자세히 쓰기 분포를 확대해 본 그래프이다. 이 영역 안에서도 메모리 쓰기 참조는 3가지 영역에 편중되어 발생함을 볼 수 있다.
첫번째 영역은 libc, libm, libgui 등의 라이브러리가 참조되는 영역으로서 범용 공유 라이브러리(shared library)가 많이 배치되어 있는 주소 공간이다. 두번째 영역은 dalvik heap, dalvik bitmap 1, 2 가 참조되는 주소 공간으로써 가장 많은 쓰기 참조 분포를 보였다. 마지막으로 세번째 참조 영역은 dalvik이나 안드로이드 관련 공유 라이브러리(shared library)가 많이 배치되어 있는 참조 영역으로써 libandroid, dalvik_cache, sqlite 등의 라이브러리들이 참조되고 있었다.
이렇게 메모리 논리 주소 공간에 따라 쓰기 참조의 분포가 편중되어 있는 모습은 도 3에서와 같이 앵그리버드(angrybirds) 뿐만 아니라 다른 앱들에서도 공통적으로 분석되었다. 그리고 참조의 양상이 앱별로 동일하진 않지만 앞에서 설명한 세 영역으로 분리되어 집중 참조되는 모습이 동일하였다. 도 3은 논리주소공간에 따른 메모리 쓰기 참조 분포를 나타낸 그래프이다.
도 4는 쓰기 참조 페이지들의 참조빈도 순위에 따른 메모리 쓰기 분포를 나타내는 그래프이다. 도 4에 나타낸 바와 같이, 5개 앱들이 공통적으로 최상위 몇 개의 페이지에서 대부분의 쓰기 참조를 발생하는 것으로 분석되었다.
이에 본 발명의 실시예에서는 스마트폰 앱들에 대한 이러한 편중된 쓰기 참조 분석 결과를 바탕으로 앱별로 메모리의 데이터 배치에 활용하는 시스템 및 그 시스템을 이용한 페이지 배치방법을 제안한다.
휘발성 메모 리(DRAM) 페이지 배치방법
상술한 분석 결과를 바탕으로 본 발명의 실시예에서는 쓰기 참조 빈도가 높은 인기 페이지를 DRAM에 배치하여 NVRAM에 발생하는 쓰기를 최대한 DRAM이 효율적으로 흡수하는 데이터 배치방법을 제안한다.
도 1에 나타낸 바와 같이, 본 발명의 실시예에서 제안하는 페이지 배치방법은 쓰기 참조 랭킹 설정부(100)에서 앱별로 각 페이지에 대한 쓰기 참조 횟수를 오프라인으로 조사하고 이에 기반하여 인기 페이지에 대한 랭킹을 유지하도록 하고, 페이지에 대한 랭킹은 인기 페이지 일수록 낮은 랭킹으로 배정하여 저장된다. 즉, 가장 참조 빈도가 높은 페이지는 랭킹 1에 해당한다.
그리고 나서, 페이지 배치부(300)에서 쓰기 참조 발생 시, 요청된 해당 페이지의 참조 빈도 순위값이 일정 임계 랭킹 기준치(M) 보다 낮은 인기 페이지이면 DRAM에 배치하고 임계치보다 높은 순위값의 페이지이면 NVRAM에 배치하도록 한다. 그리고 임계치 기준치(M)는 메모리 참조 상황에 따라 동적으로 조절하도록 한다.
또한, DRAM으로 배치될 새로운 페이지가 발생하여 DRAM에 있는 페이지들 중 페이지 교체 알고리즘에 의해 DRAM에서 방출되어야 하는 경우, 해당 방출 페이지는 NVRAM이 아닌 보조기억장치(400)로 내려간다.
즉, 본 발명의 실시예에서는 페이지 배치부(300)가 DRAM과 NVRAM 영역에 페이지를 배치한 후, 두 영역간의 페이지 이동은 허용하지 않는다. 이것은 종래의 페이지 배치 정책이 DRAM에서 방출되는 페이지를 NVRAM으로 이동하고 추후 필요시 DRAM으로 재배치하는 방법과는 큰 차이점이다.
하이브리드 아키텍처에서 DRAM은 NVRAM에 비해 크기가 작기 때문에 DRAM으로의 페이지 배치가 많이 발생하는 경우 잦은 페이지 교체가 발생하여 DRAM에서 방출되는 페이지도 많이 발생하게 된다. 이러한 페이지들은 DRAM의 협소한 공간 때문에 DRAM에서 방출되는 페이지가 되었지만 실제로 NVRAM에 있는 다른 페이지들과 비교하였을 때 좀 더 많은 메모리 참조를 발생시키는 페이지일 수 있다.
때문에 대부분 종래의 데이터 배치 정책에서는 DRAM에서 방출되는 페이지들을 NVRAM으로 이동케 하여 NVRAM에 있는 다른 페이지들과 경쟁하거나 쓰기 참조 발생시 다시 DRAM으로 재배치하게 하고 전체 메모리의 페이지 부재율을 낮추는데 초점을 맞춘다.
그러나 DRAM과 NVRAM 사이의 이동을 허용하는 경우, 일반적으로 페이지 부재율은 좋아지지만 DRAM과 NVRAM 사이에 잦은 데이터 이동으로 NVRAM의 쓰기를 증가시키는 결과를 초래한다.
도 5는 각 앱에 대해 NVRAM과 DRAM 사이의 이동으로 인한 NVRAM 쓰기 발생량을 나타내는 그래프이다. 도 5에 나타낸 바와 같이, 실제로 스마트폰 환경의 앱들에서는 전체 NVRAM 쓰기 발생량 중 32~42%가량이 NVRAM과 DRAM 사이의 잦은 이동으로 인해 NVRAM 쓰기가 증가하는 것으로 조사되었다.
이에 본 발명의 실시예에서는 NVRAM과 DRAM 사이의 데이터 이동을 허용하지 않는 특징을 제안한다. DRAM에서 보조기억장치(400)로의 페이지 방출은 NVRAM과의 잦은 이동이 제거되어 NVRAM 쓰기 발생량은 줄어들지만 전체 페이지 부재율이 증가하여 전체 시스템 성능저하를 초래할 수 있다. 때문에 본 발명의 실시예에서는 전체 페이지 부재율이 증가하는 것을 막기 위해 주기적으로 DRAM의 페이지 부재율을 조사하여 임계 랭킹 기준치 M을 이용하여 동적으로 조절할 수 있는 시스템 및 페이지 배치방법을 제안한다.
임계 랭킹 기준치(M)의 동적 조절
본 발명의 실시예에 적용되는 임계 랭킹 기준치 M은 다음과 같은 의미를 지닌다. 기준치 M을 작게 설정하면 쓰기 참조 빈도가 높은 페이지들만을 DRAM에 배치하겠다는 것이고 이런 경우, 상대적으로 NVRAM으로 배치되는 쓰기 페이지들이 많아져 NVRAM 쓰기 발생량을 늘릴 수 있다.
그러나, DRAM으로 배치될 페이지들의 조건을 높게 잡았기 때문에 DRAM에서 발생하는 페이지 부재 또한 줄어들게 된다. 반대로, 임계 랭킹 기준치 M을 높게 설정하는 경우는 DRAM으로 배치될 수 있는 조건을 낮게 설정한 경우로써, 많은 쓰기 참조 페이지들이 DRAM으로 배치될 수 있으며 이 경우, NVRAM 쓰기 발생량은 줄어들게 된다. 그러나, DRAM에서의 페이지 부재율은 증가할 수 있다.
임계 랭킹 기준치(M)에 대한 동적 조절은 도 6에서와같이 설계된다. 도 6은 본 발명의 실시예에 적용되는 임계 랭킹 기준치에 대한 동적 조절의 결과를 나타낸 그래프이다. 도 6에 나타낸 바와 같이, DRAM에서의 페이지 부재율이 높은 경우는 DRAM 공간이 부족한 상황으로 제안하는 배치 기법은 임계 랭킹 기준치 M을 감소시켜 DRAM에 배치될 수 있는 페이지들을 적게 만들어 페이지 부재가 자주 발생하지 않도록 조절한다(도 6의 (a) 참조).
여기서 페이지 부재율이 높은 경우라 함은 절대적 수치에 의해서 결정하지 않고 현재 임계 랭킹 기준치(M)에서의 페이지 부재율과 현재 임계 랭킹 기준치보다 조금 더 낮은 랭킹값(M-△m)으로 설정하였을 때의 페이지 부재율을 비교하여 그 차 이(△p)가 일정 값(T high_page_fault_rate )이상 낮아진 경우로 결정한다.
즉, DRAM 공간 여유를 조금 더 주었을 때(임계 랭킹 기준치를 M-△m으로 설정), 페이지 부재율이 많이 좋아지는 경우에 해당하며 이것은 현재 메모리 참조 배치가 DRAM에게는 버겁게 진행되고 있었던 것이고 조금 더 DRAM 공간에 여유를 줄 수 있는 방향으로 동적 조절을 하게 설정한 것이다.
반대로 현재의 메모리 참조에서 페이지 부재율이 낮다는 것(도 6의 (b) 참조)은 임계 랭킹 기준치를 조금 더 증가시켜 DRAM에 더 많은 쓰기 참조 페이지들이 할당 가능하도록 설정하였을 때(M+△m) 페이지 부재율이 임계 랭킹 기준치 M인 경우와 큰 차이를 보이지 않을 경우(T low_page_fault_rate )를 의미한다.
이 경우, 현재의 DRAM 공간이 조금 더 많은 쓰기 참조 페이지들을 DRAM에 담을 수 있는 여유가 있다는 의미이며 이 경우 NVRAM의 쓰기 발생량을 줄이기 위해 임계 랭킹 기준치는 더 큰 값으로 재설정한다.
이러한 동적 조절을 설계하기 위해서는 현재 임계 랭킹 기준치 M 일 때의 페이지 부재율 외에도 M+△m 임계 랭킹 기준치와 M-△m 임계 랭킹 기준치에서의 페이지 부재율을 알고 있어야 한다.
이를 위해 본 발명의 실시예에서는 벨라디 수명 함수(Belady’s lifetime function)을 이용하여 페이지 부재율을 예측 산출하였다. 벨라디 수명 함수(Belady’s lifetime function)는 메모리 사이즈에 따른 히트율(hit ratio)을 예측하는 함수로써, 본 발명의 실시예에서는 임계 랭킹 기준치에 따른 페이지 부재율로 설정하여 모델링하였고 실제 값과 예측값 사이에 큰 오차 없이 잘 적용되었다. 도 7은 벨라디 수명 함수(Belady’s lifetime function)를 이용한 예측값과 실제 페이지 부재율을 나타낸 그래프이다. 도 7에 나타낸 바와 같이, 예측된 페이지 부재율과 실제 페이지 부재율이 잘 피팅되고 있음을 알 수 있다.
이 밖에도 제안하는 기법에서는 3가지 파라미터인 T high_page_fault_rate , T low_page_fault_rate, △m 의 결정을 필요로 한다. 본 배치 방법에서 페이지 부재율이 높다는 판단은 현재 임계 랭킹 기준치 M과 M-△m일때의 페이지 부재율을 비교하여 T high_page_fault_rate , 이상으로 차이가 나는 경우로 결정하였고 페이지 부재율이 낮다는 판단은 임계 랭킹 기준치 M과 M+△m 임계 랭킹 기준치에서의 페이지 부재율 차이가 T high_page_fault_rate , 보다 작은 경우로 결정했다.
본 발명의 실시예에서는 각각의 워크로드에 대해 3가지 파라미터 값을 설 정하여 사용토록 하였다.
성능 평가
본 발명의 실시예에서 제안하는 데이터 배치방법의 효과를 시뮬레이션 실험을 통해 검증하였다. 실험에서 전체 메모리 크기는 각 앱의 footprint의 90%가 되도록 설정하였으며 DRAM 사이즈는 전체 메모리 사이즈의 20%가 되게 설정하였다.
도 8은 모든 쓰기 참조 페이지를 DRAM에 배치하는 방법인 all_write_to_DRAM 알고리즘과 본 발명에서 제안하고 있는 오프라인 기반의 페이지 배치방법에 대해 NVRAM 쓰기 발생량을 비교한 그래프이다. 앵그리버드(Angrybirds)를 비롯한 5가지 스마트폰 앱에 대해 실험하였고 y축은 NVRAM에 발생한 쓰기의 양을 all_write_to_DRAM을 기준으로 표시한 것이다.
도 8에 나타낸 바와 같이, 5개 모든 앱에서 NVRAM 쓰기 발생량이 감소함을 보였고 최소 38% 최대 88%까지 쓰기가 감소했다. 성능 개선이 큰 이유는 기존의 데이터 배치 방법에서 많은 NVRAM 쓰기를 발생시켰던 NVRAM과 DRAM사이의 이동을 없앴기 때문이다.
실제로 NVRAM과 DRAM 사이의 이동으로 인한 NVRAM 쓰기는 각 앱별로 32~43%를 차지했고 제안한 기법에서 NVRAM 쓰기는 그 이상의 감소를 보였다. 특히 유투브(youtube), 웹 브라우저(web browser), 엠엑스플레이어(mxplayer), 페이스북(facebook)인 경우는 NVRAM과 DRAM사이의 이동으로 인한 NVRAM 감소량보다 훨씬 더 많은 NVRAM 쓰기 발생량 감소를 보였다. 이러한 감소는 쓰기 빈도를 데이터 배치에 반영함으로써 all_write_to_DRAM 방법보다 더 효율적으로 메모리 사용이 가능하게 된 효과라고 할 수 있다.
도 9는 각 앱들에 대해 전체 메모리 페이지 부재율을 all_write_to_DRAM을 기준으로 조사한 그래프이다. 앵그리버드(angrybirds), 웹브라우저(web browser), 엠엑스 플레이어(mxplayer)인 경우, 7% 미만의 페이지 부재율 증가를 보였다. DRAM이 꽉 차서 페이지가 DRAM에서 방출되어야 하는 경우, 제안하는 본 발명의 실시예에 따른 배치방법은 NVRAM이 아닌 보조기억장치(400)로 내려가기 때문에 일반적으로 페이지 부재율이 증가할 가능성이 높다.
그러나 본 발명의 실시예에서는 페이지 부재율로 인한 전체 시스템 성능 저하를 우려하여 주기적으로 페이지 부재율을 모니터링하고 페이지 부재율이 높아지는 경우는 쓰기 참조 페이지들을 일시적으로 NVRAM에 좀 더 배치하게 동적 조절함으로써 전체 페이지 폴트를 조절할 수 있도록 하였다. 때문에 NVRAM 쓰기 발생량의 감소 정도에 비해 합리적인 수준의 페이지 부재율 증가를 보일 수 있었다. 그리고 페이스북(facebook), 유투브(youtube)인 경우는 오히려 페이지 부재율이 all_write_to_DRAM의 경우보다 감소한 결과를 보였다. 이러한 감소는 쓰기 빈도를 데이터 배치에 반영함으로써 all_write_to_DRAM 방법보다 더 효율적으로 메모리 사용이 가능하게 된 효과라고 할 수 있다.
이와 같이, 본 발명은 NVRAM과 DRAM으로 구성된 하이브리드 메모리 아키텍쳐에서 NVRAM의 쓰기 취약성을 완충하기 위한 하이브리드 메모리 시스템 및 이를 이용한 페이지 배치방법을 제안한다. 제안한 방법은 메모리 쓰기 참조가 메모리 특정 영역에 편중되어 발생한다는 점을 미리 오프라인으로 분석하고, 분석한 결과를 이 용하여 쓰기 참조가 빈번하게 발생하는 페이지를 DRAM에 배치 시킨다. 또한 NVRAM과 DRAM 사이의 이동을 허용하지 않음으로써 메모리간 이동으로 발생되는 부가적인 NVRAM 쓰기를 완전히 제거하도록 하였다. 이를 통해, 제안하는 데이터 배치 기법은 전체 페이지 부재율은 앱에 따라 감소하거나 최대 7% 증가함을 보였으나 NVRAM의 쓰기 발생량을 기존 기법 대비 최대 88%까지 줄였다.
본 명세서에서 설명되는 실시예와 첨부된 도면은 본 발명에 포함되는 기술적 사상의 일부를 예시적으로 설명하는 것에 불과하다. 따라서, 본 명세서에 개시된 실시예들은 본 발명의 기술적 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이므로, 이러 한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아님은 자명하다. 본 발명의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시 예는 모두 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 쓰기 참조 랭킹 설정부 200: 하이브리드 메모리부
300: 페이지 배치부 400: 보조기억장치

Claims (8)

  1. 모바일 기기에서 사용되는 개별 앱에서 각 페이지의 쓰기 참조 횟수에 따른 순위가 오프라인에서 미리 설정되어 저장되는 쓰기 참조 랭킹 설정부;
    휘발성 및 비휘발성 메모리로 구성된 하이브리드 메모리부; 및
    공유 라이브러리(shared library) 영역을 상기 휘발성 메모리의 배치 대상으로 한정하고, 상기 쓰기 참조 랭킹 설정부에 설정된 쓰기 참조 랭킹 값이 미리 설정된 임계 랭킹 기준치(M) 보다 작은 페이지의 경우 휘발성 메모리에 배치하고, 미리 설정된 임계 랭킹 기준치(M) 보다 큰 페이지를 비휘발성 메모리로 배치하는 페이지 배치부를 포함하고,
    메모리의 페이지 부재율(page fault ratio)을 산출하는 페이지 부재율 산출부; 상기 산출된 메모리의 페이지 부재율에 따라 상기 기준치(M)를 동적으로 조절하는 랭킹 기준치(M) 조절부; 및 상기 휘발성 및 비휘발성 메모리에서 방출되는 페이지를 저장하는 보조기억장치를 더 포함하며,
    상기 휘발성 및 비휘발성 메모리 영역 간 페이지 이동이 허용되지 않으며,
    상기 공유 라이브러리는 libc, libm, libgui가 참조되는 주소공간, dalvik heap, dalvik bitmap 1, 2 가 참조되는 주소 공간 및 libandroid, dalvik_cache, sqlite 가 참조되는 주소공간인 것을 특징으로 하는 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템.
  2. 청구항 1에 있어서,
    상기 하이브리드 메모리부는 ,
    DRAM 및 NVRAM으로 구성되는 것을 특징으로 하는 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템.
  3. 청구항 1의 하이브리드 메모리 시스템을 이용하는 것으로,
    (a) 쓰기 참조 랭킹 설정부가 모바일 기기에서 사용되는 개별 앱에서 각 페이지의 쓰기 참조 횟수에 따른 순위가 오프라인에서 미리 설정되어 저장하는 단계;
    (b) 페이지 배치부가 상기 쓰기 참조 랭킹 설정부에 설정된 쓰기 참조 랭킹 값이 미리 설정된 임계 랭킹 기준치(M) 보다 작은지 여부를 판단하는 단계;
    (c) 작은 경우, 해당 페이지를 휘발성 메모리로 배치하고, 큰 경우, 해당 페이지를 하이브리드 메모리부의 비휘발성 메모리로 배치하는 단계; 및
    (d) 임계 랭킹 기준치(M) 조절부가 상기 임계 랭킹 기준치(M)를 페이지 부재율에 따라 조절하는 단계;를 포함하되,
    휘발성 및 비휘발성 메모리 영역 간 페이지 이동이 허용되지 않는 것을 특징으로 하는 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템의 페이지 배치방법으로서,
    상기 하이브리드 메모리 시스템 내 휘발성 메모리에는, 공유 라이브러리(shared library) 영역을 상기 휘발성 메모리의 배치 대상으로 한정하고,
    상기 공유 라이브러리는 libc, libm, libgui가 참조되는 주소공간, dalvik heap, dalvik bitmap 1, 2 가 참조되는 주소 공간 및 libandroid, dalvik_cache, sqlite 가 참조되는 주소공간인 것을 특징으로 하는 하이브리드 메모리 시스템의 페이지 배치방법.
  4. 청구항 3에 있어서,
    상기 페이지 배치방법은,
    상기 (c) 단계에서 상기 휘발성 및 상기 비휘발성 메모리로 배치될 새로운 페이지가 발생하여 상기 휘발성 및 상기 비휘발성 메모리에 있는 페이지들 중 페이지 교체 알고리즘에 의해 상기 휘발성 및 상기 비휘발성 메모리에서 방출되어야 하는 경우, 상기 휘발성 및 상기 비휘발성 메모리에서 방출되는 페이지를 보조기억장치에 저장하는 단계를 더 포함하는 것을 특징으로 하는 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템의 페이지 배치방법.
  5. 청구항 3에 있어서,
    상기 (d) 단계는,
    상기 임계 랭킹 기준치(M) 조절부가 상기 휘발성 메모리의 페이지 부재율을 산출하는 단계를 포함하는 것을 특징으로 하는 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템의 페이지 배치방법.
  6. 청구항 3에 있어서,
    상기 (d) 단계는,
    상기 임계 랭킹 기준치(M) 조절부가 상기 임계 랭킹 기준치(M)를 동적으로 조절하는 단계를 더 포함하는 것을 특징으로 하는 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템의 페이지 배치방법.
  7. 청구항 5에 있어서,
    상기 (d) 단계는,
    상기 임계 랭킹 기준치(M) 조절부가 산출된 상기 페이지 부재율에 따라 상기 기준치(M)를 동적으로 조절하는 단계를 더 포함하는 것을 특징으로 하는 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템의 페이지 배치방법.
  8. 하드웨어와 결합되어, 청구항 3의 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템의 페이지 배치방법을 실행시키기 위하여 컴퓨터가 판독 가능 한 기록 매체에 저장된 컴퓨터 프로그램.
KR1020170100899A 2017-08-09 2017-08-09 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템 및 그 시스템을 이용한 페이지 배치방법 KR101852974B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170100899A KR101852974B1 (ko) 2017-08-09 2017-08-09 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템 및 그 시스템을 이용한 페이지 배치방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170100899A KR101852974B1 (ko) 2017-08-09 2017-08-09 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템 및 그 시스템을 이용한 페이지 배치방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020160046407 Division 2016-04-15

Publications (2)

Publication Number Publication Date
KR20170119305A KR20170119305A (ko) 2017-10-26
KR101852974B1 true KR101852974B1 (ko) 2018-04-30

Family

ID=60300933

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170100899A KR101852974B1 (ko) 2017-08-09 2017-08-09 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템 및 그 시스템을 이용한 페이지 배치방법

Country Status (1)

Country Link
KR (1) KR101852974B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101897370B1 (ko) * 2016-12-22 2018-09-11 이화여자대학교 산학협력단 페이지 교체 방법 및 페이지 교체 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
이민호, 강동현, 김정훈, 엄영익; 하이브리드 메인 메모리의 성능 향상을 위한 페이지 교체 기법; 정보과학회 컴퓨팅의 실제 논문지 21(1), 2015.1, 88-93(6 pages)
한국 공개특허공보 제10-2015-0043102호 (2015.04.22)

Also Published As

Publication number Publication date
KR20170119305A (ko) 2017-10-26

Similar Documents

Publication Publication Date Title
Lagar-Cavilla et al. Software-defined far memory in warehouse-scale computers
US9348527B2 (en) Storing data in persistent hybrid memory
US8645734B2 (en) Power aware memory allocation
US9927860B2 (en) Method for reducing power consumption of memory system, and memory controller
CN110096350B (zh) 基于集群节点负载状态预测的冷热区域划分节能存储方法
US10891150B2 (en) Storage control method and storage controller for user individual service environment
Bi et al. Delay-hiding energy management mechanisms for dram
KR20140043497A (ko) 캐시 매핑 및 캐시 시스템을 제어하기 위한 방법
Park et al. Improving performance and lifetime of NAND storage systems using relaxed program sequence
KR101852974B1 (ko) 모바일 기기의 메모리 환경을 위한 하이브리드 메모리 시스템 및 그 시스템을 이용한 페이지 배치방법
CN105493024A (zh) 一种数据阈值预测方法与相关装置
KR101848418B1 (ko) 불균일 기억 장치 접근(numa) 구조에서 메모리 정책기반 쓰레드 재배치 방법
Tjioe et al. Making garbage collection wear conscious for flash SSD
KR102634813B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
Chen et al. DA-GC: A Dynamic Adjustment Garbage Collection Method Considering Wear-leveling for SSD
Hu et al. PASS: A proactive and adaptive SSD buffer scheme for data-intensive workloads
KR101913969B1 (ko) 디스크 기반 비디오 저장 서버에서 ssd 수명을 보장하는 ssd 캐시 관리 방법 및 장치
Park et al. Management of virtual memory systems under high performance PCM-based swap devices
CN108572924B (zh) 一种3d mlc闪存设备的请求处理方法
JP2014530422A (ja) バッファマッピングを制御するための方法およびバッファシステム
KR101897370B1 (ko) 페이지 교체 방법 및 페이지 교체 장치
KR101704936B1 (ko) 블록의 우선성에 기반한 ssd의 블록 교체방법 및 이를 적용하는 하이브리드 저장 시스템
Liu et al. Memos: revisiting hybrid memory management in modern operating system
KR101051504B1 (ko) 저전력과 입출력 성능 향상을 위한 n-블록 선반입 기반의 하이브리드 하드디스크 입출력 시스템
Kumar et al. WinDRAM: Weak rows as in‐DRAM cache

Legal Events

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