搜索 社区服务 统计排行 帮助
  • 2321阅读
  • 34回复

[转贴]害怕BT伤硬盘的都进来..(写的太好了)

楼层直达
级别: 侠客
注册时间:
2003-03-25
在线时间:
0小时
发帖:
379
只看该作者 30楼 发表于: 2003-09-06
引用
最初由 赤红蝎子 发布


至于你说那2G的限制,这个是采用的FAT16的分区方式DOS访问的限制,请不要和上述的混为一坛。



我说的可不是FAT16文件系统分区的最大容量限制,请你不要把这个和因BIOS造成的容量限制混为一谈.
顺便说一下,无论是DOS还是WINDOWS或者LINUX,FAT16分区最大都只是2GB而已.






硬盘容量限制问题的形成以及解决方案

1957年IBM公司研制成功的IBM 350(RAMAC)是第一台真正意义上的硬盘存储器,之后经历了漫长的技术革新,于80年代初期引入PC(个人电脑),当时的容量仅为20-40M,而经过10几年的发展,硬盘的容量逐步提高,而当时一些设计上的失误就造成了今天可能出现的硬盘容量限制问题。(容量限制问题:就是系统无法完全识别或正常使用超过一定容量的硬盘)

容量限制问题的成因

要明白这个原因我们需要对IDE接口硬盘的工作方式做一个介绍,即使到现在我们今天的IDE硬盘驱动依旧使用早先的DOS-BIOS(磁盘操作系统-基本输入/输出系统)的分层结构上。它的基本工作模式就是:程序调用->DOS功能调用->文件管理设备->INT 13中断管理(读/写)->BIOS磁盘服务->IDE(ATA)界面->磁盘控制器,也就是说我们如果需要对硬盘进行操作必须通过以上的一系列步骤才能完成,那么我们以下一起来看看这一系列步骤的作用。

文件管理设备:其负责文件及其在磁盘上存储位置之间的映射关系,不过需要通过磁盘读写中断INT13执行读写命令来存储、调入文件。当新文件被保存时,文件管理器决定它在当前目录里的存储位置,在文件分配表中为这个新文件添加文件目录项,并把文件写入磁盘。当读文件时,文件管理器在FAT中找到文件在磁盘上的位置,接着就调入文件。

IDE(ATA) 界面:在介绍IDE(ATA)界面前,简单说说硬盘的结构:硬盘分为一定数量的柱面(以硬盘中心为圆心的同心圆磁迹),每个柱面都需要磁头来读写数据。另外,硬盘上的数据都是以每扇区512字节的格式存储的,所有的数据传输都是以扇区(柱面被等分的园弧磁迹)为单位的。IDE(ATA)界面是寄存器驱动式的并口总线。要传输数据,BIOS首先往IDE(ATA)里特定的寄存器写入数据的开始地址和数据传输的长度,再把有关的读/写命令往特定的寄存器里发送从而开始数据传输。

现在的硬盘一般都支持逻辑块寻址(LBA)和柱面磁头扇区寻址(CHS),我们以CHS寻址方式来举例:数据传输的开始地址是写到4个8位寄存器里的,分别是:

柱面低位寄存器
柱面高位寄存器
扇区寄存器
设备/磁头寄存器
因此,柱面地址是16位[柱面低位寄存器(8位),柱面高位寄存器(8位)]。扇区地址是8位(注意:扇区寄存器里第一个扇区是1扇区,而不是0扇区)。而磁头地址是4位(没有完全占用8位)。因此,硬盘柱面的最大数是65,536(2的16次方),磁头的最大数是16(2的4次方),扇区的最大数是255(2的8次方-1,注意刚刚我们提到的扇区寄存器问题)。所以,能寻址的最大扇区数是267,386,880 (65,536x16x255)。一扇区又是512字节,也就是说如果以CHS寻址方式,IDE硬盘的最大容量为136.9GB。LBA寻址方式,上述的总共28位可用的寄存器空间(16+8+4)被看作一个完整的LBA地址,因为包括位0(CHS里扇区不能从0开始计算),其能寻址的扇区数是268,435,456 (65,536x16x256),这时IDE硬盘的最大容量为137.4GB。

INT 13管理:INT 13管理其实也是按照寄存器的模式来设计的,它的高层即文件管理器层发布数据读写命令和有关的参数给CPU,然后触发INT 13中断的进行,激活BIOS的磁盘服务来执行数据传输。数据的开始地址被写到3个8位寄存器里,分别是:

