用于对多层旋转存储介质记录和读取数据的方法和系统的制作方法

文档序号:6777933阅读:222来源:国知局
专利名称:用于对多层旋转存储介质记录和读取数据的方法和系统的制作方法
技术领域
本发明通常涉及对多层旋转数据存储介质记录数据和由其读取数据,特别是,涉及在一层或多层上的数据不可读的情形下减少数据丢失或不可访问的风险。
背景技术
具有多个记录层的旋转数据存储介质是用于提高在一定体积中能够存储的数据量的一种方法。如此处所述,术语“层”广义上指安装在单个轴上的一堆盘片(disk platter)的记录表面以及嵌在单片介质内的记录层。图1是示出前者,即具有四个盘片110、120、130、140的硬盘堆叠100的示例。每个盘片110、120都具有两个记录表面,它们分别为110A和110B、120A和120B、130A和130B、以及140A和140B。如人们已知的,盘片被安装在轴150上,并与其一起旋转。图2是后者的示例,即其中在间隔层之间嵌入四个记录层210A、210B、210C、210D的多层光盘200的截面图。多层光盘200可为DVD(数字多功能光盘)、HD-DVD(高清晰度DVD)光盘、或蓝光盘。这些层通过激光器220进行光学访问。一般而言,数据最初按照连续块进行记录,从一层继续到下一层。在可重写环境中,随着数据被修改或覆写,具有新数据的块可变得更加扩散,以填充旧的、被擦除或移动的数据所留下的空隙。
尽管通过对多层介质进行记录来提高数据密度的方式提供了许多优点,然而如果例如由于擦伤、介质缺陷、读写头碰撞或老化等而使得某层的一部分或全部变得不可读,则可能使某些数据发生危险。从而,仍然需要提高多层介质的可靠性,以及由此提高其上记录的数据的安全性。

发明内容
本发明通过提供一种用于对旋转存储介质的多个层记录数据和从中读取数据的方法、数据存储设备和计算机程序产品,来提高多层介质的可靠性。根据本发明的方法,数据流U将被记录到具有多个(L个)可记录层的旋转存储介质,数据流U包括数据位序列,其中,U(J)表示在数据流U中的第J位。接收数据流U,并将每个数据位U(J)编码成X个表示位B(1,J)、B(2,J)、...,B(X,J)。将第一个表示位B(1,J)记录到存储介质的第一层上,将第二个表示位B(2,J)记录到存储介质的第二层上,将其余表示位记录到存储介质的各层上。随后接收从存储介质读取记录数据U的请求,从存储介质回读多个(X个)表示位B(1,J)、B(2,J)、...,B(X,J)。然后,将多个(X个)表示位B(1,J)、B(2,J)、...,B(X,J)解码成原始数据位U(J)。在一个实施例中,编码可通过卷积编码算法实现,解码则通过PRML解码算法实现。在另一实施例中,可使用里德-索罗蒙编码/解码。
本发明的数据存储设备包括被连接以接收要记录到旋转存储介质的数据流U的数据输入,该旋转存储介质具有多个(L个)可记录层,数据流U包括数据位序列,其中,U(J)表示在数据流U中的第J位。存储设备还包括用于将每个数据位U(J)编码成X个表示位B(1,J)、B(2,J)、...,B(X,J)的编码器;和用于将第一个表示位B(1,J)记录到存储介质的第一层上、将第二个表示位B(2,J)记录到存储介质的第二层上、将其余表示位记录到存储介质的各层上的装置。存储设备还包括用于接收从存储介质读取记录数据U的请求的命令输入;用于从存储介质回读多个(X个)表示位B(1,J)、B(2,J)、...,B(X,J)的装置;和用于将多个(X个)表示位B(1,J)、B(2,J)、...,B(X,J)解码成原始数据U(J)的解码器。在一个实施例中,编码器为卷积编码器,解码器为PRML解码器。在另一实施例中,编码器和解码器分别为里德-索罗蒙编码器和解码器。
本发明的计算机程序产品包括计算机可读介质,所述计算机可读介质具有计算机可读代码,计算机可读代码包括用于执行以下步骤的指令接收要记录到具有多个(L个)可记录层的旋转存储介质的数据流U,数据流U包括数据位序列,其中,U(J)表示在数据流U中的第J位;将每个数据位U(J)编码成X个表示位B(1,J)、B(2,J)、...,B(X,J);将第一个表示位B(1,J)记录到存储介质的第一层上,将第二个表示位B(2,J)记录到存储介质的第二层上,将其余表示位记录到存储介质的各层上;接收从存储介质读取记录数据U的请求;从存储介质回读多个(X个)表示位B(1,J)、B(2,J)、...,B(X,J);将多个(X个)表示位B(1,J)、B(2,J)、...,B(X,J)解码成原始数据U(J)。


