是否可以从磁盘删除扇区?

是否可以从磁盘删除扇区?

我认为我的问题很简单,但我在互联网上找不到答案(2 小时搜索时间...):我想从我的一个硬盘中删除扇区的概念?

如果您认为这个问题没有得到很好的解释,请让我尝试以不同的方式重新提出这个问题:我的计算机/硬盘如何知道扇区何时开始,何时结束?它是物理上压在磁盘上的吗?还是它是一个计数的东西,来自硬盘板上的某个控制器?

先感谢您! :)

答案1

我的计算机/硬盘如何知道一个扇区何时开始,何时结束?

从软盘开始,因为它们更简单并且具有像硬盘一样的磁道和扇区。

所有磁盘驱动器都具有以下功能:

  • 打开/关闭电机
  • 以某种方式将头移到某首曲目
  • 磁头读取模式:无论磁头位于磁盘的哪个位置,当它遇到磁通变化时都会产生信号。
  • 磁头写入模式:无论在磁盘的什么位置都会产生磁通变化。

如何检测扇区何时开始?

直到 3.5 英寸磁盘和 IBM PC 普及并创建了事实上的标准之前,并没有单一的方法。

以下是维基百科文章的摘录软盘

所有 8 英寸和部分 5 1⁄4 英寸驱动器都使用机械方法来定位扇区(称为硬扇区或软扇区),这也是护套上位于主轴孔侧面的小孔的用途。光束传感器可检测到何时可以通过护套上的小孔看到磁盘上的穿孔。

对于软扇区磁盘,只有一个孔,用于定位每个磁道的第一个扇区。然后使用时钟计时来查找其后面的其他扇区,这需要精确调节驱动电机的速度。

对于硬盘磁盘,有许多孔,每个扇区行一个,另外在半扇区位置还有一个孔,用于指示零扇区。

Apple II 计算机系统的一个显著特点是它没有索引孔传感器,并且忽略了硬扇区或软扇区的存在。相反,它使用在每个扇区之间写入磁盘的特殊重复数据同步模式,以帮助计算机查找和同步每个轨道中的数据。

Apple II 是一款著名的 8 位计算机,于 1978 年首次发售,早于 IBM PC 时代。Apple II 以尽可能多地使用软件和尽可能少的芯片而闻名,这导致该系统的 CPU 必须控制软盘磁头并在低级上从中读取/写入数据,并且不使用诸如检测磁盘孔的芯片之类的奢侈品。连接到磁盘的硬件很原始,预计主要由 CPU 驱动。

在 Apple II 上,您无法同时读取/写入磁盘和运行程序(在那个时代的大多数 CP/M 机器上也无法做到这一点,8 位机器也是如此)。

又怎样确切地那台老旧的 Apple II 读写磁盘吗?你可能想知道的关于这些血腥细节的信息比你想象的还要多。这里从第 3 章开始。它开始深入讨论时间模式等,但本质上每个扇区都以一个独特的“序言”开始,当系统尝试查找扇区时,这个序言是可检测到的,并且永远不会出现在其他任何地方。编码方案用于写出实际数据,它占用的空间比位数还要多。扇区的末尾还有一个“尾声”。本质上,Apple II 是其自己的磁盘控制器。

每个扇区都标有其编号,以便系统可以扫描每个扇区,然后读取所需的扇区。此标记不是扇区数据的一部分,是在磁盘格式化时写入的。

20 世纪 80 年代中期推出的 3 1⁄2 英寸驱动器不再使用扇区索引孔,而是使用同步模式。

当 IBM PC 于 1981 年上市时(3.5 英寸驱动器出现之前,5 英寸驱动器时代),您可以获得一个或多个软盘驱动器的控制卡。这使计算机能够向控制卡请求磁道和扇区,而不必直接控制磁头和数据流。因此,程序员现在处理的是更为抽象的视图。上述 Apple II 参考资料第 3 章中描述的所有内容都是控制器在 IBM PC 硬件上执行的操作。因此,程序员只需担心与控制器通信,而不必担心扇区序言、同步模式等问题。 对 PC 软盘控制器进行编程仍然很复杂,但它可以独立于 CPU 完成大部分工作。

FWIW IBM PC 软盘驱动器也有额外的数据围绕行业数据并标记行业带有 CRC 和其他信息。

所以...在 Apple II 上....

  • 您能覆盖扇区的序言并擦除该扇区吗?可以。当被要求查找丢失的扇区时,Apple DOS 软件可能会挂起 - 它会转到它认为应该在的轨道,并且可能会一直读取扇区来寻找它。

  • 您能否创建自己的磁盘例程并制作非常长的扇区或制作单个扇区的整个磁道?是的。

许多 Apple II 平台的开发人员创建了自定义格式以防止复制。

