新闻资讯

你所在的位置:网站首页>新闻资讯
硬盘的工作原理(二)
作者:灵犀数据恢复 时间:2022-01-02


硬盘的调用过程


硬盘工作原理——硬盘的调用过程灵犀数据恢复发布。

硬盘的调用过程就是计算机系统中CPU与硬盘的通信联络过程。CPU是一个高度集成化的芯片,硬盘是一个有接口的盒子,CPU要向硬盘调取数据,就必须与硬盘之间建立起一条数据传输通路。并且通过相应的调度指令,实现存入或调取硬盘数据的目的。CPU与硬盘之间的数据传输路径如图:

CPU与硬盘之间的数据传输路径



  • CPU与硬盘的交互通信过程

在计算机系统中,每个输入输出设备在启动时都要向内存中映射一个或者多个地址,这个地址有8位长,又被称为输入输出端口。针对这地址的数据,统统被北桥芯片重定向到总线实际的设备上。在计算机启动过程中,BIOS程序同样会为硬盘控制器分配一个设备地址,并保存在内存中,CPU根据程序代码,向这个地址发出指令来完成一个读写操作。

CPU在读写硬盘数据时,首先要将内存中的磁盘地址放到系统总线上,北桥接收到这个指令后,会等待CPU发送第一个针对这个外设的指令。然后CPU发送以下3条指令。

第一条指令:指令中包含了表示当前指令是读还是写的位,还包含其他选项,如操作完成时是否用中断来通知CPU处理、是否启用磁盘缓存等。

第二条指令:指明应该读取或者写入的硬盘逻辑块号(LBA)。

第三条指令:给出了读取出来的内容应该存放到内存中哪个地址中。

这3条指令被北桥依次发送给输入输出总线上的磁盘控制器来执行。磁盘控制器收到第一条指令后,知道这是读指令以及一些其他操作选项,然后继续等待下一条指令,即逻辑地址(LBA)。磁盘控制器收到指令后,会进行磁盘实际扇区和逻辑块的对应查找,可能一个逻辑块会对应多个扇区。查找完成后,控制器驱动磁头寻道,等盘体旋转到那个扇区后,磁头开始读取数据。在读取数据的同时,磁盘控制器会接收到第三条指令,也就是CPU给出的数据应该存放在内存中的地址。有了这个地址,数据读出之后直接通过DMA技术,也就是磁盘控制器可以直接对内存寻址并执行操作,而不必先转到CPU,然后再从CPU存到内存中。数据存到内存中之后,CPU就从内存中取数据进行其他运算。

CPU向磁盘读写数据,和向内存读写数据大同小异,只不过CPU和内存之间有更高速的缓存。



  • 磁盘控制器在硬盘调用中的作用

磁盘控制器是主机与磁盘驱动器之间的接口。由于磁盘存储器是高速外存设备,故与主机之间采用成批交换数据方式。作为主机与驱动器之间的控制器,它需要有两个方面的接口:一个是与主机的接口,控制外存与主机总线之间交换数据;另一个是与硬盘驱动器设备的接口,根据主机命令控制设备操作。前者称为系统级接口;后者称为设备级接口。

硬盘控制器第一硬盘驱动器的控制是通过发出一系列指令来实现的,在ATA接口的硬盘上,控制器使用ATA指令集(包括IDE指令和SATA指令);在SCSI接口的硬盘上,硬盘控制器使用SCSI指令集;指令集可以称为协议,协议就是语言,就是让通信双方知道对方传过来的比特流里面到底包含了什么,怎么由笔画组成字、由字组成词、由词组成句子等。



  • 硬盘驱动程序在硬盘调用中的作用

驱动程序是硬件设备与系统之间的桥梁,系统通过驱动程序控制和管理硬件,并通过驱动程序发挥硬件的最佳能力。硬盘驱动程序实际上是指硬盘控制器驱动程序,它的主要任务是接收上层软件发来的读出或写入指令,把它转换成具体的要求后,发送给南桥芯片中的硬盘控制器,由硬盘控制器控制硬盘驱动器进行相映的读写操作,同时将硬盘控制器发来的信号传送给上层软件。硬盘驱动程序是系统与磁盘控制器之间的桥梁,系统通过磁盘控制器驱动管理磁盘控制器,又通过磁盘控制器管理磁盘。

必须明确,磁盘控制器驱动程序是针对磁盘控制器的,而不是针对磁盘的。为什么有时系统无法在sata硬盘的计算机上部署呢?这是因为系统映象中没有包含此目标计算机的磁盘控制器驱动程序。没有匹配的驱动程序,则系统无法管理磁盘控制器,从而无法执行对磁盘的管理,造成系统部署失败。

磁盘控制器驱动程序分为两种,一种是使系统可以正确识别磁盘控制器以部署系统的驱动程序,一种是让系统可以更好的控制与管理磁盘控制器的驱动程序。其实这两种驱动程序是同一类,不过是不同的工作时机和不同的工作模式。通常,前者被俗称为“SRS驱动”。后者被俗称为“PNP驱动”。前者属于系统关键设备驱动程序,让系统启动。不至于宕机蓝屏;后者就像显与声卡的驱动程序一样。为的是能够让硬件更好的发挥其性能。


  • 知识拓展

IO就是IN,OUT的英文缩写,译为输入、输出。在计算机系统中从CPU、北桥、内存,南桥到键鼠口、USB接口、硬盘接口等各设备之间的通信都要通过相应的接口。这些接口之间的每次交互都可以称作一次IO。对于硬盘来说,一次磁头的读或者写叫做一次IO。

一次IO是一个相对概念,如CPU向硬盘控制器发送一条读命令,算一次IO,硬盘控制器向硬盘驱动器要发送多条控制命令,也就是多IO。也就是说上层的IO是稀疏而简单的,下层的IO是密集复杂的



本文Tags: 硬盘的工作原理  灵犀数据恢复中心  硬盘数据恢复




电话
消息
微信
短信