NAND flash는 rewrite를 하기전에는 반드시 erase를 해주어야 하고 write와 erase의 단위가 다르다는 태생적인 제약 사항이 있다.
이러한 제약사항이 FTL (Flash Translation Layer)을 만들게한 출발점이다.

이논문은 FAST FTL에서 block의 page align이 맞는 상태에서는 block안에 valid한 page가 많을 수록 cache안에서 victim으로 선정되는 것이 좋다고 판단한다.

하지만, cache의 크기가 충분히 크다는 점(8MB 이상) read/write되는 file의 크기가 대용량(block보다 큰) 이라는 전제를 붙이고 있다.

PMP와 같은 응용처럼 위 전제를 만족하는 경우 FAB은 효과가 있다. 사실 큰 file이 순서대로 write되고 update가 잘일어나지 않는 경우는 LRU는 의미가 없기 때문이다.(이때는 cache가 아예 없는 것이 최상일것이다.)

거의 대부분의 disk cache관련 논문들은 victim선정 알고리즘으로 LRU의 대안을 찾는다. 기본은 LRU이지만, 어떤 상황에서는 가중치를 부여한다던가, LRU와 다른 알고리즘을 섞는 형태가 주류인데.

이것을 뒤집어 생각해 보면 LRU는 보편적으로 가장 우수하다고 검증된 방법이고, 특정 behavior에서는 다른 알고리즘이 좋을 때도 있다는 것이다.

FAB도 마찬가지이다. PMP가 아닌 phone에서는 어떨까? 이 방법이 효과가 있을까?

cache의 알고리즘은 사용자 응용에 의존적인 알고리즘으로 분화되고 있다. 새로운 알고리즘은 요즘 NAND flash기반의 사용자 응용이 어떻게 변화하고 있느냐가 가장 중요한 key factor이다.

그렇다면 사용자 응용패턴을 어떻게 정형화 할 수 있냐는 재미있는 질문이 생긴다. 또한, 추출된 패턴이 얼마나 대표성을 갖게 되느냐도 매우 중요하다.

결국 확률의 문제이다.

신고
Write your message and submit
« PREV : 1 : ··· : 22 : 23 : 24 : 25 : 26 : 27 : 28 : 29 : 30 : ··· : 228 : NEXT »