数据存储和重放设备的制作方法

文档序号:7538127阅读:270来源:国知局
专利名称:数据存储和重放设备的制作方法
技术领域
本发明涉及一种用于向存储介质(特别是闪速存储器)存储数据以及从存储介质中重放数据的设备和方法。优选地,本发明涉及诸如音频或视频流之类的可实时重放数据的存储和重放。
背景技术
美国专利申请No 2003/0217323解决了与闪速存储器的退化有关的问题。如众所周知的,闪速存储器和其他存储介质可能会有误码。处理这些误码的传统方式是使用纠错码(ECC)来存储数据并且在读取数据时使用ECC来纠正误码。然而,随着存储器磨损,闪速存储器的误码率随着时间而增加。结果,纠错最终可能变得不可能。美国专利申请No2003/0217323描述了不耐用单元的检测最初怎样用于给纠错电路提供与认为是不可靠的比特有关的信息。最终,对太多微弱比特的检测用于触发将数据块重写或重新移动到更好的存储区域。美国专利申请No2003/0033567和美国专利申请2003/0043647类似地公开了当检测到太多误码时将闪速存储器中的数据移动到更好的存储器区域。因此,有效地舍弃了不耐用的存储器区域。
在必须舍弃存储器区域之前的平均经过的使用期限取决于ECC的质量。例如汉明码的简单ECC舍弃存储器区域比例如雷德所罗门码的复杂ECC更快。为了尽可能长的保持有用的存储器,因此,希望使用尽可能最强的ECC。然而,较强的ECC需要用于编码和解码的相当可观的计算开销。针对典型的可实时重放数据,例如音频或视频数据(例如,MP3数据),在需要不高于预定读取速度的情况下,由于ECC解码速度导致的读取速度限制通常不会影响重放速度。因此,在这种情况下人们可以使用较强的ECC来使可用的存储器空间最大化。这对于实时记录期间的编码也是相同的。然而,因为下载预先记录数据期间的编码或用于下载的传输期间的解码限制了下载速度,所以即使针对这种类型的数据,选择ECC的使用也包含折衷(trade off)。此外,计算集中的ECC的使用增加了功率消耗。
使用此种折衷来针对存储介质的整个有效寿命选择特定的ECC在媒质的早期使用期期间不必要地牺牲了速度和/或功率消耗。例如闪速存储器的存储介质的误码率在存储介质的有效寿命期间恶化。因此,在有效寿命期间的一个阶段使给定量的存储器可用的ECC在介质的使用期早期使相同量的存储器可用是不必要地复杂的。

发明内容
因此,本发明的一个目的在于有效使用误码率在有效寿命期间变化的存储介质,特别是闪速存储器,而允许对介质的较高存取速度。
本发明的一个目的是使经历有效存储器使用的这种存储介质的下载速度最大化,特别是使用于存储可实时重放介质数据的下载速度最大化。
本发明的另一个目的在于减小存储和重放设备中的功率消耗,特别是在电池供电的装置中的功率消耗。
根据本发明的数据存储和重放设备在权利要求1中阐述。根据本发明,所述设备使用存储介质(典型的闪速存储器电路)性能演化测量来预测从存储介质区域中得到的误码率。将所述预测用作从用于在存储数据之前对数据进行编码的多个可用ECC中选择ECC的基础。应该注意的是,“编码成ECC”典型地包含系统编码,其中拷贝数据并且添加奇偶符号,在这种情况下,写之前的编码表示根据接收到的数据,而不是根据已经从所涉及的存储器区域得到的数据,来确定奇偶符号。这不排除随后使用其他ECC对所得到的(并且如果必要则进行了校正的)数据的编码。然而,应该理解的是,编码还包含非系统编码,其中,将数据单元转变为代码字,而并不总是将数据拷贝到代码字中。优选地,从多个可用ECC中选择ECC,选择最快的可编码ECC,在给定所述信息的情况下,预测所述ECC产生不高于预定的解码后误码率。因此,可以在解码之后预定的未来时间内将误码率保持在低于可接受水平的同时,使设备的数据传输速度最大化。此外,使用需要最小计算的此种ECC还减小了计算所需的功率消耗。这减小了总功率消耗,这在电池供电的装备中可能是重要的因素。
优选地,将解码器电路配置用于从所述区域读取数据和表示针对所述区域选择的ECC的信息,并且用于根据所表示的ECC对来自所述区域的数据进行解码。因此,无需另外的编码。然而,在另一个实施例中,随后可以根据多个ECC对所述数据进行编码。只要已经将数据存储在存储介质中,则另外的编码不会对接收速度产生损害。在这种情况下,解码器可以选择根据任何ECC进行解码,例如,最不容易产生误码的ECC。如果在这种情况下将解码过的数据用于实时信号再现(例如,音频和/或视频信号再现),则可以选择不对再现速度产生损害的任意ECC。
解码器电路还可以从已经对数据进行编码的多个ECC中选择ECC,以便根据选定的ECC来对数据进行解码。可以基于与预测误码率有关的信息来选择ECC。在这种情况下,在将误码率保持在低于可接受水平的同时,可以使设备的数据传输的可变速度最大化。当用于编码的计算开销不是很严格从而可以使用较强的ECC时,如果最初没有用自适应性地选择的ECC写入数据,例如,如果在实时记录期间已经写入了数据,则这同样适用。然后可以在记录期间或之后根据不同ECC添加编码信息(例如,奇偶符号)。
优选地,针对存储介质的各个区域来确定与预测误码率有关的各个信息,并且独立地针对每一个区域自适应性地选择ECC。这样,可以采用不同区域的质量之间的差别来实现较高的存取速度,所述差别可能是由于例如或多或少的较强的早先使用。


