~의 시대에 기계식 하드 드라이브, 새로운 데이터는 원래 저장 위치에 직접 덮어쓸 수 있습니다. 컴퓨터가 쓰기를 요청하는 데이터의 양은 하드 드라이브가 물리적으로 기록하는 양과 정확히 일치합니다. 솔리드 스테이트 드라이브(SSD) 완전히 다른 방식으로 작동하기 때문에 ‘쓰기 증폭’이라고 불리는 독특한 현상이 발생합니다. 쓰기 증폭은 SSD 저장 장치에서만 나타나는 현상입니다. 간단히 말해, 컴퓨터가 SSD에 쓰기 요청을 보낼 때, NAND 플래시 칩에 실제로 기록되는 물리적 데이터의 총량은 운영 체제가 요청한 논리적 데이터의 양보다 더 많은데, 이는 다음과 같은 물리적 한계로 인해 발생합니다. 낸드 플래시.
노트북 페이지에 있는 텍스트를 수정하고 싶다고 상상해 보세요. 하지만 기존 단어를 직접 지울 수는 없습니다. 빈 페이지에 새로운 내용을 적고, 기존 페이지는 더 이상 쓸모없다고 표시해야 합니다. 빈 페이지가 다 떨어지면 노트 전체를 재정리해야 합니다. 아직 쓸모 있는 텍스트를 모두 새 노트의 빈 페이지로 옮긴 다음, 나중에 다시 사용할 수 있도록 기존 노트를 완전히 지워야 합니다. 결국 작성하게 되는 총 페이지 수는 원래 편집하려 했던 짧은 텍스트보다 훨씬 더 많아집니다. 이 추가적인 작성 작업은 ‘쓰기 증폭(write amplification)’을 나타내는 간단한 비유입니다.
핵심 측정 지표
쓰기 증폭의 심각도를 측정하는 핵심 수치를 WAF(Write Amplification Factor)라고 쓰며, WAF로 줄여 부릅니다.. 이는 고정적이고 명확한 공식을 따릅니다:
WAF = 플래시에 기록된 총 물리적 데이터 / 호스트가 요청한 총 논리적 데이터
이상적인 상황에서는 플래시가 호스트가 요청한 양과 정확히 동일한 양의 데이터를 기록하게 되며, 이때 WAF 값은 1이 됩니다. 그러나 NAND 플래시의 물리적 특성상 실제 사용 환경에서는 이러한 이상적인 상태를 달성하기가 거의 불가능합니다. 정상적인 작동 조건에서 WAF는 항상 1보다 큽니다. WAF가 높을수록 SSD 내부에서 발생하는 추가적인 쓰기 오버헤드가 커지며, 이는 플래시의 수명을 단축시키고 성능을 저하시킵니다.
쓰기 증폭의 근본 원인
쓰기 증폭 현상은 SSD의 설계상의 결함이 아닙니다. 이는 NAND 플래시의 물리적 한계와 드라이브 내부에서 실행되는 여러 자동 유지보수 프로세스가 결합되어 발생하는 피할 수 없는 결과입니다.
NAND 플래시 메모리의 물리적 한계
이것이 쓰기 증폭 현상이 발생하기 위한 기본적인 전제 조건입니다. 기존 위치에서 바로 덮어쓰기를 지원하는 기계식 하드 드라이브와 달리, NAND 플래시는 엄격한 읽기 및 쓰기 규칙을 따릅니다. 즉, 기존 데이터를 원래 저장 위치에서 직접 덮어쓸 수 없습니다. 새로운 데이터를 쓰기 전에 해당 블록을 완전히 지워야 합니다. 이 문제를 더욱 악화시키는 것은 가장 작은 쓰기 단위와 가장 작은 지우기 단위 간의 불일치입니다. 데이터를 쓰는 데 사용되는 가장 작은 단위는 ‘페이지’로, 종이 한 장에 비유할 수 있습니다. 데이터를 지우는 데 사용되는 가장 작은 단위는 ‘블록’으로, 이는 한 장의 종이 전체에 해당하는 수백 개의 페이지를 포함합니다. 단일 페이지만 선택적으로 지울 수는 없으며, 블록 전체를 한 번에 지워야 합니다.
이 규칙에 따라 SSD는 ‘비인접 업데이트(out-of-place update)’ 모델을 사용합니다. 기존 파일을 편집할 때 SSD 컨트롤러는 기존 데이터가 저장된 페이지를 변경하지 않습니다. 대신, 빈 여유 페이지에 새 데이터를 기록하고 기존 페이지는 나중에 정리할 수 있도록 무효로 표시합니다. 데이터를 원래 위치에 다시 쓸 수 없다는 점이 모든 추가적인 쓰기 오버헤드의 원인입니다.
가비지 컬렉션에 의한 데이터 재기록
가비지 컬렉션 이는 쓰기 증폭의 가장 큰 원인입니다. 데이터가 계속 저장됨에 따라 SSD 내부의 여유 블록 수가 줄어듭니다. 컨트롤러 가비지 컬렉션을 자동으로 실행하여 사용 가능한 저장 공간을 확보합니다. 전체 작업 흐름은 다음과 같습니다. 컨트롤러는 무효 페이지 비율이 높은 오래된 블록을 선택한 다음, 해당 블록 내의 유효한 데이터를 모두 읽어들여 완전히 새로운 여유 블록으로 복사한 후, 오래된 블록을 완전히 지워 다시 사용 가능한 공간으로 전환합니다. 이 데이터 복사 과정 동안 사용자나 운영 체제 모두 새로운 쓰기 명령을 보내지 않습니다. 하지만 SSD는 저장 공간을 확보하기 위해 유효한 데이터를 자동으로 다시 써야만 합니다. 이러한 내부 쓰기 작업이 쓰기 증폭의 주된 부분을 차지합니다.
웨어 레벨링에 따른 데이터 마이그레이션
내부 관리를 위한 메타데이터 오버헤드
위의 두 가지 주요 프로세스 외에도, SSD 내부 관리 과정에서 작지만 지속적인 추가 쓰기 작업이 발생합니다. 논리 주소를 물리적 플래시 위치로 변환하는 FTL 매핑 테이블, 손상된 저장 영역을 기록하는 불량 블록 로그, 각 블록의 지우기 주기를 추적하는 마모 카운트 테이블 등은 모두 파일 읽기 및 쓰기 과정에서 끊임없이 업데이트됩니다. 모든 업데이트는 플래시 쓰기 자원을 소모합니다. 사용자 데이터와 함께 ECC 오류 정정 코드를 기록하거나, 불량 블록을 대체하기 위해 데이터를 이동하는 등의 추가 작업도 총 물리적 쓰기 양을 늘려, 쓰기 증폭의 부차적인 원인이 됩니다.
WAF에 영향을 미치는 주요 요인
WAF 값은 고정되어 있지 않습니다. SSD 하드웨어 사양, 사용자 습관, 시스템 설정에 따라 크게 변동합니다. WAF 값이 얼마나 높거나 낮게 나올지는 주로 다섯 가지 요인에 의해 결정됩니다.
과잉 할당 및 여유 저장 공간
오버프로비저닝(OP)이란 SSD 제조사가 예약해 둔, 사용자가 접근하거나 사용할 수 없는 추가 플래시 공간을 의미합니다. 이 공간은 가비지 컬렉션, 마모 균등화, 불량 블록 교체 등 내부 작업 전용으로 예약되어 있습니다. 오버프로비저닝 비율이 높을수록 가비지 컬렉션이 선택할 수 있는 여유 블록이 늘어나고, 재활용되는 블록당 복사해야 하는 유효 데이터의 양이 줄어들며, WAF도 낮아집니다.
제조 시 설정된 오버프로비저닝 외에도, 사용자 파티션의 여유 공간은 동일한 최적화 효과를 제공합니다. TRIM 명령이 활성화되어 있을 때, SSD 내부의 여유 공간이 많을수록 가비지 컬렉션이 더 효율적으로 실행됩니다. SSD가 거의 가득 차면 여유 블록이 부족해집니다. 이 경우 컨트롤러는 데이터를 훨씬 더 자주 복사해야 하므로 WAF가 급격히 치솟게 됩니다.
워크로드 패턴 작성
TRIM 명령어 상태
NAND 플래시 메모리의 종류
SLC 캐시 전략
SSD에 미치는 쓰기 증폭의 영향
쓰기 증폭 현상은 SSD 내부에 눈에 띄지 않는 숨겨진 오버헤드를 발생시키며, 시스템의 읽기/쓰기 속도 측정 항목에는 직접적으로 나타나지 않습니다. 그럼에도 불구하고, 이는 수명, 작동 성능, 전력 소비 및 발열이라는 세 가지 주요 측면에서 장기적으로 드라이브 사용 경험에 부정적인 영향을 미칩니다.
플래시 수명 단축. 이것이 바로 쓰기 증폭이 초래하는 가장 심각한 부정적 영향입니다. 각 플래시 스토리지 블록에는 P/E 사이클이라고 하는 고정된 최대 지우기 횟수 한도가 있으며, 이는 판단의 핵심 기준이 됩니다. SSD 수명. 쓰기 증폭 현상은 플래시 메모리의 지우기 빈도를 불필요하게 증가시켜 수명을 빠르게 단축시킵니다.
실제 사용 환경에서의 쓰기 성능 저하. 쓰기 증폭(WAF)으로 인한 방대한 양의 백그라운드 데이터 복사 작업은 플래시 채널의 읽기/쓰기 대역폭을 차지하며, 일반적인 사용자 쓰기 작업에 할당되어야 할 하드웨어 리소스를 빼앗아 갑니다. WAF가 높을수록 드라이브는 동일한 호스트 쓰기 요청을 처리하기 위해 더 많은 내부 읽기 및 쓰기 작업을 수행해야 합니다. 이로 인해 쓰기 지연 시간이 증가하고 지속 쓰기 속도가 현저히 떨어집니다.
전력 소비 증가 및 발열 위험. 플래시 메모리에서 읽기, 쓰기, 삭제 작업이 수행될 때마다 전력이 소모되고 열이 발생합니다. WAF 수치가 높을수록 SSD 내부에서 불필요한 복사 작업이 더 많이 발생하게 되며, 이로 인해 전체 전력 소비량이 증가합니다. 또한 노트북, 태블릿 및 기타 휴대용 기기의 경우, 전력 소비량이 높을수록 배터리 사용 시간이 단축됩니다.
일반 소비자들은 WAF에 주의를 기울여야 할까요?
쓰기 작업량이 많은 사용자들만 이 요소를 주의 깊게 살펴봐야 할 수 있습니다. 이 그룹에는 장시간 4K/8K 영상 편집, 매일 대량의 파일 전송, 24시간 내내 진행되는 다운로드 작업, 로컬 데이터베이스 저장을 수행하는 사람들이 포함됩니다. 이들의 막대한 일일 데이터 쓰기 작업으로 인해 쓰기 증폭 현상이 발생하여 플래시 노화가 현저히 가속화됩니다.





