플래시 메모리 기반 SSD(Solid State Disk)나 HDD(Hard Disk Drive)와 같은 컴퓨터 시스템 저장 장치는 FAT, Ext4, NTFS등 다양한 파일시스템에 의해 관리된다. 파일시스템은 저장된 사용자데이터(user data)의 효율적인 관리를 위해 각기 다른 메타데이터(metadata) 관리 정책을 사용하며, 이는 각 파일시스템 별로 고유한 디스크 입출력 패턴이 발생되는 주요 원인으로 작용한다.
이에 따라 운영체제는 복수개의 저장장치가 다양한 파일시스템에 의해 동시에 운용되는 경우에도 최적의 성능을 보장하기 위해 다양한 디스크 입출력 스케줄링(I/O scheduling) 정책과 캐시(cache)관리 기법을 사용한다. 이들 정책은 디스크 입출력 횟수를 최소화 함으로써 사용자의 체감 성능 향상 및 저장장치의 수명향상을 추구하나, 하드웨어 독립적으로 구현되기에 저장장치의 특성을 고려한 성능 및 신뢰성 향상에 한계가 존재한다 [1].
한편, 저장장치 내부에도 성능향상을 위한 다양한 기법이 적용되어 있다. HDD의 내부에는 다양한 버퍼 메모리 공간이 존재하며 이를 통해 디스크 섹터 접근을 최소화한다 [2]. SSD의 경우 플래시 메모리를 관리하는 FTL(Flash Translation Layer)등의 펌웨어(firmware)가 다양한 입출력 최적화를 수행한다 [3]. 그러나 이들 기법의 경우 파일시스템의 semantic 정보(저장장치상에서의 레이아웃, 메타데이터 관리특성 등)에 대한 고려가 없기 때문에 파일시스템의 특성을 고려한 최적화가 불가능하다.
이에 따라 본 논문에서는 저장장치의 성능과 신뢰성 향상을 위해 디스크의 입출력 특성 분석 및 이에 기반한 최적화 기법을 제안한다. 주요내용은 다음과 같다. 첫째, 저장장치 수준에서 디스크 입출력 분석을 통해 tadata) 관리 정책을 사용하며, 이는 각 파일시스템 별로 고유한 디스크 입출력 패턴이 발생되는 주요 원인으로 작용한다.
이에 따라 운영체제는 복수개의 저장장치가 다양한 파일시스템에 의해 동시에 운용되는 경우에도 최적의 성능을 보장하기 위해 다양한 디스크 입출력 스케줄링(I/O scheduling) 정책과 캐시(cache)관리 기법을 사용한다. 이들 정책은 디스크 입출력 횟수를 최소화 함으로써 사용자의 체감 성능 향상 및 저장장치의 수명향상을 추구하나, 하드웨어 독립적으로 구현되기에 저장장치의 특성을 고려한 성능 및 신뢰성 향상에 한계가 존재한다 [1].
한편, 저장장치 내부에도 성능향상을 위한 다양한 기법이 적용되어 있다. HDD의 내부에는 다양한 버퍼 메모리 공간이 존재하며 이를 통해 디스크 섹터 접근을 최소화한다 [2]. SSD의 경우 플래시 메모리를 관리하는 FTL(Flash Translation Layer)등의 펌웨어(firmware)가 다양한 입출력 최적화를 수행한다 [3]. 그러나 이들 기법의 경우 파일시스템의 semantic 정보(저장장치상에서의 레이아웃, 메타데이터 관리특성 등)에 대한 고려가 없기 때문에 파일시스템의 특성을 고려한 최적화가 불가능하다.
이에 따라 본 논문에서는 저장장치의 성능과 신뢰성 향상을 위해 디스크의 입출력 특성 분석 및 이에 기반한 최적화 기법을 제안한다. 주요내용은 다음과 같다. 첫째, 저장장치 수준에서 디스크 입출력 분석을 통해