地址分配方法、磁盘驱动器和数据写入方法

文档序号:6775955阅读:126来源:国知局

专利名称::地址分配方法、磁盘驱动器和数据写入方法
技术领域
:本发明涉及逻辑块地址的分配方法和磁盘驱动器的数据写入方法,具体地,涉及在存在多个磁道宽度的情况下的逻辑块地址的分配方法、磁盘驱动器和数据写入方法。
背景技术
:提高磁盘驱动器的记录密度的一种方法是减小磁道宽度和提高磁道密度。用于实现这些目的的方法是使磁盘驱动器的写和读磁头小型化。这些磁头的小型化允许在较窄宽度的磁道上写数据,以及磁道宽度的减小导致磁道密度的增加。写和读磁头被固定在臂上,其臂被音圈电机驱动。因为通过音圈电机驱动臂的机械结构,臂的移动易受导致写磁头伸出磁道和破坏数据的错误,在磁道上写入的时候磁头在磁道的两侧上进行写入。为了防止数据的这种破坏,保持两个磁道之间的间隔大于磁道宽度,以保证写余量。在磁道的两侧上保证大约10%的余量用于写余量,阻碍磁道密度提高。其中在扇区中任意地写入数据的任意磁盘驱动器在每个磁道的两侧上需要写余量。但是,采用顺序的写模式能够删除写余量的一侧,因此可以在一定程度上提高磁道密度。换句话说,即使使用相同的写磁头、读磁头或存储介质,磁盘驱动器的容量也可以被提高大约百分之十。根据磁盘驱动器的普通写方法,因为不能使得两个磁道之间的间隔比写磁头的宽度更窄,所以写磁头宽度决定最小磁道间隔。由此,为了提高磁盘驱动器的容量至比删除写余量更进一步的程度,需要减小磁道宽度至比写磁头宽度更窄的方法。美国专利说明书号6,185,063和WO99/45534公开了这种方法,该方法通过在相邻磁道上部分地重写数据,能够将磁道宽度减小到比写磁头宽度窄。USP号6,185,063提出了称作“少写格式(writeseldomformat)”和“成对格式”的两种方法作为在磁道上部分地重写的方法。该“少写格式”通过在多个磁道上选择性地部分重写数据,代替禁止以随机顺序在任意选择磁道上重写数据,提高磁道宽度的缩减比例。另一方面,成对格式,通过在两个相邻磁道上部分地重写数据,而不是能够以随机顺序在任意选择磁道上重写数据,导致磁道宽度的缩减比例下降。普通磁盘驱动器仅仅识别由逻辑块地址(LBA)表示的线性地址空间,并不识别数据的逻辑结构如文件和目录。结果,高阶设备的操作系统(OS)中的文件系统管理磁盘驱动器中的数据的逻辑结构和数据的布置。另一方面,在支持T10/1355-D信息技术-SCSIOSD中描述的基于目标的设备命令(OSD)的磁盘驱动器中,该磁盘驱动器通过卸载磁盘驱动器侧上的文件系统的功能的部分,可以理解数据结构。换句话说,根据OSD,不是通过LBA而是通过目标ID来识别磁盘中写入的数据(目标)。W099/45534[专利文献2]USP号6,185,063[非专利文献1]T10/1355-D信息技术-SCSI基于目标的设备命令(OSD),http://www.t10.org/ftp/t10/drafts/osd/osd-r10.pdf
发明内容本发明解决的问题但是,如USP号6,185,063所述的其中其上可以任意重写数据的磁道和其上不能任意地重写数据的磁道的磁盘驱动器,具有其中通常不能写入数据的问题,除非该磁盘驱动器具有这样的配置其中高阶设备可以知道哪个磁道是其上可以任意重写数据的磁道以及哪个磁道是另外的磁道。USP号6,185,063既没有公开通知高阶设备关于磁道结构的信息的方法也没有公开存储介质的哪个部分通过成对格式或少写格式构成。当在存储介质上创建其上可以任意地重写数据的磁道和其上不能任意地重写数据的磁道时,不保证各个磁道被布置在存储装置上的连续区域上。例如,当通过磁盘驱动器上的文件系统读取或写入数据时,该磁盘驱动器具有其上可以任意地写入数据的一组磁道和其上不能任意地写入数据的一组磁道,在可以任意地重写数据的区域上记录构成文件的管理信息的元数据,以及在不能任意地重写的区域中存储文件的内容部分。此时,如果任意重写元数据的区域被集中在一位置,那么磁头必须长距离移动,用于更新源于文件的准备或更新的元数据,导致文件系统的性能损坏。因此,为了提高文件系统的性能,优选将其中可以任意重写数据的磁道分离地布置在存储介质上。当高阶设备访问不支持OSD的磁盘驱动器的存储介质时,它使用称作“逻辑块地址(LBA)”的地址系统访问该存储介质。磁盘驱动器将由该高阶设备指定的LBA翻译为物理块地址(PBA),并访问该存储介质,物理块地址是磁盘驱动器内的地址系统。由于存储介质中的制造工序中的缺陷,有不可访问的缺陷扇区。由于PBA是用于指定存储介质上的任意选择区域的地址系统,其甚至在缺陷扇区中也分配PBA。因为数据不能被写入缺陷扇区中,使高阶设备能够访问它们是没有意义的,磁盘驱动器通过跳过缺陷扇区分配LBA的跳过程序,将LBA分配给PBA。该缺陷扇区通过最初缺陷LIST(PLIST)来管理。在将LBA翻译为PBA的时候,通过跳过处理不分配LBA的扇区数也就是偏置,通过使用PLIST来计算。因为跳过程序是不分配LBA给缺陷扇区的PBA的过程,如果,在LBA1被分配给PBA1以及LBA2被分配给PBA2的时候,如果LBA1<LBA2,那么PBA1<PBA2。即使在其上可任意地重写的磁道和其上不能任意地重写的磁道共存的磁盘驱动器中,当通过之前的跳过处理分配LBA时,在LBA和PBA之间形成类似的关系。换句话说,当在存储介质上分离地布置其中可以被任意重写数据的磁道以提高文件系统的性能时,其中可以任意地重写数据的磁道组的各个FromLBA和ToLBA和其上不能重写数据的磁道组的各个FromLBA和ToLBA必须由高阶设备管理。这种磁盘驱动器具有这样的问题因为要管理的信息量是巨大的,它是非常不便于使用的。在将被记录在文件系统上的文件之中,有其内容很少被更新的文件如音乐或电影以及其内容经常被更新的文件如设置文件或数据库。每当文件被访问时,构成文件管理信息的元信息更新最后的访问时间。为了访问包含其中通过文件系统可以任意地重写数据的磁道和其上不能通过文件系统重写数据的磁道的磁盘驱动器,其内容很少被更新的文件的内容部分应该被布置在不能任意地重写数据的区域中,以及其内容经常被更新的文件的内容部分和元信息应该被布置在数据被任意地重写的区域中。因为元信息将布置在存储介质的哪个部分上的问题取决于文件系统的设计,可以在特定的LBA上布置元信息,换句话说,可以在可任意重写的磁道上布置元信息。该文件系统是用于不知道磁盘驱动器的LBA进行读和写数据的系统,以及没有用于将文件的内容部分布置到任意特定的LBA的功能。因此,它有不能响应于文件更新频率来分配LBA的问题,如将其内容很少更新的文件的内容部分布置在数据不能被任意地重写的磁道上,以及将其内容经常被更新的文件的内容部分布置在其上可以任意重写数据的磁道上。本发明的第一目的是提供一种分别分配不同的LBA到可任意重写的磁道和其上不能任意重写数据的磁道的方法,以及可以应用该方法的磁盘驱动器。本发明的第二目的是提供一种能够通过根据文件更新的频率选择可任意地重写的磁道或其上不能任意地重写数据的磁道的任意一个,来写入数据的数据写方法。解决问题的方法为了实现该目的,根据本发明的地址分配方法使用一种具有存储介质和控制器的磁盘驱动器,该控制器在存储介质和高阶设备之间传输/接收命令和数据,并控制朝向存储介质的写/读操作。该存储介质包括具有第一磁道宽度的第一磁道组和具有第二磁道宽度的第二磁道组。该控制器执行用于分配逻辑块地址给第一磁道组的第一地址分配步骤和用于分配逻辑块地址给第二磁道组的第二地址分配步骤。此时,连续的LBA被分配给每个磁道组。或为每个磁道组可以从固定的开始LBA分配连续的LBA,或对于每个磁道组,连续的LBA可以被分配给不同驱动器。根据本发明的磁盘驱动器包括存储介质;在存储介质上具有第一磁道宽度的第一磁道组;在该存储介质上具有第二磁道宽度的第二磁道组;用于分配逻辑块地址给第一磁道组的第一地址分配装置;以及用于分配逻辑块地址给第二磁道组的第二地址分配装置。该第一地址分配装置将连续的逻辑块地址分配给第一磁道组,该第二地址分配装置将连续的逻辑块地址分配给第二磁道组。以及在产生具有带特定前缀或后缀的文件名的文件的时候,仅仅从第一磁道组或第二磁道组之一获得用于存储该文件的内容部分的区域。以及产生具有无特定前缀或后缀的文件名的文件记录时,则对于无特定前缀或后缀的文件名的访问请求如同对于具有特定前缀和后缀的文件的请求一样地处理。用于存储构成具有前缀或后缀的文件名的文件的管理信息的元信息的区域是与用于存储内容部分的区域相同的上述第一磁道组或上述第二磁道组。根据本发明的磁盘驱动器包括用于通过目标标识符来识别将被记录在存储介质上的目标的装置,在第一磁道组上记录具有第一特定图形的目标标识符的目标,以及在第二磁道组上记录具有第二特定图形的目标标识符的目标。整个磁盘驱动器可以以这样的一种方式构成该目标标识符是第一特定图形还是第二特定图形的问题可以通过目标标识符的特定位的值来确定。发明的效果根据本发明,可以将与由高阶设备管理的磁盘驱动器的不同磁道宽度的磁道组有关的信息最小化。以及,在仅仅磁盘容量有差异的相同产品系列的磁盘驱动器中,可以减小与待管理的不同磁道宽度的磁道组有关的信息。以及在具有特定磁道宽度的磁道组中可以布置特定文件的内容部分,以及可以根据使用磁盘驱动器的存储介质的条件,通过改变不同磁道宽度的磁道组的磁道数的比率,动态地扩大磁盘驱动器的储存容量。图1是描述在相邻磁道上部分地重写的情况下的磁道布置的示意图。图2是描述由多个连续磁道构成的带结构的示意图。图3是描述磁盘驱动器的存储介质上的物理块地址空间中的叠交磁道(ST)和平铺磁道(TT)的布置的示意图。图4是描述根据本发明和磁盘驱动器的第一实施例的地址分配方法的逻辑块地址空间中ST和TT布置的示意图。图5是描述根据本发明和磁盘驱动器的第一实施例的地址分配方法的LBA空间中ST和TT布置的示意图。图6是描述根据本发明和磁盘驱动器的第一实施例的地址分配方法的LBA空间中ST和TT布置的示意图。图7是磁盘驱动器的框图。图8是根据本发明的地址分配方法和磁盘驱动器的第一实施例的区段定义表。图9是根据本发明地址分配方法和磁盘驱动器的第一实施例的TT区的定义表。图10是根据本发明的地址分配方法和磁盘驱动器的第一实施例的区段中的带数表。图11是根据本发明的地址分配方法和磁盘驱动器的第一实施例的从LBA至PBA的地址转换程序的流程图。图12是根据本发明的数据-写方法的第二实施例的文件-产生方法的流程图。图13是描述根据本发明的数据-写方法的第二实施例的文件-产生方法的流程图。图14是系统等级体系的例图。具体实施例方式下面将参考附图详细描述本发明的优选实施例。顺便提及,相同的参考数字表示相同的部件元件。部分地重叠相邻磁道的磁道被称为“叠交(shingled)磁道(ST),”以及没有重叠的磁道被称为“平铺(tiled)磁道(TT)”。实施例1该实施例的特点在于分离地布置在PBA空间中的TT区和ST区被分别分配在LBA空间中的连续地址中。图1为示出了在相邻磁道上部分地重写的情况下的磁道布置的示意图。从磁道101至磁道105,由写磁头121写入的磁道被部分地重写,以及使用比写磁头121宽度更窄的读磁头122来读取,由此使磁道宽度111比写磁头121的宽度更窄。在图1中,在磁道103被写入之后,磁道104被写入。磁道104上的写入导致磁道105被擦除。由此,当相邻磁道被部分地重写时,其上开始写入的某些范围内的所有磁道必须被更新。这样的磁道组被称为“带”。图2是由多个连续的磁道构成的带结构的示意图。在图2中,代码201表示带,代码202表示用于防止两个带之间的数据损坏的带隙。如图2所示,仅仅处于带的端部处的磁道具有较大宽度,以及带隙202的区域的创建有助于防止相邻带处的数据破坏。图7是磁盘驱动器的框图。该快速ROM701存储启动磁盘驱动器必需的程序。主存储器702用来存储控制存储器控制器和微处理器704所必需的控制程序和各种数据。高速缓冲存储器703被用作用于通过磁盘接口706数据传输到高阶设备的磁盘控制器和接收来自该磁盘控制器的数据的高速缓存。用于与高阶设备通信的通信协议由硬盘控制器的SCSI协议控制器单元和SCSI协议控制器705处理。发送给SCSI协议控制器的命令通过存储器控制器和微处理器704的微处理器单元转换为用于写磁头和读磁头的驱动命令。转换的驱动命令被发送给硬盘控制器和SCSI协议控制器705的硬盘控制器单元。发送到SCSI协议控制器的命令通过存储器控制器和微处理器704的微处理器单元转换为用于写磁头和读磁头的驱动命令。转换的驱动命令发送到硬盘控制器和SCSI协议控制器705的硬盘驱动器单元。硬盘控制器基于接收到的命令控制伺服控制器707和读/写通道708,并在存储介质上执行写数据或从存储介质执行读数据。伺服控制器707控制音圈控制电机714,以便固定在致动器臂713的顶部的磁头711可以移动到将被存储介质712读出的扇区的位置。在磁头711移动到将被读取的扇区之后,读/写通道708执行到磁头711的数据传输和接收。此时,在写入的情况下,高速缓冲存储器703中存储的数据被写入存储介质中,以及在读取的情况下,存储介质中存储的数据被写入高速缓冲存储器703中。当磁盘驱动器被切换为“导通”时,存储控制器和微处理器704从快速ROM701读取启动程序。存储控制器单元初始化主存储器702和高速缓冲存储器703,通过硬盘控制器和SCSI协议控制器705来控制伺服控制器707和读/写通道708,以便从磁盘驱动器的存储介质读出其他控制程序和该控制程序所需的各种数据。然后,在主存储器702中存储读出的控制程序和各种数据721。这些控制程序722包括地址转换程序。该地址转换程序包括用于第一磁道宽度的地址转换程序和用于第二磁道宽度的地址转换程序,这些可应用于如下所述的图4、5和6所示的各种模式。将在图8、图9和图10中描述数据结构721,以及将在图11中描述控制程序722的一个。图3为示出了磁盘驱动器的存储介质上的物理块地址(PBA)空间中的叠交磁道(ST)和平铺磁道(TT)的布置的示意图。TT区301是在相邻磁道上不部分地重写的磁道写方法,以及ST区302是图1所示的部分地重写的相邻磁道。如果图3(A)是磁盘驱动器的基本结构,那么图3(B)示出了其中相对于图3(A)增加TT区301的结构,以便增加可以随机地更新数据的扇区,以及图3(C)示出了其中磁盘驱动器的容量相对于图3(A)增加的结构。代替在存储介质上TT区301和ST区302的连续布置,如图3所示的TT区301和ST区302的分别离散布置提高对文件系统的元信息的访问速度和使用存储介质的效率。因为PBA是与存储介质上的位置一对一对应的坐标系,在PBA的情况下,用相同的方法分离地布置在存储介质上分离地布置的TT区和ST区。根据现有技术,LBA被分配给存储介质上的扇区,如下所述。具体地,从PBA的顶部地址扇区以连续的顺序分配LBA。此时,LBA不被分配给不能正常地读取或写入的缺陷扇区,以及执行跳过程序,用于将最初打算分配给缺陷扇区的LBA分配给缺陷扇区之后的正常扇区。按照根据这种现有技术的LBA的分配方法,分离地布置在PBA地址空间上的TT区和ST区也被分离地布置在LBA空间中。因为与磁盘驱动器连接的高阶设备,通过指定LBA来访问磁盘驱动器的存储介质上的扇区,高阶设备必须管理管理用于TT区301和ST区302的整个区域的开始LBA和末尾LBA,以便在在LBA上分离地存在的TT区和ST区上写入。这种磁盘驱动器是有问题的,其中从高阶设备的观点来看,它非常不便于使用。因此,根据本发明的地址分配方法和磁盘驱动器的第一实施例,连续的LBA被分配给TT区301和ST区302,如图4或图5所示。图4和图5为示出了逻辑块地址(LBA)空间中的ST和TT的布置的示意图。图4和图5的(A)、(B)和(C)分别对应于图3的(A)、(B)和(C)的磁盘驱动器。根据图4的结构,多个TT区301从LBA空间的顶部连续地分配在LBA空间中,以及多个ST区302在LBA空间中从TT区301的最后地址之后的LBA连续地分配。通过图4的结构,高阶设备可以在根据本发明的磁盘驱动器上写入TT区301的扇区总数,或TT区301的From(开始)LBA和To(末尾)LBA,以及简单地通过仅仅管理To(末尾)LBA,来在该磁盘驱动器上写入ST区的扇区总数或ST区302的From(开始)LBA。与图4的结构不同,图5的结构的特点在于TT区301的From(开始)LBA501和ST区302的From(开始)LBA502是相同的,与磁盘驱动器的容量无关。该结构是有利的,其中便于高阶设备的文件系统的装载。LBA的另一分配方法是图6中描述的结构。图6是LBA空间中的ST和TT的布置的示意图,代码610表示具有逻辑单元号(LUN)0(LUN0)的逻辑驱动器以及代码620表示具有LUN1(LUN1)的逻辑驱动器。图6的结构的特点在于TT区和ST区被分配给不同的逻辑驱动器。换句话说,TT区301被分配给LUN0610,以及ST区302被分配给LUN1620。该结构的有利之处在于,与图5的结构一样,便于高阶设备的文件系统的加载。在图6中,基于SCSIHDD的假定,通过LUN1620识别逻辑驱动器。但是,在ATAHDD上,通过主控器/从属器(master/slave)识别逻辑驱动器。以及作为另一加载方法,TT区301和ST区302可以分别分配在磁盘驱动器的不同部分上。下面我们将基于图4和图5所示的结构来描述。下面我们将参考图8、图9和图10描述根据本发明的地址分配方法和磁盘驱动器的第一实施例中使用的数据结构721。图8是区段定义表。术语“区段”意味着其中磁盘驱动器的存储介质的磁道中的扇区数量相等的区域。在图8的区段定义表中,每个区段被登记为一个条目。每个条目包括区段号801、区段FromPBA802、区段ToPBA803以及区段的磁道中的扇区数量。图9是TT区的定义表。TT区的定义表限定用于每个条目的TT组。每个条目包括TT区所属的区段号801,TT区的From(开始)PBA901、TT区的To(末尾)PBA902、TT区的From(开始)LBA903以及TT区的To(末尾)LBA904。用于每个TT区的From(开始)PBA/LBA和To(末尾)PBA/LBA的管理导致如图3所示的分离地布置在PBA空间中的TT区301的分配,以及在图4或图5所示的在LBA空间中的连续地址中TT区301的的分配。图10是每个区段中的带数表。每个区段中的带数表限定在每个区段中存在多少个图2描述的带。每个条目包括区段号801、带数1001以及从区段开始的带累积数1002。磁盘驱动器的主存储器702中存储的各种数据721包括图8-10中包含的数据结构,整个TT区的From(开始)LBA和To(末尾)LBA或TT_FROM_LBA和TT_TO_LBA,ST区的From(开始)LBA和To(末尾)LBA或ST_FROM_LBA和ST_TO_LBA以及构成带的扇区数量或SECTOR_PER_BAND等等。优选所有带具有相同的容量,以便利高阶设备的数据管理。鉴于由多个ST构成的带结构的特性,构成带的磁道数量的简单改变不大可能充分地使位于不同区段中的每个带的容量相等。因此,在该实施例中,带的容量由SECTOR_PER_BAND确定,以及超过SECTOR_PER_BAND的数目的扇区被闲置。下面我们将参考图11描述根据本发明的地址分配方法和磁盘驱动器的第一实施例中使用的控制程序722的一个。图11是从LBA至PBA的地址转换程序的流程图,该地址转换程序用来将由高阶设备指定的LBA转换为磁盘驱动器的存储介质上的PBA或地址。在开始程序的步骤1110中,ST和TT的哪个地址被高阶设备指定的问题通过参考四个变量确定TT_FROM_LBA、TT_TO_LBA、ST_FROM_LBA以及ST_TO_LBA。如果该确定的结果为指定的LBA为ST的LBA,那么该程序进行到步骤1111,以及如果它是TT的LBA,该程序进行到步骤1117。在步骤1111中,如下所述计算将被访问的LBA属于的带号被计算。ST处于在ST_FROM_LBA之后的连续的地址中,以及每个带中包含的扇区数由SECTOR_PER_BAND表示,如果LBA被选作将被访问的LBA的值,那么可以通过下列公式计算带号或BAND_ID。这里,floor是四舍五入小数点到最接近的整数的计算。BAND_ID=FLOOR((LBA=ST_FROM_LBA)/SECTOR_PER_BAND)在完成步骤1111之后,该过程进行到步骤1112。在步骤1112中,通过参考该区段中的带数表,来检索属于具有BAND_ID的带的区段。如图10的带数表,示出了带的累积数目1002,通过比较在步骤1111中计算的带数,可以获得属于该带属于的区段号或Zone_ID,以及可以获得带的累积数1002。在步骤1112完成之后,该过程进行到步骤1113。在步骤1113中,通过参考区段定义表读出From(开始)PBA802、To(末尾)PBA803以及Zone_ID区段的磁道中的扇区数804。在步骤1113完成之后,该进程进行到步骤1114,以及经受来自区段起点的访问的带偏置偏置或BAND_OFFSET基于BAND_ID和区段1002中的带号码表的带累积数1002计算。在步骤1114完成之后,该过程进行到步骤1115。在步骤1115中,通过下列公式,基于BAND_OFFSET、SECTOR_PER_BAND、步骤1113中读出的磁道中的扇区数量或TRACK_PER_SECTOR,来计算带BAND_ID的From(开始)PBA或BAND_FROM_PBA。这里,ceil是在小数点以下计算最接近该分数的整数的计算。BAND_FROM_PBA=ceil(SECTOR_PER_BAND/TRACK_PER_SECTOR)*BAND_OFFSET在步骤1115完成之后,该过程进行到步骤1116。在步骤1116中,如下面所示,计算带BAND_ID中的扇区偏置或SECTOR_OFFSET偏置。SECTOR_OFFSET=LBA-ST_FROM_LBA-SECTOR_PER_BAND*BAND_ID以及如下基于BAND_FROM_PBA、SECTOR_OFFSET和由于从PLIST获得的缺陷扇区的偏置或BAD_SECTOR_OFFSET,计算将被访问的扇区的PBAPBA=BAND_FROM_PBA+SECTOR_OFFSET+BAD_SECTOR_OFFSET在步骤1116完成之后,该地址转换程序结束。在步骤1117中,通过参考TT区定义表,基于TT区的LBA的FromLBA903和ToLBA904,识别将被访问的LBA属于的TT区,以及读取该TT区的FromPBA901和ToPBA902。在步骤1117完成之后,该程序进行到步骤1118。在步骤1118中,基于将被访问的TT区的FromLBA903或FROM_LBA、FromPBA901或FROM_PBA和由于从PLIST获得的缺陷扇区的偏置或BAD_SECTOR_OFFSET,如下计算将被访问的PBAPBA=LBA-FROM_LBA+FROM_PBA+BAD_SECTOR_OFFSET在步骤1118完成之后,该地址转换过程结束。在该实施例中,我们描述了在LBA空间中分配有TT区和ST区的情况,与图4或图5所示的结构一样。但是,这些可以被容易地扩展到其中TT区和ST区被分配给不同的逻辑驱动器的情况,如图6所示。在此情况下,增加一个变量足够管理TT区和ST区分配到哪个逻辑单元。并且,该实施例描述了其中磁盘驱动器包括称作“TT区”和“ST区”的不同磁道宽度的两个磁道组的情况。但是,本发明不局限于有两个不同的磁道组的情况,以及可以容易地扩展到磁盘驱动器具有任意数目的磁道组的情况。在TT区和ST区的开始地址被固定的情况下,通过最初使得磁盘驱动器的整个区域作为TT区和通过根据磁盘驱动器的未使用容量将TT区转变为ST区,可以增加磁盘驱动器的未使用容量。例如,可以使用下列程序来将TT区转变为ST区。(1)将TT区的未使用磁道组转变为ST区。(2)将TT上记录的数据复制到ST。(3)在证实已经从ST复制到TT之后,将TT的状态从“现在使用中”改变为“未使用”,然后回到(1)。在实施例2中我们将描述根据该实施例将数据写入磁盘驱动器中的方法。实施例2该实施例的特点在于从TT区确保用于存储具有以特定前缀为起点的文件名的文件的内容部分的扇区。我们将参考图14描述该系统等级体系。图14示出了包括硬件、操作系统(OS)以及应用程序的系统等级体系。其中它们可以执行各种程序的用户空间是应用层1401。其中操作OS的核心空间从1402延伸至1409。1402表示到核心的系统调用层,1403表示活动文件条目层,1404表示VNODE层,1405表示本地名称层,1406表示文件系统层,1407表示缓冲器高速缓存层,1408表示块设备层,以及1409表示设备驱动层。硬件如磁盘驱动器构成硬件层1410。为了有效地处理多个文件系统和多个硬件,OS抽象化(abstract)软件和硬件,以及能够在不知道软件和硬件中的差异的情况下使较高层的设备访问下层的设备。例如,VNODE层1404抽象化文件系统层1406,以及块设备驱动器层1408抽象化设备驱动层1409。这种抽象化能够使整个系统共同地拥有资源以及有效利用存储器和其他资源。本地名称层1405、缓冲器高速缓存层1407等等是共同拥有的资源的例子。由于这种抽象层和共同拥有的资源,OS可以有效利用多个文件系统和硬件。但是,OS的这种结构使之非常难以支持其中TT区和ST区被混合的实施例1的磁盘驱动器。实施例1的磁盘驱动器的用户面临这样的问题由于较低层次的抽象化如VNODE层1404,应用层的程序不能与较低层次的性能协调一致地访问,即使它们希望在ST区中布置很少更新的文件如音乐、电影等等以及在TT区中布置经常更新的文件如数据库等等。如果能够与较低层次的性能协调一致地访问应用层的程序的接口将要被加到OS,那么对虚拟层或公共资源的改变是不可缺少的,以及该改变对整个系统具有重要的影响。此外,接口的改变导致与之前系统的兼容性的损失。结果,支持实施例1的磁盘驱动器的接口变化涉及大的风险,并且对OS出售商请求这种改变是不切实际的。在该实施例中,我们将描述通过仅仅使用现有的接口来指定TT区使得用户程序能够产生文件和写文件的文件系统。当具有上层和下层的接口与之前的接口兼容时,仅仅文件系统部分的替换能够使用根据实施例1的磁盘驱动器,即使在其中使用在先的OS。为了在TT区中产生文件,应该在其顶部增加有前缀名称“.updatable_”的文件名下产生该文件。此时,为文件系统上的文件内容产生两个文件名的两个文件条目,一个具有前缀和另一没有前缀,此后将可以通过使用任何一个文件名来访问在TT区上产生的文件内容。这是本实施例的另一特点。图12是描述本发明的数据写方法的第二实施例的文件产生方法的流程图。我们将参考图12描述文件产生方法。该程序的开始是步骤1201,其中产生在用户指定的文件名下的文件的元信息或管理信息的新条目。在步骤1201完成之后,该程序进行到步骤1210,判断由用户指定的文件名前是否有前缀“.updatable_”的问题。如果它具有前缀,那么该程序进行到步骤1211,以及如果它没有前缀,那么该程序进行到步骤1220。在步骤1220中,将证实是否存在具有添加到用户指定的文件名的前缀的文件名。如果它存在,该程序进行到步骤1213,以及当它不存在时,该程序结束。在步骤1211中,在步骤1201中产生的元信息条目上设置TT区使用标记,以便TT区中可用的扇区可以用于文件的写入。在步骤1211结束之后,该程序进行到步骤1212,产生具有从其除去前缀的文件名的元信息。在步骤1212完成之后,该程序进行到步骤1213,与没有前缀的文件名的链接代替与具有前缀的文件名的链接,设置在步骤1201中产生的元信息条目上。由于在步骤1212和步骤1213中采取的措施,之后即使用户程序在没有前缀的文件名之下执行写操作,文件也被写入TT区。在步骤1213结束后,该过程被终止。因为没有前缀的文件名下的条目变得可访问,即使不适合第一实施例的磁盘驱动器的用户程序,通过预先产生需要的文件条目也可以在第一实施例的磁盘驱动器上使用。以及还有这样的情况其中根据该程序,为了更新现有文件,在它们名称被改变之后老文件被原样保持,并且在相同文件名下产生新文件,以在其中写入数据。在该实施例中,当具有有前缀的文件名和没有前缀的文件名时,无前缀的文件名中的改变导致有前缀的文件名和无前缀的文件名之间的链接取消,以及在TT区上的文件的主旨或内容不存在以及TT区使用标记照它们原样保持的同时,有前缀的文件名的元信息条目照原样保持。在进一步尝试产生无前缀的新文件名之后,在步骤1220中,证实是否有在有前缀的文件名下的元信息的任何条目,接下来,在步骤1213中,建立与有前缀的文件名下的元信息条目的链接。结果,即使在无前缀的文件名下再次写入数据,可以肯定该内容将被存储在TT区上。图13是描述本发明的数据写方法的第二实施例的文件-产生方法的流程图。下面我们将参考图13描述该文件-写方法。该过程的开始是步骤1301,其中计算写入文件内容所需要的扇区数量。在步骤1301结束之后,该过程进行到步骤1302,由用户指定的文件名下的文件的元信息被读出。在步骤1302结束之后,该过程进行到步骤1310。在步骤1310中,它将判断是否与元信息建立了链接。如果已经建立了链接,那么该过程进行到步骤1311,以及如果没有建立链接,那么该过程进行到步骤1320。在步骤1311中,读出链接文件的元信息。在步骤1311结束之后,该过程进行到步骤1320。在步骤1320中,将判断在步骤1302或步骤1311中读出的元信息中是否设置TT区使用标记。如果已经设置了TT区使用标记,那么该过程进行到步骤1321,以及如果没有设置TT区使用标记,那么该过程进行到步骤1322。在步骤1321中,从TT区确保用于存储文件内容的扇区。在步骤1321结束之后,该过程进行到步骤1323。在步骤1322中,在TT区或ST区中确保用于存储文件内容的扇区。在步骤1322结束之后,该过程进行到步骤1323,在步骤1321或1322中确保的扇区中写入由用户指定的数据。在该实施例中,我们描述了前缀“.updatable_”被添加到文件名的情况。因为根据OS的类型,以“.”起始的任意文件名是隐形文件,所以它便于用作本实施例中使用的文件系统的暗示信息。但是,本发明的方法不局限于这些方法,以及可以被同样地应用于任意的前缀或后缀。在该实施例中,我们描述了通过LBA访问的普通磁盘驱动器的情况。但是,这些方法可以被容易地扩展到支持OSD的磁盘驱动器。扩展的例子是下列方法。通过使用OSD,可以通过目标ID识别磁盘驱动器上写入的数据(目标)。在TT区中写入其中目标ID的特定位的值是0的目标,以及在ST区中写入其特定位的值是1的目标。本发明对于提供磁盘驱动器的大容量是有效的,因为在一个块中写入大量数据的情况下,在需要大容量的情况下以及在用于管理数据的经常更新的数据库必须被存储用于AV使用或用于备份使用的情况下,现有软件需要少量校正。参考数字的描述101磁道102磁道103磁道104磁道105磁道111磁道宽度121写磁头122读磁头201带202用于防止两个带之间的数据损坏的带隙301平铺磁道(TT)302叠交磁道(ST)501TT区的From(开始)LBA502ST区的From(末尾)LBA601具有逻辑单元号(LUN)0的逻辑驱动器(LUN0)602具有LUN1的逻辑驱动器(LUN1)701快速存储器702主存储器703高速缓冲存储器704存储器控制器和微处理器705硬盘控制器和SCSI协议控制器706磁盘接口707伺服控制器708读/写通道711磁头712存储介质713致动器臂714音圈电机721各种数据722各种控制程序801区段号802区段中的From(开始)PBA803区中的To(末尾)PBA804区域的磁道中的扇区数901TT区中的From(开始)PBA902TT区中的To(末尾)PBA903TT区中的From(开始)LBA904TT区中的To(开始)PBA1001区段中的带数1002带的累积数1401应用层1402到核心层的系统调用1403活动文件条目层1404VNODE层1405本地名称层1406文件系统层1407缓冲器高速缓存层1408块设备层1409设备驱动层1410硬件层权利要求1.一种用于磁盘驱动器的地址分配方法,该磁盘驱动器包括存储介质和控制器,该控制器在存储介质和高阶设备之间传输/接收命令和数据,以及控制朝向所述存储介质的写/读操作,该存储介质包括具有第一磁道宽度的第一磁道组和具有第二磁道宽度的第二磁道组,其中所述控制器执行用于分配逻辑块地址给所述第一磁道组的第一地址分配步骤,以及用于分配逻辑块地址给所述第二磁道组的第二地址分配步骤。2.根据权利要求1所述的地址分配方法,其中在所述第一地址分配步骤中,连续的逻辑块地址被分配给所述第一磁道组,以及在所述第二地址分配步骤中,连续的逻辑块地址被分配给所述第二磁道组。3.根据权利要求2所述的地址分配方法,其中所述第一磁道组的连续逻辑块地址从第一逻辑块地址开始,以及所述第二磁道组的连续逻辑块地址从第二逻辑块地址开始。4.根据权利要求3所述的地址分配方法,其中所述控制器执行;设置所述第一逻辑块地址的步骤,以及设置所述第二逻辑块地址的步骤。5.根据权利要求1所述的地址分配方法,其中在所述第一地址分配步骤中,第一逻辑驱动器的逻辑块地址被分配给所述第一磁道组,以及在所述第二地址分配步骤中,第二逻辑驱动器的逻辑块地址被分配给所述第二磁道组。6.根据权利要求5所述的地址分配方法,包括在所述磁盘驱动器中设置将用作所述第一逻辑驱动器的逻辑驱动器的步骤,以及在所述磁盘驱动器中设置将用作所述第二逻辑驱动器的逻辑驱动器的步骤。7.一种磁盘驱动器,包括存储介质,在所述存储介质上具有第一磁道宽度的第一磁道组,在所述存储介质上具有第二磁道宽度的第二磁道组,用于分配逻辑块地址给所述第一磁道组的第一地址分配装置,以及用于分配逻辑块地址给所述第二磁道组的第二地址分配装置。8.根据权利要求7所述的磁盘驱动器,其中所述第一地址分配装置将连续的逻辑块地址分配给所述第一磁道组,以及所述第二地址分配装置将连续的逻辑块地址分配给所述第二磁道组。9.根据权利要求8所述的磁盘驱动器,其中所述第一磁道组的连续逻辑块地址从第一逻辑块地址开始,以及所述第二磁道组的连续逻辑块地址从第二逻辑块地址开始。10.根据权利要求7所述的磁盘驱动器,其中所述第一地址分配装置将第一逻辑驱动器的逻辑块地址分配给所述第一磁道组,以及所述第二地址分配装置将第二逻辑驱动器的逻辑块地址分配给所述第二磁道组。11.一种用于磁盘驱动器的数据写方法,该磁盘驱动器包括存储介质,其具有具有第一磁道宽度的第一磁道组和具有第二磁道宽度的第二磁道组;用于分配逻辑块地址给所述第一磁道组的第一地址分配装置;以及用于分配逻辑块地址给所述第二磁道组的第二地址分配装置,其中在产生具有以特定前缀开始或以特定后缀结束的文件名的文件时,仅仅从所述第一磁道组或所述第二磁道组之一确保用于存储所述文件的内容部分的区域。12.根据权利要求11所述的数据写方法,包括产生具有从其除去所述特定前缀或后缀的文件名的文件条目的步骤,以及如同对于具有所述特定前缀或后缀的文件名的访问请求一样地处理对于除去了所述特定前缀或后缀的文件名的任意访问请求的步骤。13.根据权利要求11所述的数据写方法,其中用于存储元数据的区域是与用于存储所述内容部分的区域相同的所述第一磁道组或所述第二磁道组,该元数据构成具有所述前缀或后缀的文件名的文件的管理信息。14.根据权利要求11所述的数据写方法,其中设置所述特定的前缀或后缀。15.根据权利要求7所述的磁盘驱动器,包括用于通过目标标识符识别将在所述存储介质中记录的目标的装置其中,在所述第一磁道组中记录具有第一特定图形的目标标识符的目标,以及在所述第二磁道组中记录具有第二特定图形的目标标识符的目标。16.根据权利要求15所述的磁盘驱动器,包括用于通过目标标识符的特定位的值来决定该目标标识符是否是所述第一特定图形的目标标识符或所述第二特定图形的目标标识符的装置。全文摘要一种地址系统的磁盘驱动器,其中能够在相同的磁盘驱动器中的存储介质上分离地布置不同磁道宽度的磁道组,以及扇区的物理块地址当中的尺寸关系对于逻辑块地址当中的尺寸关系是有效的,以正常地写数据。管理对应于磁盘驱动器中的它们的各个磁道宽度的磁道组,以及将分离地布置在物理块地址空间上的各个磁道组连续地布置在逻辑块地址空间中。如果有称作叠交磁道(ST)和平铺磁道(TT)的两个磁道组,在步骤1110中,根据将被访问的扇区位于ST区和TT区的哪个上,分别执行步骤1111至步骤1116或步骤1117至步骤1118以及将逻辑块地址转换为物理块地址。文档编号G11B5/02GK1996464SQ20061017210公开日2007年7月11日申请日期2006年12月27日优先权日2006年1月4日发明者上村哲也,嵯峨秀树申请人:日立环球储存科技荷兰有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1