Cache memory and latest memory technologies (2024) in Computer Architecture week 10
캐시 기억장치와 최신 기억장치, 컴퓨터 구조 10강

Goals:
캐시 기억장치를 이해하고 설명할 수 있다. (understand and explain cache memory)
최신 기억장치를 이해하고 설명할 수 있다. (understand and explain latest memory technologies)
Contents:
캐시 메모리(Cache memory)
캐시의 크기(Size of cache)
인출 방식(Demand Fetch, Prefetching)
매핑(Mapping)
교체 알고리즘(Cache replacement algorithms)
쓰기 정책(Write policy)
다중 캐시(Multiple cache)
분리 캐시(Split cache)
DDR SDRAM
SDRAM
차세대 비휘발성 기억장치 (Future emerging new memory technologies: PRAM, FRAM, MRAM)
💡캐시 메모리(Cache memory)

📍사용목적(Purpose)
CPU와 주기억장치의 속도 차이로 인한 CPU 대기 시간을 최소화 시키기 위하여 CPU와 주기억장치 사이에 설치하는 고속 반도체 기억장치
📍특징(Characteristic)
주기억장치(DRAM)보다 액세스 속도가 더 높은 칩(SRAM)을 사용한다. 가격이 비싸 제한된 공간 때문에 용량이 적다.
📍캐시 설계를 할 때 공통적인 목표(Common goal in cache design)
데이터 액세스 시간 줄이기(Reduce data access time)
- 캐시 메모리의 주요 목표 중 하나는 메인 메모리에 비해 빠른 데이터 액세스 시간을 제공하는 것이다. 데이터 액세스 시간을 최대한 줄이려면 캐시 메모리는 CPU가 빈번하게 액세스하는 데이터를 저장하고 있어야 한다. 즉 용량이 커질 수록 엑세스 시간이 줄어든다는 뜻.
적중률 극화(Maximizing hit rate)
- 캐시 적중은 CPU가 요청한 데이터가 캐시 메모리에 이미 존재하는 경우를 의미한다. 이는 메인 메모리로부터 데이터를 가져오는 비용을 절약하고 액세스 시간을 줄일 수 있다. 따라서 캐시 메모리 설계는 적중률을 최대화하기 위해 적절한 캐시 크기, 캐시 라인 크기 및 알고리즘을 선택해야 한다.
캐시 미스에 따른 지연 시간의 최소화, 치환 알고리즘 효율화( Minimizing latency due to cache misses, optimizing replacement algorithms)
캐시 미스는 캐시에 원하는 데이터가 없어서 주기억장치로부터 데이터를 가져와야 할 때 발생하는 상황을 말한다. 캐시 미스가 발생하면 데이터를 가져오는 데 필요한 추가적인 지연 시간이 발생하기 때문에 이를 최소화 하기 위해 다음과 같은 방밥을 사용한다.
효율적인 치환 알고리즘 사용: 캐시 미스가 발생하면 적절한 블록을 치환한다.
적중률 최대화: 미스가 발생하는 비율을 줄인다.
적절한 캐시 및 크기 구조: 충분한 캐시 용량을 제공하여 캐시 미스를 줄인다.
주기억장치와 캐시 간의 데이터 일관성 유지 및 그에 따른 오버헤드의 최소화 (Maintaining data coherence between main memory and cache, and minimizing associated overhead)
- 캐시 일관성은 다중 프로세서 시스템에서 중요한 고려 사항이다. 다중 코어 시스템에서는 여러 코어가 동시에 동일한 메모리 위치에 액세스할 수 있으므로
(data inconsistency problem), 캐시 메모리 간의 일관성을 유지해야 한다. 이를 위해 캐시 일관성 프로토콜이 필요하며, 캐시 메모리 설계는 이를 준수하여 시스템의 정확성을 보장해야 한다.
- 캐시 일관성은 다중 프로세서 시스템에서 중요한 고려 사항이다. 다중 코어 시스템에서는 여러 코어가 동시에 동일한 메모리 위치에 액세스할 수 있으므로
📍다중프로세서 시스템에서의 데이터 불일치 문제 (data inconsistency problem in multi core processor)

