아무튼 공부중/system programing 6

[시프] GC from a Performance Standpoint

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 여러개의 블럭을 한 번에 쓰고 지울 수 있지만 쓰고 지우는걸 동시에는 못한다는걸까? ?? I..

[시프] Garbage Collection

Consequence of Out-of-Place Updates 덮어쓰기가 안되기 때문에 clean page에 값을 넣다보면 언젠가 자리가 없어질 것이다. -> 그럼 write가 안되니까 invalid를 지우자! How about Erasing Invalid Page? invalid값을 다 지워버리자! -> but erase는 block단위이기 때문에 불가능! < 읽기쓰기 기본 단위는 page지만 삭제는 block! What of a To-Be-Erased Block Holds Valid Page? - block단위로 삭제할 수 있으니 valid값을 새로운 block에 넣고 전부 invalid해진 block을 지워버리자! Valid Page Movement 새로운 block에 값을 옮겼다면 mapping..

[시프] Address Mapping

Flash Translation Layer(FTL) Host system과 I/O를 처리할 때 SSD는 flash memory의 특성이 있기 때문에 HDD와 다른 방식으로 처리해야한다. flash memory 특징 - Asymmetric operation units (reads/writes가 blocks단위로 지우고 page 단위로 작성 - Program-after-erase property(덮어쓰기가 안됨) - Limited flash memory lifetime(수명이 제한적임-> 아마 wear leveling관련?) Various Functionalities(Modules) of FTL - Address mapping - Garbage collestion(GC) - wear leveling //fe..

[시프] SSD BASIC

SSD에 대해 알아보자. Overall Architecture - Flash memory : 데이터 저장 - SSD Controller : 전체적인 SSD 시스템 제어 (flash memory에 있는 값을 꺼내오거나 넘겨주거나..) - RAM Buffer(DRAM?) : SSD에서 필요한 연산을 도움 - Host-storage Interface : host와 SSD를 연결, I/O를 주고받음 ex. sata NAND Flash Chip (Package) 무언가 전하량을 잘 옮겨서 경우의 수를 잘 만든다네요. page는 block들로 이루어져있고, block은 page로 이루어져있고 page는 데이터를 다루는(I/O) 최소 단위이다. Host-Storage Interface Physical connecti..

[시프] Storage Evaluation Methodology | Performance Metrics

SSD의 성능을 어떻게 판단할 것인가. Storage Performance 1. Read requests - 무언가를 진행하기 위해 파일이 필요하기 때문에 빠르면 빠를수록 좋다. 2. Write requests - 작성하는 경우는 급한일이 아니기 때문에 빠르게 작성할 필요는 없다 but 작성하는 도중에 꺼지게 된다면 파일이 날아가기 때문에 빠를수록 좋다. => 빠를수록(response time), 많이 처리할수록(throughput = 단위시간당 처리할 수 있는 I/O의 개수) Device-Level vs App-Level Performance Device-level performance - storage device가 I/O requests를 얼마나 빠르게 처리할 수 있는지 -> SSD에 request..

[시프]Data Stroage & I/O

Memory Technologies - Processor 연산을 처리함 - SSD, HDD, SRAM, DRAM etc.. 파일을 저장함 -> 둘이서 데이터를 주고받으며 처리함. non-volatile memory technologies - volatile memory technologies (휘발성 메모리) :SRAM, DRAM memory라고 불림 전원이 꺼지면 날아감 - non-volatile memory technologies(비 휘발성 메모리) : SSD, HDD strorage라고 불림 전원이 꺼져도 파일을 보관할 수 있음 SRAM, DRAM, SSD, HDD 순으로 빠르지만 비쌈! 저렴하고 빠른 것을 찾아보자고~ Memory/Storage Hierarchy Processor는 Level 1 ..