存储 频道

存储课堂(四):数据编码和频率调制编码

  游程长度受限编码

  游程长度受限(RLL encoding)是当今最流行的硬盘编程方法,存储信息量是改进调频编码的两倍,调频编码的三倍。在游程长度编码中,驱动器将区位群组成一个单位来生成特定模式的通量逆转。因为时钟和数据信号被组合到这些模式中,因此时钟速率可进一步增加,同时保持存储介质通量转换之间的相同的距离。

  IBM发明了游程长度受限编码,并将其运用在很多大型磁盘驱动器中。在20世纪80年代末,计算机硬盘行业开始使用游程长度编码来增加计算机硬盘的存储能力。现在,市面上几乎所有驱动器都在使用某种形式的游程长度受限编码。

  游程长度受限编码并不是编码单个区位,而通常是一次性编码一组数据区位。游程长度受限这个说法来自两个主要规格,即两个实际通量转换间允许的转换单位的最小数字(游程长度)和最大数字(游程限制)。主要有两个已经开始真正普及应用:RLL 2,7和RLL1,7.

  你甚至可以说调频编码和改进调频编码也是一种游程长度受限编码,调频编码可以被称为RLL1,0,因为很少0和很多1转换单元分隔了两个通量转换。改进调频编码可以被称为RLL1,3,因为很少1和很多3转换单元分隔了两个通量转换。虽然这些编码形式都可以说是游程长度受限编码,但是很少有人这样表示。

  RLL 2,7曾经是最流行的RLL形式,因为它提供了高密度比率,以及转换检测窗口(与改进调频编码中的大小相当)。这种方法提供了高存储密度和相对良好的可靠性。然而,在高容量驱动器中,RLL 2,7并不是很可靠。现在大多数最高容量的驱动器使用的是RLL 1,7编码,它能够提供改进调频编码的1.27倍的密度比,和更大的转换检测窗口。因为有更大的计时窗口或者单元尺寸可以检测转换,RLL 1,7是一种更可行更可靠的编码,当介质和磁头技术被推向极限时,这一点尤为重要。

  另一个很少使用的游程长度受限被称为RLL 3,9,有时也被称为高级RLL(ARLL),它能够提供比RLL 2,7更高的密度比。不幸的是,可靠性并不是很好,只有少数已经过时的控制器在使用这种方法。

  如果没有例子的话,很难理解游程长度受限编码的工作原理。对于特定的RLL编码(例如RLL 2,7或者1,7),你可以构建很多通量转换编码表来演示特定区位组是如何被编码到通量转换的。

  在下面的转换表中,特定数据组(2,、3、4区位长)被转换成通量转换字符串4、6和8转换单位长度。为特定区位序列选定转换的目的是确保通量转换不会过于靠近或者过于分开。

游程长度受限编码

  限制两个通量转换之间的距离是很有必要的,因为磁头和存储介质的固定分辨能力。限制两个通量转换可相距多远可以确保设备的时钟保持同步。

  对于上图的表格,你可能会认为编码一个字节值(例如00000001b)可能是不可能的,因为没有数据位组组合符合这种字节。不过,编码这种类型的字节并不是问题,因为控制器不会传输单个字节,而是发送整个数据组,只要增加一些字节就可以编码这样的一个字节。在这种情况下,控制器中的endec会向最后一个字节的末端增加多余的字节,这些多余字节会在任何读取操作中被截断,这样控制器总是能够正确解码最后一个字节。

0
相关文章