Book/COMPUTER ORGANIZATION AND DESIGN RISC-V

5.2 Memory Technologies

S0LL 2024. 11. 20. 02:24

메모리 계층 구조는 크게 네 가지 주요 기술로 구성된다.

1. SRAM (Static Random Access Memory): 주로 캐시에 사용되는 빠르고 비싼 메모리.

2. DRAM (Dynamic Random Access Memory): 메인 메모리에 사용되는 비교적 느리지만 저렴한 메모리.

3. Flash Memory: 모바일 기기 등에서 사용되는 비휘발성(non-volatile) 메모리.

4. Magnetic Disk: 하드 디스크와 같이 대용량 데이터를 저장하는 데 사용되는 비휘발성 메모리.

Access Time

데이터에 접근하는 데 걸리는 시간. SRAM이 가장 빠르고 Magnetic Disk가 가장 느리다.

 

Cost

메모리 용량당 비용. SRAM이 가장 비싸고 Magnetic Disk가 가장 저렴하다.


SRAM Technology (캐시 메모리)

 

특징:

 

SRAM은 정적 메모리로, 전원이 켜져 있는 동안 저장된 데이터를 유지한다.

6~8개의 트랜지스터를 사용해 하나의 비트를 저장하며, **데이터 리프레시(refresh)**가 필요 없다.

고정된 접근 시간을 가지며, 읽기/쓰기 속도가 매우 빠르다.

소모 전력이 적으며, 대기 모드에서도 데이터를 유지하는 데 약간의 전력만 필요하다.

 

활용:

 

SRAM은 CPU와 가까운 캐시 메모리(1차, 2차 캐시)에 사용된다.

과거에는 독립적인 SRAM 칩이 사용되었지만, 현대에는 프로세서 내부에 통합되어 사용된다.


DRAM Technology (주 메모리)

 

특징:

 

DRAM은 동적 메모리로, 데이터를 **축전기(capacitor)**에 전하 형태로 저장한다.

시간이 지나면서 전하가 누출되기 때문에, 데이터를 유지하려면 **주기적으로 리프레시(refresh)**가 필요하다.

한 개의 트랜지스터와 축전기를 사용해 비트를 저장하므로, SRAM보다 고밀도로 데이터를 저장할 수 있고, 비용이 더 저렴하다.

 

리프레시와 동작 구조:

 

DRAM은 메모리 행(row) 단위로 데이터를 리프레시한다.

리프레시는 행의 데이터를 읽고 다시 쓰는 방식으로 이루어진다.

DRAM은 두 가지 주요 동작 단계로 구성된다.

1. 읽기/쓰기 동작을 위해 특정 행을 활성화(activate).

2. 행 데이터를 특정 열(column)의 버퍼로 읽거나 씀.

그림 설명 (Figure 5.4):

 

현대 DRAM은 여러 개의 **뱅크(bank)**로 구성되어 있다.

하나의 뱅크는 여러 개의 **행(row)**으로 이루어져 있다.

특정 행을 활성화하면(Act 명령), 그 행의 데이터가 버퍼로 이동한다.

이후 열(column) 주소를 지정해 데이터를 읽거나 쓸 수 있다.

 

표 설명 (Figure 5.5):

 

DRAM 기술은 시간이 지남에 따라 집적도 속도가 크게 향상되었다.

1980년: 64Kbit 크기의 DRAM, 접근 시간 250ns, 비용 $6,480/GiB.

2018년: 16Gbit 크기의 DRAM, 접근 시간 25ns, 비용 $6/GiB.

기술 발전으로 메모리 크기는 증가하고 비용은 감소했다.

 

 

DDR SDRAM:

 

DDR (Double Data Rate) DRAM은 클럭의 상승(rising)과 하강(falling) 에지에서 데이터를 전송하여 대역폭을 두 배로 늘린다.

최신 버전인 DDR4는 3,200MT/s(초당 3200만 전송) 성능을 제공한다.

 


Flash Memory (비휘발성 메모리)

 

특징:

 

데이터를 전기적으로 지우고 쓰는 EEPROM(Electrically Erasable Programmable ROM)의 한 종류.

DRAM보다 느리지만, 비휘발성이어서 전원이 꺼져도 데이터를 유지한다.

 

쓰기 수명 제한:

플래시는 반복 쓰기 시 마모(wear-out)될 수 있으므로, wear leveling 기법을 사용해 특정 영역의 과도한 사용을 방지한다.

 

활용:

 

모바일 기기, SSD 등에서 대용량 비휘발성 저장 장치로 사용

플래시는 자기 디스크보다 내구성이 높아 휴대용 기기에 적합


Magnetic Disk (하드 디스크)

 

특징:

 

자기 디스크는 여러 개의 회전 플래터(platter)로 구성되어 있으며, 데이터를 자기적으로 저장한다.

비휘발성 메모리로, 전원이 꺼져도 데이터를 유지한다.

저렴한 비용으로 대용량 데이터를 저장할 수 있지만, 접근 속도가 느리다.

 

구조:

 

디스크의 각 면은 **동심원 모양의 트랙(track)**으로 나뉜다.

각 트랙은 다시 **섹터(sector)**로 나뉘며, 섹터가 데이터를 저장하는 최소 단위이다.

실린더(cylinder): 여러 플래터의 동일한 트랙을 가리키는 용어.

그림 설명 (Figure 5.6):

 

그림에는 디스크 플래터와 **읽기/쓰기 헤드(read/write head)**가 표시되어 있다.

플래터는 2.53.5인치 크기로, 초당 5,40015,000 회전(RPM)한다.

 

 

접근 과정:

 

1. 탐색 시간(Seek Time): 읽기/쓰기 헤드를 원하는 트랙으로 이동시키는 데 걸리는 시간.

2. 회전 지연(Rotational Latency): 트랙이 회전하면서 원하는 섹터가 헤드 아래로 올 때까지의 시간.

평균 회전 지연 시간 계산:

 

예: 5,400 RPM에서는  5.6 ms.

 

3. 전송 시간(Transfer Time): 데이터를 실제로 읽거나 쓰는 시간.

 

장단점 비교:

 

자기 디스크는 플래시보다 훨씬 느리지만, 비용이 저렴하고 쓰기 수명 제한이 없다.

플래시는 자기 디스크보다 훨씬 빠르지만, 쓰기 제한과 높은 비용이 단점이다.


요약

 

1. SRAM: 가장 빠르고 비싸며, 캐시에 사용. 리프레시 불필요.

2. DRAM: 메인 메모리에 사용. 리프레시 필요. 대용량 저장 가능.

3. Flash Memory: 비휘발성 메모리. 모바일 기기와 SSD에 사용.

4. Magnetic Disk: 가장 느리지만 저렴하고 대용량 저장에 적합.