쓰기 증폭이란 무엇인가? SSD의 숨겨진 쓰기 비용

~의 시대에 기계식 하드 드라이브, 새로운 데이터는 원래 저장 위치에 직접 덮어쓸 수 있습니다. 컴퓨터가 쓰기를 요청하는 데이터의 양은 하드 드라이브가 물리적으로 기록하는 양과 정확히 일치합니다. 솔리드 스테이트 드라이브(SSD) 완전히 다른 방식으로 작동하기 때문에 ‘쓰기 증폭’이라고 불리는 독특한 현상이 발생합니다. 쓰기 증폭은 SSD 저장 장치에서만 나타나는 현상입니다. 간단히 말해, 컴퓨터가 SSD에 쓰기 요청을 보낼 때, NAND 플래시 칩에 실제로 기록되는 물리적 데이터의 총량은 운영 체제가 요청한 논리적 데이터의 양보다 더 많은데, 이는 다음과 같은 물리적 한계로 인해 발생합니다. 낸드 플래시.

노트북 페이지에 있는 텍스트를 수정하고 싶다고 상상해 보세요. 하지만 기존 단어를 직접 지울 수는 없습니다. 빈 페이지에 새로운 내용을 적고, 기존 페이지는 더 이상 쓸모없다고 표시해야 합니다. 빈 페이지가 다 떨어지면 노트 전체를 재정리해야 합니다. 아직 쓸모 있는 텍스트를 모두 새 노트의 빈 페이지로 옮긴 다음, 나중에 다시 사용할 수 있도록 기존 노트를 완전히 지워야 합니다. 결국 작성하게 되는 총 페이지 수는 원래 편집하려 했던 짧은 텍스트보다 훨씬 더 많아집니다. 이 추가적인 작성 작업은 ‘쓰기 증폭(write amplification)’을 나타내는 간단한 비유입니다.

핵심 측정 지표

쓰기 증폭의 심각도를 측정하는 핵심 수치를 WAF(Write Amplification Factor)라고 쓰며, WAF로 줄여 부릅니다.. 이는 고정적이고 명확한 공식을 따릅니다:

WAF = 플래시에 기록된 총 물리적 데이터 / 호스트가 요청한 총 논리적 데이터

이상적인 상황에서는 플래시가 호스트가 요청한 양과 정확히 동일한 양의 데이터를 기록하게 되며, 이때 WAF 값은 1이 됩니다. 그러나 NAND 플래시의 물리적 특성상 실제 사용 환경에서는 이러한 이상적인 상태를 달성하기가 거의 불가능합니다. 정상적인 작동 조건에서 WAF는 항상 1보다 큽니다. WAF가 높을수록 SSD 내부에서 발생하는 추가적인 쓰기 오버헤드가 커지며, 이는 플래시의 수명을 단축시키고 성능을 저하시킵니다.

쓰기 증폭의 근본 원인

쓰기 증폭 현상은 SSD의 설계상의 결함이 아닙니다. 이는 NAND 플래시의 물리적 한계와 드라이브 내부에서 실행되는 여러 자동 유지보수 프로세스가 결합되어 발생하는 피할 수 없는 결과입니다.

oscoo 2b 배너 1400x475 1 쓰기 증폭이란 무엇인가? SSD의 숨겨진 쓰기 비용

NAND 플래시 메모리의 물리적 한계

이것이 쓰기 증폭 현상이 발생하기 위한 기본적인 전제 조건입니다. 기존 위치에서 바로 덮어쓰기를 지원하는 기계식 하드 드라이브와 달리, NAND 플래시는 엄격한 읽기 및 쓰기 규칙을 따릅니다. 즉, 기존 데이터를 원래 저장 위치에서 직접 덮어쓸 수 없습니다. 새로운 데이터를 쓰기 전에 해당 블록을 완전히 지워야 합니다. 이 문제를 더욱 악화시키는 것은 가장 작은 쓰기 단위와 가장 작은 지우기 단위 간의 불일치입니다. 데이터를 쓰는 데 사용되는 가장 작은 단위는 ‘페이지’로, 종이 한 장에 비유할 수 있습니다. 데이터를 지우는 데 사용되는 가장 작은 단위는 ‘블록’으로, 이는 한 장의 종이 전체에 해당하는 수백 개의 페이지를 포함합니다. 단일 페이지만 선택적으로 지울 수는 없으며, 블록 전체를 한 번에 지워야 합니다.

