具有改善缓冲器容量的使用的大容量存储系统的制作方法

文档序号:6478183阅读:158来源:国知局
专利名称:具有改善缓冲器容量的使用的大容量存储系统的制作方法
技术领域
本发明涉及具有改善缓冲器容量的使用的大容量存储系统,并且更具体地涉及具 有嵌入式控制器的用于实时数据存储的大容量存储系统(massstorage system)
背景技术
为存储直接来自数据流源(例如胶片摄像机(film camera))的、具有高数据速率 的实时数据流而设计的嵌入式的独立(stand-alone)系统通常可以被拆分(split up)为 两种数据处理 1.具有保证的数据速率的实时视频数据存储,以及 2.由嵌入式处理器管理的诸如文件系统信息之类的非实时数据存储。 两种数据通道(path)都必须与I/O控制器连接,所述I/O控制器实施与形成大容
量存储阵列的存储单元的I/O通信。 通过诸如硬盘、光盘或基于固态的存储器(memory)之类的单一存储单元的并行 化来达到确保的高数据速率。以上类型的存储单元经常在传输的开始处引入显著的等待时 间(latency)。由于尤其在需要实时行为时等待时间成为问题,所以引入诸如SRAM和/或 SDRAM之类的无存取等待时间或至少没有显著的存取等待时间的存储器。对于移动应用具 体而言,其他要求是整个存储系统必须尽可能小并且必须具有减少的功耗。

发明内容
本发明的目的是提出一种具有改善可用缓冲器容量的使用的大容量存储系统。 根据本发明,通过一种大容量存储系统来实现该目的,所述大容量存储系统具有
实时数据接口和大容量存储阵列之间的第一数据通道以及嵌入式处理器和大容量存储阵
列之间的第二数据通道,所述第一数据通道包括无存取等待时间的数据缓冲器,其中无存
取等待时间的数据缓冲器也被用作嵌入式处理器和大容量存储阵列之间的非实时数据传
输的数据缓冲器。 本发明提出了一种实时数据通道中的"无存取等待时间"的存储器单元的多用途 的使用。这是该存储器的更高效的使用,并且附加地是在嵌入式处理器和由单一存储器件 组成的大容量存储阵列之间传输非实时数据的更高效的方式。当然,本发明不仅可应用于 为实时数据而设计的系统。同样还可以将本发明用于其中需要确保的高数据速率并且等待 时间成为问题的其他环境中。 优选地将具有小尺寸(footprint)的"无等待时间"存储器集成到实时数据通道 中作为实时数据缓冲器以补偿目标大容量存储阵列的任何等待时间。所述大容量存储阵列 由两个或更多的单一存储单元组成。所述存储单元中的每一个由I/0控制器控制。由于嵌 入式处理器也必须存取并且修改大容量存储阵列上的数据,所以存在实时数据缓冲器和处 理器的主存储器之间实施的第二通道。因此,实施用于在来自或去往实时接口的数据和来 自或去往嵌入式处理器的数据之间进行切换的数据开关。使用必要的实时数据缓冲器还用
3于在嵌入式处理器和大容量存储阵列之间的非实时数据传输节省了用于非实时传输的额 外的缓冲器。因此,可以减少空间和功耗。 优选地由嵌入式处理器通过控制线将硬件块配置在所要求的模式中。嵌入式处理
器通过启动(initial)其主存储器和实时数据缓冲器之间的直接存储器存取传输(DMA传
输),以从大容量存储阵列传输数据以及向大容量存储阵列传输数据。因为处理器能够在执
行数据传输的同时在其他任务上工作,所以这是高效的实施方案。另外,嵌入式处理器经由
实时数据缓冲器来存取大容量存储阵列比直接存取大容量存储阵列更快。 有利地,大容量存储系统具有用于拆分数据流并且将其并行地发送至两个或更多
的存储单元的数据处理块。这允许容易地实施RAID或类似RAID的系统。 优选地,可以对"无存取等待时间"数据缓冲器设置一个或更多的阈值,所述一个
或更多的阈值控制在从数据缓冲器向大容量存储阵列、向实时接口、以及向主存储器流传
输出数据的瞬时(instant)。以此方式,可以适应不同的数据目标的性能行为。


为了更好地理解,现在将参考附图在以下描述中更详细地解释本发明。应当理解, 本发明不限于该示范性实施例,并且也可以方便地组合和/或修改所指定的特征,而脱离 本发明的范围。在附图中 图1示出了根据本发明的一种示范性大容量存储系统。
具体实施例方式
图1以框图的形式示出了用于实时数据流的、具有嵌入式处理器2的独立的大容 量存储系统1的架构设计。实时接口块3连接到实时数据源或接收器(sink)(未示出), 即,摄像机或显示器。嵌入式处理器2对诸如像"记录视频"或"回放视频"的用户输入做 出反应。嵌入式处理器2通过控制连接4(由虚线指示)将硬件块配置在所请求的模式中。 为此目的,由嵌入式处理器2在写入存取中修改用于配置硬件块的简单的"模式"寄存器。
对实时数据流传输(streaming)的需求,嵌入式处理器2首先配置硬件块。数据 开关5选择用于数据流传输的实时接口。另外,多个I/0控制单元6(1/0 Ctrl)接收关于 实时数据流的方向(读或写)以及存储地址的信息。实时数据流的存储地址独立于数据流 的方向和种类。实时数据和非实时数据之间的主要区别是与一般相当少量的非实时数据 相比,预期大量的实时数据。为了应对该区别,在去往I/0控制单元6的读/写命令中包括 要传输的字节的数目。在实时模式中,I/O控制单元6允许读/写足够大的数据的量,以保 证嵌入式处理器2能够生成并发送下一读/写命令。由于在嵌入式处理器2的两个读/写 命令之间经过相对大的时间量,因此这对于确保实时数据速率来说是必须的。在非实时模 式中,由于经常仅仅必须传输少量的数据,因此允许利用单一读/写命令来读/写的数据量 相当少。 在"记录"用户输入的情况中,实时数据流经过实时接口 3、数据开关5、实时数据 缓冲器7和数据处理单元8,其中实时数据流被拆分并且被并行地发送至I/O控制单元6。 I/O控制单元6向大容量存储阵列10的多个存储单元9写入数据。只要大容量存储阵列 10的存储单元9不能够接收数据,实时数据流就被存储进实时数据缓冲器7。在存储单元9准备好接收数据时,向大容量存储阵列10的数据传输继续。例如,如果硬盘必须重定位它 们的读/写磁头,则产生这样的等待时间。由于机械操作引起数据传输被暂停。只在完成 定位过程之后,硬盘才能够以它们的介质传输数据速率来运行。 在"回放"用户输入的情况中,从存储单元9并行地读取数据,并且在经过数据处 理单元8之后将其写入至实时数据缓冲器7中,其中,单一数据流被合并为一个实时数据 流。优选地,仅仅在实时数据缓冲器7被填满时,才启动通过实时接口 3向数据接收器的实 时数据流的传送。该措施有助于补偿由大容量存储阵列io产生的等待时间,并且有助于帮 助满足实时要求。有利地,通过设置阈值,该行为是可改变的,这将在后面解释。
如果嵌入式处理器2必须存取大容量存储阵列10,例如必须更新一些系统文件信 息或者必须读/写或修改属于被存储在大容量存储阵列10上的实时数据流的描述性数据, 则执行非实时的数据传输。与实时数据流的主要区别是由处理器的主存储器ll逻辑地替 换实时接口 3。在向大容量存储阵列lO写入数据的情况下,从主存储器ll向实时数据缓冲 器7传输数据,或者在从大容量存储阵列10读取数据的情况下,从实时数据缓冲器7向主 存储器11传输数据。因此,由嵌入式处理器2启动主存储器11和实时数据缓冲器7之间的 直接存储器存取(DMA)传输。自动地执行从实时数据缓冲器7向大容量存储阵列10的数 据传输。结果,在启动了 DMA传输之后,嵌入式存储器2可以自由地在其他任务上工作,直 至接收到成功的或不成功向大容量存储阵列10的DMA传输的消息。在DMA传输期间,如同 处理实时数据流那样,大容量存储阵列10的等待时间由实时数据缓冲器7补偿。这提供了 比嵌入式处理器2对大容量存储阵列IO的直接单一字(single word)的存取更高的性能。 进一步的改善是用于非实时数据流的控制机制与用于实时数据流的控制机制相同。但是, 必须不同地配置数据开关6以利用主存储器11来替换实时接口 3。并且,修改利用单一读 /写命令写入的数据量。每个命令的数据量相对小,但同样可以适应嵌入式处理器2的需 要,以使得利用去往I/O控制单元6的单一命令来执行每个DMA传输。
在数据处理单元8中执行数据的并行化,这允许分别并行地向大容量存储阵列10 的全部单一存储单元9写入,从大容量存储阵列10的全部单一存储单元9读取。这对应于 RAID-0系统。也可以实施其他RAID或类似RAID的系统。 优选地,即使在对大容量存储阵列10的两个存取期间、或将不同的大容量存储单 元9添加至大容量存储阵列10时,仍可以由嵌入式处理器2动态地配置实时数据缓冲器7 的阈值。该阈值控制从实时数据缓冲器7向大容量存储阵列10、向实时接口 3、或向主存储 器ll流传输出数据的瞬时。以此方式,可以适应不同的数据目标的性能行为。例如,在实 时数据缓冲器7中存在至少"n"个数目字节可用时,首先启动从实时数据缓冲器7向主存 储器11的DMA传输,数目"n"由特定的阈值来确定。结果,主存储器11尽可能短地被DMA 传输锁定并且嵌入式处理器2仅仅必须在相同的短时间中、在没有主存储器11的情况下执 行其任务。阈值的动态修改允许使该系统最优地适应于不同类型的大容量存储单元9或不 同类型的数据存取,诸如数据流传输或较小的数据块的传送。例如,对于某些类型的固态盘 来说,不利的瞬时处的数据传输的暂停导致数据速率的下降。在记录期间,通过在向大容量 存储单元9传输数据之前首先在实时数据缓冲器7中收集数据来进行补偿。虽然这减少了 可以被补偿的等待时间,但增加总体的数据速率。
权利要求
大容量存储系统(1),其具有实时数据接口(3)和大容量存储阵列(10)之间的第一数据通道,所述第一数据通道包括无存取等待时间的数据缓冲器(7);以及嵌入式处理器(2)和大容量存储阵列(10)之间的第二数据通道,其中所述无存取等待时间的数据缓冲器(7)也被用作嵌入式处理器(2)和大容量存储阵列(10)之间的非实时数据传输的数据缓冲器。
2. 根据权利要求1所述的大容量存储系统(l),其进一步具有数据开关(5),所述数据 开关(5)用于在来自或去往实时接口 (3)的数据和来自或去往嵌入式处理器(2)的数据之 间进行切换。
3. 根据权利要求1或2所述的大容量存储系统(l),其中,所述大容量存储阵列(10) 包括两个或更多的存储单元(9)。
4. 根据权利要求3所述的大容量存储系统(l),其中,所述两个或更多的存储单元(9) 为硬盘、光盘、或固态存储器。
5. 根据权利要求3或4所述的大容量存储系统(l),其进一步具有数据处理块(8), 所述数据处理块(8)用于拆分数据流并且并行地将其发送给所述两个或更多的存储单元 (9)。
6. 根据权利要求1至5中的任一项所述的大容量存储系统(l),其中可以为所述无存 取等待时间的数据缓冲器(7)设置阈值,所述阈值控制从数据缓冲器(7)向大容量存储阵 列(10)、向实时接口 (3)、或向主存储器(11)流传输出数据的瞬时。
7. 根据权利要求6所述的大容量存储系统(1),其中可以为向大容量存储阵列(10)、向 实时接口 (3)、以及向主存储器(11)的数据传输设置不同的阈值。
8. 在大容量存储系统(1)中的数据传输的方法,所述大容量存储系统(1)具有实时 数据接口 (3)和大容量存储阵列(10)之间的第一数据通道,所述第一数据通道包括无存取 等待时间的数据缓冲器(7);以及嵌入式处理器(2)和大容量存储阵列(10)之间的第二数 据通道,所述方法具有以下步骤使用无存取等待时间的数据缓冲器(7)执行在所述嵌入 式处理器(2)和所述大容量存储阵列(10)之间的非实时数据传输。
全文摘要
本发明涉及具有改善缓冲器容量的使用的大容量存储系统(1),并且更具体地涉及具有嵌入式控制器(2)的、用于实时数据存储的大容量存储系统(1)。根据本发明,该大容量存储系统具有实时数据接口(3)和大容量存储阵列(10)之间的第一数据通道,所述第一数据通道包括无存取等待时间的数据缓冲器(7);以及嵌入式处理器(2)和大容量存储阵列(10)之间的第二数据通道,其中无存取等待时间的数据缓冲器(7)也被用作嵌入式处理器(2)和大容量存储阵列(10)之间的非实时数据传输的数据缓冲器。
文档编号G06F12/08GK101796479SQ200880105134
公开日2010年8月4日 申请日期2008年8月26日 优先权日2007年8月31日
发明者托马斯·布龙, 斯蒂芬·埃伯林, 沃尔夫冈·克劳斯伯格, 约翰·马斯 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1