microSD Express导入NVMe传输介面,小小记忆

发布于:2020-05-21 分类:国内论文   

SD协会(SD Association)在2018年提出SD 7.0规範中,除了将容量上限推升至128TB,也将PCIe介面与NVMe协定导入SD Express记忆卡,让传输速度最高可达984.6MB/s,解放记忆卡容量与速度的束缚。在2019年的MWC期间则提出SD 7.1规範,将这个优势延伸到microSD Express记忆卡。

将SD Express「micro」化

在2019年2月底于西班牙巴塞隆纳的MWC世界行动通讯(Mobile World Congress)大会中,SD协会发表了SD 7.1规範以及microSD Express,它最大的特色就是在microSD尺寸的记忆卡导入PCIe介面与NVMe协定,并与传统microSD向下相容,兼顾传输效能与相容性。

microSD Express与先前在SD 7.0规範中定义的SD Express一样,都是藉由PCIe介面带来最高985MB/s的资料传输速度,并透过NVMe协定强化记忆卡存取机制,而尺寸更小的microSD Express能应用于智慧型手机、平板电脑等行动装置,将可带来固态硬碟等级的效能与使用体验,藉由出色的传输效能,满足游戏、VR、多通道IoT装置、车用电脑、高画质行车记录器、360度摄影机等使用情境的需求。

microSD Express导入NVMe传输介面,小小记忆 ▲ microSD Express收录于SD协会发表的SD 7.1规範白皮书中。(图片来源:SD协会)

microSD Express导入NVMe传输介面,小小记忆 ▲ microSD Express与SD Express一样,都採用PCIe介面与NVMe协定。(图片来源:SD协会YouTube频道,下同)

採用向下相容的新脚针规範

SD Express、microSD Express在记忆卡的尺寸方面,皆与传统SD、microSD相同,至于脚针配置方面,SD Express与SD UHS-II相同,而microSD仅有上排脚针与microSD相同,下排的脚针虽然与microSD UHS-II相近,但是脚针的长度较短且位置稍微上移。

两者皆採用PCIe 3.1与NVMe v1.3等规範,并採用UHS-II的下排脚针传送PCIe差分讯号,而REFCLK、CLKREQ#、PERRST#等讯号则使用上排脚针。

无论是SD Express或microSD Express,其上排脚针都能相容UHS-I,因此可以直接插入传统装置或读卡机使用,但是两者都不相容UHS-II。

SD Express、microSD Express的初始化过程皆为弹性可变的,主控端可以採用传统SD介面或是PCIe介面对记忆卡进行初始化,但SD协会强列建议採用前者,以利确认容量、记忆卡状态等资讯。

当记忆卡连至PCIe与NVMe主控端后,就会被视为标準NVMe装置(Stander NVMe device),并列在「大量储存控制器 -> 固态硬碟控制器 -> NVM Express装置」底下,能够透过标準的NVMe驱动程式存取记忆卡。

至于传统SD的密码锁、防写开关等功能,也可以透过NVMe v1.3规範来达成相容,让使用者可以透过密码保护记忆卡,PCIe、NVMe介面都会因此无法存取内部资料,或是将防写开关切换至唯读状态时,避免资料被写入记忆卡。

目前SD 7.0与SD 7.1规範在电力供应的定义方面,让SD Express、microSD Express除了支援传统3.3V,还支援1.8V电压输入,能够达到省电的效果。

