메모리 인터리빙 (Memory Interleaving)

I. 병렬 메모리 접근, 메모리 인터리빙

가. 메모리 인터리빙의 개념

메모리 접근 시간을 최소화하기 위해 여러 모듈로 나눈 메모리에 동시 접근하는 기법

나. 메모리 인터리빙 개념도

 

– CPU가 Bank#0에 Address#0을 보냄, CPU가 Address#1을 Bank#1에 보내고 Data#0을 Bank#0에서 수신하는 동작을 반복하여 한 개의 Bank가 Refresh하는 동안 다른 Bank Access

 

II. 메모리 인터리빙 활용 방식

가. 상위 인터리빙 방식 설명

– 모듈 들에 순차 지정 방식
– 상위 비트: 모듈 선택 신호
– 하위 비트: 기억 장소 선택
(장) 에러 시 한 모듈만 영향
(단) 같은 모듈 동시접근 어려움

나. 하위 인터리빙 방식 설명

– 기억장치 주소가 모듈 단위
– 하위 비트: 모듈 선택 신호
– 상위 비트: 모듈 내 기억 장소
(장) 다수 모듈 동시 동작
(단) 구조 변경 불가, 에러전파

다. 혼합 인터리빙 방식 설명

– 기억장치 모듈을 뱅크로 그룹화
– 뱅크 선택 시 상위 인터리빙
– 뱅크 내 모듈 간 하위 인터리빙
(장) 상/하위 인터리빙 단점 해결
(단) 구현 복잡, 어려움

 

III. 메모리 인터리빙 액세스 활용 방식

가. C-Access 방식 (상위 인터리빙 방식)

구분설명
시간
그래프
액세스
시간
※ Access 시간: T = Ta + (M x tb)
(Ta = 기억장치 접근 시간, tb = 버스 클럭 주기, M = 기억장치 모듈 수)
특징– 프로세서-기억장치 간 버스 통해 순차적 도착
– 모듈 접근 중첩되지만 실제 접근 시 딜레이
장점– 별도 장치 없이 단순한 구현
단점– 모듈 전송 과정 버스 경합으로 도착 불가 가능
– 도착불가 시 동시성 저하, 데이터 연속전송불가

나. S-Access 방식 (하위 인터리빙 방식)

구분설명
시간
그래프
액세스
시간
※ Access 시간: T = Ta + (M x tb)
(Ta = 기억장치 접근 시간, tb = 버스 클럭 주기, M = 기억장치 모듈 수)
특징– 모든 모듈에서 읽기 동작이 동시 시작
– Read 데이터 순차적 전송
– DDR DRAM에서 적용, 파이프라인에서 사용
장점– 동시 Access 보장, 연속전송 (Burst Bus Mode)
단점– 필요 Data가 동시 Access 수 초과 시 비효율

– S-Access 방식이 읽기 동작의 동시성 확보 통한 높은 성능 제공

 

IV. 메모리 인터리빙 활용사례

활용사례활용 방식설명
Pipeline– 하위 인터리빙
– S-Access
– 다수 CPU 활용 시 메모리 병렬 접근
SPOF 극복– 상위, 혼합
– C-Access
– 메모리 순차접근으로 에러 전파 영향 없음
DDR DRAM– 하위 인터리빙
– S-Access
– SDRAM Refresh
– Read 동시성 성능보장

– 인터리빙은 캐시 기억장치 Line 단위 Burst 전송 및 고속 DMA Burst 전송 시 사용
 

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^