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

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

Info

Publication number
WO2013032101A1
WO2013032101A1 PCT/KR2012/003277 KR2012003277W WO2013032101A1 WO 2013032101 A1 WO2013032101 A1 WO 2013032101A1 KR 2012003277 W KR2012003277 W KR 2012003277W WO 2013032101 A1 WO2013032101 A1 WO 2013032101A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
sub
data
layer
sub memory
Prior art date
Application number
PCT/KR2012/003277
Other languages
English (en)
French (fr)
Inventor
박기호
Original Assignee
세종대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 세종대학교산학협력단 filed Critical 세종대학교산학협력단
Publication of WO2013032101A1 publication Critical patent/WO2013032101A1/ko
Priority to US14/192,189 priority Critical patent/US20140237190A1/en

Links

Images

Classifications

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

Definitions

  • the present invention relates to a memory system of a new structure and a management method thereof.
  • Such various user terminal devices are often required to have low power consumption characteristics or heat generation characteristics while improving computing performance.
  • FIG. 1 is a diagram illustrating a memory hierarchy structure applied to a memory system according to the related art.
  • the memory system 1 includes an L1 / L2 cache memory layer 10, a main memory layer 20, and a storage device 30, and is a central processing unit (CPU). Provide data.
  • CPU central processing unit
  • the L1 / L2 cache memory layer 10 and the main memory layer 20 are composed of volatile memory such as SRAM and DRAM, and the storage device 30 is a flash memory or a hard disk drive. drive, HDD) and the like.
  • an expensive memory having a higher read / write speed is used as a memory of a higher layer in a memory hierarchy
  • a low-cost memory having a relatively slow read / write speed is used as a memory of a lower layer.
  • the L1 / L2 cache memory layer 10 will be the uppermost memory layer
  • the storage device 30 will be the lowest memory layer.
  • the CPU 40 acquires data from the storage device 30 for execution of a program, and the like, and acquires the obtained data from the L1 / L2 cache memory layer 10 and the main memory. Stored in layer 20.
  • the CPU 40 requests the L1 / L2 cache memory layer 10, i.e., a memory reference, from the data required to perform a read or write operation of the data. If it does not exist in the L1 / L2 cache memory layer 10, a cache miss may occur.
  • L1 / L2 cache memory layer i.e., a memory reference
  • a read reference or a write reference is performed on an intermediate memory layer that is lower than the upper memory layer.
  • the upper memory layer and the middle memory layer are all composed of volatile memory.
  • Volatile memory and nonvolatile memory have different characteristics in terms of density, read and write speeds, power consumption, etc. In general, volatile memory reads and writes faster than nonvolatile memory, and nonvolatile memory has a higher density than volatile memory. Is high.
  • nonvolatile memory As the development of the nonvolatile memory is actively progressed, the access speed of the nonvolatile memory is gradually improved.
  • nonvolatile memories such as MRAM, PRAM, and FRAM show up to 4 ⁇ 16 times better performance than SRAM or DRAM in density, power consumption, etc., and read performance is similar to that of conventional volatile memory. have.
  • Non-volatile memory however, has disadvantages in terms of write speed compared to volatile memory, but a new memory system that utilizes the advantages of integration density and static power consumption of non-volatile memory is proposed, and power consumption characteristics or heat generation of a user terminal are proposed. To improve the characteristics.
  • Korean Laid-Open Patent Publication No. 2011-0037092 name of the invention: a hybrid memory structure having a RAM and a flash interface and a data storage method discloses a hybrid memory structure having a control interface to a RAM memory and a flash memory. have.
  • Some embodiments of the present invention provide a memory system having a new structure and a method of managing the same, including a volatile memory and a nonvolatile memory as a main memory.
  • the memory system includes a plurality of layers of memory, between the upper memory layer, the storage layer, the upper memory layer and the storage layer An intermediate memory layer including a first sub-memory of nonvolatile memory and a second sub-memory of volatile memory in parallel and a memory for controlling operations of the upper memory layer, the intermediate memory layer, and the storage device layer; And a management unit, wherein the intermediate memory layer and the storage layer are referenced by the upper memory layer, wherein the memory management unit is in the second sub memory during normal mode operation of a user terminal including the memory system.
  • the data is previously stored in the first sub memory.
  • the memory system includes a plurality of layers of memory, and is disposed between an upper memory layer, a storage layer, the upper memory layer, and a storage layer, and includes a nonvolatile memory.
  • Data stored in the second sub-memory based on the time elapsed since the most recent reference occurred among the data stored in the intermediate memory layer and the upper memory layer including a second sub-memory composed of one sub-memory and a volatile memory in parallel.
  • a memory management unit for transferring the data to the first sub memory, wherein the memory management unit transfers the data to the first sub memory when a time elapsed since the most recent reference occurs exceeds a threshold.
  • the memory system used by the memory management method according to the third aspect of the present invention includes an upper memory layer, an intermediate memory layer, and a storage device layer, and the intermediate memory layer is disposed between the upper memory layer and the storage device layer.
  • a first sub memory composed of a nonvolatile memory and a second sub memory composed of a volatile memory in a parallel structure, wherein (a) data corresponding to a preset condition among data stored in the second sub memory is stored. Storing the remaining data stored in the second sub memory in the first sub memory according to an operating state of a user terminal including the memory system; and (c) storing the remaining data in the first sub memory. Stopping the driving of the second sub memory when the storing of the data is completed. The.
  • a new type of memory system including a volatile memory and a nonvolatile memory as a parallel structure includes storing some of the data stored in the volatile memory in a nonvolatile memory in advance, and driving the volatile memory according to an operation state of the user terminal. Can be optionally stopped. Therefore, the power consumption and the static power consumption according to the refresh operation of the volatile memory can be minimized, and the heat generation problem of the user terminal can be solved.
  • FIG. 1 is a diagram illustrating a memory hierarchy structure applied to a memory system according to the related art.
  • FIG. 2 is a diagram illustrating a memory system according to an exemplary embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a detailed configuration of a memory management unit according to an embodiment of the present invention.
  • 4A and 4B are diagrams for describing a data transfer method of a memory management unit according to an exemplary embodiment of the present invention.
  • FIG. 5 is a view for explaining a data transfer method of a memory management unit according to an exemplary embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a memory management method according to an embodiment of the present invention.
  • FIG. 7 is a diagram illustrating a memory system according to another exemplary embodiment of the present invention.
  • FIG. 2 is a diagram illustrating a memory system according to an exemplary embodiment of the present invention.
  • the memory system 100 includes an upper memory layer 110, an intermediate memory layer 120, a storage device layer 130, and a memory management unit 140, and is connected to the CPU 200.
  • the central processing unit (CPU) 200 refers to data stored in the storage layer 130, which is the lowest layer, through the intermediate memory layer 120 in the middle layer, for example, to execute a specific program. Through this process, the data referenced by the CPU 200 is stored in the upper memory layer 110 and the intermediate memory layer 120.
  • the CPU 200 may quickly process a read or write operation by using data stored in the upper memory layer 110 having a high read / write speed when referring to the corresponding data again.
  • the upper memory layer 110 may include a register, an L1 cache, an L2 cache, or the like, and may be configured of 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, retrieves the requested data, and stores the requested data in the upper memory layer 110. Search for existence.
  • the upper memory layer 110 may execute the intermediate memory layer. Request data for which a reference failure has occurred to 120. That is, when a reference failure occurs, the upper memory layer 110 requests data in which the reference failure occurs from the first sub memory 122 and the second sub memory 124 of the intermediate memory layer 120.
  • the intermediate memory layer 120 is a memory layer having a lower read / write speed performance than the upper memory layer 110. However, it may have a larger capacity than the upper memory layer 110.
  • the upper memory layer 110 transmits the corresponding data to the first sub-memory 122 or the same. It may be acquired from the second sub memory 124.
  • 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.
  • the first sub memory 122 may include one or more nonvolatile memories.
  • one or more memories of MRAM, PRAM, and FRAM may be used as the first sub memory 122.
  • the first sub memory 122 may include a plurality of different types of nonvolatile memories. In this case, when a plurality of different types of nonvolatile memories are included, the physical location may be determined such that the nonvolatile memory having the fastest memory access speed is located at the upper memory hierarchy 110. That is, the hierarchical structure may be used even in the first sub memory 122 based on the memory access speed.
  • the second sub memory 124 may include one or more volatile memories, and include an SRAM or a DRAM having faster read / write speed performance than the first sub memory 122.
  • the second sub memory 124 may include a plurality of different types of volatile memories.
  • the physical location may be determined such that the volatile memory having the fastest memory access speed is located on the upper memory layer 110 side. Can be. That is, the hierarchical structure may be used even in the second sub memory 124 based on the memory access speed.
  • the first sub memory 122 may be configured as low cost memories having a lower read / write speed performance than the second sub memory 124.
  • Nonvolatile memory generally has lower read / write performance than volatile memory.
  • 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 superior to the write speed.
  • the difference between the read speed and the write speed of the nonvolatile memory is greater than the difference between the read speed and the write speed of the 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 configured as the volatile memory. That is, the difference between the write speeds of the first sub memory 122 and the second sub memory 124 is greater than the difference between the read speeds of the first sub memory 122 and the second sub memory 124.
  • the storage layer 130 stores all data for executing the program.
  • the storage layer 130 is composed of nonvolatile memory and may be configured as a flash memory or a hard disk drive.
  • the storage device layer 130 provides the CPU 200 with the requested data through the intermediate memory layer 120 and the upper memory layer 110 at the request of the CPU 200.
  • the second sub memory 124 may load the data from the storage device layer 130 and provide the data to the upper memory layer 110 when the first data is loaded.
  • data initially provided from the storage device layer 130 to the upper memory layer 110 configured as volatile memory is first transferred through the upper memory layer 124 through the second sub memory 124 configured as volatile memory. 110).
  • the upper memory layer 110 requests all of the corresponding data from the first sub memory 122 and the second sub memory 124, thereby providing a first request.
  • the data may be provided from the sub memory 122 and the second sub memory 124.
  • 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 a low probability of being referred to again among data stored in the second sub memory 124 is transferred to the first sub memory 122 in advance. According to such an operation, in stopping driving of the second sub memory 124 according to a specific condition, time and effort required to transfer the data stored in the second sub memory 124 to the first sub memory 122. Can be minimized.
  • FIG. 3 is a diagram illustrating a detailed configuration of a memory management unit according to an embodiment of the present invention.
  • the memory management unit 140 may include an access time manager 142, a data transfer controller 144, and a data information manager 146.
  • Data stored in the second sub memory 124 may be largely divided into dirty data and clean data.
  • the same data is recorded not only in the cache memory but also in the main memory such as the RAM, so that the data is matched.
  • the data is classified into a write through method and a write back method according to whether data is simultaneously recorded.
  • the write-through method writes data at the same time for the cache memory and the RAM.
  • the write-back method writes data only for the cache memory and later writes the data to the RAM when the corresponding data in the cache memory is replaced.
  • the write-back method is mainly used to solve the disadvantage of slowing down the overall operation speed because the write-through method must be performed every time for the main memory which is slower than the cache memory.
  • 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 the update requiring the data to be matched later in relation to the cache memory is necessary.
  • 'clean data' dirty data
  • dirty data dirty data
  • a flag, a dirty bit, or the like is configured to indicate whether or not each data is dirty. That is, in the relationship between the upper memory cache memory and the lower memory RAM, dirty bits are used to indicate that a value stored in the cache memory has changed with reference to the RAM. Since the data block of the cache memory having the dirty bit activated has a different value from that of the data block stored in the RAM, the value of the cache memory is written to the RAM when it is replaced in the future.
  • the data stored in the RAM may be dirty data different from the data stored in the storage device layer 130.
  • the non-dirty data may be deactivated. Transfer to volatile memory is required, and this transfer can involve a significant amount of time. Accordingly, the data having a low probability that a re-access event occurs with respect to the data stored in the second sub memory 124 is transferred to the first sub memory 122 in advance.
  • the access time manager 142 manages information on the access time of the cache memory layer 110 for data stored in the first sub memory 122 or the second sub memory 124 for each data. Then, it is determined whether to transfer data based on the access time information for each data.
  • the data transfer control unit 144 determines the data having a low probability of occurrence of a re-access event and transfers the data to the first sub memory 122.
  • the reaccess event may include both a read event or a write event for the memory.
  • the data information manager 146 manages various states of the data stored in the first sub memory 122 or the second sub memory 124, address information, address translation information according to data transfer, and the like. As a result, when there is a request for access to the intermediate memory layer 120 or the storage device layer 130 by the upper memory layer 110, data corresponding to the request is transmitted to the upper memory layer 110.
  • 4A and 4B are diagrams for describing a data transfer method of a memory management unit according to an exemplary embodiment of the present invention.
  • the memory management unit 140 periodically checks the time that has elapsed since the dirty state of the dirty data. When the time elapsed since the dirty state exceeds the preset threshold value, the dirty data d2 is transferred to the first sub memory 122. That is, if there is no access to the data for a predetermined time or more, the memory management unit 140 considers that no additional access to the data will occur, and transfers the data to the first sub memory 122. .
  • the memory management unit 140 presets a time elapsed from when the corresponding data is dirty to the time when the data replacement event occurs.
  • 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 layer 110, a cache access failure may occur and the second sub memory 124 may be used. The replacement of the data of the second sub-memory 124 may be required to store another data d3 of FIG.
  • the memory management unit 140 when there is data that has elapsed since the time before the data replacement event occurs after the dirty state, the memory management unit 140 considers that there will be no access to the data in the future, and the data is regarded as the first sub memory. Transfer to 122.
  • the previous method which examines the time elapsed since it periodically becomes dirty, performs the process periodically and may not be suitable for optimization. Therefore, the elapsed time is compared with the threshold only in the case where the data replacement event occurs for the memory including the dirty data.
  • the selected dirty data or clean data may be transferred according to a general cache block replacement policy.
  • the memory management unit 140 may have a time elapsed since the dirty data stored in the second sub memory 124 becomes a dirty state, or the number of dirty data stored in the second sub memory 124 may be reduced. If smaller than the preset threshold value, one of the clean data may be selected and transferred to the first sub memory 122. When there is a plurality of clean data, the memory management unit 140 may transfer the clean data having the oldest access time from the upper memory layer 110 among the clean data.
  • the memory management unit 140 may clean the second sub memory 124. Data may be transferred to the first sub memory 122.
  • the memory management unit 140 may bundle the data to be transferred to the first sub memory 122 and package the data to be transferred at once.
  • FIG. 5 is a view for explaining a data transfer method of a memory management unit according to an exemplary embodiment of the present invention.
  • the memory management unit 140 stores data that needs to be transferred in the preset area 125 of the second sub memory 124, and the number of data stored in the preset area 125 is set to a threshold value. If exceeded, the corresponding data is transferred to the first sub memory 122. In this case, clean data as well as dirty data may be stored in the preset area 125.
  • FIG. 6 is a flowchart illustrating a memory management method according to an embodiment of the present invention.
  • the memory management unit 140 transfers data corresponding to a preset condition among data stored in the second sub memory 124 to the first sub memory 122 (S610).
  • the memory management unit 140 when the time elapsed since the dirty state among the dirty data becomes more than the threshold value, the memory management unit 140 stores the corresponding data in the first sub memory 122. Transfer to). In addition, when the time elapsed from the dirty state to the time when the data replacement event occurs exceeds the threshold value, the memory management unit 140 may perform the reaccess event on the corresponding dirty data. The probability of occurrence is low, and the dirty data is transferred to the first sub memory 122.
  • the memory management unit 140 may transfer clean data instead of dirty data. That is, if the time elapsed since the dirty data becomes the dirty state is less than the threshold value, the number of the dirty data is not large, or the access to the dirty data is most recent among the various data, the clean data is selected. 1 may be transferred to the sub memory 122.
  • the remaining data stored in the second sub memory 124 is transferred to the first sub memory 122 according to the operating state of the user terminal including the memory system 100. For example, when the user terminal enters an idle mode according to an operating condition of the user terminal or a user's request, the memory management unit 140 removes all remaining data stored in the second sub memory 124. 1 is transferred to the sub memory 122.
  • the residual data may include dirty data or clean data.
  • the temperature state of the user terminal may be detected and the transfer operation may be performed accordingly. For example, when the temperature sensed by the temperature sensor exceeds the threshold in a state in which the temperature sensor is provided in advance on the user terminal, the driving of the second sub memory 124 is stopped and the memory system 100 is stopped. Minimize fever. Meanwhile, the temperature sensor may be arbitrarily included in the user terminal side, and in some cases, may be included in the memory system 100.
  • the memory management unit 140 stops driving the second sub memory 124 (S630).
  • the driving of the second sub memory 124 may be selectively stopped according to the operating state of the user terminal.
  • the second sub memory 124 is formed of DRAM or the like, a periodic refresh operation is required to store data.
  • the present invention can reduce the power consumed by the refresh operation or the like, and can also solve the heat generation problem caused by the refresh operation.
  • the memory reference delay time is increased to increase the operation performance of the CPU or the like. Can be reduced. For this reason, in the present invention, the power consumption used by the CPU is reduced, thereby solving the heat generation problem.
  • FIG. 7 is a diagram illustrating a memory system according to another exemplary embodiment of the present invention.
  • the memory system 700 includes an upper memory layer 710, an intermediate memory layer 720, a storage device layer 730, and a memory management unit 740.
  • the configuration of the intermediate memory layer 720 is somewhat different.
  • the upper memory layer 710 corresponds to the L1 cache
  • the first nonvolatile memory 723 and the first volatile memory 725 of the first sub memory 722 and the second sub memory 726 are stored.
  • a part of the cache memory may also include nonvolatile memory and volatile memory having different characteristics in parallel.
  • each sub memory may be configured similarly to the configuration of the intermediate memory layer 120 of FIG. 2. That is, the first sub memory 722 may use one or more memories of MRAM, PRAM, and FRAM as the first nonvolatile memory 723 or the second nonvolatile memory 724.
  • the second sub memory 726 includes an SRAM or a DRAM having faster read / write speed performance than the first sub memory 722.
  • the first sub memory 722 and the second sub memory 726 are also configured for the cache memory, and data satisfying a preset condition stored in the second sub memory 726 is stored in the first sub memory ( 722 may be applied.
  • the memory management unit 740 may pre-clean dirty data or clean data having a preset condition among the dirty data of the second sub memory 726 to the first sub memory 722.
  • the transfer operation can be performed.
  • the memory management unit 740 may selectively stop the driving of the second sub memory 726 according to the operating state of the user terminal. For this reason, in another embodiment of the present invention, when the second sub memory 726 is configured as a memory requiring periodic refresh operation, the driving may be paused according to the operation state, thereby reducing power consumed by the refresh operation. have.
  • the present invention can also solve the heat generation problem caused by the refresh operation.
  • by stopping the driving of the memory it is possible to prevent static power consumption of the memory.

Landscapes

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

Abstract

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

Description

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

Claims (20)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/192,189 US20140237190A1 (en) 2011-08-31 2014-02-27 Memory system and management method therof

Applications Claiming Priority (2)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/192,189 Continuation US20140237190A1 (en) 2011-08-31 2014-02-27 Memory system and management method therof

Publications (1)

Publication Number Publication Date
WO2013032101A1 true WO2013032101A1 (ko) 2013-03-07

Family

ID=47756543

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/003277 WO2013032101A1 (ko) 2011-08-31 2012-04-27 메모리 시스템 및 그 관리방법

Country Status (3)

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

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140082181A (ko) * 2012-12-24 2014-07-02 에스케이하이닉스 주식회사 메모리 시스템
KR101475931B1 (ko) * 2013-05-24 2014-12-23 고려대학교 산학협력단 캐시 및 그 운영 방법
KR101443678B1 (ko) * 2013-06-04 2014-09-26 명지대학교 산학협력단 하이브리드 메인 메모리와 플래시 메모리 저장 장치의 버퍼 캐시 방법
KR101864831B1 (ko) * 2013-06-28 2018-06-05 세종대학교산학협력단 가상 캐시를 포함하는 메모리 및 그 관리 방법
KR101521476B1 (ko) * 2013-08-29 2015-05-19 에스케이텔레콤 주식회사 단말 보호를 위한 단말 장치 및 컴퓨터 판독가능 기록매체
CN105518688B (zh) 2013-08-29 2019-12-31 Sk电信有限公司 终端装置、用于保护该终端装置的方法、以及终端管理服务器
KR101939361B1 (ko) * 2016-04-05 2019-01-16 울산과학기술원 비휘발성 메모리를 이용한 로깅 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09244954A (ja) * 1996-03-11 1997-09-19 Toshiba Corp 情報記憶装置
JPH11353120A (ja) * 1998-06-11 1999-12-24 Nec Ibaraki Ltd 磁気ディスク装置およびライトデータのバックアップ方法
JP2008108026A (ja) * 2006-10-25 2008-05-08 Hitachi Ltd 揮発性キャッシュメモリと不揮発性メモリとを備えたストレージシステム
JP2009205335A (ja) * 2008-02-27 2009-09-10 Hitachi Ltd 2種のメモリデバイスをキャッシュに用いるストレージシステム及びそのストレージシステムを制御する方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363520B1 (en) * 2005-03-29 2008-04-22 Emc Corporation Techniques for providing power to a set of powerable devices
US8271737B2 (en) * 2009-05-27 2012-09-18 Spansion Llc Cache auto-flush in a solid state memory device
US8874935B2 (en) * 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09244954A (ja) * 1996-03-11 1997-09-19 Toshiba Corp 情報記憶装置
JPH11353120A (ja) * 1998-06-11 1999-12-24 Nec Ibaraki Ltd 磁気ディスク装置およびライトデータのバックアップ方法
JP2008108026A (ja) * 2006-10-25 2008-05-08 Hitachi Ltd 揮発性キャッシュメモリと不揮発性メモリとを備えたストレージシステム
JP2009205335A (ja) * 2008-02-27 2009-09-10 Hitachi Ltd 2種のメモリデバイスをキャッシュに用いるストレージシステム及びそのストレージシステムを制御する方法

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2013032101A1 (ko) 메모리 시스템 및 그 관리방법
US8843706B2 (en) Memory management among levels of cache in a memory hierarchy
US8230179B2 (en) Administering non-cacheable memory load instructions
US10282292B2 (en) Cluster-based migration in a multi-level memory hierarchy
WO2017196138A2 (en) System and method for early data pipeline lookup in large cache design
US8392664B2 (en) Network on chip
JP5624583B2 (ja) プログラム、計算処理装置、メモリ管理方法および計算機
JP5348429B2 (ja) 持続性メモリのためのキャッシュコヒーレンスプロトコル
WO2012091234A1 (ko) 비휘발성 메모리 및 휘발성 메모리를 포함하는 메모리 시스템 및 그 시스템을 이용한 처리 방법
US20090182954A1 (en) Network on Chip That Maintains Cache Coherency with Invalidation Messages
US11320890B2 (en) Power-conserving cache memory usage
US7640399B1 (en) Mostly exclusive shared cache management policies
WO2010107176A2 (ko) 디램 버퍼 관리 장치 및 방법
WO2012124976A2 (en) Hybrid system architecture for random access memory
JP7407134B2 (ja) 記憶システムをメインメモリとして使用するための方法および装置
US12014213B2 (en) Active hibernate and managed memory cooling in a non-uniform memory access system
WO2010107173A1 (ko) Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법
US9037804B2 (en) Efficient support of sparse data structure access
WO2014209080A1 (ko) 가상 캐시를 포함하는 메모리 시스템 및 그 관리 방법
KR101502998B1 (ko) 메모리 시스템 및 그 관리 방법
WO2011105708A2 (ko) 솔리드 스테이트 디스크 및 이를 포함하는 사용자 시스템
JP3516326B2 (ja) 共有キャッシュメモリを有するメモリコントローラ及びこれを備えたコンピュータシステム
US8117393B2 (en) Selectively performing lookups for cache lines
KR101469848B1 (ko) 메모리 시스템 및 그 관리 방법
CN117311638A (zh) 缓存管理方法、缓存管理装置、处理器

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12828053

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12828053

Country of ref document: EP

Kind code of ref document: A1