How to use double SSD in Bit-Brick K1 SBC?

我想在K1开发板中使用双固态硬盘用来做NAS,但是当我使用两个固态硬盘的时候,发现系统只识别了一个固态硬盘。一开始我以为是我的固态硬盘有问题,所以做了单独的测试,发现两个固态硬盘都可以识别,两个M.2的接口也是正常使用,所以怀疑是系统适配问题,请问如何修改能够实现双固态硬盘的识别。谢谢

这个问题 是由于此款ssd提供cntlid是相同的,所以导致只能识别一款:

  1. 在 NVMe 协议设计中,CNTLID(Controller ID) 是控制器唯一性标识的核心参数
  2. 其数据来源有两种:
  • 物理 NVMe 设备:由固件通过 Identify Controller 命令返回
  • NVMe-oF 设备:由主机或 Target 动态分配
    ssd属于物理 NVMe 设备设备,由ssd固件决定。
  1. 主机需要通过CNTLID区分控制器,负载均衡策略和最小队列深度算法等都对其由依赖,linux系统要求其保证唯一性。
    具体提交:1b1031ca63b2ce1d3b664b35b77ec94e458693e9,详见提交描述;
    总结:
    CNTLID的唯一性是linux系统nvme框架层要求,需要ssd固件保证。这款异常的ssd需要找原厂支持重新设置CNTLID。
1 个赞

Thank you!

Did you make the two M.2 SSD drivers work concurrently on your BitBrick K1 finally, what commands or configuration were needed?

Was the issue only that the two SSD:s had the same brand or product name?

yep,the two SSD must have the diffent cntlid.

1 个赞