CFLRU: A Replacement Algorithm for Flash Memory 소프트웨어 구조 연구실 석사 1기 이제현
Contents n n Introduction Background Flash memory ¨ Page Replacement ¨ Least Recently Used (LRU) algorithm ¨ n n n Motivation CFLRU algorithm Simulation Implementation Conclusion
Introduction Magnetic Disk에 적합한 형태로 OS발전 n 임베디드환경에서 Flash memory의 역할 증가 n ¨ Flash n memory에 적합한 정책의 필요 Flash memory에 적합한 Cache replacement policy 제안 ¨ Clean-First Least Recently Used (CFLRU)
Background n 7 0 1 2 0 3 4 7 7 2 4 Least Recently Used (LRU) algorithm ¨ Page 7 0 Replacement 알고리즘 중 하나 0 1 2 3 ¨ 가장 오래기간 동안 사용되지 않았던 1 page를 3 4 5 victim 6 7 으로 설정하여 replacement 수행
Motivation Mobile embedded 기기에서 OS level에서 일어나는 I/O subsystem을 조절 n 기존의 Replacement 알고리즘은 hit rate 만을 고려 n ¨ Hit n rate 뿐만 아니라 cost를 고려 Flash memory를 위해 제안된 첫번째 replacement algorithm
Motivation n Page의 상태 Clean page: cache로 이동한 후 변형이 안된 page ¨ Dirty page: cache로 이동한 후 변형이 이루어진 page ¨ n Replacement 수행시 Victim이 clean page일 경우 cache의 page만 삭제 후 replacement ¨ Read operation만 수행 ¨ n Replacement 수행시 Victim이 dirty page일 경우 page의 변화를 flash memory에 기록한 후 replacement 수행 ¨ Read operation, write operation 모두 수행 ¨ n Clean page일 경우 replacement비용 감소
CFLRU algorithm의 예 n Working region ¨ ¨ n Clean-first region ¨ n 최근에 사용되었던 page 대부분의 hit rate가 발생 Victim후보 page Window size ¨ ¨ Clean-first region의 크기 hit rate에 영향을 줌
CFLRU algorithm의 예 n Replacement발생시 ¨ Clean-first region의 clean page를 우선 선택 ¨ Clean page가 없을 경우 dirty page 선택 n P 7 → P 5 → P 8 → P 6순으로 선택