1 / 16

Flash File System

Flash File System. Ban ,A. 1995. US Patent 5,404,485 한국외국어대학교 컴퓨터및정보통신공학과 2006.02.19 박 성 환. 목 차. Background of the invention Summary of the invention System Architecture Zone & Unit Unit Format How the computer generated addresses Operation Read Write Transfer Two-level Mapping.

sdurbin
Download Presentation

Flash File System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Flash File System Ban ,A. 1995. US Patent 5,404,485 한국외국어대학교 컴퓨터및정보통신공학과 2006.02.19 박 성 환

  2. 목 차 • Background of the invention • Summary of the invention • System Architecture • Zone & Unit • Unit Format • How the computer generated addresses • Operation • Read • Write • Transfer • Two-level Mapping See like hacker's eyes

  3. Background of the invention • Field of the invention • Flash Memory의 저장 성능을 향상시키고, Flash Memory에 저장되는 Data를 잘 관리해보고자 개발을 함 • Description of the Prior Art • Disk와 같은 저장장치를 위해 Design된 이전 OS 프로그램은 Flash Memory와는 맞지 않음 • Flash Memory의 특성을 고려한 OS 프로그램 개발이 필요함 See like hacker's eyes

  4. Summary of the invention • Virtual mapping system은 이전 OS 프로그램이 Flash Memory를 직접 물리적 주소로 Read/Write 하는 것을 가능하게 함 • Virtual map은 RAM에 Virtual Number를 저장 • OS에서 Read/Write를 하면 Virtual Map을 통해서 실제 물리 주소를 알아내서 연산함 • 실제 물리 Memory는 접근 불가 See like hacker's eyes

  5. System Architecture • Processor는 Flash control을 통해서만 I/O를 할 수 있음 • 효율적인 I/O를 위해 RAM에 Mapping table을 저장하여 사용함 See like hacker's eyes

  6. Zone & Unit • Zone • 하나 또는 물리적으로 연속된 Flash Memory Area • Unit • 각 Unit은 여러 Block들을 포함함 • 하나 혹은 복수개의 Zone으로 구성 • Ex)그림에서는 2개의 Zone으로 구성 See like hacker's eyes

  7. Unit Format • 21: 여러 Block들을 소유 • Block number와 Offset으로 접근가능 • Unit Header • Format Identifier • Unit의 Logical unit number • System-wide information도 가질 수 있음 • Block Allocation Map • Unit안에 Block 정보 • Allocate status • Free and writable • Deleted and not writable • Allocated and contains user data • Offset • Block의 Virtual Address • Back pointer See like hacker's eyes

  8. How the computer generated addresses See like hacker's eyes

  9. How the computer generated addresses • Computer는 Block number와 Offset으로 이루어진 Address를 생성 • Controller가 이를 Virtual Address로 변환 • Virtual Map은 Virtual Address Space와 Physical Address Space간의 변환에 이용됨 • Virtual Map을 이용해 Logical Unit Number을 알아내어 Logical Address를 얻어냄 • 이때 Block Offset은 그대로 유지해서 가져옴 • Logical Block Address와 Block Offset을 통해 Block Offset in Unit을 알아냄 • Logical Unit Number를 Physical Unit Number로 변환하여 Physical Address를 얻음 • 이때 Block Offset in Unit은 그대로 유지해서 가져옴 See like hacker's eyes

  10. Read Operation • Virtual Address로 Logical Address를 알아냄 • Logical Address로 Physical Address를 알아냄 • Physical Address에서 Data를 읽음 See like hacker's eyes

  11. Write Operation • Virtual Address로 Logical Unit Address를 알아냄 • Unit Allocatation Table을 검사함 • Logical Address가 Free인가? • Free이면 • Unit Address를 Physical Address로 변환 • 해당 Physical Address에 Data기록 • Operation을 끝냄 See like hacker's eyes

  12. Write Operation • Free가 아니라면 • Unit Allocation Table에 Free한 공간을 찾음 • Logical Address는 새로운 Physical Address에 Mapping됨 • 해당 Physical Address에 Data가 기록됨 • Unit Allocation Table에 이전 Logical Address는 “deleted and not writable”로 갱신함 • Unit Allocation Table에 Logical Address는 Data를 기록한 새로 할당된 Physical Block으로 기록 See like hacker's eyes

  13. Transfer Unit • 제한없이 Read/Write Operation을 하기 위해 주기적으로 Flash Memory 공간을 재생시켜야 함 • Free한 Block들만 가지는 Transfer Unit을 항상 꼭 하나 제공함 • Ex) See like hacker's eyes

  14. Transfer Operation • Transfer를 위해 Unit을 선택함 • 선택된 Unit내의 모든 Active한 Block들을 읽음 • Transfer unit에 위치를 지켜서 저장함 • Flash는 선택된 Unit을 Erase함 • Logical to Physical Address Map을 갱신해 줌 See like hacker's eyes

  15. Virtual Map의 크기 • 80 Mbytes의 Flash Memory • 640 Kbytes의 Virtual Map • Two-level Mapping • Primary Map은 Flash Memory상에 유지 • Secondary Map은 Main Memory에 유지 Flash Memory RAM Primary Map Secondary Map Primary Map Primary Map Primary Map See like hacker's eyes

  16. Two-level Mapping • Processor가 Virtual Address를 Page Number로 변환 • Page Number를 이용해 Flash에 있는 Primary Virtual Map(PVM)을 찾기 위해 RAM에 있는 Secondary Virtual Map(SVM)을 사용함 • 찾아낸 SVM을 RAM에 읽어들임 • SVM에서 Physical Address를 찾아서 Read/Write 연산을 함 • 단, Write연산은 앞에서와 같이 SVM을 갱신함 • 이전에 Page Block을 Virtual Map에서 Deleted처리함 • 새로운 Map에 대한 Pointer를 Virtual Map에 저장함 See like hacker's eyes

More Related