KR20130024212A - 메모리 시스템 및 그 관리 방법 - Google Patents

메모리 시스템 및 그 관리 방법 Download PDF

Info

Publication number
KR20130024212A
KR20130024212A KR1020110087509A KR20110087509A KR20130024212A KR 20130024212 A KR20130024212 A KR 20130024212A KR 1020110087509 A KR1020110087509 A KR 1020110087509A KR 20110087509 A KR20110087509 A KR 20110087509A KR 20130024212 A KR20130024212 A KR 20130024212A
Authority
KR
South Korea
Prior art keywords
memory
sub
data
layer
sub memory
Prior art date
Application number
KR1020110087509A
Other languages
English (en)
Other versions
KR101298171B1 (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 KR1020110087509A priority Critical patent/KR101298171B1/ko
Priority to PCT/KR2012/003277 priority patent/WO2013032101A1/ko
Publication of KR20130024212A publication Critical patent/KR20130024212A/ko
Application granted granted Critical
Publication of KR101298171B1 publication Critical patent/KR101298171B1/ko
Priority to US14/192,189 priority patent/US20140237190A1/en

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
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

메모리 시스템은 복수의 계층의 메모리를 포함하는 하는 것으로, 상위 메모리 계층, 저장 장치 계층, 상기 상위 메모리 계층 및 저장 장치 계층 사이에 배치되고, 비휘발성 메모리로 이루어진 제 1 서브 메모리와 휘발성 메모리로 이루어진 제 2 서브 메모리를 병렬구조로 포함하는 중간 메모리 계층 및 상기 상위 메모리 계층, 중간 메모리 계층 및 저장 장치 계층의 동작을 제어하는 메모리 관리 유닛을 포함하되, 상기 중간 메모리 계층 및 저장 장치 계층은 상기 상위 메모리 계층에 의하여 참조되는 것이고, 상기 메모리 관리 유닛은 상기 메모리 시스템을 포함하는 사용자 단말의 일반 모드 동작시에 상기 제 2 서브 메모리에 저장된 데이터들 중 소정의 조건에 해당하는 데이터를 상기 제 1 서브 메모리에 미리 저장시킨다.

Description

메모리 시스템 및 그 관리 방법{MEMORY SYSTEM AND MANAGEMENT METHOD THEROF}
본 발명은 새로운 구조의 메모리 시스템 및 그 관리 방법에 관한 것이다.
최근 다양한 종류의 전자 장치가 이용되고 있으며, 특히 통신 기술과 컴퓨터 제조 기술의 발달로 인하여, 데스크탑(desktop), 노트북(notebook) 등의 컴퓨터뿐만 아니라 스마트폰(smart phone), PDA(personal digital assistant), 태블릿 PC 등 휴대용 단말 등도 널리 이용되고 있다.
이러한 각종 사용자 단말 장치의 경우 컴퓨팅 성능을 향상시키면서도 저전력 소비 특성이나 발열 방지 특성을 요구하는 경우가 많다.
본원 발명에서는 휴대용 단말에 포함된 메모리 시스템의 구조 개선을 통해 사용자 단말에 요구되는 저전력 소비 특성이나 발열 방지 특성을 만족시키고자 한다.
도 1은 종래의 기술에 따른 메모리 시스템에 적용되는 메모리 계층 구조를 도시한 도면이다.
종래의 기술에 따른 메모리 시스템(1)은 L1/L2 캐시(cache) 메모리 계층(10), 메인 메모리 계층(20) 및 저장 장치(30)를 포함하고 중앙 처리 장치(central processing unit, CPU)로 데이터를 제공한다.
L1/L2 캐시(cache) 메모리 계층(10) 및 메인 메모리 계층(20)은 SRAM, DRAM 등의 휘발성 메모리로 구성되며, 저장 장치(30)는 플래시 메모리(flash memory) 또는 하드 디스크 드라이브(hard disk drive, HDD) 등의 비휘발성 메모리로 구성된다.
일반적으로 메모리의 계층 구조에서 상위 계층의 메모리일수록 읽기/쓰기 속도가 빠른 고가의 메모리가 사용되며, 하위 계층의 메모리일수록 읽기/쓰기 속도가 상대적으로 느린 저가의 메모리가 사용된다. 도 1에 도시된 실시예에서는 L1/L2 상위 메모리 계층(10)이 가장 상위의 메모리 계층이 될 것이며, 저장장치(30)가 가장 하위의 메모리 계층이 될 것이다.
도 1에 도시된 종래의 기술에서 CPU(40)는 프로그램 등의 실행을 위하여 저장 장치(30)로부터 데이터를 획득하며, 획득한 데이터를 L1/L2 캐시(cache) 메모리 계층(10) 및 메인 메모리 계층(20)에 저장한다.
CPU(40)는 데이터의 읽기(read) 또는 쓰기(write) 동작을 수행하기 위하여 필요한 데이터를 L1/L2 캐시(cache) 메모리 계층(10)에 요구, 즉 메모리 참조를 요구하며, 요구된 데이터가 L1/L2 캐시(cache) 메모리 계층(10)에 존재하지 않는 경우 참조 실패(cache miss)가 발생할 수 있다.
참조 실패(cache miss)가 발생하는 경우, 참조 실패가 발생한 데이터에 대하여 메인 메모리 계층(20)에 다시 읽기 참조 또는 쓰기 참조의 처리가 요청된다.
이처럼 종래의 기술에 따르면, 상위 메모리 계층, 예를 들어 L1/L2 캐시(cache) 메모리 계층에서 참조 실패가 발생한 경우, 상위 메모리 계층보다 하위 계층인 중간 메모리 계층에 대하여 읽기 참조 또는 쓰기 참조가 수행되며, 상위 메모리 계층 및 중간 메모리 계층이 모두 휘발성 메모리로 구성된다.
휘발성 메모리와 비휘발성 메모리는 집적도(density), 읽기 및 쓰기 속도, 전력 소모 등에서 서로 다른 특성을 갖는데, 일반적으로 휘발성 메모리는 비휘발성 메모리보다 읽기 및 쓰기 속도가 빠르며, 비휘발성 메모리는 휘발성 메모리보다 집적도가 높다.
최근 비휘발성 메모리에 대한 개발이 활발히 진행됨에 따라 비휘발성 메모리의 접근 속도가 점점 개선되고 있다. 예를 들어, MRAM(Magnetic Random Access Memory), PRAM(Phase-change memory), FRAM(Ferroelectric Random Access Memory) 등 최근의 비휘발성 메모리는 집적도, 전력 소모등에서 SRAM 이나 DRAM에 비하여 최대 4~16 배 정도 우수한 특성을 보이고 있으며, 읽기 성능에서는 기존의 휘발성 메모리와 유사한 성능을 보이고 있다.
다만, 비휘발성 메모리는 휘발성 메모리에 비하여 쓰기 속도 측면에서 단점을 가지고 있으나, 비휘발성 메모리가 가지는 집적도, 정적 전력소모의 장점을 최대한 활용한 새로운 메모리 시스템을 제안하여, 사용자 단말의 전력소비 특성 또는 발열 특성을 개선하고자 한다.
한편, 이와 관련하여 한국 공개 특허 제 2011-0037092호(발명의 명칭: 램 및 플래시 인터페이스를 가지는 하이브리드 메모리 구조 및 데이터 저장 방법)는 RAM 메모리와 플래시 메모리에 대한 제어 인터페이스를 갖는 하이브리드 메모리 구조를 개시하고 있다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 본 발명의 일부 실시예는 휘발성 메모리와 비휘발성 메모리를 메인 메모리로서 포함하는 새로운 구조의 메모리 시스템과 그 관리 방법을 제공하는 것을 목적으로 한다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 메모리 시스템은 복수의 계층의 메모리를 포함하는 것으로, 상위 메모리 계층, 저장 장치 계층, 상기 상위 메모리 계층 및 저장 장치 계층 사이에 배치되고, 비휘발성 메모리로 이루어진 제 1 서브 메모리와 휘발성 메모리로 이루어진 제 2 서브 메모리를 병렬구조로 포함하는 중간 메모리 계층 및 상기 상위 메모리 계층, 중간 메모리 계층 및 저장 장치 계층의 동작을 제어하는 메모리 관리 유닛을 포함하되, 상기 중간 메모리 계층 및 저장 장치 계층은 상기 상위 메모리 계층에 의하여 참조되는 것이고, 상기 메모리 관리 유닛은 상기 메모리 시스템을 포함하는 사용자 단말의 일반 모드 동작시에 상기 제 2 서브 메모리에 저장된 데이터들 중 소정의 조건에 해당하는 데이터를 상기 제 1 서브 메모리에 미리 저장시킨다.
또한, 본 발명의 제 2 측면에 따른 메모리 시스템은 복수의 계층의 메모리를 포함하는 것으로, 상위 메모리 계층, 저장 장치 계층, 상기 상위 메모리 계층 및 저장 장치 계층 사이에 배치되고, 비휘발성 메모리로 이루어진 제 1 서브 메모리와 휘발성 메모리로 이루어진 제 2 서브 메모리를 병렬구조로 포함하는 중간 메모리 계층 및 상기 상위 메모리 계층에 저장된 데이터 중 가장 최근에 참조가 발생한 이후 경과한 시간을 기준으로 제 2 서브 메모리에 저장된 데이터를 제 1 서브 메모리로 이송시키는 메모리 관리 유닛을 포함하되, 상기 메모리 관리 유닛은 상기 가장 최근에 참조가 발생한 이후 경과한 시간이 임계값을 초과하는 경우 해당 데이터를 제 1 서브 메모리에 이송시킨다.
또한, 본 발명의 제 3 측면에 따른 메모리 관리 방법이 사용하는 메모리 시스템은 상위 메모리 계층, 중간 메모리 계층 및 저장 장치 계층을 포함하고, 상기 중간 메모리 계층은 상기 상위 메모리 계층 및 저장 장치 계층 사이에 배치되고, 비휘발성 메모리로 이루어진 제 1 서브 메모리와 휘발성 메모리로 이루어진 제 2 서브 메모리를 병렬구조로 포함하는 것으로서, (a) 상기 제 2 서브 메모리에 저장된 데이터들 중 미리 설정된 조건에 해당하는 데이터를 상기 제 1 서브 메모리에 저장시키는 단계, (b) 상기 메모리 시스템을 포함하는 사용자 단말의 동작 상태에 따라 상기 제 2 서브 메모리에 저장된 잔여 데이터를 상기 제 1 서브 메모리에 저장시키는 단계 및 (c) 상기 잔여 데이터의 저장이 완료되면, 상기 제 2 서브 메모리의 구동을 중지시키는 단계를 포함한다.
전술한 본 발명의 과제 해결 수단에 의하면, 휘발성 메모리와 비휘발성 메모리를 병렬 구조로서 포함하는 새로운 형태의 메모리 시스템에 의하여, 휘발성 메모리에 저장된 데이터 중 일부를 비휘발성 메모리에 미리 저장하고, 사용자 단말의 동작 상태에 따라 휘발성 메모리의 구동을 선택적으로 중지시킬 수 있다. 따라서, 휘발성 메모리의 리프레쉬 동작에 따른 전력 소모를 최소화할 수 있고, 사용자 단말의 발열 문제도 해소할 수 있다.
도 1은 종래의 기술에 따른 메모리 시스템에 적용되는 메모리 계층 구조를 도시한 도면이다.
도 2는 본원 발명의 일 실시예에 따른 메모리 시스템을 도시한 도면이다.
도 3은 본원 발명의 일 실시예에 따른 메모리 관리 유닛의 상세 구성을 도시한 도면이다.
도 4a 및 도 4b는 본원 발명의 일 실시예에 따른 메모리 관리 유닛의 데이터 이송 방법을 설명하기 위한 도면이다.
도 5는 본원 발명의 일 실시예에 따른 메모리 관리 유닛의 데이터 이송 방법을 설명하기 위한 도면이다.
도 6은 본원 발명의 일 실시예에 따른 메모리 관리 방법을 도시한 순서도이다.
도 7은 본원 발명의 다른 실시예에 따른 메모리 시스템을 도시한 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 2는 본원 발명의 일 실시예에 따른 메모리 시스템을 도시한 도면이다.
메모리 시스템(100)은 상위 메모리 계층(110), 중간 메모리 계층(120), 저장 장치 계층(130) 및 메모리 관리 유닛(140)을 포함하며, CPU(200)와 접속된다.
CPU(Central Processing Unit)(200)는 특정 프로그램의 실행 등을 위하여 최하위 계층인 저장 장치 계층(130)에 저장된 데이터를 중간 계층에 있는 중간 메모리 계층(120)을 통하여 참조한다. 이러한 과정을 통하여 CPU(200)에 의해서 참조된 데이터는 상위 메모리 계층(110) 및 중간 메모리 계층(120)에 저장된다.
CPU(200)는 이후 해당 데이터를 다시 참조할 경우 읽기/쓰기 속도가 빠른 상위 메모리 계층(110)에 저장된 데이터를 이용하여 읽기 또는 쓰기 동작을 신속히 처리할 수 있다.
상위 메모리 계층(110)은 레지스터, L1 캐시 또는 L2 캐시 등을 포함할 수 있으며, SRAM 또는 DRAM 등의 휘발성 메모리로 구성될 수 있다. 상위 메모리 계층(110)은 CPU(200)로부터 읽기(read) 또는 쓰기(write)를 위한 특정 데이터의 요청을 수신하고, 요청된 데이터를 검색하여 요청된 데이터가 상위 메모리 계층(110)에 저장되어 있는지 검색한다.
메모리 검색 결과, 요청된 읽기 동작 또는 쓰기 동작을 위한 데이터가 상위 메모리 계층(110)의 메모리에 존재하지 않는 경우, 즉 참조 실패(access miss)가 발생한 경우, 상위 메모리 계층(110)은 중간 메모리 계층(120)에게 참조 실패가 발생한 데이터를 요청한다. 즉, 상위 메모리 계층(110)은 참조 실패가 발생한 경우, 중간 메모리 계층(120)의 제 1 서브 메모리(122) 및 제 2 서브 메모리(124)로 참조 실패가 발생한 데이터를 요청한다.
중간 메모리 계층(120)은 상위 메모리 계층(110)보다 읽기/쓰기 속도 성능이 낮은 메모리 계층이다. 하지만 상위 메모리 계층(110)보다 높은 집적도를 가질 수 있다.
상위 메모리 계층(110)은 중간 메모리 계층(120)에 포함된 제 1 서브 메모리(122) 또는 제 2 서브 메모리(124)에 요청한 데이터가 존재하는 경우, 해당 데이터를 제 1 서브 메모리(122) 또는 제 2 서브 메모리(124)로부터 획득할 수 있다.
중간 메모리 계층(120)은 제 1 서브 메모리(122) 및 제 2 서브 메모리(124)를 포함한다. 제 1 서브 메모리(122) 및 제 2 서브 메모리(124)는 병렬 구조로 중간 메모리 계층(120)에 포함될 수 있다.
본 발명의 일 실시예에서는 제 1 서브 메모리(122)는 하나 이상의 비휘발성 메모리를 포함할 수 있다. 바람직하게, MRAM, PRAM 및 FRAM 중 하나 이상의 메모리를 제 1 서브 메모리(122)로서 사용할 수 있다. 또한, 서로 상이한 종류의 비휘발성 메모리를 복수 개 포함할 수 있다. 이때, 서로 상이한 종류의 비휘발성 메모리를 복수 개 포함하는 경우에는 메모리 접근 속도가 가장 빠른 비 휘발성 메모리를 상위 메모리 계층(110)측에 위치하도록 물리적 위치를 결정할 수 있다. 즉, 제 1 서브 메모리(122) 내에서도 메모리 접근 속도에 기초하여 계층적 구조를 사용할 수 있다.
이에 반하여, 제 2 서브 메모리(124)는 제 1 서브 메모리(122)에 비하여 읽기/쓰기 속도 성능이 빠른 SRAM 또는 DRAM 을 포함한다. 이때, 서로 상이한 종류의 휘발성 메모리를 복수 개 포함할 수 있으며, 이러한 경우에는 메모리 접근 속도가 가장 빠른 휘발성 메모리를 상위 메모리 계층(110)측에 위치하도록 물리적 위치를 결정할 수 있다. 즉, 제 2 서브 메모리(124) 내에서도 메모리 접근 속도에 기초하여 계층적 구조를 사용할 수 있다.
이와 같이, 제 1 서브 메모리(122)는 제 2 서브 메모리(124)보다 읽기/쓰기 속도 성능이 낮은 저가의 메모리들로 구성될 수 있다. 비 휘발성 메모리는 휘발성 메모리에 비해 읽기/쓰기 속도 성능이 모두 낮다. 특히 비 휘발성 메모리와 휘발성 메모리 사이의 읽기 속도의 차이는 크지 않은 편이나, 비 휘발성 메모리와 휘발성 메모리 사이의 쓰기 속도의 차이는 매우 큰 편이다. 즉, 비 휘발성 메모리의 읽기 속도는 쓰기 속도에 비해 상대적으로 우수하다. 일반적으로 메모리의 읽기 속도가 쓰기 속도보다 빠르기 때문에 비 휘발성 메모리의 읽기 속도와 쓰기 속도의 차이는 휘발성 메모리의 읽기 속도와 쓰기 속도의 차이보다 크다.
따라서, 제 1 서브 메모리(122)가 비휘발성 메모리로 구성된다면 읽기 속도와 쓰기 속도의 차이는, 휘발성 메모리로 구성된 제 2 서브 메모리(124)의 읽기 속도와 쓰기 속도의 차이보다 더 클 수 있다. 즉, 제 1 서브 메모리(122)와 제 2 서브 메모리(124)의 읽기 속도의 차이보다, 제 1 서브 메모리(122)와 제 2 서브 메모리(124)의 쓰기 속도의 차이가 더 크다.
상위 메모리 계층(110)에서 참조 실패가 발생한 경우에는 중간 메모리 계층(120)에 포함된 제 1 서브 메모리(122)와 제 2 서브 메모리(124)로부터 참조 실패가 발생한 데이터를 로딩한다. 만약, 중간 메모리 계층(120)에서도 해당 데이터가 없는 경우에는 저장 장치 계층(130)으로부터 참조 실패가 발생한 데이터를 로딩한다.
저장 장치 계층(130)은 프로그램의 수행을 위한 모든 데이터를 저장한다. 저장 장치 계층(130)은 비휘발성 메모리로 구성되며, 플래시 메모리 또는 하드 디스크 드라이브로 구성될 수 있다.
저장 장치 계층(130)은 CPU(200)의 요청에 따라 중간 메모리 계층(120) 및 상위 메모리 계층(110)을 통해, 요청된 데이터를 CPU(200)에 제공한다.
한편, 제 2 서브 메모리(124)는 최초 데이터를 로딩할 때, 저장 장치 계층(130)으로부터 데이터를 로딩하여 상위 메모리 계층(110)으로 제공할 수 있다. 이처럼 본 발명의 일 실시예에서, 저장 장치 계층(130)으로부터 휘발성 메모리로 구성된 상위 메모리 계층(110)으로 최초로 제공되는 데이터는 우선 휘발성 메모리로 구성된 제 2 서브 메모리(124)를 통해 상위 메모리 계층(110)으로 제공된다. 이후, 상위 메모리 계층(110)에서 메모리 참조 실패가 발생한 경우, 상위 메모리 계층(110)은 제 1 서브 메모리(122) 및 제 2 서브 메모리(124)에 해당 데이터를 모두 요청(request)하여 제 1 서브 메모리(122) 및 제 2 서브 메모리(124)로부터 해당 데이터를 제공받을 수 있다.
메모리 관리 유닛(140)은 캐쉬 메모리 계층(110), 중간 메모리 계층(120) 또는 저장 장치 계층(130)에 접속되어, 각 메모리 계층에 저장된 데이터의 이송 여부를 제어한다. 특히, 본원 발명에서는 제 2 서브 메모리(124)에 저장된 데이터들 중 다시 참조될 확률이 낮은 데이터를 제 1 서브 메모리(122)로 미리 이송한다. 이와 같은 동작에 따라, 제 2 서브 메모리(124)의 구동을 특정 조건에 따라 중지함에 있어서, 제 2 서브 메모리(124)에 저장된 데이터를 제 1 서브 메모리(122)로 이송시키는데 소요되는 시간 및 노력을 최소화할 수 있다.
도 3은 본원 발명의 일 실시예에 따른 메모리 관리 유닛의 상세 구성을 도시한 도면이다.
메모리 관리 유닛(140)은 액세스 시간 관리부(142), 데이터 이송 제어부(144) 및 데이터 정보 관리부(146)를 포함할 수 있다.
각 구성 요소의 설명에 앞서, 메모리 관리 유닛(140)이 관리하는 데이터의 종류에 관련하여 설명하도록 한다. 제 2 서브 메모리(124)에 저장된 데이터는 크게 더티 데이터(dirty data)와 클린 데이터(clean data)로 구분할 수 있다. 일반적으로 CPU를 통해 캐시 메모리에 새로운 데이터를 기록할 때에는 캐시 메모리뿐만 아니라, RAM과 같은 메인 메모리에 대해서도 동일한 데이터를 기록하여, 데이터가 일치되도록 한다. 다만, 데이터를 동시에 기록하는지 여부에 따라 라이트 쓰루(write through) 방법과 라이트 백(write back) 방법으로 구분이 된다. 라이트 쓰루 방법은 캐시 메모리 및 RAM에 대해서도 동일한 시점에 데이터를 기록하는 방법이고, 라이트 백 방법은 캐시 메모리에 대해서만 데이터를 기록하고, 나중에 캐시 메모리의 해당 데이터가 교체될 때 RAM에 기록하는 형태이다. 즉, 라이트 쓰루 방법에 따를 경우 캐시 메모리보다 속도가 느린 메인 메모리에 대하여 매번 기록 행위를 수행해야 하므로, 전체적인 동작속도가 느려지는 단점을 해소하기 위하여 라이트 백 방법을 주로 사용하고 있다. 다만, 라이트 백 방법에 따르면, 메인 메모리의 상태가 캐시 메모리의 데이터와 동일한 것인지, 아니면 추후 캐시 메모리와의 관계에서 데이터를 일치시켜야 하는 업데이트가 필요한 상태인지를 구분하는 것이 필요하다.
이때, 캐시 메모리의 데이터와 RAM에 저장된 데이터가 동일한 경우 해당 데이터를 클린(clean) 상태에 있는 데이터(이하 '클린 데이터' 라 함)라 한다. 또한, 캐시 메모리의 데이터는 수정되었지만, 이에 대한 RAM의 데이터는 업데이트 되지 않은 경우에는 해당 데이터를 더티(dirty) 상태에 있는 데이터(이하 '더티 데이터'라 함)라 한다. 통상의 경우, 플래그 또는 더티 비트 등을 구성하여, 각 데이터의 더티 상태 여부를 표시한다. 즉, 상위 메모리인 캐시 메모리와 하위 메모리인 RAM과의 관계에서, RAM을 참조하여 캐시 메모리에 저장된 값이 변경되었음을 나타내기 위해 더티 비트를 사용하고, 더티 비트가 활성화된 캐시 메모리의 데이터 블록은 RAM에 저장된 데이터 블록의 값과 상이한 값을 가지므로, 캐시 메모리의 값이 향후 교체될 때에는 이를 RAM에 기록하게 된다.
본원 발명에서와 같이 제 2 서브 메모리(124)의 구동 중지를 위해 제 2 서브 메모리(124)에 저장된 데이터를 제 1 서브 메모리(122)로 이송시키고자 하는 경우, 더티 데이터에 대해서는 캐시 메모리의 데이터와 제 2 서브 메모리의 데이터를 일치시키는 업데이트 과정을 거쳐야 하므로, 상당한 시간 소모가 수반될 수 있다. 이에, 제 2 서브 메모리(124)에 저장된 데이터에 대하여 재접근 이벤트가 발생할 확률이 낮은 데이터에 대해서는 미리 제 1 서브 메모리(122)에 대하여 해당 데이터를 이송하도록 한다.
이를 위하여 액세스 시간 관리부(142)는 제 1 서브 메모리(122) 또는 제 2 서브 메모리(124)에 저장된 데이터에 대한 캐쉬 메모리 계층(110)의 액세스 시점에 대한 정보를 각 데이터 별로 관리한다. 이후, 각 데이터에 대한 액세스 시간 정보를 기초로 데이터 이송 여부를 판단한다.
데이터 이송 제어부(144)는 재접근 이벤트가 발생할 확률이 낮은 조건의 데이터를 판별하여 제 1 서브 메모리(122)로 이송되도록 한다. 이때, 재접근 이벤트에는 메모리에 대한 읽기 이벤트 또는 쓰기 이벤트를 모두 포함할 수 있다.
데이터 정보 관리부(146)는 제 1 서브 메모리(122) 또는 제 2 서브 메모리(124)에 저장된 데이터들의 각종 상태, 어드레스 정보, 데이터 이송에 따른 어드레스 변환 정보 등을 관리한다. 이를 통해, 상위 메모리 계층(110)에 의한 중간 메모리 계층(120) 또는 저장 장치 계층(130)에 대한 접근 요청이 있는 경우, 요청에 해당하는 데이터가 상위 메모리 계층(110)으로 전송되도록 한다.
이제, 도면을 통해 구체적인 이송 방법을 살펴보기로 한다.
도 4a 및 도 4b는 본원 발명의 일 실시예에 따른 메모리 관리 유닛의 데이터 이송 방법을 설명하기 위한 도면이다.
먼저 도 4a 를 참조하여 설명하면, 메모리 관리 유닛(130)은 더티 데이터들 중 더티 상태가 된 이후 경과한 시간을 주기적으로 조사하고, 그 시간이 미리 설정한 임계값을 초과하는 경우에는 해당 더티 데이터(d2)를 제 1 서브 메모리(122)로 이송하도록 한다. 즉, 일정 시간 이상 해당 데이터에 대한 접근(access)이 없는 경우에는 해당 데이터에 대한 추가적인 접근이 발생하지 않을 것으로 보고, 해당 데이터를 제 1 서브 메모리(122)로 이송한다.
다음으로 도 4b를 참조하면, 메모리 관리 유닛(130)은 더티 데이터를 교체 후보 블록으로 하는 데이터 교체 이벤트가 발생한 경우, 해당 더티 데이터가 더티 상태가 된 이후부터 상기 데이터 교체 이벤트가 발생한 시점까지 경과한 시간이 미리 설정한 임계값을 초과하는 경우에는 해당 더티 데이터를 제 1 서브 메모리(122)로 이송하도록 한다. 예를 들어, 상위 메모리 계층(110)의 데이터(A2)에 대하여 연관된 제 2 서브 메모리(124)의 데이터(d2)가 있다고 가정할 때, 제 2 서브 메모리(124)의 다른 데이터(d3)에 의하여 상위 메모리 계층(110)의 데이터(A2)가 교체되는 경우가 발생할 수 있다. 이때, 데이터(A2)에 기초하여 더티 데이터(d2)는 데이터 업데이트가 될 수 있다. 그리고, 더티 상태가 된 이후 데이터 교체 이벤트가 발생하기 전까지 상당한 시간이 경과한 경우에는 해당 데이터에 대한 접근이 향후에도 없을 것으로 보고, 해당 데이터를 제 1 서브 메모리(122)로 이송시킨다.
주기적으로 더티 상태가 된 이후 경과한 시간을 조사하는 앞선 방법의 경우에는 주기적으로 프로세스를 수행하므로, 최적화에 적합하지 않을 수 있다. 이에, 더티 데이터와 연관된 캐시 메모리에 대하여 데이터 교체 이벤트가 발생한 경우에 대해서만, 경과 시간을 임계값과 비교하도록 한다.
한편, 앞선 발명에서는 더티 데이터를 이송하는 방법에 대해서 설명하였으나, 일반적인 캐쉬 블록 교체 정책을 따라서 선택된 더티 데이터 또는 클린 데이터를 이송할 수 있다.
즉, 제 2 서브 메모리(124)에 저장된 더티 데이터가 더티 상태가 된 이후 경과한 시간이 임계값보다 작거나, 제 2 서브 메모리(124)에 저장된 더티 데이터의 개수가 미리 설정한 임계값보다 작은 경우에는 클린 데이터 중에서 어느 하나를 선택하여 제 1 서브 메모리(122)로 이송한다. 복수의 클린 데이터가 있는 경우에는 클린 데이터들 중 상위 메모리 계층(110)으로부터의 액세스 시간이 가장 오래된 클린 데이터를 이송할 수 있다.
또한, 제 2 서브 메모리(124)에 저장된 데이터들 중 상위 메모리 계층(110)으로부터 가장 최근에 액세스된 데이터가 더티 데이터인 경우, 제 2 서브 메모리(110)에 저장된 클린 데이터를 제 1 서브 메모리(122)로 이송하도록 할 수 있다.
한편, 본원 발명에서는 제 1 서브 메모리(122)로 이송할 데이터를 패키지로 묶어서 한꺼번에 이송할 수 도 있다.
도 5는 본원 발명의 일 실시예에 따른 메모리 관리 유닛의 데이터 이송 방법을 설명하기 위한 도면이다.
도시된 바와 같이, 제 2 서브 메모리(124)의 미리 설정된 영역(125)에 이송이 결정된 데이터를 저장시키고, 미리 설정된 영역(125)에 저장된 데이터의 개수가 임계값을 초과하면 해당 데이터들을 제 1 서브 메모리(122)로 이송한다. 이때, 미리 설정된 영역(125)에는 더티 데이터뿐만 아니라 클린 데이터도 저장될 수 있다.
한편, 메모리 관리 유닛(140)은 라이트 쓰루 방식으로 동작할 경우 상이한 방식으로 메모리 관리를 수행할 수 있다. 즉, 라이트 쓰루 방식에서는 더티 데이터와 클린 데이터의 개념이 없는 상태이므로, 상위 메모리 계층(110)에 저장된 데이터에 대한 가장 최근에 참조가 발생한 이후 경과한 시간을 기준으로 해당 데이터가 저장될 공간을 제 1 서브 메모리(122)와 제 2 서브 메모리(124)로 분류하여 저장할 수 있다.
즉, 상위 메모리 계층(110)에 저장된 데이터에 대한 가장 최근에 참조가 발생한 이후 경과한 시간을 주기적으로 검사하여, 그 시간이 임계값을 초과하는 경우에는 해당 데이터와 연관된 제 2 서브 메모리(124)에 저장된 데이터를 제 1 서브 메모리(122)로 이송할 수 있다. 즉, 각 데이터에 대한 가장 최근 참조가 발생한 시점이 오래된 데이터일수록 이후 재접근 이벤트가 발생하지 않을 것으로 보고 제 1 서브 메모리(122)에 저장되도록 한다.
도 6은 본원 발명의 일 실시예에 따른 메모리 관리 방법을 도시한 순서도이다.
먼저, 제 2 서브 메모리(124)에 저장된 데이터들 중 미리 설정된 조건에 해당하는 데이터를 제 1 서브 메모리(122)로 이송한다(S610).
예를 들어, 도 4a 및 도 4b를 통해 설명한 바와 같이, 더티 데이터들 중 더티 상태가 된 이후 경과한 시간이 임계값을 초과한 경우 또는 데이터 교체 이벤트 발생 시점을 기준으로 더티 상태가 된 이후부터 데이터 교체 이벤트가 발생한 시점까지 경과한 시간이 임계값을 초과한 경우에는 해당 더티 데이터에 대한 재접근 이벤트가 발생할 확률이 낮을 것으로 보고, 해당 더티 데이터를 제 1 서브 메모리(122)로 이송한다.
또한, 경우에 따라 더티 데이터가 아닌 클린 데이터를 이송할 수 도 있다. 즉, 더티 데이터가 더티 상태가 된 이후 경과한 시점이 임계값보다 작거나, 더티 데이터의 개수가 많지 않거나, 여러 데이터들 중 더티 데이터에 대한 접근이 가장 최근에 있었던 경우에는 클린 데이터를 선택하여 제 1 서브 메모리(122)로 이송할 수 있다.
다음으로, 메모리 시스템(100)을 포함하는 사용자 단말의 동작 상태에 따라 제 2 서브 메모리(124)에 저장된 잔여 데이터를 제 1 서브 메모리(122)로 이송 시킨다. 예를 들면, 사용자 단말의 동작 조건 또는 사용자의 요청에 따라 사용자 단말이 휴지모드(Idle mode)로 진입할 경우, 제 2 서브 메모리(124)에 저장된 잔여 데이터를 모두 제 1 서브 메모리(122)로 이송시킨다. 이때, 잔여 데이터는 더티 데이터 또는 클린 데이터를 포함할 수 있다.
이는 제 2 서브 메모리(124)의 구동 중지 전에 제 2 서브 메모리(124)에 저장된 데이터를 제 1 서브 메모리(122)로 이송시켜, 캐시 미스 상태가 발생하는 것을 방지하기 위함이다.
이때, 휴지 모드뿐만 아니라, 사용자 단말의 온도 상태를 감지하여 그에 따라 이송 동작을 수행할 수 있다. 예를 들어, 사용자 단말측에 온도 감지 센서를 미리 구비 시킨 상태에서, 온도 감지 센서를 통해 센싱된 온도가 임계값을 초과하는 경우에는 제 2 서브 메모리(124)의 구동을 중지시켜 메모리 시스템(100)의 발열을 최소화한다. 한편, 온도 감지 센서는 사용자 단말측 내부에 임의로 포함될 수 있고, 경우에 따라 메모리 시스템(100) 내부에 포함될 수 있다.
다음으로, 제 2 서브 메모리(124)에 저장된 데이터의 이송이 완료되면, 메모리 관리 유닛(140)을 통해 제 2 서브 메모리(124)의 구동을 중지한다(S630). 이러한 구성을 통해, 사용자 단말의 동작 상태에 따라 제 2 서브 메모리(124)의 구동을 선택적으로 중지시킬 수 있다. 제 2 서브 메모리(124)가 DRAM 등으로 구성된 경우에는 데이터의 저장을 위하여 주기적인 리프레쉬 동작이 필요한 메모리로서, 동작 상태에 따라 구동을 일시 중지시킬 수 있다면, 리프레쉬 동작 등에 의하여 소모되는 전력을 감소시킬 수 있다. 또한, 리프레쉬 동작에 의하여 비롯되는 발열 문제도 해소할 수 있다. 아울러, 제 2 서브 메모리 (124)의 동작을 중지시키고, 상대적으로 읽기, 쓰기 성능이 낮은 제1 서브 메모리(122)를 사용함으로써, 메모리 참조 지연시간을 증가시켜, CPU등의 동작 성능을 저하시키는 방법으로 CPU에서 사용하는 전력 소모를 감소시킴으로써 발열 문제를 해소할 수 있다.
도 7은 본원 발명의 다른 실시예에 따른 메모리 시스템을 도시한 도면이다.
상기 메모리 시스템(700)은 상위 메모리 계층(710), 중간 메모리 계층(720), 저장 장치 계층(730) 및 메모리 관리 유닛(740)을 포함한다.
도 2의 실시예와 비교하여, 중간 메모리 계층(720)의 구성이 다소 상이하다. 예를 들어, 상위 메모리 계층(710)이 L1 캐시에 대응하고, 제 1 서브 메모리(722) 및 제 2 서브 메모리(726)의 제 1 비휘발성 메모리(723) 및 제 1 휘발성 메모리(725)가 L2/L3 캐시에 대응하도록 구성한다. 이와 같이, 캐시 메모리의 일부도 서로 상이한 특성의 비휘발성 메모리 및 휘발성 메모리를 병렬 구조로 포함시킬 수 있다.
각 서브 메모리의 구성은 도 2의 중간 메모리 계층(120)의 구성과 유사하게 구성될 수 있다. 즉, 제 1 서브 메모리(722)는 MRAM, PRAM 및 FRAM 중 하나 이상의 메모리를 제 1 비휘발성 메모리(723) 또는 제 2 비휘발성 메모리(724)로서 사용할 수 있다.
이에 반하여, 제 2 서브 메모리(726)는 제 1 서브 메모리(722)에 비하여 읽기/쓰기 속도 성능이 빠른 SRAM 또는 DRAM 을 포함한다.
이와 같이, 캐시 메모리의 구성에 대해서도 제 1 서브 메모리(722) 및 제 2 서브 메모리(726)를 구성하고, 제 2 서브 메모리(726)에 저장된 미리 설정된 조건을 만족하는 데이터를 제 1 서브 메모리(722)로 이송시키는 구성을 적용할 수 있다.
즉, 도 3 내지 도 6을 통해 설명한 바와 같이, 제 2 서브 메모리(726)의 더티 데이터 중 미리 설정된 조건의 더티 데이터 또는 클린 데이터를 제 1 서브 메모리(722)에 미리 이송시키는 동작을 수행할 수 있다. 이러한 구성을 통해, 사용자 단말의 동작 상태에 따라 제 2 서브 메모리(726)의 구동을 선택적으로 중지시킬 수 있다. 제 2 서브 메모리(726)가 DRAM 등으로 구성된 경우에는 는 데이터의 저장을 위하여 주기적인 리프레쉬 동작이 필요한 메모리로서, 동작 상태에 따라 구동을 일시 중지시킬 수 있다면, 리프레쉬 동작 등에 의하여 소모되는 전력을 감소시킬 수 있다. 또한, 리프레쉬 동작에 의하여 비롯되는 발열 문제도 해소할 수 있다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 메모리 시스템 110: 상위 메모리 계층
120: 중간 메모리 계층 122: 제 1 서브 메모리
124: 제 2 서브 메모리 130: 저장 장치 계층
140: 메모리 관리 유닛

Claims (20)

  1. 복수의 계층의 메모리를 포함하는 메모리 시스템에 있어서,
    상위 메모리 계층,
    저장 장치 계층,
    상기 상위 메모리 계층 및 저장 장치 계층 사이에 배치되고, 비휘발성 메모리로 이루어진 제 1 서브 메모리와 휘발성 메모리로 이루어진 제 2 서브 메모리를 병렬구조로 포함하는 중간 메모리 계층 및
    상기 상위 메모리 계층, 중간 메모리 계층 및 저장 장치 계층의 동작을 제어하는 메모리 관리 유닛을 포함하되,
    상기 중간 메모리 계층 및 저장 장치 계층은 상기 상위 메모리 계층에 의하여 참조되는 것이고,
    상기 메모리 관리 유닛은 상기 메모리 시스템을 포함하는 사용자 단말의 일반 모드 동작시에 상기 제 2 서브 메모리에 저장된 데이터들 중 소정의 조건에 해당하는 데이터를 상기 제 1 서브 메모리에 미리 저장시키는 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 서브 메모리는 캐시 메모리로 동작하는 제 1 휘발성 메모리 및 메인 메모리로 동작하는 제 2 휘발성 메모리를 포함하고,
    상기 제 2 서브 메모리는 캐시 메모리로 동작하는 제 1 비휘발성 메모리 및 메인 메모리로 동작하는 제 2 비휘발성 메모리를 포함하는 메모리 시스템.
  3. 제 1 항에 있어서,
    상기 메모리 관리 유닛은,
    더티 데이터(dirty data)가 더티 상태가 된 이후 경과한 시간을 주기적으로 조사하고, 그 값이 미리 설정된 임계값을 초과하는 경우 해당 더티 데이터를 상기 제 1 서브 메모리에 저장시키는 메모리 시스템.
  4. 제 1 항에 있어서,
    상기 메모리 관리 유닛은,
    상기 제 2 서브 메모리에서 데이터 교체 이벤트가 발생한 경우, 더티 데이터를 우선적으로 상기 제 1 서브 메모리에 저장시키는 메모리 시스템.
  5. 제 1 항에 있어서,
    상기 메모리 관리 유닛은,
    더티 데이터에 대한 데이터 교체 이벤트가 발생한 경우, 해당 더티 데이터가 더티 상태가 된 이후부터 상기 데이터 교체 이벤트가 발생한 시점까지 경과한 시간이 미리 설정된 임계값을 초과하면 해당 더티 데이터를 상기 제 1 서브 메모리에 저장시키는 메모리 시스템.
  6. 제 1 항에 있어서,
    상기 메모리 관리 유닛은,
    상기 데이터들 중 더티 데이터가 더티 상태가 된 이후 경과한 시점이 제 1 임계값보다 작거나, 상기 제 2 서브 메모리에 포함된 더티 데이터의 개수가 제 2 임계값보다 작은 경우, 상기 제 2 서브 메모리에 저장된 클린 데이터(clean data)를 상기 제 1 서브 메모리에 저장시키는 메모리 시스템.
  7. 제 1 항에 있어서,
    상기 메모리 관리 유닛은,
    상기 데이터들 중 상기 상위 메모리 계층으로부터 가장 최근에 액세스된 데이터가 더티 데이터인 경우, 상기 제 2 서브 메모리에 저장된 클린 데이터를 상기 제 1 서브 메모리에 저장시키는 메모리 시스템.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 메모리 관리 유닛은,
    상기 제 2 서브 메모리에 저장된 데이터들 중 소정의 조건에 해당하는 데이터를 상기 제 2 서브 메모리의 미리 설정된 영역에 저장시키고, 상기 미리 설정된 영역에 저장된 데이터의 개수가 임계값을 초과하면 해당 데이터들을 상기 제 1 서브 메모리에 저장시키는 메모리 시스템.
  9. 제 1 항에 있어서,
    상기 메모리 관리 유닛은,
    상기 사용자 단말의 휴지 모드(Idle mode) 진입에 따라 상기 제 2 서브 메모리에 저장된 잔여 데이터를 상기 제 1 서브 메모리에 저장시킨 후 상기 제 2 서브 메모리의 구동을 중지시키는 메모리 시스템.
  10. 제 1 항에 있어서,
    상기 메모리 관리 유닛은,
    상기 사용자 단말의 온도가 임계값을 초과하면 상기 제 2 서브 메모리에 저장된 잔여 데이터를 상기 제 1 서브 메모리에 저장시킨 후 상기 제 2 서브 메모리의 구동을 중지시키는 메모리 시스템.
  11. 제 1 항에 있어서,
    상기 제 1 서브 메모리는 MRAM, PRAM 및 FRAM 중 하나 이상의 메모리로 이루어진 것인 메모리 시스템.
  12. 복수의 계층의 메모리를 포함하는 메모리 시스템에 있어서,
    상위 메모리 계층,
    저장 장치 계층,
    상기 상위 메모리 계층 및 저장 장치 계층 사이에 배치되고, 비휘발성 메모리로 이루어진 제 1 서브 메모리와 휘발성 메모리로 이루어진 제 2 서브 메모리를 병렬구조로 포함하는 중간 메모리 계층 및
    상기 상위 메모리 계층에 저장된 데이터 중 가장 최근에 참조가 발생한 이후 경과한 시간을 기준으로 제 2 서브 메모리에 저장된 데이터를 제 1 서브 메모리로 이송시키는 메모리 관리 유닛을 포함하되,
    상기 메모리 관리 유닛은 상기 가장 최근에 참조가 발생한 이후 경과한 시간이 임계값을 초과하는 경우 해당 데이터를 제 1 서브 메모리에 이송시키는 것인 메모리 시스템.
  13. 제 12 항에 있어서,
    상기 메모리 관리 유닛은,
    상기 사용자 단말의 휴지 모드(Idle mode) 진입에 따라 상기 제 2 서브 메모리에 저장된 잔여 데이터를 상기 제 1 서브 메모리에 저장시킨 후 상기 제 2 서브 메모리의 구동을 중지시키는 메모리 시스템.
  14. 제 12 항에 있어서,
    상기 메모리 관리 유닛은,
    상기 사용자 단말의 온도가 임계값을 초과하면 상기 제 2 서브 메모리에 저장된 잔여 데이터를 상기 제 1 서브 메모리에 저장시킨 후 상기 제 2 서브 메모리의 구동을 중지시키는 메모리 시스템.
  15. 상위 메모리 계층, 중간 메모리 계층 및 저장 장치 계층을 포함하고, 상기 중간 메모리 계층은 상기 상위 메모리 계층 및 저장 장치 계층 사이에 배치되고, 비휘발성 메모리로 이루어진 제 1 서브 메모리와 휘발성 메모리로 이루어진 제 2 서브 메모리를 병렬구조로 포함하는 메모리 시스템의 메모리 관리 방법에 있어서,
    (a) 상기 제 2 서브 메모리에 저장된 데이터들 중 미리 설정된 조건에 해당하는 데이터를 상기 제 1 서브 메모리에 저장시키는 단계,
    (b) 상기 메모리 시스템을 포함하는 사용자 단말의 동작 상태에 따라 상기 제 2 서브 메모리에 저장된 잔여 데이터를 상기 제 1 서브 메모리에 저장시키는 단계 및
    (c) 상기 잔여 데이터의 저장이 완료되면, 상기 제 2 서브 메모리의 구동을 중지시키는 단계를 포함하는 메모리 관리 방법.
  16. 제 15 항에 있어서,
    상기 (a) 단계는,
    상기 제 2 서브 메모리에 저장된 더티 데이터가 더티 상태가 된 이후 경과한 시간을 주기적으로 조사하는 단계 및
    상기 조사한 시간이 미리 설정된 임계값을 초과하는 경우 해당 더티 데이터를 상기 제 1 서브 메모리에 저장시키는 단계를 포함하는 메모리 관리 방법.
  17. 제 15 항에 있어서,
    상기 (a) 단계는,
    더티 데이터를 교체 후보 블록으로 하는 데이터 교체 이벤트가 발생한 경우, 상기 더티 데이터가 더티 상태가 된 이후부터 상기 데이터 교체 이벤트가 발생한 시점까지 경과한 시간이 미리 설정된 임계값을 초과하면 해당 더티 데이터를 상기 제 1 서브 메모리에 저장시키는 메모리 관리 방법.
  18. 제 15 항 내지 제 17 항 중 어느 한 항에 있어서,
    상기 (a) 단계는,
    상기 미리 설정된 조건에 해당하는 더티 데이터의 발생시에, 상기 제 2 서브 메모리의 미리 설정된 영역에 해당 더티 데이터들을 저장시키는 단계 및
    상기 미리 설정된 영역에 저장된 더티 데이터의 개수가 임계값을 초과하거나, 상기 사용자 단말의 휴지 모드 진입에 따라 상기 미리 설정된 영역에 저장된 더티 데이터들을 상기 제 1 서브 메모리에 저장시키는 단계를 포함하는 메모리 관리 방법.
  19. 제 15 항에 있어서,
    상기 (b) 단계는,
    상기 사용자 단말의 휴지 모드 진입에 따라 상기 제 2 서브 메모리에 저장된 잔여 데이터를 상기 제 1 서브 메모리에 저장시키는 것인 메모리 관리 방법.
  20. 제 15 항에 있어서,
    상기 (b) 단계는,
    상기 사용자 단말의 온도를 감지하는 단계 및
    상기 사용자 단말의 온도가 임계값을 초과하면 상기 제 2 서브 메모리에 저장된 잔여 데이터를 상기 제 1 서브 메모리에 저장시키는 단계를 포함하는 메모리 관리 방법.
KR1020110087509A 2011-08-31 2011-08-31 메모리 시스템 및 그 관리 방법 KR101298171B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020110087509A KR101298171B1 (ko) 2011-08-31 2011-08-31 메모리 시스템 및 그 관리 방법
PCT/KR2012/003277 WO2013032101A1 (ko) 2011-08-31 2012-04-27 메모리 시스템 및 그 관리방법
US14/192,189 US20140237190A1 (en) 2011-08-31 2014-02-27 Memory system and management method therof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110087509A KR101298171B1 (ko) 2011-08-31 2011-08-31 메모리 시스템 및 그 관리 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020130078473A Division KR101469848B1 (ko) 2013-07-04 2013-07-04 메모리 시스템 및 그 관리 방법

Publications (2)

Publication Number Publication Date
KR20130024212A true KR20130024212A (ko) 2013-03-08
KR101298171B1 KR101298171B1 (ko) 2013-08-26

Family

ID=47756543

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110087509A KR101298171B1 (ko) 2011-08-31 2011-08-31 메모리 시스템 및 그 관리 방법

Country Status (3)

Country Link
US (1) US20140237190A1 (ko)
KR (1) KR101298171B1 (ko)
WO (1) WO2013032101A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101443678B1 (ko) * 2013-06-04 2014-09-26 명지대학교 산학협력단 하이브리드 메인 메모리와 플래시 메모리 저장 장치의 버퍼 캐시 방법
WO2014189344A1 (ko) * 2013-05-24 2014-11-27 고려대학교 산학협력단 캐시 장치 및 캐시 운영 방법
WO2014209080A1 (ko) * 2013-06-28 2014-12-31 세종대학교산학협력단 가상 캐시를 포함하는 메모리 시스템 및 그 관리 방법
WO2015030511A1 (ko) * 2013-08-29 2015-03-05 에스케이텔레콤 주식회사 단말 보호를 위한 단말 장치와 그 단말 보호 방법 및 단말 관리 서버 장치
KR101521476B1 (ko) * 2013-08-29 2015-05-19 에스케이텔레콤 주식회사 단말 보호를 위한 단말 장치 및 컴퓨터 판독가능 기록매체
KR20170114991A (ko) * 2016-04-05 2017-10-16 울산과학기술원 비휘발성 메모리를 이용한 로깅 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140082181A (ko) * 2012-12-24 2014-07-02 에스케이하이닉스 주식회사 메모리 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09244954A (ja) * 1996-03-11 1997-09-19 Toshiba Corp 情報記憶装置
JPH11353120A (ja) * 1998-06-11 1999-12-24 Nec Ibaraki Ltd 磁気ディスク装置およびライトデータのバックアップ方法
US7363520B1 (en) * 2005-03-29 2008-04-22 Emc Corporation Techniques for providing power to a set of powerable devices
JP4437489B2 (ja) * 2006-10-25 2010-03-24 株式会社日立製作所 揮発性キャッシュメモリと不揮発性メモリとを備えたストレージシステム
JP2009205335A (ja) * 2008-02-27 2009-09-10 Hitachi Ltd 2種のメモリデバイスをキャッシュに用いるストレージシステム及びそのストレージシステムを制御する方法
US8271737B2 (en) * 2009-05-27 2012-09-18 Spansion Llc Cache auto-flush in a solid state memory device
US8874935B2 (en) * 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014189344A1 (ko) * 2013-05-24 2014-11-27 고려대학교 산학협력단 캐시 장치 및 캐시 운영 방법
KR101475931B1 (ko) * 2013-05-24 2014-12-23 고려대학교 산학협력단 캐시 및 그 운영 방법
KR101443678B1 (ko) * 2013-06-04 2014-09-26 명지대학교 산학협력단 하이브리드 메인 메모리와 플래시 메모리 저장 장치의 버퍼 캐시 방법
WO2014209080A1 (ko) * 2013-06-28 2014-12-31 세종대학교산학협력단 가상 캐시를 포함하는 메모리 시스템 및 그 관리 방법
KR20150002139A (ko) * 2013-06-28 2015-01-07 세종대학교산학협력단 가상 캐시를 포함하는 메모리 및 그 관리 방법
WO2015030511A1 (ko) * 2013-08-29 2015-03-05 에스케이텔레콤 주식회사 단말 보호를 위한 단말 장치와 그 단말 보호 방법 및 단말 관리 서버 장치
KR101521476B1 (ko) * 2013-08-29 2015-05-19 에스케이텔레콤 주식회사 단말 보호를 위한 단말 장치 및 컴퓨터 판독가능 기록매체
US9971902B2 (en) 2013-08-29 2018-05-15 Sk Telecom Co., Ltd. Terminal device, method for protecting terminal device, and terminal management server
US10482274B2 (en) 2013-08-29 2019-11-19 Sk Telecom Co., Ltd. Terminal device and method for protecting terminal device, and terminal management server
KR20170114991A (ko) * 2016-04-05 2017-10-16 울산과학기술원 비휘발성 메모리를 이용한 로깅 방법

Also Published As

Publication number Publication date
US20140237190A1 (en) 2014-08-21
KR101298171B1 (ko) 2013-08-26
WO2013032101A1 (ko) 2013-03-07

Similar Documents

Publication Publication Date Title
US11200176B2 (en) Dynamic partial power down of memory-side cache in a 2-level memory hierarchy
KR101298171B1 (ko) 메모리 시스템 및 그 관리 방법
KR101572403B1 (ko) 메모리 채널 셧다운에 의한 전력 절약
US10282292B2 (en) Cluster-based migration in a multi-level memory hierarchy
JP5624583B2 (ja) プログラム、計算処理装置、メモリ管理方法および計算機
US9852060B2 (en) Storage class memory (SCM) memory mode cache system
KR101713051B1 (ko) 하이브리드 메모리 시스템, 및 그 관리 방법
JP5348429B2 (ja) 持続性メモリのためのキャッシュコヒーレンスプロトコル
US9286205B2 (en) Apparatus and method for phase change memory drift management
JP5752989B2 (ja) プロセッサ・メインメモリのための持続性メモリ
US10140060B2 (en) Memory system including a nonvolatile memory and a volatile memory, and processing method using the memory system
US20170177482A1 (en) Computing system having multi-level system memory capable of operating in a single level system memory mode
US9990293B2 (en) Energy-efficient dynamic dram cache sizing via selective refresh of a cache in a dram
JP7407134B2 (ja) 記憶システムをメインメモリとして使用するための方法および装置
US20180095884A1 (en) Mass storage cache in non volatile level of multi-level system memory
US9507534B2 (en) Home agent multi-level NVM memory architecture
KR101472967B1 (ko) 라이트 백 동작을 수행하는 캐시 메모리, 이의 동작 방법, 및 이를 포함하는 시스템
WO2019041903A1 (zh) 一种基于非易失存储的计算装置及其使用方法
CN113448882A (zh) 用于多级存储器的高效的管理的装置和方法
KR101502998B1 (ko) 메모리 시스템 및 그 관리 방법
CN112306401A (zh) 存储装置和数据存储方法
KR101469848B1 (ko) 메모리 시스템 및 그 관리 방법
US20160210234A1 (en) Memory system including virtual cache and management method thereof
KR20240063607A (ko) 데이터 및 데이터 블록을 제공하는 스왑 메모리 장치, 이의 동작하는 방법, 및 이를 포함하는 전자 장치의 동작하는 방법
KR20170054609A (ko) 차세대 메모리로 구성된 캐시의 제어 장치 및 그 방법

Legal Events

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

Payment date: 20160729

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170717

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180724

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190722

Year of fee payment: 7