Implementing and Optimizing an Open-Source SD-card Host Controller for RISC-V SoCs

이 논문은 CVA6 프로세서의 메모리 모델과 fence 명령어 오버헤드를 최적화하여 리눅스 기반 RISC-V SoC 에 통합된 오픈 소스 SDHC 컨트롤러를 구현하고, SPI 기반 저장소 대비 최대 6.5 배의 성능 향상 (11.1 MB/s) 을 달성한 결과를 제시합니다.

Axel Vanoni, Philippe Sauter, Paul Scheffler, Anton Buchner, Micha Wehrli, Thomas Benz, Luca Benini

게시일 2026-03-13
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

🚗 1. 문제 상황: 좁은 시골길 (기존 방식)

지금까지 RISC-V 기반의 컴퓨터 (SoC) 에 데이터를 저장할 때는 SPI라는 인터페이스를 썼습니다.

  • 비유: 마치 좁은 시골길을 통해 트럭 (데이터) 을 보내는 것과 같습니다.
  • 현실: 차가 너무 많으면 (데이터가 많으면) 교통 체증이 심해져서, Linux 같은 복잡한 운영체제를 실행하거나 대용량 파일을 저장하는 데는 너무 느렸습니다.

🏗️ 2. 해결책: 새로운 고속도로 (SDHC 구현)

저자들은 이 문제를 해결하기 위해 **SD 카드 호스트 컨트롤러 (SDHC)**라는 새로운 장치를 만들었습니다.

  • 비유: 시골길을 없애고 4 차선 고속도로를 만든 것입니다.
  • 특징: 이 장치는 오픈소스 (누구나 볼 수 있고 수정할 수 있는) 로 만들어졌으며, RISC-V 칩인 '체셔 (Cheshire)'에 직접 심었습니다.

🚧 3. 예상치 못한 병목 현상: 과한 신호등 (성능 저하의 원인)

고속도로를 깔았으니 이제 트럭이 쌩쌩 달려야 하는데, 이상하게도 여전히 느렸습니다. 원인을 조사해보니 CVA6이라는 CPU 의 특성 때문입니다.

  • 비유: 트럭이 신호등 (메모리 접근) 을 지날 때마다, 경찰이 "차량 전체를 세우고, 트럭 안의 짐을 모두 내려서 확인한 뒤 다시 싣는" 일을 반복했습니다.
  • 기술적 원인: RISC-V 의 메모리 규칙상, 데이터가 섞이지 않도록 하기 위해 '펜스 (Fence)'라는 명령어를 사용했는데, 이게 CPU 의 작업 흐름을 멈추게 하고 캐시 (작업대) 를 비우는 과한 일을 하고 있었습니다. 트럭이 한 번 지나가는 데 500 번이나 멈추는 셈이죠.

🛠️ 4. 최적화: 신호등 시스템 고치기 (성능 개선)

저자들은 이 비효율적인 신호등 시스템을 고쳤습니다.

  • 비유: "짐을 확인하는 건 매번 할 필요 없으니, 신호등만 빠르게 넘어가게 하세요"라고 규칙을 바꾼 것입니다.
  • 결과: 불필요한 정지를 없애자 트럭이 훨씬 빠르게 달릴 수 있게 되었습니다.

📊 5. 최종 성과: 얼마나 빨라졌나요?

이제 이 새로운 시스템이 얼마나 빠른지 비교해 보겠습니다.

  1. 속도:
    • 기존 (SPI): 시골길에서 1 시간 걸리는 일을, **새로운 시스템 (SDHC)**은 10 분 만에 끝냈습니다. (약 6.5 배 ~ 25 배 빠름)
    • 한계: SD 카드 자체의 물리적 한계 (12.5 MB/s) 에 거의 근접하는 속도를 냈습니다.
  2. 크기 (공간 효율성):
    • 이 장치는 기존 방식보다 반보다 더 작게 만들어졌습니다. (공간을 3.6 배 더 아껴서, 칩 안에 더 많은 기능을 넣을 수 있게 됨)
  3. 부팅:
    • 컴퓨터를 켤 때 (부팅) SD 카드를 읽는 속도도 빨라져서, 더 가볍고 빠른 부팅이 가능해졌습니다.

🔮 6. 앞으로의 전망 (Outlook)

이제 고속도로는 완성되었지만, 더 빠르게 만들 수 있는 방법이 남아있습니다.

  • DM A (Direct Memory Access): 트럭을 운전하는 기사 (CPU) 가 직접 운전하는 대신, **자동 운전 시스템 (DMA)**을 도입하면 CPU 는 다른 일을 하고 트럭은 알아서 달릴 수 있어 속도가 훨씬 빨라질 것입니다.
  • 더 강력한 CPU: 앞으로 CPU 가 '짐 확인'을 더 스마트하게 할 수 있도록 업그레이드되면, 이 시스템은 더 이상 병목 없이 달릴 것입니다.

💡 요약

이 논문은 **"RISC-V 컴퓨터에 SD 카드를 연결할 때, 기존에 느리던 시골길 (SPI) 을 고속도로 (SDHC) 로 바꿨고, 불필요한 신호등 (과한 펜스 명령) 을 제거하여 트럭이 쌩쌩 달릴 수 있게 했다"**는 이야기입니다. 이를 통해 오픈소스 RISC-V 컴퓨터가 실제 스마트폰이나 태블릿처럼 빠르고 실용적인 기기로 발전하는 발판을 마련했습니다.