在磁数据存储设备中利用按需奇偶扇区的纠错的制作方法
【专利说明】
[0001] 相关申请
[0002] 本申请的主题涉及提交日为2012年10月4日、序列号为13645309的共同未决申 请"SCALABLEREPAIRBLOCKERRORCORRECTIONFORSEQUENTIALMULTIPLEDATABLOCKS INAMAGNETICDATASTORAGEDEVICE",因此通过引用将其并入。
[0003] 本申请的主题还涉及提交日为2013年11月6日、序列号为14/072,923的共同 未决申请"TRACK-BANDSQUEEZED-SECTORERRORCORRECTIONINMAGNETICDATASTORAGE DEVICES"的主题。
技术领域
[0004] 本发明的实施例涉及磁数据存储设备中的纠错技术。
【背景技术】
[0005] 使用磁介质的传统盘驱动器、以被间隔开的同心轨道来组织数据。叠瓦式写入 (shingledwriting)的概念是磁记录的一种形式,并且作为增加磁记录的面密度的一种方 式而提出。在叠瓦式写入磁记录(shingle-writtenmagneticrecording,SMR)介质中,相 邻的轨道的区域(带)被写入,以致与一个或多个先前写入的轨道重叠。SMR记录技术假定 写入头(writehead)的有效写入路径比轨道间距(trackpitch)宽。不同于能够以任意 次序写入的传统上分开的轨道,叠瓦式轨道必须顺序地写入。SMR盘表面上的该叠瓦式轨道 被组织成多个叠瓦式区域(也被称为I区域)。当写入到叠瓦式结构中时,不能适当地更 新单独的轨道或扇区,因为那将盖写并破坏重叠的轨道。SMR驱动器也能够包括以非重叠 结构来写入的非叠瓦式区域,使得能够适当地更新单独的轨道和扇区,这便于在将一些数 据记录写入到叠瓦式区域之前对它们进行暂存(stage)。所谓的E区域(异常区域)用于 短期存储、缓存或暂存最终将被写入到叠瓦式区域的数据。SMR驱动器依赖于将逻辑块地 址(LBA)链接到物理块地址(PBA)的间接映射。例如,在将与具体的LBA相对应的数据扇 区从E区域移动到I区域时,更新间接映射。
[0006] 盘驱动器中的ECC用于检测和纠正在数据元素丢失或已知为有故障时发生的错 误和擦除。传统上,以扇区为基础、使用在扇区数据被写入时被附加到扇区数据的冗余位来 执行ECC。可以通过包括被附加到每个扇区中的数据的检查符号(checksymbol)来实现每 个扇区的简单错误检测能力。这些扇区ECC方法对于诸如流传输音频视频(AV)这样的一 些盘驱动器应用并不理想,并且SMR架构呈现另外的ECC问题。
[0007] RichardNew等人的美国专利申请20110075292(2011年3月31日)描述带(band) 在日志结构的(log-structured)文件系统中建立各自的段(segment)的SMR驱动器。通 过存储在ECC块的每个部分写入之后的中间ECC奇偶状态,实现每个段(带)内的大的纠 错(ECC)块大小。在该情况下,ECC块大小跨越多个物理扇区,并且由于更大的ECC模块大 小,纠错码更加高效并且能够纠正盘上的更大的缺陷错误。可以以多种不同的方式来实现 ECC码,这对设计ECC码的领域的技术人员是已知的。
[0008] 给Kasiraj等人的美国专利7, 490, 212 (2009年2月10日)描述用于SMR驱动器 的ECC,其可用于在大于传统的512字节块大小但是小于带大小的交易(transaction)数 据块中的视频数据的记录和回放。大物理扇区可以被用于提高格式化效率,并且大ECC码 字大小(大于交易块大小)可以被用于提高可靠性而不影响系统的读取-修改-写入性 能。为了做到这一点,盘驱动器保存每个交易块的连续的部分写入之间的累积ECC奇偶状 态,以便使用在第一写入操作中计算出的奇偶性来产生用于随后的写入操作的奇偶性。例 如,交易块大小可能是一兆字节,并且ECC可能跨越整个带。每当交易块被写入、逐渐充满 带时,维持ECC的累积奇偶状态,使得在该带中的最后的交易块的结束时,ECC奇偶性可以 被写出。这提供了非常长的ECC块大小,并且因此提供了一种对缺陷和错误可复原的非常 有效的ECC码。ECC码可以非常简单,诸如通过对带中的物理扇区中的所有数据进行异或运 算而得到的单个奇偶扇区。这提供了针对带内的单个扇区故障的保护。然而,使用异或运 算,纠错块是只能纠正一个数据块而不可缩放的奇偶扇区。
[0009] YingChen等人的已公开的专利申请20110096828(2011年4月28日)描述了一 种系统,其中对具有多个独立可缩放层的块进行编码和解码。假定将向前纠错(FEC) -次 性地应用于数据的"块"或"片段(fragment) ",亦即,"块"是用于FEC编码和解码目的的 "源块"。客户设备可使用在此描述的段索引来帮助确定段的源块结构。典型地,被考虑与块 请求流传输一起使用的FEC码为系统FEC码,亦即,作为对源块的编码的一部分,可以包括 源块的源符号,从而传送源符号。系统FEC编码器从源符号的源块产生一些数量的修复符 号,并且源符号和修复符号的至少一部分的组合是通过表示源块的信道发送的经编码的符 号。一些FEC码对于高效地产生与所需的一样多的修复符号可能是有用的,诸如"信息可加 码(informationadditivecodes)"或"喷泉码",并且这些编码的示例包括"连锁反应码" 和"多阶段连锁反应码"。其他FEC码(诸如Reed-Solomon码)实际上可能仅具体地针对 每个源块产生有限数量的修复符号。
[0010] 诸如所谓的"冷存储(coldstorage)"这样的硬盘驱动器(HDD)归档式应用是 指由于各种原因被存储但是无论何时都很少被再次读取的数据。对于这些应用,在存储的 密度、存取速度等之间的HDD设计权衡与用于被频繁地读取的数据的HDD不同。叠瓦式磁 记录(SMR)设计对于冷存储特别适合并且节省成本。诸如"冷存储"这样的HDD归档式应 用需要增加的容量,这通过增加每英寸的轨道(TPI)来获得。还要求确保准确的数据检索 的数据完整性。这些是冲突的要求,因为TPI通过挤压(squeeze)轨道的宽度来增加,这 一定导致增加不可读取的数据扇区的数量。例如,顺序地写入第二轨道能够使第一相邻 轨道的部分的磁宽度变窄,第一相邻轨道不再是可读取的。这种类型的错误被称为挤压 错误(squeeze-error),并且"挤压扇区(squeezedsector)"等效于"擦除扇区(erased sector)
【发明内容】
[0011] 本发明的实施例产生先前被写入的轨道的另外的按需(on-demand)ECC信息以提 供对轨道中的数据错误的纠正,从而避免必须重写轨道。本发明的实施例解决在顺序地写 入下一个(第二)轨道造成在相邻的先前写入的(第一)轨道中引入错误时引起的挤压错 误问题。在替代的实施例中,可以通过读取轨道或通过使用在写入第一和第二轨道的同时 所测量的头位置数据估计可能的错误的数量,来检测在第一轨道中的数据错误的存在。另 外的按需ECC信息可以被写入在可用的任何轨道上,但是有利地将其写入在远程地位于不 易发生错误的盘的区域中的专用轨道中。驱动系统必须维护链接信息,以便知道针对特定 轨道是否存在另外的按需ECC信息以及其存储在何处,这可以通过增强将LBA链接到PBA 的标准间接映射来实现。
[0012] 本发明的实施例包括两级ECC系统,除了用于按需轨道ECC系统的奇偶扇区之外, 该两级ECC系统还使用用于第一轨道级ECC能力的固定数量的奇偶扇区。本发明的实施例 检测或估计在相邻的第二轨道被写入时丢失的数据扇区的数量,然后产生等于或大于允许 恢复已知错误所需的数量的多个"按需"奇偶扇区(使用存储在存储器中的轨道的原始数 据)。将这些按需奇偶扇区存储在单独的轨道上。用于第一固定级和按需级的数学算法可 以是相同的,其中按需级提供另外的奇偶扇区并且由此提供的另外的纠正能力。例如,第一 轨道级ECC能力可以为每个写入的轨道产生第一组的&个奇偶扇区,其中^是作为设计的 一部分所选择的固定数量。第一组奇偶扇区与用户数据一起被写入到每个轨道上。对于被 确定为需要另外的奇偶扇区的轨道,按需ECC系统然后动态地产生并写入所需要的("所需 的")另外的ECC信息(例如,第二组的R 2个奇偶扇区)到另外的轨道上,所述另外的轨道 即使具有已知错误也允许ECC系统恢复整个轨道。除了"所需的"最小的轨道ECC能力之 外,可选地,还可以实现轨道的预备ECC能力(reserveECC capability)。因为在示例性 的实施例中,仅对轨道的相对较小的子集写入R2个奇偶扇区的按需的集合,其可以显著地 大于第一组的&个奇偶扇区。Ri+R2个扇区的得到的按需纠正能力结果能够显著地大于比 札,而不必为每个轨道存储R2个奇偶扇区。
[0013] 本发明的实施例可以特别地有利于被设计为针对大量的驱动器的容量、顺序地在 完整的轨道上高效地写入数据并且将非顺序的轨道和短写入(shortwrite) (S卩,小于整个 轨道)作为异常的任何磁数据存储设备。因此,虽然描述了叠瓦式磁记录(SMR)驱动器实 施例,但是实施例也可以被实现为具有传统的头(head)和轨道组织的驱动器。特别地,为 "冷存储"设计的驱动器能够有利地使用按需ECC系统的实施例。
[0014] 在各种实施例中,挤压数据扇区的数量可以使用诸如在下面所描述的增 量PES(Delta-PES)方法这样的方法来估计,或者数据扇区错误可以直接通过读回 (read-back)方法来检测。在一个实施例中,在随后相邻重叠的第二轨道(轨道2)已经被 写入之后,读回第一轨道(轨道1)。使用采用与数据一起被写入在每个轨道上、包括&个奇 偶扇区的集合的冗余信息的系统的轨道级错误检测能力来检测在叠瓦式写入的轨道1上 的扇区错误。在一个实施例中,按需轨道ECC处理可以使用诸如在相关申请中描述的媒体 错误检测码(MEDC)这样的扇区元数据符号擦除纠正码所提供的
擦除扇区的计数。对按需 轨道ECC处理的触发可以包括预备纠正能力请求。
[0015] 作为读回先前写入的轨道的替代,申请人描述了一种增量PES方法,该方法比较 在写入轨道1和轨道2时所记录的位置错误信号(PES)值的集合来确定轨道1何时可能已 经被挤压,由此估计轨道挤压。然后,使用得到的被挤压的伺服扇区(servosector)的估 计数量来计算要产生的按需奇偶扇区的数量。
[0016] 在本发明的实施例中,按需轨道ECC处理被设计为高效地使用被第一轨道级ECC 所使用的硬件组件来产生第一组奇偶扇区。轨道1的原始数据仍然存储在存储器中,例如 存储在DRAM缓冲器中,以便由按需系统使用。此时,由写入轨道2所造成的轨道1中的擦 除扇区的数量是已知的,或者已经被估计出。这确定轨道1 "所需的"另外的奇偶扇区的数 量。所描述的实施例假定系统具有DRAM和SRAM存储器这两者,并且假定期望高效地使用 这些本来有限的资源。通过将所产生的奇偶扇区的子集传输到DRAM,可以对按需处理循环 的每次迭代重新使用由第一级ECC所使用的有限量的SRAM存储器。一种方法使用可编程 的直接存储器存取在SRAM和DRAM之间传输所产生的数据。根据需要存取存储在DRAM缓 冲器中的轨道1数据。最终结果是按需奇偶扇区的集合,其能够在数学上恢复轨道1中的 所有被擦除的扇区(如果需要,则加上用于另外的擦除的可选的预备能力)。
[0017] 根据编码方案的定义逻辑地得出解码处理。第一级ECC系统能够在其能力之内使 用轨道上的奇偶扇区来处理轨道和纠正错误。仅当第一级ECC系统不能纠正错误时需要借 助于第二级按需ECC系统。按需系统请求检索被远程地写入的按需奇偶扇区。然后,第二 级纠错处理能够使用被写入在轨道上的奇偶扇区、结合被写入在单独的轨道上的另外的按 需奇偶扇区来执行纠错,直至达到奇偶扇区的总的集合所提供的能力。如果错误超过纠正 能力,则轨道将被宣称为不可读取。
【附图说明】
[0018] 图1是例示根据本发明的实施例的轨道编码器的框图。
[0019] 图2是例示根据本发明的实施例的按需轨道编码器系统的框图。
[0020]图3是例示在根据本发明的实施例的按需轨道编码系统的情况下的在叠瓦式写 入(叠瓦式写入检验)之后使用读回来检测擦除扇区的方法的流程图。
[0021] 图4例示根据本发明的实施例的产生r个奇偶扇区的编码器/校正子(syndrome) 产生器的块结构。
[0022] 图5是例示根据本发明的实施例的使用具有固定数量的乘法器的编码器/校正子 产生器来产生按需奇偶扇区的方法的流程图。
[0023] 图6是根据本发明的实施例的使用位置错误信号(PES)值来估计叠瓦式轨道所需 要的按需奇偶扇区的数量的方法的图形化说明。
[0024] 图7是例示根据本发明的实施例的使用位置错误信号(PES)值来估计叠瓦式轨道 所需要的按需奇偶扇区的数量的方法的流程图。
【具体实施方式】
[0025] 关于挤压错误的统计测试数据表明,在相邻轨道的所选择的带内,挤压扇区的数 量超过平均数量的"突发轨道(burstytracks)"的数量相对较小。该经验证据表明,挤压 扇区擦除纠正方案能够通过允许导致一些挤压数据错误的更窄的轨道来解决保证所需数 据检索可靠性和增加容量的问题,所述挤压扇区擦除纠正方案计算所选择的轨道内的轨道 奇偶扇区以纠正有限数量的"突发轨道"中的大量的"挤压扇区"读取错误。经验数据表明, 根据本发明这样的方案的实施例将以少于2%的另外的奇偶扇区开销的代价来允许20% 的TPI能力增益,另外的奇偶扇区开销包括"按需"添加的轨道奇偶扇区。
[0026] 在本发明的实施例中,除了用于单个轨道中的纠错的固定的第一级ECC能力之 外,本发明的实施例还可以包括第二级按需ECC,第二级按需ECC使用另外的奇偶扇区来纠 正超出轨道的固定ECC能力的写入轨道中的错误。另外的奇偶信息被写在优选地专用于按 需奇偶扇区的另外的轨道上。在叠瓦式磁记录(SMR)盘驱动器中,用户数据的顺序的逻辑 块通常被写在叠瓦式区域中的顺序的物理轨道中,因此覆盖根据本发明的整个轨道的ECC 系统是实用的而不会招致大的性能损失。
[0027] 本发明的实施例a)帮助实现冷存储设备中的指定硬错误率数据可恢复性,并且 b)增加在存在可能引起轨道挤压传播的远程轨道干扰(FTI)和相邻轨道干扰(ATI)和"老 化"的情况下的扇区擦除纠正能力,由此本发明的实施例在冷存储应用中特别地有用。在本 发明的实施例中,可以通过增加每英寸的轨道来显著地增加数据容量,其中额外的ECC保 护块只占据容量的另外的一小部分,以便净数据增加。
[0028] 本发明的实施例向不可读取的挤压扇区的数量超过固定的轨道ECC纠正能力的 "突发轨道"添加按需奇偶扇区。该按需方法优于为所有单独的轨道提供大多数轨道不需要 的并且将不必要地降低容量的最大数量的奇偶扇区。
[0029] 本发明的实施例可以采用使用冗余奇偶信息提供纠错的任何合适的数学算法。以 上所引用的相关申请包括轨道级的描述,即可以与本发明一起使用的基于扇区的ECC方 案。用于本发明的实施例的代数解决方案通过使用柯西矩阵奇偶扇区编码器来集成轨道中 的扇区数据以产生"轨道奇偶扇区"。这是结构化的矩阵,使得使用在SMR硬盘控制器(HDC) 实现方式中使用的、被迭代地计算的可编程乘法器(Progra_able-Multiplier)和SRAM存 储累加器(SRAM-StorageAccumulator)来实现编码器/校正子产生器和解码器。注意,标 准的Reed-Solomon(RS)码移位寄存器实现方式对该应用是不可接受的。
[0030] 本发明的一个实施例的实现方式使用在硬盘控制器(HDC)中以硬件实现的可编 程的柯西矩阵产生器和SRAM奇偶扇区数据存储器。在固定的第一级轨道ECC中,实现针对 每个轨道的&个奇偶扇区以提供每个轨道中的R:个挤压数据扇区的恢复。在针对盘驱动 器的设计处理中确定固定的奇偶扇区的数量&。在动态的按需ECC中,将使R2个奇偶的另 外的集合灵活地可用于任何突发轨道中,以提供(Ri+R2)个挤压/擦除数据扇区(squeezed/ eraseddatasector)的恢复,其中馬可以根据在轨道被写入并且顺序地相邻的轨道被写 入之后所确定的所检测到的或所估计出的错误而不同。
[0031] 现在将描述本发明的实施例的实现方式。图1是例示根据在下面所描述的本发明 的实施例的第一级轨道编码器的框图。轨道级&奇偶、N扇区轨道可编程乘法器运算如下:
[0033] .固定1符号索引,然后在i扇区索引上求和,以产生轨道的第j个奇偶扇区的第 1个符号。
[0034] ?迭代地计算(累积地存储在SRAM中):
[0035]
,第j个奇偶扇区。
[0036] ?将索引范围定义为:
[0037] _奇偶扇区索引jG[1,??,RJ
[0038] _ 扇区索引iG[1,..,N]
[0039] -符号索引 1G[1,K]
[0040] 其中K是奇偶扇区中的符号的数量
[0041] 如在下面进一步所描述的那样,示范性的实施例可以使Ri= 4、具有4个SRAM,每 个SRAM都保持奇偶扇区的K个符号(每个12比特)的集合并且允许为每个轨道高效地计 算第一级奇偶扇区。
[0042] 在伽罗瓦域GF(212)上的4K扇区柯西矩阵编码器实施例的操作描述如下:
[0043] .GF*(212) = {zk},k G [1,212-1],
[0044] z | z12+z6+z4+z+(1 : :GF (2))
[0046] a』=z\ jG[1,Rj-行索引
[0047] b= z499,iG[1,N]_ 列索引
[0048] 图4例示根据本发明的实施例的产生r个奇偶扇区的编码器/校正子产生器41 的块结构。编码器/校正子产生器41包括每个都产生奇偶扇区的r个可编程乘法器单元 42。每个乘法器单元42包括SRAM43。如将在下面进一步描述的那样,本发明的实施例将 编码器/校正子产生器41用于第一级ECC以及第二级按需ECC系统这两者。
[0049] 上面所描述的第一级ECC系统实施例在实现时在每个轨道上具有所选择的固定 的ECC能力,尽管所选择的能力的级别可能在不同的实现方式之间不同。通过实现可变的 ECC能力,在此描述的按需轨道ECC系统为SMR驱动器提供检测和响应在叠瓦式写入处理期 间引起的挤压错误的能力。
[0050] 按需ECC系统的一个实施例增强对顺序的轨道的写入处理,首先检测先前写入的 轨道(将被称为"写入接下来的,检验先前的")上的挤压错误,然后(在另外的轨道上)动 态地写入允许ECC系统恢复整个轨道的所需要的("所需的")另外的ECC信息。以与用户 数据扇区大小相同的整数个奇偶扇区来组织另外的ECC信息。如下面所描述的,在每个伺 服扇区中可以有多个数据扇区。奇偶扇区可以有利地被写入在远程地位于已知不易发生挤 压错误的盘的区中的专用轨道区域中。系统必须维护链接/映射信息,以便知道是否存在 轨道的另外的ECC信息以及它存储在何处。可以相应地修改标准的间接表(Indirection Table)方案来记录链接。
[0051] 图2是根据本发明的实施例的包括按需轨道ECC编码器75的系统的框图。在被 触发时,动态按需轨道ECC处理使用由轨道级擦除扇区检测器71所提供的擦除扇区72的 计数或估计。按需编码处理需要动态地确定要产生的另外的奇偶扇区的数量的某种方法。 下面更详细地描述检测器71的两个实施例。一般地,一个实施例使用"写入接下来的,检验 先前的"方法,该方法根据在此和在相关申请中所描述的原理读取先前写入的轨道并且使 用介质错误检测码(Media-ErrorDetectionCode,MEDC)来检测轨道上的擦除数据扇区。 另一实施例使用增量PES方法来产生擦除数据扇区的估计数量而
不要求读取先前写入的 轨道。
[0052] 将参照两个相邻的轨道来描述操作方法,为了简化,所述两个相邻的轨道为SMR 叠瓦式轨道区域中的前两个轨道,但是实际的实现方式将迭代地继续以顺序地处理很多的 轨道。轨道1的原始数据仍然存储在存储器中,例如在DRAM缓冲器73中。该实施例包括 DRAM(动态随机存取存储器)73和SRAM(静态随机存取存储器)74这两者。同时由于成本 因素,期望高效地使用有限的SRAM资源。有利地,将另外的ECC信息写入在远程地位于不 易发生挤压错误的盘的区中的远程轨道76中。盘的一区域可以专门用于这些按需轨道奇 偶扇区的存储。尽管按需奇偶扇区的数量优选是可变的,但是一种实现方式可以对系统实 行最大值,从而简化设计。
[0053] 图3是例示在根据本发明的实施例的按需轨道编码器系统的情况下的使用读回 来检测擦除扇区的方法的流程图。用于第一轨道(轨道1)和相邻的第二轨道(轨道2)(可 以是叠瓦式或重叠式)的用户数据与由第一级ECC系统为每个轨道所产生的&个奇偶扇区 一起被写入到盘21。写入处理的实施例动态地检测在随后相邻的第二轨道(轨道2)被写 入之后在轨道1中的擦除扇区。从盘读回轨道1上的扇区的完全集合以及所产生并写入的 奇偶扇区和检查符号以便第一级ECC系统使用。实施例可使用在序列号为13645309、标题 为"SCALABLEREPAIRBLOCKERRORCORRECTIONFORSEQUENTIALMULTIPLEDATABLOCKS INAMAGNEFICDATASTORAGEDEVICE"的申请中所描述的介质错误检测码(MEDC)能力来 检测擦除数据扇区。MEDC码是扇区元数据符号擦除纠正码。将用户提供的数据的每个扇区 作为包括从用户数据计算出的检查符号的介质ECC码字写入到轨道,从而允许检测擦除。 结果是轨道1上的擦除数据扇区的数量22。然后,将擦除数据扇区的数量与触发阈值进行 比较23。如果错误少于触发阈值,则不需要按需奇偶扇区,因此写入处理继续到下一个轨 道,并且变量实际上被更新,在简化的示例中轨道2取代轨道1的角色。
[0054] 如果擦除扇区的数量等于或大于触发阈值,则执行动态按需ECC处理。如果固定 轨道ECC系统能够恢复轨道1上的所有的扇区数据,则在一些实施例中,将不产生另外的按 需ECC信息。然而,可能希望确保第一级ECC系统不被已知的错误耗尽并因此而没有能力 纠正由"老化"和"挤压传播"引起的另外的错误。因此,如果轨道1中的已知的、可纠正的 错误使预备纠正能力降低到阈值之下,实施例可通过产生附加的轨道带ECC信息来保证预 备ECC能力。
[0055] 作为示例,假定用&个奇偶扇区写入轨道。在轨道1和轨道2已经被写入到盘上 两个相邻的物理轨道之后,用使能为检测具有挤压错误扇区的数量的MEDC检测器读 取轨道1。按需ECC系统使用仍然存储在存储器中的轨道1的原始数据来产生馬个另外的 按需奇偶扇区24。选择另外的奇偶扇区的数量,使得R1+R2等于或大于具有挤压错误E^勺 扇区的数量。尽管存在已知存错,这仍允许系统使用针对轨道1的来自盘的可读取的数据 来恢复轨道1的所有原始数据。这避免必须宣称盘的轨道1区不可用以及必须将数据重写 在另外的物理轨道上。另外的按需奇偶扇区被写入到另外的所选择的轨道,该轨道优选为 在专用的按需奇偶区域中26。更新系统的间接表以建立在轨道1和相对应的按需奇偶扇区 之间的正确的关联/链接。SMR驱动器中的标准间接表将逻辑地址映射到物理地址。
[0056] 如果Ei小于或等于Ri,则错误在第一级ECC的纠正能力之内,并且不需要另外 的纠正。然而,如所述的那样,如果Ei等于,则没有用于另外错误的预备裕量(reserve margin)。因此,按需奇偶扇区的触发阈值可以被选择为小于&。如果实施例将按需奇偶扇 区限制成固定的最大值,例如Max_R2,并且如果错误£1大于或等于Ri+Ma^l,则应当宣称轨 道1不可用,并且相应地在系统的记录中进行标记。在这种情况下,轨道1的数据必须被重 写到另外的物理轨道上,其可以是相邻的轨道并且可以将轨道2的数据重写到之后的轨道 上。
[0057] 图5是例示根据本发明的实施例的使用如图4所示的具有固定数量乘法器42的 编码器/校正子产生器41来产生按需奇偶扇区的方法的流程图。本发明的实施例可以将 编码器/校正子产生器41用于第一级ECC以及第二级按需ECC系统这两者。当通过使用 增量PES检测知道轨道1中的擦除扇区的数量时,这就确定轨道1 "所需的"另外的奇偶扇 区的数量,并且因此确定循环的迭代的数量51。通过将所产生的扇区传输到DRAM52,所选 择的以便由第一级ECC系统最佳地使用的具有SRAM存储器的有限数量的乘法器可以被按 需ECC系统重新用于计算循环的每次迭代。在解码处理期间,可以将相同的硬件利用方案 用于校正子产生。作为示例,每个具有SRAM的柯西矩阵乘法器可以被用于针对每次DRAM 读取来迭代地计算一个奇偶/校正子扇区。为了高效的运算,SRAM的数量可以等于针对每 个轨道所产生的奇偶扇区的数量&。在每次迭代中,可以通过DMA高效地将SRAM的内容传 输到DRAM。(直接存储器存取(DMA)是指一种在不使用微处理器的情况下在存储单元之间 传输数据的方法。)
[0058] 根据需要存取存储在DRAM缓冲器中的轨道1数据。针对下一组所需要的奇偶扇 区/校正子扇区,可以重复该处理。结果是一组奇偶扇区/校正扇区,其在数学上能够恢复 轨道1中的所有擦除扇区(以及针对另外的擦除的可选的预备能力)。当编码计算完成时, 通过自由存储器写入(FMW)将该组奇偶扇区从DRAM传输到缓和轨道(relaxedtrack) 76。
[0059] 作为特定的示例,假定固定的第一级轨道ECC实现方式具有4个SRAM(每个可用 4K字节),用于高效地为每个轨道计算4个奇偶扇区。进一步假定轨道1中的所估计出的 或所检测到的挤压数据扇区为12个被擦除的4K扇区。因此,最少还需要八个奇偶扇区,这 是在该示例中的"按需ECC"的假定数量,即两次迭代,51。为了用可用的4个SRAM做到这 一点,该方法将DRAM中的轨道1数据读完两次52,每次迭代使用4个SRAM产生4个奇偶扇 区53,并且通过DMA将它们传输到DRAM54。增加循环索引并且检查结束条件55。最后,该 方法为轨道1计算出8个另外的奇偶扇区,该8个另外的奇偶扇区从DRAM被传输到盘上的 专用奇偶区域中的所选择的轨道56。如先前所描述的那样,这些奇偶扇区的轨道和扇区地 址将被存储在具有到轨道1的适当的链接的间接表中。
[0060] 从编码方案的定义逻辑地得出正常的读取/解码处理。可以相互独立地读取所有 可恢复的轨道。间接表给出针对LBA的存储另外的奇偶扇区的PBA。第一级轨道ECC在其 能力之内操作以提供对多个错误的纠正。如果错误超过第一级能力,则按需轨道ECC使用 奇偶扇区的整个集合(第一级&个和第二级按需1?2个这两者)来纠正Ri+R2个数据扇区。 如果错误Ei大于或等于R片馬,则轨道1应当被宣称为不可恢复。
[0061] 在该实施例中,奇偶扇区/校正子扇区的集合通过可编程的直接存储器存取 (DMA)传输到DRAM中。迭代地使用可编程的柯西矩阵乘法器来产生解码器矩阵行(Decoder MatrixRow)。每个挤压扇区通过对校正子扇区的"中断的(intermitted) "DRAM读取来恢 复。每个经异或运算(X0R)的块更新可以被DMA地传输到DRAM并且与先前的更新进行异 或运算,以在完整的校正子扇区DRAM读取结束时产生所恢复的挤压扇区。
[0062] 将PES倌用于挤压扇厌估计
[0063] 作为以上所述的叠瓦式写入检验方法的替代,替代的实施例可以通过在相邻轨道 (轨道1和轨道2)的写入期间记录、然后比较对应的位置错误信号(PES)来获得对被挤压 的伺服扇区的可能数量的估计。该方法使用针对相邻的伺服扇区标识符(SID)所测量的 PES值之间的增量作为代理,该代理能够指示轨道1的数据何时可能由于被挤压(即被盖 写轨道2上的相邻数据)而呈现为不可读。能够比执行读回高效得多地执行使用PES值之 间的增量的对挤压扇区的数量的估计。通过乘以由轨道所位于的区段(zone)来确定的轨 道的每SID的数据扇区的比率,可以将挤压扇区的数量转换为对应的数据扇区的数量。然 后,如上所述,每个挤压数据扇区需要对应的奇偶扇区。增量PES方法产生估计,应当对其 进行"校准",通过对特定盘驱动器设计进行实验以确定应当被应用于增量PES值的阈值以 及应当被添加以覆盖错误的低估的奇偶扇区的任何另外的提升或缓冲器裕量。
[0064] 图6是根据本发明的个实施例的使用位置错误信号(PES)值来估计叠瓦式轨道所 需要的按需奇偶扇区数量的方法的图形化说明。仅示出两个相邻轨道的小断片。首先被写 入的轨道1的写入头中心线路径60P被表示为经过相对于虚线所表示的理想轨道中心线稍 微不同的位置处的每个SID60A-D、60N的波浪线。第二被写入的轨道2的写入头中心线 路径61P被表示为经过相对于虚线所表示的理想轨道中心线稍微不同的位置处的每个SID 61A-D、61N的波浪线。由写入头的磁场(未示出)所写入的数据的实际宽度比中心线路径 更宽。
[0065] 当包含读取和写入头的滑动器在SID上经过时,使读头能够读取SID中的信息,该 信息包括PES信号。PES信号被读取为模拟电压,该模拟电压被数字化并且保存在存储器 中以便进一步的处理。本方法的实施例使用轨道的可比较的PES值之间的差值的绝对值 (APES)作为对如在SID60D和SID61D之间所示的中心线之间的距离65和轨道1中SID 的周围的挤压数据的在推理上的概率的指示。在该示例中,APES和距离65用于表示挤压 扇区错误。对于具体的盘驱动器设计,应当经验地确定将指示挤压错误的实际的APES和 距离65。
[0066] 图7是例示根据本发明的实施例的使用位置错误信号(PES)值来估计叠瓦式轨道 所需要的按需奇偶扇区的数量的方法的流程图。仅示出一个迭代,其计算轨道1所需要
的 按需奇偶扇区的数量。通过以适当调整的变量进行迭代,该方法可以应用于任何数量的轨 道。在正在写入轨道1的同时,在每个SID(i)处测量PESl(i)值并保存在存储器中81。在 典型的盘驱动器中,对少数SID测量并保存PES值,但是该实施例要求为整个轨道保存PES 值的集合。如上所述,在相邻的轨道2被叠瓦式写入以与轨道1部分地重叠时发生轨道1 的挤压。因此,在该实施例中,在正在写入轨道2的同时,在每个SID(i)处测量PES2(i)值 并保存在存储器中82。该方法可以在轨道2已经完全地被写入之后进行增量计算,或者可 以在轨道2被写入的同时处理PES2(i)值以找到增量。该方法计算APES(i)作为PES2(i) 和PES1 (i)之间的差值的绝对值:
[0067] APES(i) = |PES1 (i) -PES2 (i) | ;针对i= 0? ?N
[0068] 对于每个小于所选择的阈值的APES(i),增加Sector_Squeeze_Count(扇区挤压 计数)83。对于具体的盘驱动器设计,根据经验确定该阈值。还能够使用多于一个的阈值。 例如,非常低的增量PES可能建议在之前的和之后的伺服扇区这两者中有更多的数据扇区 被挤压,因此Sector_Squeeze_Count应当按照2而不是1来增加。因此,一些实施例可以 实现两级(two-tiered)阈值方案。
[0069] Sector_Squeeze_Count是对SID处变窄/挤压的数据轨道宽度的估计。在SID之 间,可以有多个用户数据扇区,并且通过将Sector_Squeeze_Count乘以表示针对线个数据 区段定义的、具体轨道中的每个伺服扇区的数据扇区的数量获得按需奇偶扇区的所需要的 计数84。以整数增值来分配得到的按需奇偶扇区的数量。
[0070] 数据扇区的大小通常为固定长度,512字节或4K字节。当前的盘驱动器针对跨越 整个盘表面的每个轨道具有相同数量的伺服扇区,被布置为数以百计的(例如420个)伺 服楔(servowedge)。因为外部轨道比内部轨道在SID之间具有更大的记录能力,所以轨 道被划分为针对每个轨道具有固定数量的数据扇区的区段(也称为区域或带)。外部区段 针对每个轨道具有更多的数据扇区。作为示例,最外部的区段针对每个轨道可以具有512 字节的3250个数据扇区。假定每个轨道420个SID,针对每个SID大约有7. 7个数据扇 区。数据扇区数量不必是SID的整数倍,一些数据扇区可以由SID划分为伺服模式(servo pattern),从而创建分裂数据扇区(splitdatasector)。一个实施例使用SID对数据扇 区的比率作为乘数,然后向上舍入成整数值个奇偶扇区。例如,如果对于该外部区段中的轨 道,Sector_Squeeze_Count是4,则4*7. 7导致产生31个按需奇偶扇区。继续该同一示例, 最内部的区段中的轨道可以使用约为3. 8的乘数。
【主权项】
1. 一种数据存储设备,该数据存储设备以包括多个数据扇区的多个轨道将数据存储在 盘上的区域中,该数据存储设备包含: 轨道级纠错系统,其在盘上的所选择的第一轨道上写入第一组奇偶扇区以及第一组数 据扇区,其中使用存储在存储器中的第一组数据扇区计算第一组奇偶扇区;以及 按需纠错系统,其确定在相邻的第二轨道被写入之后在第一轨道上的第一组数据扇区 中的数据扇区错误的数量,并且响应于该数量超过所选择的阈值,写入使用存储在存储器 中的第一组数据扇区计算出的第二组奇偶扇区,并且其中第二组奇偶扇区被写入在所选择 的第三轨道上,该第三轨道不同于所选择的第一轨道。2. 根据权利要求1所述的数据存储设备,其中在第一组奇偶扇区中有Ri个奇偶扇区, 并且R1对于区域中的所有轨道是不变的;并且在第二组奇偶扇区中有R2个奇偶扇区,R2的 大小根据数据扇区错误的数量而不同并且具有大于R1的最大值。3. 根据权利要求1所述的数据存储设备,其中在第一组奇偶扇区中有Ri个奇偶扇区, 并且在第二组奇偶扇区中有R2个奇偶扇区,并且其中从所选择的第一轨道检索数据的处理 包括由轨道级纠错系统使用第一组奇偶扇区对多达&个数据扇区进行纠错; 并且其中当轨道级纠错系统不能纠正来自所选择的第一轨道的、从盘中读取的数据中 的所检测的所有错误时,按需纠错系统执行纠错;并且按需纠错系统使用第一和第二组奇 偶扇区执行纠错,以纠正多达RJR2个数据扇区。4. 根据权利要求1所述的数据存储设备,其中按需纠错系统更新间接表以建立第二组 奇偶扇区和所选择的第一轨道之间的链接。5. 根据权利要求1所述的数据存储设备,其中按需纠错系统产生第二组奇偶扇区中的 至少所选择的数量的奇偶扇区,其是使用第一和第二组奇偶扇区纠正所选择的第一轨道上 的该数量的数据扇区错误所需要的。6. 根据权利要求1所述的数据存储设备,其中第一组数据扇区与允许对擦除进行检测 的检查符号一起被写入,并且使用从盘读取的数据和所述检查符号来确定数据扇区错误的 数量。7. 根据权利要求1所述的数据存储设备,其中通过比较在所选择的第一轨道上写入第 一组数据扇区的同时所测量的第一组位置错误信号值与在相邻的第二轨道上写入第二组 数据扇区的同时所测量的第二组位置错误信号值来确定数据扇区错误的数量,以便基于低 于所选择的值的第一和第二组位置错误信号值中的对应元素之间的增量来估计第一组数 据扇区中具有挤压错误的数据扇区的数量。8. 根据权利要求1所述的数据存储设备,其中第一组奇偶扇区包括固定数量R1个奇 偶扇区,并且轨道级纠错系统使用R1个乘法器产生Ri个奇偶扇区,其中每个乘法器都包括 SRAM,并且其中第二组奇偶扇区包括可变数量R2个奇偶扇区,并且对于轨道的子集,R2大于 R1,并且其中按需纠错系统使用R1个乘法器通过迭代地产生R2个奇偶扇区的Ri个子集来产 生R2个奇偶扇区。9. 根据权利要求7所述的数据存储设备,其中对于每次迭代,按需纠错系统通过直接 存储器存取DM将奇偶扇区的&个子集从SRAM传输到DRAM。10. 根据权利要求1所述的数据存储设备,其中轨道级和按需纠错系统使用柯西矩阵 产生奇偶扇区。11. 一种操作数据存储设备的方法,该数据存储设备以包括多个数据扇区的轨道将数 据存储在盘上的区域中,该方法包含: 将存储在存储器中的第一组数据扇区与使用第一组数据扇区计算出的第一组奇偶扇 区一起写入到所选择的第一轨道上; 写入紧接于所选择的第一轨道的相邻的第二轨道;以及 确定在相邻的第二轨道被写入之后在所选择的第一轨道中的存在的数据扇区错误的 数量,当数据扇区错误的数量超过所选择的阈值时,写入所选择的第一轨道的第二组奇偶 扇区,第二组奇偶扇区是使用存储在存储器中的第一组数据扇区计算出的,并且将第二组 奇偶扇区写入到所选择的第三轨道上,该第三轨道不同于所选择的第一轨道。12. 根据权利要求11所述的方法,其中写入第一组数据扇区进一步包含写入允许对擦 除错误进行检测的检查符号,并且该方法进一步包含: 与第一组奇偶扇区和检查符号一起,从所选择的第一轨道读取第一组数据扇区;以及 使用检查符号检测第一组数据扇区中的错误,并且如果所检测到的错误少于或等于第 一组中奇偶扇区的数量,则纠正所检测到的错误,否则,从第三轨道检索第二组奇偶扇区, 并且使用第一和第二组奇偶扇区来纠正所检测到的错误。13. 根据权利要求11所述的方法,进一步包含更新间接表以建立第二组奇偶扇区和所 选择的第一轨道之间的链接。14. 根据权利要求11所述的方法,其中第二组奇偶扇区包含使用第一和第二组奇偶扇 区来纠正被确定为在所选择的第一轨道中存在的数据扇区错误所需要的至少所选择的数 量的奇偶扇区。15. 根据权利要求11所述的方法,其中写入第一组数据扇区进一步包含写入允许对擦 除错误进行检测的检查符号,并且通过从盘中读取所选择的第一轨道和使用检查符号检测 错误来确定数据扇区错误。16. 根据权利要求11所述的方法,其中通过比较在写入所选择的第一轨道的同时所测 量的第一组位置错误信号值与在写入相邻的第二轨道的同时所测量的第二组位置错误信 号值来确定数据扇区错误,以基于低于所选择的值的第一和第二组位置错误信号值中的对 应元素之间的增量来估计第一组数据扇区中的数据扇区错误的数量。17. 根据权利要求11所述的方法,其中对于区域中的每个轨道,第一组奇偶扇区包括 固定数量R1个奇偶扇区,并且设备使用Ri个乘法器产生Ri个奇偶扇区,其中每个乘法器都 包括SRAM,并且其中第二组奇偶扇区包括在区域中的轨道之间不同的可变数量馬个奇偶扇 区,并且对于轨道的子集,R2大于Ri,并且其中设备使用R1个乘法器通过迭代地产生R2个 奇偶扇区的R1个子集来产生R2个奇偶扇区。18. 根据权利要求17所述的方法,其中对于每次迭代,设备通过直接存储器存取DM将 奇偶扇区的&个子集从SRAM传输到DRAM。19. 根据权利要求11所述的方法,其中使用柯西矩阵产生第一和第二组奇偶扇区。20. 根据权利要求19所述的方法,其中第二组奇偶扇区在大小上是可变的,并且对于 轨道的子集,大于第一组奇偶扇区。
【专利摘要】在磁数据存储设备中利用按需奇偶扇区的纠错。描述了一种具有ECC系统的数据存储设备,该ECC系统为先前写入的轨道产生另外的按需ECC信息以提供对轨道中的数据错误的纠正,并且因此避免必须重写轨道。本发明的实施例解决在顺序地写入下一个、即第二轨道造成将在相邻的先前写入的、即第一轨道中引入的错误时引起的挤压错误问题。在替代的实施例中,可以通过读取轨道或通过使用在写入第一和第二轨道的同时所测量的头位置数据估计可能的错误的数量来检测第一轨道中存在数据错误。可以将另外的按需ECC信息写入到可用的任何轨道上。
【IPC分类】G06F3/06, G11B5/012
【公开号】CN104898986
【申请号】CN201510196563
【发明人】S·查特拉迪, M·A·哈斯纳, K·王, S·亚马莫托
【申请人】Hgst荷兰公司
【公开日】2015年9月9日
【申请日】2015年3月6日
【公告号】DE102015002918A1, US20150254135