오버프로비저닝(OP) 이점

OP로 SSD 성능을 개선하는 방법

각 NAND 플래시 메모리 다이는 아주 많은 추가 페이지를 포함한 여러 블록으로 구축되어 있습니다.

NAND 플래시는 페이지 레벨에서 읽거나 쓸 수 있지만 삭제는 블록 레벨에서만 가능합니다.

단일 페이지가 블록 내의 이미 프로그래밍된 페이지상에서 수정 또는 지워져야 할 경우, 여러 페이지로 구성된 전체 블록 컨텐츠는 새 블록 컨텐츠를 동일한 블록 주소로 프로그래밍 되기 전 임시 메모리로 읽혀진 후 지워집니다.

페이지가 NAND 플래시 내에서 간단한 읽기-수정-쓰기 주기 없이 블록에 페이지가 직접 쓰여질 수 있는 사례는 페이지가 이미 빈 상태일 때입니다.

많은 양의 블록을 빈 상태로 그리고 오버프로비저닝을 통해 보존하고, 특히 최고 수준의 쓰기 증폭(WAF)을 나타내는 임의 쓰기 상황에서 성능을 일관적으로 유지합니다.{{Footnote.N52105}}

OP로 SSD 내구성을 개선하는 방법

왜 SSD가 오버 프로비저닝으로 구성되는지 그리고 SSD 컨트롤러는 어떻게 도움이 되는지 이해하기 위해, SSD의 일반적인 운영과 비휘발성 NAND 플래시 메모리의 제한 사항에 대해 심층적으로 알아야 합니다.

각각의 NAND 플래시 셀의 수명은 유한하며, NAND 플래시 셀에서 실행되는 프로그램 및 삭제 내구성(P/E)을 기반으로 한다. 이는 NAND 플래시 제조업체의 제조 프로세스로 보이는데, NAND 플래시 셀에서 실행되는 각 프로그램 또는 삭제 기능이 전하를 안정적으로 저장하는 셀의 용량을 약화시키고 이로 인해 데이터 보존상태를 위협할 수도 있기 때문이다.

그러나 NAND의 기하학적 구조가 2D에서 3D로 전환함에 따라 NAND 내구성은 향상되고 다이 밀집도는 증가하며 더욱 합리적인 SSD를 만드는 동시에 생산 비용은 절감하게 됩니다.

요약하자면, SSD 내구성에 영향을 주는 세 가지 요소는 다음과 같습니다.
  • NAND 플래시 프로그램/삭제 내구성과 기하학적 구조 관련 읽기/프로그램/삭제 복잡도(이 경우, 기하학적 구조는 2D vs 3D 제조 기술을 포함합니다)
  • SSD 용량
  • SSD 컨트롤러 기능 및 효율성(가비지 컬렉션, 쓰기 강화, 블록 관리, 웨어 레벨링, 오류 수정 코드).

오버프로비저닝(OP)을 통해 성능 및 내구성 유지

SSD가 무효 페이지로 전체 용량이 채워지는 상황을 피하기 위해, 오버프로비저닝은 임시 작업 공간으로써 SSD 컨트롤러 가비지 컬렉션 기능으로 사용되어 예정된 유효 페이지 병합을 관리하고 무효 페이지로 채워진 블록을 되찾습니다.

그 뒤 되찾은 페이지/블록은 SSD 컨트롤러의 쓰기 작업을 조정하고 최대 수용치의 경우 수행력을 극대화하기 위해 오버프로비저닝된 용량에 추가되어 무효 페이지로 채워진 일부 전체 블록으로 모든 유효 페이지를 다시 읽고, 지우며, 수정하며 작성하면서 생기는 성능이 실제로 작동을 느려지게 할 수 있습니다.

가비지 컬렉션은 운영 체제를 개별적으로 운영하고 낮은 활동 기간 중, 정기적으로 또는 가비지 컬렉션 일정 수립을 위해 개별 ATA 데이터 세트 관리 TRIM 명령을 발행함으로써 자동으로 촉발됩니다.

