盘存储装置和程序的制作方法

文档序号:6774749阅读:99来源:国知局
专利名称:盘存储装置和程序的制作方法
技术领域
本发明涉及利用诸如硬盘驱动器(HDD)之类的盘状存储介质来存储 数据的盘存储装置,以及用于该盘存储装置的程序。
背景技术
一般来说,主机装置不考虑诸如硬盘装置之类的盘存储装置中的盘上 的数据布置。因此,随着数据被反复写入到盘中并被从盘中读取, 一个文 件的数据越来越多地被分割并记录在多个位置上。结果,从主机装置的角 度来看,对盘的访问速率降低了。
同时,诸如硬盘装置之类的盘存储装置按下述顺序来执行处理,艮口, 在不考虑之前或之后访问的位置的情况下生成1/0请求,从而,该装置往 往会浪费性地频繁执行搜寻操作。当主机装置是在多任务操作系统(OS) 的控制下工作的信息处理装置时,该情形是不可避免的。这是因为,在考 虑全部任务的同时控制存储介质上的数据布置和访问顺序是极为复杂的, 并且,要花很多资源来管理它们。
但是,这种情形不适用于诸如视频相机(摄录机)之类的具有成像部 件和记录部件的消费者装置。消费者装置的操作一般是公式化的。换言 之,消费者装置尤其需要响应于用户的各个操作来迅速且准确地工作。作 为一种满足该请求的技术,盘调度(disk scheduling)是已知的。盘调度改 变己被排队的许多命令的执行顺序,以便减少浪费性的频繁搜寻操作并从 而改善系统性能(例如,参见"Operating System" , Iwanami-koza Software Science, 第343页)。
作为盘调度的一种算法,SCAN是已知的。在SCAN中,在一个方向 上移动盘头,以便在盘的径向上处理I/O请求。正如所公知的,由于硬盘 装置使用区段比特(zone bit)记录,因此盘的外圆周上的传送速率高于盘的内圆周上的传送速率。这样,当文件系统均等地使用盘的整个表面并且
盘存储装置基于SCAN算法来执行盘调度时,就可以确保稳定的传送速率 (例如,参见Reddy. N, Wyllie. J, "Disk Scheduling in Multimedia I/O System" , Proc, ACM Multimedia 93 )。
用于与盘调度相结合地在盘上布置数据的技术在许多专利文献中已公 开(例如,参见日本特开平9-185864号公报)。