你能在现代电脑上做到这一点吗?在硬盘上?答案是否定的,因为你只能告诉控制器运行命令,其中一些命令是“读取扇区”、“写入扇区”,但没有“打开/关闭驱动器头”之类的命令,而且无论如何,在现代密度下,可能无法以足够快的速度发送命令来读取/写入。

硬盘驱动器有自己的集成控制器(因此术语“IDE”代表“集成驱动器电子设备”)。因此,只有设备制造商才知道上述低级信息。

您无法像在没有控制器的旧电脑上那样控制驱动器头。因此,您只能使用驱动器控制器让您执行的操作,这并不好玩实际的低级的东西。

答案2

实际上,这个问题并不像看起来那么荒谬:没有实际的技术原因不允许块大小为 1,这将有效地创建一个非阻塞设备,只要它是旋转锈蚀类型。

话虽如此,为了让原始发帖者受益,让我给出一些有关硬盘扇区的基本事实:

  • 磁盘按扇区(或更确切地说是按块)组织的原因是为了提高性能:寻址存储块不仅比寻址其中的单个字节快得多,而且计数也容易得多。旧硬件和软件通常带有 2TB/卷大小限制的原因是,使用 32 位计数器计算每个 512 字节的块会导致... 2TB。早期的 512 字节/块和现代硬件上的 4K/块已经变得如此普遍,以至于许多操作系统很难处理不同的值(包括值 1)

  • 许多供应商(例如 NetApp)选择了 520 字节/块单元(“扇区大小 520”),因为他们想要存储 512 字节的“正常”扇区和校验和。

  • 虽然早期就有硬扇区磁盘(即磁盘上实际物理标记扇区的磁盘),但所有较新的硬件都使用软扇区,即通过写入磁盘来标记磁盘上的扇区。这使得可以重新格式化例如扇区大小为 520 的 NetApp 磁盘(在 Windows 和 Linux 下无法使用),将其格式化为可以正常工作的 512 字节/扇区标准磁盘。

答案3

是否可以从磁盘删除扇区?

不是。
为了清楚起见,我们指的是磁盘上的固定大小的数据存储块。
请确保您理解磁盘扇区的用途, 尤其:

在磁性介质上读写数据需要介质移动,并且擦除和写入磁头需要远离现有数据打开和关闭。因此,磁盘数据始终以扇区(或更准确地说是数据记录)为单位进行写入和读取,以保留每个磁道的布局(或格式)。

HDD 的扇区实际上是旧 HDD 接口的简化。
磁盘接口(例如 SMD(存储模块驱动器))允许每个/任何轨道上的“扇区”大小可变。
每个“扇区”由一个标识记录(固定长度)和一个数据记录(长度在 ID 记录中声明)组成。
理论上,您可以只用一个“扇区”来覆盖“整个”轨道,或者将短“扇区”与长“扇区”交替使用。前者出于数据传输和缓冲以及数据完整性的原因是不切实际的。后一种方案是不切实际的,因为它使数据传输和缓冲要求复杂化。

使驱动器的每个“扇区”大小统一是软件的简化。
磁盘控制器(硬盘以及软盘控制器)将这种(低级)格式化方案称为软扇区。

当 IBM PC 推出时,其实施者又进行了一次简化,将“扇区”大小固定为 512 字节。
在此 IBM PC 惯例之前,还使用过 128、256 和 1024 字节的扇区大小。

随着 IBM PC 兼容性成为事实上的标准,512 字节扇区也成为事实上的标准。
硬盘/软盘控制器中允许使用不同扇区大小的软扇区功能成为无用的功能。
因此,仅使用 512 字节扇区的“硬扇区”控制器/驱动器成为 PC 市场的标准。
随着 PC 开始主导计算机市场的其他部分,512 字节扇区的“标准化”也随之而来。
随着驱动器容量的增加,物理扇区(在盘片上)的大小增加到 4096 字节。
分区位记录的使用恢复了软扇区,因此每个磁道的扇区数可以变化。但低级格式化作为控制器功能被删除。

这个答案详细描述了如何写入一个扇区。

由于驱动器的电子机械限制每次只能读取或写入一个磁道,因此无法跨磁道连续读取或写入。
因此,用于传输和读取/写入此数据块的“扇区”概念将其大小限制为一个磁道。

将“扇区”大小减小到更小的数量(例如一个字节)是不切实际的。
支持写入和读取如此少量数据所需的间隙(参见链接的答案)将浪费 90% 或更多的磁性介质容量。

我的计算机/硬盘如何知道一个扇区何时开始,何时结束?

这取决于磁盘控制器和驱动器。
在现代 HDD 上,从 IDE 驱动器开始,控制器都内置在 HDD 中。

它是物理压入磁盘的吗?

不,磁盘表面必须尽可能光滑。
扇区可以是定时的(例如伺服轨道),也可以是记录的(即先于数据记录的 ID 记录)。

或者它是一个计数的东西,来自硬盘板上的一些联合控制器?

参见上文和/或链接。

相关内容