주기억장치에 있는 데이터와 프로세 서들의 캐시에 적재된 복사본의 값이 서로 달라지는 문제를 뜻한다.
이 문제를 해결하기위해 캐시 일관성 프로토콜(cache coherence protocol)이 필요하다. 예) MESI protocol
💡캐시의 크기(Size of cache)
📍캐시와 크기(용량)의 관계(Relation with cache and size)
용량이 커질수록 적중률이 높아지지만, 비용이 증가한다.
용량이 커질수록 주소 해독 및 정보 인출을 위한 주변 회로가 더 복잡해지기 때문에 액세스 시간이 다소 더 길어진다
💡인출 방식(Demand Fetch, Prefetching)
📍요구 인출 방식(Demand Fetch)
CPU가 데이터를 요청할 때만 캐시로부터 해당 데이터를 가져오는 방식이다. 즉, CPU가 원하는 데이터가 캐시에 없으면 해당 데이터를 메인 메모리로부터 가져와 캐시에 로드한다. 이는 CPU가 데이터를 요청했을 때만 메모리 액세스를 발생시키므로 메모리 대역폭을 절약할 수 있다.
📍선인출 방식(Prefetching)
CPU가 데이터를 요청하기 전에 앞으로 필요할 것으로 예측되는 정보도 미리 캐시로 데이터를 가져오는 방식이다. 이는 CPU가 데이터를 요청하기 전에 이미 캐시에 있는 경우에는 추가적인 대기 시간 없이 데이터에 접근할 수 있게 해준다. 따라서 선인출은 CPU의 대기 시간을 줄이고 성능을 향상시킬 수 있다. 지역성의 원리(principle of locality)가 높은 경우에 효과가 크다.
요구 인출 방식은 CPU가 필요할 때만 데이터를 가져오므로 메모리 액세스를 최소화하는 데 중점을 둔다. 반면에 선인출 방식은 CPU가 데이터를 요청하기 전에 미리 캐시에 데이터를 가져와 성능을 향상시키는 데 중점을 둔다. 두 방식은 각각의 장단점이 있으며, 실제로는 시스템의 요구 사항 및 사용 환경에 따라 적절한 방식을 선택한다. 아래 사진에서 보듯이 선인출방식의 경우 캐시에 미리 데이터가 쌓여져있다.

