Time for Moving Valid Pages
그렇다면.
erase하기 위해서 옮기고 지우고 해야하는데 얼마나 시간이 걸릴까?
The Intrinsic Latencies of Flash Memory
대략적으로 읽기는 25ns ~ 65us
쓰기는 300us ~ 1.5ms
지우기는 2ms ~ 5ms
Time for Reclaiming a Victim Block
피해 블록 회수 시간.
읽기 : 40나노초 * 200pages = 8밀리초
쓰기 : 800나노초 * 200pages = 160밀리초
지우기 : 3밀리초 * 1block = 3밀리초
Time for Reclaiming Multiple Victim Blocks
여러개의 블럭을 한 번에 쓰고 지울 수 있지만 쓰고 지우는걸 동시에는 못한다는걸까?
??
Interference between GC and I/O
- GC는 SSD의 자체적인 과정이기 때문에 host system은 아무것도 모른다!
-> 하지만 GC의 write랑 read는 I/O의 write랑 read랑 동일하기 때문에 GC가 실행되고 있다면 I/O요청을 바로 처리할 수 없다.
Victim Block Selection
그렇다면 GC의 overheads를? 줄이기 위해선 어떻게 해야할까?
-> valid pages가 적은 block부터 GC를 처리한다!
-> valid pages가 적은 block순으로 block을 나열한다.
'아무튼 공부중 > system programing' 카테고리의 다른 글
[시프] Garbage Collection (1) | 2023.11.01 |
---|---|
[시프] Address Mapping (1) | 2023.11.01 |
[시프] SSD BASIC (0) | 2023.09.20 |
[시프] Storage Evaluation Methodology | Performance Metrics (0) | 2023.09.15 |
[시프]Data Stroage & I/O (0) | 2023.09.08 |