游程长度限制装置以及游程长度限制方法

文档序号:7510840阅读:320来源:国知局
专利名称:游程长度限制装置以及游程长度限制方法
技术领域
本发明涉及一种游程长度限制装置以及游程长度限制方法,用于将游程长度限制处理应用于将要在信息记录介质上记录的数字数据串。
背景技术
众所周知,当在诸如硬盘或光盘的信息记录介质上记录数字数据串时,将对数字数据串进行游程长度限制处理,以防止在将要记录的数字数据串中连续出现“0”。在当前游程长度限制处理方法中,具有高编码率的一种方法涉及大计算量,导致电路规模的增加。
公开号62-164279的日本专利申请公开了一种技术在将同步模式添加到包括多个数据字的数据字组而获得的块中,将所有“1”反转为“0”(反之亦然),并包含指示是否已经执行比特反转的信息,从而防止将要记录的比特的数量增加。

发明内容
考虑到上述情况而进行本发明,本发明的目的在于提供一种游程长度限制装置和一种游程长度限制方法,其能够对将要在信息记录介质上记录的数字数据串容易地进行高速率游程长度限制处理,在所述处理中以简单的结构减少了冗余比特数量。
根据本发明的一方面,提供一种游程长度限制装置,包括输入部,被配置为输入数字数据串,所述数字数据串包括预定数量的码元,所述码元具有相同数量的比特;搜索部,被配置为搜索特定码元,所述特定码元的模式与输入到所述输入部的数字数据串中所包括的任一码元都不匹配;计算部,被配置为在所述搜索部所搜索的特定码元与输入到所述输入部的数字数据串中所包括的每一码元之间计算异或操作;以及输入部,被配置为输出由所述计算部计算的数字数据串以及由所述搜索部搜索的特定码元。
根据本发明的另一方面,提供一种游程长度限制方法,包括第一步骤,输入数字数据串,所述数字数据串包括预定数量的码元,所述码元具有相同数量的比特;第二步骤,搜索特定码元,所述特定码元的模式与所述第一步骤输入的数字数据串中所包括的任一码元都不匹配;第三步骤,在所述第二步骤所搜索的特定码元与所述第一步骤输入的数字数据串中所包括的每一码元之间执行异或操作;以及第四步骤,连同通过所述第二步骤搜索的所述特定码元一起输出通过所述第三步骤计算的数字数据串。
本发明的其它目的和优点将在下面的描述中阐述,并将从所述描述中部分地变得清楚,或可以通过本发明的实践而理解。可以通过下文中所具体指出的手段以及组合来实现并获得本发明的目的和优点。


