AMD Chiplet과 Data Fabric
개요
AMD의 chiplet 설계는 CPU 코어와 cache를 담은 작은 CCD(Compute Core Die)를 하나 이상의 I/O 기능 die와 패키지로 조합한다. 대표적인 EPYC 모델에서는 CCD가 Zen 코어와 cache locality를 제공하고, IOD(I/O Die)가 memory controller, PCIe와 외부 링크를 수용한다. AMD는 이런 hybrid multi-chip 구조가 compute와 I/O의 개발 경로를 분리하고, 같은 compute chiplet을 여러 제품에 재사용할 수 있다고 설명한다.
이때 Data Fabric은 CCD, IOD, cache, memory와 I/O 사이에서 coherent data와 주소·응답 transaction이 이동하는 기능 계층을 가리키는 분석 단위다. Infinity Fabric은 이 계층과 die-to-die·socket·package 연결을 포괄하는 AMD interconnect 계열의 이름으로 사용된다. 실제 home 선택, directory, queue, arbitration과 link 폭은 세대와 SKU별 공개 범위가 다르므로, CCD → Data Fabric → IOD는 고정된 단일 crossbar가 아니라 공개 block diagram을 해석하고 성능을 측정하기 위한 대표 모델로 사용해야 한다.
핵심 개념
1. Chiplet의 물리적 분할
CCD와 IOD는 같은 processor package에 있어도 최적화 목표와 트래픽이 다르다.
| 블록 | 대표 구성 | 주된 역할 | locality와 병목 |
|---|---|---|---|
| CCD | Zen cores, private L1/L2, shared L3 | 명령 실행, cache lookup, request 생성 | 같은 CCD의 cache 경쟁과 local fabric |
| Data Fabric | coherent data path, address·response path, flow control | core, cache, CCD와 IOD 사이 transaction 운반 | link, queue, home 선택과 backpressure |
| IOD | memory controller, PCIe, 외부 link, SoC 기능 | memory·I/O service와 package 경계 제공 | gateway fan-in, MC queue, I/O 경쟁 |
| Memory endpoint | DDR channel, rank, bank, DRAM | cache miss의 backing-store service | channel 병렬성, row policy와 timing |
| Socket/package link | 다른 socket, accelerator 또는 외부 device 연결 | remote NUMA와 package-level transaction | link utilization, retry, remote service |
CCD는 코어와 cache가 어디에서 가깝게 처리되는지 설명하는 물리적 compute 단위다. Data Fabric은 그 요청이 어느 cache, coherence service, memory controller 또는 I/O endpoint로 갈지 전달하는 데이터 경로다. IOD는 여러 CCD의 요청이 memory·I/O service로 들어가는 경계이지만, 모든 요청이 동일한 중앙 queue를 통과한다고 단정하지 않는다.
2. Data Fabric과 Infinity Fabric의 관계
AMD 자료와 플랫폼 문서에서 Infinity Fabric이라는 이름은 제품에 따라 on-die, on-package, socket-to-socket 또는 accelerator 연결을 폭넓게 가리킨다. Data Fabric 또는 Scalable Data Fabric은 그중 coherent data와 memory traffic을 처리하는 논리적 기능을 설명할 때 유용하다. 두 이름을 서로 완전히 독립된 표준 또는 항상 동일한 하드웨어 블록으로 정의하면 제품별 차이를 놓친다.
| 분석 이름 | 의미 | 이 문서에서의 범위 | 고정하면 안 되는 것 |
|---|---|---|---|
| Infinity Fabric | AMD interconnect 계열과 연결 아키텍처의 포괄적 이름 | die 내부·die 간·socket·package 경계 | 모든 제품의 동일한 topology와 clock |
| Data Fabric | coherent data, 주소, 응답과 memory-facing traffic의 기능 경로 | CCD, cache, IOD와 memory service 사이 | 공개되지 않은 RTL, directory와 queue 깊이 |
| GMI 계열 link | 제품에 따라 die 간 global memory interconnect를 지칭하는 이름 | CCD-IOD 또는 chiplet 간 데이터 연결을 설명하는 후보 | 모든 세대의 link 명칭과 폭 |
| xGMI 계열 link | 외부 die·socket·accelerator 연결에 쓰이는 제품 용어 | package 또는 socket 경계 분석 | CPU 내부 Data Fabric과 동일한 latency |
| System management path | reset, power, telemetry와 관리 transaction | Data path와 별도의 제어 경계 | data traffic과 같은 queue·우선순위 |
따라서 문서의 Data Fabric은 AMD가 모든 세대에 같은 이름으로 노출한 단일 IP라는 주장이 아니다. 공개된 platform architecture, firmware topology와 측정 가능한 traffic을 연결하기 위한 기능적 모델이다.
3. CCD, cache와 IOD의 locality
세대별 chiplet은 같은 CCD라는 이름을 사용해도 내부 cache grouping과 제품 규모가 다르다.
| 사례 | 공개된 대표 구성 | Data Fabric 관점 |
|---|---|---|
| EPYC 7002, Zen 2 | 최대 64코어, 8채널 DDR4, 128 PCIe 4.0 lanes | CCD 안의 CCX 경계와 별도 I/O die를 분리해 분석 |
| EPYC 7003, Zen 3 | 최대 64코어 server 제품군, Zen 3 unified complex | 같은 CCD의 shared-cache locality와 remote CCD를 분리 |
| EPYC 9004, Zen 4/Zen 4c | 최대 128코어, 12채널 DDR5 | standard·dense CCD와 IOD service capacity를 함께 분석 |
| EPYC 9005, Zen 5/Zen 5c | 최대 192코어 제품군 | heterogeneous compute chiplet과 IOD·memory scaling을 분리 |
이 수치는 제품군의 대표 공개 값이지 하나의 SKU가 모든 구성을 동시에 가진다는 뜻은 아니다. 예를 들어 Zen 2의 CCD → CCX → IOD와 Zen 3 이후의 unified complex는 shared L3 locality의 경계가 다르다. EPYC 9004와 9005도 최대 코어 수만으로 CCD 수, cache grouping 또는 Data Fabric route를 역산할 수 없다.
4. Home, coherence와 routing
Cache miss가 발생하면 Data Fabric은 단순히 모든 CCD에 요청을 broadcast하지 않는다. 개념적으로는 physical address와 cache-line 상태를 바탕으로 home 또는 coherence service를 선택하고, 필요한 owner·sharer·memory controller로 directed transaction을 만든다.
request = {
source_ccd,
physical_address,
read_or_write,
home_or_coherence_service,
target_ccd_or_iod,
memory_or_io_endpoint,
ordering_and_coherence_state
}
실제 directory, probe filter, address hash와 data-forwarding policy는 제품별로 다르거나 공개되지 않는다. Data Fabric이 coherence protocol이다라고 쓰는 것도 정확하지 않다. coherence controller가 line의 ownership과 permission을 판단하고, fabric은 request, data, snoop, invalidate와 acknowledgement가 목적지와 source 사이를 이동하도록 운반·중재한다.
5. Traffic class와 flow control
Data Fabric에는 payload data만 흐르지 않는다. 작은 control transaction도 link와 buffer를 소비한다.
| traffic class | 예시 | 성능 영향 |
|---|---|---|
| Read miss | local L3 miss, remote cache 또는 DRAM read | home lookup, data return, source queue 대기 |
| Write ownership | exclusive 권한 요청, sharer invalidate | message replication, acknowledgement와 line migration |
| Coherence data | owner forwarding, snoop response | remote CCD traversal과 response convergence |
| Memory service | IOD에서 MC·DDR로 전달되는 read/write | channel interleave, controller queue와 DRAM timing |
| I/O·DMA | PCIe device가 memory를 읽거나 쓰는 transaction | CPU memory traffic, ordering과 IOD egress 경쟁 |
| Control·RAS | reset, power state, error report와 관리 event | 별도 관리 경계 또는 data path의 service 간섭 가능성 |
수신 buffer가 부족하면 credit 또는 backpressure가 upstream으로 전파되어 CCD request injection을 늦출 수 있다. 그러므로 local CCD utilization이 낮아도 IOD gateway, response link 또는 memory controller가 포화되면 end-to-end p95/p99 latency가 악화될 수 있다.
6. NUMA와 memory placement
단일 socket이라도 CCD와 memory controller의 물리적·논리적 거리는 address mapping과 firmware 설정에 따라 access cost를 바꾼다. 다중 socket에서는 local IOD와 remote IOD를 분리해야 하며, local memory라고 해도 thread가 어느 CCD에 고정되었는지 함께 기록해야 한다.
| 접근 범위 | 대표 경로 | 주요 비용 |
|---|---|---|
| 같은 CCD의 L3 hit | core → local L3 | tag/data lookup과 shared-cache 경쟁 |
| 다른 CCD의 cache line | source CCD → Data Fabric → target CCD | die-to-die traversal, coherence와 response queue |
| 같은 socket의 DRAM | source CCD → IOD/Data Fabric → MC → DDR | gateway, MC scheduling, DRAM service |
| 다른 socket의 DRAM | local IOD → socket link → remote IOD → DDR | remote home, link queue와 NUMA distance |
NPS(NUMA Per Socket), memory interleave와 first-touch policy는 OS가 보는 locality를 바꿀 수 있다. 따라서 코어 수나 DDR channel 수를 Data Fabric의 sustained bandwidth로 바로 환산하지 않고 CPU affinity, page placement와 address interleave를 실험 조건에 포함한다.
비교/분석
1. Monolithic CPU와 Chiplet CPU
| 항목 | Monolithic die | CCD + IOD chiplet | 분석 질문 |
|---|---|---|---|
| compute 확장 | 큰 die 안에서 core를 늘림 | 작은 CCD를 반복 조합 | die 면적과 package 경계 중 무엇이 제한되는가? |
| 공정 선택 | 전체 기능이 공정에 묶임 | compute와 I/O 공정을 분리 | logic density와 I/O·PHY 요구를 독립 최적화하는가? |
| cache locality | die 내부 wire와 topology 중심 | CCD 내부와 CCD 간 경계가 추가됨 | shared data가 어느 CCD에서 소비되는가? |
| memory path | on-die fabric → MC | CCD → Data Fabric → IOD → MC | IOD gateway와 link queue가 추가되는가? |
| 제품화 | 큰 die 수율과 reticle 부담 | die 재사용과 SKU 조합 | package 조립·검증 비용을 감수할 가치가 있는가? |
| fault boundary | die 내부 timing·coherence 중심 | link, reset, retry와 die containment 추가 | 경계 오류를 격리하고 복구할 수 있는가? |
Chiplet은 작은 compute die를 반복 제조하고 I/O 기능을 공유하는 데 유리하지만, 모든 workload의 latency를 낮추는 기술은 아니다. private-cache 계산은 CCD 안에서 끝날 수 있는 반면, write-sharing·all-to-all·streaming memory는 Data Fabric과 IOD의 공통 cut을 직접 압박한다.
2. Data Fabric, Ring과 Mesh의 분석 단위
| 축 | AMD Chiplet + Data Fabric | Ring | 2D Mesh |
|---|---|---|---|
| 주된 설명 | CCD/IOD와 계층형 data path | ring stop 순회와 segment 경쟁 | router grid와 hop 병렬성 |
| locality | CCD, IOD, socket와 NUMA 경계 | source stop과 destination 거리 | Manhattan hop과 home agent |
| 확장 방식 | CCD·IOD·package link 조합 | stop·segment·ring width 확장 | router·link와 distributed home 확장 |
| 대표 병목 | Data Fabric gateway, IOD, MC, remote link | segment hotspot과 bridge | link cut, router queue와 home concentration |
| 소프트웨어 영향 | CCD affinity, NPS와 page placement | LLC slice·stop locality | LLC/CHA와 mesh locality |
| 주의점 | Infinity Fabric이 하나의 topology를 뜻하지 않음 |
세대별 ring 구조 확인 필요 | SKU별 route·VC·buffer가 다름 |
이 비교는 AMD가 Ring이나 Mesh보다 항상 빠르다는 뜻이 아니다. Ring과 Mesh는 주로 on-die topology를 분류하고, Data Fabric은 chiplet·I/O·socket의 기능 경계와 transaction 경로를 함께 분석한다. AMD processor 안에도 local cache fabric과 package-level link가 동시에 존재할 수 있다.
3. Request 유형별 병목
| request | 대표 경로 | 1차 병목 | 관측할 지표 |
|---|---|---|---|
| local L3 hit | core → CCD cache | L3 capacity와 core 경쟁 | L2/L3 miss, loaded latency |
| remote CCD cache hit | source CCD → Data Fabric → target CCD | remote home, link와 response queue | remote ratio, fabric utilization, p99 |
| read memory miss | CCD → IOD → MC → DDR | IOD gateway, MC queue와 DRAM timing | MC occupancy, queue time, bandwidth |
| write-sharing | source → home → owner·sharer | invalidate, ownership과 acknowledgement | line migration, coherence message |
| CPU + PCIe DMA | CPU/device → IOD → memory | IOD egress, ordering과 DMA interference | I/O utilization, CPU bandwidth, tail latency |
| two-socket remote access | local IOD → socket link → remote IOD | remote NUMA home와 link retry | remote ratio, socket-link utilization |
4. 지연과 대역폭 모델
제품별 내부 cycle을 알 수 없는 경우 측정 경계를 명시한 개념식으로 원인을 분리한다.
L_memory = L_core_miss
+ L_local_cache_lookup
+ L_home_or_coherence
+ L_data_fabric_forward
+ L_IOD_queue
+ L_MC_schedule
+ L_DRAM_service
+ L_response
+ L_retry
Remote cache transaction에서는 L_MC_schedule과 L_DRAM_service가 빠질 수 있고, owner forwarding·invalidate·acknowledgement가 추가된다. 반대로 DRAM miss에서는 IOD와 controller queue가 fabric link보다 더 큰 비중을 차지할 수 있다.
B_sustained <= min(source injection capacity,
Data Fabric link and cut capacity,
IOD gateway capacity,
memory or I/O service capacity)
이 식은 각 CCD의 peak link rate가 그대로 합산된다는 뜻이 아니다. 여러 CCD가 같은 IOD gateway, memory controller, response cut 또는 socket link를 공유하면 그 공통 경계가 상한이 된다. protocol overhead, coherence control, backpressure와 read/write 전환도 payload bandwidth와 따로 기록해야 한다.
5. 세대와 제품 수치의 해석
| 공개 수치 | 유효한 해석 | 피해야 할 해석 |
|---|---|---|
| EPYC 7002 최대 64코어 | Zen 2 compute chiplet 확장의 제품군 범위 | 모든 7002 SKU가 같은 CCD 수를 가짐 |
| EPYC 7002 8채널 DDR4 | memory interface 규모 | application sustained bandwidth와 동일 |
| EPYC 9004 최대 128코어, 12채널 DDR5 | Zen 4/Zen 4c server 플랫폼의 공개 범위 | 128코어 SKU의 모든 fabric route를 역산 |
| EPYC 9005 최대 192코어 | Zen 5/Zen 5c chiplet 확장 범위 | Zen 5와 Zen 5c가 같은 cache·clock·IOD를 가짐 |
| AMD의 hybrid multi-chip architecture | compute와 I/O 혁신 경로를 분리하는 설계 방향 | 내부 Data Fabric RTL과 directory를 공개했다는 뜻 |
동작 원리
1단계: 코어가 CCD에 요청을 주입한다
load/store가 L1과 L2에서 hit하지 않으면 cache controller가 physical address, read/write 종류, ordering과 coherence attribute를 포함한 transaction을 만든다. 요청은 CCD 내부 queue와 cache fabric에 들어간다. miss 감지, local L3 lookup과 Data Fabric injection을 하나의 latency로 합치지 않아야 한다.
T0: L1/L2 miss 또는 write-sharing 감지
T1: CCD request queue 삽입
T2: local L3 또는 cache home lookup
T3: local hit 또는 Data Fabric 주입
2단계: CCD의 cache locality를 확인한다
요청 line이 local L3에 있고 필요한 permission을 얻을 수 있으면 CCD 내부에서 응답할 수 있다. Zen 2에서는 요청 core가 속한 CCX와 다른 CCX를 구분해야 하고, Zen 3 이후에는 unified complex가 중요한 shared-cache 경계가 된다. unified L3가 다른 CCD의 cache line 또는 DRAM을 local로 바꾸지는 않는다.
3단계: Home과 service domain을 선택한다
local lookup이 실패하면 address mapping과 coherence metadata가 home 또는 coherence service를 결정한다. 이 결과에 따라 remote CCD의 owner·sharer, IOD memory controller 또는 PCIe endpoint가 목적지가 된다.
destination = {
source_ccd,
home_or_coherence_service,
target_ccd_or_iod,
memory_controller_or_io_endpoint,
request_class,
coherence_state
}
실제 hash, directory와 probe filter를 코어 번호만으로 예측하지 않는다. firmware가 노출하는 topology, address sweep과 model-specific performance counter를 함께 사용해야 한다.
4단계: Data Fabric이 transaction을 운반한다
Data Fabric 또는 제품별 Infinity Fabric link는 request header뿐 아니라 data, response, coherence control과 ordering traffic도 운반한다. 수신 buffer가 부족하면 credit·ready/backpressure가 source CCD의 injection queue까지 전파된다. 이때 한 link의 낮은 평균 사용률만으로 fabric이 충분하다고 결론 내리지 않고 방향별·class별 utilization과 queue를 구분한다.
확인할 항목은 다음과 같다.
- CCD별 outbound traffic과 request injection stall
- Data Fabric link·gateway의 busy time과 direction별 utilization
- request, data, snoop, invalidate와 acknowledgement 비율
- home concentration과 remote CCD access ratio
- corrected error, retry와 power-state transition
- IOD gateway와 memory controller를 동시에 공유하는 CCD 집합
5단계: IOD가 memory 또는 I/O service를 선택한다
memory request는 IOD의 address mapping과 memory controller queue를 거쳐 channel, rank, bank와 row/column service로 이어진다. memory controller는 DRAM timing, request ordering과 read/write 전환을 조정한다. PCIe 또는 외부 I/O request는 endpoint와 ordering rule에 맞춰 처리되며, DMA가 memory에 접근하면 CPU traffic과 IOD memory service resource를 공유할 수 있다.
Central IOD라는 표현은 여러 CCD의 service request가 공통 I/O domain에 도착한다는 뜻이지, 하나의 blocking crossbar나 단일 global queue가 존재한다는 뜻은 아니다. 내부 route와 queue 구조는 제품별 자료 또는 silicon measurement로 확인해야 한다.
6단계: Coherence 또는 memory response를 수렴한다
home/coherence service가 remote owner의 최신 line을 확인하면 data forwarding과 permission 응답을 조정한다. write ownership이 필요하면 관련 sharer의 copy를 invalidate하고 acknowledgement를 수집한다. line이 cache hierarchy에 없으면 MC가 DRAM에서 data를 읽는다.
local cache hit -> CCD response
remote owner -> coherence service -> owner data -> source CCD
memory miss -> IOD -> MC -> DRAM -> IOD -> source CCD
I/O transaction -> IOD -> PCIe/device -> completion -> source or device
응답은 request ID와 ordering rule에 맞춰 source CCD로 돌아오고 cache state가 갱신된다. data payload가 작아도 write-sharing은 invalidate와 acknowledgement가 반복되어 fabric queue와 tail latency를 키울 수 있다.
7단계: NUMA-aware placement와 실험으로 검증한다
다음 실험군을 같은 frequency, SMT, background load와 memory configuration에서 비교한다.
- 같은 CCD의 private-cache와 shared-cache access
- 같은 socket의 다른 CCD cache 또는 owner access
- local memory와 remote NUMA memory access
- uniform memory stream과 특정 controller hotspot
- read-mostly와 write-sharing coherence workload
- CPU traffic과 PCIe/DMA 동시 부하
lscpu -e, lscpu -C, numactl --hardware, numactl --show는 OS가 노출하는 topology를 확인하는 출발점이다. Linux perf와 AMD uProf는 cache·memory·fabric의 단서를 제공할 수 있지만, 모든 internal Data Fabric queue와 exact route를 노출하는 도구로 간주하지 않는다. 평균 대신 p50/p95/p99, local·remote 비율, MC occupancy, fabric utilization과 전력 상태를 함께 기록한다.
장단점
| 장점 | 단점 및 주의점 |
|---|---|
| 작은 CCD를 반복 조합해 core count와 SKU를 확장하기 쉬움 | CCD-to-IOD link, gateway와 coherence traffic이 함께 증가함 |
| compute와 I/O를 서로 다른 공정과 die로 최적화할 수 있음 | die-to-die PHY, package routing, power와 signal integrity 검증이 추가됨 |
| compute chiplet 재사용으로 제품 개발 경로를 분리할 수 있음 | IOD service capacity와 package link가 공통 bottleneck이 될 수 있음 |
| 여러 CCD와 memory channel을 병렬로 활용할 수 있음 | peak link rate와 sustained application bandwidth 사이에 queue·protocol 비용이 존재함 |
| Data Fabric이 cache, memory와 I/O transaction의 공통 경계를 제공함 | exact home, directory, arbitration과 queue가 공개되지 않아 원인 분리가 어려움 |
| NUMA와 affinity를 활용해 workload를 locality에 맞게 배치할 수 있음 | 잘못된 page placement나 remote sharing은 평균과 tail latency를 모두 악화시킴 |
선택과 검증 기준
Data Fabric을 하나의 고정 bus나 모든 제품에 동일한 central crossbar로 표현하지 않는다.- CCD, IOD, Data Fabric, Infinity Fabric과 coherence protocol을 서로 다른 분석 계층으로 정의한다.
- 같은 CCD cache hit, 다른 CCD remote cache, local memory와 remote NUMA memory를 별도 실험으로 나눈다.
- core 수, CCD 수, DDR channel 수와 peak link rate를 sustained bandwidth로 바로 환산하지 않는다.
- write-sharing에서는 data bytes뿐 아니라 invalidate, ownership과 acknowledgement traffic을 측정한다.
- IOD gateway, memory controller, response cut과 socket link의 공통 capacity를 확인한다.
- NPS, CPU affinity, first-touch, memory interleave와 background DMA 조건을 기록한다.
- 공개된 AMD product page의 수치와 silicon-specific topology·latency를 명확히 구분한다.
- 내부 home hash, directory, link width와 queue depth는 제품별 공식 자료나 측정 근거 없이 단정하지 않는다.
관련 기술
- CPU Fabric 아키텍처 개요: bus, ring, mesh, fabric과 chiplet의 계층
- CPU 인터커넥트 설계 지표: hop latency, bisection bandwidth, congestion과 QoS
- AMD CCX와 Infinity Fabric: CCX, CCD, IOD와 Infinity Fabric의 세대별 locality
- AMD CCD와 Central IOD: CCD-IOD service boundary, fan-in과 NUMA
- AMD Unified CCX: unified L3와 CCD 내부 cache grouping
- NUMA 아키텍처: local·remote memory, NPS와 placement
- 메모리 컨트롤러: address mapping, scheduling과 DRAM service
- 캐시 일관성 프로토콜: state, snoop, directory와 ownership
- 캐시 일관성 MESI/MOESI: coherence state와 invalidate
- 메모리 인터커넥트: NoC, router, link와 flow control
- UCIe 칩렛 인터커넥트: package-level die-to-die boundary
참고 문헌 및 표준
- AMD, AMD "Zen" Core Architecture: chiplet, compute·I/O 분리와 Zen 세대 개요.
- AMD, AMD EPYC 7002 Series Processors: Zen 2 EPYC의 최대 64코어, 8채널 DDR4와 128 PCIe 4.0 lanes 공식 제품 정보.
- AMD, AMD EPYC 7003 Series Processors: Zen 3 EPYC와 플랫폼 기능의 공식 개요.
- AMD, 4th Gen AMD EPYC Processor Architecture: hybrid multi-chip architecture와 compute·I/O 혁신 경로 분리.
- AMD, AMD EPYC 9004 Server CPUs: 최대 128코어와 12채널 DDR5를 포함한 Zen 4/Zen 4c 제품군 정보.
- AMD, 5th Generation AMD EPYC Server CPUs: Zen 5·Zen 5c chiplet architecture와 최대 192코어 제품군 정보.
- AMD, 5th Gen AMD EPYC Processor Architecture White Paper: 최신 EPYC compute chiplet, I/O와 platform architecture 자료.
- Ian Cutress, AMD Zen 2 Microarchitecture Analysis: Ryzen 3000 and EPYC Rome, AnandTech, 2019: Zen 2 CCD·CCX·I/O die 공개 분석.
- Ian Cutress, AMD Zen 3 Ryzen Deep Dive Review, AnandTech, 2020: unified complex와 Zen 3 cache locality 분석.
- AMD, EPYC Documentation Hub: 제품별 datasheet, programmer reference와 tuning guide 검색 경로.
핵심 정리
- AMD chiplet은 CCD에 compute와 cache를, IOD에 memory·I/O 기능을 분리하고 Data Fabric으로 이 경계를 연결한다.
- Infinity Fabric은 여러 물리적 연결 범위를 포괄하는 이름이고, Data Fabric은 coherent data와 memory-facing transaction을 분석하는 기능 계층이다.
- Data Fabric은 coherence protocol 자체가 아니며, home 선택·directory·queue·arbitration의 정확한 구현은 세대와 SKU별로 확인해야 한다.
- CCD 수가 늘어도 처리량은 Data Fabric link와 공통 cut, IOD gateway, memory controller 또는 socket link 중 가장 작은 capacity에 제한될 수 있다.
- 실제 성능은 cache state, coherence traffic, NUMA placement, IOD·MC queue와 DMA 경쟁을 분리해 p95/p99까지 측정해야 한다.