KR101502998B1 - Memory system and management method therof - Google Patents

Memory system and management method therof Download PDF

Info

Publication number
KR101502998B1
KR101502998B1 KR1020140001464A KR20140001464A KR101502998B1 KR 101502998 B1 KR101502998 B1 KR 101502998B1 KR 1020140001464 A KR1020140001464 A KR 1020140001464A KR 20140001464 A KR20140001464 A KR 20140001464A KR 101502998 B1 KR101502998 B1 KR 101502998B1
Authority
KR
South Korea
Prior art keywords
memory
sub
layer
data
user terminal
Prior art date
Application number
KR1020140001464A
Other languages
Korean (ko)
Other versions
KR20140016405A (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 세종대학교산학협력단
Priority to KR1020140001464A priority Critical patent/KR101502998B1/en
Publication of KR20140016405A publication Critical patent/KR20140016405A/en
Application granted granted Critical
Publication of KR101502998B1 publication Critical patent/KR101502998B1/en

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

메모리 시스템은 복수의 계층의 메모리를 포함하는 하는 것으로, 상위 메모리 계층, 상기 상위 메모리 계층 하위에 배치되고, 비휘발성 메모리로 이루어진 제 1 서브 메모리와 휘발성 메모리로 이루어진 제 2 서브 메모리를 병렬구조로 포함하는 중간 메모리 계층, 및 상기 상위 메모리 계층 및 중간 메모리 계층의 동작을 제어하는 메모리 관리 유닛을 포함하되, 상기 중간 메모리 계층은 상기 상위 메모리 계층에 의하여 참조되는 것이고, 상기 메모리 관리 유닛은 상기 메모리 시스템을 포함하는 사용자 단말의 일반 모드 동작시에 상기 제 2 서브 메모리에 저장된 데이터들 중 소정의 조건에 해당하는 데이터를 상기 제 1 서브 메모리에 미리 저장시킨다.The memory system includes a plurality of layers of memory, and includes an upper memory layer, a first sub-memory disposed below the upper memory layer, the first sub-memory including a non-volatile memory, and a second sub- And a memory management unit for controlling operations of the upper memory layer and the intermediate memory layer, wherein the intermediate memory layer is referred to by the upper memory layer, The data corresponding to a predetermined condition among the data stored in the second sub-memory in the normal mode operation of the user terminal including the user terminal in advance in the first sub-memory.

Description

메모리 시스템 및 그 관리 방법{MEMORY SYSTEM AND MANAGEMENT METHOD THEROF}[0001] MEMORY SYSTEM AND MANAGEMENT METHOD THEROF [0002]

본 발명은 새로운 구조의 메모리 시스템 및 그 관리 방법에 관한 것이다.The present invention relates to a memory system of a new structure and a management method thereof.

최근 다양한 종류의 전자 장치가 이용되고 있으며, 특히 통신 기술과 컴퓨터 제조 기술의 발달로 인하여, 데스크탑(desktop), 노트북(notebook) 등의 컴퓨터뿐만 아니라 스마트폰(smart phone), PDA(personal digital assistant), 태블릿 PC 등 휴대용 단말 등도 널리 이용되고 있다.2. Description of the Related Art Recently, various types of electronic devices have been used. Particularly, due to the development of communication technology and computer manufacturing technology, a smart phone, a personal digital assistant (PDA) , Portable terminals such as tablet PCs, and the like are also widely used.

이러한 각종 사용자 단말 장치의 경우 컴퓨팅 성능을 향상시키면서도 저전력 소비 특성이나 발열 방지 특성을 요구하는 경우가 많다. Such various user terminal devices often require low power consumption characteristics and heat prevention characteristics while improving computing performance.

본원 발명에서는 휴대용 단말에 포함된 메모리 시스템의 구조 개선을 통해 사용자 단말에 요구되는 저전력 소비 특성이나 발열 방지 특성을 만족시키고자 한다.The present invention intends to satisfy the low power consumption characteristic and the heat generation prevention characteristic required for the user terminal by improving the structure of the memory system included in the portable terminal.

도 1은 종래의 기술에 따른 메모리 시스템에 적용되는 메모리 계층 구조를 도시한 도면이다.1 is a diagram illustrating a memory hierarchical structure applied to a memory system according to a conventional technique.

종래의 기술에 따른 메모리 시스템(1)은 L1/L2 캐시(cache) 메모리 계층(10), 메인 메모리 계층(20) 및 저장 장치(30)를 포함하고 중앙 처리 장치(central processing unit, CPU)로 데이터를 제공한다.The memory system 1 according to the prior art includes a L1 / L2 cache memory layer 10, a main memory layer 20 and a storage device 30 and is connected to a central processing unit (CPU) Data.

L1/L2 캐시(cache) 메모리 계층(10) 및 메인 메모리 계층(20)은 SRAM, DRAM 등의 휘발성 메모리로 구성되며, 저장 장치(30)는 플래시 메모리(flash memory) 또는 하드 디스크 드라이브(hard disk drive, HDD) 등의 비휘발성 메모리로 구성된다.The L1 / L2 cache memory layer 10 and the main memory layer 20 are constituted by volatile memories such as SRAM and DRAM, and the storage device 30 may be a flash memory or a hard disk drive drive, HDD), and other non-volatile memory.

일반적으로 메모리의 계층 구조에서 상위 계층의 메모리일수록 읽기/쓰기 속도가 빠른 고가의 메모리가 사용되며, 하위 계층의 메모리일수록 읽기/쓰기 속도가 상대적으로 느린 저가의 메모리가 사용된다. 도 1에 도시된 실시예에서는 L1/L2 상위 메모리 계층(10)이 가장 상위의 메모리 계층이 될 것이며, 저장장치(30)가 가장 하위의 메모리 계층이 될 것이다.Generally, in a hierarchical structure of a memory, an expensive memory having a higher read / write speed is used for a higher layer memory, and a lower memory having a lower read / write speed is used for a lower layer memory. In the embodiment shown in FIG. 1, the L1 / L2 upper memory layer 10 will be the uppermost memory layer, and the storage device 30 will be the lowest memory layer.

도 1에 도시된 종래의 기술에서 CPU(40)는 프로그램 등의 실행을 위하여 저장 장치(30)로부터 데이터를 획득하며, 획득한 데이터를 L1/L2 캐시(cache) 메모리 계층(10) 및 메인 메모리 계층(20)에 저장한다.1, the CPU 40 acquires data from the storage device 30 for execution of a program or the like and transfers the acquired data to the L1 / L2 cache memory layer 10 and the main memory Layer 20 as shown in FIG.

CPU(40)는 데이터의 읽기(read) 또는 쓰기(write) 동작을 수행하기 위하여 필요한 데이터를 L1/L2 캐시(cache) 메모리 계층(10)에 요구, 즉 메모리 참조를 요구하며, 요구된 데이터가 L1/L2 캐시(cache) 메모리 계층(10)에 존재하지 않는 경우 참조 실패(cache miss)가 발생할 수 있다.The CPU 40 requests the L1 / L2 cache memory layer 10 for data necessary for performing a data read or write operation, that is, requests a memory reference, If there is no L1 / L2 cache memory layer 10, a cache miss may occur.

참조 실패(cache miss)가 발생하는 경우, 참조 실패가 발생한 데이터에 대하여 메인 메모리 계층(20)에 다시 읽기 참조 또는 쓰기 참조의 처리가 요청된다.If a cache miss occurs, the main memory layer 20 is again requested to process a read reference or write reference for the data where the reference failure occurred.

이처럼 종래의 기술에 따르면, 상위 메모리 계층, 예를 들어 L1/L2 캐시(cache) 메모리 계층에서 참조 실패가 발생한 경우, 상위 메모리 계층보다 하위 계층인 중간 메모리 계층에 대하여 읽기 참조 또는 쓰기 참조가 수행되며, 상위 메모리 계층 및 중간 메모리 계층이 모두 휘발성 메모리로 구성된다.According to the conventional technique, when a reference failure occurs in an upper memory layer, for example, an L1 / L2 cache memory layer, a read reference or a write reference is performed to an intermediate memory layer lower than the upper memory layer , The upper memory layer and the intermediate memory layer are both constituted by volatile memories.

휘발성 메모리와 비휘발성 메모리는 집적도(density), 읽기 및 쓰기 속도, 전력 소모 등에서 서로 다른 특성을 갖는데, 일반적으로 휘발성 메모리는 비휘발성 메모리보다 읽기 및 쓰기 속도가 빠르며, 비휘발성 메모리는 휘발성 메모리보다 집적도가 높다.Volatile memory and non-volatile memory have different characteristics in density, read and write speed, and power consumption. In general, volatile memory has faster read and write speed than non-volatile memory. Non-volatile memory has higher density than volatile memory. Is high.

최근 비휘발성 메모리에 대한 개발이 활발히 진행됨에 따라 비휘발성 메모리의 접근 속도가 점점 개선되고 있다. 예를 들어, MRAM(Magnetic Random Access Memory), PRAM(Phase-change memory), FRAM(Ferroelectric Random Access Memory) 등 최근의 비휘발성 메모리는 집적도, 전력 소모등에서 SRAM 이나 DRAM에 비하여 최대 4~16 배 정도 우수한 특성을 보이고 있으며, 읽기 성능에서는 기존의 휘발성 메모리와 유사한 성능을 보이고 있다.Recently, as the development of nonvolatile memory has progressed actively, the access speed of nonvolatile memory is gradually improving. For example, recent nonvolatile memories such as MRAM (Magnetic Random Access Memory), PRAM (Phase-change memory) and FRAM (Ferroelectric Random Access Memory) And it has similar performance to the conventional volatile memory in reading performance.