图1表示可应用本发明的硬盘堆叠;图2表示可应用本发明的多层光盘;图3表示可用于实现根据本发明的编码器的状态图的示例;图4表示在本发明中可实现的卷积编码器的一个示例的框图;图5表示可用于实现根据本发明的解码器的格子图(trellisdiagram)示例;图6表示用于重构丢失数据的PRML路径;以及图7表示以一定角度偏移量将数据记录在多个层上的本发明又一实施例。
具体实施例方式
来自主机的要记录到旋转多层存储介质(如以上所述,可为具有数量L个嵌入记录层的单片介质或连成堆叠的各个盘)上的数据流U包括数据位序列U(1)...U(J)。一般而言,将对数据位进行顺序记录,其中记录开始于一个层上,并且如有必要,继续对一个或多个其他层进行记录。然而,根据本发明,将数据位编码成表示位并且记录在多层介质上,其中,将第一个表示位记录到第一层上,将第二个表示位记录到第二层上,将第三个表示位记录到第三层上,一直继续,直至将第L个表示位记录到第L层上。然后,将下一个表示位记录到第一层上,处理继续,直至将所有表示位记录到存储介质上。
表I表示出将表示位记录到具有四个层L1-L4的存储介质上的位位置(bit position)的序列。
表I

在时间T=1处,如表I第一数据列所示,将前四个表示位同时或迅速相继地编码到四个层L(1,1)、L(2,1)、L(3,1)、L(4,1)中每一层的第一位置。在下一时间窗口T=2期间,如表I第二数据列所示,将接着的四个表示位编码到四个层L(1,1)、L(2,1)、L(3,1)、L(4,1)中每一层的第二位置。在下一时间窗口T=3期间,如表I第三数据列所示,将接着的四个表示位编码到四个层L(1,1)、L(2,1)、L(3,1)、L(4,1)中每一层的第三位置。在将表示位编码和存储在缓冲器中之后,如表I所示,通常由表I的行所表示的层写入表示位(以避免激光器在层之间进行不必要的跳转),其中,层j接收位L(j,1)至位L(j,N),而层k接收位L(k,1)至位L(k,N)。
当主机请求从存储介质回读数据U时,一般由层读取表示位,其中,从层j读取位L(j,1)至位L(j,N),而从层k读取位L(k,1)至位L(k,N)。然后,可将位缓冲和重新装配到表I中,并解码成原始数据流U(1)...U(J)。损伤或其它使得不能从一层的区域进行读取的情况将仅仅影响某些表示位,并且通过采用本发明的进一步的特征,尽管丢失某些表示位,但仍可重构数据。
在本发明的一个实施例中,将每个数据位U(1)...U(J)卷积编码成预定数量的表示位。例如,可将每个数据位K卷积编码成数量与记录层的数量(L个)相同的表示位B(1,K)、B(2,K)、...、B(L,K)。或者,可将每个数据位K卷积编码成数量两倍于记录层的数据(L个)的表示位B(1,K)、B(2,K)、...,B(2*L,K)。将第一批L个表示位记录到L个层上,将第二批L个表示位也记录到L个层上。一般而言,可将每个数据位K卷积编码成数量X个表示位,该数量X等于记录层数量(L个)的整数(M)倍,该数量X个表示位为B(1,K)、B(2,K)、...、B(M*L=X,K)。
在可选实施例中,层数量为卷积编码器编码的位数的整数倍。例如,图4中的卷积编码器在给定时间生成四个表示位。从而,在八层盘或盘堆叠中,可将四个位记录在第一批四个层上,并且可将第二批四个位记录在第二批四个层上,对于接下来的位组,重复上述处理。
表II和图3的状态图说明了将数据位U卷积编码成要记录到L=4个记录层上的X=4个表示位的示例。表II的列1包含可能的初始状态(视图中示出8个),列2包含每个初始状态的可能目的状态,列3包含原始数据位U的两个状态,列4包含编码“字”,编码“字”包括要记录到记录介质的四个层上的四个输出表示位。
表II

