홈페이지 Enterprise 솔리드 스테이트 드라이브의 미디어 관리: 다단계 쓰기 작업

솔리드 스테이트 드라이브의 미디어 관리: 다단계 쓰기 작업

by 게스트 작성자

IDC는 2010년에서 2015년 사이에 솔리드 스테이트 드라이브의 출하량이 전 세계적으로 연평균 52% 증가할 것으로 예상합니다. 그에 상응하는 엔터프라이즈 서버 및 스토리지 채택의 급증은 미디어 관리 및 새 드라이브와 중고 드라이브의 사용과 같은 중요한 구성 요소에 대한 더 깊은 이해가 관리자가 스토리지 리소스를 더 잘 관리하는 데 도움이 될 수 있음을 의미합니다.


IDC는 2010년에서 2015년 사이에 솔리드 스테이트 드라이브의 출하량이 전 세계적으로 연평균 52% 증가할 것으로 예상합니다. 그에 상응하는 엔터프라이즈 서버 및 스토리지 채택의 급증은 미디어 관리 및 새 드라이브와 중고 드라이브의 사용과 같은 중요한 구성 요소에 대한 더 깊은 이해가 관리자가 스토리지 리소스를 더 잘 관리하는 데 도움이 될 수 있음을 의미합니다.

SSD는 기존의 회전식 하드 드라이브와 매우 유사해 보일 수 있지만 유사성은 피상적일 뿐입니다. SSD의 내부 작동을 조사한 결과 SSD는 실제로 레거시 드라이브와 공통점이 거의 없다는 사실이 밝혀졌습니다. 한 가지 중요한 예는 각 드라이브 유형이 기존 데이터를 덮어쓰는 방식의 차이입니다. 즉, 회전식 드라이브는 한 단계로 덮어쓰는 반면 NAND 플래시 기반 SSD는 추가 단계가 필요합니다. 이 개요에서는 SSD의 "다단계 쓰기 프로세스"를 살펴봅니다.

배경: SSD 설계의 기초

SSD가 데이터를 덮어쓰는 방법에 대해 가장 먼저 이해해야 할 것은 SSD가 구성되는 방식입니다. 모든 SSD에는 다음과 같은 기본 구성 요소가 있습니다.

  • 호스트 인터페이스
  • 인쇄 회로 기판
  • 낸드 컨트롤러
  • 낸드

쓰기 프로세스 차이점

회전하는 하드 드라이브에 쓰는 것과 NAND에 쓰는 날짜는 다릅니다. 데이터(유효 여부에 관계없이)를 포함하는 NAND는 먼저 지워야 합니다. 그래야만 새 데이터를 쓸 수 있습니다. 간단히 말해서 지우기 프로세스는 먼저 전체 블록을 지웁니다. 그래야만 해당 블록의 페이지에 새 데이터가 기록될 수 있습니다.

이미 데이터가 있는 NAND는 새 데이터를 쓰기 전에 지워야 하므로 가득 찬(비어 있거나 지워진 페이지가 없는) 장치의 쓰기 순서는 비어 있는(또는 들어오는 쓰기 트래픽을 흡수하기에 충분한 비어 있거나 지워진 페이지가 있음).

비어 있거나 지워진 페이지 사용 가능

비어 있거나 지워진 페이지를 항상 준비할 수 있다고 가정합니다. 쓰기 작업이 SSD로 들어올 때 프로세스 흐름은 회전하는 드라이브의 프로세스 흐름과 비슷합니다.

  1. 데이터는 호스트 인터페이스에서 SSD로 들어오고 쓰기 요청이 발생합니다(결국 NAND에 기록됨).
  2. "비어 있거나 지워진 페이지가 있습니까?"(즉, 쓸 준비가 된 페이지)? 그림 1에서 비어 있거나 지워진 페이지를 사용할 수 있습니다.
  3. 사용 가능한 페이지에 데이터를 씁니다.

이 쓰기 프로세스는 회전하는 드라이브처럼 단일 단계로 수행됩니다. 일반적으로 이것은 비어 있거나 지워진 페이지가 없는 SSD에 쓰는 것보다 훨씬 빠릅니다(그림 2 참조).


 

불충분한 비어 있거나 지워진 페이지 사용 가능

