图像形成装置的制作方法

文档序号:6584011阅读:91来源:国知局
专利名称:图像形成装置的制作方法
技术领域
本发明涉及具有操作系统(OS)和廉价独立冗余磁盘阵列(RAID, RedundantArrays of I證pensive/Ind印endent Disks)控制部的图像形成装置。
背景技术
廉价/独立冗余磁盘阵列(RAID)能够在操作系统(OS) —侧将多台硬盘驱动器(HDD)视为一个驱动器来处理。这种虚拟的一个驱动器能够构成多个逻辑驱动器。例如,多台HDD能够形成可高速访问的条带化(RAIDO)模式的逻辑盘、和高可靠性的镜像(RAID1)模式的逻辑盘。 但是,例如当由两台HDD构成了 RAIDO模式和RAID1模式的逻辑盘时,由于在任一模式下都并行地同时访问两台HDD,因此不能同时执行两种模式。另一方面,由于OS将两台HDD识别为RAIDO模式和RAID1模式的逻辑盘,因此访问请求会发生竞争。以往,对于这种访问竞争不进行仲裁,因此有时会拒绝构成竞争的访问请求,或者有时会推迟可高速访问的RAIDO模式的访问请求。

发明内容
本发明提供一种能够适当地仲裁对物理盘的访问请求的竞争的具有RAID控制部的图像形成装置。 本发明一个方面涉及的图像形成装置具有RAID控制部,该RAID控制部包括访问请求队列保存部;以及访问请求仲裁部,所述访问请求仲裁部将来自操作系统的针对逻辑盘的访问请求基于取入顺序决定信息依次保存到所述访问请求队列保存部中,并从所述访问请求队列保存部中依次取出所述访问请求。 上述具有RAID控制部的图像形成装置还可以包括访问信息转换部,所述访问信息转换部从所述访问请求队列保存部接收所述依次取出的访问请求,参考地址转换信息将所述访问请求涉及的逻辑盘访问信息转换为物理盘访问信息,并发起包含所述物理盘访问信息的访问信息的传送请求。 上述具有RAID控制部的图像形成装置还可以包括传送部,所述传送部响应于来自所述盘访问信息转换部的访问信息的传送请求,向RAID控制器传送所述访问信息。
本发明的其他目的、结构以及效果通过以下的实施方式的说明将会变得清楚。