다만, 비휘발성 메모리는 휘발성 메모리에 비하여 쓰기 속도 측면에서 단점을 가지고 있으나, 비휘발성 메모리가 가지는 집적도, 정적 전력소모의 장점을 최대한 활용한 새로운 메모리 시스템을 제안하여, 사용자 단말의 전력소비 특성 또는 발열 특성을 개선하고자 한다.However, nonvolatile memory has disadvantages in terms of write speed compared to volatile memory. However, it proposes a new memory system that maximizes the advantages of nonvolatile memory such as density and static power consumption. We want to improve the characteristics.

한편, 이와 관련하여 한국 공개 특허 제 2011-0037092호(발명의 명칭: 램 및 플래시 인터페이스를 가지는 하이브리드 메모리 구조 및 데이터 저장 방법)는 RAM 메모리와 플래시 메모리에 대한 제어 인터페이스를 갖는 하이브리드 메모리 구조를 개시하고 있다.Korean Patent Laid-Open Publication No. 2011-0037092 discloses a hybrid memory structure having a control interface for a RAM memory and a flash memory, have.

본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 본 발명의 일부 실시예는 휘발성 메모리와 비휘발성 메모리를 메인 메모리로서 포함하는 새로운 구조의 메모리 시스템과 그 관리 방법을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a memory system and a method for managing the memory system of a new structure including a volatile memory and a nonvolatile memory as a main memory .

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 메모리 시스템은 복수의 계층의 메모리를 포함하는 것으로, 상위 메모리 계층, 상기 상위 메모리 계층 하위에 배치되고, 비휘발성 메모리로 이루어진 제 1 서브 메모리와 휘발성 메모리로 이루어진 제 2 서브 메모리를 병렬구조로 포함하는 중간 메모리 계층, 및 상기 상위 메모리 계층 및 중간 메모리 계층의 동작을 제어하는 메모리 관리 유닛을 포함하되, 상기 중간 메모리 계층은 상기 상위 메모리 계층에 의하여 참조되는 것이고, 상기 메모리 관리 유닛은 상기 메모리 시스템을 포함하는 사용자 단말의 일반 모드 동작시에 상기 제 2 서브 메모리에 저장된 데이터들 중 소정의 조건에 해당하는 데이터를 상기 제 1 서브 메모리에 미리 저장시킨다.According to a first aspect of the present invention, there is provided a memory system including a plurality of layers of memory, the memory system including an upper memory layer, a lower memory layer disposed below the upper memory layer, And a memory management unit for controlling operations of the upper memory layer and the intermediate memory layer, wherein the intermediate memory layer includes a first sub-memory and a second sub- Wherein the memory management unit refers to data corresponding to a predetermined condition among data stored in the second sub-memory during a normal mode operation of a user terminal including the memory system, Pre-stored in the sub-memory.

또한, 본 발명의 제 2 측면에 따른 메모리 시스템은 복수의 계층의 메모리를 포함하는 것으로, 상위 메모리 계층, 상기 상위 메모리 계층 하위에 배치되고, 비휘발성 메모리로 이루어진 제 1 서브 메모리와 휘발성 메모리로 이루어진 제 2 서브 메모리를 병렬구조로 포함하는 중간 메모리 계층 및 상기 상위 메모리 계층에 저장된 데이터 중 가장 최근에 참조가 발생한 이후 경과한 시간을 기준으로 제 2 서브 메모리에 저장된 데이터를 제 1 서브 메모리로 이송시키는 메모리 관리 유닛을 포함하되, 상기 메모리 관리 유닛은 상기 가장 최근에 참조가 발생한 이후 경과한 시간이 임계값을 초과하는 경우 해당 데이터를 제 1 서브 메모리에 이송시킨다.According to a second aspect of the present invention, a memory system includes a plurality of hierarchical memories and includes an upper memory layer, a first sub-memory disposed below the upper memory layer and made of a non-volatile memory, and a volatile memory The data stored in the second sub-memory is transferred to the first sub-memory based on the intermediate memory layer including the second sub-memory in a parallel structure and the time elapsed since the most recent reference occurred among the data stored in the upper memory layer Wherein the memory management unit transfers the data to the first sub memory when the time elapsed since the most recent reference has elapsed exceeds a threshold value.

또한, 본 발명의 제 3 측면에 따른 메모리 관리 방법이 사용하는 메모리 시스템은 상위 메모리 계층, 및 중간 메모리 계층을 포함하고, 상기 중간 메모리 계층은 상기 상위 메모리 계층 하위에 배치되고, 비휘발성 메모리로 이루어진 제 1 서브 메모리와 휘발성 메모리로 이루어진 제 2 서브 메모리를 병렬구조로 포함하는 것으로서, (a) 상기 제 2 서브 메모리에 저장된 데이터들 중 미리 설정된 조건에 해당하는 데이터를 상기 제 1 서브 메모리에 저장시키는 단계, (b) 상기 메모리 시스템을 포함하는 사용자 단말의 동작 상태에 따라 상기 제 2 서브 메모리에 저장된 잔여 데이터를 상기 제 1 서브 메모리에 저장시키는 단계 및 (c) 상기 잔여 데이터의 저장이 완료되면, 상기 제 2 서브 메모리의 구동을 중지시키는 단계를 포함한다.According to a third aspect of the present invention, a memory system used by a memory management method includes an upper memory layer and an intermediate memory layer, wherein the intermediate memory layer is disposed under the upper memory layer, And a second sub-memory composed of a first sub-memory and a volatile memory in a parallel structure, wherein (a) data corresponding to a predetermined condition among data stored in the second sub-memory is stored in the first sub-memory (B) storing the remaining data stored in the second sub-memory in the first sub-memory according to an operation state of the user terminal including the memory system; and (c) if the storage of the remaining data is completed, And stopping the driving of the second sub-memory.

전술한 본 발명의 과제 해결 수단에 의하면, 휘발성 메모리와 비휘발성 메모리를 병렬 구조로서 포함하는 새로운 형태의 메모리 시스템에 의하여, 휘발성 메모리에 저장된 데이터 중 일부를 비휘발성 메모리에 미리 저장하고, 사용자 단말의 동작 상태에 따라 휘발성 메모리의 구동을 선택적으로 중지시킬 수 있다. 따라서, 휘발성 메모리의 리프레쉬 동작에 따른 전력 소모를 최소화할 수 있고, 사용자 단말의 발열 문제도 해소할 수 있다.According to the above-mentioned problem solving means of the present invention, a new type of memory system including a volatile memory and a non-volatile memory as a parallel structure preliminarily stores a part of data stored in the volatile memory in a nonvolatile memory, The driving of the volatile memory can be selectively stopped according to the operation state. Therefore, the power consumption due to the refresh operation of the volatile memory can be minimized, and the problem of heat generation of the user terminal can also be solved.

도 1은 종래의 기술에 따른 메모리 시스템에 적용되는 메모리 계층 구조를 도시한 도면이다.
도 2는 본원 발명의 일 실시예에 따른 메모리 시스템을 도시한 도면이다.
도 3은 본원 발명의 일 실시예에 따른 메모리 관리 유닛의 상세 구성을 도시한 도면이다.
도 4a 및 도 4b는 본원 발명의 일 실시예에 따른 메모리 관리 유닛의 데이터 이송 방법을 설명하기 위한 도면이다.
도 5는 본원 발명의 일 실시예에 따른 메모리 관리 유닛의 데이터 이송 방법을 설명하기 위한 도면이다.
도 6은 본원 발명의 일 실시예에 따른 메모리 관리 방법을 도시한 순서도이다.
도 7은 본원 발명의 다른 실시예에 따른 메모리 시스템을 도시한 도면이다.
1 is a diagram illustrating a memory hierarchical structure applied to a memory system according to a conventional technique.
FIG. 2 is a diagram illustrating a memory system according to an embodiment of the present invention.
3 is a block diagram illustrating a memory management unit according to an embodiment of the present invention.
4A and 4B are diagrams for explaining a data transfer method of the memory management unit according to an embodiment of the present invention.
5 is a diagram for explaining a data transfer method of the memory management unit according to an embodiment of the present invention.
6 is a flowchart illustrating a memory management method according to an embodiment of the present invention.
7 is a diagram illustrating a memory system according to another embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

*25도 2는 본원 발명의 일 실시예에 따른 메모리 시스템을 도시한 도면이다.2 shows a memory system according to an embodiment of the present invention.

메모리 시스템(100)은 상위 메모리 계층(110), 중간 메모리 계층(120), 저장 장치 계층(130) 및 메모리 관리 유닛(140)을 포함하며, CPU(200)와 접속된다. The memory system 100 includes an upper memory layer 110, an intermediate memory layer 120, a storage layer 130, and a memory management unit 140, and is connected to the CPU 200.

