ECC와 스페어 블록은 킹스톤 SSD 데이터를 오류로부터 보호하는 데 도움이 됩니다.
엔드 투 엔드 데이터 보호
Kingston에서 생산한 모든 SSD에는 엔드 투 엔드 데이터 보호 기능이 탑재되어 있어, 이를 통해 고객의 데이터가 호스트 시스템에서 SSD로, 그 이후 SSD에서 호스트 컴퓨터로 전송되는 즉시 보호할 수 있습니다.
Kingston에서 생산한 모든 SSD에는 엔드 투 엔드 데이터 보호 기능이 탑재되어 있어, 이를 통해 고객의 데이터가 호스트 시스템에서 SSD로, 그 이후 SSD에서 호스트 컴퓨터로 전송되는 즉시 보호할 수 있습니다.
모든 SSD에는 해당 SSD가 연결된 호스트 시스템과 교신할 수 있게 하는 컨트롤러가 포함되어 있습니다. SSD 폼 팩터(2.5인치, 애드인카드, M.2 등) 또는 사용된 프로토콜(예: SATA 또는 NVMe)과 관계 없이 이 SSD 컨트롤러를 통해 SSD에 데이터를 쓰거나 SSD에서 데이터를 읽을 수 있습니다.
현재 다양한 SSD 컨트롤러 설계가 제공되고 있습니다. 일부 SSD 컨트롤러에서 컨트롤러 설계의 하나로 내장형 캐시(일반적으로 SRAM)가 탑재되어 있는 반면, 다른 컨트롤러에서는 내부 플래시 맵핑 테이블과 처리 중인 사용자 데이터의 임시 보관에 사용되는 개별 DRAM 칩(또는 칩)이 이용될 수 있습니다. 일부 컨트롤러 설계에서는 개별 DRAM이 사용되지 않지만, 그 대신 해당 맵핑 테이블 보관용으로 NAND 플래시의 일부가 사용됩니다.
SSD의 데이터 저장은 NAND 플래시 칩을 필요로 합니다. NAND 칩은 전원이 꺼진 후에도 데이터를 저장하는 비휘발성 저장 장치입니다. SSD 컨트롤러에서 데이터를 저장하거나 검색해야 할 경우 NAND 플래시 칩에 데이터를 쓰거나 NAND 플래시 칩에서 데이터를 읽어야 합니다.
데이터는 SSD 컨트롤러를 통해 호스트 PC에서 NAND 스토리지로 이동하므로 SSD의 데이터 완전성이 유지되어야 합니다. 데이터가 NAND 플래시 스토리지에 실제로 쓰여지기 전에 발생하는 호스트에서 SSD로의 데이터 전송은 대개 "이동 중 데이터" 또는 "전송 중 데이터"로 지칭됩니다. SSD 컨트롤러에는 오류 수정 기술(오류 수정 코드는 ECC라 칭함)이 탑재되었기 때문에 지나온 경로를 따라 데이터에 영향을 줄 수 있는 대다수의 오류를 감지 및 수정할 수 있습니다. 플래시 메모리 칩에는 데이터가 쓰여지는 모든 블록을 포함한 추가 오류에 대한 수정 정보가 탑재되어 있습니다. 이러한 정보를 통해 SSD 컨트롤러에서 데이터 블록을 읽을 시에 다수의 오류를 동시 수정할 수 있습니다. 하드 디스크 드라이브와 마찬가지로, NAND 플래시 메모리에서 정상 작동 중 비트 오류가 발생하면, ECC 데이터를 활용해 이동 중에 해당 오류가 수정됩니다.
읽기 작업을 수행하고 있는 블록 내의 데이터 오류를 수정할 수 없는 경우도 드물게 있습니다. SSD 컨트롤러는 이를 수정할 수 없는 ECC 오류(UECC)로 인식하고 해당 오류를 호스트 컴퓨터에 보고합니다. SSD는 최상의 신뢰성을 제공하도록 설계되었습니다. 고객 SSD의 경우 UECC는 10개부터 15개의 비트에 대해 읽기 작업을 수행할 시 한 번
있는 것으로 일반적으로 평가되며 SSD는 10개부터 16개의 비트에 대한 읽기 작업을 수행할 시 한 번 있는 것으로 평가됩니다. JEDEC JEDS218A 및 JESD219 UBER 요구사항을 기반으로 기업용과 고객용 SSD를 비교하면, 매 1,000조 비트(약 0.11페타바이트)를 읽을 때마다 1비트의 오류가 발생하는 고객 SSD에 비해 기업용 SSD는 매 1경 비트(약 1.11페타바이트)를 읽을 때마다 1비트 오류율을 보여 1복구 불가 비트 오류 정도만 예측됩니다.
Kingston SSD에는 또한 NAND 플래시 장치 내 예비 블록이 탑재되어 있습니다. 이러한 저장 영역은 일반적으로 드라이브의 오버 프로비저닝(OP) 공간에 존재하며 사용자가 이곳에 접근할 수 없습니다. NAND 장치의 데이터 블록에 심각한 오류가 발생하는 경우, 해당 블록은 불량 블록으로 표기되고 사용 중지되며 예비 블록 중 하나가 순환 배치되어 사용됩니다. 이런 과정 중 필요할 경우 UCC를 통해 데이터가 수정됩니다. 예비 블록을 사용함으로 인해 SSD 드라이브의 수명과 내구성이 연장됩니다.