-
Notifications
You must be signed in to change notification settings - Fork 0
학습 기록 | w3 지현
#휘발성 저장 장치 #비휘발성 저장 장치 #DRAM #SRAM #SDRAM #DDR SDRAM
주기억장치 → RAM, ROM
메모리 → RAM
휘발성 저장 장치 volatile memory
- RAM
비휘발성 저장 장치 non-volatile memory
- 하드 다스크, SSD, CD-ROM, USB 메모리와 같은 보조기억장치
보조기억장치인 비휘발성 저장 장치에는 ‘보관할 대상’을 저장하고 휘발성 저장 장치인 RAM에는 ‘실행할 대상’을 저장
💡 CPU가 실행하고 싶은 프로그램이 보조기억장치에 있다면 RAM으로 복사하여 저장한 뒤 실행
RAM의 용량이 크면 많은 프로그램을 동시에 빠르게 실행하는데 유리
DRAM
= Dynamic Ram
- 저장된 데이터가 동적으로 사라지는 RAM
- 데이터 소멸을 막기 위해 주기적으로 재활성화(다시 저장) 해야 함
- 일반적으로 메모리로 사용되는 RAM
- 소비전력 낮고 저렴, 집적도가 높아 대용량 설계 용이
SRAM
= Static RAM
- 저장된 데이터가 정적인(사라지지 않는) RAM
- 전원공급 X → 사라짐
- DRAM보다 일반적으로 입출력 속도가 빠름
- 일반적으로 캐시 메모리에 사용되는 RAM
- 소비전력이 높고 비쌈, 집적도가 높아 ‘대용량으로 설계할 필요는 없지만 빨라야하는 장치’에 사용
SDRAM
= Synchronous Dynamic RAM
- 클럭 신호와 동기화된 발전된 형태의 DRAM
- 클럭 타이밍에 맞춰 CPU와 정보를 주고받음
= SDR SDRAM
- 한 클럭당 하나씩 데이터를 주고받을 수 있는 SDRAM
DDR SDRAM
= Double Data Rate SDRAM
- 발전된 형태의 SDRAM
- 최근 가장 대중적
- 대역폭을 넓혀 속도를 빠르게 만듦
- 한 클럭당 두번씩 CPU와 데이터를 주고받음
DDR2 SDRAM = SDR SDRAM * 4
DDR4 SDRAM = SDR SDRAM * 16 (대중적)
#물리 주소 #논리 주소 #MMU #베이스 레지스터 #한계 레지스터
physical address
- 메모리 하드웨어가 사용하는 주소
- 정보가 실제로 저장된 하드웨어상의 주소
logical address
- CPU와 실행 중인 프로그램이 사용하는 주소
- 실행 중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소
- 프로그램의 시작점으로부터 떨어진 거리
메모리 관리 장치
MMU; Memory Management Unit
- 논리 주소와 물리 주소를 변환하는 하드웨어
- **베이스 레지스터(프로그램의 시작주소)**로부터 논리주소를 이용하여 변환
한계 레지스터
limit register
- 실행 중인 프로그램의 논리 주소의 최대 크기를 저장
- 메모리 보호
- 논리 주소 범위를 벗어나는 명령어 실행을 방지하고 실행 중인 프로그램이 다른 프로그램에 영향을 받지 않도록 함
- CPU는 메모리 접근 전 [논리 주소 < 한계 레지스터] 검사 → 인터럽트 (트랩) 발생시켜 실행을 중단
#저장 장치 계층 구조 #캐시 메모리 #캐시 적중률 #참조 지역성의 원리
- ‘CPU에 얼마나 가까운가’를 기준으로 한 계층
cache memory
- CPU와 메모리 사이에 위치한, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반 저장 장치
- CPU의 연산 속도와 메모리 접근 속도의 차이를 조금이나마 줄이기 위해
- 메모리에서 사용할 일부 데이터를 ‘CPU’에 가져와 활용
계층적 캐시 메모리 (L1 - L2 - L3 캐시)
- L1, L2 : 코어 내부
- L3 : 코어 외부, 멀티 코어 프로세스의 경우 여러 코어가 공유
💡 캐시 메모리는 CPU가 자주 사용할 법한 대상을 예측하여 저장
캐시 히트 cache hit
- 예측한 데이터가 맞아 캐시 메모리 내 데이터가 CPU에서 활용될 경우
캐시 미스 cache miss
- 예측이 틀려 메모리에서 필요한 데이터를 직접 가져와야 하는 경우
캐시 적중률 cache hit ratio
- 캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수)
- 컴퓨터 대략 85 ~ 95%
참조 지역성의 원리 locality of reference, principle of locality
-
시간 지역성 temporal locality
- CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다.
-
공간 지역성 spatial locality
- CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다.
#하드 디스크 #플래터 #데이터 접근 시간 #플래시 메모리 #페이지 #블록
HDD; Hard Disk Drive
- 자기 디스크 magnetic disk 의 일종
- 자기적인 방식으로 데이터 저장
플래터 platter
- 데이가 저장되는 곳, N극과 S극이 0과 1의 역할 수행
- 여러 겹의 플래터, 양면 모두 사용
스핀들 spindle
- 플래터를 회전시키는 요소
RPM
- Revolution Per Minute
- 분당 회전수
헤드 head
- 플래터의 데이터를 읽고 쓰는 요소
디스크 암 disk arm
- 헤드를 원하는 위치로 이동시킴
트랙 track
섹터 sector
- 512 바이트 ~ 4096 바이트
실린더 cyllinder
- 여러 겹의 플래터 상에서 같은 트랙이 위치 한 곳을 연결한 논리적 단위
- 연속된 정보는 한 실린더에 기록 (헤드를 움직이지 않음)
하드디스크가 저장된 데이터에 접근하는 시간
- 탐색 시간 (seek time)
- 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
- 회전 지연 (rotational latency)
- 헤드가 있는 곳으로 플래터를 회전시키는 시간
- 전송 시간 (transfer time)
- 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간
flash memory
- 전기적으로 데이터를 읽고 쓰는 반도체 기반 저장 장치
- USB메모리, SD 카드, SSD
종류
- NAND 플래시 메모리
- 대용량 저장 장치
- NOR 플래시 메모리
셀 cell
- 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
- 같은 플래시 메모리라도 수명, 가격, 성능이 다르다
| SLC | MLC | TLC | QLC | |
|---|---|---|---|---|
| 셀당 bit | 1bit | 2bit | 3bit | 4bit |
| 정보의 개수 | 2 | 4 | 8 | 16 |
| 수명 | 길다 | 보통 | 짧다 | |
| 읽기/쓰기 속도 | 빠르다 | 보통 | 느리다 | |
| 용량 대비 가격 | 높다 | 보통 | 낮다 | |
| 시중에서 많이 사용 | 시중에서 많이 사용 | 시중에서 많이 사용 |
페이지 page → 블록 block → 플레인 plane → 다이 die
💡 읽기/쓰기 단위와 삭제 단위는 다르다!
- 읽기/쓰기 → 페이지 단위
- 삭제 → 블록 단위
페이지의 상태
- Free
- 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
- Valid
- 이미 유효한 데이터를 저장하고 있는 상태
- Invalid
- 유효하지 않은 데이터(쓰레기값)을 저장하고 있는 상태
가비지 컬렉션 garbage collection
- 유효한 페이지들만을 새로운 블록으로 복사
- 기존의 블록을 삭제
#RAID #RAID 0 #RAID 1 #RAID 4 #RAID 5 #RAID 6
Redundant Array of Independent Disks
데이터의 안정성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 하나의 논리적 보조기억장치처럼 사용하는 기술
스트라입 stripe
- 줄무늬처럼 분산되어 저장된 데이터
스트라이핑 striping
- 분산하여 저장하는 것
RAID0
- 저장되는 데이터가 하드 디스크 개수만큼 나뉘어 저장
- 장점 : 입출력 속도의 향상
- 단점 : 저장된 정보가 안전하지 않음
RAID1
= 미러링 mirroring
- 복사본을 만드는 방식
- 데이터를 쓸 때 원본과 복사본 두 군데에 씀
- 장점 : 복구가 간단
- 단점 : 느린 쓰기 속도, 하드 디스크 개수가 한정되었을 때 사용 가능한 용량이 적음
RAID4
- RAID1처럼 완전한 복사본 X
- 오류를 검출하고 복구하기 위한 정보**(패리티 비트; parity bit)**를 저장
- 장점 : RAID1 보다 적은 하드디스크로 데이터를 안전하게 보관
- 단점 : 패리티 디스크의 병목
💡 패리티 비트
- 원래 패리티 비트는 오류 검출만 가능하고 오류 복구는 불가능함
RAID5
- 패리티 정보를 분산하여 저장
- RAID4의 병목현상 해소
RAID6
- 두 종류의 패리티를 이용
- 장점 : RAID5보다 안전
- 단점 : RAID5보다 쓰끼 속도가 느림