KR20230067536A - 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법 및 이를 위한 장치 - Google Patents

상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR20230067536A
KR20230067536A KR1020220146047A KR20220146047A KR20230067536A KR 20230067536 A KR20230067536 A KR 20230067536A KR 1020220146047 A KR1020220146047 A KR 1020220146047A KR 20220146047 A KR20220146047 A KR 20220146047A KR 20230067536 A KR20230067536 A KR 20230067536A
Authority
KR
South Korea
Prior art keywords
data
memory
type memory
heterogeneous memories
context awareness
Prior art date
Application number
KR1020220146047A
Other languages
English (en)
Inventor
이용섭
한우종
정희범
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20230067536A publication Critical patent/KR20230067536A/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일실시예에 따른 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법은, 이종 메모리들 중 제1 종류 메모리에 저장된, 이동 대상 데이터를 결정하는 단계; 상기 이종 메모리들 중, 상기 이동 대상 데이터를 이동시킬 제2 종류 메모리를 동적으로 선택하는 단계; 및 상기 이동 대상 데이터를 제1 종류 메모리로부터 제2 종류 메모리로 이동시키는 단계를 포함한다.

Description

상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법 및 이를 위한 장치 {METHOD OF MOVING DATA BETWEEN HETEROGENEOUS MEMORIES BASED ON CONTEXT AWARENESS AND APPARATUS FOR THE SAME}
본 발명은 복합 메모리 시스템(heterogeneous memory system)에 관한 것으로, 특히 서로 다른 특성을 가지는 메모리들 사이의 데이터 이동 및 활용에 관한 것이다.
캐시 메모리를 사용하는 과정을 살펴보면, 캐시 공간이 부족해져서 캐시 메모리에 추가 공간을 확보하여야 하는 경우, 소프트웨어 또는 하드웨어로 구현된 알고리즘을 통해 캐시로부터 방출(eviction)시킬 데이터를 선택한 후 선택된 데이터를 원래의 저장소(캐시로 옮겨진 데이터가 원래 있던 곳)로 방출(eviction)한다.
중앙 처리 장치의 경우 여러 단계를 가지는 캐시를 사용하며, 캐시 메모리에 추가 공간이 필요할 경우 정해진 알고리즘에 의해 방출 대상으로 선택된 데이터를 다음 단계의 캐시(원래 데이터가 있던 곳)로 이동시킨다. 이 때, 중앙 처리 장치의 최하위 캐시에서는 DRAM으로 데이터를 이동시킬 수 있다. 이 때, 저장장치(storage)의 경우 시스템 메모리를 캐시로 사용하고 캐시된 데이터는 원래 저장되어 있던 저장 장치에 기록될 수 있다.
도 1은 복합 메모리 환경에서 종래의 캐시 기술이 사용될 때 이종 메모리들 사이의 데이터 이동 예를 나타낸 도면이다.
도 1을 참조하면, 종래의 캐시 기술은 캐시 메모리에서 원래 데이터가 있던 곳으로 데이터를 방출함을 알 수 있다.
즉, 종래의 캐시 기술은 성능 특성에 따라 수직화된 계층 구조에서 상위 단계의 메모리를 하위 단계의 캐시로 사용함으로써 성능을 개선시킨다. 이러한 계층적 구조는 기존의 기술적 방법을 변경하지 않고 새로운 계층을 추가할 수 있는 장점이 있지만, 계층이 많아질수록 계층간 복사로 인한 성능 손실, 데이터 일관성 유지를 의한 처리 과장에서의 성능 손실, 그리고 빈번하게 사용되지 않는 데이터에 의한 캐시 활용률 감소로 인한 성능 손실 등의 문제가 존재한다. 또한, 수직적 계층을 줄이기 위하여 복합 메모리들을 동일 수준의 주소 공간에서 사용할 때, 각각의 성능 특성을 구분하지 못하고 복합 메모리들을 사용하게 되는 문제가 있다.
도 1에 도시된 예에서, 영구 메모리(PMem; Persistent Memory)로부터 캐시로 리드(1)된 데이터는 항상 다시 영구 메모리(PMem)로 방출(2)되고, 디램(DRAM)으로부터 캐시로 리드(a)되 ㄴ데이터는 항상 다시 디램(DRAM)으로 방출(b)된다. 따라서, 이종 메모리들 사이의 데이터 이동이 빈번해질수록 성능 손실이 증가하는 문제가 있다.
따라서, 이종 메모리들 사이의 데이터 이동을 보다 효율적으로 수행하여 이종 메모리 시스템의 성능을 향상시킬 수 있는 새로운 기술의 필요성이 절실하게 대두된다.
본 발명의 목적은 이종 메모리들 사이의 데이터가 상황에 따라 동적으로 이동하는 것이다.
또한, 본 발명의 목적은 다양한 특성의 메모리(또는 캐시)에 저장된 데이터의 쓰임과 장치의 상황 변화를 인지하여, 최적의 이동 위치를 찾아서 데이터를 이동시키는 것이다.
또한, 본 발명의 목적은 상황에 따라 캐시(또는 상위 성능의 메모리)에 저장된 데이터를 이동시킬 저장소를 동적으로 선택함으로써, 복합 메모리 시스템의 처리 성능을 높이는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 장치에 의하여 수행되는 데이터 이동 방법은, 상기 이종 메모리들 중 제1 종류 메모리에 저장된, 이동 대상 데이터를 결정하는 단계; 상기 이종 메모리들 중, 상기 이동 대상 데이터를 이동시킬 제2 종류 메모리를 동적으로 선택하는 단계; 및 상기 이동 대상 데이터를 제1 종류 메모리로부터 제2 종류 메모리로 이동시키는 단계를 포함한다.
이 때, 제2 종류 메모리는 상기 이종 메모리들의 활용도 및 상기 이종 메모리들 중 적어도 하나 이상에 저장되는 데이터의 특성 중 어느 하나 이상에 기반하여 결정되는 상황 인지 결과에 기반하여 결정될 수 있다.
이 때, 제2 종류 메모리는 상기 상황 인지 결과를 이용하여 학습된 예측 모델을 이용하여 결정될 수 있다.
이 때, 상황 인지 결과는 장치 상태 정보, 저장 공간 정보, 데이터 활성화 정보, 데이터 공유 정보, 레이턴시 정보 및 컨시스턴시 정보 중 어느 하나 이상을 고려하여 생성될 수 있다.
이 때, 이동 대상 데이터는 상기 제1 종류 메모리의 잔여 공간이 제1 문턱값보다 작고, 상기 제2 종류 메모리의 잔여 공간이 제2 문턱값보다 큰 경우에 상기 제1 종류 메모리로부터 상기 제2 종류 메모리로 이동될 수 있다.
이 때, 이동 대상 데이터는 상기 제2 종류 메모리와 상이한 제3 종류 메모리로부터 리드된 데이터일 수 있다.
또한, 본 발명의 일실시예에 따른 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 장치는 이종 메모리들; 상기 이종 메모리들 중 제1 종류 메모리에 저장된, 이동 대상 데이터를 이동시킬 제2 종류 메모리를 동적으로 선택하는 어드바이저부; 및 상기 이동 대상 데이터가 상기 제2 종류 메모리로 이동되도록 어드레싱을 수행하는 디바이스/어드레스 맵퍼를 포함한다.
이 때, 제2 종류 메모리는 상기 이종 메모리들의 활용도 및 상기 이종 메모리들 중 적어도 하나 이상에 저장되는 데이터의 특성 중 어느 하나 이상에 기반하여 결정되는 상황 인지 결과에 기반하여 결정될 수 있다.
이 때, 제2 종류 메모리는 상기 상황 인지 결과를 이용하여 학습된 예측 모델을 이용하여 결정될 수 있다.
이 때, 상황 인지 결과는 장치 상태 정보, 저장 공간 정보, 데이터 활성화 정보, 데이터 공유 정보, 레이턴시 정보 및 컨시스턴시 정보 중 어느 하나 이상을 고려하여 생성될 수 있다.
이 때, 이동 대상 데이터는 상기 제1 종류 메모리의 잔여 공간이 제1 문턱값보다 작고, 상기 제2 종류 메모리의 잔여 공간이 제2 문턱값보다 큰 경우에 상기 제1 종류 메모리로부터 상기 제2 종류 메모리로 이동될 수 있다.
이 때, 이동 대상 데이터는 상기 제2 종류 메모리와 상이한 제3 종류 메모리로부터 리드된 데이터일 수 있다.
본 발명에 따르면, 상황을 인지하여 메모리 또는 캐시에 저장된 데이터가 이동할 이동 위치가 동적으로 선택되므로 복합 메모리 사용 환경에서 상황에 맞는 메모리가 사용되므로 시스템의 성능을 높이고 데이터 처리 성능을 개선할 수 있다.
또한, 본 발명에 따르면 물리적으로 다른 특성을 갖고 있는 메모리를 효과적으로 사용하기 위한 복잡한 과정이나 사용자의 노력 없이도, 사용자는 단일 메모리 사용 환경에서와 동일한 방법으로 복합 메모리 사용환경에서 높은 성능 특성을 갖고 있는 메모리를 최대한 사용할 수 있는 편리성이 제공된다.
또한, 본 발명에 따르면 상황에 따라 정황을 인지하고 동적으로 분석하고 학습하는 일련의 인공지능적 사고를 통해 상황에 따른 추론과 학습 수행 결과를 기반으로 메모리 자원을 적절하게 활용함으로써 복합 메모리 사용 환경에서 사용자는 보다 높은 성능을 얻을 수 있다.
또한, 본 발명에 따르면 저장을 위해 선택할 수 있는 메모리의 특성과 종류에 제한이 없으며 상황에 따라 다양한 메모리를 선택하여 사용할 수 있다.
또한, 본 발명에 따르면 저장 대상은 하드웨어와 소프트웨어의 상황에 따라 동일한 내용의 데이터가 각각의 메모리에 저장되기도 하고, 이러한 과정은 사용자의 명시적인 개입 없이 자율적인 학습과정을 통해서 이루어질 수 있으므로 사용자는 새로운 메모리 장치 사용에 적극적으로 개입할 필요 없이 다양한 메모리를 활용할 수 있다.
도 1은 복합 메모리 환경에서 종래의 캐시 기술이 사용될 때 이종 메모리들 사이의 데이터 이동 예를 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 이종 메모리들 사이의 데이터 이동의 제1 예를 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 이종 메모리들 사이의 데이터 이동의 제2 예를 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 이종 메모리들 사이의 데이터 이동의 제3 예를 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따른 이종 메모리들 사이의 데이터 이동의 제4 예를 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 장치를 나타낸 블록도이다.
도 7은 도 6에 도시된 장치를 이용한 데이터 이동의 일 예를 나타낸 도면이다.
도 8은 도 6에 도시된 문턱 모니터의 동작의 일 예를 나타낸 동작 흐름도이다.
도 9는 본 발명의 일실시예에 따른 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법을 나타낸 동작 흐름도이다.
도 10은 본 발명의 일실시예에 따른 컴퓨터 시스템 구성을 나타낸 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
비록 "제1" 또는 "제2" 등이 다양한 구성요소를 서술하기 위해서 사용되나, 이러한 구성요소는 상기와 같은 용어에 의해 제한되지 않는다. 상기와 같은 용어는 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용될 수 있다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.
본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소 또는 단계가 하나 이상의 다른 구성요소 또는 단계의 존재 또는 추가를 배제하지 않는다는 의미를 내포한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 해석될 수 있다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
디램(DRAM)과 같은 방식으로 사용 가능하고, 영구적으로 데이터를 저장할 수 있는 메모리가 이미 상용화 되었다. 이로 인해 DRAM과 동일한 인터페이스로 휘발성 메모리와 비휘발성 메모리를 동시에 설치하여 사용하는 것이 가능해졌다.
그러나, 성능 특성이 서로 다른 이종 메모리들을 복합적으로 사용하는 환경에서 종래의 캐시 사용 기법으로는 안정적인(stable) 성능을 기대하기 어렵다.
즉, 새로운 환경에 맞는 적절한 사용이 이루어지지 않을 경우 시스템은 불안정한 성능을 보이게 된다.
따라서, 보다 다양한 성능 특성을 갖는 메모리를 상황에 맞게 선택함으로써 복합 메모리 사용 환경에서 캐시/복합 메모리 사용 효율을 높이고 처리 성능을 개선할 수 있다.
도 2는 본 발명의 일실시예에 따른 이종 메모리들 사이의 데이터 이동의 제1 예를 나타낸 도면이다.
도 2를 참조하면, 디램(DRAM)에 있던 데이터가 캐시 메모리를 거쳐서 영구 메모리(PMem)로 이동하는 것을 알 수 있다.
즉, 디램(DRAM)에 있던 데이터가 캐시 메모리로 리드(a)된 후, 캐시 메모리에서 DCPMM(Data Center Persistent Memory Module)(PMem)로 방출(b)된다.
도 3는 본 발명의 일실시예에 따른 이종 메모리들 사이의 데이터 이동의 제2 예를 나타낸 도면이다.
도 3을 참조하면, 영구 메모리(PMem)에 있던 데이터가 캐시 메모리를 거쳐서 디램(DRAM)으로 이동하는 것을 알 수 있다.
즉, DCPMM(Data Center Persistent Memory Module)(PMem)에 있던 데이터가 캐시 메모리로 리드(1)된 후, 캐시 메모리에서 디램(DRAM)으로 방출(2)된다.
도 4는 본 발명의 일실시예에 따른 이종 메모리들 사이의 데이터 이동의 제3 예를 나타낸 도면이다.
도 4를 참조하면, 영구 메모리(PMem)에 있던 데이터가 캐시 메모리를 거쳐서 다시 영구 메모리(PMem)에 저장되었다가, 영구 메모리(PMem)에서 디램(DRAM)으로 이동하는 것을 알 수 있다.
즉, DCPMM(Data Center Persistent Memory Module)(PMem)에 있던 데이터가 캐시 메모리로 리드(1)된 후, 캐시 메모리에서 다시 DCPMM으로 방출(2)되고, DCPMM에 저장된 데이터가 디램(DRAM)으로 이동(3)한다.
도 5는 본 발명의 일실시예에 따른 이종 메모리들 사이의 데이터 이동의 제4 예를 나타낸 도면이다.
도 5를 참조하면, 계층적 주소 공간을 사용하는 복합 메모리들 사이의 데이터가 캐시 메모리를 거쳐서 서로 다른 종류의 메모리로 이동하는 것을 알 수 있다.
즉, 디램(DRAM)에 있던 데이터가 캐시 메모리로 리드(a)되고, 다시 캐시 메모리로부터 방출될 때 디램이 아닌 영구 메모리(PMem)로 방출(b)된다.
도 6은 본 발명의 일실시예에 따른 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 장치를 나타낸 블록도이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 장치(600)는 이종 메모리들(611, 612, 613, 614), 어드바이저부(601), 디바이스/어드레스 맵퍼(602), 문턱 모니터(603), 상황 모니터(604), 러너(605) 및 매니패스트부(606)를 포함한다.
이종 메모리들(611, 612, 613, 614)은 다양한 특성의 복합 메모리들일 수 있다.
예를 들어, 이종 메모리(611)는 캐시 장치일 수 있다. 이 때, 캐시 장치는 레지스터 또는 메모리 등일 수 있다.
예를 들어, 이종 메모리들(612, 613, 614)은 메모리 장치 또는 스토리지 장치 등일 수 있다. 예를 들어, 이종 메모리(612)는 디램(DRAM)일 수 있다. 예를 들어, 이종 메모리(613)는 영구 메모리(PMem)일 수 있다.
도 6에 도시된 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 장치(600)는 캐시와 저장소의 활용 정도, 저장되는 데이터의 특성 등을 관찰하고 분석하고 학습하는 과정을 통해 최적의 성능을 얻을 수 있도록 데이터가 보관될 저장소를 동적으로 선택할 수 있다.
어드바이저부(601)는 어떤 데이터를 어디로 이동시켜야 할지를 결정하고 다른 구성요소들로 알려주며, 데이터 이동의 실행을 지시할 수 있다.
디바이스/어드레스 맵퍼(602)는 장치들 간의 주소를 연결시켜준다. 즉, 디바이스/어드레스 맵퍼(602)는 데이터 이동에 필요한 어드레싱을 수행한다.
문턱 모니터(603)는 이종 메모리들 각각의 사용 가능한 부분이 얼마나 존재하는지를 모니터링한다. 데이터를 원래 있던 곳이 아닌 다른 곳으로 이동시키기 위해서는 사용 가능한 공간이 필요하고, 문턱 모니터(603)는 데이터 이동이 가능하도록 모니터링하는 역할을 수행한다.
상황 모니터(604)는 메모리 시스템의 여러 가지 상태를 모니터링한다. 이 때, 상황 모니터는 디바이스 상태, 공간 체크 상태, 데이터 활성화 상태, 데이터 공유 상태, 레이턴시 상태 및 컨시스턴시 상태 중 어느 하나 이상을 모니터링할 수 있다.
러너(605)는 상황 모니터(604)로부터 받은 정보를 기반으로 메모리 시스템이 최적의 성능을 얻을 수 있도록 학습 및 예측을 수행하고, 필요한 정보를 생성한다.
매니패스트부(606)는 이동이 필요한 데이터를 목록화하여 저장한다.
도 7은 도 6에 도시된 장치를 이용한 데이터 이동의 일 예를 나타낸 도면이다.
도 7을 참조하면, 이종 메모리(612)에 저장된 데이터가 캐시(611)로 리드(S701)되고, 리드 이후 변형된 캐시의 데이터(dirty data)가 이종 메모리(612)의 원래의 위치에 덮어쓰기(S702)하는 것을 알 수 있다.
이 때, 변형된 캐시의 데이터(dirty data)는 원래의 장치가 아닌 이종 메모리(613)에 저장(S703)될 수도 있고, 이종 메모리(614)에 저장(S704)될 수도 있다.
도 7에 도시된 이종 메모리들(611, 612, 613, 614)은 도 6에 도시된 이종 메모리들(611, 612, 613, 614)을 나타낸다.
도 8은 도 6에 도시된 문턱 모니터의 동작의 일 예를 나타낸 동작 흐름도이다.
도 8을 참조하면, 문터 모니터는 데이터가 현재 저장된 제1 종류 메모리(This memory)의 잔여 공간이 제1 문턱값(threshold(free))보다 작고, 제1 종류 메모리와 상이한 제2 종류 메모리(Next memory)의 잔여 공간이 제2 문턱값(threshold(in use))보다 큰지 여부를 판단한다(S810).
단계(S810)의 판단 결과, 제1 종류 메모리(This memory)의 잔여 공간이 제1 문턱값(threshold(free))보다 작고, 제1 종류 메모리와 상이한 제2 종류 메모리(Next memory)의 잔여 공간이 제2 문턱값(threshold(in use))보다 크면, 문턱 모니터는 어드바이저부로 이벤트 트리거(event trigger)를 송신하여 데이터 이동에 필요한 동작이 수행될 수 있도록 한다. 이 때, 데이터 이동에 필요한 동작은 룸 생성기(room maker)를 깨우는 것일 수 있다.
단계(S810)의 판단 결과, 제1 종류 메모리(This memory)의 잔여 공간이 제1 문턱값(threshold(free))보다 작고, 제1 종류 메모리와 상이한 제2 종류 메모리(Next memory)의 잔여 공간이 제2 문턱값(threshold(in use))보다 크지 않으면, 문턱 모니터는 다시 단계(S810)로 돌아가서 모니터링을 계속한다.
도 9는 본 발명의 일실시예에 따른 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법을 나타낸 동작 흐름도이다.
도 9를 참조하면, 본 발명의 일실시예에 따른 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법은, 이종 메모리들 중 제1 종류 메모리에 저장된, 이동 대상 데이터를 결정한다(S910).
또한, 본 발명의 일실시예에 따른 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법은, 상기 이종 메모리들 중, 상기 이동 대상 데이터를 이동시킬 제2 종류 메모리를 동적으로 선택한다(S920).
또한, 본 발명의 일실시예에 따른 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법은, 상기 이동 대상 데이터를 제1 종류 메모리로부터 제2 종류 메모리로 이동시킨다(S930).
이 때, 도 9에 도시된 각 단계는 도 6에 도시된 장치에서 수행될 수 있다.
이 때, 제2 종류 메모리는 상기 이종 메모리들의 활용도 및 상기 이종 메모리들 중 적어도 하나 이상에 저장되는 데이터의 특성 중 어느 하나 이상에 기반하여 결정되는 상황 인지 결과에 기반하여 결정될 수 있다.
이 때, 제2 종류 메모리는 상기 상황 인지 결과를 이용하여 학습된 예측 모델을 이용하여 결정될 수 있다.
이 때, 상황 인지 결과는 장치 상태 정보, 저장 공간 정보, 데이터 활성화 정보, 데이터 공유 정보, 레이턴시 정보 및 컨시스턴시 정보 중 어느 하나 이상을 고려하여 생성될 수 있다.
이 때, 이동 대상 데이터는 상기 제1 종류 메모리의 잔여 공간이 제1 문턱값보다 작고, 상기 제2 종류 메모리의 잔여 공간이 제2 문턱값보다 큰 경우에 상기 제1 종류 메모리로부터 상기 제2 종류 메모리로 이동될 수 있다.
이 때, 이동 대상 데이터는 상기 제2 종류 메모리와 상이한 제3 종류 메모리로부터 리드된 데이터일 수 있다.
도 10은 본 발명의 일실시예에 따른 컴퓨터 시스템 구성을 나타낸 블록도이다.
실시예에 따른 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 장치는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1700)에서 구현될 수 있다.
컴퓨터 시스템(1700)은 버스(1720)를 통하여 서로 통신하는 하나 이상의 프로세서(1710), 메모리(1730), 사용자 인터페이스 입력 장치(1740), 사용자 인터페이스 출력 장치(1750) 및 스토리지(1760)를 포함할 수 있다. 또한, 컴퓨터 시스템(1700)은 네트워크(1780)에 연결되는 네트워크 인터페이스(1770)를 더 포함할 수 있다. 프로세서(1710)는 중앙 처리 장치 또는 메모리(1730)나 스토리지(1760)에 저장된 프로그램 또는 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1730) 및 스토리지(1760)는 휘발성 매체, 비휘발성 매체, 분리형 매체, 비분리형 매체, 통신 매체, 또는 정보 전달 매체 중에서 적어도 하나 이상을 포함하는 저장 매체일 수 있다. 예를 들어, 메모리(1730)는 ROM(1731)이나 RAM(1732)을 포함할 수 있다.
이 때, 메모리(1730)에는 적어도 하나의 프로그램이 기록될 수 있다.
이 때, 프로세서(1710)는 상기 프로그램을 실행할 수 있다. 이 때, 상기 프로그램은 상기 이종 메모리들 중 제1 종류 메모리에 저장된, 이동 대상 데이터를 결정하고, 상기 이종 메모리들 중, 상기 이동 대상 데이터를 이동시킬 제2 종류 메모리를 동적으로 선택하고, 상기 이동 대상 데이터를 제1 종류 메모리로부터 제2 종류 메모리로 이동시킬수 있다.
이 때, 제2 종류 메모리는 상기 이종 메모리들의 활용도 및 상기 이종 메모리들 중 적어도 하나 이상에 저장되는 데이터의 특성 중 어느 하나 이상에 기반하여 결정되는 상황 인지 결과에 기반하여 결정될 수 있다.
이 때, 제2 종류 메모리는 상기 상황 인지 결과를 이용하여 학습된 예측 모델을 이용하여 결정될 수 있다.
이 때, 상황 인지 결과는 장치 상태 정보, 저장 공간 정보, 데이터 활성화 정보, 데이터 공유 정보, 레이턴시 정보 및 컨시스턴시 정보 중 어느 하나 이상을 고려하여 생성될 수 있다.
이 때, 이동 대상 데이터는 상기 제1 종류 메모리의 잔여 공간이 제1 문턱값보다 작고, 상기 제2 종류 메모리의 잔여 공간이 제2 문턱값보다 큰 경우에 상기 제1 종류 메모리로부터 상기 제2 종류 메모리로 이동될 수 있다.
이 때, 이동 대상 데이터는 상기 제2 종류 메모리와 상이한 제3 종류 메모리로부터 리드된 데이터일 수 있다.
본 발명은 다양한 특성의 메모리들(heterogeneous memory)를 동시에 사용하는 환경에서 메모리에 저장된 데이터가 상황에 따라 동적으로 다른 특성의 메모리로 이동하는 시스템의 구조와 처리 기법에 관한 것이다. 즉, 본 발명은 다양한 특성의 메모리(또는 캐시)에 저장된 데이터의 쓰임과 장치의 상황 변화를 인지하여, 분석하고 학습하는 과정을 수행하여 현재 저장되어 있는 데이터를 이동 보관할 메모리 장치를 동적으로 선택하고 사용할 수 있는 시스템 장치의 구조와 운용에 관한 것이다.
이상에서와 같이 본 발명에 따른 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법 및 장치는 스케쥴링, 메모리 관리 등을 포괄하는 운영체제와 중앙처리장치, 파일저장장치, 클라우드 환경과 같이 다중 노드로 운영되는 시스템, NUMA(Non-Uniform Memory Access) 구조의 시스템, 분산 시스템, 수퍼 컴퓨터, 양자 컴퓨터 시스템 플랫폼 등의 운용 환경에 적용 가능할 수 있다.
이상에서와 같이 본 발명에 따른 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법 및 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
1700: 컴퓨터 시스템 1710: 프로세서
1720: 버스 1730: 메모리
1731: 롬 1732: 램
1740: 사용자 인터페이스 입력 장치
1750: 사용자 인터페이스 출력 장치
1760: 스토리지 1770: 네트워크 인터페이스
1780: 네트워크

