CN105278870A - 存储装置及其控制方法 - Google Patents
存储装置及其控制方法 Download PDFInfo
- Publication number
- CN105278870A CN105278870A CN201510212991.4A CN201510212991A CN105278870A CN 105278870 A CN105278870 A CN 105278870A CN 201510212991 A CN201510212991 A CN 201510212991A CN 105278870 A CN105278870 A CN 105278870A
- Authority
- CN
- China
- Prior art keywords
- data
- semiconductor memory
- memory cell
- read
- cell
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/608—Details relating to cache mapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及存储装置及其控制方法。一种存储装置包括:磁存储单元,其存储数据;半导体存储单元;以及控制器,其被配置为基于数据的访问历史,判定是否控制所述半导体存储单元以存储一部分数据,以及根据所述判定,控制所述半导体存储单元以存储该部分数据。
Description
相关申请的交叉引用
本申请基于并要求2014年7月11日提交的编号为2014-143683的日本专利申请的优先权益,该申请的全部内容通过引用的方式在此纳入。
技术领域
此处描述的实施例一般地涉及存储装置及其控制方法。
背景技术
在相关技术中,为了实现大数据容量和高速数据访问,通过磁存储单元和诸如NAND闪存之类的半导体存储单元来配置混合驱动器。一类混合驱动器使用半导体存储单元作为磁存储单元的高速缓冲存储器。
发明内容
示例性实施例提供了一种针对来自主机的读取请求提高响应速度的存储装置及其控制方法。
一般而言,根据一个实施例,存储装置包括:磁存储单元,其存储数据;半导体存储单元,诸如NAND存储器或闪存;以及控制器,其被配置为基于数据的访问历史,判定是否控制所述半导体存储单元以存储一部分数据,以及根据所述判定,控制所述半导体存储单元以存储该部分数据。
附图说明
图1是根据第一实施例的存储装置的框图。
图2示出根据第一实施例的存储装置的缓存信息存储单元的表结构。
图3示出根据第一实施例的存储装置的缓存属性存储单元的表结构。
图4是在根据第一实施例的存储装置的CPU执行控制程序时产生的要素的框图。
图5是针对根据第一实施例的存储装置的NAND存储器的缓存处理的流程图。
图6是根据第一实施例的存储装置中的数据读取处理的流程图。
图7示出根据第二实施例的存储装置的缓存信息存储单元的表结构。
图8示出针对根据第二实施例的存储装置的磁介质的每个状态,在通过头寻道之前执行的操作。
图9示出针对根据第二实施例的存储装置的磁介质的每个状态,在数据读取之前的时间段。
具体实施方式
(第一实施例)
图1是根据第一实施例的存储装置的框图。如图1所示,存储装置100包括主机I/F101、缓冲器102、第一信号处理单元103、NAND存储器104、第二信号处理单元105、头106、磁记录介质107、读写通道108、VCM109、主轴电动机110、驱动器IC111、主控制器112和闪存113。
此外,在从磁记录介质107读取数据之前,开始从NAND存储器104读取数据。例如,即使在磁记录介质107正以固定旋转的方式旋转时,寻道时间(头106的移动时间)和旋转延迟时间也是必要的,直到数据被从磁记录介质107读取。与之相反,由于寻道时间和旋转延迟时间对于NAND存储器104而言不是必要的,因此可以立即开始从NAND存储器104读取数据。
主机I/F101执行与主机(未示出)兼容接口的标准对应的处理。例如,主机I/F101将从主机接收到的命令、数据等输出到HDC121。此外,主机I/F101将从NAND存储器104或磁记录介质107读取的数据、来自HDC121或CPU122等的响应发送到主机。
缓冲器102临时存储由NAND控制器142从主机接收到的数据,直到该数据被存储在NAND存储器104中。另外,缓冲器102临时存储从NAND存储器104读取的数据,直到该数据被发送到主机。此外,缓冲器102临时存储从磁记录介质107读取的数据,直到该数据被发送到主机,或者被存储在NAND存储器104中。缓冲器102例如由诸如静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)之类的通用存储器来配置。
第一信号处理单元103针对从缓冲器102接收到的数据以及要被写入NAND存储器104的数据执行转换处理。该转换处理例如包括DA转换、编码处理等。另外,第一信号处理单元103针对从NAND存储器104读取的信号执行转换处理。该转换处理例如包括AD转换、解码处理等。
第二信号处理单元105针对要被写入磁记录介质107的数据执行转换处理。该转换处理例如包括DA转换、编码处理等。另外,第二信号处理单元105针对从磁记录介质107读取的信号执行转换处理。该转换处理例如包括AD转换、解码处理等。此外,第二信号处理单元105可对头106所读取的信号执行检测或放大。
头106对磁记录介质107写入数据。此外,头106从磁记录介质107读取数据。
音圈电动机(VCM)109被用于头106相对于磁记录介质107的定位控制。
磁记录介质107是多个磁盘,每个磁盘都能读取和写入数据。主轴电动机110使多个磁盘旋转。
驱动器IC111根据CPU122的控制来控制VCM109的驱动。另外,驱动器IC111根据CPU122的控制来控制主轴电动机110的旋转。
读写通道108在头106与HDC121之间执行数据传输。例如,读写通道108对从HDC121提供的数据和要被写入磁记录介质107的数据执行代码调制,并将数据提供给第二信号处理单元105。另外,读写通道108对使用头106从磁记录介质107读取的、并由第二信号处理单元105转换的数据执行代码解调,并将数据作为数字数据输出到HDC121。
NAND存储器104包括数据区域和管理区域。数据区域是这样的区域:其中,对来自主机的数据或来自磁记录介质107的数据进行缓存,并且从该区域可以高速执行数据读取。管理区域存储用于管理NAND存储器104的数据区域的信息,并且包括缓存信息存储单元131和缓存属性存储单元132。也就是说,缓存信息存储单元131和缓存属性存储单元132被存储在非易失性存储单元中。
缓存信息存储单元131存储与存储在NAND存储器104中的数据相关的信息。图2例示出根据第一实施例的存储在缓存信息存储单元131中的信息的结构。如图2所示,缓存信息存储单元131将逻辑块地址(LBA)、块(数据大小)和属性以彼此关联的方式进行存储。
逻辑块地址(LBA)将存储在NAND存储器104中的数据的起始位置表示为主机管理的逻辑地址。块表示存储在NAND存储器104中的数据的大小。属性表示当访问数据时从主机接收的命令的属性。
例如,当缓存信息存储单元131存储LBA“1000h”、块“2000h”和属性“顺序读取(sequentialreading)”时,其表示从起始地址(LBA)“1000h”开始的块为“2000h”的数据存储在NAND存储器104中。
同时,对于随机读取,每当待读取数据的位置更改时,寻道时间(头106的移动时间)和旋转延迟时间都是必要的。与之相反,顺序读取允许在已经执行了寻道和旋转延迟之后连续读取数据。为此,顺序读取允许在旋转延迟之后以相对高的速度执行数据读取。
因此,根据实施例,在顺序读取的情况下,可在寻道和旋转延迟期间从NAND存储器104发送到主机的数据被存储在NAND存储器104中。也就是说,NAND控制器142从NAND存储器104读取数据,同时CPU122通过驱动器IC111使头106执行寻道和旋转延迟。此外,当寻道和旋转延迟完成时,HDC121根据来自CPU122的命令,从磁记录介质107读取在从NAND存储器104读取的数据之后的数据。通过此方式,由于可以在顺序读取期间执行高速数据读取,并且减少存储在NAND存储器104中的数据量,因此NAND存储器104可被有效地使用。
为此,在缓存信息存储单元131中,存储在NAND存储器104中的数据和属性彼此相关联。设定指示是否为顺序读取的信息,作为所接收到的命令的属性。
返回图1,缓存属性存储单元132存储针对存储在NAND存储器104中的数据要执行的动作。图3例示出存储在缓存属性存储单元132中的信息的结构。如图3所示,缓存属性存储单元132将属性和动作以彼此关联的方式进行存储。例如,该属性被设定为与缓存信息存储单元131中的属性相同。也就是说,当针对NAND存储器104执行数据读取时,CPU122使用缓存信息存储单元131中相关联的数据和属性作为搜索关键字来搜索缓存属性存储单元132。在搜索之后,CPU122执行与缓存属性存储单元132中的属性相关联的动作。
SOC112包括HDC121、CPU122和SRAM123。
HDC121包括NAND控制器142,并且根据来自CPU122的命令,通过主机I/F101控制HDC121与主机之间的数据传输。此外,HDC121根据来自CPU122的命令,使用读写通道108控制针对磁记录介质107的数据写入或读取。另外,HDC121使用第二信号处理单元105执行缓冲器102的控制、数据的错误校正处理等。
闪存113存储要被CPU122执行的程序等。闪存113例如存储控制程序151。
SRAM123包括命令历史存储单元141。根据实施例,命令历史存储单元141被存储在SRAM123中;但是,命令历史存储单元141可以不位于SRAM123中,而是例如可以位于DRAM等中。
命令历史存储单元141存储主机I/F101所接收到的命令(例如,读取请求或写入请求)的历史、以及每个命令的访问目标位置(数据的起始位置)。根据实施例的命令历史存储单元141将从主机接收到的命令(例如,读取请求或写入请求)、待访问数据的起始位置(LBA)、被读取或写入的块数、以及接收命令的时间以彼此关联的方式进行存储。
根据实施例,每当主机I/F101从主机接收到命令时,CPU122都会针对命令历史存储单元141而登记与所接收到的命令相关的信息。由于命令历史存储单元141与接收到命令时的时点等相关联,因此,对于每个命令,可以判定命令是否为用于顺序地读取数据的请求。也就是说,在命令历史存储单元141中,存储针对其做出读取请求的数据的起始位置、以及指定读取请求是否为顺序读取的信息。
CPU122对存储装置100执行整体控制。例如,CPU122通过驱动器IC111执行使主轴电动机110旋转的控制。作为另一实例,CPU执行存储在闪存113中的控制程序151。
图4例示出CPU122执行控制程序151时所产生的单元。如图4所示,产生判定单元401、指定单元402、NAND存储器指示单元403和磁盘指示单元404。
判定单元401基于存储在命令历史存储单元141中的信息,判定是否在NAND存储器104中存储(缓存)在磁记录介质107中存储的数据。用于判定是否存储(缓存)数据的标准可以是任何标准,而不管它是否为公知的标准。例如,此标准可以是针对同一数据是否存在预定数量或更多的读取请求。
指定单元402针对待缓存的数据指定起始位置和块。例如,当缓存已经在NAND存储器104中受到顺序读取的数据时,指定单元402基于头106为开始从磁记录介质107读取做准备期间的时间(例如,寻道和旋转延迟所需的时间),在要被顺序读取的数据项当中指定要从NAND存储器104读取的数据块。另外,指定单元402指定要被执行顺序读取的数据的起始位置作为待缓存数据的起始位置。
磁盘指示单元404指示HDC121读写数据。例如,磁盘指示单元404指示HDC121,以便读取从指定单元402所指定的数据的起始位置开始的多个数据块。
NAND存储器指示单元403指示NAND控制器142读写数据。例如,NAND存储器指示单元403指示NAND控制器142,以便将已根据来自磁盘指示单元404的指令使用HDC121而读取的数据写入NAND存储器104。此时,NAND存储器指示单元403指示NAND控制器142,以便将与被写入NAND存储器104中的数据相关的信息登记在缓存信息存储单元131中。
也就是说,根据实施例的CPU122基于存储在命令历史存储单元141中的信息,将存储在磁记录介质107中的数据写入NAND存储器104中。此时,CPU122将数据的读取位置和指示是否为顺序读取的属性以彼此关联的方式登记在缓存信息存储单元131中。
在此方式中,根据实施例,当被执行顺序读取的数据在NAND存储器104中缓存时,可以仅缓存作为数据起始部分的一部分数据项。另外,当主机I/F101从主机接收到读取请求时,执行下面的处理。
判定单元401根据主机I/F101所接收到的读取请求,判定是否将待读取数据存储在NAND存储器104中。根据实施例的判定单元401通过参考缓存信息存储单元131来判定是否将待读取数据存储在NAND存储器104中。另外,判定单元401参考缓存信息存储单元131来判定是否存在读取请求可为顺序读取的高可能性。根据实施例,当待读取数据对应于缓存信息存储单元131中的“顺序读取”属性时,判定存在顺序读取的高可能性。
当判定存在顺序读取的高可能性时,指定单元402在磁记录介质107上指定数据起始位置(LBA),其中存储在从NAND存储器104读取的数据之后的数据。
当判定根据读取请求而读取的数据被存储在NAND存储器104中时,NAND存储器指示单元403指示NAND控制器142,以便从NAND存储器104读取数据。
当判定根据读取请求而读取的数据未被存储在NAND存储器104中时,磁盘指示单元404指示HDC121,以便从磁记录介质107读取数据。
此外,当判定根据读取请求而读取的数据被存储在NAND存储器104中,并且存在顺序读取的高可能性时,磁盘指示单元404控制HDC121和驱动器IC111,以便从磁记录介质107读取在从NAND存储器104读取的数据之后的数据。
相应地,CPU122执行移动控制,以便头106通过驱动器IC111移到磁盘中这样的位置:其中存储在从NAND存储器104读取的数据之后的数据,同时从NAND存储器104读取数据。在执行移动控制之后,CPU122通过HDC121执行从磁记录介质107读取数据的读取控制。根据实施例,针对其做出读取请求的数据的读取位置被存储在缓存信息存储单元131中,并且当该读取位置与缓存信息存储单元131中的“顺序读取”相关联时,执行移动控制和读取控制。
接下来,将描述在根据实施例的存储装置100的NAND存储器104中缓存数据的处理。图5是由根据实施例的存储装置100执行的上述处理的流程图。
首先,CPU122的判定单元401分析存储在命令历史存储单元141中的过去读取请求(处理S501)。接着,判定单元401判定对应于读取请求的数据是否要被缓存在NAND存储器104中(处理S502)。当判定数据不要被缓存时(处理S502的结果为否),处理继续到处理S508。
另一方面,当判定数据要被缓存时(处理S502的结果为是),CPU122的指定单元402获取寻道和旋转延迟所需的时间(处理S503)。在此,根据实施例,使用在从磁记录介质107读取数据时的平均寻道时间和平均旋转延迟时间的总和来获取寻道和旋转延迟所需的时间。但是,寻道和旋转延迟所需的时间不限于平均寻道时间和平均旋转延迟时间的总和,而例如可以是最大寻道时间和最大旋转延迟时间的总和。
此外,指定单元402指定在所获取的时间(寻道和旋转延迟所需的时间)内可从NAND存储器104读取的数据的块数(处理S504)。
接着,CPU122的磁盘指示单元404指示HDC121从磁记录介质107中,从读取请求的起始位置开始,读取具有指定块数的数据(处理S505)。
另外,CPU122的NAND存储器指示单元403指示NAND控制器142将读取的数据存储在NAND存储器104中(处理S506)。
CPU122的NAND存储器指示单元403指示NAND控制器142将与存储在NAND存储器104中的数据相关的信息存储在缓存信息存储单元131中(处理S507)。NAND存储器指示单元403控制缓存信息存储单元131将存储在磁记录介质107中的数据的读取起始位置(LBA)、所存储的数据的块(长度)、以及所存储的数据的属性以彼此关联的方式进行存储。此外,作为属性,包括至少指示是否已经通过顺序读取访问所存储的数据的信息。
之后,判定单元401是否完成对存储在命令历史存储单元141中的所有读取请求的分析(处理S508)。当判定对所有读取请求的分析未完成时(处理S508的结果为否),再次执行处理S501。当判定单元401判定对所有读取请求的分析已完成时(处理S508的结果为是),处理结束。
接着,将描述根据实施例的存储装置100中的数据的读取处理。图6是由根据实施例的存储装置100执行的上述处理的流程图。
首先,主机I/F101从主机接收数据读取请求(处理S601)。接着,CPU122的NAND存储器指示单元403请求NAND控制器142搜索缓存信息存储单元131以查找针对其做出读取请求的数据(处理S602)。此外,判定单元401判定在NAND存储器104中是否存在针对其做出读取请求的数据(处理S603)。
当判定NAND存储器104中不存在针对其做出读取请求的数据时(处理S603的结果为否),指定单元402指定相对于磁记录介质107的数据读取起始位置(LBA)(处理S604)。此外,驱动器IC111根据来自CPU122的请求开始读取准备。
驱动器IC111判定主轴电动机110是否停止(处理S605)。当判定主轴电动机110未停止时(处理S605的结果为否),处理继续到处理S607。另一方面,当判定主轴电动机110停止时(处理S605的结果为是),驱动器IC111执行主轴电动机110的启动控制(处理S606)。
接着,驱动器IC111判定头106是否被载出(处理S607)。当判定头106被载入时(处理S607的结果为否),处理继续到处理S609。另一方面,当判定头106被载出时(处理S607的结果为是),驱动器IC111载入头106(处理S608)。
之后,驱动器IC111通过头106执行寻道操作,直至找到指定的读取起始位置(LBA)(处理S609)。然后,HDC121根据CPU122从磁记录介质107读取针对其做出读取请求的数据(处理S610)。
另一方面,当判定在NAND存储器104中存在针对其做出读取请求的数据时(处理S603的结果为是),NAND存储器指示单元403指示NAND控制器142开始从NAND存储器104读取数据(处理S611)。
接着,判定单元401判定与开始其读取的数据关联的属性是否为顺序读取(处理S612)。当判定不是顺序读取时(处理S612的结果为否),处理结束。
另一方面,当判定单元401判定是顺序读取时(处理S612的结果为是),指定单元402在磁记录介质107上指定作为从NAND存储器104读取的数据的后续的数据的读取起始位置(处理S613)。作为指定方法,例如指定存储在缓存信息存储单元131中的数据的读取起始位置、以及相关联的块之后的地址作为数据起始位置。此外,驱动器IC111根据来自CPU122的请求开始读取准备。此外,通过与处理S605到S610相同的处理顺序执行数据读取(处理S614到S619)。
在根据实施例的存储装置100中,操作根据读取请求是否为顺序读取而有所不同。例如,当在NAND存储器104中执行缓存时,仅缓存在头处的一部分数据项。此时,NAND存储器指示单元403控制缓存信息存储单元131将指示读取请求为顺序读取的属性(继续顺序读取)以与缓存数据相关联的方式进行存储。当缓存数据与属性“顺序读取”关联时,头106被移到在NAND存储器104中缓存的数据结束的位置,同时从NAND存储器104读取缓存数据。
此外,不限制在NAND存储器104中缓存磁记录介质107中的数据的时间,缓存可以在存储装置100的空闲时间期间执行。
(第二实施例)
在第一实施例中,指示读取请求是否为顺序读取的属性与在NAND存储器104中的缓存数据相关联。但是,与待读取的数据相关联的信息不限于属性,并且要存储在NAND存储器104中的数据的长度可基于其它条件来确定。
在第二实施例中,待读取的数据和HDD的状态在缓存信息存储单元131中相关联。
根据实施例,通过假设除了在NAND存储器104中设置的缓存信息存储单元131的配置、命令历史存储单元141的配置之外,第二实施例与第一实施例具有相同的配置,而省略每个配置的描述。
图7例示出根据第二实施例的缓存信息存储单元131的表结构。如图7所示,缓存信息存储单元131将LBA、块、属性和HDD的状态以彼此关联的方式进行存储。在根据该实施例的缓存信息存储单元131中,与根据第一实施例的缓存信息存储单元131相比,HDD的状态被关联。
此处的HDD的状态是在接收到相关联数据的读取请求时的磁记录介质107的状态。也就是说,根据实施例,当主机I/F101接收到命令时,CPU122控制命令历史存储单元141,将在接收到命令时的磁记录介质107的状态以与命令相关信息相关联的方式进行存储。
此外,当基于在命令历史存储单元141中存储的信息而在NAND存储器104中缓存数据时,NAND控制器142控制缓存信息存储单元131将HDD的状态以与待缓存数据相关联的方式进行存储。
同时,在数据读取准备好为止所需的操作根据磁记录介质107(HDD)的状态而有所不同。图8以与磁记录介质107(HDD)的状态相关联的方式示出在通过头106执行的寻道准备好之前所需的操作。如图8所示,磁记录介质107(HDD)和头106的操作状态包括“主轴电动机停止”、“头处于退回区域中”、以及“固定旋转”。
“主轴电动机停止”是这样的操作状态:其中被包括在磁记录介质107中的磁盘的旋转停止,并且头106处于被称为斜坡的退回区域中。如图8所示,当主轴电动机110停止时,主轴电动机110在数据读取之前被启动,并且旋转。之后,有必要将使头106移动(浮动)到磁记录介质107的磁盘上(头载入)。
“头处于退回区域中”是这样的操作状态:其中主轴电动机110旋转,并且头106处于退回区域中。如图8所示,当头106处于退回区域中时,有必要执行头载入。
“固定旋转”是这样的操作状态:其中主轴电动机110旋转,并且磁头位于磁介质上。如图8所示,当处于“固定旋转”状态时,仅需要寻道时间和旋转延迟时间便可准备好从磁记录介质107读取数据,
图9示出针对根据实施例的存储装置100中的磁记录介质107和头106的每个状态,在准备好从磁记录介质107读取数据之前所需的时间。如图9中的(A)所示,在“主轴电动机停止”期间,在数据读取准备好之前需要2,220ms(1,600ms(启动主轴电动机)+600ms(头载入)+15ms(寻道)+5ms(旋转延迟))的时间。CPU122将可以在2,220ms内读取的数据存储在NAND存储器104中。通过此方式,当主轴电动机110已停止时,指定单元402通过计算主轴电动机110的启动时间、以及在头106移到磁记录介质107期间的时间,来指定要在NAND存储器104中缓存的量。
如图9中的(B)所示,当处于“载出”期间,在数据读取准备好为止需要620ms(600ms(头载入)+15ms(寻道)+5ms(旋转延迟))的时间。为此,CPU122将可以在620ms内读取的数据存储在NAND存储器104中。通过此方式,当头106处于退回区域中时,指定单元402通过计算头106移到磁记录介质107的时间,来指定要在NAND存储器104中缓存的量。
如图9中的(C)所示,在“固定旋转”期间,在数据读取准备好为止需要20ms(15ms(寻道)+5ms(旋转延迟))的时间。为此,CPU122将可以在20ms内读取的数据存储在NAND存储器104中。
通过此方式,根据实施例的CPU122根据在接收到读取命令时的磁记录介质107和头106的状态,确定要被写入NAND存储器104中的数据的长度(换言之,在接收到命令时的磁记录介质107和头106的状态被存储在命令历史存储单元141中)。
例如,在“主轴电动机停止”和“头处于退回区域中”的情况下,与“固定旋转”的情况相比,要记录在作为缓存的NAND存储器104中的数据量变大。
通过此方式,当存在针对数据的读取请求时,根据实施例的NAND存储器104的缓存信息存储单元131将待读取的数据以与读取请求相关属性(例如磁记录介质107的状态等)相关联的方式进行存储,同时将待读取的数据缓存在缓存信息存储单元131中。由于在数据读取期间执行的处理与第一实施例中的处理相同,因此省略它们的描述。
在上述实施例中,缓存信息存储单元131将读取位置、数据大小、以及指示数据读取是否为顺序读取的信息以彼此关联的方式进行存储。通过此方式,当主机I/F101接收到数据读取请求时,可以判定是否存在数据可被顺序地读取的高可能性。相应地,当在通过主机I/F101接收到数据读取请求时判定存在顺序读取的高可能性时,CPU122可将头106移到在正从NAND存储器104读取的数据之后的数据的位置。通过此方式,可以提高在顺序读取情况下的响应速度。
在根据上述实施例的存储装置100中,从磁盘在命令历史中的关联数据当中读取将来可能针对其接收到读取请求的数据,并且将该数据存储在NAND存储器104中。另外,在顺序读取的情况下,与头106准备好数据读取之前的时间对应的数据量被存储在NAND存储器104中。由于太多的数据未被存储在NAND存储器104中,因此可以减少在NAND存储器104中进行写入的次数,并且有效地使用NAND存储器104。结果,可以抑制NAND存储器104的劣化,并且提高命中率。另外,由于可以在执行顺序读取时立即执行数据读取,因此能够提高响应速度。
也就是说,在上述实施例中,由于在顺序读取的情况下,可以在从NAND存储器104读取数据之后连续地读取磁记录介质107的数据,因此能够在不间断数据读取的情况下执行顺序读取。因此,可以在维护NAND存储器的使用的同时保持并提高NAND存储器104的效率。
尽管已经描述了特定实施例,但是这些实施例仅作为实例给出,并非旨在限制本发明的范围。实际上,此处描述的新颖实施例可通过各种其它形式实现;而且,在不偏离本发明精神的情况下,可对此处描述的实施例做出各种形式上的省略、替换和修改。所附权利要求及其等同物旨在涵盖这些落在本发明的范围和精神内的形式或修改。
Claims (20)
1.一种存储装置,包括:
磁存储单元,其存储数据;
半导体存储单元;以及
控制器,其被配置为
基于数据的访问历史,判定是否控制所述半导体存储单元以存储一部分数据,以及
根据所述判定,控制所述半导体存储单元以存储该部分数据。
2.根据权利要求1所述的存储装置,其中
所述控制器被进一步配置为基于所述磁存储单元准备好读取数据所需的时间段,确定要被存储在所述半导体存储单元中的该部分数据的数据长度,以及控制所述半导体存储单元以存储具有所确定的数据长度的该部分数据。
3.根据权利要求2所述的存储装置,其中
所述访问历史指示当所述数据已被访问时的所述磁存储单元的操作状态,并且
所述控制器被进一步配置为基于所述磁存储单元的所述操作状态计算所述时间段。
4.根据权利要求2所述的存储装置,进一步包括:
第二半导体存储单元,其中
所述控制器被进一步配置为基于所述历史,控制所述第二半导体存储单元以存储所述磁存储单元中所述数据的数据起始位置、所述数据长度、以及所述数据的属性。
5.根据权利要求4所述的存储装置,其中
所述控制器被进一步配置为
判定读取请求是否针对存储在所述半导体存储单元中的该部分数据,以及
在所述控制器判定所述读取请求是针对存储在所述半导体存储单元中的该部分数据的情况下,使该部分数据从所述半导体存储单元中被读出,以及使在该部分之后的一部分数据从所述磁存储单元中被读出。
6.根据权利要求4所述的存储装置,其中
所述控制器被配置为基于存储在所述第二半导体存储单元中的所述数据起始位置和所述数据长度,判定读取请求是否针对存储在所述半导体存储单元中的该部分数据。
7.根据权利要求4所述的存储装置,其中
所述属性指示对所述数据的访问是否为顺序访问。
8.根据权利要求4所述的存储装置,其中
所述访问历史指示当所述数据已被访问时的所述磁存储单元的操作状态,并且
所述属性指示所述磁存储单元的所述操作状态。
9.根据权利要求8所述的存储装置,其中
所述磁存储单元包括磁介质和头,并且
所述操作状态指示所述磁介质的旋转状态和所述头的位置。
10.根据权利要求1所述的存储装置,其中
所述控制器被进一步配置为
判定读取请求是否针对存储在所述半导体存储单元中的该部分数据,以及
当所述控制器判定所述读取请求是针对存储在所述半导体存储单元中的该部分数据时,使该部分数据从所述半导体存储单元中被读出,以及使在该部分之后的一部分数据从所述磁存储单元中被读出。
11.一种用于控制存储装置的方法,该存储装置包括磁存储单元和半导体存储单元,所述方法包括:
将数据存储在所述磁存储单元中;
存储数据的访问历史;
基于所述历史判定一部分数据要被存储在所述半导体存储单元中,以及
将该部分数据存储在所述半导体存储单元中。
12.根据权利要求11所述的方法,进一步包括:
基于所述磁存储单元准备好读取数据所需的时间段,确定要被存储在所述半导体存储单元中的该部分数据的数据长度,其中
存储在所述半导体存储单元中的该部分数据具有所确定的数据长度。
13.根据权利要求12所述的方法,其中所述访问历史指示当所述数据已被访问时的所述磁存储单元的操作状态,所述方法进一步包括:
基于所述磁存储单元的所述操作状态计算所述时间段。
14.根据权利要求12所述的方法,进一步包括:
基于所述历史,存储所述磁存储单元中所述数据的数据起始位置、所述数据长度、以及所述数据的属性。
15.根据权利要求14所述的方法,其中
所述属性指示对所述数据的访问是否为顺序访问。
16.根据权利要求14所述的方法,其中
所述访问历史指示当所述数据已被访问时的所述磁存储单元的操作状态,并且
所述属性指示所述磁存储单元的所述操作状态。
17.根据权利要求16所述的方法,其中
所述磁存储单元包括磁介质和头,并且
所述操作状态包括所述磁介质的旋转状态和所述头的位置。
18.根据权利要求11所述的方法,进一步包括:
判定读取请求是否针对存储在所述半导体存储单元中的该部分数据,并且
当判定所述读取请求是针对存储在所述半导体存储单元中的该部分数据时,从所述半导体存储单元读出该部分数据,以及从所述磁存储单元读出在该部分之后的一部分数据。
19.一种存储装置,包括:
磁存储单元,其存储数据;
半导体存储单元,其存储一部分数据;以及
控制器,其被配置为
在所述磁存储单元准备好读取数据之前,使该部分数据从所述半导体存储单元中被读出,以及
使在该部分之后的后续部分数据从所述半导体存储单元中被读出。
20.根据权利要求19所述的存储装置,其中
该后续部分在该部分从所述半导体存储单元中被读出之后被读出。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014143683A JP6178287B2 (ja) | 2014-07-11 | 2014-07-11 | 記憶装置、及び制御方法 |
JP2014-143683 | 2014-07-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105278870A true CN105278870A (zh) | 2016-01-27 |
Family
ID=55067686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510212991.4A Pending CN105278870A (zh) | 2014-07-11 | 2015-04-29 | 存储装置及其控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9606932B2 (zh) |
JP (1) | JP6178287B2 (zh) |
CN (1) | CN105278870A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018077787A (ja) | 2016-11-11 | 2018-05-17 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7006318B2 (en) * | 2002-08-29 | 2006-02-28 | Freescale Semiconductor, Inc. | Removable media storage system with memory for storing operational data |
JP2009151860A (ja) * | 2007-12-20 | 2009-07-09 | Hitachi Ltd | 情報記録再生装置及び情報記録再生方法 |
CN101676872A (zh) * | 2008-09-19 | 2010-03-24 | 刘杰 | 一种固态硬盘的结构及其加速初始化的方法 |
US8151064B2 (en) * | 2006-08-30 | 2012-04-03 | Samsung Electronics Co., Ltd. | Hybrid hard disk drive and data storage method thereof |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08137754A (ja) * | 1994-11-10 | 1996-05-31 | Fuji Xerox Co Ltd | ディスクキャッシュ装置 |
JP4496790B2 (ja) | 2004-01-26 | 2010-07-07 | ソニー株式会社 | データ記憶装置及び方法、並びに記録再生システム |
JP4736593B2 (ja) * | 2005-07-25 | 2011-07-27 | ソニー株式会社 | データ記憶装置、データ記録方法、記録及び/又は再生システム、並びに、電子機器 |
JP4532426B2 (ja) * | 2006-03-22 | 2010-08-25 | 三菱電機株式会社 | 映像情報処理装置 |
JP2007241927A (ja) * | 2006-03-13 | 2007-09-20 | Toshiba Corp | データ記憶装置及び方法 |
JP2007293564A (ja) | 2006-04-25 | 2007-11-08 | Renesas Technology Corp | メモリデバイスおよび情報記憶システム |
JP2009087487A (ja) * | 2007-10-01 | 2009-04-23 | Hitachi Ltd | ディスク装置及びデータの先読み方法 |
JP2009237902A (ja) | 2008-03-27 | 2009-10-15 | Tdk Corp | 記録装置及びその制御方法 |
JP2011209973A (ja) | 2010-03-30 | 2011-10-20 | Hitachi Ltd | ディスクアレイ構成プログラム、計算機、計算機システム |
JP5520747B2 (ja) * | 2010-08-25 | 2014-06-11 | 株式会社日立製作所 | キャッシュを搭載した情報装置及びコンピュータ読み取り可能な記憶媒体 |
-
2014
- 2014-07-11 JP JP2014143683A patent/JP6178287B2/ja active Active
-
2015
- 2015-02-17 US US14/624,507 patent/US9606932B2/en active Active
- 2015-04-29 CN CN201510212991.4A patent/CN105278870A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7006318B2 (en) * | 2002-08-29 | 2006-02-28 | Freescale Semiconductor, Inc. | Removable media storage system with memory for storing operational data |
US8151064B2 (en) * | 2006-08-30 | 2012-04-03 | Samsung Electronics Co., Ltd. | Hybrid hard disk drive and data storage method thereof |
JP2009151860A (ja) * | 2007-12-20 | 2009-07-09 | Hitachi Ltd | 情報記録再生装置及び情報記録再生方法 |
CN101676872A (zh) * | 2008-09-19 | 2010-03-24 | 刘杰 | 一种固态硬盘的结构及其加速初始化的方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6178287B2 (ja) | 2017-08-09 |
JP2016021271A (ja) | 2016-02-04 |
US9606932B2 (en) | 2017-03-28 |
US20160011983A1 (en) | 2016-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8819375B1 (en) | Method for selective defragmentation in a data storage device | |
KR101347285B1 (ko) | 하드디스크 드라이브의 선반입 방법, 이에 적합한 기록매체 그리고 이에 적합한 장치 | |
US8190811B2 (en) | Defragmentation of solid state memory | |
US9830939B1 (en) | Workload balancing for multiple actuators | |
JP5344411B2 (ja) | シリアルインターフェースメモリの同時読み出し及び書き込みメモリ動作 | |
KR100801015B1 (ko) | 하이브리드 하드 디스크 드라이브와 데이터 저장 방법 | |
KR100675010B1 (ko) | 하이브리드 하드디스크 드라이브의 캐시 제어 방법, 이에적합한 기록 매체 그리고 이에 적합한 장치 | |
US20140237164A1 (en) | Hybrid drive that implements a deferred trim list | |
JP4675881B2 (ja) | 磁気ディスク装置およびその制御方法 | |
CN111696586B (zh) | 磁盘装置及其控制方法 | |
KR20060042133A (ko) | 데이터 기억 장치, 그 제어 방법 및 자기 디스크 기억 장치 | |
US20100088466A1 (en) | Storage device, storage control device, and control method | |
US7913029B2 (en) | Information recording apparatus and control method thereof | |
US20160070648A1 (en) | Data storage system and operation method thereof | |
US20170212711A1 (en) | Disk apparatus and control method | |
CN104133640B (zh) | 从休眠快速恢复 | |
US20090027796A1 (en) | Information recording device and control method therefor | |
US20120162809A1 (en) | Magnetic disk drive and method of accessing a disk in the drive | |
US10169160B2 (en) | Database batch update method, data redo/undo log producing method and memory storage apparatus | |
US10102145B1 (en) | Out of order LBA processing | |
US20040003172A1 (en) | Fast disc write mechanism in hard disc drives | |
US20080155166A1 (en) | Application specific processor for controlling data buffer manager | |
JP4759609B2 (ja) | テープ駆動制御装置およびテープ駆動制御方法 | |
US20140029369A1 (en) | Memory device, controller, and write control method | |
CN105278870A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160127 |
|
WD01 | Invention patent application deemed withdrawn after publication |