플래시 메모리

 

  • 플래시 메모리는 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치입니다.

 

  • USB 메모리, SD 카드, SSD가 모두 플래시 메모리 가반의 보조 기억장치입니다.




플래시 메모리 종류

 

  • 연산을 수행하는 회로에 따라서 NAND 플래시 메모리와 NOR 플래시 메모리로 구분됩니다. 대용량 저장 장치로 많이 사용되는 플래시 메모리는 NAND 플래시 메모리입니다.




셀( Cell )이란?

 

  • 셀( Cell )이란 플래시 메모리에서 데이터를 저장하는 가장 작은 단위입니다. 한 셀에 몇 비트를 저장할 수 있느냐에 따라서 플래시 메모리 종류가 나뉩니다.




SLC( Single Level Cell ), MLC( Multiple Level Cell ), TLC( Triple Level Cell)

 

 

  • SLC는 1bit, MLC는 2bit TLC는 3bit를 저장할 수 있습니다. 한 Cell에서 적은 bit를 관리할 수록 속도와 수명이 상승합니다. 다만, 그만큼 가격이 비싸집니다.

 

구분 SLC MLC TLC
셀당 bit 1bit 2bit 3bit
읽기/쓰기 속도 빠르다 보통 느리다
용량 대비 가격 높다 보통 낮다




page, block, plane, die

 

 

  • 셀들이 모여 페이지( page ), 그리고 페이지가 모여 만들어진 단위를 블록( block )이라고합니다. 블록이 모여 플레인( plane ), 플레인이 모여 다이( die )가 됩니다.




읽기/쓰기 방식

 

  • 플래시 메모리에서 쓰기는 페이지 단위로 이루어지고 삭제는 페이지보다 큰 블록 단위로 이루어집니다. 읽기/쓰기 단위와 삭제 단위가 다르다는 것이 플래시 메모리의 가장 큰 특징중 하나입니다.

 

  • 플래시 메모리에서는 Free, Vaild, Invalid 3가지 페이지 상태가 있습니다. Free는 언제든지 사용가능한 상태, Vaild는 현재 사용중인 상태, Invalid는 쓰레기값이 있는 상태를 지칭합니다. 특정 블럭안에 있는 Invalid 데이터가 어느정도 쌓여있다면은 Valid 데이터를 새로운 블럭에 복사한 후 가비지 컬렉터가 지워야할 데이터를 블럭단위로 삭제합니다.




메모리 계층 구조

 

 

  • 맨 위에있는 계층일 수록 CPU에 가깝고 속도도 빠르며 용량 대비 가격이 비쌉니다.




메모리 계층 구조가 필요한 이유

 

  • 속도가 빠른 저장 장치일수록 저장 공간 대비 가격대가 비싸집니다. 이러한 트레이드 오프 관계에 의해서 컴퓨터는 여러 개의 저장 장치를 활용하여 이를 보완합니다. 프로세스 실행에 필요한 모든 데이터를 한 번에 load하는 것이 아니라 현재 필요한 데이터 일부를 상위 계층으로 올려 CPU가 연산할 수 있도록합니다. 이러한 방식을 통해서 메모리 트레이드 오프 관계를 어느정도 해소할 수 있습니다.




보조 기억 장치( 하드 디스크 )

 

  • 보조 기억 장치는 전원이 꺼져도 보관할 데이터가 사라지지 않는 특성을 가졌기 때문에 실행 파일, 이미지, 문서 파일등을 저장하는 용도로 사용됩니다.




메모리

 

  • 실행중인 프로세스 데이터를 저장하는 장치로서 SDRAM을 주로 사용하며, 전원이 꺼지면 데이터를 현재 저장된 데이터들은 모두 소실됩니다.




캐시

 

  • 메모리는 보조 기억 장치에 비해 비교적 빠르지만 CPU 입장에서는 상당히 느린 저장 장치입니다. 그렇기 때문에 SRAM을 주로 사용하는 캐시 메모리를 사용하여 실행에 필요한 데이터를 캐시 라인 단위로 읽어오고 저장하여 CPU가 되도록이면 실행에 필요한 데이터를 캐시에서 읽어올 수 있도록 합니다.

    프로그램 성능에는 여러가지 요인이 있지만 그 중 하나는 캐시 히트율에 있습니다. 프로그래머가 어떻게 소스 코드를 작성하였느냐에 따라서 템페럴 로컬리티, 스페이셜 로컬리티의 특성에 의해서 성능이 하락되거나 상승할 수 있습니다.




레지스터

 

  • 레지스터 크기는 운영체제가 32bit 환경이면 4byte, 64bit 환경이면 8byte입니다. 주로 CPU가 지금 당장 연산에 필요한 데이터를 저장하는 저장장치로서 CPU와 가장 가깝고 가장 빠른 저장 장치입니다.




'컴퓨터 구조' 카테고리의 다른 글

플래시 메모리와 SLC, MLC, TLC란?  (0) 2022.11.04
RAM의 특징과 종류  (1) 2022.11.01
CISC와 RISC란?  (0) 2022.10.30
CPU의 명령어 병렬 처리 기법  (0) 2022.10.30
하이퍼 쓰레딩( Hyper Threading )이란?  (0) 2022.10.30

+ Recent posts