dtr算法
❶ 硬盘转速与平均寻道时间
b
看完下面这些资料,你就知道是怎么回事了。
缓存(Cache memory)是硬盘控制器上的一块内存芯片,具有极快的存取速度,它是硬盘内部存储和外界接口之间的缓冲器。由于硬盘的内部数据传输速度和外界接口传输速度不同,缓存在其中起到一个缓冲的作用。缓存的大小与速度是直接关系到硬盘的传输速度的重要因素,能够大幅度地提高硬盘整体性能。当硬盘存取零碎数据时需要不断地在硬盘与内存之间交换数据,如果有大缓存,则可以将那些零碎数据暂存在缓存中,减小外系统的负荷,也提高了数据的传输速度。
硬盘的缓存主要起三种作用:一是预读取。当硬盘受到CPU指令控制开始读取数据时,硬盘上的控制芯片会控制磁头把正在读取的簇的下一个或者几个簇中的数据读到缓存中(由于硬盘上数据存储时是比较连续的,所以读取命中率较高),当需要读取下一个或者几个簇中的数据的时候,硬盘则不需要再次读取数据,直接把缓存中的数据传输到内存中就可以了,由于缓存的速度远远高于磁头读写的速度,所以能够达到明显改善性能的目的;二是对写入动作进行缓存。当硬盘接到写入数据的指令之后,并不会马上将数据写入到盘片上,而是先暂时存储在缓存里,然后发送一个“数据已写入”的信号给系统,这时系统就会认为数据已经写入,并继续执行下面的工作,而硬盘则在空闲(不进行读取或写入的时候)时再将缓存中的数据写入到盘片上。虽然对于写入数据的性能有一定提升,但也不可避免地带来了安全隐患——如果数据还在缓存里的时候突然掉电,那么这些数据就会丢失。对于这个问题,硬盘厂商们自然也有解决办法:掉电时,磁头会借助惯性将缓存中的数据写入零磁道以外的暂存区域,等到下次启动时再将这些数据写入目的地;第三个作用就是临时存储最近访问过的数据。有时候,某些数据是会经常需要访问的,硬盘内部的缓存会将读取比较频繁的一些数据存储在缓存中,再次读取时就可以直接从缓存中直接传输。
缓存容量的大小不同品牌、不同型号的产品各不相同,早期的硬盘缓存基本都很小,只有几百KB,已无法满足用户的需求。2MB和8MB缓存是现今主流硬盘所采用,而在服务器或特殊应用领域中还有缓存容量更大的产品,甚至达到了16MB、64MB等。
大容量的缓存虽然可以在硬盘进行读写工作状态下,让更多的数据存储在缓存中,以提高硬盘的访问速度,但并不意味着缓存越大就越出众。缓存的应用存在一个算法的问题,即便缓存容量很大,而没有一个高效率的算法,那将导致应用中缓存数据的命中率偏低,无法有效发挥出大容量缓存的优势。算法是和缓存容量相辅相成,大容量的缓存需要更为有效率的算法,否则性能会大大折扣,从技术角度上说,高容量缓存的算法是直接影响到硬盘性能发挥的重要因素。更大容量缓存是未来硬盘发展的必然趋势。
=============================================
内部数据传输率
内部数据传输率(Internal Transfer Rate)是指硬盘磁头与缓存之间的数据传输率,简单的说就是硬盘将数据从盘片上读取出来,然后存储在缓存内的速度。内部传输率可以明确表现出硬盘的读写速度,它的高低才是评价一个硬盘整体性能的决定性因素,它是衡量硬盘性能的真正标准。有效地提高硬盘的内部传输率才能对磁盘子系统的性能有最直接、最明显的提升。目前各硬盘生产厂家努力提高硬盘的内部传输率,除了改进信号处理技术、提高转速以外,最主要的就是不断的提高单碟容量以提高线性密度。由于单碟容量越大的硬盘线性密度越高,磁头的寻道频率与移动距离可以相应的减少,从而减少了平均寻道时间,内部传输速率也就提高了。虽然硬盘技术发展的很快,但内部数据传输率还是在一个比较低(相对)的层次上,内部数据传输率低已经成为硬盘性能的最大瓶颈。目前主流的家用级硬盘,内部数据传输率基本还停留在70~90 MB/s左右,而且在连续工作时,这个数据会降到更低。
数据传输率的单位一般采用MB/s或Mbit/s,尤其在内部数据传输率上官方数据中更多的采用Mbit/s为单位。此处有必要讲解一下两个单位二者之间的差异:
MB/s的含义是兆字节每秒,Mbit/s的含义是兆比特每秒,前者是指每秒传输的字节数量,后者是指每秒传输的比特位数。MB/s中的B字母是Byte的含义,虽然与Mbit/s中的bit翻译一样,都是比特,也都是数据量度单位,但二者是完全不同的。Byte是字节数,bit是位数,在计算机中每八位为一字节,也就是1Byte=8bit,是1:8的对应关系。因此1MB/s等于8Mbit/s。因此在在书写单位时一定要注意B字母的大小写,尤其有些人还把Mbit/s简写为Mb/s,此时B字母的大小真可以称为失之毫厘,谬以千里。
上面这是一般情况下MB/s与Mbit/s的对应关系,但在硬盘的数据传输率上二者就不能用一般的MB和Mbit的换算关系(1B=8bit)来进行换算。比如某款产品官方标称的内部数据传输率为683Mbit/s,此时不能简单的认为683除以8得到85.375,就认为85MB/s是该硬盘的内部数据传输率。因为在683Mbit中还包含有许多bit(位)的辅助信息,不完全是硬盘传输的数据,简单的用8来换算,将无法得到真实的内部数据传输率数值。
=============================================
外部数据传输率
硬盘数据传输率的英文拼写为Data Transfer Rate,简称DTR。硬盘数据传输率表现出硬盘工作时数据传输速度,是硬盘工作性能的具体表现,它并不是一成不变的而是随着工作的具体情况而变化的。在读取硬盘不同磁道、不同扇区的数据;数据存放的是否连续等因素都会影响到硬盘数据传输率。因为这个数据的不确定性,所以厂商在标示硬盘参数时,更多是采用外部数据传输率(External Transfer Rate)和内部数据传输率(Internal Transfer Rate)。
外部数据传输率(External Transfer Rate),一般也称为突发数据传输或接口传输率。是指硬盘缓存和电脑系统之间的数据传输率,也就是计算机通过硬盘接口从缓存中将数据读出交给相应的控制器的速率。平常硬盘所采用的ATA66、ATA100、ATA133等接口,就是以硬盘的理论最大外部数据传输率来表示的。ATA100中的100就代表着这块硬盘的外部数据传输率理论最大值是100MB/s;ATA133则代表外部数据传输率理论最大值是133MB/s;而SATA接口的硬盘外部理论数据最大传输率可达150MB/s。这些只是硬盘理论上最大的外部数据传输率,在实际的日常工作中是无法达到这个数值的。
=================================================
转速
转速(Rotationl Speed),是硬盘内电机主轴的旋转速度,也就是硬盘盘片在一分钟内所能完成的最大转数。转速的快慢是标示硬盘档次的重要参数之一,它是决定硬盘内部传输率的关键因素之一,在很大程度上直接影响到硬盘的速度。硬盘的转速越快,硬盘寻找文件的速度也就越快,相对的硬盘的传输速度也就得到了提高。硬盘转速以每分钟多少转来表示,单位表示为RPM,RPM是Revolutions Per minute的缩写,是转/每分钟。RPM值越大,内部传输率就越快,访问时间就越短,硬盘的整体性能也就越好。
硬盘的主轴马达带动盘片高速旋转,产生浮力使磁头飘浮在盘片上方。要将所要存取资料的扇区带到磁头下方,转速越快,则等待时间也就越短。因此转速在很大程度上决定了硬盘的速度。
家用的普通硬盘的转速一般有5400rpm、7200rpm几种,高转速硬盘也是现在台式机用户的首选;而对于笔记本用户则是4200rpm、5400rpm为主,虽然已经有公司发布了7200rpm的笔记本硬盘,但在市场中还较为少见;服务器用户对硬盘性能要求最高,服务器中使用的SCSI硬盘转速基本都采用10000rpm,甚至还有15000rpm的,性能要超出家用产品很多。
较高的转速可缩短硬盘的平均寻道时间和实际读写时间,但随着硬盘转速的不断提高也带来了温度升高、电机主轴磨损加大、工作噪音增大等负面影响。笔记本硬盘转速低于台式机硬盘,一定程度上是受到这个因素的影响。笔记本内部空间狭小,笔记本硬盘的尺寸(2.5寸)也被设计的比台式机硬盘(3.5寸)小,转速提高造成的温度上升,对笔记本本身的散热性能提出了更高的要求;噪音变大,又必须采取必要的降噪措施,这些都对笔记本硬盘制造技术提出了更多的要求。同时转速的提高,而其它的维持不变,则意味着电机的功耗将增大,单位时间内消耗的电就越多,电池的工作时间缩短,这样笔记本的便携性就受到影响。所以笔记本硬盘一般都采用相对较低转速的4200rpm硬盘。
转速是随着硬盘电机的提高而改变的,现在液态轴承马达(Fluid dynamic bearing motors)已全面代替了传统的滚珠轴承马达。液态轴承马达通常是应用于精密机械工业上,它使用的是黏膜液油轴承,以油膜代替滚珠。这样可以避免金属面的直接磨擦,将噪声及温度被减至最低;同时油膜可有效吸收震动,使抗震能力得到提高;更可减少磨损,提高寿命。
===============================================
平均寻道时间
平均寻道时间的英文拼写是Average Seek Time,它是了解硬盘性能至关重要的参数之一。它是指硬盘在接收到系统指令后,磁头从开始移动到移动至数据所在的磁道所花费时间的平均值,它一定程度上体现硬盘读取数据的能力,是影响硬盘内部数据传输率的重要参数,单位为毫秒(ms)。不同品牌、不同型号的产品其平均寻道时间也不一样,但这个时间越低,则产品越好,现今主流的硬盘产品平均寻道时间都在在9ms左右。
平均寻道时间实际上是由转速、单碟容量等多个因素综合决定的一个参数。一般来说,硬盘的转速越高,其平均寻道时间就越低;单碟容量越大,其平均寻道时间就越低。当单盘片容量增大时,磁头的寻道动作和移动距离减少,从而使平均寻道时间减少,加快硬盘速度。当然处于市场定位以及噪音控制等方面的考虑,厂商也会人为的调整硬盘的平均寻道时间。
在硬盘上数据是分磁道、分簇存储的,经常的读写操作后,往往数据并不是连续排列在同一磁道上,所以磁头在读取数据时往往需要在磁道之间反复移动,因此平均寻道时间在数据传输中起着十分重要的作用。在读写大量的小文件时,平均寻道时间也起着至关重要的作用。在读写大文件或连续存储的大量数据时,平均寻道时间的优势则得不到体现,此时单碟容量的大小、转速、缓存就是较为重要的因素。
==========================================
磁头数
硬盘磁头是硬盘读取数据的关键部件,它的主要作用就是将存储在硬盘盘片上的磁信息转化为电信号向外传输,而它的工作原理则是利用特殊材料的电阻值会随着磁场变化的原理来读写盘片上的数据,磁头的好坏在很大程度上决定着硬盘盘片的存储密度。目前比较常用的是GMR(Giant Magneto Resisive)巨磁阻磁头,GMR磁头的使用了磁阻效应更好的材料和多层薄膜结构,这比以前的传统磁头和MR(Magneto Resisive)磁阻磁头更为敏感,相对的磁场变化能引起来大的电阻值变化,从而实现更高的存储密度 。
磁头是硬盘中对盘片进行读写工作的工具,是硬盘中最精密的部位之一。磁头是用线圈缠绕在磁芯上制成的。硬盘在工作时,磁头通过感应旋转的盘片上磁场的变化来读取数据;通过改变盘片上的磁场来写入数据。为避免磁头和盘片的磨损,在工作状态时,磁头悬浮在高速转动的盘片上方,而不与盘片直接接触,只有在电源关闭之后,磁头会自动回到在盘片上的固定位置(称为着陆区,此处盘片并不存储数据,是盘片的起始位置)。
由于磁头工作的性质,对其磁感应敏感度和精密度的要求都非常高。早先的磁头采用铁磁性物质,在磁感应敏感度上不是很理想,因此早期的硬盘单碟容量都比较低,单碟容量大则盘片上磁道密度大,磁头感应程度不够,就无法准确读出数据。这就造成早期的硬盘容量都很有限。随着技术的发展,磁头在磁感应敏感度和精密度方面都有了长足的进步。
最初磁头是读、写功能一起的,这对磁头的制造工艺、技术都要求很高,而对于个人电脑来说,在与硬盘交换数据的过程中,读取数据远远快于写入数据,读、写操作二者的特性也完全不同,这也就导致了读、写分离的磁头,二者分别工作、各不干扰。
薄膜感应(TEI)磁头
在1990年至1995年间,硬盘采用TFI读/写技术。TFI磁头实际上是绕线的磁芯。盘片在绕线的磁芯下通过时会在磁头上产生感应电压。TFI读磁头之所以会达到它的能力极限,是因为在提高磁灵敏度的同时,它的写能力却减弱了。
各向异性磁阻(AMR)磁头
AMR(Anisotropic Magneto Resistive)90年代中期,希捷公司推出了使用AMR磁头的硬盘。AMR磁头使用TFI磁头来完成写操作,但用薄条的磁性材料来作为读元件。在有磁场存在的情况下,薄条的电阻会随磁场而变化,进而产生很强的信号。硬盘译解由于磁场极性变化而引起的薄条电阻变化,提高了读灵敏度。AMR磁头进一步提高了面密度,而且减少了元器件数量。由于AMR薄膜的电阻变化量有一定的限度,AMR技术最大可以支持3.3GB/平方英寸的记录密度,所以AMR磁头的灵敏度也存在极限。这导致了GMR磁头的研发。
GMR(Giant Magneto Resistive,巨磁阻)
GMR磁头继承了TFI磁头和AMR磁头中采用的读/写技术。但它的读磁头对于磁盘上的磁性变化表现出更高的灵敏度。GMR磁头是由4层导电材料和磁性材料薄膜构成的:一个传感层、一个非导电中介层、一个磁性的栓层和一个交换层。GMR传感器的灵敏度比AMR磁头大3倍,所以能够提高盘片的密度和性能。
硬盘的磁头数取决于硬盘中的盘片数,盘片正反两面都存储着数据,所以一个盘片对应两个磁头才能正常工作。比如总容量80GB的硬盘,采用单碟容量80GB的盘片,那只有一张盘片,该盘片正反面都有数据,则对应两个磁头;而同样总容量120GB的硬盘,采用二张盘片,则只有三个磁头,其中一张盘片的一面没有磁头。
=============================================
硬盘及磁盘阵列常用技术术语
Ø 硬盘的转速(Rotational Speed):也就是硬盘电机主轴的转速,转速是决定硬盘内部传输率的关键因素之一,它的快慢在很大程度上影响了硬盘的速度,同时转速的快慢也是区分硬盘档次的重要标志之一。 硬盘的主轴马达带动盘片高速旋转,产生浮力使磁头飘浮在盘片上方。要将所要存取资料的扇区带到磁头下方,转速越快,等待时间也就越短。因此转速在很大程度上决定了硬盘的速度。目前市场上常见的硬盘转速一般有5400rpm、7200rpm、甚至10000rpm。理论上,转速越快越好。因为较高的转速可缩短硬盘的平均寻道时间和实际读写时间。可是转速越快发热量越大,不利于散热。现在的主流硬盘转速一般为7200rpm以上。
Ø 平均寻道时间(Average seek time):指硬盘在盘面上移动读写头至指定磁道寻找相应目标数据所用的时间,它描述硬盘读取数据的能力,单位为毫秒。当单盘片容量增大时,磁头的寻道动作和移动距离减少,从而使平均寻道时间减少,加快硬盘速度。目前市场上主流硬盘的平均寻道时间一般在9ms以下,大于10ms的硬盘属于较早的产品,一般不值得购买。�
Ø 平�狈�奔?Average latency time):指当磁头移动到数据所在的磁道后,然后等待所要的数据块继续转动到磁头下的时间,一般在2ms-6ms之间。
Ø 平均访问时间(Average access time):指磁头找到指定数据的平均时间,通常是平均寻道时间和平均潜伏时间之和。平均访问时间最能够代表硬盘找到某一数据所用的时间,越短的平均访问时间越好,一般在11ms-18ms之间。注意:现在不少硬盘广告之中所说的平均访问时间大部分都是用平均寻道时间所代替的。�
Ø 突发数据传输率(Burst data transfer rate):指的是电脑通过数据总线从硬盘内部缓存区中所读取数据的最高速率。也叫外部数据传输率(External data transfer rate)。目前采用UDMA/66技术的硬盘的外部传输率已经达到了66.6MB/s。�
Ø 最大内部数据传输率(Internal data transfer rate):指磁头至硬盘缓存间的最大数据传输率,一般取决于硬盘的盘片转速和盘片数据线密度(指同一磁道上的数据间隔度)。也叫持续数据传输率(sustained transfer rate)。一般采用UDMA/66技术的硬盘的内部传输率也不过25-30MB/s,只有极少数产品超过30MB/s,由于内部数据传输率才是系统真正的瓶颈,因此大家在购买时要分清这两个概念。不过一般来讲,硬盘的转速相同时,单碟容量大的内
部传输率高;在单碟容量相同时,转速高的硬盘的内部传输率高。�
Ø 自动检测分析及报告技术(Self-Monitoring Analysis and Report Technology,简称S.M.A.R.T): 现在出厂的硬盘基本上都支持S.M.A.R.T技术。这种技术可以对硬盘的磁头单元、盘片电机驱动系统、硬盘内部电路以及盘片表面媒介材料等进行监测,当S.M.A.R.T监测并分析出硬盘可能出现问题时会及时向用户报警以避免电脑数据受到损失。S.M.A.R.T技术必须在主板支持的前提下才能发生作用,而且S.M.A.R.T技术也不能保证能预报出所有可能发生的硬盘故障。
Ø 磁阻磁头技术MR(Magneto-Resistive Head):MR(MAGNETO-RESITIVEHEAD)即磁阻磁头的简称。MR技术可以更高的实际记录密度、记录数据,从而增加硬盘容量,提高数据吞吐率。目前的MR技术已有几代产品。MAXTOR的钻石三代/四代等均采用了最新的MR技术。磁阻磁头的工作原理是基于磁阻效应来工作的,其核心是一小片金属材料,其电阻随磁场变化而变化,虽然其变化率不足2%,但因为磁阻元件连着一个非常灵敏的放大器,所以可测出该微小的电阻变化。MR技术可使硬盘容量提高40%以上。GMR(GiantMagnetoresistive)巨磁阻磁头GMR磁头与MR磁头一样,是利用特殊材料的电阻值随磁场变化的原理来读取盘片上的数据,但是GMR磁头使用了磁阻效应更好的材料和多层薄膜结构,比MR磁头更为敏感,相同的磁场变化能引起更大的电阻值变化,从而可以实现更高的存储密度,现有的MR磁头能够达到的盘片密度为3Gbit-5Gbit/in2(千兆位每平方英寸),而GMR磁头可以达到10Gbit-40Gbit/in2以上。目前GMR磁头已经处于成熟推广期,在今后的数年中,它将会逐步取代MR磁头,成为最流行的磁头技术。
Ø 缓存:缓存是硬盘与外部总线交换数据的场所。硬盘的读数据的过程是将磁信号转化为电信号后,通过缓存一次次地填充与清空,再填充,再清空,一步步按照PCI总线的周期送出,可见,缓存的作用是相当重要的。在接口技术已经发展到一个相对成熟的阶段的时候,缓存的大小与速度是直接关系到硬盘的传输速度的重要因素。目前主流硬盘的缓存主要有512KB和2MB等几种。其类型一般是EDO DRAM或SDRAM,目前一般以SDRAM为主。根据写入方式的不同,有写通式和回写式两种。写通式在读硬盘数据时,系统先检查请求指令,看看所要的数据是否在缓存中,如果在的话就由缓存送出响应的数据,这个过程称为命中。这样系统就不必访问硬盘中的数据,由于SDRAM的速度比磁介质快很多,因此也就加快了数据传输的速度。回写式就是在写入硬盘数据时也在缓存中找,如果找到就由缓存就数据写入盘中,现
在的多数硬盘都是采用的回写式硬盘,这样就大大提高了性能。
Ø 连续无故障时间(MTBF):指硬盘从开始运行到出现故障的最长时间。一般硬盘的MTBF至少在30000或40000小时。�
Ø 部分响应完全匹配技术PRML(Partial Response Maximum Likelihood):它能使盘片存储更多的信息,同时可以有效地提高数据的读取和数据传输率。是当前应用于硬盘数据读取通道中的先进技术之一。PRML技术是将硬盘数据读取电路分成两段“操作流水线”,流水线第一段将磁头读取的信号进行数字化处理然后只选取部分“标准”信号移交第二段继续处理,第二段将所接收的信号与PRML芯片预置信号模型进行对比,然后选取差异最小的信号进行组合后输出以完成数据的读取过程。PRML技术可以降低硬盘读取数据的错误率,因此可以进一步提高磁盘数据密集度。�
Ø 单磁道时间(Single track seek time):指磁头从一磁道转移至另一磁道所用的时间。�
Ø 超级数字信号处理器(Ultra DSP)技术:应用Ultra DSP进行数学运算,其速度较一般CPU快10到50倍。采用Ultra DSP技术,单个的DSP芯片可以同时提供处理器及驱动接口的双重功能,以减少其它电子元件的使用,可大幅度地提高硬盘的速度和可靠性。接口技术可以极大地提高硬盘的最大外部传输率,最大的益处在于可以把数据从硬盘直接传输到主内存而不占用更多的CPU资源,提高系统性能。�
Ø 硬盘表面温度:指硬盘工作时产生的温度使硬盘密封壳温度上升情况。硬盘工作时产生的温度过高将影响薄膜式磁头(包括MR磁头)的数据读取灵敏度,因此硬盘工作表面温度较低的硬盘有更好的数据读、写稳定性。
Ø 全程访问时间(Max full seek time):指磁头开始移动直到最后找到所需要的数据块所用的全部时间。
Ø 硬盘镜像(Disk Mirroring):硬盘镜像最简单的形式是,一个主机控制器带二个互为镜像的硬盘。数据同时写入二个硬盘,二个硬盘上的数据完全相同,因此一个硬盘故障时,另一个硬盘可提供数据。
Ø 硬盘数据跨盘(Disk Spanning):利用这种技术,几个硬盘看上去像一个大硬盘;这个虚拟盘可以把数据跨盘存储在不同的物理盘上,用户不需要关心哪个盘上存有他需要的数据
Ø 硬盘数据分段(Disk striping):数据分散存储在几个盘上。数据的第一段放在盘0,第2段放在盘1,……直到达到硬盘链中的最后一个盘,然后下一个逻辑段放在硬盘0,再下一
个逻辑段放在盘1,……如此循环直至完成写操作。
Ø 双控(Duplexing):这里指的是用二个控制器来驱动一个硬盘子系统。一个控制器发生故障,另一个控制器马上控制硬盘操作。此外,如果编写恰当的控制器软件,可实现不同的硬盘驱动器同时工作。
Ø 容错:(Fault Tolerant):具有容错功能的机器有抗故障的能力。例如RAID 1镜像系统是容错的,镜像盘中的一个出故障,硬盘子系统仍能正常工作。
Ø 主机控制器(Host Adapter):这里指的是使主机和外设进行数据交换的控制部件(如SCSI控制器)
Ø 热修复(Hot Fix):指用一个硬盘热备份来替换发生故障的硬盘。要注意故障盘并不是真正地被物理替换了。用作热备份的盘被加载上故障盘原来的数据,然后系统恢复工作。
Ø 热补(Hot Patch):具有硬盘热备份,可随时替换故障盘的系统。
Ø 热备份(Hot Spare):与CPU系统电连接的硬盘,它能替换下系统中的故障盘。与冷备份的区别是,冷备份盘平时与机器不相连接,硬盘故障时才换下故障盘。
Ø 平均数据丢失时间(MTBDL – Mean Time Between Data Loss):发生数据丢失的事件间的平均时间。
Ø 平均无故障工作时间(MTBF – Mean Time Between Failure 或 MTIF):设备平均无故障运行时间。
Ø 廉价冗余磁盘阵列(RAID – Rendant Array of Inexpensive Drives):一种将多个廉价硬盘组合成快速,有容错功能的硬盘子系统的技术。
Ø 系统重建(Reconstruction or Rebuild):一个硬盘发生故障后,从其他正确的硬盘数据和奇偶信息恢复故障盘数据的过程。
Ø 恢复时间(Reconstruction Time):为故障盘重建数据所需要的时间。
Ø 单个大容量硬盘(SED – Singe Expensive Drive)
Ø 传输速率(Transfer Rate):指在不同条件下存取数据的速度。
Ø 虚拟盘(Virtual Disk):与虚拟存储器类似,虚拟盘是一个概念盘,用户不必关心他的数据写在哪个物理盘上。虚拟盘一般跨越几个物理盘。但用户看到的只是一个盘。
Ø 热插拔(Hot Swap):指在不宕机制情况下,在线更换设备。
Ø DAS (direct access storage device)直接访问存储设备
Ø NAS (Network Attached Storage)网络附加存储设备
Ø SAN (Storage Area Networks)存储区域网
❷ 约束能量最小化算法
6.2.2.1 约束能量最小化算法思想
约束能量最小化(Constrained Energy Minimization,CEM)算法是在参考光谱已知、背景光谱未知的条件下对小目标进行探测和提取的算法(耿修瑞,2005)。算法根据目标光谱,放大特定方向信号,衰减其他背景信号,从而实现目标提取。其具体思想如下:
记S={r1,r2,…,rN}为所有高光谱数据像元矢量集合,其中ri=(ri1,ri2,…,riL)T为任意像元光谱矢量,i=1,2,…,N,N为像元数目,L为影像波段总数。假设d=(d1,d2,…,dL)T为已知目标像元光谱矢量,CEM就是要设计这样一种线性滤波器w=(w1,w2,…,wL)T,使之满足:
高光谱遥感影像信息提取技术
当输入像元光谱矢量ri时,经过滤波器,其输出yi为
高光谱遥感影像信息提取技术
所有像元光谱输入滤波器后,平均输出能量为
高光谱遥感影像信息提取技术
式中: 是影像数据集S的自相关矩阵。
滤波器w的设计就是求式(6.11)在约束条件式(6.9)下的最小值问题,即:
高光谱遥感影像信息提取技术
6.2.2.2 约束能量最小化算子的求解
主要是采用拉格朗日乘数法对该约束条件最小值问题进行CEM算子的求解,求解步骤如下:
1)构造拉格朗日函数:F(w)=wTRw+λ(dTw-1),λ是拉格朗日构造参数;
2)求偏导:##F(w)/##w=Rw+RTw+λd=2Rw+λd;
3)令偏导等于0,得:w=-1/(λR-1d);
4)将w代入式(6.9),得:λ=-2/(dTR-1d);
5)将λ代入步骤3),得算子为:w*=R-1d/(dTR-1d)。
因此,将w*作用于S,得到设计的滤波器为
高光谱遥感影像信息提取技术
❸ 购买移动硬盘需注意哪些问题
1。首先是质量,最好选择大厂商的产品,如三星、华旗等。另外接口传输速率要快一些的, USB1。0的应该淘汰了。容量尽量的大,用容量去除价格,数值大的最划算。体积尽可能地小,这样携带才方便。价格最好便宜一些,这样你才能买的起。保修期要长一些,一周内要保换,回家后赶快栲一些大容量的图象文件,检验一下速度和质量。
2。用起来的确和U盘差不多。
3。对电脑没有特别的要求。
4。是指体积。体积尽可能地小,这样携带才方便。
5。外供电源为防止电脑USB口供电不足。
6。不分。
谢谢 呵呵。。
❹ Matlab编程 不用eig函数情况下 求出了特征值 怎么求特征向量
要左特征向量还是右特征向量?
Matlab的eig函数(调用Lapack中的dgeev函数中的dtrevc函数)的标准做法是:对QR算法(dhseqr函数)得到的拟上三角矩阵T进行n次回代,求得对应的右特征向量。左特征向量的求法是对T的转置进行n次回代。
还有一种做法是,对与A相似的上Hessenberg矩阵进行反幂法迭代求解,参见Lapack的dhsein函数。
❺ 串口功率
你的问题可以提交给物理科学家们,他们一定会记载你所提的问题.
[告诉你: 科学家也不一定能计算出结果!]
❻ 计算机术语"CTS服务器"是什么意思
RTS和CTS用于硬件流控 很久很久以前,计算机还没有出现,那时就已经存在了(计算机)史前的串口设备(电传打字机,工控测量设备,通信调制解调器),为了连接这些串口, EIA制定了RS232标准,采用DB25接插件,支持同步和异步串口,D型的接口可以有效防止插反。标准化给使用带来了便利。 时光荏苒,个人计算机出现了,这些已有的串口设备毫无疑问地成为了最初的外设,自然而然地RS232标准被个人计算机采纳。但是设备制造商倾向于体积更小,成本更低的接口,因此,将DB25中未使用的和支持同步模式的引脚去掉,形成DB9。最初的情况相当混乱,因为DB9只定义了信号,却没有指定信号和引脚的对应关系,各个制造商只能自行定义。幸运的是,IBM的PC成了工业标准,DB9逐渐统一到IBM的定义上来。 DB9只有9根线,遵循RS232标准。定义如下: DTR,DSR------DTE设备准备好/DCE设备准备好。主流控信号。 RTS,CTS------请求发送/清除发送。用于半双工时,收发切换。属于辅助流控信号。半双工的意思是说,发的时候不收,收的时候不发。那么怎么区分收发呢?缺省时是DCE向DTE发送数据,当DTE决定向DCE发数据时,先有效RTS,表示DTE希望向DCE发送,一般DCE不能马上转换收发状态,DTE就通过监测CTS是否有效来判断可否发送,这样避免了DTE在DCE未准备好时发送所导致的数据丢失。 全双工时,这两个信号一直有效即可。 随着计算机的日益普及,很多非RS232的串口也要接入PC机,如果为每一种新出现的串口都增加一个新的I/O口显然不现实,因为PC后面板位置有限,因此,将RS232串口和非RS232串口都通过RS232口接入是最佳方案。UART的U(通用)指的就是这个意思。早期ROM BIOS和DOS里的通信软件都是为RS232设计的,在没有检测到DCD有效前不会发送数据,因此,就连发送一个字符这样朴素的应用也要给出DCD、DTR、DSR等控制信号。因此,串口接头上要将一些控制线短接,或者干脆绕过系统软件自己写通信程序。 到此,UART的涵义就总结为:通用的 异步 (串行) I/O口。 就在UART冠以通用二字,准备一统江湖的时候,制造商们不满于它的速度、体积和灵活性(软件可配置),推出了USB和1394串口。目前,笔记本上的 UART串口有被取消的趋势,因而有网友发出了“没有串口,吾谁与归”的慨叹,古今多少事,都付笑谈中,USB取代UART是后话,暂且不表。 话说自从贺氏(Hayes)公司推出了聪明猫(SmartModem),他们制定的MODEM接口就成了业界标准,自此以后,所有公司制造的兼容猫都符合贺氏标准(连AT指令也兼容,大家一起抄他呗)。 细观贺氏制定的MODEM串口,与RS232标准大不相同。DTR在整个通信过程中一直保持有效,DSR在MODEM上电后/可以拨号前有效(取决于软件对DSR的理解),在通信过程的任意时刻,只要DTR/DSR无效,通信过程立即终止。在某种意义上,这也可以算是流控,但肯定不是RS232所指的那种主流控。如果拘泥于RS232,你是不会理解DTR和DSR的用途的。 贺氏不但改了DTR和DSR,竟然连RTS和CTS的涵义也重新定义了。因此,RTS和CTS已经不具有最开始的意义了。从字面理解RTS和CTS,是用于半双工通信的,当DTE想从收模式改为发模式时,就有效RTS请求发送,DCE收到RTS请求后不能立即完成转换,需要一段时间,然后有效CTS通知DTE:DCE已经转到发模式,DTE可以开始发送了。在全双工时,RTS和CTS都缺省置为有效即可。然而,在贺氏的MODEM串口定义中,RTS和CTS用于硬件流控,和什么劳什子的全双工/半双工一点关系也没有。 注意,硬件流控是靠软件实现的,之所以强调“硬件”二字,仅仅是因为硬件流控提供了用于流量情况指示的硬件连线,并不是说,你只要把线连上,硬件就能自己流控。如果软件不支持,光连上RTS和CTS是没有用的。 RTS和CTS硬件流控的软件算法如下:(RTS有效表示PC机可以收,CTS有效表示MODEM可以收,这两个信号互相独立,分别指示一个方向的流量情况。) dengm 发表于 2005-1-14 07:52 侃单片机 PC端处理: 发. 当 发现(不一定及时发现) CTS (-3v to -15v)无效时,停止发送, 当 发现(不一定及时发现) CTS (3v to 15v)有效时,恢复发送; 收. 0<M<N<LEN_OF_RX_BUFFERS 当接收buffers中的bytes<M 时,给 RTS 有效信号(+3v to +15v), 当接收buffers中的bytes>N 时,给 RTS 无效信号(-3v to -15v); MODEM端处理: 同上,但RTS与CTS交换。 你迷惑的原因是因为你学习的是RS232标准,却使用贺氏标准的猫,两个标准风马牛不相及。
编辑本段公共类型系统
CTS:公共类型系统(又叫通用系统类型) Common Type System .net framework 类似于COM定义的标准二进制格式,.NET定义了一个称为通用类型系统Common Type System(CTS)的类型标准。这个类型系统不但实现了COM的变量兼容类型,而且还定义了通过用户自定义类型的方式来进行类型扩展。任何以.NET平台作为目标的语言必须建立它的数据类型与CTS的类型间的映射。所有.NET语言共享这一类型系统,实现它们之间无缝的互操作。该方案还提供了语言之间的继承性。所有CTS对象的类型都最终都从System.Object类派生,这些类型分为 值类型和引用类型。 换句话说,CTS定义了可以在中间语言中使用的预定义数据类型,所有面向.NET Framework的语言都可以生产最终基于这些类型的编译代码。CTS不仅定义了基本数据类型,还定义了一个内容丰富的类型层次结构,在这些位置上,代码允许定义他自己的类型。CTS的层次结构反应了中间语言的单一继承的面向对象的方法。 很显然,编程语言的区别不仅仅在于类型。例如,一些语言支持多继承性,一些语言支持无符号数据类型,一些语言支持运算符重载。
❼ 如何用梯形图编写计算转速的例子
建议在中断里面进行编程,比如OB35,可以将中断周期 设置的小点,比如20毫秒。
然后,你的硬件上最好能够达到 转一圈有4个脉冲信号 进来这样测速比较准确分辨率高。
你可以编写一个子程序,在OB35里调用,做一个脉冲输入点(Pulse_In),当然也需要 速度的计算周期(Speed_Cal_Period单位秒INT型),和每圈多少脉冲(PulsePerLap)以及速度(Speed)
其中速度计算周期以秒为单位是20毫秒的整数倍。
在程序内部首先计算出,速度计算周期 ,需要多少个OB35循环,每次脉冲点来之后,脉冲计数值加1,当计算周期到达后,开始计算速度,简单程序如下。
L Speed_Cal_Period
L 20 //Ob35中断周期
/I
T OB35Cycles//FC里某个临时变量,INT型
L OB35Cycles
L MW102
==I
JCN SPC
L 60.0
L Speed_Cal_Period
ITD
DTR
/R
L MW100
ITD
DTR
*R
L PulsePerLap
ITD
DTR
/R
T Speed
L 0
T MW100
T MW102
SPC:NOP 0
A Pulse_In
fp m20.0
jcn PC
L MW100//脉冲累积值
L 1
+I
T MW100
PC:NOP 0
L MW 102
L 1
+I
T MW102
以上是最基本算法,在一定时间内 累积的脉冲数,除以计算周期,就得到了,每秒多少脉冲,乘以60得到每分钟多少脉冲,再除以 没转一圈有多少脉冲进PLC,这样就得到了 转速 没分钟多少圈。
为了 提高通用型,尽量做IN_OUT接口 来代替里面的MW100,MW102和M20.0
❽ 2-ipv6基础知识之-数据包
IPv4 包头由固定20字节的包头与可变长的选项组成:
版本(Version)域, 长度4比特。标识目前采用的IP协议的版本号。一般的值为0100(IPv4),0110(IPv6)
IHL用4位来表示。
由于头部的长度是不固定的,所以头部的IHL域指明了该头部有多长(以32位字的长度为单位)。
IHL的最小长度为5,这个时候表明没有可选项(Option),此4位域的最大值也就是15,也就是说头部的最大长度为15*(32/8) = 60字节,因此可选项(Option) = 60 - 20 = 40字节,可选项的内容最大为40字节。对于某些选项,比如记录一个分组沿途路径的选项,40字节往往太小了,这就使得这样的选项其实没有什么用处。
服务类型(Type of Service)域, 长度8比特。
8位按位被如下定义 PPP DTRC0
PPP:定义包的优先级,取值越大数据越重要
DTRCO
总长度(Total Length)域, 以字节为单位计算的IP包的长度 (包括头部和数据),所以IP包最大长度65535字节。
标识(Identification)域, 该字段和Flags和Fragment Offest字段联合使用,对较大的上层数据包进行分段(fragment)操作。路由器将一个包拆分后,所有拆分开的小包被标记相同的值,以便目的端设备能够区分哪个包属于被拆分开的包的一部分。是让目标主机确定一个新到来的分段是属于哪一个数据报的。同一个数据报的的所有分段都有相同的Identification值。
接下来是未使用的位。然后是两个1位域。
DF代表不分段(Don't Fragment),这是针对路由器的一个命令,它让路由器不要分割该数据报,因为目标主机可能无法将分片重新组合回原来的数据报。例如,当一台计算机启动的时候,它的ROM可能向网络请求一个包含内存映像的一个数据报。在数据报中标记了DF位之后,它就知道该数据将作为一个整体到达接收方,不过这意味着该数据报必须避开最优路径的小分组网络,而不得不走次优的的路径。所有的机器都要求能接受576字节或者更少的分段(4.5k)。
MF代表更多的分段(More Fragment)。除了最后一个分段以外,其它所有的分段都必须设置这一位,它的用途是,接收方可以知道什么时候一个数据报的所有分段已经到达了。
分段偏移(Fragment Offset)(13位域)域指明了该分段在当前数据报中的什么位置上。除了一个数据报的最后一个分段以外,其他所有的分段必须是8字节的倍数,这里的8字节是基本的分段单位(64bit大小)。由于该域有13位,所以每个数据报最多可以有2^13 = 8192个分段,因此,最大的数据报长度为8192*8 = 65536字节,比Taotal length域还要大1.
TTL(Time to live)域(8位域), 当IP包经过每一个沿途的路由器的时候,每个沿途的路由器会将IP包的TTL值减少1。如果TTL减少为0,则该IP包会被丢弃。这个字段可以防止由于路由环路而导致IP包在网络中不停被转发。
当网络层组装完成一个完整的数据报之后,它需要知道该如何对它进行处理。协议(Protocol)域指明了该将它交给哪一个传输进程。TCP是一种可能,UDP或者其他协议也是一种可能。协议的编号是整合Internet全球统一的。
头部校验和(Header checksum)域只校验头部。这样的校验和对于检测“因路由器中的坏内存而产生的错误”非常有用。因为每个路由器要改变TTL的值,所以路由器会为每个通过的数据包重新计算这个值。其算法是这样的:当数据到达时,所有的16位(半字)累加起来,然后再取结果的补码。该算法的意图是,当数据到达之后,Header checksum的计算结果应该为0.该算法比常规算法更加稳定。请注意,在每一跳上,Header checksum域必须重新计算,因为至少有一个域总是要改变的(即Time to live),但是通过一些技巧可以加速计算。
都用32为表示。要注意除非使用NAT,否则整个传输的过程中,这两个地址不会改变
选项(Option)域的设计意图是:主要用于测试; 允许后续版本的协议包含一些原来的设计中没有出现的信息;允许实验人员试验新的想法;避免为那些不常使用的信息分配头部域。选项是变长的,每一个选项的第一个字节是一个标识码,它标明了该选项。有的选项后面跟着1个字节的选项长度域,然后是一个或多个数据字节。Options域被补齐到4字节的倍数。
IPv6 数据报包括一个主首部和0 或多个扩展首部。IPv6 包头结构如下图所示。
IPv6包头长度固定为40字节,去掉了IPv4中一切可选项,只包括8个必要的字段,因此尽管IPv6地址长度为IPv4的四倍,IPv6包头长度仅为IPv4包头长度的两倍。
4位,IP协议版本号,值 = 6。
8位,指示IPv6数据流通信类别或优先级。功能类似于IPv4的服务类型(TOS/QOS)字段。 (通往目标节点的过程中,这个字段的值可能会被修改)
20位,IPv6新增字段,标记需要IPv6路由器特殊处理的数据流,这个字段是为了给实时数据报交付和QoS提供更多的支持。该字段用于某些对连接的服务质量有特殊要求的通信,诸如音频或视频等实时数据传输。在IPv6中,同一信源和信宿之间可以有多种不同的数据流,彼此之间以非“0”流标记区分。如果不要求路由器做特殊处理,则该字段值置为“0”。 flow label最初是28bit,逐渐修改至rfc2460的20bit。flow label通过伪随机算法生成,介于1至fffff之间。如果一组数据流具有相同的源地址、目的地址、hop-by-hop和routing,那么这组数据流可能共享flow label。由此可见,IPv6结点可以仅通过flow label,不检查其它属性值,即可知道如何处理和转发这组数据流。
16位负载长度。负载长度包括扩展头和上层PDU,16位最多可表示65535字节负载长度。超过这一字节数的负载,该字段值置为“0”,使用扩展头逐个跳段(Hop-by-Hop)选项中的巨量负载(Jumbo Payload)选项。 总而言之,该字段的值=报文总长度-40
8位,指明识别紧跟在IPv6头后的包头类型,如扩展头(有的话)或某个传输层协议头(诸如TCP,UDP或者ICMPv6)。
由下图可以看出,因为可以有多个扩展头,一个扩展头中还有Next Header字段,用于指明下一个扩展头或者传输层的类型。(扩展可以有多个,但是上层数据只能有一个)
常见的Next Header值:
8位,类似于IPv4的TTL(生命期)字段。与IPv4用时间来限定包的生命期不同,IPv6用包在路由器之间的转发次数来限定包的生命期。包每经过一次转发,该字段减1,减到0时就把这个包丢弃。
S
128位(16字节),发送方主机地址。
128位,在大多数情况下,目的地址即信宿地址。但如果存在路由扩展头的话,目的地址可能是发送方路由表中下一个路由器接口。
参考文档《深入解析IPv6》
❾ 在step7中怎么把十六进制转换为十进制
在step7中十六进制、十进制只是显示的不一样而已,不需要转换,在监视的时候,你用右键点击,选择显示的格式是16进制还是10进制就可以
另外浮点数、实数格式是一样的,只是叫法不同而已,就是要带小数点的数值。所以也不存在什么转换,只有在不同存储格式的数值之间才需要转换,比如实数转整数等。
转换的方式只要使用相关的指令就可以了
比如整数转双整数ITD
双整数转实数DTR