存储器是怎么存储东西的到现在都不明白存储器是怎么存储的 现在都不知道为什么?

存储器是怎么存储东西的到现在都不明白存储器是怎么存储的 现在都不知道为什么?,第1张

硬盘是现在计算机上最常用的存储器之一。我们都知道,计算机之所以神奇,是因为它具有高速分析处理数据的能力。而这些数据都以文件的形式存储在硬盘里。不过,计算机可不像人那么聪明。在读取相应的文件时,你必须要给出相应的规则。这就是分区概念。分区从实质上说就是对硬盘的一种格式化。当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即Master Boot Record,一般简称为MBR)和引导记录备份的存放位置。而对于文件系统以及其他 *** 作系统管理硬盘所需要的信息则是通过以后的高级格式化,即Format命令来实现。

面、磁道和扇区

硬盘分区后,将会被划分为面(Side)、磁道(Track)和扇区(Sector)。需要注意的是,这些只是个虚拟的概念,并不是真正在硬盘上划轨道。先从面说起,硬盘一般是由一片或几片圆形薄膜叠加而成。我们所说,每个圆形薄膜都有两个“面”,这两个面都是用来存储数据的。按照面的多少,依次称为0面、1面、2面……由于每个面都专有一个读写磁头,也常用0头(head)、1头……称之。按照硬盘容量和规格的不同,硬盘面数(或头数)也不一定相同,少的只有2面,多的可达数十面。各面上磁道号相同的磁道合起来,称为一个柱面(Cylinder)(如图1)。(图)

上面我们提到了磁道的概念。那么究竟何为磁道呢?由于磁盘是旋转的,则连续写入的数据是排列在一个圆周上的。我们称这样的圆周为一个磁道。(如图2)如果读写磁头沿着圆形薄膜的半径方向移动一段距离,以后写入的数据又排列在另外一个磁道上。根据硬盘规格的不同,磁道数可以从几百到数千不等;一个磁道上可以容纳数KB的数据,而主机读写时往往并不需要一次读写那么多,于是,磁道又被划分成若干段,每段称为一个扇区。一个扇区一般存放512字节的数据。扇区也需要编号,同一磁道中的扇区,分别称为1扇区,2扇区……

计算机对硬盘的读写,处于效率的考虑,是以扇区为基本单位的。即使计算机只需要硬盘上存储的某个字节,也必须一次把这个字节所在的扇区中的512字节全部读入内存,再使用所需的那个字节。不过,在上文中我们也提到,硬盘上面、磁道、扇区的划分表面上是看不到任何痕迹的,虽然磁头可以根据某个磁道的应有半径来对准这个磁道,但怎样才能在首尾相连的一圈扇区中找出所需要的某一扇区呢?原来,每个扇区并不仅仅由512个字节组成的,在这些由计算机存取的数据的前、后两端,都另有一些特定的数据,这些数据构成了扇区的界限标志,标志中含有扇区的编号和其他信息。计算机就凭借着这些标志来识别扇区

硬盘的数据结构

在上文中,我们谈了数据在硬盘中的存储的一般原理。为了能更深入地了解硬盘,我们还必须对硬盘的数据结构有个简单的了解。硬盘上的数据按照其不同的特点和作用大致可分为5部分:MBR区、DBR区、FAT区、DIR区和DATA区。我们来分别介绍一下:

1.MBR区

MBR(Main Boot Record 主引导记录区)�位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中的446个字节,另外的64个字节交给了DPT(Disk Partition Table硬盘分区表)(见表),最后两个字节“55,AA”是分区的结束标志。这个整体构成了硬盘的主引导扇区。(图)

主引导记录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标志的分区上的 *** 作系统,并将控制权交给启动程序。MBR是由分区程序(如Fdisk.exe)所产生的,它不依赖任何 *** 作系统,而且硬盘引导程序也是可以改变的,从而实现多系统共存。

下面,我们以一个实例让大家更直观地来了解主引导记录:

例:80 01 01 00 0B FE BF FC 3F 00 00 00 7E 86 BB 00

在这里我们可以看到,最前面的“80”是一个分区的激活标志,表示系统可引导;“01 01 00”表示分区开始的磁头号为01,开始的扇区号为01,开始的柱面号为00;“0B”表示分区的系统类型是FAT32,其他比较常用的有04(FAT16)、07(NTFS);“FE BF FC”表示分区结束的磁头号为254,分区结束的扇区号为63、分区结束的柱面号为764;“3F 00 00 00”表示首扇区的相对扇区号为63;“7E 86 BB 00”表示总扇区数为12289622。

