在磁数据存储设备中利用按需奇偶扇区的纠错的制作方法
【专利说明】
[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)这样的扇区元数据符号擦除纠正码所提供的