SD协会也指出预计在未来推出的规範中导入1.2V电压输入,但会透过全新的脚针(SD Express的#18、microSD Express的#17)达成,能够进一步对电力消耗与效能进行最佳化。

microSD Express导入NVMe传输介面,小小记忆 ▲ SD Express、microSD Express的尺寸方面与传统SD、microSD相同。

microSD Express导入NVMe传输介面,小小记忆 ▲ SD Express的脚位SD UHS-II相同,而microSD则与microSD UHS-II有些许不同。

microSD Express导入NVMe传输介面,小小记忆 ▲ microSD的下排脚针长度较短且位置稍微上移。(图片来源:SD协会,下同)

导入先进存取机制

PCIe与NVMe具有多种能够增加存取效能的通讯协定与机制,SD Express、microSD Express也导入了Bus mastering、Multi Queue、Host Memory Buffer等机制,让资料存取更有效率。

Bus mastering也称为第一方DMA(First-Party Direct Memory Access),能让系统中各装置直接存取记忆卡中的资料。举例来说,当行动装置要下载资料并写入记忆卡时,数据机可以直接将存取需求传送至记忆卡,而不需处理器介入处理,如此一来除了能改善存取延迟之外,因为过程不需要应用处理器(Application Processor)的协助,因此应用处理器能维持在低功耗状态,发挥降低系统资源佔用与节省整体耗电量的效果。

Multi Queue也是NVMe的特殊功能之一,能够在记忆体中为每个处理器核心配置专属的存取命令伫列,解决了传统协定中只能在主控端拥有1个存取命令伫列的问题,能够避免主控端成为效能瓶颈。

Host Memory Buffer(以下简称HMB)则是能让记忆卡不需自行搭载缓冲记忆体的技术,其概念与无DRAM(DRAMLess)的故态硬碟相近。

在高速存取的硬体架构中,控制器往往需要缓冲记忆体等额外资源,然而嵌入于记忆卡的SRAM成本比主记忆体採用的DRAM高出许多,因此会影响到记忆卡的价格。HMB是PCIe与NVMe的原生功能,能够在系统的主记忆体切出1块缓冲区供记忆卡使用(缓冲区容量由主控端决定),如此一来就能省下记忆卡上的SRAM,在效能与成本之间取得更理想的平衡。

SD协会也在SD 7.1白皮书提到,在记忆卡效能越来越高的情况下,主记忆体与记忆卡的关係也变得更具弹行,除了可以透过主记忆体作为缓冲区,省下记忆卡的SRAM元件外,还能反过来将记忆卡作为延伸的主记忆体,把高速的SD Express、microSD Express当作系统资源,节省主记忆体使用量。

microSD Express导入NVMe传输介面,小小记忆 ▲ Bus mastering能让其他装置跳过处理器,直接存取记忆卡。

microSD Express导入NVMe传输介面,小小记忆 ▲ Multi Queue则是能增加存取命令伫列并对多工进行最佳化,以免主控端限制效能发挥。

microSD Express导入NVMe传输介面,小小记忆 ▲ HMB则能省下记忆卡上的SRAM,以系统主记忆体作为缓冲区。

标示图案保留前朝设计

由于SD Express、microSD Express具有向下相容功能,因此在记忆卡上是会除了会标示「Express」或简写的「Ex」之外,还会标示当插入传统SD、microSD等SD UHS-I规範的装置与读卡机时,会以「HC」、「XC」或「UC」速度运作。

如果要发挥SD Express、microSD Express记忆卡的最佳效能,就需要搭配支援的装置或读卡机。由于SD Express、microSD Express的向下相容只支援SD UHS-I规範,因此无论插入SD UHS-I、UHS-II或UHS-III装置或读卡机,最高传输速度都被限制在SD UHS-I的104MB/s。

microSD Express导入NVMe传输介面,小小记忆 ▲ 标示图案大致与先前设计相同,主要差异为多了「Express」或「Ex」字样。

microSD Express导入NVMe传输介面,小小记忆 ▲ microSD Express的标示示意图。(图片来源:SD协会)

microSD Express导入NVMe传输介面,小小记忆 ▲ 各种记忆卡与读取装置搭配的效能表现对照表。

虽然目前的记忆卡存取速度还没办法触及SD Express、microSD Express的上限,但随着快闪记忆体的技术提升,或许不用多久就会冲破传统规範的限制,因此提早制定规格更高的规範势在必行。另一方面,导入PCIe、NVMe不但能提升传输速度上限,也能透过先进的存取机制降低延迟,对于小档存取的效能表现有正面帮助。

接下来我们需要观察的重点之一,就是microSD Express是否能在智慧型手机、平板电脑等行动装置上普及,以及它的价格是否能落在一般消费者能接受的区间。


正文到此结束.