KR101977866B1 - 병렬 tlc stt mram 기반 대용량 llc 및 이의 동작 제어 방법 - Google Patents

병렬 tlc stt mram 기반 대용량 llc 및 이의 동작 제어 방법 Download PDF

Info

Publication number
KR101977866B1
KR101977866B1 KR1020180043976A KR20180043976A KR101977866B1 KR 101977866 B1 KR101977866 B1 KR 101977866B1 KR 1020180043976 A KR1020180043976 A KR 1020180043976A KR 20180043976 A KR20180043976 A KR 20180043976A KR 101977866 B1 KR101977866 B1 KR 101977866B1
Authority
KR
South Korea
Prior art keywords
block
area
llc
soft
tlc
Prior art date
Application number
KR1020180043976A
Other languages
English (en)
Inventor
장우영
Original Assignee
단국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 단국대학교 산학협력단 filed Critical 단국대학교 산학협력단
Priority to KR1020180043976A priority Critical patent/KR101977866B1/ko
Application granted granted Critical
Publication of KR101977866B1 publication Critical patent/KR101977866B1/ko

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/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1673Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mram Or Spin Memory Techniques (AREA)

Abstract

본 발명은 셀 분할 매핑(Cell Division Mapping)과 조건 블록 스와핑(Conditional Block Swapping)을 적용하여 3-단계의 읽기와 쓰기 발생을 최소화할 수 있도록 한 병렬 TLC STT MRAM 기반 대용량 LLC 및 이의 동작 제어 방법에 관한 것으로, 비트 라인과 소스 라인에 연결되고, 워드 라인에 연결된 트랜지스터에 의해 제어되는 메모리 셀 구조를 갖고, 신호(Flag), 태그(Tag), 캐시 데이터를 저장하는 LLC 블록들을 포함하고, 각각의 LLC 블록은 병렬 TLC MTJ들의 하드 영역, 미디움 영역, 소프트 영역들 중 동일한 영역으로 구성되어, LLC 블록에서 데이터를 접근할 때 셀 분할 매핑에 의해 병렬 TLC MTJ들의 일부 영역에서만 쓰기 또는 읽기 동작이 수행되고, 조건 블록 스와핑으로 셀 분할 매핑이 적용된 LLC에서 병렬 TLC MTJ들의 하드영역으로 구성된 블록에서 쓰기와, 소프트 영역으로 구성된 블록에서 읽기를 감소하도록 제어하는 것이다.

Description

