NAND 플래시 마모 평준화 알고리즘
Aug 27, 2022
플래시 메모리의 쓰기 작업 횟수는 제한되어 있으므로 일부 장치에서 100000회 쓰기 작업을 수행한 경우 이러한 장치의 쓰기 신뢰성을 보장할 수 없으며 일부 장치가 실패할 수 있습니다. 예를 들어, 일부 관리 데이터 시스템 로그는 자주 다시 작성되는 반면 일부 정적 파일 데이터는 거의 다시 작성되지 않습니다. 제어하지 않으면 반복적인 삭제로 인해 일부 블록이 사전에 손상되고 일부 블록이 다시 작성되지 않은 문제를 해결하기 위해 쓰기 작업을 모든 플래시 메모리 셀에 고르게 분산하여 전체적으로 균형을 유지하여 방지합니다. 개별 세포의 실패. 웨어 레벨링은 이 문제를 해결하기 위해 널리 사용되는 알고리즘입니다.
웨어 레벨링은 쓰기 손실을 서로 다른 블록에 분산시키는 블록 매핑 메커니즘을 제공하는 것입니다. 일부 블록이 먼저 기록되지 않고 전체 SSD 디스크가 무효화되지 않습니다. 대신 일부 예약된 블록이 예상 수명 전에 실패한 블록을 대체합니다. 이 알고리즘은 전체 장치의 수명을 플래시의 최대 수명과 동일하게 만듭니다.
일반적으로 웨어 레벨링을 구현하기 위해 페이지 기반 파일 저장 알고리즘이 사용됩니다. 플래시 메모리의 물리적 주소와 논리적 주소 사이에는 일대일 대응이 없습니다. SSD는 데이터 쓰기 요청을 받으면 순서대로 쓰지 않고 쓰기가 가장 적은 유닛을 찾습니다. 따라서 쓰기 데이터를 위한 물리적 블록을 동적으로 할당할 때 각 블록의 용도에 따라 해당 우선 순위를 할당하여 전체 메모리의 각 셀의 서비스 수명을 균형 있게 할당합니다.

