带有用于存储数据的非易失性存储器的存储系统的制作方法

文档序号:6752997阅读:208来源:国知局
专利名称:带有用于存储数据的非易失性存储器的存储系统的制作方法
技术领域
一般说来,本发明涉及数据存储,确切地说,涉及可拆卸介质的数据存储单元中的数据存储。
背景技术
数据存储介质用于数据的存储。数据存储介质的实例包括基于集成电路的存储介质,比如磁阻随机存取存储器(MRAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、电擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、只读存储器(ROM)、随机存取存储器(RAM)和可编程只读存储器(PROM)。基于非集成电路之介质的实例包括基于磁性的存储介质,比如硬盘、磁带和软盘;基于光学的系统,比如光盘(CD)和数字视频盘(DVD);以及磁光介质。以上阐述的基于非IC的存储器类型本质上是机械的,检索所述数据时它们需要机械操作(如转动磁盘、移动磁带)。
典型情况下,基于IC的介质的数据存取时间显著快于基于非IC之介质的数据存取时间。不过典型情况下,非IC介质数据存储的每位成本显著低于基于IC之介质的成本。所以典型情况下,基于非IC的介质用作数据的“海量存储”。
使用基于非IC之介质的所述存取时间限制会降低使用所述介质的系统的运行效率。对于使用基于非IC之介质的系统,有必要改进其运行效率。
不仅如此,对于可拆卸介质的存储单元,一旦可拆卸介质被拆卸,典型情况下从所述可拆卸介质存取数据所用的数据就不再永久地存储在所述可拆卸介质的数据存储系统中。结果,再次插入所述可拆卸介质时,就必须再次访问这种信息。
附图简要说明参考附图,本领域的技术人员可以更好地了解本发明,并使其众多的目的、特征和优点显而易见。


图1是一幅框图,展示了根据本发明的数据存储系统的一个实施例;图2是一幅符号表达图,显示了现有技术中主列表的实施方案;图3是一幅流程图,显示了根据本发明进行数据存取的数据存储系统的一个实施例;图4是一幅流程图,显示了数据存储系统的一个实施例,它使用高速缓存来存储信息设备发出的用户数据;图5是一幅符号图,显示了根据本发明的一个实施例,对介质进行优化扇区检索的方式;图6是一幅流程图,显示了根据本发明的一个实施例,对介质进行优化扇区检索;图7是一幅符号表达图,显示了根据本发明的数据存储系统的一个实施例,它使用基于非易失性IC的介质来存储用户数据;图8是一幅符号表达图,显示了根据本发明的数据存储系统,它连同冗余磁盘阵列(RAID)系统,使用基于非易失性IC的介质来存储用户数据;图9是一幅符号表达图,显示了实施RAID的数据存储系统;图10是一幅俯视图,显示了根据本发明的一个实施例中硬盘表面的扇区布局;图11是一个实施例的示意图,显示了根据本发明的数据存储系统中,基于非易失性IC的介质中存储的用户数据块的一部分;图12是一幅流程图,显示了根据本发明的数据写入访问的一个图13是一幅流程图,显示了根据本发明的数据写入访问的另一个实施例;图14是一幅流程图,显示了根据本发明的数据读取访问的一个
具体实施例方式
下面阐述实施本发明之模式的详细说明。本说明意在展示本发明,而不应当作为限制。
图1是一幅框图,展示了根据本发明的数据存储系统。在所示实施例中,数据存储系统110包括基于非IC的介质112以及对介质112进行数据存取所用的电路。数据存储系统110通过I/O总线128,可操作地连接到信息设备141,以便从它那里接收要存储在介质112上的用户数据,以及向它提供从介质112检索到的用户数据。用户数据就是信息设备141所用的数据。用户数据的实例可以包括可执行的程序文件、数据块文件、多媒体文件(比如音乐、视频和图片)、信息文件(比如字处理文档或电子数据表)以及信息设备141的计算机操作员记录。在一个实例中,信息设备141是个人计算机系统,数据存储系统110是所述计算机系统的计算机机箱(未显示)中安装的硬盘系统(往往被称为硬盘驱动器)。在这样一个实例中,总线128是遵从计算机总线标准的总线,比如IDE标准、增强IDE(E-IDE)标准或小型计算机系统接口(SCSI)标准。在其他实施例中,信息设备141可以是例如家庭媒体服务器、个人录像机、有线或卫星机顶盒、游戏机、投币式自动电唱机、家庭保安系统、车载电子设备、个人数字助理(PDA)、寻呼机、手机、音频播放机、家庭通信中心集线器以及数码摄像机。在其他实施例中,信息设备可以是扬声器、显示器、耳机、话筒或者使用或提供数据存储系统110中存储之用户数据的其他设备。
在所示实施例中,介质112包括存储用户数据所用的硬盘。在其他实施例中,介质112可以包括多台硬盘或其他类型的存储器,比如光盘、磁带、磁光存储设备或存储数据所用的任何其他介质,或者以上列出之介质类型的组合。
数据存储系统110包括控制系统111。控制系统111包括处理器116,用于控制数据存储系统110的运行。处理器116可操作地连接到总线128,以便向信息设备141提供用户数据以及从其接收用户数据。处理器116通过HEAD CONTROL信号线和放大器119,向磁头传动机构131提供磁头控制信号,以便把读/写头113移动到介质112的恰当磁轨上进行数据存取。处理器116也通过MOTOR CONTROL线和放大器122,向主轴电机114提供电机控制信号,以便使电机114保持在恒定的速度。处理器116通过WRITE信号线和放大器120,向所述读/写头113提供数据,以便把所述数据写入特定的扇区。处理器116通过READ线和放大器118,从所述读/写头113接收数据。控制系统111包括程序存储器124,用于存储处理器116为了进行其操作而执行的程序代码。本领域的技术人员将会理解,数据存储系统可以包括图1中未显示的其他常规电路和设备。同样,其他类型的数据存储系统也可以被配置为实施本文的内容。
控制系统111包括非易失性存储器126,它可操作地连接到处理器116。在一个实施例中,存储器126实施在基于IC的存储器中,比如MRAM。MRAM是非易失性存储器,它以磁方式存储数据。利用MRAM存储器,所述MRAM中存储的数据就可以在运行期间改变。利用某些MRAM,所述存储器中的数据可以由不高于5.5伏的电压来编程。大多数MRAM由低于2伏的电压编程。所以,为控制系统111的电子组件提供电源所需的电压可以用于对存储器126编程。在一个实施例中,存储器124和126实施在同一集成电路中。在其他实施例中,存储器124和126实施在同一存储器阵列中。在某些实施例中,在所述存储系统的运行期间,可分配给所述程序存储器124和存储器126的部分可以改变。在另一个实施例中,所述主列表可以存储在存储器126中可变的位置。在一个实施例中,处理器116、程序存储器124和存储器126与控制系统111的其他电子器件(未显示)一起实施在电路板(未显示)上。
硬盘112所用的主列表127“非易失性地”存储在存储器126中。典型情况下,主列表包括存储介质112中存储的每个文件的项。每个项都包括为该文件存储第一块的扇区在介质112上的物理位置。
图2是主列表和硬盘表面的上表面的一幅符号表达图,展示了常规方式下数据如何存储在硬盘上的实例。在图2的实施例中,存储在硬盘表面212上的文件分为三个用户数据块,标记为DATA A、DATAB和DATA C,分别存储在硬盘表面212的扇区215、扇区216和扇区217。扇区块206显示了存储在扇区215的数据,扇区块208显示了存储在扇区216的数据,扇区块210显示了存储在扇区217的数据。每个扇区块(206、207和208)都包括一个头部、存储在该扇区的一个用户数据块(如扇区块206包括块DATA A)以及一个尾部,它包括存储着所述文件用户数据下一块的扇区的物理位置。例如,扇区块206的所述尾部包括存储着块DATA B的扇区216的物理位置。
为了检索磁盘表面212上存储的文件,数据存储处理器(如116)首先访问主列表205,以便获得存储着用户数据的第一块(DATA A)的扇区215的物理位置。然后,所述处理器访问在扇区215的数据,以便获得在该位置的所述用户数据以及扇区216(在那里存储着用户数据的下一块(DATA B))的物理位置。扇区217的物理位置位于扇区块208(它存储在扇区216)的尾部区段中。文件尾(EOF)标记位于扇区块210(它存储在扇区217)的尾部区段中。所述EOF标记表面扇区块210包括了所述文件中数据的最后部分。
在常规的硬盘系统中,所述主列表存储在所述硬盘的一个扇区(或多个扇区)中。为了存取一个文件,硬盘系统的所述处理器访问所述硬盘上的所述主列表,以便获得文件数据的第一个扇区块的位置。把一个新文件写入所述硬盘时,在所述主列表中创建一个新的项。所述新项包括存储着所述文件中数据的第一块的扇区的物理位置。
回头参考图1,因为数据存储系统110的主列表127存储在基于IC的非易失性存储器中,所以访问主列表127时不必访问硬盘112,从而显著地缩短了所述主列表的访问时间。所以,由于对硬盘112的访问至少减少了一次,就能够缩短文件的访问时间。另外,因为主列表127非易失性地存储在存储器126中,所以即使在紧急断电的情况下,所述主列表也自动地是当前值。不仅如此,把新文件写入磁盘所用的时间也缩短了,因为不必从硬盘112检索所述主列表,然后再把带有新文件所述项的主列表写回硬盘112。
此外,典型情况下在硬盘系统中,所述主列表存储在所述硬盘表面的一个扇区上。如果所述硬盘的所述扇区被破坏,那么整个数据存储系统就不能使用了。对于某些基于非IC的存储器(如硬盘系统或磁带驱动器系统),基于非IC的存储器中存储的数据被破坏的可能性大于基于IC的存储器(如MRAM存储器)中存储的数据被破坏的可能性。因此,使用这些更加可靠的存储器可以使所述数据存储系统更加可靠。另外,在某些实施例中,所述主列表的备份同样可以存储在硬盘上。对于这些实施例中的一部分,所述主列表的所述备份可以存储在硬盘112的任何位置。同时,对于这些实施例,处理器116可以把所述备份主列表与原始列表进行对比以发现差错。
图3是一幅流程图,显示了根据本发明进行数据存取的一个实施例。处理器116通过执行程序存储器124中存储的代码,执行图3中的所述流程图。在302中,处理器116从信息设备141接收访问请求。在304中,处理器116判断所述访问是读取访问还是写入访问。如果所述访问是读取访问,处理器116就在307中访问存储器126中的主列表127,以便发现存储所请求的文件中数据的第一个扇区的位置。在310中,处理器116从硬盘112的所述扇区检索所述文件。如果在304中判定了所述访问是写入访问,处理器116就在306中进行所述写入访问并在308中更新主列表127。
在图2的实例中,主列表205的每个项都包括在硬盘表面212上存储着与该项相关联的文件数据块的第一个扇区在硬盘表面212上的物理位置。不过,在本发明的某些实施例中,所述主列表还可以为每个文件项包括其他的数据和/或附加数据。例如,参考图5,在所述主列表中每个文件的项520都包括存储着该文件数据块的每个扇区的位置。参见下面对图5的讨论。
在其他实施例中,处理器116可以被配置为在存储器126中存储其他类型的系统数据。例如,存储器126可以存储指明介质112上缺陷扇区的列表、介质112上可用扇区的列表、指明缺陷扇区及所述缺陷扇区之替代扇区的列表(缺陷扇区替代列表)以及介质112上受到复制保护的扇区和/或数据的列表。存储器126也可以被配置为存储着读/写通道参数比如磁头增益,以及伺服参数比如转矩常数。存储器126还可以存储其他类型的系统数据,这取决于介质112的介质类型以及在介质112中数据如何存储。在基于IC的非易失性存储器中存储系统数据,使得数据存储系统的处理器能够更快地访问所述系统数据,从而缩短了所述数据存储系统对用户数据的整体访问时间。
非易失性存储器126也可以用于存储从信息设备141收到的用户数据。采用存储器126来存储用户数据可以改进所述数据存储系统的性能、速度和/或效率。
图4是处理数据存取所用的方法的流程图,其中使用了存储器126的一部分作为用户数据的高速缓存。在图4的实施例中,从信息设备141收到的用户数据的文件存储在存储器126中。因此,如果后来有对所述文件的请求,就能够向信息设备141提供在存储器126中存储的所述文件,其时间少于访问介质112来获得所述时间的时间。
参考图4,处理器116从信息设备141接收访问请求。如果在414中所述访问请求被判定为写入请求,处理器116就在430中检验存储器126是否已满。如果存储器126未满,那么处理器116就在434中把收到的时间写入存储器126。如果在430中判定存储器126已满,那么处理器116就在432中执行高速缓存清除算法,把当前存储在存储器126中的文件写入介质112,以便在存储器126中为所述收到的数据产生空间。在434中,从信息设备141收到的所述数据被写入存储器126。在一个实例中,所述高速缓存清除算法包括把存储器126中最早写入的数据移到所述介质112。在另一个实施例中,所述高速缓存清除算法包括去除最近最少使用的数据。另一个高速缓存清除算法可能是去除一个或若干文件,它(们)与要进行高速缓存的数据大小相同。本领域的技术人员将会理解,根据本文的内容,其他的高速缓存清除算法也可以实施。
如果在414中,所述访问被判定为读取访问,处理器116就在416中检验所请求的数据是否高速缓存在存储器126中。如果发现所请求的数据在存储器126中,那么就在422中从存储器126检索所请求的数据,并提供给信息设备141。如果在416中判定没有发现所请求的数据在存储器126中,所述处理器就从介质112检索所请求的数据。
在另一个实施例中,处理器116会判定介质112中存储的文件在预定的时间内已经频繁地被访问,并会把该文件写入存储器126。因此,将会大幅度缩短把该文件提供给信息设备141所需的时间。
通过把用户数据高速缓存在所述数据存储系统的基于IC的存储器中,就大幅度缩短了把该数据提供给信息设备的访问时间。不仅如此,通过采用非易失性存储器对所述数据进行高速缓存,即使在断电的情况下存储器126中存储的所述数据也不会丢失。因此,如果有文件的副本存储在介质112中和存储器126中,所述文件在存储器126中的所述副本将是更新近的副本,从而不必判断哪个副本是更近的副本。
不仅如此,采用存储器126作为数据写入的高速缓存使得数据存储系统110在数据写入后能够更快地执行后续的数据存取。对于某些常规的数据存储系统,在数据写入后,在该数据写入的所述数据写入所述基于非IC的介质(如硬盘)之后,数据存储系统才能进行数据存取。不过,如果存储器126的一部分用作所述数据写入的缓冲区,所述数据存储系统110就能够在所述数据写入后立即执行第二次数据存取,因为第一次数据写入的所述数据立即写入了所述基于IC的存储器126。因为存储器126是非易失性存储器,即使对数据存储系统110关断了电源,所述用户数据也将保持在存储器126中。所以,在某些实施例中,不必仓促地把存储器126中存储的数据写入存储系统110,因此所述数据可以在信息设备141没有访问的期间写入介质112。
在其他实施例中,所述数据存储系统会在存储器126中对从信息设备141收到的许多数据文件进行高速缓存,处理器116会进行写入猝发,把所述文件一次写入硬盘112。所以,所述硬盘系统110消耗的电力可以降低,因为多个文件的猝发写入所需的电力可能小于对每个文件进行的多次单独写入所需的电力。
在一个实施例中,为了在图4的流程图中实施上述写入缓冲区系统,432中所用的高速缓存清除算法将被配置为确保在存储器126中总是有数据写入所用的足够的可用缓冲区空间。因此,如果在414中判定了访问是数据写入,处理器116会立即把所述数据写入存储器126。
如果在包括可拆卸介质(参见图15的1512)的数据存储系统中实施图4的方法,响应拆卸所述介质的请求,存储器1526(参见图15)中存储的所述数据会写入介质1512。
参考图5和图6,响应信息设备141发出的读取访问请求而从介质112检索到的数据也可以在存储器126中进行缓冲存储,以便缩短所述读取访问所需的时间。参考图5,用户数据的文件519可以存储在硬盘表面501的多个扇区(如531)中。在图5的实例中,文件519包括6块数据(521、522、523、524、525和526),每一块都存储在磁盘表面501的不同扇区中。例如,块521存储在磁盘表面501的扇区531中。
对于某些数据存储系统,所述数据块可以存储在磁盘表面的非连续扇区中,需要数据存储系统的读/写头(如113)在多个磁轨之间往返移动才能检索所述数据。例如,扇区531(它存储着文件519的第一个数据块521)位于磁盘表面501的磁轨552中。扇区532(它存储着第二个数据块522)位于磁轨551中。扇区533(它存储着第三个数据块523)位于磁轨551中。常规情况下,为了检索这个文件的所述数据,将需要读磁头(如113)移动到磁轨552以检索扇区531中存储的第一个数据块521,然后移动到磁轨551以检索扇区532中存储的第二个数据块522,然后移动回到磁轨552以检索扇区533中存储的第三个数据块523。结果,由于读取访问期间读磁头(如113)在磁轨之间的所述移动,在常规方式下所述检索时间很长。
本发明的若干实施例施行不按次序的数据读取,以便优化数据检索时间。在这些实施例中,数据可以按非顺序的次序检索并在存储器126中进行缓冲存储,然后在提供给信息设备141。参考图5,在这些实施例中,主列表127的每个文件项(如520)都包括磁盘表面501上每个扇区(如531,它存储着与所述文件项相关联所述文件的数据块)的位置。例如,主列表项520包括扇区531、532、533、534、535和536的各个位置L1、L2、L3、L4、L5和L6。在主列表的文件项中包括存储着文件数据的每个扇区的位置在优选情况下可以使系统能够以非顺序的次序检索数据。因此缩短了检索数据文件所需的时间。
图6是一幅流程图,显示了实施不按次序数据检索的数据存储系统处理数据存取的方法的一个实施例。如果处理器116在603中从信息设备141收到一个文件的数据存取请求,并在605中判定所请求的访问是读取,处理器116就在607中访问主列表127中与所请求的文件相关联的所述项,以便检索存储着该文件中数据的扇区的位置。在这个实施例中,主列表127中的每个项都类似于图5的项520,它们包含着存储着与所述项相关联的文件数据的每个扇区的位置。
在609中,处理器1 16对扇区(如531、532)的所述位置(如L1、L2)进行排序,以便确定在这些扇区中检索所述数据的最优路径。确定最优路径所用的规则取决于数据存储系统在检索数据中的操作。例如,对于某些常规的硬盘系统,从磁轨到磁轨移动所用的时间比在一条磁轨中移动到不同的扇区所用的时间长。所以,一种方案可能是检索文件存储在一条磁轨的若干扇区中的所有块,再进至下一条磁轨。对于其他的常规硬盘系统,在一条磁轨的扇区之间旋转所需的时间超过从前一条磁轨移动至所需磁轨的时间。最优路径将据此确定。
确定最优路径中的另一个因素可能包括在收到所述读取请求时,所述读/写头(如113)在硬盘上的位置。确定最优路径中的另一个因素是数据存储系统把所请求的数据传递给信息设备(如141)中的操作。在一个实施例中,优化方案的一个目标是使从信息设备请求数据开始到向所述信息设备提供所请求的数据的总时间最短。
在图5的实施例中,如果读/写头113位于外部磁轨上,所述数据存储系统会首先检索磁轨551上的所述数据(如扇区532、534和535上的所述数据),然后检索磁轨552上的所述数据(扇区531、536和533上的所述数据)。在磁轨内检索数据的具体次序将取决于所述读/写头进入所述磁轨时的位置。在一个实例中,最优扇区检索路径可能是扇区532、534、535、531、536和533的次序。
回头参考图6,在609中确定了最优检索路径之后,处理器116就在611中检索所述路径的第一个扇区中的所述数据,并在613中把所述数据缓冲存储在存储器126中。对于上述检索路径,处理器116首先检索扇区532中的数据块522,并把数据块522写入存储器126(参见图5)。在615中,处理器116判断存储器126中的所述数据是否包括下一步要传递到信息设备141的数据块。因为这时存储器126仅仅包括第二个数据块522而且因为第一个数据块521尚未传递到信息设备141,处理器116就回到611以便从所述路径的下一个扇区(扇区534)检索所述数据(数据块524),然后进至613以便把数据块524写入存储器126。因为第一个数据块521尚未检索,处理器116就返回611,直至它从扇区531检索到数据块521。这时,数据块521、522、524和525存储在存储器126中。所以在615中,处理器116判定要传递到信息设备141的下一个数据块(521)位于存储器126中。在627中,把数据块521传递到信息设备141。然后,处理器116回到615,并判定要传递的下一个数据块(数据块522)缓冲存储在存储器126中,所以在627中传递数据块522。因为这时要传递的下一个数据块不在存储器126中,处理器116就回到611以便从扇区536检索下一个数据块526并在613中把数据块526写入存储器126。因为在615中数据块523(要传递的下一个数据块)不在存储器126中,那么处理器116就回到611以便从扇区533检索数据块523。因为数据块523现在在存储器126中,那么处理器116就把数据块523传递到信息设备141。因为其余的数据块524、525和526也在存储器126中,处理器116就继续通过615和627进行循环,依次把其余的数据块传递到信息设备141。在615中,没有更多的数据要传递时,处理器116就去往619,因为所述文件的所有数据块都已经检索,所述操作就在623中结束。
在其他实施例中,数据存储系统可以采用其他类型的不按次序的优化检索方法。例如,处理器116可以编程为检索文件的第一个数据块如521,然后对于存储着第一个数据块的扇区,对位于同一磁轨上扇区中的所有数据块进行缓冲存储。然后所述处理器会去往存储着要传递之下一个数据块的扇区所在的磁轨(只要该数据块不位于存储着第一个数据块的扇区所在的磁轨中),并且检索和缓冲该磁轨的扇区中存储的、该文件的所有数据块。所以,按照这样一种方案,读/写头113会每次检索一次地从磁轨检索数据。同样在其他实施例中,所述数据也可以缓冲存储在另一种类型的存储器中,比如DRAM或SRAM。
提供包括包含文件数据的所有扇区的位置的主列表,使得图6的实施例中的数据存储系统能够实施不按次序的检索。因为所述处理器知晓所有文件的位置,所述处理器就不必依次检索所述数据。在其他实施例中,所述主列表也可以存储其他信息,以便指明存储着文件数据的扇区的位置。例如,在某些实施例中,主列表中文件项的每个扇区位置字段可以包括连续数目字段,指明磁轨中从与所述扇区位置项相关联的扇区开始连续扇区(它们包含着文件的连续数据块)的数目。因此,数据存储系统的处理器(如116)就能够从所述主列表确定一组连续扇区,它们包括了文件的数据块。所以,对于磁轨上位于连续扇区中的一组连续次序的数据块,这样一个主列表对每条磁轨仅仅包含一个扇区位置字段。
在某些实施例中,从信息设备141收到的用户数据能够非易失性地存储在存储器126中,以便缩短数据检索的时间以及/或者“有效地”增加所述基于非IC之存储介质的容量。
图7是一幅符号表达图,显示的实施例采用存储器126非易失性地存储用户数据,以便缩短硬盘表面712上存储的文件的检索时间。在这个实施例中,存储器126用于非易失性地存储用户数据的文件,要是所述文件完全存储在硬盘表面712上,就会有相对长的检索时间。例如,一个用户数据的文件最初包括存储在硬盘表面712上扇区A中的第一个数据块DATA A,存储在磁盘表面712上扇区B中的第二个数据块DATA B以及存储在磁盘表面712上扇区C中的第三个数据块DATA C。包括所述三个数据块DATA A、DATA B和DATA C的文件的检索时间相对较短,因为所述数据块存储在三个连续次序的扇区A、B和C中。扇区块706、708和710分别表示在扇区A、B和C中存储的数据。
在包括DATA A、DATA B和DATA C的所述文件最初存储在磁盘表面712上之后,信息设备141就向数据存储系统110提供所述文件的修订版。所述修订版包括附加的数据块DATA D(如扇区块714所示)。因为没有其他可用的扇区位于在磁盘表面712上与扇区A、B和C相同的磁轨上,所以在磁盘表面712上存储DATA D会大幅度增加检索所述文件的时间,因为检索所述文件将包括所述读磁头在两条不同的磁轨之间移动至少两次。不过,在图7的实施例中,扇区块714存储在存储器126中,而扇区块708的尾部表明存储器126中存储着数据块DATA D的位置(LOC D)。扇区块714的尾部表明扇区C在磁盘表面712上的位置(LOC C),其中存储着数据块DATA C。因为DATA D存储在所述基于IC的存储器126中,检索所述修订后文件(包括数据块A、B、C和D)所需的时间与检索所述原始文件(包括数据块A、B和C)所需的时间大致相同。
为了提高数据检索的速度或者提高介质112的有效容量,可以以其他方式使用存储器126来非易失性地存储用户数据。例如,假若用户数据的文件长度为文件的最后一个数据块只有几个字节,这几个字节就可以存储在存储器126中,不再占用介质112的一个整扇区。在一个实施例中,处理器116将编程为考虑介质112的每个扇区价格和介质126的每个字节价格。如果所述文件最后一个数据块的字节数目足够小,使得把所述数据存储在存储器126中的成本小于采用介质112的一个整扇区的成本,那么处理器116就把最后一个数据块存储在存储器126中。在另一个实施例中,如果仅有文件的一个中间数据块被修订使得它超过了存储在扇区中的尺寸,所述修订后数据块超过所述扇区尺寸的部分就可以存储在存储器126中。
在其他实施例中,可以采用存储器126来存储否则要存储在已经确定为有缺陷的扇区中的数据。一个这样的实例是对于实施冗余磁盘阵列(RAID)系统的数据存储系统。图9表示了实施RAID系统的硬盘系统的一部分。硬盘系统901包括904和905两台硬盘,硬盘904和905的两侧都存储着信息。图8显示了硬盘904和905的每一侧,其中硬盘表面807位于硬盘905的下侧,硬盘表面808位于磁盘905的上侧,硬盘表面809位于磁盘904的下侧,硬盘表面810位于硬盘904的上侧。
常规情况下对于RAID系统,用户数据存储在位于多个硬盘表面的数据块中。实施所述RAID系统的存储系统的驱动电路并发地一起驱动所述表面中的每一个,使得与每个表面相关联的所述读/写头定位在所述表面中每一个上具有相同扇区位置的扇区上。对每个表面上具有相同扇区位置的每个扇区上的数据块进行并行读取以便获得所述文件的数据。在多个磁盘表面上存储数据的这种技术往往被称为数据分段。
参考图8和图9,因为磁盘904和905同时移动到每个磁盘表面的相同扇区(如807),如果所述扇区之一有缺陷(如扇区822有缺陷,正如表面808上的“X”所指明),那么所有磁盘表面上该扇区位置的扇区(如821、822、823和824)都被视为不可用。结果,扇区位置上一个扇区中的缺陷就被放大了并行操作中磁盘表面的数目这么多倍。
在多个硬盘表面实施数据分段的系统(比如对于RAID系统)的一个实施例中,如果磁盘表面的一个扇区被确定为有缺陷,原来要写入该缺陷扇区的所述数据块就转而存储在存储器126中。其他的数据块存储在其他磁盘表面上具有系统扇区位置的其他扇区中,好像在该扇区位置没有缺陷扇区。例如在图8中,因为扇区822有缺陷,要写入所述扇区的数据就转而写入存储器126中,而所述数据分段的其他数据块写入扇区821、823和824(硬盘表面807、809和810上与扇区822具有相同扇区位置的扇区)。通过采用存储器126来存储原来要写入有缺陷扇区的数据,所述有缺陷的扇区就不会使其他磁盘表面上具有该扇区位置的其他扇区变为不可用。
在其他实施例中,在数据存储系统中可以采用非易失性的基于IC的存储器来增加数据存储系统中基于非IC的介质中存储的数据量。参考图10,对于常规的硬盘表面(如1010),数据存储在位于磁轨(如磁轨18,它环绕着所述硬盘的盘心1020)上扇区分区(如扇区分区4)中的扇区(如1029)上。典型情况下,所述扇区位于扇区线(如1031和1032)之间,它们定义了所述扇区分区。在某些实施例中,伺服数据可以存储在所述扇区线(如1031和1032)上。伺服数据的实例包括磁轨号、扇区号以及使读/写头113在磁轨内定位所用的模拟数据。常规情况下,每个扇区的尺寸都是为了保存标准尺寸的数据块(如在一个实例中是512字节)。对于某些实例,多个扇区可以位于扇区分区的磁轨中。
因为常规硬盘的所述扇区所在的磁轨对于所述盘心(如1020)每条都具有不同的半径,所述磁轨的若干部分也许不可使用,因为磁轨在扇区分区中的磁盘表面空间小于存储标准尺寸的数据块所需的空间。例如,在磁轨23和22中扇区分区4(位于扇区线1031和1032之间)中的磁盘空间量就小于存储标准尺寸的数据块所需的空间量(如512字节)。相对于图10所示的情况,扇区分区4在磁轨23上的空间1012少了位于磁轨23中紧靠着扇区线1032右侧的虚线所示的空间量1016。紧靠着扇区线1032右侧的虚线所示的部分表示位于紧靠着扇区线1032左侧的磁盘表面空间在存储标准尺寸的数据块时所不足的空间量。例如,部分1023表示磁轨20的空间1024在存储标准尺寸的数据块时所不足的磁盘空间量。所以,对于常规的系统,这些空间将不会使用,造成了磁盘表面上存储空间的浪费。
图11表示根据本发明的某些实施例,存储器126中存储的数据的一部分。在本发明的某些实施例中,硬盘表面上可用存储空间少于存储标准尺寸的数据块所需空间的部分可以用于存储标准尺寸数据块的一部分,标准尺寸数据块的另一部分存储在存储器126中。例如,一个标准尺寸数据块的一部分存储在磁轨23的空间1012中(参见图10)。所述标准尺寸数据块的其余部分(其尺寸为图10中的空间1016)存储在存储器126中位置1116处。对于其他部分存储在硬盘表面1010的标准尺寸的数据块,存储器126也存储着其余部分。例如,对于其他部分存储在位置1011(参见图10)的标准尺寸的数据块,存储器126的存储器位置1115存储着其余部分(其尺寸由部分1015表明)。
在某些实施例中,存储器126中与表面1010上每个不足的空间相关联的所述位置都为该空间所保留。例如,存储器126的数据块1130保留为存储磁轨23上所有划分的扇区的所有磁盘空间的所述不足部分。对于某些实施例,数据块的第一部分将存储在存储器126中,其余部分将存储在磁盘表面1010上。在一个实施例中,判断是否使用存储器126来存储标准尺寸数据块的一部分将取决于在存储器126中存储该部分的成本与使用所述硬盘上空间存储其他部分的收益之比。
在图10和图11的实施例中为了检索数据块,处理器116将从所述磁盘空间(如1012)检索所述数据的一部分,并且检索存储器126(如位置1116)中存储的所述数据的另一部分。参见关于图14的讨论。处理器116会把所述部分合并,再把它们提供给信息设备141。因为所述数据的其余部分存储在基于IC的存储器(如126)中,对于包括所述其余部分的数据块的检索时间实质上与整个存储在硬盘扇区中的数据块的检索时间相同。所以,在基于IC的非易失性存储器中存储标准尺寸数据块的一部分,优选情况下可以更好地利用硬盘表面。
某些常规的硬盘系统被配置为扇区可以位于扇区线(如1031)的两侧。对于这些系统,所述硬盘系统包括从跨越扇区线的扇区提取数据所用的程序代码(如所述系统包括从所述扇区的所述用户数据中去除所述扇区线中存储的所述伺服数据所用的代码)。采用存储器126来存储用户数据的若干部分(正如图10和图11所示),可以使系统能够被配置为没有扇区跨越扇区线,因为扇区的其余部分存储在存储器126中。所以,对于这些实施例将不需要上述的程序代码。
在某些实施例中,为了加速数据存储系统110中存储的用户数据的文件的检索时间,所述文件的一部分可以写入所述基于IC的存储器126进行非易失性的存储,所述数据的其余部分存储在基于非IC的介质112中。对于这些实施例中的一部分,决定哪些数据写入所述基于IC的存储器(如126),哪些数据写入所述基于非IC的介质(如112)是取决于所述基于非IC的介质中存储的所述数据的所述检索时间。对于这些实施例中的一部分,从所述数据存储系统(如110)检索所述文件时,需要缩短由所述信息设备(如141)所见的整体检索时间。
图12表明写操作的一个实施例,用于根据本发明实施一个系统,在基于IC的非易失性存储器中非易失性地存储用户数据的文件的若干部分,以便加速所述文件的检索时间。在图12的实施例中,要写入所述基于非IC的介质112的下一个数据的前导部分写入所述基于IC的存储器126,以便缩短该数据的所述检索时间。由所述数据存储系统110的所述处理器116实施图12的流程图。
在1201中,从信息设备141收到写入访问请求之后,处理器116的响应是开始执行图12所述的方法。数据存储系统110按数据块存储用户数据的文件,在一个实施例中,每个数据块都存储在位于介质112的磁盘表面上的扇区中。在一个实施例中,从存储器126中存储的未使用扇区列表(未显示)获得存储文件所用的所述扇区。在其他实施例中,如果要写入的所述文件是修订版,第一个扇区就是存储着前一个版本数据的第一个扇区,正如主列表127所指明的。在1203中,扇区号(N)被设定为1,在1205中,第一个数据块被写入介质112上的扇区1(从所述未使用扇区列表获得的第一个扇区)。
在1207中,处理器116确定从第一个扇区(N)到下一个扇区(N+1)的搜索时间。下一个扇区就是从所述未使用扇区列表获得的下一个扇区(对于新文件)或者存储着前一个版本的下一个数据块的下一个扇区。所述搜索时间就是读/写头113从第一个扇区(N)的末端行进到下一个扇区(N+1)所需的时间。在下一个扇区就是前一个扇区同一磁轨中下一个连续扇区的情况下(参见图7的实例磁盘表面712,扇区A、B和C以连续次序在同一磁轨上),所述搜索时间相对较短。不过,如果下一个扇区(N+1)位于与前一个扇区(N)不同的磁轨上,那么所述搜索时间就会相对较长。
在1210中,处理器116确定要存储在存储器126中的数据的尺寸。要存储在存储器126中的数据的尺寸是根据所述数据过去写入的扇区(N)与下一个扇区(N+1)之间的所述搜索时间。如果下一个扇区是前一个扇区磁轨中的下一个连续扇区,处理器116就可以在1210中确定无须在存储器126中存储数据,因为搜索时间相对较短。不过,如果所述搜索时间相对较长,处理器116就会在1210中确定要存储在存储器126中的数据量。
存储器126中存储的所述数据是要存储在下一个扇区中的数据的前导部分。这种数据将包括下一个扇区的扇区块的头部,以及下一个扇区的用户数据的前导部分。在1211中,把所述前导部分写入存储器126。在1213中,处理器116把一个标志写入主列表127(或存储器126的其他部分),指明下一个数据块的前导部分位于存储器126中。
在1215中,把数据写入下一个扇区(N+1)。在一个实施例中,仅仅把用户数据的下一个数据块(写入前一个扇区(N)的数据块之后的数据)的其余部分(未写入存储器126的部分)写入下一个扇区(N+1)。因此,对于具有512字节的标准扇区块尺寸的系统,如果前62字节写入了存储器126,那么512字节数据块的其余450字节将写入下一个扇区(N+1)。在其他实施例中,文件的下一个标准扇区数据块尺寸的数据将写入下一个扇区(N+1)。例如,假若文件的62字节写入了存储器126,那么所述文件的下一个512字节将写入下一个扇区(N+1)。在其他实施例中,下一个数据块整个尺寸的、包括写入存储器126的数据前导部分的数据写入下一个扇区(N+1)(如包括写入存储器126所述62字节数据的下一个512字节的数据)。对于这个实施例,所述文件的整个副本存储在介质112中。在某些实施例中,写入存储器126的所述部分可以大于所述标准尺寸的数据块(如512字节)。在另外的实施例中,如果搜索时间大于预定的阈值,那么下一个标准尺寸数据块(如50字节、100字节、512字节或1024字节)就存储在存储器126中。在存储在下一个扇区块(N+1)的所述数据也存储在存储器126中的实施例中,在读取访问期间处理器116可以跳过扇区N+1的读取,进至扇区N+2。
在1219中,对所述文件的所有数据是否已存储在数据存储系统110中进行判断。如果是,那么就结束所述过程。如果不是,就在1221中使N增加到N+1,处理器116回到1207重复所述方法,直至存储了文件的所有数据。对于图12的实施例,在所述文件的数据存取期间,在所述读/写头113移动到下一个扇区的同时,处理器116能够把存储器126中存储的所述前导部分数据提供给信息设备141。
图13表明写操作的另一个实施例,用于根据本发明实施一个系统,在数据存储系统中基于IC的非易失性存储器中存储用户数据的文件的若干部分,以便加速所述文件的检索时间。图13的实施例类似于图12的实施例,只不过在图13的实施例中,写入所述基于非IC的介质112上扇区的数据的尾随部分写入所述基于IC的存储器126。在这个方法中,两个扇区之间的搜索时间长时,在读取第一个扇区中存储的数据完成之前,所述读/写头(如113)能够从第一个扇区移动到下一个扇区。
在1301中,从信息设备141收到写入请求以存储用户数据的文件之后,处理器116的响应是开始执行图13中所述的方法。在1303中,扇区号(N)被设定为1,在1304中,所述文件的第一个数据块被写入介质112上的扇区N(介质112上指定为存储所述文件的第一个扇区)。如果在1305中判定没有到达文件结束标志(EOF),那么处理器116就在1307中确定介质112上指定为存储文件的下一个扇区(N+1)的位置。在1309中,处理器116计算从当前扇区(N)(在所述方法的这个循环期间是扇区1)到下一个扇区(N+1)的搜索时间。
在1310中,处理器116确定在1304中写入当前扇区(N)的数据的尾随部分(它要存储在存储器126中)的尺寸。所述尾随部分就是要写入扇区的数据的最后部分。在某些实施例中,所述尾随部分包括下一个扇区的位置。要存储在存储器126中的所述尾随部分的尺寸是根据所述当前扇区(N)与下一个扇区(N+1)之间的所述搜索时间。如果下一个扇区(N+1)是所述当前扇区(N)磁轨中的下一个连续扇区,处理器116就可以在1310中确定无须在存储器126中存储数据,因为搜索时间相对较短。不过,如果所述搜索时间相对较长,处理器116就会在1310中确定要存储在存储器126中的数据量。在某些实施例中,如果所述搜索时间达到特定的阈值,就在存储器126中存储标准尺寸的尾随部分。在某些实施例中,如果对扇区N+1的所述搜索时间足够长,写入扇区N的整块数据都将写入存储器126。在所述整个扇区块都存储在存储器126中的实施例中,处理器116可以控制读/写头113从扇区N-1跳到扇区N+1。
在1311中,具有1310中确定的尺寸的所述尾随部分存储在存储器126中。在1314中,在主列表127中写入对该扇区尾随部分的标志。不过在某些实施例中,所述数据尾随部分与所述特定尾随部分属于哪个扇区块的标志一起顺序地存储在存储器126中。因此,处理器116通过读取存储器126中存储着所述尾随部分的位置,就能够确定存储在存储器126中的尾随部分是哪些扇区块的。在1315中,N增加1,处理器116回到1304重复所述过程。
在图13的实施例中,文件的所有数据都写入介质112的扇区,包括写入了存储器126的数据。不过,在其他实施例中,仅有文件中未写入存储器126的数据才写入介质112。
为了检索由图13的所述方法存储的文件,如果处理器116判定扇区块的尾随部分存储在存储器126中,在未存储在存储器126中的扇区块的所有数据都读取之后,处理器116将在读取存储着所述扇区块的所述扇区期间,使读/写头113移动。然后处理器116把存储器126中的所述尾随部分与从介质112的所述扇区读取的所述数据合并,并把所述数据提供给信息设备141。因为扇区数据块的所述尾随部分存储在存储器126中,就能够在存储着所述扇区块所述扇区的数据读取完成之前,移动读/写头113。从而缩短了在存储系统110中检索文件所需的时间。
对于其他实施例,文件的起始部分可以存储在存储器126中,所述文件的其余部分将存储在介质112中。所以,产生了对文件的请求时,处理器116就能够向信息设备141通过所述文件的所述起始部分,同时移动读/写头113以便检索所述时间的其余部分。在一个实例中,文件的预定尺寸的所述起始部分(如100字节、100字节或20个数据块)将存储在存储器126中。所述起始部分的所述尺寸将取决于数据存储系统响应读取请求时,要用多长时间从介质112检索数据。
图14显示了数据存储系统110中存储的数据的读取访问操作实施例。经过若干修改之后,图14中所述的方法能够用于检索介质112和存储器126二者中存储的用户数据,例如本文中关于图4、图7、图8、图9、图10、图11、图12和图13所显示和介绍的,以及与这些图件相关联的文字所介绍的,同样也可以用于未在本文中明显介绍的其他实施例。
在1400中,从信息设备141收到文件读取请求之后,处理器116的响应是开始执行图14中所述的方法。在1403中,处理器116判断是否有所述文件的任何数据存储在存储器126中。在某些实施例中,在主列表127中所述文件的项中会发现指明文件的数据是否存储在存储器126中的标志。在其他实施例中,存储器126包括高速缓存在存储器126中的文件的高速缓存列表,处理器116响应对文件的请求时会访问它。如果在1403中确定没有数据存储在126中,那么就会从介质1 12检索所述文件。对于某些实施例,没有指明文件的任何数据存储在存储器126中的一般标志。对于这些实施例,指明文件的数据是否存储在存储器126中的标志将一个扇区一个扇区地确定。参见例如图7的实施例。
如果在1403中结果为是,处理器116就判断是否文件的所有数据都存储在存储器126中。如果整个文件都存储在存储器126中,那么处理器116就在1406中从存储器126检索所述文件。参见例如图4的实施例,其中文件的所有数据都可以高速缓存在存储器126中。不过,对于不把整个文件存储在存储器126中的这些实施例,可以省略框1404和1406。
如果在1404中结果为否,处理器116就在1407中判断是否用户数据的第一块中的任何数据存储在存储器126中。如果是,存储器116就在1411中从存储器126检索所述数据块的该部分,然后在1412中从介质112的扇区检索所述数据块的另一部分(如果有的话)。在1413中,处理器116合并从存储器126检索的部分和从介质112检索的部分。如果所述合并后的数据块不包含文件结束标志(EOF),那么处理器116就回到1407,直至获得了所述数据的全部。如果在1407中的结果为否,处理器116就从介质112中的扇区获得所述数据。
本领域的技术人员将理解,根据本文的内容,图14中所述的数据检索方法可以根据用户数据如何存储在介质112和存储器126二者中而进行修改。例如,参考图7的实施例,根据扇区块所述尾随部分中的所述位置信息(如706),对为数据块访问存储器126还是存储器112作出判断。在图10和图11的实施例中,同时在图8和图9的实施例中,根据介质112中磁盘表面上的实际扇区位置,判断是否访问存储器126。对于图10和图11的实施例,从介质112检索数据块之程序的一部分会包括把所述扇区位置与扇区位置表(未显示,它包括具有不足空间的所述扇区位置(如1012)以及存储器126中存储着这些扇区块所述数据的所述其余部分的所述地址(如位置1116))进行对比。对于图8和图9的实施例,处理器116会访问有缺陷扇区表,它包括存储器126中存储着每个有缺陷扇区所述数据块的所述地址。这些表格可以存储在存储器126、程序存储器124或者处理器116可访问的其他存储器(未显示)中。
图15是一幅框图,显示了根据本发明的可拆卸介质数据存储系统的实施例。可拆卸介质数据存储系统1515从可拆卸介质1512(它插入所述数据存储系统)检索(并且在某些实施例中写入)用户数据,并且把所述用户数据提供给信息设备1541(并且在某些实施例中从信息设备1541接收用户数据以便存储)。在一个实施例中,数据存储系统1510是光盘(CD)驱动器,它或者仅仅能够读取,或者能够读/写。在其他实施例中,数据存储系统1510可以是如DVD播放机、便携式CD播放机、CD ROM驱动器、磁带驱动器、可拆卸软盘驱动器、带有可拆卸硬盘的系统或者能够接收可拆卸介质的任何其他存储系统中的任何一种。一般说来可拆卸介质是设计为能够从所述可拆卸介质数据存储系统拆卸的任何介质。在所示的实施例中,可拆卸介质设计为从包括读/写头1513和主轴电机1514的数据存储系统1510拆卸,而另一件可拆卸介质可以插入其位置。不过,在某些实施例中,所述可拆卸介质可以包括图15所示的其他电路(并且可与其拆卸),比如读/写头或驱动电路(如主轴电机)。
在图15所示的实施例中,数据存储系统1510包括控制电路1511,用于控制存储系统1510的操作。控制电路1511包括处理器1516和程序存储器1524,它存储着由处理器1516执行的代码。控制电路1511也包括基于IC的非易失性存储器1526,以便存储关于所示可拆卸介质(如1512)的操作数据。在某些实施例中,存储器1526实施为MRAM存储器。在一个实施例中,控制电路1511实施为位于数据存储系统1510的机箱(未显示)中的电路板(未显示)。在某些实施例中,存储器1524和存储器1526在同一存储器阵列中实施。
在图15的实施例中,存储器1526包括表格1527,它对于每个可拆卸介质都存储着两种类型的操作数据,系统数据(存储在系统数据字段1532中)和使用数据(存储在使用数据字段1533中)。系统数据1532的实例包括主列表、有缺陷扇区列表、未使用扇区列表、有缺陷扇区替代列表、复制保护特性或者所述可拆卸介质如1512的类型特定的其他类似类型的系统数据。在其他实施例中,存储器1526可以被配置为对于可拆卸介质仅仅存储系统数据或使用数据之一。
使用数据是关于在所述数据存储中介质使用的信息。使用数据的实例包括如介质已经被访问的次数、介质上存储的每个文件已经被访问的次数、介质上的特定文件已经被访问的次数、所述介质中被访问的最后位置、任何介质已经被系统1510访问的次数、请求所述文件的用户、关于文件的错误检验和纠正数据以及安全数据。例如,对于DVD播放机,使用数据的一种类型会是在用户关闭所述系统的前正在播放的、盘片上的最后位置。
在图15的实施例中,表格1527被配置为存储过去已经插入数据存储系统1510中的许多可拆卸介质的、(字段1532中的)系统数据和(字段1533中的)使用数据。因此,如果特定的可拆卸介质再次插入数据存储系统1510中,处理器1516就能够从表格1527访问关于该介质的操作数据。例如,假若数据存储系统1510是DVD播放机,表格1527就可以用于存储所述播放机播放的最后20片DVD的最后播放的位置。对于这样的系统,用户可以在电影的特定点上停止播放并取出所述介质。几天之后,用户可以再次插入所述介质,而处理器1516可以访问字段1533的所述使用数据,以便确定停止所述电影的最后位置。对于这样的系统,所述DVD播放机可以向所述用户提供从最后停止的所述位置恢复播放的选项。
表格1527的每个项(如5142)都包括ID字段1531,它存储着与所述项中所述数据相关联之可拆卸介质的标识标志。每个项也包括系统数据字段1532(如项1542的“A”所表示的)和使用数据字段(如项1542的“M”所表示的),前者存储着与所述可拆卸介质相关联的系统数据,后者存储着与所述可拆卸介质相关联的使用数据。处理器1516使用所述ID字段1531来判断介质在过去是否已经插入过系统1510。如果所述介质已经插入过,处理器1516就从与其ID相关联的所述项为该可拆卸介质检索其操作数据。
数据存储系统1510包括存取电路,用于对可拆卸介质1512进行数据存取。在图15的实施例中,所述存取电路包括读/写头1513,用于从可拆卸介质1512读取数据以及向可拆卸介质1512写入数据(对于能够写入所述可拆卸介质的系统)。读/写头1513可操作地进行连接,以便把从介质1512检索到的数据通过READ信号线和放大器1518提供给处理器1516,以及通过WRITE信号线和放大器1520接收要写入介质1512的数据。处理器1516通过到传动机构1530的HEADCONTROL信号线,控制着读/写头1513的移动。处理器1516也利用通过MOTOR CONTROL线和放大器1522发送的信号,控制着所述主轴电机1514的旋转。
图16是一幅流程图,显示了与数据存储系统1510使用可拆卸介质所用的方法的一个实施例。处理器1516响应1603中指明可拆卸介质(如1512)已经插入的标志,在1605中从所述可拆卸介质检索标识标志(ID)。在一个实施例中,所述ID对所述具体的可拆卸介质是全局唯一的。例如,假若系统1510为硬盘驱动器,每个可拆卸的硬盘都将包括唯一的序列号或所述介质组的唯一号码,比如批号。在其他实施例中,所述标识信息对于所述磁盘上存储的所述用户数据会是唯一的。例如在一个实施例中,所述ID可以是电影标题或音乐CD标题或音乐CD的UPC号码。在其他实施例中,所述ID可以是用户增加的号码。
在1607中,处理器1516对比从所述插入的可拆卸介质获得的所述ID和字段1531中存储的所述ID,以便确定表格1527是否包括与所述插入的可拆卸介质相关联的操作数据。如果在表格1527中找到了所述插入的可拆卸介质的所述ID,处理器1516就在1609中检索该项中存储的所述操作数据。如果在表格1527中没有找到所述ID,那么处理器1516就从所述插入的可拆卸介质1512检索任何操作数据,比如主列表、有缺陷扇区以及未使用的文件。在一个实施例中,可以在可拆卸介质的引导扇区上找到这种信息。
在1612中,处理器1516访问表格1527以便确定在表格1527中是否有足够的空间来存储所述插入可拆卸介质的所述操作数据。在一个实施例中,把表格1527的尺寸定为保持着已经插入数据存储系统1510的、预定数目之可拆卸介质(如100)的所述操作数据。如果所述预定数目之可拆卸介质的操作数据已经存储在存储器1526的表格1527中,那么处理器1516就在1613中选择表格1527中的表格项,以便盖写为所述插入的可拆卸介质的所述ID和操作数据。在一个实施例中,处理器1516选择已经使用得最少之可拆卸介质的所述表格项。在另一个实施例中,处理器1516盖写最近已经使用得最少所述可拆卸介质的所述表格项。在更多的其他实施例中,指定为盖写的所述表格项会根据多种准则而选择,既包括可拆卸介质的插入频度,也包括其插入次序。在1613之后或者1612中的结果为是,处理器1516就在1614中把所述插入的介质的所述ID和操作数据存储在存储器1526的表格1527中。
在1615中,数据存储系统1510使用存储在表格1527中的操作数据进行操作。在一个实施例中,所述操作数据包括主列表,处理器1516访问它以便对所述插入的可拆卸介质中存储的文件进行数据存取。参见过去这种应用中关于图1中数据存储系统110实施例之主列表的讨论。同样,如同关于数据存储系统110的所述讨论,系统数据可以包括有缺陷扇区列表、未使用扇区列表、有缺陷扇区替代列表、复制保护特性或者所述处理器1516用于访问所述插入的可拆卸介质上用户数据的任何其他数据。本领域的技术人员将会理解,根据本文的内容,表格1527中存储的系统数据的类型可以取决于用户数据如何存储在所述可拆卸介质中。例如,对于存储着歌曲的CD,所述主列表可以包括特定的歌曲存储在哪条轨迹上。
在可拆卸介质数据存储系统的基于IC的非易失性存储器中存储系统数据的优点在于,它可以使得所述数据存储系统能够更加快捷地从所述可拆卸介质检索数据。不仅如此,因为所述存储器是非易失性的,多件可拆卸介质所用的操作数据可以存储在表格1527中,并且在关电之后的操作中仍然可用。因此,这样一种系统可以具有的一种优点在于,可以缩短访问所述数据所需的时间,因为一旦处理器1516了解了所述可拆卸介质的所述ID,处理器1516就可以从所述可拆卸介质访问用户数据,而不必加载所述可拆卸介质的系统数据。
在存储器1526中包括主列表可以具有的另一个优点在于,它可以减少数据写入时对所述可拆卸介质的访问次数。典型情况下,对于某些可写的可拆卸介质,对所述可拆卸介质的每一次写入访问都需要更新所述可拆卸介质上的所述主列表。然而对于数据存储系统1510的某些实施例,因为所述主列表可以存储在存储器1526中,介质1512上存储的所述主列表就不必在每次写入时都更新。在一个实施例中,只有在可拆卸介质1512从系统1510中拆卸时,才更新介质1512上的所述主列表。
在1616中,处理器1516在数据存储系统1510的所述操作期间产生操作数据,并且把该数据存储在存储器1526的表格1527中。例如,处理器1516可以在所述可拆卸介质的所述表格项(如1524)的所述使用字段1533中,存储关于介质1512上存储的文件(如歌曲、电影、可执行文件)的访问次数。在一个实施例中,可以应信息设备1541的请求而提供这种信息。在另一个实施例中,所述操作数据可以用于把访问最多的文件从介质1512高速缓存进存储器1526中,以便缩短向信息设备1541提供该文件的访问时间。在1616中产生的其他类型的使用数据包括所述文件已经使用的次数。
当在1617中确定把介质1512从数据存储系统1510拆卸时,处理器1516就在表格1527中存储关于可拆卸介质1512的使用结束的操作数据。在一个实施例中,数据存储系统1510包括传感器(未显示),用于探测插入的可拆卸介质(如1512)何时从数据存储系统1510拆卸。这种使用结束操作数据的实例包括所访问的最后文件、所访问的最后时间、所述文件被访问的事实以及所述可拆卸介质被插入、所述系统的使用时间、访问所述数据的用户等事实。
本领域的技术人员将会理解,根据本文的内容,使用存储器1526的方法可以类似于本文中介绍的关于存储器126的使用方法。例如参考图4,存储器1526可以用于高速缓存可拆卸介质1512中存储的最近访问的或最经常访问的文件。因此,就可以大大缩短该文件所用的所述访问时间,因为不必访问介质1512来检索常用的文件。此外,如果对介质1512写入,那么对介质1512的所述写入也可以高速缓存在存储器1526中,从而允许紧随其后的数据存取。在这些实施例中,如果有拆卸所述介质的请求,那么在拆卸之前,在存储器1526中尚未写入介质1512中的所有数据都可以写入介质1512中。
不仅如此,关于可拆卸介质数据存储系统1510的所述实施例所介绍的特征也可以由数据存储系统110的实施例实施。例如数据存储系统110可以被配置为在存储器126中存储使用数据。例如,数据存储系统110可以被配置为存储介质112中存储的文件被访问和/或被修改的次数。
虽然已经显示和介绍了本发明的若干具体实施例,但是本领域的技术人员将会理解,根据本文的内容,可以作出进一步的改变和修改而不脱离本发明及其更广泛的方面,因此所附带的权利要求书将把本发明真正的实质和范围内所有这些改变和修改纳入其范围内。
权利要求
1.一种硬盘系统,包括硬盘,被配置为存储用户数据,其中主列表被配置为标识与所述用户数据的文件相关联的至少一个数据块的物理位置;以及基于集成电路的非易失性存储器,所述基于集成电路的非易失性存储器被配置为存储与所述硬盘相关联的所述主列表。
2.根据权利要求1的硬盘系统,其中所述基于集成电路的非易失性存储器进一步包括磁阻随机存取存储器(MRAM)。
3.根据权利要求1的硬盘系统,其中所述主列表包括扇区的物理位置,所述扇区存储用户数据的文件的第一个排序的数据块。
4.一种实施硬盘系统的方法,包括把硬盘配置为存储用户数据,至少一个用户数据块存储在所述硬盘内由主列表所标识的物理位置;以及把与所述硬盘相关联的所述主列表存储在所述硬盘系统的基于集成电路的非易失性存储器中。
5.根据权利要求4的方法,进一步包括非易失性存储器(NVM)需要具有不高于5.5伏特的幅度的编程电压。
6.一种存储系统,包括基于非集成电路的介质,被配置为为所述存储系统存储用户数据,其中系统数据可配置为标识与所存储的用户数据的文件相关联的至少一个数据块的物理位置;以及基于集成电路的非易失性存储器,所述基于集成电路的非易失性存储器可配置为存储与所述基于非集成电路的介质相关联的所述系统数据。
7.根据权利要求6的存储系统,其中所述系统数据包括包含所述位置的标识的主列表。
8.根据权利要求6的存储系统,其中基于非集成电路的介质进一步包括硬盘、基于光学的介质、磁带或磁光存储设备中的至少一种。
9.一种系统,包括处理器;以及存储器阵列,可操作地连接到所述处理器,用于非易失性地存储程序数据和用户数据,其中所述程序数据和用户数据可以利用具有不高于5.5伏特的幅度的编程电压进行编程。
10.根据权利要求9的系统,其中所述存储器阵列进一步包括磁阻随机存取存储器(MRAM)。
11.一种数据存储系统,包括输入端,被配置为从信息源接收用户数据;基于非集成电路的存储介质,被配置为存储用户数据;以及基于集成电路的非易失性存储器(NVM),所述非易失性存储器被配置为也存储用户数据。
12.根据权利要求11的数据存储系统,其中至少一些由所述基于非集成电路的存储介质存储的所述用户数据以由所述基于集成电路的非易失性存储器(NVM)存储的所述用户数据为冗余。
13.根据权利要求11的数据存储系统,其中对所述基于集成电路的非易失性存储器(NVM)进行编程需要具有不高于5.5伏特的幅度的编程电压。
14.根据权利要求11的数据存储系统,其中所述基于集成电路的介质包括磁阻随机存取存储器(MRAM)。
15.一种数据存储系统,包括基于非集成电路的存储介质,被配置为存储用户数据;处理器,可操作地连接到所述基于非集成电路的存储介质;以及基于集成电路的非易失性存储器(NVM),可操作地连接到所述处理器,所述非易失性存储器被配置为也存储用户数据。
16.一种数据存储方法,包括从信息源接收用户数据;在基于非集成电路的存储介质中存储所述用户数据的一部分;以及在基于集成电路的非易失性存储器(NVM)中存储所述用户数据的其他部分。
17.根据权利要求16的方法,其中所述其他部分的至少一部分存储在所述基于非集成电路的存储介质中。
18.根据权利要求16的方法,其中所述用户数据的起始部分存储在所述基于集成电路的非易失性存储器中,所述用户数据的其余部分存储在所述基于非集成电路的存储介质中。
19.一种可拆卸介质存储系统,包括存取电路,用于在可拆卸介质连接到所述可拆卸介质存储系统时,从所述可拆卸介质读取用户数据;以及基于集成电路的非易失性存储器,所述基于集成电路的非易失性存储器被配置为存储操作数据,所述操作数据与已经连接到所述可拆卸介质存储系统的所述可拆卸介质相关联。
20.根据权利要求19的可拆卸介质存储系统,其中所述基于集成电路的非易失性存储器包括磁阻随机存取存储器(MRAM)。
21.根据权利要求19的可拆卸介质存储系统,其中所述基于集成电路的非易失性存储器包括具有不高于5.5伏特的幅度的编程电压的半导体存储器。
22.根据权利要求19的可拆卸介质存储系统,其中所述操作数据进一步包括使用数据。
23.根据权利要求22的可拆卸介质存储系统,其中所述使用数据进一步包括描述所述可拆卸介质存储系统访问所述可拆卸介质的次数的信息。
24.根据权利要求22的可拆卸介质存储系统,其中所述使用数据进一步包括所述可拆卸介质上最后访问的位置。
25.根据权利要求22的可拆卸介质存储系统,其中所述基于集成电路的非易失性存储器被配置为存储操作数据,它们与多个可拆卸介质相关联;以及所述基于集成电路的非易失性存储器被配置为存储唯一标识符,用于标识所述多个可拆卸介质中的每一个。
26.一种在可拆卸介质存储系统中存储信息的方法,包括在可拆卸介质连接到所述可拆卸介质存储系统时从所述可拆卸介质读取用户数据;以及在所述可拆卸介质存储系统的基于集成电路的非易失性存储器中存储与所述可拆卸介质相关联的操作数据。
27.根据权利要求26的方法,进一步包括在所述基于集成电路的非易失性存储器中保持所述操作数据,用于所述可拆卸介质存储系统的电源关断之后的后续使用。
28.根据权利要求26的方法,进一步包括在所述基于集成电路的非易失性存储器中保持所述操作数据,用于所述可拆卸介质从所述可拆卸介质存储系统拆卸之后的后续使用。
29.根据权利要求26的方法,其中所述基于集成电路的非易失性存储器进一步包括磁阻随机存取存储器(MRAM)。
30.一种可拆卸介质存储系统,包括可拆卸介质存取电路,所述可拆卸介质存取电路被配置为在可拆卸介质连接到所述可拆卸介质存储系统时从所述可拆卸介质读取用户信息,以便存取所述可拆卸介质上的用户数据;以及基于集成电路的非易失性存储器,所述基于集成电路的非易失性存储器存储与已经连接到所述系统的可拆卸介质相关联的操作数据。
31.根据权利要求30的可拆卸介质存储系统,其中所述基于集成电路的非易失性存储器是磁阻随机存取存储器(MRAM),其中存储着介质标识号,用于与和所述可拆卸介质相关联的标识符进行可能的匹配。
全文摘要
公开了带有用于存储数据的非易失性存储器的存储系统。数据存储系统(110)使用基于集成电路的非易失性存储器(126)存储数据。在某些实例中,所述基于集成电路的非易失性存储器是磁阻随机存取存储器(MRAM)(126)。在所述数据存储系统(110)包括硬盘的某些实例中,所述基于集成电路的非易失性存储器能够用于存储系统数据,比如所述硬盘的主列表(127)。在其他实例中,所述基于集成电路的非易失性存储器可以实施在可拆卸介质存储系统(1510)中,以便存储与可拆卸介质相关联的操作数据。在其他实例中,所述基于集成电路的非易失性存储器可以用于存储用户数据。
文档编号G11B20/12GK1679107SQ03820613
公开日2005年10月5日 申请日期2003年8月1日 优先权日2002年8月29日
发明者罗纳德·W.·施藤斯, 约翰·P.·汉森, 戴维·A.·海纳 申请人:飞思卡尔半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1