병렬 TLC STT MRAM 기반 대용량 LLC 및 이의 동작 제어 방법{Large scale Last level Cache based on parallel TLC STT MRAM and Method for controlling function the same}
본 발명은 멀티 코어 프로세서에 관한 것으로, 구체적으로 셀 분할 매핑(Cell Division Mapping)과 조건 블록 스와핑(Conditional Block Swapping)을 적용하여 3-단계의 읽기와 쓰기 발생을 최소화할 수 있도록 한 병렬 TLC STT MRAM 기반 대용량 LLC 및 이의 동작 제어 방법에 관한 것이다.
최신의 컴퓨터 시스템들은 병렬 처리를 통한 성능 향상과 저전력 소모를 위하여 멀티-코어 프로세서를 사용하고 있다.
그 코어들은 다양한 캐시(Cache)들을 계층적으로 내재하고 있다. 그러한 캐시들 중에서 LLC(Last-Level Cache)는 다수의 코어들에 의해 공유되기 때문에, 저장 용량이 충분하지 않으면 LLC의 효율이 크게 저하된다.
이러한 문제점을 개선하기 위해서 멀티-코어 프로세서의 성능을 향상시키기 위한 대용량 온-칩 캐시들이 연구되고 있다.
최신의 멀티-코어 프로세서에서 SRAM(Static Random Access Memory)로 구현된 캐시들은 전체 컴퓨터 시스템의 성능, 비용, 전력 소모에 많은 영향을 주고 있다.
계속되는 반도체 미세 공정 발전으로 캐시의 저장 용량이 증가하여 성능은 향상되어 왔으나, 신뢰도와 전력 소모는 크게 악화되고 있다.
따라서, STT-MRAM(Spin Transfer Torque Magnetic Random Access Memory), ReRAM(Resistive Random Access Memory), PRAM(Phase-Change Random Access Memory)와 같은 차세대 메모리들이 광범위하게 연구되고 있다.
그 중에서 MTJ(Magnetic Tunnelling Junction)에 데이터를 저장하는 STT-MRAM은 SRAM을 대체할 수 있는 유력한 후보들 중의 하나로서 주목받고 있다.
STT-MRAM은 SRAM과 비슷한 읽기 지연, SRAM보다 높은 저장 용량, 낮은 전력 소모를 제공할 뿐만 아니라, 전원을 공급하지 않아도 데이터가 지워지지 않는다.
또한, STT-MRAM은 다른 차세대 메모리들보다 우수한 성능과 낮은 전력 소모, 높은 내구성을 보여준다.
하지만, STT-MRAM는 다른 차세대 메모리들보다 낮은 저장 밀도를 가지므로, 대용량 LLC에서 STT-MRAM의 사용을 주저하게 만든다.
따라서 STT-MRAM의 저장 밀도를 향상시켜, 차세대 멀티-코어 프로세서에서 요구하는 대용량, 고성능, 저전력 캐시를 구현하기 위한 연구들이 활발히 진행되고 있다.
최근에 플래시 메모리처럼 STT-MRAM 셀(Cell)에 다수의 비트(Bit)를 저장하는 기술들이 연구되고 있다.
MLC(Multi-Level Cell) STT-MRAM은 2-비트를 하나의 메모리 셀에 저장할 수 있고, TLC(Triple-Level Cell) STT-MRAM은 3-비트를 하나의 메모리 셀에 저장할 수 있다.
MLC STT-MRAM을 LLC로 이용하기 위한 연구는 활발히 진행되었지만, 더 많은 코어들이 집적되어 LLC를 공유하게 될 것으로 예상됨에 따라, LLC의 끊임없는 저장 용량 증가를 요구하고 있다.
LLC는 병렬 TLC STT-MRAM을 사용하여 매우 높은 저장 밀도를 제공할 수 있지만, 각 LLC 블록이 동일한 병렬 TLC STT-MRAM 셀의 3-비트를 모두 포함하면, 복잡한 3-단계의 읽기와 쓰기가 수행되어 LLC의 성능와 전력 소모가 악화된다.
STT-MRAM의 기본 동작을 설명하면 다음과 같다.
도 1a와 도 1b는 SLC STT-MRAM 셀의 구조 및 MTJ의 병렬 및 비병렬 상태를 나타낸 구성도이다.
도 1a는 SLC STT-MRAM 셀의 구조를 나타낸 것으로, 메모리 셀은 비트 라인과 소스 라인에 연결되고, 워드 라인에 연결된 트랜지스터에 의해 제어된다.
MTJ는 자유층과 참조층이라 불리는 두 개의 강자성 물질이 산화물 장벽에 의해 분리된 구조를 가지고 있다.
참조층의 자화 방향은 고정되어 있으며, 자유층의 자화 방향은 스핀 분극 전류(Spin Polarized Current)에 의해 변경될 수 있다.
도 1b는 MTJ의 두 가지 저항 상태를 나타낸 것으로, SLC MTJ의 참조층과 자유층의 자화 방향이 동일할 때, MTJ는 낮은 저항 상태를 가지며, 논리적 ‘0’을 나타낸다. 반면에, 두 층의 자화 방향이 서로 다를 때, MTJ는 높은 저항 상태를 가지며, 논리적 ‘1’을 나타낸다.
도 2a는 8개의 저항 상태들을 표현할 수 있는 병렬 TLC STT-MRAM 셀의 구성도이다.
그리고 도 2b는 병렬 TLC MTJ의 저항 상태도이고, 도 2c는 병렬 TLC MTJ의 저항 상태 탐지를 나타낸 구성도이다.
도 2a는 8개의 저항 상태들을 표현할 수 있는 병렬 TLC STT-MRAM 셀의 구조를 나타낸 것으로, 병렬 TLC MTJ는 자유층이 세 부분으로 나눠져 있어서, 다양한 저항 상태를 표현할 수 있다. 세부분은 소프트 영역, 미디움 영역, 그리고 하드 영역이라고 불리고, 각 영역은 1-비트 데이터를 저장할 수 있다.
병렬 TLC MTJ는 하나의 트랜지스터에 의해 제어되고, 세 종류의 전류가 하드, 미디움, 그리고 소프트 영역을 모두 통과하게 된다.
하드 영역의 자화 방향을 변환하는 전류는 미디움 영역의 자화 방향을 변환하는 전류보다 크고, 미디움 영역의 자화 방향을 변환하는 전류는 소프트영역의 자화 방향을 변환하는 전류보다 크다.
그래서 병렬 TLC MTJ에서 하드 영역의 자화 방향이 변환되면, 미디움과 소프트 영역들의 자화 방향이 하드 영역과 동일하게 변환된다.
그리고, 미디움 영역의 자화 방향이 변환되는 경우에는 소프트 영역들의 자화 방향이 미디움 영역과 동일하게 변환된다.
도 2b는 병렬 TLC MTJ의 저항 상태(Resistive state)를 나타낸 것으로, 병렬 TLC MTJ 저항 상태 변환은 현재의 저항 상태와 최종 저항 상태에 의해 좌우된다.
3-단계 쓰기 동작은 병렬 TLC MTJ의 저항 상태가 [0xx]→[101]와 [1xx]→[010]로 변환되는 경우에 발생된다.
여기서, [hms]은 하드 영역의 논리 값이 h, 미디움 영역의 논리 값이 m, 그리고, 소프트 영역의 논리 값이 s를 의미하고, x는 무정의(Don’t Care)를 의미한다.
3-단계 쓰기 동작에서는 우선 하드 영역에 쓰기 동작을 수행하여, 저항 상태를 [0xx]→[111]와 [1xx]→[000]으로 변환한다. 다음으로, 미디움 영역에 쓰기 동작을 수행하여, 저항 상태를 [111]→[100]와 [000]→[011]로 변환하고, 마지막으로, 소프트 영역에서 쓰기 동작을 수행하여, 저항 상태를 [100]→[101]와 [011]→[010]으로 변환한다.
2-단계 쓰기 동작은 병렬 TLC MTJ의 저항 상태가 [0xx]→[100], [1xx]→[011], [0x0]→[110],[1x1]→[001], [h0x]→[h10], 그리고 [h1x]→[h01]로 변환되는 경우에 수행된다. 나머지 저항 상태 변환은 1-단계 쓰기 동작으로 수행될 수 있다.
도 2c는 병렬 TLC MTJ의 저항 상태 탐지를 나타낸 것으로, 병렬 TLC MTJ에 저장된 3-비트 데이터를 모두 읽기 위하여 3-단계의 탐지 동작을 필요로 한다.
탐지 동작에서 입력 감지 전류에 의해 병렬 TLC MTJ에 전압이 유도되고, 그 전압은 7개 중에 3개의 레퍼런스 전압들과 비교된다.
감지 증폭기는 먼저 Ref-H와 전압을 비교하여 하드 영역의 저항 상태를 탐지하고, 그 결과에 따라 Ref-M0 또는 Ref-M1과 전압을 비교하여 미디움 영역의 저항 상태를 탐지한다.
마지막으로 하드와 미디움 영역들의 저항 상태 탐지 결과에 따라 Ref-S0, Ref-S1, Ref-S2, 또는 Ref-S3과 전압을 비교하여 소프트 영역의 저항 상태를 탐지한다.
미세공정의 발전으로 반도체 집적도가 점점 더 향상됨에 따라, 프로세서들은 더 많은 코어들을 내장하게 될 것이다.
고성능 멀티-코어 프로세서들은 대용량 LLC(Last-Level Cache)를 요구하고 있다.
차세대 메모리들 중의 하나인 TLC(Triple-Level Cell) STT(Spin-Transfer Torque)-MRAM(Magnetic Random Access Memory)는 높은 저장 밀도를 제공할 수 있지만, 다단계 읽기와 쓰기 동작으로 긴 메모리 지연과 높은 전력 소모를 유발한다.
따라서, 고성능 멀티-코어 프로세서들에 적용될 수 있는 새로운 기술의 고성능, 저전력, 대용량 LLC의 개발이 요구되고 있다.
이 코어들은 LLC를 공유하게 되므로, 더 큰 저장 용량의 LLC가 요구되고 있다. 최근에 TLC STT-MRAM이 개발되었지만, LLC로 사용되기 위해서는 복잡한 쓰기와 읽기로 유발된 문제들을 해결해야 한다.
대한민국 공개특허 제10-2014-0047083호 대한민국 공개특허 제10-2011-0079826호 대한민국 공개특허 제10-2013-0089255호
본 발명은 이와 같은 종래 기술의 멀티 코어 프로세서 및 캐쉬 구조의 문제를 해결하기 위한 것으로, 셀 분할 매핑(Cell Division Mapping)과 조건 블록 스와핑(Conditional Block Swapping)을 적용하여 3-단계의 읽기와 쓰기 발생을 최소화할 수 있도록 한 병렬 TLC STT MRAM 기반 대용량 LLC 및 이의 동작 제어 방법을 제공하는데 그 목적이 있다.
본 발명은 조건 블록 스와핑에 의해 셀 분할 매핑 기법이 적용된 LLC에서 병렬 TLC MTJ들의 하드 영역으로 구성된 블록에서 쓰기와, 소프트 영역으로 구성된 블록에서 읽기를 감소시킬 수 있도록 한 병렬 TLC STT MRAM 기반 대용량 LLC 및 이의 동작 제어 방법을 제공하는데 그 목적이 있다.
본 발명은 병렬 TLC MTJ들의 다단계 저항 상태 변환과 탐지의 발생을 최소화하여, 전체 메모리 접근 시간과 전력 소모를 크게 향상시킬 수 있도록 한 병렬 TLC STT MRAM 기반 대용량 LLC 및 이의 동작 제어 방법을 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
이와 같은 목적을 달성하기 위한 본 발명에 따른 병렬 TLC STT MRAM 기반 대용량 LLC는 비트 라인과 소스 라인에 연결되고, 워드 라인에 연결된 트랜지스터에 의해 제어되는 메모리 셀 구조를 갖고, 신호(Flag), 태그(Tag), 캐시 데이터를 저장하는 LLC 블록들을 포함하고, 각각의 LLC 블록은 병렬 TLC MTJ들의 하드 영역, 미디움 영역, 소프트 영역들 중 동일한 영역으로 구성되어, LLC 블록에서 데이터를 접근할 때 셀 분할 매핑에 의해 병렬 TLC MTJ들의 일부 영역에서만 쓰기 또는 읽기 동작이 수행되고, 조건 블록 스와핑으로 셀 분할 매핑이 적용된 LLC에서 병렬 TLC MTJ들의 하드영역으로 구성된 블록에서 쓰기와, 소프트 영역으로 구성된 블록에서 읽기를 감소시킬 수 있도록 제어하는 것을 특징으로 한다.
여기서, 상기 LLC 블록들이, 병렬 TLC MTJ들의 소프트 영역으로 구성되는 블록 A, 병렬 TLC MTJ들의 미디움 영역으로 구성된 블록 B, 병렬 TLC MTJ들의 하드 영역으로 구성된 블록 C를 갖는 경우, 데이터가 갱신, 또는 저장되는 LLC 블록이 A라고 하면, 소프트 영역에 1-단계 저항 상태 변환으로 LLC 블록 쓰기가 수행되고,블록 B가 선택되면, 2-단계 저항상태 변환으로 LLC 블록 쓰기가 수행되고,블록 C가 선택되면, 3-단계 저항 상태 변환으로 LLC 블록 쓰기가 수행되는 것을 특징으로 한다.
그리고 블록 A가 선택되어 LLC 블록 쓰기가 수행되는 과정에서, 소프트 영역을 변환시키는 전류는 미디움 영역과 하드 영역을 변환시키지 못하는 것을 특징으로 한다.
그리고 블록 B가 선택되어 LLC 블록 쓰기가 수행되는 과정에서, 블록 B를 구성하는 미디움 영역에 쓰기 동작이 먼저 수행되고, 병렬 TLC MTJ에서 미디움 영역을 변환시키는 전류는 하드 영역을 변환시키지 못하기 때문에 블록 C는 원래 저장된 데이터를 유지하고, 미디움 영역을 변환시키는 전류는 소프트 영역을 변환시킬 수 있어 블록 A를 구성하는 병렬 TLC MTJ들의 소프트 영역을 복원하기 위한 쓰기 동작이 수행되는 것을 특징으로 한다.
그리고 블록 C가 선택되어 LLC 블록 쓰기가 수행되는 과정에서, 블록 C를 구성하는 하드 영역에 쓰기 동작이 먼저 수행되고, 병렬 TLC MTJ에서 하드 영역을 변환시키는 전류는 미디움과 소프트 영역들을 변환시킬 수 있기 때문에, 블록 B를 구성하는 미디움 영역의 복원과 블록 A를 구성하는 소프트 영역의 복원하는 쓰기 동작이 순차적으로 수행되는 것을 특징으로 한다.
그리고 셀 분할 매핑이 적용된 LLC에서 블록 읽기는 선택된 블록을 구성하는 병렬 TLC MTJ 영역에 따라 읽기 동작들이 결정되고, 병렬 TLC MTJ에서 하드 영역, 미디움 영역, 소프트 영역이 항상 순차적으로 읽혀지는 것을 특징으로 한다.
그리고 하드 영역으로 구성된 블록 C를 읽을 경우에는 1-단계 저항 상태 탐지가 수행되고, 미디움 영역과 소프트 영역의 탐지는 생략되는 것을 특징으로 한다.
그리고 미디움 영역으로 구성된 블록 B를 읽을 경우에는 2-단계 저항 상태 탐지가 수행되고, 하드 영역을 먼저 탐지한 후, 미디움 영역을 탐지하고, 소프트 영역 탐지는 생략되는 것을 특징으로 한다.
그리고 소프트 영역으로 구성된 블록 A를 읽을 경우에는 3-단계 저항 상태 탐지가 수행되고, 하드 영역과 미디움 영역을 탐지한 후, 소프트 영역을 탐지하는 것을 특징으로 한다.
그리고 조건 블록 스와핑에 의해 상위 캐시의 갱신 데이터가 셀 분할 매핑이 적용된 LLC에 저장되는 과정에서, 갱신될 LLC 블록이 병렬 TLC MTJ의 소프트 영역으로 구성되어 있다면, 갱신 데이터는 그 LLC 블록에 저장되고, 갱신될 LLC 블록이 병렬 TLC MTJ들의 미디움 영역으로 구성되어 있다면, 갱신 데이터는 그 미디움 영역의 병렬 TLC MTJ들을 공유하는 소프트 영역으로 구성된 블록으로 바꿔 저장할 수 있는 것을 특징으로 한다.
그리고 조건 블록 스와핑에 의해 상위 캐시의 갱신 데이터가 셀 분할 매핑이 적용된 LLC에 저장되는 과정에서, 갱신될 LLC 블록이 병렬 TLC MTJ들의 하드 영역으로 구성되어 있다면, 갱신 데이터는 그 하드 영역의 병렬 TLC MTJ들을 공유하는 미디움과 소프트 영역으로 구성된 블록으로 바꿔 저장할 수 있는 것을 특징으로 한다.
그리고 캐시 실패로 발생한 메인 메모리 데이터가 셀 분할 매핑이 적용된 LLC에 저장되는 과정에서, 메인 메모리 데이터는 LRU(Least Recently Used) 또는 모조(Pseudo) LRU 알고리즘으로 선택되는 LLC 블록에 저장되고, 선택된 블록이 병렬 TLC MTJ들의 소프트 영역으로 구성되어 있다면, 다른 블록의 데이터는 손상되지 않고, 선택된 블록이 미디움 영역으로 구성되어 있다면, 그 미디움 영역과 병렬 TLC MTJ들을 공유하는 소프트 영역으로 구성된 블록의 데이터는 손상되어 복원하고, 선택된 블록이 하드 영역으로 구성되어 있다면, 그 하드 영역의 병렬 TLC MTJ들을 공유하는 미디움 영역과 소프트 영역으로 구성된 블록들의 데이터는 손실되어 복원되는 것을 특징으로 한다.
다른 목적을 달성하기 위한 본 발명에 따른 병렬 TLC STT MRAM 기반 대용량 LLC의 동작 제어 방법은 비트 라인과 소스 라인에 연결되고, 워드 라인에 연결된 트랜지스터에 의해 제어되는 메모리 셀 구조를 갖고, 신호(Flag), 태그(Tag), 캐시 데이터를 저장하는 LLC 블록들을 포함하는 병렬 TLC STT MRAM 기반 대용량 LLC의 동작 제어에 있어서, 각각의 LLC 블록은 병렬 TLC MTJ들의 하드 영역, 미디움 영역, 소프트 영역들 중 동일한 영역으로 구성되어, LLC 블록에서 데이터를 접근할 때 셀 분할 매핑에 의해 병렬 TLC MTJ들의 일부 영역에서만 쓰기 또는 읽기 동작이 수행되고, 조건 블록 스와핑으로 셀 분할 매핑이 적용된 LLC에서 병렬 TLC MTJ들의 하드영역으로 구성된 블록에서 쓰기와, 소프트 영역으로 구성된 블록에서 읽기를 감소시킬 수 있도록 제어하는 것을 특징으로 한다.
여기서, 상기 LLC 블록들이, 병렬 TLC MTJ들의 소프트 영역으로 구성되는 블록 A, 병렬 TLC MTJ들의 미디움 영역으로 구성된 블록 B, 병렬 TLC MTJ들의 하드 영역으로 구성된 블록 C를 갖는 경우, 데이터가 갱신, 또는 저장되는 LLC 블록이 A라고 하면, 소프트 영역에 1-단계 저항 상태 변환으로 LLC 블록 쓰기가 수행되고,블록 B가 선택되면, 2-단계 저항상태 변환으로 LLC 블록 쓰기가 수행되고,블록 C가 선택되면, 3-단계 저항 상태 변환으로 LLC 블록 쓰기가 수행되는 것을 특징으로 한다.
그리고 블록 A가 선택되어 LLC 블록 쓰기가 수행되는 과정에서, 소프트 영역을 변환시키는 전류는 미디움 영역과 하드 영역을 변환시키지 못하는 것을 특징으로 한다.
그리고 블록 B가 선택되어 LLC 블록 쓰기가 수행되는 과정에서, 블록 B를 구성하는 미디움 영역에 쓰기 동작이 먼저 수행되고, 병렬 TLC MTJ에서 미디움 영역을 변환시키는 전류는 하드 영역을 변환시키지 못하기 때문에 블록 C는 원래 저장된 데이터를 유지하고, 미디움 영역을 변환시키는 전류는 소프트 영역을 변환시킬 수 있어 블록 A를 구성하는 병렬 TLC MTJ들의 소프트 영역을 복원하기 위한 쓰기 동작이 수행되는 것을 특징으로 한다.
그리고 블록 C가 선택되어 LLC 블록 쓰기가 수행되는 과정에서, 블록 C를 구성하는 하드 영역에 쓰기 동작이 먼저 수행되고, 병렬 TLC MTJ에서 하드 영역을 변환시키는 전류는 미디움과 소프트 영역들을 변환시킬 수 있기 때문에, 블록 B를 구성하는 미디움 영역의 복원과 블록 A를 구성하는 소프트 영역의 복원하는 쓰기 동작이 순차적으로 수행되는 것을 특징으로 한다.
그리고 조건 블록 스와핑에 의해 상위 캐시의 갱신 데이터가 셀 분할 매핑이 적용된 LLC에 저장되는 과정에서, 갱신될 LLC 블록이 병렬 TLC MTJ의 소프트 영역으로 구성되어 있다면, 갱신 데이터는 그 LLC 블록에 저장되고, 갱신될 LLC 블록이 병렬 TLC MTJ들의 미디움 영역으로 구성되어 있다면, 갱신 데이터는 그 미디움 영역의 병렬 TLC MTJ들을 공유하는 소프트 영역으로 구성된 블록으로 바꿔 저장할 수 있는 것을 특징으로 한다.
그리고 조건 블록 스와핑에 의해 상위 캐시의 갱신 데이터가 셀 분할 매핑이 적용된 LLC에 저장되는 과정에서, 갱신될 LLC 블록이 병렬 TLC MTJ들의 하드 영역으로 구성되어 있다면, 갱신 데이터는 그 하드 영역의 병렬 TLC MTJ들을 공유하는 미디움과 소프트 영역으로 구성된 블록으로 바꿔 저장할 수 있는 것을 특징으로 한다.
그리고 캐시 실패로 발생한 메인 메모리 데이터가 셀 분할 매핑이 적용된 LLC에 저장되는 과정에서, 메인 메모리 데이터는 LRU(Least Recently Used)또는 모조(Pseudo) LRU 알고리즘으로 선택되는 LLC 블록에 저장되고, 선택된 블록이 병렬 TLC MTJ들의 소프트 영역으로 구성되어 있다면, 다른 블록의 데이터는 손상되지 않고, 선택된 블록이 미디움 영역으로 구성되어 있다면, 그 미디움 영역과 병렬 TLC MTJ들을 공유하는 소프트 영역으로 구성된 블록의 데이터는 손상되어 복원하고, 선택된 블록이 하드 영역으로 구성되어 있다면, 그 하드 영역의 병렬 TLC MTJ들을 공유하는 미디움 영역과 소프트 영역으로 구성된 블록들의 데이터는 손실되어 복원되는 것을 특징으로 한다.
이와 같은 본 발명에 따른 병렬 TLC STT MRAM 기반 대용량 LLC 및 이의 동작 제어 방법은 다음과 같은 효과를 갖는다.
첫째, 셀 분할 매핑(Cell Division Mapping)과 조건 블록 스와핑(Conditional Block Swapping)을 적용하여 3-단계의 읽기와 쓰기 발생을 최소화할 수 있다.
둘째, 조건 블록 스와핑에 의해 셀 분할 매핑 기법이 적용된 LLC에서 병렬 TLC MTJ들의 하드 영역으로 구성된 블록에서 쓰기와, 소프트 영역으로 구성된 블록에서 읽기를 감소시킬 수 있다.
셋째, 병렬 TLC MTJ들의 다단계 저항 상태 변환과 탐지의 발생을 최소화하여, 전체 메모리 접근 시간과 전력 소모를 크게 향상시킬 수 있도록 한다.
도 1a와 도 1b는 SLC STT-MRAM 셀의 구조 및 MTJ의 병렬 및 비병렬 상태를 나타낸 구성도
도 2a는 8개의 저항 상태들을 표현할 수 있는 병렬 TLC STT-MRAM 셀의 구성도
도 2b는 병렬 TLC MTJ의 저항 상태도
도 2c는 병렬 TLC MTJ의 저항 상태 탐지를 나타낸 구성도
도 3a와 도 3b는 직접 매핑 기법을 적용한 LLC 및 셀 분할 매핑 기법을 적용한 제안된 LLC의 구성도
도 4a와 도4b는 셀 분할 매핑 기법을 적용한 LLC로 갱신 데이터를 쓰는 경우 및 셀 분할 매핑 기법을 적용한 LLC로 캐시 실패 데이터를 쓰는 경우의 동작을 나타낸 플로우 차트
이하, 본 발명에 따른 병렬 TLC STT MRAM 기반 대용량 LLC 및 이의 동작 제어 방법의 바람직한 실시 예에 관하여 상세히 설명하면 다음과 같다.
본 발명에 따른 병렬 TLC STT MRAM 기반 대용량 LLC 및 이의 동작 제어 방법의 특징 및 이점들은 이하에서의 각 실시 예에 대한 상세한 설명을 통해 명백해질 것이다.
도 3a와 도 3b는 직접 매핑 기법을 적용한 LLC 및 셀 분할 매핑 기법을 적용한 제안된 LLC의 구성도이다.
본 발명에 따른 병렬 TLC STT MRAM 기반 대용량 LLC 및 이의 동작 제어 방법은 셀 분할 매핑(Cell Division Mapping)과 조건 블록 스와핑(Conditional Block Swapping) 기법들을 적용하여 3-단계의 읽기와 쓰기 발생을 최소화할 수 있도록 한 것이다.
이를 위하여 본 발명은 셀 분할 매핑으로 병렬 TLC MTJ들의 일부 영역에서만 쓰기 또는 읽기 동작 수행, 각 LLC 웨이는 동일한 병렬 TLC MTJ 영역으로 구성된 LLC 블록들로 구성하는 특징을 포함할 수 있다.
본 발명은 셀 분할 매핑이 적용된 LLC에서 블록 읽기는 선택된 블록을 구성하는 병렬 TLC MTJ 영역에 따라 읽기 동작들이 결정되는 특징을 포함할 수 있다.
본 발명은 조건 블록 스와핑 기법으로, 갱신될 LLC 블록이 병렬 TLC MTJ의 소프트 영역으로 구성되어 있다면, 갱신 데이터는 그 LLC 블록에 저장하는 특징을 포함할 수 있다.
본 발명은 갱신될 LLC 블록이 병렬 TLC MTJ들의 미디움 영역으로 구성되어 있다면, 갱신 데이터는 그 미디움 영역의 병렬 TLC MTJ들을 공유하는 소프트 영역으로 구성된 블록으로 바꿔 저장할 수 있는 특징을 포함할 수 있다.
구체적으로, 셀 분할 매핑 기법은 각 LLC 블록이 병렬 TLC MTJ들의 동일한 영역으로 구성되게 한다. 병렬 TLC MTJ들의 하드 영역으로 구성된 LLC 블록은 읽기 지연이 작고, 쓰기 지연이 큰 반면에, 소프트 영역으로 구성된 LLC 블록은 읽기 지연이 크고, 쓰기 지연이 작다.
미디움 영역으로 구성된 LLC 블록의 읽기와 쓰기 지연은 하드와 소프트 영역으로 구성된 블록의 읽기와 쓰기 지연들의 사이에 있다.
셀 분할 매핑 기법이 적용된 LLC에서 데이터가 하드 영역으로 구성된 블록에 자주 저장되거나, 데이터가 소프트 영역으로 구성된 블록으로부터 자주 읽게 되면, LLC의 성능 저하와 전력 소모가 크게 증가될 수 있다.
본 발명에 따른 조건 블록 스와핑 기법은 데이터를 쓸 때, LLC 블록을 구성하는 영역들의 특징과 LLC 블록의 참조 빈도에 따라, LLC 블록들의 데이터를 서로 교환한다.
그 결과로 병렬 TLC MTJ의 소프트 영역으로 구성된 블록에서 읽기와 하드 영역으로 구성된 블록에서 쓰기 발생을 최소화한다.
이러한 셀 분할 매핑과 조건 블록 스와핑 기법들을 이용한 병렬 TLC STT-MRAM 기반 LLC는 메모리 접근 시간과 전력 소모를 크게 줄일 수 있다.
도 3a와 도 3b는 두 종류의 3-웨이 집합-연관(Set-Associative) LLC들을 나타낸 것으로, LLC들은 저장 용량 확장을 통해 캐시 적중을 향상시키기 위하여 SRAM이나 DRAM 대신에 병렬 TLC STT- MRAM으로 설계된 것이다.
LLC 블록은 신호(Flag), 태그(Tag), 캐시 데이터를 저장한다.
도 3a는 직접 매핑 기법이 적용된 LLC를 나타낸 것으로, 각 LLC 블록은 병렬 TLC MTJ들의 하드영역, 미디움 영역, 소프트 영역으로 구성되어 있다.
LLC 블록에 데이터를 쓸 때, 그 블록을 구성하는 각 병렬 TLC MTJ의 모든 영역의 저항 상태가 변환될 수 있다, 따라서 각 병렬 TLC MTJ의 현재 저항 상태에서 목표 저항 상태로 수행될 저항 상태 변환이 결정되어 수행된다.
직접 매핑 기법이 적용된 LLC 블록을 읽을 경우에, 그 LLC 블록에 구성하는 모든 병렬 TLC MTJ들의 저항 상태가 탐지되어야 한다.
각 병렬 TLC MTJ의 현재 저항 상태에 관계없이, LLC 블록을 구성하는 모든 병렬 TLC MTJ들에서 항상 3-단계 저항 상태 탐지가 수행된다.
직접 매핑 기법이 적용된 LLC의 성능과 전력 소모는 병렬 TLC MTJ의 복잡한 저항 상태 변환과 탐지에 의해 크게 저하될 수 있다. LLC 블록 쓰기 지연은 그 블록에 구성하는 모든 병렬 TLC MTJ들 중에서 최대 지연되는 것에 의해 좌우된다.
즉, LLC 블록에서 다수의 병렬 TLC MTJ들의 저항 상태가 1-단계 또는 2-단계로 변환될 수 있더라도, 어떤 병렬 TLC MTJ의 저항 상태가 3-단계로 변환된다면, 그 블록의 전체 쓰기 지연은 3-단계 저항 상태 변환을 수행하는 시간과 같다.반면에, LLC 블록 읽기는 항상 병렬 TLC MTJ의 3-단계 저항 상태 탐지 시간과 같다.
따라서, 이러한 병렬 TLC MTJ의 복잡한 저항 상태 변환과 탐지는 LLC의 성능을 저하시킬 수 있다. 또한, 블록에 접근할 때, 병렬 TLC MTJ의 다단계 쓰기 또는 읽기 동작이 자주 발생되어 전력 소모도 증가할 수 있다.
이와 같은 문제를 해결하기 위하여, 본 발명에 따른 병렬 TLC STT MRAM 기반 대용량 LLC 및 이의 동작 제어 방법은 셀 분할 매핑 기법을 적용한다.
도 3b는 본 발명에 따른 셀 분할 매핑 기법이 적용된 LLC를 나타낸 것이다.
본 발명에 따른 병렬 TLC STT MRAM 기반 대용량 LLC의 메모리 셀은 비트 라인과 소스 라인에 연결되고, 워드 라인에 연결된 트랜지스터에 의해 제어된다.
구체적으로, 본 발명에 따른 셀 분할 매핑 기법이 적용된 LLC에서 각 블록은 병렬 TLC MTJ들의 하드 영역, 미디움 영역, 소프트 영역들 중 동일한 영역으로 구성된다.
LLC 블록에서 데이터를 접근할 때, 병렬 TLC MTJ들의 모든 영역에서 쓰기 또는 읽기가 수행되는 직접 매핑 기법과 다르게, 셀 분할 매핑 기법에서는 병렬 TLC MTJ들의 일부 영역에서만 쓰기 또는 읽기 동작이 수행될 수 있다.
각 LLC 웨이는 동일한 병렬 TLC MTJ 영역으로 구성된 LLC 블록들로 구성된다.
LLC에서 각 블록은 병렬 TLC MTJ들의 동일한 영역으로 구성되기 때문에, 선택된 블록을 구성하는 병렬 TLC MTJ 영역에 의해 쓰기 동작들이 결정된다.
예를 들어, 도 3b에서 데이터가 갱신, 또는 저장되는 LLC 블록이 A라고 하면, 블록 A(100)는 병렬 TLC MTJ들의 소프트 영역으로 구성되어 있기 때문에, 소프트 영역에 1-단계 저항 상태 변환으로 LLC 블록 쓰기가 수행될 수 있다.
소프트 영역을 변환시키는 전류는 미디움과 하드 영역을 변환시키지 못한다.
만약, 병렬 TLC MTJ들의 미디움 영역으로 구성된 블록 B(200)가 선택된다면, 2-단계 저항상태 변환으로 LLC 블록 쓰기가 수행될 수 있다.
2-단계 저항 상태 변환에서는 블록 B(200)를 구성하는 미디움 영역에 쓰기 동작이 먼저 수행된다. 병렬 TLC MTJ에서 미디움 영역을 변환시키는 전류는 하드 영역을 변환시키지 못하기 때문에 블록 C(300)는 원래 저장된 데이터를 유지할 수 있다.
하지만, 그 전류는 소프트 영역을 변환시킬 수 있어서 블록 A(100)는 저장된 데이터를 잃어버릴 수 있다. 따라서, 블록 A(100)를 구성하는 병렬 TLC MTJ들의 소프트 영역을 복원하기 위한 쓰기 동작이 수행된다.
만약 병렬 TLC MTJ들의 하드 영역으로 구성된 블록 C(300)가 선택된다면, 3-단계 저항 상태 변환으로 LLC 블록 쓰기가 수행될 수 있다.
그 3-단계 저항 상태 변환에서는 블록 C(300)를 구성하는 하드 영역에 쓰기 동작이 먼저 수행된다.
병렬 TLC MTJ에서 하드 영역을 변환시키는 전류는 미디움과 소프트 영역들을 변환시킬 수 있기 때문에, 블록 B(200)와 블록 A(100)는 저장된 데이터를 손상될 수 있다.
따라서 블록 B(200)를 구성하는 미디움 영역의 복원과 블록 A(100)를 구성하는 소프트 영역의 복원하는 쓰기 동작이 순차적으로 수행된다.
셀 분할 매핑이 적용된 LLC에서 블록 읽기는 선택된 블록을 구성하는 병렬 TLC MTJ 영역에 따라 읽기 동작들이 결정된다.
그 이유는 병렬 TLC MTJ에서 하드 영역, 미디움 영역, 소프트 영역은 항상 순차적으로 읽어지기 때문이다.
예를 들어, 하드 영역으로 구성된 블록 C(300)를 읽을 경우에는 1-단계 저항 상태 탐지가 수행된다. 즉, 병렬 TLC MTJ에서 하드 영역은 먼저 탐지되기 때문에, 불필요한 미디움과 소프트 영역의 탐지는 생략될 수 있다.
반면에, 미디움 영역으로 구성된 블록 B(200)를 읽을 경우에는 2-단계 저항 상태 탐지가 수행된다. 하드 영역을 먼저 탐지한 후, 미디움 영역을 탐지한다.
불필요한 소프트 영역 탐지는 생략될 수 있다
또한, 소프트 영역으로 구성된 블록 A(100)를 읽을 경우에는 3-단계 저항 상태 탐지가 수행된다.
즉, 하드와 미디움 영역을 탐지한 후, 소프트 영역을 탐지한다.
본 발명에 따른 병렬 TLC STT MRAM 기반 대용량 LLC 및 이의 동작 제어 방법의 조건 블록 스와핑에 관하여 구체적으로 설명하면 다음과 같다.
LLC는 상위 캐시에 의해 갱신되거나, 메인 메모리에서 읽어온 데이터를 저장한다. 나중-쓰기(Write-back)의 경우, 상위 캐시의 LRU(Least Recently Used)나 모조(Pseudo) LRU 알고리즘으로 선택된 블록이 LLC로 갱신되고, 즉시-쓰기(Write-through)의 경우에는 상위 캐시의 어떤 블록이 LLC로 갱신될지 예측하기 어렵다.
또한, 캐시 실패로 발생한 메인 메모리 데이터는 LLC의 LRU 또는 모조 LRU 알고리즘에 의해 선택된 블록에 저장된다.
일반적인 LRU 또는 모조 LRU 알고리즘은 셀 분할 매핑 기법이 적용된 LLC 블록들이 병렬 TLC MTJ의 어떤 영역으로 구성되는지 고려하지 않을 뿐만 아니라, 어떤 영역으로 구성된 블록이 자주 읽히는지 고려하지 않고, 저장할 블록을 선택한다.
만약, LRU 또는 모조 LRU 알고리즘이 소프트 영역으로 구성된 LLC 블록의 데이터를 자주 읽도록 선택하고, 하드 영역으로 구성된 LLC 블록에 데이터를 자주 저장하도록 선택하면, 셀 분할 매핑 기법이 적용된 LLC의 성능과 전력 소모 향상은 크게 제한될 것이다.
따라서, 셀 분할 매핑 기법이 적용된 LLC는 병렬 TLC MTJ의 소프트 영역으로 구성된 블록에서 쓰기, 하드 영역으로 구성된 블록에서 읽기가 발생하도록 관리되어야 한다.
도 4a와 도4b는 LLC로 갱신 데이터를 쓰는 경우 및 LLC로 캐시 실패 데이터를 쓰는 경우의 동작을 나타낸 플로우 차트이다.
도 4a는 상위 캐시의 갱신 데이터가 셀 분할 매핑 기법이 적용된 LLC에 저장되는 과정이다.
만약, 갱신될 LLC 블록이 병렬 TLC MTJ의 소프트 영역으로 구성되어 있다면, 갱신 데이터는 그 LLC 블록에 저장된다.
반면에, 만약 갱신될 LLC 블록이 병렬 TLC MTJ들의 미디움 영역으로 구성되어 있다면, 갱신 데이터는 그 미디움 영역의 병렬 TLC MTJ들을 공유하는 소프트 영역으로 구성된 블록으로 바꿔 저장될 수 있다.
예를 들어, 도 3b에서 블록 B(200)가 갱신되는 경우, 갱신 데이터는 블록 A(100), 또는 블록 B(200)에 저장될 수 있다.
그 이유는 병렬 TLC MTJ들의 미디움 영역으로구성된 블록의 데이터가 변경되면, 상응하는 소프트영역으로 구성된 블록의 데이터는 손상되어 복원이 필요하기 때문이다.
소프트 영역으로 구성된 블록의 데이터와 갱신 데이터가 상위 캐시로 참조되는 횟수를 비교하여 그것들이 갱신 또는 복원되는 블록을 교환할 수 있다.
즉, 갱신 데이터가 소프트 영역으로 구성된 블록의 데이터보다 상위 캐시로 참조되는 경우가 많으면, 읽기 속도가 더 빠른 미디움 영역으로 구성된 블록에 갱신 데이터를 저장하고, 소프트 영역으로 구성된 블록의 데이터는 그 블록에 그대로 복원된다.
그렇지 않으면, 소프트 영역으로 구성된 블록의 데이터는 미디움 영역으로 구성된 블록으로 이주되고, 갱신 데이터는 소프트 영역으로 구성된 블록에 저장된다.
비슷하게, 만약 갱신될 LLC 블록이 병렬 TLC MTJ들의 하드 영역으로 구성되어 있다면, 갱신 데이터는 그 하드 영역의 병렬 TLC MTJ들을 공유하는 미디움과 소프트 영역으로 구성된 블록으로 바꿔 저장될 수 있다.
예를 들어, 도 3b에서 블록 C(300)가 갱신되는 경우, 갱신 데이터는 블록 A(100), 블록 B(200), 또는 블록 C(300)에 저장될 수 있다.
그 이유는 병렬 TLC MTJ들의 하드 영역으로 구성된 블록의 데이터가 변경되면, 상응하는 미디움과 소프트 영역으로 구성된 블록의 데이터는 손상되어 복원이 필요하기 때문이다.
갱신 데이터와 미디움과 소프트 영역으로 구성된 블록의 데이터들이 상위 캐시로 참조되는 횟수를 비교하여 그것들이 갱신 또는 복원되는 블록을 교환할 수 있다.
즉, 가장 자주 참조되는 데이터는 읽기 지연이 짧은 하드 영역으로 구성된 블록으로 이주하여 저장되고, 가장 드물게 참조되는 데이터는 소프트 영역으로 구성된 블록으로 이주하여 저장된다.
이것은 낮은 단계의 저항 상태 탐지 과정이 수행되도록 만들어 읽기 지연을 줄일 수 있다.
도 4b는 캐시 실패로 발생한 메인 메모리 데이터가 셀 분할 매핑 기법이 적용된 LLC에 저장되는 과정이다.
메인 메모리 데이터는 LRU 또는 모조 LRU 알고리즘으로 선택되는 LLC 블록에 저장된다.
만약, 선택된 블록이 병렬 TLC MTJ들의 소프트 영역으로 구성되어 있다면, 다른 블록의 데이터는 손상되지 않는다.
반면에, 선택된 블록이 미디움 영역으로 구성되어 있다면, 그 미디움 영역과 병렬 TLC MTJ들을 공유하는 소프트 영역으로 구성된 블록의 데이터는 손상되어 복원해야 한다.
그리고 선택된 블록이 하드 영역으로 구성되어 있다면, 그 하드 영역의 병렬 TLC MTJ들을 공유하는 미디움 영역과 소프트 영역으로 구성된 블록들의 데이터는 손실되어 복원해야 한다.
이 복원 과정에서 추가적인 비용 없이 두 블록들에 저장된 데이터들을 서로 교환해서 저장할 수 있다.
예를 들어, 도 3b에서 블록 C(300)에 메인 메모리 데이터가 저장된다면, 블록 A(100)와 블록 B(200)의 데이터는 복원되어야 한다.
두 영역 중에 상위 캐시로의 참조 횟수가 많은 영역을 미디움 영역으로 구성된 블록에 저장하고, 나머지 데이터를 소프트 영역으로 구성된 블록에 저장한다.
이것은 그 블록이 읽어질 때, 낮은 단계의 저항 상태 탐지 과정이 수행하게 한다.
이와 같은 본 발명에 따른 조건 블록 스와핑 기법은 셀 분할 매핑 기법이 적용된 LLC에서 병렬 TLC MTJ들의 하드 영역으로 구성된 블록에서 쓰기와, 소프트 영역으로 구성된 블록에서 읽기를 감소시킨다.
따라서, 병렬 TLC MTJ들의 다단계 저항 상태 변환과 탐지의 발생을 최소화하여, 전체 메모리 접근 시간과 전력 소모를 크게 향상시킬 수 있다
이상에서 설명한 본 발명에 따른 병렬 TLC STT MRAM 기반 대용량 LLC 및 이의 동작 제어 방법은 병렬 TLC STT-MRAM으로 구성되는 LLC 구조를 갖고, 셀 분할 매핑과 조건 블록 스와핑에 의해 3-단계 읽기와 쓰기 발생을 최소화한다.
본 발명에 따른 병렬 TLC STT MRAM 기반 대용량 LLC는 MARSSx86에서 두 개의 PARSEC 벤치마크들을 동시에 수행할 때, 직접 매핑 기법이 적용된 LLC보다 사이클 당 명령어 처리 횟수를 평균 11.03%, 전력 소모를 평균 12.54% 향상시킨다.
이상에서의 설명에서와 같이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명이 구현되어 있음을 이해할 수 있을 것이다.
그러므로 명시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하고, 본 발명의 범위는 전술한 설명이 아니라 특허청구 범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
100. 블록 A
200. 블록 B
300. 블록 C

