![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PCIe NVMe
文章平均质量分 87
八档电风扇
FW
展开
-
nvme1.3 Feature - Telemetry
8.14 Telemetry遥测技术使制造商能够收集内部数据日志,以改善产品的功能和可靠性。遥测数据的收集可以由Host或者Controller进行发起。遥测数据以Telemetry Host-Initiated log page or the Telemetry Controller-Initiated log page (refer to section5.14.1.7 and 5.14.1.8)的形式被返回到Host。抓取的数据由厂商自定义。遥测功能定义了收集厂商特定数据的机制。Controlle原创 2021-03-01 17:52:20 · 1543 阅读 · 0 评论 -
nvme1.3 Get Log Page Command - Telemetry
5.14 Get Log Page Command5.14.1.7 Telemetry Host-initiated(Log Identifier 07h)这种log由头信息和Telemetry Data Blocks组成(参见8.14)。所有的Telemetry Data Blocks都是由512Byte为单位。当Controller要处理一条Get Log Page命令且Log Specific字段中的Create Telemetry Host-Initiated Data bit为1时,Con原创 2021-03-01 17:50:45 · 1648 阅读 · 1 评论 -
Xilinx Zynq mpsoc 的 pcie Tandem 配置
参照Xilinx 《UltraScale Devices Gen3Integrated Block for PCI Express v4.4》 LogiCORE IP Product Guide中的Ch.3章节中的Tandem Configuration.PCI Express specification对设备的要求是PERST# must deassert 100 ms after the ...原创 2020-02-02 18:24:53 · 3785 阅读 · 0 评论 -
nvme1.3 Namsepace
6 NVM Command Set6.1 Namespaces6.1.1 Namespace OverviewNamespace是Logical Block的集合,Logical Block的范围从0到Namespace大小-1.一个Namespace ID(NSID)是Controller用来提供对Namespace访问的标识符。6.1.2 Vaild and Invaild N...原创 2019-12-12 14:20:12 · 3572 阅读 · 0 评论 -
nvme1.3 Virtualization Enhancements(Optional)
8.5 Virtualization Enhancements(Optional)虚拟增强可以使用具有多个Controller的NVM subsystem来提供虚拟或者是物理HOST直接的I/O访问。NVM subsystem由Primary Controller和secondary controller组成,secondary controller由primary controller...原创 2019-12-11 08:02:28 · 2136 阅读 · 0 评论 -
nvme1.3 interrupts architecture
7.5 interrupts中断架构应当去考虑有效的报告中断,这样才能使Host通过最小的开支为中断提供服务。nvme Specification中允许Controller配置四种中断模式中的一种。这四种模式是:Pin-based中断,Signle message MSI中断,multiple message MSI中断和MSI-X中断。为了提高性能,降低延时和HOST处理中断服务的...原创 2019-12-05 09:03:19 · 3616 阅读 · 0 评论 -
nvme metadata end to end 简介和测试
单独对于Metadata的测试只是校验Metadata的写入和读出是否正常就可以了,在格式化成metadata的格式后,不会对lba的数据传输产生影响;metadata的写入读出也都正确.前者可以通过fio测试,后者可以通过nvme cli测试Nvme协议中对于metadata的用法给出的是承载End to End protection,也就是将PI信息放在了Metadata中进行传输,这样的...原创 2019-11-22 15:57:15 · 4114 阅读 · 0 评论 -
nvme1.3 学习笔记 5 Admin Command Set-2
5.9 Directive Receive Command5.10 Directive Send Command5.11 Firmware Commit Command注意:这个命令在nvme1.0和1.1中是“Firmware Activate”命令。Firmware Commit命令被用来修改Firmware Image或者Boot分区。当修改一个Firmware Imag...原创 2019-10-23 07:52:08 · 4826 阅读 · 0 评论 -
Sanitize Command
Sanitize Command被用来开始一个清除操作或者从之前失败的清除操作中恢复。可以支持的清除操作的类型有Block Erase(块擦除),Crypto Erase(秘钥擦除),Overwrite(重写).所有的清除操作都是在后台处理(例如,Sanitize Command的CQ完成并不代表清除操作完成)。具体细节参见8.15节。当任何一个Controller的清除操作开始时,所有在这个...原创 2019-10-23 07:44:49 · 1497 阅读 · 0 评论 -
nvme1.3 学习笔记 4 data struct-2
4.8 Namespace List图37定义了一个有序的Namespace IDs的列表,没有使用的字段为0。图37:Namespace List Format Bytes Description 3:0 Identifier 0:这一字段包含了列表中最小的Namespace ID或者当列表为空时为0 ...原创 2019-05-10 07:46:43 · 2888 阅读 · 0 评论 -
nvme1.3 学习笔记 8 End-to-End Data Protection(Optional)
End-to-End Data Protection(Optional) E2E用来提供从应用程序到存储媒体再到应用程序自身的健壮的数据保护。如果这个可选机制被使能了,额外的保护信息(如:CRC)被添加到了Logical Block上面,这些保护信息被Controller或者Host用来判断本段Logical Block的完整性。额外增添的保护信息根据Names...原创 2019-05-19 14:38:18 · 4617 阅读 · 0 评论 -
nvme1.3 学习笔记 8 Metadata Handling
Controller应该支持每一个Logical Block的Metadata。Metadata是每一块Logical Block的附加数据。对于Host如何使用Metadata数据是没有要求的。一个最普遍的用法是传达E2E保护信息。 Medatada可以用两种方式向Host或者是从Host获取数据。这两种机制在Namespace格式化时被选择。 ...原创 2019-05-19 14:36:49 · 2886 阅读 · 6 评论 -
nvme1.3 学习笔记 5 Admin Command Set-1
5 Admin Command Set Admin Command Set说明了可以提交到Admin SQ中的命令。 Admin SQ Entry的通用的结构定义和字段在第4.2节中说明了。Admmin CQ Entry的通用结构和字段在第4.6节中说明。本节说明的是SQE和CQE中的特定于Admin命令的结构和字段(例如:SQE中的DW10-15和CQE中的DW0)。...原创 2019-05-19 14:29:47 · 10129 阅读 · 0 评论 -
nvme1.3 学习笔记 4 data struct-1
4.6 Completion Queue Entry Completion Queue中的一个Entry至少是16个字节。图26表述了这16个字节的数据结构Dword0的内容在每种不同命令中可能不一样。如果一个命令使用了Dword0,则这个Dword0的定义包含在了命令的定义里面。如果命令没有使用Dword0。那么这一字段被保留。Dword1时保留的。Dword...原创 2019-05-07 08:09:22 · 6467 阅读 · 0 评论 -
nvme1.3 学习笔记 3 controller register-3
3.2 Index/Data Pair Registers(Optional) Index/Data 组寄存器提供了Host使用基于I/O 空间的寄存器方位NVMe内存映射寄存器的机制。如果支持的话,这个寄存器应该在BAR2中定义。在基于PC的平台上,如果PCIE地址空间被映射且被映射到1MB以上,则Host在Real Mode(8086 mode)下的写操作不...原创 2019-05-07 08:07:35 · 5313 阅读 · 0 评论 -
nvme1.3 学习笔记 3 controller register-2
3.1.6 Offset 1Ch:CSTS-Controller Status Bit Type Reset Description 31:06 RO ...原创 2019-05-06 08:12:48 · 4728 阅读 · 0 评论 -
nvme1.3 学习笔记 3 controller register-1
3 Controller Register Controller register位于被映射到host memory space的MLBAR/MUBAR(PCI BAR0和BAR1)寄存器空间上,可以按照顺序访问,可以任意宽度访问。许多计算机架构中,将内存设置为不可缓存会产生这种行为。Host不应该应用锁定访问。Host应该按照他们自己的宽度或者按照32位对其去访问。违反这些主机要...原创 2019-05-06 08:10:47 · 7801 阅读 · 0 评论 -
PCIe TLP包内容 全
一个完整的TLP由1个或者多个TLP Prefix, TLP头, Data Payload 和 TLP Diseset组成。不同TLP头定义不同,TLP Data Payload的长度可变0-1024DW。TLP头由3个或者4个DW组成,第一个DW中保存通用TLP头,其他DW与通用TLP头的Type字段相关,通用头如下:Fmt和Type字段:Fmt和Type字段确认了当前TLP使用的总...原创 2018-10-23 18:16:58 · 4870 阅读 · 0 评论