国内图书分类号:TP302.8 学校代码:10213
国际图书分类号:681.39 密级:公开
工学硕士学位论文
基于 FPGA 的 DDR2 SDRAM UDIMM 内存
故障注入工具的设计
硕 士 研 究 生:薛利兴
导 师:杨孝宗教授
申 请 学 位:工学硕士
学
科:计算机科学与技术
所 在 单 位:计算机科学与技术
答 辩 日 期:2009 年 6 月
授予学位单位:哈尔滨工业大学
Classified Index: TP302.8
U.D.C: 681.39
Dissertation for the Master Degree in Engineering
DESIGN OF FPGA-BASED FAULT INJECTION
TOOL FOR DDR2 SDRAM UDIMM
Candidate:
Xue Li Xing
Supervisor:
Prof. Yang Xiao Zong
Academic Degree Applied for: Master of Engineering
Speciality:
Affiliation:
Date of Defence:
Degree-Conferring-Institution Harbin Institute of Technology
Computer Science and Technology
Computer Science and Technology
June, 2009
哈尔滨工业大学工学硕士学位论文
摘要
目前,我国正在大规模地投入进行高端容错计算机系统的研制。高端容
错计算机除具有高性能、极强的事务处理能力外,还要保证具有极高的可用
性,可以长期提供高速、稳定的服务。因此,在保证系统的高性能事务处理
能力的前提下,系统容错设计策略、容错机制的有效性至关重要,是保证系
统可用性的前提条件,必须经过评测得到验证。
故障注入是评测计算机系统容错机制的最有效方法。然而,传统的管脚
级硬件故障注入工具通常只针对低速的或专用的计算机系统,显然已经不能
适应高速的、通用的高端容错计算机。因此,面向高性能的高速故障注入工
具必须得到研究,为高端容错计算机系统提供评测服务。
针对传统管脚级硬件故障注入工具的缺点及高端容错服务器可用性评测
的要求,本文首先探讨了截获高速 DDR2 内存数据的关键技术,并基于这
些关键技术尝试设计并仿真验证了一款 DDR2 内存故障注入工具。该 DDR2
内存故障注入工具通用性较好,可以针对众多使用 DDR2 内存的计算机系
统进行故障注入试验;同时,在试验的过程中不必降低目标计算机系统的运
行速度。该 DDR2 内存故障注入工具可以对数据总线注入固定 0、固定 1、
翻转等多种类型故障,可以通过设置多个时间参数来模拟永久故障、瞬时故
障和间歇故障的发生,同时还可以选择注入的方向,并拥有随机触发、延时
触发和地址触发 3 种触发机制。该 DDR2 内存故障注入工具还能够对注入
的有效性进行判断并回收,可以对注入结果进行保存和管理。
关键词 容错机制评测;故障注入;高速;DDR2 内存
- I -
哈尔滨工业大学工学硕士学位论文
Abstract
At the present time, our country invests much in developing high-
performance fault-tolerant computers. High-performance fault-tolerant computers
have not only high performance and good abilities of transaction processing, but
also high availability. They can provide high-speed and steady services. So, fault-
tolerance strategies and fault-tolerance mechanisms are very important below the
premise of high performance and good abilities of transaction processing. They
are preconditions of high availability, and should be evaluated.
Fault injection plays one of the most important roles in evaluating fault
tolerant mechanisms. However, traditional pin-level hardware-implemented fault-
injections tools are usually used in low-speed or special computers. They can be
used for high-performance fault-tolerant computers obviously, which are high-
speed and general-purpose. Therefore, high-speed fault-injection tools should be
developed to service evaluation of high-performance fault-tolerant computers.
According to defects of traditional pin-level hardware-implemented fault-
injection tools and requests in evaluation of high-performance fault-tolerant
computers, this thesis discusses the key technologies of capturing data of high-
speed DDR2 SDRAM. Basing on these technologies, the FPGA-based fault
injection tool for DDR2 SDRAM is designed and validated by simulation. The
tool is general-purpose, and can be used in many computers which use DDR2
SDRAM. And it doesn’t need to reduce the speed of target systems in
experiments. The tool can inject stuck 0, stuck 1 and bit-flip faults, and can
simulate permanent faults, transient faults and intermittent faults. Moreover, fault
injection directions can be selected and there are 3 types of trigging: random
triggering, delay triggering and address target triggering. The tool also can judge
the validity of fault injection which can be saved and managed.
Keywords evaluation of fault tolerant mechanism, fault injection, high speed,
DDR2 SDRAM
- II -
哈尔滨工业大学工学硕士学位论文
目录
摘要...............................................................................................................................I
Abstract ....................................................................................................................... II
第 1 章 绪论................................................................................................................ 1
1.1 课题背景........................................................................................................... 1
1.1.1 课题来源.................................................................................................... 1
1.1.2 高端容错计算机........................................................................................ 1
1.1.3 高端容错计算机可用性的评测................................................................ 2
1.2 容错机制的评测............................................................................................... 2
1.2.1 容错评测的基本方法................................................................................ 2
1.2.2 故障注入的重要性.................................................................................... 3
1.2.3 内存故障注入的意义................................................................................ 4
1.3 论文结构........................................................................................................... 4
第 2 章 故障注入技术与DDR2 内存 ........................................................................ 6
2.1 故障注入技术的研究....................................................................................... 6
2.1.1 故障注入的环境........................................................................................ 6
2.1.2 故障注入的分类与层次............................................................................ 7
2.1.3 常见的硬件故障注入技术........................................................................ 8
2.1.4 硬件故障注入技术研究现状.................................................................. 11
2.2 高速管脚级硬件故障注入的难点................................................................. 12
2.3 DDR2 内存简介 .............................................................................................. 15
2.3.1 DDR2 内存的概念 ................................................................................... 15
2.3.2 DDR2 内存的控制命令与状态 ............................................................... 16
2.3.3 DDR2 内存的主要时序 ........................................................................... 17
2.4 本章小结......................................................................................................... 22
第 3 章 DDR2 内存故障注入工具的设计 .............................................................. 23
3.1 总体设计......................................................................................................... 23
3.1.1 功能设计.................................................................................................. 23
3.1.2 结构设计.................................................................................................. 23
3.2 截获高速DDR2 内存数据的关键技术 ......................................................... 24
3.2.1 DDR2 数据传输的特点 ........................................................................... 24
- III -
哈尔滨工业大学工学硕士学位论文
3.2.2 截获数据的基本方案.............................................................................. 25
3.2.3 前同步码与后同步码的识别.................................................................. 27
3.2.4 其他辅助技术.......................................................................................... 28
3.3 注入器端的设计............................................................................................. 29
3.3.1 通讯模块.................................................................................................. 29
3.3.2 主控模块.................................................................................................. 30
3.3.3 同步控制模块.......................................................................................... 33
3.3.4 注入及结果回收模块.............................................................................. 34
3.4 宿主机软件的设计......................................................................................... 37
3.5 本章小结......................................................................................................... 38
第 4 章 DDR2 内存故障注入工具的实现 .............................................................. 39
4.1 注入器端的实现............................................................................................. 39
4.1.1 通讯模块.................................................................................................. 39
4.1.2 主控模块.................................................................................................. 44
4.1.3 同步控制模块.......................................................................................... 48
4.1.4 注入及结果回收模块.............................................................................. 52
4.1.5 注入器端的实现结果.............................................................................. 56
4.2 注入器功能的验证......................................................................................... 57
4.3 宿主机软件的实现......................................................................................... 62
4.4 本章小结......................................................................................................... 63
结论............................................................................................................................ 64
参考文献.................................................................................................................... 65
哈尔滨工业大学硕士学位论文原创性声明............................................................ 69
哈尔滨工业大学硕士学位论文使用授权书............................................................ 69
致谢............................................................................................................................ 70
- IV -
哈尔滨工业大学工学硕士学位论文
第1章 绪论
1.1 课题背景
1.1.1 课题来源
本课题来源于国家高技术研究发展计划(863 计划)信息技术领域课题
《高端容错计算机的评估与测量》。
1.1.2 高端容错计算机
容错(Fault Tolerance),顾名思义是“容忍出错”之意。对于任意一个系
统而言,人们希望在内部出错的情况下,系统的功能仍能保持正常。而对于计
算机系统来讲,容错的含义是“在内部出现故障的情况下,计算机仍能正确地
运行程序并给出正确结果”的能力[1]。这里所指的内部故障,既包括硬件故
障、软件故障,也包含了外界环境和操作人员的误操作而引起的各种故障。
在过去的几十年里,只有军事、工业、航天等极其重要的领域才关注容错
计算机。在这些领域里,计算机的故障会导致重大的经济损失,甚至造成灾难
性的后果。由于近年来信息化程度的不断深入,计算机的应用领域也随之不断
扩大,各行各业几乎都离不开计算机,计算机的故障总是人们所不希望见到
的。
国家关键行业,如金融、电信、能源、交通、电力等行业的计算机系统均
需要无故障的长时间可靠运行,这些计算机系统一旦出现故障或停机不仅给全
国人民的生活带来不小的困难,还可能造成数额巨大的经济损失,甚至对国家
的经济发展、社会稳定带来一定的影响。同时,这些行业的计算机系统还必须
具有较高的吞吐率,能够快速地处理海量数据。为此,高端容错计算机应运而
生。
高端容错计算机是指既具有较高处理性能、又具有较好容错机制的大型计
算机系统。这类计算机系统一方面具有极强的事务处理能力,另一方面具有极
高的可用性,可长期提供高速、稳定的信息处理服务,越来越常受到人们的关
注。
- 1 -
哈尔滨工业大学工学硕士学位论文
1.1.3 高端容错计算机可用性的评测
高端容错计算机多应用在电信、金融等行业中,关键行业应用中的系统延
误和失效可能会造成不可估量的损失。因此,在保证系统的高性能事务处理能
力的前提下,系统容错设计策略、容错机制的有效性至关重要,是保证系统可
用性的前提条件,必须经过评测得到验证。
传统的容错评测方法和工具主要针对军事、工业、航天等领域,这些领域
所 使 用 的 计 算 机 系 统 主 要 是 运 算 速 度 并 不 快 、 但 性 能 稳 定 的 计 算 机 , 如
80386、80486 等。针对这样的目标系统,容错评测也是在较低速度下进行的,
并不需要考虑太多性能的问题。
高端容错计算机既有高性能的一面,也有容错的一面,必须在高性能的情
况下保证容错机制的有效性。因此,对高端容错计算机的容错评测必须在高速
条件下进行,传统的容错评测方法和工具显然已经不再适用。面向高处理性能
下的容错评测方法和高速的硬件故障注入工具必须得到研究,为高端容错计算
机系统提供评测服务。
1.2 容错机制的评测
1.2.1 容错评测的基本方法
针对不同的应用目的,可以使用不同的指标来描述计算机系统的容错性
能,如可用度(Availability)、可维性(Maintainability)、可靠性(Reliability)
等[2]。但就目前而言,国内外对于容错性能的评测主要有三种方法:解析模型
法、基于测量的方法和故障注入法。
1.2.1.1 解析模型法
解析模型法需要根据系统的设计寻找或构造合适的解析模型,如 Markov
模型、组合模型、随机 Petri 网等;相应地有许多工具来建立和求解解析模
型,如 UltraSAN、SHARPE、SDDS[3-5]等。解析模型通常把系统分解为工作状
态和失效状态,每个状态表示故障的出现情况和故障对系统的影响。故障出现
时间一般假设为某种分布,系统的故障处理行为大多使用覆盖率参数来表示系
统从失效中恢复的概率,类似地还包含反应故障处理时间的延迟时间等参数。
解析模型在建立时要考虑模型求解的问题,通常要对系统的结构和行为做必要
的假设和简化,简化处理必然使得结果的精确性大大降低;而仅仅通过猜测和
- 2 -