柱面低位寄存器
柱面高位/扇区寄存器
磁头寄存器
柱面地址是10位(柱面低位寄存器占用8位、柱面高位寄存器占用2位),扇区地址为6位(8位-已经被计算过的高位寄存器的2位)。磁头寄存器为8位。因此如果这样的话:柱面的最大数是1024(2的10次方) ,磁头的最大数是256(2的8次方),扇区的最大数是63(2的6次方-1)。所以,通过INT 13管理能寻址的扇区数是16,515,072 (1,024x256x63)。一扇区是512字节,也就是说如果以CHS寻址方式,IDE硬盘的最大容量为8.456GB。LBA寻址方式能寻址的扇区数是16,777,216(1024x256x64),这时IDE硬盘的最大容量为8.601GB。

看到这里,我们应该感到硬盘容量限制的成因有了一些“眉目”了吧,那么我们具体来到底是什么让硬盘出现了所谓的限制:

528MB的容量限制:

由于早先的硬盘容量比较小,因此设计的BIOS的时候当把地址从Int 13的地址寄存器转换为IDE(ATA)的地址寄存器时,仅仅把INT 13管理中10位的柱面地址用来对应IDE(ATA)界面中的16位柱面寄存器,而把没有用到的6位(高位寄存器)地址都设定为0。并且也仅把6位的扇区地址来对应IDE(ATA)界面的8位扇区寄存器,其中没有用到的2位设置为0。并且INT 13管理的磁头寄存器4位(又去掉了4位)来对应IDE(ATA)。因此,此时的磁盘柱面最大数为1024(2的10次方),磁头的最大数是16(2的4次方),扇区的最大数是63(2的6次方-1)。因此能寻址的扇区数就成了1,032,192(1,024x16x63)。一个扇区的容量是512字节,也就是说如果以CHS寻址方式,IDE硬盘的最大容量为528.4MB。因此528MB的硬盘容量限制就出现了。

2.1GB的容量限制:

这里分为两个部分,一部分是由磁盘服务的限制造成的,另外一个是由于磁盘格式造成的,通常我们把前者称为2.1GB的硬件容量限制,后一种称为2.1GB的软件容量限制。

硬件容量硬件

当时,为了528MB容量限制的问题,人们提出一些不同的办法,其中一个办法就是INT 13服务的磁头寄存器没有用到的4位中的2位(确切的说是高2位)保留给柱面数的第11、12位使用。这样,最大的磁头数就是64(2的6次方)。但是,当时的操作系统不使用这种转换方法,其认为磁头寄存器的所有位数只可能记录磁头数。比如,为了正确地转换柱面数为2,048、磁头数为64的硬盘,就需要操作系统把柱面数除以4(512个逻辑柱面数),磁头数乘以4(256个逻辑磁头数)。不过由于BIOS中并没有开放所有的磁头数寄存器,当然无法记录这样的磁头数。因此遇到这种运行机制的BIOS,在系统自检的时候就会造成系统当机。

软件容量限制

当时DOS分区的限制是由文件分配表(FAT)决定的。FAT处理存储空间是以簇为单位的,它处理一簇的最大长度是32,768字节,最多能处理65,536个簇,如果将两个数字相乘,就会得到DOS的最大分区界限值是2,147,483,648字节或2,048MB(2,147,483,648 /1,0242)。因此超过这个容量的硬盘,如果使用FAT格式,就最大只能识别2.048GB的硬盘容量。


3.2GB的容量限制:

一些版本的BIOS不能识别超过6322柱面的硬盘,不过这种BIOS比较少见,由于柱面有限制,其最高支持扇区数为6,372,576(6322x16x63),如果乘以512扇区容量的话,其最高支持容量为6,372,576x512=3,262,758,912/1024=3.18GB。

4.2GB的硬盘容量限制:

当时一些操作系统使用8位寄存器来存储磁头数,这样当BIOS报告硬盘的磁头数等于256(最高容量)时,只有磁头数的最先一位(即0)被系统保存,从而导致硬盘配置错误。一旦硬盘的磁头数是16,柱面数大于8,192(2的13次方,由于后三位寄存器已经被磁头寄存器借用,其实这里牵涉到一个突破528MB容量限制的转换做法的问题,由于这一段比较负责,在这里就不详细介绍了,我们只要明白有这个限制就够了),系统就无法正常识别了,因此其最大的容量就被限制在了4.2GB=8192x16x63x512/1024。