2.DBR区

DBR(Dos Boot Record)是 *** 作系统引导记录区的意思。它通常位于硬盘的0磁道1柱面1扇区,是 *** 作系统可以直接访问的第一个扇区,它包括一个引导程序和一个被称为BPB(Bios Parameter Block)的本分区参数记录表。引导程序的主要任务是当MBR将系统控制权交给它时,判断本分区跟目录前两个文件是不是 *** 作系统的引导文件(以DOS为例,即是Io.sys和Msdos.sys)。如果确定存在,就把它读入内存,并把控制权 交给该文件。BPB参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数,分配单元的大小等重要参数。DBR是由高级格式化程序(即Format.com等程序)所产生的。

3.FAT区

在DBR之后的是我们比较熟悉的FAT(File Allocation Table文件分配表)区。在解释文件分配表的概念之前,我们先来谈谈簇(Cluster)的概念。文件占用磁盘空间时,基本单位不是字节而是簇。一般情况下,软盘每簇是1个扇区,硬盘每簇的扇区数与硬盘的总容量大小有关,可能是4、8、16、32、64……

同一个文件的数据并不一定完整地存放在磁盘的一个连续的区域内,而往往会分成若干段,像一条链子一样存放。这种存储方式称为文件的链式存储。由于硬盘上保存着段与段之间的连接信息(即FAT), *** 作系统在读取文件时,总是能够准确地找到各段的位置并正确读出。

为了实现文件的链式存储,硬盘上必须准确地记录哪些簇已经被文件占用,还必须为每个已经占用的簇指明存储后继内容的下一个簇的簇号。对一个文件的最后一簇,则要指明本簇无后继簇。这些都是由FAT表来保存的,表中有很多表项,每项记录一个簇的信息。由于FAT对于文件管理的重要性,所以FAT有一个备份,即在原FAT的后面再建一个同样的FAT。初形成的FAT中所有项都标明为“未占用”,但如果磁盘有局部损坏,那么格式化程序会检测出损坏的簇,在相应的项中标为“坏簇”,以后存文件时就不会再使用这个簇了。FAT的项数与硬盘上的总簇数相当,每一项占用的字节数也要与总簇数相适应,因为其中需要存放簇号。FAT的格式有多种,最为常见的是FAT16和FAT32。

4.DIR区

DIR(Directory)是根目录区,紧接着第二FAT表(即备份的FAT表)之后,记录着根目录下每个文件(目录)的起始单元,文件的属性等。定位文件位置时, *** 作系统根据DIR中的起始单元,结合FAT表就可以知道文件在硬盘中的具体位置和大小了。

5.数据(DATA)区

数据区是真正意义上的数据存储的地方,位于DIR区之后,占据硬盘上的大部分数据空间。

磁盘的文件系统

经常听高手们说到FAT16、FAT32、NTFS等名词,朋友们可能隐约知道这是文件系统的意思。可是,究竟这么多文件系统分别代表什么含义呢?今天,我们就一起来学习学习:

1.什么是文件系统?

所谓文件系统,它是 *** 作系统中藉以组织、存储和命名文件的结构。磁盘或分区和它所包括的文件系统的不同是很重要的,大部分应用程序都基于文件系统进行 *** 作,在不同种文件系统上是不能工作的。

2.文件系统大家族

常用的文件系统有很多,MS-DOS和Windows 3.x使用FAT16文件系统,默认情况下Windows 98也使用FAT16,Windows 98和Me可以同时支持FAT16、FAT32两种文件系统,Windows NT则支持FAT16、NTFS两种文件系统,Windows 2000可以支持FAT16、FAT32、NTFS三种文件系统,Linux则可以支持多种文件系统,如FAT16、FAT32、NTFS、Minix、ext、ext2、xiafs、HPFS、VFAT等,不过Linux一般都使用ext2文件系统。下面,笔者就简要介绍这些文件系统的有关情况:

(1)FAT16

FAT的全称是“File Allocation Table(文件分配表系统)”,最早于1982年开始应用于MS-DOS中。FAT文件系统主要的优点就是它可以允许多种 *** 作系统访问,如MS-DOS、Windows 3.x、Windows 9x、Windows NT和OS/2等。这一文件系统在使用时遵循8.3命名规则(即文件名最多为8个字符,扩展名为3个字符)。

(2)VFAT

VFAT是“扩展文件分配表系统”的意思,主要应用于在Windows 95中。它对FAT16文件系统进行扩展,并提供支持长文件名,文件名可长达255个字符,VFAT仍保留有扩展名,而且支持文件日期和时间属性,为每个文件保留了文件创建日期/时间、文件最近被修改的日期/时间和文件最近被打开的日期/时间这三个日期/时间。

