E2E是End to End的缩写,翻译过来就是端对端的意思。一开始E2E数据保护机制主要用在企业级备上,因为企业级数据服务器必须采用一切可能的措施来保护客户数据。
不过,目前的趋势是E2E也多用在消费级设备上面了,因为消费级客户的数据也得好好保护呀,不能厚此薄彼呢~
为什么采用E2E端对端数据保护机制很有必要呢?
那是因为在固态硬盘使用的整个生态系统中(如下图),任何一个地方都有可能发生问题,最终导致数据丢失。比如说:
a, window环境下驱动有问题,
b, 其他HW或者FWissue(data bus, FW bug, HW defect等等)
那解决办法呢?
SSD的主要元件包括Controller, DRAM, NAND,为了保护数据的完整性,需要在数据传输的整个过程中加以保护,Host to controller, controller to DRAM, DRAM to NAND, 因此被称为“端到端”数据保护(如下图)。
端到端数据保护使用几种技术,如奇偶校验,循环沿着数据路径检查冗余校验(CRC)和逻辑块地址(LBA)标签。 这些数据保护的实现方法是:与原始数据包一起传送额外的奇偶数据,以确保从一个芯片中出来的数据没有发生位翻转,避免产生错误的数据被数据路径中的下一个芯片接收,或被写入闪存盘,或被发送至请求数据的应用。一次检测到错误,SSD立即尝试更正错误; 任何不可纠正的错误报告Host。 下图显示了如何使用数据路径和非数据路径保护每一级端到端数据保护方案。
这些数据保护的实现方法是:与原始数据包一起传送额外的奇偶数据,以确保从一个芯片中出来的数据没有发生位翻转,避免产生错误的数据被数据路径中的下一个芯片接收,或被写入闪存盘,或被发送至请求数据的应用。