📍블록(Block)
- 주기억장치로부터 동시에 인출되는 정보들의 그룹이다.
- 주기억장치 용량 = 2n 단어, 블록 = K 단어 → 블록의 수 = 2n/K 개
📍라인(Line)
- 캐시에서 각 블록이 저장되는 장소
📍태그(Tag)
- 라인에 적재된 블록을 구분해주는 정보
💡매핑(Mapping)
주기억장치에서 캐시 메모리로 데이터이동에 사용되는 매핑은 주기억장치 데이터의 주소를 캐시 메모리의 주소로 변환하는 프로세스를 의미한다. 무턱대고 주기억장치의 메모리를 캐시 메모리로 옮기는 것이 아니다. 이러한 매핑은 주기억장치의 데이터가 캐시 메모리의 어떤 위치에 저장될지를 결정하고, CPU가 데이터를 요청할 때 적절한 위치에서 데이터를 검색할 수 있도록 한다. 주로 세 가지 매핑 방법이 사용된다.
📍직접 매핑(Direct mapping)
- 각 주기억장치의 블록이 지정된 하나의 캐시 라인으로만 적재되는 방식이다.
장점: 하드웨어가 간단하고, 구현 비용이 적게 든다
단점: 각 주기억장치 블록이 적재될 수 있는 캐시 라인이 한 개 뿐이기 때문에, 그 라인을 공유하는 다른 블록이 적재되는 경우에는 overwrite되거나 swap-out 된다. 캐시의 크기가 작은경우 충돌 가능성이 높다.
📍완전-연관 매핑(Fully-associative mapping)
- 주기억장치 블록이 캐시의 어떤 라인으로든 적재가 가능하다. 즉 태그필드 = 주기억장치 블록번호 이다.
장점: 새로운 블록이 캐시로 적재될 때 라인의 선택이 매우 자유롭다. 지역성이 높다면, 적중률이 매우 높아진다
단점: 캐시 라인들의 태그들을 병렬로 검사하기 위하여 가격이 높은 연관 기억장치(associative memory) 및 복잡 한 주변 회로가 필요하다. 비용이 증가한다 (성능이 높아진다)
📍세트-연관 매핑(set-associative mapping)
- 주기억장치 블록 그룹이 하나의 캐시 세트를 공유하며, 그 세트에는 두 개 이상의 라인들이 적재될 수 있다. 직접 매핑과 완전-연관 매핑의 조합이다.
💡교체 알고리즘(Cache replacement algorithms)
세트-연관 매핑에서 주기억장치로부터 새로운 블록이 캐시로 적재될 때, 세트 내 모든 라인들이 다른 블록들로 채워져 있다면, 그들 중의 하나를 선택하여 새로운 블록으로 교체하는 것을 교체 알고리즘이라고한다.
위의 내용을 덧붙이자면 새로운 데이터를 캐시로 적재하는 이유는 CPU가 메모리에 접근할 때 발생하는 지역성(locality)을 활용하기 위함이다. 지역성은 한 번 접근한 메모리 주소 주변에 있는 데이터에 다시 접근할 확률이 높다는 원리를 말한다.
따라서 CPU가 메모리에서 한 번 접근한 데이터는 곧 다시 접근할 가능성이 높다. 이러한 상황에서 캐시는 CPU가 빠르게 데이터에 접근할 수 있도록 해당 데이터를 캐시에 저장한다. 만약 세트 내의 모든 라인이 이미 채워져 있다면, 새로운 데이터를 캐시로 적재하기 위해서는 교체가 이루어져야 한다. 이 때, 새로운 데이터를 캐시로 적재하여 CPU가 빠르게 접근할 수 있도록 한다.
결국, 새로운 데이터를 캐시로 적재하는 것은 CPU의 성능을 향상시키고 지역성을 활용하여 메모리 액세스 속도를 향상시키는 데 기여하는 것이다. 이것이 교체 알고리즘을 배우는 이유다.
📍LRU (Least Recently Used)
사용되지 않은 채로 가장 오래 있었던 블록을 교체하는 방식이다. 각 라인에는 최근에 액세스한 시간 정보가 저장되어 있다.
📍FIFO (First In, First Out)
- 가장 먼저 캐시에 들어온 데이터를 교체하는데 데이터는 캐시에 들어온 순서대로 교체되므로 캐시에 적재된지 가장 오래된 블록을 교체하는 방식
📍LFU (Least Frequently Used)
각 데이터가 얼마나 자주 사용되었는지를 추적하고, 가장 적게 사용된 데이터를 우선적으로 교체한다. 제일 지능적인 알고리즘이라 구현이 복잡할 수 있고, 캐시의 크기가 작을 경우에는 적합하지 않을 수 있다. 지역성의 원리가 뚜렷한 경우엔 효과적이지 않다.
💡쓰기 정책(Write policy)

캐시에 있는 데이터가 수정/블록이 변경되었을 때, 해당 변경 사항을 언제/어떻게 주기억장치에 반영할지를 결정하는 방식을 말한다. 주요한 쓰기 정책으로는 다음과 같은 것들이 있다.
📍 Write-Through (쓰기-순환)
- 캐시와 메인 메모리 간의 일관성을 유지하기 위해 사용된다. 데이터가 캐시에 쓰여지면 동시에 메인 메모리에도 쓰여진다. 이 방식은 캐시와 메인 메모리의 일관성을 유지하므로 데이터의 신뢰성이 높아지지만, 쓰기 작업에 대해 두 번의 액세스가 필요하므로 더 많은 시간이 소요될 수 있다.
📍Write-Back (쓰기-반환)
Write-Back 방식은 캐시에 데이터가 변경 되어도 주기억장치에 즉시 반영되지 않고, 캐시에서 변경된 데이터가 쓰기 작업이 발생할 때 주기억장치에 반영된다. 이 방식은 주기억장치에 메모리 액세스 횟수를 줄이고 쓰기 시간이 짧아질 수 있으나, 캐시와 메인 메모리 간의 일관성 유지를 위해 별도의 제어가 필요하다.
- 제어 메커니즘 → 캐시의 데이터가 수정된 적이 있는 경우에는, 블록을 교체할 때 주기억장치에 갱신하는 동작이 선행되어야 하며, 그를 위해 각 캐시 라인이 상태 비트(state bit)를 가지고 있어야 한다.