CPU(Central Processing Unit)(200)는 특정 프로그램의 실행 등을 위하여 최하위 계층인 저장 장치 계층(130)에 저장된 데이터를 중간 계층에 있는 중간 메모리 계층(120)을 통하여 참조한다. 이러한 과정을 통하여 CPU(200)에 의해서 참조된 데이터는 상위 메모리 계층(110) 및 중간 메모리 계층(120)에 저장된다.The central processing unit (CPU) 200 refers to data stored in the storage layer 130, which is the lowest layer, for execution of a specific program, through the intermediate memory layer 120 in the middle layer. Data referenced by the CPU 200 is stored in the upper memory layer 110 and the intermediate memory layer 120 through this process.

CPU(200)는 이후 해당 데이터를 다시 참조할 경우 읽기/쓰기 속도가 빠른 상위 메모리 계층(110)에 저장된 데이터를 이용하여 읽기 또는 쓰기 동작을 신속히 처리할 수 있다. The CPU 200 can quickly process a read or write operation using the data stored in the upper memory layer 110 having a faster read / write speed.

상위 메모리 계층(110)은 레지스터, L1 캐시 또는 L2 캐시 등을 포함할 수 있으며, SRAM 또는 DRAM 등의 휘발성 메모리로 구성될 수 있다. 상위 메모리 계층(110)은 CPU(200)로부터 읽기(read) 또는 쓰기(write)를 위한 특정 데이터의 요청을 수신하고, 요청된 데이터를 검색하여 요청된 데이터가 상위 메모리 계층(110)에 저장되어 있는지 검색한다.The upper memory layer 110 may include a register, an L1 cache, an L2 cache, or the like, and may be constituted by a volatile memory such as SRAM or DRAM. The upper memory layer 110 receives a request for specific data for reading or writing from the CPU 200 and searches for the requested data and stores the requested data in the upper memory layer 110 .

메모리 검색 결과, 요청된 읽기 동작 또는 쓰기 동작을 위한 데이터가 상위 메모리 계층(110)의 메모리에 존재하지 않는 경우, 즉 참조 실패(access miss)가 발생한 경우, 상위 메모리 계층(110)은 중간 메모리 계층(120)에게 참조 실패가 발생한 데이터를 요청한다. 즉, 상위 메모리 계층(110)은 참조 실패가 발생한 경우, 중간 메모리 계층(120)의 제 1 서브 메모리(122) 및 제 2 서브 메모리(124)로 참조 실패가 발생한 데이터를 요청한다.The upper memory layer 110 stores the data for the requested read operation or the write operation in the intermediate memory layer 110. When the data for the requested read operation or the write operation does not exist in the memory of the upper memory layer 110, (120) requesting data in which a reference failure occurs. That is, when a reference failure occurs, the upper memory layer 110 requests data in which the reference failure occurs in the first sub memory 122 and the second sub memory 124 of the intermediate memory layer 120.

중간 메모리 계층(120)은 상위 메모리 계층(110)보다 읽기/쓰기 속도 성능이 낮은 메모리 계층이다. 하지만 상위 메모리 계층(110)보다 높은 집적도를 가질 수 있다.The intermediate memory layer 120 is a memory layer having a lower read / write speed performance than the upper memory layer 110. But may have a higher degree of integration than the upper memory layer 110.

상위 메모리 계층(110)은 중간 메모리 계층(120)에 포함된 제 1 서브 메모리(122) 또는 제 2 서브 메모리(124)에 요청한 데이터가 존재하는 경우, 해당 데이터를 제 1 서브 메모리(122) 또는 제 2 서브 메모리(124)로부터 획득할 수 있다.When the requested data exists in the first sub-memory 122 or the second sub-memory 124 included in the intermediate memory layer 120, the upper memory layer 110 transfers the data to the first sub-memory 122 or the second sub- From the second sub-memory (124).

중간 메모리 계층(120)은 제 1 서브 메모리(122) 및 제 2 서브 메모리(124)를 포함한다. 제 1 서브 메모리(122) 및 제 2 서브 메모리(124)는 병렬 구조로 중간 메모리 계층(120)에 포함될 수 있다.The intermediate memory layer 120 includes a first sub-memory 122 and a second sub-memory 124. The first sub-memory 122 and the second sub-memory 124 may be included in the intermediate memory layer 120 in a parallel structure.

본 발명의 일 실시예에서는 제 1 서브 메모리(122)는 하나 이상의 비휘발성 메모리를 포함할 수 있다. 바람직하게, MRAM, PRAM 및 FRAM 중 하나 이상의 메모리를 제 1 서브 메모리(122)로서 사용할 수 있다. 또한, 서로 상이한 종류의 비휘발성 메모리를 복수 개 포함할 수 있다. 이때, 서로 상이한 종류의 비휘발성 메모리를 복수 개 포함하는 경우에는 메모리 접근 속도가 가장 빠른 비 휘발성 메모리를 상위 메모리 계층(110)측에 위치하도록 물리적 위치를 결정할 수 있다. 즉, 제 1 서브 메모리(122) 내에서도 메모리 접근 속도에 기초하여 계층적 구조를 사용할 수 있다.In one embodiment of the present invention, the first sub-memory 122 may include one or more non-volatile memory. Preferably, one or more of the MRAM, PRAM, and FRAM memory may be used as the first sub-memory 122. In addition, a plurality of nonvolatile memories of different kinds can be included. At this time, when a plurality of types of nonvolatile memories different from each other are included, the physical location can be determined so that the nonvolatile memory having the fastest memory access speed is located on the upper memory layer 110 side. That is, even within the first sub-memory 122, a hierarchical structure can be used based on the memory access speed.

이에 반하여, 제 2 서브 메모리(124)는 제 1 서브 메모리(122)에 비하여 읽기/쓰기 속도 성능이 빠른 SRAM 또는 DRAM 을 포함한다. 이때, 서로 상이한 종류의 휘발성 메모리를 복수 개 포함할 수 있으며, 이러한 경우에는 메모리 접근 속도가 가장 빠른 휘발성 메모리를 상위 메모리 계층(110)측에 위치하도록 물리적 위치를 결정할 수 있다. 즉, 제 2 서브 메모리(124) 내에서도 메모리 접근 속도에 기초하여 계층적 구조를 사용할 수 있다.On the other hand, the second sub-memory 124 includes SRAM or DRAM having a higher read / write speed performance than the first sub-memory 122. At this time, a plurality of types of volatile memories different from each other can be included. In this case, the physical location can be determined so that the volatile memory having the fastest memory access speed is located on the upper memory layer 110 side. That is, even within the second sub-memory 124, a hierarchical structure can be used based on the memory access speed.

