恢复了sata转接卡的测试环境,由于服务器故障,用时将近一天。当前最新版本在915上可以启动grub;在c51上,由于无法设置为兼容模式,grub不能登陆。 | 2006-11-21 18:49:50 |
针对sata转接卡传输过程中停止的现象进行了测试,发现停止在udma读操作时,sata转接卡处于udma读协议的主机暂停状态,而此时数据并没有传输完毕,fpga一直发出请求,等待sata卡恢复传输。此过程一直持续,直到手动复位或主机发出复位操作。 | 2006-11-22 18:37:11 |
交叉测试了两组nhd卡和sata卡,发现其中一块sata卡很不稳定,与两块nhd卡组合时经常出现udma读暂停的情况;另一块sata卡较稳定,很少出现暂停情况。没有发现不出问题的sata卡。 | 2006-11-23 17:57:05 |
针对sata小卡出现的问题,设计了设备在主机暂停超时后主动发起udma读中止的操作。 | 2006-11-23 17:58:10 |
采 用主机暂停超时后设备主动发送传输中止协议的方式进行了测试。发现启动系统过程中仍然存在sata卡死锁的现象,设备主动发送中止协议仍然不能使sata 卡退出死锁状态。采用winthrax和IO meter进行测试均不能引发死锁现象,采用hd_speed进行测试,在64k读模式下很快出现死锁现象。引发死锁现象的原因仍然没有找到。 | 2006-11-24 18:13:57 |
添加了超时复位功能,可以有效复位,但是几次后仍然出现蓝屏现象。 | 2006-11-27 17:56:05 |
经 测试,超时复位功能起到作用。数据传输可以恢复。但是多次超时复位后,windows会降低传输模式,或蓝屏。替换了小板上的20330芯片(0631 版),udma传输暂停超时现象出现概率明显减小,但是运行hd_speed平均30分钟后,仍然出现类似现象。通过IDE接口对udma版本进行测试, 没有出现类似现象。 | 2006-11-28 17:40:09 |
初步验证,sata小卡死锁现象与后端所连接的数据块的性质有关:模板数据块不出错,快照数据块出错。 | 2006-11-30 19:09:13 |
对快照数据块进行了多次测试,比较了测试数据。发现对被测数据块的特定位置进行读操作会引发sata小卡出错。针对udma读出错的情况,降低了udma读操作的传输速度,采用udma1的速度进行传输,测试中未发现停止现象。 | 2006-12-01 18:29:06 |
整 理了周末测得的nhd卡响应时间数据。编写了nhd卡udma读操作响应时间控制的代码。经测试,在windows下,进行udma2读操作,第一次响应 时间(尚未传输数据)超过9.1s时,windows把传输模式降为PIO,此时sata转接卡没有出现死锁现象。下一步,还需要测试响应时间在数据传输 过程中的变化对sata转接卡的影响。 | 2006-12-04 19:40:56 |
用逻辑分析仪记录了多次sata死锁的数据。数据传输过程中的延时也可以加大到9.1s。 | 2006-12-05 18:31:10 |
上午参加硬件组例会,下午用2小时协助整理工作环境。通过逻辑分析仪测得的数据,发现一处FPGA对时序处理不当的地方:设备发起dmarq请求后不能立 即传输数据。修改后仍然出现sata转接卡死锁的现象。捕获的数据中有一次是暂停20us后恢复传输,很快又发生死锁。 | 2006-12-06 19:37:29 |
加大了fifo的半空信号的滞回间隔,现象有所缓解。 | 2006-12-07 17:56:32 |
把 fifo的起始传输门限加大到64个16bit,经过18小时测试,没有出现死锁现象。现在初步确认是一个数据burst中的短暂延时引发了sata转接 卡的死锁现象,而不是两个数据burst之间的长时间延时导致死锁现象。现在针对sata转接卡和IDE硬盘的组合进行长时间的测试,确定转接卡的稳定 性。 | 2006-12-08 14:53:41 |
修改了ultra datain模块中对data burst的处理,缓冲区在两次data burst之间不清空。 | 2006-12-11 18:17:53 |
搭建了硬盘和nhd卡的测试环境。调试了不清空fifo的版本。 | 2006-12-12 17:48:47 |
加大了缓冲区大小,传输模式相当于udma1。短时间测试效果尚可。 | 2006-12-13 18:40:54 |
设计了传输中插入不规则延时的逻辑,模仿服务器缓存不命中时响应时间不规则变化的情况。 | 2006-12-15 18:06:54 |
捕获了一组异常之前240条命令的响应时间的统计数据。可以看到,异常并没有发生在响应时间最差的时刻;异常发生之前,响应时间整体增大到3ms左右;读取源数据块时,响应时间整体都在1ms以下。通过手动加入响应延时至3ms,对源数据块读取时并没有引发异常。 | 2006-12-19 18:06:59 |
调试了udma不优化版本。进行了测试。 | 2006-12-20 18:18:17 |
继续测试sata转接卡。开始了对服务器上的ramdisk的测试。 | 2006-12-22 18:03:17 |
测试中通过逻辑分析仪发现,数据的建立时间处于临界状态。这可能是造成部分线缆传输出错的原因。 另外,发现在逻辑分析仪的一个探头上的全部通道都被占用时,一些通道较快速的变化会在其他通道上引发毛刺。这可能和一个探头上只有一个通道用作地线有关:过快的信号变化造成参考电平变化,在其他通道上的信号就会测不准。把变化较快的信号设置到第二个探头上现象消失。 | 2006-12-24 17:03:29 |
测试了上述版本,仍然存在停止现象。测试中发现当前版本的PIO命令存在问题。 | 2006-12-25 19:18:03 |
上 午和fs、yy讨论了sata桥接卡故障定位的方案,收获很大:空的源读取的数据都是0,不进行硬盘操作,直接从内存返回。下午在sqt和ly的帮助下, 建立了ram0块设备和zero块设备。ram0设备是可以进行读写操作的。在测试中发现,空的ram0读操作不停,格式化后不停,写入部分数据后就出现 停滞现象。可以初步确认停止现象和服务器的响应时间无关,和数据的传输有关。 | 2006-12-26 19:13:51 |
根据讨论结果作了修改和测试,未改善。 | 2006-12-27 18:42:47 |
昨天测试了从FPGA直接给出各种模式的数据,发现在fifo的输出端口没有问题,在fifo输入端口存在问题。在fifo输入端口给出连续递增的数据会确定引发问题。 | 2006-12-29 09:16:38 |
通 过比较,发现在fifo输出端的一组数据切换逻辑是引发停止的可疑之处。在这组逻辑之后的计数器值输出到主机端的总线上不会引发问题;在这组逻辑之前的计 数器值输出到主机端的总线上就会引发问题。通过对这组逻辑重新设计,通过这组逻辑输出到总线上的计数器值不会引发问题。可以初步定位在这组逻辑上。可能的 修改方法有两种:规范这组逻辑及其前面的逻辑;重新设计数据通路,消除这组逻辑,把数据宽度变换的逻辑提前到fifo之前。 | 2006-12-29 18:06:48 |
修改了主机读通道的数据宽度变换逻辑,提前至cpu端口。 下午sqt测试中发现PIO读操作也有停止现象,可以多次重现,并且连接至另一服务器仍然重现。而且现象和udma一致,全部写入0后读取不停止。 | 2006-12-30 18:27:56 |
12.31 定位问题在数据线输出产生的干扰上,通过修改FPGA输出引脚的斜率,初步解决了问题。经过元旦期间的测试,仍然出现了停滞现象。1.4日根据 cyclone器件手册,进一步修改了输出引脚的电流驱动能力,并针对不同的输出斜率和电流驱动能力进行了比较测试,记录了测试结果。 | 2007-01-05 10:52:54 |
整理了测试结果文档,发布了长时间测试的版本,开始测试。 | 2007-01-05 18:13:39 |
未优化版本在36小时的测试中未出现异常。把改动合并到了主干上。开始测试优化的版本。开始调试2510的UDMA。 | 2007-01-08 18:21:26 |
本年度任务结束 | 2007-01-09 21:50:26 |
用户1265970 2013-3-27 23:57