Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "ISLab Flash Team Flash File System Ban,A. 1995. US Patent 5,404,485 한국외국어대학교 컴퓨터및정보통신공학과 2006.02.19 박 성 환."— Presentation transcript:

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

2 ISLab Flash Team Made By Hackereyes See like hacker's eyes2 목 차목 차목 차목 차 1.Background of the invention 2.Summary of the invention 3.System Architecture 4.Zone & Unit 5.Unit Format 6.How the computer generated addresses 7.Operation 1.Read 2.Write 3.Transfer 8.Two-level Mapping

3 ISLab Flash Team Made By Hackereyes See like hacker's eyes3 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 프로그램 개발이 필요함

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

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

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

7 ISLab Flash Team Made By Hackereyes See like hacker's eyes7 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

8 ISLab Flash Team Made By Hackereyes See like hacker's eyes8 How the computer generated addresses

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

10 ISLab Flash Team Made By Hackereyes See like hacker's eyes10 Read Operation 1.Virtual Address 로 Logical Address 를 알아냄 2.Logical Address 로 Physical Address 를 알아냄 3.Physical Address 에서 Data 를 읽음

11 ISLab Flash Team Made By Hackereyes See like hacker's eyes11 Write Operation 1.Virtual Address 로 Logical Unit Address 를 알아냄 2.Unit Allocatation Table 을 검사함 3.Logical Address 가 Free 인가 ? 4.Free 이면 1.Unit Address 를 Physical Address 로 변환 2. 해당 Physical Address 에 Data 기록 3.Operation 을 끝냄

12 ISLab Flash Team Made By Hackereyes See like hacker's eyes12 Write Operation 4.Free 가 아니라면 1.Unit Allocation Table 에 Free 한 공간을 찾음 2.Logical Address 는 새로운 Physical Address 에 Mapping 됨 3. 해당 Physical Address 에 Data 가 기록 됨 4.Unit Allocation Table 에 이전 Logical Address 는 “deleted and not writable” 로 갱신함 5.Unit Allocation Table 에 Logical Address 는 Data 를 기록한 새로 할당된 Physical Block 으로 기록

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

14 ISLab Flash Team Made By Hackereyes See like hacker's eyes14 Transfer Operation Transfer Operation 1.Transfer 를 위해 Unit 을 선택함 2. 선택된 Unit 내의 모든 Active 한 Block 들을 읽음 3.Transfer unit 에 위치를 지켜서 저장함 4.Flash 는 선택된 Unit 을 Erase 함 5.Logical to Physical Address Map 을 갱신해 줌

15 ISLab Flash Team Made By Hackereyes See like hacker's eyes15 Virtual Map 의 크기 80 Mbytes 의 Flash Memory –640 Kbytes 의 Virtual Map Two-level Mapping –Primary Map 은 Flash Memory 상에 유지 –Secondary Map 은 Main Memory 에 유지 RAM Flash Memory Secondary Map Primary Map Primary Map Primary Map Primary Map

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


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

Similar presentations


Ads by Google