발표자료 - 서울대학교

Download Report

Transcript 발표자료 - 서울대학교

서울대학교 학부과정 프로젝트 소개
박현철 사원
2012. 09. 14
S/W개발팀
반도체 사업부
삼성전자
주소 공간 분할 관리 기법 활용 방안 연구
과제 내용
•
•
•
•
•
•
NAND와 NAND기반 저장장치들의 특성 이해
주소 공간 분할 관리 기법 이해
공개 SSD simulator 코드 분석
NAND 기반 저장장치들을 위한 관리 기법 제시
공개 SSD simulator에 기법 적용
적용 전과 후의 성능 비교
선수과목 및 과제 진행 환경
• C, 자료구조, 알고리즘, Operating System
• Linux와 Windows 둘 다 가능
*공개 시뮬레이터는 C로 작성되어 있으며, Linux와 Windows에서 컴파일 가능.
*공개 SSD Simulator 관련 자료
논문 : Design tradeoffs for SSD performance
코드 : disksim - http://www.pdl.cmu.edu/DiskSim/
ssd patch - http://research.microsoft.com/en-us/downloads/b41019e2-1d2b-44d8-b512-ba35ab814cd4/default.aspx
2/9
NAND Features
I/O Unit
(Read/
Write or Program)
Overwrite per I/O Unit
HDD
Flash Memory
Sector
Page
(512 Bytes)
(8192 Bytes)
No
Yes
(Programmable after
Block Erase)
3/9
NAND Features : Program operation
block
page
101010101010101010101
page
111010001000101111101
page
100000001010101100101
111111111111111111111
page
111111111111111111111
page
111111111111111111111
4/9
NAND Operation: Erase Operation
block
page
111111111111111111111
101010101010101010101
page
111111111111111111111
111010001000101111101
page
111111111111111111111
100000001010101100101
111111111111111111111
page
101010101010101010101
111111111111111111111
111111111111111111111
page
111010001000101111101
111111111111111111111
111111111111111111111
5/9
NAND Features : Operations
In-place Update (e.g. Overwrite)
Program
Out-of-place Update
Change some bits of a page from ‘1’ to ‘0’
Erase
Change all bits of a block to ‘1’
Erase Operation
6/9
This block becomes
reprogrammable.
주소 공간 분할 관리 기법
기존의 I/O 패턴 예측
• 저장장치는 데이터의 semantic 정보를 알 수 없다.
• 일반적으로 I/O의 temporal locality와 spatial locality를 활용해 I/O의 패턴을 예측한다.
• Ex) 1초내에 반복해서 데이터, 접근된 주소에 연속되는 주소.
• 파일 처리 과정을 이해하여 데이터 접근 패턴을 예측할 필요가 있다.
파일 처리 과정을 고려한 I/O 패턴 예측
• 접근이 반복되는 특정 주소 영역을 동일한 context를 지닌 영역으로 간주.
• 파일 접근시 파일을 무작위로 나눠 처리하지 않는다.
• Host 상에서 I/O 요청들이 병합될 수 있지만, 파일과 관련없는 부분에 접근하지 않는다.
Logical
address
Host
Host
File A
File A
Blk i+1
Logical
address
Blk i+2
Write request
Blk i+1
Read request
Blk i+1
Blk i+2
i+1 and i+2 are
considered to be related
Blk i+1
Device
Physical
address
Blk k
Blk i+2
Blk
k+1
Blk i+2
Device
Blk
k+2
Physical
address
Blk
k+3
7/9
Blk k
Blk
k+1
Blk
k+2
Blk
k+3
주소 공간 분할 관리 기법(cont’d)
Time
Section
• I/O request에 의해 접근되는 영역
Request
Request
Request
• Identified Section
Request
• Read와 Write 둘 다 n번 이상 발생한 section
Address
Space
• Unidentified Section
#Section : 3
#Access : 4
Divided Sections
• Request간에 overlap 되는 영역을 별도의 section으로 관리.
Sections
Request
Request
• Host에서 request들이 병합되는 것을 고려.
Request
Divided sections
Request
Req
Request
Identified section을 prefetch, buffer management, hot/cold separation 등에 활용 가
능.
전체 section중 최대 74%가 identified 됨.
Identified section에서 발생하는 i/o request는 최대 88.1%.
8/9
주소 공간 분할 관리 기법(cont’d)
PC향 trace 4개
#section section의 개수
pcNTFS 2
pcNTFS 1
1600000
88.1%
1400000
#access – i/o
request의 개수
600000
500000
400000
800000
400000
300000
200000
74.0%
0
0
PC 환경에서
identical
identified section
identical
total
22.8%
35000
800000
600000
13.4%
10000
400000
5000
200000
58.2%
0
0
#access
#section
identical
#access
#section
identical
total
서 identified
section이 잘드러나
지 않는다.
70.0%
1000000
25000
20000
시 파일 작업이 많아
1400000
1200000
30000
Web-surfing은 임
total
pcFAT32
web-surfing
40000
15000
#access
#section
#access
#section
도 많이 발생한다.
29.1%
100000
200000
이 잘나타나며, 접근
40.2%
600000
1200000
1000000
700000
9/9
total