(3)FAT32

FAT32主要应用于Windows 98系统,它可以增强磁盘性能并增加可用磁盘空间。因为与FAT16相比,它的一个簇的大小要比FAT16小很多,所以可以节省磁盘空间。而且它支持2G以上的分区大小。朋友们从附表中可以看出FAT16与FAT32的一不同。

(4)HPFS

高性能文件系统。OS/2的高性能文件系统(HPFS)主要克服了FAT文件系统不适合于高档 *** 作系统这一缺点,HPFS支持长文件名,比FAT文件系统有更强的纠错能力。Windows NT也支持HPFS,使得从OS/2到Windows NT的过渡更为容易。HPFS和NTFS有包括长文件名在内的许多相同特性,但使用可靠性较差。

(5)NTFS

NTFS是专用于Windows NT/2000 *** 作系统的高级文件系统,它支持文件系统故障恢复,尤其是大存储媒体、长文件名。NTFS的主要弱点是它只能被Windows NT/2000所识别,虽然它可以读取FAT文件系统和HPFS文件系统的文件,但其文件却不能被FAT文件系统和HPFS文件系统所存取,因此兼容性方面比较成问题。

ext2

这是Linux中使用最多的一种文件系统,因为它是专门为Linux设计,拥有最快的速度和最小的CPU占用率。ext2既可以用于标准的块设备(如硬盘),也被应用在软盘等移动存储设备上。现在已经有新一代的Linux文件系统如SGI公司的XFS、ReiserFS、ext3文件系统等出现。

小结:虽然上面笔者介绍了6种文件系统,但占统治地位的却是FAT16/32、NTFS等少数几种,使用最多的当然就是FAT32啦。只要在“我的电脑”中右击某个驱动器的属性,就可以在“常规”选项中(图)看到所使用的文件系统。

明明白白识别硬盘编号

目前,电子市场上硬盘品牌最让大家熟悉的无非是IBM、昆腾(Quantum)、希捷(Seagate),迈拓(Maxtor)等“老字号”。而这些硬盘型号的编号则各不相同,令人眼花缭乱。其实,这些编号均有一定的规律,表示一些特定?的含义。一般来说,我们可以从其编号来了解硬盘的性能指标,包括接口?类型、转速、容量等。作为DIY朋友来说,只有自己真正掌握正确识别硬盘编号,在选购硬盘时,就方便得多(以致不被“黑”),至少不会被卖的人说啥是啥。以下举例说明,供朋友们参考。

一、IBM

IBM是硬盘业的巨头,其产品几乎涵盖了所有硬盘领域。而且IBM还是去年硬盘容量、价格战的始作蛹者。我们今天能够用得上经济上既便宜,而且容量又大的硬盘可都得感谢IBM。

IBM的每一个产品又分为多个系列,它的命名方式为:产品名+系列代号+接口类型+盘片尺寸+转速+容量。以Deskstar 22GXP的13.5GB硬盘为例,该硬盘的型号为:DJNA-371350,字母D代表Deskstar产品,JN代表Deskstar25GP与22GP系列,A代表ATA接口,3代表3寸盘片,7是7200转产品,最后四位数字为硬盘容量13.5GB。IBM系列代号(IDE)含义如下:

TT=Deskstar 16GP或14GXP JN=Deskstar 25GP或22GXP RV=Ultrastar 18LZX或36ZX

接口类型含义如下:A=ATA

S与U=Ultra SCSI、Ultra SCSI Wide、Ultra SCSI SCA、增强型SCSI、

增强扩展型SCSI(SCA)

C=Serial Storage Architecture连续存储体系SCSI L=光纤通道SCSI

二、MAXTOR(迈拓)

MAXTOR是韩国现代电子美国公司的一个独立子公司,以前该公司的产品也覆盖了IDE与SCSI两个方面,但由于SCSI方面的产品缺乏竟争力而最终放弃了这个高端市场从而主攻IDE硬盘,所以MAXTOR公司应该是如今硬盘厂商中最专一的了。

MAXTOR硬盘编号规则如下:首位+容量+接口类型+磁头数,MAXTOR?从钻石四代开始,其首位数字就为9,一直延续到现在,所以大家如今能在电子市场上见到的MAXTOR硬盘首位基本上都为9。另外比较特殊的是MAXTOR编号中有磁头数这一概念,因为MAXTOR硬盘是大打单碟容量的发起人,所以其硬盘的型号中要将单碟容量从磁头数中体现出来。单碟容量=2*硬盘总容量/磁头数。