오버프로비저닝된 용량을 통한 항시 이용 가능한 빈 블록 수는 SSD 컨트롤러가 지능적으로 피크 트래픽 부하 중 SSD의 전체적인 성능에 영향을 미치지 않으면서도 모든 NAND 플래시 메모리 셀 전반에 걸쳐 쓰기 운영을 지능적으로 배분하면서 NAND 플래시에서 효과적인 웨어 레벨링을 유지하도록 돕습니다.

또한, ATA 데이터 세트 관리 TRIM 명령은 모든 무효 페이지와 미사용 사용자 용량을 되찾으면서 SSD 사용 가능한 공간에 추가할 수 있습니다.

포맷 드라이브 용량오버프로비저닝크기순차 읽기/쓰기 대역폭안정 상태의 임의 4k 읽기/쓰기TBW (JEDEC Enterprise{{Footnote.N52105}})DWPD{{Footnote.N37134}}
480GB (DC500R) 7% 550/500MB/s 98,000/12,000 IOPS 438 0.5
480GB (DC500M) 32% 555/520MB/s 98,000/58,000 IOPS 1139 1.3
960GB (DC500R) 7% 555/520MB/s 98,000/20,000 IOPS 876 0.5
960GB (DC500M) 32% 555/520MB/s 98,000/70,000 IOPS 2278 1.3
1920GB (DC500R) 7% 555/520MB/s 98,000/24,000 IOPS 1752 0.5
1920GB (DC500M) 32% 555/520MB/s 98,000/75,000 IOPS 4555 1.3
3840GB (DC500R) 7% 555/520MB/s  98,000/28,000 IOPS  3504  0.5
3840GB (DC500M)  32% 555/520MB/s  98,000/75,000 IOPS 9110  1.3
용량 및 응용 프로그램 클래스에 기반한 오버프로비저닝

OP 효과를 이해하기 위해 Kingston enterprise SSD, DC500R SSD를 그림과 함께 설명하도록 하겠습니다. 이러한 SSD는 최대 3.84TB까지 수용하며 오버 프로비저닝을 조정하기 위해 사용자가 Kingston SSD Manager 도구를 사용할 수 있도록 합니다. OP 크기를 조정하여 7% OP 또는 그 이상의 OP 수준을 활용한 성능과 내구성 효과를 기대해볼 수 있습니다.

각 페어링 용량을 비교할 경우, 다음을 예상해볼 수 있습니다.
  1. 각 페어링에서 더 높은 용량의 드라이브(더 낮은 수준의 OP)는 동일한 전송 속도(대역폭)를 유지할 수 있지만 초당 랜덤 쓰기 IO(IOPS)는 상당히 감소했습니다. 이는 더 낮은 수준의 OP를 갖춘 드라이브의 경우 읽기 중심 응용 프로그램에서 우수하게 수행되지만 32% OP를 갖춘 드라이브 대비 쓰기 중심 응용 프로그램에서는 속도가 더 느릴 수 있다는 것을 의미합니다.
  2. 더 낮은 수준의 오버 프로비저닝 또한, 각 드라이브에서 테라바이트로 구성된 TBW(Total Bytes Written)가 더 낮다는 점을 의미합니다. OP 비율이 높을수록 SSD는 더 오래 지속 가능합니다. 960GB DC500R 이 데이터 쓰기에서 최대 876TB까지 수용할 수 있는 반면, 800GB DC500R 은 860TBW까지 달성할 수 있습니다. TBW(Total Bytes Written)는 JEDEC 워크로드를 참고 {{Footnote.N52105}} 로 활용한 Kingston에서 도출한 수치입니다.
  3. TBW 수치를 전체 보증 기간에 걸친 DWPD(Drive Writes Per Day)라고 해석한다면, 32% OP를 갖춘 드라이브가 일일 쓰기 양의 두 배에 도달하게 될 것임을 예상할 수 있습니다. 쓰기 중심 응용 프로그램에서 32% OP를 사용하도록 권장하는 이유가 바로 이 때문입니다.