💻 이전 글
이전에는 SSD를 알아보았는데, 결국 DRAM 까지 왔다.
[CS] SSD의 구조
💻 이전 글이전에는 HDD의 구조와 스케줄링을 알아보았는데, 이번에는 SSD, DRAM 까지 살펴보려고 한다. [CS] HDD의 구조 및 스케줄링HDD, SSD, DRAM에 대해서 학습하고 기록하고자 포스팅을 작성하게
swift-library.tistory.com
📏 DRAM
아래의 유튜브를 참고하여 정리하였다.
Dynamic Random Access Memory인 DRAM은 SSD보다 약 3000배 이상 빠르다고 한다.
DRAM은 겹겹이 쌓인 SSD와 달리 2차원 배열이고 메모리 셀당 한 비트를 일시적으로 저장한다. 또한 보관된 데이터를 지속적으로 저장하기 위해 전력이 필요하다. 이렇게 저장된 값을 계속 새로 고쳐줘야 하기 때문에 Dynamic이라는 말이 나왔다고 한다.
영상에서 설명하는 DRAM에서는 하나의 칩은 8개의 뱅크그룹, 32개의 뱅크로 되어있다.
DRAM의 구조를 조금더 이해하기 쉽게 나타낸다면 아래와 같다고 한다.
각 주소는 31비트가 되는데 3비트는 뱅크 그룹, 2비트는 뱅크, 16비트는 행, 10비트는 열의 주소를 통해 읽고 쓸 수 있다. 이렇게 21비트는 RAS(Row Address Strobe), 10비트는 CAS(Column Address Strobe)이다.
이제 메모리셀을 살펴보자. DRAM의 메모리셀은 1 Transistor, 1 Capacitor여서 1T1C dram cell라고 불린다.
Capacitor의 경우 0과 1을 나타내게 되고 이러한 Capacitor도 Capacitor의 저장용량을 늘리고, 크기를 줄이기 위해서 발전해 왔다.
트랜지스터의 경우 아래와 같이 Bitline, Wordline과 연결되어 있다.
Wordline에 전압이 들어가게 된다면 Capacitor를 충전하거나 방전하며 1과 0을 쓰고 읽을 수 있다.
이 트랜지스터는 너무 작기 때문에 워드라인이 꺼지게 된다면 전자가 천천히 누출된다고 한다. 따라서 다시 전자를 채우는 Refresh 작업도 필요하게 된다.
Wordlines, Bitlines는 이렇게 층이 다른 상태로 교차되어 있는 구조이고 위에서 보다시피 만나지 않는다.
이것을 설명한 이유는 아래의 구조를 보고 헤깔릴 수 있다고 생각해서 설명했다. 결국 더 간단하게 나타내면 Transistor, Capacitor, Wordline, Bitline은 아래와 같이 이루어져 있다고 볼 수 있다. 결국 Wordline은 연결되어 있기 때문에 한줄이 모두 작동하게 된다.
이중에 이제 필요한 부분의 데이터를 가져와서 출력하게 된다.
위에는 간략하게 나타냈지만 정확하게는 Write Driver, Read Driver가 있어서 Sense Amplifer를 활용하여 데이터를 읽고 쓰게 된다.
DRAM의 데이터를 읽는 과정을 다시한번 순서대로 보여준다면... 아래와 같이 Bank 주소를 통해 특정 뱅크로 간다.
열 주소를 통해서 하나의 Wordline을 활성화 시킨다.
그러면 각 열의 데이터를 알게 되고 원하는 열의 데이터를 읽을 수 있게 된다. 쓰기는 똑같지만 마지막에 Write Driver에서 들어온 데이터가 덮어씌워지게 된다.
또한 전체 뱅크를 Refresh하는 작업도 진행한다. 행당 50나노초가 걸리고 65536행은 총 3밀리초정도가 걸린다고 한다. 새로고침 작업은 64밀리초마다 일어난다고 한다. (새로고침이 자주 일어난다고 생각했다...!)
이정도면 지금 상태로선 충분히 잘... 알아본것 같다! 😇
💾 나의 정리
DRAM은 뱅크로 이루어져 있고, 메모리주소는 Bank의 주소, Row의 주소, Column의 주소로 이루어져 있다. DRAM의 셀은 1개의 Transitor, 1개의 Capacitor로 이루어져 있고, 한겹으로 이루어져 있다. DRAM은 Capacitor를 통해 메모리를 저장해 놓으며 전압이 가해지지 않는다면 너무나도 작은 Transistor때문에 전자가 빠져나가게 되고, 이것을 방지하기 위해서 Refreshing 작업을 주기적으로 해준다.
'→ Computer Science' 카테고리의 다른 글
[CS] SSD의 구조 (0) | 2025.04.01 |
---|---|
[CS] HDD의 구조 및 스케줄링 (0) | 2025.03.26 |
[CS] 소수의 표현 (0) | 2025.03.13 |
[CS] 음수의 표현 (2의 보수) (0) | 2025.03.12 |
[CS] 데이터의 전송 (0) | 2025.02.10 |