도구스개발

쓰기 증폭(SSD·LSM) 계산기

SSD의 예비영역 비율에서 쓰기 증폭 WA = 1/(1−ρ)을 구하고 P/E 사이클·TBW 기준 수명을 함께 계산합니다. LSM 트리의 레벨드·티어드 컴팩션 증폭도 크기비와 레벨 수로 추정합니다.

GB
%

사용자 용량 대비 여분의 플래시 비율입니다

GB

응용이 실제로 쓰는 양입니다. 매체에 쓰이는 양은 여기에 WA를 곱한 값입니다

흔히 인용되는 값이지만 제조사·공정마다 크게 다릅니다

TB

0으로 두면 계산에서 뺍니다. 제품 사양표의 «총 쓰기 바이트»입니다

쓰기 증폭 WA — 탐욕 GC

7.26배

호스트가 하루 30GB를 쓰면 플래시에는 217.7GB가 쓰이는 것으로 추정됩니다

이용률 ρ = 사용자용량 / 물리용량93.11%
물리 플래시 용량549.9 GB
WA — 무작위 GC = 1/(1−ρ)14.51
WA — 탐욕 GC (절반 근사)7.26
하루 매체 쓰기량217.7 GB
P/E 1,000회 기준 총 쓰기 가능량549.9 TB
P/E 기준 예상 수명6.9년
보증 TBW 기준 예상 수명27.4년
보증 TBW를 DWPD로 (5년 기준)0.32 DWPD
증폭의 정체는 «옮겨 적기»입니다. 플래시는 페이지 단위로 쓰고 블록 단위로만 지웁니다. 새 자리를 만들려고 블록을 지울 때 그 안에 아직 살아 있는 페이지를 다른 곳에 옮겨 적어야 하는데, 그 비율을 f라 하면 WA = 1/(1−f) 입니다. 예비영역이 넉넉할수록 f가 작아져 증폭이 줄고, 꽉 채워 쓸수록 f가 1에 가까워져 증폭이 폭발합니다. 지금 설정의 이용률은 93.11%입니다.
«OP 0%» 드라이브에도 예비영역이 7.374% 있습니다. 표기 용량은 10진(1GB = 10⁹바이트)인데 플래시 칩은 2진(1GiB = 2³⁰바이트)이라, 512GB로 파는 드라이브에는 512GiB = 549.8GB의 플래시가 들어갑니다. 그 차이가 그대로 예비영역이 됩니다. 여기에 사용자가 파티션을 덜 잡아 남겨 두면(TRIM이 도는 환경에서) 예비영역을 더 늘릴 수 있고, 위 표에서 보듯 그 효과가 수명에 그대로 나타납니다.
보증 TBW에는 WA를 곱하지 않습니다. TBW는 호스트가 쓴 양으로 정의된 값이라 이미 제조사가 내부 증폭을 감안해 잡아 둔 숫자입니다. 반면 P/E 사이클 기준 계산은 매체에 실제로 쓰이는 양을 봐야 하므로 WA를 곱합니다. 두 줄의 수명이 크게 다르면 워크로드 가정이 제조사의 것과 다르다는 뜻으로 읽으시면 됩니다.
여기 값은 모델이지 실측이 아닙니다. SSD 쪽 식은 «균일 무작위 쓰기가 끝없이 이어지는» 정상상태를 전제합니다. 순차 쓰기는 블록이 통째로 무효가 되어 옮길 페이지가 없으므로 WA가 1에 가까워지고, TRIM이 도는지, 쓰기가 일부 영역에 쏠리는지에 따라서도 크게 달라집니다. 실제 제품에는 압축·중복제거·SLC 캐시 같은 장치가 더 있어 값이 더 내려가기도 합니다. LSM 쪽 계수(T냐 T+1이냐)도 자료마다 다르고 구현의 최적화에 따라 낮아집니다. 크기의 «자릿수»와 설정을 바꿨을 때의 «방향»을 보는 데 쓰시고, 정확한 값은 실제 장치의 스마트(S.M.A.R.T.) 값이나 데이터베이스 통계로 재셔야 합니다.

사용 방법

  1. 1SSD와 LSM 트리 중에서 고릅니다.
  2. 2SSD라면 사용자 용량과 예비영역 비율을 넣습니다. 아무것도 남기지 않아도 표기 용량과 실제 플래시의 차이로 7.4%는 이미 있습니다.
  3. 3가비지 컬렉션 방식을 고릅니다. 실제 제품은 탐욕에 가깝고 무작위는 상한으로 봅니다.
  4. 4하루 호스트 쓰기량과 P/E 사이클, 보증 TBW를 넣어 수명을 봅니다.
  5. 5LSM이라면 크기비 T와 데이터 총량, 메모테이블 크기를 넣어 레벨 수와 증폭을 확인합니다.

자주 묻는 질문