图4表示可用于实现本发明的卷积编码器400的框图。图4可直接实现于半导体芯片中,或可通过软件实现。编码器400包括三级移位寄存器,所述三级移位寄存器包括串联连接的第一、第二和第三寄存器402、404、406。由这三个移位寄存器产生如表II和图3所示的8个状态,即,将二自乘(二进制运算)至等于移位寄存器数目的次数;在所示示例中,是二的三次幂(三个移位寄存器)。编码器400还包括第一、第二、第三和第四模2加法器408、410、412、414,可将其实现为异或(XOR)逻辑门。将输入数据流U(J)与第一寄存器402的输入以及第一、第二、第三和第四加法器408、410、412、414的输入相连。第一寄存器402的输出与第二寄存器404的输入以及第二、第三和第四加法器410、412、414的输入相连。第二寄存器404的输出与第三寄存器406的输入以及第一和第四加法器408、414的输入相连。第三寄存器406的输出与第一、第二、第三和第四加法器408、410、412、414的输入相连。
在操作上,寄存器402、404、406的初始内容通常为0。通过加法器408、410、412、414有选择地将输入数据位U(J)与寄存器402、404、406的输出相加。第一加法器408生成和输出第一表示位B(1,J);第二加法器410生成和输出第二表示位B(2,J);第三加法器412生成和输出第三表示位B(3,J);以及第四加法器414生成和输出第四表示位B(4,J)。如所图示的,编码器400包括前馈移位寄存器。应该理解,可采用其他方式实现卷积编码器400。此外,通过并行编码多个数据位可提高编码吞吐率。
图5表示可用于实现根据本发明的部分响应、最大似然(PRML)解码器的格子图的示例。图5中示出状态S0-S7,并假设寄存器402、404、406的初始内容为零;因此,格子图500开始于状态S0510A。从S0510A,通过格子图500的路径跳到S0510B或S1511B。将格子图500中状态编号从后缀A到后缀B的增加称为分支,当从后缀A跳跃到后缀B时,分支索引I为零。从S0510B,路径跳跃到S0510C或S1 511C,从S1511B跳跃到S2512C或S3513C,分支索引I为1。从S0510C,路径跳跃到S0510D或S1511D,从S1511C跳跃到S2512D或S3513D,从S2512C跳跃到S4514D或S5515D,从S3513C跳跃到S6516D或S7517D,分支索引I为2。
通过格子图500的路径中的下一系列跳跃显示出解码操作的全部宽度。从S0510D,路径跳跃到S0510E或S1511E,从S1511D跳跃到S2512E或S3513E,从S2512D跳跃到S4514E或S5515E,从S3513D跳跃到S6516E或S7517E,分支索引I为3。此外,从S7517D,路径跳跃到S7517E或S6516E,从S6516D跳跃到S5515E或S4514E,从S5515D跳跃到S3513E或S2512E,从S4514D跳跃到S1511E或S0510E。
一般而言,针对分支索引I=3示出的跳跃在格子图中重复多次。然而,出于简化目的,在图5中仅示出一次这样的迭代。对于图5的其余部分,显示出格子图终止,表示解码处理结束。从S0510E,路径仅跳跃到S0510F,从S1511E仅跳跃到S2512F,从S2512E仅跳跃到S4514F,从S3513E仅跳跃到S6516F,分支索引I为4。此外,从S7517E,路径仅跳跃到S6516F,从S6516E仅跳跃到S4514F,从S5515E仅跳跃到S2512F,从S4514E仅跳跃到S0510F。从S0510F,路径仅跳跃到S0510G,从S2512F仅跳跃到S4514G,分支索引I为5。此外,从S6516F,路径仅跳跃到S4514G,从S4514F仅跳跃到S0510G。最后,从S0510G,路径仅跳跃到S0510H;分支索引I为6。此外,从S4514G,路径仅跳跃到S0510H。
在表III中,对于将1111000编码成针对四个(在该示例中)层L1、L2、L3、L4的表示位的给定示例,示出了图3所示状态图中被突出表示的编码路径(S0,S1,S3,S7,S7,S6,S4和S0)的编码数据。表III还显示出对于在图5所示格子图中被突出表示的解码路径的解码数据。从而,可将表III认为是编码-解码(ENDEC)表,其中,第一列为初始状态,第二列为目的状态,第三列包含原始串行数据U,第四列表示对于盘层L1、L2、L3和L4的编码数据。
表III

