存储设备的高速缓冲存储器管理的制作方法

文档序号:7751742阅读:216来源:国知局
专利名称:存储设备的高速缓冲存储器管理的制作方法
技术领域
本发明涉及一种包括存储介质及其相关的高速缓冲存储器的设备,所述存储介质用于由与文件系统管理装置相关的主机设备通过高速缓冲存储器,在读取模式或写入模式下对其进行访问。
背景技术
大多数存储设备配置有高速缓冲存储器,以便提高驱动性能。
在存储设备中的高速缓冲存储器的管理是对提高系统性能的巨大挑战,特别是在必须保持不变的比特速率的情况下。当存储设备用于存储视频数据时,这尤为重要。
在已知的系统中,由与存储介质自身相关的控制器或固件来管理在所有存储设备中所包括的高速缓冲存储器。这样的固件控制高速缓冲存储器访问和存储介质访问,并且高速缓冲存储器的预取基于由主机设备所进行的最后访问。
当存储介质不知道存储介质上的数据结构时,使用基于由主机设备所进行的最后访问的高速缓冲存储器预取相当地减少了高速缓冲存储器命中的机会。即,利用对由主机所进行的最后访问的统计,来进行在已知系统中的高速缓冲存储器预取。因此,为了得到更好的高速缓冲存储器命中的比例,迫使设计者提供大量的高速缓冲存储器以符合该统计。增加高速缓冲存储器的尺寸来增加高速缓冲存储器命中的可能性是较昂贵的,并且特别不适合于嵌入式设备。
而且,在对存储介质进行写访问期间,特别是当要存储的数据是连续的比特流,例如同步数据时,通常需要在存储介质的输入端提供高容量的缓冲存储器,以保持高比特率。使用这样的缓冲存储器相当大地增加了设备的成本。

发明内容
本发明提出了一种包括存储介质及其相关的高速缓冲存储器的设备,所述存储介质设计用于由与文件系统管理装置相关的主机设备通过高速缓冲存储器,在读取模式下或写入模式下对其进行访问。
根据本发明,在文件系统管理装置的控制下,加载所述高速缓冲存储器。
发明人已经发现了对实现高速缓冲存储器预取命令的特别关注,所述高速缓冲存储器预取命令将指示管理存储介质的固件实现在给定地址处的高速缓冲存储器预取。在读取模式下,如果所请求的文件包括视频数据,则可以将视频数据存储在几个分区上。文件系统知道该结构或存储碎片,因此,可以提供文件的其余部分所位于的下一个分区的地址。因此,可以减少高速缓冲存储器的尺寸,而不会降低高速缓冲存储器命中的可能性。
该高速缓冲存储器预取是一种与由存储介质而不是由文件系统所控制的传统预取所进行的、并且基于最近的访问而不是基于数据在盘上的真正位置的统计预取相反的认知预取。
根据本发明的实施例,与主机设备相关的文件系统管理装置控制在读取模式下的访问期间的高速缓冲存储器预取。
在已知的系统中,由与存储介质相关的固件来管理高速缓冲存储器预取,并且未定义任何外部动作。该实施例使文件系统管理器作用于高速缓冲存储器加载,以便修改该高速缓冲存储器的行为。
根据本发明的实施例,在读取访问期间,文件系统管理装置包括向高速缓冲存储器发送预取命令的装置,以便将由主机设备所请求的数据从存储介质下载到高速缓冲存储器。
根据本发明的实施例,所述预取命令包括用于指示要在高速缓冲存储器中预取的下一个数据在存储介质上的地址的装置。
根据本发明的实施例,所述存储设备包括符合串行先进技术附加标准或符合并行先进技术附加标准的接口。
所述串行先进技术附加标准(SATA)接口将带来作为高等级协议的主要好处,特别是与并行先进技术附加标准(PATA)接口相比。
根据本发明的实施例,所述存储设备包括用于将预取命令封装在串行先进技术附加接口中所定义的帧信息结构字段中的装置。
在SATA环境中定义了帧信息结构。为了符合SATA标准,本发明人已经发现本发明特别适合于在传输层中对API进行封装,因此,提出了使用用于发送远程过程调用的FIS。
根据本发明的实施例,在写入模式下的访问期间,文件系统管理装置包括用于向存储介质发送写入高速缓冲存储器命令的装置,以便将要存储在存储介质中的数据首先存储在高速缓冲存储器上,并且当高速缓冲存储器的填充已经达到预定水平时,将数据从高速缓冲存储器传送到存储介质。
本发明还涉及一种多媒体设备,优选地为数字电视解码器,其特征在于所述多媒体设备包括根据本发明任一个实施例的存储设备。
尽管基于统计的该高速缓冲存储器的预取的广泛使用,但是,本发明人已经发现将高速缓冲存储器预取基于所要进行的实际访问尤为有意义。


借助于附图,通过将示出的本发明的非限定性实施例的描述,本发明的其他特征和优点将出现。其中,图1示出了表示本发明实施例的系统的方框图;图2示出了由文件系统预取的高速缓冲存储器的实施例;图3示出了从存储介质到高速缓冲存储器的数据传送的实施例;图4示出了从缓冲存储器到主机设备的数据传送的实施例;图5示出了表示本发明另一实施例的系统的方框图;图6示出了由主机设备进行的高速缓冲存储器写入的实施例;图7示出了在写入高速缓冲存储器命令期间所实现的数据流的实施例。
具体实施例方式
当前的实施例基于符合在文件“serial ATA,revision 1.0,29August 2001”中定义的串行先进技术附加(SATA)标准的接口装置。SATA传输ATA协议。本实施例还涉及在记录介质上的视频数据的存储,并且在本实施例中,存储介质是硬盘,但是能够是其他任何类型的存储介质。本发明当然不局限于视频数据类型,而是还可以涉及音频或任何信息数据。采用视频数据类型作为视频数据请求高带宽和持续不变的比特率的实施例。
图1示出了实现本发明的系统。
包括存储应用程序16的主机设备15与SATA接口14相连,所述SATA接口14与和控制器18相关的存储设备11和缓冲器17相连。SATA接口可以由并行ATA接口、或者适合于访问存储设备的其他任何接口替代。缓冲器17与视频输出19相连。视频输出19可以是对电视机或能够接收或处理视频数据类型的其他任何装置的外部连接。
存储设备11至少包括硬盘12和高速缓冲存储器13。主机CPU通过SATA接口14对硬盘12进行访问。
主机设备15是基于处理器的设备,即,能够驱动存储应用程序16的设备。存储应用程序16是软件程序,例如加载在与处理器相关的存储器中的软件程序。
主机设备,或者更准确地,运行在主机处理器上的文件系统知道在硬盘12上的数据位置。文件系统管理装置通过ATA接口发送命令,以便控制高速缓冲存储器13。
高速缓冲存储器预取和高速缓冲存储器写入命令按照如下所示定义。
利用ATA命令“设置特征“的子命令来实现该命令,所述命令“设置特征”命令的代码为EF(按16进制)。
该子命令代码为83H,并且根据下表来定义。

分区计数寄存器高速缓冲存储器分段尺寸这里定义的高速缓冲存储器分段的尺寸。
分区号寄存器高速缓冲存储器分段号高速缓冲存储器的分段的阶数柱面低寄存器-比特(0)W/R针对写入高速缓冲存储器分段设置为0,针对读取高速缓冲存储器分段设置为1设备/头寄存器-比特(4)DEV将表示所选择的设备图2示出了根据本发明实施例的高速缓冲存储器预取。
由文件系统来管理高速缓冲存储器预取。
文件系统通常位于离主机设备较近的位置,即,在如图1所示的SATA接口的前面,但是也可以位于如图3所示的SATA接口的后面。
文件系统负责管理硬盘上的文件结构,因此,知道在硬盘上的数据位置。
在本发明的一个实施例中,文件系统是特别适合于视频数据和信息数据的公共存储器的多媒体文件系统。
这样的专用于在相同的记录介质上存储视频数据和信息数据的多媒体文件系统的特征在于用于存储音频和/或视频流的第一类型的存储单元、以及用于存储非流数据的第二类型的存储单元。其中,第一存储单元的尺寸是第二存储单元尺寸的倍数。第一类型的单元或者针对流存储而分配,或者为了存储非流数据,将其分割为多个第二类型的单元。
在该文件系统的一个实施例中,针对这两种类型的存储单元和两种类型的文件,只存在一个目录树。
存储设备11可以按照高效的方式来存储信息数据(非流数据)或音频/视频数据(流数据),避免了硬盘12的存储碎片,而不需定义针对信息数据的固定区域和针对音频/视频数据的固定区域。
有利地,分割为多个第二类型的单元的第一类型的单元可以根据所有这些第二类型单元的可用性并根据要存储的数据的类型,不再分割为多个第二类型的单元。
带宽是数据突发传送的尺寸的函数,使用越少的时间来寻找硬盘驱动分区,则带宽越高。因此,通过根据要存储的数据类型管理硬盘12的多媒体文件系统限制了分区搜索,因此,减少了访问时间,从而增加了持续不变的比特率。
然后,硬盘可以与要存储的数据类型一致,并且可以使其占用最优。当仅存在大尺寸的文件要存储时,这样可以改善硬盘12的存储碎片。在较大的块中存储这些文件,而当存在大量的小文件要存储时,只要需要,则按照较小尺寸的块对大尺寸的块进行分割。
由于可以相当大地减少文件存储碎片,使用诸如多媒体文件系统的文件系统可以极大地改善对数据的访问时间。
优选地,至少一个第一数据结构表示至少针对每一个第一类型的单元,该单元是否为空闲的,以及是否按照多个第二类型的存储单元来分割该单元。
当主机想要从硬盘12中读取数据时,其向硬盘12发送预取命令。预取命令定义为由ATA协议所支持的新命令。
预取命令向存储设备11提供指令,以便将随后要由存储应用程序16读取的数据加载到高速缓冲存储器13中。即,当存储应用程序存储视频数据时,由于其通常表现为极大量的数据,这些视频数据请求几个盘分区对其进行存储。如图2所示,分别将这些数据存储在A、C、D、E和F上。利用传统的预取(预测预取),根据统计,高速缓冲存储器将加载分区A、B、C、D、E,因此,不将提供100%的高速缓冲存储器命中。由于高速缓冲存储器预取命令指示高速缓冲存储器13从硬盘加载要有效读取的随后的数据,因此,本发明的该实施例提供了100%的高速缓冲存储器命中。
而且,由于其优化了硬盘的使用,使用如上所述的多媒体文件系统增加了高速缓冲存储器预取的效率。
图3示出了从存储介质到高速缓冲存储器的数据传送的实施例。
在步骤F1,对分区号进行初始化,其提供了在硬盘介质上的数据位置。在步骤F2,由主机对分区号寄存器和分区计数寄存器进行设置。分区计数值具有与目标高速缓冲存储器的分段尺寸相同的值。在步骤F3,由主机发布高速缓冲存储器预取或加载高速缓冲存储器命令,以便要求设备从存储介质向高速缓冲存储器传送数据。在步骤F4上,将数据从硬盘介质传送到高速缓冲存储器。
图4示出了从高速缓冲存储器到主机设备的数据传送的实施例。
在步骤G1,对分区号进行初始化。该值与源高速缓冲存储器分段的第一分区号相同。该条件确保了由认知的数据预取所期望的高速缓冲存储器命中。在步骤G2,设置分区号寄存器和分区计数寄存器,所述分区计数值具有与源高速缓冲存储器的分段尺寸相同的值。
在步骤G3,由主机发布标准ATA命令读取UDMA。由于数据已经存在于高速缓冲存储器中,因此访问是瞬时的。在步骤G4,执行ATA命令,并且将数据通过ATA接口从存储设备传送到主机设备。
图5示出了其中实现了本发明的实施例的另一系统。
图5示出了根据本发明实施例的主机设备1和存储设备2,并且提供了主机设备和存储设备的功能描述。主机设备包括存储应用程序3、接口4、视频源9和视频输出10。
存储设备2包括接口5、多媒体文件系统6、固件程序7和硬盘组件8。硬盘组件8至少包括存储介质和高速缓冲存储器,所述存储介质在给定实施例中为硬盘。
对于嵌入式系统的设计者,当接口使主机能够通过向文件系统装置发送远程调用过程来访问存储装置时,提供包括文件系统的存储设备是非常方便的。因此,通过传送过程调用,将存储设备作为通过简单接口控制的自主实体来提供,因而不要求设计者的额外工作。这使设计者能够获得硬盘驱动器的好处,而无需在本领域的专门技术。
优选地,所述接口包括应用程序编程接口,能够使存储设备的控制更容易。
将存储设备2设置为独立的、高度集成的存储设备,其中,嵌入了管理文件和硬盘组件控制器的所有软件。
硬盘介质8用于存储来自视频源9的视频数据、或者提供给存储应用程序3的被称为视频数据或信息数据的其他任何数据。视频源9可以是诸如广播程序的任何类型的源,并且可以是根据MPEG-2或MPEG-4标准编码的流。该硬盘还由存储应用程序读取,以便向视频输出10提供数据。视频输出10可以是对电视机或能够接收或处理视频数据类型的其他任何装置的外部连接。
主机设备1可以读取或存储在硬盘驱动器8上的数据(信息数据或视频数据)。该主机设备1可以由视频输出10所请求的硬盘驱动器8上的数据、或者向硬盘驱动器8发送来自视频源9的数据。
当主机设备1想要将数据存储在硬盘驱动器8上时,存储应用程序3通过主机设备1的接口4和存储设备2的接口5,向存储设备2的多媒体文件系统6发送调用命令。
存储应用程序3从视频源9中接收该视频流。该存储应用程序必须将视频流存储在硬盘驱动器8上。
接口4和接口5具有相同的类型以能够实现主机设备和存储设备之间的通信。如上所述,在本实施例中,这些接口符合串行先进技术附加(SATA)标准。
SATA接口定义了三层物理层、链路层和传输层。
物理层是串行类型的接口。SATA接口可以为消费市场提供高集成和高速度的接口。诸如并行先进技术附加(PATA)的其他接口类型也可以提供高速接口,但是与SATA接口相比,提供了较小的集成功能。对SATA接口进行设计,以使其与PATA接口是透明的。
在本发明的另一实施例中,由于SATA对于PATA而言是软件透明的,因此,可以在存储设备上特别是在PATA和SATA上实现几种类型的接口。
链路层对帧进行封装和传送。
链路层传送和接收帧,传送基于来自传输层的控制信号的原语,并且接收来自物理层的原语,将所述原语转换为去往传输层的控制信号。链路层不需要知道帧中的内容。
传输层构造针对传输的帧信息结构(FIS),并分解接收到的FIS。主机和存储设备的传输层的不同在于FIS的内容的源是不同的。
在给定的实施例中,主机设备1和存储设备2是物理上独立的。
根据本实施例的一个变体,例如,存储设备2和主机设备1可以在相同的印刷电路板上由连接器在物理上进行分离。
接口4和接口5是能够将来自主机设备1的远程调用过程传送到存储设备2的接口装置。
接口4包括表示应用程序编程接口的API。API实现了主机设备1和存储设备2之间的过程调用。
为了符合SATA标准,本发明人已经发现了本发明特别适合于在传输层中封装API。
将API定义为新的FIS类别。该FIS提供了API过程调用的结构描述。
在存储设备1上的接口5对接收到的FIS进行分解。
即,该接口5从API FIS中提取API,以便向多媒体文件系统6传送API。
通过API来控制多媒体文件系统6,所述API主要能够实现主机设备1和存储设备2之间的过程调用的传送。
多媒体文件系统6通过固件模块7来访问硬盘驱动器。固件模块7管理对硬盘8的低等级访问。
固件模块7、多媒体文件系统6和硬盘驱动器8非常近,并可以进行交互。
硬盘驱动器8包括作为标准硬盘驱动器的高速缓冲存储器。使用高速缓冲存储器是对主要在多个访问期间缺少持续不变的带宽的硬盘驱动器8进行平衡的装置。
图6示出了用于说明写入高速缓冲存储器命令的本发明的实施例。
数字TV源20通过链路28与缓冲器22相连。缓冲器22通过SATA接口23与存储设备24相连。存储设备24包括硬盘26和高速缓冲存储器25。链路27是连接主机设备21和缓冲存储器22的数据总线。
在本实施例中,传送模式是在100MB/S的SATA UDMA(表示“超直接模式访问”)模式5,因此,可以保持AV应用程序。
数字TV源提供了具有包括每188个字节的分组的、比特率为0.25MB/S(兆字节每秒)到4MB/S的视频数据。
主机设备通过如在图1上所描述的那样,通过发送命令来控制SATA接口。
当视频数据以高比特率来自数字TV源20时,将视频数据通过缓冲器22传送到SATA接口。
可能需要较小的缓冲器22(512个字节)来调整输入流和高速缓冲存储器写入之间的比特速率。
由于写入高速缓冲存储器命令,主机设备可以实现从数字TV源20到硬盘26的视频数据的直接传送。
主机对分区号、分区计数进行设置,以符合SATA过程。
主机通过使用写入高速缓冲存储器命令,一次性向高速缓冲存储器写入一个512个字节的块。当写入256个块时,在硬盘上由主机设备21预先设置的位置上写入128KB的数据。从高速缓冲存储器25到硬盘26的该传送是自动的,并且通过缓冲存储器25的填充电平来触发。
图7示出了在写入高速缓冲存储器命令期间所实现的数据流的实施例。
在步骤E1中,由文件系统管理装置对其中将要在硬盘上存储数据的分区号进行初始化。
然后,在步骤E2,将命令发送到固件,以向固件指示其中要存储数据的分区号。还设置被称为分区计数的计数器。这避免了在每次传送时指示分区号。针对随后数据块的分区号将是向其中添加分区计数的值的第一分区的号。
然后,将数据传送到缓冲器(例如,在图4中的缓冲器22),直到缓冲器满了为止。当缓冲器装满时,文件系统向固件发送写入高速缓冲存储器命令(步骤E4)。写入高速缓冲存储器命令表示向高速缓冲存储器的数据传送。当高速缓冲存储器分段装满时,或者当其已经达到预定的水平时,在步骤E7,将数据传送到存储介质上。例如,当写入了256个块时,在存储介质上由文件系统预先设置的位置上,写入128KB的数据。该操作可以是自动的,由高速缓冲存储器的填充水平来触发。
如果在高速缓冲存储器中所加载的数据量大于分区的尺寸,因此,在步骤E6,还递增分区号。
写入高速缓冲存储器命令允许主机将数据写入到高速缓冲存储器中,而不将数据写在存储介质自身上。
由于ATA协议的高速度,主机和硬盘驱动器之间的数据传送可以非常短。
权利要求
1.包括存储介质(8,12,25)及其相关的高速缓冲存储器(13,26)的设备(2,11),所述存储介质(8,12,25)用于由与文件系统管理装置(6)相关的主机设备(1,15,21)通过高速缓冲存储器(13,26),在读取模式或写入模式下对其进行访问,其特征在于在文件系统管理装置(6)的控制下,加载高速缓冲存储器(13,26)。
2.根据权利要求1所述的设备,其特征在于与主机设备(1,15,21)相关的所述文件系统管理装置(6)控制在读取模式下的访问期间的高速缓冲存储器预取。
3.根据权利要求2所述的设备,其特征在于在读取访问期间,文件系统管理装置(6)包括向高速缓冲存储器(13,26)发送预取命令的装置,以便将由主机设备(1,15,21)所请求的数据从存储介质(8,12,25)下载到高速缓冲存储器(13,26)。
4.根据权利要求2或3的任一个所述的设备,其特征在于所述预取命令包括用于指示要在高速缓冲存储器(13,16)中预取的下一个数据在存储介质(8,12,25)上的地址的装置。
5.根据权利要求1到4的任一个所述的设备,其特征在于所述设备包括符合串行先进技术附加标准或符合并行先进技术附加标准的接口(4,5,14,23)。
6.根据权利要求1到5的任一个所述的设备,其特征在于所述设备包括用于将预取命令封装在串行先进技术附加接口中所定义的帧信息结构字段中的装置。
7.根据权利要求1所述的装置,其特征在于在写入模式下的访问期间,文件系统管理装置(6)包括用于向存储介质(8,12,25)发送写入高速缓冲存储器命令的装置,以便将要存储在存储介质(8,12,25)中的数据首先存储在高速缓冲存储器(13,26)上,并且当高速缓冲存储器(13,26)的填充已经达到预定水平时,将数据从高速缓冲存储器(13,26)传送到存储介质(8,12,25)。
8.一种多媒体设备,优选地为数字电视解码器,其特征在于所述多媒体设备包括根据权利要求1到7任一个所述的设备(2,11)。
全文摘要
本发明涉及一种包括存储介质(8,12,25)及其相关的高速缓冲存储器(13,26)的设备(2,11),所述存储介质(8,12,25)用于由与文件系统管理装置(6)相关的主机设备(1,15,21)通过高速高速缓冲存储器(13,26),在读取模式或写入模式下对其进行访问,其特征在于在文件系统管理装置(6)的控制下,加载高速缓冲存储器(13,26)。本发明应用于多媒体终端,特别是数字电视接收机或机顶盒。
文档编号H04N5/91GK1602472SQ02824895
公开日2005年3月30日 申请日期2002年11月27日 优先权日2001年12月11日
发明者克洛德·沙佩尔, 让-查理·吉耶莫, 让·勒鲁 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1