강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

아이패드미니6세대님의 프로필 이미지
아이패드미니6세대

작성한 질문수

High-Speed 임베디드 Board 설계 프로젝트 (feat. 스마트폰)

[Schematic 설계 실습 1] LPDDR4 schematic 설계하기 - 2

CS에 관한 질문

해결된 질문

작성

·

17

0

안녕하세요. CS (Chip Select)가 왜 채널별로 2개가 아니라 4개의 핀이 존재하는지 질문드립니다.

 

RK3399 데이터시트 : Support up to 2 ranks (chip selects) for each channel; totally 4GB(max) address space. Maximum address space of one rank in a channel is also 4GB, which is software-configurable

RS512M32LZ4D2ANP (LPDDR4칩) 데이터시트 : Chip Select: CS is part of the command code. Each channel (A & B)has its own CS signal.

 

위 내용을 보면 AP에서도, LPDDR4에서도 각각 2개의 CS를 지원한다고 되어있는데, 실제 핀맵을 확인해보면 AP 기준으로는 채널당, LPDDR4 기준으로는 칩당 각각 4개의 CS가 있는 것을 확인하였습니다. (AP 기준으로는 DDR0_CSN1~4 or DDR1_CSN1~4 , LPDDR4 기준으로는 CS0a, CS1a, CS0b, CS1b) 마찬가지로 JEDEC 문서에서도 CS 핀이 두개인걸 확인했습니다.

 

RS512M32LZ4D2ANP 칩 데이터시트 기준으로, 한 개의 칩 안에 두개의 채널이, 그리고 한 채널당 두개의 랭크가 존재하기 때문에, 각 채널당 랭크 선택을 위한 CS가 각각 2개씩 있어, 칩 한개에는 총 4개의 CS가 존재하는 걸까요?

 

감사합니다.

퀴즈

48%나 틀려요. 한번 도전해보세요!

사용자 데이터를 지우고 기기를 공장 초기 상태로 되돌리는 리셋 유형은 무엇일까요?

소프트 리셋

하드 리셋

전원 사이클

공장 초기화

답변 1

0

안녕하세요, 답변 남겨드립니다.

질문하신 해석이 거의 맞습니다. 핵심은 “CS 개수를 채널 기준으로 보느냐, 패키지 전체 기준으로 보느냐”를 분리해서 보는 것입니다. 업로드된 커리큘럼에서도 이 질문이 LPDDR4 schematic 설계 파트에 해당하는 이유가 바로 여기인데, LPDDR4는 일반 DDR처럼 단순히 x32 한 덩어리로만 보면 계속 헷갈리게 됩니다.

LPDDR4는 구조적으로 2 x 16-bit channel로 조직됩니다. 즉 x32 디바이스라고 해도 내부적으로는 Channel A 16bit + Channel B 16bit로 쪼개져 있고, 각 채널은 자기 CA/CK/CS를 가집니다. TI의 LPDDR4 가이드도 LPDDR4가 다른 DDR과 달리 2개의 16-bit 채널로 구성된다고 설명하고 있고, Micron 계열 LPDDR4 데이터시트에서도 CS0_A, CS1_A, CS0_B, CS1_B처럼 채널 A/B별 CS가 따로 정의되어 있습니다. 그래서 “채널당 CS 2개”라는 문장과 “패키지 전체에서 CS 핀이 4개 보인다”는 현상은 서로 모순이 아니라, 같은 사실을 다른 기준으로 표현한 것입니다.

정리해서 보면 채널 A에는 Rank0/Rank1 선택용으로 CS0_A, CS1_A가 있고, 채널 B에는 Rank0/Rank1 선택용으로 CS0_B, CS1_B가 있습니다. 따라서 한 패키지가 dual-channel이고 각 채널이 2-rank를 지원하면 총 CS 수는 2 channels x 2 CS/channel = 4개가 됩니다. 질문에 적어주신 “한 개의 칩 안에 두 개의 채널이, 그리고 한 채널당 두 개의 랭크가 존재하기 때문에, 칩 한 개에는 총 4개의 CS가 존재하는 것인가”라는 해석이 바로 이 구조에 해당합니다.

RK3399 쪽도 같은 맥락으로 보시면 됩니다. RK3399 데이터시트에는 DDR[i]_CSN[j]가 j=0~3으로 표기되지만, 동시에 설명 문구는 “each channel supports up to 2 ranks”라고 적혀 있습니다. 즉 컨트롤러 입장에서는 한 DDR 인터페이스 안에 채널이 있고, 각 채널마다 최대 2개의 rank를 고를 수 있으니, 물리 핀 표기상으로는 총 4개의 CSN이 나와도 논리적으로는 “채널당 2개”가 맞습니다. Rockchip의 HW design guide도 RK3399와 LPDDR4를 pin-to-pin으로 연결하라고 설명하는데, 이 역시 LPDDR4의 채널 분리 구조를 전제로 한 표현입니다.

실무에서는 여기서 한 번 더 체크하셔야 할 게 있습니다. 모든 LPDDR4 패키지가 항상 4개의 CS를 실제 사용한다는 뜻은 아닙니다. single-rank x32 패키지라면 보이는 CS는 채널당 1개씩만 활성 사용되고, dual-rank 패키지일 때만 CS1_A, CS1_B까지 의미가 생깁니다. Micron 자료에도 dual-channel single-rank 패키지와 dual-channel dual-rank 패키지가 구분되어 따로 나와 있습니다. 회로도에서 이 구분을 놓치면 미사용 CS를 잘못 풀업하거나 NC로 착각해서 bring-up 때 초기화 실패가 날 수 있고, 특히 DDR training 단계에서 rank topology와 소프트웨어 device tree, DRAM init 파라미터가 1-rank/2-rank로 어긋나면 부팅은 돼도 메모리 사이즈가 절반만 잡히거나 특정 온도 구간에서 read leveling이 불안정해지는 문제가 나옵니다. 양산 관점에서는 이런 이슈가 재현율 5~10% 수준의 간헐 불량처럼 보여서 더 까다롭습니다.

그래서 질문에 대한 한 문장 답을 드리면, “네, LPDDR4 한 패키지 안에 Channel A/B가 있고 각 채널이 2-rank를 지원하는 구성이라면 CS0_A, CS1_A, CS0_B, CS1_B로 총 4개의 CS가 존재하는 것이 맞습니다. 다만 이것은 패키지 전체 기준 4개이고, JEDEC이나 AP 설명에서 말하는 것은 채널당 2개입니다.” 이렇게 이해하시면 거의 정확합니다.

추가로 회로도 검토하실 때는 해당 LPDDR4 부품이 truly dual-rank package인지, 아니면 package pinout은 공용인데 실제 SKU는 single-rank인지까지 꼭 확인하셔야 합니다. 이 부분은 데이터시트의 package block diagram에서 single-rank / dual-rank 표기를 보는 게 가장 확실하고, 단순 pin list만 보면 혼동이 자주 생깁니다. 설계 초반에 10분 아끼려다가 later stage에서 DDR init parameter, ZQ calibration sequencing, training script까지 같이 흔들리는 케이스가 꽤 많습니다.

아이패드미니6세대님의 프로필 이미지
아이패드미니6세대

작성한 질문수

질문하기