在由于记录层的全部或部分受损而使层中的数据变得不可读的情形中,可使用本发明重构丢失的数据。图6和表IV表示根据本发明重构丢失的数据的处理示例。在示例中,层L2和L3的数据完全丢失。然而,图6使用PRML(最小汉明距离)来确定哪条路径是通过格子解码图的正确路径。出于简化目的,仅分析数据恢复的3个分支。
数据恢复的第一分支(I=0)包括找出对于数据1xy1的正确数据恢复,其中,x和y表示由于层L2和L3完全丢失而未知的编码数据。从S0至S0的汉明距离为1xy1<XOR>0000=1xy1,而从S0至S1的汉明距离为1xy1<XOR>1111=0xy0。由于从S0至S1的路径具有更小的汉明距离,从而,它是正确的路径,可将分支I=0的丢失数据重构为x=1和y=1。
同样,数据恢复的第二分支(I=1)包括找出数据1xy0的正确数据恢复路径。从S1至S2的汉明距离为1xy0<XOR>0111=1xy1,而从S1至S3的汉明距离为1xy0<XOR>1000=0xy0。由于从S1至S3的路径具有更小的汉明距离,从而,它是正确的路径,可将分支I=1的丢失数据重构为x=y=0。
最后,数据恢复的第三分支(I=2)包括找出数据0xy1的正确数据恢复。从S3至S6的汉明距离为0xy1<XOR>1110=1xy1,而从S3至S7的汉明距离为0xy1<XOR>0001=0xy0。由于从S3至S7的路径具有更小的汉明距离,从而,它是正确的路径。
表IV

此外,还可使用其他编码/解码算法实现本发明。一种这样的算法是里德-索罗蒙码,它是一种常用于多差错校正并且基于伽罗瓦域GF(2m)的有限运算的随机、纠错、循环码的形式。针对m=4的伽罗瓦域被表示为GF(24)。该域的元素为{0、1,α,α2,α3,α4,α5,α6,α7,α8,α9,α10,α11,α12,α13,α14}。为了将两个元素αi和αj相乘,将它们的指数相加,并利用α15=1的事实。例如,α12*α7=α19=α15*α4=α4。表V显示出由p(X)=1+X+X4生成的GF(24)的元素的三种表示。
表V