现以金钻三代(DiamondMax Plus6800)10.2GB的硬盘为例说明:该硬盘?型号为91024U3,9是首位,1024是容量,U是接口类型UDMA66,3代表该硬盘有3个磁头,也就是说其中的一个盘片是单面有数据。这个单碟容量就为2*10.2/3=6.8GB。MAXTOR硬盘接口类型字母含义如:

A=PIO模式 D=UDMA33模式 U=UDMA66模式

三、SEAGATE(希捷)

希捷科技公司(Seagate Technology)是世界上最大的磁盘驱动器、磁?盘和读写磁头生产厂家,该公司是一直是IBM、COMPAQ、SONY等业界大户的硬盘供应商。希捷还保持着业界第一款10000转硬盘的记录(捷豹Cheetah系列SCSI)与最大容量(捷豹三代73GB)的记录,公司的实力由此可见一斑。但?由于希捷一直是以高端应用为主(例如SCSI硬盘),而并不是特别重视低端家用产品的开发,从而导致在DIY一族心目中的地位不如昆腾等硬盘供应商?。好在希捷公司及时注意到了这个问题,不久前投入市场的酷鱼(Barracuda)系列就一扫希捷硬盘以往在单碟容量、转速、噪音、非正常外频下工作稳?定性、综合性能上的劣势。

希捷的硬盘系列从低端到高端的产品名称分别为:U4系列、Medalist(金牌)系列、U8系列、Medalist Pro(金牌Pro)系列、Barracuda(酷鱼)系列。其中Medalist Pro与Barracuda系列是7200转的产品,其他的是5400转的产品。硬盘的型号均以ST开头,现以酷鱼10.2GB硬盘为例来说明。该硬盘的型号是:ST310220A,在ST后第一位数字是代表硬盘的尺寸,3就是该硬盘采用3寸盘片,如今其他规格的硬盘已基本上没有了,所以大家能够见到?的绝大多数硬盘该位数字均不3,3后面的1022代表的是该硬盘的格式化容量是10.22GB,最后一位数字0是代表7200转产品。这一点不要混淆与希捷以前的入门级产品Medalist ST38420A混淆。多数希捷的Medalist Pro系列开始,以结尾的产品均代表7200转硬盘,其它数字结尾(包括1、2)代表5400转的产品。位于型号最后的字母是硬盘的接口类型。希捷硬盘的接口类型字母含义如下:

A=ATA UDMA33或UDMA66 IDE接口 AG为笔记本电脑专用的ATA接口硬盘。

W为ULTRA Wide SCSI,

其数据传输率为40MB每秒 N为ULTRA Narrow SCSI,其数据传输率为20MB每秒。

而ST34501W/FC和ST19101N/FC中的FC(Fibre Channel)表示光纤通道,可提供高达每秒100MB的数据传输率,并且支持热插拔。

硬盘及接口标准的发展历史

一、硬盘的历史

说起硬盘的历史,我们不能不首先提到蓝色巨人IBM所发挥的重要作用,正是IBM发明了硬盘,并且为硬盘的发展做出了一系列重大贡献。在发明磁盘系统之前,计算机使用穿孔纸带、磁带等来存储程序与数据,这些存储方式不仅容量低、速度慢,而且有个大缺陷:它们都是顺序存储,为了读取后面的数据,必须从头开始读,无法实现随机存取数据。

在1956年9月,IBM向世界展示了第一台商用硬盘IBM 350 RAMAC(Random Access Method of Accounting and Control),这套系统的总容量只有5MB,却是使用了50个直径为24英寸的磁盘组成的庞然大物。而在1968年IBM公司又首次提出了“温彻斯特”Winchester技术。“温彻斯特”技术的精髓是:“使用密封、固定并高速旋转的镀磁盘片,磁头沿盘片径向移动,磁头磁头悬浮在高速转动的盘片上方,而不与盘片直接接触”,这便是现代硬盘的原型。在1973年IBM公司制造出第一台采用“温彻期特”技术制造的硬盘,从此硬盘技术的发展有了正确的结构基础。1979年,IBM再次发明了薄膜磁头,为进一步减小硬盘体积、增大容量、提高读写速度提供了可能。70年代末与80年代初是微型计算机的萌芽时期,包括希捷、昆腾、迈拓在内的许多著名硬盘厂商都诞生于这一段时间。1979年,IBM的两位员工Alan Shugart和Finis Conner决定要开发像5.25英寸软驱那样大小的硬盘驱动器,他们离开IBM后组建了希捷公司,次年,希捷发布了第一款适合于微型计算机使用的硬盘,容量为5MB,体积与软驱相仿。