图1是示出本发明第一实施方式的与RAID驱动器有关联的结构的框图; 图2(A)是示出响应于从内核向RAID驱动器的访问请求而开始的由访问请求仲裁
部执行的处理的流程图; 图2(B)是示出在图2(A)的处理已结束并且RAID控制器转移到就绪(Ready)状态时通过中断而开始的、由访问请求仲裁部执行的处理的流程3
图3是示出图2 (B)中的步骤S 14的处理的详细流程图; 图4是说明图2(B)所记载的处理之后的访问请求仲裁部的详细动作的图; 图5(A) 图5(F)是访问请求仲裁部根据取入顺序决定值从队列30 33向队列
34传送访问请求时的状态转移图; 图6(A)是队列的结构说明图; 图6(B)是示出访问信息的项目以及、该信息和队列间的关系的说明 图7是示出逻辑块地址(LBA)和物理块地址(PBA)间的关系的概要说明 图8是示出本发明第一实施方式涉及的图像形成装置的硬件结构的概要框 图9是本发明第二实施方式涉及的图3的替代处理的流程图。
具体实施例方式
图8是示出本发明第一实施方式涉及的图像形成装置的硬件结构的概要框图。
在图像形成装置10中,EEPR0M 13、 DRAM 14、 RAID控制器23、网络接口 (NIC) 16、印刷部17、以及操作面板18经由接口 12而与MPU11连接。为了简化说明,在图8中,用一个方框示出了多个接口。 EEPR0M 13例如是闪存。在EEPR0M 13中存储有在例如Linux⑧噪作系统(0S)这样的虚拟存储方式的OS的上层进行动作的多个应用、以及在OS的下层进行操作的包括RAID驱动器在内的各种驱动器。
DRAM 14用作主存储器。 印刷部17包括印刷引擎、纸张的供纸部、运送部、以及排纸部。印刷部17基于被提供的位图数据而在印刷引擎的感光鼓上形成静电潜像,并通过调色剂将所形成的静电潜像显影,转印到纸张上进行定影,然后排出纸张。 图1是示出本发明第一实施方式的与RAID驱动器21相关的结构的概要框图。在图1中,硬盘驱动器(HDD)19、20、以及RAID控制器23是硬件结构。其余部分是软件结构,在执行时构建于DRAM 14内。HDD 19和HDD 20包括逻辑盘LD1、 LD2、 LD3以及LD4。逻辑盘LD1和LD2都被生
成在HDD 19和HDD 20的对应的区域,并分别形成为RAIDO模式和RAID1模式。当在这些
模式下对HDD进行访问时,HDD19和HDD 20同时被访问。逻辑盘LD3和LD4都在通常模式
(单模式)下被访问,并分别只生成在HDD 20或HDD 19上。 RAID驱动器21作为OS 22和RAID控制器23之间的接口而发挥作用。 OS 22包括内核220和文件系统221。当处理器24访问文件时,首先,处理器24
对内核220进行指定了文件路径、以及读或写等访问模式的打开文件(fileopen)的系统调
用。内核220对此进行响应,在内核用存储器区域中确保(提供)流缓冲区域222,并向处
理器24回复该流缓冲区域222的标识符。之后,处理器24指定该标识符和字节数,经由内
核220对该流缓冲区域222进行访问。由此,能够间接访问文件。 内核220为了使上述访问成为可能,参考文件系统221而获取由上述路径指定的文件的起始逻辑块地址(LBA)的值。内核220指定访问信息,并对RAID驱动器21请求文件访问,其中访问信息包括路径中包含的逻辑盘名、上述LBA、必要的块数、以及流缓冲区域222内的访问起始地址。 一个块的大小例如与一个扇区的大小相等,例如是512字节。RAID驱动器21将上述访问信息转记在如图6(B)所示的控制块(CB)中,将该CB的起始地址(指示CB的指针的内容WB)作为访问请求标识符(下面,简称为"访问请求")放入到队列保存部(以下,简称为"队列")中。 这里,OS 22根据来自处理器24的请求,对RAID驱动器21请求逻辑盘LD1 LD4的访问,而不考虑逻辑盘LD1 LD4的物理结构。 但是,实际上逻辑盘LD1 LD4同时只能访问一个,从而从操作系统22向RAID驱动器21的多个访问请求将构成竞争。 因此,RAID驱动器21具有访问顺序决定部210,并如后述那样适当地对上述多个访问请求进行仲裁。 逻辑/物理盘访问信息转换部211从访问顺序决定部210接受经仲裁的访问请求,并参考地址转换信息212将该访问请求所涉及的上述访问信息中的作为逻辑盘信息的逻辑盘名和LBA分别转换为作为物理盘信息的物理盘名和物理块地址(PBA)(如图7所示)。另外,逻辑/物理盘访问信息转换部211根据地址转换信息212中所描述的逻辑盘和模式(在本实施方式中为RAIDO模式、RAID1模式或者单模式)的对应关系来决定作为物理盘信息的一部分的模式。逻辑/物理盘访问信息转换部211将转换和决定了的物理盘信息写入到如图6(B)所示的访问信息213内的对应的CB中。LBA和PBA的差是在每个逻辑盘中固定的常量。 逻辑/物理盘访问信息转换部211指定指针*CB (CB的起始地址),向传送部214发起数据传送请求。传送部214响应该数据传送请求,将包含在该CB中的物理盘名、PBA、模式、块数、以及流缓冲区域222中的CB传送给RAID控制器23。 RAID控制器23响应于该传送,执行基于该物理盘访问信息的模式,对HDD 19或/和HDD 20发起访问请求。RAID控制器23具有直接内存访问控制器(Direct Memory AccessController, DMAC) 230。在读的情况下,RAID控制器23通过DMAC向流缓冲区域222中传送从HDD 19或/和HDD 20读出的从上述*CB起的块数X 512字节的数据。在写的情况下,RAID控制器23通过DMAC将数据从该流缓冲区域222同样地传送给HDD19或/和HDD 20。HDD19和HDD20均在内部具有硬盘控制器和缓冲存储器,其与RAID控制器23之间的数据传送经由该硬盘控制器在与该缓冲存储器之间进行。 访问顺序决定部210包括与逻辑盘LD1 LD4的每一个对应的第一级队列30 33 (初步储存的访问请求队列)、第二级队列34 (访问请求队列)、设定了逻辑盘LD1 LD4的每一个的优先级的优先级信息35、以及进行仲裁控制的访问请求仲裁部36。访问请求仲裁部36在预定的定时,基于保存在队列30 33的每一个中的请求(WB、即图6(B)中的Adrl、2、3、4、5、9)的数目和优先级信息35来决定从队列30 33的哪一个中取出访问请求,并取出所决定的访问请求放入到队列34中。
接着,对访问请求仲裁部36的动作进行说明。 如图4所示,例如考虑由用户预先将逻辑盘LD1 LD4的优先级分别设定为1、3、3、3(值越小,优先级就越高)、并在队列30 33中分别保存四个访问请求后成为等待状态的情况。图4中的队列30 33中的数值表示从OS 22向RAID驱动器2的访问请求顺序。
访问请求仲裁部36从队列30 33中取出取入顺序决定值GO =(访问请求数N)/(优先级P)的值为最大的访问请求,并将该访问请求放入队列34中。
图5 (A) 图5 (F)示出了访问请求仲裁部36基于该取入顺序决定值GO将访问请求从队列33移动到队列34中时的状态转移。 首先,在图4的状态中,由于队列30 33的取入顺序决定值G0分别是4/1、4/3、
4/3、4/3,因此选择队列30中的请求1放入到队列34中,成为图5(A)所示的状态。 在图5 (A)所示的状态中,由于队列30 33的取入顺序决定值G0分别是3/1、4/3、
4/3、4/3,因此选择队列30中的请求5放入到队列34中,成为图5(B)所示的状态。 在图5 (B)所示的状态中,由于队列30 33的取入顺序决定值G0分别是2/1、4/3、
4/3、4/3,因此选择队列30中的请求9放入到队列34中,成为图5(C)所示的状态。 在图5 (C)所示的状态中,由于队列30 33的取入顺序决定值GO分别是1/1、4/3、
4/3、4/3,因此选择队列31中的请求2放入到队列34中,成为图5(D)所示的状态。 在图5 (D)所示的状态中,由于队列30 33的取入顺序决定值GO分别是1/1、3/3、
4/3、4/3,因此选择队列32中的请求3放入到队列34中,成为图5(E)所示的状态。 在图5 (E)所示的状态中,由于队列30 33的取入顺序决定值GO分别是1/1、3/3、
3/3、4/3,因此选择队列33中的请求4放入到队列34中,成为图5(F)所示的状态。 根据图5(F)所示的状态,RAID控制器23每当变为就绪状态时从队列34中取出
请求。当队列34为空时,访问请求仲裁部36与上述同样地进行从队列30 33向队列34
移动请求的处理。 如图6 (A)所示,队列30包括一维阵列300、指定阵列300的元素的读出指针301以及写入指针302。读出指针301和写入指针302的内容以使阵列300的元素的使用顺序在逻辑上成为环形的方式被更新。 SP,当写入指针302所指向的阵列300的元素中新保存了 *CB时,写入指针302的内容递减。当读出指针301所指向的阵列300的元素的内容被取出时,读出指针301的内容递减。当由读出指针301或写入指针302指向的阵列300的元素是起始元素时,取代该递减而将阵列300中最后的元素的地址写入读出指针301或写入指针302中。保存在队列30中的访问请求的数目基于这些读出指针301的内容和写入指针302的内容来求出。
求出队列31 34的每一个中所储存的访问请求的数目的方法与求出队列30中所储存的访问请求的数目的方法相同。 图2(A)和图2(B)都是示出由访问请求仲裁部36执行的处理的流程图。图2 (A)的处理响应从内核220对RAID驱动器21发起的访问请求而开始。 (SO)例如如果该访问请求是针对逻辑盘LD1的,则将*CB放入到队列30中。如果是针对逻辑盘LD2的,则将*CB放入到队列31中。如果是针对逻辑盘LD3的,则将*CB放入到队列32。如果是针对逻辑盘LD4的,则将*CB放入到队列33中。 图2 (B)的处理在图2 (A)的处理已结束并且RAID控制器23转移到就绪状态时通过中断而开始。 在图2(B)的(S10),如果队列34不为空则进入步骤S11,如果为空,则进入步骤S14。 在图2 (B)的(S11)中,从队列34取出一个访问请求。 在图2(B)的(S12)中,如上所述将该请求涉及的逻辑盘访问信息转换为物理盘访问信息,并将该物理盘访问信息写入该CB中。
在图2(B)的(S13)中,如果RAID控制器处于就绪状态,则经由传送部214将该CB传送给RAID控制器23,并结束图2的处理。 在图2(B)的(S14)中,进行从队列30 33向队列34移动访问请求的处理,接着进入步骤Sll。 图3是示出该步骤S14的处理的详细流程图。 在图3的(S20)中,将初始值0代入到表示队列34内的访问请求数的变量i中。
在图3的(S21)中,只要队列30 33中的任一个不为空,就进入步骤S22,如果全部为空,则结束图3的处理。 在图3的(S22)中,如上所述计算队列30 33的取入顺序决定值GO。 在图3的(S23)中,从队列30 33中与算出的取入顺序决定值GO的最大值对应
的队列中取出一个请求放入到队列34中。 在图3的(S24)中,使i的值增加1 。 在图3的(S25)中,如果i《imax,则返回到步骤S21,否则结束图3的处理。imax例如为6。 图4的状态通过图2 (A)、图2 (B)、图3的处理而依次转移到图5 (A) 图5 (F)所示的状态,并且访问请求从队列34中被取出,HDD19或/和HDD 20被访问。
取入顺序决定值GO在从步骤SIO向步骤S14转移时的队列34变为空的定时,如果队列30 33的任意队列中包含多个请求,则不仅基于队列30 33的每一个的优先级,而且还与每一个的请求数成比例地被决定。通过请求的移动处理,能够使得基于适当地更换了请求顺序的结果来访问HDD 19和HDD 20。 由此,例如对于能够高速处理的条带化(RAIDO)模式来说,防止了访问被推迟,可
进行期待的动作。另外,当为提高可靠性而选择了镜像(RAID1)模式但又希望防止访问被
延迟时,通过提高RAID1模式的优先级信息35,即使发生访问竞争也能够防止访问被延迟。 基于上述规则的图2的步骤S14的处理不限于图3所示的处理,下面对作为本发
明第二实施方式的基于该规则的其他处理进行说明。 图9是本发明第二实施方式涉及的图3的替代处理的流程图。在图9的(S30)中,与图3的步骤S22同样地计算队列30 33的每一个的取入
顺序决定值GO。 在图9的(S31)中,基于这些取入顺序决定值GO的比(在图4的情况下为
4/1 :4/3:4/3:4/3 = 3:1:1: i),来决定从队列30 33要取出的访问请求的
数目。但是,从队列30 33要取出的访问请求的总数假设为6。在图4的情况下,将从队列30 33分别取出3个、1个、1个、1个。取出的顺序假设如下取入顺序决定值的比越大就越先取出,如果比值相同的存在多个,则从图4的左侧起取出。由此,图4所示的状态变为图5(F)所示的状态,与图3的处理结果相同。
其余方面与第一实施方式相同。
本发明包括各种变形例。 例如,优先级信息35既可以由用户手动设定,也可以通过程序根据其处理内容来动态地改变设定。 另外,RAID控制器23可以是基于软件的结构。
并且,取入顺序决定值GO的公式不限于上述公式,只要是实质上至少包含优先级和请求数,访问请求所涉及的逻辑盘的优先级越高、并且针对该访问请求所涉及的逻辑盘的访问请求的数目越多,就越优先将所述访问请求的一部分或者全部保存到访问请求队列中的公式即可。 另外,从图2的步骤S10向步骤S14转移的判断基准只要访问请求队列中的访问请求数小于等于阈值即可,当然阈值不被限定于0。另外,队列也可以被构成为例如向其中代替指针*CB而放入*CB =(偏移值)+整数X (1块的字数或字节数)中的整数。
权利要求
一种图像形成装置,具有RAID控制部,所述RAID控制部包括访问请求队列保存部;以及访问请求仲裁部,所述访问请求仲裁部将来自操作系统的针对逻辑盘的访问请求基于取入顺序决定信息依次保存到所述访问请求队列保存部中,并从所述访问请求队列保存部依次取出所述访问请求。
2. 如权利要求l所述的图像形成装置,其中,还包括访问信息转换部,所述访问信息转换部从所述访问请求队列保存部接收所述依次取出的访问请求,参考地址转换信息将所述访问请求涉及的逻辑盘访问信息转换为物理盘访问信息,并发起包含所述物理盘访问信息的访问信息的传送请求。
3. 如权利要求2所述的图像形成装置,其中,还包括传送部,所述传送部响应于来自所述盘访问信息转换部的访问信息的传送请求,向RAID控制器传送所述访问信息。
4. 如权利要求l所述的图像形成装置,其中,所述访问信息包括从包含在控制块中的物理盘访问名、物理块地址、模式、块数、以及流缓冲器内的访问起始地址中选择的至少一个。
5. 如权利要求l所述的图像形成装置,其中,所述取入顺序决定信息包含多个所述逻辑盘的每一个的优先级、以及针对每一个逻辑盘的向所述访问请求队列保存部中保存的顺序未决定的访问请求的数目,所述访问请求仲裁部使得逻辑盘的优先级越高、并且针对逻辑盘的所述未决定的访问请求的数目越多,就越优先地使对应的未决定的访问请求的一部分或全部被保存到所述访问请求队列保存部中。
6. 如权利要求5所述的图像形成装置,其中,还包括多个前置访问请求队列保存部,所述多个前置访问请求队列保存部中的每一个储存有与每一个逻辑盘对应的访问请求,所述访问请求仲裁部在预定的定时从针对逻辑盘的所述多个前置访问请求队列保存部中的一个取出所述访问请求,并将该访问请求保存到所述访问请求队列保存部中。
7. 如权利要求6所述的图像形成装置,其中,所述访问请求仲裁部基于针对所述每一个逻辑盘的所述未决定的访问请求数和所述逻辑盘的优先级的值之比,来决定从所述前置访问请求队列保存部的每一个中取出的访问请求的数目。
8. 如权利要求6所述的图像形成装置,其中所述访问请求仲裁部重复以下处理从所述前置访问请求队列中的基于所述未决定的访问请求数和所述逻辑盘的优先级而算出的值为最大的前置访问请求队列取出一个所述访问请求。
9. 如权利要求6所述的图像形成装置,其中,所述预定的定时是检测到所述访问请求队列保存部内的访问请求数少于阈值时的时间点。
全文摘要
本发明涉及图像形成装置,该图像形成装置包括操作系统(OS)和廉价独立冗余磁盘阵列(RAID)控制部,所述RAID控制部包括访问请求队列以及访问请求仲裁部,所述访问请求仲裁部将来自操作系统的针对逻辑盘的至少一个访问请求基于取入顺序决定信息依次保存到所述访问请求队列保存部中,并从所述访问请求队列保存部中依次取出访问请求。由此,能够对访问请求的竞争进行适当的仲裁。
文档编号G06F3/06GK101762999SQ20091022522
公开日2010年6月30日 申请日期2009年11月16日 优先权日2008年12月25日
发明者辻俊太郎 申请人:京瓷美达株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1