发明内容
但是,当诸如摄录机之类的消费者装置写入诸如视频流之类的相对大 量的数据时,该消费者装置发出写入命令,使得盘的存储区域按逻辑区块 地址(logical block address, LBA)值较小(从盘的外圆周起)的顺序来被 使用。在此情况下,根据SCAN方法的盘调度,在盘具有足够的空闲空间 时,是没有问题的。但是,当空闲空间变得较小时,未使用的存储区域集 中在传送速率较低的内圆周区域,因此,从主机装置的角度来看访问速率 降低了。
考虑到上述问题,希望提供一种盘存储装置和程序,其能够确保从主 机装置的角度来看的始终稳定的传送速率。
根据本发明的一个实施例,提供了一种盘存储装置,用于控制对存储 介质的写入,该存储介质具有存储区域,该存储区域被分配了由多个区块 构成的第一地址空间并且该存储区域的传送速率在空间上变化。该盘存储 装置包括命令接收部件和控制部件。命令接收部件接收从主机装置发出的 并且包含第一地址空间的地址的写入命令。控制部件执行控制,以便将 存储区域划分成多个区段;预定义第二地址空间,在该第二地址空间中, 所述多个区块从第一地址空间的起始地址的区块起被顺次分配给所述多个 区段;对于由所述命令接收部件接收到的每个写入命令,利用第二地址空 间的地址来替换该写入命令中包含的第一地址空间的地址;通过循环改变 来选择所述多个区段之一作为写入目标区段;并且对于每个所选择的区 段,对存储介质执行写入处理。
根据本发明的实施例,从主机装置传送来的写入数据的各具有预定容
5量的区块被分配给多个区段,这些区段划分第一地址空间,该第一地址空 间被分配给存储介质的存储区域。写入目标区段被循环地改变,并且区段 之一被选择为写入目标区段。对于存储介质的所选区段执行写入处理。这 样,可以确保从主机装置的角度来看的始终恒定的数据传送速率。
控制部件可执行控制,以按写入命令的写入数据的大小的降序来对写 入命令设置优先级,并且按写入命令的优先级顺序来针对每个所选区段对 存储介质执行写入处理。因此,当大小相对较大的视频数据被从主机装置 作为写入数据传送来时,数据被优先写入到存储介质。结果,从主机装置 的角度来看的数据传送速率可得到改善。此外,由于调整了写入命令的顺 序,所以可以减少与少量数据的写入处理相对应的、在一小段时间中执行 的搜寻操作的频率。从这个角度来看,也可以确保稳定的数据传送速率。
控制部件可执行控制,以对与以第二地址空间中的连续地址作为数据 写入目标的多个写入命令相等同的一个写入命令设置优先级,并且基于被 设置优先级的写入命令来执行写入处理。因此,可以进一步改善从主机装 置的角度来看的数据传送速率。
当基于针对该多个区段中的一个区段的写入命令的写入处理的次数达 到预定的上限值时,不论是否剩有针对该一个区段的未处理写入命令,控 制部件都可执行控制,以使得基于未处理写入命令的写入处理被跳过并且 针对该多个区段中的下一个区段的写入处理被执行。因此,在大小相对较 大的数据被写入到存储介质时,可以减少与为大小相对较小的数据执行的 写入处理相对应的一小段时间中的搜寻操作的频率。结果,可以改善从主 机装置的角度来看的数据传送速率。
当与被跳过写入处理的未处理写入命令相对应的区段下次被选择为写 入目标区段时,控制部件可优先执行基于未处理写入命令的写入处理。结 果,可以避免长时间不执行针对大小较小的数据的写入处理的情形。
控制部件可执行控制,以便将相同类型或不同类型的多个存储介质 的存储区域视为一个存储区域;预定义第二地址空间,在该第二地址空间 中,该多个区块从被分配给该一个存储区域的第一地址空间的起始地址的 区块起被顺次分配给该多个区段;对于由命令接收部件接收到的每个写入命令,利用第二地址空间的地址来替换该写入命令中包含的第一地址空间 的地址;通过循环改变来选择该多个区段之一作为写入目标区段;并且对 于每个所选择的区段,对存储介质执行写入处理。
根据本发明的另一个实施例,提供了一种程序,用于控制对存储介质 的写入,该存储介质具有存储区域,该存储区域被分配了第一地址空间并 且该存储区域的传送速率在空间上变化。该程序使得内置在盘存储装置中 的计算机充当命令接收部件和控制部件。命令接收部件接收从主机装置发 出的并且包含第一地址空间的地址的写入命令。控制部件执行控制,以 便将存储区域划分成多个区段;预定义第二地址空间,在该第二地址空 间中,多个区块从第一地址空间的起始地址的区块起被顺次分配给多个区 段;对于由命令接收部件接收到的每个写入命令,利用第二地址空间的地 址来替换该写入命令中包含的第一地址空间的地址;通过循环改变来选择 多个区段之一作为写入目标区段;并且对于每个所选择的区段,对存储介 质执行写入处理。
如上所述,在根据本发明实施例的盘存储装置和程序中,可以确保从 主机装置的角度来看的始终恒定的数据传送速率。
根据以下对附图中所示的本发明最佳实施例的详细描述,将更清楚看 到本发明的这些和其他目的、特征和优点。