Claims (12)

  1. 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 장치에 의하여 수행되는 데이터 이동 방법에 있어서,
    상기 이종 메모리들 중 제1 종류 메모리에 저장된, 이동 대상 데이터를 결정하는 단계;
    상기 이종 메모리들 중, 상기 이동 대상 데이터를 이동시킬 제2 종류 메모리를 동적으로 선택하는 단계; 및
    상기 이동 대상 데이터를 제1 종류 메모리로부터 제2 종류 메모리로 이동시키는 단계
    를 포함하는 것을 특징으로 하는 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법.
  2. 청구항 1에 있어서,
    상기 제2 종류 메모리는
    상기 이종 메모리들의 활용도 및 상기 이종 메모리들 중 적어도 하나 이상에 저장되는 데이터의 특성 중 어느 하나 이상에 기반하여 결정되는 상황 인지 결과에 기반하여 결정되는 것을 특징으로 하는 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법.
  3. 청구항 2에 있어서,
    상기 제2 종류 메모리는
    상기 상황 인지 결과를 이용하여 학습된 예측 모델을 이용하여 결정되는 것을 특징으로 하는 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법.
  4. 청구항 2에 있어서,
    상기 상황 인지 결과는
    장치 상태 정보, 저장 공간 정보, 데이터 활성화 정보, 데이터 공유 정보, 레이턴시 정보 및 컨시스턴시 정보 중 어느 하나 이상을 고려하여 생성되는 것을 특징으로 하는 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법.
  5. 청구항 2에 있어서,
    상기 이동 대상 데이터는
    상기 제1 종류 메모리의 잔여 공간이 제1 문턱값보다 작고, 상기 제2 종류 메모리의 잔여 공간이 제2 문턱값보다 큰 경우에 상기 제1 종류 메모리로부터 상기 제2 종류 메모리로 이동되는 것을 특징으로 하는 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법.
  6. 청구항 2에 있어서,
    상기 이동 대상 데이터는
    상기 제2 종류 메모리와 상이한 제3 종류 메모리로부터 리드된 데이터인 것을 특징으로 하는 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법.
  7. 이종 메모리들;
    상기 이종 메모리들 중 제1 종류 메모리에 저장된, 이동 대상 데이터를 이동시킬 제2 종류 메모리를 동적으로 선택하는 어드바이저부; 및
    상기 이동 대상 데이터가 상기 제2 종류 메모리로 이동되도록 어드레싱을 수행하는 디바이스/어드레스 맵퍼
    를 포함하는 것을 특징으로 하는 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 장치.
  8. 청구항 7에 있어서,
    상기 제2 종류 메모리는
    상기 이종 메모리들의 활용도 및 상기 이종 메모리들 중 적어도 하나 이상에 저장되는 데이터의 특성 중 어느 하나 이상에 기반하여 결정되는 상황 인지 결과에 기반하여 결정되는 것을 특징으로 하는 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 장치.
  9. 청구항 8에 있어서,
    상기 제2 종류 메모리는
    상기 상황 인지 결과를 이용하여 학습된 예측 모델을 이용하여 결정되는 것을 특징으로 하는 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 장치.
  10. 청구항 8에 있어서,
    상기 상황 인지 결과는
    장치 상태 정보, 저장 공간 정보, 데이터 활성화 정보, 데이터 공유 정보, 레이턴시 정보 및 컨시스턴시 정보 중 어느 하나 이상을 고려하여 생성되는 것을 특징으로 하는 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 장치.
  11. 청구항 8에 있어서,
    상기 이동 대상 데이터는
    상기 제1 종류 메모리의 잔여 공간이 제1 문턱값보다 작고, 상기 제2 종류 메모리의 잔여 공간이 제2 문턱값보다 큰 경우에 상기 제1 종류 메모리로부터 상기 제2 종류 메모리로 이동되는 것을 특징으로 하는 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 장치.
  12. 청구항 8에 있어서,
    상기 이동 대상 데이터는
    상기 제2 종류 메모리와 상이한 제3 종류 메모리로부터 리드된 데이터인 것을 특징으로 하는 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 장치.