이와 같이, 제 1 서브 메모리(122)는 제 2 서브 메모리(124)보다 읽기/쓰기 속도 성능이 낮은 저가의 메모리들로 구성될 수 있다. 비 휘발성 메모리는 휘발성 메모리에 비해 읽기/쓰기 속도 성능이 모두 낮다. 특히 비 휘발성 메모리와 휘발성 메모리 사이의 읽기 속도의 차이는 크지 않은 편이나, 비 휘발성 메모리와 휘발성 메모리 사이의 쓰기 속도의 차이는 매우 큰 편이다. 즉, 비 휘발성 메모리의 읽기 속도는 쓰기 속도에 비해 상대적으로 우수하다. 일반적으로 메모리의 읽기 속도가 쓰기 속도보다 빠르기 때문에 비 휘발성 메모리의 읽기 속도와 쓰기 속도의 차이는 휘발성 메모리의 읽기 속도와 쓰기 속도의 차이보다 크다.As such, the first sub-memory 122 may be configured with low-cost memories having lower read / write speed performance than the second sub-memory 124. [ Non-volatile memory has lower read / write performance than volatile memory. In particular, the difference in read speed between nonvolatile memory and volatile memory is not large, but the difference in write speed between nonvolatile memory and volatile memory is very large. That is, the read speed of the nonvolatile memory is relatively good compared to the write speed. Since the read speed of a memory is generally faster than the write speed, the difference between the read speed and the write speed of the nonvolatile memory is larger than the difference between the read speed and the write speed of the volatile memory.

따라서, 제 1 서브 메모리(122)가 비휘발성 메모리로 구성된다면 읽기 속도와 쓰기 속도의 차이는, 휘발성 메모리로 구성된 제 2 서브 메모리(124)의 읽기 속도와 쓰기 속도의 차이보다 더 클 수 있다. 즉, 제 1 서브 메모리(122)와 제 2 서브 메모리(124)의 읽기 속도의 차이보다, 제 1 서브 메모리(122)와 제 2 서브 메모리(124)의 쓰기 속도의 차이가 더 크다. Thus, if the first sub-memory 122 is configured as a non-volatile memory, the difference between the read speed and the write speed may be greater than the difference between the read speed and the write speed of the second sub-memory 124 comprised of volatile memory. That is, the difference in the writing speed between the first sub-memory 122 and the second sub-memory 124 is larger than the difference between the read speeds of the first sub-memory 122 and the second sub-memory 124.

상위 메모리 계층(110)에서 참조 실패가 발생한 경우에는 중간 메모리 계층(120)에 포함된 제 1 서브 메모리(122)와 제 2 서브 메모리(124)로부터 참조 실패가 발생한 데이터를 로딩한다. 만약, 중간 메모리 계층(120)에서도 해당 데이터가 없는 경우에는 저장 장치 계층(130)으로부터 참조 실패가 발생한 데이터를 로딩한다.When a reference failure occurs in the upper memory layer 110, data in which a reference failure occurs is loaded from the first sub memory 122 and the second sub memory 124 included in the intermediate memory hierarchy 120. If there is no corresponding data in the intermediate memory hierarchy 120, the data in which the reference failure occurs is loaded from the storage hierarchy 130.

저장 장치 계층(130)은 프로그램의 수행을 위한 모든 데이터를 저장한다. 저장 장치 계층(130)은 비휘발성 메모리로 구성되며, 플래시 메모리 또는 하드 디스크 드라이브로 구성될 수 있다.The storage layer 130 stores all data for the execution of the program. The storage layer 130 is composed of a nonvolatile memory, and may be configured as a flash memory or a hard disk drive.

*40저장 장치 계층(130)은 CPU(200)의 요청에 따라 중간 메모리 계층(120) 및 상위 메모리 계층(110)을 통해, 요청된 데이터를 CPU(200)에 제공한다.The storage layer 130 provides the requested data to the CPU 200 through the intermediate memory layer 120 and the upper memory layer 110 at the request of the CPU 200. [

한편, 제 2 서브 메모리(124)는 최초 데이터를 로딩할 때, 저장 장치 계층(130)으로부터 데이터를 로딩하여 상위 메모리 계층(110)으로 제공할 수 있다. 이처럼 본 발명의 일 실시예에서, 저장 장치 계층(130)으로부터 휘발성 메모리로 구성된 상위 메모리 계층(110)으로 최초로 제공되는 데이터는 우선 휘발성 메모리로 구성된 제 2 서브 메모리(124)를 통해 상위 메모리 계층(110)으로 제공된다. 이후, 상위 메모리 계층(110)에서 메모리 참조 실패가 발생한 경우, 상위 메모리 계층(110)은 제 1 서브 메모리(122) 및 제 2 서브 메모리(124)에 해당 데이터를 모두 요청(request)하여 제 1 서브 메모리(122) 및 제 2 서브 메모리(124)로부터 해당 데이터를 제공받을 수 있다.Meanwhile, the second sub-memory 124 may load data from the storage layer 130 and provide the data to the upper memory layer 110 when loading the initial data. The data initially provided to the upper memory layer 110 constituted of the storage device layer 130 and the volatile memory is first transferred to the upper memory layer (not shown) through the second sub memory 124 configured as volatile memory, 110). Thereafter, when a memory reference failure occurs in the upper memory layer 110, the upper memory layer 110 requests all of the corresponding data to the first sub memory 122 and the second sub memory 124, The sub-memory 122 and the second sub-memory 124 can receive the corresponding data.

메모리 관리 유닛(140)은 캐쉬 메모리 계층(110), 중간 메모리 계층(120) 또는 저장 장치 계층(130)에 접속되어, 각 메모리 계층에 저장된 데이터의 이송 여부를 제어한다. 특히, 본원 발명에서는 제 2 서브 메모리(124)에 저장된 데이터들 중 다시 참조될 확률이 낮은 데이터를 제 1 서브 메모리(122)로 미리 이송한다. 이와 같은 동작에 따라, 제 2 서브 메모리(124)의 구동을 특정 조건에 따라 중지함에 있어서, 제 2 서브 메모리(124)에 저장된 데이터를 제 1 서브 메모리(122)로 이송시키는데 소요되는 시간 및 노력을 최소화할 수 있다. The memory management unit 140 is connected to the cache memory layer 110, the intermediate memory layer 120, or the storage device layer 130 to control whether data stored in each memory layer is transferred. Particularly, in the present invention, data having low probability of being referred to again among the data stored in the second sub-memory 124 is transferred to the first sub-memory 122 in advance. According to this operation, in stopping the operation of the second sub memory 124 according to a specific condition, the time and effort required to transfer the data stored in the second sub memory 124 to the first sub memory 122 Can be minimized.

도 3은 본원 발명의 일 실시예에 따른 메모리 관리 유닛의 상세 구성을 도시한 도면이다.3 is a block diagram illustrating a memory management unit according to an embodiment of the present invention.

메모리 관리 유닛(140)은 액세스 시간 관리부(142), 데이터 이송 제어부(144) 및 데이터 정보 관리부(146)를 포함할 수 있다.The memory management unit 140 may include an access time management unit 142, a data transfer control unit 144, and a data information management unit 146. [

각 구성 요소의 설명에 앞서, 메모리 관리 유닛(140)이 관리하는 데이터의 종류에 관련하여 설명하도록 한다. 제 2 서브 메모리(124)에 저장된 데이터는 크게 더티 데이터(dirty data)와 클린 데이터(clean data)로 구분할 수 있다. 일반적으로 CPU를 통해 캐시 메모리에 새로운 데이터를 기록할 때에는 캐시 메모리뿐만 아니라, RAM과 같은 메인 메모리에 대해서도 동일한 데이터를 기록하여, 데이터가 일치되도록 한다. 다만, 데이터를 동시에 기록하는지 여부에 따라 라이트 쓰루(write through) 방법과 라이트 백(write back) 방법으로 구분이 된다. 라이트 쓰루 방법은 캐시 메모리 및 RAM에 대해서도 동일한 시점에 데이터를 기록하는 방법이고, 라이트 백 방법은 캐시 메모리에 대해서만 데이터를 기록하고, 나중에 캐시 메모리의 해당 데이터가 교체될 때 RAM에 기록하는 형태이다. 즉, 라이트 쓰루 방법에 따를 경우 캐시 메모리보다 속도가 느린 메인 메모리에 대하여 매번 기록 행위를 수행해야 하므로, 전체적인 동작속도가 느려지는 단점을 해소하기 위하여 라이트 백 방법을 주로 사용하고 있다. 다만, 라이트 백 방법에 따르면, 메인 메모리의 상태가 캐시 메모리의 데이터와 동일한 것인지, 아니면 추후 캐시 메모리와의 관계에서 데이터를 일치시켜야 하는 업데이트가 필요한 상태인지를 구분하는 것이 필요하다.Prior to the description of each component, the type of data managed by the memory management unit 140 will be described. The data stored in the second sub-memory 124 can be largely divided into dirty data and clean data. Generally, when writing new data in the cache memory via the CPU, the same data is recorded in the main memory such as the RAM as well as the cache memory so that the data are consistent. However, it is divided into a write through method and a write back method depending on whether data is simultaneously recorded or not. The write-through method is a method of writing data to the cache memory and the RAM at the same time. The write-back method is a method of writing data only to the cache memory and writing the data to the RAM when the corresponding data of the cache memory is replaced later. That is, according to the light-through method, the write operation is performed for the main memory, which is slower than the cache memory, and the write back method is mainly used to solve the drawback that the overall operation speed is slowed down. However, according to the write-back method, it is necessary to distinguish whether the state of the main memory is the same as the data of the cache memory, or whether it is necessary to update the data in the relationship with the cache memory in the future.

이때, 캐시 메모리의 데이터와 RAM에 저장된 데이터가 동일한 경우 해당 데이터를 클린(clean) 상태에 있는 데이터(이하 '클린 데이터' 라 함)라 한다. 또한, 캐시 메모리의 데이터는 수정되었지만, 이에 대한 RAM의 데이터는 업데이트 되지 않은 경우에는 해당 데이터를 더티(dirty) 상태에 있는 데이터(이하 '더티 데이터'라 함)라 한다. 통상의 경우, 플래그 또는 더티 비트 등을 구성하여, 각 데이터의 더티 상태 여부를 표시한다. 즉, 상위 메모리인 캐시 메모리와 하위 메모리인 RAM과의 관계에서, RAM을 참조하여 캐시 메모리에 저장된 값이 변경되었음을 나타내기 위해 더티 비트를 사용하고, 더티 비트가 활성화된 캐시 메모리의 데이터 블록은 RAM에 저장된 데이터 블록의 값과 상이한 값을 가지므로, 캐시 메모리의 값이 향후 교체될 때에는 이를 RAM에 기록하게 된다.At this time, if the data in the cache memory and the data stored in the RAM are the same, the data is referred to as clean data (hereinafter referred to as "clean data"). In addition, if the data of the cache memory is modified but the data of the RAM is not updated, the data is referred to as dirty data (hereinafter referred to as dirty data). In a normal case, a flag or a dirty bit is configured to indicate whether or not each data is dirty. That is, in relation to the cache memory as the upper memory and the RAM as the lower memory, the dirty bit is used to indicate that the value stored in the cache memory is changed with reference to the RAM, and the data block of the cache memory in which the dirty bit is activated is stored in the RAM The value of the cache memory is written into the RAM in the future when the value of the cache memory is replaced.

본원 발명에서와 같이 제 2 서브 메모리(124)의 구동 중지를 위해 제 2 서브 메모리(124)에 저장된 데이터를 제 1 서브 메모리(122)로 이송시키고자 하는 경우, 더티 데이터에 대해서는 캐시 메모리의 데이터와 제 2 서브 메모리의 데이터를 일치시키는 업데이트 과정을 거쳐야 하므로, 상당한 시간 소모가 수반될 수 있다. 이에, 제 2 서브 메모리(124)에 저장된 데이터에 대하여 재접근 이벤트가 발생할 확률이 낮은 데이터에 대해서는 미리 제 1 서브 메모리(122)에 대하여 해당 데이터를 이송하도록 한다.  When the data stored in the second sub memory 124 is to be transferred to the first sub memory 122 for stopping the driving of the second sub memory 124 as in the present invention, And the data of the second sub-memory are made to coincide with each other, so that a considerable amount of time can be consumed. Therefore, the data stored in the second sub-memory 124 is transferred to the first sub-memory 122 in advance for data having a low probability of occurrence of a re-access event.

이를 위하여 액세스 시간 관리부(142)는 제 1 서브 메모리(122) 또는 제 2 서브 메모리(124)에 저장된 데이터에 대한 캐쉬 메모리 계층(110)의 액세스 시점에 대한 정보를 각 데이터 별로 관리한다. 이후, 각 데이터에 대한 액세스 시간 정보를 기초로 데이터 이송 여부를 판단한다.To this end, the access time management unit 142 manages information on access times of the cache memory layer 110 with respect to data stored in the first sub memory 122 or the second sub memory 124, for each data. Then, it is determined whether or not the data is transferred based on the access time information for each data.

데이터 이송 제어부(144)는 재접근 이벤트가 발생할 확률이 낮은 조건의 데이터를 판별하여 제 1 서브 메모리(122)로 이송되도록 한다. 이때, 재접근 이벤트에는 메모리에 대한 읽기 이벤트 또는 쓰기 이벤트를 모두 포함할 수 있다.The data transfer control unit 144 identifies data having a low probability of occurrence of a re-access event and transfers the data to the first sub-memory 122. [ At this time, the re-access event may include both a read event or a write event to the memory.

데이터 정보 관리부(146)는 제 1 서브 메모리(122) 또는 제 2 서브 메모리(124)에 저장된 데이터들의 각종 상태, 어드레스 정보, 데이터 이송에 따른 어드레스 변환 정보 등을 관리한다. 이를 통해, 상위 메모리 계층(110)에 의한 중간 메모리 계층(120) 또는 저장 장치 계층(130)에 대한 접근 요청이 있는 경우, 요청에 해당하는 데이터가 상위 메모리 계층(110)으로 전송되도록 한다. The data information management unit 146 manages various states of data stored in the first sub memory 122 or the second sub memory 124, address information, and address conversion information according to data transfer. Accordingly, when there is an access request to the intermediate memory layer 120 or the storage device layer 130 by the upper memory layer 110, the data corresponding to the request is transmitted to the upper memory layer 110.

이제, 도면을 통해 구체적인 이송 방법을 살펴보기로 한다.Now, a specific conveying method will be described with reference to the drawings.

도 4a 및 도 4b는 본원 발명의 일 실시예에 따른 메모리 관리 유닛의 데이터 이송 방법을 설명하기 위한 도면이다.4A and 4B are diagrams for explaining a data transfer method of the memory management unit according to an embodiment of the present invention.

먼저 도 4a 를 참조하여 설명하면, 메모리 관리 유닛(130)은 더티 데이터들 중 더티 상태가 된 이후 경과한 시간을 주기적으로 조사하고, 그 시간이 미리 설정한 임계값을 초과하는 경우에는 해당 더티 데이터(d2)를 제 1 서브 메모리(122)로 이송하도록 한다. 즉, 일정 시간 이상 해당 데이터에 대한 접근(access)이 없는 경우에는 해당 데이터에 대한 추가적인 접근이 발생하지 않을 것으로 보고, 해당 데이터를 제 1 서브 메모리(122)로 이송한다. First, referring to FIG. 4A, the memory management unit 130 periodically examines the elapsed time after the dirty data becomes a dirty state. If the time exceeds the preset threshold value, (d2) to the first sub-memory (122). That is, if there is no access to the data for a predetermined period of time, it is determined that no additional access to the data occurs, and the corresponding data is transferred to the first sub-memory 122.

다음으로 도 4b를 참조하면, 메모리 관리 유닛(130)은 더티 데이터를 교체 후보 블록으로 하는 데이터 교체 이벤트가 발생한 경우, 해당 더티 데이터가 더티 상태가 된 이후부터 상기 데이터 교체 이벤트가 발생한 시점까지 경과한 시간이 미리 설정한 임계값을 초과하는 경우에는 해당 더티 데이터를 제 1 서브 메모리(122)로 이송하도록 한다. 예를 들어, 상위 메모리 계층(110)의 데이터(A2)에 대하여 연관된 제 2 서브 메모리(124)의 데이터(d2)가 있다고 가정할 때, 제 2 서브 메모리(124)의 다른 데이터(d3)에 의하여 상위 메모리 계층(110)의 데이터(A2)가 교체되는 경우가 발생할 수 있다. 이때, 데이터(A2)에 기초하여 더티 데이터(d2)는 데이터 업데이트가 될 수 있다. 그리고, 더티 상태가 된 이후 데이터 교체 이벤트가 발생하기 전까지 상당한 시간이 경과한 경우에는 해당 데이터에 대한 접근이 향후에도 없을 것으로 보고, 해당 데이터를 제 1 서브 메모리(122)로 이송시킨다.Next, referring to FIG. 4B, when a data replacement event occurs in which the dirty data is replaced with the replacement candidate block, the memory management unit 130 determines whether the dirty data has elapsed from the dirty state until the data replacement event occurs If the time exceeds the preset threshold value, the dirty data is transferred to the first sub-memory 122. For example, assuming that there is data d2 of the associated second sub-memory 124 with respect to data A2 of the upper memory hierarchy 110, the other data d3 of the second sub- The data A2 of the upper memory layer 110 may be replaced. At this time, the dirty data d2 may be data update based on the data A2. If a considerable time has elapsed before the occurrence of the data replacement event after the dirty state has been established, it is determined that there is no access to the data in the future, and the corresponding data is transferred to the first sub-memory 122.

주기적으로 더티 상태가 된 이후 경과한 시간을 조사하는 앞선 방법의 경우에는 주기적으로 프로세스를 수행하므로, 최적화에 적합하지 않을 수 있다. 이에, 더티 데이터와 연관된 캐시 메모리에 대하여 데이터 교체 이벤트가 발생한 경우에 대해서만, 경과 시간을 임계값과 비교하도록 한다. In the case of the prior method of examining the elapsed time period after the periodic dirty state, the process is performed periodically, and thus may not be suitable for optimization. Accordingly, only when a data replacement event occurs in the cache memory associated with the dirty data, the elapsed time is compared with the threshold value.

한편, 앞선 발명에서는 더티 데이터를 이송하는 방법에 대해서 설명하였으나, 일반적인 캐쉬 블록 교체 정책을 따라서 선택된 더티 데이터 또는 클린 데이터를 이송할 수 있다.Meanwhile, although the method of transferring dirty data has been described in the foregoing, it is possible to transfer selected dirty data or clean data according to a general cache block replacement policy.

즉, 제 2 서브 메모리(124)에 저장된 더티 데이터가 더티 상태가 된 이후 경과한 시간이 임계값보다 작거나, 제 2 서브 메모리(124)에 저장된 더티 데이터의 개수가 미리 설정한 임계값보다 작은 경우에는 클린 데이터 중에서 어느 하나를 선택하여 제 1 서브 메모리(122)로 이송한다. 복수의 클린 데이터가 있는 경우에는 클린 데이터들 중 상위 메모리 계층(110)으로부터의 액세스 시간이 가장 오래된 클린 데이터를 이송할 수 있다. That is, when the elapsed time after the dirty data stored in the second sub-memory 124 becomes dirty is smaller than the threshold value or the number of dirty data stored in the second sub-memory 124 is smaller than the preset threshold value And selects any one of the clean data and transfers it to the first sub-memory 122. When there is a plurality of pieces of clean data, the clean data having the oldest access time from the upper memory layer 110 among the clean data can be transferred.

또한, 제 2 서브 메모리(124)에 저장된 데이터들 중 상위 메모리 계층(110)으로부터 가장 최근에 액세스된 데이터가 더티 데이터인 경우, 제 2 서브 메모리(110)에 저장된 클린 데이터를 제 1 서브 메모리(122)로 이송하도록 할 수 있다. When the data most recently accessed from the upper memory layer 110 among the data stored in the second sub memory 124 is dirty data, the clean data stored in the second sub memory 110 is stored in the first sub memory 122, respectively.

한편, 본원 발명에서는 제 1 서브 메모리(122)로 이송할 데이터를 패키지로 묶어서 한꺼번에 이송할 수 도 있다.In the present invention, data to be transferred to the first sub-memory 122 may be bundled and transferred at once.

도 5는 본원 발명의 일 실시예에 따른 메모리 관리 유닛의 데이터 이송 방법을 설명하기 위한 도면이다.5 is a diagram for explaining a data transfer method of the memory management unit according to an embodiment of the present invention.

도시된 바와 같이, 제 2 서브 메모리(124)의 미리 설정된 영역(125)에 이송이 결정된 데이터를 저장시키고, 미리 설정된 영역(125)에 저장된 데이터의 개수가 임계값을 초과하면 해당 데이터들을 제 1 서브 메모리(122)로 이송한다. 이때, 미리 설정된 영역(125)에는 더티 데이터뿐만 아니라 클린 데이터도 저장될 수 있다. As shown in the figure, data determined to be transferred is stored in a predetermined area 125 of the second sub memory 124. When the number of data stored in the predetermined area 125 exceeds a threshold value, And transfers it to the sub memory 122. At this time, not only the dirty data but also the clean data can be stored in the predetermined area 125.

한편, 메모리 관리 유닛(140)은 라이트 쓰루 방식으로 동작할 경우 상이한 방식으로 메모리 관리를 수행할 수 있다. 즉, 라이트 쓰루 방식에서는 더티 데이터와 클린 데이터의 개념이 없는 상태이므로, 상위 메모리 계층(110)에 저장된 데이터에 대한 가장 최근에 참조가 발생한 이후 경과한 시간을 기준으로 해당 데이터가 저장될 공간을 제 1 서브 메모리(122)와 제 2 서브 메모리(124)로 분류하여 저장할 수 있다. On the other hand, the memory management unit 140 can perform memory management in a different manner when operating in a light-through manner. That is, since there is no concept of dirty data and clean data in the light-through system, a space in which the data is stored based on the elapsed time since the most recent reference to the data stored in the upper memory layer 110 1 sub-memory 122 and the second sub-memory 124, as shown in FIG.

즉, 상위 메모리 계층(110)에 저장된 데이터에 대한 가장 최근에 참조가 발생한 이후 경과한 시간을 주기적으로 검사하여, 그 시간이 임계값을 초과하는 경우에는 해당 데이터와 연관된 제 2 서브 메모리(124)에 저장된 데이터를 제 1 서브 메모리(122)로 이송할 수 있다. 즉, 각 데이터에 대한 가장 최근 참조가 발생한 시점이 오래된 데이터일수록 이후 재접근 이벤트가 발생하지 않을 것으로 보고 제 1 서브 메모리(122)에 저장되도록 한다.That is, a period of time that has elapsed after the most recent reference to data stored in the upper memory layer 110 is periodically checked. If the time exceeds the threshold, the second sub-memory 124 associated with the data, To the first sub-memory (122). That is, it is stored in the first sub-memory 122 that the re-access event does not occur as the data at the time when the most recent reference to each data occurs is older.

도 6은 본원 발명의 일 실시예에 따른 메모리 관리 방법을 도시한 순서도이다.6 is a flowchart illustrating a memory management method according to an embodiment of the present invention.

먼저, 제 2 서브 메모리(124)에 저장된 데이터들 중 미리 설정된 조건에 해당하는 데이터를 제 1 서브 메모리(122)로 이송한다(S610).First, data corresponding to a predetermined condition among the data stored in the second sub memory 124 is transferred to the first sub memory 122 (S610).

예를 들어, 도 4a 및 도 4b를 통해 설명한 바와 같이, 더티 데이터들 중 더티 상태가 된 이후 경과한 시간이 임계값을 초과한 경우 또는 데이터 교체 이벤트 발생 시점을 기준으로 더티 상태가 된 이후부터 데이터 교체 이벤트가 발생한 시점까지 경과한 시간이 임계값을 초과한 경우에는 해당 더티 데이터에 대한 재접근 이벤트가 발생할 확률이 낮을 것으로 보고, 해당 더티 데이터를 제 1 서브 메모리(122)로 이송한다.For example, as described with reference to FIGS. 4A and 4B, when the time elapsed after the dirty data becomes dirty exceeds the threshold value or after the dirty state is established based on the data replacement event occurrence time, If the time elapsed until the occurrence of the replacement event exceeds the threshold value, it is determined that the probability of occurrence of the re-access event for the dirty data is low, and the corresponding dirty data is transferred to the first sub-memory 122.

또한, 경우에 따라 더티 데이터가 아닌 클린 데이터를 이송할 수 도 있다. 즉, 더티 데이터가 더티 상태가 된 이후 경과한 시점이 임계값보다 작거나, 더티 데이터의 개수가 많지 않거나, 여러 데이터들 중 더티 데이터에 대한 접근이 가장 최근에 있었던 경우에는 클린 데이터를 선택하여 제 1 서브 메모리(122)로 이송할 수 있다.In some cases, clean data may be transferred instead of dirty data. That is, when the time that has elapsed after the dirty data becomes dirty state is smaller than the threshold value, the number of dirty data is not large, or the access to the dirty data among the various data has been most recently occurred, 1 < / RTI >

다음으로, 메모리 시스템(100)을 포함하는 사용자 단말의 동작 상태에 따라 제 2 서브 메모리(124)에 저장된 잔여 데이터를 제 1 서브 메모리(122)로 이송 시킨다. 예를 들면, 사용자 단말의 동작 조건 또는 사용자의 요청에 따라 사용자 단말이 휴지모드(Idle mode)로 진입할 경우, 제 2 서브 메모리(124)에 저장된 잔여 데이터를 모두 제 1 서브 메모리(122)로 이송시킨다. 이때, 잔여 데이터는 더티 데이터 또는 클린 데이터를 포함할 수 있다.Next, the residual data stored in the second sub-memory 124 is transferred to the first sub-memory 122 according to the operation state of the user terminal including the memory system 100. For example, when the user terminal enters the idle mode according to the operation condition of the user terminal or the user's request, all the remaining data stored in the second sub memory 124 is transferred to the first sub memory 122 . At this time, the remaining data may include dirty data or clean data.

이는 제 2 서브 메모리(124)의 구동 중지 전에 제 2 서브 메모리(124)에 저장된 데이터를 제 1 서브 메모리(122)로 이송시켜, 캐시 미스 상태가 발생하는 것을 방지하기 위함이다.This is because the data stored in the second sub memory 124 is transferred to the first sub memory 122 before the second sub memory 124 is stopped to prevent the cache miss state from occurring.

이때, 휴지 모드뿐만 아니라, 사용자 단말의 온도 상태를 감지하여 그에 따라 이송 동작을 수행할 수 있다. 예를 들어, 사용자 단말측에 온도 감지 센서를 미리 구비 시킨 상태에서, 온도 감지 센서를 통해 센싱된 온도가 임계값을 초과하는 경우에는 제 2 서브 메모리(124)의 구동을 중지시켜 메모리 시스템(100)의 발열을 최소화한다. 한편, 온도 감지 센서는 사용자 단말측 내부에 임의로 포함될 수 있고, 경우에 따라 메모리 시스템(100) 내부에 포함될 수 있다.At this time, not only the idle mode but also the temperature state of the user terminal can be sensed and the transport operation can be performed accordingly. For example, when the temperature sensed by the temperature sensor exceeds a threshold value in a state where the temperature sensor is already provided on the user terminal side, the driving of the second sub memory 124 is stopped and the memory system 100 ) Is minimized. On the other hand, the temperature sensor may be optionally included in the user terminal side and may be included in the memory system 100 as the case may be.

다음으로, 제 2 서브 메모리(124)에 저장된 데이터의 이송이 완료되면, 메모리 관리 유닛(140)을 통해 제 2 서브 메모리(124)의 구동을 중지한다(S630). 이러한 구성을 통해, 사용자 단말의 동작 상태에 따라 제 2 서브 메모리(124)의 구동을 선택적으로 중지시킬 수 있다. 제 2 서브 메모리(124)가 DRAM 등으로 구성된 경우에는 데이터의 저장을 위하여 주기적인 리프레쉬 동작이 필요한 메모리로서, 동작 상태에 따라 구동을 일시 중지시킬 수 있다면, 리프레쉬 동작 등에 의하여 소모되는 전력을 감소시킬 수 있다. 또한, 리프레쉬 동작에 의하여 비롯되는 발열 문제도 해소할 수 있다. 아울러, 제 2 서브 메모리 (124)의 동작을 중지시키고, 상대적으로 읽기, 쓰기 성능이 낮은 제1 서브 메모리(122)를 사용함으로써, 메모리 참조 지연시간을 증가시켜, CPU등의 동작 성능을 저하시키는 방법으로 CPU에서 사용하는 전력 소모를 감소시킴으로써 발열 문제를 해소할 수 있다.Next, when the transfer of the data stored in the second sub-memory 124 is completed, the driving of the second sub-memory 124 is stopped through the memory management unit 140 (S630). With this configuration, it is possible to selectively stop the driving of the second sub-memory 124 according to the operation state of the user terminal. If the second sub-memory 124 is constituted by a DRAM or the like, it is a memory requiring a periodic refresh operation in order to store data. If the second sub-memory 124 can temporarily suspend the operation according to the operation state, the power consumed by the refresh operation, . In addition, the problem of heat generation caused by the refresh operation can be solved. In addition, by using the first sub-memory 122 that stops the operation of the second sub-memory 124 and has a relatively low read / write performance, the memory reference delay time is increased to lower the operation performance of the CPU The power consumption consumed by the CPU is reduced, so that the heat generation problem can be solved.

도 7은 본원 발명의 다른 실시예에 따른 메모리 시스템을 도시한 도면이다.7 is a diagram illustrating a memory system according to another embodiment of the present invention.

상기 메모리 시스템(700)은 상위 메모리 계층(710), 중간 메모리 계층(720), 저장 장치 계층(730) 및 메모리 관리 유닛(740)을 포함한다. The memory system 700 includes an upper memory layer 710, an intermediate memory layer 720, a storage layer 730, and a memory management unit 740.

도 2의 실시예와 비교하여, 중간 메모리 계층(720)의 구성이 다소 상이하다. 예를 들어, 상위 메모리 계층(710)이 L1 캐시에 대응하고, 제 1 서브 메모리(722) 및 제 2 서브 메모리(726)의 제 1 비휘발성 메모리(723) 및 제 1 휘발성 메모리(725)가 L2/L3 캐시에 대응하도록 구성한다. 이와 같이, 캐시 메모리의 일부도 서로 상이한 특성의 비휘발성 메모리 및 휘발성 메모리를 병렬 구조로 포함시킬 수 있다. Compared to the embodiment of FIG. 2, the configuration of the intermediate memory hierarchy 720 is somewhat different. For example, the upper memory layer 710 corresponds to the L1 cache, and the first non-volatile memory 723 and the first volatile memory 725 of the first sub-memory 722 and the second sub- L2 / L3 cache. As described above, part of the cache memory can also include a nonvolatile memory and a volatile memory having different characteristics in a parallel structure.

각 서브 메모리의 구성은 도 2의 중간 메모리 계층(120)의 구성과 유사하게 구성될 수 있다. 즉, 제 1 서브 메모리(722)는 MRAM, PRAM 및 FRAM 중 하나 이상의 메모리를 제 1 비휘발성 메모리(723) 또는 제 2 비휘발성 메모리(724)로서 사용할 수 있다. The configuration of each sub-memory may be configured similar to that of the intermediate memory hierarchy 120 of FIG. That is, the first sub-memory 722 may use one or more of the MRAM, PRAM, and FRAM as the first non-volatile memory 723 or the second non-volatile memory 724. [

이에 반하여, 제 2 서브 메모리(726)는 제 1 서브 메모리(722)에 비하여 읽기/쓰기 속도 성능이 빠른 SRAM 또는 DRAM 을 포함한다. On the other hand, the second sub-memory 726 includes SRAM or DRAM having a faster read / write speed performance than the first sub-memory 722.

이와 같이, 캐시 메모리의 구성에 대해서도 제 1 서브 메모리(722) 및 제 2 서브 메모리(726)를 구성하고, 제 2 서브 메모리(726)에 저장된 미리 설정된 조건을 만족하는 데이터를 제 1 서브 메모리(722)로 이송시키는 구성을 적용할 수 있다.As described above, the first sub-memory 722 and the second sub-memory 726 are also configured for the cache memory, and data satisfying predetermined conditions stored in the second sub-memory 726 is stored in the first sub-memory 722, respectively.

즉, 도 3 내지 도 6을 통해 설명한 바와 같이, 제 2 서브 메모리(726)의 더티 데이터 중 미리 설정된 조건의 더티 데이터 또는 클린 데이터를 제 1 서브 메모리(722)에 미리 이송시키는 동작을 수행할 수 있다. 이러한 구성을 통해, 사용자 단말의 동작 상태에 따라 제 2 서브 메모리(726)의 구동을 선택적으로 중지시킬 수 있다. 제 2 서브 메모리(726)가 DRAM 등으로 구성된 경우에는 는 데이터의 저장을 위하여 주기적인 리프레쉬 동작이 필요한 메모리로서, 동작 상태에 따라 구동을 일시 중지시킬 수 있다면, 리프레쉬 동작 등에 의하여 소모되는 전력을 감소시킬 수 있다. 또한, 리프레쉬 동작에 의하여 비롯되는 발열 문제도 해소할 수 있다.In other words, as described with reference to FIGS. 3 to 6, it is possible to perform the operation of previously transferring dirty data or clean data of a predetermined condition among the dirty data in the second sub-memory 726 to the first sub-memory 722 have. With this configuration, it is possible to selectively stop the driving of the second sub-memory 726 according to the operation state of the user terminal. When the second sub-memory 726 is formed of a DRAM or the like, it is necessary to periodically refresh the data to store data. If the second sub-memory 726 can temporarily suspend the driving according to the operation state, the power consumed by the refresh operation is reduced . In addition, the problem of heat generation caused by the refresh operation can be solved.

본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다While the methods and systems of the present invention have been described with reference to particular embodiments, some or all of their components or operations may be implemented using a computer system having a general purpose hardware architecture

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

100: 메모리 시스템 110: 상위 메모리 계층
120: 중간 메모리 계층 122: 제 1 서브 메모리
124: 제 2 서브 메모리 130: 저장 장치 계층
140: 메모리 관리 유닛
100: memory system 110: upper memory layer
120: intermediate memory layer 122: first sub-memory
124: second sub-memory 130: storage device layer
140: memory management unit

Claims (14)

복수의 계층의 메모리를 포함하는 메모리 시스템에 있어서,
상위 메모리 계층,
저장 장치 계층,
상기 상위 메모리 계층 및 저장 장치 계층 사이에 배치되고, 비휘발성 메모리로 이루어진 제 1 서브 메모리와 휘발성 메모리로 이루어진 제 2 서브 메모리를 포함하는 중간 메모리 계층 및
상기 상위 메모리 계층, 중간 메모리 계층 및 저장 장치 계층의 동작을 제어하는 메모리 관리 유닛을 포함하되,
상기 중간 메모리 계층 및 저장 장치 계층은 상기 상위 메모리 계층에 의하여 참조되는 것이고,
상기 메모리 관리 유닛은 상기 메모리 시스템을 포함하는 사용자 단말의 동작시에 상기 사용자 단말의 온도가 임계값을 초과하면 상기 상위 메모리 계층 또는 상기 중간 메모리 계층에 포함된 상기 휘발성 메모리에 저장된 잔여 데이터를 상기 제 1 서브 메모리에 저장시킨 후 상기 휘발성 메모리의 구동을 중지시키는 메모리 시스템.
1. A memory system comprising a plurality of layers of memory,
Upper memory layer,
Storage layer,
An intermediate memory layer disposed between the upper memory layer and the storage layer and including a first sub-memory of non-volatile memory and a second sub-memory of volatile memory,
And a memory management unit for controlling operations of the upper memory layer, the intermediate memory layer, and the storage layer,
The intermediate memory layer and the storage layer are referred to by the upper memory layer,
Wherein when the temperature of the user terminal exceeds a threshold value during operation of the user terminal including the memory system, the memory management unit stores the remaining data stored in the volatile memory included in the upper memory layer or the intermediate memory layer, 1 < / RTI > sub-memory, and then stops driving the volatile memory.
제 1 항에 있어서,
상기 제 1 서브 메모리는 캐시 메모리로 동작하는 제 1 비휘발성 메모리 및 메인 메모리로 동작하는 제 2 비휘발성 메모리를 포함하고,
상기 제 2 서브 메모리는 캐시 메모리로 동작하는 제 1 휘발성 메모리 및 메인 메모리로 동작하는 제 2 휘발성 메모리를 포함하는 메모리 시스템.
The method according to claim 1,
Wherein the first sub-memory includes a first non-volatile memory that operates as a cache memory and a second non-volatile memory that operates as a main memory,
Wherein the second sub-memory comprises a first volatile memory acting as a cache memory and a second volatile memory acting as a main memory.
제 1 항에 있어서,
상기 메모리 관리 유닛은,
상기 사용자 단말의 온도가 임계값을 초과하면 상기 제 2 서브 메모리에 저장된 잔여 데이터를 상기 제 1 서브 메모리에 저장시킨 후 상기 제 2 서브 메모리의 구동을 중지시키는 메모리 시스템.
The method according to claim 1,
The memory management unit includes:
Storing the remaining data stored in the second sub-memory in the first sub-memory and then stopping driving the second sub-memory if the temperature of the user terminal exceeds a threshold value.
제 1 항에 있어서,
상기 메모리 관리 유닛은,
더티 데이터(dirty data)가 된 이후 경과한 시간이 미리 설정된 임계값을 초과하는 경우 해당 더티 데이터를 상기 제 1 서브 메모리에 미리 저장시키는 메모리 시스템.
The method according to claim 1,
The memory management unit includes:
And stores the dirty data in the first sub-memory in advance when the elapsed time since the dirty data is exceeded exceeds a preset threshold value.
제 1 항에 있어서,
상기 메모리 관리 유닛은,
상기 제 2 서브 메모리에서 데이터 교체 이벤트가 발생한 경우, 더티 데이터를 우선적으로 상기 제 1 서브 메모리에 저장시키는 메모리 시스템.
The method according to claim 1,
The memory management unit includes:
And when the data replacement event occurs in the second sub-memory, dirty data is preferentially stored in the first sub-memory.
제 1 항에 있어서,
상기 메모리 관리 유닛은,
상기 상위 메모리 계층으로부터 가장 최근에 액세스된 데이터가 더티 데이터인 경우, 상기 제 2 서브 메모리에 저장된 클린 데이터를 상기 제 1 서브 메모리에 저장시키는 메모리 시스템.
The method according to claim 1,
The memory management unit includes:
And stores the clean data stored in the second sub-memory in the first sub-memory if the most recently accessed data from the upper memory layer is dirty data.
제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
상기 메모리 관리 유닛은,
상기 제 2 서브 메모리에 저장된 데이터들 중 소정의 조건에 해당하는 데이터를 상기 제 2 서브 메모리의 미리 설정된 영역에 저장시키고, 상기 미리 설정된 영역에 저장된 데이터의 개수가 임계값을 초과하면 해당 데이터들을 상기 제 1 서브 메모리에 저장시키는 메모리 시스템.
7. The method according to any one of claims 1 to 6,
The memory management unit includes:
Storing data corresponding to a predetermined condition among data stored in the second sub-memory in a predetermined area of the second sub-memory, and if the number of data stored in the predetermined area exceeds a threshold value, In a first sub-memory.
제 1 항에 있어서,
상기 메모리 관리 유닛은,
상기 사용자 단말의 휴지 모드(Idle mode) 진입에 따라 상기 제 2 서브 메모리에 저장된 잔여 데이터를 상기 제 1 서브 메모리에 저장시킨 후 상기 제 2 서브 메모리의 구동을 중지시키는 메모리 시스템.
The method according to claim 1,
The memory management unit includes:
Storing the remaining data stored in the second sub-memory in the first sub-memory according to the entry of the user terminal in the idle mode, and then stopping the driving of the second sub-memory.
제 1 항에 있어서,
상기 제 1 서브 메모리는 MRAM, PRAM 및 FRAM 중 하나 이상의 메모리로 이루어진 것인 메모리 시스템.
The method according to claim 1,
Wherein the first sub-memory comprises one or more of an MRAM, a PRAM, and a FRAM.
복수의 계층의 메모리의 동작을 제어하는 메모리 시스템에 있어서,
상기 메모리 시스템은 상위 메모리 계층 및 중간 메모리 계층의 동작을 제어하되,
상기 중간 메모리 계층은 상기 상위 메모리 계층에 의하여 참조되는 것으로, 상기 상위 메모리 계층의 하위에 배치되고, 비휘발성 메모리로 이루어진 제 1 서브 메모리와 휘발성 메모리로 이루어진 제 2 서브 메모리를 포함하는 것이고,
상기 메모리 시스템은 상기 메모리 시스템을 포함하는 사용자 단말의 일반 모드 동작시에 상기 사용자 단말의 온도가 임계값을 초과하면, 상기 제 2 서브 메모리에 저장된 잔여 데이터를 상기 제 1 서브 메모리에 저장시킨 후 상기 제 2 서브 메모리의 구동을 중지시키는 메모리 시스템.
A memory system for controlling operations of a plurality of hierarchical memories,
Wherein the memory system controls operation of an upper memory layer and an intermediate memory layer,
The intermediate memory layer is referred to by the upper memory layer. The intermediate memory layer includes a first sub-memory disposed below the upper memory layer and made of a non-volatile memory and a second sub-memory comprised of a volatile memory.
Wherein the memory system stores the remaining data stored in the second sub-memory in the first sub-memory when the temperature of the user terminal exceeds a threshold value during a normal mode operation of the user terminal including the memory system, And stops the driving of the second sub-memory.
삭제delete 상위 메모리 계층, 중간 메모리 계층 및 저장 장치 계층을 포함하고, 상기 중간 메모리 계층은 상기 상위 메모리 계층 및 저장 장치 계층 사이에 배치되고, 비휘발성 메모리로 이루어진 제 1 서브 메모리와 휘발성 메모리로 이루어진 제 2 서브 메모리를 포함하는 메모리 시스템의 메모리 관리 방법에 있어서,
(a) 상기 제 2 서브 메모리에 저장된 데이터들 중 미리 설정된 조건에 해당하는 데이터를 상기 제 1 서브 메모리에 저장시키는 단계;
(b) 상기 메모리 시스템을 포함하는 사용자 단말의 온도가 임계값을 초과하면 상기 제 2 서브 메모리에 저장된 잔여 데이터를 상기 제 1 서브 메모리에 저장시키는 단계; 및
(c) 상기 잔여 데이터의 저장이 완료되면, 상기 제 2 서브 메모리의 구동을 중지시키는 단계를 포함하는 메모리 관리 방법.
Wherein the intermediate memory layer comprises a first sub-memory comprised of a non-volatile memory and a second sub-memory comprised of a volatile memory disposed between the upper memory layer and the storage device layer, 1. A memory management method for a memory system including a memory,
(a) storing, in the first sub-memory, data corresponding to a predetermined condition among data stored in the second sub-memory;
(b) storing the remaining data stored in the second sub-memory in the first sub-memory if the temperature of the user terminal including the memory system exceeds a threshold value; And
(c) stopping the driving of the second sub-memory when the storage of the remaining data is completed.
제 12 항에 있어서,
상기 (b) 단계는,
상기 사용자 단말의 온도를 감지하는 단계 및
상기 사용자 단말의 온도가 임계값을 초과하면 상기 제 2 서브 메모리에 저장된 잔여 데이터를 상기 제 1 서브 메모리에 저장시키는 단계를 포함하는 메모리 관리 방법.
13. The method of claim 12,
The step (b)
Sensing a temperature of the user terminal;
Storing the remaining data stored in the second sub-memory in the first sub-memory if the temperature of the user terminal exceeds a threshold value.
제 12 항에 있어서,
상기 (b) 단계는,
상기 사용자 단말의 휴지 모드 진입에 따라 상기 제 2 서브 메모리에 저장된 잔여 데이터를 상기 제 1 서브 메모리에 저장시키는 것인 메모리 관리 방법.
13. The method of claim 12,
The step (b)
And stores the remaining data stored in the second sub-memory in the first sub-memory in accordance with the entry of the user terminal into the dormant mode.
KR1020140001464A 2014-01-06 2014-01-06 Memory system and management method therof KR101502998B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140001464A KR101502998B1 (en) 2014-01-06 2014-01-06 Memory system and management method therof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140001464A KR101502998B1 (en) 2014-01-06 2014-01-06 Memory system and management method therof

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020130078473A Division KR101469848B1 (en) 2013-07-04 2013-07-04 Memory system and management method therof

Publications (2)

Publication Number Publication Date
KR20140016405A KR20140016405A (en) 2014-02-07
KR101502998B1 true KR101502998B1 (en) 2015-03-18

Family

ID=50265406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140001464A KR101502998B1 (en) 2014-01-06 2014-01-06 Memory system and management method therof

Country Status (1)

Country Link
KR (1) KR101502998B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170114991A (en) * 2016-04-05 2017-10-16 울산과학기술원 Method for logging using non-volatile memory
US11281581B2 (en) 2020-04-16 2022-03-22 SK Hynix Inc. Memory system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004318267A (en) 2003-04-11 2004-11-11 Denso Corp Electronic controller for vehicle
JP2005166232A (en) 2003-11-14 2005-06-23 Matsushita Electric Ind Co Ltd Recording method for optical disk drive and optical disk drive
JP2005190385A (en) 2003-12-26 2005-07-14 Fujitsu Ltd Disk cache system
JP2008108026A (en) 2006-10-25 2008-05-08 Hitachi Ltd Storage system with volatile cache memory and nonvolatile memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004318267A (en) 2003-04-11 2004-11-11 Denso Corp Electronic controller for vehicle
JP2005166232A (en) 2003-11-14 2005-06-23 Matsushita Electric Ind Co Ltd Recording method for optical disk drive and optical disk drive
JP2005190385A (en) 2003-12-26 2005-07-14 Fujitsu Ltd Disk cache system
JP2008108026A (en) 2006-10-25 2008-05-08 Hitachi Ltd Storage system with volatile cache memory and nonvolatile memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170114991A (en) * 2016-04-05 2017-10-16 울산과학기술원 Method for logging using non-volatile memory
KR101939361B1 (en) 2016-04-05 2019-01-16 울산과학기술원 Method for logging using non-volatile memory
US11281581B2 (en) 2020-04-16 2022-03-22 SK Hynix Inc. Memory system

Also Published As

Publication number Publication date
KR20140016405A (en) 2014-02-07

Similar Documents

Publication Publication Date Title
US10691626B2 (en) Memory channel that supports near memory and far memory access
KR101761044B1 (en) Power conservation by way of memory channel shutdown
US8966181B2 (en) Memory hierarchy with non-volatile filter and victim caches
US10795823B2 (en) Dynamic partial power down of memory-side cache in a 2-level memory hierarchy
US8954672B2 (en) System and method for cache organization in row-based memories
KR101298171B1 (en) Memory system and management method therof
US20160041596A1 (en) Power efficient method and system for executing host data processing tasks during data retention operations in a storage device
US10558395B2 (en) Memory system including a nonvolatile memory and a volatile memory, and processing method using the memory system
JP2009205335A (en) Storage system using two kinds of memory devices for cache and method for controlling the storage system
US20170177482A1 (en) Computing system having multi-level system memory capable of operating in a single level system memory mode
US20170091099A1 (en) Memory controller for multi-level system memory having sectored cache
CN108701070B (en) Processing of error prone cache line slots for memory side caches of multi-level system memory
KR101472967B1 (en) Cache memory and method capable of write-back operation, and system having the same
US9977606B2 (en) Memory system
US20210056030A1 (en) Multi-level system memory with near memory capable of storing compressed cache lines
US10235049B2 (en) Device and method to manage access method for memory pages
US10970208B2 (en) Memory system and operating method thereof
KR101502998B1 (en) Memory system and management method therof
US20190286367A1 (en) Management device and information processing device
WO2019041903A1 (en) Nonvolatile memory based computing device and use method therefor
KR101546707B1 (en) Hybrid main memory-based memory access control method
KR101469848B1 (en) Memory system and management method therof
TWI805878B (en) Cache systems of memory systems and data caching methods of cache systems
KR101831226B1 (en) Apparatus for controlling cache using next-generation memory and method thereof
US20160210234A1 (en) Memory system including virtual cache and management method thereof

Legal Events

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

Payment date: 20180220

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190221

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200219

Year of fee payment: 6