다른 소식으로는, 바나나를 먹으면 일종의 방사능에 노출되고 책상에 오래 앉아 있는 것은 건강에 부정적인 영향을 줄 수 있다는 것입니다. 그래도 계속하고 계시니 당황하지 마세요 :-) 아무튼, 상황은 이렇습니다:
읽기 교란 (Read disturbance): SSD에서 읽기를 수행할 때 전압이 가해집니다. 이는 인접한 셀의 전압 레벨을 약간 변화시킵니다. 비용이 더 많이 드는 SLC (single level cell) SSD는 오류를 처리할 여유 공간이 꽤 많지만, 더 일반적인 TLC 및 QLC (quad level cell) SSD는 훨씬 더 타이트한 예산을 가지고 있습니다. 예시 이미지에서 '셀' 35(실제로는 '워드 라인')가 54K번 읽히면, 인접한 셀 36과 34가 결국 ECC 한계에 도달하게 만듭니다 (여기 논문 참조). 이 한계에 도달하면 저장된 데이터는 되돌릴 수 없이 손실됩니다. 물론 SSD는 이런 일이 발생하도록 내버려 두지 않습니다.
읽기 복구 (Read reclaim): SSD 컨트롤러는 데이터가 ECC 한계에 도달하여 손실되기 훨씬 전에, 가득 찬 SSD 페이지를 신선한 영역으로 재배치합니다. 이는 또한 54K번의 읽기만으로도(테스트된 SSD 기준) 재배치를 유발한다는 것을 의미합니다. 이 재배치는 '페이지 쓰기'입니다. 따라서 읽기는 결국 쓰기를 유발하게 됩니다. 광범위한 읽기 작업 동안 SSD가 페이지를 재배치하기 때문에 읽기 속도가 어떻게 저하되는지에 대한 그래프가 있는 또 다른 논문이 있습니다. 중간 다이어그램에서 볼 수 있듯이, 균형 잡힌 읽기 작업은 ECC 한계에 도달할 때까지 상당히 오랜 시간이 걸립니다. 그럼에도 불구하고 결국 발생합니다. 얼마나 자주 발생하는지는 SSD와 사용 패턴에 따라 다릅니다. 불행하게도 두 논문 모두 여기에는 구체적인 데이터를 많이 제공하지 않습니다.
취할 수 있는 조치: 만약 n-gram 테이블을 전용 SSD에 저장하고 있고, 정상 작동 중 쓰기가 발생해서는 안 되는 경우라면: SMART 카운터를 확인하여 단순히 n-gram을 스트리밍하는 동안 '쓰여진 데이터 단위(data units written)' 또는 '쓰여진 LBA(LBAs written)'가 얼마나 빠르게 증가하는지 확인하고 데이터를 공유해 주세요. 이는 해당 효과가 방사선량 관점에서 바나나를 먹는 것과 같은지, 아니면 비행기 탑승과 같은지를 파악하는 데 도움이 될 것입니다.