将使用以下附图针对本发明实施例的示例来描述这些和其他目的和有利方面。
图1示出了存储和重放装置。
图2示出了另外的存储和重放装置。
具体实施例方式
图1示出了存储和重放装置,包括输入/编码器电路10、闪速存储器电路12、误码率评估电路14、读取/解码器电路16和输出电路18。例如,输入/编码器电路10具有可以与因特网相连的输入11,用于接收下载数据。可选地,输入/编码器电路10可以具有另外的输入(未示出),用于接收例如麦克风或摄像机的实时音频和/或视频数据。输入/编码器电路10具有与闪速存储器电路12相连的输出、以及与误码率评估电路14相连的接口。读取/解码器电路16具有与闪速存储器电路12和误码率评估电路14相连的接口、以及与输出电路18相连的输出。例如,输出电路18包括显示屏(未单独地示出)和/或扬声器(未单独地示出),用于再现由在闪速存储器电路12中存储的数据进行编码的视频和/或音频信号。可选地,读取/解码器电路16可以具有另外的输出(未示出),用于按照比输出电路18更高的速率向其他设备(未示出)传输得到的数据。闪速存储器电路12包括存储性能122和复用器120,以使全部的输入/编码器电路10、误码率评估电路14和读取/解码器电路16能够存取相同的存储器122。
在操作中,读取/解码器电路16用于从闪速存储器电路12中读取数据,并且用于将数据转化为确定例如由输出电路18再现的音频和/或视频信号的信号。读取/解码器电路16通过根据ECC(纠错码)进行解码,来执行对来自闪速存储器电路12的数据的纠错。典型地,以ECC编码的数据包括实际数据的拷贝加上额外的奇偶符号。在这种情况下,纠错解码包括确定数据和奇偶符号的组合是否是ECC的代码字,如果不是,确定与ECC最接近的代码字,在这种情况下使用来自最接近代码字的数据。在该解码过程中,例如通过根据得到的数据和奇偶符号的组合来计算多个校验子(syndrome),并且按照已计算的校验子的函数来产生纠正,来确定最接近的代码字。然而,在不脱离本发明的情况下,可以使用其他类型的解码,例如,针对非系统代码的解码,其中所述代码字不包括数据的拷贝。
输入/编码器电路10将数据写入闪速存储器电路12用于以后读取。典型地,例如经由因特网,以比用于在输出电路18处重放所需的数据率更高的数据率,从另一个存储设备下载数据。典型地,输入/编码器电路10通过针对接收到的数据来计算和添加奇偶符号,将数据编码为ECC。输入/编码器电路10将编码过的数据(例如,原始数据加上奇偶符号)写入闪速存储器电路12中用于以后读取。然而,在不脱离本发明的情况下,可以使用其他类型的编码,例如,使用非系统性代码,其他类型的编码不局限于增加冗余的奇偶符号,而包括将数据映射到不必定包括数据拷贝的代码字中。
按照存储器质量的函数,动态地选择用于向闪速存储器电路12写入和从中读取的ECC。读取数据块的误码数目作为时间的函数随着存储器的磨损而增加。将预测的误码数目用于选择将使用多个不同的可用ECC中的哪一个。预测的误码越多,选定的ECC越“重(heavy)”,即,ECC的校正能力和所需计算时间之间的比越高。
评估电路14可使用任意方便的方式来提供误码数目的预测。例如,在一个实施例中,评估电路14定期从闪速存储器电路12中读取数据(或监测通过读取/解码器电路16读取的数据),并且使用ECC解码的结果来检测误码,将检测到误码的频率用作将来的误码率的预测。在另一个实施例中,评估单元14可以用比用于比特读取所需的精确度更高的精确度来测量来自存储单元的输出信号的模拟电平,以便确定错误的比特读取的可能性。也以使用这些技术和其他技术的组合。典型地,因为误码率可能依赖于相关的每一个区域的先前使用,所以评估单元14针对存储器的各个不同区域进行各个预测(其中,区域是例如存储器矩阵的行、或仅可以一起擦除的单元块)。评估电路14执行重复的质量评估,典型地周期性地执行,但是针对每一个特定的区域,优选地,至少在使特定区域可用于写入下载的数据之前执行质量评估。
典型地,将输入/编码器电路10配置用于根据多个不同ECC中的可选择的一个来执行编码。可以使用公知的ECC,例如,汉明码或所罗门码,可能使用具有彼此不同的字长或奇偶比特数目的多个版本的这些类型的代码,或使用针对行和列使用任意ECC的乘积码。还可以在具有彼此不同参数的不同版本的雷德所罗门代码之间、和/或在不同版本的汉明码之间做出选择,从而反抗误码的计算量和鲁棒性也可以变化。典型地,雷德所罗门代码可以纠正比汉明码更多的误码,但是需要更多的计算来对数据进行编码(以确定奇偶符号)和/或对数据进行解码(以确定校验子和有关的校正)的。输入/编码器电路10根据增加计算的需求(在选定的排列中的ECC使得排列中具有较高计算需求的每一个ECC也具有较高的纠错能力)来对可用的ECC进行排列。在读取之前,输入/编码器10从评估电路14得到关于预测误码率的信息,并且按照该信息的函数,选择将用于编码的ECC。有效地,将可能的预测误码率的范围划分为连续的子范围,每一个子范围均与根据排列的各个ECC相关,使得较高排列(计算强度更高)的ECC与更高的预测误码率相关。输入/编码器电路10根据与预测误码率相关的ECC来对输入数据进行编码。因此,当预测的误码率较高时,将使用计算强度更高的ECC。输入/编码器电路10存储识别在解码期间随后要使用的ECC的信息。典型地,将该信息与存储数据的存储器区域(例如通过使用一些预定的繁重ECC,保护以免于错误)相关联地存储在存储器电路12中,或存储在单独的存储器(未示出)中。
典型地,关于存储器电路12的不同区域的不同预测误码率的信息是可用的。在这种情况下,优选地,输入/编码器电路10逐个区域来采用ECC,选择每一个区域所允许的最不繁重的ECC(例如,在这里,区域是一起擦除的存储器阵列的各个行或存储单元的块)。
在高速下载数据的情况下,选定的ECC影响下载速度。平均起来,仅可以按照允许ECC编码数据的计算的速率来发送连续的数据块。优选地,输入/编码器电路10具有某种机制,以依赖于其对执行下一个数据块的编码的准备来减缓数据的源。例如,可以使用请求/确认握手机制或请求重试机制。在一定程度上,可以通过在将ECC编码数据写入到更易于产生误码的存储器电路122中之前,将输入数据缓冲到低误码缓冲存储器(未示出)中,来减轻对减缓下载速度的需要。可以使用诸如SRAM或DRAM存储器之类的单独的缓冲器,或具有较低预测误码率的存储器122的一部分。但是当包含对于音频或视频数据典型的长下载文件时,该方法受到可用缓冲器大小的限制。输入数据的平均速度必须匹配ECC编码速度。
应该理解的是,不能对存储在存储器电路122的最后区域中并且随后重新得到(retrieve)的数据来执行根据选定ECC的编码(例如,奇偶符号的计算)。在重新得到(retrieval)之后,数据易于出错。因此,基本上必须在接收到数据时进行编码。当然,还应该理解的是,公开的实施例仅是示例,并且存在许多可选示例。例如,在不脱离本发明的情况下,可以随后重新得到存储的ECC编码数据并使用“较重的”ECC对其进行编码。只要最初的ECC足够强而能够纠正期望数目的误码,这就能进行,而没有太多的误码风险。因此,可以将较强的ECC用于读取,这保护存储器使之免于随后的磨损。如果所有使用的ECC提供数据的拷贝加上奇偶符号,则可以并行地使用ECC。作为另一个示例,评估电路14可以设计用于响应于在写入到区域之前来自输入/编码器电路10的请求,测试存储器电路122的所述区域,并且预测其误码率。在这种情况下,不需要存储关于评估的信息以用于随后不确定时间的使用。与误码率有关的信息的可以具有与误码率成比例的数字的形式,但是代替地,评估单元可以通过使用根据所需ECC来对误码率进行分类的信息,来选择ECC。
此外,尽管已经使用了选择ECC以用于高速下载的示例,应该理解的是,也可以选择以较低速度记录(例如,“直播的”音频和/或视频数据)的ECC。尽管在这种情况下用于编码的计算时间无关,但是与预定误码率一致地使用较轻的ECC是有用的,使得促进了用于上载目的的从存储器电路122中的较高速度的读取。这即使在数据率固定时也是有利的,因为最小计算强度的ECC的使用使功率消耗最小化,延长了便携式音频和/或视频设备的电池寿命。在可选实施例中,使用针对相同数据的多个ECC来存储数据,使得读取/解码器电路16能够选择最方便的ECC用于解码。优选地,输入/编码器电路10将数据划分为预定大小的块,并且将每一个数据块写入预定大小的存储单元中,其中所述块留下足够的空间以用于由于任何ECC而导致的最大量的附加数据(例如,奇偶符号),使得存储单元尺寸与实际使用的ECC无关。因此,可以与选定ECC无关地执行与重新得到有关的寻址,并且可选地,随后可以改变ECC而无需移动数据块。
重放时,读取/解码器16读取标识已经用于编码的ECC的信息,从存储器电路12中读取数据,并且根据标识的ECC来对数据进行解码。典型地,重放速度如此慢,使得用于解码的计算开销未对重放速度造成问题。在用较重的ECC随后对存储数据进行重新编码的另外的实施例中,读取/解码器电路16使用较重的ECC。在这种情况下,在进行重新编码之前读取数据时,仅使用动态选择的ECC。
在特定的应用中,读取/解码器16还可以用于以较高速度传输数据,例如,在其中存储器电路122用作数据源的另一下载期间。在这种情况下,用于解码的ECC会限制下载速度。当输入/编码器利用一个选定的ECC(优选地,每个存储器区域一个ECC)对所写数据进行编码时,读取/解码器16存取标识该ECC的信息,并且使用标识的ECC。在这种情况下,该ECC可以影响下载速度。可选地,当已经将以多个ECC编码的数据存储在存储器单元122中时,读取/解码器16可以查询评估电路14以获得与最后预测的误码率有关的信息,并且选择能够按照该速率纠错的最少计算的ECC。这可以逐个区域地进行,使得可以将不同的ECC用于不同的存储器区域。将选定的ECC用于对数据进行解码。因此,可以实现最大下载速度。
应该理解的是,ECC解码不会确保无误的解码。因此,并不根据不应该发生误码的要求来选择选定的ECC。而是,优选地,执行这样的标准应该使用可最快实现的ECC,在给定存储数据的存储器电路12的区域的预测误码率的情况下,所述ECC产生不高于预定的解码后误码率。在例外的情况下,如果速度考虑并不避免使用较重ECC,则解码器和编码器甚至可以切换到较高的ECC。
尽管已经示出了单独的输入/编码器电路10、评估电路14和读取/解码器电路16,应该理解的是,实际上这些功能可以使用一个电路来具体实现,或以不同的方式分布在不同电路中。例如,可以使用适当编程的可编程处理器用于编码和解码,或可以使用单个适当编程的处理器同时用于编码和解码。类似地,评估电路14可以是适当编程的处理器,同样可能用于编码和/或解码。可以使用诸如盘或因特网信号之类的计算机程序产品将程序固定的编程或加载。图2示出了电路示例,其中可编程处理器20配置用于执行来自程序存储器22的程序,以执行评估功能、ECC的选择、编码和解码。
权利要求
1.一种数据存储和重放设备,包括存储介质(122);误码率评估单元(14),配置用于基于使用期间存储介质(122)的性能的测量,产生与从存储介质(122)的区域中重新得到的误码率的预测有关的信息;编码器(10),用于在将编码的接收数据存储到区域中之前,执行将接收数据编码为ECC的编码,编码器(10)基于来自误码率评估单元(14)的所述信息来自适应性地选择ECC。
2.如权利要求1所述的数据存储和重放设备,具有输入电路(10),所述输入电路(10)配置用于基于选定的ECC来适应接收数据的接收速率。
3.如权利要求1所述的数据存储和重放设备,其中,从多个可用ECC中选择ECC,使得选择最快可编码的ECC,在给定所述信息的情况下,预测所述ECC产生不高于预定的解码后误码率。
4.如权利要求1所述的数据存储和重放设备,包括解码器电路(16),所述解码器电路(16)配置用于从所述区域读取数据和表示针对区域所选的ECC的信息,并且用于根据表示的ECC,对来自区域的数据进行解码。
5.如权利要求4所述的数据存储和重放设备,具有输出(18),所述输出(18)用于至少以在音频和/或视频重放中使用的预定重放速率来输出已解码的数据。
6.如权利要求1所述的数据存储和重放设备,其中,所述存储介质(122)包括多个区域,所述误码率评估单元(14)针对各个区域来评估各个信息,所述编码器(10)具体地基于特定区域的信息来选择每个区域的ECC。
7.如权利要求1所述的数据存储和重放设备,其中,存储介质是闪速存储器电路(122)。
8.一种数据存储和传输设备,包括存储介质(122);误码率评估单元(14),配置用于基于使用期间存储介质(122)的性能的测量,产生与从存储介质(122)的区域中重新得到的误码率的预测有关的信息;解码器(16),用于根据ECC来执行数据的解码,所述数据是从所述存储介质(122)的区域中重新得到的,所述解码器(16)基于来自所述误码率评估单元(14)的所述信息,来从多个可用ECC中选择ECC。
9.如权利要求8所述的数据存储和传输设备,具有输出电路(18),所述输出电路(18)配置用于基于选定的ECC来适应重新得到且已解码的数据的传输率。
10.如权利要求8所述的数据存储和传输设备,包括编码器电路(10),所述编码器电路(10)配置用于根据ECC中的选定之一来存储初始编码的数据,所述选定之一是基于来自所述误码率评估单元(14)的所述信息而自适应性地选择的。
11.如权利要求8所述的数据存储和传输设备,包括编码器电路(10),所述编码器电路(10)配置用于存储用于重新得到和解码的数据,使得根据全部的所述多个ECC来对相同的数据进行编码。
12.如权利要求8所述的数据存储和传输设备,其中存储介质是闪速存储器电路(122)。
13.一种将数据写入存储介质(122)中的方法,所述方法包括在使用期间收集所述存储介质(122)的性能的测量;基于所述测量,产生与从存储介质(122)的区域中重新得到的误码率的预测有关信息;从编码器(10)支持的多个ECC中选择ECC,所述选择自适应地响应于产生的信息。在将编码的接收数据存储到区域中之前,用编码器(10)将接收数据编码为选定的ECC。
14.一种从存储介质中读取数据的方法,所述方法包括在使用期间收集所述存储介质(122)的性能的测量;基于所述测量,产生与从存储介质(122)的区域中重新得到的误码率的预测有关信息;从解码器器(16)支持的多个ECC中选择ECC,所述选择自适应地响应于产生的信息;在将编码的接收数据存储到区域中之前,根据选定的ECC,用解码器(16)对接收数据进行解码。
15.一种计算机程序产品,包括机器指令,当将所述机器指令加载到可编程计算机(20,22)时,所述机器指令使计算机(20,22)执行根据权利要求13和/或14所述的方法。
全文摘要
一种数据存储和重放设备,使用存储介质(典型地为闪速存储器电路)的性能演变的测量,来预测从存储介质的区域中重新得到的误码率。所述预测用作用于动态地选择在存储数据之前对数据进行编码的ECC的基础。从多个可用ECC中选择ECC,使得选择可最快编码的ECC,在给定所述信息的情况下,预测所述ECC产生不高于预定的解码后误码率。这样,在解码之后的预测未来时间段内使误码率保持低于可接受水平的同时,可以使设备的数据传输的速度最大化。在对典型地为音频或视频数据的数据进行解码时,以预定的速度进行解码和重放。在另一个实施例中,使用多个ECC来存储数据,并动态地选择ECC用于编码,使得可以使输出数据率最大化,或可以使重放时的功率消耗最小化。
文档编号H03M13/35GK101031971SQ200580033037
公开日2007年9月5日 申请日期2005年7月22日 优先权日2004年8月2日
发明者塞巴斯蒂安·安吉尔, 尼古拉斯·兰伯特, 卢多维克斯·M·G·M·托于泽, 维克托·M·G·范艾科特, 马丁努斯·W·布卢姆 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1