SSD实战-从串口日志分析SSD问题

一、开卡串口日志

reboot fail、NO Found MR or NO BBL

image

 --MP Tool的resource目录下缺少middle.exe

image

 --硬件故障,换盘

 

短接开卡,开卡后打印Get info Fail或R/W Test fail

--去掉物理短接,插上看固件是否更新成功

rescan fail

--更新开卡板固件

Sorting ResuIt Fail

--没有RDT结果

串口没反应

--盘供电异常,插槽或者转接板存在问题

 

二、公司1串口信息

版本号:1个是FW,一个是MP Tool填的

image

严重错误: Assert/panic

image

timeout

image

 

No need to release the mutex:需要接地线

image

 

 shutdwon掉盘

image

单盘出现91mPreset:需定位分析

多盘出现91mPreset:先尝试更换转板

image

 三、公司2串口信息

compile:查看版本信息

image

  • 打印+++, 表示盘已下电(可继续使用)
  • 打印读取字符为0,连接断开(需重新连接串口) 
  • 串口无法识别(烧录器重新烧MCU)
    • 需要文件:SSD_BOARD.bin 转成 .LoP100
    • 换串口板或串口线
  • 敲串口没有反应:输入lock解锁
  • 烧录过程卡住
    • 重新烧
    • 换个环境
    • 减少目录路径
  • 盘下电完成:打印plp done
  • 上电认盘成功:打印ADMIN CREATE cq、sq

image

1、No more free space:更新时加-F,加config

--F:清除nor flash中配置、数据(慎用)

image

 2、EM2 Error

image

raid recovery fail

image

--需研发定位

 连接速率

image

VU命令获取Log

  • vu解锁
  • update log
    • nvme admin-passthru /dev/nvme0n1 -o 0xC4 -cdw12=8
  • get log 
  • 将获取到的日志进行解压缩,得到starxxxx_fw_log/lfs_log.bin文件
  • 工具编译
  • 解析
    • ./a.out /root/starxxxx_fw_log/lfs_log.bin >nvme0n1.log

查看擦写次数

0d8dfdf2dd4f2f5246521371a7822179_ccb37177-30da-4403-880e-4cb469fb8bed

 

42f30fda1a60b0b2365bb014176427ca_d83fb32c-0c86-4ffc-91b0-93738358b683

enter EOL: op too small

--UECC太多mark bbm 导致op 太小进EOL,需要分析UECC

 

Data Corrupted Error

数据已损坏,不再是写入时的原始值

--重读进行分析,可能是UECC导致

--读正常的,可能被覆写,无法分析

UECC

--重读能成功,不用分析

  • read_ppa lun blk tu replace_en:success就数据没问题
  • tu:包含page和plane信息
  • replace_en:0(读replace之前的数据)

--被覆写,无法分析(display_ec查看擦写次数)
--版型原因:00版型出UECC不用分析

dac606217e77eee91bce2207ce7f3150_20c1f8ae-f1f2-4823-ade6-e4545db7e2d4

 

PI Check Error

--fill-up read fail,读填充的pattern数据失败
可能是UECC或者RAID RECOVERY FAIL

--没有read fail,可能是内核版本存在Bug

erase_fail

--重新aging,看能否筛选出对应blk

free blk不足

--gc参数问题或UECC

[TT]

进入温控
[TT]:start tt composite temp = 75C(348K), tt mode[1]
[TT]: PCIe Gen5 -> Gen4

[TT]:The disk has been locked composite temp = 91C(364K)

60c620e0f1ff25f32bc0e1f7784989cd_65f49bf9-67fd-447c-90c7-5163e36ea994

ASSERT

2ea8a10138f9c18d324575e39458c065_ab2a4f25-6435-4ed5-95bd-7eb3ce4301c5

--汇报体现文件和行数

assert:/nfi_comn.c:1025

 

Assertion failed: nfc_func.c,2712

--编译代码时,颗粒型号选错

9b04516836a88189a4e67cd209f9fe30_52f978dc-729a-408a-974f-3d2561009878

需要更换config的情况

  • ASSERT hal_nfi_init.c:1816
  • assert json_board_import
  • ddr4 init fail
  • This Disk is uninitiated, need scan all NAND block
  • deadbeef
  • wait EM run ack
  • 大量 ddc training fail

assert
journal_restore_item_data

--需要擦盘

test_matrix_erase_all、test_matrix_erase_force、aging

boot recycled 0 zero vtc blks

--没有vtc 等于0的blk(可用的blk),导致上电无法识别,需要擦盘

060c560816d6fc5c56a272cadc6e8e6c_3445ec11-eeb2-44e8-ad02-0ee17aef230b

NOR: XXXX

--没认到NOR

串口小板和盘接触不完全\串口板供电问题

 

wait PERST high

--检查接口是否为U.2插槽、重新插拔

 enter result reporting mode

--aging中断\aging fail

1、delete_aging_fail_result、reboot
(删除aging结果后重启,重新开始aging)

 not enalbe, but send shutdown!

--pcie链路出问题解决、检查一下转板连接和是否插好

查看config(配置文件需要和盘匹配)

  • display_config 2查看inhouse_model_num
  • "inhouse_model_num": "U2A01T9-B102_A22N6B3"
  • 重点是A22N6B3:必须一致

打开vt扫描功能

  • display_config 3
  • set_config_map_int 3 2 1 // 使能vt扫描
  • flush_config 3 // 下刷修改的值
  • 重新上电
  • display_config 3 //再次打印hw.json配置,确认是否修改成功

e9eb1ce037b56aa1f31205465e15a6c8_857a7225-3adf-4b5c-81c6-7c522ad9f0c9

删除除nor_flash部分文件

  • ./boot_elbi -d 01:00.0 -X(选择文件进行删除)
  • lfs_ls:串口确认nor flash空间占用情况
  • lfs_remove_nor 文件名 confirm:串口删除指定文件
  • 比如:lfs_remove_nor test.json confirm

可以删除的:
core_dump.log
sysdump
img_active.list.bak
img_active.list

修改速率为PCIe Gen5

  • set_config_map_array_int 3 0 6 0 5
  • flush_config 3
  • 重新上电一次
  • set_config_map_array_int config index  index  index value
   
posted @ 2026-10-29 11:58  FengweiTech  阅读(3)  评论(0)    收藏  举报