이 규칙에 따라 SSD는 ‘비인접 업데이트(out-of-place update)’ 모델을 사용합니다. 기존 파일을 편집할 때 SSD 컨트롤러는 기존 데이터가 저장된 페이지를 변경하지 않습니다. 대신, 빈 여유 페이지에 새 데이터를 기록하고 기존 페이지는 나중에 정리할 수 있도록 무효로 표시합니다. 데이터를 원래 위치에 다시 쓸 수 없다는 점이 모든 추가적인 쓰기 오버헤드의 원인입니다.

가비지 컬렉션에 의한 데이터 재기록

가비지 컬렉션 이는 쓰기 증폭의 가장 큰 원인입니다. 데이터가 계속 저장됨에 따라 SSD 내부의 여유 블록 수가 줄어듭니다. 컨트롤러 가비지 컬렉션을 자동으로 실행하여 사용 가능한 저장 공간을 확보합니다. 전체 작업 흐름은 다음과 같습니다. 컨트롤러는 무효 페이지 비율이 높은 오래된 블록을 선택한 다음, 해당 블록 내의 유효한 데이터를 모두 읽어들여 완전히 새로운 여유 블록으로 복사한 후, 오래된 블록을 완전히 지워 다시 사용 가능한 공간으로 전환합니다. 이 데이터 복사 과정 동안 사용자나 운영 체제 모두 새로운 쓰기 명령을 보내지 않습니다. 하지만 SSD는 저장 공간을 확보하기 위해 유효한 데이터를 자동으로 다시 써야만 합니다. 이러한 내부 쓰기 작업이 쓰기 증폭의 주된 부분을 차지합니다.

웨어 레벨링에 따른 데이터 마이그레이션

마모 균등화 메커니즘 또한 불필요한 쓰기 오버헤드를 발생시킵니다. 모든 플래시 블록에는 P/E 사이클이라고 하는 고정된 최대 지우기 횟수가 있습니다. 소수의 블록 그룹이 지속적으로 지워지고 다시 쓰이면, 해당 블록의 수명이 조기에 소진되어 SSD 전체가 고장 날 수 있습니다. 모든 플래시 블록의 마모 속도를 균등하게 분산시키기 위해, 컨트롤러는 백그라운드에서 마모 균등화(웨어 레벨링)를 수행합니다. 콜드 데이터(오랫동안 수정되지 않는 파일)의 경우, 컨트롤러는 이 데이터를 지우기 주기가 적은 블록에서 지우기 주기가 많은 블록으로 이동시킵니다. 이를 통해 수명이 아직 많이 남은 블록을 자주 재기록되는 핫 데이터용으로 확보합니다. 마모 균형을 맞추기 위해 수행되는 이러한 데이터 이동은 총 물리적 쓰기 횟수를 증가시켜 WAF 값을 높입니다.

내부 관리를 위한 메타데이터 오버헤드

위의 두 가지 주요 프로세스 외에도, SSD 내부 관리 과정에서 작지만 지속적인 추가 쓰기 작업이 발생합니다. 논리 주소를 물리적 플래시 위치로 변환하는 FTL 매핑 테이블, 손상된 저장 영역을 기록하는 불량 블록 로그, 각 블록의 지우기 주기를 추적하는 마모 카운트 테이블 등은 모두 파일 읽기 및 쓰기 과정에서 끊임없이 업데이트됩니다. 모든 업데이트는 플래시 쓰기 자원을 소모합니다. 사용자 데이터와 함께 ECC 오류 정정 코드를 기록하거나, 불량 블록을 대체하기 위해 데이터를 이동하는 등의 추가 작업도 총 물리적 쓰기 양을 늘려, 쓰기 증폭의 부차적인 원인이 됩니다.

WAF에 영향을 미치는 주요 요인

WAF 값은 고정되어 있지 않습니다. SSD 하드웨어 사양, 사용자 습관, 시스템 설정에 따라 크게 변동합니다. WAF 값이 얼마나 높거나 낮게 나올지는 주로 다섯 가지 요인에 의해 결정됩니다.

과잉 할당 및 여유 저장 공간

오버프로비저닝(OP)이란 SSD 제조사가 예약해 둔, 사용자가 접근하거나 사용할 수 없는 추가 플래시 공간을 의미합니다. 이 공간은 가비지 컬렉션, 마모 균등화, 불량 블록 교체 등 내부 작업 전용으로 예약되어 있습니다. 오버프로비저닝 비율이 높을수록 가비지 컬렉션이 선택할 수 있는 여유 블록이 늘어나고, 재활용되는 블록당 복사해야 하는 유효 데이터의 양이 줄어들며, WAF도 낮아집니다.