图1是示出根据本发明一个实施例的盘存储装置的结构的框图; 图2是示出外部LBA空间和内部LBA空间之间的关系的示意图; 图3是示出外部LBA和内部LBA之间的关系的表格; 图4是示出在接收到写入命令时执行的过程的流程图; 图5是示出命令管理表格的示图6是示出在三个条目被添加到图5所示的命令管理表格时的命令管 理表格的示例的示图7是示出在两个条目被添加到图6所示的命令管理表格时的命令管 理表格的示例的示图;以及图8是示出基于区段的写入处理的流程图。
具体实施例方式
接下来将参考附图描述本发明的实施例。
图1是示出根据本发明一个实施例的盘存储装置的结构的框图。
如图l所示,盘存储装置IO包括通用串行总线(USB)接口控制部件 11、内部总线12、接口控制部件13、控制部件14 (作为命令接收部 件)、存储器控制部件15、缓冲存储器16、硬盘驱动器(HDD) 17、存 储器18、以及中央处理单元(CPU) 19。
USB接口控制部件11是与主机装置20的USB接口部件21合作工作 的模块,并且控制盘存储装置IO和主机装置20之间的接口。主机装置20 例如是诸如视频相机和摄录机之类的电子装置。主机装置20包括CPU 22、存储器23、成像部件24、记录部件25,等等。USB接口控制部件ll 接收来自主机装置20的USB接口控制部件21的写入命令,并通过内部总 线12将该写入命令提供给控制部件14。此外,USB接口控制部件ll把从 主机装置20传送来的写入数据存储在部署于USB接口控制部件11中的端 点FIFO (end point FIPO, EP) lll中,直到EP111变满为止。当EPlll 变满时,USB接口控制部件ll通过内部总线12将写入数据传送到存储器 控制部件15。应当注意,盘存储装置10和主机装置20之间的接口并不限 于USB系统。或者,可以改为使用具有等于或高于USB的传送速率的传 送速率的接口,例如IEEE 1394。
内部总线12是在盘存储装置10的各个模块之间传输命令和数据的传 输路径。
存储器控制部件15通过内部总线12把从USB接口控制部件11获得 的写入数据写入到部署于缓冲存储器16中的写入缓冲器。
缓冲存储器16包括临时存储将被传送到HDD 17的写入数据的写入缓 冲器以及在从HDD 17传送来的读取数据被传送到主机装置20之前对其进 行临时存储的读取缓冲器。
接口控制部件13是控制内部总线12和HDD 17之间的接口的模块。控制部件14将写入命令(例如,SCSI Write (l)命令)转换成具有 HDD 17可以理解的格式的写入命令(例如,ATA命令),并通过接口控 制部件13将转换后的写入命令提供给HDD 17。
此外,控制部件14预定义一内部LBA空间,其中,从被分配给其传 送速率在HDD 17中空间性地变化的盘存储区域的外部LBA空间的起始 LBA起,预定单位的区块被顺次均等地分配给划分盘存储区域的多个区 段。控制部件14利用内部LBA空间中的LBA值来执行替换指示数据写入 位置并包含在从主机装置20接收的每个写入命令中的LBA值的处理。外 部LBA空间是分配给被主机装置20使用的盘存储区域的LBA空间。此 外,控制部件14循环改变要选择的写入目标区段,针对当前选择的区段 对至少一个写入命令设置优先级,并且控制HDD 17按写入命令的优先级
顺序来对该区段执行写入处理。
虽然预定义了其中从被分配给其传送速率在HDD 17中空间性地变化 的盘存储区域的外部LBA空间的起始LBA起、预定单位的区块被顺次均 等地分配给划分盘存储区域的多个区段的内部LBA,但是取决于每个区段 的大小、区段的数目、每个区块的容量等等,每个区块可能不一定被均等 地分配给每个区段。
CPU 19对整个盘存储装置IO执行整体控制,以例如通过内部总线12 在模块之间交换命令和数据。存储器18被用作存储器控制部件15和CPU 19的工作区域等等。
接下来,参考图2,将详细描述外部LBA空间和内部LBA空间之间 的关系。
在图2所示的示例中,内部LBA空间是这样定义的,g口,盘存储区 域从传送速率最大的最外圆周(起始LBA)起按预定大小被划分成四个区 段0、 1、 2和3,并且从外部LBA空间的起始LBA起,预定单位的区块 (地址区块)被分配给区段O, 1, 2和3,其中所述预定大小例如是8 GB (千兆字节),所述预定单位例如是2MB (兆字节)。
假定此示例中使用FAT 32文件系统。但是,当使用另外的文件系统 时,也可以定义与盘存储区域的外部地址空间相对应的内部地址空间。在
9此示例中,HDD 17的总容量是32 GB。 32 GB的内部LBA空间的最小 LBA和最大LBA分别是0x0000000和0x3FFFFFF。当写入数据是视频数 据时,2MB相当于大约几百毫秒到l秒的再现持续时间。
图3是示出在区块大小为被设置为2 MB并且区段大小被设置为8 GB 时外部LBA和内部LBA之间的关系的表格。具体而言,控制部件14可根 据以下式(1)来从外部LBA值获得内部LBA值。
内部LBA = ZNm * (0x1000000) + Zof * (0x1000) + Bof …(1) 其中Znm是通过将下述商除以区段数目"4"而获得的余数所述商 是通过将给定的外部LBA值除以"1000"而获得的商;Zof是通过将下述 商除以区段数目"4"而获得的商所述商是通过将给定的外部LBA值除 以"1000"而获得的商;并且Bof是通过将给定的外部LBA值除以 "1000"而获得的余数。利用该计算,如图3所示,可以获得对应于外部 LBA值的内部LBA值。当获得了内部LBA时,也可以获得包括该内部 LBA的区段号码。
应当注意,在本发明的这个实施例中,HDD 17的总容量、区段大 小、区段数目以及区块大小并不限于上述值。
接下来,将描述当在盘存储装置10中从主机装置20接收到写入命令 时的操作。
当写入命令(SCSI Write (IO)命令)被从主机装置20发送到盘存储装 置10时,盘存储装置10向主机装置20发回表示写入许可的ACK。主机 装置20确认ACK被发回,然后将写入数据传送到盘存储装置10。
盘存储装置IO把从主机装置20传送来的写入数据临时写入到部署于 USB接口控制部件11中的EP 111中。当EP111变满时,盘存储装置10 通过内部总线12将存储于EP 111中的写入数据传送到存储器控制部件 15。存储器控制部件15使得写入数据被存储在缓冲存储器16 (写入缓冲 器)中。
此外,盘存储装置10的USB接口控制部件11通过内部总线12向控 制部件14发送从主机装置20接收到的写入命令。控制部件14如下处理写 入命令。图4是示出控制部件14响应于写入命令执行的处理流程的流程图。 当控制部件14接收到写入命令时(步骤SIOO ,控制部件14判断响应于 先前的写入命令的写入处理是否正被执行(步骤S102)。如果响应于先前 的写入命令的写入处理没有正被执行(步骤S102处的"否"),控制部 件14则判断存储器18中存储的命令管理表格当前是否为空(步骤 S103)。命令管理表格指的是存储用来管理从主机装置20发送来的写入 命令的信息的表格。命令管理表格将在下文中详细描述。
如果命令管理表格为空(步骤S103处的"是"),控制部件14则将 接收到的写入命令转换成ATA命令并通过接口控制部件13将该ATA命 令发送到HDD 17,以使得HDD 17执行写入处理(步骤S104)。从而对 于在来自主机装置20的写入命令没有被频繁发出并且HDD 17当前没有执 行写入处理时新接收到的写入命令,控制部件14立即将该新接收到的写 入命令转换成ATA命令并将该ATA命令发送到HDD 17以执行写入处 理。
当控制部件14在针对先前写入命令的写入处理完成之前接收到来自 主机装置20的新写入命令时,例如,当控制部件14接连接收到来自主机 装置20的多个写入命令时,控制部件14执行以下控制(步骤S102处的 "是")。控制部件14在命令管理表格中创建新的条目(步骤S105), 并将基于从主机装置20接收的写入命令获得的每条信息存储到该条目中 (步骤S106)。换言之,控制部件14根据前述式(1)获得与写入命令中 包含的外部LBA相对应的内部LBA,并将所获得的内部LBA、该内部 LBA所属的区段号码、以及存储作为写入命令的写入目标的写入数据的写 入缓冲器地址存储到命令管理表格中新创建的条目。由于从主机装置20 接收到的写入命令中包含的LBA是由开始LBA和结束LBA构成的,因此 内部LBA的开始LBA和结束LBA被获得并存储到命令管理表格。
图5是示出此情形中的命令管理表格的图。
如图5所示,命令管理表格的每个条目包括条目号码、开始LBA、结 束LBA、区段号码、存储器地址、以及链接标志。开始LBA是与写入命 令中包含的开始LBA相对应的内部LBA。结束LBA是与写入命令中包含的结束LBA相对应的内部LBA。区段号码是开始LBA和结束LBA所属 的区段号码。存储器地址是存储写入数据的写入缓冲器地址。链接标志是 表示在命令管理表格中存储的条目的内部LBA连续的情况下父子之间的 关系的信息。在图5中,由于只有一个条目被存储在命令管理表格中,所 以表明没有链接(无连接(NC))的值被写在链接标志中。 返回到图4所示的流程图。
控制部件14检査命令管理表格中的所有条目的LBA的链接关系,并 向每个具有这种关系的条目写入表示父与子之间的关系的链接标志。将描 述在条目被添加到命令管理表格的情况下设置链接标志的方法。
图6示出了在三个条目(第二至第四条目)被添加到图5所示的命令 管理表格时命令管理表格的示例。在开始LBA、结束LBA、区段号码以 及存储器地址已被存储到第四条目之后,控制部件14检査新创建的条目 即第四条目的内部LBA (开始LBA和结束LBA)和每个其他条目的内部 LBA (开始LBA和结束LBA)的链接关系,并且确定第四条目的内部 LBA和第一条目的内部LBA具有链接关系。
控制部件14以下述方式来检查内部LBA的链接关系即,检査新创 建的条目的开始LBA是否与另一条目的结束LBA连续,以及新创建的条 目的结束LBA是否与另一条目的开始LBA连续。但是,不检査属于不同 区段的连续LBA的链接关系。在图6所示的示例中,条目号码4的开始 LBA与条目号码1的结束LBA连续。如果控制部件14发现了这样的连续 性,控制部件14则向具有这种关系的条目写入表示父与子之间的关系的 链接标志。换言之,控制部件14向具有条目号码4的条目写入表示具有 条目号码4的条目的父亲是具有条目号码1的条目的链接标志"1"。 "1"表示具有条目号码1的条目。此外,控制部件14写入表示具有条目 号码1的条目的孩子是具有条目号码4的条目的链接标志"4" 。 "4"表 示具有条目号码"4"的条目。这样,设置了链接标志。
图7示出了当两个条目(第五和第六条目)也被添加到图6所示的命 令管理表格时命令管理表格的示例。在开始LBA、结束LBA、区段号码 和存储器地址已被写入到第六条目后,控制部件14检査新创建的第六条目的内部LBA (开始LBA和结束LBA)和每个其他条目的内部LBA (开 始LBA和结束LBA)的链接关系,并且确定第四条目的结束LBA与第六 条目的开始LBA连续。于是,控制部件14向具有条目号码4的条目写入 表示具有条目号码4的条目的孩子是具有条目号码6的条目的链接标志 "6" 。 "6"表示具有条目号码6的条目。此外,控制部件14向具有条 目号码6的条目写入表示具有条目号码6的条目的父亲是具有条目号码4 的条目的链接标志"4" 。 "4"表示具有条目号码"4"的条目。这样, 设置了链接标志。
如果发生预定的事件,例如,主机装置20停止发出接连的写入命令 或者写入缓冲器变满,控制部件14则针对当前选择的区段对至少一个写 入命令设置优先级,并控制HDD 17对于该区段执行针对设置了优先级的 写入命令的写入处理。
接下来,参考图8,将描述对HDD 17的每个区段执行的写入处理的 控制。
图8是示出对HDD 17的每个区段执行的写入处理的流程图。首先, 控制部件14选择一个区段作为写入目标区段。控制部件14执行循环改变 以按区段0+1+2今3 + 0等等的顺序来选择HDD 17的盘存储区域的 接连区段之一作为写入目标区段。假定特定的区段(例如,区段0)已被 选择为写入目标区段。
首先,控制部件14从命令管理表格中检索与写入目标是属于区段0 的LBA的写入命令相对应的条目(步骤S201)。
之后,控制部件14按根据开始LBA和结束LBA获得的写入数据大小 的降序来对检索出的条目设置优先级(步骤S202)。在此情况下,控制部 件14把其链接标志表示父子之间的关系的多个条目视为一个要被设置优 先级的条目。在图7所示的命令管理表格的示例中,存在作为属于区段0 的条目的条目号码"1" 、 "4"和"6"。此外,这些条目的链接标志表 示父与子之间的关系。因此,与这些条目相对应的写入数据的总大小变成 了对条目设置优先级的条件。在图7所示的命令管理表格的示例中,由于 没有其他条目属于区段0,因此条目号码"1" 、 "4"和"6"的被设置为最高的优先级。
在如上所述对写入目标为区段0的至少一个写入命令进行优先级设置 后,控制部件14初始化一变量,该变量表示对于使得HDD 17执行该写入 处理的写入命令而言已处理的条目的数目(己处理条目的数目)(步骤 S203),按写入命令的优先级顺序通过接口控制部件13向HDD 17发出写 入目标为区段0的写入命令(ATA命令),并且使得HDD 17根据写入命 令执行写入处理(步骤S204)。在此情况下,控制部件14把与具有父子 之间的关系的条目(例如具有条目号码"1" 、 "4"和"6"的条目)相 对应的写入命令转换成等同的写入命令(ATA命令),并通过接口控制部 件13向HDD 17发出经过转换的写入命令。
之后,控制部件14通过接口控制部件13从HDD 17接收表明写入处 理完成的通知,从命令管理表格中删除与HDD 17已为其完成写入处理的 写入命令相对应的条目,并且递增已处理条目的数目(步骤S205)。
之后,控制部件14判断命令管理表格是否包含与针对作为写入目标 区段的区段的写入命令相对应的未处理条目(步骤S206)。如果命令管理 表格包含未处理条目(步骤S206处的"是"),控制部件14则检查已处 理条目的数目是否达到了预定的上限值(步骤S207)。当控制部件14确 定己处理条目的数目已达到预定上限值时(步骤S207处的"否"),则 即使命令管理表格包含与写入目标区段是所选区段的写入命令相对应的未 处理条目,控制部件14也会跳过针对与未处理条目相对应的写入命令的 写入处理并选择下一区段作为写入目标(步骤S209)。之后,控制部件 14控制HDD17对新的区段(例如,区段l)执行写入处理。
即使已处理条目的数目未达到上限值,在基于与写入目标区段是当前 所选区段的所有条目相对应的写入命令的写入处理完成后(步骤S206处 的"否"),控制部件14也会选择下一区段作为写入目标区段(步骤 S209)。
在命令管理表格中为未处理条目设置延迟标志(步骤S208),以便在 与该未处理条目相对应的区段下次或以后被选择为写入目标区段时对该区 段执行写入处理。根据此实施例,可获得以下效果。
当主机装置20向盘存储装置10传送作为相对大容量数据(例如视频 流数据)的写入数据时,主机装置20发出写入命令,使得存储区域被按 外部LBA值(盘的外圆周)的升序顺次使用,并且外部LBA空间被分布 式地使用(随机地或规则地)。根据此实施例,在此情况下,从主机装置 20传送来的写入数据的各具有预定容量的区块被分配给划分外部LBA空 间的多个区段。此外,区段之一通过循环改变被选择为写入目标区段,并 且写入处理被针对存储介质的所选区段而执行。这样,从主机装置的角度 来看可以确保始终稳定的数据传送速率。
此外,在基于区段的写入处理中,比起针对更小写入数据的写入命令 (例如针对元数据的写入命令)来说,控制部件14使针对更大写入数据 的写入命令更优先。这样,在基于区段的写入处理中,由于可以减少对于 较小数据执行的短时段的搜寻操作的频率,因此可以确保始终稳定的数据 传送速率。
另外,根据此实施例的盘存储装置10进行的写入控制不要求对主机 装置20进行修改。因此,盘存储装置IO可以对各类主机装置执行写入控 制。
接下来,将描述此实施例的修改。
各个区段的容量不一定是相同的。如果基于区段的写入处理是从盘的 外圆周区段开始的,则可能盘的内圆周区段的容量略小于外圆周区段的容 量(小大约一到几个区块的大小)。但是,除非各个区段的容量几乎相 同,否则当所使用容量变大时,会存在这样的危险,即,由于分割等等的 影响,无法确保稳定的数据传送速率。
根据上述实施例,在基于区段的写入处理中,基于与低优先级条目相 对应的写入命令的写入处理被跳过,直到相应区段下次被选择为止。已被 跳过写入处理的未处理条目被留在命令管理表格中。关于何时以及如何处 理对应于这些条目的写入命令,可存在各种技术。例如,在命令管理表格 中管理历史信息(延迟标志),该历史信息表示与己被跳过写入处理的命 令相对应的条目。当相应区段下次被选择为写入目标区段时,保留在命令管理表格中的未处理条目和其他条目被设置优先级并按条目的优先级顺序 被处理。或者,为了比起其他条目来更优先对待被跳过的条目,例如,与 己被跳过写入处理的写入命令相对应的未处理条目可根据已跳过的写入处 理的次数而被设置较高的优先级。
根据上述实施例,HDD 17被用作存储介质。此外,本发明也可应用 到使用多个HDD的情况。在此情况下,多个HDD的存储区域可被视为一 个存储区域。控制部件14可预先定义与被分配给组合存储区域的外部 LBA空间相对应的内部LBA空间。或者,HDD和诸如光盘之类的其他类 型的存储介质可被组合,其存储区域可被视为一个存储区域,外部LBA 空间可被分配给组合存储区域,并且与外部LBA空间相对应的内部LBA 空间可被控制部件14预先定义。结果,本发明的实施例可被应用到使用 不同类型的介质的盘存储装置。
本发明并不限于上述实施例,而是当然可被进行各种修改,而不脱离 本发明的要旨。
本发明包含与2008年6月25日向日本特许厅提交的日本优先权专利 申请JP 2008-165741中公开的内容相关的主题,这里通过引用将该申请的 全部内容并入。
权利要求
1.一种盘存储装置,用于控制对存储介质的写入,该存储介质具有存储区域,该存储区域被分配了由多个区块构成的第一地址空间并且该存储区域的传送速率在空间上变化,该盘存储装置包括命令接收部件,用于接收从主机装置发出的并且包含所述第一地址空间的地址的写入命令;以及控制部件,用于执行控制,以便将所述存储区域划分成多个区段;预定义第二地址空间,在该第二地址空间中,所述多个区块从所述第一地址空间的起始地址的区块起被顺次分配给所述多个区段;对于由所述命令接收部件接收到的每个写入命令,利用所述第二地址空间的地址来替换该写入命令中包含的所述第一地址空间的地址;通过循环改变来选择所述多个区段之一作为写入目标区段;并且对于每个所选择的区段,对所述存储介质执行写入处理。
2. 如权利要求1所述的盘存储装置,其中,所述控制部件执行控制,以按写入命令的写入数据的大小的降 序来对写入命令设置优先级,并且按写入命令的优先级顺序来针对每个所 选区段对所述存储介质执行写入处理。
3. 如权利要求2所述的盘存储装置,其中,所述控制部件执行控制,以对与以所述第二地址空间中的连续 地址作为数据写入目标的多个写入命令相等同的一个写入命令设置优先 级,并且基于被设置优先级的写入命令来执行写入处理。
4. 如权利要求3所述的盘存储装置,其中,当基于针对所述多个区段中的一个区段的写入命令的写入处理 的次数达到预定的上限值时,不论是否剩有针对所述一个区段的未处理写 入命令,所述控制部件都执行控制,以使得基于所述未处理写入命令的写 入处理被跳过并且针对所述多个区段中的下一个区段的写入处理被执行。
5. 如权利要求4所述的盘存储装置,其中,当与被跳过写入处理的未处理写入命令相对应的区段下次被选择为写入目标区段时,所述控制部件优先执行基于所述未处理写入命令的 写入处理。
6. 如权利要求1所述的盘存储装置,其中,所述控制部件执行控制,以便将相同类型或不同类型的多个 存储介质的存储区域视为一个存储区域;预定义第二地址空间,在该第二 地址空间中,所述多个区块从被分配给所述一个存储区域的第一地址空间 的起始地址的区块起被顺次分配给所述多个区段;对于由所述命令接收部 件接收到的每个写入命令,利用所述第二地址空间的地址来替换该写入命 令中包含的所述第一地址空间的地址;通过循环改变来选择所述多个区段 之一作为写入目标区段;并且对于每个所选择的区段,对所述存储介质执 行写入处理。
7. —种程序,用于控制对存储介质的写入,该存储介质具有存储区 域,该存储区域被分配了第一地址空间并且该存储区域的传送速率在空间 上变化,该程序使得内置在盘存储装置中的计算机充当命令接收部件,用于接收从主机装置发出的并且包含所述第一地址空 间的地址的写入命令;以及控制部件,用于执行控制,以便将所述存储区域划分成多个区段; 预定义第二地址空间,在该第二地址空间中,多个区块从所述第一地址空 间的起始地址的区块起被顺次分配给所述多个区段;对于由所述命令接收 部件接收到的每个写入命令,利用所述第二地址空间的地址来替换该写入 命令中包含的所述第一地址空间的地址;通过循环改变来选择所述多个区段之一作为写入目标区段;并且对于每个所选择的区段,对所述存储介质 执行写入处理。
全文摘要
本发明提供了盘存储装置和程序。盘存储装置用于控制对具有存储区域的存储介质的写入,该存储区域被分配了第一地址空间并且其传送速率在空间上变化。盘存储装置包括命令接收部件和控制部件。命令接收部件接收从主机装置发出的并且包含第一地址空间的地址的写入命令。控制部件执行控制,以便将存储区域划分成多个区段;预定义第二地址空间,在该第二地址空间中,所述多个区块从第一地址空间的起始地址起被顺次分配给所述多个区段;对于由命令接收部件接收到的每个写入命令,利用第二地址空间的地址来替换其中包含的第一地址空间的地址;通过循环改变来选择所述多个区段之一作为写入目标区段;并且对于每个所选择的区段,对存储介质执行写入处理。
文档编号G11B19/02GK101615410SQ20091014949
公开日2009年12月30日 申请日期2009年6月25日 优先权日2008年6月25日
发明者佐佐木延治, 田村哲也, 西村章, 铃木一也 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1