存储装置及其控制方法_3

文档序号:9523912阅读:来源:国知局
指示NAND控制器142将与存储在NAND存储器104中的数据相关的信息存储在缓存信息存储单元131中(处理S507)。NAND存储器指示单元403控制缓存信息存储单元131将存储在磁记录介质107中的数据的读取起始位置(LBA)、所存储的数据的块(长度)、以及所存储的数据的属性以彼此关联的方式进行存储。此外,作为属性,包括至少指示是否已经通过顺序读取访问所存储的数据的信息。
[0063]之后,判定单元401是否完成对存储在命令历史存储单元141中的所有读取请求的分析(处理S508)。当判定对所有读取请求的分析未完成时(处理S508的结果为否),再次执行处理S501。当判定单元401判定对所有读取请求的分析已完成时(处理S508的结果为是),处理结束。
[0064]接着,将描述根据实施例的存储装置100中的数据的读取处理。图6是由根据实施例的存储装置100执行的上述处理的流程图。
[0065]首先,主机I/F 101从主机接收数据读取请求(处理S601)。接着,CPU 122的NAND存储器指示单元403请求NAND控制器142搜索缓存信息存储单元131以查找针对其做出读取请求的数据(处理S602)。此外,判定单元401判定在NAND存储器104中是否存在针对其做出读取请求的数据(处理S603)。
[0066]当判定NAND存储器104中不存在针对其做出读取请求的数据时(处理S603的结果为否),指定单元402指定相对于磁记录介质107的数据读取起始位置(LBA)(处理S604)。此外,驱动器1C 111根据来自CPU122的请求开始读取准备。
[0067]驱动器1C 111判定主轴电动机110是否停止(处理S605)。当判定主轴电动机110未停止时(处理S605的结果为否),处理继续到处理S607。另一方面,当判定主轴电动机110停止时(处理S605的结果为是),驱动器1C 111执行主轴电动机110的启动控制(处理 S606)。
[0068]接着,驱动器1C 111判定头106是否被载出(处理S607)。当判定头106被载入时(处理S607的结果为否),处理继续到处理S609。另一方面,当判定头106被载出时(处理S607的结果为是),驱动器1C 111载入头106 (处理S608)。
[0069]之后,驱动器1C 111通过头106执行寻道操作,直至找到指定的读取起始位置(LBA)(处理S609)。然后,HDC 121根据CPU 122从磁记录介质107读取针对其做出读取请求的数据(处理S610)。
[0070]另一方面,当判定在NAND存储器104中存在针对其做出读取请求的数据时(处理S603的结果为是),NAND存储器指示单元403指示NAND控制器142开始从NAND存储器104读取数据(处理S611)。
[0071]接着,判定单元401判定与开始其读取的数据关联的属性是否为顺序读取(处理S612)。当判定不是顺序读取时(处理S612的结果为否),处理结束。
[0072]另一方面,当判定单元401判定是顺序读取时(处理S612的结果为是),指定单元402在磁记录介质107上指定作为从NAND存储器104读取的数据的后续的数据的读取起始位置(处理S613)。作为指定方法,例如指定存储在缓存信息存储单元131中的数据的读取起始位置、以及相关联的块之后的地址作为数据起始位置。此外,驱动器1C 111根据来自CPU122的请求开始读取准备。此外,通过与处理S605到S610相同的处理顺序执行数据读取(处理S614到S619)。
[0073]在根据实施例的存储装置100中,操作根据读取请求是否为顺序读取而有所不同。例如,当在NAND存储器104中执行缓存时,仅缓存在头处的一部分数据项。此时,NAND存储器指示单元403控制缓存信息存储单元131将指示读取请求为顺序读取的属性(继续顺序读取)以与缓存数据相关联的方式进行存储。当缓存数据与属性“顺序读取”关联时,头106被移到在NAND存储器104中缓存的数据结束的位置,同时从NAND存储器104读取缓存数据。
[0074]此外,不限制在NAND存储器104中缓存磁记录介质107中的数据的时间,缓存可以在存储装置100的空闲时间期间执行。
[0075](第二实施例)
[0076]在第一实施例中,指示读取请求是否为顺序读取的属性与在NAND存储器104中的缓存数据相关联。但是,与待读取的数据相关联的信息不限于属性,并且要存储在NAND存储器104中的数据的长度可基于其它条件来确定。
[0077]在第二实施例中,待读取的数据和HDD的状态在缓存信息存储单元131中相关联。
[0078]根据实施例,通过假设除了在NAND存储器104中设置的缓存信息存储单元131的配置、命令历史存储单元141的配置之外,第二实施例与第一实施例具有相同的配置,而省略每个配置的描述。
[0079]图7例示出根据第二实施例的缓存信息存储单元131的表结构。如图7所示,缓存信息存储单元131将LBA、块、属性和HDD的状态以彼此关联的方式进行存储。在根据该实施例的缓存信息存储单元131中,与根据第一实施例的缓存信息存储单元131相比,HDD的状态被关联。
[0080]此处的HDD的状态是在接收到相关联数据的读取请求时的磁记录介质107的状态。也就是说,根据实施例,当主机I/F 101接收到命令时,CPU 122控制命令历史存储单元141,将在接收到命令时的磁记录介质107的状态以与命令相关信息相关联的方式进行存储。
[0081]此外,当基于在命令历史存储单元141中存储的信息而在NAND存储器104中缓存数据时,NAND控制器142控制缓存信息存储单元131将HDD的状态以与待缓存数据相关联的方式进行存储。
[0082]同时,在数据读取准备好为止所需的操作根据磁记录介质107 (HDD)的状态而有所不同。图8以与磁记录介质107 (HDD)的状态相关联的方式示出在通过头106执行的寻道准备好之前所需的操作。如图8所示,磁记录介质107 (HDD)和头106的操作状态包括“主轴电动机停止”、“头处于退回区域中”、以及“固定旋转”。
[0083]“主轴电动机停止”是这样的操作状态:其中被包括在磁记录介质107中的磁盘的旋转停止,并且头106处于被称为斜坡的退回区域中。如图8所示,当主轴电动机110停止时,主轴电动机110在数据读取之前被启动,并且旋转。之后,有必要将使头106移动(浮动)到磁记录介质107的磁盘上(头载入)。
[0084]“头处于退回区域中”是这样的操作状态:其中主轴电动机110旋转,并且头106处于退回区域中。如图8所示,当头106处于退回区域中时,有必要执行头载入。
[0085]“固定旋转”是这样的操作状态:其中主轴电动机110旋转,并且磁头位于磁介质上。如图8所示,当处于“固定旋转”状态时,仅需要寻道时间和旋转延迟时间便可准备好从磁记录介质107读取数据,
[0086]图9示出针对根据实施例的存储装置100中的磁记录介质107和头106的每个状态,在准备好从磁记录介质107读取数据之前所需的时间。如图9中的(A)所示,在“主轴电动机停止”期间,在数据读取准备好之前需要2,220ms (1, 600ms (启动主轴电动机)+600ms(头载入)+15ms (寻道)+5ms (旋转延迟))的时间。CPU 122将可以在2,220ms内读取的数据存储在NAND存储器104中。通过此方式,当主轴电动机110已停止时,指定单元402通过计算主轴电动机110的启动时间、以及在头106移到磁记录介质107期间的时间,来指定要在NAND存储器104中缓存的量。
[0087]如图9中的⑶所示,当处于“载出”期间,在数据读取准备好为止需要620ms(600ms(头载入)+15ms(寻道)+5ms(旋转延迟))的时间。为此,CPU 122将可以在620ms内读取的数据存储在NAND存储器104中。通过此方式,当头106处于退回区域中时,指定单元402通过计算头106移到磁记录介质107的时间,来指定要在NAND存储器104中缓存的量。
[0088]如图9中的
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1