包括到此并构成说明书的一部分的附图示出本发明的实施例,并且与以上给出的一般描述和以下给出的实施例的详细描述一起,用于解释本发明的原理。
图1是框图,示出根据本发明实施例的HDD(硬盘驱动器)11的概要;图2是视图,用于解释由该实施例中的HDD的调制处理部执行的游程长度限制处理的第一示例;图3是框图,示出该实施例中的HDD的调制处理部的配置示例;图4是流程图,用于解释该实施例中的游程长度限制处理的第一示例的处理操作;图5是视图,用于解释由该实施例中的HDD的调制处理部执行的游程长度限制处理的第二示例;
图6是流程图,用于解释该实施例中的游程长度限制处理的第二示例的处理操作;图7是流程图,用于解释该实施例中的游程长度限制处理的第二示例的处理操作;以及图8是流程图,用于解释该实施例中的游程长度限制处理的第二示例的处理操作。
具体实施例方式
以下将参照附图详细描述本发明的实施例。图1示出HDD(硬盘驱动器)11的概要,HDD11是将在该实施例中描述的信息记录/再现装置。HDD11具有主机I/F(接口)13,用于与外部主机装置12交换信息。
主机装置12是例如PC(个人计算机)。当例如执行预定的软件应用时,主机装置12使用HDD11来执行信息的写入/读取并将获得的信息作为上述处理的结果存储。
此时,主机装置12发出用于需要HDD11写入和读取信息的命令。这些命令通过主机I/F13被提供给主控制器14,并在主控制器14被分析。主控制器14包括CPU(中央处理单元),并控制HDD11的各种操作。
例如,当从主机装置12提供写入命令时,通过主机I/F13将所述写入命令提供给主控制器14,并在主控制器14分析所述写入命令。于是,根据写入命令,主控制器14驱动调制处理部15和编码处理部16,同时控制盘I/F17将硬盘18设置在写入状态下。
将要写入的数字数据串通过主机I/F13被提供给调制处理部15。调制处理部15对输入数字数据串进行满足HDD11中的记录/再现系统的需求的游程长度限制处理(防止连0数量超过特定游程长度的处理),诸如游程长度编码处理。
已经经受调制处理部15所执行的游程长度限制处理的数字数据串被提供给编码处理部16。编码处理部16计算ECC(纠错码)奇偶校验——其为基于RS(Read Solomon码)的纠错码,并将计算出的ECC奇偶校验添加到所输入的数字数据串。
通过盘I/F17在硬盘18中写入已经由编码处理部16添加了ECC奇偶校验的数字数据串,从而实现硬盘18中的数字数据串的写入处理,所述写入处理基于来自主机装置12的写入请求。
当从主机装置12提供读取命令时,通过主机I/F13将所述读取命令提供给主控制器14,并在主控制器14分析所述读取命令。于是,根据读取命令,主控制器14驱动解码处理部19和解调处理部20,同时,控制盘I/F17将硬盘18设置在读取状态下。
将从硬盘18读出的数字数据串(包括ECC奇偶校验)通过盘I/F17被提供给解码处理部19。解码处理部19对所输入的数字数据串进行基于ECC奇偶校验的纠错处理。
已经经受由解码处理部19执行的纠错处理的数字数据被提供给解调处理部20。解调处理部20解调已经对所输入数字数据串施加的游程长度限制处理(例如游程长度编码处理),以恢复原始数字数据串。
已经由解调处理部20施加了解调处理的数字数据串通过主机I/F13被输出到主机装置12,由此实现从硬盘18对数字数据串的读取处理,该读取处理基于来自主机装置12的读取请求。
将描述在调制处理部15中执行的游程长度限制处理的第一示例。假定将512字节数字数据串的用户数据输入到调制处理部15。在此情况下,所述数字数据串是4096比特(1字节=8比特)。假定一个码元长度取10比特,则所述数字数据包含410个码元,如图2所示。
由于包含10比特的码元可以形成的模式的数量是210=1024,因此调制处理部15搜索具有与所输入的410个码元中的任意一个都不匹配的模式的特定10比特码元P。于是,调制处理部15在所输入的410个码元中的每一个与所搜索的码元P之间执行异或操作,并将所述410个码元连同码元P一起输出。
由此断定,在所述410个码元中的每一个中必然包含至少一个“1”。
当给定的连续两个码元的第一码元仅开始比特是“1”并且其第二码元仅结束比特是“1”时,连“0”的数量变得最大。在此情况下,连“0”的数量是18。也就是说,在第一示例中,假定被包含在一个码元中的比特的数量是n,可以将所述游程长度限制为最大2n-2。
如上所述,搜索具有与所输入的码元中的任意一个都不匹配的模式的特定码元P,并且在所输入的码元中的每一个和码元P之间执行异或操作,以简单的结构容易地实现了游程长度限制处理,从而将连“0”的最大数量限制为18。进一步地,在此情况下,输出的比特的数量是4106,这是通过将10比特的码元P添加到所输入的4096个比特来获得的,因此,编码率达到0.99756(=4096/4106)。因此,该方法适合于实际应用。
图3示出调制处理部15的示例。调制处理部15具有控制器15a,其能够与主控制器14交换数据,并在主控制器14的控制下对调制处理部15的各种操作进行控制。
调制处理部15进一步包括数据输入部15b,用于输入已经从主机装置12提供的数字数据串,以将其写入硬盘18;游程长度限制处理15c,用于对输入到数据输入部15b的输入数字数据串进行游程长度限制处理;以及数据输出部15d,用于将已经在游程长度限制处理15c中经受了游程长度限制处理的数字数据串输出到编码处理部16。
游程长度限制处理15c包括码元P搜索部15c1,用于搜索特定码元P;以及信号处理部15c2,用于执行各种计算和确定。
图4示出用于解释在调制处理部15中的游程长度限制处理的第一示例的处理操作的流程图。当将要写入的410个码元的数字数据串已经被存储在主机I/F13中时,处理操作开始(步骤S1)。
于是,在步骤S2,控制器15a允许数据输入部15b从主机I/F13输入一个码元(10比特)的数据,并且在步骤S3,允许码元P搜索部15c1从先前所存储的码元P的候选列表——包括10比特数据可以形成的1024个模式,排除具有与输入码元的模式相匹配的模式的码元。在所述候选列表中,需要存储至少[所有数据比特的数量(4096)]/n个码元(如果答案为非整数,则对小数部分向上取整)。
其后,在步骤S4,控制器15a确定是否已经输入所有410个码元。当确定尚未输入所有410个码元时(否),控制器15a返回步骤S2。
在步骤S4,当确定已经输入所有410个码元时(是),在步骤S5,控制器15a允许码元P搜索部15c1从剩余的候选中选择一个码元,并将所选择的码元输出作为码元P。
在此之后,在步骤S6,控制器15a允许数据输入部15b再次从主机I/F13输入1码元的数据,并在步骤S7允许信号处理部15c2在所输入的码元以及所选择的码元P之间执行异或操作。
其后,在步骤S8,控制器15a确定是否已经输入所有410个码元。当确定尚未输入所有410个码元时(否),控制器15a返回步骤S6。
当在步骤S8确定已经输入所有410个码元时(是),控制器15a允许数据输出部15d将已经经受异或操作的各个码元连同码元P一同输出到编码处理部16,并结束该流程(步骤S9)。
下面将描述在调制处理部15中执行的游程长度限制处理的第二示例。在第二示例中,将游程长度限制为最大2n-1比特,并且“0”和“1”的发生次数比第一示例的情况更加均衡。
假定将512字节数字数据串的用户数据输入到调制处理部15,如同第一示例的情况。在此情况下,所述数字数据串是4096比特(1字节=8比特)。假定一个码元长度取10比特,则所述数字数据串包含410个码元,如图5所示。
由于包含10比特的码元可以形成的模式的数量是210=1024,因此调制处理部15搜索具有与所输入的410个码元中的任意一个以及反转的410个输入码元中的任意一个都不匹配的模式的特定10比特码元P。
如图5所示,调制处理部15将所述410个码元平均划分为多个块(在此情况下是五个块)。在此情况下,一个块包含82个码元。在各个块之间的四个边界部分中分别插入一个比特的反转信息比特。
调制处理部15分别关于第二个块至第五个块,比较在82个码元中的每一个和码元P之间执行异或操作所获得的结果与在反转的82个码元中的每一个和码元P之间执行异或操作所获得的结果,并输出所述两结果中“0”和“1”的发生次数比另一个更加均衡的一个。
调制处理部15将“0”设置为被插入在这样的块的头部的反转信息比特,所述块输出通过在82个码元中的每一个以及码元P之间执行异或操作所获得的结果;并将“1”设置为被插入在这样的块的头部的反转信息比特,所述块输出通过在反转的82个码元中的每一个以及码元P之间执行异或操作所获得的结果。
也就是说,在第二示例中,调制处理部15搜索具有与所输入的410个码元中的任意一个以及反转的410个输入码元中的任意一个都不匹配的模式的特定10比特码元P,关于每一个块,分别比较通过在构成每一个块的82个码元中的每一个以及码元P之间执行异或操作所获得的结果与通过在反转的构成每一个块的82个码元以及码元P之间执行异或操作所获得的结果,并输出所述两结果中“0”和“1”的发生次数比另一个更加均衡的一个。
结果,能够以简单的结构容易地实现游程长度限制处理,其中“0”和“1”的发生次数比第一示例的情况更加均衡。进一步地,在此情况下,所输出的比特的数量是4110,这是通过将10比特的码元P和4比特的反转信息比特添加到所输入的4096比特而获得的,因此,编码率达到0.99659(=4096/4110)。因此,该方法适合于实际应用。
在第二示例中,当给定的连续两个块中的第一块的结束码元仅开始比特是“1”,第二块的开始码元仅结束比特是“1”,并且在两个块之间插入的反转信息比特是“0”时,连“0”的数量变得最大。在此情况下,连“0”的数量是19。也就是说,假定被包含在一个码元中的比特的数量是n,则可以将游程长度限制到最大2n-1。
在第二示例中选择具有与所输入的410个码元中的任意一个以及反转的410个输入码元都不匹配的模式的码元作为码元P的原因在于防止当在反转码元与码元P之间执行异或操作时所有计算结果都为“0”。此外,在上述第二示例中,可以任意确定反转信息比特的插入数量和插入位置。
图6至图8示出用于解释调制处理部15中的游程长度限制处理操作的第二示例的流程图。当将要写入的410个码元的数字数据串已经被存储在主机I/F13中时,处理操作开始(步骤S10)。
于是,在步骤S11,控制器15a允许调制处理部15b从主机I/F13输入1个码元(10个比特)的数据,并在步骤S12允许码元P搜索部15c1从先前所存储的码元P的候选列表--包括10比特数据可以形成的1024个模式,排除具有与输入码元的模式和反转的输入码元的模式相匹配的模式的码元。
其后,在步骤S13,控制器15a确定是否已经输入所有410个码元。当确定尚未输入所有410个码元时(否),控制器15a返回步骤S11。
在步骤S13,当确定已经输入所有410个码元时(是),在步骤S14,控制器15a允许码元P搜索部15c1从剩余的候选中选择一个码元P,并将所选择的码元输出作为码元P。
在步骤S14,控制器15a将一个块中的“1”的数量和“0”的数量之间的差BKSUM初始化为0,将块数量BLOCK初始化为0,并将410个码元中的“1”的数量和“0”的数量之间的差TOTALSUM初始化为0。
在此之后,在步骤S15,控制器15a允许数据输入部15b再次从主机I/F13输入1个码元的数据,并允许信号处理部15c2在所输入的码元和所选择的码元P之间执行异或操作,并在所述异或操作之后计算BKSUM,以将所获得的BKSUM加到当前BKSUM上。
其后,在步骤S16,控制器15a确定是否已经输入所有410个码元。当确定尚未输入所有410个码元时(否),在步骤S17,控制器15a确定是否已经输入与一个块对应的码元数据。当确定尚未输入与一个块对应的码元数据时(否),控制器15a返回步骤S15、在步骤S17,当确定已经输入与一个块对应的码元数据时(是),控制器15a在步骤S18增加块数量BLOCK,并在步骤S19确定块数量BLOCK是2还是更多。
当确定块数量BLOCK不是2或更多时(在此情况下,块数量BLOCK是1,也就是图5所示的第一块)(否),在步骤S20,控制器15a允许数据输出部15d输出通过在步骤S15执行异或操作获得的结果而不进行改变,并返回步骤S15。结果,就所述第一块而论,输出在所述第一块中的每一码元与码元P之间执行异或操作所获得的结果。
在步骤S19,当确定块数量BLOCK是2或更多时(也就是图5所示的第二块和后面的块)(是),控制器15a在步骤S21确定(TOTALSUM+BKSUM)的绝对值是否大于(TOTALSUM-BKSUM-1)的绝对值。这指示在从所述第一块到当前块——已经对其在每一码元以及码元P之间完成了异或操作——的这些块中“0”的数量是否大于“1”的数量。
当确定“1”的数量大于“0”的数量时(否),在步骤S22,控制器15a允许数据输出部15d关于第(BLOCK-1)块输出通过在步骤S15执行异或操作所获得的结果,而不进行改变,并将在所述块的头部插入的反转信息比特设置为“0”。
其后,在步骤S23,控制器15a将当前的TOTALSUM减去第(BLOCK-1)块的BKSUM加1所获得的值,将BKSUM初始化为0,并返回步骤S15。
当在步骤S21确定“0”的数量大于“1”的数量时(是),在步骤S24,控制器15a允许数据输出部15d关于第(BLOCK-1)块反转通过在步骤S15执行异或操作所获得的结果,并对其进行输出(该输出与上述在每一反转码元和码元P之间执行异或操作所获得的结果相同)。进一步地,控制器15a将在所述块的头部插入的反转信息比特设置为“1”。
其后,在步骤S25,控制器15a将第(BLOCK-1)块的BKSUM加到当前的TOTALSUM上,将BKSUM初始化为0,并返回步骤S15。
当在步骤S16确定已经输入410个码元时(是)时,在步骤S26,控制器15a确定(TOTALSUM+BKSUM)的绝对值是否大于(TOTALSUM-BKSUM-1)的绝对值。这指示在从所述第一块到最后的块——已经对其在每一码元和码元P之间完成了异或操作——的这些块中“0”的数量是否大于“1”的数量。
当确定“1”的数量大于“0”的数量时(否),在步骤S27,控制器15a允许数据输出部15d输出关于第(BLOCK-1)块(最后的块)通过在步骤S15执行异或操作而获得的结果,而不进行改变,并将在所述块的头部插入的反转信息比特设置为“0”,并结束该流程(步骤S29)。
当在步骤S26确定“0”的数量大于“1”的数量时(是),在步骤S28,控制器15a允许数据输出部15d反转关于第(BLOCK-1)块(最后的块)通过在步骤S15执行异或操作而获得的结果,并对其进行输出(该输出与上述在每一反转码元中和码元P之间执行异或操作所获得的结果相同)。进一步地,控制器15a将在所述块的头部插入的反转信息比特设置为“1”,并结束该流程(步骤S29)。
在图6至图8所示的第二示例的处理操作中,可以修改在步骤S15中在n比特码元中的每一码元与码元P之间的异或操作,从而仅对排除先前设置的特定一个比特(例如开始比特)在外的n-1个比特执行异或操作。这样把将被包含在码元P中的比特的数量减少到n-1个比特,这意味着将输出比特减少一个比特。
此外,只要在候选列表中存在一个或多个码元P,就可以将不适合于记录的模式——例如所有比特为“0”或“1”的模式——预先从码元P的候选列表中排除。
本领域技术人员会容易地想到其他优点和修改。因此,本发明的广阔方面不限于在此示出和描述的具体细节以及代表性的实施例。相应地,在不脱离由所附权利要求及其等同物限定的总发明构思的精神和范围的情况下,可以进行各种修改。
权利要求
1.一种游程长度限制装置,其特征在于,包括输入部(15b),被配置为输入数字数据串,所述数字数据串包括预定数量的码元,所述码元具有相同数量的比特;搜索部(15c1),被配置为搜索特定码元(P),所述特定码元(P)具有与输入到所述输入部(15b)的所述数字数据串中所包括的任一码元都不匹配的模式;计算部(15c2),被配置为在所述搜索部(15c1)所搜索的特定码元(P)和输入到所述输入部(15b)的数字数据中所包括的每一码元之间执行异或操作;以及输出部(15d),被配置为连同由所述搜索部(15c1)搜索的所述特定码元(P)一起输出被所述计算部(15c2)计算的数字数据串。
2.如权利要求1所述的游程长度限制装置,其特征在于所述搜索部(15c1)被配置为搜索特定码元(P),所述特定码元(P)具有与输入到所述输入部(15b)的所述数字数据串中所包括的任一码元以及输入到所述输入部(15b)的所述数字数据串中所包括的任一反转码元都不匹配的模式。
3.如权利要求1所述的游程长度限制装置,其特征在于所述搜索部(15c1)预先具有足够数量的候选特定码元(P)的列表,并且在输入到所述输入部(15b)的数字数据串中所包括的每一码元的预定位置比特与已经预先设置的模式相匹配的情况下,所述搜索部(15c1)从所述候选列表中排除所匹配的模式,而不进行改变,而在输入到所述输入部(15b)的数字数据串中所包括的每一码元的预定位置比特与已经预先设置的模式不匹配的情况下,则所述搜索部(15c1)反转所述码元的所有比特,并且如果反转码元的模式与已经预先设置的模式相匹配则从所述候选列表中排除所匹配的模式,从而在已经输入预定数量的码元之后找到与任一码元以及任一反转码元都不匹配的特定码元。
4.如权利要求2所述的游程长度限制装置,其特征在于所述输出部(15d)被配置为在输出由所述搜索部(15c1)搜索的特定码元时在预定位置不输出比特。
5.如权利要求2所述的游程长度限制装置,其特征在于所述输出部(15d)将已经经受所述计算部(15c2)进行的计算处理的数字数据串划分为多个块,并有选择地输出已经被所述计算部(15c2)计算的数字数据串和通过反转已经被所述计算部(15c2)计算的数字数据串而获得的数字数据串,从而使得对于每一个块“0”和“1”的发生次数是均衡的。
6.如权利要求5所述的游程长度限制装置,其特征在于所述输出部(15d)将反转信息比特添加到每一个块,所述反转信息比特指示是否已经输出由所述计算部(15c2)计算的数字数据串以及是否已经输出通过反转被所述计算部(15c2)计算的数字数据串而获得的数字数据串。
7. 一种游程长度限制方法,其特征在于,包括第一步骤(S2,S11),输入数字数据串,所述数字数据串包括预定数量的码元,所述码元具有相同数量的比特;第二步骤(S3至S5,S12至S14),搜索特定码元(P),所述特定码元(P)具有与通过所述第一步骤(S2,S11)输入的所述数字数据串中所包括的任一码元都不匹配的模式;第三步骤(S6,S7,S15),在通过所述第二步骤(S3至S5,S12至S14)搜索的特定码元(P)与通过所述第一步骤(S2,S11)输入的所述数字数据串中所包括的每一码元之间执行异或操作;以及第四步骤(S8,S9,S16至S29),连同通过所述第二步骤(S3至S5,S12至S14)搜索的所述特定码元(P)一起输出通过所述第三步骤(S6,S7,S15)计算的数字数据串。
8.如权利要求7所述的游程长度限制方法,其特征在于所述第二步骤(S3至S5,S12至S14)搜索特定码元(P),所述特定码元(P)具有与通过所述第一步骤(S2,S11)输入的所述数字数据串中所包括的任一码元以及通过第一步骤(S2,S11)输入的所述数字数据串中所包括的任一反转码元都不匹配的模式。
9.如权利要求8所述的游程长度限制方法,其特征在于所述第四步骤(S8,S9,S16至S29)将已经经受所述第三步骤(S6,S7,S15)所进行的计算处理的数字数据串划分为多个块,并有选择地输出已经通过所述第三步骤(S6,S7,S15)计算的数字数据串以及通过反转已经通过所述第三步骤(S6,S7,S15)计算的数字数据串而获得的数字数据串,从而使得对于每一个块“0”和“1”的发生次数是均衡的。
10.如权利要求9所述的游程长度限制方法,其特征在于所述第四步骤(S8,S9,S16至S29)将反转信息比特添加到每一个块,所述反转信息比特指示是否已经输出所述第三步骤(S6,S7,S15)所计算的数字数据串以及是否已经输出通过反转所述第三步骤(S6,S7,S15)所计算的数字数据串获得的数字数据串。
全文摘要
一种游程长度限制装置,包括输入部(15b),被配置为输入数字数据串,所述数字数据串包括预定数量的码元,所述码元具有相同数量的比特;搜索部(15c1),被配置为搜索特定码元(P),所述特定码元(P)具有与所述输入数字数据串中所包括的任一码元都不匹配的模式;计算部(15c2),被配置为在所述特定码元(P)和在所述输入数字数据串中所包括的每一码元中之间执行异或操作;以及输出部(15d),被配置为连同所述特定码元(P)一起输出所计算的所述数字数据串。
文档编号H03M7/46GK101093707SQ200710112560
公开日2007年12月26日 申请日期2007年6月21日 优先权日2006年6月23日
发明者吉田贤治 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1