Claims (20)

  1. 비트 라인과 소스 라인에 연결되고, 워드 라인에 연결된 트랜지스터에 의해 제어되는 메모리 셀 구조를 갖고, 신호(Flag), 태그(Tag), 캐시 데이터를 저장하는 LLC 블록들을 포함하고,
    각각의 LLC 블록은 병렬 TLC MTJ들의 하드 영역, 미디움 영역, 소프트 영역들 중 동일한 영역으로 구성되어, LLC 블록에서 데이터를 접근할 때 셀 분할 매핑에 의해 병렬 TLC MTJ들의 일부 영역에서만 쓰기 또는 읽기 동작이 수행되고,
    조건 블록 스와핑으로 셀 분할 매핑이 적용된 LLC에서 병렬 TLC MTJ들의 하드영역으로 구성된 블록에서 쓰기와, 소프트 영역으로 구성된 블록에서 읽기를 감소하도록 제어하는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC.
  2. 제 1 항에 있어서, 상기 LLC 블록들이,
    병렬 TLC MTJ들의 소프트 영역으로 구성되는 블록 A, 병렬 TLC MTJ들의 미디움 영역으로 구성된 블록 B, 병렬 TLC MTJ들의 하드 영역으로 구성된 블록 C를 갖는 경우,
    데이터가 갱신, 또는 저장되는 LLC 블록이 A라고 하면, 소프트 영역에 1-단계 저항 상태 변환으로 LLC 블록 쓰기가 수행되고,
    블록 B가 선택되면, 2-단계 저항상태 변환으로 LLC 블록 쓰기가 수행되고,
    블록 C가 선택되면, 3-단계 저항 상태 변환으로 LLC 블록 쓰기가 수행되는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC.
  3. 제 2 항에 있어서, 블록 A가 선택되어 LLC 블록 쓰기가 수행되는 과정에서,
    소프트 영역을 변환시키는 전류는 미디움 영역과 하드 영역을 변환시키지 못하는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC.
  4. 제 2 항에 있어서, 블록 B가 선택되어 LLC 블록 쓰기가 수행되는 과정에서,
    블록 B를 구성하는 미디움 영역에 쓰기 동작이 먼저 수행되고, 병렬 TLC MTJ에서 미디움 영역을 변환시키는 전류는 하드 영역을 변환시키지 못하기 때문에 블록 C는 원래 저장된 데이터를 유지하고,
    미디움 영역을 변환시키는 전류는 소프트 영역을 변환시킬 수 있어 블록 A를 구성하는 병렬 TLC MTJ들의 소프트 영역을 복원하기 위한 쓰기 동작이 수행되는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC.
  5. 제 2 항에 있어서, 블록 C가 선택되어 LLC 블록 쓰기가 수행되는 과정에서,
    블록 C를 구성하는 하드 영역에 쓰기 동작이 먼저 수행되고, 병렬 TLC MTJ에서 하드 영역을 변환시키는 전류는 미디움과 소프트 영역들을 변환시킬 수 있기 때문에, 블록 B를 구성하는 미디움 영역의 복원과 블록 A를 구성하는 소프트 영역의 복원하는 쓰기 동작이 순차적으로 수행되는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC.
  6. 제 2 항에 있어서, 셀 분할 매핑이 적용된 LLC에서 블록 읽기는 선택된 블록을 구성하는 병렬 TLC MTJ 영역에 따라 읽기 동작들이 결정되고,
    병렬 TLC MTJ에서 하드 영역, 미디움 영역, 소프트 영역이 항상 순차적으로 읽혀지는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC.
  7. 제 6 항에 있어서, 하드 영역으로 구성된 블록 C를 읽을 경우에는 1-단계 저항 상태 탐지가 수행되고,
    미디움 영역과 소프트 영역의 탐지는 생략되는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC.
  8. 제 6 항에 있어서, 미디움 영역으로 구성된 블록 B를 읽을 경우에는 2-단계 저항 상태 탐지가 수행되고,
    하드 영역을 먼저 탐지한 후, 미디움 영역을 탐지하고, 소프트 영역 탐지는 생략되는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC.
  9. 제 6 항에 있어서, 소프트 영역으로 구성된 블록 A를 읽을 경우에는 3-단계 저항 상태 탐지가 수행되고,
    하드 영역과 미디움 영역을 탐지한 후, 소프트 영역을 탐지하는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC.
  10. 제 1 항에 있어서, 조건 블록 스와핑에 의해 상위 캐시의 갱신 데이터가 셀 분할 매핑이 적용된 LLC에 저장되는 과정에서,
    갱신될 LLC 블록이 병렬 TLC MTJ의 소프트 영역으로 구성되어 있다면, 갱신 데이터는 그 LLC 블록에 저장되고,
    갱신될 LLC 블록이 병렬 TLC MTJ들의 미디움 영역으로 구성되어 있다면, 갱신 데이터는 그 미디움 영역의 병렬 TLC MTJ들을 공유하는 소프트 영역으로 구성된 블록으로 바꿔 저장할 수 있는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC.
  11. 제 1 항에 있어서, 조건 블록 스와핑에 의해 상위 캐시의 갱신 데이터가 셀 분할 매핑이 적용된 LLC에 저장되는 과정에서,
    갱신될 LLC 블록이 병렬 TLC MTJ들의 하드 영역으로 구성되어 있다면, 갱신 데이터는 그 하드 영역의 병렬 TLC MTJ들을 공유하는 미디움과 소프트 영역으로 구성된 블록으로 바꿔 저장할 수 있는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC.
  12. 제 1 항에 있어서, 캐시 실패로 발생한 메인 메모리 데이터가 셀 분할 매핑이 적용된 LLC에 저장되는 과정에서,
    메인 메모리 데이터는 LRU(Least Recently Used) 또는 모조(Pseudo) LRU 알고리즘으로 선택되는 LLC 블록에 저장되고,
    선택된 블록이 병렬 TLC MTJ들의 소프트 영역으로 구성되어 있다면, 다른 블록의 데이터는 손상되지 않고,
    선택된 블록이 미디움 영역으로 구성되어 있다면, 그 미디움 영역과 병렬 TLC MTJ들을 공유하는 소프트 영역으로 구성된 블록의 데이터는 손상되어 복원하고,
    선택된 블록이 하드 영역으로 구성되어 있다면, 그 하드 영역의 병렬 TLC MTJ들을 공유하는 미디움 영역과 소프트 영역으로 구성된 블록들의 데이터는 손실되어 복원되는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC.
  13. 비트 라인과 소스 라인에 연결되고, 워드 라인에 연결된 트랜지스터에 의해 제어되는 메모리 셀 구조를 갖고, 신호(Flag), 태그(Tag), 캐시 데이터를 저장하는 LLC 블록들을 포함하는 병렬 TLC STT MRAM 기반 대용량 LLC의 동작 제어에 있어서,
    각각의 LLC 블록은 병렬 TLC MTJ들의 하드 영역, 미디움 영역, 소프트 영역들 중 동일한 영역으로 구성되어, LLC 블록에서 데이터를 접근할 때 셀 분할 매핑에 의해 병렬 TLC MTJ들의 일부 영역에서만 쓰기 또는 읽기 동작이 수행되고,
    조건 블록 스와핑으로 셀 분할 매핑이 적용된 LLC에서 병렬 TLC MTJ들의 하드영역으로 구성된 블록에서 쓰기와, 소프트 영역으로 구성된 블록에서 읽기를 감소하도록 제어하는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC의 동작 제어 방법.
  14. 제 13 항에 있어서, 상기 LLC 블록들이,
    병렬 TLC MTJ들의 소프트 영역으로 구성되는 블록 A, 병렬 TLC MTJ들의 미디움 영역으로 구성된 블록 B, 병렬 TLC MTJ들의 하드 영역으로 구성된 블록 C를 갖는 경우,
    데이터가 갱신, 또는 저장되는 LLC 블록이 A라고 하면, 소프트 영역에 1-단계 저항 상태 변환으로 LLC 블록 쓰기가 수행되고,
    블록 B가 선택되면, 2-단계 저항상태 변환으로 LLC 블록 쓰기가 수행되고,
    블록 C가 선택되면, 3-단계 저항 상태 변환으로 LLC 블록 쓰기가 수행되는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC의 동작 제어 방법.
  15. 제 14 항에 있어서, 블록 A가 선택되어 LLC 블록 쓰기가 수행되는 과정에서,
    소프트 영역을 변환시키는 전류는 미디움 영역과 하드 영역을 변환시키지 못하는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC의 동작 제어 방법.
  16. 제 14 항에 있어서, 블록 B가 선택되어 LLC 블록 쓰기가 수행되는 과정에서,
    블록 B를 구성하는 미디움 영역에 쓰기 동작이 먼저 수행되고, 병렬 TLC MTJ에서 미디움 영역을 변환시키는 전류는 하드 영역을 변환시키지 못하기 때문에 블록 C는 원래 저장된 데이터를 유지하고,
    미디움 영역을 변환시키는 전류는 소프트 영역을 변환시킬 수 있어 블록 A를 구성하는 병렬 TLC MTJ들의 소프트 영역을 복원하기 위한 쓰기 동작이 수행되는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC의 동작 제어 방법.
  17. 제 14 항에 있어서, 블록 C가 선택되어 LLC 블록 쓰기가 수행되는 과정에서,
    블록 C를 구성하는 하드 영역에 쓰기 동작이 먼저 수행되고, 병렬 TLC MTJ에서 하드 영역을 변환시키는 전류는 미디움과 소프트 영역들을 변환시킬 수 있기 때문에, 블록 B를 구성하는 미디움 영역의 복원과 블록 A를 구성하는 소프트 영역의 복원하는 쓰기 동작이 순차적으로 수행되는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC의 동작 제어 방법.
  18. 제 13 항에 있어서, 조건 블록 스와핑에 의해 상위 캐시의 갱신 데이터가 셀 분할 매핑이 적용된 LLC에 저장되는 과정에서,
    갱신될 LLC 블록이 병렬 TLC MTJ의 소프트 영역으로 구성되어 있다면, 갱신 데이터는 그 LLC 블록에 저장되고,
    갱신될 LLC 블록이 병렬 TLC MTJ들의 미디움 영역으로 구성되어 있다면, 갱신 데이터는 그 미디움 영역의 병렬 TLC MTJ들을 공유하는 소프트 영역으로 구성된 블록으로 바꿔 저장할 수 있는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC의 동작 제어 방법.
  19. 제 13 항에 있어서, 조건 블록 스와핑에 의해 상위 캐시의 갱신 데이터가 셀 분할 매핑이 적용된 LLC에 저장되는 과정에서,
    갱신될 LLC 블록이 병렬 TLC MTJ들의 하드 영역으로 구성되어 있다면, 갱신 데이터는 그 하드 영역의 병렬 TLC MTJ들을 공유하는 미디움과 소프트 영역으로 구성된 블록으로 바꿔 저장할 수 있는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC의 동작 제어 방법.
  20. 제 13 항에 있어서, 캐시 실패로 발생한 메인 메모리 데이터가 셀 분할 매핑이 적용된 LLC에 저장되는 과정에서,
    메인 메모리 데이터는 LRU(Least Recently Used)또는 모조(Pseudo) LRU 알고리즘으로 선택되는 LLC 블록에 저장되고,
    선택된 블록이 병렬 TLC MTJ들의 소프트 영역으로 구성되어 있다면, 다른 블록의 데이터는 손상되지 않고,
    선택된 블록이 미디움 영역으로 구성되어 있다면, 그 미디움 영역과 병렬 TLC MTJ들을 공유하는 소프트 영역으로 구성된 블록의 데이터는 손상되어 복원하고,
    선택된 블록이 하드 영역으로 구성되어 있다면, 그 하드 영역의 병렬 TLC MTJ들을 공유하는 미디움 영역과 소프트 영역으로 구성된 블록들의 데이터는 손실되어 복원되는 것을 특징으로 하는 병렬 TLC STT MRAM 기반 대용량 LLC의 동작 제어 방법.
