CN1323357C - 消除分段存储执行方法和存储器件 - Google Patents
消除分段存储执行方法和存储器件 Download PDFInfo
- Publication number
- CN1323357C CN1323357C CNB2005100548125A CN200510054812A CN1323357C CN 1323357 C CN1323357 C CN 1323357C CN B2005100548125 A CNB2005100548125 A CN B2005100548125A CN 200510054812 A CN200510054812 A CN 200510054812A CN 1323357 C CN1323357 C CN 1323357C
- Authority
- CN
- China
- Prior art keywords
- block
- memory device
- data block
- main equipment
- data
- 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.)
- Expired - Fee Related
Links
- 238000003860 storage Methods 0.000 title claims abstract description 91
- 238000000034 method Methods 0.000 title claims description 44
- 238000013467 fragmentation Methods 0.000 title 1
- 238000006062 fragmentation reaction Methods 0.000 title 1
- 238000012546 transfer Methods 0.000 claims abstract description 37
- 230000008030 elimination Effects 0.000 claims description 20
- 238000003379 elimination reaction Methods 0.000 claims description 20
- 230000002950 deficient Effects 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 6
- 230000007547 defect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 7
- 238000013507 mapping Methods 0.000 abstract 1
- 239000004065 semiconductor Substances 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 1
- 235000012364 Peperomia pellucida Nutrition 0.000 description 1
- 240000007711 Peperomia pellucida Species 0.000 description 1
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
Images
Classifications
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- 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
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B2020/10935—Digital recording or reproducing wherein a time constraint must be met
- G11B2020/10972—Management of interruptions, e.g. due to editing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
当主设备为了消除分段存储等目的而在存储器件中将存储的信息在用户扇区之间转移/交换时,在存储器件接收到指令之后,它允许进行数据转移或交换,但不在主设备与存储器件之间传输;并且即使中断该操作,在主设备与存储器件之间也保持存储信息识别方面的一致性。将存储在目标用户扇区LBA(Y)中的信息复制到虚拟扇区LBA(D)中,将该项目写入映象表RDM中,将存储在源用户扇区LBA(X)中的信息复制到LBA(Y),然后擦除RDM项目。
Description
技术领域
本发明涉及一种用于转移或交换存储在诸如磁盘驱动器、磁光盘驱动器、PC卡半导体存储器和CF卡半导体存储器的随机存取存储器件中的数据块中的数据的技术。更为具体地,本发明涉及一种用于在较高的速度下以降低主设备负担的方式执行消除分段存储(defragmentation)的技术。
背景技术
磁盘驱动器是一种能够存取其磁盘或记录介质上的任意存储位置的随机存取存储器件。此外,该驱动器是一种在各自具有多个字节的数据块中执行数据输入和输出的块(block)器件。将磁盘划分成多个沿着环形磁道形成的固定尺寸的数据块。当主设备从磁盘驱动器读取数据或向磁盘驱动器写入数据时,数据块为最小的单元且,通常被称之为扇区。其间,将簇(cluster)限定为多扇区组和用于主设备管理磁盘上的文件存储位置的最小单元。因此,当将文件记录在磁盘上时,任何小文件使用至少一个簇。
通过操作系统(OS)来完成由主设备所驱动的磁盘的文件管理。OS具有文件管理系统,该文件管理系统通过表来管理块器件中的文件以将文件与存储位置相联系。文件管理系统依赖于OS。在这些可用的系统中,FAT文件系统和NTFS用于Windows(微软有限公司的商标),而HFS用于MAC(苹果计算机公司的商标)。
磁盘驱动器一般具有多个记录表面。而且,每一个记录表面具有多个磁道,每个磁道具有多个扇区。当磁头访问期望的扇区时,在磁盘驱动器中指定相应于那一扇区的CHS参数(柱面数量/磁头数量/扇区数量)。另一方面,为了管理数据存储位置,主设备使用被称之为逻辑块地址(下文中表示为LBA)的单个参数来代替CHS参数已经变得普遍。对于在这种情况下访问期望扇区的磁头,磁盘驱动器在内部将LBA转化为CHS参数。将串行LBA按照一对一的原则顺序地分配到扇区。
将串行LBA顺序分配到磁盘,在任意一个记录表面上产生沿着每一磁道的连续扇区。文件是用于记录磁盘上的数据和程序的集合信息。当为了将数据或程序读入内存而访问磁盘时,构成文件的信息在连续扇区中的邻接记录对于计算机是有利的,因为磁盘驱动器可以减小查找时间和旋转等待时间。
然而,虽然起初,可以在磁盘的扇区或簇中顺序并连续地记录多个文件,但是由于一些文件被删除以及单独的文件被部分删除,所以在连续的被分配的簇之间会出现未分配的簇。当记录新的文件时,由于为了有效地使用记录空间,OS尽力使用被分配的簇之间的未被分配的簇,所以构成该新文件的信息被分散到分离的存储位置。分段存储指的是其中将记录在其上的文件划分成分散在磁盘周围的片断的磁盘情况。分段存储还作为向文件添加数据的结果出现。由于查找时间和旋转等待时间的增加,分段存储使得访问磁盘驱动器的时间增长。
为了整理磁盘器件中的分段存储,主设备执行被称之为消除分段存储的任务。消除分段存储指的是一种顺序地将被分散的文件信息重新分配到毗邻的扇区或簇。为了执行消除分段存储,主设备必须,例如,将数据XYZ从簇A移动到簇B。在这种情况下,主设备发送读指令以将数据XYZ从簇A中读入到主设备的内存中,并将数据XYZ写入到簇B中。然后,主设备从磁盘驱动器中接收写完成指令,并更新管理表以便于改变数据XYZ从簇A到簇B的存储位置。这是因为磁盘驱动器通常只从主设备接收关于扇区LBA的读或写指令。因此,为了移动存储在磁盘上的扇区中的数据,主设备将数据读入到其内存中并向磁盘驱动器发送关于所指定的目标扇区LBA的写指令。在将数据移动到磁盘驱动器中的另一簇之后,主设备的文件管理系统将目标簇认作数据的存储位置。
日本专利公报No.10-301721公开了一种技术,该技术涉及如何重新分配扇区以便于解决转移速率恶化的问题,这一问题是由使用用于缺陷扇区的备用扇区而导致的。将用户数据重新写入备用区并通过跳过初级和次级缺陷扇区来更新分配给扇区的LBA。然后,将包括记录在保存区中的数据的用户数据记录在给其新LBA的扇区中。由于给定新LBA的扇区不使用保存区中的任何扇区,所以可以减小数据存取时间。在这种情况下,主设备的文件管理系统不准许改变数据的存储位置。通过改变在磁性器件中的重新分配缺陷映象表(reallocationdefect map)来改变扇区的LBA和移动数据。
发明内容
然而,在执行消除分段存储的过程中,簇之间的数据转移/交换是不可避免的。如果消除分段存储包括将数据从存储器件中读入到内存中的主设备操作,则在主设备与存储器件之间的数据转移花费时间。这增加了花费于消除分段存储的时间,并消耗主设备的内存和通信路径资源。随着记录介质上的数据量的增大,对记录介质消除分段存储需要非常大量的时间。出现对高速消除分段存储的方法的期望。
特别是,在作为硬盘记录器和MP3记录器/播放器单元的这种将声音和/或图像信息记录在它们的存储器件中的存储设备中,会出现如此非常大量的分段,以至于很难消除分段存储。例如,在硬盘记录器记录电视广播节目的情况中,当磁盘被视频数据充满时,用户会删除其不感兴趣的节目。删除的节目不总是最早的那些。而且,由于每个节目在时间上具有不同的长度,因此很难在连续的地址中记录新的节目。另外,一些硬盘记录器具有不仅自动删除被认为是用户不感兴趣的节目还记录被认为是用户喜欢的节目的能力。在这种硬盘驱动器中,由于和个人计算机相比,更加频繁地进行擦除和写入,所以出现大量的分段。其间,如果通过存储器件一方来完全进行消除分段存储,则万一由于停电或一些其它干扰而导致中断消除分段存储,主设备所期望的数据就会变得与存储器件认可的数据不一致。在这种情况下,主设备不能存取其需要的数据。因此,即使在将数据移动到另一存储位置的过程中中断消除分段存储,也必须在主设备与存储器件之间的数据识别中确保足够的一致性。
因此本发明的一个目的是提供一种用于转移或交换存储在数据块中的数据和更新诸如磁盘驱动器、磁光盘驱动器、PC卡半导体存储器和CF卡半导体存储器的随机存取存储器件中的主设备的文件管理系统的高速方法,该方法不会给主设备施加大量的负担。另外,本发明的另一个目的是提供一种用于对随机存取存储器进行消除分段存储而不给主设备施加大量负担的高速方法。此外,本发明的又一目的是提供一种执行这种方法的存储器件。
根据本发明的原理,为了消除分段存储等目的,主设备向旋转盘型存储器件发送指令,以在旋转盘型存储器件中的数据块之间转移或交换存储的信息。在接收指令之后,存储器件在数据块之间转移或交换信息,而不向或从主设备转移数据。即使中断该操作,也在主设备与存储器件之间保持所存储的信息识别的一致性。
根据本发明的第一个方案,提供一种在存储器件中将存储在源数据块中的信息转移到目标数据块的方法,该存储器件具有包含源数据块、目标数据块和虚拟块的记录介质,并能够与主设备通信。该方法包括下述步骤:接收来自主设备的转移指令;将存储在目标数据块中的信息复制到虚拟块中;在映象表中将数据块映象到虚拟块,写将目标数据块映象到到虚拟块的项目;将存储在源数据块中的信息复制到目标块;从所述映象表中擦除所述项目;和将转移完成指令发送到主设备。
如果主设备与存储器件彼此相互通信,则不需要物理地将它们集成在一起。每个数据块可以为一个扇区或者多个扇区。转移指令可以包括请求存储器件启动关于本发明的程序的指令。映象表可以为重新分配缺陷映象表,通过该映象表可以将次级缺陷扇区映象到备用扇区。特别优选地,存储器件为采用旋转盘型记录介质作为包含源数据块、目标数据块和虚拟数据块的记录介质的旋转盘型存储器件,因为即使在数据转移之间出现停电,也可以在主设备与存储器件之间保持数据一致性。这是因为,与半导体存储器相比,旋转盘型存储器件花费更多的时间来在旋转介质上的数据块之间转移数据,且因此不大可能受停电的影响。
根据本发明的第二个方案,提供一种用于在存储器件中将存储在第一数据块的信息与存储在第二数据块中的信息交换的方法,该存储器件具有包含第一数据块、第二数据块、第一虚拟块和第二虚拟块的记录介质,且其能够与主设备通信。该方法包括下述步骤:接收来自主设备的交换指令;将存储在第一数据块中的信息复制到第一虚拟块;将存储在第二数据块中的信息复制到第二虚拟块,在映象表中,将数据块映象到虚拟块,写将第一数据块映象到第一虚拟块和将第二数据块映象到第二虚拟块的项目;将存储在第一虚拟块中的信息复制到第二数据块;将存储在第二虚拟块中的信息复制到第一数据块;从映象表中擦除所述项目;和向主设备发送交换完成指令。
根据第一和第二方案,能够构成一种用于主设备的消除分段存储的方法。根据本发明的第三个方案,提供一种执行第一和第二方案的存储器件。主设备还可以是硬盘记录器或MP3记录器/播放器。存储数据块等的第一记录介质、存储映象表的第二记录介质和存储要由处理器执行的程序的第三记录介质可以是一个且相同的记录介质,诸如旋转盘型记录介质、半导体存储器等。
本发明可以提供在诸如磁盘驱动器、磁光盘驱动器、PC卡半导体存储器和CF卡半导体存储器的随机存取存储器件中用于转移或交换存储在数据块中的数据和更新主机设备的文件管理系统的高速方法,该方法不会对主设备施加大量负担。此外,本发明可以提供用于对随机存取存储器件进行消除分段存储而不对主设备施加大量负担的高速方法。此外,本发明可以提供执行这种方法的存储器件。
附图说明
图1为根据本发明实施例的示意图,阐述主设备如何对磁盘驱动器执行消除分段存储;
图2为根据本发明该实施例的示意图,阐述磁盘驱动器10的结构;
图3是用于阐述如何在磁盘上组织扇区和簇的图;
图4图示了在磁盘驱动器中的簇之间转移存储数据的方法;
图5为流程图,阐述了在磁盘驱动器中的簇之间转移存储数据的方法;
图6图示了在磁盘驱动器中的簇之间交换存储数据的方法;
图7为流程图,阐述了在磁盘驱动器中的簇之间交换存储数据的方法。
具体实施方式
[由主设备完成的消除分段存储的概要]
参考图1A至1D,下面提供主设备如何根据本发明实施例使用磁盘驱动器进行消除分段存储的总体描述。诸如个人计算机和硬盘记录器的主设备具有用于磁盘驱动器的文件管理系统。它们通过使用,例如管理表1a至1d和管理表3a至3d来管理文件。贯穿该说明书,文件指的是存储在磁盘上的信息,其可以包含用户数据、系统数据、有关磁盘驱动器操作的固件及程序、标识符和用于磁盘驱动器的调节参数等的任何一种。
管理表1a至1d和管理表3a至3d存储在磁盘上的系统区域中。当主设备工作时,将它们从磁盘驱动器读入到内存。管理表1a至1d中的每一个项目具有文件名和其起始簇的地址。此外,根据具体情况,管理表1a至1d存储每个文件的扩展、属性、写日期/时间、尺寸等。管理表3a至3d中的项目具有其起始簇地址存储在管理表1a至1d中的相应文件的随后簇的地址。管理表3a至3d表示磁盘驱动器具有总共n个簇。
图1A中的管理表1a和管理表3a表示在磁盘驱动器中存储四个文件ABC、DEF、GHI和JKL。管理表1a将2(文件ABC)、8(文件DEF)、12(文件GHI)和14(文件JKL)分别存储作为四个文件的起始簇的地址。在每个簇中,按照LBA次序(order)来布置多个扇区。通过其在多个扇区之中的第一扇区的LBA,能够指出各簇的起始地址。关于文件ABC,要检验管理表3a。在簇地址2的项目中,将3存储为下一簇的地址。在簇地址3的项目中,将4存储为第三簇的地址。随后存储的连续的簇地址表示构成文件ABC的信息被顺序地存储在六个簇中,其簇地址为2、3、4、5、6和7。值得注意的是,管理表3a项目中的FFF意味着文件在那里终止。
同样,将文件DEF顺序地存储在四个簇中,其簇地址为8、9、10和11,将文件GHI存储在簇地址为12和13的两个簇中,并将文件JKL存储在簇地址为14、15、16和17的四个簇中。值得注意的是,0出现在簇地址18、19、n-3、n-2和n-1的项目中。数字0意味着该簇没有被使用。同样值得注意的是符号“-”出现在簇地址0和1的项目中。符号“-”意味着该簇将不会被用户使用。在图1A中,将四个文件顺序地存储在连续的簇中,且没有发生分段存储。项目中的FFF、“-”和0的含义通用于管理表3a至3d。
图1B表示主设备从磁盘中删除文件DEF。将文件DEF和其起始簇的地址从管理表1b的项目中取消。在管理表3b中,将用于簇地址8、9、10和11的项目重新写为使这些簇空着的0。图1C表示将使用六个簇的文件MNO写在其先前的存储情况如图1B所表示的磁盘上。当写入新的文件,OS的文件管理系统为了空簇查找管理表3a、3b、3c或3d,以便于将文件顺序地写入空簇中。在图1B的情况下,由于簇地址为8、9、10和11的四个簇是空的,所以起先将构成文件MNO的信息顺序地写入那里。然而,由于多出来的两个簇不能作为临近的区域来获得,所以将剩余的信息写入簇18和簇19中。因此,文件MNO被写入在簇地址8、9、10、11、18和19中。由于簇地址11远离簇地址18,其中间有其它簇,所以发生分段存储。
当响应于来自主设备的读取指令来读取文件MNO时,在磁盘旋转期间,磁盘驱动器的磁头可以按照磁道次序和扇区次序来顺序地访问簇地址8与簇地址11之间的磁盘。然而,为了在访问簇地址11之后访问簇地址18,会存在查找操作时间和旋转等待时间。图1D表示通过对图1C所示存储情况的磁盘驱动器进行消除分段存储来清理分段存储。这需要将存储在簇地址11和随后簇中的信息重新写入。
将已经存储在簇地址18中的信息写入簇地址12,以便于已经存储在簇地址18中的信息跟在簇地址11之后。同样,将已经存储在簇地址19中的信息写入到簇地址13中。一致地,将管理表3中用于簇地址11和12的项目分别改变为12和13。此外,将用于簇地址13的项目改变为FFF。同样,在如图1D中所示的其它簇地址中重新写入构成文件GHI的信息和构成文件JKL的信息。
图1D示出消除分段存储的结果。在管理表1d中,将文件GHI的起始地址改变为14,并将文件JKL的起始地址改变为16。此外,在管理表3d中,将用于簇地址11的项目和随后项目全部改变为新的簇地址。因此,即使在通过向簇重新分配存储信息来进行消除分段存储之后,OS的文件管理系统通过利用管理表1d和管理表3d也能精确地访问磁盘。
从图1D中的管理表3d中显而易见,由于将构成文件MNO、GHI、JKL的信息全部顺序地写入邻近的簇地址中,因此分段存储得以消除。当为了消除分段存储将信息从一个簇转移到另一个簇时,OS初步地将目标簇中的信息保存到分离的区域以便于不丢失信息。另外,由OS来确定转移顺序,以便于信息总是被转移到空扇区中。即,消除分段存储包括将实际存在磁盘上的簇中的信息转移到其它簇中的任务以及在OS文件管理系统的管理下更新管理表的任务。
[磁盘驱动器的结构]
参考图2,下面描述根据本发明实施例的磁盘驱动器10的整体结构。贯穿该说明书,相同的元件由相同的参考标记表示。参考标记11表示作为记录介质的一个或多个安装在主轴轴套上的叠置的磁盘,每个磁盘的每一侧面上具有包括磁性层的记录表面。由主轴电机13来旋转磁盘。在每一磁盘11的每一记录表面上同心地形成多个磁道。在环形方向上,每一磁道具有多个512字节的扇区或数据块。扇区是最小的数据读/写单元。在磁盘驱动器10中,由CHS参数识别每一扇区的位置,以便于将每一磁头15定位在期望的扇区。另一方面,当主设备55向磁盘驱动器10指定文件存储位置时,它将发送扇区的LBA或各自限定为扇区集的簇地址。
参考图3,下面描述如何在磁盘11上组织扇区和簇。假设磁盘11为多个叠置的磁盘,每一个磁盘在每一侧面上具有记录表面。将LBA0分配给第一磁盘顶侧上的最外面的一个磁道中的扇区。然后按照在旋转方向上出现的次序,分别将LBA1、LBA2以及随后连续的数字分配给剩余的扇区。然后,将随后上升的数字分别分配给在第二靠外的磁道中存在的所有扇区。对于第一磁盘的底侧、第二磁盘的顶侧和第二磁盘的底侧重复这种分配。因此,对所有磁盘的所有表面上的所有扇区分别给定连续的数字。在图3A中示出该最终情况。值得注意的是,扇区的数量有时与LBA的数量不同,因为仅对可用的扇区分配LBA。当将LBA分配给扇区时,跳过在制造工艺期间通过检验而探测到的初级缺陷扇区。另外,将磁盘11划分成用户区和系统区。用户区由用户扇区构成,由用户使用该用户扇区来存储数据和程序,而系统区由用于存储磁盘驱动器10的系统使用的数据和程序的扇区构成。这些区由磁盘驱动器管理。
磁盘11在用户和系统区中总共具有m个扇区。按照连续次序分别将LBA分配给这些扇区。在该实施例中,主设备55将四个扇区为一组限定为簇,且磁盘驱动器10将一个簇地址分配给每一个四个扇区组,总共具有n个簇地址。由主设备55来自由确定簇的大小。如果在开始使用磁盘驱动器10之后,在一些用户扇区中出现次级缺陷,则将有缺陷的用户扇区中的数据写入在系统区中准备的备用区。为了将这种用户扇区的LBA与它们在备用区中的备用扇区的LBA联系在一起,提供重新分配缺陷映象表(下文中表示为RDM)61(参考图3B)。
将RDM 61存储在非易失性记录介质EEPROM 43中。当磁盘驱动器10起动时,将RDM 61读入到RAM 39中。每次更新项目,便对EEPROM 43进行写入。选择地,可将RDM 61存储在磁盘11的系统区中。如果通过主设备55指出缺陷扇区的LBA,则使用RDM 61来访问其备用扇区。在磁盘驱动器10中内部完成缺陷扇区的重新分配。当重新分配缺陷扇区时,主设备55的文件管理系统不认可备用扇区的LBA,但是主设备55继续认可缺陷扇区的LBA。
图3A表示磁盘11在用户扇区LBA5和LBA14具有次级缺陷。在RDM 61中,制作项目以将用户扇区LBA5和LBA14分别与备用扇区LBA101和LBA102相联系。因此将扇区LBA5映象到扇区LBA101,而将扇区LBA14映象到LBA102。备用扇区LBA101和LBA102为在系统区中准备的扇区。当主设备55访问磁盘驱动器10以读取某些文件时,它指定簇地址。磁盘驱动器101查阅RDM 61,同时按照LBA的升序访问指定的簇地址中的扇区。如果在簇中发现缺陷扇区,则将访问移动到其备用扇区已从中读取信息并将其发送的主设备。
磁头15包括两个独立的转换器或一个公共的转换器,通过将电信号转换为磁信号或将磁信号转换为电信号来执行向或从磁盘11写入或读取。承载磁头15的致动器组件17在枢轴上转动以将磁头15移动到磁盘11上的期望磁道上。音圈电机(下文表示为VCM)19由安装在驱动器组件17上的音圈以及配置在磁盘驱动器10的底座上的音圈磁铁和音圈磁扼构成。通过经过音圈的电流来控制致动器组件17的操作。VCM驱动器21接收来自数字模拟转换器(下文表示为DAC)23的电压信号并将其转换为驱动VCM 19的电流。DAC 23接收来自微处理单元(下文表示为MPU)25的用于定位磁头15的数字信号并将其转化为模拟电压信号。
设置有AD转换器的主轴电机驱动器27接收来自MPU 25的数字信号并将其转换为驱动主轴电机13的电流。在读操作期间,前置放大器29放大通过磁头15从磁盘11中取回的微弱的模拟读出信号,并将放大的信号发送到读/写信道(下文中表示为R/W信道)31。在写操作期间,前置放大器29将来自R/W信道31的模拟写信号放大,将放大的信号输出到磁头15。
R/W信道31执行用于读或写数据的数据处理。R/W信道31经由硬盘控制器(下文中表示为HDC)33来接收从主设备55发出的数字写数据。R/W信道31将接收的数字数据转换为写电流并将其发送到前置放大器29。此外,R/W信道31将来自磁头15的读出信号转换为数字数据。R/W信道31将数字数据经由HDC 33发送到主设备55。伺服控制器37从由R/W信道31输出的读出数据中提取磁头位置信息并将该信息发送到MPU 25和HDC 33。
作为与主设备55通信的接口,HDC 33在主设备55的数据转移速率与磁盘驱动器10的内部数据处理速率之间提供协调。HDC 33允许从主设备55转移的数据临时存储在缓冲器35中,并根据来自MPU25的指令,将其发送到R/W信道31。此外,HDC 33允许将从R/W信道31转移的数据临时存储在缓冲器35中,并根据来自MPU 25的指令,将其发送到主设备55。此外,HDC 33设置有数据错误校正电路、地址标记探测电路等。HDC 33还具有允许与主设备55数据通信的电阻器。
在与HDC 33合作中,MPU 25进行磁盘驱动器10的总体控制。MPU进行根据本发明实施例的消除分段存储的执行程序。为了执行从主设备55发送的指令,MPU 25在扇区或簇之间转移或交换信息。一旦数据转移或交换完成,MPU 25向主设备55发送完成命令。MPU 25直接访问HDC 33中的各种寄存器以控制向和从主设备55的数据转移。将从主设备55发送的磁盘11上的簇地址通过MPU 25转换为LBA,并进一步转换为CHS参数。参考RDM 61,MPU 25还计算与次级缺陷扇区相关的备用扇区的地址。另外,MPU 25根据从伺服控制器37发出的伺服信息来识别磁头15的位置,并向数字模拟转换器(下文中表示为DAC)23发送用于将磁头15移向目标位置的数字信号。根据当前位置与从主设备55所指定的地址中计算的目标位置之间的差,来产生该数字信号。
只读半导体存储器(下文中表示为ROM)41存储消除分段存储执行程序,该程序由MPU 25来执行以实现根据本发明实施例的消除分段存储。选择地,可以将该消除分段存储执行程序存储在磁盘11的系统区中。随机存取存储器(下文中表示为RAM)39为用于临时存储要由MPU 25执行的各种程序的主存储单元。RAM 39还用于MPU25的工作存储。磁盘驱动器工作的同时,还在RAM 39中保存簇地址到CHS参数的变换表和RDM 61。
电可重写非易失性记录介质(下文表示为EEPROM(电可擦除可编程只读存储器))43存储专用于磁盘驱动器10的信息,诸如模式名称、序列号、固件版本、要使用的协议和制造商的名字、以及关于用于电源管理、写入超高速缓存、超前超高速缓存、写缓冲等的信息。EEPROM 43存储RDM 61,在该RDM 61中使得项目将次级缺陷扇区映象到备用扇区。此外,在磁盘驱动器10操作同时,EEPROM 43保存错误记录、事件记录、执行数据记录、伺服记录、主机记录等。
主设备55为使用磁盘驱动器10作为外部存储器件或辅助存储器件的电子设备,其连接于接口连接器47,根据诸如ATA(AT附件)或SCSI(小型计算机系统接口)标准的接口协议进行与磁盘驱动器10的数据转移。在该实施例中,磁盘驱动器10采用ATA接口标准。另外,主设备55检验磁盘驱动器10被如何分段存储,产生用于将存储在用户扇区或簇中的信息重新分配的方案,并确定在扇区或簇之间转移/交换存储信息,以便于执行消除分段存储。
到此为止已经参考方框图描述了根据本发明实施例的磁盘驱动器10。值得注意的是,每个块的名字和功能、块与块之间的相互关系以及其它是举例性的。本发明的原理不限于该实施例。本发明的范围覆盖所有的修改,诸如添加功能、修改块而不改变其功能、分解块和集成块,只要通过参考本说明书,本领域技术人员可以将其制作成本实施例。
[用于转移存储在簇中的数据的方法]
下面参考图4和5描述用于在磁盘驱动器10中的簇之间转移存储信息的方法。假设主设备55已经检验到文件是如何存储在磁盘11上并根据识别的分段存储准备了用于消除分段存储的存储信息转移程序。例如,在图1C中,由于在簇8、9、10、11、18和19中按照该次序顺序地存储文件MNO,因此必须将存储在簇18和19中的信息移动到簇12和13。为了该目的,必须通过将存储在簇12和13中的信息转移到未使用的其它簇中,来预先将簇12和13变成空簇。
为了转移簇12或簇13中的数据,必须转移包含在该簇中的扇区中的数据。因此,通过假设用户扇区LBA(X)中的数据转移到用户扇区LBA(Y),来以普通的方式描述磁盘驱动器10中的簇之间的数据转移,如图4和5中所示。这里,在本说明书中,数据转移意味着将存储在源用户扇区的数据存储到目标用户扇区。在数据转移之后,主设备是否认为被转移的数据保持存储在源用户扇区中或源用户扇区为未使用的用户扇区是无关紧要的。
未使用的扇区或簇意味着被主设备的文件管理系统考虑为其中没有存储数据的扇区或簇,而不管是否在其中实际存储数据。每个簇为多个扇区构成的一个组。能够通过确定其第一扇区的LBA和构成该簇的扇区数量来指明具体的簇。因此,虽然本说明书描述了如何转移记录在扇区中的数据,但是这也可以导致理解如何转移记录在簇中的数据。
图4提供如何将记录在用户扇区LBA(X)中的数据abc转移到用户扇区LBA(Y)。图5是用于阐述如何将数据从用户扇区LBA(X)转移到用户扇区LBA(Y)的流程图。在框101中,主设备55使用普遍的公知技术来通过扫描磁盘11上的扇区检查分段存储的状态并形成用于消除分段存储的簇至簇的数据重新分配的方案。
在数据转移之前,数据abc存储在用户扇区LBA(X)中,而数据def存储在用户扇区LBA(Y)中,如图4A中所示。假定用户扇区LBA(Y)为未使用的扇区是没关系的。虚拟扇区LBA(D)是在磁盘11上的系统区中准备的并在将数据从用户扇区LBA(X)转移到用户扇区LBA(Y)时用作临时数据存储位置的扇区。
虚拟扇区LBA(D)执行与图3描述的备用扇区LBA101和LBA102相同的功能。如果在RDM中设置项目以将用户扇区映象到虚拟扇区LBA(D),则用户扇区LBA(X)或用户扇区LBA(Y)都可以访问。这里,映象意味着将一个扇区的地址与另一个扇区的地址相联系,以便于,例如,在MPU 25打算访问LBA(X)时,访问虚拟LBA(D)。
虚拟扇区LBA(D)为仅由磁盘设备10的系统识别和访问的扇区。该扇区不能被主设备识别且不能直接被用户访问。图4中的RDM相应于图3描述的RDM 61。可以更新存储在RDM中的项目。为了简化描述,图4省略了RDM中设置以映象次级缺陷扇区的LBA的项目。
通过图1中示出的管理表1和3中的簇地址,主设备55的文件管理系统识别数据abc存储在用户扇区LBA(X)中而数据def存储在用户扇区LBA(Y)中。因此,如果主设备55向磁盘驱动器10发送指令以从用户扇区LBA(X)读取数据,则可以一致地读出主设备55打算读取的数据。在图4A中,由于没有在RDM中写入任何东西,所以已经接收读指令的MPU 25不能访问虚拟扇区LBA(D),尽管其查找RDM。因此,即使将一些数据XXX存储在虚拟扇区LBA(D)中,MPU 25也不从虚拟扇区LBA(D)中读取数据XXX。在发送数据转移指令之前,主设备55发送指令以请求MPU 25启动消除分段存储程序以便于产生磁盘驱动器10可以执行根据本实施例的数据转移的环境。选择地,可以将消除分段存储执行程序的启动指令包含在数据转移指令中。
在框103中,主设备55向磁盘驱动器10发送指令以将用户扇区LBA(X)中的数据abc转移到用户扇区LBA(Y)。在磁盘驱动器10中,通过MPU 25执行ROM 41中的消除分段存储执行程序以执行数据转移。在框105中,MPU 25将目标用户扇区LBA(Y)中的数据def复制到虚拟扇区LBA(D)中。然而,由于没有在RDM中写入项目,所以MPU 25不访问虚拟扇区LBA(D)。在框107中,MPU 25将项目写入RDM中以将用户扇区LBA(Y)映象到虚拟扇区LBA(D),如图4C中所示。
设计成,只要MPU 25计算来自主设备55指定的扇区LBA的CHS参数,MPU 25就查找RDM。因此,如果在框107中写入项目之后主设备55指令访问用户扇区LBA(Y),则MPU 25会访问虚拟扇区LBA(D)。因此,MPU 25不会访问用户扇区LBA(Y),尽管数据def保持存储在该扇区中。
在框109中,将用户扇区LBA(X)中的数据abc复制到用户扇区LBA(Y)中,如图4D中所示。如果主设备55发送指令以访问用户扇区LBA(Y),则MPU 25访问虚拟扇区LBA(D),因为用户扇区LBA(Y)被RDM项目映象到虚拟扇区LBA(D)。因此主设备55在LBA(Y)中期望的数据在磁盘驱动器10中被一致地识别。
在框111中,擦除写入到RDM中的将用户扇区LBA(Y)映象到虚拟扇区LBA(D)的项目。如果在框111中擦除写入的项目之后主设备55命令MPU 25访问用户扇区LBA(Y),则用户扇区LBA(Y)会被访问。在此,由于主设备55仍认为数据def存储在用户扇区LBA(Y)中,所以主设备55期望的数据在磁盘驱动器10中不被一致地识别。
在框113中,MPU 25向主设备55发送数据转移完成指令。在框115中,主设备55根据该指令更新管理表项目以便于将用户扇区LBA(X)认作未使用的扇区而将数据abc认作存储在用户扇区LBA(Y)中。这再次使得由主设备55所识别的与由磁盘驱动器10所识别的一致。由于在相对较短的时间完成框111至框115,所以消除分段存储操作中断而不能保持主设备55与磁盘驱动器10之间的数据一致性的可能性很低,基本上根本不会引起任何麻烦。
在框115中,可以修改主设备55的文件管理系统对管理表项目的更新,以便于原始数据abc仍被识别为存储在用户扇区LBA(X)中。这相应于将数据从用户扇区LBA(X)复制到用户扇区LBA(Y)。
然后,假设,在框103中将传输指令从主设备55传输到磁盘驱动器10之后,在框115中响应于从磁盘驱动器10接收的转移完成指令,主设备55更新管理表项目之前由于停电或某些其它原因,转移操作或消除分段存储中断。根据本实施例,如下面将要描述的,即使在这种情况中,也可以保持在主设备55与磁盘驱动器10之间的数据一致性。
如果在框105中将用户扇区LBA(Y)中的数据def复制到虚拟扇区LBA(D)中的同时,中断操作,则可能会存在不能将数据def正确地复制到虚拟扇区LBA中。然而,在消除分段存储被停止时,也不将相应的项目写入RDM中。如果MPU 25从主设备55接收到访问用户扇区LBA(Y)的指令,则MPU 25会访问用户扇区LBA(Y)。因此可以保持在磁盘驱动器10与主设备55之间的数据一致性。
假设在框107中将使得用户扇区LBA(Y)映象到虚拟扇区LBA(D)的项目写入到RDM中时,发生中断。如果写入项目没有开始或没有结束,则在主设备55与磁盘驱动器10之间的数据一致性得以保持,因为在前一种情况下将访问用户扇区LBA(Y)而在后一种情况下将访问虚拟扇区LBA(D)。在RDM中每一项目的数据写入量非常小且EEPROM 43允许高速写入。因此,诸如将用户扇区LBA(Y)映象到某些地址而不是虚拟扇区LBA(D)的这种写入错误的可能性非常小。而且,在电源开通时,RDM通常被复制和检验。如果在将项目写入RDM时出现错误,则会使用另一RDM。如果判断项目被正确写入,则会使用该RDM。因此,不会发生上述问题。
假设在框109中,将用户扇区LBA(X)中的数据abc复制到用户扇区LBA(Y)中时发生中断。在这种情况下,存在不能将数据abc正确地复制到用户扇LBA(Y)的可能性。然而此时,如果通过MPU25从主设备55接收到访问用户扇区LBA(Y)的指令,则MPU 25访问虚拟扇区LBA(D),因为将用户扇区LBA(Y)映象到虚拟扇区LBA(D)的项目已被写入。因此,主设备55期望的数据被磁盘驱动器10一致地识别。因此,数据的一致性得以保持。至于框111与框115之间的中断,上面的相应描述也适用。
在本实施例中,如到此为止所述那样,在从主设备接收了在扇区或簇之间转移数据的指令之后,在磁盘驱动器内执行该指令。因此,不需要向和从主设备55传输数据和从主设备55接收多个指令。这允许以高速度执行数据转移同时减小主设备上的负担。特别是,在利用SCSI、光纤信道或一些其它数据总线将主设备连接于多个磁盘驱动器的环境下,在快速方面可以显著地提高数据转移的执行,因为,在主设备与磁盘驱动器之间传输的数据的量减小允许执行数据转移而不用等待数据总线的可用时隙。另外,由于主设备能够仅通过向磁盘驱动器发送一个指令来使其转移数据,所以可以比以前更加减小主设备上的负担。本实施例的数据转移方法的用途并不限于消除分段存储。当然,该转移方法可以用作在磁盘驱动器中的扇区或簇之间转移数据、同时通过将该结果反映给文件管理系统的管理表来保持主设备与磁盘驱动器之间的数据一致性的普通方法。换句话说,该文件转移方法可以用作这样一种方法,该方法不像在日本专利公报No.10-301721公开的那样,它不需要LBA到扇区的重新分配,以便于在移动数据之后保持在主设备与磁盘之间的数据一致性。
[用于交换存储在簇中的数据的方法]
参考图6和7,下面描述为了消除分段存储在磁盘驱动器10中的簇之间交换数据的方法。由于消除分段存储是根据主设备55确定的消除分段存储方案在扇区或簇之间重新分配数据,所以需要在簇之间交换存储的数据。由于除了使用两个虚拟扇区LBA(D1)和LBA(D2)之外,在结构上用户扇区、虚拟扇区、RDM和主设备55中的管理表与图4中的那些相同,所以省略它们的描述。
图6A表示在磁盘11上,数据abc存储在用户扇区LBA(X)上,而数据def存储在用户扇区LBA(Y)上。这种情形被MPU 25和主设备55两个都识别。在虚拟扇区LBA(D1)和LBA(D2)中的每一个中,存储了一些数据XXX。然而,由于没有项目写入RDM中,所以MPU 25不访问虚拟扇区LBA(D1)和LBA(D2)。
在框201中,主设备55确定将用户扇区LBA(X)中的数据abc与用户扇区LBA(Y)中的数据def交换,并向磁盘驱动器10发出启动取消分段存储执行程序的指令。在框203中,主设备55向磁盘驱动器10发送数据交换指令。交换指令是在用户扇区LBA(X)与用户扇区LBA(Y)之间交换数据的指令。选择地,可以将该指令设计成包括取消分段存储执行程序的启动指令。还能够指定在簇之间数据交换,来代替在扇区之间。
在框205中,MPU 25接收交换指令并执行取消分段存储程序。如图6B中所示,MPU 25将用户扇区LBA(X)中的数据abc复制到虚拟扇区LBA(D1)。然而,由于没有项目写入RDM中,所以MPU25不访问虚拟扇区LBA(D1)。然后,在框207中,MPU 25将用户扇区LBA(Y)中的数据def复制到虚拟扇区LBA(D2)中,如图6C所示。由于没有项目写入RDM,所以MPU 25也不访问虚拟扇区LBA(D2)。
在方框209中,如图6(D)中所示,MPU 25将项目写入RDM中,以将用户扇区LBA(X)映象到虚拟扇区LBA(D1)并将用户扇区LBA(Y)映象到虚拟扇区LBA(D2)。这之后,MPU 25不识别存储在用户扇区LBA(X)和LBA(Y)中的数据,因为试图访问用户扇区LBA(X)或LBA(Y)导致查询RDM并访问虚拟扇区LBA(D1)或LBA(D2)。
在框211中,如图6E中所示,MPU 25将虚拟扇区LBA(D1)中的数据abc复制到用户扇区LBA(Y)。如果主设备55发出访问用户扇区LBA(Y)的指令,则MPU 25访问虚拟扇区LBA(D2),因为MPU 25查询的RDM项目将用户扇区LBA(Y)映象到虚拟扇区LBA(D2)。因此在LBA(Y)中主设备55期望的数据在磁盘驱动器10中被一致识别。在框213中,如图6F所示,MPU 25将虚拟扇区LBA(D2)中的数据def复制到用户扇区LBA(X)。如果主设备55发出访问用户扇区LBA(X)的指令,则MPU 25访问虚拟扇区LBA(D1),因为MPU25查询的RDM项目将用户扇区LBA(X)映象到虚拟扇区LBA(D1)。因此在LBA(X)中主设备55期望的数据在磁盘驱动器10中被一致识别。
在框215中,如图6(G)所示,擦除在RDM中写入的用于将用户扇区LBA(X)映象到虚拟扇区LBA(D1)和将用户扇区LBA(Y)映象到虚拟扇区LBA(D2)的项目。此后,如果命令MPU 25访问用户扇区LBA(X)或用户扇区LBA(Y),则MPU 25会直接访问用户扇区LBA(X)或用户扇区LBA(Y),而不访问虚拟扇区LBA(D1)或虚拟扇区(D2)。在此,由于主设备55认为数据abc和数据def还分别存储在用户扇区LBA(X)和用户扇区LBA(Y),所以主设备55期望的数据在磁盘驱动器10中不被一致地识别。
在框217中,MPU 25向主设备55发送数据交换完成指令。在框219中,主设备55根据该指令更新管理表项目以便于识别数据abc存储在用户扇区LBA(Y)中而数据def存储在用户扇区LBA(X)中。这再次使得主设备55所识别数据与由磁盘驱动器10所识别的数据一致。由于在相对较短的时间完成框215至框219,所以消除分段存储操作中断而不保持主设备55与磁盘驱动器10之间的数据一致性的可能性很低,基本上不会引起任何麻烦。
然后,假设在框203中将交换指令从主设备55传送到磁盘器件10之后,在框219中主设备55响应从磁盘器件10接收的指令转移完成指令来更新管理表项目之前,由于停电或某些其它原因引起交换操作中断。根据本实施例,如下面所述,即使在这种情况下也能保持在主设备55与磁盘器件10之间的数据一致性。
如果在框205中将用户扇区LBA(X)中的数据abc复制到虚拟扇区LBA(D1)时,操作中断,则可能会存在数据abc不能正确地复制到虚拟扇区LBA(D1)中的情况。然而,当消除分段存储被停止时,也不将相应的项目写入RDM中。如果MPU 25从主设备55接收访问用户扇区LBA(X)的指令,则MPU 25会访问用户扇区LBA(X)。因此,可以在磁盘器件10与主设备55之间保持数据一致性。
如果在框207中将用户扇区LBA(Y)中的数据def复制到虚拟扇区LBA(D12)时,操作中断,则可能会存在数据def不能正确地复制到虚拟扇区LBA(D2)中的情况。然而,当消除分段存储被停止时,也不将相应的项目写入RDM中。如果MPU 25从主设备55接收访问用户扇区LBA(Y)的指令,则MPU 25会访问用户扇区LBA(Y)。因此,可以在磁盘器件10与主设备55之间保持数据一致性。
假设在框209中在RDM中分别写入将用户扇区LBA(X)和LBA(Y)映象到虚拟扇区LBA(D1)和LBA(D2)的项目时,发生中断。如果写项目没有开始或没有完成,则主设备55与磁盘器件10之间的数据一致性得以保持,因为在前一种情况下会访问用户扇区LBA(X)或LBA(Y)而在后一种情况下会访问虚拟扇区LBA(D1)或LBA(D2)。RDM中的每个项目的数据写入量非常小,且EEPROM 43允许高速写入。因此,导致诸如将用户LBA(X)和LBA(Y)映象为某些地址而不是虚拟扇区LBA(D1)和LBA(D2)的可能性非常小。而且,如前所述,RDM通常被复制以防止这种写入错误带来问题。
假设在框211中将虚拟扇区LBA(D1)中的数据abc复制到用户扇区LBA(Y)时,操作中断。在这种情况下,存在数据abc不能正确地复制到用户扇区LBA(Y)的可能性。然而此时,如果MPU 25从主设备55接收到访问用户扇区LBA(Y)的指令,则MPU 25访问虚拟扇区LBA(D2),因为写入的是将用户扇区LBA(Y)映象到虚拟扇区LBA(D2)的项目。因此,主设备55期望的数据被磁盘器件10一致识别。因此保持数据的一致性。
假设在框213中将虚拟扇区LBA(D2)中的数据def复制到用户扇区LBA(X)时,操作中断。在这种情况下,存在数据def不能正确地复制到用户扇区LBA(X)的可能性。然而此时,如果MPU 25从主设备55接收到访问用户扇区LBA(X)的指令,则MPU 25访问虚拟扇区LBA(D1),因为写入的是将用户扇区LBA(X)映象到虚拟扇区LBA(D1)的项目。因此,主设备55期望的数据被磁盘器件10一致认可。因此保持数据的一致性。关于在框215与框219之间的中断,先前已经提供了描述。值得注意的是,虽然已经将旋转盘型存储器件的一个实例的磁盘驱动器件作为实施例来描述,但是本发明还可应用于诸如具有半导体存储器和处理器的PC卡和CF卡的存储器件。
在本实施例中,如到此为止所描述的那样,在从主设备55接收了在扇区或簇之间交换数据的指令之后,在磁盘驱动器内执行该指令。因此,不需要向和从主设备55传输数据和从主设备55接收多个指令。这允许高速执行数据交换同时减小主设备的负担。使用根据本实施例的数据交换方法并不限于消除分段存储。该交换方法可以用作在磁盘驱动器中的扇区或簇之间交换数据、同时通过将该结果反映给文件管理系统的管理表来保持在主设备与磁盘器件之间的数据一致性的普通方法。同样,值得注意的是,RDM用作将用户扇区映象到虚拟扇区的映象表,选择地,可以与RDM分开地提供专用于转移或交换记录信息的映象表。
虽然已经结合附图中示出的具体实施例对本发明进行了描述,但附图中示出的实施例并没有限制作用。勿庸置疑,能够提供本发明效果的任何公知结构都可以采用。
Claims (20)
1.一种能够与主设备进行数据通信的存储器件,所述存储器件包括:
第一记录介质,其具有源数据块、目标数据块和虚拟块;
第二记录介质,其具有将数据块映象到虚拟块的映象表;
第三记录介质,其具有存储在其中的程序;和
处理器,其控制所述存储器件的操作,其中所述处理器根据存储在所述第三记录介质内的所述程序执行下述步骤:
接收来自主设备的转移指令;
将存储在目标数据块中的信息复制到虚拟块中;
在映象表中,写入将目标数据块映象到虚拟块的项目;
将存储在源数据块中的信息复制到目标数据块;
擦除写入到映象表中的项目;和
向主设备发送转移完成指令。
2.根据权利要求1的存储器件,其中目标数据块为未使用的数据块。
3.根据权利要求1的存储器件,其中第一记录介质为旋转盘型记录介质。
4.根据权利要求3的存储器件,其中在旋转盘型记录介质上的系统区中准备虚拟块。
5.根据权利要求3的存储器件,其中映象表为重新分配缺陷映象表,通过该映象表,将在旋转盘型记录介质上出现的缺陷扇区映象到备用扇区。
6.根据权利要求3的存储器件,其中每一数据块是一组多个扇区的簇。
7.根据权利要求3的存储器件,其中转移指令为用于进行消除分段存储的转移指令。
8.一种能够与主设备进行数据通信的存储器件,所述存储器件包括:
第一记录介质,其具第一数据块、第二数据块、第一虚拟块和第二虚拟块;
第二记录介质,其具有将数据块映象到虚拟块的映象表;
第三记录介质,其具有存储在其中的程序,和
处理器,其控制所述存储器件的操作,其中所述处理器根据存储在所述第三记录介质内的所述程序执行下述步骤:
接收来自主设备的交换指令;
将存储在第一数据块中的信息复制到第一虚拟块中;
将存储在第二数据块中的信息复制到第二虚拟块中;
在映象表中写项目,通过该项目将第一数据块映象到第一虚拟块并将第二数据块映象到第二虚拟块;
将存储在第一虚拟块中的信息复制到第二数据块;
将存储在第二虚拟块中的信息复制到第一数据块;
从映象表中擦除所述项目;和
向主设备发送交换完成指令。
9.根据权利要求8的存储器件,其中第一记录介质为旋转盘型记录介质。
10.根据权利要求9的存储器件,其中在旋转盘型记录介质上的系统区中准备第一虚拟块和第二虚拟块。
11.根据权利要求9的存储器件,其中映象表为重新分配缺陷映象表,通过该映象表,将在旋转盘型记录介质上出现的缺陷扇区映象到备用扇区。
12.根据权利要求9的存储器件,其中每一数据块是一组多个扇区的簇。
13.根据权利要求9的存储器件,其中交换指令为用于进行消除分段存储的交换指令。
14.一种用于在存储器件中将存储在源数据块中的信息转移到目标数据块的方法,该存储器件具有包含源数据块、目标数据块和虚拟块的记录介质,并能够与主设备相通信,所述方法包括下述步骤:
接收来自主设备的转移指令;
将存储在目标数据块中的信息复制到虚拟块中;
在将数据块映象到虚拟块的映象表中,写入将目标数据块映象到虚拟块的项目;
将存储在源数据块中的信息复制到目标数据块;
从映象表中擦除该项目;和
向主设备发送转移完成指令。
15.一种用于在存储器件中将存储在第一数据块中的信息与存储在第二数据块中的信息进行交换的方法,该存储器件具有包含第一数据块、第二数据块、第一虚拟块和第二虚拟块的记录介质,并能够与主设备相互通信,所述方法包括下述步骤:
接收来自主设备的交换指令;
将存储在第一数据块中的信息复制到第一虚拟块中;
将存储在第二数据块中的信息复制到第二虚拟块中;
在将数据块映象到虚拟块的映象表中写项目,通过该项目将第一数据块映象到第一虚拟块并将第二数据块映象到第二虚拟块;
将存储在第一虚拟块中的信息复制到第二数据块;
将存储在第二虚拟块中的信息复制到第一数据块;
从映象表中擦除所述项目;和
向主设备发送交换完成指令。
16.一种用于存储器件的消除分段存储执行方法,该存储器件具有包含源数据块、目标数据块和虚拟块的记录介质,且主设备能够与该存储器件进行数据通信,所述方法包括下述步骤:
使得主设备检验介质的分段存储;
使得主设备确定将存储的信息从源数据块转移到目标数据块;
使得主设备向存储器件发送存储信息转移指令;
响应于转移指令,使得存储器件将存储在目标数据块的信息复制到虚拟块中;
使得存储器件在将数据块映象到虚拟块的映象表中写入将目标数据块映象到虚拟块的项目;
使得存储器件将存储在源数据块中的信息复制到目标数据块中;
使得存储器件从映象表中擦除该项目;和
使得存储器件向主设备发送转移完成指令;和
使得主设备响应于转移完成指令来更新文件管理系统中的项目。
17.根据权利要求16的消除分段存储执行方法,其中使得主设备更新文件管理系统中的项目的步骤包括将源数据块的属性改变为未使用。
18.根据权利要求16的消除分段存储执行方法,其中所述主设备为硬盘记录器或MP3记录器/播放器。
19.一种用于存储器件的消除分段存储执行方法,该存储器件具有包含第一数据块、第二数据块、第一虚拟块和第二虚拟块的记录介质,且主设备能够与该存储器件进行数据通信,所述方法包括下述步骤:
使得主设备检验介质的分段存储;
使得主设备确定在第一数据块与第二数据块之间交换存储信息;
使得主设备向存储器件发送存储信息交换指令;
响应于交换指令,使得存储器件将存储在第一数据块中的信息复制到第一虚拟块中;
使得存储器件将存储在第二数据块中的信息复制到第二虚拟块中;
使得存储器件在将数据块映象到虚拟块的映象表中写入项目,通过该项目,将第一数据块映象到第一虚拟块并将第二数据块映象到第二虚拟块;
使得存储器件将存储在第一虚拟块中的信息复制到第二数据块中;
使得存储器件将存储在第二虚拟块中的信息复制到第一数据块中;
使得存储器件从映象表中擦除该项目;
使得存储器件向主设备发送交换完成指令;和
使得主设备响应交换完成指令来更新文件管理系统中的项目。
20.根据权利要求19的消除分段存储的执行方法,其中每一数据块为一组多个扇区的簇。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004078570 | 2004-03-18 | ||
JP2004078570A JP2005267240A (ja) | 2004-03-18 | 2004-03-18 | デフラグメントを行う方法及び記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1670716A CN1670716A (zh) | 2005-09-21 |
CN1323357C true CN1323357C (zh) | 2007-06-27 |
Family
ID=34987709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100548125A Expired - Fee Related CN1323357C (zh) | 2004-03-18 | 2005-03-18 | 消除分段存储执行方法和存储器件 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7373477B2 (zh) |
JP (1) | JP2005267240A (zh) |
CN (1) | CN1323357C (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060253682A1 (en) * | 2005-05-05 | 2006-11-09 | International Business Machines Corporation | Managing computer memory in a computing environment with dynamic logical partitioning |
GB0517305D0 (en) * | 2005-08-24 | 2005-10-05 | Ibm | Method and apparatus for the defragmentation of a file system |
JP2007193439A (ja) * | 2006-01-17 | 2007-08-02 | Toshiba Corp | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 |
US7813067B1 (en) * | 2007-02-14 | 2010-10-12 | Marvell International Ltd. | Accumulator for non-return to zero (NRZ) linear feedback shift register (LFSR) in controller for disk drive |
JP2010108568A (ja) * | 2008-10-31 | 2010-05-13 | Toshiba Corp | 磁気ディスク装置 |
US8140890B2 (en) * | 2009-12-29 | 2012-03-20 | International Business Machines Corporation | Relocating bad block relocation (BBR) directory upon encountering physical media defect on a disk |
US8521972B1 (en) | 2010-06-30 | 2013-08-27 | Western Digital Technologies, Inc. | System and method for optimizing garbage collection in data storage |
US8438355B2 (en) | 2010-10-29 | 2013-05-07 | International Business Machines Corporation | Temporary VTOC locking during defragmentation |
US20120284474A1 (en) * | 2011-05-06 | 2012-11-08 | International Business Machines Corporation | Enabling recovery during data defragmentation |
US9189392B1 (en) | 2011-06-30 | 2015-11-17 | Western Digital Technologies, Inc. | Opportunistic defragmentation during garbage collection |
US8819375B1 (en) | 2011-11-30 | 2014-08-26 | Western Digital Technologies, Inc. | Method for selective defragmentation in a data storage device |
US9063838B1 (en) * | 2012-01-23 | 2015-06-23 | Western Digital Technologies, Inc. | Data storage device shifting data chunks of alignment zone relative to sector boundaries |
US8996839B1 (en) | 2012-01-23 | 2015-03-31 | Western Digital Technologies, Inc. | Data storage device aligning partition to boundary of sector when partition offset correlates with offset of write commands |
US8788778B1 (en) | 2012-06-04 | 2014-07-22 | Western Digital Technologies, Inc. | Garbage collection based on the inactivity level of stored data |
US20140229657A1 (en) * | 2013-02-08 | 2014-08-14 | Microsoft Corporation | Readdressing memory for non-volatile storage devices |
CN107301015B (zh) * | 2016-04-15 | 2022-05-13 | 恩智浦美国有限公司 | 用于减少存储器设备上的压力的系统和方法 |
US10372370B2 (en) | 2017-06-21 | 2019-08-06 | Western Digital Technologies, Inc. | Metadata load distribution management |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5819290A (en) * | 1995-04-10 | 1998-10-06 | Sony Corporation | Data recording and management system and method for detecting data file division based on quantitative number of blocks |
CN1248335A (zh) * | 1997-12-22 | 2000-03-22 | Tdk株式会社 | 闪速存储器系统 |
CN1462390A (zh) * | 2001-05-11 | 2003-12-17 | 松下电器产业株式会社 | 记录重放装置及记录重放方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10301721A (ja) | 1997-04-28 | 1998-11-13 | Internatl Business Mach Corp <Ibm> | 情報記憶媒体の欠陥セクタ処理方法及び情報記憶再生装置 |
-
2004
- 2004-03-18 JP JP2004078570A patent/JP2005267240A/ja not_active Withdrawn
-
2005
- 2005-03-17 US US11/084,455 patent/US7373477B2/en not_active Expired - Fee Related
- 2005-03-18 CN CNB2005100548125A patent/CN1323357C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5819290A (en) * | 1995-04-10 | 1998-10-06 | Sony Corporation | Data recording and management system and method for detecting data file division based on quantitative number of blocks |
CN1248335A (zh) * | 1997-12-22 | 2000-03-22 | Tdk株式会社 | 闪速存储器系统 |
CN1462390A (zh) * | 2001-05-11 | 2003-12-17 | 松下电器产业株式会社 | 记录重放装置及记录重放方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2005267240A (ja) | 2005-09-29 |
CN1670716A (zh) | 2005-09-21 |
US20050210214A1 (en) | 2005-09-22 |
US7373477B2 (en) | 2008-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1323357C (zh) | 消除分段存储执行方法和存储器件 | |
US9201783B2 (en) | Method for managing address mapping information and storage device applying the same | |
US6606714B1 (en) | Disk drive using defect list to perform uninterrupted writing of non-relocated data blocks and caching of relocated data blocks for deferred writing | |
CN100530190C (zh) | 用于处理信息的装置和方法 | |
US6735678B2 (en) | Method and apparatus for disc drive defragmentation | |
US9208823B2 (en) | System and method for managing address mapping information due to abnormal power events | |
CN101620516B (zh) | 信息处理装置、其控制方法,以及程序 | |
US20110197035A1 (en) | Data storage device, storing medium access method and storing medium thereof | |
US7747810B2 (en) | Address assigning method, disk drive, and data writing method | |
KR101674015B1 (ko) | 데이터 저장 매체 액세스 방법과 그와 같은 기능을 갖는 데이터 저장 장치 및 기록 매체 | |
KR20120121740A (ko) | 데이터 라이트 방법 및 이를 적용한 저장 장치 | |
KR20100013166A (ko) | 데이터 저장 위치 관리 방법 및 이를 데이터 저장 시스템 | |
US6693754B2 (en) | Method and apparatus for a disc drive adaptive file system | |
US20120162809A1 (en) | Magnetic disk drive and method of accessing a disk in the drive | |
JP4128751B2 (ja) | ストレージサブシステムおよびストレージシステム | |
JP4288037B2 (ja) | 記録ディスクを用いた記録装置、記録システムおよびそのバックアップ方法 | |
US20050149647A1 (en) | Method and apparatus for a disc drive client interface | |
JP4667225B2 (ja) | 制御装置およびコピー制御方法 | |
KR101072730B1 (ko) | 기록 재생 장치 및 기록 방법 | |
US20050226600A1 (en) | Data processing method, device thereof and program | |
CN100562937C (zh) | 一次写入型光盘的数据记录方法和装置 | |
CN102902487A (zh) | 硬盘数据存取方法及系统 | |
US20210286543A1 (en) | Storage system, migration source storage device, and migration destination storage device | |
JP2008117491A (ja) | 記録装置、記録方法、およびプログラム | |
US6842747B2 (en) | Method and apparatus for a disc drive interface |
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: 20070627 Termination date: 20110318 |