不一样的热插拔(hot swap)控制器
- 格式:pdf
- 大小:532.52 KB
- 文档页数:5
cPCI(即CompactPCI)是PICMIG制定的、更加坚固耐用的PCI版本,广泛应用于工业和嵌入式控制系统中。
它在电气、逻辑和软件功能方面与PCI完全兼容。
除机械特性不一致外,cPCI与PCI最大的差别在于cPCI具有支持热切换(HotSwap)的能力。
随着电子产品成本的下降和市场对工业产品尤其是电信应用产品可靠性要求的提高,基于cPCI平台的设计逐渐成为电信设备厂商的首选。
1cPCI热切换原理1.1热切换基础cPCI标准定义的机械、电气特性是实现热切换的基础。
它采用的连接器符合IEC917和IEC1074-101标准,其插针引脚分别有最长、中长、最短三种长度。
当插入一个卡到插槽时,首先最长的引脚(电源和地)被连接,卡逻辑将所有PCI信号引脚预设到一个固定电平1V;接着是中长度引脚的PCI信号连接,这些信号的电平已经固定且尚未开始工作,不会对系统造成干扰;最后才轮到最短的引脚,即BD_SEL#信号连接,告知卡逻辑可以开始工作。
卡拔出的顺序正好相反,BD_SEL#首先断开,PCI信号被调整到一固定电平,最后才断开电源和地信号。
在电路方面,cPCI增加一个ENUM#信号,即系统枚举信号。
当一个cPCI设备卡被插入或拔出时,ENUM#被激活。
除cPCI本身的特性以外,要实现热切换,具有支持即插即用(PnP)的操作系统也是必要条件之一,只有支持PnP才能实现设备驱动程序的动态安装和卸载。
1.2三种层次热切换1.2.1基本热切换最基本的热切换方式需要用户干预。
用户通过控制台通知OS(操作系统)即将进行设备卡插入或拔出。
当插入一个卡时,其详细流程如下:(a)通过系统界面,用户通知OS即将在一个槽中插入一个卡;(b)用户插入卡,对卡完成上电初始化;(c)用户通知系统,卡已经插入,要求OS重新枚举总线;(d)OS执行总线枚举,确定新卡需要的资源;(e)OS对卡的PCI配置寄存器编程,向其分配资源;(f)OS装入适当的设备驱动程序,并调用其初始化代码;(g)设备驱动程序初始化完成,卡开始工作。
大型复杂系统内存热插拔技术的实现高云岭;贺信;庄克良【摘要】针对目前Linux的内核的热插拔特性以及ACPI里关于内存电源状态表MPST的状态定义,通过重新编译Linux内核,开发专有的内存管理程序驱动和外部设置应用程序,来完成在大型复杂服务器系统上在关机的情况下,实现内存的动态热插拔操作。
同时,提供了在Linux平台的测试程序,来验证整个流程的可行性。
【期刊名称】《电子技术与软件工程》【年(卷),期】2017(000)019【总页数】2页(P121-122)【关键词】Linux内核热插拔特性内存内存电源状态表【作者】高云岭;贺信;庄克良【作者单位】海军704厂,山东省青岛市266109【正文语种】中文【中图分类】TP303动态热插拔技术的提出,基本上是为了在相关部件出现故障时,保证用户能够在系统正常运行的同时,进行在线维护。
所谓热插拔(hot-plugging或Hot Swap)功能就是允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的内存、硬盘、电源或板卡等部件,从而极大地提高了系统对灾难的及时恢复能力、扩展性和灵活性等,使复杂大型服务器系统的容错能力大大上升,为用户提供了最大限度的可用性。
本文针对内存热插拔这一难题,实现了一种可操作性强、可行性的技术方案,并针对Linux操作系统之上进行原型的开发和验证。
总体架构设计有八部分组成,涉及从操作系统上层应用程序,中间层驱动设置程序,操作系统内核,底层硬件驱动,硬件和BIOS等,具体如图1所示。
要实现内存的热插拔,首先需要操作系统的深度支持。
其主要完成的功能是,错误检测和页表迁移。
当得到用户设置指令或者根据自身 RAS(Reliability Availability Serviceability)机制检测到硬件错误的时候,操作系统要主动把支持热插拔内存上正在运行的页表和数据项迁移交换到其他物理内存条。
页表迁移主要任务包括在目的内存分配新的页表,修改内核数据结构树,移除老的页表入口以及移动页表内容。
硬盘常见接口类型详解目前所能见到的硬盘接口类型主要有IDE、SATA、SCSI、SAS、FC等等。
IDE是俗称的并口,SATA是俗称的串口,这两种硬盘是个人电脑和低端服务器常见的硬盘。
SCSI是'小型计算机系统专用接口'的简称,SCSI硬盘就是采用这种接口的硬盘。
SAS就是串口的SCSI接口。
一般服务器硬盘采用这两类接口,其性能比上述两种硬盘要高,稳定性更强,但是价格高,容量小,噪音大。
FC是光纤通道,和SCIS 接口一样光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。
SSD也称作电子硬盘或者固态电子盘,是由控制单元和固态存储单元(DRAM或FLASH芯片)组成的硬盘。
固态硬盘的接口规范和定义、功能及使用方法上与普通硬盘的相同,在产品外形和尺寸上也与普通硬盘一致。
新一代的固态硬盘普遍采用SATA-2接口。
但其成本较高。
1. IDEIDE(Integrated Drive Electronics集成驱动器电子)的缩写,它的本意是指把控制器与盘体集成在一起的硬盘驱动器,是一种硬盘的传输接口,它有另一个名称叫做ATA(Advanced Technology Attachment),这两个名词都有厂商在用,指的是相同的东西。
IDE的规格后来有所进步,而推出了EIDE(Enhanced IDE)的规格名称,而这个规格同时又被称为Fast ATA。
所不同的是Fast ATA是专指硬盘接口,而EIDE还制定了连接光盘等非硬盘产品的标准。
而这个连接非硬盘类的IDE标准,又称为ATAPI接口。
而之后再推出更快的接口,名称都只剩下ATA的字样,像是Ultra ATA、ATA/66、ATA/100等。
早期的IDE接口有两种传输模式,一个是PIO(Programming I/O)模式,另一个是DMA(Direct Memory Access)。
标准 AHCI (Advanced Host Controller Interface) 1.0 串行 ATA (Advanced Technology Attachment) 控制器是一种用于连接计算机主板和存储设备的接口标准,它提供了一种通用、高效的接口方式,用于传输数据和控制存储设备。
AHCI 1.0 控制器广泛应用于桌面和服务器计算机中,为用户提供了更快速、更可靠的数据存储和存取功能。
AHCI 1.0 控制器的特点主要包括:1. 高速数据传输:AHCI 1.0 控制器支持高速串行数据传输,能够以最大6Gb/s的速度传输数据,比起传统的并行ATA接口有了显著的提升,大大加快了数据的传输速度。
2. 热插拔支持:AHCI 1.0 控制器支持热插拔功能,即在计算机开机的情况下可以更换或安装新的存储设备,而无需关闭计算机。
这一特点极大地方便了用户的使用和维护。
3. 唤醒支持:AHCI 1.0 控制器支持系统唤醒功能,即当计算机处于睡眠或休眠状态时,通过存储设备的唤醒信号,AHCI 1.0 控制器能够迅速将系统从休眠状态唤醒,缩短了系统的响应时间。
4. NCQ支持:AHCI 1.0 控制器支持NCQ (Native Command Queuing) 技术,通过优化IO请求的排队和执行顺序,减少了磁盘的寻道等待时间,提高了数据访问的效率和性能。
5. R本人D支持:AHCI 1.0 控制器支持软硬件R本人D,这使得用户可以更加灵活地配置和管理存储设备,提高了数据的安全性和可靠性。
AHCI 1.0 控制器作为一种先进的存储接口标准,具有高速数据传输、热插拔支持、唤醒支持、NCQ支持和R本人D支持等诸多优点,能够为用户提供更加高效可靠的存储解决方案。
随着技术的不断发展,AHCI标准也在不断更新和完善,为用户带来更好的使用体验和性能表现。
6. 兼容性强:AHCI 1.0 控制器具有很强的兼容性,可以与各种类型的存储设备配合使用,包括传统的机械硬盘、固态硬盘以及最新的NVMe固态硬盘。
浅谈嵌入式系统中的硬件热插拔设计作者:张文杰王坤来源:《电子世界》2012年第10期【摘要】本文研究了嵌入式单片机系统硬件设计中的接口热插拔设计方法。
文中对热插拔设计的重要性,一般接口在防过电流、过电压冲击方面的热插拔设计,以及接口在结构方面的热插拔设计进行了一些有意义的探讨,并给出参考实例。
【关键词】嵌入式电路;热插拔;接口设计热插拔的概念来源于我们的桌面PC,其一般定义为将设备板卡或模块等带电接入或移出正在工作的电脑[1]。
嵌入式系统中的热插拔是指对正在运行的嵌入式电路板,在不关闭电源情况下对某些部件进行插入(连接)或拔出(断开)操作。
下面要谈的正是在一个嵌入式单片机系统中对其扩展部件或板卡的硬件热插拔技术,将根据接口上的信号类型等探讨热插拔的危害产生原因及防止危害发生的一般性措施。
本文以下部分将把要插拔的两块电路板分别称为主电路板(正在运行的嵌入式主电路板)和扩展板。
一、热插拔设计的重要性对正在工作的电路板进行热插拔通常都是不被许可的,但在有些时候却是难于避免的,比如使用者疏忽或特殊功能要求等。
对未采取任何保护措施的嵌入式电路板进行热插拔操作,其将带来的损害通常是很严重的,包括电源电路损坏,单片机IO口烧坏,单片机复位或死机,或者与接口相连的IC出现部分或全部管脚烧坏等。
这些故障将导致嵌入式电路板产生永久性损害,或在重新上电之前系统无法再正常工作。
因此,在嵌入式系统的扩展接口设计中加入一定的热插拔保护措施是十分必要的。
热插拔操作对嵌入式电路板的危害通常表现在三方面:过电流冲击、瞬态过电压、静电释放[1]。
进行热插拔设计的目标应是在不增加太多硬件成本的前提下,使设计出的电路板不因热插拔操作造成系统复位、死机或对元器件产生永久性损害。
二、电源与地接口的防过电流冲击热插拔设计当把扩展板插入正在工作的嵌入式主电路板中时,扩展板上的各类电容和IC需要瞬间从主电路板的电源处上吸走大量电荷,给电源造成一个短暂的低阻抗路径,造成一次浪涌电流[1]。
SATA 2.5规范介绍SATA2.5规范是7个规范的综合,集成为一,目标是针对系统集成商而不是最终用户。
这7个规范包括了SATA 1.0a规范和6个前SATA 2.0扩展规范。
一.SATA历史回顾SATA是由Intel公司于2000年发起,是了为取代PATA接口硬盘而开发的新型硬盘接口技术,SATA 1.0即第一个正式版于2001年正式确立,而SATA 1.0a是对SATA 1.0的微小修改,改修了一些问题,也可以说是SATA1.0的终结。
2002年初SerialATA委员会又公布了第二个正式版的Serial ATA串行标准。
(SATA硬盘的接口组件示例图)二.SATA优点作为当前最主流的硬盘连接规范,SATA相对PATA来说,优点相当突出。
首先,串行ATA 的数据传输率比并行ATA高。
最明显的一点,在SATA1.0中就能达到150MB/s的突发数据传输率,这比最快的并行ATA标准ATA/133所能提供的最高数据传输率还略高一筹。
而且Serial ATA的发展趋势来看,串行ATA的速度将是150MB/s的N倍。
如此一来,硬盘将不再是系统性能的瓶颈了。
其次,SATA的连接比PATA要简单,拓展性也比PATA要好。
在SATA标准中,只需要四跟针脚就能够完成所有工作,第1针供电,第2针接地,第3针作为数据发送端,第4针充当数据接收端(图SATA_02)。
另外,由于Serial ATA使用这样的点对点传输协议,所以不存在主/从问题,并且每个驱动器是独享数据带宽。
因此,用户不再需要设置硬盘的主从跳线;系统也将不再受限于单通道只能连接两块硬盘。
再者,在数据连接的物理构造方面,PATA电缆很宽,不利于机箱内空气流动,而且最长只能到45厘米,而SATA电缆很细,装在机箱里令人感到舒服,最长能到1米。
而且,SATA 还支持热插拔,PATA则不能。
三.SATA2.5规范SATA 2.5规范是7个规范的综合,包括了SATA 1.0a规范和6个前SATA 2.0扩展规范。
AHCI, ATA, RAID比较BIOS 里的SATA setting 有AHCI mode, ATA mode, RAID mode,g 了些资料。
以下大部分内容源于differencebetween,根据自己的理解整理而成。
AHCI vs ATAATA(AT Attachment) 是一个很久远的标准,最初是定义诸如硬盘等存储设备和CPU 的接的标准。
一共有两种类型的ATA,第一种叫Parallel ATA(PATA),第二种叫Serial ATA(SATA),现在使用ATA这个词汇默认是指前者,也就是PATA,他是在SATA 之前出现的。
而AHCI则是为SATA 设计的控制器接口,AHCI(Advanced Host Controller Interface) 的全称是Serial ATA Advance Host Controller Interface,他定义了存储设备和主机之间的信息如何传递。
AHCI是一个相对较新的技术,跟老的ATA(PATA)不兼容,因此,只有SATA 接口的主板和硬盘才能使用AHCI这个技术。
当使用SATA 的时候,依然可以选择是使用AHCI还是古老的PATA 实现,一些配有SATA 控制器的设备可能由于驱动等原因无法使用AHCI可以选择ATA的模式,他是兼容性最好的一种,但是性能也相对较差。
PATA 的实现在DELL 的服务器的BIOS SATA setting 里面叫做ATA mod e,而AHCI的则叫AHCI mode。
因此对症下药的话,SATA/SAS 的硬盘一般选择AHCI mode。
相比使用ATA mode,AHCI有两个最明显的优势,第一个就是热插拔(hot-plug ging),第二个则是原生指令队列 (NCQ, Native Command Queuing),该技术会让磁盘的寻道时间缩短,NCQ 除了需要有AHCI模式的支持外,其OS 也需要有对应的driver 支持。
问:如果热拔插I2C总线上的设备,是否易对总线及总线上的设备会产生严重影响,如何影响。
情况1:拔插当时总线上的空闲设备;情况2:插拔当时总线上的BUSY设备,MASTER或SLAVE。
[答:Alex] 1 支持热插拔2 如果声明支持热插拔的I2C器件不会对总线产生任何的影响,器件插入的时候它会自动的检测线路状态,并且只在总线空闲的时候连接器件,所以不会对总线产生任何的影响[问:kkwd] I2C上拉电阻怎么确定[答:Bruce] 这里有一个计算公式:Rmin={Vdd(min)-o.4V}/3mARmax=T/0.874.c, T=1us 100KHz, T=0.3us 400KHz[问:applebig] I2C对热插拔是否支持?有没有热插拔时数据传送正确性的保护措施?[答:Timothy] Yes, Philips I2C devices support Hot swap functions, please refere to Philips website @ and search for PCA951X series for details [问:zhongshan] 请介绍一下I2C总线的应用领域和应用注意事项。
[答:Bruce] I2C总线是一个通用的串行总线,可以在很多领域中应用,比如计算机制造、电信设备、消费类电子、手持设备等。
应用中需要注意的主要有:总线容量、信号传输距离、总线频率、slave地址、上拉电阻阻值计算等[问:jameswl] 请问,我在I2C总线的芯片中在存放的数据会丢失,如何解决?[答:Alex] 我想这是存储芯片的问题,和什么接口并无关系,除非你没有写进去,若你能确定数据已经写入,我建议你接触你的芯片供应商请求协助测试解决该问题。
[问:mocan] 1、I2C是否支持热拔插。
[问:khadgar02] 请问一家ic公司如何获得i2c控制器的生产授权?缴纳license?直接向philips购买硬核?可以自行研制然后通过测试吗?[答:Timothy] Apply for a license or text of the Philips I2C Standard License Agreement please contact Mr. Hesselmann (I2C.Support at )[问:kkwd] 怎么把GPIO口编程为I2C总线?[答:Paul] PCA9564 can do this job, 8 GPIOs and several control signals transfer to I2C bus.[问:abucaiwang] 我们把I2C通过迷你USB接口从机器上引了出来,和另外的一台机器连接。
AHCI,全称为Serial ATA Advanced Host Controller Interface(串行ATA高级主控接口),是在Intel的指导下,由多家公司联合研发的接口标准,其研发小组成员主要包括Intel、AMD、戴尔、Marvell、迈拓、微软、Red Hat、希捷和StorageGear等著名企业。
AHCI描述了一种PCI类设备,主要是在系统内存和串行ATA设备之间扮演一种接口的角色,而且它在不同的操作系统和硬件中是通用的。
AHCI通过包含一个PCI BAR(基址寄存器),来实现原生SATA功能。
由于AHCI统一接口的研发成功,使得支持串行ATA产品的开发工作大为简化,操作系统和设备制造商省去了单独开发接口的工作,取而代之的是直接在统一接口上进行操作,可以实现包括NCQ(Native Command Queuing)在内的诸多功能。
一直以来SCSI硬盘在多任务负载下的表现能力为人称道,其根本的原因除了SCSI接口惊人的接口速率外,便是它的指令排序功能。
以往的PATA、SATA硬盘也正是因为缺少一种指令优化执行功能而在性能上落后于SCSI硬盘。
针对这一困境,Intel的AHCI 1.0规范首次引入的NCQ(Native Command Qu),它的应用能够大幅度减少硬盘无用的寻道次数和数据查找时间,这样就能显著增强多任务情况下硬盘的性能。
另外,作为SATA标准的改进版,Intel完善了Serial ATA II接口的详细规格,并表示串行ATA II的研发将属于AHCI统一接口的第二个阶段。
而其中第一阶段从去年已经开始,不少厂商也推出Serial ATA接口的产品,包括硬盘和主板。
但这仅仅是作为过渡,在第二阶段,Serial ATA II将会凭借更高的信号传输速度直接取代SATA.—理论结束,现在看看你能不能用这个东西—————————————————————————高级主机控制器接口(AHCI) 是一种接口技术指标,它允许存储驱动程序启用高级串行ATA 功能,如本机命令队列和热插拔。