CN101226505A - 磁盘装置以及控制该装置的方法 - Google Patents
磁盘装置以及控制该装置的方法 Download PDFInfo
- Publication number
- CN101226505A CN101226505A CNA2007103001148A CN200710300114A CN101226505A CN 101226505 A CN101226505 A CN 101226505A CN A2007103001148 A CNA2007103001148 A CN A2007103001148A CN 200710300114 A CN200710300114 A CN 200710300114A CN 101226505 A CN101226505 A CN 101226505A
- Authority
- CN
- China
- Prior art keywords
- write
- order
- disk
- data
- command
- 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
Images
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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/068—Hybrid storage device
-
- 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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/21—Employing a record carrier using a specific recording technology
- G06F2212/217—Hybrid disk, e.g. using both magnetic and solid state storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及磁盘装置以及控制该装置的方法。根据一个实施例,一种磁盘装置包括用于存储主系统(18)提供的写入命令和伴随该命令的数据的易失性存储器(4),以及刷新控制单元(1),其用于根据在磁盘上写入伴随命令的数据所需的时间,将写入命令分成第一命令组和第二命令组,将伴随第一命令组的数据写入磁盘以及将第二命令组和伴随第二命令组的数据写入非易失性存储器。
Description
技术领域
本发明的一个实施例涉及具有用于高速缓存写入命令的高速缓冲存储器的磁盘装置,以及控制这种磁盘装置的方法。
背景技术
近年来已经研发了各种磁盘装置,每种装置包括高速缓冲存储器以提高存取速度(参见例如日本专利申请公开说明书No6-309234第0002-0005段)。高速缓冲存储器是一种高速缓冲存储设备,其临时存储在主计算机与磁盘装置之间交换的数据。其存储记录在磁盘上的数据的复本。经常使用的高速缓冲存储器是诸如SRAM或者DRAM之类的高速半导体存储器。
在具有高速缓冲存储器的磁盘装置中,当主计算机向磁盘装置发出写入访问请求时,将写入命令和数据临时存储在该高速缓冲存储器(写入高速缓冲存储器)中。该高速缓冲存储器能够寄存(排队)许多命令。但是高速缓冲存储器能够寄存的命令数量是有限的。因此,必须将存储在该高速缓冲存储器中的写入命令写入磁盘上(写入刷新(write flush))。在大多数情况下,当主计算机发出写入刷新请求时将该数据写入该盘上。可选的是,即使主计算机还没有发出写入刷新请求,该磁盘装置也可以确定数据处理多么繁忙,以及在该数据处理不繁忙时可以在盘上写入的高速缓冲存储器的内容。
如果在磁盘装置中这样使用高速缓冲存储器,则为了访问该磁盘装置所实施的机械驱动的次数就将降低。这实际上能够大大提高访问该磁盘装置的表观速率。然而,必须实施机械驱动以完成写入刷新。因此,不能像希望的那样缩短访问该磁盘装置所需的时间。写入刷新一个写入命令大约需要几十毫秒。
发明内容
本发明的目的是提供一种能够在短时间内实施写入刷新的磁盘装置以及控制这种磁盘装置的方法。
根据本发明的一个实施例,一种磁盘装置包括:磁盘;非易失性存储器;易失性存储器,其配置为存储主系统提供的写入命令以及伴随改命令的数据;以及第一刷新控制单元,其配置为根据在磁盘上写入伴随写命令的数据所需的时间将写入命令分成第一命令组和第二命令组,将伴随第一命令组的数据写入磁盘,以及将第二命令组和伴随第二命令组的数据写入非易失性存储器。
根据本发明的另一个实施例,一种用于磁盘装置的控制方法,该磁盘装置包括磁盘、非易失性存储器和易失性存储器,该易失性存储器配置为存储主系统提供的写入命令以及伴随该命令的数据,该方法包括:根据在磁盘上写入伴随所述命令的数据所需的时间,将所述写入命令分成第一命令组和第二命令组;以及将伴随第一命令组的数据写入磁盘,以及将第二命令组和伴随第二命令组的数据写入非易失性存储器。
附图说明
引入说明书并且构成说明书的一部分的附图示出了本发明的实施例,并且连同以上给出的一般性说明和以下给出的对实施例的具体说明用于阐述本发明的原理。
图1是表示根据本发明实施例的磁盘装置的配置的示例性方框图;
图2A、2B、2C和2D是解释制定命令队列表格的顺序的图表;
图3是解释制定命令队列表格的步骤的顺序的示例性流程图;
图4是解释选择要利用命令队列表格写入刷新数据的介质的顺序的示例性流程图;以及
图5是概括写入刷新的示例性图表。
具体实施方式
下文中参照附图描述根据本发明的各个实施例。一般而言,根据本发明的一个实施例,磁盘装置包括:磁盘;非易失性存储器;易失性存储器,配置为存储主系统提供的写入命令和伴随该命令的数据;以及第一刷新控制单元,配置为根据在磁盘上写入伴随所述命令的数据所需的时间将所述写入命令分成第一命令组和第二命令组,将伴随第一命令组的数据写入磁盘,以及将第二命令组和伴随第二命令组的数据写入非易失性存储器。
图1示出了根据本发明第一实施例的硬盘驱动器的配置的示例性方框图。如图1所示,该硬盘驱动器(虚线围成的框)通过例如ATA(IDE)总线18与主系统17相连。该硬盘驱动器可以为包含在主系统(即个人计算机)的壳体中的类型,或者可以为设置在该主系统17的壳体外的类型。
在该硬盘驱动器中,CPU 1按照分时(time-division)方式控制电动机驱动器6以及该硬盘驱动器的一些其它部件。该硬盘驱动器具有磁盘9。例如,该盘9的上侧为记录表面,其上能够磁性地记录数据。设置磁头13,使其面对磁盘9的记录表面。该磁头13用于在磁盘9上写入(记录)数据以及从磁盘9读取(再现)数据。该磁盘13的下侧(未示出)为另一记录表面。设置与磁头13类似的磁头(未示出),使其面对另一记录表面。假设如图1所示,该盘驱动器仅具有一个盘9。然而,其可以具有相互叠放的多个盘。
电动机驱动器6向主轴电动机(SPM)8和音圈电动机(VCM)7提供电流,以驱动这些电动机7和8。该主轴电动机8以恒定速度旋转该磁盘9。该音圈电动机7用于将磁头13移动到磁盘9的目标磁道上的位置。
CPU 1包括快闪存储器(未示出)和RAM(也未示出)。该快闪存储器是一种可编程非易失性存储器,其存储了CPU 1可能执行的控制程序。RAM的一部分存储区域用作工作区域。
CPU总线12与CPU 1相连。ROM 11、RAM 10、盘控制器(HDC)3、门阵列2和快闪存储器30连接到该CPU总线12。ROM 11存储CPU 1应当执行的程序。RAM 10可以存储变量等。该门阵列2生成CPU 1为了完成控制而使用的各种信号。
该快闪存储器30例如为NAND类型的电可擦除可编程只读存储器(EEPROM)。该快闪存储器30即使在未向其提供电能的情况下也能够保持所存储数据。因此,该快闪存储器30适于长时间存储数据,这不同于RAM 10和CPU 1中包含的RAM。在这个实施例中,该快闪存储器30用于存储不同于记录在盘9上的数据的数据。然而,与RAM 10一样,该快闪存储器30也用于存储记录在盘9上的数据的一部分,以便提高访问速度。
将CPU 1的一部分存储空间分配给控制硬盘控制器(HDC)3和门阵列2的控制寄存器。CPU 1从该部分存储空间读取数据并且将数据写入该部分存储空间中,并控制硬盘控制器3和门阵列2。
该硬盘驱动器具有读取/写入IC 5,其包括两个主要部件,即伺服块21和读取/写入块22。该伺服块21处理信号以定位磁头13。该读取/写入块22处理信号以将数据写入磁盘9上以及从该磁盘9读取数据。
磁盘9具有以规则间隔交替排列的区域(伺服区域)和区域(数据区域)。在伺服区域中记录用于定位磁头13的伺服数据信号。在数据区域中记录从主机系统传送的数据。为了定位磁头13,磁头IC 16放大磁头13读取的模拟信号,并且将该放大的模拟信号提供给读取/写入IC 5。在读取/写入IC 5中,该伺服块21从模拟信号中提取伺服数据。将该伺服数据提供给门阵列2,并且在该门阵列2中进行处理。根据处理伺服数据的结果,CPU 1控制电动机驱动器6,其向音圈电动机7提供电流以定位磁头13。
硬盘控制器3不仅与CPU总线12相连,也与门阵列2、缓冲RAM 4和读取/写入IC 5相连。硬盘控制器3包括主控制块23、读取/写入块24和缓冲块25。主控制块23起到与主系统17接口的作用。缓冲块25控制缓冲RAM 4。读取/写入块24与读取/写入IC 5和门阵列2相连,并且读取并写入数据。
下面说明硬盘驱动器的工作。
为了读取数据,磁头13从磁盘9读取模拟信号。磁头IC 16放大该模拟信号。读取/写入IC 5解码经放大的该模拟信号。硬盘控制器3根据从门阵列2提供的控制信号处理该解码信号,从而生成应当传送到主系统17的数据。将该数据临时存储在缓冲RAM 4中,然后从缓冲RAM 4传送到主系统17。
为了由磁头13写入数据,将从主系统17传送到硬盘控制器3的数据临时存储在缓冲RAM 4中。然后,根据从门阵列2提供的控制信号,将数据从硬盘控制器3发送到读取/写入IC 5。该读取/写入IC 5编码该数据。将该编码数据经由磁头IC 16提供给磁头13。磁头13将该编码数据写入磁盘9上。
该主系统17能够发送设定特征(SetFeature)命令等,从而使得写入高速缓冲存储器接通(有效)或者断开(无效)。如果该写入高速缓冲存储器是有效的,则将主系统17已经发出的写入命令寄存(register)在缓冲RAM 4中存储的命令队列表格中。该写入命令由地址、传送块号、缓冲指针、物理地址等构成。将伴随该命令的数据寄存在同样存储在缓冲RAM 4中的数据表中。
当断开硬盘驱动器的电源开关时,缓冲RAM 4中的数据被擦除。因此,应当实施一种处理(称作写入刷新),从而根据命令队列表中寄存的写入命令,将数据表中寄存的数据可靠地写入磁盘9上。为了可靠完成写入刷新,在主系统17中准备了等待(Standby)命令、刷新高速缓存(FlushCache)命令等。如果主系统17发出了这些命令,则将如下所述实施写入刷新。
为了高效执行队列表中寄存的写入命令,检索(选择)可访问命令,同时按顺序重新排列这些命令。然后,在磁盘9上记录数据表中寄存的目前处于最佳顺序的数据(由此完成写入刷新)。在本发明中,不仅能够将磁盘9用于实施写入刷新,而且还能够将快闪存储器30用于实施写入刷新。因此,必须确定哪种命令应当在哪种介质(磁盘9或者快闪存储器30)中被写入刷新。这种确定的过程称作命令分布处理。最终必须将写回到快闪存储器30中的有关写入命令的数据写回到磁盘9上。因此,不仅将命令队列表中寄存的写入命令写入快闪存储器30中,而且将数据表中存储的数据也写入快闪存储器30中。
图2A、2B、2C和2D表示了命令队列表的转换。根据图2A可以理解,该命令队列表能够寄存许多命令。假设目前在该命令队列表中寄存了10个命令,即命令A、命令B、命令C、......和命令J。
基于首先仅在磁盘9上写回数据的假设,在尽可能最短的时间内使该命令队列表中寄存的10个命令重新排列。重新排列10个命令的方法的例子是检索在磁头相对于其当前位置具有最小移动的情况下“能够快速处理的命令”。根据各种条件检索这种命令。在本实施例中,“能够快速处理的命令”是根据查找时间、旋转延迟时间和介质访问之间之和来确定的,从当前位置移动磁头比任何其它命令处理更快的命令。
因此,如图2B所示,按照所述顺序排列命令E、命令I、......命令C和命令D。该新的顺序是能够以可能的最短时间将10个写入命令写回到磁盘9上的顺序。分别由分配给这10个命令的盘处理序号M_索引定义该新的顺序。更精确地讲,将盘处理序号M_索引0分配给将要首先处理的命令E,将盘处理序号M_索引1分配给接着将要处理的命令I,依此类推。因此,分配给每个命令的盘处理命令M_索引比分配给前一命令的大1。注意,图2B所示的每个命令前的数字是当该命令寄存在图2A所示的命令队列表中时设定的初始顺序。根据传送块(transfer block)并考虑到查找时间、旋转延迟时间等计算每个命令的处理时间,并且将其寄存在命令队列表中。而且,将从处理第一个命令(即在本例中的命令E)开始经过的时间也寄存在该表中。
在本发明中,不仅利用磁盘9实施写入刷新,如果需要还利用快闪存储器30进行写入刷新。然而,在查找时间和旋转延迟时间过去之前,不能够将数据写入磁盘9上。不可避免的是,以低于写入快闪存储器30的速度写入该数据。考虑到这个问题,分配了小的盘处理序号M_索引的命令和分配了大的盘处理序号M_索引的命令应当分别写入刷新在磁盘9上和快闪存储器30中。因此能够缩短处理时间。
快闪存储器30存储每个命令所需的时间也被寄存,以便确定在磁盘9上应当写入刷新哪些命令(或者确定分配给将要写入刷新的最后命令的盘处理序号M_索引)。根据传送块的数量计算将10个命令中的每一个存储到快闪存储器30中所需的时间,并且将该时间寄存在命令队列表中。任何希望的数据以该将数据记录到快闪存储器30中恰好所需的时间被写入该快闪存储器30中,这是因为在将数据写入快闪存储器30的过程中不包括查找时间和旋转延迟时间。此外,如图2C所示,将从分配了最大的盘处理序号M_索引(即9)的命令(即本情况中的命令D)的处理向后测得的存储器写入时间也寄存在命令队列表中。为了说明,假设存储器处理序号F_索引与盘处理序号M_索引相同。
接着,将在磁盘9上写入的累积时间与在快闪存储器30中写入的累积时间进行比较(参见图2D)。首先对分配了最小的盘处理序号M_索引的命令来检索在磁盘9上写入的累积时间,而首先对分配了最大的存储器处理序号F_索引的命令检索在快闪存储器30中写入的累积时间。分配了大的盘处理序号M_索引的命令是在磁盘9上不能以高速写入刷新的命令。因此,最好将它们写入刷新到快闪存储器30中,以便缩短处理时间,这是因为将数据写入快闪存储器30中不涉及查找时间和旋转延迟时间。因此,按照这种顺序检索这些命令。
利用一种介质实施写入刷新,对于该介质而言在执行每个命令之前累积的时间短。在图2D所示的情况下,在磁盘9上写入刷新分别分配了盘处理序号M_索引0到2的命令E、I和H,并且在快闪存储器30中写入刷新分别分配了盘处理序号M_索引9到3的命令D、C、F、G、J、A和B。为了使处理时间最小化,必须按照它们被提时的顺序写入刷新命令E、I和H。无论按照何种顺序写入刷新命令D、C、F、G、J、A和B,处理时间根本不会改变。
可以同时实施磁盘9上的写入刷新和快闪存储器30中的写入刷新。在这种情况下,仅需要11毫秒来完成写入刷新。如果仅在磁盘9上实施写入刷新,则需要43毫秒。如果同时在两个介质上实施写入刷新,则整体写入刷新时间可以为一半。因此,在短时间内完成了写入刷新。这防止了在写入刷新过程中由于碰撞或者电源断路而造成的数据损坏。
图3是说明制定图2A所示的命令队列表格的步骤顺序的流程图。
在块#12中,将盘处理序号M_索引的初始值设为0。
在块#14中,考虑到磁头13目前所在位置,从当前寄存在命令队列表中的命令(即10个命令)中选择一个命令,该命令能够比任何其它的命令更快地处理。
在块#16中,在该队列表(更精确地讲,初始表的副本)中的第(M_索引)个CMD[M_索引]处寄存块#14中选出的命令。
在块#18中,将块#14中选出的命令的处理时间M_时间[M_索引]作为第(M_索引)项寄存在队列表中。
在块#20中,通过增加块#14中选出的命令的处理时间来更新累积时间M_总时间[M_索引]。
在块#22中,确定是否已经检索了该队列表中寄存的全部命令。如果为否,则在块#24中递增该盘处理序号M_索引。继而该流程返回到块#14。在块#14中,选择能够比任何其余的命令更快访问的命令。
在块#22中,如果确定已经检索了所有命令(是),则该进程进行到块#26。在块#26中,将存储器处理序号F_索引的初始值设为9。因此,将按照与在磁盘9上写入各命令时相反的顺序将各命令写入快闪存储器30中。
在块#28中,计算并寄存处理该队列表中寄存的第(F_索引)命令所需的时间F_时间[F_索引]。
在块#30中,通过增加块#28中算得的前一命令的处理时间来更新累积时间F_总时间[F_索引]。
在块#32中,确定是否已经检索了该队列表中寄存的所有命令。如果为否,则在块#34中递减该盘处理序号F_索引。继而该流程返回到块#28,其中寄存下一命令的处理时间。
在块#32中,如果确定已经检索了所有命令(是),则终止该进程。
图4是示例性流程图,说明了对要进行写入刷新数据的介质的选择顺序,其中该写入刷新是利用参照图3的描述所制定的命令队列表格进行的。假设在该队列表中寄存了10个命令。
在块#42中,将盘处理序号M_索引的初始值设为0,并且将存储器处理序号F_索引的初始值设为9。
在块#44中,将作为第(M_索引)项寄存的累积时间M_总时间[M_索引]与作为第(F_索引)项寄存在队列表中的累积时间F_总时间[F_索引]进行比较。如果该累积时间M_总时间[M_索引]等于或大于累积时间F_总时间[F_索引],则该流程进行到块#52,其中将第(F_索引)写入命令的写入刷新分配给快闪存储器30。然后,在块#54中,确定F_索引是否变为0。如果F_索引已经变为0,则已经将所有命令的写入刷新分配给该介质。在这种情况下,终止该进程。如果F_索引未变为0,则该进程进行到块#56,其中递减F_索引。继而该进程进行到块#50。
在块#44中,如果累积时间M_总时间[M_索引]短于累积时间F_总时间[F_索引],如果是这种情况,则该该进程进行到块#46。在块#46中,将第(M_索引)写入命令的写入刷新分配给磁盘9。在块#48中,M_索引递增。继而该进程进行到块#50。
在块#50中,确定M_索引是否大于F_索引。如果M_索引不大于F_索引,则该进程返回到块#44。在块#44中,将用于盘处理的累积时间M_总时间[M_索引]与用于存储器处理的累积时间F_总时间[F_索引]进行比较。
因此,将写入命令的写入刷新分配给如图2D所示的介质。
图5是示意地说明上述的命令分布处理的图表。图2D表示了命令队列表,其中设置各个命令,使得在可能的最短时间内可以仅在磁盘9上写回这些命令。在该表中所示的命令中,在磁盘9上能够以高速处理寄存在较高位置的命令。不能够在磁盘9上以高速处理寄存在该表中较低位置处的其它命令,但是如果返回该快闪存储器30进行写入刷新,则能够在短时间内写入这些命令。如图5所示,在该命令队列表中还寄存了逻辑地址LBA和传送块BLK的数量。
为了将写入命令从快闪存储器30写回到磁盘9上,将它们寄存在缓冲RAM 4(当硬盘驱动器从主系统1接收到刷新高速缓存命令或者等待(standby)命令时通常使用该缓冲RAM)中存储的队列表中。然后,将存储在快闪存储器30中并且属于寄存在该队列表中的命令的数据写回到磁盘9上。无需按照能够在可能的最短时间内对它们进行处理的顺序将各数据项写回到磁盘9上。相反,能够按照随机的顺序将它们写回到磁盘9上。在这一点上,将高速缓存命令(cache command)存储到快闪存储器(非易失性存储器)30中。因此,即使发生电源断路,也不会擦除高速缓存命令。因此,如相关控制程序中所述的,如果需要,能够将高速缓存命令写回到磁盘9上。
如上所述,在第一实施例中,将主系统1发出的写入命令寄存在缓冲RAM 4中存储的命令队列表中,并且将与这些命令相关的数据寄存在同样存储在缓冲RAM 4中的数据表中。根据该命令队列表中寄存的写入命令,实施写入刷新,从而将数据表中寄存的数据写回到磁盘9上或者写入快闪存储器30中。在磁盘9上写入刷新通过磁头13相对于当前位置的最小移动“能够以高速处理的命令”。在快闪存储器30中写入刷新所有其它命令。因此,能够并行地或者同时实施磁盘9上的写入刷新和快闪存储器30中的写入刷新。相比其它情况,能够在更短时间内完成写入刷新。如果同时在两个介质上实施写入刷新,则整体写入刷新时间可以减半。
能够在磁盘上以及非易失性存储器中写入刷新易失性存储器中高速缓存的命令。因此,能够在短时间内完成写入刷新。而且,写入刷新过程中由于盘驱动器受到的碰撞造成的数据损坏的可能性小。
本发明不限于上述实施例。能够对其做各种形式的修改以付诸实施。例如,无需如实施例中那样,根据在磁盘上的写入刷新所需的累积时间或者在快闪存储器中写入刷新所需的累积时间哪个更长来确定应当将磁盘或者快闪存储器中的哪种介质用于写入刷新。而且,可以利用任何其它算法确定能够以高速处理的命令以及其它命令。
在上述实施例中,将高速缓存写入命令分成两组,并且分别选择磁盘和快闪存储器作为用于这两组的写入刷新介质。此外,可以改变控制程序(固件)以支持两种模式,一种模式(1)是仅在磁盘9上实现写入刷新,另一种模式(2)是仅在快闪存储器30中实现写入刷新。然后,用户能够根据他或她使用该硬盘驱动器的目的来选择第一模式(1)或者第二模式(2)。更具体的是,如果用户希望以低写入速度为代价,探测快闪存储器30中的故障(如果存在的话)或者仅在磁盘9上可靠地保存数据,则他或她选择第一模式(1)。如果因为电源可能会断路而用户希望快速保存数据,或者如果因为磁盘9中的可访问区域是有限的而必须以高速实施数据处理,则他或她选择第二模式(2)。
对于本领域技术人员而言,其它的优点和修改都是显而易见的。因此,本发明在其更广的方面不限于本文中所示和所述的特定细节和代表性实施例。因此,可以在不背离所附权利要求书及其等价描述限定的本发明的一般性概念的精神和范围的情况下,进行各种修改。
Claims (8)
1.一种磁盘装置,其特征在于包括:
磁盘(9);
非易失性存储器(30);
易失性存储器(4),其配置为存储主系统提供的各写入命令以及伴随该命令的数据;以及
第一刷新控制单元(1),其配置为根据在所述磁盘上写入伴随所述写入命令的所述数据所需的时间将所述写入命令分成第一命令组和第二命令组,将伴随第一命令组的数据写入所述磁盘,以及将第二命令组和伴随第二命令组的数据写入所述非易失性存储器。
2.根据权利要求1所述的磁盘装置,其特征在于第一刷新控制单元(1)按照能够以可能的最高效率写入该写入命令的顺序排列所述易失性存储器中存储的各所述写入命令,并且将前面的若干个命令分成第一命令组以及将其它命令分成第二命令组。
3.根据权利要求2所述的磁盘装置,其特征在于第一刷新控制单元(1)在所述非易失性存储器中存储:在所述磁盘上写入所述易失性存储器中存储的每个所述写入命令所需的时间、在所述磁盘上按照从第一命令开始的正序写入各所述写入命令所需的累积时间、将易失性存储器中存储的每个所述写入命令写入到非易失性存储器所需的时间,以及按照从最后的命令开始的逆序将所述写入命令写入所述非易失性存储器所需的累积时间,并且将在所述磁盘上的累积时间长于在所述非易失性存储器中的累积时间的命令分到第二命令组中。
4.根据权利要求1所述的磁盘装置,其特征在于进一步包括第二刷新控制单元(1),其配置为读取第一刷新控制单元存储在所述非易失性存储器中的第二命令组,并且将伴随第二命令组的数据写入所述磁盘上。
5.一种用于磁盘装置的控制方法,该磁盘装置的特征在于包括磁盘、非易失性存储器和易失性存储器,该易失性存储器配置为存储主系统提供的各写入命令以及伴随所述命令的数据,该方法包括:
根据在所述磁盘上写入伴随所述写入命令的所述数据所需的时间,将所述写入命令分成第一命令组和第二命令组;以及
将伴随第一命令组的数据写入所述磁盘,以及将第二命令组和伴随第二命令组的数据写入所述非易失性存储器。
6.根据权利要求5所述的控制方法,其特征在于该分组包括:
按照能够以可能的最高效率写入该写入命令的顺序排列所述易失性存储器中存储的该写入命令,并且将前面的若干个命令分成第一命令组以及将其它命令分成第二命令组。
7.根据权利要求6所述的控制方法,其特征在于该分组包括:
将在所述磁盘上写入所述易失性存储器中存储的每个写入命令所需的时间、在所述磁盘上按照从第一命令开始的正序写入各所述写入命令所需的累积时间、将所述易失性存储器中存储的每个写入命令写入到所述非易失性存储器所需的时间,以及按照从最后的命令开始的逆序将所述写入命令写入所述非易失性存储器所需的累积时间存储到所述非易失性存储器中,并且将在所述磁盘上的累积时间长于在所述非易失性存储器中的累积时间的命令分到第二命令组中。
8.根据权利要求5所述的控制方法,其特征在于进一步包括从所述非易失性存储器读取所存储的第二命令组;以及
将伴随第二命令组的数据写入所述磁盘上。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP353035/2006 | 2006-12-27 | ||
JP2006353035A JP4675881B2 (ja) | 2006-12-27 | 2006-12-27 | 磁気ディスク装置およびその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101226505A true CN101226505A (zh) | 2008-07-23 |
Family
ID=39585648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007103001148A Pending CN101226505A (zh) | 2006-12-27 | 2007-12-17 | 磁盘装置以及控制该装置的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7853761B2 (zh) |
JP (1) | JP4675881B2 (zh) |
CN (1) | CN101226505A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102317924A (zh) * | 2009-02-11 | 2012-01-11 | 韩商英得联股份有限公司 | 固态硬盘系统中缓冲器高缓的编程方法和装置 |
CN103534759A (zh) * | 2011-06-24 | 2014-01-22 | 国际商业机器公司 | 用于在接收到包括混合的读取和写入命令的一系列命令时执行最优写入的线性记录设备及其执行方法和程序 |
CN104900240A (zh) * | 2014-03-04 | 2015-09-09 | 株式会社东芝 | 硬盘装置及数据刷新方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100205367A1 (en) * | 2009-02-09 | 2010-08-12 | Ehrlich Richard M | Method And System For Maintaining Cache Data Integrity With Flush-Cache Commands |
JP2010211880A (ja) * | 2009-03-11 | 2010-09-24 | Sharp Corp | ディスクドライブ装置、その制御方法、プログラム、及び、記録媒体 |
JP5005023B2 (ja) * | 2009-12-25 | 2012-08-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 読出し及び書込み命令の混在するコマンド列を受け取った場合の最適な書込みを実行するリニア記録方式の装置、その方法、及びプログラム。 |
JP5643152B2 (ja) * | 2011-05-19 | 2014-12-17 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | テープ記憶装置、データ書込み方法、及び、プログラム |
JP6030308B2 (ja) * | 2012-02-01 | 2016-11-24 | 日本電気株式会社 | 情報処理装置、制御装置、及び情報処理方法 |
CN103678150B (zh) * | 2013-12-23 | 2017-06-09 | 华为技术有限公司 | 固态硬盘使用方法及装置 |
JP2016021133A (ja) * | 2014-07-14 | 2016-02-04 | 株式会社東芝 | 磁気ディスク装置、及びライトコマンドを実行する方法 |
US9823859B2 (en) * | 2014-11-06 | 2017-11-21 | Western Digital Technologies, Inc. | Mechanical shock mitigation for data storage |
US9665308B2 (en) * | 2015-03-10 | 2017-05-30 | International Business Machines Corporation | Optimization of the copying of change recorded data by using spare flash capacity |
KR102605566B1 (ko) * | 2018-11-22 | 2023-11-24 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11645155B2 (en) * | 2021-02-22 | 2023-05-09 | Nxp B.V. | Safe-stating a system interconnect within a data processing system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6476344A (en) * | 1987-09-18 | 1989-03-22 | Fujitsu Ltd | Disk cache control system |
JPH05250274A (ja) | 1992-03-04 | 1993-09-28 | Mitsubishi Electric Corp | ディスクキャッシュ装置 |
JPH06309234A (ja) | 1993-02-15 | 1994-11-04 | Toshiba Corp | ディスク制御装置 |
JPH06348600A (ja) * | 1993-06-04 | 1994-12-22 | Hitachi Ltd | ディスクキャッシュ装置 |
JPH1040170A (ja) * | 1996-07-26 | 1998-02-13 | Toshiba Corp | ディスクキャッシュシステム |
JP2001154809A (ja) * | 1999-11-30 | 2001-06-08 | Fujitsu Ltd | ディスク装置 |
US6571298B1 (en) * | 2000-01-11 | 2003-05-27 | International Business Machines Corporation | System and method for grouping disk access commands in a queue according to proximate disk positions |
JP2001222380A (ja) * | 2000-02-07 | 2001-08-17 | Hitachi Ltd | 外部記憶装置とそれを備えた情報処理システム |
JP4078010B2 (ja) * | 2000-03-03 | 2008-04-23 | 株式会社日立グローバルストレージテクノロジーズ | 磁気ディスク装置及び情報記録方法 |
JP2003308176A (ja) * | 2002-04-03 | 2003-10-31 | Internatl Business Mach Corp <Ibm> | データ記憶装置、コマンド・キューのリオーダリング方法、データ処理方法およびプログラム |
US7472222B2 (en) | 2004-10-12 | 2008-12-30 | Hitachi Global Storage Technologies Netherlands B.V. | HDD having both DRAM and flash memory |
JP4788528B2 (ja) * | 2005-09-22 | 2011-10-05 | 富士通株式会社 | ディスク制御装置、ディスク制御方法、ディスク制御プログラム |
US7411757B2 (en) * | 2006-07-27 | 2008-08-12 | Hitachi Global Storage Technologies Netherlands B.V. | Disk drive with nonvolatile memory having multiple modes of operation |
-
2006
- 2006-12-27 JP JP2006353035A patent/JP4675881B2/ja not_active Expired - Fee Related
-
2007
- 2007-12-17 US US11/957,840 patent/US7853761B2/en not_active Expired - Fee Related
- 2007-12-17 CN CNA2007103001148A patent/CN101226505A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102317924A (zh) * | 2009-02-11 | 2012-01-11 | 韩商英得联股份有限公司 | 固态硬盘系统中缓冲器高缓的编程方法和装置 |
CN103534759A (zh) * | 2011-06-24 | 2014-01-22 | 国际商业机器公司 | 用于在接收到包括混合的读取和写入命令的一系列命令时执行最优写入的线性记录设备及其执行方法和程序 |
US9330713B2 (en) | 2011-06-24 | 2016-05-03 | International Business Machines Corporation | Linear recording executing optimum writing upon receipt of series of commands including mixed read and write commands |
CN104900240A (zh) * | 2014-03-04 | 2015-09-09 | 株式会社东芝 | 硬盘装置及数据刷新方法 |
CN104900240B (zh) * | 2014-03-04 | 2018-03-23 | 株式会社东芝 | 硬盘装置及数据刷新方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4675881B2 (ja) | 2011-04-27 |
US20080162803A1 (en) | 2008-07-03 |
US7853761B2 (en) | 2010-12-14 |
JP2008165881A (ja) | 2008-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101226505A (zh) | 磁盘装置以及控制该装置的方法 | |
US7654466B2 (en) | Semiconductor memory card, semiconductor memory control apparatus, and semiconductor memory control method | |
US10152236B2 (en) | Hybrid data storage device with partitioned local memory | |
CN101458932A (zh) | 用于以顺序访问的方式将数据写入盘驱动器的方法和设备 | |
CN1773471A (zh) | 用于处理读-修改-写命令的读操作和写操作的方法和系统 | |
KR20090004157A (ko) | 비휘발성 메모리 및 버퍼 메모리를 포함하는 메모리 시스템및 그것의 데이터 읽기 방법 | |
CN102317924A (zh) | 固态硬盘系统中缓冲器高缓的编程方法和装置 | |
US10394493B2 (en) | Managing shingled magnetic recording (SMR) zones in a hybrid storage device | |
US20100079904A1 (en) | Storage control method, storage control unit and storage apparatus | |
KR101674015B1 (ko) | 데이터 저장 매체 액세스 방법과 그와 같은 기능을 갖는 데이터 저장 장치 및 기록 매체 | |
US6732292B2 (en) | Adaptive bi-directional write skip masks in a data storage device | |
US20200110706A1 (en) | Pre-fetching in a memory system configured with synthesized logical blocks | |
CN101127229A (zh) | 信息记录设备及其控制方法 | |
CN107526689A (zh) | 读高速缓存管理 | |
CN103677670A (zh) | 读数据的方法及装置 | |
CN101174198B (zh) | 数据存储系统及其数据存取方法 | |
CN101135952A (zh) | 对盘驱动事务处理采用存取日志 | |
US20080059708A1 (en) | Command queue ordering by positionally pushing access commands | |
US20040015878A1 (en) | Reordering controller, reordering method and storage apparatus | |
CN100468548C (zh) | 具有可变索引结构的硬盘驱动器的缺陷管理 | |
US10628045B2 (en) | Internal data transfer management in a hybrid data storage device | |
US11061595B2 (en) | Logical address remapping for direct write | |
KR20130100727A (ko) | 하이브리드 e 영역을 갖는 싱글 기입 자기 기록(smr)장치 | |
US8364890B2 (en) | RAID control apparatus and control method therefor | |
KR20070060301A (ko) | 불휘발성 메모리를 쓰기 캐시로 구비한 하드 디스크드라이버 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080723 |