피드로 돌아가기
V.E.L.O.C.I.T.Y.-OS: Writing Bare-Metal Drivers – PCI, NVMe & FAT32 (Part 9)
Dev.toDev.to
Infrastructure

NVMe 및 FAT32 드라이버 구현을 통한 무한 컨텍스트 윈도우 아키텍처 구축

V.E.L.O.C.I.T.Y.-OS: Writing Bare-Metal Drivers – PCI, NVMe & FAT32 (Part 9)

UnitBuilds2026년 6월 28일8advanced

Context

Ring 0 진입 후 하드웨어 제어권은 확보했으나 드라이버 부재로 인한 디스크 I/O 불능 상태 직면. 기존 OS의 거대한 드라이버 스택 대신 L3 캐시 기반의 Bare-Metal OS 환경에 최적화된 최소한의 저장소 인터페이스 필요.

Technical Solution

  • PCI Scanner 구현을 통한 Bus, Slot, Function 재귀 쿼리로 BAR0 주소 기반의 하드웨어 장치 식별
  • MMIO 레지스터 맵핑 및 ASQ/ACQ 큐 할당을 통한 NVMe Startup Sequence 최적화
  • Doorbell Stride 레지스터 설정을 통한 블록 단위 Read/Write 명령 처리 구조 설계
  • FAT32 Parser와 Merkle Root Sitemap 캐싱을 결합한 파일 시스템 계층 구현
  • NVMe 저장소를 Cold Context로, 메모리를 Hot Context로 정의한 Demand-Paging 모델 적용
  • JIT VM과 FAT32 드라이버의 직접 연결을 통한 마이크로초 단위의 모듈 동적 로드 및 실행

1. 하드웨어 직접 제어 시 PCI BAR0 주소를 통한 MMIO 맵핑 정확성 검증

2. 대규모 컨텍스트 처리 시 전체 로드가 아닌 Demand-Paging 기반의 부분 로드 전략 검토

3. Cold/Hot Storage 계층 분리를 통한 메모리 바운더리 내 성능 최적화

원문 읽기