PC时代之前的硬盘系统都具有体积大、容量小、速度慢和价格昂贵的特点,这是因为当时计算机的应用范围还太小,技术与市场之间是一种相互制约的关系,使得包括存储业在内的整个计算机产业的发展都受到了限制。 80年代末期IBM对硬盘发展的又一项重大贡献,即发明了MR(Magneto Resistive)磁头,这种磁头在读取数据时对信号变化相当敏感,使得盘片的存储密度能够比以往20MB每英寸提高了数十倍。1991年IBM生产的3.5英寸的硬盘使用了MR磁头,使硬盘的容量首次达到了1GB,从此硬盘容量开始进入了GB数量级的时代 。1999年9月7日,迈拓公司(Maxtor)_宣布了首块单碟容量高达10.2GB的ATA硬盘,从而把硬盘的容量引入了一个新里程碑。

二、接口标准的发展

(1)IDE和EIDE的由来

最早的IBM PC并不带有硬盘,它的BIOS及DOS 1.0 *** 作系统也不支持任何硬盘,因为系统的内存只有16KB,就连软驱和DOS都是可选件。后来DOS 2引入了子目录系统,并添加了对“大容量”存储设备的支持,于是一些公司开始出售供IBM PC使用的硬盘系统,这些硬盘与一块控制卡、一个独立的电源被一起装在一个外置的盒子里,并通过一条电缆与插在扩展槽中的一块适配器相连,为了使用这样的硬盘,必须从软驱启动,并加载一个专用设备驱动程序。

1983年IBM公司推出了PC/XT,虽然XT仍然使用8088 CPU,但配置却要高得多,加上了一个10MB的内置硬盘,IBM把控制卡的功能集成到一块接口控制卡上,构成了我们常说的硬盘控制器。其接口控制卡上有一块ROM芯片,其中存有硬盘读写程序,直到基于80286处理器的PC/AT的推出,硬盘接口控制程序才被加入到了主板的BIOS中。

PC/XT和PC/AT机器使用的硬盘被称为MFM硬盘或ST-506/412硬盘,MFM(Modified Frequency Modulation)是指一种编码方案,而ST-506/412则是希捷开发的一种硬盘接口,ST-506接口不需要任何特殊的电缆及接头,但是它支持的传输速度很低,因此到了1987年左右这种接口就基本上被淘汰了。

迈拓于1983年开发了ESDI(Enhanced Small Drive Interface)接口。这种接口把编解码器放在了硬盘本身之中,它的理论传输速度是ST-506的2~4倍。但由于成本比较高,九十年代后就逐步被淘汰掉了。

IDE(Integrated Drive Electronics)实际上是指把控制器与盘体集成在一起的硬盘驱动器,这样减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,对用户而言,硬盘安装起来也更为方便。IDE接口也叫ATA(Advanced Technology Attachment)接口。

ATA接口最初是在1986年由CDC、康柏和西部数据共同开发的,他们决定使用40芯的电缆,最早的IDE硬盘大小为5英寸,容量为40MB。ATA接口从80年代末期开始逐渐取代了其它老式接口。

80年代末期IBM发明了MR(Magneto Resistive)磁阻磁头,这种磁头在读取数据时对信号变化相当敏感,使得盘片的存储密度能够比以往的20MB/in2提高数十上百倍。1991年,IBM生产的3.5英寸硬盘0663-E12使用了MR磁头,容量首次达到了1GB,从此硬盘容量开始进入了GB数量级,直到今天,大多数硬盘仍然采用MR磁头。

人们在谈论硬盘时经常讲到PIO模式和DMA模式,它们是什么呢?目前硬盘与主机进行数据交换的方式有两种,一种是通过CPU执行I/O端口指令来进行数据的读写;另外,一种是不经过CPU的DMA方式。

PIO模式即Programming Input/Output Model。这种模式使用PC I/O端口指令来传送所有的命令、状态和数据。由于驱动器中有多个缓冲区,对硬盘的读写一般采用I/O串 *** 作指令,这种指令只需一次取指令就可以重复多次地完成I/O *** 作,因此,达到高的数据传输率是可能的。

DMA即Direct Memory Access。它表示数据不经过CPU,而直接在硬盘和内存之间传送。在多任务 *** 作系统内,如OS/2、Linux、Windows NT等,当磁盘传输数据时,CPU可腾出时间来做其它事情,而在DOS/Windows3.X环境里,CPU不得不等待数据传输完毕,所以在这种情况下,DMA方式的意义并不大。

DMA方式有两种类型:第三方DMA(third-party DMA)和第一方DMA(first-party DMA)(或称总线主控DMA,Busmastering DMA)。第三方DMA通过系统主板上的DMA控制器的仲裁来获得总线和传输数据。而第一方DMA,则完全由接口卡上的逻辑电路来完成,当然这样就增加了总线主控接口的复杂性和成本。现在,所有较新的芯片组均支持总线主控DMA。

(2)SCSI接口

(Small Computer System Interface小型计算机系统接口)是一种与ATA完全不同的接口,它不是专门为硬盘设计的,而是一种总线型的系统接口,每个SCSI总线上可以连接包括SCSI控制卡在内的8个SCSI设备。SCSI的优势在于它支持多种设备,传输速率比ATA接口快得多但价格也很高,独立的总线使得它对CPU的占用率很低。 最早的SCSI是于1979年由美国的Shugart公司(Seagate希捷公司的前身)制订的,90年代初,SCSI发展到了SCSI-2,1995年推出了SCSI-3,其俗称Ultra SCSI, 1997年推出了Ultra 2 SCSI(Fast-40),其采用了LVD(Low Voltage Differential,低电平微分)传输模式,16位的Ultra2SCSI(LVD)接口的最高传输速率可达80MB/S,允许接口电缆的最长为12米,大大增加了设备的灵活性。1998年,更高数据传输率的Ultra160/m SCSI(Wide下的Fast-80)规格正式公布,其最高数据传输率为160MB/s,昆腾推出的Atlas10K和Atlas四代等产品支持Ultra3 SCSI的Ultra160/m传输模式。

SCSI硬盘具备有非常优秀的传输性能。但由于大多数的主板并不内置SCSI接口,这就使得连接SCSI硬盘必须安装相应的SCSI卡,目前关于SCSI卡有三个正式标准,SCSI-1,SCSI-2和SCSI-3,以及一些中间版本,要使SCSI硬盘获得最佳性能就必须保证SCSI卡与SCSI硬盘版本一致(目前较新生产的SCSI硬盘和SCSI卡都是向前兼容的,不一定必须版本一致)。

(3)IEEE1394:IEEE1394又称为Firewire(火线)或P1394,它是一种高速串行总线,现有的IEEE1394标准支持100Mbps、200Mbps和400Mbps的传输速率,将来会达到800Mbps、1600Mbps、3200Mbps甚至更高,如此高的速率使得它可以作为硬盘、DVD、CD-ROM等大容量存储设备的接口。IEEE1394将来有望取代现有的SCSI总线和IDE接口,但是由于成本较高和技术上还不够成熟等原因,目前仍然只有少量使用IEEE1394接口的产品,硬盘就更少了。

智能电容器集成了现代测控,电力电子,网络通讯,自动化控制,电力电容器等先进技术。改变了传统无功补偿装置落后的控制器技术和落后的机械式接触器或机电一体化开关作为投切电容器的投切技术,改变了传统无功补偿装置体积庞大和笨重的结构模式,从而使新一代低压无功补偿设备具有补偿效果更好,体积更小,功耗更低,价格更廉,节约成本更多,使用更加灵活,维护更加方便,使用寿命更长,可靠性更高的特点,适应了现代电网对无功补偿的更高要求。

一、 U盘基本工作原理通用串行总线(Universal serial Bus)是一种快速灵活的接口,

当一个USB设备插入主机时,由于USB设备硬件本身的原因,它会使USB总线的数据信号线的电平发生变化,而主机会经常扫描USB总线。当发现电平有变化时,它即知道有设备插入。

当USB设备刚插入主机时,USB设备它本身会初始化,并认为地址是0。也就是没有分配地址,这有点象刚进校的大学生没有学号一样。

正如有一个陌生人闯入时我们会问“你是什么人”一样,当一个USB设备插入主机时,,它也会问:“你是什么设备”。并接着会问,你使用什么通信协议等等。当这一些信息都被主机知道后,主机与USB设备之间就可以根据它们之间的约定进行通信。

USB的这些信息是通过描述符实现的,USB描述符主要包括:设备描述符,配置描述符,

接口描述符,端点描述符等。当一个U盘括入主机时,你立即会发现你的资源管理器里多了一个可移动磁盘,在Win2000下你还可以进一步从主机上知道它是爱国者或是朗科的。这里就有两个问题,首先主机为什么知道插入的是移动磁盘,而不是键盘或打印机等等呢?另外在Win2000下为什么还知道是哪个公司生产的呢?其实这很简单,当USB设备插入主机时,主机首先就会要求对方把它的设备描述符传回来,这些设备描述符中就包含了设备类型及制造商信息。又如传输所采用的协议是由接口描述符确定,而传输的方式则包含在端点描述符中。