8.4GB的容量限制

我们已经知道INT 13服务的寻址方式最高可以支持8.4GB以下的容量(柱面数、磁头数、扇区数的最大值分别是16,383、16和63,而三者相乘就是8.456GB)。因此,这个容量限制出现是迟早的问题了。所以,这个限制是我们目前最常遇到的容量限制。为了解决这个问题,一些厂商定义了新的扩展INT 13服务扩展标准。新的INT 13服务扩展标准不使用操作系统的寄存器传递硬盘的寻址参数,它使用存储在操作系统内存里的地址包。地址包里保存的是64位LBA地址,如果硬盘支持LBA寻址,就把低28位直接传递给ATA界面,如果不支持,操作系统就先把LBA地址转换为CHS地址,再传递给ATA界面。通过这种方式,能实现在ATA总线基础上CHS寻址最大容量是136.9 GB,而LBA寻址最大容量是137.4GB。

33.8GB的容量限制

在CHS寻址中,由于IDE(ATA)界面的限制,柱面数最高支持65,535(2的16次方-1),所以,当遇到柱面数大于65,535的时候,系统就无法识别这种硬盘了,不过LBA由于独特的寻址模式就不存在这个问题,这个容量限制具体为:65535x16x63x512/1024=33.8GB。

137GB的容量限制

相信这个问题就不用提了,目前的磁盘工作方式就注定IDE硬盘存在这个问题,前面介绍IDE(ATA)界面的时候,这个问题就已经出现了
级别: 风云使者
注册时间:
2003-06-18
在线时间:
6小时
发帖:
6808
只看该作者 31楼 发表于: 2003-09-06
计算机组成原理……几年的课本啊?计算机不是数学,发展非常快的。

IDE硬盘是西数搞得,目的就是简便化SCSI。所以,指令上没有什么区别(我记得IDE的指令要简单一点)。但是,工作方式,接口等可是有些不同地。