WA = 1/(1−f)이며 f는 블록을 회수할 때 그 안에 남아 있는 유효 페이지의 비율입니다. 블록 하나(P페이지)를 지우면서 f·P를 옮겨 적으면 새로 쓸 수 있는 자리는 (1−f)·P뿐이고 매체에는 P만큼 쓰였으므로 비가 1/(1−f)이 됩니다. 회수할 블록을 무작위로 고르면 f는 이용률 ρ와 같아져 WA = 1/(1−ρ)가 되고, 유효 페이지가 가장 적은 블록을 고르는 탐욕 방식은 그 절반쯤으로 봅니다.

효과가 매우 큽니다. 예비영역이 7.4%뿐이면 이용률이 93.1%라 무작위 GC 기준 WA가 14.6배이지만, 28%로 늘리면 이용률이 78.1%로 내려가 WA가 4.6배가 됩니다. 쓰기 증폭이 3분의 1로 줄면 수명은 세 배가 됩니다. 드라이브를 꽉 채우지 않고 일부를 파티션 없이 남겨 두는 것만으로도(TRIM이 도는 환경에서) 같은 효과를 얻습니다.

표기 용량은 10진이고 플래시 칩은 2진이기 때문입니다. 512GB로 파는 드라이브에는 512GiB, 즉 549.8GB의 플래시가 들어가므로 1024³/1000³ − 1 = 7.374%가 자동으로 예비영역이 됩니다. 여기에 제조사가 추가로 떼어 두면 그만큼 더해집니다.

곱하지 않습니다. TBW는 호스트가 쓴 양으로 정의된 값이라 제조사가 이미 내부 증폭을 감안해 잡아 둔 숫자이기 때문입니다. 반면 P/E 사이클로 계산할 때는 매체에 실제로 쓰이는 양을 봐야 하므로 WA를 곱합니다. 두 방식의 수명이 크게 다르면 가정한 워크로드가 제조사의 것과 다르다는 신호로 읽으시면 됩니다.

거의 생기지 않습니다. 순차로 쓰면 한 블록의 페이지들이 대체로 함께 무효가 되어 회수할 때 옮길 유효 페이지가 없기 때문에 WA가 1에 가까워집니다. 이 계산기의 값은 균일 무작위 쓰기가 끝없이 이어지는 경우를 전제한 것이라 상한 쪽 추정으로 보셔야 하고, 실제 워크로드는 순차와 무작위 사이 어딘가에 있습니다.

레벨드는 쓰기를 더 하고 티어드는 공간을 더 씁니다. 레벨드는 한 레벨을 다음 레벨에 병합할 때 대상 레벨을 T번쯤 다시 쓰게 되어 WA ≈ 1 + T·L이 되지만 레벨마다 런이 하나라 공간증폭이 1에 가깝고 읽기가 빠릅니다. 티어드는 레벨마다 한 번씩만 써서 WA ≈ 1 + L로 작은 대신, 같은 레벨에 런이 T개까지 쌓여 공간과 읽기 비용을 냅니다.

레벨드에서는 오히려 늘어납니다. T를 키우면 레벨 수 L은 줄지만 레벨당 다시 쓰는 양이 T배로 늘기 때문입니다. 같은 4096배 데이터에서 T=4면 레벨 6개에 WA 25배, T=16이면 레벨 3개에 WA 49배가 됩니다. 반대로 티어드에서는 T를 키울수록 L이 줄어 쓰기 증폭이 작아지고 공간증폭이 커집니다.

자릿수와 방향을 보는 데 쓰시는 편이 좋습니다. SSD 식은 균일 무작위 쓰기 정상상태를 전제한 모델이고, 실제 제품에는 압축·중복제거·SLC 캐시 같은 장치가 더 있어 값이 내려가기도 합니다. LSM 쪽 계수도 자료마다 다릅니다. 정확한 값은 장치의 S.M.A.R.T. 값(호스트 쓰기량과 낸드 쓰기량)이나 데이터베이스 통계로 재실 수 있습니다.

전송되지 않습니다. 계산은 모두 브라우저 안에서 이루어지고 넣은 값은 이 기기에만 남습니다.

알아두면 좋은 점

  • SSD 모델은 균일 무작위 쓰기가 이어지는 정상상태를 전제합니다. 순차 쓰기나 TRIM이 도는 환경에서는 실제 값이 훨씬 낮습니다.
  • 탐욕 GC의 «무작위의 절반» 근사는 균일 무작위 쓰기 시늉실험에서 0.44~0.51배로 확인한 값입니다. 정확한 상수가 아니라 자릿수를 맞추는 근사입니다.
  • 보증 TBW는 호스트 쓰기 기준이라 WA를 곱하지 않습니다. P/E 사이클 기준 계산에만 곱합니다.
  • P/E 사이클 값은 제조사·공정마다 크게 다릅니다. 사양표에 없으면 TBW 쪽 계산을 보시는 편이 낫습니다.
  • LSM 증폭 식의 계수(T냐 T+1이냐)는 자료마다 다르고 구현의 최적화에 따라 낮아집니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 2일 · 결과는 참고용 추정치입니다.