KR101863590B1 - Cache memory apparatus and method having function of saving energy for refresh - Google Patents
Cache memory apparatus and method having function of saving energy for refresh Download PDFInfo
- Publication number
- KR101863590B1 KR101863590B1 KR1020160161010A KR20160161010A KR101863590B1 KR 101863590 B1 KR101863590 B1 KR 101863590B1 KR 1020160161010 A KR1020160161010 A KR 1020160161010A KR 20160161010 A KR20160161010 A KR 20160161010A KR 101863590 B1 KR101863590 B1 KR 101863590B1
- Authority
- KR
- South Korea
- Prior art keywords
- cache
- refresh
- data
- sub
- line data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1636—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
본 발명은 캐시 메모리장치에 관한 것으로, 캐시 데이터를 라인 단위로 압축하여 서로 다른 저장 영역에 분할 저장하도록 캐시 메모리를 구성하고, 압축된 캐시 라인 데이터가 저장된 저장 영역에 대해서만 리프레시 처리를 수행함으로써, 리프레시 수행을 최소화하여 이에 따른 소비전력을 절감할 수 있도록 해 주는 캐시 메모리장치 및 그 방법에 관한 것이다. The present invention relates to a cache memory device, in which a cache memory is configured to compress cache data in units of lines and to divide and store the cache data in different storage areas, and to perform refresh processing only on storage areas in which compressed cache line data are stored, And more particularly, to a cache memory device and a method thereof that can minimize power consumption and thereby reduce power consumption.
캐시 메모리는 메인 메모리로부터 읽어들인 명령이나 프로그램들로 채워지는 버퍼 형태의 고속 기억 장치로서, 자주 액세스하는 데이터나 프로그램 명령을 반복해서 검색하지 않고도 즉각 사용할 수 있도록 저장해두는 영역이다. A cache memory is a buffer-type high-speed storage device filled with commands or programs read from main memory, and is an area in which frequently accessed data or program commands are stored for immediate use without repeatedly searching.
최근 프로세서의 성능이 향상됨에 따라 프로세서 코어와 메인 메모리 간의 병목 현상(bottleneck)을 줄이기 위한 캐시 메모리의 중요성은 날로 커지고 있다.As the performance of recent processors has improved, the importance of cache memory to reduce bottlenecks between processor cores and main memory has been increasing.
또한, 캐시 메모리의 활용도가 점점 높아지고, 캐시의 용량이 점점 커지면서 구조가 갈수록 복잡해짐에 따라 캐시가 전체 칩의 전력 소모에 미치는 영향도 커지고 있다.In addition, as the utilization of the cache memory becomes higher and the capacity of the cache becomes larger and more complicated, the influence of the cache on the power consumption of the entire chip is also increasing.
특히, 최근에는 프로세서 혹은 ASIC의 다이 내부나 패키지 안에 내장된 축전기 방식의 DRAM 형태로 구성되는 eDRAM(Embedded DRAM) 기반의 캐시 메모리가 적용되어 이용되고 있다.Particularly, eDRAM (Embedded DRAM) -based cache memory, which is a capacitor type DRAM built in a die or a package of a processor or an ASIC, is recently applied.
상기한 eDRAM 기반의 캐시 메모리는 SRAM에 비해 밀도가 높아 면적대비 용량이 크기 때문에 좀 더 많은 메모리를 내장해 사용할 수 있으나, 데이터를 유지하기 위해 주기적으로 리프레시(refresh) 동작을 수행하여야만 한다. Since the eDRAM-based cache memory has a higher density than the SRAM and has a larger capacity than the SRAM, more memory can be used, but a refresh operation must be periodically performed to maintain data.
이러한 동적 메모리 장치에서의 리프레시 동작은 전력 소모를 증가시키며, 리프레시 동작이 많을수록 레이턴시(Latency) 및 소모되는 파워가 증가하여 데이터 입출력 속도 및 에너지의 효율성을 저하시키는 문제를 야기한다. The refresh operation in the dynamic memory device increases the power consumption, and the more the refresh operation, the more the latency and the consumed power increase, which causes a problem of lowering the data input / output speed and energy efficiency.
이에, 본 발명은 상기한 사정을 감안하여 창출된 것으로, 라인 단위의 캐시 데이터를 압축한 후 이를 분할하여 서로 다른 저장 영역에 나누어 저장하고, 이후 사용된 저장 영역에 대해서만 리프레시 처리를 수행함으로써, 최소의 리프레시 동작을 통해 리프레시에 따른 소비전력을 절감할 수 있도록 해 주는 캐시 메모리장치 및 그 방법을 제공함에 기술적 목적이 있다. Accordingly, the present invention has been made in view of the above circumstances, and it is an object of the present invention to provide a method and apparatus for compressing cache data in units of lines and dividing them into different storage areas, The present invention provides a cache memory device and a method thereof that can reduce power consumption according to refreshing through a refresh operation of a cache memory.
상기 목적을 달성하기 위한 본 발명의 일측면에 따르면, 캐시 데이터를 캐시 라인 단위로 저장하되, 캐시 라인 단위의 데이터를 저장하는 메모리 어레이는 일정 크기를 갖는 다수개 서브 어레이로 구성되어 캐시 라인 데이터를 서로 다른 서브 어레이에 분할 저장하도록 구성되는 캐시 메모리와, 캐시 데이터를 캐시 라인 단위로 압축하여 기 설정된 크기 단위로 분할한 후, 이를 메모리 어레이의 서로 다른 서브 어레이에 각각 나누어 저장함과 더불어, 캐시 라인 데이터 접근시에는 해당 메모리 어레이의 서브 어레이에 분할 저장된 압축 캐시 라인 데이터를 호출하여 이에 대한 압축 복원처리를 수행하며, 리프레시 수행시에는 리프레시 대상 캐시 라인 데이터가 저장된 해당 메모리 어레이의 서브 어레이에 대해서만 리프레시 처리를 수행하도록 구성되는 캐시 관리 모듈을 포함하여 구성되는 것을 특징으로 하는 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치가 제공된다.According to an aspect of the present invention, a memory array for storing cache data in units of cache lines and storing data in units of cache lines includes a plurality of subarrays having a predetermined size, A cache memory configured to divide and store cache data in units of cache lines and to divide the cache data in units of predetermined sizes and to divide the cache data into different subarrays in a memory array, When accessing the memory array, the compressed cache line data divided and stored in the subarray of the memory array is called to perform decompression processing on the compressed cache line data. In the refresh execution, only the subarrays of the memory array in which the refresh target cache line data is stored are refreshed Configure to perform Is a cache memory device having a refresh power savings features, characterized in that comprising: a cache management module is provided.
또한, 상기 하나의 메모리 어레이를 구성하는 다수의 서브 어레이는 동시 접근이 가능하도록 구성되는 것을 특징으로 하는 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치가 제공된다.A cache memory device having a refresh power saving function is provided, wherein a plurality of subarrays constituting the one memory array are configured to be accessible simultaneously.
또한, 상기 캐시 메모리는 eDRAM(Embedded Dynamic Random Access Memory) 으로 구성되는 것을 특징으로 하는 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치가 제공된다.Also, the cache memory is configured by eDRAM (Embedded Dynamic Random Access Memory), and a cache memory device having a refresh power saving function is provided.
또한, 상기 각 서브 어레이에 대해 일대일 대응되도록 멀티플렉서가 결합되어 구성되고, 리프레시 수행시 캐시 관리 모듈은 리프레시 신호를 해당 메모리 어레이를 구성하는 모든 서브 어레이의 멀티플렉서로 동시에 제공함과 더불어, 해당 메모리 어레이에 저장된 압축된 캐시 라인 데이터 크기에 대응되는 서브 어레이 개수를 확인하여 압축된 캐시 라인 데이터가 저장된 서브 어레이와 결합된 멀티플렉서에 대해서만 리프레시 선택 신호를 제공함으로써, 리프레시 신호와 리프레시 선택신호가 모두 입력되는 멀티플렉서와 결합된 서브 어레이만 리프레시 동작을 수행하도록 구성되는 것을 특징으로 하는 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치가 제공된다.In addition, a multiplexer is coupled so as to correspond one-to-one with respect to each of the sub-arrays. In performing the refresh, the cache management module simultaneously provides a refresh signal to the multiplexers of all sub-arrays constituting the memory array, The number of subarrays corresponding to the compressed cache line data size is checked and the refresh selection signal is provided only to the multiplexer associated with the subarray storing the compressed cache line data so that the refresh signal and the refresh selection signal are both input to the multiplexer Wherein the cache memory device is configured to perform a refresh operation only in a sub-array having a refresh power consumption.
또한, 메모리 어레이는 캐시 라인 데이터 크기와 동일한 크기의 저장 영역을 갖도록 구성되고, 메모리 어레이를 구성하는 N개의 서브 어레이는 메모리 어레이 저장 영역을 N 분할한 저장영역을 갖도록 설정되면서 일정한 저장 순서를 갖도록 구성되며, 캐시 관리 모듈은 압축된 캐시 라인 데이터를 서브 어레이의 저장 영역 크기 단위로 나누어 서브 어레이에 기 설정된 저장 순서대로 순차 저장하도록 구성되는 것을 특징으로 하는 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치가 제공된다.In addition, the memory array is configured to have a storage area equal in size to the size of the cache line data, and the N subarrays constituting the memory array are configured to have a storage area in which the memory array storage area is divided into N areas, And the cache management module divides the compressed cache line data into sub-array storage area units and sequentially stores the compressed cache line data in a sub-array in a predetermined storage order. do.
또한, 상기 캐리 관리 모듈은 캐시 라인별 압축 데이터 크기에 대응되는 서브 어레이 사용정보가 저장되는 캐시 테이블을 구비하여 구성되고, 캐시 라인 데이터 압축처리 후, 압축된 캐시 라인 데이터를 저장할 수 있는 저장 영역에 대응되는 서브 어레이 개수를 산출하고, 산출된 서브 어레이 개수에 대응되는 서브 어레이 사용정보를 생성하여 캐시 테이블에 저장하도록 구성되는 것을 특징으로 하는 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치가 제공된다.In addition, the carry management module includes a cache table in which sub-array usage information corresponding to the compressed data size for each cache line is stored. After the cache line data compression process, the carry management module includes a storage area Arrays corresponding to the calculated number of subarrays, and stores the generated subarray usage information in the cache table. The cache memory device has a function of saving the refresh power consumption.
또한, 상기 캐시 테이블에서 서브 어레이 사용정보는 압축된 캐시 라인 데이터가 저장되어 있는 서브 어레이 개수로서, N개 서브 어레이를 서로 다른 형태로 표현할 수 있는 비트 데이터로 구성되는 것을 특징으로 하는 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치가 제공된다.In the cache table, the sub-array usage information is composed of bit data capable of representing N sub-arrays in different forms, wherein the number of sub-arrays in which the compressed cache line data is stored, A cache memory device having a function is provided.
또한, 상기 목적을 달성하기 위한 본 발명의 일측면에 따르면, 캐시 메모리와 프로세서 사이에 결합되는 캐시 관리모듈을 통해 프로세서로부터의 요청에 따라 캐시 메모리에 캐시 데이터를 저장 및 호출함과 더불어, 캐시 메모리에 대한 리프레시 동작을 수행하는 캐시 메모리 장치의 리프레시 소비 전력 절감 방법에 있어서, 캐시 관리모듈은 프로세서로부터의 캐시 데이터 저장요구에 따라 캐시 라인 단위로 캐시 데이터를 압축하고, 압축된 캐시 라인 데이터를 캐시 메모리의 캐시 라인 데이터 크기 저장영역을 갖는 메모리 어레이에 저장하되, 압축된 캐시 라인 데이터는 해당 메모리 어레이 저장영역을 N 분할한 서브 어레이의 저장 영역 크기 단위로 분할하여, 해당 메모리 어레이를 구성하는 N개의 서브 어레이에 기 설정된 순서대로 순차 저장하는 캐시 데이터 저장단계와, 캐시 관리모듈에서 프로세서로부터의 캐시 데이터 접근요구에 따라 해당 메모리 어레이의 서브 어레이에 분할 저장된 압축 캐시 라인 데이터를 호출하여 이에 대한 압축 복원처리를 수행한 후 프로세서로 제공하는 캐시 데이터 접근단계 및, 캐시 관리모듈에서 프로세서로부터의 리프레시 요구에 따라 리프레시 대상 캐시 라인 데이터가 저장된 해당 메모리 어레이의 서브 어레이에 대해서만 리프레시 처리를 수행하는 리프레시 단계를 포함하여 구성되는 것을 특징으로 하는 캐시 메모리 장치의 리프레시 소비 전력 절감 방법이 제공된다.According to an aspect of the present invention, there is provided a cache management module coupled between a cache memory and a processor for storing and retrieving cache data in a cache memory in response to a request from a processor, The cache management module compresses cache data on a cache line by cache line basis in response to a cache data storage request from a processor and stores the compressed cache line data in a cache memory The compressed cache line data is divided into storage area size units of the sub-array in which the corresponding memory array storage area is divided into N sub-arrays, and the N sub-arrays serving as the memory array Sequentially store the array in a predetermined order Storing cache data stored in a subarray of the memory array in response to a cache data access request from a processor in a cache management module, performing decompression processing on the compressed cache line data, and providing cache data And a refresh step of performing refresh processing only on a sub-array of the memory array in which the refresh target cache line data is stored in accordance with the refresh request from the processor in the cache management module. A refresh power saving method is provided.
또한, 상기 캐시 관리모듈은 압축된 캐시 라인 데이터 크기에 대응되는 서브 어레이 개수를 산출하고, 산출된 서브 어레이 개수에 대응되는 서브 어레이 사용정보를 생성함과 더불어, 캐시 라인별 서브 어레이 사용정보로 이루어지는 캐시 테이블을 생성하여 관리하는 것을 특징으로 하는 캐시 메모리 장치에서의 리프레시 소비 전력 절감 방법이 제공된다.In addition, the cache management module may calculate the number of subarrays corresponding to the compressed cache line data size, generate subarray usage information corresponding to the calculated number of subarrays, And a cache table is generated and managed in the cache memory device.
또한, 상기 캐시 테이블에서 서브 어레이 사용정보는 압축된 캐시 라인 데이터가 저장되어 있는 서브 어레이 개수로서, N개 서브 어레이를 서로 다른 형태로 표현할 수 있는 비트 데이터로 구성되는 것을 특징으로 하는 캐시 메모리 장치에서의 리프레시 소비 전력 절감 방법이 제공된다.The sub-array usage information in the cache table may include the number of sub-arrays in which compressed cache line data is stored, and bit data that can represent N sub-arrays in different forms. There is provided a method for reducing refresh power consumption.
또한, 상기 캐시 데이터 접근단계는 캐시 관리모듈에서 상기 캐시 테이블을 통해 해당 캐시 라인에 대한 서브 어레이 개수를 확인하는 단계와, 서브 어레이 개수에 해당하는 서브 어레이로만 동시 접근하여 접근된 서브 어레이로부터 분할 저장된 캐시 라인 데이터를 호출하여 조합함으로써 하나의 압축된 캐시 라인 데이터를 생성하는 단계 및, 압축된 캐시 라인 데이터를 압축 복원처리하는 단계를 포함하여 구성되는 것을 특징으로 하는 캐시 메모리 장치에서의 리프레시 소비 전력 절감 방법이 제공된다.The cache data accessing step may include a step of checking the number of sub-arrays for the cache line through the cache table in the cache management module, a step of accessing the sub-arrays corresponding to the number of sub-arrays, Generating one compressed cache line data by calling and combining the cache line data; and compressing and decompressing the compressed cache line data to reduce the refresh power consumption in the cache memory device. Method is provided.
또한, 상기 리프레시 단계는 상기 캐시 관리모듈에서 프로세서로부터의 리프레시 요청에 대해 리프레시 대상 캐시 라인 데이터가 저장된 메모리 어레이의 모든 서브 어레이로 리프레시 신호를 제공하는 단계와, 캐시 관리모듈에서 캐시 테이블을 통해 리프레시될 캐시 라인에 대한 서브 어레이 개수를 확인하는 단계, 서브 어레이 개수에 해당하는 서브 어레이로만 리프레시 선택신호를 제공하는 단계 및, 리프레시 신호와 리프레시 선택신호가 모두 입력된 서브 어레이에 대해서만 리프레시 동작을 수행하는 단계를 포함하여 구성되는 것을 특징으로 하는 리프레시 소비 전력 절감 방법이 제공된다.The refresh step may further include the steps of providing a refresh signal to all sub-arrays of the memory array in which the refresh target cache line data is stored for the refresh request from the processor in the cache management module, The method comprising the steps of: determining a number of subarrays for the cache line; providing a refresh selection signal only to the subarrays corresponding to the number of subarrays; performing a refresh operation only on the subarrays to which both the refresh signal and the refresh selection signal are input The method of reducing power consumption of a refreshing power supply is provided.
본 발명에 의하면 라인 단위의 캐시 데이터를 압축한 후 이를 분할하여 서로 다른 저장 영역에 나누어 저장하고, 이후 압축된 캐시 데이터가 저장된 영역에 대해서만 리프레시 처리를 수행함으로써, 최소의 리프레시 동작을 통해 리프레시에 따른 소비전력을 절감할 수 있게 된다. According to the present invention, cache data on a line-by-line basis is compressed, divided and stored in different storage areas, and then only the area where the compressed cache data is stored is subjected to refresh processing, Power consumption can be reduced.
이에 따라 본 발명에 따른 캐시 메모리 장치를 채용하여 구성되는 프로세서의 사용데이터 입출력 속도 및 소비전력의 효율성을 향상시킬 수 있다. Accordingly, the efficiency of use data input / output speed and power consumption of the processor configured by employing the cache memory device according to the present invention can be improved.
도1은 본 발명의 일 실시예에 따른 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치의 구성을 설명하기 위한 도면.
도2와 도3은 도1에 도시된 캐시 메모리(20)의 구조를 설명하기 도면.
도4는 도1에 도시된 캐시 관리 모듈(30)의 내부구성을 기능적으로 분리하여 나타낸 블록구성도.
도5 내지 도7은 도1에 도시된 리프레시 소비전력 절감 기능을 갖는 캐시 메모리장치의 캐시 데이터 저장, 캐시 데이터 접근 및 리프레시 동작을 설명하기 위한 흐름도.BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram for explaining a configuration of a cache memory device having a refresh power-saving function according to an embodiment of the present invention; FIG.
2 and 3 are diagrams for explaining the structure of the
FIG. 4 is a block diagram showing the internal structure of the
5 to 7 are flowcharts for explaining cache data storage, cache data access, and refresh operation of the cache memory device having the refresh power-saving function shown in FIG.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The description of the present invention is merely an example for structural or functional explanation, and the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, the embodiments are to be construed as being variously embodied and having various forms, so that the scope of the present invention should be understood to include equivalents capable of realizing technical ideas. Also, the purpose or effect of the present invention should not be construed as limiting the scope of the present invention, since it does not mean that a specific embodiment should include all or only such effect.
한편, 본 발명에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in the present invention should be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms "first "," second ", and the like are intended to distinguish one element from another, and the scope of the right should not be limited by these terms. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected to the other element, but there may be other elements in between. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that there are no other elements in between. On the other hand, other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It should be understood that the singular " include "or" have "are to be construed as including a stated feature, number, step, operation, component, It is to be understood that the combination is intended to specify that it does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (e.g., a, b, c, etc.) is used for convenience of explanation, the identification code does not describe the order of each step, Unless otherwise stated, it may occur differently from the stated order. That is, each step may occur in the same order as described, may be performed substantially concurrently, or may be performed in reverse order.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used predefined terms should be interpreted to be consistent with the meanings in the context of the related art and can not be interpreted as having ideal or overly formal meaning unless explicitly defined in the present invention.
도 1은 본 발명의 일 실시예에 따른 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치의 구성을 설명하기 위한 도면이다.1 is a diagram for explaining a configuration of a cache memory device having a refresh power consumption reduction function according to an embodiment of the present invention.
도1에 도시된 바와 같이 본 발명에 따른 리프레시 소비전력 절감 기능을 갖는 캐시 메모리장치는 프로세서(10)와 캐시 메모리(20) 사이에 캐시 관리모듈(30)를 구비하여 구성된다. 이때, 상기 프로세서(10)는 일반적인 데스크 탑이나, 랩탑 및 모바일 컴퓨팅 시스템 등의 캐시 메모리를 이용하는 각종 장치에 구비되는 프로세서가 될 수 있다. 또한, 상기 캐시 관리모듈(30)과 캐시 메모리(20)는 하나의 캐시 메모리장치로서, 상기 프로세서(10)와 독립적으로 구성되거나 또는 프로세서(10 내에 집적화되어 구비될 수 있음은 물론이다. As shown in FIG. 1, a cache memory device having a refresh power saving function according to the present invention includes a
상기 캐시 메모리(20)는 캐시 데이터를 저장하기 위한 것으로, eDRAM(Embedded Dynamic Random Access Memory)으로 구성된다. 상기 캐시 메모리(20)는 캐시 데이터를 라인 크기 단위로 저장한다. 이때, 라인 크기 단위의 캐시 데이터 (이하, "캐시 라인 데이터" 라 칭함)은 압축된 후, 일정 크기로 분할되어 서로 다른 저장 영역(이하 도2의 서브 어레이)에 나누어 저장된다. 또한, 캐시 라인 데이터는 기 설정된 주소 공간을 갖는 태그 영역과 데이터 영역을 포함한다. The
상기 캐시 관리모듈(30)은 프로세서(10)로부터의 캐시 데이터 저장요구에 대해 라인 단위의 캐시 라인 데이터를 압축한 후, 일정 크기 단위로 나누어 캐시 메모리(20)에 저장한다.The
또한, 상기 캐시 관리모듈(30)은 프로세서(10)로부터의 캐시 데이터 호출요구에 대해 프로세서(10)로부터 받은 주소와 태그가 일치하는 캐시라인이 있는지를 확인하고, 태그가 일치하는 캐시 라인이 있는 경우에 캐시 메모리(20)에 압축 저장된 해당 캐시 라인 데이터를 호출하여 압축 해제한 후 이를 프로세서(10)로 제공한다.The
또한, 상기 캐시 관리모듈(30)은 프로세서(10)로부터의 리프레시 요구에 대해 프로세서(10)로부터 받은 주소와 태그가 일치하는 리프레시 대상 캐시 라인에 대해 캐시 메모리(20)에서 압축 저장된 해당 캐시 라인 데이터가 저장된 저장 영역에 대해서만 리프레시 동작을 수행하도록 구성된다.The
도2는 도1에 도시된 캐시 메모리(20)의 구조를 설명하기 도면이다.2 is a view for explaining the structure of the
도2에 도시된 바와 같이, 캐시 메모리(20)는 다수의 메모리 뱅크(MB)로 구성되어 한 개의 캐시 리퀘스트에 대해 오직 하나의 메모리 뱅크(MB)만 접근되도록 구성된다. 여기서, 각 메모리 뱅크(MB)들은 동시에 병렬적으로 접근될 수도 있다. As shown in FIG. 2, the
또한, 메모리 뱅크(MB)들 역시 여러개의 메모리 서브 뱅크(SB)로 나뉘어지며, 메모리 서브 뱅크(SB) 역시 한 번 접근시 오직 한 개의 메모리 서브 뱅크(SB)만 접근되도록 구성된다. Also, the memory banks (MB) are divided into a plurality of memory subbanks (SB), and the memory subbanks (SB) are configured so that only one memory subb bank (SB) is accessed at a time of one access.
또한, 상기 메모리 서브 뱅크(SB)는 캐시 라인 데이터 크기의 저장 영역을 갖는 다수의 메모리 어레이(MA)로 구성되며, 이 역시 한 번 접근시 오직 한 개의 메모리 어레이(MA)만 접근되도록 구성된다. In addition, the memory sub-bank SB is composed of a plurality of memory arrays MA having a storage area of a cache line data size, which is also configured so that only one memory array MA is accessed at a time of access.
또한, 상기 메모리 어레이(MA)는 일정 크기의 저장 영역을 갖는 N개( 이하, N은 자연수)의 서브 어레이(SA)로 구성되고, 서브 어레이(SA)는 메모리 어레이(MA)의 저장 영역을 N 분할한 크기로 저장 영역이 설정된다. 서브 어레이(SA)의 수는 캐시 라인 데이터의 분할 수와 연동하여 다양하게 변경하여 설정할 수 있다. 예컨대, 하나의 메모리 어레이(MA)를 구성하는 서브 어레이(SA)의 총 개수는 4의 배수로 설정될 수 있다. 도2에서 메모리 어레이(MA)는 제1 내지 제4의 4개 서브 어레이(SA1, SA2, SA3, SA4)로 구성되어 있다.The memory array MA is composed of N sub-arrays SA having a storage area of a predetermined size (hereinafter, N is a natural number), and the sub-array SA is a storage area of the memory array MA The storage area is set to the size of N divided. The number of subarrays SA can be varied and set in conjunction with the number of divisions of cache line data. For example, the total number of subarrays SA constituting one memory array MA can be set to a multiple of four. In FIG. 2, the memory array MA is composed of four first to fourth subarrays SA1, SA2, SA3, and SA4.
그리고, 하나의 메모리 어레이(MA) 접근에 대해 해당 메모리 어레이(MA)를 구성하는 모든 서브 어레이(SA)가 동시 접근되도록 구성된다. And, for one memory array (MA) access, all subarrays (SA) constituting the memory array (MA) are configured to be accessed simultaneously.
또한, 상기 서브 어레이(SA)는 일정한 데이터 저장 순서를 갖도록 구성된다. 예컨대, 압축된 캐시 라인 데이터가 3개의 서브 어레이에 나누어 저장되는 경우, 압축된 캐시 라인 데이터의 처음 부분에 해당하는 제1 압축 데이터는 제1 서브 어레이(SA1)에 저장되고, 두번째 부분에 해당하는 제2 압축 데이터는 제2 서브 어레이(SA2)에 저장되며, 마지막 부분에 해당하는 제3 압축 데이터는 제3 서브 어레이(SA3)에 순차 저장된다. In addition, the subarrays SA are configured to have a constant data storage order. For example, when the compressed cache line data is divided into three subarrays, the first compressed data corresponding to the first portion of the compressed cache line data is stored in the first subarray SA1, The second compressed data is stored in the second sub-array SA2, and the third compressed data corresponding to the last portion is sequentially stored in the third sub-array SA3.
또한, 상기 각 서브 어레이에 대해서는 도3에 도시된 바와 같이 제1 내지 제4 멀티플렉서(MUX1,MUX2,MUX3,MUX4)가 일대일 대응되게 결합되어 구성된다. 이때, 제1 내지 제4 멀티플렉서(MUX1,MUX2,MUX3,MUX4)는 캐시 관리모듈(30)로부터 인가되는 리프레시 신호(refresh)와 리프레시 선택신호(select)가 모두 입력되는 경우에 한하여 해당 서브 어레이를 리프레시 대상으로 설정한다. As shown in FIG. 3, the first through fourth multiplexers MUX1, MUX2, MUX3, and MUX4 correspond to each other in a one-to-one correspondence. At this time, the first to fourth multiplexers MUX1, MUX2, MUX3, and MUX4 are turned on only when a refresh signal (refresh) and a refresh selection signal (select) applied from the
도4는 도1에 도시된 캐시 관리모듈(30)의 내부구성을 기능적으로 블럭화하여 나타낸 도면이다.FIG. 4 is a functional block diagram of the internal structure of the
도4에 도시된 바와 같이 캐시 관리모듈(30)은 압축 처리부(31)와 압축 복원부(32), 캐시 테이블 저장부(33) 및, 제어부(34)를 포함하여 구성된다.As shown in FIG. 4, the
압축 처리부(31)는 프로세서(10)로부터 저장 요청되는 캐시 데이터에 대해 기 설정된 캐시 라인 크기 단위로 일련의 압축처리를 수행한다. 이때, 압축 알고리즘은 특정 알고리즘에 한정되지 않고 다양한 알고리즘이 사용될 수 있다. 예컨대, 허프만 코딩이나 base-delta-immediate 등의 압축 방법이 이용될 수 있다.The
또한, 상기 압축 처리부(31)는 캐시 라인 데이터에 대한 압축 데이터 크기에 대응되는 압축 정보를 상기 제어부(34)로 제공한다. 예컨대, 64Byte 크기의 캐시 라인 데이터는 해당 캐시 라인 데이터에 따라 최소 1 Byte 에서 최대 64Byte 의 다앙한 크기의 데이터로 압축될 수 있다. The
압축 복원부(32)는 압축된 캐시 라인 데이터를 상기 압축 처리부(31)의 압축 알고리즘에 대응하는 압축 복원 알고리즘을 이용하여 압축 처리전의 원래 캐시 라인 크기의 데이터로 복원한다.The
캐시 테이블 저장부(33)는 캐시 라인 태그별 압축된 캐시 라인 데이터가 저장되는 서브어레이 사용정보 즉, 서브어레이 개수정보가 저장된다. 이때, 상기 서브 어레이 개수정보는 하나의 메모리 어레이를 구성하는 N개의 서브 어레이를 서로 다른 형태로 표현할 수 있는 비트 데이터로 구성될 수 있다. 예컨대, 하나의 메모리 어레이가 4개의 서브 어레이로 구성되는 경우, 4가지의 서로 다른 표현이 가능한 2비트 데이터로 서브어레이 개수정보가 구성된다. The cache
제어부(34)는 상기 프로세서(10)로부터의 캐시 데이터 저장요구에 대해 상기 압축 처리부(31)를 통해 압축된 캐시 라인 데이터를 상기 캐시 메모리(20)의 해당 메모리 어레이(MA)에 저장한다. 이때, 제어부(34)는 압축 처리부(31)로부터 제공되는 압축 데이터 크기 정보를 근거로 압축된 캐시 라인 데이터를 저장할 수 있는 저장 영역에 대응되는 서브 어레이(SA) 개수를 산출하고, 산출된 서브 어레이 개수에 대응되는 서브 어레이 사용정보를 생성하여 캐시 테이블에 저장한다. The
또한, 제어부(34)는 압축 처리부(31)를 통해 압축된 캐시 라인 데이터를 서브 어레이(SA)의 저장 영역 크기 단위로 나누어 서브 어레이(SA)에 기 설정된 저장 순서대로 순차 저장하도록 구성된다. The
예를 들면, 캐시 라인 크기가 64Byte 인 경우, 메모리 어레이는 16Byte의 4개 서브 어레이로 구성될 수 있으며, 64Byte 의 캐시 라인 데이터는 압축처리 후 그 크기에 대응하여 필요한 서브 어레이(SA) 수에 따라 제1 내지 제4의 4개 압축 범위로 나뉘어질 수 있다. For example, when the cache line size is 64 bytes, the memory array may be composed of four sub-arrays of 16 bytes, and the 64-byte cache line data is compressed according to the number of subarrays And can be divided into the first to fourth compression ranges.
즉, 제1 압축 범위는 압축 데이터의 크기가 0Byte 이상 ~ 16Byte 미만이고, 제2 압축 범위는 압축 데이터의 크기가 16 Byte 이상 ~ 32Byte 미만이며, 제3 압축 범위는 압축 데이터의 크기가 32 Byte 이상 ~ 48Byte 미만이고, 제4 압축 범위는 압축 데이터의 크기가 48 Byte 이상 ~ 64Byte 이하의 범위로 설정된다. That is, the size of the compressed data in the first compression range is greater than or equal to 0 bytes and less than 16 bytes, the size of the compressed data in the second compression range is in the range of 16 bytes or more to less than 32 Bytes, To 48 bytes and the compression range of the fourth compression range is set to a range of 48 bytes or more to 64 bytes or less.
그리고, 제어부(34)는 제1 압축 범위에 해당하는 압축 캐시 라인 데이터에 대해서는 1개의 서브 어레이만 필요하므로 "00", 제2 압축 범위에 대해서는 2개의 서브 어레이가 필요하므로 "01", 제3 압축범위에 대해서는 3개의 서브 어레이가 필요하므로 "10", 제4 압축범위에 대해서는 4개의 서브 어레이가 필요하므로 "11" 의 2비트로 구성되는 서브 어레이 개수정보를 생성하여 캐시 테이블을 관리한다. Since the
또한, 상기 제어부(34)는 상기 프로세서(10)로부터의 캐시 라인 접근 요구에 대해 캐시 테이블을 참조하여 해당 캐시 라인 데이터가 압축 저장된 서브 어레이(SA)로부터 압축된 캐시 라인 데이터를 호출한 후 이를 압축 복원부(32)로 제공하고, 이에 대해 압축 복원부(32)로부터 제공되는 압축전 상태로 복원된 캐시 라인 데이터를 프로세서(10)로 제공한다. The
또한, 상기 제어부(34)는 상기 프로세서(10)로부터의 리프레시 요구에 대해 캐시 테이블을 참조하여 압축된 리프레시 대상 캐시 라인 데이터가 실제 저장된 서브 어레이(SA)에 대해서만 리프레시 선택신호(select)를 제공함으로써, 리프레시 대상 캐시 라인 데이터가 저장된 서브 어레이(SA)에 대해서만 리프레시 동작을 수행한다.The
즉, 도3을 참고하면 해당 캐시 라인이 저장된 메모리 어레이(MA)의 제1 내지 제4 서브 어레이(SA1 ~ SA4)와 결합되는 제1 내지 제4 멀티플렉서(MUX1 ~ MUX4)로 리프레시(refresh) 신호가 모두 인가되고, 실제 압축된 캐시 라인 데이터가 분할 저장된 서브 어레이(SA)의 멀티플렉서(MUX)로만 리프레시 선택신호(select)가 인가된다. 따라서, 리프레시 신호(refresh)와 리프레시 선택신호(select)가 모두 입력되는 멀티플렉서와 결합된 서브 어레이(SA)만이 리프레시 대상으로 최종 결정된다. Referring to FIG. 3, the first to fourth multiplexers MUX1 to MUX4, which are coupled to the first to fourth subarrays SA1 to SA4 of the memory array MA in which the corresponding cache line is stored, And the refresh selection signal select is applied only to the multiplexer (MUX) of the sub array SA in which the actually compressed cache line data is divided and stored. Therefore, only the sub-array SA coupled with the multiplexer into which both the refresh signal (refresh) and the refresh selection signal (select) are inputted is finally determined as the refresh target.
이어, 상기한 구성으로 된 리프레시 소비전력 절감 기능을 갖는 캐시 메모리장치의 동작을 도5 내지 도7에 도시된 흐름도를 참조하여 설명한다.Next, the operation of the cache memory device having the above-described configuration with the refresh power consumption reduction function will be described with reference to the flowcharts shown in FIGS. 5 to 7. FIG.
기본적으로 본 발명에 따른 리프레시 소비전력 절감 기능을 갖는 캐시 메모리장치의 동작은 캐시 데이터 저장 과정(도5)과, 캐시 데이터 접근 과정(도6) 및, 캐시 데이터 리프레시 과정(도7)을 포함하여 구성된다.Basically, the operation of the cache memory device having the refresh power saving function according to the present invention includes a cache data storing process (FIG. 5), a cache data accessing process (FIG. 6), and a cache data refreshing process .
도5에 도시된 바와 같이 캐시 데이터 저장 과정은 프로세서(10)로부터 캐시 데이터 저장 요구가 있게 되면(ST110), 제어부(34)는 캐시 데이터를 캐시라인 단위로 압축한다(ST120).As shown in FIG. 5, when a cache data storage request is received from the processor 10 (ST110), the
그리고, 제어부(34)는 압축된 캐시 라인 데이터의 크기에 대응하여 사용 요구되는 서브 어레이 개수를 산출하고, 이를 근거로 캐시 테이블을 업데이트한다(ST130,ST140). Then, the
또한, 제어부(34)는 압축된 캐시 라인 데이터를 분할하여 해당 캐시 메모리(33)의 메모리 어레이에 저장하되, 해당 메모리 어레이를 구성하는 서브 어레이에 기 설정된 저장 순서에 따라 순차로 나누어 저장한다(ST150). In addition, the
하기 표1은 압축 캐시 라인 데이터 크기에 따른 서브 어레이 개수를 예시한 것으로, 원본 캐시 라인 데이터의 크기가 64Byte 이고, 메모리 어레이(MA)는 16Byte 저장 영역을 갖는 4개의 서브 어레이(SA)로 이루어지는 구성에 대한 것이다. Table 1 below illustrates the number of subarrays according to the size of compressed cache line data. The size of original cache line data is 64 bytes, and the memory array MA is composed of 4 subarrays (SA) having 16 byte storage areas. Lt; / RTI >
즉, 캐시 라인 데이터를 압축한 후, 이를 서브 어레이 저장 영역 크기 단위로 분할하여 나누어 저장함으로써, 독립적으로 제어가 가능한 캐시 라인 데이터에 대한 저장 영역을 최소화하게 된다. That is, after compressing the cache line data, the cache line data is divided and divided into sub-array storage area units, thereby minimizing the storage area for independently controllable cache line data.
도6에 도시된 바와 같이 캐시 데이터 접근 과정은, 캐시 라인 데이터가 압축되어 캐시 메모리(20)에 저장된 상태에서, 프로세서(10)로부터 캐시 데이터 접근 요구가 있게 되면, 제어부(34)는 캐시 테이블을 통해 해당 캐시 라인 데이터가 실제 저장된 서브 어레이 개수정보를 확인한다(ST210, ST220).6, when the cache data access request is received from the
이어, 제어부(34)는 해당 캐시 라인 데이터가 압축 저장된 메모리 어레이에 접근하되, 실제 캐시 라인 데이터가 저장된 해당 서브 어레이 개수 만큼 서브 어레이 저장 순서에 따라 순차 또는 동시 접근하여 분할 저장된 캐시 라인 데이터를 호출함과 더불어, 이들을 조합함으로써 하나의 압축된 캐시 라인 데이터를 생성하고, 압축 복원부(32)를 통해 이에 대한 압축 복원처리를 수행한다(ST230 ~ST250).Next, the
그리고, 제어부(34)는 원래 캐시 라인 크기로 압축 복원된 캐시 라인 데이터를 프로세서(10)로 제공한다(ST260).Then, the
도7에 도시된 바와 같이 캐시 데이터 리프레시 과정은, 캐시 라인 데이터가 압축되어 캐시 메모리(20)에 저장된 상태에서, 프로세서(10)로부터 캐시 데이터 리프레시 요구가 있게 되면, 제어부(34)는 캐시 테이블을 통해 리프레시 대상 캐시 라인에 대해 해당 캐시 라인 데이터가 실제 저장된 서브 어레이 개수정보를 확인한다(ST310, ST320).7, when a cache data refresh request is issued from the
이어, 제어부(34)는 리프레시 대상 캐시 라인 데이터가 저장된 메모리 어레이(MA)로 리프레시 신호(refresh)를 제공함과 더불어, 캐시 라인에 대해 해당 캐시 라인 데이터가 실제 저장된 서브 어레이 개수만큼 리프레시 선택신호(select)를 생성하여 해당 캐시 라인 데이터가 저장된 서브 어레이(SA)로 각각 제공한다(ST330, ST340). 이때, 제어부(34)는 도3에서 해당 서브 어레이(SA)에 결합된 멀티플렉서(MUX)로 리프레시 신호(refresh)와 리프레시 선택신호(select)를 제공함으로써, 실제 캐시 라인 데이터가 저장된 서브 어레이(SA)들에 대해서만 리프레시 동작을 수행하게 된다. The
따라서, 종래 캐시 라인 데이터를 메모리 어레이(MA)에 그대로 저장하는 캐시 메모리 장치에 비하여 보다 적은 저장 영역에 대한 리프레시 동작을 수행하게 되므로 리프레시 에너지가 절감되는 효과가 있다. Therefore, the refresh operation is performed for a smaller storage area than the cache memory device in which the conventional cache line data is stored in the memory array MA as it is, thereby reducing the refresh energy.
10 : 프로세서, 20 : 캐시 메모리,
30 : 캐시 관리 모듈,
31 : 압축 처리부, 32 : 압축 복원부,
33 : 캐시 테이블 저장부, 34 : 제어부.10: processor, 20: cache memory,
30: cache management module,
31: compression processing unit, 32: compression decompression unit,
33: cache table storage unit, 34: control unit.
Claims (12)
상기 프로세서의 요청에 따라 캐시 데이터를 캐시 라인 단위로 저장하되, 캐시 라인 단위의 데이터를 저장하는 메모리 어레이는 일정 크기를 갖는 다수개 서브 어레이로 구성되어 캐시 라인 데이터를 서로 다른 서브 어레이에 분할 저장하도록 구성되는 캐시 메모리; 및
캐시 데이터를 캐시 라인 단위로 압축하여 기 설정된 크기 단위로 분할한 후, 이를 메모리 어레이의 서로 다른 서브 어레이에 각각 나누어 저장함과 더불어, 상기 프로세서의 호출에 따라 캐시 라인 데이터 접근시에는 해당 메모리 어레이의 서브 어레이에 분할 저장된 압축 캐시 라인 데이터를 호출하여 이에 대한 압축 복원처리를 수행하는 캐시 관리 모듈;을 포함하고,
상기 캐시 관리 모듈은,
상기 프로세서의 리프레시 명령에 따라 상기 프로세서로 수신한 주소와 태그가 일치하는 리프레시 대상 캐시 라인 데이터가 저장된 서브 어레이에 대해 리프레시 신호와 리프레시 선택신호가 모두 인가되는 경우 상기 리프레시 대상 캐시 라인 데이터가 저장된 서브 어레이에 대해서만 리프레시 처리를 수행하는, 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치.
A processor for requesting storage of cache data and calling the stored cache data;
The memory array, which stores cache data in units of cache lines in response to a request from the processor, is composed of a plurality of subarrays having a predetermined size, and the cache line data is divided and stored in different subarrays A cache memory configured; And
The cache data is divided into units of a predetermined size by compressing the cache data in units of cache lines and then divided into different subarrays of the memory array and stored in the subarrays of the memory array, And a cache management module for calling compression cache line data divided and stored in the array to perform a decompression process on the compressed cache line data,
The cache management module comprising:
When a refresh signal and a refresh selection signal are both applied to a sub array in which refresh target cache line data having the same tag as an address received by the processor is stored in accordance with a refresh command of the processor, The cache memory device having a refresh power saving function.
하나의 메모리 어레이를 구성하는 다수의 서브 어레이는 동시 접근이 가능하도록 구성되는 것을 특징으로 하는 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치.
The method according to claim 1,
And a plurality of subarrays constituting one memory array are configured to be able to access simultaneously.
상기 캐시 메모리는 eDRAM(Embedded Dynamic Random Access Memory)으로 구성되는 것을 특징으로 하는 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치.
The method according to claim 1,
Wherein the cache memory is comprised of eDRAM (Embedded Dynamic Random Access Memory).
상기 각 서브 어레이에 대해 일대일 대응되도록 멀티플렉서가 결합되어 구성되고,
리프레시 수행시 캐시 관리 모듈은 상기 리프레시 신호를 해당 메모리 어레이를 구성하는 모든 서브 어레이의 멀티플렉서로 동시에 제공함과 더불어, 해당 메모리 어레이에 저장된 압축된 캐시 라인 데이터 크기에 대응되는 서브 어레이 개수를 확인하여 압축된 캐시 라인 데이터가 저장된 서브 어레이와 결합된 멀티플렉서에 대해서만 리프레시 선택 신호를 제공함으로써, 상기 리프레시 신호와 상기 리프레시 선택신호가 모두 입력되는 멀티플렉서와 결합된 서브 어레이만 리프레시 동작을 수행하도록 구성되는 것을 특징으로 하는 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치.
The method according to claim 1,
A multiplexer is coupled and configured to correspond one-to-one to the sub-arrays,
The cache management module simultaneously provides the refresh signal to the multiplexers of all the subarrays constituting the memory array and checks the number of subarrays corresponding to the size of the compressed cache line data stored in the memory array, Only the sub-arrays combined with the multiplexer into which both the refresh signal and the refresh selection signal are inputted are configured to perform the refresh operation by providing the refresh selection signal only to the multiplexer combined with the sub-array in which the cache line data is stored A cache memory device having a refresh power saving function.
메모리 어레이는 캐시 라인 데이터 크기와 동일한 크기의 저장 영역을 갖도록 구성되고,
메모리 어레이를 구성하는 N개의 서브 어레이는 메모리 어레이 저장 영역을 N 분할한 크기의 저장 영역을 갖도록 설정되면서, 일정한 저장 순서를 갖도록 구성되며,
캐시 관리 모듈은 압축된 캐시 라인 데이터를 서브 어레이의 저장 영역 크기 단위로 나누어 서브 어레이에 기 설정된 저장 순서대로 순차 저장하도록 구성되는 것을 특징으로 하는 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치.
The method according to claim 1,
The memory array is configured to have a storage area equal in size to the cache line data size,
The N subarrays constituting the memory array are configured to have a predetermined storage order while being set to have a storage area of a size obtained by dividing the memory array storage area by N,
Wherein the cache management module is configured to divide the compressed cache line data into units of storage area size of the sub-array, and sequentially store the compressed cache line data in the sub-array in a preset storage order.
상기 캐시 관리 모듈은 캐시 라인별 압축 데이터 크기에 대응되는 서브 어레이 사용정보가 저장되는 캐시 테이블을 구비하여 구성되고,
캐시 라인 데이터 압축처리 후, 압축된 캐시 라인 데이터를 저장할 수 있는 저장 영역에 대응되는 서브 어레이 개수를 산출하고, 산출된 서브 어레이 개수에 대응되는 서브 어레이 사용정보를 생성하여 캐시 테이블에 저장하도록 구성되는 것을 특징으로 하는 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치.
The method according to claim 1,
Wherein the cache management module includes a cache table in which sub-array usage information corresponding to a size of compressed data for each cache line is stored,
After the cache line data compression processing, the number of subarrays corresponding to the storage area capable of storing the compressed cache line data is calculated, and the subarray usage information corresponding to the calculated number of subarrays is generated and stored in the cache table Wherein the cache memory device has a refresh power consumption reduction function.
상기 캐시 테이블에서 서브 어레이 사용정보는 압축된 캐시 라인 데이터가 저장되어 있는 서브 어레이 개수로서, N개 서브 어레이를 서로 다른 형태로 표현할 수 있는 비트 데이터로 구성되는 것을 특징으로 하는 리프레시 소비 전력 절감 기능을 갖는 캐시 메모리장치.
The method according to claim 6,
Wherein the sub-array usage information in the cache table is a number of sub-arrays in which compressed cache line data is stored, and bit data capable of representing N sub-arrays in different forms. / RTI >
캐시 관리모듈은 상기 프로세서로부터의 캐시 데이터 저장요구에 따라 캐시 라인 단위로 캐시 데이터를 압축하고, 압축된 캐시 라인 데이터를 캐시 메모리의 캐시 라인 데이터 크기 저장영역을 갖는 메모리 어레이에 저장하되, 압축된 캐시 라인 데이터는 해당 메모리 어레이 저장영역을 N 분할한 서브 어레이의 저장 영역 크기 단위로 분할하여, 해당 메모리 어레이를 구성하는 N개의 서브 어레이에 기 설정된 순서대로 순차 저장하는 캐시 데이터 저장단계와,
상기 캐시 관리모듈에서 상기 프로세서로부터의 캐시 데이터 접근요구에 따라 해당 메모리 어레이의 서브 어레이로부터 분할 저장된 압축 캐시 라인 데이터를 호출하여 이에 대한 압축 복원처리를 수행한 후 프로세서로 제공하는 캐시 데이터 접근단계 및,
상기 캐시 관리모듈에서 상기 프로세서로부터의 리프레시 요구에 따라 상기 프로세서가 수신한 주소와 태그가 일치하는 리프레시 대상 캐시 라인 데이터가 저장된 서브 어레이에 대해 리프레시 신호와 리프레시 선택신호가 모두 인가되는 경우 상기 리프레시 대상 캐시 라인 데이터가 저장된 서브 어레이에 대해서만 리프레시 처리를 수행하는 리프레시 단계를 포함하여 구성되는 것을 특징으로 하는 캐시 메모리 장치의 리프레시 소비 전력 절감 방법.
A method for saving refresh power consumption of a cache memory device performing a refresh operation on a cache memory in addition to storing and recalling cache data in a cache memory in response to a request from the processor through a cache management module coupled between the cache memory and the processor In this case,
The cache management module compresses the cache data in units of cache lines in response to a cache data storage request from the processor and stores the compressed cache line data in a memory array having a cache line data size storage area of the cache memory, A cache data storage step of dividing the memory array storage area into N storage sub-arrays divided into N storage sub-arrays and sequentially storing the N sub-arrays constituting the memory array in a predetermined order;
A cache data access step of causing the cache management module to call decompression cache line data divided and stored from a subarray of the memory array according to a cache data access request from the processor,
When the cache management module receives a refresh signal and a refresh selection signal for a sub-array in which refresh target cache line data having a tag identical to an address received by the processor is stored in response to a refresh request from the processor, And a refresh step of performing refresh processing only on the sub-array in which the line data is stored.
상기 캐시 관리모듈은 압축된 캐시 라인 데이터 크기에 대응되는 서브 어레이 개수를 산출하고, 산출된 서브 어레이 개수에 대응되는 서브 어레이 사용정보를 생성함과 더불어,
캐시 라인별 서브 어레이 사용정보로 이루어지는 캐시 테이블을 생성하여 관리하는 것을 특징으로 하는 캐시 메모리 장치에서의 리프레시 소비 전력 절감 방법.
9. The method of claim 8,
Wherein the cache management module calculates the number of subarrays corresponding to the compressed cache line data size and generates subarray usage information corresponding to the calculated number of subarrays,
And a cache table including sub-array usage information for each cache line is generated and managed.
상기 캐시 테이블에서 서브 어레이 사용정보는 압축된 캐시 라인 데이터가 저장되어 있는 서브 어레이 개수로서, N개 서브 어레이를 서로 다른 형태로 표현할 수 있는 비트 데이터로 구성되는 것을 특징으로 하는 캐시 메모리 장치에서의 리프레시 소비 전력 절감 방법.
10. The method of claim 9,
Wherein the sub-array usage information in the cache table is the number of sub-arrays in which compressed cache line data is stored, and bit data capable of representing N sub-arrays in different forms. How to save power consumption.
상기 캐시 데이터 접근단계는 캐시 관리모듈에서 상기 캐시 테이블을 통해 해당 캐시 라인에 대한 서브 어레이 개수를 확인하는 단계와, 서브 어레이 개수에 해당하는 서브 어레이로만 동시 접근하여 접근된 서브 어레이로부터 분할 저장된 캐시 라인 데이터를 호출하여 조합함으로써 하나의 압축된 캐시 라인 데이터를 생성하는 단계 및, 압축된 캐시 라인 데이터를 압축 복원처리하는 단계를 포함하여 구성되는 것을 특징으로 하는 캐시 메모리 장치에서의 리프레시 소비 전력 절감 방법.
10. The method of claim 9,
The cache data accessing step includes: checking a number of sub-arrays for a corresponding cache line through the cache table in a cache management module; checking a number of sub-arrays corresponding to the number of sub- Generating one compressed cache line data by calling and combining the data; and decompressing the compressed cache line data. ≪ Desc / Clms Page number 19 >
상기 리프레시 단계는 상기 캐시 관리모듈에서 프로세서로부터의 리프레시 요청에 대해 리프레시 대상 캐시 라인 데이터가 저장된 메모리 어레이의 모든 서브 어레이로 상기 리프레시 신호를 제공하는 단계와, 캐시 관리모듈에서 캐시 테이블을 통해 리프레시될 캐시 라인에 대한 서브 어레이 개수를 확인하는 단계, 서브 어레이 개수에 해당하는 서브 어레이로만 리프레시 선택신호를 제공하는 단계 및, 상기 리프레시 신호와 상기 리프레시 선택신호가 모두 입력된 서브 어레이에 대해서만 리프레시 동작을 수행하는 단계를 포함하여 구성되는 것을 특징으로 하는 리프레시 소비 전력 절감 방법.10. The method of claim 9,
Wherein the refresh step comprises the steps of: providing the refresh signal to all sub-arrays of a memory array in which the refresh target cache line data is stored for a refresh request from the processor in the cache management module; A step of providing a refresh selection signal only to the subarrays corresponding to the number of subarrays, and a step of performing a refresh operation only on the subarrays to which both the refresh signal and the refresh selection signal are inputted Wherein the step of controlling the refresh power consumption comprises the steps of:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160161010A KR101863590B1 (en) | 2016-11-30 | 2016-11-30 | Cache memory apparatus and method having function of saving energy for refresh |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160161010A KR101863590B1 (en) | 2016-11-30 | 2016-11-30 | Cache memory apparatus and method having function of saving energy for refresh |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101863590B1 true KR101863590B1 (en) | 2018-07-02 |
Family
ID=62914255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160161010A KR101863590B1 (en) | 2016-11-30 | 2016-11-30 | Cache memory apparatus and method having function of saving energy for refresh |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101863590B1 (en) |
-
2016
- 2016-11-30 KR KR1020160161010A patent/KR101863590B1/en active IP Right Grant
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10365844B2 (en) | Logical block address to physical block address (L2P) table compression | |
US10223273B2 (en) | Memory access method, storage-class memory, and computer system | |
KR102048762B1 (en) | Method, device and system for refreshing dynamic random access memory(dram) | |
KR101477849B1 (en) | Independently controllable and reconfigurable virtual memory devices in memory modules that are pin-compatible with standard memory modules | |
KR101665611B1 (en) | Computer system and method of memory management | |
US10019375B2 (en) | Cache device and semiconductor device including a tag memory storing absence, compression and write state information | |
TWI744289B (en) | A central processing unit (cpu)-based system and method for providing memory bandwidth compression using multiple last-level cache (llc) lines | |
KR20220036752A (en) | Memory device for processing row-hammer refresh operation and method of opertating thereof | |
EP2946303B1 (en) | Systems and methods for accessing memory | |
US20210056030A1 (en) | Multi-level system memory with near memory capable of storing compressed cache lines | |
CN104714903A (en) | Storage system | |
AU2014301874B2 (en) | Data writing method and memory system | |
JPWO2015114829A1 (en) | Information processing device | |
US20180088822A1 (en) | Using compression to increase capacity of a memory-side cache with large block size | |
KR102588408B1 (en) | Adaptive memory transaction scheduling | |
JP4569921B2 (en) | Power-saving memory access control device | |
KR101863590B1 (en) | Cache memory apparatus and method having function of saving energy for refresh | |
US10978131B2 (en) | Mobile device and operation method thereof | |
US11016898B2 (en) | System and method for mixed tile-aware and tile-unaware traffic through a tile-based address aperture | |
Gulur et al. | Row-buffer reorganization: simultaneously improving performance and reducing energy in drams | |
CN102073604A (en) | Method, device and system for controlling read and write of synchronous dynamic memory | |
US20150006935A1 (en) | Method for controlling cache memory and apparatus for the same | |
CN117075798A (en) | eMMC array read operation data alignment control device and control method thereof | |
KR20160110690A (en) | Method for DRAM Memory Address Mapping and Memory System Using the Method | |
JP2011060201A (en) | Memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |