在基于探针的数据存储器中的数据重写的制作方法

文档序号:6752740阅读:392来源:国知局
专利名称:在基于探针的数据存储器中的数据重写的制作方法
技术领域
本发明一般地涉及基于探针的数据存储器,具体涉及在这样的器件中的数据重写。本发明的实施例提供了用于使得数据能够被存储在这样的器件中而不首先擦除先前写入的数据的方法和装置。
背景技术
基于探针的数据存储长期以来被作为超高密度数据存储的可能基础。在基于探针的数据存储器中,通过经由所述存储器的探针来在所述表面上形成的凹痕或“凹坑”的存在与否来在存储表面上表示所存储的数据。例如,在基于AFM(原子力显微镜)的存储器中,所述探针是被安装在微型制造的悬臂的端部的纳米级的尖头。这个尖头可以在聚合物基底形式的存储介质的表面上移动。一种机构被提供来加热所述尖头,因此加热在与尖头接触的点的聚合物基底,使得尖头刺入表面以产生一个凹坑。这样的凹坑通常表示值“1”的比特,通过在存储表面上的比特位置没有凹坑来表示值“0”的比特。在读取扫描模式中,可以使用热探针结构来当尖头移动通过比特凹痕的图案时通过检测悬臂的偏转而读回数据。基于AFM的数据存储被详细地描述在IBMJournal of Research & Development,Volume 44,No.3,May 2000,pp323-340,“The‘Millipede’-More Than One Thousand Tips for Future AFM Data Storage”,Vettiger等(IBM研发期刊,第44卷,第3期,2000年5月,323-340页,“用于未来的AFM数据存储的多于1000个尖头的Millipede(千足虫)”,Vettiger等人)和其中引用的参考文件。如在这个文件中所述,当可以使用单悬臂探针来实现基本的读取/写入操作时,实际上,使用可独立寻址的悬臂的集成阵列以便提高数据率。
在这些基于探针的数据存储器中的基本写入操作因此涉及通过微型机械探针机构在存储表面上产生凹坑。当产生凹坑时,材料被探针位移并且沉积在凹痕周围的区域中。在例如如上所述基于AFM的器件中,融化的聚合物被沉积在凹坑周围,产生“环形壁”或“环”,它们具有比聚合物背景更大的拓扑轮廓。如果与一个现有凹坑足够近地形成一个凹坑,则被位移的材料可以部分地填充所述现有凹坑,有效地将一个“1”改变为“0”,因此擦除了那个“1”。对于基于探针的数据存储器开发的物理机构因此对于在数据写入操作期间所产生的凹坑之间的最小距离施加了一个限制。这个最小的距离Tmin是在写入操作期间所产生的相邻凹坑之间的最小距离,对于它,写入第二个凹坑将不由于材料的位移而擦除第一个凹坑。对于基本数据写入操作,这个限制Tmin转换为在所存储的数据凹坑之间的最小可允许距离。
当在基于探针的数据存储器中考虑旧数据的重写时,作为用于数据存储的机构的后果产生某些困难。例如,因为零对应于在比特位置“无凹坑”,因此在比特位置写入零对应于无动作。因此,在比特位置的先前写入的“1”上写入“零”将使得所述“1”不变,使得新写入的数据不正确。因为这样的问题,在2002年5月13日提交的我们的同族待审的欧洲专利申请第02020648.0号之前,基于探针的数据存储依赖于在“清洁的”存储表面(即其中还未写入数据或从其已经擦除了旧数据的表面)写入数据。例如,在上述的Millipede器件的情况下,可以通过加热存储表面以引起聚合物的融化或“重新流动”来擦除旧数据。但是,擦除旧数据显然是功率和时间密集的过程。在上述的我们的欧洲专利申请中,公开了一种系统,它使得可以在基于探针的数据存储器中以新的数据直接重写旧数据。这种系统有效地涉及两阶段的编码处理。在第一阶段,输入数据被编码以防止在编码的输入数据中出现给定值“x”的两个连续比特。如果例如x=1,则所述编码保证在编码的输入数据中的连续的“1”通过至少“d”个零分隔,其中d是预定的数量≥1。这种编码的效果保证在写入操作后在存储表面中剩余的连续比特总是被至少一个“无凹坑”隔离。因此,这种编码使得可以在未编码情况下提高所存储的比特密度,其中如上所述最小比特间距被限制为Tmin。在第二编码阶段中,使用一种算法来从编码的输入比特序列产生重写比特序列。简言之,在此使用的算法是基于这样的前提由于如上所述的材料的位移,写入一个凹坑可以擦除在新凹坑任何一侧上的现有的相邻凹坑。当结果产生的重写比特序列被写入在存储表面上时,效果是依赖于特定的操作参数而记录原始编码的输入比特序列或这个比特序列的补码。这个结果独立于被重写的旧数据的比特值,因此不需要擦除旧数据。
在基于探针的存储器中的任何数据写入操作的功率花费与在存储表面中形成的凹坑的数量直接相关。根据上述的重写系统下的原理,遵循写入从给定的编码输入比特序列产生的重写序列必然涉及写入比直接写入编码的输入比特序列更多的凹坑(虽然后者的操作不是非得允许重写旧数据)。因此,重写操作比在清洁的存储表面上的传统写入操作需要更多的用于给定的输入数据的功率。因此,功耗--总是作为重要的考虑因素--是提供直接重写能力的更突出的因素。本发明使得能够使用与在上述引用的我们的欧洲专利申请中公开的方法相比较降低的功耗来实现直接重写。

