*CPU(중앙연산장치)
- 사용자가 만들어 놓은 일련의 명령어들을 해석(Decode)하여 특정장소(DRAM, NAND?)에서 값을 불러와 각종 연산을 수행한 뒤, 결괏값을 다시 특정 장소에저장하는 역할.
*Memory
- 데이터가 저장되는방으로, CPU가 처리해야하는 명령어들의 집합을 저장해두거나, CPU에게 전달해주거나 혹은 CPU가 스스로연산해서 생성해 낸 데이터들을 저장
- 그리고 요청받을 경우데이터를 전달해주는 역할. CPU는분명 여러가지 일을 하지만,메모리 입장에서는 CPU는 '이걸 저장해줘', '이걸 읽어줘' 두 가지 요청만보내옴
- 읽고, 쓰는게 메모리의 주역할 그렇다면 읽기란 무엇이고 쓰기란 무엇인가?
- 읽기는 저장된 무언가를 다시 키는 것이고 쓰기는 저장할 무언가를 저장시키는 것.. (뭐라는거야..)
- 예시로 읽기 속도가 빠르면 저장된 게임, 저장된 사진, 저장된 문서 등을 키는 속도가 빠른 것. ex) DRAM의 읽기속도가 빠르다면 '바람의나라', '리니지' 게임 이용시 통해 맵, 화면의 이동이 빠를 것.
- 쓰기속도가 빠르면 핸드폰에서 동영상, 사진, 문서 등을 컴퓨터에 저장시키는 저장속도가 빠를 것이며 압축된 파일을 원래 파일로 변환하여 저장하는 작업인 압축풀기 속도가 빠를 것.
- 게임으로 예시를 들자면 읽기는 로딩(불러오기)이고 쓰기는 세이브(저장)
**주 기억장치로서의 DRAM
DRAM은 트렌지스터 위에 Capacitor가 세워져 있는 상태이고, 이 Capacitor에 정보를 저장하여 사용하는 소자
- Capacitor는 '셀'이라고 불리우며, 트렌지스터는 스위치로 '워드라인'이라고 불리우기도 함.
- 워드라인은 전등 스위치와 같은역할을 하며, 평소에는 '셀'에 있는 데이터가 빠져나가거나 셀로 들어오지 못하게 막고 있다가, 사용자가 전류를 흘려주면 통로를 개방하는 역할을 함.
- 다음으로는 bit line(비트라인)으로 데이터가 사용자 CPU에게 흘러나가는 전선이 있다.
- 정리하자면 워드라인에 전기가 흐르면 셀에서 비트라인으로 전류가 흘러 데이터가 CPU에 도달 하는 것
- 보통 셀은 전류가 흐르는 비트라인(BL)과 데이터를 읽고 쓰는 워드라인(WL)의 각 교차점에 위치해 있다고 함..
- 실제 제조 과정에서는 워드라인을 웨이퍼 맨 아래쪽에 매우 많은 양을 생성해 놓은 뒤, 금속다리(?)들과 비트라인을 형성하고 그 다음에 셀을 그 위로 형성하는 방식으로 제조된다고 함.
- 데이터가 저장되는 저장소에 접근하기 위해서 DRAM에는 가로,세로 방향으로 수억 개의 금속선(bit line)이지나가며 그 아래쪽에 데이터가 저장되는 Capacitor가 배치되어 있다고 함..
- 이와 같이 DRAM은 1개의 Capacitor과 1개의 트랜지스터로 구성되어 있는 '셀' 구조가 매우 작은 공간에 수십억개가 촘촘촘촘촘촘촘히 박혀있으며 그 사이사이들을 bit line이 지나가는 구조
- 주어진테크 수준에서 D램의 밀도는 아래에 만들어둔 트랜지스터들을 얼마나 낭비 없이 사용하느냐에 의해 결정되는 것이라고 한다.
즉, 데이터의 저장공간을 늘리기 위해 주어진 공간안에 최대한 많은 셀을 밀어넣고 회로 선폭을 줄이는 등 공간활용도를 극한의 상태로 늘리는 것
*Bit(비트)란 무엇인가??
bit는 0,1로 이루어져 있음.. ex) 컴퓨터에게 일정이상의 전압을주면 '1' 그렇지 않으면 '0'
ex) 우리가 실생활에 이용하는 휴대폰 월 이용 요금제를 예시로 들어보면, 10GB는 한달동안 우리가 사용할 수 있는 Bit의 갯수를 나타내는 것이라고 함.
참고로, 1 Byte = 8 bit 임
아직까지도 뭐라는지 잘 모르겠는데.. 다른 예시로 주사위 두개를 던졌을 때 나오는 두 눈의 합을 bit로 나타내는 사례를 예시로 들어봄
우리가 주사위를 두 개 던졌을 때 나 올 수 두 눈의 합의 경우의 수는 11개로 2,3,4,5,6,7~ 12
위의 11개의 각 경우의 수에 각각 0과 1만을 갖고 있는 bit만을 이용해서 이모든 경우의수를 표현 할 수 있는데 아래와 같이 각 경우의 수를 0,1의 조합으로 나타낸다고 가정해보자
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
0000 | 0001 | 0010 | 0011 | 1011 | 1010 | 0110 | 0111 | 1000 | 1001 | 1001 |
이렇게 각 경우의 수를 bit(0,1의 조합)으로 정해두면 주사위가 얼마가 나왔는지 몰라도 우리는 bit의 조합만 알면 주사위가 얼마가 나왔는지 알 수 가 있다.
ex) 0000 0010 0011 1011 bit가 전파를 타서 우리의 핸드폰으로 전달되면 우리의 핸드폰은 이를 해석해 2 4 5 6이라는 숫자를 bit의 조합만으로 알 수 가 있는 것이며, 우리는 위의 예시에서 12bit를 사용한 것이다..
숫자 뿐이 겠느냐.. 문자도, 이미지도(0,1의 픽셀의조합으로 모든 색이 표현가능), 음성도, 심지어 이미지의 조합인 영상도 위와 같은 0,1의 조합으로 나타낼 수 있으며 각각 아날로그 데이터에 0,1특정의 디지털 조합을 부여하고 이를 파동(?), 빛(?),전자기파(?),펄스(빛) 등 어떤 수단을 통해서 정보를 전달하는 것으로 생각된다..
좀 더 우리실생활에 와 닿는 스마트폰 통화를 예시를 들어보자
가장먼저, 내가 스마트폰에 대고 음성을 내면 스마트폰 내부에는 음성언어(아날로그 신호)를 디지털신호로 바꿔주는 센서가 내장되어 있어 음성언어를 0,1의 조합인 디지털신호로 전환. ex) '가'는 '01', '나'는 '10' 뭐 이런식으로
다음으로 스마트폰에 내장되어 있는 안테나는 이러한 0,1을 수신하여 전자파의 형태로 인근 기지국 안테나로 송신함.
전자기파는 진폭, 파형, 주파수, 위상, 또는 이들의 조합과 같은 파형특성을 변경하여 0,1을 전송함. '1'은 상대적으로 진폭이 큰 고주파, '0'은 상대적으로 진폭이 작은 저주파 이런식으로??
전자기파를 받은 기지국은 인접 기지국간에 연결되어 있는 광섬유 케이블을 타고 전화 상대방 인근 기지국으로 전달되고, 다시 전자기파로 변환되어(광섬유를 타고 왔으니 전자기파의 형태가 아닌 펄스?빛?의 형태였겠지..) 상대방 스마트폰 안테로 송신
다시 상대방 스마트폰안테나는디지털신호를 받고 특정 센서를 통해 디지털신호에서 아날로그(음성)신호로 전환되어 전화 상대방이 우리의 음성언어를 스마트폰을 통해 전달될 수 있는 것!!
다시 디램으로 돌아오면, 워드라인을 통해 일정전압이 들어오면 셀에 정보가 저장된다는 말이 특정셀에 '0','1'과 같은 bit가 저장되거나 워드라인에 가해지는 전압에 따라 bit가 바뀌고 바뀐 정보(bit)가 비트라인을 통해 CPU로 흘러가 정보(Bit)가 전달된다는 건가? 이런식으로 0과1의 조합으로 이뤄진 디지털신호를 CPU가 해석해서 digital --> analog로 변환시켜주는 여러 음성, 이미지, 영상센서를 거쳐 speaker, Panel과 같은 출력장치를 거쳐 우리가 음악을 들을 수 있는 것이고, 영상을 볼 수 있는 것
하지만, DRAM의 치명적인 단점은 데이터를 그대로 두거나 방전(plug를 뽑는것)시키면 데이터가 다 날라가버림.. (위에서 본 Capacitor에는 누설효과가 있어 시간이 지나면 그냥 그 안의 bit(정보)가? 사라진다고 함)
ex) DRAM으로만 이뤄진 PC or 폰에서 리니지를 플레이 한다면 백날 노가다/현질로 케릭 spec을 높여봤자 일정시간이 지나거나, 게임을 끄면 초기화가 되는 것..(DRAM의 특성상)
ex) 엑셀로 작업을 다 하고 저장을 누르기 전까지는 DRAM에 저장되어 있다가 저장을 누르는 순간 DRAM --> NAND로 저장되는 원리??
*보조기억 장치로서의 NAND 등판
- NAND의 한 종류(?)인 Flash Memory는 DRAM과 달리 좀 더 출입이 어려운 절연구역에 고전압을 가하여 전자를 터널링 시켜 아예 가둠으로써 1과 0을 구분 (이게 뭔 개소리야..)
*NAND의 저장원리
- Control gate에 강한 전압을 가하게 되면, Source와 Drain 사이에 흐르는 전자가 tox(터널링 옥사이드)라고 부르는 '절연층'을 전자가 터닐링(지나가서)해서 Floating gate에 쌓이게 되는데, 이 때 이 전자는 정보를 갖게 됨 (위에서 말한 '0' or '1'의 값을 갖게되는 걸로 해석)
- Tox = 터널링 옥사이드라고 부르는 물질로 전자가 터널링할 수 있게 끔 만들어진 Layer(층)
- Floating gate: 전자가 저장되는 공간으로써 주로 Poly Silicon을 사용. 폴리실리콘은 중간중간의 결함(Defect) (Crack(틈)을 말하는 건가?)을 이용하여 전자를 trap 시킴
- ONO (Oxide - Nitride - Oxider) : Floating gate에 전자가 저장되고, 전압에 의해 그 밖으로 전자가 튕겨져 나오지않도록 막기 위한 Layer로써 Blocking layer라고도 함
- 암튼,전하가 절연 공간에 갇혀 있는 방식이므로 전자장비임에도 불구하고 전원을 차단하더라도 데이터가 그대로 보존되는 특징
*NAND의 종류
- NAND는 저장되는 Cell의 양에따라서 SLC(Single level Cell), MLC, TLC로 나뉨
- 1개의 셀에 1bit만 저장하는 SLC는 매우 빠른 속도, 높은 정확성, 높은 수명을 가지고 있어 일반적으로 오류가 적고 속도가 빨라, 장기간 높은 신뢰성을 요구하는 자동차, 항공기 스토리지 등에 주로 사용
- 반면, AI, 자율주행, 인공지등, 스마트폰의 보급, 클라우드 서버 등으로의 데이터가 폭증하기 시작하면서 어딘가에 데이터를 저장해야하는 수요가 폭증하면서 SLC, MLC,TLC를 넘어 QLC로 기술이 진화하면서 단위면적당 용량이 증가.
- 여기까지 정리해보니.. 최근 NAND의 수요가 폭발하는 이유가 전방산업인 global OTT, youtube, Streaming TV등의 무한경쟁(Cloud game 추가될 예정), 스마트폰의 보급화, 스마트폰 카메라 성능이 올라감에 따라 사람들이 실시간으로 자신의 일상 사진을 올려 Instagram에 업로드하고 Youtube에 V-log, 각종 컨텐츠 영상을 업로드 해 자신의 개성을 들어내기 시작하는 행위 등에 따라 증가하는 데이터폭증에 따른 현상임이 더 직관적으로 다가옴..
*자율주행
*자율주행
- 잠깐만.. 자율주행시대가 오면 도대체 메모리는 얼마나 더 필요한거지..? 지금과는 차원이다른량의 데이터 사용량이 필요할 것 같은데...? 자동차내 센서가 인지하는 각종 주변환경 데이터를 실시간으로 읽고 써야하는 DRAM의 수요부터 시작해서, DRAM이 데이터를 읽어오는 SSD NAND의 수요까지.. (주변 경로, 환경 등의 데이터가 저장되어 있는 SSD NAND 및 특정 상황에서 발현될 사용자가 만들어 놓은 일련의 명령어들이 저장되어 있는SSD(NAND).. 메모리 시장은 완전 과점시장이고 신규경쟁자가 진입할 수 없는 시장인데....
- 지금은 NAND의 수요가 먼저 폭발하고 있지만.. 자율주행시대에는 DRAM의 수요가 먼저 폭발할 것과 같은 망상을 해본다.. DRAM은 삼성전자, SK하이닉스, 마이크론 완전 3사 과점시장인데..
- 삼성전자, sk하이닉스 너희들은 좀 짱인거니?
댓글 없음:
댓글 쓰기