메모리 2

[ Linux Kernel ] 31. 메모리 맵 파일(mmap)

31. 메모리 맵 파일(mmap) 프로그래밍은 데이터를 입력받아 처리하고 출력하는 작업이고, 이 데이터는 파일로써 디스크에 존재합니다. 내가 만약 '회원명단.csv'란 엑셀 파일을 가지고 여러 데이터 처리 작업을 해야한다고 가정해봅시다. 그렇다면 해당 파일에서 '읽기', '쓰기'를 할 때마다 디스크까지 접근해야할텐데 이러면 속도가 너무 느리지 않을까요? 만약 그 파일이 디스크가 아닌 메모리에 있다면 접근 속도는 엄청나게 향상되지않을까요? 이러한 발상은 최소한의 디스크 접근을 위한 버퍼 입출력에서 한 단계 더 나아간 발상입니다. '버퍼'란 개념이 아닌 디스크-메모리간의 '페이지(page)' 개념을 활용한 방식으로, 프로세스의 가상 메모리 주소 공간에 파일을 매핑한 뒤 가상 메모리 주소에 직접 접근하는 것으..

[ Embedded ] 06. SSD 요약정리

SSD 기본 1. 메모리 셀타입 SSD(Soild state drive)는 플래시 메모리를 기반으로 하는 저장 장치이다. 각 비트들은 셀에 저장되는데, SSD의 셀은 1비트(SLC), 2비트(MLC), 3비트(TLC) 셀 타입이 있다. 2. 수명 제한 각 셀은 최대 가능한 P/E(Program/Erase) cycle을 가지며, 최대 가능한 P/E cycle을 초과하면 결함 셀(Defective cell)로 간주된다. 이는 NAND 플래시 메모리는 언젠가는 Wear-off되고 수명이 제한적이라는 것을 의미한다. 3. 벤치마킹의 어려움 테스트도 결국 사람이 수행하는 것이기 때문에, 모든 벤치마크는 오류나 실수를 담고 있다. 그래서 제조사나 제 삼자에 의한 벤치마킹 결과를 참조할 때는 주의해야 한다. SSD를..