发明内容
按照本发明的一个方面,提供了一种用于在基于探针的存储器中重写数据的方法,其中通过经由所述存储器的探针在存储表面中形成的凹坑的存在与不存在来表示数据。所述方法包括编码输入的数据,以使得在编码的输入数据中的值x的连续比特被值x的至少d个比特隔离,其中d是预定数量≥2;通过编码所述被编码的输入数据比特来产生重写数据比特,以使得如果一个凹坑在数据存储器中表示值p的一个比特,则(a)在编码的输入数据中的值x的任何比特被编码为值p的重写数据比特,(b)在编码的输入数据中的值x的L≤2d比特的任何有界游程(boundedrun)被编码为值p的L个重写数据比特的游程,和(c)在编码的输入数据中的值x的L>2d个比特的任何有界游程被编码为由值p的n个比特和值p的(L-n)个比特组成的L个重写数据比特的游程,其中n=CEIL[(L-2d)/d],并且n个比特被定位在游程中,以使得(c1)在所述游程的末尾的d个比特内存在值p的一个比特,(c2)在所述游程的开始的2d+1个比特内存在值p的一个比特,和(c3)对于n>1,n个比特的每个在另一个所述n个比特的d个比特内;和在存储表面上使用以一个比特间距的重写数据比特来重写数据,以使得写入值p的一个重写数据比特可以擦除在那个重写数据比特的d个比特内的值p的一个现有比特。
因此,在体现本发明的重写方法中,要存储在所述存储器中的输入数据首先被编码以保证,在所述编码的输入数据中,特定值x(它在不同的实施例中可以是0或1)的连续比特被补码值x(其中在此和在全文中的符号-表示比特求反)的至少d个比特隔离。在这个编码过程中的预定数量d是≥2。然后通过满足所述三个条件(a)、(b)和(c)的编码过程来从编码的输入比特序列产生重写比特序列。条件(a)要求在编码的输入数据中的值x的任何比特被编码为值p的重写数据比特,其中p是由在数据存储器中的凹坑表示的比特值。即,p是在数据存储器中被写入为凹坑的比特值,比特值p因此对应于“无凹坑”,其中p可以当然在不同的实施例中是0或1。条件(b)指定对于在编码的输入数据中长度L≤2d比特--值x的所有比特--的有界游程的编码,其中在此使用的“有界游程”是被补码值的一个比特约束在两侧上的给定值的比特的游程。例如L个零的有界游程紧接在一个“1”之前,并且紧跟一个“1”。按照条件(b),由在编码的输入数据中的值x的L个比特组成的任何有界游程--其中L≤2d--被编码为值p的L个重写数据比特的游程。条件(c)指定对于在编码的输入数据中长度L>2d比特--值x的所有比特--的有界游程的编码。每个这样的L比特游程被编码为由值p的n个比特和值p的(L-n)个比特组成的L个重写数据比特的游程,其中n=CEIL[(L-2d)/d]。(公知函数CEIL(y)表示大于或等于y的最小整数)。值p的n个比特在此被定位在L比特游程中,以使得满足上述指定的所有三个子条件(c1)、(c2)和(c3)。按照这个编码过程产生的重写比特序列可以随后被写入到存储表面上覆盖现有的、先前写入的数据。用于这个重写操作的比特间距被设置使得写入值p的一个重写比特(即在存储表面上写入一个凹坑)可以擦除在那个重写比特的d个比特内的值p的一个现有比特。下面将更详细地说明这个比特间距条件。
在存储表面上写入重写比特序列的结果依赖于在值p和x之间的关系。如果p=x,则在存储表面上记录的比特序列将是原始的编码的输入数据。在其中p=x的替代情况下,被记录的比特序列将是编码的输入数据的补码(即比特求反)。下面将演示这一点,在两种情况下,可以看出结果独立于要被重写的旧数据的比特值。因此避免了擦除旧数据的必要。而且,与上述引用的我们的最早的专利申请中公开的方法相比较,使用实质性地减少的功率来实现直接重写。事实上,体现本发明的特定方法提供了最佳的重写操作,其中以最小的功耗来实现直接重写。下面更详细地说明这些功率优点。
本发明依据下述实现对于d≥2,当优点来自这个d限制所允许的较高的表面比特密度时,可以通过在存储表面重写入比在上述引用的我们的最早的专利申请中的方法所需要的更少的凹坑来实现直接重写。具体地说,d≥2限制允许用于写入重写序列的比特间距,以使得写入一个凹坑可以擦除在±d个比特位置内的现有凹坑。体现本发明的方法产生利用这个效果的重写比特序列,使得能够通过在存储表面中写入较少的凹坑来实现直接重写。
对于以值x的一个比特开始和结束的编码的输入数据序列,上述的条件(a)-(c)对于编码整个编码的输入数据序列是足够的。在这样的情况下,结果产生的重写数据序列在下述意义上是最佳的重写序列包括重写操作所需要的值p的比特的最小可能数量。因为值p的比特在存储表面上被写入为凹坑,因此这转换为最小数量的凹坑,于是转换为用于重写操作的最小功耗。一般来说,编码的比特序列当然可以以值x的比特的游程来开始和/或结束。这些游程可以在重写序列中以各种方式被编码,并且对于整个功耗具有较小的影响,因为比特序列的剩余者将被最佳地编码,如上所述。但是,在优选实施例中,这样的开始和/或结束游程可以以下述方式来最佳地被编码。首先考虑在用于重写操作的编码的输入数据的开始处的值x的L个比特的游程,这可以通过下列来最佳地被编码如果L≤d,则将所述游程编码为值p的L个重写数据比特的游程;以及如果L>d,则将所述游程编码为由值p的m个比特和值p的(L-m)个比特组成的L个重写数据比特的游程,其中m=CEIL[(L-d)/d],并且在所述游程中定位所述m个比特,以使得(1)在所述游程的末尾的d个比特内有值p的一个比特,(2)在所述游程的开始的d+1比特内有值p的一个比特,以及(3)对于m>1,所述m个比特的每个在另一个所述m个比特的d个比特内。
对于在用于重写操作的编码的输入数据的末尾的值x的L个比特的游程,这可以通过下列来最佳地被编码如果L≤d,则将所述游程编码为值p的L个重写数据比特的游程;如果d<L≤2d,则将所述游程编码为包括由值p的一个比特终止的值p的L个比特的(L+1)个重写数据比特的游程;以及如果L>2d,则将所述游程编码为(L+1)个重写数据比特的游程,所述(L+1)个重写数据比特的游程包括由值p的一个比特终止的、在上述条件(c)中定义的L个重写数据比特的游程。因此,在编码的输入数据的末尾的值x的L>d个比特的游程被编码为(L+1)个重写比特的游程,在重写序列的末尾产生一个额外的比特。需要这个额外比特来提供正确的记录比特模式,但是可以在下述的后续数据读出时忽略。通过向用于写入操作的编码的输入数据的开始和末尾的值x的比特的游程应用这些附加的编码条件,整个重写比特序列将在下述方面是最佳的它将包含值p的最小可能数量的比特,因此将在重写操作中需要最小的功耗。
虽然一般任何施加d≥2限制的编码方案可以用于输入数据的初始编码,但是本发明的优选实施例使用基于RLL(游程程度受限)(d,k)限制码的原理的代码。传统上,在这样的代码中,(d,k)限制表示在编码的比特序列中的连续的1被至少“d”个零和至多“k”个零隔离,其中k>d。但是,如上所述,在本发明的不同实施例中,初始的输入数据编码可以禁止在编码的输入数据中的两个连续的“1”(x=1)或两个连续的“0”(x=0)。因此,虽然“d”和“k”传统上表示零的数量,但是在本发明的一些实施例中,这些限制可以应用到在零之间允许的1的数量。
本发明的第二方面提供了编码装置,用于编码数据以存储在基于探针的存储器中,其中通过由所述存储器的探针在存储表面中形成的凹坑的存在与不存在来表示数据。所述装置包括编码器,用于编码要存储在所述存储器中的输入数据,以使得在编码的输入数据中值x的连续比特被值x的至少d个比特隔离,其中d是预定数量≥2;重写模式产生器,用于通过编码所述编码的输入数据来产生重写数据比特,以使得(a)在编码的输入数据中的值x的任何比特被编码为值x的重写数据比特,(b)在编码的输入数据中的值x的L≤2d个比特的任何有界游程被编码为值x的L个重写数据比特的游程,和(c)在编码的输入数据中的值x的L>2d比特的任何有界游程被编码为L个重写数据比特的游程,所述L个重写数据比特由值x的n个比特和值x的(L-n)个比特组成,其中n=CEIL[(L-2d)/d],并且在所述游程中定位所述n个比特,以使得(c1)在所述游程的末尾的d个比特内存在值x的一个比特,
(c2)在所述游程的开始的2d+1个比特内存在值x的一个比特,和(c3)对于n>1,n个比特的每个在另一个所述n个比特的d个比特内。
类似地,本发明的第三方面提供了一种编码装置,用于编码数据以存储在基于探针的存储器中,其中通过由所述存储器的探针在存储表面中形成的凹坑的存在与不存在来表示数据。所述装置包括编码器,用于编码要存储在所述存储器中的输入数据,以使得在编码的输入数据中值x的连续比特被值x的至少d个比特隔离,其中d是预定数量≥2;重写模式产生器,用于通过编码所述编码的输入数据来产生重写数据比特,以使得(a)在编码的输入数据中的值x的任何比特被编码为值x的重写数据比特,(b)在编码的输入数据中的值x的L≤2d个比特的任何有界游程被编码为值x的L个重写数据比特的游程,和(c)在编码的输入数据中的值x的L>2d比特的任何有界游程被编码为L个重写数据比特的游程,所述L个重写数据比特由值x的n个比特和值x的(L-n)个比特组成,其中n=CEIL[(L-2d)/d],并且在所述游程中定位所述n个比特,以使得(c1)在所述游程的末尾的d个比特内存在值x的一个比特,(c2)在所述游程的开始的2d+1个比特内存在值x的一个比特,和(c3)对于n>1,n个比特的每个在另一个所述n个比特的d个比特内。
体现本发明的第二和第三方面的编码装置因此产生重写数据系列,它们可以被提供到数据存储器的探针机构以用于重写先前写入的数据中。对于给定的输入数据序列,体现本发明的第二方面的编码装置产生一个重写序列,它是通过体现本发明的第三方面的在产生的重写序列的补码。体现本发明的第二方面的编码装置特别适用于其中值x的一个比特被写为一个凹坑(p=x)的基于探针的存储器。在每种情况下,由所述装置产生的重写比特序列可以随后被直接提供到探针结构来作为要被写入在存储表面上的数据。但是,两种类型的装置都可以仅仅通过下列方式来用于相反类型的基于探针的存储器(即其中一个凹坑表示具有对于刚才指定的比特的补码值的一个比特)求反(取补码)在存储器中的重写序列以获得要写入在存储表面上的最后的写入序列。
本发明也提供了用于在基于探针的存储器中存储和恢复数据的多种方法,其中通过如上所述的一种方法来在存储表面上存储数据,并且其中通过依赖于在特定情况下值p和x之间的关系的两种方法之一来解码从存储表面读取的数据。如果p=x,则通过执行被初始应用到输入数据以产生编码的输入数据的编码的逆变换来恢复原始输入数据。但是,如果p=x,则通过下列方式来恢复原始输入数据获取从存储表面读取的数据的补码,然后执行初始输入数据编码的逆变换。本发明类似地提供了用于编码和解码在基于探针的存储器中的数据的装置,所述装置包括如上所述的编码装置和用于解码从存储表面读取的数据的解码器,其中所述解码器被布置来实现由所述编码装置的编码器实现的代码的逆代码。再次,依赖于在特定器件中的p和x之间的关系,可能在实现所述逆代码之前必须获取从存储表面读取的数据的补码。因此在一些实施例中这个步骤可以由所述解码器执行。
本发明也扩展到使用如上所述的方法和装置的基于探针的数据存储器。具体地说,本发明的另一个方面提供了基于探针的数据存储器,包括存储表面;探针机构,用于通过在其中形成凹坑来在存储表面上存储数据,以使得通过在所述表面上的比特位置的凹坑的存在与不存在来表示数据;编码器,用于编码要存储在所述存储器中的输入数据,以使得在编码的输入数据中的值x的连续比特被值x的至少d个比特隔离,其中d是预定数量≥2;重写模式产生器,用于通过编码所述编码的输入数据来产生重写数据比特,以使得如果凹坑表示值p的一个比特,则(a)在编码的输入数据中的值x的任何比特被编码为值p的重写数据比特,(b)在编码的输入数据中的值x的L≤2d个比特的任何有界游程被编码为值p的L个重写数据比特的游程,和(c)在编码的输入数据中的值x的L>2d比特的任何有界游程被编码为L个重写数据比特的游程,所述L个重写数据比特由值p的n个比特和值p的(L-n)个比特组成,其中n=CEIL[(L-2d)/d],并且在所述游程中定位所述n个比特,以使得(c1)在所述游程的末尾的d个比特内存在值p的一个比特,(c2)在所述游程的开始的2d+1个比特内存在值p的一个比特,和
(c3)对于n>1,n个比特的每个在另一个所述n个比特的d个比特内。
其中所述探针机构被布置为在使用中以在一个比特间距的重写数据比特来在存储表面上重写数据,以使得写入值p的重写数据比特可以擦除在那个重写数据比特的d个比特内的值p的现有比特。
一般,可以明白,当在此参照体现本发明的方法来说明特征的时候,可以在体现本发明的装置中提供对应的特征,反之亦然。


