표제지
감사의 글
논문 요약
목차
1. 서론 10
2. 문제 정의 및 기존 연구 12
2.1. 문제정의 12
2.2. 기존연구 14
2.2.1. 섹터 매핑(Sector mapping) 14
2.2.2. 블록 매핑(Block mapping) 15
2.2.3. STAFF 16
3. ESTAFF(Erase count and State Transition Applied Fast FTL) 19
3.1. ESTAFF의 핵심 아이디어 20
3.1.1. 블록 상태 테이블에 지우기 횟수 추가와 전체 블록들의 지우기 횟수 최소값 추가 20
3.1.2. 쓰기 연산에 따른 필요시 논리 블록 주소와 물리 블록 주소를 동적 매핑. 21
3.2. ESTAFF의 블록 상태에 따른 연산 알고리즘 24
3.2.1. 블록의 상태에 따른 쓰기 연산 25
3.2.1.1. F상태 블록에 쓰기 연산 25
3.2.1.2. M상태 블록의 쓰기 연산 26
3.2.1.3. N상태 블록의 쓰기 연산 28
3.2.1.4. S상태 블록의 쓰기 연산 30
3.2.2. 블록의 상태에 따른 읽기 연산 31
3.2.2.1. M상태 블록의 읽기 연산 31
3.2.2.2. N상태 블록의 읽기 연산 32
3.2.2.3. S상태 블록의 읽기 연산 33
3.3. ESTAFF 알고리즘 34
3.3.1. 쓰기 연산 알고리즘 34
3.3.2. 읽기 연산 알고리즘 36
4. 실험 결과 및 성능 평가 37
4.1. Wear-Leveling 효과 38
4.2. 파일 특성에 따른 Wear-Leveling 효과 40
5. 결론 41
6. 참고문헌 42
Abstract 44
[그림1. 플래시 메모리 구조도] 10
[그림2. 섹터 구조] 12
[그림3. 섹터 매핑 흐름도] 14
[그림4. Block Mapping] 15
[그림5. In-place] 17
[그림6. Out-of-place] 17
[그림7. ESTAFF의 블록 상태 테이블] 20
[그림8. 쓰기 연산 전 상태] 21
[그림9. 쓰기 연산 예시 1] 22
[그림10. 쓰기 연산 예시 2] 23
[그림11. F상태 쓰기 연산] 25
[그림12. M상태 쓰기 연산] 26
[그림13. M상태 쓰기 연산 후 N상태로 변환] 27
[그림14. M상태 쓰기 연산 후 S상태로 변환] 27
[그림15. N상태 쓰기 연산] 28
[그림16. 합병 연산이 일어나기 직전의 상태] 29
[그림17. 합병 연산 후 상태] 29
[그림18. S상태 쓰기 연산] 30
[그림19. M상태 읽기 연산] 31
[그림20. N상태 읽기 연산] 32
[그림21. N상태 읽기 연산] 33
[그림22. S상태 읽기 연산] 33
[그림23. 지우기 연산 집중도R] 38
[그림24. 지우기 연산 집중도K] 38
[그림25. 지우기 연산 집중도D] 39
[그림26. 지우기 횟수 평균값] 39
[그림27. 블록 지우기 횟수 최대값] 39
[그림28. 파일 특성별 Wear Leveling 효과] 40