USB设备分很多类:显示类,通信设备类,音频设备类,人机接口类,海量存储类.特定类的设备又可分为若干子类,每一个设备可以有一个或多个配置,配置用于定义设备的功能。配置是接口的集合,接口是指设备中哪些硬件与USB交换信息。每个与USB交换信息的硬件是一个端点。因些,接口是端点的集合。

U盘应属于海量存储类。

USB海量存储设备又包括通用海量存储子类,CDROM,Tape等,U盘实际上属于海量存储类中通用海量存储子类。通用海量存储设备实现上是基于块/扇区存储的设备。

USB组织定义了海量存储设备类的规范,这个类规范包括4个独立的子类规范。主要是指USB总线上的传输方法与存储介质的 *** 作命令。

海量存储设备只支持一个接口,即数据接口,此接口有三个端点Bulk input ,Bulk output,中断端点

这种设备的接口采用SCSI-2的直接存取设备协议,USB设备上的介质使用与SCSI-2以相同的逻辑块方式寻址

二、 Bulk-Only传输协议

当一个U盘插入主机以后,主机会要求USB设备传回它们的描述符,当主机得到这些描述符后,即完成了设备的配置。识别出USB设备是一个支持Bulk-Only传输协议的海量存储设备。这时应可进行Bulk-Only传输方式。在此方式下USB与设备之间的数据传输都是通过Bulk-In和Bulk-Out来实现的。

在这种传输方式下,有三种类型数据在USB和设备传送,它们是命令块包(CBW),命令执行状态包(CSW)和普通数据包。CBW是主机发往设备的命令。格式如下:

其中dCBWSignature的值为43425355h,表示当前发送的是一个CBW。

DCBWDataTransferLength:表示这次CBW要传送数据长度。

BmCBWFlags:表示本次CBW是读数据还是写数所

BBWCBLength:表示命令的长度。

CBWCB:表示本次命令内容。也即是SCSI命令。

当设备从主机收到CBW块以后,它会把SCSI命令从CBW中分离出来,然后根据要求执行,执行的结果又以CSW的形式发给主机。

CSW的格式如下:

其中dCSWSignature的值为53425355h,表示当前发送的是一个CSW。

DCSWTag:必须和CBW中dCBWTag一样。

DCSWDataResidue:还要传送的数据。

BCSWStatue:命令执行状态,命令正确执行时,为0。三、 SCSI命令集

在Bulk-Only的命令块包(CBW)中,有一段CBECB内容,它就是SCSI命令块描述符。其内容如下:

Operation Code:是SCSI命令 *** 作代码。

Logical Block Address:逻辑块地址,对U盘而言应是扇区。前面已经讲过:通用海量存储设备是一个基于块/扇区存储的设备,因此在SCSI中要提供这个参数是很显然的。

transfer length:为要传送的扇区数

SCSI中直接存取类型的存储介质的传输命令有很多,如:

INQUIRY:其 *** 作码为12H

Test Unit Ready:其 *** 作码为00H

Format Unit:其 *** 作码为04H

.......

这里以INQUIRY命令为例:

INQUIRY命令描述符如下:

INQUIRY的结果是U盘供电电路原理U盘供电电路故障检修U盘的结构U盘的电路结构U盘调试的主要步骤和内容USB 设备端的固件分以下几个层次:文件模块名称 主要功能

