西湖的月,断桥的风,若隐若现的BUG

发布于:2023-01-04 ⋅ 阅读:(218) ⋅ 点赞:(0)


前言

作为嵌入式工程师,不是在公司里写Bug,就是在客户那解Bug。四年前的中秋,为了闪存国产化的情怀,三天两地驰援客户, 在一个个城市穿梭。


一、情怀?

2018 年罗老师带火了一个词: 情怀。
2018 年对于闪存行业有一个标志性事件,Y 公司量产了第一款国产 NAND Flash, 彻底打破了国外对 NAND Flash 的垄断。

我是如何卷入的?
作为闪存控制器的研发, 我所在的团队是给Y 公司做闪存控制方案。 那段时间 1/4 的时间驻Y 公司。

有家系统商 X 公司想采用Y 家的闪存,在 7 天后的国庆推出国产化存储器, 作为国庆纪念品, 中国红满满的国产化‘情怀’。好事多磨, 中秋前在内测时,经常出现宕机。

二、在路上

X 公司产线量产用的闪存还在Y 公司封装厂,因我正要从Y 公司的城市赶往 X 公司的城市。兼职了快递员送闪存物料,我一直到晚上10点才拿到闪存物料。

在酒店睡(睡不着眯着)到凌晨 3 点, 从浦东打车到虹桥,全程一个小时,我睡的很香, 直到司机叫醒我。我记得很深刻,那是我夜间打车最远的一次,车费156,比我跨城的高铁票还贵。

高铁一个半小时,早上 6 点半我已经到 X 公司门口。这时节已是深秋,早前一场小雨,钱塘江吹来的风有一些凉, 我穿的有些单薄,从背包赶忙摸出一件长衫穿上。

X 公司今天放假,由对接工程师 Tom 和我们协作。好在他很快来了,我可以进到室内暖和点,把我的背包、行李带进去, 量产物料交给 Tom.


三、一头雾水

第一天:
1)对齐客户的测试flow, 请大本营同步复现
2)分析Fail 样品
3)了解客户对异常场景的处理逻辑
4)用逻辑分析仪抓取接口命令和命令状态

不巧的是,复制的时间比较长,复现很不稳定,问题出现也没有规律。
做交叉实验, 异常不随闪存芯片, 也不随测试电脑出现。。。

现场出现焦灼,还有一些困难要克服。

逻辑分析仪只有一台,接了的那台没复现, 没接的复现fail, 又没抓到有用信息。
出现Fail, 要把闪存芯片从板子上解焊。 分析完芯片内部 Log 又要把闪存芯片焊接到板子上复制问题。 比不得产线机器焊接,人工焊接经常出现焊接后识别失败,又要重新焊接,真真是折磨人。

一时间一头雾水,直到凌晨1点, 我们接逻辑分析仪的那台机器复现到异常,发现异常时 NAND 有报一次写出现坏块后, 后续系统便宕机。

夜深了,我们决定明天再继续分析。
那夜的风,还是有一些凉, 我们行走在朦胧的夜里。

四、西湖的夜色

第二天:
大本营出一个调试固件版本给客户,强制模拟 NAND 写出现坏块场景, 让客户测试更快更稳定触发Fail.
有了稳定的复现方法后,我们又抓了几次fail 时的命令时序,共性和昨天的发现一致。
和客户一起分析客户的驱动程序,经过对齐讨论,怀疑驱动针对闪存写遇到坏块的情况,没有发复位命令。导致闪存内部没有恢复正常状态,一直卡在这里, 不再执行新的命令,导致宕机。

顺利的事,TI’m 很快改好了新的驱动程序, 和客户一起用复现环境验证新驱动, 通过,皆大欢喜。
Bug 解决已是傍晚,和领导报告后决定第三天回家。

每到一个新的城市出差,我会把它当成一段旅途。当 bug 解完,是最轻松的时候,逛逛景点,品尝一下美食,看一下闹市的繁华, 呼吸一下公园满满的负氧离子。

这一夜,是中秋的第二天, 皎洁的月光从凤凰山顶透出来, 洒在静静的湖面上。

走在西湖边上,湖边的垂柳,像少女的长发,柔柔的掠过水面。轻风拂来,仿佛少女正在湖边梳洗她那缕缕秀发。

踏上断桥,在脑海里想象断桥残雪,只是我脑电波不足,竟构想不出那个画面。抬头见雷峰塔,在夜色中隐约可见。白娘子与许仙情自断桥起,终是被压在雷峰塔下,有情人生生天人相隔。
断桥
西泠桥畔的埋香之所,诗言 “湖山此地曾埋玉,岁月其人可铸金。” 一代名妓,香消玉损。

西湖的故事总是美的, 也总是凄凉的。一如这冷冷的湖水。

五、月是故乡明

第三天:
回程票在下午,时间尚早,我又去了西湖。没错, 又去了西湖,看看白天的西湖。或走或骑单车, 走走停停,绕西湖逛了半圈。

白天的西湖,多了一些色彩,多了一些光影,多了一些声音, 也多了一些人气。
白天的西湖, 当湖畔的山峦映在水里,仿佛真的一幅天然的水墨画,大自然的鬼斧神,真的是叹为惊奇。
但细回想起来, 却再没有其他特别深的感触。也许夜更贴近西湖的气质。
西湖如画
游玩之后, 踏上故土,赶上中秋的尾巴, 与家人在一起对月倾诉离别之见, 小别胜新欢。月是故乡明,对影成三人。

总结

一次难忘的中秋, 一次劳顿的差旅,也是一次愉快的旅途。
初识西湖, 也如一个新的朋友。在月光下,听她诉说她的故事。