KR1020180043976A 2018-04-16 2018-04-16 병렬 tlc stt mram 기반 대용량 llc 및 이의 동작 제어 방법 KR101977866B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180043976A KR101977866B1 (ko) 2018-04-16 2018-04-16 병렬 tlc stt mram 기반 대용량 llc 및 이의 동작 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180043976A KR101977866B1 (ko) 2018-04-16 2018-04-16 병렬 tlc stt mram 기반 대용량 llc 및 이의 동작 제어 방법

Publications (1)

Publication Number Publication Date
KR101977866B1 true KR101977866B1 (ko) 2019-05-13

Family

ID=66581809

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180043976A KR101977866B1 (ko) 2018-04-16 2018-04-16 병렬 tlc stt mram 기반 대용량 llc 및 이의 동작 제어 방법

Country Status (1)

Country Link
KR (1) KR101977866B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11698852B2 (en) 2019-11-28 2023-07-11 Samsung Electronics Co., Ltd. Apparatus and method for writing data in a memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110079826A (ko) 2008-09-30 2011-07-08 마이크론 테크놀로지, 인크. 단방향 스핀 토크 전달 자기 메모리 셀 구조
KR20130089255A (ko) 2010-09-17 2013-08-09 마이크론 테크놀로지, 인크. 스핀 토크 전달 메모리 셀 구조체 및 방법
KR20140047083A (ko) 2011-06-24 2014-04-21 마이크론 테크놀로지, 인크. 대칭 스위칭 및 단일 방향 전류 프로그래밍을 갖는 스핀-토크 전달 자기 메모리 셀 구조물
KR20170131376A (ko) * 2015-03-27 2017-11-29 인텔 코포레이션 다중 레벨 셀 모드 비휘발성 메모리를 위한 비용 최적화된 단일 레벨 셀 모드 비휘발성 메모리

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110079826A (ko) 2008-09-30 2011-07-08 마이크론 테크놀로지, 인크. 단방향 스핀 토크 전달 자기 메모리 셀 구조
KR20130089255A (ko) 2010-09-17 2013-08-09 마이크론 테크놀로지, 인크. 스핀 토크 전달 메모리 셀 구조체 및 방법
KR20140047083A (ko) 2011-06-24 2014-04-21 마이크론 테크놀로지, 인크. 대칭 스위칭 및 단일 방향 전류 프로그래밍을 갖는 스핀-토크 전달 자기 메모리 셀 구조물
KR20170131376A (ko) * 2015-03-27 2017-11-29 인텔 코포레이션 다중 레벨 셀 모드 비휘발성 메모리를 위한 비용 최적화된 단일 레벨 셀 모드 비휘발성 메모리

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Xiuyuan Bi 등, "Unleashing the potential of MLC STT-RAM caches", 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pp. 429-436, IEEE(2013.11.) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11698852B2 (en) 2019-11-28 2023-07-11 Samsung Electronics Co., Ltd. Apparatus and method for writing data in a memory

