회사/산업 · 모든 회사 / 모든 직무

Q. dram 아키텍처 질문

ㅈㅎㅇ1

안녕하세요 dram에 대해 질문이 있습니다. dram에 대해 공부하던 중 subarray bank bank-group 등에 대해 알게 되었습니다, 그런데 subarray가 정확히 무엇인지 글마다 약간씩 설명도 달라 이해가 잘 안 됩니다. 그래서 block과 subarray의 차이에 대해 알고 싶습니다. 또한 bank구조가 bank group으로 발전하면서 속도가 더 빨라졌다고 하는데 이 부분이 정확한 이해가 어렵습니다. 설명해주시면 감사하겠습니다. bank가 여러개 있고 각각에 대한 명령을 병렬로 처리할 수 있다면 bank group이 필요없을 텐데 bank group이 있는 이유를 모르겠습니다. prefetch나 interleaving등등 포함해서 설명해주시면 감사하겠습니다. 그리고 채널이나 랭크 등등에 대해서도 알고 계시면 간단한 설명 부탁드립니다. 감사합니다.


2025.12.03

답변 1

  • 프로답변러YTN
    코부사장 ∙ 채택률 86%

    채택된 답변

    멘티님, 최대한 짧게 핵심만 정리해줄게요. subarray는 하나의 bank 안에서 셀 배열+로컬 row decoder+로컬 센스앰프가 묶인 물리 덩어리이고, block은 CPU·캐시 입장에서 보는 논리적 데이터 단위(예: 64B 캐시라인)라서 계층과 관점이 완전히 다릅니다. subarray는 “실제 셀을 모아놓은 물리 타일”이고, block은 “그 중에서 몇 바이트만 잘라서 쓰는 주소 단위”라고 이해하면 됩니다. bank group은 bank가 많아지고 클럭이 빨라지면서 같은 내부 자원을 공유하는 bank끼리는 타이밍 간격을 크게 잡고, 다른 그룹끼리는 간격을 줄이기 위해 만든 계층이라 “그룹을 나눠줘야 명령을 더 촘촘히 섞어서 보내고 실효 대역폭을 올릴 수 있기 때문에” 존재합니다. 그래서 bank만 여러 개 있으면 이론상 병렬이지만, 실제 제약(tRRD, tFAW 같은 간격)을 풀어주기 위해 그룹을 나눠준 거라고 보면 됩니다. prefetch는 내부에서 한 번에 더 넓게 읽어와(I/O 비트 수의 n배) 외부로 쪼개 내보내 속도를 올리는 구조이고, interleaving은 연속 주소를 여러 채널·랭크·뱅크에 번갈아 배치해서 여러 row를 동시에 열어 대역폭과 병렬성을 높이는 주소 매핑 기법입니다. 채널은 CPU와 메모리 사이의 독립 버스(64bit 같은 물리 통로), 랭크는 그 버스 위에 묶인 칩들의 논리 단위(한 번에 선택되는 칩 묶음), 뱅크는 그 안의 독립 셀 어레이 단위라고 간단히 정리할 수 있습니다. 채택부탁드리며 파이팅입니다!

    2025.12.03



    댓글 1

    ㅈㅎㅇ1
    작성자

    2025.12.03

    자세한 설명 정말 감사드립니다!!


  • AD
    반도체
    설계팀

    대기업 반도체 산업으로 취업하기 위해선, 직관적 해석능력과 사고력이 필요합니다. 핵심 역량과 배운 지식을 취업에 활용하고 싶다면 국비지원 강의를 추천합니다.

    코멘토 내일배움카드 안내

함께 읽은 질문

궁금증이 남았나요?
빠르게 질문하세요.