비어 있거나 지워진 페이지가 충분하지 않은 SSD가 있다고 가정합니다. 새 데이터가 SSD에 기록되면 쓰기가 발생하기 직전에 셀을 지워야 합니다.

  1. 데이터는 호스트 인터페이스에서 SSD로 들어오고 쓰기 요청이 발생합니다(결국 NAND에 기록됨).
  2. "비워지거나 지워진 페이지가 충분합니까?"(즉, 쓸 준비가 된 페이지)? 그림 2에서 비어 있거나 지워진 페이지가 충분하지 않습니다.
  3. 데이터가 무효화되었거나 유효한 데이터를 이동할 수 있는 블록을 찾아서 좋은 지우기 후보로 만든 다음 가비지 수집 루틴(뒤에 나오는 새 드라이브와 사용된 드라이브 섹션 참조)을 호출하여 이 블록을 지우도록 활성화합니다. .
  4. 이 블록을 지웁니다. (필요에 따라 반복하여 쓰기 요청에 데이터를 저장하십시오.)
  5. 새로 지워진/빈 페이지에 데이터를 씁니다.

4단계는 NAND를 지우는 것이 쓰는 것보다 훨씬 오래 걸리기 때문에 완료하는 데 느릴 수 있습니다. 모든 NAND 지우기 주기는 "느립니다"(일반적으로 MLC 셀에 쓰는 데 250마이크로초[µs]가 걸리지만 지우는 데 1500µs가 걸립니다).

새 드라이브와 중고 드라이브 비교

새 SSD를 사용하는 경우 쓰기 프로세스는 그림 1과 같은 방식으로 진행됩니다. 새 SSD는 비어 있습니다. 모든 페이지가 비어 있고 새 데이터를 수신할 준비가 되어 있으므로 데이터를 쓰는 동안 지우기 단계가 거의 수행되지 않습니다. 그러나 드라이브가 가득 차면 이러한 비어 있거나 지워진 페이지 수가 줄어들고 결국 소비됩니다.

SSD에는 데이터가 무효화된 페이지를 해제하여 삭제하기에 좋은 후보가 되도록 하는 백그라운드 프로세스가 있습니다. 이 백그라운드 프로세스를 "가비지 수집"이라고 합니다.

결론

NAND 기반 SSD가 가득 찬 경우 새 데이터를 쓰는 것은 빈 SSD에 쓰는 것과 매우 다른 프로세스입니다. 드라이브가 비어 있는 경우 쓰기 프로세스는 드라이브 회전과 매우 유사합니다. 그러나 SSD에 이미 데이터가 포함된 경우 추가 단계가 필요합니다.

  1. SSD는 데이터를 수용하기에 충분한 여유 공간이 있는지 확인해야 합니다.
  2. 그렇지 않은 경우 가비지 수집 루틴을 호출하여 전체 블록을 지울 수 있도록(블록의 페이지가 새 데이터를 받을 수 있도록) 유효한 데이터를 그룹화하고 이동합니다.
  3. 블록이 지워집니다.
  4. 데이터가 기록됩니다.

이러한 추가 단계는 모두 호스트 개입 없이 SSD 컨트롤러에 의해 처리되지만 성능 변화가 발생합니다.

"SSD 성능 상태자세한 내용은 Micron.com의 백서를 참조하십시오.

더그 롤린스 (선임 애플리케이션 엔지니어, 엔터프라이즈 솔리드 스테이트 드라이브, Micron Technology)
Doug Rollins는 2009년 엔터프라이즈 SSD 제품 그룹의 애플리케이션 엔지니어로 Micron에 합류했습니다. Micron에 합류하기 전에 Mr. Rollins는 서버 시스템, 네트워크 어플라이언스, 스토리지 플랫폼/데이터 보호 설계 및 제조, 솔리드 스테이트 스토리지 분야에서 17년을 보냈습니다. Rollins 씨는 13개의 미국 특허에 이름을 올린 발명가이며 SNIA(Storage Networking Industry Association)와 Intel Corporation으로부터 뛰어난 기술 성과를 인정받았습니다. Mr. Rollins는 Humboldt State University에서 수학 학사 학위를 받았습니다.
 

이 이야기 토론