제조 시 설정된 오버프로비저닝 외에도, 사용자 파티션의 여유 공간은 동일한 최적화 효과를 제공합니다. TRIM 명령이 활성화되어 있을 때, SSD 내부의 여유 공간이 많을수록 가비지 컬렉션이 더 효율적으로 실행됩니다. SSD가 거의 가득 차면 여유 블록이 부족해집니다. 이 경우 컨트롤러는 데이터를 훨씬 더 자주 복사해야 하므로 WAF가 급격히 치솟게 됩니다.

워크로드 패턴 작성

데이터가 기록되는 방식에 따라 쓰기 증폭(WAF)의 기준 수준이 직접 결정됩니다. 순차 쓰기는 대개 대용량 동영상이나 디스크 이미지 파일을 복사할 때 발생합니다. 데이터가 플래시 블록을 연속적으로 채워나가며, 삭제 시 블록 전체가 한꺼번에 무효화됩니다. 가비지 컬렉션은 유효한 데이터를 복사할 필요가 거의 없기 때문에 WAF는 1에 매우 근접한 수준을 유지합니다. 반면 r무작위 쓰기는 흩어져 있는 수많은 작은 파일, 시스템 로그 및 캐시 파일에 적용됩니다. 데이터는 서로 다른 플래시 블록에 분산되어 있으며, 각 블록에서 무효화되는 페이지는 소수에 불과합니다. 가비지 컬렉션은 대량의 유효한 콘텐츠를 복사해야 하므로 WAF가 급격히 증가합니다. 일반적인 무작위 쓰기 시나리오로는 오피스 소프트웨어 캐시, 브라우저 임시 파일, 빈번한 앱 업데이트 등이 있습니다.

TRIM 명령어 상태

TRIM 이는 SSD를 위해 고안된 특수한 전송 프로토콜 명령어입니다. 이 명령어의 핵심 기능은 운영 체제와 솔리드 스테이트 드라이브 간에 데이터 상태를 공유하는 것입니다. 일반적으로 파일을 삭제하면 시스템에서 해당 파일 인덱스를 무효로 표시할 뿐입니다. SSD에는 관련 데이터가 더 이상 필요하지 않다는 사실이 전달되지 않습니다. 컨트롤러는 유효한 페이지와 무효한 페이지를 구분할 수 없기 때문에 가비지 컬렉션 과정에서 모든 페이지를 복사하게 되어, 불필요한 추가 쓰기 작업이 발생합니다. TRIM 기능이 활성화되면, 시스템은 파일이 삭제된 직후 SSD에 어떤 논리 주소에 쓸모없는 데이터가 저장되어 있는지 알려줍니다. 컨트롤러는 이러한 페이지를 미리 ‘정리 가능’으로 표시합니다. 가비지 컬렉션은 유효하지 않은 데이터의 복사 과정을 생략함으로써 불필요한 쓰기 양을 대폭 줄이고, WAF를 효과적으로 감소시킵니다.

NAND 플래시 메모리의 종류

플래시 칩 아키텍처에 따라 기본 쓰기 증폭(WAF) 수준이 다릅니다. SLC, MLC, TLC에서 QLC에 이르기까지 저장 밀도는 지속적으로 증가하고 있습니다. 이와 동시에 플래시 페이지 및 블록 크기도 커지면서, 가비지 컬렉션 시 데이터 복사 오버헤드가 증가하고 기본 WAF 값이 점차 상승합니다. 고밀도 QLC 및 TLC 칩은 기본 P/E 수명이 더 짧기 때문에, 쓰기 증폭으로 인한 수명 손실이 더욱 두드러집니다. 기존 2D NAND와 비교했을 때, 3D NAND는 블록 크기가 더 크지만, 최적화된 펌웨어를 통해 WAF를 더 효과적으로 제어할 수 있습니다. 또한 P/E 사이클이 더 길기 때문에 물리적 구조로 인한 부정적인 영향을 일부 상쇄합니다.

SLC 캐시 전략

거의 모든 주류 소비자용 TLC 및 QLC SSD는 SLC 캐시 메커니즘을 사용합니다. 플래시 칩의 일부는 들어오는 쓰기 요청을 처리하기 위해 빠른 SLC 모드로 작동하도록 시뮬레이션됩니다. 데이터는 먼저 SLC 캐시 영역에 빠르게 기록됩니다. SSD가 유휴 상태일 때, 컨트롤러는 캐시된 데이터를 본래의 TLC 또는 QLC 저장 영역으로 이동시킵니다. 동일한 데이터를 플래시에 두 번 기록하는 이 과정은 WAF를 높입니다. 

SSD에 미치는 쓰기 증폭의 영향

