DRAM에는 Data (DQ)가 왔다리 갔다리 하는 경로가 있다. 심플한 버전으로 알아보자.
당연히 데이터를 주고받야 하니 데이터가 다니는 길이 필요하다. 비유적으로는 보통 길로 예시를 많이 든다. 우리집에서 부산까지 차 타고 간다 하면, 지하주차장에서 골목길을 빠져나와서 시내 도로를 타고 고속도로를 타고 간다. 이처럼 좁은 길에서 점점 넓은 길로 차가 이동하는 것처럼 데이터도 똑같다. 다른 예시로는 산속의 시냇물이 강으로 흘러가고 강에서 바다로 흘러가는 것처럼 데이터는 이동한다.
CPU에서 Read/Write Command를 날리면 DRAM은 옙! 하고 Cell에 있는(사실은 Sense Amp) Data를 Read/Write 한다. 길은 크게 4가지로 나눌 수 있다. Read를 예시로 들겠다. Write는 반대다
1) BL (Bit Line)
제일 작은 길이라고 보면 된다. Cell에 있는 데이터가 나오는 길이다.
2) SIO (Segment Input Output)
Bank는 여러 개의 Mat로 이루어져 있는데 이 각각의 Mat에서 나온 BL들을 하나로 모으는 길이다.
3) LIO (Local Input Output)
그럼 당연히 SIO에서 나온 애들을 모으는 길이다. 여기서 포인트는 하나의 Bank에서 일어나는 동작이라는 점이다.
4) GIO (Global Input Output)
Bank에서 나오는 LIO에 실린 데이터들을 밖으로 내보내는 길이다. 쉽게 말해서 Bank를 연결한 길이다. 조금 내용을 얹으면 GIO를 공유하지 않는 Bank는 독립적으로 동작이 가능하다. 차차 알아보자
GIO를 나가면 CPU/SoC/AP..명칭은 상이하지만 시스템에게 데이터를 슝 날린다.
위 그림은 최대한 쉽게 이해할 수 있게 만들어봤다. 최고최고. 화살표 방향 때문에 헷갈리지 말기를 바란다. 단방향이 아니라 "양뱡향"이다.
처음 예시로 든 길이랑 1:1 매칭시켜 보면 아래와 같다.
지하주차장 (아파트길) = BL
골목길 (동네길) = SIO
시내도로 (서울길) = LIO
고속도로 (도시들을 연결하는 길) = GIO
이정도면 대강의 느낌은 가지고 갈거라고 생각이 된다. 광고도 눌러주면 좋겠다. 그냥 그렇다구요
댓글