아무튼 공부중/system programing

[시프] GC from a Performance Standpoint

멍정 2023. 11. 2. 15:58

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