FPGA芯片的单字节翻转?
白宇珩脑子轰的一声。
半导体的基础,就是二进制的0和1,通过半导体的状态,制造出无数的0和1的组合,用这些二进制的数据来代表一切。
每一个0或1,就是一个字节。
而在某些极端状况下,例如温度过高或过低、电压波动,都有可能引起单一字节从0翻转成1,也有可能从1翻转成0。
这时候,如果翻转发生在数据存储单元,可能导致错误数据返回;如果发生在控制单元,可能引发逻辑错误。
因此,现代的芯片,都内置有错误检测与纠正以及奇偶校验功能,自动检测出翻转的字节,并进行修正。
FPGA芯片自然也不例外。
FPGA芯片常用于加速特定计算任务,比如数据加密、压缩、网络流量管理等,而在搜索领域,FPGA可以用于搜索算法的加速,尤其是涉及大规模索引和关键词匹配时。
同时,FPGA也可以用于存储控制器,提升存储访问速度与效率,千寻的IDC中使用了大量的FPGA芯片。
“这不可能!”白宇珩身体巨震再震又震,甚至忘了此前的谨小慎微。
“我们此前检查过FPGA寄存器和缓存数据一致性,没有发现错误数据!指令链的返回结果也是完全正常的!
“是吗?稍等啊,我问一下端粒具体情况。”孙敬手指噼里啪啦的在键盘上敲击了一阵,没多久端粒的终端就发回了更详细的故障原因分析。
“原来是这样!”
孙敬恍然大悟,回过头对白宇珩道:“白哥,这个翻转的字节是11010110(0xD6),不知道是什么原因翻转成为了11010111(0xD7),而0xD7正好对应的是‘白名单非审查’。因为对应字节是有内容的,因此系统没有报错,同时返回了正常结果。”
!!!!!!
“就这么简单?”白宇珩脸上肌肉抽动,简直不敢相信自己的耳朵。
就是这样一个芯片缓存的单字节翻转,千寻数百名超级技术天才、数千名顶级技术人员折腾了一个月没有发现这个问题?
而且如果只是一颗FPGA芯片发生了单字节反转的问题,根本不可能造成千寻服务器整体“内容管理”失效,千寻可是用了三万六千多颗Virtex-7的FPGA芯片!
“其实也不简单。”孙敬推了推眼镜,指着笔记本屏幕道,“
本章未完,请点击下一页继续阅读!