쓰기 증폭 현상은 SSD 내부에 눈에 띄지 않는 숨겨진 오버헤드를 발생시키며, 시스템의 읽기/쓰기 속도 측정 항목에는 직접적으로 나타나지 않습니다. 그럼에도 불구하고, 이는 수명, 작동 성능, 전력 소비 및 발열이라는 세 가지 주요 측면에서 장기적으로 드라이브 사용 경험에 부정적인 영향을 미칩니다.

플래시 수명 단축. 이것이 바로 쓰기 증폭이 초래하는 가장 심각한 부정적 영향입니다. 각 플래시 스토리지 블록에는 P/E 사이클이라고 하는 고정된 최대 지우기 횟수 한도가 있으며, 이는 판단의 핵심 기준이 됩니다. SSD 수명. 쓰기 증폭 현상은 플래시 메모리의 지우기 빈도를 불필요하게 증가시켜 수명을 빠르게 단축시킵니다.

실제 사용 환경에서의 쓰기 성능 저하. 쓰기 증폭(WAF)으로 인한 방대한 양의 백그라운드 데이터 복사 작업은 플래시 채널의 읽기/쓰기 대역폭을 차지하며, 일반적인 사용자 쓰기 작업에 할당되어야 할 하드웨어 리소스를 빼앗아 갑니다. WAF가 높을수록 드라이브는 동일한 호스트 쓰기 요청을 처리하기 위해 더 많은 내부 읽기 및 쓰기 작업을 수행해야 합니다. 이로 인해 쓰기 지연 시간이 증가하고 지속 쓰기 속도가 현저히 떨어집니다.

전력 소비 증가 및 발열 위험. 플래시 메모리에서 읽기, 쓰기, 삭제 작업이 수행될 때마다 전력이 소모되고 열이 발생합니다. WAF 수치가 높을수록 SSD 내부에서 불필요한 복사 작업이 더 많이 발생하게 되며, 이로 인해 전체 전력 소비량이 증가합니다. 또한 노트북, 태블릿 및 기타 휴대용 기기의 경우, 전력 소비량이 높을수록 배터리 사용 시간이 단축됩니다.

일반 소비자들은 WAF에 주의를 기울여야 할까요?

사실, 대부분의 일반 사용자는 WAF 값에 특별히 신경 쓰거나 이를 자주 측정할 필요가 없습니다. 사무 작업, 웹 서핑, 동영상 스트리밍, 일반적인 게임 플레이 등 가벼운 사용 환경에서는 SSD의 일일 데이터 쓰기량이 낮은 수준을 유지합니다. WAF 값이 변동하더라도, 이 드라이브는 정격 삭제 수명 범위 내에서 5~10년 동안 원활하게 작동할 수 있습니다. 일반적인 사용만으로는 플래시 메모리가 마모되는 것은 거의 불가능합니다. 또한, 차세대 SSD 컨트롤러와 성숙한 펌웨어가 쓰기 증폭을 효과적으로 억제하므로, 사용자는 일상적인 사용 시 부정적인 영향을 거의 느끼지 못합니다.

쓰기 작업량이 많은 사용자들만 이 요소를 주의 깊게 살펴봐야 할 수 있습니다. 이 그룹에는 장시간 4K/8K 영상 편집, 매일 대량의 파일 전송, 24시간 내내 진행되는 다운로드 작업, 로컬 데이터베이스 저장을 수행하는 사람들이 포함됩니다. 이들의 막대한 일일 데이터 쓰기 작업으로 인해 쓰기 증폭 현상이 발생하여 플래시 노화가 현저히 가속화됩니다.

쓰기 증폭은 SSD 스토리지 아키텍처의 피할 수 없는 고유한 특성입니다. 이는 NAND 플래시 메모리의 독특한 ‘읽기-지우기-쓰기’ 규칙에서 기인하며, 드라이브가 데이터를 재기록하고, 마모를 균형 있게 분산시키며, 저장 공간을 확보하기 위해 필요한 내부 오버헤드입니다. 일반 사용자는 쓰기 증폭을 드라이브 성능에 대한 잠재적 위협으로 여기지 않아도 됩니다. 디스크 여유 공간을 확보하고 TRIM 명령이 정상적으로 작동하도록 하는 등 좋은 습관을 기르기만 하면, SSD가 제공하는 빠른 읽기 및 쓰기 속도를 누리면서 쓰기 증폭이 미치는 부정적인 영향을 크게 줄일 수 있습니다.
맨 위로 스크롤

문의하기

아래 양식을 작성해 주시면 곧 연락드리겠습니다.

문의 양식 제품