CN1790249A - 用于允许在驱动器被格式化的同时访问存储设备的方法和装置 - Google Patents
用于允许在驱动器被格式化的同时访问存储设备的方法和装置 Download PDFInfo
- Publication number
- CN1790249A CN1790249A CN200510124683.2A CN200510124683A CN1790249A CN 1790249 A CN1790249 A CN 1790249A CN 200510124683 A CN200510124683 A CN 200510124683A CN 1790249 A CN1790249 A CN 1790249A
- Authority
- CN
- China
- Prior art keywords
- lba
- logical block
- formatted
- block addressing
- response
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000004044 response Effects 0.000 claims abstract description 58
- 238000004590 computer program Methods 0.000 claims abstract description 6
- 238000013500 data storage Methods 0.000 claims abstract description 4
- 238000013499 data model Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 1
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007306 functionalization reaction Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0674—Disk device
- G06F3/0676—Magnetic disk device
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)
Abstract
本发明公开一种用于允许在数据存储设备进行格式化的同时访问该设备的方法和装置。在该设备中从主机接收一个格式化命令,然后在完成对该设备的格式化之前将命令完成响应传送给该主机。该主机在向所述设备传送任一读取或写入命令之前等待所述命令完成响应,在所述设备仍在进行格式化的同时执行从所述主机传送到所述设备的读取和写入命令。
Description
技术领域
本发明涉及数据处理系统。更特别地,本发明涉及一种用于允许在驱动器被格式化的同时时访问存储设备的方法、装置和计算机程序产品。
背景技术
硬盘驱动器容量几乎每18个月翻倍一次。结果,格式化硬盘驱动器的时间也已增加。例如,对于能够存储300G字节的SCSI盘驱动器,格式化盘大约花费105分钟。
采用逻辑块地址(LBA)来访问盘驱动器。驱动器被分为多个不同的LBA。用户应用程序可访问的盘驱动器的最小单元是LBA。LBA在驱动器中识别特殊的轨道柱面、头部和扇区位置。
为了格式化盘驱动器,耦合到该盘驱动器的主机将一个“格式化单元”的命令发送给该盘驱动器。包括在该盘驱动器中的盘驱动器控制器然后接收该“格式化单元”命令。盘驱动器控制器通过在该驱动器中识别坏逻辑块地址(LBA),建立一个表示哪一个LBA是坏的并因此被跳过的轨道布局表,以及将初始化模型写入盘驱动器中的好LBA,来执行“格式化单元”命令。在该盘驱动器在格式化该驱动器的过程中,主机不能访问该驱动器以从该驱动器读取数据或向其写入数据。
一旦盘控制器完成了对驱动器的格式化,控制器就通知主机格式化已经完毕。盘控制器通过向主机返回一个“命令完成”的响应来通知主机已经完成对驱动器的格式化。一旦主机接收了“命令完成”的响应,主机就能开始对驱动器进行访问以便从该驱动器中读取数据和/或向其写入数据。由于格式化操作要花费很长的时间,驱动器就会在这么长的时间内是不可用的。
因此,需要有一种用于允许在格式化驱动器的同时访问存储设备,例如硬盘驱动器的方法、装置和计算机程序产品。
发明内容
本发明揭示一种在格式化驱动器时允许访问数据存储设备的方法、装置和计算机程序产品。格式化命令在该设备中从主机接收。然后在该设备完成格式化之前命令完成响应发送给主机。主机在向该设备发送任何读取或写入命令之前等待该命令完成响应。在该设备仍被格式化的同时执行从该主机发送给该设备的读取和写入命令。
本发明上述和另外的目的、特征和优点将在下面详细给出的描述中变得显而易见。
附图说明
在所附权利要求中阐述被认为是本发明特有特性的新颖的特征。然而,本发明自身和其使用的最佳模式,以及它的目的和优点将参考下面结合附图对示意性实施例的详细描述而得到最好的理解,其中:
图1是按照本发明的计算机系统的方框图,该系统具有包括本发明的例如硬盘驱动器的存储设备;
图2是按照本发明的耦合到主机计算机的盘驱动器的方框图,这里该盘驱动器例如是包括本发明的硬盘驱动器;
图3示出了一个高级流程图,它描述了根据现有技术执行“格式化单元”命令的盘控制器;
图4A描述了一个高级流程图,它描述了根据本发明的盘驱动器中执行“格式化单元”命令的盘控制器;以及
图4B描述了根据本发明对图4A的盘驱动器进行读取或写入数据的高级流程图,它可以并行于图4A的处理而执行。
具体实施方式
本发明的优选实施例及其优点通过参考附图而变得更好理解,这里相同的数字用于附图的相同和相应的部分。
本发明揭示一种在格式化驱动器时允许访问数据存储设备的方法、装置和计算机程序产品。虽然也可以使用其它类型的包括能够单独和分别访问的块的块存储设备,但是数据存储设备优选地是硬盘驱动器。
主机耦合到该驱动器。主机向驱动器发送要由该驱动器执行的读取命令、写入命令和格式化命令。当主机向驱动器发送“格式化单元”命令时,主机在向驱动器传输任何更多的读取和/或写入命令之前,主机一直等待,直至从该驱动器接收到“命令完成”的响应。这样,在主机传输“格式化单元”命令的时间与主机从该驱动器接收“命令完成”响应的时间之间,主机不能执行任何与驱动器合作的有用的工作。
根据现有技术,驱动器不能发送“命令完成”响应,直到驱动器已完成格式化处理。专用,在现有技术的系统中,在驱动器被格式化的同时不允许主机访问驱动器以使其执行读取和/或写入。
根据本发明,允许主机在驱动器被格式化的同时访问该驱动器以使其执行读取和/或写入。
根据本发明,在驱动器完成格式化之前,驱动器将向主机返回一个“命令完成”响应。一旦主机接收到该“命令完成”响应,主机就能开始向该驱动器发送读取和写入命令。从主机发送给驱动器的读取和写入命令在仍旧格式化驱动器的同时执行。
驱动器包括执行本发明的处理的盘驱动器控制器。在该盘驱动器控制器接收到“格式化单元”命令之后,控制器在驱动器中通过读取损坏的LBA的P和G列表并随后建立轨道布局表,来执行简化的初始化处理。这时,优先于开始向驱动器介质写入任意初始化数据模型,控制器将向主机返回“命令完成”响应。一旦主机接收到该“命令完成”响应,主机然后开始向驱动器发送读取和/或写入命令,即使是正在执行格式化该驱动器也将执行该读取和/或写入命令。
该驱动器在驱动器被格式化的同时处理来自主机的读取和/或写入命令。控制器保持着跟踪哪些LBA已被初始化以及哪些LBA包含不同于初始化数据的实际数据的写入表。实际数据是在驱动器接收了正在处理的“格式化单元”命令之后已经写入LBA的数据。
当在驱动器格式化的时候驱动器接收了读取命令,控制器就访问该写入表,以确定由读取命令所识别的要读取的LBA是否已经被初始化。如果LBA已经被初始化,控制器将返回当前存储在LBA中的任一数据。如果LBA还没有被初始化,控制器就返回初始化数据而不管什么数据可能存储在LBA中。
当在驱动器格式化的时候驱动器接收了写入命令,控制器就访问该写入表,以确定由写入命令所识别的要写入的LBA是否已经被初始化。如果LBA已经被初始化,控制器将包括在该写入命令中的数据写入该LBA。这样,LBA现在就包含了实际数据。如果LBA还没有被初始化,控制器就将一个指示存入写入表,然后将包含在写入命令中的数据写入LBA。该指示就表示这个LBA具有存于其内部的实际数据。
在执行上述读取和/或写入处理的同时,控制器也执行“格式化单元”命令以便格式化驱动器介质。当控制器正在格式化驱动器介质时,控制器就将固定的初始化数据模型写入介质中的LBA。对于每个没有损坏的LBA,控制器就确定写入表是否表示LBA已经被初始化或包含实际数据。如果写入表格表示LBA已经被初始化或实际数据已经被写入这个LBA,那么控制器就不将初始化数据模型写入该LBA,然后转到下一要进行初始化的LBA。如果写入表表示该LBA还没有被初始化并且不包含实际数据,那么控制器就将初始化数据模型写入该LBA,并将一个表示该LBA已经被初始化的指示存入写入表。
图1是按照本发明的计算机系统的方框图,该系统具有包括本发明的例如硬盘驱动器的存储设备。数据处理系统100可以是对称多处理器(SMP)系统,它包括连接到系统总线106的多个处理器102和104。可选择地,也可以使用单处理器系统。在所描述的实施例中,处理器104是服务器处理器。连接到系统总线106上的还有存储器控制器/高速缓存108,它提供对本地存储器109的接口。I/O总线桥110连接到系统总线106,并提供对I/O总线112的接口。存储器控制器/高速缓存108和I/O总线桥110可以如图所述地进行集成。
连接到外设部件互连(PCI)总线桥114的I/O总线112提供对PCI本地总线116的接口。多个调制解调器可以连接到PCI总线116。典型地PCI总线设备可以支持4个PCI扩展插槽或附加连接器。连接到其它计算机的通信链路可通过经由附加线路板连接到PCI本地总线116的调制解调器118和网络适配器120来提供。
额外的PCI总线桥122和124为额外的PCI总线126和128提供接口,基于该接口可以支持额外的调制解调器或网络适配器。以这种方式,数据处理器系统100允许连接到多个网络计算机。如图所述,存储器映射的图形适配器130也可以直接地或间接地连接到I/O总线112。
存储设备,例如硬盘驱动器132通过I/O适配卡133耦合到诸如总线128的PCI总线。硬盘驱动器132可采用任一种技术来实现。例如,硬盘驱动器132可以是SAS驱动器或SCSI驱动器。适配卡133然后依照硬盘驱动器132所支持的接口技术的类型,将PCI总线映射为SCSI总线或SAS总线。
本领域的普通技术人员可以理解在图1所示出的硬件是可以改变的。例如,也可以使用除图所示的硬件之外的或替代它们的其它外设,例如光盘驱动器等等。所描述的实施例并不意味着对本发明进行结构上的限制。
图2是实现本发明的耦合到诸如硬盘驱动器202的存储器设备的主机200的方框图。主机200耦合到例如PCI总线桥204的桥。PCI总线桥204通过输入/输出(I/O)适配卡206耦合到盘驱动器202。
盘驱动器202包括耦合到存储介质210的盘驱动器控制器208。在硬盘驱动器中,存储介质210是实际上具有磁涂层的硬盘。
盘驱动器控制器208包括处理器和未示出的其它设备,用于执行来自主机200的命令以便访问存储介质210以及执行控制操作。控制操作包括格式化存储介质210以及例如响应于请求控制器208所保留的分区列表的其它处理。
盘驱动器控制器208负责执行来自主机200的命令,包括执行“格式化单元”命令以及生成“命令完成”响应。
盘驱动器控制器208包括损坏的LBA的列表,例如介质210中的损坏的LBA的G列表212和介质210中的损坏的LBA的P列表214。盘驱动器控制器208还包括写入表216和轨道布局表218。
G列表212、P列表214和轨道布局表218以现有技术所给出的方式来操作。
写入表216根据本发明来提供以便使控制器208跟踪在“格式化单元”的处理过程中哪一LBA已经写入了初始化数据模型。在格式化过程中,盘驱动器控制器208尝试将初始化数据模型写入存储介质210中的好的LBA。在盘驱动器控制器208将初始化模型写入特定LBA之后,盘驱动器控制器208将一个指示存储在写入表216中,以示出该特定的LBA已经被初始化。这样,写入表216将包括一个LBA列表,其中的每个LBA都已写入了初始化模型并因此被初始化。
另外,如下更加详细地描述的,替代向LBA写入初始化数据模型,盘驱动器控制器208可以将实际数据存入特定的LBA中。写入表216也将包括一个LBA列表,其中的每个LBA都已写入了实际数据。
存储介质210包括多个可单独寻址的LBA,例如LBA1 220、LBA2 222、LBA3 224和LBA4 226。在格式化处理中,确定是否有任一LBA是损坏的。在G列表212或P列表214中存储一个指示,以表示每个坏的LBA。
图3示出了一个高级流程图,它描述了根据现有技术盘控制器执行“格式化单元”命令。如图所示处理开始于块300,此后转到块302,在块302中表示在存储驱动器控制器中从主机接收“格式化单元”命令以便格式化该驱动器。这时,主机不能读取或写入驱动器202。接着,块304表示该控制器从该驱动器中收集“P”和“G”列表。“P”和“G”列表包含在该驱动器中损坏的LBA的位置。
处理然后转到块306,在块306中表示该控制器在驱动器中设置轨道,以便被识别为可用的所有LBA是连续的,并且所有的坏LBA被跳过。此后,块308描述了控制器建立轨道布局表。接着,块310示出了控制器向驱动器中可用的LBA写入一个作为初始化模型的固定数据模型。
处理然后转到块312,在块312中描述了控制器所进行的判断,以确定该控制器是否已完成“格式化单元”命令的执行。如果判断结果是该控制器没有结束“格式化单元”命令,那么处理就转到块310。再次参考块312,如果判断结果是该控制器已结束“格式化单元”命令,那么处理就转到块314,它示出了控制器向主机返回一个“命令完成”响应。这里,控制器已完成格式化处理。一旦主机接收了该“命令完成”响应,那么主机再次恢复访问驱动器202。驱动器202现在被格式化,并且主机200可以再次访问驱动器202,以便从驱动器202中读取数据或向其中写入数据。处理然后如所示在块316终止。
图4A描述了一个高级流程图,它描述了根据本发明的驱动器中执行“格式化单元”命令的盘控制器。处理如图所示开始于块400,此后转到块402,它描述了控制器从主机接收“格式化单元”命令以便格式化驱动器的介质。接着,块404描述了控制器从该驱动器中收集“P”和“G”列表。“P”和“G”列表包含在该驱动器中损坏LBA的位置。
处理然后转到块406,这里描述了控制器在驱动器中设置轨道,以便使标识为可用的所有LBA都是连续的,并且可使坏的逻辑块地址(LBA)被跳过。其后,块408描述了控制器向主机返回一个“命令完成”响应。它向主机示出该控制器已经结束“格式化单元”命令的执行。这里,主机认为驱动器已经被格式化了,尽管该控制器实际上还未完成格式化处理。这时,控制器仍旧在执行“格式化单元”命令的处理过程。一旦主机接收了该“命令完成”响应,主机就再次恢复对驱动器的访问。
接着,块410示出了控制器将固定数据模型作为初始化数据模型写入驱动器中可用的LBA。对于驱动器中的每个LBA,检验写入表以确定LBA是否具有已经存储在LBA中的实际数据。为每个包括实际数据的LBA在写入表中存储一个指示。实际数据被定义为自盘控制器接收“格式化单元”命令之后已经写入的数据。初始化数据模型不是实际数据。初始化数据没有写入LBA中,其中在该LBA中自将“格式化单元”命令发送给驱动器之后实际数据已被写入。初始化数据写入所有LBA,其中在这些LBA中自将“格式化单元”命令发送给驱动器之后数据还未被写入。这样,如果LBA还没包括自收到“格式化单元”命令之后被写入该LBA的实际数据,那么该LBA就通过将初始化模型写入该LBA而进行初始化。
另外,为每个写入初始化数据的LBA在写入表中存储一个指示,以示出已经对该LBA完成初始化。现在可以在驱动器上正常使用已写入初始化模型的LBA以读取和/或写入数据,其中为该LBA在写入表中存储一个指示以表示已经写入初始化模型。以这种方式,写入表包括用于每个LBA的指示,在该LBA中自接收“格式化单元”命令之后初始化数据已被写入。
处理然后转到块412,它描述了判断控制器是否已结束“格式化单元”命令的执行。当控制器已将初始化数据模型写入所有未损坏的LBA,该控制器就结束“格式化单元”命令的执行,这里还没有将实际数据写入这些LBA。这样,当完成“格式化单元”命令时,每个未损坏的LBA就会存储实际数据或者初始化模型数据。
如果判断结果表示控制器还没有结束“格式化单元”命令的执行,处理就回到块410。再次参照块412,如果判断结果表示控制器已经结束“格式化单元”命令的执行,处理如块414所示终止。
图4B描述了根据本发明与图4A的处理并行执行的高级流程图。图4B描述了按照本发明从/向图4A的盘驱动器读取或写入数据。图4B所描述的处理可以与图4A所描述的处理并行地执行。这样,读取该盘驱动器或向其写入就能与驱动器控制器对该盘驱动器执行的格式化同时进行。
如图所示,处理开始于块420然后转到块422,在块422中描述了判断该控制器是否接收到用于在驱动器中读取特定LBA的“读取”命令。如果判断结果表示该控制器已经接收到用于在驱动器中读取特定LBA的“读取”命令,处理就转到块424,在块424中描述了判断该特定的LBA是否已经被初始化。这种判断过程是通过访问写入表以判断是否对该LBA完成初始化来实现的。
如果判断结果示出该特定LBA已经被初始化,那么处理就转到块426,在块426中描述了将存储在该特定LBA中的数据作为读取数据返回给“读取”命令。处理然后转到块422。再次参照块424,如果判断结果表示该特定的LBA还没被初始化,那么处理就转到428,在块428中描述了将初始化数据作为读取数据返回给“读取”命令。即使初始化模型数据还未写入到该特定的LBA,也要返回初始化模型数据。处理然后转到块422。
再次参照块422,如果判断结果是控制器还没接收到用于在驱动器中读取特定LBA的“读取”命令,处理就转到块430,在块430中描述了判断该控制器是否已接收用于在驱动器中将特定数据写入特定LBA的“写入”命令。要写入LBA的该特定数据在上面已经被称为“实际数据”。如果判断结果是控制器已经接收用于在驱动器中将特定数据写入特定LBA的“写入”命令,处理就转到块432。
块432描述了判断该特定的LBA是否已被初始化。这种判断是使用控制器中的写入表来作出的。如果判断结果是该特定的LBA已经被初始化,处理就转到块436,这里描述了控制器通过将特定数据写入特定LBA中来执行“写入”命令,其中该特定数据是包括在“写入”命令中的数据。处理然后转到块422。再次参照块432,如果判断结果是该特定LBA还没有被初始化,处理就转到块434,在块434中描述了将一个指示写入该写入表中,该指示表示这个LBA具有存储于其中的实际数据。这样,该指示表示初始化数据没有存储在该特定LBA中。处理然后转到块436。
重要的是,虽然本发明已经在上文中描述了完全功能化的数据处理系统。本领域的普通技术人员将会理解,本发明的处理过程能够以计算机可读介质上的指令的形式以及同样地应用本发明的多种形式来分布,而不考虑在实际中用于实现这种分布的信号承载介质的详细类型。计算机可读介质的实例包括可记录型介质,例如软盘、硬盘、RAM、CD-ROM、DVD-ROM,还可包括传输型介质,例如数字和模拟通信链路、使用诸如射频和光波传输的传输形式的有线或无线通信链路。计算机可读介质可采用编码格式,该编码格式在特定数据处理系统中解码以供使用。
为了示意性和描述的目的已经对本发明进行了介绍,但以上描述不是穷举的或以所描述的形式来限制本发明。许多改变和变化对本领域的普通技术人员来说是显而易见的。选择并描述实施例是为了最好地解释本发明的原理、实际应用,并且使本领域的其它普通技术人员能够理解本发明可用于按照适合于特定的预计使用方式来进行各种改变而得的多种实施例。
Claims (20)
1、一种在数据存储设备中允许在对所述设备进行格式化的同时对所述设备进行访问的方法,所述方法包括:
在所述设备中从主机接收一个格式化命令;
在所述设备完成格式化之前将一个命令完成响应返回给所述主机,其中所述主机在向所述设备传送任一读取或写入命令之前等待所述命令完成响应;以及
在所述设备被格式化的同时执行从所述主机传送到所述设备的读取和写入命令。
2、根据权利要求1的方法,还包括:
所述设备是包括盘驱动器控制器的硬盘驱动器;
在所述盘驱动器控制器中,从主机接收格式化命令以格式化所述硬盘驱动器;
在所述盘驱动器完成格式化之前,从所述盘驱动器控制器向所述主机返回命令完成响应,其中所述主机在将任一读取或写入命令传送给所述硬盘驱动器之前等待所述命令完成响应;以及
所述盘驱动器控制器在所述硬盘驱动器被格式化的同时执行从所述主机传输给所述硬盘驱动器的读取和写入命令。
3、根据权利要求1的方法,还包括:
响应于接收所述格式化命令,通过将初始化模型存入所述设备中的逻辑块地址中而开始格式化所述设备;以及
在格式化所述设备的同时,执行所述读取和写入命令,以便从所述逻辑块地址中读取数据和向所述逻辑块地址写入数据。
4、根据权利要求3的方法,还包括:
在格式化所述设备的同时,接收一个用以读取包括在所述设备中的特定逻辑块地址的命令;
判断所述特定逻辑块地址是否已被格式化;
响应于所述特定逻辑块地址已被格式化的判断结果,从所述逻辑块地址中读取数据以便作为对所述读取命令的响应而返回;以及
响应于所述特定逻辑块地址还未被格式化的判断结果,将初始化数据作为对所述读取命令的响应而返回。
5、根据权利要求4的方法,还包括:
通过读取包括在所述硬盘驱动器中的写入表来判断所述特定逻辑块地址是否已被格式化;以及
所述硬盘驱动器针对每个已被格式化的逻辑块地址而包含一个指示。
6、根据权利要求3的方法,还包括:
在格式化所述设备的同时,接收将特定数据写入包括在所述设备中的特定逻辑块地址的命令;
判断所述特定逻辑块地址是否已被格式化;
响应于所述特定逻辑块地址已经被格式化的判断结果,将所述特定数据写入所述逻辑块地址;以及
响应于所述特定逻辑块地址还未被格式化的判断结果,将所述特定数据写入所述逻辑块地址并存储一个表示所述逻辑块地址包括实际数据的指示。
7、根据权利要求6的方法,还包括:
通过读取包括在所述硬盘驱动器中的写入表来判断所述特定逻辑块地址是否已经被格式化;
所述硬盘驱动器针对每个已被格式化的逻辑块地址而包含一个指示;
所述硬盘驱动器针对每个已写入实际数据的逻辑块地址而包含一个指示;以及
所述将特定数据写入所述逻辑块地址并存储一个表示所述逻辑块地址包括实际数据的指示的步骤包括将所述特定数据写入所述逻辑块地址和在所述写入表中存储一个表示所述逻辑块地址包括实际数据的指示。
8、根据权利要求1的方法,还包括:
格式化所述设备包括:对所述设备中的每个逻辑块地址,
判断所述逻辑块地址是否已被格式化;
响应于所述逻辑块地址还未被格式化的判断结果,判断实际数据是否已存储在所述逻辑块地址中;
响应于所述逻辑块地址还未被格式化并且没有包括实际数据的判断结果,将初始化数据写入所述逻辑块地址;以及
响应于所述逻辑块地址已经被初始化或已包括实际数据的判断结果,跳过所述逻辑块地址而不将所述初始化数据写入所述逻辑块地址。
9、一种用于在数据存储设备中允许在所述设备进行格式化的同时对所述设备进行访问的装置,所述装置包括:
在所述设备中从主机接收的格式化命令;
在所述设备已被格式化之前返回给所述主机的命令完成响应,其中所述主机在向所述设备传送任一读取或写入命令之前等待所述命令完成响应;以及
在所述设备进行格式化的同时被执行的、从所述主机传送到所述设备的读取和写入命令。
10、根据权利要求9的装置,还包括:
所述设备是包括盘驱动器控制器的硬盘驱动器;
所述盘驱动器控制器从主机接收格式化命令,以格式化所述硬盘驱动器;
所述盘驱动器控制器在完成对所述硬盘驱动器格式化之前向所述主机返回命令完成响应,其中所述主机在将任一读取或写入命令传送给所述硬盘驱动器之前等待所述命令完成响应;以及
所述盘驱动器控制器在所述硬盘驱动器被格式化的同时执行从所述主机传输给所述硬盘驱动器的读取和写入命令。
11、根据权利要求9的装置,还包括:
响应于接收所述格式化命令,通过将一个初始化模型存入所述设备中的逻辑块地址而使所述设备被格式化;以及
在格式化所述设备的同时执行所述读取和写入命令,以便从所述逻辑块地址中读取数据和向所述逻辑块地址写入数据。
12、根据权利要求11的装置,还包括:
在格式化所述设备的同时接收一个用以读取包括在所述设备中的特定逻辑块地址的命令;
所述设备包括一个控制器,用于判断所述特定逻辑块地址是否已被格式化;
所述控制器响应于所述特定逻辑块地址已被格式化的判断结果,从所述逻辑块地址中读取数据以作为对所述读取命令的响应而返回;以及
所述控制器响应于所述特定逻辑块地址还未被格式化的判断结果,将初始化数据作为对所述读取命令的响应而返回。
13、根据权利要求12的装置,还包括:
所述控制器通过读取包括在所述硬盘驱动器中的写入表,来判断所述特定逻辑块地址是否已被格式化;以及
所述硬盘驱动器针对每个已被格式化的逻辑块地址而包含一个指示。
14、根据权利要求11的装置,还包括:
在格式化所述设备的同时,所述设备包括一个控制器,用于接收一个将特定数据写入包括在所述设备中的特定逻辑块地址的命令;
所述控制器判断所述特定逻辑块地址是否已被格式化;
所述控制器响应于所述特定逻辑块地址已经被格式化的判断结果,将所述特定数据写入所述逻辑块地址;以及
所述控制器响应于所述特定逻辑块地址还未被格式化的判断结果,将所述特定数据写入所述逻辑块地址,并存储一个表示所述逻辑块地址包括实际数据的指示。
15、根据权利要求14的装置,还包括:
所述控制器通过读取包括在所述硬盘驱动器中的写入表来判断所述特定逻辑块地址是否已经被格式化;
所述硬盘驱动器针对每个已被格式化的逻辑块地址而包含一个指示;
所述硬盘驱动器针对每个已写入实际数据的逻辑块地址而包含一个指示;以及
所述控制器将特定数据写入所述逻辑块地址并存储一个表示所述逻辑块地址包括实际数据的指示还包括:所述控制器将所述特定数据写入所述逻辑块地址和在所述写入表中存储一个表示所述逻辑块地址包括实际数据的指示。
16、根据权利要求9的装置,还包括:
所述设备包括一个用于格式化所述设备的控制器,包括:针对所述设备中的每个逻辑块地址,
所述控制器判断所述逻辑块地址是否已被格式化;
响应于所述逻辑块地址还未被格式化的判断结果,所述控制器判断实际数据是否已存储在所述逻辑块地址中;
响应于所述逻辑块地址还未被格式化并且没有包括实际数据的判断结果,所述控制器将初始化数据写入所述逻辑块地址;以及
响应于所述逻辑块地址已经被初始化或已包括实际数据的判断结果,所述控制器跳过所述逻辑块地址而不将所述初始化数据写入所述逻辑块地址。
17、一种用于允许在存储设备进行格式化的同时对所述设备进行访问的计算机程序产品,所述产品包括:
用于在所述设备中从主机接收一个格式化命令的指令;
用于在完成对所述设备的格式化之前将一个命令完成响应返回给所述主机的指令,其中所述主机在向所述设备传送任一读取或写入命令之前等待所述命令完成响应;以及
用于在所述设备进行格式化的同时执行从所述主机传送到所述设备的读取和写入命令的指令。
18、根据权利要求17的产品,还包括:
用于在格式化所述设备的同时接收一个命令以读取包括在所述设备中的特定逻辑块地址的指令;
用于判断所述特定逻辑块地址是否已被格式化的指令;
用于响应于所述特定逻辑块地址已被格式化的判断结果,从所述逻辑块地址中读取数据以便作为对所述读取命令的响应而返回的指令;以及
用于响应于所述特定逻辑块地址还未被格式化的判断结果,将初始化数据作为对所述读取命令的响应而返回的指令。
19、根据权利要求18的产品,还包括:
用于在格式化所述设备的同时接收一个命令以将特定数据写入包括在所述设备中的特定逻辑块地址的指令;
用于判断所述特定逻辑块地址是否已被格式化的指令;
用于响应于所述特定逻辑块地址已经被格式化的判断结果而将所述特定数据写入所述逻辑块地址的指令;以及
用于响应于所述特定逻辑块地址还未被格式化的判断结果而将所述特定数据写入所述逻辑块地址并存储一个表示所述逻辑块地址包括实际数据的指示的指令。
20、根据权利要求19的产品,还包括:
用于格式化所述设备的指令,包括:对所述设备中的每个逻辑块地址,
用于判断所述逻辑块地址是否已被格式化的指令;
用于响应于所述逻辑块地址还未被格式化的判断结果,判断实际数据是否已存储在所述逻辑块地址中的指令;
用于响应于所述逻辑块地址还未被格式化并且没有包括实际数据的判断结果,而将初始化数据写入所述逻辑块地址的指令;以及
用于响应于所述逻辑块地址已经被初始化或已包括实际数据的判断结果,跳过所述逻辑块地址而不将所述初始化数据写入所述逻辑块地址的指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/016,216 US7836247B2 (en) | 2004-12-17 | 2004-12-17 | Method, apparatus, and computer program product for permitting access to a storage drive while the drive is being formatted |
US11/016,216 | 2004-12-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1790249A true CN1790249A (zh) | 2006-06-21 |
CN100336008C CN100336008C (zh) | 2007-09-05 |
Family
ID=36597536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005101246832A Expired - Fee Related CN100336008C (zh) | 2004-12-17 | 2005-11-14 | 用于允许在驱动器被格式化的同时访问存储设备的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7836247B2 (zh) |
CN (1) | CN100336008C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915759A (zh) * | 2011-08-05 | 2013-02-06 | 株式会社日立制作所 | 净化存储装置的方法和设备 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8180995B2 (en) * | 2009-01-21 | 2012-05-15 | Micron Technology, Inc. | Logical address offset in response to detecting a memory formatting operation |
US8473704B2 (en) * | 2010-04-28 | 2013-06-25 | Hitachi, Ltd. | Storage device and method of controlling storage system |
US8738880B2 (en) * | 2010-08-17 | 2014-05-27 | International Business Machines Corporation | Throttling storage initialization for data destage |
US8352691B2 (en) * | 2010-08-17 | 2013-01-08 | International Business Machines Corporation | Facilitation of simultaneous storage initialization and data destage |
US9235348B2 (en) * | 2010-08-19 | 2016-01-12 | International Business Machines Corporation | System, and methods for initializing a memory system |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3599178A (en) * | 1969-03-21 | 1971-08-10 | Singer General Precision | Method of storing information on and retrieving information from a magnetic drum |
US4498146A (en) * | 1982-07-30 | 1985-02-05 | At&T Bell Laboratories | Management of defects in storage media |
US5592348A (en) * | 1991-05-17 | 1997-01-07 | Adaptec, Inc. | Method and structure for locating and skipping over servo bursts on a magnetic disk |
JP3303977B2 (ja) * | 1996-04-26 | 2002-07-22 | 松下電器産業株式会社 | 情報記録装置 |
US6038636A (en) * | 1998-04-27 | 2000-03-14 | Lexmark International, Inc. | Method and apparatus for reclaiming and defragmenting a flash memory device |
CN1222871C (zh) * | 1999-03-04 | 2005-10-12 | 英业达股份有限公司 | 格式化磁盘的方法 |
US6385711B1 (en) * | 1999-04-26 | 2002-05-07 | Dell Products, L.P. | 1394 hard disk sector format selection |
US6567887B2 (en) * | 2000-01-03 | 2003-05-20 | Texas Instruments Incorporated | Buffering of partition tables, file system directory structures and individual file cluster chains in a mass storage device |
JP4218168B2 (ja) * | 2000-02-18 | 2009-02-04 | ソニー株式会社 | ディスクドライブ装置、ディスクフォーマット方法 |
US6778974B2 (en) * | 2001-02-02 | 2004-08-17 | Matrix Semiconductor, Inc. | Memory device and method for reading data stored in a portion of a memory device unreadable by a file system of a host device |
JP3714184B2 (ja) * | 2001-03-29 | 2005-11-09 | 富士通株式会社 | 記憶装置のデータ領域間複写処理方法、及び記憶システム |
US6697881B2 (en) * | 2001-05-29 | 2004-02-24 | Hewlett-Packard Development Company, L.P. | Method and system for efficient format, read, write, and initial copy processing involving sparse logical units |
JP2003140835A (ja) * | 2001-11-02 | 2003-05-16 | Nec Gumma Ltd | データ記憶装置 |
JP2004206291A (ja) * | 2002-12-24 | 2004-07-22 | Casio Comput Co Ltd | データ記憶装置及びデータ記憶方法 |
US8166217B2 (en) * | 2004-06-28 | 2012-04-24 | Marvell International Ltd. | System and method for reading and writing data using storage controllers |
-
2004
- 2004-12-17 US US11/016,216 patent/US7836247B2/en not_active Expired - Fee Related
-
2005
- 2005-11-14 CN CNB2005101246832A patent/CN100336008C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915759A (zh) * | 2011-08-05 | 2013-02-06 | 株式会社日立制作所 | 净化存储装置的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN100336008C (zh) | 2007-09-05 |
US20060136662A1 (en) | 2006-06-22 |
US7836247B2 (en) | 2010-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7350017B2 (en) | Magnetic disk unit, file management system, and file management method | |
US9128855B1 (en) | Flash cache partitioning | |
CN105549905B (zh) | 一种多虚拟机访问分布式对象存储系统的方法 | |
US8370857B2 (en) | Device controller | |
US8843699B2 (en) | Flash memory device with multi-level cells and method of writing data therein | |
CN1265273C (zh) | 对数据存储介质并行读写访问的方法、数据存储驱动器以及自动数据存储库 | |
CN101252589B (zh) | 数据缓存装置和采用该装置的网络存储系统及缓存方法 | |
US20110197035A1 (en) | Data storage device, storing medium access method and storing medium thereof | |
CN100336008C (zh) | 用于允许在驱动器被格式化的同时访问存储设备的方法和装置 | |
US20180232314A1 (en) | Method for storing data by storage device and storage device | |
US20110161557A1 (en) | Distributed media cache for data storage systems | |
KR101678868B1 (ko) | 플래시 주소 변환 장치 및 그 방법 | |
CN1940849A (zh) | Raid系统及其重构/回拷处理方法 | |
CN1539100A (zh) | 计算机系统中用于访问磁带设备的方法和系统 | |
US7930496B2 (en) | Processing a read request to a logical volume while relocating a logical volume from a first storage location to a second storage location using a copy relationship | |
US20030149838A1 (en) | Data transfer performance through resource allocation | |
CN1728076A (zh) | 逻辑磁盘管理方法和装置 | |
US8527735B2 (en) | Data storage using virtual addressing | |
CN102043593B (zh) | 一种基于Region的磁盘外置cache管理方法 | |
US20080025706A1 (en) | Information recording apparatus and control method thereof | |
CN1421003A (zh) | 对盘驱动事务处理采用存取日志 | |
US20170160940A1 (en) | Data processing method and apparatus of solid state disk | |
CN110377233A (zh) | Ssd读性能优化方法、装置、计算机设备及存储介质 | |
CN1635580A (zh) | 闪存介质数据写入方法 | |
CN113835614A (zh) | 一种基于分布式文件存储客户端的ssd智能缓存方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070905 Termination date: 20091214 |