处理快速的非同步串流的方法及装置的制造方法

文档序号:9843885阅读:380来源:国知局
处理快速的非同步串流的方法及装置的制造方法
【技术领域】
[0001]本发明有关于一种电脑数据储存系统,尤指一种有效率处理存储控制器快取记忆体内的主机写入数据,使得写入串流效率可以最大化。
【背景技术】
[0002]在数据存储系统内,藉由利用已知的数据快取技术(包含重新写入快取记忆体技术)来提升写入效能。当存储控制器接收到主机电脑的写入请求时,存储控制器将写入数据储存于写入快取记忆体。如果写入快取记忆体内仍有可用的空间,则会通知主机电脑此完成写入请求已经完成。接着开放主机电脑以允许额外的读取或写入请求。如果没有可用的写入快取记忆体空间,存储控制器必须直接移转此写入请求至较慢的存储元件,如此会降低写入效能。
[0003]一旦写入数据位于写入快取记忆体内,存储控制器建立多种方式来判断何时以及多少数量的写入数据传送至目标的存储元件。与如此移转相关的动作通常称为自写入快取记忆体释出数据。释出写入数据是很重要的因为其释放出写入快取记忆体的空间以接收来自主机电脑的新写入请求,且数据是以冗余磁盘阵列(RAID)架构存储于存储元件中。当单一或数个存储元件失效时,冗余RAID架构可以对数据进行保存。因此有需要一种有效率处理主机写入请求以及将存储控制器写入快取记忆体的写入数据传送至存储元件的方法。

【发明内容】

[0004]本发明解决现有技术的缺点。依据本发明的数个实施例,提供一种可以有效率地将写入数据由存储控制器传送至条纹存储区域。该方法包含有接收一主机写入请求,其中该主机写入请求包含一主机写入请求大小;计算出填满一包含主机写入请求的一条纹的时间小于一主机保证写入时间;以及处理该主机写入请求以作为一写回主机写入请求。存储控制器将数个写回主机写入请求存储于一写入快取记忆体,以及填满该条纹的时间为该条纹的大小除以包含该主机写入请求的对应的主机写入串流的数据速率。该主机保证写入时间是该存储控制器保证主机写入请求送进于写入快取记忆体以及条纹存储区域之一者的最大时间区间。
[0005]在本发明的一实施例中,提供一种存储控制器,该存储控制器可以有效率处理自一个或多个主机电脑写入数据至一包含一个或多个存储元件的条纹存储区域。该存储控制器包含一处理器与一记忆体,该记忆体親接于该处理器。该记忆体包含一写入快取记忆体以及一主机保证写入时间。该主机保证写入时间是该存储控制器保证主机写入请求送进于写入快取记忆体以及条纹存储区域之一者的最大时间区间。存储控制器接收一主机写入请求,该主机写入请求包含有一主机写入请求大小。该存储控制器计算出填满一包含有该主机写入请求的条纹的时间小于该主机保证写入时间,以及该存储控制器处理该主机写入请求作为一写回主机写入请求。填满该条纹的时间是该条纹的大小除以包含该主机写入请求的对应的主机写入串流的数据速率。
[0006]在本发明的另一实施例中,提供一种可以有效率地将写入数据传送至存储元件的系统。该系统包含一主机电脑、一親接于主机电脑的存储控制器、以及一包含有一个或多个的存储元件且与存储控制器耦接的条纹区域。该存储控制器包含一处理器以及一耦接于处理器的记忆体。该记忆体包含一写入快取记忆体。该主机电脑将一主机写入请求传送至存储控制器,该主机写入请求送进于条纹存储区域之中的一条纹。当主机电脑将主机写入请求传送至存储控制器时,该存储控制器计算出填满该条纹的时间未大于一主机保证写入时间以及处理主机写入请求以作为一写回主机写入请求。填满条纹的时间为包含有主机写入请求的条纹的大小除以包含该主机写入请求的对应的主机写入串流的数据速率。
[0007]本发明的优点在于针对快速串流与慢速串流,优先将快速串流写入至快取记忆体,藉此提升主机写入串流的写入效能。快速串流写入数据至存储控制器的速度快于慢速串流,因此将整个条纹填满于写入快取记忆体的速度快于慢速串流。当数据从整个条纹释出而非从部分条纹释出,数据将依据最大效率从写入快取记忆体释出至存储元件的条纹区域。通过将自整个条纹释出的频率最大化,使得写入快取记忆体的使用率最大化以及存储控制器的网状与入效能最大化。
[0008]本发明的其他优点在于使得具有相对较小的写入快取记忆体的存储控制器优于具有相对较大的写入快取记忆体的存储控制器,其中较大的写入快取记忆体没有利用本发明。存储控制器的成本部分决定于机上快取记忆体的速度与大小。因此,希望利用较小且更有效率的存储控制器快取记忆体,以便维持存储控制器的成本有效性。
[0009]本发明还有其他优点在于存储控制器维持来自主机电脑较快的写入数据速率。在其他实施例中,允许主机电脑在没有数据溢位以及遗漏客户数据的可能性的情形之下,维持高的客户数据速率。
[0010]本发明的实施例的附加特征与优点明显地揭露于说明书,特别是可与附图共同参酌。
【附图说明】
[0011]图1a绘示本发明第一实施例的非主机型数据存储系统的方块图;
[0012]图1b绘示本发明第二实施例的非主机型数据存储系统的方块图;
[0013]图1c绘示本发明第三实施例的非主机型数据存储系统的方块图;
[0014]图2a绘示本发明第一实施例的主机型数据存储系统的方块图;
[0015]图2b绘示本发明第二实施例的主机型数据存储系统的方块图;
[0016]图2c绘示本发明第三实施例的主机型数据存储系统的方块图;
[0017]图3绘示本发明一实施例的数据存储系统的方块图;
[0018]图4a绘示本发明一实施例的单一存储元件组成的条纹区域的示意图;
[0019]图4b绘示本发明一实施例的复数个存储元件组成的条纹区域的示意图;
[0020]图5a绘示本发明一实施例的写入数据串流的示意图;
[0021]图5b绘示本发明一实施例的爆发参数的示意图;
[0022]图6绘示本发明一实施例的主机数据串流的示意图;
[0023]图7绘示本发明一实施例的针对快速串流与慢速串流来填满条纹的时间示意图;
[0024]图8绘示本发明一实施例的所有主机写入串流的总体大数据的参数的示意图;
[0025]图9绘示本发明一实施例的预先主机写入串流的参数的示意图;
[0026]图10绘示本发明一实施例的主机写入请求程序的流程图;
[0027]图11绘示本发明一实施例的串流分析程序的流程图;
[0028]图12绘示本发明一实施例的快速串流的新的主机写入请求程序的流程图;以及
[0029]图13绘示本发明一实施例的较少最近使用串流序列的管理步骤的流程图。
[0030]其中,附图标记说明如下:
[0031]100数据存储系统104主机电脑
[0032]108存储控制器108a冗余存储控制器
[0033]108b冗余存储控制器112主机汇流排
[0034]116、116a_116n存储元件120存储元件汇流排
[0035]124、132存储子系统128、136数据存储系统
[0036]140控制器间通讯链路
[0037]200、204、208数据存储系统
[0038]224应用程序
[0039]300数据存储系统308、308a、308b主机数据串流
[0040]312中央处理器316记忆体
[0041 ]324读取数据快取记忆体328写入数据快取记忆体
[0042]320数据串流大数据332主机输入/输出请求
[0043]340计时器
[0044]400条纹区域401条纹N
[0045]408 条纹 N+1 412 条纹 N+2
[0046]416条纹N+3 4沈区块A
[0047]424 区块 B 428 区块 C
[0048]432区块D 434条纹区域
[0049]434 条纹 M 440 条纹 M+1
[0050]444 条纹 M+2 448 条纹 M+3
[0051]452 区块 E 456 区块 F
[0052]460 区块 G 464 区块 H
[0053]468 区块 I 472 区块 J
[0054]488 区块 K 480 区块 L
[0055]484 区块 M 488 区块 N
[0056]492 区块 O 496 区块 P
[0057]512时段516爆发
[0058]516a 爆发 O 516b 爆发 I
[0059]516c 爆发 2 516d 爆发 3
[0060]516e 爆发 4 516f 爆发 5
[0061]520爆发长度
[0062]604逻辑区块地址608指定时间
[0063]612a_612m主机写入请求616主机写入请求大小
[0064]620起始逻辑区块地址624结束逻辑区块地址
[0065]632 串流窗口
[0066]704写入快取708回写快取
[0067]712透写快取716填满条纹的时间
[0068]720主机保证写入时间804主机保证写入时间
[0069]808较少最近使用串流序列812原始容器表
[0070]816条纹大小904串流标识
[0071]908上次选中的串流时间912串流数据速率
[0072]916主机写入序列920主机写入请求
[0073]924主机写入请求大小928主机写入请求之起始逻辑区块地址
[0074]932爆发取样序列940上次爆发后的时间的取样序列
【具体实施方式】
[0075]本案的发明人观察到从主机电脑至存储控制器的输入/输出工作量有多种效能问题。特别是指当有需要许多具有不同数据速率的大量的循序写入串流的存储控制器写入快取记忆体时,有效率地管理存储控制器写入快取记忆体是困难的。例如,将所有的主机写入串流被同样地处理的话,存储控制器写入快取记忆体将会快速地被来自于慢速串流的部分条纹填满。如此会使得存储控制器将部分串流自写入快取记忆体释出而传送至存储元件,以便释放更多的写入快取记忆体空间,或者一旦没有可使用的写入快取记忆体空间时,快速串流必须使用连续写入模式。部分条纹写入包含少于在完整条纹内的所有数据。任何一种结果都是高度没有效率。因此有需要针对每一个串流的数据速率进行追踪,以及允许对于快速串流优先进行写入快取记忆体,以便将释出至存储元件的完整条纹的数目极大化。
[0076]图1a绘示本发明第一实施例的非主机为基础型的数据存储系统100的方块图。
[0077]数据存储系统100包含一个或数个主机电脑104。主机电脑104—般为伺服器,但是也可为桌上型电脑或行动型电脑。主机电脑104执行应用程序而产生读取请求以及写入请求,通过主机汇流排112(或网络)将读取请求以及写入请求传送至存储控制器108。在本实施例中,主机汇流排(或网络)112可为SCS1、FC-AL、USB、火线(Firewire)、SSA、SAS、SATA或高速汇流排(Infiniband)。在其他实施例中,主机汇流排(或网络)112可为乙太网络、iSCS1、光纤通道、SSA、ESCON、ATM、FICON、NVMe 或高速汇流排(Infiniband)。
[0078]主机电脑104可与
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1