Main.c 进行各种初始化 *** 作、寄存器设置、中断设置Fat16.c flash.c 负责按照Fat16 文件系统的组织向Flash 中写入数据或是从Flash 中读出数据Chap9.c bulk-only.c 完成不同的中断请求,Chap9 完成来自端点0 的USB 标准设备请求,Bulk-Only 完成来自批量模式端点的Mass Storage Bulk-Only 传输中断请求Isr.c 中断服务程序,负责将不同类型的中断转向一同的地方D12ci.c 函数化的D12 的命令集合,可以直接调用这些函数,而不必再自己根据手册查每个命令的代码另外,此文件中包括一些与硬盘有关的地址定义在调试的时候,从现象上来看,分成以下几个阶段性的步骤:1、USB 芯片正常工作,可以实现软连接,此时PC 机上会出现“未知设备类型”的USB 设备;2、使用他人已经高度成功的USB 通用接口,按普通USB 设备提供描述符,提供正确的VID 和PID 后,PC 能够识别设备,但要求提供设备的驱动程序;3、安装驱动程序后,调试几个端点,使其均可传输数据,用PC 端的测试程序对其进行测试,验证硬件及固件的正确性;4、按Mass StorageBulk-Only 模式提供描述符,PC 机上设备类型变成Mass Storage Device;5、响应了Bulk-Only 的Inquiry 命令,可以出现盘符了,但尚无法访问磁盘;6、提供了其他所有的UFI命令(SCSI 子集),开始读取磁盘0 扇区(BPB 区)的内容,按照FAT16 的格式格式化Flash,可以正确读取信息,可以访问盘符,列目录为空;7、创建文件时,向设备发出Write 命令,调整Flash 的读写问题,解决写某几个扇区要先保存整个簇的内容,然后擦除整簇,再回写,可以正常创建文件;8、完成最后的调试,U 盘高度完毕。在此基础上,还需要提供支持FAT16 的文件系统接口函数,比如,可以从FAT16 中读取文件,可以创建文件并将其保存到FAT16 中去。U盘维修技术常见故障维修以下故障在维修时,首先要排除USB接口损坏及PCB板虚焊、及USB延长线正常的情况下,再维修判断1、U盘插到机器上没有任何反应 维修思路:根据故障现象判断,U盘整机没有工作,而U盘工具所要具备的条件也就是我们维修的重点。无论任何方案的U盘想要工具都必须具备以下几个条件:

(1)供电,分为主控所需的供电和FLASH所需的供电,这两个是关键,而U盘电路非常的简单,如没有供电一般都是保险电感损坏或3.3V稳压块损坏,说到稳压块再这里也说一下,其有三个引脚分别是电源输入(5V)、地、电源输出(3.3),工作原理就是当输入脚输入一个5V电压时,输出脚就会输出一个稳定的3.3V。只要查到哪里是没有供电的根源,问题就会很好解决了。

(2)时钟,因主控要在一定频率下才能工作,跟FLASH通信也要*时钟信号进行传输,所以如果时钟信号没有,主控一定不会工作的。而在检查这方面电路的时候,其实时钟产生电路很简单,只需要检查晶振及其外围电路即可,因晶振怕刷而U盘小巧很容易掉在地上造成晶振损坏,只要更换相同的晶振即可。注意:晶振是无法测量的,判断其好坏最好的方法就是代换一个好的晶振来判断。

(3)主控,如果上述两个条件都正常那就是主控芯片损坏了。只要更换主控了。 2、U盘插入电脑,提示“无法识别的设备”。维修思路:对于此现象,首先的一点说明U盘的电路基本正常,而只是跟电脑通信方面有故障,而对于通信方面有以下几点要检查:

(1)U盘接口电路,此电路没有什么特别元件就是两根数据线D D-,所以在检查此电路时只要测量数据线到主控之间的线路是否正常即可,一般都在数据线与主控电路之间会串接两个小阻值的电阻,以起到保护的作用,所以要检查这两个电阻的阻值是否正常。

(2)时钟电路,因U盘与电脑进行通信要在一定的频率下进行,如果U盘的工作频率和电脑不能同步,那么系统就会认为这是一个“无法识别的设备”了。这时就要换晶振了。而实际维修中真的有很多晶振损坏的实例!

(3)主控,如果上述两点检查都正常,那就可以判断主控损坏了。 3、可以认U盘,但打开时提示“磁盘还没有格式化”但系统又无法格式化,或提示“请插入磁盘”,打开U盘里面都是乱码、容量与本身不相符等。 维修思路:对于此现象,可以判断U盘本身硬件没有太大问题,只是软件问题而以了。

解决方法:找到主控方案的修复工具搞一下就可以了。这个就要大家自己看U盘的主控是什么方案的来决定了。 U盘故障大概也就是这些主要问题了。而对于无法写文件、不存储等现象,一般都是FLASH性能不良或有坏块而引起的。大家看完之后有没有一个清晰的思路了呢。随便说明一下,U盘不同于MP3,他不存在固件之说,但有些厂家把自己的软件放到里面,低格一下就会没有的。 告诉大家一个非常简单的方法,就是在碰到主控损坏或找不到相应的修复工具时,可以用U盘套件来重新搞一个新的U盘,方法就是把故障机的FLASH拆下来,放到新的PCB板上就可以了。U盘套件包括(PCB带主控(分1.1和2.0之分)及外壳一套)23元,中维在线有出售,维修起来非常简单,做数据恢复就更方便了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/8369653.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存