MP3나 디지털 카메라, 캠코더와 같이 대용량 file을 single thread로 write하는 응용에서 좋은 선택이 될 수 있는 논문이다.

논문의 요지는

  • FAT file system의 meta data update를 어떻게 하면 file write 도중에 하지 않을 수 있을까?
  • FTL merge를 write 도중에 하지 않을 수 있을까?


에 대한 고민과 해답이다.

단, 앞서 언급했듯이 대용량 single thread라는 것을 집고 넘어가자.

1. 번에 대한 대안으로 ACPA(All Cluster Pre-Allocation) 이라는 이름으로 file create시 cluster를 미리 할당하는 것을 제시한다. 미리 FAT을 써 넣으면 write도중 meta update가 발생하지 않을테니 빠르다는 것이다.
--> ACPA 거창하게 이름까지 붙였으나,, 보통 file create후 write전에 큰용량으로 truncate하는 것은 이미 흔히 사용하는 기법이다.
2. 번에 대한 대안으로 FTL에서 Sector Reservation method라는 것을 언급하는데 이것은 지금 NAND에서는 사용될 수 없는 방법이다. 지금 생산되고 있는 NAND는 모두 large block 인데 out of place page write를 금지하고 있다. 알고리즘의 좋고 나쁘고를 떠나서 잘못된 방법이다.

써 놓은 글을 보니 이 논문에 대해 혹평을 한것 같이 보이지만, 사실 이논문은 훌륭한 논문이다.

이 논문이 던지는 시사점은


real time latency 의 중요성을 알려주었다. : 캠코더의 예를 들면 write도중 NAND에서 merge가 일어나 cache 가 flush하기 전에 다 차버렸다면 심각한 결과를 초래 할 수 있다. 하지만, merge를 유발 시킬 수 있는 operation을 미리 함으로써 어능정도 latency를 보장하려는 의도는 좋다.
FTL 과 filesystem의 상호고려한 알고리즘을 제시하였다. : 지금까지의 FTL논문이나 filesystem논문은 서로의 영향은 고려하지 못했다. 왜냐하면 filesystem은 FTL에 대해 block device이상으로 내무 알고리즘까지 고려하려는 시도가 없었다. 하지만, 이 논문은 그런 시도를 했다는 것에 대해 좋은 점수를 주고 싶다.
대용량에 특화되었다. : 보통 filesystem은 generic하게 개발한다. 왜냐하면 어떤 응용이 올지 모르기 때문이다. 하지만, 디지털 카메라나 캠코더에 한정하였다. 한정된 응용에 특화되어 최고의 성능을 낸다는 의도는 좋았다.


NAND flash가 SLC 를 넘어 2bit, 3bit 까지 영역을 넓이고 있다. 하지만, 용량 증가 대비 성능은 계속 해서 나빠지고 있다.
이러한 시도를 통해 대용량 응용에서 성능향상 시도를 해볼 수 있을 것이다.


 

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