반도체 저장 장치 연구소 인 DRAMeXchange에 따르면 SSD 출하량의 증가 추세는 특히 소비자 SSD 시장에서 여전히 두드러지며 2020 년까지 성장 모멘텀이 계속 될 것으로 전망됩니다 (그림 1 ).
그림 1 SSD 출하량 통계 및 추정치
출처 : DRAMeXchange (2017)
SATA를 통해 SSD 인터페이스가 PCIe 확장 성을 지속적으로 발전시킵니다.
SSD 물리적 인터페이스 지원은 주로 SATA (Serial Advanced Technology Attachment) 및 PCIe (Peripheral Component Interconnect Express)이며 SATA Gen3은 시장에서 가장 많이 사용되는 SSD 전송 인터페이스이며 이론 전송 대역폭은 6GT / s입니다. 지난 몇 년 동안 SATA Gen3 데이터 전송 대역폭은 기존의 하드 디스크와 비교하여 분명한 장점이있어 SSD의 시장 점유율을 매년 높일 수있었습니다.
동시에, 과거의 레거시 모드에서 현재 토글 2.0 / ONFI 4.0 속도로 NAND 플래시 프로세스 및 관련 기술이 진화하고 있으며, NAND 플래시 및 컨트롤러 전송 인터페이스 표준이 크게 개선되어 과거를 만들고 있습니다 몇 년 만에 가장 인기있는 SATA Gen3, 이론적 인 대역폭은 SSD의 개발에서 주요 병목 현상이되었고, PCIe SSD 또한 상승을 이용했습니다.
PCIe Gen3을 사용하면 이론적 인 대역폭이 8GT / s (1 레인)에 도달 할 수 있으며, PCIe 인터페이스는 뛰어난 확장 성을 제공하고 이론 전송 대역폭에는 레인 (레인) PCIe 인터페이스의 수를 곱합니다 1 차선에서 16 차선까지 확장 가능하며 전송 대역폭은 SATA가 동일한 등급이 아닐 수 있습니다.
위에서 언급 한 물리적 인터페이스 지원 발전 외에도 SSD와 호스트 간의 전송 프로토콜은 SATA 장치 용으로 개발 된 이전 AHCI (Advanced Host Controller Interface)에서 Non -Volatile Memory Express (NVMe), 표 1은 AHCI와 NVMe의 주요 차이점을 간단히 대조합니다.
즉,의 PCIe 인터페이스의 진화 다음의 NVMe 전송 프로토콜, 잠재적 인 저장 매체 장치, 다음 세대에 SSD로이와 NAND 플래시 SSD의 재 해방. SSD의 시장에서의 NVMe 전송 프로토콜의 인기와 함께 소비자 급 PCIe SSD는 2018 년에 약 50 %의 시장 점유율을 차지할 것으로 예상됩니다.
소비자 SSD 시장에는 제품 판매 수치에 직접적인 영향을 줄 수있는 몇 가지 핵심 요소가 있습니다.
가격
일반적으로, NAND 플래시 SSD는 SSD의 구성의 다른 벤더 중 가장 고가의 구성 요소들 사이의 전체는, NAND 플래시 SSD는 95 % 재료 원가의 전체 비용이 80 % (재료 BOM 빌)을 달성 할 수있다.
그러나, NAND 플래시 SSD는 주기억 구성은 필수. 따라서, 가격을 낮출 수있는 방법이다 SSD 다른 비 - 필수 성분을 제거하기 위해 비용을 절약한다.
그리고 모든 제조 업체는 처음으로 제거의 대상이 동적 랜덤 액세스 메모리 (동적 랜덤 액세스 메모리, DRAM), 대략적인 관점, 약 3 ~ 4 달러 인 4Gb DRAM 칩이라고 생각합니다. SSD의 BOM 이상으로 제거 될 수 있습니다. SSD의 비용과 가격면에서 상당히 중요 할 수 있습니다.
소비 전력
전력 소모는 SSD 제조업체, 특히 휴대용 장치의 약 5 ~ 10 %를 차지하는 PC OEM을 대상으로하는 SSD의 또 다른 큰 고려 사항입니다 소비 전력 중 %.
SSD가 전력 소비를 줄일 수 있다면 나머지 구성 요소에 전체 전력 예산을 남겨두고 휴대용 장치의 배터리 수명을 연장 할 수 있습니다.
신뢰성
SSD는 사용자의 스토리지 장치로, 데이터의 신뢰성은 사용자의 기본 고려 사항으로 바인딩됩니다. 오늘날의 다양한 오류 탐지 및 오류 정정 기술은 점점 더 개발되고 있지만, DRAM에서 제거되는 전력의 손실, 사용자 데이터 손실 또는 왜곡의 가능성을 더욱 줄일 수 있습니다.
실적
이 모든 요소가 SSD 제조업체와 사용자에게 중요한 고려 사항이지만 SSD를 구매하려는 소비자의 의지에 영향을 줄 수있는 효율성은 여전히 강하다. SSD에 캐시로 사용할 DRAM이없는 경우 그 성능에 필연적으로 큰 영향을 미칠 것이다 이는 오늘날 DRAM-Less SSD가 PCIe SSD 시장에서 인기가없는 이유이며, 오늘날 PCIe SSD를 구입하는 소비자는 고속 액세스가 필요하며 SSD의 전반적인 DRAM 성능을 제거해야합니다 대신, 할인됩니다.
HMB, DRAM-less SSD 성능 향상
다행히의 NVMe 협회는 또한 소비자 SSD 시장에서 이러한 경향을 관찰 메모리 버퍼 (HMB)이 기능은 2014 소비자의 기대 사이에서 앞으로 넣어 DRAM없는 SSD의 NVMe 사양 1.2 버전의 전체 성능을 향상하는 데 사용되는 호스트를 개발 레벨 SSD 솔루션은 가격과 성능 간의 균형을 한층 더 끌어 올릴 수 있습니다.
호스트 (호스트)에 대한 메커니즘을 제공 이름에서 알 수 있듯이, 즉, 메모리 버퍼를 호스트하는 것은 현재 메모리 리소스를 사용할 필요가 있고,의 NVMe 통해 프로토콜은 SSD의 사용을 제공 할 수 없다. 그 결과, DRAM없는 SSD 자체가 수 특정 상황에서, SSD의 HMB 추가 자원 호스트 구성, SSD 컨트롤러 (제어기)를 얻을 때, DRAM의 경우와의 성능을 향상시키기 위해 DRAM 캐시로 추가 자원을 획득하도록 구성되지 않는다.이 정보는이 영역에 배치 될 객관적으로 말해서, 이것은 각 SSD 컨트롤러에 내장 된 펌웨어에 의해 결정됩니다.
그러나, 물리 주소 변환 테이블에 논리 지난 상황에서 고려 SSD 제품의 구현을 복용 (L2P 매핑 테이블)는 HMB 시스템 정보에 배치 될 가능성이 높습니다.
간단히 말해서, L2P 매핑 테이블은 이미지 위치 및 물리적 레벨 (물리적) 페이지 위치 (매핑) 관계없이 SSD의 수행 판독 또는 기록 될 필요 간의 논리 레벨 (논리) 페이지 (페이지)를 기록하는 데 사용되는, 언뜻 보면 매우 합리적인 것으로 보인다에서 HMB에 액세스 속도의 SSD를 개선하기 위해 액세스 시간을 줄이려면 L2P 매핑 테이블 있도록 L2P 매핑 정보의 일정 금액에 액세스해야합니다.
?의 PCIe GEN3 2 차선 + 3D : HMB 실제 설계 후 도입, DRAM없는 SSD의 성능은 간단한 (아무 채널 4 SSD 컨트롤러은 DRAM + 전송 인터페이스 구성을 통해 계산하는 방법을 모델에 영향을받을 수 있습니다 NAND 플래시) 전반적인 성능 추세의 결과.
효과를 발휘하기 위해서는 단순히 HMB에 의한 차이 후 열 수 있습니다에서. 우리가 해결 된 호스트 SSD의 HMB 크기에서 얻을 수 128메가바이트으로 회복되지 않습니다 가정 우리가 분명히 순차 읽기에서 볼 수있는 그림 2를 참조하여 작성 HMB 후 열기 영업 실적은. 계정으로 HMB의 성격을 촬영하는 사용자 데이터를 읽고 저장하고 일반적으로 공간 규모를 작성하는 데 사용 휘발성 메모리, 여전히 대부분으로, 여전히 너무 높은 많은 개선되지하지가 스토리지 L2P 매핑 테이블 캐시 (구현은 다양한 SSD 공급 업체의 디자인에 따라 다릅니다).
그림 2 HMB 순차 읽기 및 쓰기 성능 비교 사용
전반적인 성능 향상은 쉽지 않습니다 HMB 디자인은 미스테리가 있습니다
일반적으로 말해서 RAM에서 데이터를 읽는 시간은 NAND 플래시에서 데이터를 읽는 데 걸리는 시간 (Ns vs. 우리)보다 훨씬 적기 때문에 적절한 알고리즘을 사용하여 알고리즘을 설계하고 승격 할 수 있다면 L2P 매핑 테이블 적중률 (적중률)은 전반적인 성능을 어느 정도 향상시킬 수 있습니다.
순차적 인 읽기 및 쓰기 동작에서 사용자가 읽고 쓰는 데이터는 연속적이며 물리 계층과 물리 계층 간의 논리적 인 관계가 지속적으로 분산되므로 L2P 매핑 테이블을 NAND 플래시에서 자주 다시 읽을 필요가 없습니다 HMB 안에 붙 잡혔다.
적중률 L2P 매핑 테이블이 반드시 높기 때문에 즉, 순차 읽기 및에서 쓰기 작업, 필요 다시 크롤링 L2P 매핑 테이블 기회는 너무도 작은 비용 임베디드 컨트롤러는 높은 용량에만 매우 낮은 의존한다 L2P 매핑 테이블의 작은 금액을 저장하는 정적 랜덤 액세스 메모리 (정적 랜덤 액세스 메모리, SRAM은) HMB 더 많은 표를 저장할 수있는 이유, 전반적인 성능에 너무 큰 영향 없을 것이다, 충분하다.
사용자는 SSD 컨트롤러에 대한 임의의 판독을 수행하는 경우, 처리 할 대한 데이터의 하부 합계의 위치는 임시 L2P 매핑 테이블 소량 적중률에 비해 내장 SRAM에 저장된다 예측할 연속적인 읽기 및 쓰기가 크게 줄어 듭니다.
이 경우 추가 L2P 매핑 테이블에 대해 추가 L2C 매핑 테이블을 확보하여 Hit Rate을 높이고 NAND 플래시에서 정보를 다시 가져 오는 빈도를 줄일 수 있다면 랜덤 액세스 성능을 크게 향상시킬 수 있습니다.
이 계산하기 쉬운 모델을 사용하면 HMB를 기반으로 한 성능 향상이 전체 디스크 전체에서 무작위 읽기의 경우에도 40 %까지 향상 될 수 있습니다. : 전반적인 SSD 용량이 증가함에 따라 HMB로 인한 성능 향상이 더욱 두드러 질 것입니다 (그림 3).
그림 3 HMB 4KB 랜덤 읽기 성능 비교 전후
사용자가 적중률을 낮추는 것, 캐시 맵핑 테이블에 저장된 테스트 데이터의 충분한 수의 동일한 크기의 구성에 큰 DRAM리스 SSD 용량 SRAM에서, 임의의 판독을 수행 할 때 때문이다 이 시점에서 그것은 효과의 큰 정도를 향상시키기 위해 설계된 적절한 플래시 변환 계층 (FTL) 아키텍처는 SSD에 자원 HMB 호스트 자료를 얻을 수 있다면.
도 4는 다음과 같은 추정 모델 DRAM 레스 SSD에 기초하여 동일한 나타낸다 HMB 킬로바이트 임의의 기록 데이터의 성능은 SSD 컨트롤러 경향, 쓰기 동작을 개선하고 더 복잡한 비교 판독을 .
그림 4 HMB 4KB 랜덤 쓰기 성능 비교 전후
데이터를 쓰는 동안 L2P 매핑 테이블을 읽는 것 외에도 컨트롤러 펌웨어는 L2P 매핑 테이블의 내용을 수정해야하며 (논리적 - 물리적 매핑 테이블을 수정해야 함) 다시 NAND 플래시에 저장해야합니다 내부, 전체 데이터 쓰기 작업을 완료합니다.
L2P 매핑 테이블을 저장할 버퍼 공간이 충분하지 않은 경우 컨트롤러는 랜덤 쓰기 조건에서 기록 할 각 현재 데이터에 대한 L2P 매핑 테이블 정보를 얻기 위해 NAND 플래시 블록에 더 자주 액세스해야합니다.
또한 일반적으로 데이터를 읽는 데 걸리는 시간 (ms 대 ms)보다 각 NAND 플래시에 데이터를 쓰는 데 훨씬 오래 걸립니다. 따라서 SSD가 DRAM으로 캐시로 구성되지 않은 경우 임의 쓰기 성능 큰 영향을받습니다.
DRAM-Less SSD가 HMB를 지원하도록 설계되고 호스트에서 추가 DRAM 리소스를 얻게되면 더 많은 이점을 얻을 수 있습니다.
동일한 견적 모델을 사용하여 DRAM-Less SSD는 전체 SSD 스토리지 영역의 랜덤 쓰기 테스트를 위해 HMB 메커니즘을 지원하므로 최대 4 배에서 5 배까지 성능이 향상됩니다.
HMB 크기는 읽기 및 쓰기 성능에 영향을 미칩니다 SSD 디자인은보다 포괄적이어야합니다
위에서 설명한 DRAM-Less SSD 성능 추세는 장치 끝이 호스트 끝에서 고정 128MB의 전용 메모리를 계속받을 수 있다는 가정을 기반으로합니다.
그러나 실제 크기의 HMB는 SSD의 현재 사용량과 SSD의 요구에 따라 호스트에 의해 동적으로 할당됩니다. 호스트가 현재 제공 할 수있는 메모리 자원의 크기가 SSD의 요구를 충족시키지 못하면 SSD는 이 HMB 조각을 사용하려면.
따라서 DRAM-Less SSD의 컨트롤러 펌웨어를 설계 할 때 HMB를 사용하여 사용자 경험을 향상 시키려면 하나 이상의 HMB 크기를 고려하는 것이 가장 좋습니다.
그림 5는 HMB의 크기가 0 (HMB 제외)에서 1024MB 일 때 4KB 임의 읽기 / 쓰기 계산의 결과를 보여줍니다.
그림 5 : 4KB 랜덤 읽기 및 쓰기 성능을위한 다양한 HMB 블록 크기
우리는 HMB 크기가 증가함에 따라 전반적인 성능 추세가 개선되는 반면, 충분한 HMB 리소스가 사용 가능할 때 SSD 성능이 포화 상태가되기 시작합니다. 충분한 HMB가 사용 가능할 때 , SSD 컨트롤러는 HMB에 읽고 쓰기 위해 필요한 모든 시스템 정보 (L2P 매핑 테이블 포함)를 넣을 수 있습니다.
결과적으로 DRAM-Less SSD 성능은 최적화 결과 (이론적으로 동일한 DRAM 리소스로 구성된 SSD와 동일)로 볼 수 있습니다. 따라서 SSD 컨트롤러 공급 업체가 펌웨어 아키텍처를 설계 할 때 무엇을 고려해야합니까? 시스템 데이터 구조는 DRAM-Less SSD가 가능한 한 빨리 포화 점에 도달하도록합니다.
즉, 방법 계정에 액세스 속도 및 메모리 자원 소비를 고려 HMB의 HMB 지원 시스템 데이터 구조에 대한 세트 크기 하에서 DRAM없는 SSD의 설계, 심지어 SSD 할당 쉽게 볼 통계적 확률 포인트 최적화 상황은 곧 결선 점에서 경쟁의 다양한 SSD 컨트롤러 제조 업체의 PCIe DRAM 레스 SSD 제품 라인이되고있다.
원래 의도는 HMB의 효율성의 효과에 대한 이야기의 완료 후, 그러나, 제시 향상시킬 수 있지만 우리 아직 모든 저장 장치에 대한 관심에 다시 와서 가장 기본적인 요구 사항입니다 필요 저장된 데이터 (데이터 무결성)의 무결성.
SSD 컨트롤러의 경우, HMB에있는 모든 정보를 100 % 완전히 신뢰하고 있습니까? 이상적인 상황에서 대답은 '예'이며 실제 사용에서는 여전히 일치해야합니다. 강력한 보안 메커니즘
DRAM-Less SSD가 HMB 리소스에 할당되면 어떤 종류의 정보가 HMB에 저장됩니까? 실제로이 질문에 대한 대답은 각 SSD 컨트롤러의 펌웨어 디자인에 따라 다르지만 데이터 버퍼 데이터 버퍼, L2P 매핑 테이블 또는 나머지 컨트롤러에 필요한 시스템 정보는 모두 가능한 옵션입니다.
이 정보 중 일부는 SSD 컨트롤러에 중요하거나 다시 작성할 수 없으므로 NVMe에서 HMB를 도입했을 때 HMB 기능을 끌 필요없이 SSD의 데이터를 보증 할 수 있도록 지원되는 HMB 용 SSD 컨트롤러가 필요했습니다 무결성
또한 예상치 못한 데이터 전송이나 호스트 측 액세스 또는 데이터 전송 왜곡이 HMB에 저장된 정보에 영향을 줄 수 있습니다 HMB에 저장된 데이터의 무결성을 보장하는 방법은 PCIe DRAM- 주제를 덜 SSD.
SSD 데이터 전송 무결성 보장 E2EDPP 메커니즘이 두드러집니다
SSD 시장에서 솔루션은 호스트와 장치 사이를 이동할 때 데이터 무결성을 보장 할 수있는 기능이 있어야합니다 E2EDPP (End of End Data Path Protection) 6)는 이러한 목적을 위해 널리 사용되는 메커니즘입니다. 데이터가 읽히거나 쓰여지면 호스트 → PCIe IP → 프로세서 → 데이터 버퍼 → 보안 엔진을 포함한 다른 사이트를 통해 경로가 이동합니다 → 플래시 IP → NAND 플래시, 읽기 경로가 반대입니다.
그림 6 엔드 - 투 - 엔드 데이터 경로 보호 (HMB 데이터 경로 포함)
이 보호 메커니즘의 주요 목적은 데이터 전송을 보호하는 것 외에도 데이터의 컨트롤러 RAM 이동이 소프트 오류 발생시 전반적인 디자인에 디버깅 기능이있어 호스트에 잘못된 데이터가 전송되는 것을 방지합니다.
DRAM-Less SSD는 HMB 기능을 지원하여 호스트에 특정 정보를 저장할 수 있으므로 호스트와 장치간에 HMB 데이터의 양방향 전송을 보장하기 위해 E2EDPP 메커니즘을 확장해야합니다.
HMB 정보 전송 경로에서 데이터 무결성을 보장하고 각 SSD 컨트롤러 제조업체의 디자인을 보는 방법 쉬운 개념 중 하나는 HMB 데이터를 패리티 검사 또는 순환 Redundancy Check, CRC)는 데이터에 오류가 있는지 감지하는 데 사용됩니다. 테스트가 실패하면 컨트롤러는 즉시 오류 처리를 수행합니다.
의 NVMe 사양 내에서 명시 적으로 전용 액세스를 부팅 할 수 HMB의 SSD 중에이 블록이 필요하지만, 다른 한편으로는, HMB 데이터에 의한는, 호스트 측의 내부 RAM에 저장되어 있지만 고장은 심지어 악의적 인 행위가 액세스 할 수있는 호스트 측에서 발생 HMB 정보 HMB를 획득하고 획득 한 정보에 기초하여 짝수의 데이터를 저장할 수있다 때 변조하여 사용자에 영향을주지. 따라서, 별도로이 HMB 정보를 다시 판독하는 제 암호화 호스트 측에 기록하고, 장치 측까지 송신되는 동일한 수 복호화 및 전체 테스트 데이터는 종래 (도 7)를 재사용.
그림 7 HMB 메시지 디버깅 및 암호화 및 해독 메커니즘 다이어그램
HMB는 무엇이 가장 좋은 방법 프로그램이 현재 아마 아직 확정되지이다. 구현 방법의 넓은 범위가 다른 SSD 컨트롤러 제조업체에 데이터 무결성 및 보안 문제를 보장하는 생각하지만, 확실히 동시에 DRAM없는 SSD의 성능을 향상하기 위해 HMB를 사용하고, 시스템의 전체적인 디자인은 여전히 사용자 데이터의 정확성을 보장하기 위해 데이터 보호 메커니즘을 강화해야합니다. 이런 식으로, DRAM없는 SSD의 HMB 정말 좋은 기회가 낮은으로 이어질 수 있습니다 렐름.