KR101502998B1 - Memory system and management method therof - Google Patents
Memory system and management method therof Download PDFInfo
- 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
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
본 발명은 새로운 구조의 메모리 시스템 및 그 관리 방법에 관한 것이다.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
L1/L2 캐시(cache) 메모리 계층(10) 및 메인 메모리 계층(20)은 SRAM, DRAM 등의 휘발성 메모리로 구성되며, 저장 장치(30)는 플래시 메모리(flash memory) 또는 하드 디스크 드라이브(hard disk drive, HDD) 등의 비휘발성 메모리로 구성된다.The L1 / L2
일반적으로 메모리의 계층 구조에서 상위 계층의 메모리일수록 읽기/쓰기 속도가 빠른 고가의 메모리가 사용되며, 하위 계층의 메모리일수록 읽기/쓰기 속도가 상대적으로 느린 저가의 메모리가 사용된다. 도 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
도 1에 도시된 종래의 기술에서 CPU(40)는 프로그램 등의 실행을 위하여 저장 장치(30)로부터 데이터를 획득하며, 획득한 데이터를 L1/L2 캐시(cache) 메모리 계층(10) 및 메인 메모리 계층(20)에 저장한다.1, the
CPU(40)는 데이터의 읽기(read) 또는 쓰기(write) 동작을 수행하기 위하여 필요한 데이터를 L1/L2 캐시(cache) 메모리 계층(10)에 요구, 즉 메모리 참조를 요구하며, 요구된 데이터가 L1/L2 캐시(cache) 메모리 계층(10)에 존재하지 않는 경우 참조 실패(cache miss)가 발생할 수 있다.The
참조 실패(cache miss)가 발생하는 경우, 참조 실패가 발생한 데이터에 대하여 메인 메모리 계층(20)에 다시 읽기 참조 또는 쓰기 참조의 처리가 요청된다.If a cache miss occurs, the
이처럼 종래의 기술에 따르면, 상위 메모리 계층, 예를 들어 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
CPU(Central Processing Unit)(200)는 특정 프로그램의 실행 등을 위하여 최하위 계층인 저장 장치 계층(130)에 저장된 데이터를 중간 계층에 있는 중간 메모리 계층(120)을 통하여 참조한다. 이러한 과정을 통하여 CPU(200)에 의해서 참조된 데이터는 상위 메모리 계층(110) 및 중간 메모리 계층(120)에 저장된다.The central processing unit (CPU) 200 refers to data stored in the
CPU(200)는 이후 해당 데이터를 다시 참조할 경우 읽기/쓰기 속도가 빠른 상위 메모리 계층(110)에 저장된 데이터를 이용하여 읽기 또는 쓰기 동작을 신속히 처리할 수 있다. The
상위 메모리 계층(110)은 레지스터, L1 캐시 또는 L2 캐시 등을 포함할 수 있으며, SRAM 또는 DRAM 등의 휘발성 메모리로 구성될 수 있다. 상위 메모리 계층(110)은 CPU(200)로부터 읽기(read) 또는 쓰기(write)를 위한 특정 데이터의 요청을 수신하고, 요청된 데이터를 검색하여 요청된 데이터가 상위 메모리 계층(110)에 저장되어 있는지 검색한다.The
메모리 검색 결과, 요청된 읽기 동작 또는 쓰기 동작을 위한 데이터가 상위 메모리 계층(110)의 메모리에 존재하지 않는 경우, 즉 참조 실패(access miss)가 발생한 경우, 상위 메모리 계층(110)은 중간 메모리 계층(120)에게 참조 실패가 발생한 데이터를 요청한다. 즉, 상위 메모리 계층(110)은 참조 실패가 발생한 경우, 중간 메모리 계층(120)의 제 1 서브 메모리(122) 및 제 2 서브 메모리(124)로 참조 실패가 발생한 데이터를 요청한다.The
중간 메모리 계층(120)은 상위 메모리 계층(110)보다 읽기/쓰기 속도 성능이 낮은 메모리 계층이다. 하지만 상위 메모리 계층(110)보다 높은 집적도를 가질 수 있다.The
상위 메모리 계층(110)은 중간 메모리 계층(120)에 포함된 제 1 서브 메모리(122) 또는 제 2 서브 메모리(124)에 요청한 데이터가 존재하는 경우, 해당 데이터를 제 1 서브 메모리(122) 또는 제 2 서브 메모리(124)로부터 획득할 수 있다.When the requested data exists in the
중간 메모리 계층(120)은 제 1 서브 메모리(122) 및 제 2 서브 메모리(124)를 포함한다. 제 1 서브 메모리(122) 및 제 2 서브 메모리(124)는 병렬 구조로 중간 메모리 계층(120)에 포함될 수 있다.The
본 발명의 일 실시예에서는 제 1 서브 메모리(122)는 하나 이상의 비휘발성 메모리를 포함할 수 있다. 바람직하게, MRAM, PRAM 및 FRAM 중 하나 이상의 메모리를 제 1 서브 메모리(122)로서 사용할 수 있다. 또한, 서로 상이한 종류의 비휘발성 메모리를 복수 개 포함할 수 있다. 이때, 서로 상이한 종류의 비휘발성 메모리를 복수 개 포함하는 경우에는 메모리 접근 속도가 가장 빠른 비 휘발성 메모리를 상위 메모리 계층(110)측에 위치하도록 물리적 위치를 결정할 수 있다. 즉, 제 1 서브 메모리(122) 내에서도 메모리 접근 속도에 기초하여 계층적 구조를 사용할 수 있다.In one embodiment of the present invention, the
이에 반하여, 제 2 서브 메모리(124)는 제 1 서브 메모리(122)에 비하여 읽기/쓰기 속도 성능이 빠른 SRAM 또는 DRAM 을 포함한다. 이때, 서로 상이한 종류의 휘발성 메모리를 복수 개 포함할 수 있으며, 이러한 경우에는 메모리 접근 속도가 가장 빠른 휘발성 메모리를 상위 메모리 계층(110)측에 위치하도록 물리적 위치를 결정할 수 있다. 즉, 제 2 서브 메모리(124) 내에서도 메모리 접근 속도에 기초하여 계층적 구조를 사용할 수 있다.On the other hand, the
이와 같이, 제 1 서브 메모리(122)는 제 2 서브 메모리(124)보다 읽기/쓰기 속도 성능이 낮은 저가의 메모리들로 구성될 수 있다. 비 휘발성 메모리는 휘발성 메모리에 비해 읽기/쓰기 속도 성능이 모두 낮다. 특히 비 휘발성 메모리와 휘발성 메모리 사이의 읽기 속도의 차이는 크지 않은 편이나, 비 휘발성 메모리와 휘발성 메모리 사이의 쓰기 속도의 차이는 매우 큰 편이다. 즉, 비 휘발성 메모리의 읽기 속도는 쓰기 속도에 비해 상대적으로 우수하다. 일반적으로 메모리의 읽기 속도가 쓰기 속도보다 빠르기 때문에 비 휘발성 메모리의 읽기 속도와 쓰기 속도의 차이는 휘발성 메모리의 읽기 속도와 쓰기 속도의 차이보다 크다.As such, the
따라서, 제 1 서브 메모리(122)가 비휘발성 메모리로 구성된다면 읽기 속도와 쓰기 속도의 차이는, 휘발성 메모리로 구성된 제 2 서브 메모리(124)의 읽기 속도와 쓰기 속도의 차이보다 더 클 수 있다. 즉, 제 1 서브 메모리(122)와 제 2 서브 메모리(124)의 읽기 속도의 차이보다, 제 1 서브 메모리(122)와 제 2 서브 메모리(124)의 쓰기 속도의 차이가 더 크다. Thus, if the
상위 메모리 계층(110)에서 참조 실패가 발생한 경우에는 중간 메모리 계층(120)에 포함된 제 1 서브 메모리(122)와 제 2 서브 메모리(124)로부터 참조 실패가 발생한 데이터를 로딩한다. 만약, 중간 메모리 계층(120)에서도 해당 데이터가 없는 경우에는 저장 장치 계층(130)으로부터 참조 실패가 발생한 데이터를 로딩한다.When a reference failure occurs in the
저장 장치 계층(130)은 프로그램의 수행을 위한 모든 데이터를 저장한다. 저장 장치 계층(130)은 비휘발성 메모리로 구성되며, 플래시 메모리 또는 하드 디스크 드라이브로 구성될 수 있다.The
*40저장 장치 계층(130)은 CPU(200)의 요청에 따라 중간 메모리 계층(120) 및 상위 메모리 계층(110)을 통해, 요청된 데이터를 CPU(200)에 제공한다.The
한편, 제 2 서브 메모리(124)는 최초 데이터를 로딩할 때, 저장 장치 계층(130)으로부터 데이터를 로딩하여 상위 메모리 계층(110)으로 제공할 수 있다. 이처럼 본 발명의 일 실시예에서, 저장 장치 계층(130)으로부터 휘발성 메모리로 구성된 상위 메모리 계층(110)으로 최초로 제공되는 데이터는 우선 휘발성 메모리로 구성된 제 2 서브 메모리(124)를 통해 상위 메모리 계층(110)으로 제공된다. 이후, 상위 메모리 계층(110)에서 메모리 참조 실패가 발생한 경우, 상위 메모리 계층(110)은 제 1 서브 메모리(122) 및 제 2 서브 메모리(124)에 해당 데이터를 모두 요청(request)하여 제 1 서브 메모리(122) 및 제 2 서브 메모리(124)로부터 해당 데이터를 제공받을 수 있다.Meanwhile, the
메모리 관리 유닛(140)은 캐쉬 메모리 계층(110), 중간 메모리 계층(120) 또는 저장 장치 계층(130)에 접속되어, 각 메모리 계층에 저장된 데이터의 이송 여부를 제어한다. 특히, 본원 발명에서는 제 2 서브 메모리(124)에 저장된 데이터들 중 다시 참조될 확률이 낮은 데이터를 제 1 서브 메모리(122)로 미리 이송한다. 이와 같은 동작에 따라, 제 2 서브 메모리(124)의 구동을 특정 조건에 따라 중지함에 있어서, 제 2 서브 메모리(124)에 저장된 데이터를 제 1 서브 메모리(122)로 이송시키는데 소요되는 시간 및 노력을 최소화할 수 있다. The
도 3은 본원 발명의 일 실시예에 따른 메모리 관리 유닛의 상세 구성을 도시한 도면이다.3 is a block diagram illustrating a memory management unit according to an embodiment of the present invention.
메모리 관리 유닛(140)은 액세스 시간 관리부(142), 데이터 이송 제어부(144) 및 데이터 정보 관리부(146)를 포함할 수 있다.The
각 구성 요소의 설명에 앞서, 메모리 관리 유닛(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
이때, 캐시 메모리의 데이터와 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
이를 위하여 액세스 시간 관리부(142)는 제 1 서브 메모리(122) 또는 제 2 서브 메모리(124)에 저장된 데이터에 대한 캐쉬 메모리 계층(110)의 액세스 시점에 대한 정보를 각 데이터 별로 관리한다. 이후, 각 데이터에 대한 액세스 시간 정보를 기초로 데이터 이송 여부를 판단한다.To this end, the access
데이터 이송 제어부(144)는 재접근 이벤트가 발생할 확률이 낮은 조건의 데이터를 판별하여 제 1 서브 메모리(122)로 이송되도록 한다. 이때, 재접근 이벤트에는 메모리에 대한 읽기 이벤트 또는 쓰기 이벤트를 모두 포함할 수 있다.The data
데이터 정보 관리부(146)는 제 1 서브 메모리(122) 또는 제 2 서브 메모리(124)에 저장된 데이터들의 각종 상태, 어드레스 정보, 데이터 이송에 따른 어드레스 변환 정보 등을 관리한다. 이를 통해, 상위 메모리 계층(110)에 의한 중간 메모리 계층(120) 또는 저장 장치 계층(130)에 대한 접근 요청이 있는 경우, 요청에 해당하는 데이터가 상위 메모리 계층(110)으로 전송되도록 한다. The data
이제, 도면을 통해 구체적인 이송 방법을 살펴보기로 한다.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
다음으로 도 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
주기적으로 더티 상태가 된 이후 경과한 시간을 조사하는 앞선 방법의 경우에는 주기적으로 프로세스를 수행하므로, 최적화에 적합하지 않을 수 있다. 이에, 더티 데이터와 연관된 캐시 메모리에 대하여 데이터 교체 이벤트가 발생한 경우에 대해서만, 경과 시간을 임계값과 비교하도록 한다. 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
또한, 제 2 서브 메모리(124)에 저장된 데이터들 중 상위 메모리 계층(110)으로부터 가장 최근에 액세스된 데이터가 더티 데이터인 경우, 제 2 서브 메모리(110)에 저장된 클린 데이터를 제 1 서브 메모리(122)로 이송하도록 할 수 있다. When the data most recently accessed from the
한편, 본원 발명에서는 제 1 서브 메모리(122)로 이송할 데이터를 패키지로 묶어서 한꺼번에 이송할 수 도 있다.In the present invention, data to be transferred to the
도 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
한편, 메모리 관리 유닛(140)은 라이트 쓰루 방식으로 동작할 경우 상이한 방식으로 메모리 관리를 수행할 수 있다. 즉, 라이트 쓰루 방식에서는 더티 데이터와 클린 데이터의 개념이 없는 상태이므로, 상위 메모리 계층(110)에 저장된 데이터에 대한 가장 최근에 참조가 발생한 이후 경과한 시간을 기준으로 해당 데이터가 저장될 공간을 제 1 서브 메모리(122)와 제 2 서브 메모리(124)로 분류하여 저장할 수 있다. On the other hand, the
즉, 상위 메모리 계층(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
도 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
예를 들어, 도 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
또한, 경우에 따라 더티 데이터가 아닌 클린 데이터를 이송할 수 도 있다. 즉, 더티 데이터가 더티 상태가 된 이후 경과한 시점이 임계값보다 작거나, 더티 데이터의 개수가 많지 않거나, 여러 데이터들 중 더티 데이터에 대한 접근이 가장 최근에 있었던 경우에는 클린 데이터를 선택하여 제 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
이는 제 2 서브 메모리(124)의 구동 중지 전에 제 2 서브 메모리(124)에 저장된 데이터를 제 1 서브 메모리(122)로 이송시켜, 캐시 미스 상태가 발생하는 것을 방지하기 위함이다.This is because the data stored in the
이때, 휴지 모드뿐만 아니라, 사용자 단말의 온도 상태를 감지하여 그에 따라 이송 동작을 수행할 수 있다. 예를 들어, 사용자 단말측에 온도 감지 센서를 미리 구비 시킨 상태에서, 온도 감지 센서를 통해 센싱된 온도가 임계값을 초과하는 경우에는 제 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
다음으로, 제 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
도 7은 본원 발명의 다른 실시예에 따른 메모리 시스템을 도시한 도면이다.7 is a diagram illustrating a memory system according to another embodiment of the present invention.
상기 메모리 시스템(700)은 상위 메모리 계층(710), 중간 메모리 계층(720), 저장 장치 계층(730) 및 메모리 관리 유닛(740)을 포함한다. The
도 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
각 서브 메모리의 구성은 도 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
이에 반하여, 제 2 서브 메모리(726)는 제 1 서브 메모리(722)에 비하여 읽기/쓰기 속도 성능이 빠른 SRAM 또는 DRAM 을 포함한다. On the other hand, the
이와 같이, 캐시 메모리의 구성에 대해서도 제 1 서브 메모리(722) 및 제 2 서브 메모리(726)를 구성하고, 제 2 서브 메모리(726)에 저장된 미리 설정된 조건을 만족하는 데이터를 제 1 서브 메모리(722)로 이송시키는 구성을 적용할 수 있다.As described above, the
즉, 도 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
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다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 비휘발성 메모리 및 메인 메모리로 동작하는 제 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.
상기 메모리 관리 유닛은,
상기 사용자 단말의 온도가 임계값을 초과하면 상기 제 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.
상기 메모리 관리 유닛은,
더티 데이터(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.
상기 메모리 관리 유닛은,
상기 제 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.
상기 메모리 관리 유닛은,
상기 상위 메모리 계층으로부터 가장 최근에 액세스된 데이터가 더티 데이터인 경우, 상기 제 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.
상기 메모리 관리 유닛은,
상기 제 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.
상기 메모리 관리 유닛은,
상기 사용자 단말의 휴지 모드(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 서브 메모리는 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.
(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.
상기 (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.
상기 (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.
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)
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)
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 |
-
2014
- 2014-01-06 KR KR1020140001464A patent/KR101502998B1/en active IP Right Grant
Patent Citations (4)
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)
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 |