具体实施方式
本发明涉及用于执行数据处理的系统和方法,并且更具体地涉及用于在数据处理系统中进行自适应参数修改的系统和方法。
本发明的各种实施例提供包括数据检测器电路和数据解码器电路的数据处理电路。数据检测器电路和数据解码器电路彼此间迭代馈入信息,作为数据处理算法的一部分。特别地,数据检测器电路的检测输出被提供给数据解码器电路,该数据解码器电路应用数据解码算法,尝试恢复原始写入的数据集。在数据解码算法的应用会得到原始写入的数据集的情形中,解码输出被称为具有“收敛性”。在某些情形中,该收敛性由满足在数据解码算法中所依靠的全部奇偶检验方程来指示。基于本文所提供的公开内容,本领域技术人员应当意识到其中解码输出被认为是具有收敛性的各种情况。该收敛数据集被提供作为数据处理电路的输出。
在数据解码算法的应用未能收敛的情形中,解码输出可以被提供回到数据解码器电路,以引导由数据检测器电路所应用的数据检测算法的后续应用以及随后通过数据解码器电路的处理。通过数据检测器电路和数据解码器电路两者在此被称为“全局迭代”。在某些情形中,数据处理电路被设计为允许多个全局迭代。在不同的情形中,数据解码电路可以在给定的全局迭代期间将数据解码算法多次应用于解码输出。在此类情形中,数据解码算法的每次应用都在此都被称为“局部迭代”。
在本发明的各种实施例中,第一错误计数电路被包含用于对保留于检测输出中的错误进行计数,而第二错误计数电路被包含用于在给定的全局迭代结束时对保留于解码输出中的错误进行计数。在本发明的一种特定实施例中,第三错误计数电路被包含用于在通过数据解码器电路的每次局部迭代结束时对保留于检测输出中的错误数量进行计数。在某些情形中,来自错误计数电路的数据被提供给用于基于错误的不同数量来确定一个或多个参数变化的分析系统。
转到图1,图中示出了根据本发明的某些实施例的具有与外部错误传输(以下称为“EET”)相关的错误输出电路的数据处理电路100。数据处理电路100包括接收模拟输入108的模拟前端电路110。模拟前端电路110处理模拟输入108并且将所处理的模拟信号112提供给模数转换器电路115。模拟前端电路110可以包括,但不限于,本技术领域已知的模拟滤波器和放大器电路。基于本文所提供的公开内容,本领域技术人员应当意识到可以作为模拟前端电路110的一部分被包含的多种电路。在某些情形中,模拟输入108源自于相对于存储介质(未示出)布置的读/写头组件(未示出)。在其他情形中,模拟输入108源自于可操作用于接收来自传输介质(未示出)的信号的接收器电路(未示出)。传输介质可以是有线的或无线的。基于本文所提供的公开内容,本领域技术人员应当意识到模拟输入108可以源自于其中的多种源。
模数转换器电路115将所处理的模拟信号112转换成相应的数字样本117的序列。模数转换器电路115可以是本技术领域所已知的能够产生与模拟输入信号对应的数字样本的任意电路。基于本文所提供的公开内容,本领域技术人员应当意识到可以关于本发明的不同实施例而使用的多种模数转换器电路。数字样本117被提供给均衡器电路120。均衡器电路120将均衡化算法应用于数字样本117,以得到均衡化的输出122。在本发明的某些实施例中,均衡器电路120是本技术领域所已知的数字有限脉冲响应滤波器电路。
均衡化输出122被提供给数字检测器电路125和样本缓冲器电路175。样本缓冲器电路175将均衡化输出122存储为缓冲数据177,以便用于通过数据检测器电路125进行的后续迭代。数字检测器电路125可以是本技术领域所已知的能够产生检测输出127的任意数据检测器电路。作为某些实例,数据检测器电路125可以是,但不限于,本技术领域所已知的Viterbi算法检测器电路或最大后验检测器电路。需要注意的是,通用短语“Viterbi数据检测算法”或“Viterbi算法数据检测器电路”按它们最广泛的意义来使用,用于意指任何Viterbi检测算法或Viterbi算法检测器电路或者它们的变型,包括,但不限于,双向Viterbi检测算法或双向Viterbi算法检测器电路。同样,一般性短语“最大后验数据检测算法”或“最大后验数据检测器电路”按它们最广泛的意义来使用,用于意指任意最大后验检测算法或检测器电路或者它们的变型,包括,但不限于,简化的最大后验数据检测算法和最大对数的最大后验数据检测算法,或者对应的检测器电路。基于本文所提供的公开内容,本领域技术人员应当意识到可以针对本发明的不同实施例而使用的多种数据检测器电路。检测输出125可以包括硬判定和软判定两者。术语“硬判定”和“软判定”按照它们最广泛的意义来使用。特别地,“硬判定”被输出,用于指示所预期的原始输入值(例如,二进制的“1”或“0”,或者非二进制的数字值),而“软判定”指示相应的硬判定为正确的可能性。基于本文所提供的公开内容,本领域技术人员应当意识到可以针对本发明的不同实施例来使用的各种硬判定和软判定。
检测输出127被提供给操作用于缓冲在数据检测器电路125和数据检测器电路150之间传递的数据的中央队列存储电路10。在某些情形中,中央队列存储电路160包括本技术领域所已知的交织(即,数据混合(data shuffling))和去交织(即,数据解混(data un-shuffling))电路。当数据解码器电路150可用时,数据解码器电路150访问来自中央队列存储电路160的检测输出127,作为解码器输入156。数据解码器电路150将数据解码算法应用于解码器输入156,尝试恢复原始写入的数据。数据解码算法的结果被提供作为解码输出152。类似于解码输出127,解码输出152可以包括硬判定和软判定两者。例如,数据解码器电路150可以是本技术领域所已知的能够将解码算法应用于接收输入的任意数据解码器电路。数据解码器电路150可以是,但不限于,本技术领域所已知的低密度奇偶检验(LDPC)解码器电路或者Reed-Solomon解码器电路。基于本文所提供的公开内容,本领域技术人员应当意识到可以针对本发明的不同实施例而使用的多个数据解码器电路。在原始数据被恢复(即,数据解码算法收敛)或者超时条件发生的情形中,解码输出152被存储于包含于硬判定输出电路180中的存储器。反过来,硬判定输出电路180将收敛的解码输出152作为数据输出184提供给接收部(未示出)。接收部可以是,例如,可操作用于接收已处理的数据集的接口电路。基于本文所提供的公开内容,本领域技术人员应当意识到可以针对本发明的不同实施例而使用的多种接收部。在超时条件之前还没有恢复原始数据(即,数据解码算法未能收敛)的情形中,解码输出152指示:数据是不可用的,如同下面所更具体地讨论到的,并且数据输出184被类似地识别为不可用的。
可以进行通过数据检测器电路125和数据解码器电路150的组合的一个或多个迭代,以便使其收敛于原始写入的数据集上。如上所述,通过数据检测器电路和数据解码器电路两者进行的处理被称为全局迭代。对于第一全局迭代,数据检测器电路125将数据检测算法应用于均衡化输出122,而没有来自解码输出的引导。对于后续的全局迭代,数据检测器电路125在解码输出152的引导下将数据检测算法应用于缓冲数据177。为了方便该引导,解码输出152被存储于中央队列存储电路160,作为解码器输出154,并且在均衡化输出122通过数据检测器电路125重新处理时由中央队列存储电路160来提供,作为检测器输入129。
在每个全局迭代期间,数据解码器电路150可以使得一个或多个局部迭代包括将数据解码算法应用于解码器输入156。对于第一局部迭代,数据解码器电路150在没有来自解码输出152的引导的情况下应用数据解码器算法。对于后续的局部迭代,数据解码器电路150在前一解码输出152的引导下将数据解码算法应用于解码器输入156。例如,所允许的局部迭代次数可以是10。基于本文所提供的公开内容,本领域技术人员应当意识到根据本发明的不同实施例可以允许的多种不同的局部迭代次数。在通过数据解码器电路150的局部迭代次数超过允许的数量,但是确定在数据集的标准处理期间允许至少一个另外的全局迭代的情形中,解码输出152被作为解码输出154提供回到中央队列存储电路160。解码输出154被保留于中央队列存储电路160中,直到数据解码器电路125变为可用于执行另外的处理。
相比之下,在通过数据解码电路150的局部迭代次数超过所允许的迭代次数,并且确定对于数据集已经超过了所允许的全局迭代次数和/或超时或存储器使用率要求终止特定数据集的处理的情形中,数据集的标准处理结束并且错误被指示。在某些情形中,重试处理或者某些离线处理可以被应用来恢复否则非收敛的数据集。基于本文所提供的公开内容,本领域技术人员应当意识到可以应用于恢复否则不可恢复的数据集的多种非标准处理技术。
检测输出127被提供给可操作用于确定在数据检测器电路125应用了数据检测算法之后所保留的不满意的检验或错误的数量的检测输出的错误计数电路194。检测器输入129(即,与解码输出154对应)同样被提供给解码输出的错误计数电路190,该解码输出的错误计数电路190可操作用于在给定的全局迭代结束时确定在数据解码器电路150应用了数据解码算法之后所保留的不满意的检验或错误的数量。来自解码输出的错误计数电路190的输入侧错误计数192以及来自检测输出的错误计数电路194的输出侧错误计数196被提供给分析系统(未示出),在该分析系统中其对应的实例被用来为数据处理电路100识别出改进的参数。
转到图2,图中示出了根据本发明的某些实施例的具有与EET相关的错误输出电路的数据处理电路200。数据处理电路200包括接收模拟输入208的模拟前端电路210。模拟前端电路210处理模拟输入208并且将所处理的模拟信号212提供给模数转换器电路215。模拟前端电路210可以包括,但不限于,本技术领域已知的模拟滤波器和放大器电路。基于本文所提供的公开内容,本领域技术人员应当意识到可以作为模拟前端电路210的一部分被包含的多种电路。在某些情形中,模拟输入208源自于相对于存储介质(未示出)而布置的读/写头组件(未示出)。在其他情形中,模拟输入208源自于可操作用于接收来自传输介质(未示出)的信号的接收器电路(未示出)。传输介质可以是有线的或无线的。基于本文所提供的公开内容,本领域技术人员应当意识到模拟输入208可以源自于其中的多种源。
模数转换器电路215将所处理的模拟信号212转换成对应的数字样本217的序列。模数转换器电路215可以是本技术领域已知的能够产生与模拟输入信号对应的数字样本的任意电路。基于本文所提供的公开内容,本领域技术人员应当意识到可以针对本发明的不同实施例而使用的多种模数转换器电路。数字样本217被提供给均衡器电路220。均衡器电路220将均衡化算法应用于数字样本217,以得到均衡化的输出222。在本发明的某些实施例中,均衡器电路220是本技术领域已知的数字有限脉冲响应滤波器电路。
均衡化输出222被提供给数据检测器电路225和样本缓冲器电路275两者。样本缓冲器电路275将均衡化输出222存储为缓冲数据227,以便通过数据检测器电路225在后续的迭代中使用。数据检测器电路225可以是本技术领域已知的能够产生检测输出227的任何数据检测器电路。作为某些实例,数据检测器电路225可以是,但不限于,本技术领域已知的Viterbi算法检测器电路或者最大后验检测器电路。需要注意的是,一般性短语“Viterbi数据检测算法”或“Viterbi算法数据检测器电路”按照它们最广泛的意义来使用,用于意指任何Viterbi检测算法或Viterbi算法检测器电路或者它们的变型,包括,但不限于,双向Viterbi检测算法或双向Viterbi算法检测器电路。同样,一般性短语“最大后验数据检测算法”或“最大后验数据检测器电路”按照它们最广泛的意义来使用,用于意指任何最大后验检测算法或检测器电路或者它们的变型,包括,但不限于,简化的最大后验数据检测算法和最大对数的最大后验数据检测算法,或者对应的检测器电路。基于本文所提供的公开内容,本领域技术人员应当意识到可以针对本发明的不同实施例而使用的多种数据检测器电路。检测输出225可以包括硬判定和软判定两者。术语“硬判定”和“软判定”按照它们最广泛的意义来使用。特别地,“硬判定”被输出,指示所预期的原始输入值(例如,二进制的“1”或“0”,或者非二进制的数字值),而“软判定”指示相应的硬判定为正确的可能性。基于本文所提供的公开内容,本领域技术人员应当意识到可以针对本发明的不同实施例而使用的多种硬判定和软判定。
检测输出227被提供给操作用于缓冲在数据检测器电路225和数据解码器电路250之间传递的数据的中央队列存储电路260。在某些情形中,中央队列存储电路260包括本技术领域已知的交织(即,数据混合)和去交织(即,数据解混)电路。当数据解码器电路250可用时,数据解码器电路250访问来自中央队列存储电路260的检测输出227,作为解码器输入256。数据解码器电路250将数据解码算法应用于解码器输入256,以便恢复原始写入的数据。数据解码算法的结果被提供作为解码输出252。类似于检测输出227,解码输出252可以包括硬判定和软判定。例如,数据解码器电路250可以是本技术领域已知的能够将解码算法应用于所接收的输入的任意数据解码器电路。数据解码器电路250可以是,但不限于,本技术领域已知的低密度奇偶检验(LDPC)解码器电路后Reed Solomon解码器电路。基于本文所提供的公开内容,本领域技术人员应当意识到可以针对本发明的不同实施例而使用的多种数据解码器电路。在原始数据被恢复(即,数据解码算法收敛)或者超时条件发生的情形中,解码输出252被存储于包含于硬判定输出电路280中的存储器内。进而,硬判定输出电路280给接收部(未示出)提供收敛的解码输出252,作为数据输出284。接收部可以是,例如,可操作用于接收所处理的数据集的接口电路。基于本文所提供的公开内容,本领域技术人员应当意识到可以针对本发明的不同实施例而使用的多种接收部。在原始数据在超时条件之前不被恢复(即,数据解码算法未能收敛)的情形中,解码输出252指示数据是不可用的,这将在下文更具体地讨论,以及数据输出284被类似地识别为不可用的。
可以进行通过数据检测器电路225和数据解码器电路250的组合的一个或多个迭代,以便使其收敛于原始写入的数据集上。如上所述,通过数据检测器电路和数据解码器电路两者的处理被称为全局迭代。对于第一全局迭代,数据检测器电路225在没有来自解码输出的引导的情况下将数据检测算法应用于均衡化输出222。对于后续的全局迭代,数据检测器电路225在解码输出252的引导下将数据检测算法应用于缓冲数据177。为了使该引导变得方便,解码输出252作为解码器输出254存储于中央队列存储电路260,并且在均衡化输出222正在通过数据检测器电路225来处理时由中央队列存储电路260提供作为检测器输入229。
在每个全局迭代期间,数据解码器电路250有可能使得一个或多个局部迭代包括将数据解码算法应用于解码器输入256。对于第一局部迭代,数据解码器电路250在没有来自解码输出252的引导的情况下应用数据解码器算法。对于后续的局部迭代,数据解码器电路20在前一解码输出252的引导下将数据解码算法应用于解码器输入256。例如,所允许的局部迭代次数可以是10。基于本文所提供的公开内容,本领域技术人员应当意识到可以根据本发明的不同实施例而允许的多种不同的局部迭代次数。在通过数据解码器电路250的局部迭代次数超过所允许的局部迭代次数,但是确定在数据集的标准处理期间允许至少一个另外的全局迭代的情形中,解码输出252被作为解码输出254提供回到中央队列存储电路260。解码输出254被保留于中央队列存储电路260内,直到数据解码器电路225变为可用于执行另外的处理。
相比之下,在通过数据解码器电路250的局部迭代次数超过所允许的迭代次数,并且确定对于数据集已经超过了所允许的全局迭代次数和/或超时或存储器使用率要求终止特定数据集的处理的情形中,数据集的标准处理结束并且错误被指示。在某些情形中,重试处理或者某些离线处理可以被应用,以恢复否则会非收敛的数据集。基于本文所提供的公开内容,本领域技术人员应当意识到可以应用于恢复否则不可恢复的数据集的多种非标准处理技术。
检测输出227被提供给可操作用于确定在数据检测器电路225应用了数据检测算法之后所保留的不满意的检验或错误的数量的检测输出的错误计数电路294。检测器输入229(即,与解码输出254对应)同样被提供给解码输出的错误计数电路290,该解码输出的错误计数电路290可操作用于在给定的全局迭代结束时确定在数据解码器电路250应用了数据解码算法之后所保留的不满意的检验或错误的数量。另外,解码输出252被提供给局部迭代的错误计数电路297,该局部迭代的错误计数电路297可操作用于确定在每次局部迭代由数据解码器电路250应用了数据解码算法之后所保留的不满意的检验或错误的数量。将来自解码输出的错误计数电路290的输入侧错误计数292、来自检测输出的错误计数电路294的输出侧错误计数296,以及多个局部迭代错误计数299(即,每个局部迭代一个)提供给分析系统(未示出),在分析系统中其对应的实例被用来为数据处理电路200识别出改进的参数。
转至图3a-3f,流程图300、345、392和曲线图303、304示出了根据某些实施例的用于报告操作状态并且分析状态以识别改进的参数的方法。在图3a的流程图300之后,模拟输入被接收(方框305)。例如,模拟输入可以源自于存储介质或数据传输通道。基于本文所提供的公开内容,本领域技术人员应当意识到多种模拟输入源。模拟输入被转换为数字样本的序列(方框310)。该转换可以使用本技术领域已知的模数转换器电路或系统来实现。需要注意的是,可以使用本技术领域已知的能够将模拟信号转换成代表所接收的模拟信号的数字值的序列的任何电路。所产生的数字样本被均衡化,以得到均衡化输出(方框315)。在本发明的某些实施例中,均衡化使用本技术领域已知的数字有限脉冲响应电路来实现。基于本文所提供的公开内容,本领域技术人员应当意识到可以用来代替该数字有限脉冲响应电路来执行根据本发明的不同实施例的均衡化的多种均衡器电路。均衡化输出被缓冲(方框320)。
确定数据检测器电路是否可用(方框325)。在数字检测器电路为可用的情形中(方框325),样本缓冲器的下一个均衡化输出被选择用于处理(方框330),并且对所选的均衡化输出执行数据检测以得到检测输出(方框335)。然后,检测输出被存储于中央存储器(方框340)。另外,确定错误报告是否启用(方框345)。错误报告可以基于例如在测试或分析阶段内的用户输入来启用,并且在正常操作模式期间停用。在错误报告被启用(方框345)的情形中,EET数据被计算并被传输给接收部(方框350)。该EET数据包括在应用了数据检测算法之后保留于检测输出中的错误数。在某些情形中,错误数对应于剩余的不满意检验的数量。接收部可以是例如与下文针对图5而讨论的数据分析系统类似的数据分析系统。
转至图3b及后面的流程图345,确定解码器电路是否可用于处理之前所存储的检测输出(方框301)。在解码器电路为可用(方框301)的情形中,检测输出的下一派生物(derivative)被选择用于处理,并且由中央存储电路来访问(方框306)。数据解码算法的第一局部迭代由数据解码器电路应用于所选的检测输出,以得到解码输出(方框311)。在本发明的某些实施例中,数据解码算法是低密度奇偶检验算法。
然后,确定解码输出是否收敛(即,得到正确的结果)(方框316)。在解码输出收敛的情形中(方框316),解码输出被提供给硬判定输出缓冲器(方框321)。然后,确定硬判定输出缓冲器是否准备好上传(方框356)。在某些情形中,当最近完成的解码输出是在前面提供作为数据输出的解码输出之后的下一解码输出时,硬判定输出缓冲器准备好上传。在硬判定输出缓冲器准备好上传的情形中(方框356),所有保留于硬判定输出缓冲器内的连续的解码输出作为数据输出提供给接收装置(方框361)。基于本文所提供的公开内容,本领域技术人员应当意识到可以针对本发明的不同实施例而使用的多种接收装置。
作为选择,在解码输出未能收敛的情形中(方框316),确定局部迭代计数是否已超过局部迭代极限(方框326)。例如,该局部迭代极限可以是10次局部迭代。在还没有超过局部迭代次数的情形中(方框326),对于由解码输出引导的后续局部迭代都将数据解码算法重新应用于当前处理的数据集,以得到所更新的解码输出(方框331)。然后重复自方框316开始的处理。另外,确定是否启用了错误报告(方框366)。错误包括可以基于例如在测试或分析阶段内的用户输入而启用,并且在正常的操作模式中被停用。在启用了错误报告的情形中(方框366),针对当前的局部迭代来计算EET数据并将其传输给接收部(方框371)。该EET数据包括在当前的局部迭代应用了数据解码算法之后保留于解码输出中的错误数。在某些情形中,错误数对应于剩余的不满意检验的数量。接收部可以是例如与下文针对图5所讨卵的数据分析系统类似的数据分析系统。
作为选择,在已经超过了当前进行的全局迭代的局部迭代次数的情形中(方框326),确定是否已经对当前处理的数据集应用了最大的全局迭代次数(方框336)。例如,在超时条件已经发生或者已经超过了存储器使用极限的情形中,全局迭代次数可以被完成。在全局迭代尚未完成的情形中(方框336),解码输出被存储于中央存储器,在中央存储器中该解码输出等待用于引导数据检测算法在后续的全局迭代内的应用(方框341)。另外,还确定是否启用了错误报告(方框366)。错误报告可以基于例如在测试或分析阶段内的用户输入来启用,并且在正常的操作模式中被停用。在启用了错误报告的情形中(方框366),在当前全局迭代结束时为解码输出计算EET数据并将其传输给接收部(方框371)。该EET数据包括在当前全局迭代之后保留于解码输出中的错误数。在某些情形中,错误数对应于剩余的不满意检验的数量。接收部可以是例如与下文针对图5所讨论的数据分析系统类似的数据分析系统。作为选择,在全局迭代已完成的情形中(方框336),错误被指示(方框346)。
转至图3c,流程图392示出了可以在使用来自数据处理电路的错误数据来改进数据处理电路的一个或多个参数的分析系统中实现的一种方法。在流程图392之后,数据处理电路的目标扇区故障率(SFR)被选择(方框302)。该故障率可以指示在数据解码过程中的故障率,该故障率可以是在最终的设计中可接受的,以及可以基于所预期的特定电路部署来选择。并行地,与在方框350中产生的检测器输出对应的EET数据以及与在方框371中产生的解码器输出对应的EET数据(即,全局迭代结束时的数据以及每个局部迭代结束时的数据)被接收(方框307,312)。
与第一全局迭代对应的数据被选择(方框357)。该数据包括与检测器输出对应的一组EET数据。另外,与所选的全局迭代的第一局部迭代对应的数据被选择(方框362)。所接收的数据被标示,与解码器输出对应的EET数据组在x轴上,而与检测器输出对应的EET数据组在y轴上(方框317)。在图3d中示出了其中x轴对应于在方框317中所标示的数据的图383的实例。如图所示,与对应于接收自解码输出的错误的检测器输出对应的EET数据的大部分值沿着y轴标示并且一般落入区域393内。与对应于接收自检测器输出的错误的解码器输出对应的EET数据的大部分值沿着x轴标示并且一般落入区域399内。
然后,通过求方框317的标示图的x轴值和y轴值的均值来计算并标示EET曲线(方框322)。使用图3d的实例,这包括求包含于区域393内的值的均值,以得到一条曲线,以及求包含于区域399内的值的均值,以得到另一个曲线。然后,翻转与平均的x轴值对应的曲线,使曲线对应于y轴值,以得到一对EET曲线(方框327)。参照图3e,标示303示出了与区域393、399对应的示例EET曲线323、333。如图所示,目标扇区故障率313被标示,垂直线343从其朝EET曲线333延伸,随后是水平线353从垂直线343和EET曲线333的交点朝EET曲线323延伸,随后是垂直线363从水平线353和EET曲线323的交点朝EET曲线333延伸,以及随后是水平线373从垂直线363和EET曲线333的交点朝EET曲线323延伸。这些曲折(由线343、353、363、373所表示)在数据检测结束时的剩余错误与数据解码的相应局部迭代(并且由此与全局迭代次数)之间转换,该全局迭代次数是预期在局部迭代次数对应于当前的局部迭代次数时使用的。
确定对于所选的全局迭代是否存在另一局部迭代(方框367)。在存在用于另一个局部迭代的数据的情形中(方框367),下一局部迭代被选择(方框372),并且针对该下一局部迭代重复方框317、322、327、367的处理。作为选择,在不存在用于另一个局部迭代的数据的情形中(方框367),确定是否存在用于另一个全局迭代的数据(方框377)。在存在用于另一全局迭代的数据的情形中(方框377),下一全局迭代被选择(方框382),并且针对下一全局迭代重复方框362、317、322、367、372、377的处理。这会产生与所有全局迭代以及其内的相应局部迭代对应的相应EET曲线的标示数量。
然后确定收敛/非收敛行为,包括确定用于每个全局迭代的所期望的局部迭代次数(方框332)。这可以按照下面的伪码来完成:
在本发明的一种特定实施例中,最佳的局部迭代对应于相交的一对EET曲线(即,解码器EET曲线和检测器EET曲线),一个EET曲线的值加上另一个EET曲线的值在交点处最小。
该伪码会产生为全局迭代和局部迭代的每个组合所标示的EET曲线的数量(例如,Global Iteration=1以及Local Iteration=3)。图3f示出了对于给定的全局迭代中的多个不同的局部迭代的多个EET曲线的示例的标示图304。特别地,标示图304包括曲线对(即,曲线对314、324;344、354;以及374、384)。基于这些曲线对相交的位置(即,交点334、364、394),能够针对给定的全局迭代和扇区故障率确定适当的局部迭代次数。EET曲线314在交点334处的值为27(y轴),而EET曲线324在交点334处的值为126(x轴),在交点334处的总值为153(即,26+127)。EET曲线344在交点364处的值为27(y轴),而EET曲线354在交点364处的值为117(x轴),在交点364处的总值为144(即,27+117)。EET曲线374在交点394处的值为36(y轴),而EET曲线384在交点394处的值为130(x轴),在交点364处的总值为166(即,36+130)。因而,对于给定的全局迭代的最佳局部迭代次数被选择为与EET曲线对344、354对应的局部迭代次数。
转至图4a-4c,流程图400、445、492示出了根据某些实施例的用于报告操作状态并分析该状态以识别出改进的参数的方法。在图4a的流程图400之后,模拟输入被接收(方框405)。模拟输入可以源自于例如存储介质或者数据传输通道。基于本文所提供的公开内容,本领域技术人员应当意识到多种模拟输入源。模拟输入被转换为数字样本的序列(方框410)。该转换可以使用本技术领域已知的模数转换器电路或系统来完成。需要注意的是,可以使用本技术领域已知的能够将模拟信号转换成代表着所接收的模拟信号的数字值的序列的任何电路。所产生的数字信号被均衡化,以得到均衡化的输出(方框415)。在本发明的某些实施例中,均衡化使用本技术领域已知的数字有限脉冲响应电路来完成。基于本文所提供的公开内容,本领域技术人员应当意识到可以用来代替该数字有限脉冲响应电路来执行根据本发明的不同实施例的均衡化的多种均衡器电路。均衡化输出被缓冲(方框320)。
确定数据检测器电路是否可用(方框425)。在数字检测器电路为可用的情形中(方框425),样本缓冲器的下一个均衡化输出被选择用于处理(方框430),并且对所选的均衡化输出执行数据检测以得到检测输出(方框435)。然后,检测输出被存储于中央存储器(方框440)。另外,确定错误报告是否启用(方框445)。错误报告可以基于例如在测试或分析阶段内的用户输入来启用,并且在正常操作模式期间停用。在错误报告被启用(方框445)的情形中,EET数据被计算并被传输给接收部(方框450)。该EET数据包括在应用了数据检测算法之后保留于检测输出中的错误数。在某些情形中,错误数对应于剩余的不满意检验的数量。接收部可以是例如与下文针对图5而讨论的数据分析系统类似的数据分析系统。
转至图4b及后面的流程图445,确定解码器电路是否可用于处理之前所存储的检测输出(方框401)。在解码器电路为可用(方框401)的情形中,检测输出的下一派生物(derivative)被选择用于处理,并且由中央存储电路来访问(方框406)。数据解码算法的第一局部迭代由数据解码器电路应用于所选的检测输出,以得到解码输出(方框411)。在本发明的某些实施例中,数据解码算法是低密度奇偶检验算法。
然后,确定解码输出是否收敛(即,得到正确的结果)(方框416)。在解码输出收敛的情形中(方框416),解码输出被提供给硬判定输出缓冲器(方框421)。然后,确定硬判定输出缓冲器是否准备好上传(方框456)。在某些情形中,当最近完成的解码输出是在前面提供作为数据输出的解码输出之后的下一解码输出时,硬判定输出缓冲器准备好进行上传。在硬判定输出缓冲器准备好上传的情形中(方框456),所有保留于硬判定输出缓冲器内的连续的解码输出都被作为数据输出提供给接收装置(方框461)。基于本文所提供的公开内容,本领域技术人员应当意识到可以针对本发明的不同实施例而使用的多种接收装置。
作为选择,在解码输出未能收敛的情形中(方框416),确定局部迭代计数是否已超过局部迭代极限(方框426)。例如,该局部迭代极限可以是10次局部迭代。在还没有超过局部迭代次数的情形中(方框426),对于由解码输出引导的后续局部迭代都将数据解码算法重新应用于当前处理的数据集,以得到所更新的解码输出(方框431)。然后重复自方框416开始的处理。
作为选择,在已经超过了当前进行的全局迭代的局部迭代次数的情形中(方框426),确定是否已经对当前处理的数据集应用了最大的全局迭代次数(方框436)。例如,在超时条件已经发生或者已经超过了存储器使用极限的情形中,全局迭代次数可以被完成。在全局迭代尚未完成的情形中(方框436),解码输出被存储于中央存储器,在中央存储器中该解码输出等待用于引导数据检测算法在后续的全局迭代中的应用(方框441)。另外,还确定是否启用了错误报告(方框466)。错误包括可以基于例如在测试或分析阶段内的用户输入来启用,并且在正常的操作模式中被停用。在启用了错误报告的情形中(方框466),在当前全局迭代结束时为解码输出计算EET数据并将其传输给接收部(方框471)。该EET数据包括在当前全局迭代之后保留于解码输出中的错误数。在某些情形中,错误数对应于剩余的不满意检验的数量。接收部可以是例如与下文针对图5所讨论的数据分析系统类似的数据分析系统。作为选择,在全局迭代已完成的情形中(方框436),错误被指示(方框446)。
转至图4c,流程图492示出了可以在使用来自数据处理电路的错误数据来改进数据处理电路的一个或多个参数的分析系统中实现的方法。在流程图492之后,数据处理电路的目标扇区故障率(SFR)被选择(方框402)。该故障率可以指示在数据解码处理中的故障率,该故障率可以是在最终的设计中可接受的,以及可以基于所预期的特定电路部署来选择。并行地,与在方框450中产生的检测器输出对应的EET数据以及与在方框471中产生的解码器输出对应的EET数据被接收(方框407,412)。
与第一全局迭代对应的数据被选择(方框457),并且所选择的数据被标示,与解码器输出对应的EET数据集在x轴上,而与检测器输出对应的EET数据集在y轴上(方框417)。参照图3d,其中x轴对应于在方框417中所标示的数据的标示图383的实例。如图3d所示,与对应于接收自解码输出的错误的检测器输出对应的EET数据的大部分值沿着y轴标示并且一般落入区域393内。与对应于接收自检测器输出的错误的解码器输出对应的EET数据的大部分值沿着x轴标示并且一般落入区域399内。
然后,EET曲线通过求来自方框417的标示图的x轴值和y轴值的均值来计算和标示(方框422)。使用图3d的实例,这包括求包含于区域393内的值的均值,以得到一个曲线,以及求包含于区域399内的值的均值,以得到另一个曲线。与平均化的x轴值对应的曲线然后被翻转,该曲线对应于y轴值,以得到一对EET曲线(方框427)。参照图3e,标示图303示出了与区域393、399对应的示例的EET曲线323、333。如图所示,目标扇区故障率313被标示,垂直线343从其朝EET曲线333延伸,随后是水平线353从垂直线343和EET曲线333的交点朝EET曲线323延伸,随后是垂直线363从水平线353和EET曲线323的交点朝EET曲线333延伸,并且随后是水平线373从垂直线363和EET曲线333的交点朝EET曲线323延伸。这些曲折(由线343、353、363、373所表示)在数据检测结束时的剩余错误与数据解码的各个局部迭代(并且由此与全局迭代次数)之间转换,该全局迭代次数是预期在局部迭代次数对应于当前的局部迭代次数时使用的。
然后,EET曲线被用来基于曲折而确定收敛/非收敛行为(方框432)。在图3e的实例之后,输入错误计数(即,在第一全局迭代结束时来自数据解码器的计数)为大约87(即,y轴值)。曲折继续进行(线343),得到到数据检测器电路的输入(即,107个错误)以及数据解码器电路的输入(即,13个错误)。该处理沿着垂直和水平线(353、363、373)继续进行。平均来说,标示图303表明三个全局迭代将会按预期产生收敛。
然后,确定另一全局迭代的数据是否可用(方框477)。在另外的数据为可用的情形中(方框477),下一全局迭代被选择(方框482),并且针对该下一全局迭代重复方框417、422、427、432和477的处理。该处理对于所有可用的全局迭代都可继续,使得图3e的标示图303被扩大,从而包含与不同的全局迭代对应的隧道数。
不同的通道和不同的信噪比条件具有不同的噪声统计。因此,在图3e的示例标示中的隧道形状展示将是对于不同性能而不同的。在曲线323、333之间的隧道越宽,扇区故障率性能就越好。针对图4所讨论的方法提供了优化编解码器性能的有效方式。作为只是优化或改进的某些实例,图4a-4c的方法的途径允许相对较容易地优化数据处理电路,以便通过针对各个全局迭代来调谐局部迭代次数以使隧道打开得越大来针对不同的通道和不同的信噪比使用。作为选择,或者除此之外,对所标示的EET曲线的分析对于给定的输入错误计数为特定的扇区或数据集提供平均全局迭代次数。在数据处理电路接收到具有过多的错误以致于无法在超时窗口(timeout window)内收敛的数据集的情形中,数据集能够在标准的处理期间被略过,并且被保存用于重试允许足够的全局迭代的处理。作为又一种选择,标示图可以提供基准点,以便用于计划解码器电路和检测器电路的优化和低密度奇偶检验代码设计。基于本文所提供的公开内容,本领域技术人员应当意识到可以针对本发明的不同实施例而具有的其他优点。
转至图5,图中示出了根据本发明的一种或多种实施例的分析系统500。分析系统500包括计算机522和计算机可读介质524。计算机522可以是本技术领域已知的任何基于处理器件的装置。计算机可读介质1124可以是本技术领域已知的的任意介质,包括,但不限于,随机访问存储器、硬盘驱动器、带驱动器、光学存储期间或者能够存储数据的任何其他装置或装置的组合。计算机可读介质524包括可由计算机522执行的指令,用以使用从其接收到的错误数据来分析数据处理电路526。此类指令可以促成图3c或图4c的方法。在某些情形中,指令可以是软件指令。基于本文所提供的公开内容,本领域技术人员应当意识到可以针对本发明的不同实施例而使用的其他类型的指令。在本发明的某些实施例中,数据处理电路526可以类似于以上针对图1或图2所讨论的数据处理电路,和/或该处理可以类似于以上针对图3a-3b或图4a-4b所讨论的处理进行。
转至图6,图中示出了根据本发明的某些实施例的包括具有错误反馈电路的读通道电路610的存储系统600。例如,存储系统600可以是硬盘驱动器。存储系统600还包括前置放大器670、接口控制器620、硬盘控制器666、电机控制器668、主轴电机672、盘片678和读/写头组件676。接口控制器620控制数据往/来盘片678的寻址和时序。在盘片678上的数据包括可以在读/写头组件676被适当地定位于盘片678之上时通过读/写头组件676来检测的磁信号组。在一种实施例中,盘片678包括按照纵向或垂直记录配置记录的磁信号。
在典型的读操作中,读/写头组件676由电机控制器668精确地定位于盘片678的所期望的数据道上。电机控制器668通过在硬盘控制器666的引导之下将读/写头组件移至盘片678上的适当数据道而使读写/头组件676相对于盘片678定位以及驱动主轴电机672。主轴电机672使盘片678按确定的旋转速度(RPM)来旋转。一旦读/写头组件678被定位于适当的数据道附近,代表着盘片678上的数据的磁信号在盘片678被主轴电机672旋转时由读/写头组件676感测出。所感测出的磁信号被提供作为代表着盘片678上的磁数据的连续的微小模拟信号(minute analog signal)。该微小模拟信号经由前置放大器670由读写头组件676传输给读通道电路610。前置放大器670可操作用于放大从盘片678中存取出的微小模拟信号。进而,读通道电路610解码并数字化所接收到的模拟信号,以重建原先写入盘片678的信息。该数据作为读取数据603提供给接收电路。写操作与前面的读操作基本上相反,写入数据601被提供给读通道电路610。该数据然后被编码并写入盘片678。
在读操作期间,数据被盘片678中感测出,并且通过包括数据检测器电路和数据解码器电路的数据处理电路来处理。在原始写入的数据集上的收敛性可以包括通过数据检测器电路和数据解码器电路的一个或多个全局迭代,以及对于每个全局迭代通过数据解码器电路的一个或多个局部迭代。在分析阶段内,错误计数可以由检测器电路的输出、解码器电路的输出在给定的全局迭代结束时和/或解码器电路的输出在每个局部迭代结束时来启用。该数据被传输给用于基于不同的错误数来确定读通道电路610的一个或多个参数变化的分析系统。在本发明的某些实施例中,可以使用与以上针对图1或图2所讨论的数据处理电路类似的数据处理电路,和/或该处理可以类似于以上针对图3a-3b或图4a-4b所讨论的处理来进行。分析系统可以类似于以上针对图5所讨论的分析系统实现,并且可以执行与以上针对图3c或图4c所讨论的分析类似的分析。
应当指出,存储系统600可以集成于较大的存储系统(例如,基于RAID(廉价盘冗余阵列或独立盘冗余阵列)的存储系统)中。该RAID存储系统通过冗余性(将多个盘组合成逻辑单元)来提高稳定性和可靠性。数据可以按照多种算法分散在包含于RAID存储系统内的多个盘上,并且如同它是单个盘那样由操作系统来访问。例如,数据可以被镜像映射至RAID存储系统内的多个盘上,或者可以用多种技术来划分并分布于多个盘上。如果在RAID存储系统内的少数盘失效或者变为不可用,则可以使用错误校正技术,基于RAID存储系统内的其他盘的数据的剩余部分来重建丢失的数据。在RAID存储系统内的盘可以是,但不限于,个体存储系统(例如,存储系统600),并且可以彼此紧靠着布置,或者为了提高安全性而分布得更广泛。在写操作中,写入数据被提供给控制器,该控制器通过例如镜像映射写入数据或者将其分段来将写入数据存储于盘上。在读操作中,控制器从盘中检索出数据。然后,控制器得到所产生的读取数据,如同RAID存储系统是单个盘那样。
与读通道电路610关联使用的数据解码器电路可以是,但不限于,本技术领域已知的低密度奇偶检验(LDPC)解码器电路。该低密度奇偶检验技术可应用于通过几乎任何通道来传输信息或者在几乎任何介质上存储信息。传输应用包括,但不限于,光纤、射频通道、有线或无线局域网、数字用户线路技术、无线蜂窝、通过任何介质(例如,铜或光纤)的以太网、有线频道(例如,有线电视)以及地-星通信。存储应用包括,但不限于,硬盘驱动器、压缩盘、数字视频盘、磁带和存储装置(例如,DRAM、NAND闪存、NOR闪存、其他非易失性存储器和固态驱动器)。
转至图7,图中示出了根据本发明的某些实施例的包括具有错误反馈电路的接收器720的数据传输装置700。数据传输系统700包括可操作用于经由本技术领域已知的传输介质730来传输编码信息的发送器710。编码数据由接收器720接收自传输介质730。
在操作期间,接收器720经由传输介质730来接收数据,其中数据通过包括数据检测器电路和数据解码器电路的数据处理电路来处理。关于原始写入的数据集的收敛可以包括通过数据检测器电路和数据解码器电路的一个或多个全局迭代,以及对于每个全局迭代通过数据解码器电路的一个或多个局部迭代。在分析阶段内,错误计数可以由检测器电路的输出、解码器电路的输出在给定全局迭代结束时和/或解码器电路的输出在每个局部迭代结束时启用。该数据被传输给用于基于不同的错误数来确定接收器720的一个或多个参数变化的分析系统。在本发明的某些实施例中,可以使用与以上针对图1或图2所讨论的数据处理电路类似的数据处理电路,和/或该处理可以类似于以上针对图3a-3b或图4a-4b所讨论的处理来进行。分析系统可以类似于以上针对图5所讨论的分析系统来实现,并且可以执行与以上针对图3c或图4c所描述的分析类似的分析。
应当指出,上述应用所讨论的各种方框可以连同其他功能一起被实现于集成电路内。该集成电路可以包括给定的块、系统或电路的所有功能,或者只是块、系统或电路的子集。此外,块、系统或电路的元件可以跨多个集成电路实现。所述集成电路可以是本技术领域已知的任意类型的集成电路,包括,但不限于,单片集成电路、倒装芯片集成电路、多芯片模块集成电路和/或混合信号集成电路。还应当指出,本文所讨论的块、系统或电路的各种功能可以用软件或固件来实现。在某些这样的情形中,整个系统、块或电路可以使用其软件或固件等价物来实现。在其他情形中,给定系统、块或电路的一部分可以用软件或固件来实现,而其他部分用硬件来实现。
结论是,本发明提供用于数据处理的新的系统、装置、方法和配置。虽然上文已经给出了关于本发明的一个或多个实施例的详细描述,但是在不偏离本发明的精神的情况下,本领域技术人员应当清楚各种替换方案、修改方案和等效方案。因此,上述描述不应当被看作是对由所附的权利要求所定义的本发明的范围的限定。