💡다중 캐시(Multiple cache)
하나 이상의 캐시 메모리가 시스템에 있는 상황을 말한다. 다중 캐시 시스템은 대개 다중 코어 프로세서에서 사용된다. 다중 캐시 시스템은 멀티프로세서 시스템에서 고성능 및 고가용성을 달성하는 데 중요한 역할을 한다. 다중 캐시를 사용하면 각 프로세서 또는 코어가 독립적으로 작업을 수행하면서도 공유된 데이터에 대한 효율적인 액세스를 보장할 수 있다.
📍온-칩 캐시(On-chip cache)
다중 캐시 시스템에서 사용되는 캐시의 한 종류이다. 캐시 액세스 시간을 단축시키기 위하여 CPU칩 내부에 직접 통합되어 있어서 온-칩 캐시라고 불린다.
Private L1 캐시: L1 캐시는 각 코어 또는 프로세서의 핵심 부분으로 직접 통합된다.
Shared L2 캐시: 여러 코어 또는 프로세서 간에 공유되는 캐시로, 모든 코어가 이 캐시를 통해 데이터를 공유한다.
모든 온-칩 캐시가 L1 및 L2 캐시를 모두 포함하는 것은 아니다. 구체적으로 사용되는 아키텍처와 설계에 따라 다르다. 온-칩 캐시가 L1 및 L2 캐시를 모두 포함하는 경우, 각 코어에 대한 개별적인 L1 캐시가 있고, 이러한 개별 L1 캐시들은 모두 공유 L2 캐시를 통해 메모리와 통신한다. 이는 전형적인 멀티코어 프로세서에서 볼 수 있는 구성이다.
반면에, 일부 시스템에서는 온-칩에 L1 캐시만 포함되는 경우도 있다. 이 경우 L2 캐시는 온-칩이 아닌 외부에 별도의 칩에 위치할 수 있다. 이러한 구성은 프로세서의 설계 및 성능 요구 사항에 따라 달라진다.
📍계층적 캐시(Hierarchical cache)
온-칩 캐시를 1차(L1) 캐시로 사용하고, 칩 외부(혹은 칩 내부)에 더 큰 용량의 2차(L2) 캐시를 추가로 설치하는 방식을 뜻한다.

L2는 L1의 슈퍼-세트(super-set)
L2 의 용량이 L1보다 크며, L1 의 모든 내용이 L2에도 존재한다. 먼저 L1을 검사하고, 만약 원하는 정보가 L1에 없다면 L2를 검사하며, L2 에도 없는 경우에는 주기억장치를 액세스한다. L1은 속도가 빠르지만 용량이 작기 때문에, L2 보다 적중률은 더 낮다
2-단계 캐시 시스템의 평균 기억장치 액세스 시간

만약 H2가 L1에서 미스 된 액세스들에 대한 L2의 적중률이라면

📍분리 캐시(Split cache)
명령어캐시와 데이터캐시 분리 (Separate instruction cache and data cache)
캐시가 명령어 캐시(Instruction cache)와 데이터 캐시(Data cache)로 분리된 구조를 뜻한다. 명령어 캐시는 프로세서가 실행할 명령어들을 저장하고, 데이터 캐시는 프로세서가 사용하는 데이터를 저장한다. 이러한 분리는 프로세서의 명령어와 데이터 액세스를 병렬로 처리하여 성능을 향상시킬 수 있다.
접근 시간 최적화(Optimization of access time)
분리된 캐시 구조를 사용하면 명령어와 데이터에 대한 액세스를 병렬로 처리할 수 있으므로, 전체 캐시 액세스 시간을 최적화할 수 있다.
대부분의 고속 프로세서들에서 사용중이다.



💡SDRAM, DDR SDRAM, DDR4, DDR5
기억장치의 액세스 속도는 CPU에 비하여 현저히 낮은데 동영상 처리, 음성/영상 압축과 같은 대규모 데이터 처리 응용 증가하면서 주기억장치 병목 현상이 심화되었다. 이에 따라 기억장치 액세스 및 데이터 전송률 향상 기술이 개발되었는데 SDRAM, DDR SDRAM에 대해 알아보자.