为了将GF(24)中两个元素αi和αj相加,使用它们在以上表中的多项式表示。例如,α5+α7=(α+α2)+(1+α+α3)=1+α2+α3=α13。
对于校正t个符号的里德-索罗蒙编码器的生成多项式为
g(X)=(X+α)(X+α2)(X+α3)...(X+α2t)。
为了更好地理解这样的生成多项式,对于由GF(24)校正t=3个符号的里德-索罗蒙编码器,如表V所示,示例性生成多项式为g(X)=(X+α)(X+α2)(X+α3)(X+α4)(X+α5)(X+α6)g(X)=α6+α9X+α6X2+α4X3+α14X4+α10X5+X6从而,可将里德-索罗蒙编码器用作为卷积编码器的可选实施例,以便在分布于存储介质的多个层上的数据中提供冗余。里德-索罗蒙编码器具有n=2m-1的块长度和2t个奇偶校验位。
在图7中示出了本发明的另一特征。盘700包括四个层702、704、706、708。并非将由数据位编码而成的四个表示位记录成从一层到一层垂直对准(即,各层具有相同的起始地址)的方式,而是对每个表示位给定这样的起始地址,使得将其记录于一个层上的位置处,而该位置相对于相邻层中的位具有角度偏移。在图7中,角度偏移量为90°,在第一、第二、第三和第四层702、704、706,708上分别由线A、B、C和D表示。此外,也可使用其他角度偏移量。从而,尽管在一个层(例如,顶层702)上的划伤或其他缺陷可能对从该层的特定区域读出表示位构成障碍,但该缺陷不会阻碍数组中的其他三个表示位。
重要的是要注意,尽管在全功能数据处理系统的背景下描述了本发明,然而本领域普通技术人员应该理解,本发明的处理可以采用指令的计算机可读介质的形式以及各种形式发布,并且本发明的适用与实际用于实现发布的信号承载介质的具体类型无关。计算机可读介质的示例包括可记录类型介质,例如软盘、硬盘驱动器、RAM和CD-ROM,和传输型介质,例如数字和模拟通信链路。
以上出于说明和描述的目的,给出了本发明的描述,但这并不意在穷举出本发明或将本发明局限于所述形式。本领域普通技术人员显然可以想到许多修改例和变型例。所选出和描述的实施例是为了更好地解释本发明的原理、实际应用,以及使本领域其他普通技术人员能够想到本发明具有适合于所考虑的具体应用的各种修改的各种实施例。此外,尽管以上在方法和系统方面进行了描述,然而通过包含用于将数据记录到旋转存储介质的多个层和从其读取数据的指令的计算机程序产品,也可满足本领域中的需求。
权利要求
1.一种用于对旋转存储介质的多个层记录数据和从其读取数据的方法,包括接收要记录到具有多个,即L个可记录层的旋转存储介质的数据流U,所述数据流U包括数据位序列,其中,U(J)表示在数据流U中的第J位;将每个数据位U(J)编码成X个表示位B(1,J)、B(2,J)、…、B(X,J);将第一个表示位B(1,J)记录到存储介质的第一层上,将第二个表示位B(2,J)记录到存储介质的第二层上,将其余表示位记录到存储介质的各层上;接收从存储介质读取记录数据U的请求;从存储介质回读多个,即X个表示位B(1,J)、B(2,J)、…、B(X,J);以及将多个,即X个表示位B(1,J)、B(2,J)、…、B(X,J)解码成原始数据位U(J)。
2.根据权利要求1的方法,其中,将每个数据位U(J)编码成X个表示位B(1,J)、B(2,J)、…、B(X,J)包括对每个数据位U(J)进行卷积编码;以及将多个,即X个表示位B(1,J)、B(2,J)、…、B(X,J)解码成原始数据位U(J)包括执行PRML解码算法。
3.根据权利要求1的方法,其中,将每个数据位U(J)编码成X个表示位B(1,J)、B(2,J)、…、B(X,J)包括执行里德-索罗蒙编码算法;以及将多个,即X个表示位B(1,J)、B(2,J)、…、B(X,J)解码成原始数据位U(J)包括执行里德-索罗蒙解码算法。
4.根据权利要求1的方法,其中,X=L;其余表示位包括表示位B(3,J)、…、B(X,J);以及记录其余表示位包括将其余表示位B(3,J)、…、B(X,J)记录到存储介质的第三至第L个层上。
5.根据权利要求1的方法,其中,X为L的预定整数M倍;其余表示位包括表示位B(3,J)、…、B(X,J);以及记录表示位包括将表示位B(1,J)、B(2,J)、…、B(X,J)组合成均具有L个表示位的M个组;将第一组的L个表示位B(1,J)、B(2,J)、…、B(L,J)分别记录到存储介质的第一至第L个层上;以及将每个其他组的L个表示位分别记录到存储介质的第一至第L个层上。
6.根据权利要求1的方法,还包括将数据流U的多个数据位并行编码。
7.根据权利要求1的方法,其中,旋转存储介质包括具有L个可记录层的光盘。
8.根据权利要求1的方法,其中,旋转存储介质包括具有L个可记录磁表面的硬盘堆叠。
9.根据权利要求1的方法,其中,记录表示位包括将每个表示位记录到相应层上的起始位置,所述起始位置相对相邻层上表示位的起始位置具有预定量的角度偏移。
10.一种用于对旋转存储介质的多个层记录数据和从其读取数据的数据存储设备,包括被连接以便接收要记录到旋转存储介质的数据流U的数据输入,所述旋转存储介质具有多个,即L个可记录层,数据流U包括数据位序列,其中,U(J)表示在数据流U中的第J位;编码器,用于将每个数据位U(J)编码成X个表示位B(1,J)、B(2,J)、…、B(X,J);用于将第一个表示位B(1,J)记录到存储介质的第一层上、将第二个表示位B(2,J)记录到存储介质的第二层上、将其余表示位记录到存储介质的各层上的装置;用于接收从存储介质读取记录数据U的请求的命令输入装置;用于从存储介质回读多个,即X个表示位B(1,J)、B(2,J)、…、B(X,J)的装置;和解码器,用于将多个,即X个表示位B(1,J)、B(2,J)、…、B(X,J)解码成原始数据位U(J)。
11.根据权利要求10的数据存储设备,其中,编码器包括卷积编码器,解码器包括PRML解码器。
12.根据权利要求11的数据存储设备,其中,X=4,编码器包括串联连接的第一、第二和第三移位寄存器,每个移位寄存器具有输入和输出,第一移位寄存器的输入与所述数据输入相连;第一、第二、第三和第四模2加法器,均具有针对X个表示位中的相应位的输出,其中,第一加法器具有与所述数据输入以及第一和第三移位寄存器的输出相连的输入;第二加法器具有与所述数据输入以及第一和第三移位寄存器的输出相连的输入;第三加法器具有与所述数据输入以及第一和第三移位寄存器的输出相连的输入;以及第四加法器具有与所述数据输入以及每个移位寄存器的输出相连的输入。
13.根据权利要求11的数据存储设备,其中,解码器包括格子解码器。
14.根据权利要求10的数据存储设备,其中,编码器包括里德-索罗蒙编码器;以及解码器包括里德-索罗蒙解码器。
15.根据权利要求10的数据存储设备,其中,旋转存储介质包括具有L个可记录层的光盘。
16.根据权利要求10的数据存储设备,其中,旋转存储介质包括具有L个可记录磁表面的硬盘堆叠。
全文摘要
公开了用于对多层旋转存储介质记录和读取数据的方法和系统。通过本发明,使多层介质的可靠性提高。接收要记录到多层旋转存储介质的数据流U,所述数据流U包括数据位序列。将每个数据位U(J)编码成X个表示位。将第一个表示位B(1,J)记录到存储介质的第一层上,将第二个表示位B(2,J)记录到存储介质的第二层上,等等。当随后接收从存储介质读取记录数据U的请求时,从存储介质回读多个(X)表示位,并将它们解码成原始数据U(J)。在一个实施例中,编码可通过卷积编码算法实现,解码则通过PRML解码算法实现。在另一实施例中,可使用里德-索罗蒙编码/解码。
文档编号G11B7/125GK101064131SQ20071008934
公开日2007年10月31日 申请日期2007年3月23日 优先权日2006年4月28日
发明者丹尼尔·詹姆斯·威纳尔斯基, 刘铮, 艾伦·凯斯·贝茨, 克莱格·安托尼·克莱恩, 尼尔斯·豪斯坦 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1