CN101046724A - 磁盘接口处理器以及磁盘操作命令的处理方法 - Google Patents
磁盘接口处理器以及磁盘操作命令的处理方法 Download PDFInfo
- Publication number
- CN101046724A CN101046724A CNA2006100785394A CN200610078539A CN101046724A CN 101046724 A CN101046724 A CN 101046724A CN A2006100785394 A CNA2006100785394 A CN A2006100785394A CN 200610078539 A CN200610078539 A CN 200610078539A CN 101046724 A CN101046724 A CN 101046724A
- Authority
- CN
- China
- Prior art keywords
- disk
- module
- command
- commands
- data block
- 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.)
- Granted
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种磁盘接口处理器和磁盘操作命令的处理方法。该装置和方法应用于磁盘存储系统中,具体为:命令分析执行单元包含一个以上处理模块,磁盘操作命令被分解为顺序执行的一个以上子任务,每个处理模块对应于该磁盘操作命令的一个子任务,上述处理模块按照子任务的执行顺序,逐级连接形成命令处理流水线;每个处理模块设置有缓冲队列,用于保存上一级模块送至的磁盘操作命令;上述每个处理模块根据自身的空闲情况,从缓冲队列中顺序获取磁盘操作命令执行,并在处理完毕后,将经过自身处理的磁盘操作命令送至下一级模块。本发明的这种装置和方法能够提高磁盘接口的吞吐率、降低平均访问时间,从而提高磁盘存储系统的整体性能。
Description
技术领域
本发明涉及数据存储和控制领域,尤指一种磁盘接口处理器以及磁盘操作命令的处理方法。
背景技术
随着网络的发展和计算机的普及应用,人们对数据存储的性能要求越来越高,这种高要求尤其体现在关键事务的应用上。廉价冗余磁盘阵列(RAID,Redundant Array of Independent Disks)采用分条和冗余的方法提高磁盘存储系统的容量、速度和可靠性,成为高性能数据存储的首选结构。
在RAID中,磁盘阵列控制器是一个核心部件,用于完成缓存预取、缓存置换、磁盘聚合写、数据冗余计算、数据备份与重建等操作。实际应用中,磁盘阵列控制器由大容量缓存和几个具有特殊功能的处理器组成,比如主机接口处理器、磁盘接口处理器、命令处理器以及缓存管理器等,这些处理器协同工作,可以提高RAID的性能。
其中,磁盘接口处理器用于执行读写磁盘操作,并对磁盘组进行管理。如果磁盘接口处理器的吞吐率较高,就可以提高缓存的命中率,降低RAID的平均访问时间,使得复杂的预取和置换算法能够方便、有效地应用于RAID,从而提高RAID的整体性能。
一般情况下,磁盘接口处理器可以简单地采用通用处理器实现。如图1所示,该磁盘存储系统包括:磁盘接口处理器101、处理器存储单元102、共享缓存单元103和磁盘组104。所述磁盘接口处理器101进一步划分为:取命令单元105和命令分析执行单元106。其中,取命令单元105可以采用软件或硬件模块实现,用于对处理器存储单元102的命令池进行访问,从中取出来自其他处理器的磁盘操作命令,交由命令分析执行单元106处理。命令分析执行单元106主要用于分析各条命令,并按照不同的命令要求顺序执行该命令的各步操作。现有技术中,所述磁盘操作命令包括磁盘寻址、磁盘通道协议转换、异或计算和共享存储器等。
基于图1所示的磁盘存储系统,现有磁盘操作命令的处理过程如图2所示,包括以下步骤:
步骤201:取命令单元判断命令池是否为空,即命令池中是否存在待处理的磁盘操作命令,如果命令池不为空,则执行步骤203,否则执行步骤202。
步骤202:磁盘接口处理器进入等待状态,并返回执行步骤201。
步骤203:取命令单元顺序取出命令池中的一条命令,交给命令分析执行单元。
步骤204:命令分析执行单元对接收到的命令进行分析处理。
步骤205:判断该命令是否处理完毕,如果是,命令分析执行单元通知取命令单元该命令执行完毕,取命令单元就会返回执行步骤201,从命令池中取出下一条命令执行;否则返回执行步骤204。
循环执行上述过程,就能实现命令池中保存的所有磁盘操作命令。
但是,将通用处理器作为磁盘接口处理器使用,存在以下缺点:一、磁盘操作命令只能顺序执行,即每条磁盘操作命令必须在前一条磁盘操作命令执行完毕才能启动处理;二、某些需要占用大量时间的操作,比如异或操作等,也由通用处理器承担,这使得磁盘操作命令的平均处理时间较长。由于存在以上缺点,这种磁盘接口处理器的平均磁盘访问时间长,吞吐率低。
为克服上述问题,可以将通用处理器和异或专用集成电路(ASIC,Application-Specific Integrated Circuit)构成较复杂的磁盘接口处理器,具体结构见图3。该磁盘接口处理器将异或操作从磁盘操作命令中独立出来,由异或专用ASIC 307专门完成,通用处理器只负责处理异或操作之外的其余操作。
采用图3所示的磁盘接口处理器,处理磁盘操作命令的过程如图4所示,包括以下步骤:
步骤401~404与图2中的步骤201~204相同,此处不再赘述。
步骤405:判断所述命令是否需要进行异或计算,如果需要则执行步骤406,否则执行步骤407。
步骤406:将命令送至异或专用ASIC进行异或计算。
步骤407:将命令送至通用处理器执行,该通用处理器负责完成异或操作之外的所有其它操作。
步骤408:判断该命令是否执行完毕,如果没有则返回执行步骤406,如果执行完毕则返回步骤401,取下一条命令,开始下一个处理过程。
该方法采用异或专用ASIC分担磁盘操作命令中的异或操作,对于需要执行异或操作的磁盘操作命令而言,比如降级模式的读/写磁盘命令,可以降低磁盘访问时间。但是,该方法沿袭了图2所示方法的缺点,即每条磁盘操作命令必须在前一条命令完成之后才会被执行,这在很大程度上限制了磁盘接口处理器的吞吐率。
发明内容
本发明的主要目的在于提供一种磁盘接口处理器,在该处理器中设置多个处理模块,负责处理磁盘操作命令的不同子任务,使得多条磁盘操作命令能够同时得到处理,从而降低磁盘访问时间,提高磁盘接口处理器的吞吐率。
本发明的又一目的在于提供一种磁盘操作命令的处理方法,采用命令处理流水线分步执行磁盘操作命令,以提高磁盘接口处理器的吞吐率。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种磁盘接口处理器,应用于包含处理器存储单元、共享缓存单元和磁盘组的磁盘存储系统中,所述磁盘接口处理器包括:取命令单元和命令分析执行单元;所述命令分析执行单元包含一个以上处理模块,磁盘操作命令被分解为顺序执行的一个以上子任务,每个处理模块对应于该磁盘操作命令的一个子任务,上述一个以上处理模块按照自身对应的子任务的执行顺序,逐级连接形成命令处理流水线;
每个处理模块设置有缓冲队列,用于保存上一级模块送至的磁盘操作命令;上述每个处理模块根据自身的空闲情况,从缓冲队列中顺序获取磁盘操作命令执行,并在处理完毕后,将经过自身处理的磁盘操作命令送至下一级模块。
所述命令分析执行单元划分为:共享缓存操作模块、地址映射模块、异或计算模块和磁盘操作模块,上述四个处理模块两两相连;
取命令单元从处理器存储单元获得磁盘操作命令,送至共享缓存操作模块或地址映射模块;
共享缓存操作模块根据接收到的磁盘操作命令,从共享缓存单元读取待操作的数据块,并将该磁盘操作命令送至地址映射模块;或者,将接收到的数据块保存到共享缓存单元;
地址映射模块为待操作的数据块计算出磁盘物理地址;
异或计算模块对待操作的数据块进行异或计算,并由磁盘操作模块将该数据块保存到磁盘组中;或者,磁盘操作模块根据所述磁盘物理地址从磁盘组获取上述待操作的数据块,再由异或计算模块进行异或计算后,送至共享缓存操作模块。
一种磁盘操作命令的处理方法,应用于磁盘存储系统,该方法包括:
将磁盘操作命令分解为顺序执行的一个以上子任务,并预先为每个子任务设置一个对应的处理模块,形成命令处理流水线,逐级处理该磁盘操作命令;
流水线上的每个处理模块中设置的缓冲队列用于保存上一级模块送至的磁盘操作命令;上述每个处理模块根据自身的空闲情况,从缓冲队列中顺序获取磁盘操作命令执行,并在处理完毕后,将经过自身处理的磁盘操作命令送至下一级模块。
所述将磁盘操作命令分解为顺序执行的一个以上子任务并预先为每个子任务设置一个对应的处理模块的方法具体为:将磁盘操作命令分解为四个子任务,并分别设置共享缓存操作模块、地址映射模块、异或计算模块和磁盘操作模块处理对应的子任务,形成四级的命令处理流水线。
所述磁盘操作命令为读磁盘命令时,取命令单元将读磁盘命令送至地址映射模块;
则所述命令处理流水线处理磁盘操作命令的方法具体为:
a1、地址映射模块根据该读磁盘命令中携带的待操作数据块的起始地址和待操作数据块的单元数量,计算出待操作数据块的磁盘物理地址,并将该读磁盘命令送至磁盘操作模块;
a2、磁盘操作模块根据所述磁盘物理地址从磁盘组的对应位置读取待操作的数据块,并将该数据块送至共享缓存操作模块,由共享缓存操作模块将所述数据块写入共享缓存单元。
步骤a2中,磁盘操作模块读取数据块之后,该方法进一步包括:
a21、判断所述读磁盘命令的模式,如果为正常模式则将数据块送至共享缓存操作模块,如果为非正常模式则执行步骤a22;
a22、将数据块送至异或计算模块进行异或计算,并将经过异或计算的数据块送至共享缓存操作模块。
所述非正常模式包括:重建模式和降级模式。
所述磁盘操作命令为写磁盘命令时,取命令单元将写磁盘命令送至共享缓存操作模块;
则所述命令处理流水线处理磁盘操作命令的方法具体为:
b1、共享缓存操作模块从共享缓存单元读取与该写磁盘命令对应的数据块,送至异或计算模块;
b2、异或计算模块对接收到的数据块进行异或计算,并将该写磁盘命令送至地址映射模块;
b3、地址映射模块为待操作的数据块计算出磁盘物理地址,并由磁盘操作模块根据所述磁盘物理地址,将该数据块保存到磁盘组中。
步骤b1中,共享缓存操作模块读取数据块之后,该方法进一步包括:
b11、判断写磁盘命令的类型,如果为整个分条写则将该数据块送至异或计算模块,如果为部分分条写则执行步骤b12;
b12、地址映射模块计算与该数据块位于同一分条的其它分条单元的磁盘物理地址,并由磁盘操作模块从磁盘组读取其它分条单元的数据块,再将整个分条送至异或计算模块。
所述每个处理模块保存上一级模块送至的磁盘操作命令的方法具体为:
每个处理模块都设置有读缓冲队列和写缓冲队列;当接收到上一级模块发送的磁盘操作命令后,判断所述磁盘操作命令为读磁盘命令或写磁盘命令,如果为读磁盘命令则保存在读缓冲队列;如果为写磁盘命令则保存在写缓冲队列。
该方法进一步包括:取命令单元从处理器存储单元获取磁盘操作命令后,为每个磁盘操作命令生成控制信息块,并将控制信息块送至命令处理流水线进行处理。
所述控制信息块记录有磁盘操作方向、待操作数据块的起始地址和待操作数据块的单元数量。
由上述技术方案可见,本发明的这种磁盘接口处理器和磁盘操作命令的处理方法,将磁盘操作命令分解为顺序执行的子任务,再将命令分析处理单元划分为共享缓存操作模块、地址映射模块、异或计算模块和磁盘操作模块,每个子任务送至对应的模块进行处理,形成一条四级流水线,属于不同磁盘操作命令的子任务可在该四级流水线上并行处理。
在磁盘接口处理器的流水线中,每个模块独立执行磁盘操作命令的某个子任务,每条磁盘操作命令不是在前一条命令执行完毕才启动,而是在负责执行该命令的第一个模块空闲时就会启动。在任务繁忙时,多条磁盘操作命令能够在磁盘接口处理器中同时运行、并行处理,故该方法提高了磁盘接口的吞吐率、降低平均访问时间,使得复杂的预取和置换算法更好地应用于磁盘阵列,提高磁盘存储系统的整体性能。
附图说明
图1为现有技术中一种磁盘存储系统的结构图;
图2为现有技术中基于图1的磁盘操作命令的处理流程;
图3为现有技术中另一种磁盘存储系统的结构图;
图4为现有技术中基于图3的磁盘操作命令的处理流程;
图5为本发明一个较佳实施例中磁盘接口处理器的结构图;
图6为本发明一个较佳实施例中读磁盘命令的处理流程;
图7为本发明一个较佳实施例中写磁盘命令的处理流程;
图8为本发明一个较佳实施例中多个磁盘操作命令的处理时序图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
流水线技术是计算机应用中一种具备空间和时间并行性的技术,该技术的基本原理是:将顺序处理的过程分解成若干个子处理过程,每个子处理过程由专用模块完成,一个专用模块的输入即为另一个专用模块的输出。
基于上述技术,本发明将磁盘操作命令分解为顺序执行的一个以上子任务,并为每个子任务设置一个处理模块,上述处理模块逐级连接形成命令处理流水线。每个处理模块设置有缓冲队列,用于保存上一级模块送至的磁盘操作命令;上述每个处理模块根据自身的空闲情况,从缓冲队列中顺序获取磁盘操作命令执行,并在处理完毕后,将经过自身处理的磁盘操作命令送至下一级模块。
在本发明一个较佳实施例中,磁盘接口处理器的结构如图5所示,包括:共享缓存操作模块501、地址映射模块502、异或计算模块503和磁盘操作模块504。这四个模块两两相连,可以集成在同一芯片上,也可以用单独的芯片分别实现。
图5中,取命令单元105从处理器存储单元102获得磁盘操作命令后,将其送至共享缓存操作模块501或地址映射模块502。
所述共享缓存操作模块501根据接收到的磁盘操作命令,从共享缓存单元103读取待操作的数据块,并将该磁盘操作命令送至地址映射模块502;或者,将接收到的数据块保存到共享缓存单元103。
所述地址映射模块502负责为待操作的数据块计算出磁盘物理地址,具体为:将磁盘操作命令中携带的主机访问地址转换为磁盘组的实际地址。比如,将逻辑块地址LBA、逻辑单元号LUN分别转换为磁盘号、柱面号、磁道号和扇区号等。
异或计算模块503对待操作的数据块进行异或计算,并由磁盘操作模块504将该数据块保存到磁盘组104中;或者,磁盘操作模块504根据所述磁盘物理地址从磁盘组104获取上述待操作的数据块,再由异或计算模块503进行异或计算后,送至共享缓存操作模块501。
本发明中,处理磁盘操作命令的过程可以分解为一个以上子任务。较佳地,根据图5所示的磁盘接口处理器,可以将磁盘操作命令分解为四个子任务,并分别用共享缓存操作模块、地址映射模块、异或计算模块和磁盘操作模块处理对应的子任务,形成四级的命令处理流水线。
对于不同类型的磁盘操作命令,其子任务的执行顺序是不同的,则处理模块之间的逐级连接关系也不相同。以下将磁盘操作命令分为读磁盘命令和写磁盘命令这两大类,并对其处理过程分别加以描述。
读磁盘命令的执行过程如图6所示,包括以下步骤:
步骤601:取命令单元接收到读磁盘命令后,将其送至地址映射模块进行磁盘物理地址计算。
步骤602:磁盘操作模块根据地址映射模块算出的磁盘物理地址,从磁盘组读取待操作的数据块。
步骤603:判断所述读磁盘命令的模式,如果是非正常模式则执行步骤604,如果是正常模式则执行步骤605。
所述非正常模式包括降级模式和重建模式等。
步骤604:将磁盘组读取的数据块送至异或计算模块进行异或计算。
步骤605:将待操作的数据块送至共享缓存操作模块,由共享缓存操作模块将接收到的数据块写入共享缓存单元。
上述过程中,异或计算模块的上一级模块为磁盘操作模块,下一级模块为共享缓存操作模块。
写磁盘命令的执行过程如图7所示,包括以下步骤:
步骤701:取命令单元接收到写磁盘命令后,触发共享缓存操作模块从共享缓存单元读取待操作的数据块。
步骤702:判断所述写磁盘命令的类型,如果为部分分条写则执行步骤703,如果为整个分条写则将待操作的数据块送至异或计算模块,并执行步骤705。
步骤703~704:地址映射模块进行磁盘物理地址计算,并将上述地址送至磁盘操作模块,由磁盘操作模块从磁盘组读取相应的数据块。
步骤705:异或计算模块对接收到的数据块执行异或计算。
步骤706~707:地址映射模块进行磁盘物理地址计算,再由磁盘操作模块根据计算出的磁盘物理地址将该数据块保存到磁盘组。
上述过程中,共享缓存操作模块、地址映射模块、异或计算模块和磁盘操作模块以磁盘接口处理器的时钟周期为节拍执行操作。下面以执行整个分条写磁盘命令为例,具体说明磁盘接口处理器同时执行多条磁盘操作命令的过程。假设命令池中顺序保存有A、B和C这三条整个分条写磁盘命令,则本实施例的处理时序见图8,灰色方块表明对应模块在对应周期内处于空闲状态。
在第一个周期T1,共享缓存操作模块启动工作,从自身的缓冲队列获得命令A,执行读共享缓存操作。该周期中,其它模块都不启动。
在第二个周期T2,共享缓存操作模块执行命令B的读共享缓存操作;同时,命令A从共享缓存操作模块送至异或计算模块的缓冲队列进行异或计算,以生成待操作数据块的校验块。在此期间,地址映射模块和磁盘操作模块不启动。
在第三个周期T3,执行命令A的磁盘地址计算,执行命令B的异或计算,同时执行命令C的读共享缓存操作。也就是说,磁盘接口处理器在该周期同时处理A、B和C三条命令,故该方法实现了磁盘操作命令的并行处理。
在第四个周期T4,对于共享缓存操作模块而言,命令池中的所有命令都已经执行完毕,故该模块停止工作,进入空闲态。此时,命令A被送至磁盘操作模块进行写磁盘操作。命令B被送至地址映射模块进行磁盘地址计算,命令C被送至异或计算模块进行异或计算。
以后的时钟周期与前面四个周期的处理过程类似,命令池中的命令按照子任务的执行顺序在流水线上得到处理,直至所有的命令都执行完毕。这样,磁盘接口处理器能够并行处理多个磁盘操作命令,从而减少不必要的等待时间,提高磁盘接口处理器的吞吐率。
此外,取命令单元从命令池获得磁盘操作命令后,可以为每条磁盘操作命令生成对应的控制信息块,并将该控制信息块发送给命令处理流水线。所述控制信息块采用统一的数据结构实现,记录以下内容:磁盘操作方向、待操作的分条单元(stripe unit)起始地址和待操作的分条单元数量。这样,磁盘接口处理器的四个处理模块就能够根据控制信息块执行相应操作。比如,地址映射模块根据待操作的分条单元起始地址和待操作的分条单元数量,计算出待操作数据块的磁盘物理地址。再比如,每个处理模块都能够根据磁盘操作方向,将自身处理后的控制信息块正确地传递给下一级模块。
磁盘接口处理器中,对命令分析执行单元的处理模块的划分不限于图5所示的方式。比如,可以将地址映射模块和磁盘操作模块合并成一个模块。这样,命令分析执行单元中包括三个模块,即共享缓存操作模块、异或计算模块,以及同时具有地址映射模块和磁盘操作模块这两个模块功能的磁盘处理模块,形成三级的命令处理流水线。对应地,在磁盘操作命令的处理流程中,磁盘地址计算和读/写磁盘的操作也都由磁盘处理模块完成,此处不再赘述。
此外,为了保证磁盘接口处理器能够同时处理读磁盘命令和写磁盘命令,还可以为每个模块设置两个缓冲队列,分别是读缓冲队列和写缓冲队列,形成单流水线双数据流的磁盘接口处理器。其中,读缓冲队列保存的是磁盘操作方向为读方向的控制信息块,写缓冲队列保存的是磁盘操作方向为写方向的控制信息块,这两个队列的长度都是可变的。
进一步地,还可以在磁盘存储系统中设置两条独立的流水线,将读磁盘命令和写磁盘命令分开执行,这两条流水线上的数据流方向相反,此处不再赘述。
由上述的实施例可见,本发明的这种磁盘接口处理器和磁盘操作命令的处理方法,将磁盘操作命令分解为顺序执行的子任务,设置对应的处理模块独立执行每个子任务,每条磁盘操作命令不是在前一条命令执行完毕才启动,而是在负责执行该命令的第一个模块空闲时就会启动。这样,多条磁盘操作命令能够在磁盘接口处理器中同时运行、并行处理,故该方法提高了磁盘接口的吞吐率、降低平均访问时间,提高磁盘存储系统的整体性能。
Claims (12)
1、一种磁盘接口处理器,应用于包含处理器存储单元、共享缓存单元和磁盘组的磁盘存储系统中,所述磁盘接口处理器包括:取命令单元和命令分析执行单元;
其特征在于,所述命令分析执行单元包含一个以上处理模块,磁盘操作命令被分解为顺序执行的一个以上子任务,每个处理模块对应于该磁盘操作命令的一个子任务,上述一个以上处理模块按照自身对应的子任务的执行顺序,逐级连接形成命令处理流水线;
每个处理模块设置有缓冲队列,用于保存上一级模块送至的磁盘操作命令;上述每个处理模块根据自身的空闲情况,从缓冲队列中顺序获取磁盘操作命令执行,并在处理完毕后,将经过自身处理的磁盘操作命令送至下一级模块。
2、根据权利要求1所述的处理器,其特征在于,所述命令分析执行单元划分为:共享缓存操作模块、地址映射模块、异或计算模块和磁盘操作模块,上述四个处理模块两两相连;
取命令单元从处理器存储单元获得磁盘操作命令,送至共享缓存操作模块或地址映射模块;
共享缓存操作模块根据接收到的磁盘操作命令,从共享缓存单元读取待操作的数据块,并将该磁盘操作命令送至地址映射模块;或者,将接收到的数据块保存到共享缓存单元;
地址映射模块为待操作的数据块计算出磁盘物理地址;
异或计算模块对待操作的数据块进行异或计算,并由磁盘操作模块将该数据块保存到磁盘组中;或者,磁盘操作模块根据所述磁盘物理地址从磁盘组获取上述待操作的数据块,再由异或计算模块进行异或计算后,送至共享缓存操作模块。
3、一种磁盘操作命令的处理方法,应用于磁盘存储系统,其特征在于,该方法包括:
将磁盘操作命令分解为顺序执行的一个以上子任务,并预先为每个子任务设置一个对应的处理模块,形成命令处理流水线,逐级处理该磁盘操作命令;
流水线上的每个处理模块中设置的缓冲队列用于保存上一级模块送至的磁盘操作命令;上述每个处理模块根据自身的空闲情况,从缓冲队列中顺序获取磁盘操作命令执行,并在处理完毕后,将经过自身处理的磁盘操作命令送至下一级模块。
4、根据权利要求3所述的方法,其特征在于,所述将磁盘操作命令分解为顺序执行的一个以上子任务并预先为每个子任务设置一个对应的处理模块的方法具体为:将磁盘操作命令分解为四个子任务,并分别设置共享缓存操作模块、地址映射模块、异或计算模块和磁盘操作模块处理对应的子任务,形成四级的命令处理流水线。
5、根据权利要求4所述的方法,其特征在于,所述磁盘操作命令为读磁盘命令时,取命令单元将读磁盘命令送至地址映射模块;
则所述命令处理流水线处理磁盘操作命令的方法具体为:
a1、地址映射模块根据该读磁盘命令中携带的待操作数据块的起始地址和待操作数据块的单元数量,计算出待操作数据块的磁盘物理地址,并将该读磁盘命令送至磁盘操作模块;
a2、磁盘操作模块根据所述磁盘物理地址从磁盘组的对应位置读取待操作的数据块,并将该数据块送至共享缓存操作模块,由共享缓存操作模块将所述数据块写入共享缓存单元。
6、根据权利要求5所述的方法,其特征在于,步骤a2中,磁盘操作模块读取数据块之后,该方法进一步包括:
a21、判断所述读磁盘命令的模式,如果为正常模式则将数据块送至共享缓存操作模块,如果为非正常模式则执行步骤a22;
a22、将数据块送至异或计算模块进行异或计算,并将经过异或计算的数据块送至共享缓存操作模块。
7、根据权利要求6所述的方法,其特征在于,所述非正常模式包括:重建模式和降级模式。
8、根据权利要求4所述的方法,其特征在于,所述磁盘操作命令为写磁盘命令时,取命令单元将写磁盘命令送至共享缓存操作模块;
则所述命令处理流水线处理磁盘操作命令的方法具体为:
b1、共享缓存操作模块从共享缓存单元读取与该写磁盘命令对应的数据块,送至异或计算模块;
b2、异或计算模块对接收到的数据块进行异或计算,并将该写磁盘命令送至地址映射模块;
b3、地址映射模块为待操作的数据块计算出磁盘物理地址,并由磁盘操作模块根据所述磁盘物理地址,将该数据块保存到磁盘组中。
9、根据权利要求8所述的方法,其特征在于,步骤b1中,共享缓存操作模块读取数据块之后,该方法进一步包括:
b11、判断写磁盘命令的类型,如果为整个分条写则将该数据块送至异或计算模块,如果为部分分条写则执行步骤b12;
b12、地址映射模块计算与该数据块位于同一分条的其它分条单元的磁盘物理地址,并由磁盘操作模块从磁盘组读取其它分条单元的数据块,再将整个分条送至异或计算模块。
10、根据权利要求3所述的方法,其特征在于,所述每个处理模块保存上一级模块送至的磁盘操作命令的方法具体为:
每个处理模块都设置有读缓冲队列和写缓冲队列;当接收到上一级模块发送的磁盘操作命令后,判断所述磁盘操作命令为读磁盘命令或写磁盘命令,如果为读磁盘命令则保存在读缓冲队列;如果为写磁盘命令则保存在写缓冲队列。
11、根据权利要求3所述的方法,其特征在于,该方法进一步包括:取命令单元从处理器存储单元获取磁盘操作命令后,为每个磁盘操作命令生成控制信息块,并将控制信息块送至命令处理流水线进行处理。
12、根据权利要求11所述的方法,其特征在于,所述控制信息块记录有磁盘操作方向、待操作数据块的起始地址和待操作数据块的单元数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100785394A CN100449471C (zh) | 2006-05-10 | 2006-05-10 | 磁盘接口处理器以及磁盘操作命令的处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100785394A CN100449471C (zh) | 2006-05-10 | 2006-05-10 | 磁盘接口处理器以及磁盘操作命令的处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101046724A true CN101046724A (zh) | 2007-10-03 |
CN100449471C CN100449471C (zh) | 2009-01-07 |
Family
ID=38771375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100785394A Active CN100449471C (zh) | 2006-05-10 | 2006-05-10 | 磁盘接口处理器以及磁盘操作命令的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100449471C (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551741A (zh) * | 2009-05-14 | 2009-10-07 | 北京中星微电子有限公司 | 一种命令处理方法及装置 |
CN102467415A (zh) * | 2010-11-03 | 2012-05-23 | 大唐移动通信设备有限公司 | 一种业务面任务处理方法及设备 |
CN108388405A (zh) * | 2017-02-02 | 2018-08-10 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
CN109697017A (zh) * | 2017-10-20 | 2019-04-30 | 上海宝存信息科技有限公司 | 数据储存装置以及非挥发式存储器操作方法 |
CN110096456A (zh) * | 2019-05-13 | 2019-08-06 | 成都定为电子技术有限公司 | 一种高速率大容量缓存方法与装置 |
CN110457123A (zh) * | 2018-09-13 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 一种区块处理任务的控制方法和装置 |
CN110737708A (zh) * | 2019-09-17 | 2020-01-31 | 中电万维信息技术有限责任公司 | 一种流水线式的高效数据转换处理方法 |
WO2020062305A1 (zh) * | 2018-09-30 | 2020-04-02 | 华为技术有限公司 | 运算加速器、交换器、任务调度方法及处理系统 |
WO2020224425A1 (zh) * | 2019-05-09 | 2020-11-12 | 深圳大普微电子科技有限公司 | 一种确定预测窗口期的方法及装置 |
CN112559141A (zh) * | 2019-09-26 | 2021-03-26 | 上海亮衡信息科技有限公司 | 任务切换方法、装置、计算机设备及存储介质 |
CN118550476A (zh) * | 2024-07-29 | 2024-08-27 | 山东云海国创云计算装备产业创新中心有限公司 | 磁盘访问的加速装置及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6567895B2 (en) * | 2000-05-31 | 2003-05-20 | Texas Instruments Incorporated | Loop cache memory and cache controller for pipelined microprocessors |
CN1156760C (zh) * | 2000-12-12 | 2004-07-07 | 智原科技股份有限公司 | 适用于处理器的存储器数据存取装置及其存取方法 |
CN1180339C (zh) * | 2003-02-21 | 2004-12-15 | 中国航天科技集团公司第九研究院七七一研究所 | 一种16位微处理器中使用的伪四级流水结构的实现方法 |
-
2006
- 2006-05-10 CN CNB2006100785394A patent/CN100449471C/zh active Active
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551741A (zh) * | 2009-05-14 | 2009-10-07 | 北京中星微电子有限公司 | 一种命令处理方法及装置 |
CN102467415A (zh) * | 2010-11-03 | 2012-05-23 | 大唐移动通信设备有限公司 | 一种业务面任务处理方法及设备 |
CN108388405A (zh) * | 2017-02-02 | 2018-08-10 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
CN109697017A (zh) * | 2017-10-20 | 2019-04-30 | 上海宝存信息科技有限公司 | 数据储存装置以及非挥发式存储器操作方法 |
CN109697017B (zh) * | 2017-10-20 | 2022-03-15 | 上海宝存信息科技有限公司 | 数据储存装置以及非挥发式存储器操作方法 |
CN110457123B (zh) * | 2018-09-13 | 2021-06-15 | 腾讯科技(深圳)有限公司 | 一种区块处理任务的控制方法和装置 |
CN110457123A (zh) * | 2018-09-13 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 一种区块处理任务的控制方法和装置 |
CN112867998B (zh) * | 2018-09-30 | 2024-05-10 | 华为技术有限公司 | 运算加速器、交换器、任务调度方法及处理系统 |
US11403250B2 (en) | 2018-09-30 | 2022-08-02 | Huawei Technologies Co., Ltd. | Operation accelerator, switch, task scheduling method, and processing system |
WO2020062305A1 (zh) * | 2018-09-30 | 2020-04-02 | 华为技术有限公司 | 运算加速器、交换器、任务调度方法及处理系统 |
CN112867998A (zh) * | 2018-09-30 | 2021-05-28 | 华为技术有限公司 | 运算加速器、交换器、任务调度方法及处理系统 |
WO2020224425A1 (zh) * | 2019-05-09 | 2020-11-12 | 深圳大普微电子科技有限公司 | 一种确定预测窗口期的方法及装置 |
CN110096456A (zh) * | 2019-05-13 | 2019-08-06 | 成都定为电子技术有限公司 | 一种高速率大容量缓存方法与装置 |
CN110737708A (zh) * | 2019-09-17 | 2020-01-31 | 中电万维信息技术有限责任公司 | 一种流水线式的高效数据转换处理方法 |
CN112559141A (zh) * | 2019-09-26 | 2021-03-26 | 上海亮衡信息科技有限公司 | 任务切换方法、装置、计算机设备及存储介质 |
CN112559141B (zh) * | 2019-09-26 | 2024-04-30 | 上海亮衡信息科技有限公司 | 任务切换方法、装置、计算机设备及存储介质 |
CN118550476A (zh) * | 2024-07-29 | 2024-08-27 | 山东云海国创云计算装备产业创新中心有限公司 | 磁盘访问的加速装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100449471C (zh) | 2009-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101046724A (zh) | 磁盘接口处理器以及磁盘操作命令的处理方法 | |
CN101038532A (zh) | 数据存储装置及其方法 | |
US10410693B2 (en) | Multiprocessor system with independent direct access to bulk solid state memory resources | |
CN1808367A (zh) | 存储系统 | |
TWI506549B (zh) | 用於順序指令管線中的亂序預取指令的系統與方法 | |
US8645610B2 (en) | Organizing and managing a memory blade with super pages and buffers | |
CN1851635A (zh) | 对廉价磁盘冗余阵列进行读写操作的方法和系统 | |
CN1862475A (zh) | 磁盘阵列缓存的管理方法 | |
CN101063929A (zh) | 使用非易失性闪存的存储装置及其控制方法 | |
CN1717645A (zh) | 用于多线程处理器性能控制的装置和方法 | |
US9411728B2 (en) | Methods and apparatus for efficient communication between caches in hierarchical caching design | |
CN1708747A (zh) | 用于多线程处理器中基于线程的存储器存取的方法和装置 | |
CN1851677A (zh) | 嵌入式处理器系统及其数据操作方法 | |
CN1700196A (zh) | 通过直接存储器访问控制器传输数据的系统及方法 | |
CN1241098C (zh) | 存储系统中检验数据的方法及设备 | |
CN101036197A (zh) | 用于匹配具有不同数量将被同时访问的存储体的存储控制器的非易失性存储装置 | |
CN1848070A (zh) | 数据存储设备、重构控制设备、重构控制方法与存储介质 | |
CN1632771A (zh) | 直接存储访问控制装置和图像处理系统以及传输方法 | |
CN1287296C (zh) | 减少快取储存器标签阵列存取动作的系统及其方法 | |
CN1896960A (zh) | 一种快照系统及方法 | |
CN1260656C (zh) | 能够使用虚拟存储器处理模式的数据处理系统 | |
CN1648878A (zh) | 基于移动存储的计算机系统磁盘同步写性能提高方法 | |
CN1617110A (zh) | 磁盘阵列结构中进行回写的方法 | |
CN100342360C (zh) | 一种直接存储器存取装置及方法 | |
CN1543092A (zh) | 基于fc-san存储设备的scsi命令优化方法 |
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 |