




已阅读5页,还剩58页未读, 继续免费阅读
(通信与信息系统专业论文)基于nios硬盘加密卡的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 在当今的信息时代,计算机已成为人们处理和存储信息的重要工具,与此同 时信息安全受到越来越多人的重视。而硬盘作为计算机的主要外部存储器通常存 储用户的大量的信息。这些信息中有很多涉及到个人隐私、商业机密、国家机密 等,如果硬盘丢失或被他人窃取就会引起一系列的重大阀题。硬盘加密卡是设计 在物理层上,以基于f p g a 硬件方式实现对i d e 总线上的传输数据加解密操作的 硬盘数据保护设备。 本文通过对i d e 硬盘接口的工作原理、协议、读写时序,以及数据加密的基 本原理进行基础的研究,提出了一种基于n i o s 软核处理器的s o p c 系统硬盘数 据加密设计。具体设计和研究工作如下: ( 1 ) 提出硬盘加密卡系统的设计方案; ( 2 ) 搭建了整个加密系统的软硬件平台以及调试环境,并对系统各个功能模块 的具体实现进行了介绍; ( 3 ) 完成硬盘加密卡的i d e 接口设计,满足u l t r ad m a 和p i o 传输模式: ( 4 ) 研究了硬盘加密卡的密钥管理方案、替代的密码算法和工作模式; ( 5 ) 对s a t a 硬盘接口进行了研究和初步设计; 关键词:硬盘加密n i o si d eu l t r ad m a a b s 仃a c t a b s t r a c t i i lt h ei n f o r m a t i o na g e ,c o m p u t e ri sa ni m p o r t a n tt o o lf o rp r o c e s s i n ga n d s t o r i n g i n f o r m a t i o n a tt h es a m et i m e ,t h ei n f o r m a t i o n s e c u r i t ya t t r a c t sm o r ea n dm o r e a t t e n t i o n h o w e v e r , 嬲a l le x t e m a ls t o r a g ed e v i c e ,t h eh a r d d i s kd r i v e ri sa l w a y sb e i n g u s e df o rs t o r i n gh u g ea m o u n to fi n f o r m a t i o n ,s u c h 嬲t h ep e r s o n a lc o n f i d e n t i a l i n f o r m a t i o n ,c o m m e r c i a ls e c r e t sa n dn a t i o n a lc o n f i d e n t i h li n f o r m a t i o n o n c et h e h a r d d i s kd r i v e ri ss t o l e n ,i tw i l lr e s u l ti nas e r i e so fb i gp r o b l e m s t h eh a r d d i s k e n c r y p t i o nc a r db a s e do nf p g a ,w h i c hc a ne n c r y p tt h ed a t at r a n s m i t t e do nt h ed e b u s ,i sap h y s i c a l l a y e rd e v i c e u s e dt op r o t e c tt h ed a t as t o r e di nh a r d d i s k s o nt h eb a s eo ft h es t u d yo nt h ew o r k i n g p r i n c i p l e ,t h ep r o t o c o l ,t h et i m i n go fi d e i n t e r f a c et h eh a r d d i s k ,t h ed a t as t o r a g ea n dt r a n s f e rm e c h a n i s mf o rt h eh a r d d i s k , t h i s p a p e rp r o p o s e st h ed e s i g no fd a t ae n c r y p t i o nb a s e do nn i o si nt h es o p cs y s t e m n l e m a i ns t u d ya n dt a s k sa r ea sf o l l o w : ( 1 ) p r o p o s ead e s i g no fh a r d d i s ke n c r y p t i o nc a r dw h i c hi s b a s e do nn i o s e m b e d d e ds y s t e m ( 2 ) t h eh a r d w a r ep l a t f o r ma l o n g 谢t l l t h ed e b u g g i n g - t e s te n v i r o n m e n ti sb u i l tu p a n dt h em a i nf u n c t i o n so ft h em o d u l e sa r ee x p l a i n e d ( 3 ) t h ei d eb u si n t e r f a c ei sd e s i g n e dw i t l lt h eu l t r ad m aa n dp i ot r a n s m i s s i o n m o d e ( 4 ) ak e ym a n a g e m e n t ,ak i n d o fs u b s t i t u t ec r y p t o g r a ma r i t h m e t i ca n da n e n c r y p t i n gm o d eo ft h es y s t e ma r ed e s c r i b e d ( 5 ) t h ei n i t i a ld e s i g na n ds t u d yo fs a t a i n t e r f a c ea r eg i v e n k e y w o r d :h a r d - d i s ke n c r y p t i o n n i o si d eu l t r ad m a 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文 中不包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技 大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本 研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 丞l 丕 。日期垒垒2 :2 :三2 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研 究生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保 证毕业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技 大学。学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布 论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名:塑i 冱 导师签名:麴 期1 2 :! :! ! 孥上立q 斗一 第一章绪论 第一章绪论 1 1 研究具有自主产权的硬盘加密卡的迫切性和必要性 在当今的信息时代,信息可以帮助团体或个人,使他们受益,同样,信息也 可以用来对他们构成威胁,造成破坏。在个人隐私上,企业之间的知识产权上, 国与国之间的军事机密上屡屡出现信息泄密事件;但信息交流和科技发展的需求, 人与人之间、企业之间、国家之间的技术交往不仅不能止步,而且日趋深入。那 么在交往中,如何使属于自己和团体的利益不受有意或无意的损害,就显得尤为 重要。特别是与自己国家的利益密切相关的机密信息更是关系到国家经济命脉和 国家的存亡就更不能轻视。直接破坏一个国家的信息系统以及建立在其上的经济 体系、军事指挥系统,能使整个国家瘫痪,失去抵抗能力,对国家安全的威胁极 为严重。现在国家正在大力推动电子政务,在世界范围内,中国信息安全水平被 排在等级最低的“第四类”,与某些非洲落后国家为伍。有专家说:“下一轮计算机 的换代将不是因为速度,而是因为安全! ”加强信息安全已是迫在眉捷的重要工作。 众所周知,信息安全由三个层面构成,即网络安全、系统安全和存储安全。存储 安全是目前最薄弱、最易被忽视、出问题最多和损失最大的一个层面。 i d c 2 0 0 1 年通过对超过3 0 0 家大公司的信息安全问题调查后指出,6 1 的被调 查公司报告公司的信息有非授权使用和篡改的非法行为在内部发生。7 0 公司认 为,p c 计算机由于是公司主要存储信息的工具而成为公司的主要资产,信息的丢 失和被篡改是造成公司经济损失的主要原因。在我国,据公安部统计,7 0 的泄密 犯罪来自于内部,电脑应用单位8 0 未设立相应的安全管理,5 8 无严格的调存管 理制度,各种重要数据、文件的滥用、丢失、被盗所造成的损失数以亿计u j 。目前 国内外对硬盘数据进行加密的方法主要有软件加密和硬件加密两种: 一软件加密方法 目前有很多软件可以对存储在硬盘中的数据进行加密和解密。其一般的工作 原理是在操作系统中运行某种加密应用软件完成对数据的加密解密操作,如修改 硬盘分区表信息、对硬盘启动加口令、对硬盘实现用户加密管理、对某个逻辑盘 实现写保护等【2 1 。软件加密的方法比较简单,实现起来比较经济,适合于私人用户 对一些隐私和资料进行加密保护,但是软件加密本身固有的不足使其难以应用到 需要高级保密和大数据量加密的企业以及军事机构等: 软件加密一般采用用户名加口令的方式确认身份识别,一般用户名和密码都 不是很长,容易被猜测到或者被暴力破解。同时,软件加密时,用户的密钥 2 基于n i o s 硬盘加密卡的研究与实现 或密码是以明文的方式输入到加密软件中去,很容易受到木马程序的监控或 者其他人的偷窃。所以软件加密虽然方便简单但是安全性差,加密文件容易 被破解,不适合于保密要求比较高的应用场合。 软件加密所有的执行过程都是通过c p u 运行指令来完成的。由于每一个指令 的运行都要占用c p u 的处理时间,用软件加密大量文件时将会严重占用系统 资源,直接导致系统资源紧张,影响工作效率。 加密软件都是依赖于某种操作系统,这对于系统的移植造成一定困难。 二硬件加密的方法 硬件加密方法很多,其中之一是在硬件系统层( 例如主板) 和存储器( 例如硬盘) 之间增加一个硬件微处理芯片,该芯片能够提供硬件实体层即时加密保护,通过 复杂的算法对文件加以保护,同时硬件加密由于基于硬件层处理,因此丝毫不会 占用系统资源,对系统整体影响微乎其微。另一方面,硬件加密相对软件加密安 全性有质的提高,不易破解。同时,这种硬件加密不需任何使用界面,加密过程 在硬件层由微处理器完成,使用界面没有任何改变。 目前国内外有对硬盘进行硬件加密的相关产品,主要都采用了e n o v a 公司的 单芯片x w a l ls e 来构成加解密系统。x 。w a l ls e 是一块专门用于实时加密解密 硬盘内容( 包括起始扇区和操作系统) 的a s i c 。芯片采用了d e s 和t r i p l e d e s 加 密算法来完成对数据的加密和解密操作。 之间,对流向硬盘的数据进行实时加密, 它位于主机p c i 南桥和i d e 驱动器接口 对流出硬盘的数据进行实时解密。并且 芯片还设计了专门的用于用户身份识别的“安全钥匙”,只有通过确认的用户才能 启动系统和进行数据的读写操作。如果采用x w a l l 来设计硬盘加密系统,设计将 会变得相当简单,主要的工作都由x w a l l 芯片来完成了。但是这样的设计也有一 定的缺陷,由于芯片功能己经固定,只能采用它固有的工作方式和加密算法以及 身份识别的方法。同时对于某些特别敏感的单位( 如军事上不允许采用国外的加密 产品) 将会造成一定的困难。同时系统的升级、扩展都受到了巨大的影响。 密码技术特别是加密技术是信息安全技术中的核心技术,国家关键基础设施 中不可能引进或采用他国的加密技术,因此,信息安全的研究更强调自主性和创 新性,自主性可以避免“陷门”,体现国家主权;而创新性可以抵抗各种攻击,适 应技术发展的需求。考虑到安全因素,国家有关部门规定:国外的信息安全产品 尤其芯片级安全产品不能直接进入国家涉及机密的系统和部门中。目前在硬盘加 密芯片和硬盘加密卡研制方面,国内还没有自主知识产权的同类产品。 有鉴于以上状况,开发有自主知识产权的硬盘加密卡并推广和使用,会推动 我国信息安全领域的发展,以技术方式保证了敏感信息的终极安全,进而带来很 大的经济效益。本课题来源于长春卓尔公司“基于f p g a 的硬盘加密卡”项目。 第一章绪论 3 1 2 论文研究的内容及安排 全论文将就硬盘加密卡的功能及设计作为重点展开论述;介绍基于 d e 总线、 支持u l t r ad m a 高速数据传输模式的硬盘加密卡的系统设计。特别是如何在n i o s 嵌入式系统中设计出i d e 总线接口,实现双边沿锁存的u l t r ad m a 数据传输,构 建一个支持高速硬盘的通用嵌入式系统平台,使其可以应用于其他的基于i d e 总 线硬盘的系统开发设计。 第一章引出了研究具有自主产权的硬盘加密卡的迫切性和必要性; 第二章 介绍了硬盘原理、觚a 一中i d e 接口协议和硬盘数据传输模式 p i o 模式和u l t r ad m a 模式的相关知识; 第三章硬盘加密卡系统设计:介绍硬盘加密卡的设计目标和机理,并阐述在 f p g a 中嵌入n i o s 内核的设计;重点阐述硬盘加密卡的软硬件设计 和加密卡的重要外围电路设计; 第四章重点介绍了硬盘加密卡i d e 接口设计,通过对p i o 模式,u d m a 模 式下的读写接口设计,实现了加密卡与主机,加密卡与硬盘的i d e 接口设计。 第五章硬盘加密卡使用的密码算法; 第六章硬盘加密卡的工作总结及展望。 第二章i d e 硬盘接口 5 第二章i d e 硬盘接口 要研究硬盘加密就必须先了解硬盘和其接口。目前最为常见的硬盘接口分为 i d e ( i n t e g r a t e dd r i v ee l e c t r o n i c s ) 、s c s i ( s m a l lc o m p u t e rs y s t e m i n t e r f a c e ) 和s e r i a l a t a 三种模式,由于s c s i 接口的硬盘价格昂贵,安装复杂:而s e r i a l a t a 接口, 用四个针就完成了所有的工作( 第l 针发出、2 针接收、3 针供电、4 针地线) , 这样的做法能减小接口的针脚,降低电力消耗,减小发热量。但目前支持此接口 的硬盘并不很多,是一个发展方向。而i d e 接口的硬盘以其低廉的价格和良好的 兼容性深受人们喜爱,因而,其中使用最为广泛的是i d e 接口的硬盘。本硬盘加 密卡的设计就是针对于i d e 接口的硬盘进行设计,下面我们还是先认识一下i d e 硬盘及其接口规范。 2 1 硬盘工作原理和相关技术指标 2 1 1 硬盘及其技术指标 硬盘主要由碟片、磁头、磁头臂、磁头臂服务定位系统和底层电路板、数据 保护系统以及接口等组成【3 - 5 1 。硬盘的工作原理比较简单,硬盘可以读取和写入保 存数据,写入数据实际上是通过磁头对硬盘片表面的可磁化单元进行磁化。 接 e = 数据缓冲器驱动器磁盘 l c = $ 、r - - _ , 组读写机构 口 控制器数据分离器 接适 一 , 口 r 配 器 。刊微处理器b 刽驱动器控制电路 图2 1i d e 接口硬盘模型 硬盘的常用指标有:硬盘数据传输率( d a t at r a n s f e rr a t e ) ,简称d t r 。硬盘 数据传输率表示硬盘工作时的数据传输速度,是硬盘工作性能的具体表现,受读 取硬盘数据的存放位置、连续性等因素的影响。因为这个数据的不确定性,所以 厂商在标示硬盘参数时,更多是采用外部数据传输率( e x t e r n a lt r a n s f e rr a t e ) 和内 部数据传输率( i n t e r n a lt r a n s f e rr a t e ) 两种参数。 6 基于n i o s 硬盘加密卡的研究与实现 外部数据传输率( e x t e r n a lt r a n s f e rr a t e ) ,一般也称为突发数据传输或接口传 输率,是指硬盘缓存和电脑系统之间的数据传输率。如平常硬盘所采用的a t a 6 6 , a t a l 0 0 ,a t a l 3 3 等接口,就是以硬盘的理论最大外部数据传输率来表示的。 内部数据传输率( i n t e r n a lt r a n s f e rr a t e ) 是指硬盘磁头与缓存之间的数据传输 率。是评价一个硬盘整体性能的决定性因素,它是衡量硬盘性能的真正标准。 2 1 2 硬盘寻址方式 i d e 驱动器的介质是通过磁头( 表面) 、柱面和扇区组织起来的。i d e 驱动器可 以拥有1 6 个磁头、1 0 2 4 个柱面和2 5 6 个扇区。在a 1 隗标准中,甚至可以拥有多 达6 5 6 3 6 个柱面。一个扇区在正常情况下包含5 1 2 个字节的可用数据【6 ,7 】。 一物理寻址( c h s 方式) , 在c h s 模式中,我们可以使用柱面、磁头和扇区号来唯一地确定一个扇区。 通过柱面号、磁头号、扇区号的方式对硬盘扇区的物理地址定位的方法被称为 c h s 物理寻址方式。 二逻辑寻址方式( l b a 方式) i d e 驱动器为逻辑寻址方式使用了线性映射的方法。也就是说,扇区是从柱 面o ,磁头o ,扇区o 开始连续下去。在这个磁道之后,就是同一个柱面的磁头l , 这样下去直到整个柱面。 在l b a 模式中,我们可以使用2 8 个数据位来表示逻辑区块的地址信息,这 样就可以寻址2 2 8 个区段。正像c h s 寻址方式一样,采用这种寻址方式理论上一 个i d e 磁盘可以最多拥有1 3 6 ( 1 2 7 ) g b 的容量。 在a t a 标准中,从物理结构到逻辑块编号的映射是按照如下的方式进行的: l b a = ( 柱面编号磁头数+ 磁头编号) 扇区数+ 扇区编号一l 在了解硬盘工作原理和寻址方式后,还需掌握硬盘接口的协议标准,才能够 完成加密卡的i d e 接口设计,在下一节中将重点介绍i d e 的协议标准。 2 2i d e 接口的协议标准 硬盘接口i d e ( i n t e g r a t e dd r i v ee l e c t r o n i c s ) 也称a t a 5 - 7 1 ( a d v a n c e d t e c h n o l o g ya t t a c h m e n t ) 总线接口。在1 9 8 8 年1 0 月,a n s i 协会的x 3 t 9 2 工作 组召开了一次会议,c a m 协会提出了对i d e 接口进行标准化处理,并以此作为 它的第一个议程。然后就出现了i d e 接口的新的名字也就是a t a 。f 来我们就详 细的了解一下a t a 标准协议。 第二章i d e 硬盘接口 7 2 2 1i d e 接口定义 i d e 接口的a t a 标准定义包括主机和设备之间的物理连接、信号电缆和电源线 的电气特征、互连信号和逻辑特征,还详细描述了存储设备中可操作的寄存器以 及各种命令和数据传输协议。i d e 接口由4 0 芯( u d m a 6 6 以上工作模式需要8 0 芯电 缆,避免信号线间的串扰) 插头向外连接,不仅适用于通用的s v 逻辑,也适用于3 3 v 的电路逻辑。i d e 电缆长度小于4 6 e m ,除d a s p 、p d i a g 、i o c s l 6 和s p s y n c :c s e l 信号外,几乎所有信号都使用t t l 电平线路收发器,i d e 接口引脚定义如表2 1 所示 【5 7 1 : 表2 1i d e 接口 p i n 信号名称来源p i n信号名称来源 1一r e s e t 复位 i2g n d地i o 3d d 7 数据位7 i 1 3 f4d d 8 数据位8 i o 5d d 6 数据位6i o6d d 9数据位9i o 7 d d 5 数据位5 i o8d d l o 数据位1 0 i o 9d d 4 数据位4 i o1 0d d l l 数据位1 1 i o 1 1d d 3 数据位3i o1 2d d l 2数据位1 2 i o 1 3d d 2 数据位2 i o1 4d d l 3 数据位1 3 i o 1 5d d l 数据位l i o1 6d d l 4 数据位1 4 i o 1 7d d o 数据位0 i o1 8d d l 5 数据位1 5 i o 1 9g n d 地i o2 0n c 未用 2 l d m a r q d m a 请求 o2 2g n d 地 2 3d i o w 写选通i2 4 g n d 地 s t o p 2 5d l o r 读选通 i2 6g n d地 h d m a r d y , h s t r o b e 2 7一l o r d y 通道就绪 。一2 8s p s y n c : 同步电缆 d d m a r d y c x e l选择 d s t r o b e 2 9d m a c k d m a 应答 o3 0g n d地 3 1 i n t r q 中断请求 o3 2- i o c s l 6 1 6 位i o o 3 3 d a l地址1i3 4p d i a g 诊断完成 c b l i d 3 5d a o 地址0 i3 6d a 2 地址1 i 3 7c s o片选0i3 8一c s l片选2i 3 9d a s p 驱动器激活 o4 0g n d地 c s 0c s l 地址信号,方向从主机到硬盘用来,选择命令寄存器。 d a 0 - d a 2 地址信号,方向从主机到硬盘,选择数据寄存器或数据端1 :3 。 d a s p :当在启动系统或对系统进行复位之后,1 号磁盘驱动器就会立即插 8 基于n i o s 硬盘加密卡的研究与实现 入该信号以表明它的存在。当系统正常工作的时候,这个信号表明选通的磁盘驱 动器正在工作,同时也会显示磁盘驱动器的工作状态。 d d 0 - d d l 5 数据信号、双向,有8 位和1 6 位两种数据传输方式,低8 位用 于8 位寄存器传输,数据传输为1 6 位。 在u d m a 传输模式下,对其中几个信号进行了重新定义; 写选通( d i o w ) :s t o p 读选通( d i o r ) :h d m a r d y ( d a t a - i n ) h s t r o b e ( d a t a - o u t ) 通道就绪( i o r d y ) :。d d m a r d y ( d a t a - o u t ) d s t r o b e ( d a t a - i n ) 一旦数据传输完成,这些信号线又恢复到以前的定义。 d i o r :是主机产生的对硬盘的寄存器或数据端口进行读的选通信号; h d m a r d y 是进行u l t r ad m a 读时的一个控制信号,由主机产生的,表示 主机准备对外设发起u l t r ad m a 模式的数据读信号,主机否定此信号则终止u l t r a d m a 读数据; h s t r o b e 是主机产生的,进行u l t r ad m a 写方式的选通信号,h s t r o b e 信号的双边沿锁存d d 1 5 0 数据到设备,主机停止产生此信号则终止u l t r ad m a 写 数据; d i o w - 对硬盘的寄存器或数据端口进行写的选通信号; s t o p :是主机产生的,在进行u l t r ad m a 模式数据传输之前,此信号无效; u l t r ad m a 模式数据传输终止时此信号有效。 i o r d y :该信号是可选信号,若不使用,应置成高阻态;该端为低电平,表 示驱动器没有准备好,c p u 自动插入等待周期,使c p u 延时对驱动器的访问。对 于p i o 3 以上的工作模式,应该使用i o r d y 信号线。 d d m a r d y 在u d m a 输出( d a t a o u t ) 过程中,该信号低电平有效。设备将该信 号置低,从而告知主机设备已经准备好接收数据。设备也可以通过置高该信号来 暂停数据的传输。 d s t r o b e 在u d m a 输k , ( d a t a i n ) 过程中,设备通过该信号的上下边沿将数据 锁存到主机中,设备也可以停止产生上下边沿来暂停数据传输。 d m a c k :是在主机和硬盘之间采用u l t r ad m a 方式传输数据时的控制信号, 由主机产生初始化d m a 控制器。 d m a r q 在主机和硬盘之间采用u l t r a d m a 方式传输数据时,由设备产生的, 准备传输数据的应答主机信号 i n t r q :主机中的产生中断的触发信号。 i o c s l 6 :该信号用来通知主机将要进行一个1 6 位的数据传输。否则,将要 第二章i d e 硬盘接口 9 进行8 位的数据传输,但仅适用于寄存器到数据寄存器的访问,不适用于对其他 寄存器的访问及d m a 传输模式。 - p d i a g :该信号是启动协议的一部分。当从驱动器完成自检的过程之后,可 以通过该信号通知主机。 一r e s e t :该信号来自主机,用以对主从驱动器进行复位。 s p s y n c 和c s e l 共用一根信号线,功能实现都是可选的,但是不能同时使 用。s p s y n c 信号是由商家确定的,用来确定正在通信的两个磁盘驱动器是否因 为同步而等同。c s e l 信号允许磁盘驱动器改变自己的编号。如果把该信号接到 某磁盘驱动器的接口上,那么该磁盘驱动器就是主磁盘驱动器,并且编号为0 , 反之就是从磁盘驱动器,并且编号为l 。 2 2 2i d e 控制器的寄存器模型( 硬盘接口寄存器) i d e 接口是一种任务寄存器结构的接口,所有的输入输出操作均通过对相应 寄存器的读写来完成的。i d e 控制器中有两组寄存器组:命令寄存器组和状态寄 存器组。命令寄存器组被用来接受命令和传送数据;控制寄存器组用作磁盘控制。 这两个寄存器组用c s 0 和c s l 信号来区分,c s 0 的地址范围是i f o h i f 7 h ,c s l 的地址范围是3 f o h 3 f 7 h 。对于第二个i d e 口,这两个信号的地址范围分别是 1 7 0 h 一1 7 7 h 和3 7 0 h 3 7 7 h 。表2 2 列出了所有的寄存器的一个概观。 表2 2i d e 命令和控制寄存器 c s 0c s ld a 2d a ld a o 读访问写访问 命令寄存器组 1ooo o数据寄存器数据寄存器 l000l 错误寄存器特征寄存器 1oolo 扇区计数寄存器扇区计数寄存器 lo0l1 扇区号寄存器扇区号寄存器 扇区号或者块地址o 7扇区号或者块地址o 7 1oloo 柱面寄存器0柱面寄存器0 l010l柱面o 心7 或者地址块柱面0 - - - 7 或者地址块 8 1 5 8 1 5 1o11o 柱面寄存器1柱面寄存器1 l0 lll 柱面8 1 5 或者块地址柱面8 1 5 或者块地址 1 6 2 3 1 6 2 3 控制寄存器组 0ll10 可选状态寄存器控制寄存器 o1111 保留( a t a 1 :地址寄存器)未用 ( 1 ) 数据寄存器:一个1 6 位p i o 数据传输器,用于对扇区的读、写和格式化操 作。c p u 通过该寄存器向硬盘控制器写入或从硬盘控制器读出扇区缓冲区的数 据。 ( 2 ) 错误寄存器:一个8 位的寄存器,它反映控制器在诊断方式或操作方式下的 错误原因。诊断方式:在加电、复位或执行驱动器诊断命令以后的工作方式,此 时该寄存器包含诊断代码。该代码反映了诊断后的结果,如表2 3 表2 3 诊断代码 代码1 0 h0 2 h0 3 h 意义无错误控制器错数据缓冲区错 代码 0 4 h0 5 h8 x h 意义e c c 电路错控制器处理机错从驱动器诊断代码 硬盘控制器执行除诊断命令以外的所有命令后进入操作方式。此时如果状态 寄存器的e r r = i ,则该寄存器包含命令执行后的错误代码,错误寄存器的定义如 表2 4 所示: 表2 4 错误寄存器 d 7 d 6d 5d 4d 3d 2d 1 d o b b ku n cm ci d n fm c ra b r tt k o n fa m n f b b k :如果在所访问的扇区的磁头上发现了错误标记,该位将被置1 ; u n c :如果在所传输的数据中校验发生错误,该位将被置1 ; m c 不表明错误,只是通知主机可以采用适当手段来使用新的传输介质; i d n f :表明控制器不能发现所访问扇区的地址区; m c r :介质改变请求; a b r t :表明命令非法或执行过程中产生错误而导致命令中断; t k o n f :在执行r e c a l i b r a t e 命令过程中0 磁道出错,通常是致命的; a m n f :无法找到所访问的扇区的数据区。 ( 3 ) 扇区计数寄存器:记录读、写命令的扇区数。当多扇区传输时,每完成1 个扇区操作,该寄存器自动减l ,直至为0 。如果初值为0 ,则表示2 5 6 。如果有 错误发生,该寄存器包含己经操作成功的扇区数。 ( 4 ) 扇区号寄存器:记录读、写和校验命令指定的起始扇区号。如果驱动器使用 逻辑块寻址( l b a l o g i c a ll o c ka d d r e s s ) 方式,该寄存器记录逻辑扇区号的0 字节。 ( 5 ) 柱面寄存器:记录读、写、校验、寻址和格式化命令指定的柱面号,a t a 标准允许6 5 5 3 6 柱面。低8 位在1 f 4 h 寄存器中,高8 位在1 f 5 h 寄存器中。如 果是l b a 寻址方式,这2 个寄存器包含起始扇区的第1 和第2 字节。 ( 6 ) 驱动器磁头寄存器:记录读、写、校验、寻道和格式化命令指定的驱动器 号、磁头号和寻址方式。 ( 7 ) 状态寄存器:记录硬盘驱动器执行命令后的状态,读该寄存器要清除中断请 求信号,若要避免清除中断,可以读辅助状态寄存器( 3 f 7 h ) ,这两个寄存器的内 容完全相同,其格式定义如表2 5 所示: 第二章i d e 硬盘接口 表2 5 状态寄存器 i d 7d 6d 5 d 4d 3d 2 d 1d o i b s yd r d yd fd s c d r q c o r ri d xe r r b s y :驱动器忙。若该位为1 ,则其它位无意义; d r d y :表明驱动器已经准备好接收命令。当驱动器执行命令时,该位保持 0 直至空闲: d f :表明驱动器产生了一个错误; d s c :表明磁头己经被设置在所要访问的柱面上; d r q :当主机和驱动器想要通过数据寄存器交换一个字节时,该位置1 ; c o r r :表明发生一个可以纠正的读错误,数据传输不会中断; i d x :收到索引信号; e r r :命令执行出错,此时可读取错误寄存器获取更多的信息。 ( 8 ) 命令寄存器:该寄存器接收处理器输出的命令。命令一但发送到命令寄存器 中,该命令就会立即开始执行。 ( 9 ) 交换状态寄存器:保存的数据与状态寄存器中的相同。但是,从该寄存器中 读取数据的操作不会影响到末响应的中断请求。 ( 1 0 ) 设备控制寄存器:只有两个数据位被定义和使用。第2 位s r s t ( 软件复位) 。 该数据位设置为“l ”,相应的磁盘驱动器就会处于复位的状态。当这个数据位变为 “o ”时,相应的磁盘驱动器就会执行启动过程。第l 位i e n ( 中断允许) 。该数据位 低电平有效,“0 ”表示中断是允许的,“1 ”表示中断是禁止的。 2 3 。i d e 接口的数据传输模式 i d e 接口硬盘的数据传输模式,经历过三个不同的技术变化,由 p i o ( p r o g r a m m e di o ) 模式,d m a ( d i r e c tm e m o r ya c c e s s ) 模式,直至现今的u l t r a d m a 模式( 简称u d m a ) 。 p i o 模式在a t a 1 标准就有了p i o 0 、p i o 1 和p i o 一2 模式,后来在a t a 一2 标准中又增加了p i o 3 和p i o 4 模式,其最大数据传输速率从开始的3 3 3m b s 发展到p i o 4 模式下的1 6 7 m b s ,p i o 模式的最大弊端是占用大量的中央处理器 资源。 后来随着f a s t a t a d m a 模式的出现,i d e 接口及装置都开始支持d m a , d m a 模式分为s i n g l e w o r dd m a 及m u l t i w | 0 r dd m a 两种,跟p i o 模式的最大 区别是:d m a 模式并不用过分依赖c p u 的指令而运行,可达到节省处理器运行 资源的效果。s i n g l e w o r dd m a 模式的最高传输率达8 3 3 m b 秒,m u l t i w o r d d m a ( d o u b l ew o r d ) 贝i j 可达1 6 6 6 m b 秉g k 。不过,后来由于u l t r ad m a 模式的出现 1 2 基于n i o s 硬盘加密卡的研究与实现 和决速普及,这两个模式很快就被取代了。 由于u l t r ad m a 模式( u l t r aa t a 制式下所引用的一个标准) 的普及,u d m a 模 式就全以1 6 b i tm u l t i w o r dd m a 模式作为基准。u d m a 其中一个优点是它除已 拥有d m a 模式的优点外,更应用了c r c ( c y c l i cr e d u n d a n c yc h e c k ) 技术,加强了 资料在传送过程中侦错及除错方面的效能。在最初u a t a 3 3 规格制定时,为了 保留i d e 系统的最高兼容性,所以在硬件的设计上并没做出太大的修改,不仅能 完全向下兼容旧式触阪装置,也无需硬件生产商改变接头及讯号联接的设计。自 u l t r a a t a 标准推行以来,其接口便应用了d d r ( d o u b l ed a t ar a t e 技术将传输 的速度提升了一倍,到a 队7 标准中已发展到u l t r aa t a 1 3 3 了,其传输速度 高达1 3 3 m b s 。采用u l t r ad m a 6 6 以上的模式时的专用的硬盘连接线和一般的 4 0 芯连接线有所不同。除沿用4 0 芯的i d e 接头外,排线更换成8 0 芯,在原有 4 0 芯排线的每条线芯之间,都多加一条线来相隔,并将这4 0 条新线跟原先4 0 芯 排线之中原有的7 条地线相连,把构成c r o s s t a l k 现象的电磁波滤走而增加了数据 传输的稳定性( 在高速的电子讯号传输时,当一大堆带着高频讯号的电线互相靠近 一起的时候,讯号线上发出的电磁波便会互相干扰,这就是所谓的“c r o s s t a l k ”现 象) 。 2 3 1p i o 模式数据访问协议 要想对控制寄存器进行访问,就必须通过p i o 模式才行。其中包括读取状态、 显示错误信息、参数设定和写入命令等操作。对寄存器进行读写操作可以通过p i o 来完成,每一次访问操作必须进行编程。该模式采用高速的数据块i o ,可设置为 块模式,用中断请求方式与主机进行数据交换,i d e 硬盘在各个p i o 方式下的数据最 大突发传送速率: p i om o d eo : 3 3 3 m b s ; p 1 0m o d e1 : 5 2 2 m b s ; p i om o d e2 - 8 3 3 m b s ; p i om o d e3 :1 1 1m b s ; p i om o d e4 : 1 6 7 m b s ; p i o 模式下的数据访问分为读硬盘数据协议和写硬盘数据协议两种,下面将 分别说明其读写的具体步骤。 2 3 1 1p i o 读命令 读命令就是一次或多次读扇区缓冲区,处理器首先通过地址总线( 一c s 0 、一c s 1 第二章i d e 硬盘接口 和d a 0 d a 2 ) 选择访问的寄存器,然后把命令参数和命令码写入相应寄存器中, 命令开始执行。这时驱动器置状态寄存器中的b s y = i ,同时将磁盘上指定扇区的 数据送入扇区缓冲区。当扇区缓冲区准备好,置位d r q ,清b s y ,发中断请求 信号i n t r q 。处理器读取状态寄存器完成后,若d r q 位等于1 ,处理器从扇区 缓冲区中读取数据。驱动器读完后,驱动器复位d r q 位,然后驱动器重新设置 b s y 位,准备读下一个扇区,直到请求的扇区全部读完。在读的过程中,如果发 生了错误,驱动器仍然准备读下一个扇区,同时设置状态寄存器的错误位,让处 理器决定读操作是否继续进行。操作时序如2 2 图所示: 处理器 驱幼器 d r d y b s y d r q n t r q 2 3 1 2p i o 写命令 图2 2p i o 读命令时序 首先,处理器把必要的参数写入对应的地址寄存器,然后将操作码写入命令 寄存器,等待d r d y 有效,同时驱动器设置状态寄存器的d r q 位,表示准备好 接收数据,处理器通过数据寄存器将数据写入扇区缓冲区,当扇区缓冲区填满后, 驱动器清除d r q 位,并置位b s y 驱动器将扇区缓冲区中的数据写入磁盘,当数 据写入硬盘后,清除b s y 位,发出中断请求信号i n t r q ,处理器接受到中断信 号后,处理器读取驱动器状态寄存器,同时清除中断请求信号i n t r q 。如果是多 扇区写,此时驱动器重新设置d r q ,开始处理下一个扇区。如果写入无效命令, 驱动器不设置d r q 位,而是把出错代码写入状态寄存器。操作时序如2 3 图所示: 1 4 基于n i o s 硬盘加密卡的研究与实现 处理器 妪幼器 d r d y b s y d r q 州丁r q 读 f 读扇区 设置 , i 凄 j 缓冲区i 状态 l 缓冲隈 l 命令参数 发送命令_i 状态 陲缕 扇联l 扇 i ! 1 i l 厂 i - - i! 图2 3p i o 写命令时序 2 3 2i d e 硬盘的u d m a 传输模式 d m a 数据传输模式的优点在于:c p u 不需要处理数据传输的工作,因此c p u 可以专注于别的工作从而提升系统的整体效率;d m a 传输周期中数据会在时钟信 号的上升沿或下降沿锁存数据;u l t r ad m a 数据传输模式是由d m a 发展过来的, 与d m a 传输不同之处于数据会在时钟信号的上升沿和下降沿都对数据进行锁存, 也就是说在相同传输频率下,u l t r ad m a 数据传输速率是d m a 传输的2 倍,这也就 是d m a 传输模式只会是昙花一现,不久就被u l t r ad m a 传输模式所取代的最直接 的原因,并使得并行a t a 的传输速率可以高达1 3 3 m b s 。u d m a 数据传输包括 d a t a - i n ( 从设备到接口) 和d a t a - o u t ( 从接口到设备) 两个方向。每个方向的数据传输必 须经历三个阶段:初始化、数据传输、终止:另外,在数据传输阶段可以暂停。 一个u d m a 数据传输周期从主机置低d m a c k 开始,置高d m a c k 结束“j 。 u d m a 方式下的数据最大突发传输速率: u d m am o d e 0 :16 7 m b s ; u d m am o d e 2 :33 m b s ; u d m am o d e 4 :6 6 m b s ; u d m am o d e 6 :1 3 3 m b s 。 2 3 2 1u d m a 数据读 u d m am o d el :2 5 m b s ; u d m a m o d e 3 :4 4 m b s ; u d m am o d e 5 :10 0 m b s ; u d m a 数据读操作巨p d a t a - i n ,是相对于a t a 接口来说的,数据流向是从设备到 主机;每一次数据输入必须包括三个过程:初始化、数据传输、终止;在传输过程中, 主机与设备都可以暂停数据的传输;主机与设备也可以终止数据的传输。下面仅 第二章i d e 硬盘接口 就u d m a 读操作中数据连续无间断传输为例进行介绍u d m a 读传输。 当d a t a - i n 数据传输初始化完成后,在设备的d s t r o b e 信号的上下边沿数据被 读取,设备可以通过停止产生d s t r o b e 信号边沿来暂停数据的传输。d a t a - i n 数据 传输时序图2 4 中,主机端和设备端的时序分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国横鱼项目创业计划书
- 中国APM项目创业计划书
- 中国认证检验检测项目创业计划书
- 中国可见光人脸识别项目创业计划书
- 中国金针菇项目创业计划书
- 中国计算机工程项目创业计划书
- 中国光通信交换设备项目创业计划书
- 2025《混凝土搅拌站劳动合同》
- 中国电子体温计项目创业计划书
- 场景详尽电子商务代理协议书
- 基于机器学习的糖尿病早期诊断模型及可解释分析
- 路面硬化施工方案
- 学前教育安全标志课件
- 环境污染和生态破坏事故应急预案样本(2篇)
- 中北大学炸药理论复习
- T-UNP 149-2024 装配式建筑工程施工现场安全管理规范
- 铁路货物运价规则
- 《工逆向工程与增材制造》课件-19. Geomagic Design X 实体建模方法
- 医疗废物管理的相关法律法规
- 脑机接口课件
- 天涯海角景区开发规划
评论
0/150
提交评论