现在参照附图来举例说明本发明的实施例,其中图1是体现本发明的基于探针的数据存储器的示意方框图;图2图解了当在图1的实施例中使用d=2代码时可以获得的提高的表面比特密度的原理;图3、4和5是图解可以在图1的重写模式产生器中实现的编码方案的表格,其中d=2;图6图解了在使用体现本发明的编码方案的图1的器件中的重写操作;图7是一个表格,它将体现本发明的编码方案与在如上引用的我们的最早欧洲专利申请中公开的两种编码方案相比较;图8以表格说明了来自我们最早的申请的两种编码方法的游程长度概率;图9和10是表格,它们将本发明的实施例与来自我们最早申请的两种编码方法相比较;图11是表格,用于图解可以在图1的重写模式产生器中实现的编码方案,其中d=3;图12是图解用于一个替代实施例的编码方案的表格,其中比特值x=0;以及图13图解了用于图12的所述替代实施例的重写操作。
具体实施例方式
图1示出了体现本发明的基于探针的存储器1。所述存储器1包括探针存储结构,它在这个实施例中包括在上述引用的文件中所述的类型的Millipede探针存储阵列2,它带有相关联的阵列驱动器和检测器电路3。在驱动器和/检测器电路3的控制下,探针阵列2可以因此用于在聚合物存储介质4的表面上写入和读取数据。所述存储器1也包括编码/解码装置,它被一般地指示为5。编码/解码装置5的编码部分包括(d,k)编码器6和重写模式产生器7,它们如图所示地连接在数据输入和阵列驱动器/检测器电路3之间。编码/解码装置5的解码部分包括连接在驱动器/检测器电路3和数据输出之间的(d,k)解码器8。
在所述存储器的运行时,要存储的输入数据被提供到(d,k)编码器6,(d,k)编码器6实现d≥2的(d,k)代码以产生编码的输入数据比特b0、b1、b2、...等。可以以公知的方式来实现(d,k)编码器,所述(d,k)代码被应用来保证在编码的输入数据中的特定值x的连续比特被值x至少d个和至多k个比特隔离,其中k>d。(d,k)编码的输入数据b0、b1、b2、...被提供到重写模式产生器7,重写模式产生器7实现下述的编码方案以产生重写比特序列v0、v1、v2、...等。这个重写数据v0、v1、v2、...被输出到阵列驱动器电路3,阵列驱动器电路3驱动探针阵列2来以一个比特间距在存储表面4上写入重写数据,如下所述。
在本实施例中,假定在存储表面4上形成的凹坑表示值“1”的一个比特(即p=1)。因此,在被提供到电路3中的重写数据中的“1”被作为凹坑写在存储表面上,在重写数据中的“0”对应于“无凹坑”。另外,假定在(d,k)编码过程中x=1,以使得限制应用到零的数量,并且在编码的输入数据b0、b1、b2、...中的连续的1被至少d个和至多k个零隔离。虽然一般施加d≥2限制的任何代码将允许体现本发明的重写方法的操作,但是可以在此使用的(d,k)代码的特定示例是在如上引用的我们最早的欧洲专利申请中详细说明的两种速率8/16(2,10)代码,这个申请的内容在此通过引用被并入。下面对于本实施例的操作的说明因此而将着重于(2,10)代码的示例。
在所述实施例的工作中,d=2限制的效果是在写入操作后要在存储表面中剩余的连续凹坑将被至少两个“无凹坑”隔离。这使得与图2图示的未编码数据的表面比特密度相比较提高了表面比特密度。这个附图示出了以最小可能间隔Tmin在存储表面4中形成的两个连续凹坑(即以其写入第二凹坑将不由于材料的位移而擦除第一凹坑的最小距离)。对于未编码的数据,当在比特序列中出现相邻的“1”时,Tmin因此表示用于在存储表面上写入数据的最小可能比特间距。但是,使用d=2的限制,连续的“1”将总是被至少两个“0”隔离,因此最小比特间距被降低到图解的Tmin/3。在这个比特间距,遵循写入值1的重写比特将由于才材料的位移而擦除在新写入的重写比特的±2比特位置内的先前写入的“1”。在重写系统中开发的这个效果将被说明。因此,用于在本实施例中的写入操作的比特间距使得写入一个“1”将擦除在新写入的“1”的±2比特位置内的先前写入的“1”。注意,这个比特间距不必是对于d=2的最小可能比特间距。虽然理想上使用最小比特间距以便获得最大的数据存储密度,但实际上在图2中标注的距离D小于Tmin即可。更一般而言,对于在体现本发明的重写系统中d≥2的任何值,在重写操作中使用的比特间距使得写入值p的一个重写数据比特可以擦除在新写入的重写比特的d比特内的值p的一个现有比特。对于最大数据存储密度,一般期望使用最小可能比特间距Tmin/(d+1)。
现在参照图3-5来说明在用于(2,10)代码的重写模式产生器7中可以实现的编码方案。在图3中,表格的左列示出了当在编码器6中使用(2,10)代码时可以在编码的输入数据bi、...中出现的九个基本游程模式。这些模式的每个包括以“1”结束的L个零的游程,其中2≤L≤10。所述表格的右列示出了可以被重写模式产生器7用于编码这些bi模式的每个的重写模式vi、...。对于标号为1-3的bi模式和其后的奇数标号的模式,重写模式是唯一的。对于剩余的bi模式,存在可以由重写模式产生器7使用的vi模式的选择。按照在重写模式产生器中实现的编码规则,在编码的输入数据bi、...中的值x的一个比特总是被编码为值p的重写比特,其中在这个实施例中x=p=1。因此,在所述表格中的bi模式的末尾的多个“1”在对应的vi模式的末尾中被编码为多个“1”,如在所述列中的虚线所分界的。每个bi模式的剩余部分是L个零的游程,这些游程被编码以便依赖于L的值来满足两个条件之一。如果L≤2d,即如果在这种情况下L≤4,则在bi模式中的L个零的游程被编码为在vi模式中的L个零的游程。因此在这个示例中,在所述表格中的前三个重写模式与对应的bi模式相同。对于剩余的bi模式L>2d,按照不同的规则来编码L个零的游程。这些游程的每个被编码为由n个“1”和(L-n)个零的L个重写比特组成的游程,其中通过n=CEIL[(L-2d)/d]来给出数量n。因此,对于2d<L≤3d,n=1;对于3d<L≤3d,n=2;等等。而且,在重写比特的游程中的n个“1”的位置是重要的。考虑到在所述表格中所示的游程,可以看出,在所有情况下在游程的末尾的d个比特内存在“1”;在游程的开始的2d+1个比特内存在“1”;如果n>1,n个“1”的每个在另一个所述n个“1”的d个比特内。
图3的vi模式应用于在编码的输入数据序列中对应的bi模式之前有一个“1”的情况,以使得在bi模式的L个零的游程是有界游程。这通常是这样的情况因为在编码的输入数据序列中的在先bi模式以一个“1”结束。但是,编码的输入数据可以以其前没有“1”的多个零的游程开始,并且/或者可以以不以“1”结束的零的游程结束。下面将说明用于这样的开始和结束模式的编码条件,但是首先有益的是考虑图3的基本模式,因为可以从这些模式看出重写系统的操作原理。由重写模式产生器7输出的vi模式的比特将依序被写入在存储表面4上,以在图3的图示中左手比特开始,并且可以在这个处理中重写旧数据。回忆用于写入操作的比特间距使得写入一个“1”可以擦除在新写入的“1”的d个比特--在此为2比特--内的先前写入的“1”。因此,在图3中的vi模式的前两个比特可以总是零,因为在这些比特位置的旧数据中的任何“1”将已经通过写入在先vi模式的终端1而被擦除。也可以看出,所述多个“1”位于vi模式中,使得当继续写入vi模式时,通过在vi模式中的多个“1”之一来擦除被从重写的旧数据中的任何“1”。而且,当在vi模式中存在多个“1”时,通过在vi模式中写入后续的“1”来擦除除了终端“1”外的所有内容。产生的在存储表面上记录的比特模式因此将是适当的bi模式。
在图4中与可以在重写模式产生器7中使用的对应vi模式一起示出了在用于写入操作的编码的输入数据序列的开始的可能bi模式。对于bi模式1和2和其后的偶数标号的模式,重写模式是唯一的,而对于剩余的bi模式,存在可以在重写模式产生器7中使用的vi模式的选择。每个bi模式包括由“1”结束的L个零的游程,其中1≤L≤10。按照在编码的输入数据中的“1”总是被编码为在重写数据中的“1”的一般原则,在附图中的bi模式的末尾的多个“1”被编码为在对应的vi模式的末尾的多个“1”,如在所述列中的虚线所分界。每个bi模式的剩余部分是L个零的游程,这些游程不是有界游程,因为没有以“1”结束的在先bi模式。这些L比特游程以vi模式编码,以使得依赖于L的值来满足两个条件之一。对于L≤d,在此即L≤2,所述游程被编码为vi模式的L个零的游程。但是,L>d的游程被编码为包括m个“1”和(L-m)个零的L个重写数据比特的游程,其中m=CEIL[(L-d)/d]。因此,对于d<L≤2d,m=1;对于2d<L≤3d,m=2;等等。另外,考虑到在vi模式中的这些L比特的游程,可以看出,在每种情况下,所述m个比特被定位使得在游程的末尾的d个比特内存在“1”;在游程的开始的d+1个比特内存在“1”;如果m>1,则所述m个比特的每个在另一个所述m比特的d个比特内。将在此产生的用于bi模式3-10的vi模式与在图3中的用于相同的bi模式的那些模式相比较,可以看出,在图4中的vi模式包括在所述模式的开始的d+1个比特内的一个额外的“1”。这是要处理这样的事实在由vi模式的前两个比特重写的旧数据中的“1”将不被在先vi模式擦除,因为当前的vi模式是重写数据序列的开始。
在用于写入操作的编码的输入数据序列可以以除了图3的那些之外的一个bi模式结束的情况下,在图5中与可以在重写模式产生器7中使用的对应vi模式一起示出了可能的结束模式。这些bi模式的每个包括L个零的游程,其中1≤L≤10,并且这些游程也不是有界游程,因为在这种情况下没有终端“1”。用于以vi模式编码这些游程的条件也依赖于L的值。如果L≤d,即在此L≤2,这所述游程在vi模式中被编码为L个零的游程。但是,在图5中的游程3-10(对于它们L>d)分别与图3的bi模式2-9同等地编码。结果,图5中的vi模式3-10与它们对应的bi模式相比较包括一个额外的比特。这个额外的比特是在所述模式的末尾的“1”,并且是保证除了所述额外比特本身之外的结果产生的记录比特模式是正确的bi模式所必需的。
图3-5的表格给出了对于(2,10)代码可以在重写模式产生器7中使用的所有可能的vi模式,所述所有可能的vi模式包括实现直接重写所需要的最小可能数量的“1”。在关于给定的bi模式的vi模式不是唯一的情况下,可以使用任何等效的vi模式,以使得可以在不同的时间对于同一bi模式使用不同的vi模式。但是,为了实现的简化,重写模式产生器一般被配置来将给定的bi模式编码为给定的vi模式。因此在一个优选实施例中,重写模式产生器7将在图3-5中的每个bi模式编码为在存在选择的表格中首先列出的对应vi模式。这些vi模式包括在附图中示出的简单重复的“01”序列。当在操作中接收到编码的输入数据时,重写模式产生器7作为一种超前编码器(look-aheadcoder)它找到在输入的比特流中的每个连续“1”的位置。每个“1”标注了当前bi模式的末尾,当前bi模式被编码为适当的vi模式,它随后被输出到阵列驱动器3。如果在用于写入操作的编码的输入数据的末尾没有“1”,则重写模式产生器使用来自图5的适当的vi模式作为最后的vi模式。在一些实施例中,重写模式产生器可以被实现为软件,对于本领域内的技术人员而言,通过在此的说明实现适当的软件是显然的。在其他实施例中,重写模式产生器可以例如通过硬连线的逻辑门被实现为硬件或软件和硬件的组合或实现为例如查找表。
图6通过用于在重写模式产生器7中使用的vi模式是在图3-5中首先列出的模式的情况下的工作示例来演示重写操作。在这个附图的顶部的比特序列表示要被重写的旧数据模式。第二比特序列表示要被记录的新数据模式,即由(d,k)编码器6输出的编码的输入数据b0、b1、b2、...。第三比特序列是由重写模式产生器7从编码的输入数据产生的重写模式v0、v1、v2、...。在这个简单的示例中,要记录的数据仅仅包括18个比特,虽然实际上用于写入操作的数据行通常更长。在附图中的重写序列下的19个比特模式的每个示出了在写入重写序列的连续比特后在存储表面上记录的比特模式。因此,这些比特模式的第一个示出了在写入v0后的记录模式,第二个示出了在写入v1后的记录模式,等等。在每个模式中,以粗体示出新写入的比特。因为写入“1”可以擦除在写入位置的±2比特内的在先写入的“1”,因此每个写入操作可以潜在地影响在附图中由虚线为界的区域内的5个连续比特的值(向写入序列的开始和末尾下降到三个连续比特)。当写入操作进行时,旧数据被逐渐转换为新的bi序列。一旦已经写入了在重写序列的末尾的额外比特v18,则可以看出在这个额外比特之前记录的18比特序列是所需要的bi序列。从这个示例注意到,它可以从不必擦除都在写入位置左面或右面的两个“1”,因为通过(d,k)代码来禁止两个连续的“1”。而且,当在一个现有的“1”的位置写入一个“1”时,在这个位置的每侧的两个现有比特必然是零,因此在这个情况下不需要擦除任何比特。
对于在一些情况下需要的额外比特,实践中,在存储介质上的可写入区域周围通常提供保护带,以保证在行的开始和末尾存在空间,并且避免在不同区域中的数据之间的干扰。当从存储介质读回数据时,在保护带中的额外比特被忽略,并且简单地由检测器电路3向(d,k)解码器8提供bi序列。这个解码器实现了由编码器6执行的(d,k)代码的逆代码,借此将原始输入数据恢复为输出数据。
可以看出,上述系统使得可以直接重写旧数据,避免了在写入操作前擦除数据的必要。而且,这比在如上引用的我们最早的欧洲专利申请中所公开的方法使用更少的功耗而被实现。那个申请描述了两种基本的重写方法,在所述申请中被称为“方法1”和“方法2”。由用于图3的基本bi模式的那些方法产生的重写模式被列出在图7的表格中。这个表格的最后一列列出了用于上述的本发明的简单实施例的重写模式。比较这些模式可以看出,所述新技术提供比较早方法的重写模式包括少得多的“1”的重写模式。实际上,所述新的重写模式包括实现直接重写所需要的最小可能数量的“1”。这转换为在重写操作中的最佳功耗。在此节能的意义通过下面的分析而被证明。
设PW是单个写入操作(即在上述示例中的写入单个“1”)所需要的功率,pi是前后都有“1”的i个连续零(即i个零的有界游程)的游程长度的概率。将上述的(2,10)代码作为示例,则从图7通过下列来给出用于所述三种方法的每种的平均功率耗散 P新=Pw(p2+p3+p4+2p5+2p6+3p7+3p8+4p9+4p10)(3)应当相对于用于在清洁的存储表面上的基本写入操作的对应功率来测量任何特定的重写方法所需要的功率。这样的基本写入操作所需要的功率是 因为Σi=210pi=1.]]>通过使用一种方法相对于另一种方法在功率耗散上的降低可以被量化为“功率耗散降低因子”fA,B,其中 一种方法相对于另一种的功率优点依赖于所使用的特定代码的游程长度概率。已经对于在我们最早申请中公开的用于两种速率8/16(2,10)代码所估计的游程长度概率(被称为“代码1”和“代码2”),并且它们被示出在图8的表格中。根据这些概率,用于两种代码的各种方法的功率耗散被指示在图9的表格中。用于所述三种重写方法的功率耗散降低因子--以方法1为参考--被示出在图10的表格中。可以从这些表格看出,当例如使用代码2时,方法2需要由方法1所需要的功率的73.2%,而新方法仅仅需要这个功率的37.2%。与在清洁基底上的简单写入操作相比较,新方法仅仅需要大约39%的更多功率,而方法2需要大约173%的更多功率。新的重写系统因此相对于所述较早的重写方法在功耗上大幅度节省。
虽然上面已经对于(2,10)代码图解了重写系统的操作,通过应用用于产生重写模式的一般编码规则,可以以任何d≥2代码来使用系统。举例而言,图11示出了用于具有d=3代码的基本bi模式的重写模式(等效于图3的那些重写模式)。这些当然可以对于k的任何值继续。事实上,虽然为了时间恢复目的而期望k限制,但k限制在理论上对于重写技术的操作不是必要的。另外,虽然在上述示例中值x=p=1,但是可以使用较早给出的一般化规则来向所述系统应用x的值或p的值。举例而言,图12示出了与图3等效的表格,用于一个替代实施例,其中x=0和p=1。在其中x=p的实施例中,不论是否这个值是“0”或“1”,重写操作的结果是像在上述示例中那样在存储表面上记录编码的输入数据b0、b1、b2、...。但是,当像在图12中那样x=p时,则重写程序将记录编码的输入数据的补码,即b0、b1、b2、...。这被演示在图13中,它示出了与图6等效的示例,但是其中假定x=0并且p=1。因此,在其中x=p的实施例中,在图1中的驱动电路3和解码器8之间提供反相器,借此通过获取这个数据的补码并且然后执行逆(d,k)编码来解码从存储表面读取的数据。
虽然在所述的特定实施例中存储器1使用Millipede探针存储阵列,但是可以在其他体现本发明的基于探针的存储器中使用不同的探针结构。而且,本发明的实施例可以使用在我们较早申请中所述的写入模式选择,由此控制器根据是否写入模式是重写旧数据或在存储表面的清洁区域上写入来选择重写数据或编码的输入数据作为写入模式。但是,因为本发明的实施例与用于在清洁表面上的基本写入操作的那些相比较已经降低了重写功率要求,因此在此写入模式选择更为相关,并且上述的简单系统一般是优选的。在不脱离本发明的范围的情况下当然可以对上述的特定实施例进行许多其他改变和修改。
权利要求
1.一种用于在基于探针的存储器(1)中重写数据的方法,其中通过经由所述存储器的探针在存储表面(4)中形成的凹坑的存在与不存在来表示数据,所述方法包括编码输入的数据,以使得在编码的输入数据(b0、b1、b2、...)中的值x的连续比特被值x的至少d个比特隔离,其中d是预定数量≥2;通过编码所述被编码的输入数据比特(b0、b1、b2、...)来产生重写数据比特(v0、v1、v2、...),以使得如果一个凹坑表示在数据存储器(1)中的值p的一个比特,则(a)在编码的输入数据(b0、b1、b2、...)中的值x的任何比特被编码为值p的重写数据比特,(b)在编码的输入数据(b0、b1、b2、...)中的值x的L≤2d比特的任何有界游程被编码为值p的L个重写数据比特的游程,和(c)在编码的输入数据(b0、b1、b2、...)中的值x的L>2d个比特的任何有界游程被编码为由值p的n个比特和值p的(L-n)个比特组成的L个重写数据比特的游程,其中n=CEIL[(L-2d)/d],并且n个比特被定位在游程中,以使得(c1)在所述游程的末尾的d个比特内存在值p的一个比特,(c2)在所述游程的开始的2d+1个比特内存在值p的一个比特,和(c3)对于n>1,n个比特的每个在另一个所述n个比特的d个比特内;和在存储表面(4)上使用以一个比特间距的重写数据比特(v0、v1、v2、...)来重写数据,以使得写入值p的一个重写数据比特可以擦除在那个重写数据比特的d个比特内的值p的一个现有比特。
2.按照权利要求1的方法,对于在用于重写操作的编码的输入数据(b0、b1、b2、...)的开始的值x的L个比特的游程,包括如果L≤d,则将所述游程编码为值p的L个重写数据比特的游程;如果L>d,则将所述游程编码为由值p的m个比特和值p的(L-m)个比特组成的L个重写数据比特的游程,其中m=CEIL[(L-d)/d],并且在所述游程中定位所述m个比特,以使得(1)在所述游程的末尾的d个比特内有值p的一个比特,(2)在所述游程的开始的d+1比特内有值p的一个比特,以及(3)对于m>1,所述m个比特的每个在另一个所述m个比特的d个比特内。
3.按照权利要求1或权利要求2的方法,对于在用于重写操作的编码的输入数据(b0、b1、b2、...)的末尾的值x的L个比特的游程,包括如果L≤d,则将所述游程编码为值p的L个重写数据比特的游程;如果d<L≤2d,则将所述游程编码为包括由值p的一个比特终止的值p的L个比特的(L+1)个重写数据比特的游程;以及如果L>2d,则将所述游程编码为(L+1)个重写数据比特的游程,所述(L+1)个重写数据比特的游程包括由值p的一个比特终止的、按照权利要求1的条件(c)中的L个重写数据比特的游程。
4.按照任何前述权利要求所述的方法,其中p=1。
5.按照任何前述权利要求所述的方法,其中x=1。
6.按照任何前述权利要求所述的方法,其中d=2。
7.按照任何前述权利要求所述的方法,其中输入数据被编码以便在编码的输入数据(b0、b1、b2、...)中的值x的连续比特被值x的至少“d”个和至多“k”个比特隔离,其中k是预定数量>d。
8.按照权利要求7的方法,其中d=2并且k=10。
9.一种用于在基于探针的数据存储器(1)中存储和恢复数据的方法,其中通过所述存储器的探针在存储表面(4)中形成的凹坑的存在与不存在来表示数据,所述方法包括通过在任何前述权利要求中所述的方法来在存储表面(4)上存储数据,并且通过下列方式来解码从存储表面(4)读取的数据-如果在所述存储器(1)中所述值x等于所述值p,则执行被应用到输入数据以产生所述编码的输入数据(b0、b1、b2、...)的编码的逆变换;以及-如果在数据存储器中所述值x等于所述值p,则获取从存储表面读取的数据的补码,然后执行被应用到输入数据以产生所述编码的输入数据(b0、b1、b2、...)的编码的逆变换;由此恢复所述输入数据。
10.一种用于编码数据以存储在基于探针的数据存储器(1)中的编码装置,其中通过由所述存储器的探针在存储表面(4)中形成的凹坑的存在与不存在来表示数据,所述装置包括编码器(6),用于编码要存储在所述存储器中的输入数据,以使得在编码的输入数据(b0、b1、b2、...)中值x的连续比特被值x的至少d个比特隔离,其中d是预定数量≥2;重写模式产生器(7),用于通过编码所述编码的输入数据(b0、b1、b2、...)来产生重写数据比特(v0、v1、v2、...),以使得(a)在编码的输入数据(b0、b1、b2、...)中的值x的任何比特被编码为值x的重写数据比特,(b)在编码的输入数据(b0、b1、b2、...)中的值x的L≤2d个比特的任何有界游程被编码为值x的L个重写数据比特的游程,和(c)在编码的输入数据(b0、b1、b2、...)中的值x的L>2d比特的任何有界游程被编码为L个重写数据比特的游程,所述L个重写数据比特由值x的n个比特和值x的(L-n)个比特组成,其中n=CEIL[(L-2d)/d],并且在所述游程中定位所述n个比特,以使得(c1)在所述游程的末尾的d个比特内存在值x的一个比特,(c2)在所述游程的开始的2d+1个比特内存在值x的一个比特,和(c3)对于n>1,n个比特的每个在另一个所述n个比特的d个比特内。
11.一种用于编码数据以存储在基于探针的数据存储器(1)中的编码装置,其中通过由所述存储器的探针在存储表面(4)中形成的凹坑的存在与不存在来表示数据,所述装置包括编码器(6),用于编码要存储在所述存储器(1)中的输入数据,以使得在编码的输入数据(b0、b1、b2、...)中值x的连续比特被值x的至少d个比特隔离,其中d是预定数量≥2;重写模式产生器(7),用于通过编码所述编码的输入数据(b0、b1、b2、...)来产生重写数据比特(v0、v1、v2、...),以使得(a)在编码的输入数据(b0、b1、b2、...)中的值x的任何比特被编码为值x的重写数据比特,(b)在编码的输入数据(b0、b1、b2、...)中的值x的L≤2d个比特的任何有界游程被编码为值x的L个重写数据比特的游程,和(c)在编码的输入数据(b0、b1、b2、...)中的值x的L>2d比特的任何有界游程被编码为L个重写数据比特的游程,所述L个重写数据比特由值x的n个比特和值x的(L-n)个比特组成,其中n=CEIL[(L-2d)/d],并且在所述游程中定位所述n个比特,以使得(c1)在所述游程的末尾的d个比特内存在值x的一个比特,(c2)在所述游程的开始的2d+1个比特内存在值x的一个比特,和(c3)对于n>1,n个比特的每个在另一个所述n个比特的d个比特内。
12.一种用于编码和解码在基于探针的数据存储器(1)中的数据的装置(5),其中通过由所述存储器的探针在存储表面(4)中形成的凹坑的存在与不存在来表示数据,所述装置(5)包括按照权利要求10或权利要求11的编码装置;以及解码器(8),用于解码从存储表面(4)读取的数据,所述解码器(8)被布置来实现由所述编码器(6)实现的代码的逆代码。
13.一种基于探针的数据存储器(1),包括存储表面(4);探针机构(2),用于通过在其中形成凹坑来在存储表面上存储数据,以使得通过在所述表面(4)上的比特位置的凹坑的存在与不存在来表示数据;编码器(6),用于编码要存储在所述存储器中的输入数据,以使得在编码的输入数据(b0、b1、b2、...)中的值x的连续比特被值x的至少d个比特隔离,其中d是预定数量≥2;重写模式产生器(7),用于通过编码所述编码的输入数据(b0、b1、b2、...)来产生重写数据比特(v0、v1、v2、...),以使得如果凹坑表示值p的一个比特,则(a)在编码的输入数据(b0、b1、b2、...)中的值x的任何比特被编码为值p的重写数据比特,(b)在编码的输入数据(b0、b1、b2、...)中的值x的L≤2d个比特的任何有界游程被编码为值p的L个重写数据比特的游程,和(c)在编码的输入数据(b0、b1、b2、...)中的值x的L>2d比特的任何有界游程被编码为L个重写数据比特的游程,所述L个重写数据比特由值p的n个比特和值p的(L-n)个比特组成,其中n=CEIL[(L-2d)/d],并且在所述游程中定位所述n个比特,以使得(c1)在所述游程的末尾的d个比特内存在值p的一个比特,(c2)在所述游程的开始的2d+1个比特内存在值p的一个比特,和(c3)对于n>1,n个比特的每个在另一个所述n个比特的d个比特内;其中所述探针机构(2)被布置为在使用中以在一个比特间距的重写数据比特来在存储表面上重写数据,以使得写入值p的重写数据比特可以擦除在那个重写数据比特的d个比特内的值p的现有比特。
14.按照权利要求13的装置,其中重写模式产生器(7)被布置来通过下述方式编码在用于重写操作的编码的输入数据(b0、b1、b2、...)的开始的值x的L个比特的游程如果L≤d,则将所述游程编码为值p的L个重写数据比特的游程;如果L>d,则将所述游程编码为由值p的m个比特和值p的(L-m)个比特组成的L个重写数据比特的游程,其中m=CEIL[(L-d)/d],并且在所述游程中定位所述m个比特,以使得(1)在所述游程的末尾的d个比特内有值p的一个比特,(2)在所述游程的开始的d+1比特内有值p的一个比特,以及(3)对于m>1,所述m个比特的每个在另一个所述m个比特的d个比特内。
15.按照权利要求13或权利要求14的装置,其中重写模式产生器(7)被布置来通过下述方式编码在用于重写操作的编码的输入数据(b0、b1、b2、...)的末尾的值x的L个比特的游程如果L≤d,则将所述游程编码为值p的L个重写数据比特的游程;如果d<L≤2d,则将所述游程编码为包括由值p的一个比特终止的值p的L个比特的(L+1)个重写数据比特的游程;以及如果L>2d,则将所述游程编码为(L+1)个重写数据比特的游程,所述(L+1)个重写数据比特的游程包括由值p的一个比特终止的、按照权利要求13的条件(c)中的L个重写数据比特的游程。
16.按照权利要求13-15的任何一个的装置,包括解码器(8),用于解码从存储表面(4)读取的数据,所述解码器(8)被布置来通过下述方式恢复输入数据如果所述值x等于所述值p,则执行应用到输入数据以产生所述编码的输入数据(b0、b1、b2、...)的编码的逆变换;以及如果所述值x等于所述值p,则获取从存储表面(4)读取的数据的补码,然后执行被应用到输入数据以产生所述编码的输入数据(b0、b1、b2、...)的编码的逆变换。
17.按照权利要求13-16中的任何一个的装置,其中p=1。
18.按照权利要求13-17的任何一个的装置,其中探针机构(2)包括多个可独立寻址的探针,用于在存储表面(4)上写入数据。
19.按照权利要求10-18的任何一个的装置,其中x=1。
20.按照权利要求10-19的任何一个的装置,其中d=2。
21.按照权利要求10-20的任何一个的装置,其中编码器(6)被布置来编码输入数据,以使得在编码的输入数据(b0、b1、b2、...)中的值x的连续比特被值x的至少“d”个和至多“k”个比特隔离,其中k是预定数量>d。
22.按照权利要求21的装置,其中d=2并且k=10。
全文摘要
提供用于在基于探针的数据存储器(1)中重写数据的方法和装置,其中在该数据存储器中通过经由所述存储器的探针在存储表面(4)中形成的凹坑的存在与不存在来表示数据。首先编码输入的数据,以使得在编码的输入数据(b
文档编号G11B20/10GK1653541SQ03811114
公开日2005年8月10日 申请日期2003年6月13日 优先权日2002年6月27日
发明者西奥多·安东纳科波罗斯, 埃文盖洛斯·S·伊莱夫塞里奥, 哈里斯·伯奇第斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1