KR1020220146047A 2021-11-08 2022-11-04 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법 및 이를 위한 장치 KR20230067536A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210152260 2021-11-08
KR1020210152260 2021-11-08

Publications (1)

Publication Number Publication Date
KR20230067536A true KR20230067536A (ko) 2023-05-16

Family

ID=86545888

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220146047A KR20230067536A (ko) 2021-11-08 2022-11-04 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR20230067536A (ko)

Similar Documents

Publication Publication Date Title
US20210011888A1 (en) Intelligent layout of composite data structures in tiered storage with persistent memory
US10963394B2 (en) System and method for optimizing performance of a solid-state drive using a deep neural network
US11086792B2 (en) Cache replacing method and apparatus, heterogeneous multi-core system and cache managing method
JP5651238B2 (ja) ハイブリッド・メモリ・サーバにおけるデータ・アクセス管理
KR102093523B1 (ko) 순차적인 순서의 스왑 파일을 이용한 작업 세트 스와핑 기법
US9223712B2 (en) Data cache method, device, and system in a multi-node system
US9058212B2 (en) Combining memory pages having identical content
US20160098295A1 (en) Increased cache performance with multi-level queues of complete tracks
US9201806B2 (en) Anticipatorily loading a page of memory
CN107329704B (zh) 一种缓存镜像方法及控制器
KR20140034246A (ko) 새로운 애플리케이션을 위한 메모리 관리 모델 및 인터페이스
KR20140033448A (ko) 수정되지 않은 애플리케이션을 위한 메모리 관리 모델 및 인터페이스
US11023180B2 (en) Method, equipment and system for managing the file system
US8019939B2 (en) Detecting data mining processes to increase caching efficiency
US9934147B1 (en) Content-aware storage tiering techniques within a job scheduling system
US8274521B2 (en) System available cache color map
US10545909B2 (en) Computing system management using shared memory
CN116450053B (zh) 数据存储方法、装置、系统、电子设备和存储介质
US11561834B2 (en) Methods and systems for adaptive memory-resource management
KR20230067536A (ko) 상황 인지에 기반한 이종 메모리들 사이의 데이터 이동 방법 및 이를 위한 장치
JP6194875B2 (ja) キャッシュ装置、キャッシュシステム、キャッシュ方法、及びキャッシュプログラム
CN109669882B (zh) 带宽感知的动态高速缓存替换方法、装置、系统和介质
US10990543B1 (en) Apparatus and method for arbitrating access to a set of resources
Kishani et al. Padsa: Priority-aware block data storage architecture for edge cloud serving autonomous vehicles
US11900164B2 (en) Intelligent query planning for metric gateway