SSD 가비지 컬렉션

자르기 명령 작동 방식

작가 | 2023년 2월 13일 | 모두, 기술

솔리드 스테이트 드라이브(SSD)는 컨트롤러, NAND 플래시, DDR(옵션) 및 인터페이스/프로토콜 커넥터로 구성된 전자 데이터 저장 장치입니다. (예: PATA, SATA 및 PCIe NVMe.) 하드 디스크 드라이브(HDD)와 달리 SSD는 기계 부품을 사용하여 데이터를 읽고 프로그래밍하고 지우지 않습니다. 수백만 개의 NAND 플래시 메모리 셀을 정밀하게 제어함으로써 SSD 컨트롤러는 읽기, 쓰기 및 지우기 작업을 수행할 수 있습니다.

 

 

플래시 메모리 셀은 기본적으로 데이터를 지속적으로 유지하고 저장할 수 있는 특수 플로팅 게이트가 있는 MOSFET(금속 산화물 반도체 전계 효과 트랜지스터)입니다. 전자가 트랜지스터의 플로팅 게이트에 갇힐 때마다 데이터가 프로그래밍됩니다. 전자가 방출되면 데이터가 제거됩니다.

HDD와 달리 NAND 플래시 메모리는 기존 데이터를 덮어쓸 수 없습니다. 가비지 수집(GC)은 대신 사용 가능하거나 사용된 공간을 재배치하고 유효한 데이터와 유효하지 않은 데이터를 회수하는 데 사용되며 모든 SSD에서 채택된 기본 프로세스입니다. GC는 전반적인 SSD 성능과 내구성에 직접적인 영향을 미치는 다양한 방식으로 구현될 수 있습니다.

 

GC가 데이터를 처리하는 방법

SSD는 NAND 메모리 셀의 기존 데이터를 덮어쓸 수 없기 때문에 동일한 위치에 새 데이터를 프로그래밍하기 전에 먼저 오래된 데이터를 지워야 합니다. GC는 기존 데이터를 여유 메모리 공간 내에서 새로운 위치로 재배치하고 주변의 유효하지 않은 데이터를 철저히 삭제하는 프로세스입니다.

 

 

플래시 메모리 셀은 페이지로 구성되며 페이지는 블록을 형성합니다. NAND 장치 물리학의 본질적인 특성으로 인해 플래시 셀은 데이터를 페이지 수준에서 프로그래밍할 수 있지만 블록 수준에서만 삭제할 수 있습니다. 프로그램 작업과 지우기 작업 간의 이러한 불일치는 SSD 내구성에 큰 영향을 미칩니다.

유효하지 않은 데이터가 차지하는 공간을 주장하기 전에 초기 블록의 페이지에 있는 모든 유효 데이터를 복사하여 새 블록의 빈 페이지에 기록해야 합니다. 그런 다음 원래 블록의 유효하지 않은 데이터를 지우고 새 유효한 데이터를 쓸 준비를 할 수 있습니다.

 

자르기 명령

운영 체제(OS) 인식은 SSD의 매핑 테이블에서 처리된 논리적 위치만 인식할 수 있습니다. 스토리지 시스템은 물리적 위치에서 데이터를 반환하고 OS는 해당 논리적 위치에서 데이터를 요청합니다. Microsoft는 NAND의 불필요한 마모를 줄이기 위해 Trim 명령 개념을 제안했습니다. 이 명령을 사용하면 OS 수준에서 파일이 삭제되는 동안 OS가 SSD에 즉시 알릴 수 있습니다. 그런 다음 SSD는 데이터가 유효한 것으로 표시되었는지 또는 유효하지 않은 것으로 표시되었는지를 더 일찍 알 수 있습니다.

Trim 명령의 가장 좋은 이점은 SSD가 OS가 실시간으로 실행하려는 작업을 밀접하게 따르도록 돕는 것입니다. 결과적으로 NAND 플래시에 대한 중복 액세스가 효율적으로 줄어듭니다.

Trim 명령은 세 가지 주요 이점을 제공할 수 있습니다.

      1. 낮은 쓰기 증폭: 유효하지 않은 데이터가 있는 페이지에 대해 유효하지 않은 데이터를 조기에 통지하면 데이터 재작성이 줄어듭니다. 더 많은 여유 공간을 쓸 수 있으면 SSD에 필요한 쓰기 작업이 줄어듭니다.
      2. 높은 처리량: Trim 명령을 사용할 때 GC 중에 이동할 데이터가 적을수록 드라이브가 더 빠르게 실행됩니다. 처리량은 SSD가 플래시 메모리에 쓸 수 있는 속도에 따라 병목 현상이 발생합니다. GC가 처리 중일 때 SSD는 호스트에서 일부 데이터 전송을 중지해야 합니다. 따라서 SSD가 유효하지 않은 데이터가 포함된 페이지를 파악하여 GC 중에 페이지를 이동할 필요가 없도록 하는 것이 좋습니다.
      3. 향상된 내구성: 유효하지 않은 데이터를 다시 쓰지 않음으로써 드라이브는 NAND 플래시에 더 적은 데이터를 씁니다.

 

 

GC 및 Trim은 SSD 작업의 빌딩 블록입니다.

가비지 수집은 SSD와 HDD의 중요한 차이점입니다. SSD는 유효하지 않은 데이터가 있는 페이지에 새 데이터가 프로그래밍될 때 기존 데이터를 덮어쓰는 대신 GC를 수행합니다. NAND에 추가 마모가 발생합니다. 그러나이 문제에 대한 솔루션 중 하나는 트림 명령입니다. 이는 SSD가 사용자 또는 운영 체제의 "파일 삭제" 작업을 예상하는 데 도움이 됩니다. 그 결과 쓰기 증폭이 낮아지고 처리량이 증가하며 SSD 내구성이 향상됩니다.

 

혁신을 가속화하는 기반™

ko_KR한국어