级别: 侠客
注册时间:
2003-03-25
在线时间:
0小时
发帖:
379
只看该作者 32楼 发表于: 2003-09-06
引用
最初由 赤红蝎子 发布
至于scsi和IDE嘛……这只是两种接口标准,scsi相当于IOP,IDE只是相当于通道而已,当然还是有区别的嘛!!具体点……:( 忘了!!以前偷上的硬件课上有讲的……唉!谁叫咱是学软件的呢!





揭开SCSI神秘的面纱


一、前言
随着科技的发展,原来离我们十分遥远(价格方面)的设备也“屈尊”降临,SCSI设备便是其中之一。以前,SCSI设备只能在高端工作站或服务器上看到。现在不一样了,随着SCSI技术的日趋成熟,它们已经大幅降价,它们天生具有十分良好的性能,所以现在在个人电脑上SCSI的应用越来越多了。可以想像,不久的将来,SCSI设备必将取代大部分IDE设备,成为市场的主流。
或许大家对SCSI这个词还比较陌生,对SCSI的认识或许还只停留接口标准上。不过这没关系,我会向您细细道来。

二、什么是SCSI
SCSI就是指Small Computer System Interface(小型计算机系统接口),它最早研制于1979,是为小型机研制出的一种接口技术,但随着电脑技术的发展,现在它被完全移植到了普通PC上。现在的SCSI可以划分为SCSI-1和SCSI-2(SCSI Wide与SCSI Wind Fast),最新的为SCSI-3,不过SCSI-2是目前最流行的SCSI版本。SCSI广泛应用于硬盘、光驱、ZIP、MO、扫描仪、磁带机、JAZ、打印机、光盘刻录机等设备上。它的优点主要表现为以下几点:
1.适应面广
使用IDE接口时,你将会受到系统IRQ(中断号)及IDE通道的限制。一般情况下每个IDE通道使用一个IRQ,因此在一个标准的主板只能用上2个IRQ,而每两个设备要占据一个IDE通道,因此一个标准的主板上最多只能接4个IDE设备。当然你可以通过增加IDE控制卡来增加可接设备的数量,但最多也不能超过15个,随着现在电脑设备的日益增多(如Modem、电影卡),你会发现仅存的几个可用的插槽也已插满了东东。使用SCSI,你所接的设备就可以超过15个,而所有这些设备只占用一个IRQ,同时SCSI支持的设备相当广泛。
2.多任务
与IDE不同,SCSI允许在一个设备传输数据的同时,对另一个设备进行数据查找。这将在多任务操作系统如Linux、Windows NT中获得更高的性能。
3.宽带宽
理论上,最快的SCSI总线有160MB/s的带宽,即Ultra 160 SCSI。这意味着你的硬盘传输率最高将达160MB/s(当然这是理论值,实际应用中可能会低一点),而目前最快的IDE接口硬盘其数据传输率也只有100MB/s(ATA-100标准下的理论值,到目前为止,能很好兼容此标准的硬盘还很少,如IBM公司的最新出品的Deskstar 75GXP和Deskstar 40GV系列),而且许多用户的设备可能因为各方面的限制(如未更新主板的BIOS或主板不支持UDMA 100/UDMA 66标准、没有使用支持ATA 100/ATA 66的硬盘或外设等)而不能达到此速度,他们现在所能用的可能只有ATA 33,最高传输率只有33MB/s。
4.CPU占用率低
使用传统IDE接口时,CPU需要随时在线地全程控制数据的传输动作,所以IDE传输数据的过程中,CPU不能做任何事,必须等在旁边,知道传输结束后才可执行后续的指令。目前较新的Ultra DMA接口使用Bus Mastering技术提高性能、减少资源占用,但是也仅能局限在PCI通道内,从整体性能而言,仍比不上SCSI。
早期在SCSI接口下,CPU将传输指令提交给SCSI之后,即刻就可处理后续的指令,传输的工作则交由SCSI处理芯片负责,且传输过程以DMA(Direct Memory Access)方式,由SCSI直接访问内存,待SCSI处理完毕、发出信号通知CPU后,CPU再进行后续处理即可。目前“即插即用”的SCSI卡虽然也改用Bus Mastering,不过通过独立处理芯片的协助,占用CPU资源的比例还是相当小的。
当然SCSI相对于IDE也不是没有缺点的,其最大的缺点可能就是价格太昂贵,因此至少在目前还不是每个人都能受用得起。
说完了SCSI硬盘的优缺点后,现在向大家介绍一下目前SCSI的工业标准及其发展过程。总的来说,SCSI分以下几个发展阶段:
1.SCSI-1——最早的SCSI是在1979年,由美国的Shugart公司(Seagate希捷公司的前身)制订的,并于1986年获得了ANSI(美国标准协会)承认的SASI(Shugart Associates System Interface施加特联合系统接口),这就是我们现在所说的SCSI-1。它的特点是,支持同步和异步SCSI外围设备;支持7台8位的外围设备,最大数据传输速度为5MB/s;支持WORM外围设备。
2.SCSI-2——90年代初(具体时间是1992年),SCSI发展到了SCSI-2,当时的SCSI-2 产品(通称为Fast SCSI)能通过提高同步传输的频率使数据传输率提高到10MB/s。原本为8位的并行数据传输,称为Narrow SCSI;后来出现了支持16位并行数据传输的WideSCSI,将其数据传输率提高到了20MB/s 。
3.SCSI-3——1995年SCSI-3问世,俗称Ultra SCSI,全称为SCSI-3 Fast-20 Parallel Interface(数据传输率为20MB/s),它的同步传输时钟频率提高到20MHz,这也提高了数据传输的技术,因此在使用16位传输的Wide模式时,数据传输即可达到40MB/s。允许接口电缆的最大长度为1.5米。
4.1997年推出了Ultra 2 SCSI(Fast-40),采用了LVD(Low Voltage Differential 低电平微分)传输模式,16位的Ultra2 SCSI(LVD)接口的最高传输速率可达80MB/s,允许接口电缆的最大长度12米,大大增加了设备的灵活性。
5.1998年9月,具有更高的数据传输率的Ultra 160 SCSI(Wide下的Fast-80)正式发布,最高数据传输率为160MB/s,这给电脑系统带来了更高的性能。
下面我再向大家介绍一下SCSI bus。所谓SCSI bus,就是一条用来连接SCSI控制卡和SCSI外设的通道。为了通道的顺畅还需注意以下几点:
1.此通道要用数据电缆来连接。
2.数据电缆长度不可超过6米,如果是Fast SCSI设备则不可超过3米。
3.在连接好多台外设后还需为它们设置不同的SCSI ID,当它们同时请求服务时,SCSI ID高的设备会先被SCSI卡响应。
4.要正确安装终端器(Terminator)。这里又不得不说明一下SCSI终端器了,所谓“SCSI终端器”,就是表示SCSI总线的终结,是SCSI总线的重要特性。当你将许多SCSI设备连接形成总线后,两端的SCSI一定要用终端器终结总线。
到这为止,我已经把SCSI的各种概念一一做了介绍,你对它应有了一个大概的了解了吧。

三、SCSI设备
1.SCSI控制卡
如果你的主板上没有内置SCSI控制芯片,那你就要在主板上插一块SCSI控制卡了,SCSI控制卡的功能就是可以同时串接和控制多个SCSI设备。一块SCSI控制卡最少可以串接7台外设,最多可以串接30台外设。SCSI控制卡由SCSI控制芯片、SCSI BIOS、SCSI内置数据线电缆插座、SCSI外置高密度插座、PCI插座和终端器六部分构成。下面分别说明:SCSI控制芯片是用来控制SCSI工作的,是SCSI控制卡最重要的部分;SCSI BIOS提供SCSI的基本设置功能。SCSI内置数据线电缆插座分为50针SCSI数据线电缆和68针SCSI数据线电缆两种,用来连接内置式SCSI外设。SCSI外置高密度插座用来连接外置SCSI外设。PCI插座对应主板上的PCI插槽。终端器是SCSI的一个重要特性,代表SCSI bus的结束(上文已有详细介绍)。此外,SCSI控制卡分为SCSI-1,SCSI-2和SCSI-3三种规格。
(下转53页)
(上接51页)
2.SCSI硬盘
在以前的个人电脑上主要应用IDE接口的硬盘,而SCSI接口的硬盘通常被应用于高端服务器上,二者分工明确,但随着Enhanced IDE的发展,IDE接口的硬盘在速度和品质上也有很大的进步,被广泛应用于高端工作站和服务器。而SCSI接口硬盘随着价格的降低也在个人电脑市场上打出一片天地,从此,IDE与SCSI成了硬盘市场上的宿敌。SCSI硬盘在速度和品质上还是比IDE硬盘更高一筹,但价格也更高一筹,所以造成二者性价比几乎相同。下面是IDE硬盘和SCSI硬盘的速度表。
上表显示,SCSI接口硬盘在速度上确实比IDE接口硬盘更强一些。
3.CD-R/CD-RW
CD-R和CD-RW两种光盘刻录驱动器在99年的电脑市场上卖得十分火爆。它们的用途主要是光盘复制,也可以当作普通的CD-ROM来用,只不过读盘速度比普通的CD-ROM慢许多,目前最快的CD-RW也只有8倍速左右。CD-R刻录光盘驱动器与CD-R光盘配合使用,只能对CD-R光盘进行一次性刻录。而CD-RW刻录光盘驱动器可以实现对CD-RW光盘的多次擦写。目前市场上的CD-R刻录光盘驱动器和CD-RW刻录光盘驱动器大多是SCSI接口的,而CD-ROM有IDE接口和SCSI接口两种,为了更好的发挥CD-R和CD-RW的刻录功能,我建议选用SCSI接口的产品。
其实SCSI外设还有很多,如MO可读写光盘驱动器、扫描仪、打印机等等。篇幅所限,这里不再一一介绍。

四、结语
看完了此篇《揭开SCSI神秘的面纱》文章,大家应该对SCSI接口和SCSI设备有了一个比较彻底的了解了吧?愿你成为玩转SCSI的高手。
作者:黄明亮
级别: 侠客
注册时间:
2003-04-01
在线时间:
0小时
发帖:
493
只看该作者 33楼 发表于: 2003-09-06
现在IDE的已经有160G了啊,那137GB的容量限制就不可用咯...现在到底限制最大是多少啊...
级别: 工作组
注册时间:
2003-05-26
在线时间:
0小时
发帖:
2428
只看该作者 34楼 发表于: 2003-09-06
adslisdn兄你是在帮我补接口、组原、操作系统啊!!!没说错嘛!scsi相当于IOP!我只是不想打那么多字了!你还真有心!还特地去找这些材料!!

学问之美,在于使人一头雾水;诗歌之美,在于扇动男女出轨;女人之美,在于蠢的无怨无悔;男人之美,在于说谎说得白日见鬼!
快速回复

限150 字节
上一个 下一个