Similar Documents

Publication Publication Date Title
Chi et al. Architecture design with STT-RAM: Opportunities and challenges
Mittal et al. A survey of architectural approaches for managing embedded DRAM and non-volatile on-chip caches
US9792219B2 (en) Nonvolatile memory systems with embedded fast read and write memories
JP4956922B2 (ja) 記憶装置
US8650355B2 (en) Non-volatile resistive sense memory on-chip cache
US10997082B2 (en) Memory system, computing system, and methods thereof for cache invalidation with dummy address space
US9852792B2 (en) Non-volatile multi-level-cell memory with decoupled bits for higher performance and energy efficiency
US8954672B2 (en) System and method for cache organization in row-based memories
Venkatesan et al. Cache design with domain wall memory
EP3449483B1 (en) Delayed write-back in memory
Chi et al. Using multi-level cell STT-RAM for fast and energy-efficient local checkpointing
Chen et al. Process variation aware data management for magnetic skyrmions racetrack memory
KR20180047481A (ko) 자기 저항 메모리 모듈 및 이를 포함하는 컴퓨팅 디바이스
US10496546B2 (en) Cache memory and processor system
US11740899B2 (en) In-memory associative processing system
US20240152292A1 (en) Redundant computing across planes
KR101977866B1 (ko) 병렬 tlc stt mram 기반 대용량 llc 및 이의 동작 제어 방법
US10621094B2 (en) Coarse tag replacement
Xu et al. Encoding separately: An energy-efficient write scheme for MLC STT-RAM
Colaso et al. Architecting racetrack memory preshift through pattern-based prediction mechanisms
JP5992592B1 (ja) キャッシュメモリシステム
US10467137B2 (en) Apparatus, system, integrated circuit die, and method to determine when to bypass a second level cache when evicting modified data from a first level cache
US10592163B2 (en) Controlling write pulse width to non-volatile memory based on free space of a storage
Ahmad et al. Extending multi‐level STT‐MRAM cell lifetime by minimising two‐step and hard state transitions in hot bits
CN110543430A (zh) 一种使用mram的存储装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant