CN101387943B - 一种存储设备以及缓存数据的方法 - Google Patents
一种存储设备以及缓存数据的方法 Download PDFInfo
- Publication number
- CN101387943B CN101387943B CN2008102123265A CN200810212326A CN101387943B CN 101387943 B CN101387943 B CN 101387943B CN 2008102123265 A CN2008102123265 A CN 2008102123265A CN 200810212326 A CN200810212326 A CN 200810212326A CN 101387943 B CN101387943 B CN 101387943B
- Authority
- CN
- China
- Prior art keywords
- unit
- buffer
- data
- business processing
- main business
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例公开了一种存储设备,该存储设备包括:多个缓存单元,用于缓存数据;主业务处理单元,用于确定将待缓存的数据并行写入本主业务处理单元对应的缓存单元需要的时间;在所述时间超过预设的时间阀值时,确定所述存储设备中除所述对应的缓存单元之外的其他缓存单元,将所述数据写入所述对应的缓存单元和所述其他缓存单元。本发明实施例还公开了一种缓存数据的方法。采用本发明,能够有效的提高存储设备的数据访问速度。
Description
技术领域
本发明涉及信息存储领域,尤其涉及一种存储设备以及缓存数据的方法。
背景技术
存储局域网络(storage area network,SAN)存储设备,如磁盘阵列等,其中的存储介质是将多块独立的硬盘按不同方式组合起来形成的一个硬盘组,存储容量大,并且该存储设备提供数据冗余存储服务,是一种高性能的存储设备。
如图1所示,为SAN存储设备的内部结构示意图,该存储设备包括主机接口单元、主业务处理单元、缓存单元、备份电池单元、存储接口单元和存储介质单元。其中:
主机接口单元主要用于接收外部指令,并将该指令进行协议转换,以实现不同客户端主机与存储设备的连接。例如:光纤信道(Fibre Channel,FC)协议、小型计算机系统接口(Small Computer System Interface,SCSI)协议、互联网小型计算机系统接口(internet SCSI,iSCSI)协议、串行连接小型计算机系统接口(Serial Attached SCSI,SAS)协议、快速外围组件互联(PCI express,PCIe)协议等到外围组件互联(Peripheral Component Interconnect,PCI)协议或PCIe协议的转换。
主业务处理单元是存储设备的核心,主要负责处理各种存储业务,包括写数据和读数据。
缓存单元,用于为主业务处理单元提供数据缓存空间,目前的缓存单元采用静态随机访问存储器(SDRAM)进行数据缓存。
备份电池单元,用于为缓存单元提供掉电保护。由于缓存单元采用的 SDRAM为易失性的存储介质,在无电能供给的情况下存在很大的数据丢失风险。为此,在存储设备中增加了备份电池单元,在系统异常掉电时,备份电池单元为缓存单元提供电能,以防止缓存单元中的数据丢失。
存储接口单元,是主业务处理单元向存储介质单元写入数据和从存储介质单元读取数据的接口,主要用于实现主业务处理单元与存储介质单元之间协议的转化;
存储介质单元,用于存储数据,是数据最终存放的地方。现有的存储介质单元主要是各种接口的机械硬盘,该接口包括集成驱动电子(Integrated DriveElectronic,IDE)接口、串行附属终端(SATA)接口、SAS接口、FC接口等。机械硬盘在容量上和价格上具有较大的优势,但是,由于机械硬盘需要使用电机来带动磁盘的转动,功耗较大,并且机械硬盘的数据存取速度相对于SDRAM来说也较慢。
下面对外部主机对存储设备进行数据写访问的过程进行说明:
主机接口单元接收到外部主机发出的包含数据的写指令后,将该写指令进行协议转换后发送给主业务处理单元;主业务处理单元将该写指令中的数据写入缓存单元,然后,根据维护的存储介质单元的状态信息以及存储策略,确定数据写入存储介质单元的方式和位置,并按照确定的写入方式和位置,将写指令中的数据通过存储接口单元写入存储介质单元。
下面对外部主机对存储设备进行数据读访问的过程进行说明:
主机接口单元接收到外部主机发出的读指令后,将该读指令进行协议转换后发送给主业务处理单元;主业务处理单元根据该读指令从缓存单元中查找待读取的数据,如果查找到,则将查找到的数据通过主机接口单元发送给外部主机;如果未查找到,则通过存储接口单元从存储介质单元中读取需要的数据,并将读取的数据写入缓存单元中,然后,通过主机接口单元将该数据发送给外部主机。缓存单元的容量越大,从缓存单元查找到数据的概率越大,缓存单元的容量越小,从缓存单元查找到数据的概率就越小。
在实现本发明过程中,发明人发现现有技术中存在如下技术问题:
现有技术中,在对存储设备进行数据写访问的过程中,主业务处理单元首先要将数据写入缓存单元,由于缓存单元采用并行接口,主业务处理单元向缓存单元写入数据的带宽固定,在数据量较大的情况下,需要消耗较长的时间的将数据写入缓存单元,从而使得整个数据写访问过程的速度较慢。
同样的,在对存储设备进行数据读访问的过程中,主业务处理单元若从缓存单元中读取不到需要的数据,则从存储介质单元读取数据,并将读取到的数据写入缓存单元,由于向缓存单元写入数据的带宽固定,在数据量较大的情况下,需要消耗较长的时间的将数据写入缓存单元,从而使得整个数据读访问过程的速度较慢。
同时,在存储设备掉电后,如果在后备电池能够维持的时间内,不能对发生掉电的存储设备进行恢复处理,那么,缓存单元中的数据就存在很大的丢失风险,从而会造成较严重的后果。
发明内容
本发明实施例提供一种存储设备以及缓存数据的方法,用于解决现有技术中存储设备的访问速度较慢的问题。
本发明实施例提供一种存储设备,该存储设备包括:
多个缓存单元,用于缓存数据;
主业务处理单元,包括获取单元、时间单元、确定单元和写单元,所述获取单元,用于获取待缓存的数据;所述时间单元,用于根据所述主业务处理单元对应的缓存单元的个数以及每个缓存单元的访问带宽确定总访问带宽,根据所述总访问带宽和所述数据的大小确定将所述数据并行写入所述每个缓存单元需要的时间;所述确定单元,用于在所述时间超过预设的时间阀值时,选择所述存储设备中除所述主业务处理单元对应的缓存单元之外的其他缓存单元;所述写单元,用于将所述数据写入所述主业务处理单元对应的缓存单元和所述其他缓存单元。
本发明实施例提供一种存储设备中缓存数据的方法,该方法包括:
根据主业务处理单元对应的缓存单元的个数以及每个缓存单元的访问带宽确定总访问带宽,根据所述总访问带宽和待缓存的数据的大小确定将所述数据并行写入所述每个缓存单元需要的时间;
在所述时间超过预设的时间阀值时,选择所述对应的缓存单元外的其他缓存单元,并利用所述主业务处理单元对应的缓存单元和所述其他缓存单元缓存所述数据。
附图说明
图1为现有技术中存储设备的结构示意图;
图2A为本发明实施例提供的存储设备的结构示意图之一;
图2B为本发明实施例提供的存储设备的结构示意图之二;
图2C为本发明实施例提供的存储设备的结构示意图之三;
图2D为本发明实施例提供的存储设备的结构示意图之四;
图3A为本发明实施例提供方法流程示意图之一;
图3B为本发明实施例提供方法流程示意图之二;
图4A为本发明实施例提供方法流程示意图之三;
图4B为本发明实施例提供方法流程示意图之四。
具体实施方式
本发明实施例提供一种数据访问速度较高的存储设备,本存储设备中,在将写访问指令中的数据以及根据读访问指令从存储介质单元中读取到的数据缓存到缓存单元中时,可以根据当前的总访问带宽动态的增加可缓存数据的缓存单元的个数,缓存单元的个数越多,需要消耗的缓存数据的时间就越短,进而提高整个写访问或读访问的速度。
本发明实施例提供的存储设备中可以包括一个或多个主业务处理单元,每个主业务处理单元对应一个或多个缓存单元,主业务处理单元在缓存数据时,首先确定将待缓存的数据并行写入本主业务处理单元对应的缓存单元需要的时间,在该时间超过预设的时间阀值时,选择本主业务处理单元对应的缓存单元外的其他缓存单元,并将待缓存的数据写入本主业务处理单元对应的缓存单元和选择的其他缓存单元。
存储设备的结构可以有多种,下面进行举例说明:
实施例一:
本实施例中,如图2A所示,存储设备包括:
主机接口单元20,用于接收来自外部的消息指令,包括写访问指令和读访问指令,并将接收到的消息指令进行协议转换后发送给主业务处理单元;
主业务处理单元21,用于在接收到写访问指令时:根据自身对应的各个缓存单元的访问带宽确定总访问带宽,根据该总访问带宽和写访问指令中的数据的大小确定将该数据并行写入每个缓存单元需要的时间;缓存单元的访问带宽是指从该缓存单元中读取或写入数据的最大速率,如100比特每秒。
若确定的时间超过预设的时间阀值,则选择存储设备中除主业务处理单元对应的缓存单元之外的其他缓存单元,将写访问指令中的数据并行写入主业务处理单元对应的缓存单元和选择的其他缓存单元;然后,将该数据通过存储接口单元写入存储介质单元中;
若确定的时间未超过预设的时间阀值,则将写访问指令中的数据并行写入主业务处理单元对应的缓存单元;然后,将该数据通过存储接口单元写入存储介质单元中。
主业务处理单元21还用于:在根据接收到的读访问指令从缓存单元中未读取到需要的数据时,通过存储接口单元从存储介质单元读取数据,读取到数据后:根据自身对应的各个缓存单元的访问带宽确定总访问带宽,根据该总访问带宽和读取到的数据的大小确定将该数据并行写入每个缓存单元需要的时间;
若确定的时间超过预设的时间阀值,则选择存储设备中除主业务处理单元对应的缓存单元之外的其他缓存单元,将读取到的数据并行写入主业务处理单元对应的缓存单元和选择的其他缓存单元;然后,将该数据通过业务接口单元发送出去;
若确定的时间未超过预设的时间阀值,则将读取到的数据并行写入主业务处理单元对应的缓存单元;然后,将该数据通过业务接口单元发送出去。
多个缓存单元22,用于缓存数据;
存储接口单元23,是主业务处理单元向存储介质单元写入数据和从存储介质单元读取数据的接口,主要用于实现主业务处理单元与存储介质单元之间协议的转化;
存储介质单元24,用于存储主业务处理单元写入的数据。
具体的,对应于写访问过程,主业务处理单元21包括:
第一获取单元,用于从接收到的写访问指令中获取待缓存的数据;
第一时间单元,根据主业务处理单元对应的各个缓存单元的访问带宽确定总访问带宽,根据该总访问带宽和写访问指令中的数据的大小确定将该数据并行写入每个缓存单元需要的时间;
第一确定单元,用于在第一时间单元确定的时间超过预设的时间阀值时,选择存储设备中除主业务处理单元对应的缓存单元之外的其他缓存单元;
第一写单元,用于将写访问指令中的数据并行写入主业务处理单元对应的缓存单元和第一确定单元选择的其他缓存单元;然后,将该数据通过存储接口单元写入存储介质单元中;
第一写单元还用于在第一时间单元确定的时间未超过预设的时间阀值时,将写访问指令中的数据并行写入主业务处理单元对应的缓存单元中;然后,将该数据通过存储接口单元写入存储介质单元中。
对应于读访问过程:
第一获取单元还用于,根据接收到的读访问指令从存储设备中的存储介质单元读取数据;
第一时间单元还用于,在从存储介质单元读取到数据后,根据主业务处理单元对应的各个缓存单元的访问带宽确定总访问带宽,根据该总访问带宽和读取到的数据的大小确定将该数据并行写入每个缓存单元需要的时间;
第一确定单元还用于,在第一时间单元确定的时间超过预设的时间阀值时,选择存储设备中除主业务处理单元对应的缓存单元之外的其他缓存单元;
第一写单元还用于,将从存储介质单元读取到的数据并行写入主业务处理单元对应的缓存单元和第一确定单元选择的其他缓存单元;然后,将该数据通过存储接口单元写入存储介质单元中;
第一写单元还用于,在第一时间单元确定的时间未超过预设的时间阀值时,将从存储介质单元读取到的数据并行写入主业务处理单元对应的缓存单元中;然后,将该数据通过存储接口单元写入存储介质单元中。
实施例一中,主业务处理单元将向缓存单元中缓存数据时,可以根据当前的总访问带宽动态的增加缓存单元的个数,缓存单元的个数越多,需要消耗的缓存数据的时间就越短,进而达到提高整个写访问或读访问的速度。
实施例二:
本实施例中,如图2B所示,存储设备包括:
主机接口单元20,用于接收来自外部的消息指令,包括写访问指令和读访问指令,并将接收到的消息指令进行协议转换后发送给主业务处理单元;
主业务处理单元21,用于在接收到写访问指令时:根据自身对应的各个缓存单元的访问带宽确定总访问带宽,根据该总访问带宽和写访问指令中的数据的大小确定将该数据并行写入每个缓存单元需要的时间;
若确定的时间超过预设的时间阀值,则选择存储设备中除主业务处理单元对应的缓存单元之外的其他缓存单元,将写访问指令中的数据并行写入主业务处理单元对应的缓存单元和选择的其他缓存单元;然后,向存储控制单元发送数据缓存结束通知;
若确定的时间未超过预设的时间阀值,则将写访问指令中的数据并行写入主业务处理单元对应的缓存单元;然后,向存储控制单元发送数据缓存结束通知。
主业务处理单元21还用于:在根据接收到的读访问指令从缓存单元中未读取到需要的数据时,将读访问指令发送给存储控制单元;在接收到来自存储控制单元的数据缓存结束通知时,根据该通知从对应的缓存单元读取存储控制 单元写入的数据,并将读取到的数据通过主机接口单元发送出去;
多个缓存单元22,用于缓存数据;
存储控制单元25,用于在接收到来自主业务处理单元的数据缓存结束通知时,根据该通知从对应的缓存单元读取所述数据,并将读取到的数据通过存储接口单元写入存储介质单元;
存储控制单元25还用于:在接收到来自主业务处理单元的读访问指令时,通过存储接口单元从存储介质单元读取数据,读取到数据后,根据主业务处理单元对应的各个缓存单元的访问带宽确定总访问带宽,根据该总访问带宽和读取到的数据的大小确定将该数据并行写入每个缓存单元需要的时间;
若确定的时间超过预设的时间阀值,则选择存储设备中除主业务处理单元对应的缓存单元之外的其他缓存单元,将读取到的数据并行写入主业务处理单元对应的缓存单元和选择的其他缓存单元;然后,向主业务处理单元发送数据缓存结束通知;
若确定的时间未超过预设的时间阀值,则将读取到的数据并行写入主业务处理单元对应的缓存单元;然后,向主业务处理单元发送数据缓存结束通知。
存储接口单元23,是主业务处理单元向存储介质单元写入数据和从存储介质单元读取数据的接口,主要用于实现存储控制单元与存储介质单元之间协议的转化;
存储介质单元24,用于存储主业务处理单元写入的数据。
具体的,对应于写访问过程,主业务处理单元21包括:
第二获取单元,用于从接收到的写访问指令中获取待缓存的数据;
第二时间单元,用于根据主业务处理单元对应的各个缓存单元的访问带宽确定总访问带宽,根据该总访问带宽和写访问指令中包含的数据的大小确定将该数据并行写入每个缓存单元需要的时间;
第二确定单元,用于在第二时间单元确定的时间超过预设的时间阀值时,选择存储设备中除主业务处理单元对应的缓存单元之外的其他缓存单元;
第二写单元,用于将写访问指令中的数据并行写入主业务处理单元对应的缓存单元和第二确定单元选择的其他缓存单元;
第二通知单元,用于在第二写单元写入数据结束时,向存储控制单元发送数据缓存结束通知;该通知中可以包括主业务处理单元对应的缓存单元和第二确定单元选择的其他缓存单元的标识信息,存储控制单元则根据该标识信息从对应的缓存单元中读取数据;
第三写单元,用于在第二时间单元确定的时间未超过预设的时间阀值时,将写访问指令中的数据并行写入主业务处理单元对应的缓存单元中;
第三通知单元,用于在第三写单元数据写入结束时,向存储控制单元发送数据缓存结束通知,该通知中可以包括主业务处理单元对应的缓存单元的标识信息,存储控制单元则根据该标识信息从对应的缓存单元中读取数据;
存储控制单元25包括:
第一读取单元,用于在接收到来自主业务处理单元的数据缓存结束通知时,根据该通知从对应的缓存单元读取所述数据;将读取到的数据通过存储接口单元写入存储介质单元。
对应于读访问过程,主业务处理单元21还包括:
指令单元,用于在根据接收到的读访问指令从缓存单元中未读取到需要的数据时,将读访问指令发送给存储控制单元;
发送单元,用于在接收到来自存储控制单元的数据缓存结束通知时,根据该通知从对应的缓存单元读取存储控制单元写入的数据,并将读取到的数据通过主机接口单元发送出去;
存储控制单元25包括:
第二读取单元,用于在接收到来自主业务处理单元的读访问指令时,通过存储接口单元从存储介质单元读取数据;
第三时间单元,用于在第二读取单元读取到数据后,根据主业务处理单元对应的各个缓存单元的访问带宽确定总访问带宽,根据该总访问带宽和读取到 的数据的大小确定将该数据并行写入每个缓存单元需要的时间;
第三确定单元,用于在第三时间单元确定的时间超过预设的时间阀值时,选择存储设备中除主业务处理单元对应的缓存单元之外的其他缓存单元;
第四写单元,用于将第二读取单元读取到的数据并行写入主业务处理单元对应的缓存单元和第三确定单元选择的其他缓存单元;
第四通知单元,用于在第四写单元写入数据结束时,向主业务处理单元发送数据缓存结束通知;该通知中可以包括主业务处理单元对应的缓存单元和第三确定单元选择的其他缓存单元的标识信息,主业务处理单元则根据该标识信息从对应的缓存单元中读取数据;
第五写单元,用于在第三时间单元确定的时间未超过预设的时间阀值时,将第二读取单元读取到的数据并行写入主业务处理单元对应的缓存单元中;
第五通知单元,用于在第五写单元写入数据结束时,向主业务处理单元发送数据缓存结束通知;该通知中可以包括主业务处理单元对应的缓存单元的标识信息,主业务处理单元则根据该标识信息从对应的缓存单元中读取数据。
在实施例二中,不同的主业务处理单元可以对应不同的存储控制单元,相同的主业务处理单元也可以对应同一存储控制单元。以存储设备中包含两个主业务处理单元为例,两个主业务处理单元对应不同的存储控制单元,可以参见图2C;两个主业务处理单元对应同一存储控制单元,可以参见图2D。
实施例二中,主业务处理单元或存储控制单元向缓存单元中缓存数据时,可以根据当前的总访问带宽动态的增加缓存单元的个数,缓存单元的个数越多,需要消耗的缓存数据的时间就越短,进而达到提高整个写访问或读访问的速度。
同时,在写访问过程中,主业务处理单元在将数据缓存到缓存单元后,由存储控制单元将数据写入存储介质单元中,与现有技术中缓存数据和将数据写入存储介质单元的工作都由主业务处理单元完成相比,本发明中主业务处理单元有更多的时间处理其他业务,从而提高了存储设备的处理能力。在读访问过 程中,主业务处理单元在未从缓存单元中读取到需要的数据时,由存储控制单元从存储介质单元读取数据,存储控制单元将读取到的数据缓存到缓存单元后,再由主业务处理单元将缓存单元中的数据发送出去,与现有技术中从存储介质单元读取数据、缓存数据的工作都由主业务处理单元完成相比,本发明中主业务处理单元有更多的时间处理其他业务,从而提高了存储设备的处理能力。
上述两个实施例中,主业务处理单元或存储控制单元确定总访问带宽的方法为:将主业务处理单元对应的各个缓存单元的访问带宽相加,其结果即为总访问带宽。根据保存的配置数据获知业务处理单元对应哪些缓存单元以及各个缓存单元的访问带宽。主业务处理单元或存储控制单元确定将数据并行写入每个缓存单元需要的时间的方法为:将数据的大小除以总访问带宽并向后取整后,其结果即为将数据并行写入每个缓存单元需要的时间。
作为一种实施例,使用存储设备中除本主业务处理单元之外的其他主业务处理单元对应的缓存单元作为增加的缓存单元,相应的,第一确定单元、第二确定单元或第三确定单元包括:
请求单元,用于向存储设备中除本主业务处理单元之外的其他主业务处理单元发送缓存单元使用请求;
响应单元,用于在接收到对缓存单元使用请求的同意响应时,将该同意响应中包含的缓存单元标识对应的缓存单元选择为所述其他缓存单元。
请求单元发送的缓存单元使用请求中可以包含请求的缓存单元的个数,该个数根据以下方法确定:对于第一确定单元:将第一时间单元确定的将数据并行写入每个缓存单元需要的时间减去预设的时间阀值,然后将其结果除以单个缓存单元的访问容量,其结果即为请求的缓存单元的个数;对于第二确定单元:将第二时间单元确定的将数据并行写入每个缓存单元需要的时间减去预设的时间阀值,然后将其结果除以单个缓存单元的访问容量,其结果即为请求的缓存单元的个数;对于第三确定单元:将第三时间单元确定的将数据并行写入每 个缓存单元需要的时间减去预设的时间阀值,然后将其结果除以单个缓存单元的访问容量,其结果即为请求的缓存单元的个数。接收到缓存单元使用请求的主业务处理单元,根据当前的业务处理情况决定是否同意该请求,在同意该请求时,按照一定的策略从自身对应的缓存单元中选取缓存单元,并将包含该缓存单元的标识信息的同意响应发送给请求的主业务处理单元或存储控制单元。选取的缓存单元的个数可以等于请求中包含的个数,也可以小于请求中包含的个数。主业务处理单元在选取缓存单元后,为了使得数据便于管理,避免数据发生混乱,还可以将选取的缓存单元中已存储的数据读取出来缓存到自身对应的其他缓存单元中,并在自身的配置数据中删除表明选取的缓存单元为本主业务处理单元对应的缓存单元的记录。
响应单元在接收到同意响应后,还可以在配置数据中增加记录,该记录表明该同意响应中包含的缓存单元标识对应的缓存单元,为本主业务处理单元对应的缓存单元。
作为另一种实施例,使用临时加入存储设备的缓存单元作为增加的缓存单元;相应的,第一确定单元、第二确定单元或第三确定单元包括:
接收单元,用于接收握手指令;
结果单元,用于将所述握手指令中包含的缓存单元标识对应的缓存单元选择为所述其他缓存单元。
在存储设备运行过程中,可以人为的根据需要向存储设备中插入缓存单元,并指定增加的缓存单元所对应的主业务处理单元。在增加的缓存单元被插入存储设备并被上电后,该缓存单元向对应的主业务处理单元以及存储控制单元发送握手指令,该握手指令中包含该缓存单元的标识信息。
主业务处理单元或存储控制单元在将数据并行写入缓存单元时,可以采用SATA、SAS等串行协议,将数据的不同部分并行的写入各个缓存单元中。在从缓存单元读取数据时,也可以采用SATA、SAS等串行协议,将数据的不同部分从不同的缓存单元中并行读取出。
本发明中提及的缓存单元可以是非易失性的存储设备或SDRAM,非易失性的存储设备有:闪存、硬盘、磁带等,考虑到访问速度,可以优选闪存或固态硬盘(Solid State Drive,SSD)。由于非易失性的存储设备在没有电能供给的情况下,不存在数据丢失的风险,因此,在存储设备中不需要设置电池备份单元,增强了存储设备的使用性。并且,非易失性的存储设备具有高密度的特点,在与SDRAM体积相同的情况下,非易失性的存储设备的存储容量更高,较高的存储容量会增大读访问时从缓存单元中读取到需要数据的概率,从而整个读访问的速度就较高。
本发明实施例还提供一种基于附图2A所示的存储设备的缓存数据的方法,本方法包括以下步骤,如图3A所示:
步骤301:存储设备的主业务处理单元接收到写访问指令;
步骤302:主业务处理单元根据自身对应的缓存单元的个数以及每个缓存单元的访问带宽确定总访问带宽;根据该总访问带宽和写访问指令中包含的数据的大小确定将该数据并行写入每个缓存单元需要的时间;
步骤303:比较确定的时间与预设的时间阀值,若确定的时间超过预设的时间阀值,则到步骤304;否则,到步骤305;
步骤304:选择存储设备中除本主业务处理单元对应的缓存单元之外的其他缓存单元,将写访问指令中包含的数据并行写入本主业务处理单元对应的缓存单元和选择的其他缓存单元,到步骤306;
步骤305:将写访问指令中包含的数据并行写入本主业务处理单元对应的缓存单元;
步骤306:将写访问指令中包含的数据通过存储接口单元写入存储介质单元。
本发明实施例还提供一种基于附图2B所示的存储设备的缓存数据的方法,本方法包括以下步骤,如图3B所示:
步骤311:存储设备的主业务处理单元接收到写访问指令;
步骤312:主业务处理单元根据自身对应的缓存单元的个数以及每个缓存单元的访问带宽确定总访问带宽;根据该总访问带宽和写访问指令中包含的数据的大小确定将该数据并行写入每个缓存单元需要的时间;
步骤313:比较确定的时间与预设的时间阀值,若确定的时间超过预设的时间阀值,则到步骤314;否则,到步骤315;
步骤314:选择存储设备中除本主业务处理单元对应的缓存单元之外的其他缓存单元,将写访问指令中包含的数据并行写入本主业务处理单元对应的缓存单元和选择的其他缓存单元,到步骤316;
步骤315:将写访问指令中包含的数据并行写入本主业务处理单元对应的缓存单元;
步骤316:向存储控制单元发送数据缓存结束通知;
步骤317:存储控制单元接收到缓存结束通知时,根据该通知从相应的缓存单元读取主业务处理单元写入的数据,将读取到的数据通过存储接口单元写入存储介质单元。
本发明实施例还提供一种基于附图2A所示的存储设备的缓存数据的方法,本方法包括以下步骤,如图4A所示:
步骤401:存储设备的主业务处理单元接收到读访问指令;
步骤402:主业务处理单元根据读访问指令从缓存单元中读取需要的数据,若读取到,则到步骤408;否则,到步骤403;
步骤403:根据读访问指令通过存储接口单元从存储介质单元中读取需要的数据;
步骤404:根据自身对应的缓存单元的个数以及每个缓存单元的访问带宽确定总访问带宽;根据该总访问带宽和写访问指令中包含的数据的大小确定将该数据并行写入每个缓存单元需要的时间;
步骤405:比较确定的时间与预设的时间阀值,若确定的时间超过预设的时间阀值,则到步骤406;否则,到步骤407;
步骤406:选择存储设备中除本主业务处理单元对应的缓存单元之外的其他缓存单元,将从存储介质单元中读取到的数据并行写入本主业务处理单元对应的缓存单元和选择的其他缓存单元,到步骤408;
步骤407:将从存储介质单元中读取到的数据并行写入本主业务处理单元对应的缓存单元;
步骤408:将读取到的数据通过主机接口单元发送出去。
本发明实施例还提供一种基于附图2B所示的存储设备的缓存数据的方法,本方法包括以下步骤,如图4B所示:
步骤411:存储设备的主业务处理单元接收到读访问指令;
步骤412:主业务处理单元根据读访问指令从缓存单元中读取需要的数据,若读取到,则到步骤421;否则,到步骤413;
步骤413:将读访问指令发送给存储控制单元;
步骤414:存储控制单元根据读访问指令从存储介质单元中读取需要的数据;
步骤415:根据自身对应的缓存单元的个数以及每个缓存单元的访问带宽确定总访问带宽;根据该总访问带宽和读取到的数据的大小确定将该数据并行写入每个缓存单元需要的时间;
步骤416:比较确定的时间与预设的时间阀值,若确定的时间超过预设的时间阀值,则到步骤417;否则,到步骤418;
步骤417:选择存储设备中除本主业务处理单元对应的缓存单元之外的其他缓存单元,将从存储介质单元中读取到的数据并行写入本主业务处理单元对应的缓存单元和选择的其他缓存单元,到步骤419;
步骤418:将从存储介质单元中读取到的数据并行写入本主业务处理单元对应的缓存单元;
步骤419:向主业务处理单元发送数据缓存结束通知;
步骤420:主业务处理单元接收到数据缓存结束通知时,根据该通知从对 应的缓存单元中读取存储控制单元写入的数据;
步骤421:将读取到的数据通过主机接口单元发送出去。
综上,本发明的有益效果如下:
本发明实施例中,在缓存数据时,可以动态的增加缓存单元的个数,缓存单元的个数越多,需要消耗的缓存数据的时间就越短,进而达到提高整个写访问或读访问的速度。
同时,存储设备中的缓存单元采用非易失性的存储设备时,不需要在存储设备中设置电池备份单元,增强了存储设备的实用性。
本发明在存储设备中增加的存储控制单元可以分担主业务处理单元的工作量,提高了存储设备的整体处理能力。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (13)
1.一种存储设备,其特征在于,该存储设备包括:
多个缓存单元,用于缓存数据;
主业务处理单元,包括获取单元、时间单元、确定单元和写单元,所述获取单元,用于获取待缓存的数据;所述时间单元,用于根据所述主业务处理单元对应的缓存单元的个数以及每个缓存单元的访问带宽确定总访问带宽,根据所述总访问带宽和所述数据的大小确定将所述数据并行写入所述每个缓存单元需要的时间;所述确定单元,用于在所述时间超过预设的时间阀值时,选择所述存储设备中除所述主业务处理单元对应的缓存单元之外的其他缓存单元;所述写单元,用于将所述数据写入所述主业务处理单元对应的缓存单元和所述其他缓存单元。
2.如权利要求1所述的存储设备,其特征在于,所述获取单元用于:
从接收到的写访问指令获取所述待缓存的数据;或者,
根据接收到的读访问指令从所述存储设备的存储介质单元读取数据,将读取到的数据作为所述待缓存的数据。
3.如权利要求1所述的存储设备,其特征在于,所述确定单元用于:
向所述存储设备中除所述主业务处理单元之外的其他主业务处理单元发送缓存单元使用请求;
在接收到对所述缓存单元使用请求的同意响应时,将所述同意响应中包含的缓存单元标识对应的缓存单元选择为所述其他缓存单元。
4.如权利要求1所述的存储设备,其特征在于,所述确定单元用于:
接收握手指令;将所述握手指令中包含的缓存单元标识对应的缓存单元选择为所述其他缓存单元。
5.如权利要求1所述的存储设备,其特征在于,所述主业务处理单元还包括:
通知单元,用于在所述写单元将所述数据写入所述主业务处理单元对应的缓存单元和所述其他缓存单元之后,向存储控制单元发送数据缓存结束通知;
该存储设备进一步包括:
存储控制单元,用于接收所述数据缓存结束通知,根据该通知从所述主业务处理单元对应的缓存单元和所述其他缓存单元读取数据,并将读取到的数据写入所述存储设备中的存储介质单元。
6.如权利要求5所述的存储设备,其特征在于,所述主业务处理单元还包括:
指令单元,用于将接收到的读访问指令发送给所述存储控制单元;
所述存储控制单元还用于:根据所述读访问指令从所述存储介质单元中读取数据;确定将所述数据并行写入本主业务处理单元对应的缓存单元需要的时间;在所述时间超过预设的时间阀值时,选择所述存储设备中除所述对应的缓存单元外的其他缓存单元,将所述数据写入所述对应的缓存单元和所述其他缓存单元。
7.如权利要求6所述的存储设备,其特征在于,所述存储控制单元还用于:
在将所述数据写入所述主业务处理单元对应的缓存单元和所述其他缓存单元之后,向所述主业务处理单元发送数据缓存结束通知;
所述主业务处理单元还包括:
发送单元,用于接收所述数据缓存结束通知,根据该通知从所述主业务处理单元对应的缓存单元和所述其他缓存单元读取数据,并将读取到的数据发送出去。
8.如权利要求1所述的存储设备,其特征在于,所述缓存单元为非易失性存储设备或静态随机访问存储器。
9.一种存储设备中缓存数据的方法,其特征在于,该方法包括:
根据主业务处理单元对应的缓存单元的个数以及每个缓存单元的访问带宽确定总访问带宽,根据所述总访问带宽和待缓存的数据的大小确定将所述数据并行写入所述每个缓存单元需要的时间;
在所述时间超过预设的时间阀值时,选择所述对应的缓存单元外的其他缓存单元,并利用所述主业务处理单元对应的缓存单元和所述其他缓存单元缓存所述数据。
10.如权利要求9所述的方法,其特征在于,该方法进一步包括:
获取所述待缓存的数据。
11.如权利要求10所述的方法,其特征在于,从接收到的写访问指令中获取所述待缓存的数据;或者,
根据接收到的读访问指令从所述存储设备的存储介质单元读取数据,将读取到的数据作为所述待缓存的数据。
12.如权利要求9所述的方法,其特征在于,所述选择所述存储设备中除所述主业务处理单元对应的缓存单元之外的其他缓存单元包括:
向所述存储设备中除所述主业务处理单元之外的其他主业务处理单元发送缓存单元使用请求;
接收到对所述缓存单元使用请求的同意响应时,将所述同意响应中包含的缓存单元标识对应的缓存单元选择为所述其他缓存单元。
13.如权利要求9所述的方法,其特征在于,所述选择所述存储设备中除所述主业务处理单元对应的缓存单元之外的其他缓存单元包括:
将向所述主业务处理单元发出握手指令的缓存单元选择为所述其他缓存单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102123265A CN101387943B (zh) | 2008-09-08 | 2008-09-08 | 一种存储设备以及缓存数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102123265A CN101387943B (zh) | 2008-09-08 | 2008-09-08 | 一种存储设备以及缓存数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101387943A CN101387943A (zh) | 2009-03-18 |
CN101387943B true CN101387943B (zh) | 2011-05-25 |
Family
ID=40477380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102123265A Active CN101387943B (zh) | 2008-09-08 | 2008-09-08 | 一种存储设备以及缓存数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101387943B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866320B (zh) * | 2009-04-14 | 2012-05-30 | 群联电子股份有限公司 | 数据管理方法及使用此方法的闪存储存系统与控制器 |
EP3352087B1 (en) | 2016-12-05 | 2020-09-16 | Huawei Technologies Co., Ltd. | Control method for data read/write command in nvme over fabric framework, device and system |
WO2018102969A1 (zh) * | 2016-12-05 | 2018-06-14 | 华为技术有限公司 | NVMe over Fabric架构中数据读写命令的控制方法、设备和系统 |
CN106802774A (zh) * | 2017-01-18 | 2017-06-06 | 广东睿江云计算股份有限公司 | 写请求处理方法和装置、读请求处理方法和装置 |
CN110837513B (zh) * | 2019-11-07 | 2023-05-12 | 腾讯科技(深圳)有限公司 | 一种缓存更新方法、装置、服务器及存储介质 |
CN111008157B (zh) * | 2019-11-29 | 2022-02-18 | 北京浪潮数据技术有限公司 | 存储系统写缓存数据下发方法及相关组件 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1120405C (zh) * | 1998-10-15 | 2003-09-03 | 何尔恭 | 一种输入英文字母的方法 |
-
2008
- 2008-09-08 CN CN2008102123265A patent/CN101387943B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101387943A (zh) | 2009-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101387943B (zh) | 一种存储设备以及缓存数据的方法 | |
US7076605B1 (en) | Method and apparatus for writing data to a storage device | |
CN101542449B (zh) | 优化存储控制器高速缓存卸载电路性能和可靠性的系统 | |
US9098404B2 (en) | Storage array, storage system, and data access method | |
US11385801B1 (en) | Offloading device management responsibilities of a storage device to a storage controller | |
US8850128B2 (en) | Implementing data storage and dual port, dual-element storage device | |
KR101209915B1 (ko) | Raid 기반 저장소 컨트롤 보드 및 그 구동 방법 | |
US20060161823A1 (en) | Disk array system configuring a logical disk drive having a redundancy function | |
CN102541746B (zh) | 一种队列的数据处理方法和系统 | |
US8856439B2 (en) | Method and device for utilizing application-level prior knowledge for selectively storing data in higher performance media | |
KR101209916B1 (ko) | 파이버 채널 인터페이스 컨트롤러를 갖는 raid 기반 저장소 컨트롤 보드 및 그 구동 방법 | |
CN107632923A (zh) | 一种级联式硬盘及其告警方法 | |
KR101196878B1 (ko) | 하이브리드 raid 컨트롤러 | |
US20110283063A1 (en) | Disk array device, a disk array device control method and a disk array device control program | |
CN113031862B (zh) | 一种基于nvme协议控制sata盘的存储系统 | |
CN103970684A (zh) | 存储数据的方法和电子设备 | |
CN101630236B (zh) | 业务数据的处理方法、系统、存储设备和应用服务器 | |
CN103049218B (zh) | 数据存储方法和控制器 | |
CN207676327U (zh) | 一种存储系统及计算机 | |
JP4430092B2 (ja) | Raid装置、raid装置の制御部およびraid装置のライトバック制御方法 | |
WO2016194979A1 (ja) | ストレージシステム、ストレージ制御装置、ストレージ制御方法及びプログラム | |
US9170741B2 (en) | Information processing system and control method for information processing system | |
KR101190885B1 (ko) | 홈 저장 시스템 | |
CN105204786A (zh) | 一种pcie ssd阵列的数据写方法及系统 | |
CN213545252U (zh) | 一种大容量计算机存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 518057 Shenzhen Software Park, No. 9, 501, 502, Science and Technology Middle Road, Nanshan District, Shenzhen City, Guangdong Province Patentee after: Shenzhen Innovation Technology Co., Ltd. Address before: 518057 5th floor, No. 9 Software Park, No. 2 Science and Technology Road, Nanshan Science and Technology Park, Shenzhen City, Guangdong Province Patentee before: UIT Storage Technology (Shenzhen) Co., Ltd. |
|
CP03 | Change of name, title or address |