📍SDRAM (Synchronous Dynamic RAM)
비동기식 DRAM(Dynamic RAM)의 단점을 극복하기 위해 개발된 기술이다. SDRAM은 액세스 동작들이 시스템 클록에 맞추어 즉, 동기화 되며 수행한다. 이렇게 함으로써 데이터 전송이 비동기식 DRAM보다 효율적으로 이루어진다. 주로 PC 및 서버 메모리로 널리 사용되었다.
기본 원리(Principal)
SDRAM의 이전 방식인 DRAM은 캐패시터에 저장된 데이터를 트랜지스터가 주기적으로 갱신(refresh)하는 방식을 사용한다. 이는 액세스 시간이 불안정하고, 데이터 전송이 비효율적일 수 있다는 것을 의미한다. SDRAM은 이러한 단점을 극복하기 위해 외부 시스템 버스와 동기화(synchronous)된 시간 기반 클록 신호를 사용하여 데이터를 주고받는다. 따라서 데이터 전송이 외부 클록 신호와 동기화되어 안정적이고 효율적인 데이터 액세스가 가능해진다.
읽기 작동원리(How it works in reading)
CPU의 요청 및 동작(CPU's Request and Operation)
- CPU는 메모리에서 데이터를 읽어야 할 때, 주소와 읽기 신호를 시스템 버스를 통해 SDRAM에 전송한다. 이때, CPU는 데이터가 도착할 때까지 기다리지 않고 다른 연산을 수행할 수 있다.
SDRAM의 동작 시작(Initiation of SDRAM Operation)
- SDRAM은 CPU로부터 주소와 읽기 신호를 받으면 즉시 해당 주소의 데이터를 읽기 시작한다. 이 과정은 SDRAM 내부에서 이루어지며, CPU의 요청과 독립적으로 진행된다.
데이터 전송 및 완료(Data Transfer and Completion
- SDRAM이 데이터를 읽으면, 다음 클록 주기에서 시스템 버스 사용권을 획득하여 CPU로 데이터를 전송한다. CPU는 이 데이터를 받아서 다음 연산을 수행한다.
만약 이 과정이 DRAM이었다면 동작 시작 부분에서 비동기식으로 동작하기 때문에 데이터의 읽기가 시작되는 시점은 명확하게 지정되어 있지 않다. 그리고 데이터 전송 및 완료단계에서는 사용권을 획득하는게 아닌 준비가 되면 CPU로 데이터가 전송되는 방식이다.
하지만 SDRAM은 위의 과정에서 CPU와 SDRAM은 동시에 각자의 작업을 수행하며, 병렬적으로 동작한다. CPU는 데이터를 요청하고 다른 작업을 처리하는 동안, SDRAM은 주소에 해당하는 데이터를 읽고 전송하는 동작을 수행한다. 이렇게 함으로써 시스템의 전체적인 처리량을 향상시킬 수 있다.
📍DDR SDRAM (double data rate SDRAM)
기존의 SDRAM(Synchronous Dynamic RAM)은 클록 신호의 상승 엣지 또는 하강 엣지마다 한 번의 데이터 전송을 수행하는 단일 데이터 전송 방식을 사용했다. 그러나 이 방식은 클록 주기 동안에 데이터를 전송하는 효율을 제한하는 한계가 있었다. DDR SDRAM은 메모리 시스템의 성능을 향상시키기 위한 기술적 발전의 결과물로, 보다 효율적이고 고속의 데이터 액세스를 가능케 했다.
기본 원리(Principal)
동일한 클록 주기 동안에 데이터를 두 번 전송(double data rate)하는 방식으로 설계되었다. 즉, 클록 신호의 상승 엣지와 하강 엣지에서 모두 데이터를 전송함으로써 데이터 전송 속도를 두 배로 증가시켰다. 이러한 기술적인 개선으로 인해 DDR SDRAM은 이전의 SDRAM보다 더 높은 대역폭을 제공하고, 더 빠른 데이터 전송 속도를 실현할 수 있었다.
읽기 작동원리(How it works in reading)

위의 사진에서 보듯이 데이터를 두번으로 쪼개어 전송한다. 기존의 SDR(Single Data Rate) 메모리는 클록 신호의 상승 엣지 또는 하강 엣지마다 한 번의 데이터 전송을 수행하는 반면, DDR 메모리는 클록 신호의 상승 엣지와 하강 엣지 모두에서 데이터를 전송한다. 즉, 하나의 클록 사이클에 두 번의 데이터 전송이 이루어지므로 데이터 전송 속도가 두 배가 되는 것이다.
또한 DDR 메모리는 이러한 데이터 전송을 위해 데이터 버스(data bus)를 사용합니다. 기존의 SDR 메모리와 마찬가지로 주소 및 제어 신호는 동일한 버스를 통해 전송되지만, 데이터 전송은 데이터 버스와 별도로 처리된다. 이러한 업무 분담은 효율적인 데이터 전송을 가능케 한다. DDR 메모리는 클록 속도를 높이는 것뿐만 아니라 데이터 버스의 폭을 늘려 대역폭을 더욱 향상시키는 "데이터 버스 폭 확장(data bus bandwidth expansion)" 기술도 적용된다. 이는 더 많은 데이터를 한 번에 전송함으로써 전체 데이터 전송 속도를 더욱 향상시키는 것이다.
따라서 DDR 메모리는 클록 속도의 증가와 데이터 버스의 폭의 증가를 통해 데이터 전송 속도와 대역폭을 향상시키는 기술이다.

📍DDR5 SDRAM, DDR6 SDRAM
DDR SDRAM과 같으며, 버스 클록 주파 수를 다섯 배, 여섯 배로 높여 대역폭 향상시킨 기술이다.
It is a technology that is similar to DDR SDRAM but increases the bus clock frequency by five times or six times to enhance bandwidth.
💡차세대 비휘발성 기억장치 (Future emerging new memory technologies)
모두 비휘발성 메모리(NVRAM)의 종류로, 전력이 차단되어도 데이터를 보존할 수 있다. 이러한 기술들은 모두 높은 성능과 비휘발성의 장점을 가지고 있다. 한국에서는 삼성전자가 MRAM을 개발 중이며, 이미 사용 제품을 선보인 상황이다. 주로 기업용 스토리지를 중심으로 시장을 확대해 나갈 것으로 예측하고 있다. 또한 SK하이닉스도 MRAM 개발에 뛰어들어 조만간 가시적인 성과를 보여줄 것으로 예상되고 있다. 반면 PRAM의 경우는 인텔과 마이크론이 공동 개발한 3DXpoint 기술을 기반으로 양산이 시작돼, 현재 시장에서 "인텔 옵테인" 기술로 알려져 있다. 인텔은 SK하이닉스에 NAND 플래시 사업을 팔면서도 옵테인만은 제외함으로써, 인텔이 옵테인 기술에 거는 기대를 보여주고 있다. 현재 인텔의 옵테인 기술은 SCM 분야에서 독보적인 위치를 차지하고 새로운 시장을 만들기 위해 노력하고 있는 중이다.
출처 : 테크월드뉴스(https://www.epnc.co.kr)

기본 원리(Principal)
플래시 메모리에 비하여 액세스 속도가 1000배 가량 높다
DRAM보다 느리지만, 집적도는 비슷하며, 전력 소모가 더 낮다.


📍PRAM(Phase-change RAM)

상태(phase)가 변하는 특수 물질(special material)을 이용하여 제조한 RAM이다.
특수물질(special material)게르마늄 안티몬 텔룰라이드(GST, Germanium Antimony Telluride)
작동원리(How it works)
인가되는 전압의 높이에 따라 내부 구조가 변하여 저항이 낮은 고체 상태 혹은 저항이 높은 액체 상태가 된다.
고체 상태(Solid state): 결정 상태(polycrystalline phase)
액체 상태(Liquid state): 비정질 상태(amorphous phase)
기억 셀(memory cell): 두 개의 전극 사이에 특수 물질(GST)을 삽입(A special material (GST) is inserted between two electrodes)
장점(pros)
- 낮은 전압 범위에서 모든 전기적 동작이 수행된다, 회로가 간단하다, 전력 소모가 적다, 차세대 기억장치들 중에서 가장 빠르게 기술이 발전되고 있으며, 시장성도 높이 평가 받고 있다.
단점(cons)
- 일반적으로 읽기 속도가 빠르지만 쓰기 속도가 상대적으로 느리다. 특히 대량의 데이터를 쓰는 작업에서는 속도 저하가 발생할 수 있다.
📍FRAM(Ferroelectric RAM)

강유전체(ferroelectrics)의 특성을 이용한다.
강유전체(ferroelectrics)반도체 기억장치이다. 전기를 인가하지 않은 자연 상태에서도 전기적 극성을 띠고 있는 물질
플럼범 지르코늄 티타늄 산화물(Lead zirconate titanate, PZT)을 이용하여 제조함
작동원리(How it works)
양(+) 전극 및 음(-) 전극에 전기를 인가하면 전극의 위치가 바뀌며, 전기 공급이 중단되어도 그대로 유지된다.
데이터 저장시(saving data)
전기를 인가(not supply)하지 않음 ➔ 원래의 전극 유지 : ‘0’
저장 전기 인가(supply) ➔ 전극 위치 변경 : ‘1’ 저장
데이터 읽기(reading data)
기억 셀에 전기장(electric field)을 인가(supply)
감지되는 전하(electric charge)의 양에 따라 ‘0’과 ‘1’을 구분
장점(pros)
전력 소비가 낮아서 배터리나 모바일 기기에서 효율적으로 사용할 수 있다.
전원이 꺼져도 데이터를 유지하는 non volatile이다. 따라서 전원이 재연결되기 전까지 데이터가 유지된다.
페로전자적(ferroelectrics)특성을 가지고 있다는 뜻은 더 긴 수명을 의미한다. 수백만 번의 읽기 및 쓰기 사이클을 견딜 수 있다.
단점(cons)
페로전기적 특성으로 인해 장기간에 걸쳐 데이터가 서서히 감소할 수 있다. 이는 장기간 데이터 보존이 필요한 응용 분야에서 문제가 될 수 있다.
고비용으로 대량 생산 및 대규모 응용에는 적합하지 않을 수 있음
📍MRAM(Magnetic RAM)
자기장(magnetic field)을 이용하여 정보를 저장하는 반도체 기억장치이다.
작동원리(How it works)
기록층과 고정층은 자기적으로 자성을 바꿀 수있다. 이 둘 사이에는 절연층이 있다.
데이터 저장: MRAM에서 데이터는 자성 반영층의 자성 상태에 의해 표현됩니다. 각 자성 반영층은 자기장을 가지고 있으며, 자성의 방향이 반대인 경우에는 "1"을 나타내고, 같은 경우에는 "0"을 나타낸다. 이런식으로 동일한 방향으로 자화된 경우와 반대 방향으로 자화된 경우를 구분하여 데이터를 저장하고 읽어온다.
데이터 읽기: 데이터를 읽을 때는 각 자성 반영층의 자기장을 감지하여 그에 따라 "0" 또는 "1"로 판별합니다. 이를 통해 저장된 데이터를 읽어올 수 있습니다.
- 자기장이 제거되어도 자성이 그대로 유지된다.
장점(pros)
비휘발성(volatile): MRAM은 자성을 이용하여 데이터를 저장하기 때문에 전원이 꺼져도 데이터를 유지할 수 있다. 이는 전력이나 배터리 소모를 줄여주고, 시스템의 안정성을 높인다.
빠른 속도(fast speed): MRAM은 데이터를 읽고 쓰는 속도가 빠르다. 이는 기존의 비휘발성 메모리인 NAND 플래시 메모리보다 훨씬 빠른 응답 시간을 제공한다.
긴 수명(long life): MRAM은 내구성이 뛰어나며, 많은 쓰기/지우기 주기를 견딜 수 있다. 이는 메모리의 수명을 늘려준다.
단점(cons)
비용(high cost): 현재 MRAM은 생산 비용이 상대적으로 높은 편이다. 이는 대량 생산이나 기술 발전에 따라 개선될 수 있지만, 아직은 비용이 상대적으로 높은 면이 있다.
밀도(low density): MRAM의 밀도는 현재 비교적 낮은 편이다. 따라서 대용량 저장이 필요한 응용 분야에서는 다른 기술에 비해 제한적일 수 있다.
쓰기 에너지(consume high energy in writing): MRAM의 쓰기 에너지가 높은 편이다. 이는 전력 소모를 증가시킬 수 있으며, 휴대용 기기에서는 이를 고려해야 할 수 있다.

캐시 학습정리


최신 기억장치 학습 정리



