CN101615410B - 盘存储装置和程序 - Google Patents

盘存储装置和程序 Download PDF

Info

Publication number
CN101615410B
CN101615410B CN200910149492XA CN200910149492A CN101615410B CN 101615410 B CN101615410 B CN 101615410B CN 200910149492X A CN200910149492X A CN 200910149492XA CN 200910149492 A CN200910149492 A CN 200910149492A CN 101615410 B CN101615410 B CN 101615410B
Authority
CN
China
Prior art keywords
section
write command
address space
address
write
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
Application number
CN200910149492XA
Other languages
English (en)
Other versions
CN101615410A (zh
Inventor
田村哲也
铃木一也
佐佐木延治
西村章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN101615410A publication Critical patent/CN101615410A/zh
Application granted granted Critical
Publication of CN101615410B publication Critical patent/CN101615410B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B20/1258Formatting, e.g. arrangement of data block or words on the record carriers on discs where blocks are arranged within multiple radial zones, e.g. Zone Bit Recording or Constant Density Recording discs, MCAV discs, MCLV discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10916Seeking data on the record carrier for preparing an access to a specific address
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10935Digital recording or reproducing wherein a time constraint must be met
    • G11B2020/10981Recording or reproducing data when the data rate or the relative speed between record carrier and transducer is variable
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1218Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
    • G11B2020/1242Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc the area forming one or more zones, wherein each zone is shaped like an annulus or a circular sector
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1265Control data, system data or management information, i.e. data used to access or process user data
    • G11B2020/1267Address data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks

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)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明提供了盘存储装置和程序。盘存储装置用于控制对具有存储区域的存储介质的写入,该存储区域被分配了第一地址空间并且其传送速率在空间上变化。盘存储装置包括命令接收部件和控制部件。命令接收部件接收从主机装置发出的并且包含第一地址空间的地址的写入命令。控制部件执行控制,以便:将存储区域划分成多个区段;预定义第二地址空间,在该第二地址空间中,所述多个区块从第一地址空间的起始地址起被顺次分配给所述多个区段;对于由命令接收部件接收到的每个写入命令,利用第二地址空间的地址来替换其中包含的第一地址空间的地址;通过循环改变来选择所述多个区段之一作为写入目标区段;并且对于每个所选择的区段,对存储介质执行写入处理。

Description

盘存储装置和程序
技术领域
本发明涉及利用诸如硬盘驱动器(HDD)之类的盘状存储介质来存储数据的盘存储装置,以及用于该盘存储装置的程序。
背景技术
一般来说,主机装置不考虑诸如硬盘装置之类的盘存储装置中的盘上的数据布置。因此,随着数据被反复写入到盘中并被从盘中读取,一个文件的数据越来越多地被分割并记录在多个位置上。结果,从主机装置的角度来看,对盘的访问速率降低了。
同时,诸如硬盘装置之类的盘存储装置按下述顺序来执行处理,即,在不考虑之前或之后访问的位置的情况下生成I/O请求,从而,该装置往往会浪费性地频繁执行搜寻操作。当主机装置是在多任务操作系统(OS)的控制下工作的信息处理装置时,该情形是不可避免的。这是因为,在考虑全部任务的同时控制存储介质上的数据布置和访问顺序是极为复杂的,并且,要花很多资源来管理它们。
但是,这种情形不适用于诸如视频相机(摄录机)之类的具有成像部件和记录部件的消费者装置。消费者装置的操作一般是公式化的。换言之,消费者装置尤其需要响应于用户的各个操作来迅速且准确地工作。作为一种满足该请求的技术,盘调度(disk scheduling)是已知的。盘调度改变已被排队的许多命令的执行顺序,以便减少浪费性的频繁搜寻操作并从而改善系统性能(例如,参见“Operating System”,Iwanami-kozaSoftware Science,第343页)。
作为盘调度的一种算法,SCAN是已知的。在SCAN中,在一个方向上移动盘头,以便在盘的径向上处理I/O请求。正如所公知的,由于硬盘装置使用区段比特(zone bit)记录,因此盘的外圆周上的传送速率高于盘的内圆周上的传送速率。这样,当文件系统均等地使用盘的整个表面并且盘存储装置基于SCAN算法来执行盘调度时,就可以确保稳定的传送速率(例如,参见Reddy.N,Wyllie.J,“Disk Scheduling in Multimedia I/OSystem”,Proc,ACM Multimedia 93)。
用于与盘调度相结合地在盘上布置数据的技术在许多专利文献中已公开(例如,参见日本特开平9-185864号公报)。
发明内容
但是,当诸如摄录机之类的消费者装置写入诸如视频流之类的相对大量的数据时,该消费者装置发出写入命令,使得盘的存储区域按逻辑区块地址(logical block address,LBA)值较小(从盘的外圆周起)的顺序来被使用。在此情况下,根据SCAN方法的盘调度,在盘具有足够的空闲空间时,是没有问题的。但是,当空闲空间变得较小时,未使用的存储区域集中在传送速率较低的内圆周区域,因此,从主机装置的角度来看访问速率降低了。
考虑到上述问题,希望提供一种盘存储装置和程序,其能够确保从主机装置的角度来看的始终稳定的传送速率。
根据本发明的一个实施例,提供了一种盘存储装置,用于控制对存储介质的写入,该存储介质具有存储区域,该存储区域被分配了由多个区块构成的第一地址空间并且该存储区域的传送速率在空间上变化。该盘存储装置包括命令接收部件和控制部件。命令接收部件接收从主机装置发出的并且包含第一地址空间的地址的写入命令。控制部件执行控制,以便:将存储区域划分成多个区段;预定义第二地址空间,在该第二地址空间中,所述多个区块从第一地址空间的起始地址的区块起被顺次分配给所述多个区段;对于由所述命令接收部件接收到的每个写入命令,利用第二地址空间的地址来替换该写入命令中包含的第一地址空间的地址;通过循环改变来选择所述多个区段之一作为写入目标区段;并且对于每个所选择的区段,对存储介质执行写入处理。
根据本发明的实施例,从主机装置传送来的写入数据的各具有预定容量的区块被分配给多个区段,这些区段划分第一地址空间,该第一地址空间被分配给存储介质的存储区域。写入目标区段被循环地改变,并且区段之一被选择为写入目标区段。对于存储介质的所选区段执行写入处理。这样,可以确保从主机装置的角度来看的始终恒定的数据传送速率。
控制部件可执行控制,以按写入命令的写入数据的大小的降序来对写入命令设置优先级,并且按写入命令的优先级顺序来针对每个所选区段对存储介质执行写入处理。因此,当大小相对较大的视频数据被从主机装置作为写入数据传送来时,数据被优先写入到存储介质。结果,从主机装置的角度来看的数据传送速率可得到改善。此外,由于调整了写入命令的顺序,所以可以减少与少量数据的写入处理相对应的、在一小段时间中执行的搜寻操作的频率。从这个角度来看,也可以确保稳定的数据传送速率。
控制部件可执行控制,以对与以第二地址空间中的连续地址作为数据写入目标的多个写入命令相等同的一个写入命令设置优先级,并且基于被设置优先级的写入命令来执行写入处理。因此,可以进一步改善从主机装置的角度来看的数据传送速率。
当基于针对该多个区段中的一个区段的写入命令的写入处理的次数达到预定的上限值时,不论是否剩有针对该一个区段的未处理写入命令,控制部件都可执行控制,以使得基于未处理写入命令的写入处理被跳过并且针对该多个区段中的下一个区段的写入处理被执行。因此,在大小相对较大的数据被写入到存储介质时,可以减少与为大小相对较小的数据执行的写入处理相对应的一小段时间中的搜寻操作的频率。结果,可以改善从主机装置的角度来看的数据传送速率。
当与被跳过写入处理的未处理写入命令相对应的区段下次被选择为写入目标区段时,控制部件可优先执行基于未处理写入命令的写入处理。结果,可以避免长时间不执行针对大小较小的数据的写入处理的情形。
控制部件可执行控制,以便:将相同类型或不同类型的多个存储介质的存储区域视为一个存储区域;预定义第二地址空间,在该第二地址空间中,该多个区块从被分配给该一个存储区域的第一地址空间的起始地址的区块起被顺次分配给该多个区段;对于由命令接收部件接收到的每个写入命令,利用第二地址空间的地址来替换该写入命令中包含的第一地址空间的地址;通过循环改变来选择该多个区段之一作为写入目标区段;并且对于每个所选择的区段,对存储介质执行写入处理。
根据本发明的另一个实施例,提供了一种程序,用于控制对存储介质的写入,该存储介质具有存储区域,该存储区域被分配了第一地址空间并且该存储区域的传送速率在空间上变化。该程序使得内置在盘存储装置中的计算机充当命令接收部件和控制部件。命令接收部件接收从主机装置发出的并且包含第一地址空间的地址的写入命令。控制部件执行控制,以便:将存储区域划分成多个区段;预定义第二地址空间,在该第二地址空间中,多个区块从第一地址空间的起始地址的区块起被顺次分配给多个区段;对于由命令接收部件接收到的每个写入命令,利用第二地址空间的地址来替换该写入命令中包含的第一地址空间的地址;通过循环改变来选择多个区段之一作为写入目标区段;并且对于每个所选择的区段,对存储介质执行写入处理。
如上所述,在根据本发明实施例的盘存储装置和程序中,可以确保从主机装置的角度来看的始终恒定的数据传送速率。
根据以下对附图中所示的本发明最佳实施例的详细描述,将更清楚看到本发明的这些和其他目的、特征和优点。
附图说明
图1是示出根据本发明一个实施例的盘存储装置的结构的框图;
图2是示出外部LBA空间和内部LBA空间之间的关系的示意图;
图3是示出外部LBA和内部LBA之间的关系的表格;
图4是示出在接收到写入命令时执行的过程的流程图;
图5是示出命令管理表格的示图;
图6是示出在三个条目被添加到图5所示的命令管理表格时的命令管理表格的示例的示图;
图7是示出在两个条目被添加到图6所示的命令管理表格时的命令管理表格的示例的示图;以及
图8是示出基于区段的写入处理的流程图。
具体实施方式
接下来将参考附图描述本发明的实施例。
图1是示出根据本发明一个实施例的盘存储装置的结构的框图。
如图1所示,盘存储装置10包括通用串行总线(USB)接口控制部件11、内部总线12、接口控制部件13、控制部件14(作为命令接收部件)、存储器控制部件15、缓冲存储器16、硬盘驱动器(HDD)17、存储器18、以及中央处理单元(CPU)19。
USB接口控制部件11是与主机装置20的USB接口部件21合作工作的模块,并且控制盘存储装置10和主机装置20之间的接口。主机装置20例如是诸如视频相机和摄录机之类的电子装置。主机装置20包括CPU22、存储器23、成像部件24、记录部件25,等等。USB接口控制部件11接收来自主机装置20的USB接口控制部件21的写入命令,并通过内部总线12将该写入命令提供给控制部件14。此外,USB接口控制部件11把从主机装置20传送来的写入数据存储在部署于USB接口控制部件11中的端点FIFO(end point FIPO,EP)111中,直到EP 111变满为止。当EP 111变满时,USB接口控制部件11通过内部总线12将写入数据传送到存储器控制部件15。应当注意,盘存储装置10和主机装置20之间的接口并不限于USB系统。或者,可以改为使用具有等于或高于USB的传送速率的传送速率的接口,例如IEEE 1394。
内部总线12是在盘存储装置10的各个模块之间传输命令和数据的传输路径。
存储器控制部件15通过内部总线12把从USB接口控制部件11获得的写入数据写入到部署于缓冲存储器16中的写入缓冲器。
缓冲存储器16包括临时存储将被传送到HDD 17的写入数据的写入缓冲器以及在从HDD 17传送来的读取数据被传送到主机装置20之前对其进行临时存储的读取缓冲器。
接口控制部件13是控制内部总线12和HDD 17之间的接口的模块。
控制部件14将写入命令(例如,SCSI Write(1)命令)转换成具有HDD 17可以理解的格式的写入命令(例如,ATA命令),并通过接口控制部件13将转换后的写入命令提供给HDD 17。
此外,控制部件14预定义一内部LBA空间,其中,从被分配给其传送速率在HDD 17中空间性地变化的盘存储区域的外部LBA空间的起始LBA起,预定单位的区块被顺次均等地分配给划分盘存储区域的多个区段。控制部件14利用内部LBA空间中的LBA值来执行替换指示数据写入位置并包含在从主机装置20接收的每个写入命令中的LBA值的处理。外部LBA空间是分配给被主机装置20使用的盘存储区域的LBA空间。此外,控制部件14循环改变要选择的写入目标区段,针对当前选择的区段对至少一个写入命令设置优先级,并且控制HDD 17按写入命令的优先级顺序来对该区段执行写入处理。
虽然预定义了其中从被分配给其传送速率在HDD 17中空间性地变化的盘存储区域的外部LBA空间的起始LBA起、预定单位的区块被顺次均等地分配给划分盘存储区域的多个区段的内部LBA,但是取决于每个区段的大小、区段的数目、每个区块的容量等等,每个区块可能不一定被均等地分配给每个区段。
CPU 19对整个盘存储装置10执行整体控制,以例如通过内部总线12在模块之间交换命令和数据。存储器18被用作存储器控制部件15和CPU19的工作区域等等。
接下来,参考图2,将详细描述外部LBA空间和内部LBA空间之间的关系。
在图2所示的示例中,内部LBA空间是这样定义的,即,盘存储区域从传送速率最大的最外圆周(起始LBA)起按预定大小被划分成四个区段0、1、2和3,并且从外部LBA空间的起始LBA起,预定单位的区块(地址区块)被分配给区段0,1,2和3,其中所述预定大小例如是8GB(千兆字节),所述预定单位例如是2MB(兆字节)。
假定此示例中使用FAT 32文件系统。但是,当使用另外的文件系统时,也可以定义与盘存储区域的外部地址空间相对应的内部地址空间。在此示例中,HDD 17的总容量是32GB。32GB的内部LBA空间的最小LBA和最大LBA分别是0x0000000和0x3FFFFFF。当写入数据是视频数据时,2 MB相当于大约几百毫秒到1秒的再现持续时间。
图3是示出在区块大小为被设置为2MB并且区段大小被设置为8GB时外部LBA和内部LBA之间的关系的表格。具体而言,控制部件14可根据以下式(1)来从外部LBA值获得内部LBA值。
内部LBA=ZNm*(0x1000000)+Zof*(0x1000)+Bof  ...(1)
其中Znm是通过将下述商除以区段数目“4”而获得的余数:所述商是通过将给定的外部LBA值除以“1000”而获得的商;Zof是通过将下述商除以区段数目“4”而获得的商:所述商是通过将给定的外部LBA值除以“1000”而获得的商;并且Bof是通过将给定的外部LBA值除以“1000”而获得的余数。利用该计算,如图3所示,可以获得对应于外部LBA值的内部LBA值。当获得了内部LBA时,也可以获得包括该内部LBA的区段号码。
应当注意,在本发明的这个实施例中,HDD 17的总容量、区段大小、区段数目以及区块大小并不限于上述值。
接下来,将描述当在盘存储装置10中从主机装置20接收到写入命令时的操作。
当写入命令(SCSI Write(10)命令)被从主机装置20发送到盘存储装置10时,盘存储装置10向主机装置20发回表示写入许可的ACK。主机装置20确认ACK被发回,然后将写入数据传送到盘存储装置10。
盘存储装置10把从主机装置20传送来的写入数据临时写入到部署于USB接口控制部件11中的EP 111中。当EP 111变满时,盘存储装置10通过内部总线12将存储于EP 111中的写入数据传送到存储器控制部件15。存储器控制部件15使得写入数据被存储在缓冲存储器16(写入缓冲器)中。
此外,盘存储装置10的USB接口控制部件11通过内部总线12向控制部件14发送从主机装置20接收到的写入命令。控制部件14如下处理写入命令。
图4是示出控制部件14响应于写入命令执行的处理流程的流程图。当控制部件14接收到写入命令时(步骤S101),控制部件14判断响应于先前的写入命令的写入处理是否正被执行(步骤S102)。如果响应于先前的写入命令的写入处理没有正被执行(步骤S102处的“否”),控制部件14则判断存储器18中存储的命令管理表格当前是否为空(步骤S103)。命令管理表格指的是存储用来管理从主机装置20发送来的写入命令的信息的表格。命令管理表格将在下文中详细描述。
如果命令管理表格为空(步骤S103处的“是”),控制部件14则将接收到的写入命令转换成ATA命令并通过接口控制部件13将该ATA命令发送到HDD 17,以使得HDD 17执行写入处理(步骤S104)。从而对于在来自主机装置20的写入命令没有被频繁发出并且HDD 17当前没有执行写入处理时新接收到的写入命令,控制部件14立即将该新接收到的写入命令转换成ATA命令并将该ATA命令发送到HDD 17以执行写入处理。
当控制部件14在针对先前写入命令的写入处理完成之前接收到来自主机装置20的新写入命令时,例如,当控制部件14接连接收到来自主机装置20的多个写入命令时,控制部件14执行以下控制(步骤S102处的“是”)。控制部件14在命令管理表格中创建新的条目(步骤S105),并将基于从主机装置20接收的写入命令获得的每条信息存储到该条目中(步骤S106)。换言之,控制部件14根据前述式(1)获得与写入命令中包含的外部LBA相对应的内部LBA,并将所获得的内部LBA、该内部LBA所属的区段号码、以及存储作为写入命令的写入目标的写入数据的写入缓冲器地址存储到命令管理表格中新创建的条目。由于从主机装置20接收到的写入命令中包含的LBA是由开始LBA和结束LBA构成的,因此内部LBA的开始LBA和结束LBA被获得并存储到命令管理表格。
图5是示出此情形中的命令管理表格的图。
如图5所示,命令管理表格的每个条目包括条目号码、开始LBA、结束LBA、区段号码、存储器地址、以及链接标志。开始LBA是与写入命令中包含的开始LBA相对应的内部LBA。结束LBA是与写入命令中包含的结束LBA相对应的内部LBA。区段号码是开始LBA和结束LBA所属的区段号码。存储器地址是存储写入数据的写入缓冲器地址。链接标志是表示在命令管理表格中存储的条目的内部LBA连续的情况下父子之间的关系的信息。在图5中,由于只有一个条目被存储在命令管理表格中,所以表明没有链接(无连接(NC))的值被写在链接标志中。
返回到图4所示的流程图。
控制部件14检查命令管理表格中的所有条目的LBA的链接关系,并向每个具有这种关系的条目写入表示父与子之间的关系的链接标志。将描述在条目被添加到命令管理表格的情况下设置链接标志的方法。
图6示出了在三个条目(第二至第四条目)被添加到图5所示的命令管理表格时命令管理表格的示例。在开始LBA、结束LBA、区段号码以及存储器地址已被存储到第四条目之后,控制部件14检查新创建的条目即第四条目的内部LBA(开始LBA和结束LBA)和每个其他条目的内部LBA(开始LBA和结束LBA)的链接关系,并且确定第四条目的内部LBA和第一条目的内部LBA具有链接关系。
控制部件14以下述方式来检查内部LBA的链接关系:即,检查新创建的条目的开始LBA是否与另一条目的结束LBA连续,以及新创建的条目的结束LBA是否与另一条目的开始LBA连续。但是,不检查属于不同区段的连续LBA的链接关系。在图6所示的示例中,条目号码4的开始LBA与条目号码1的结束LBA连续。如果控制部件14发现了这样的连续性,控制部件14则向具有这种关系的条目写入表示父与子之间的关系的链接标志。换言之,控制部件14向具有条目号码4的条目写入表示具有条目号码4的条目的父亲是具有条目号码1的条目的链接标志“1”。“1”表示具有条目号码1的条目。此外,控制部件14写入表示具有条目号码1的条目的孩子是具有条目号码4的条目的链接标志“4”。“4”表示具有条目号码“4”的条目。这样,设置了链接标志。
图7示出了当两个条目(第五和第六条目)也被添加到图6所示的命令管理表格时命令管理表格的示例。在开始LBA、结束LBA、区段号码和存储器地址已被写入到第六条目后,控制部件14检查新创建的第六条目的内部LBA(开始LBA和结束LBA)和每个其他条目的内部LBA(开始LBA和结束LBA)的链接关系,并且确定第四条目的结束LBA与第六条目的开始LBA连续。于是,控制部件14向具有条目号码4的条目写入表示具有条目号码4的条目的孩子是具有条目号码6的条目的链接标志“6”。“6”表示具有条目号码6的条目。此外,控制部件14向具有条目号码6的条目写入表示具有条目号码6的条目的父亲是具有条目号码4的条目的链接标志“4”。“4”表示具有条目号码“4”的条目。这样,设置了链接标志。
如果发生预定的事件,例如,主机装置20停止发出接连的写入命令或者写入缓冲器变满,控制部件14则针对当前选择的区段对至少一个写入命令设置优先级,并控制HDD 17对于该区段执行针对设置了优先级的写入命令的写入处理。
接下来,参考图8,将描述对HDD 17的每个区段执行的写入处理的控制。
图8是示出对HDD 17的每个区段执行的写入处理的流程图。首先,控制部件14选择一个区段作为写入目标区段。控制部件14执行循环改变以按区段0→1→2→3→0等等的顺序来选择HDD 17的盘存储区域的接连区段之一作为写入目标区段。假定特定的区段(例如,区段0)已被选择为写入目标区段。
首先,控制部件14从命令管理表格中检索与写入目标是属于区段0的LBA的写入命令相对应的条目(步骤S201)。
之后,控制部件14按根据开始LBA和结束LBA获得的写入数据大小的降序来对检索出的条目设置优先级(步骤S202)。在此情况下,控制部件14把其链接标志表示父子之间的关系的多个条目视为一个要被设置优先级的条目。在图7所示的命令管理表格的示例中,存在作为属于区段0的条目的条目号码“1”、“4”和“6”。此外,这些条目的链接标志表示父与子之间的关系。因此,与这些条目相对应的写入数据的总大小变成了对条目设置优先级的条件。在图7所示的命令管理表格的示例中,由于没有其他条目属于区段0,因此条目号码“1”、“4”和“6”的被设置为最高的优先级。
在如上所述对写入目标为区段0的至少一个写入命令进行优先级设置后,控制部件14初始化一变量,该变量表示对于使得HDD 17执行该写入处理的写入命令而言已处理的条目的数目(已处理条目的数目)(步骤S203),按写入命令的优先级顺序通过接口控制部件13向HDD 17发出写入目标为区段0的写入命令(ATA命令),并且使得HDD 17根据写入命令执行写入处理(步骤S204)。在此情况下,控制部件14把与具有父子之间的关系的条目(例如具有条目号码“1”、“4”和“6”的条目)相对应的写入命令转换成等同的写入命令(ATA命令),并通过接口控制部件13向HDD 17发出经过转换的写入命令。
之后,控制部件14通过接口控制部件13从HDD 17接收表明写入处理完成的通知,从命令管理表格中删除与HDD 17已为其完成写入处理的写入命令相对应的条目,并且递增已处理条目的数目(步骤S205)。
之后,控制部件14判断命令管理表格是否包含与针对作为写入目标区段的区段的写入命令相对应的未处理条目(步骤S206)。如果命令管理表格包含未处理条目(步骤S206处的“是”),控制部件14则检查已处理条目的数目是否达到了预定的上限值(步骤S207)。当控制部件14确定已处理条目的数目已达到预定上限值时(步骤S207处的“否”),则即使命令管理表格包含与写入目标区段是所选区段的写入命令相对应的未处理条目,控制部件14也会跳过针对与未处理条目相对应的写入命令的写入处理并选择下一区段作为写入目标(步骤S209)。之后,控制部件14控制HDD 17对新的区段(例如,区段1)执行写入处理。
即使已处理条目的数目未达到上限值,在基于与写入目标区段是当前所选区段的所有条目相对应的写入命令的写入处理完成后(步骤S206处的“否”),控制部件14也会选择下一区段作为写入目标区段(步骤S209)。
在命令管理表格中为未处理条目设置延迟标志(步骤S208),以便在与该未处理条目相对应的区段下次或以后被选择为写入目标区段时对该区段执行写入处理。
根据此实施例,可获得以下效果。
当主机装置20向盘存储装置10传送作为相对大容量数据(例如视频流数据)的写入数据时,主机装置20发出写入命令,使得存储区域被按外部LBA值(盘的外圆周)的升序顺次使用,并且外部LBA空间被分布式地使用(随机地或规则地)。根据此实施例,在此情况下,从主机装置20传送来的写入数据的各具有预定容量的区块被分配给划分外部LBA空间的多个区段。此外,区段之一通过循环改变被选择为写入目标区段,并且写入处理被针对存储介质的所选区段而执行。这样,从主机装置的角度来看可以确保始终稳定的数据传送速率。
此外,在基于区段的写入处理中,比起针对更小写入数据的写入命令(例如针对元数据的写入命令)来说,控制部件14使针对更大写入数据的写入命令更优先。这样,在基于区段的写入处理中,由于可以减少对于较小数据执行的短时段的搜寻操作的频率,因此可以确保始终稳定的数据传送速率。
另外,根据此实施例的盘存储装置10进行的写入控制不要求对主机装置20进行修改。因此,盘存储装置10可以对各类主机装置执行写入控制。
接下来,将描述此实施例的修改。
各个区段的容量不一定是相同的。如果基于区段的写入处理是从盘的外圆周区段开始的,则可能盘的内圆周区段的容量略小于外圆周区段的容量(小大约一到几个区块的大小)。但是,除非各个区段的容量几乎相同,否则当所使用容量变大时,会存在这样的危险,即,由于分割等等的影响,无法确保稳定的数据传送速率。
根据上述实施例,在基于区段的写入处理中,基于与低优先级条目相对应的写入命令的写入处理被跳过,直到相应区段下次被选择为止。已被跳过写入处理的未处理条目被留在命令管理表格中。关于何时以及如何处理对应于这些条目的写入命令,可存在各种技术。例如,在命令管理表格中管理历史信息(延迟标志),该历史信息表示与已被跳过写入处理的命令相对应的条目。当相应区段下次被选择为写入目标区段时,保留在命令管理表格中的未处理条目和其他条目被设置优先级并按条目的优先级顺序被处理。或者,为了比起其他条目来更优先对待被跳过的条目,例如,与已被跳过写入处理的写入命令相对应的未处理条目可根据已跳过的写入处理的次数而被设置较高的优先级。
根据上述实施例,HDD 17被用作存储介质。此外,本发明也可应用到使用多个HDD的情况。在此情况下,多个HDD的存储区域可被视为一个存储区域。控制部件14可预先定义与被分配给组合存储区域的外部LBA空间相对应的内部LBA空间。或者,HDD和诸如光盘之类的其他类型的存储介质可被组合,其存储区域可被视为一个存储区域,外部LBA空间可被分配给组合存储区域,并且与外部LBA空间相对应的内部LBA空间可被控制部件14预先定义。结果,本发明的实施例可被应用到使用不同类型的介质的盘存储装置。
本发明并不限于上述实施例,而是当然可被进行各种修改,而不脱离本发明的要旨。
本发明包含与2008年6月25日向日本特许厅提交的日本优先权专利申请JP 2008-165741中公开的内容相关的主题,这里通过引用将该申请的全部内容并入。

Claims (7)

1.一种盘存储装置,用于控制对存储介质的写入,该存储介质具有存储区域,该存储区域被分配了由多个区块构成的第一地址空间并且该存储区域的传送速率在空间上变化,该盘存储装置包括:
命令接收部件,用于接收从主机装置发出的并且包含所述第一地址空间的地址的写入命令;以及
控制部件,用于执行控制,以便:将所述存储区域划分成多个区段;预定义第二地址空间,在该第二地址空间中,所述多个区块从所述第一地址空间的起始地址的区块起被顺次分配给所述多个区段;对于由所述命令接收部件接收到的每个写入命令,利用所述第二地址空间的地址来替换该写入命令中包含的所述第一地址空间的地址;通过循环改变来选择所述多个区段之一作为写入目标区段;并且对于每个所选择的区段,对所述存储介质执行写入处理。
2.如权利要求1所述的盘存储装置,
其中,所述控制部件执行控制,以按写入命令的写入数据的大小的降序来对写入命令设置优先级,并且按写入命令的优先级顺序来针对每个所选区段对所述存储介质执行写入处理。
3.如权利要求2所述的盘存储装置,
其中,所述控制部件执行控制,以对与以所述第二地址空间中的连续地址作为数据写入目标的多个写入命令相等同的一个写入命令设置优先级,并且基于被设置优先级的写入命令来执行写入处理。
4.如权利要求3所述的盘存储装置,
其中,当基于针对所述多个区段中的一个区段的写入命令的写入处理的次数达到预定的上限值时,不论是否剩有针对所述一个区段的未处理写入命令,所述控制部件都执行控制,以使得基于所述未处理写入命令的写入处理被跳过并且针对所述多个区段中的下一个区段的写入处理被执行。
5.如权利要求4所述的盘存储装置,
其中,当与被跳过写入处理的未处理写入命令相对应的区段下次被选择为写入目标区段时,所述控制部件优先执行基于所述未处理写入命令的写入处理。
6.如权利要求1所述的盘存储装置,
其中,所述控制部件执行控制,以便:将相同类型或不同类型的多个存储介质的存储区域视为一个存储区域;预定义第二地址空间,在该第二地址空间中,所述多个区块从被分配给所述一个存储区域的第一地址空间的起始地址的区块起被顺次分配给所述多个区段;对于由所述命令接收部件接收到的每个写入命令,利用所述第二地址空间的地址来替换该写入命令中包含的所述第一地址空间的地址;通过循环改变来选择所述多个区段之一作为写入目标区段;并且对于每个所选择的区段,对所述存储介质执行写入处理。
7.一种用于控制对存储介质的写入的方法,该存储介质具有存储区域,该存储区域被分配了第一地址空间并且该存储区域的传送速率在空间上变化,该方法包括:
命令接收步骤,用于接收从主机装置发出的并且包含所述第一地址空间的地址的写入命令;以及
控制步骤,用于执行控制,以便:将所述存储区域划分成多个区段;预定义第二地址空间,在该第二地址空间中,多个区块从所述第一地址空间的起始地址的区块起被顺次分配给所述多个区段;对于在所述命令接收步骤中接收到的每个写入命令,利用所述第二地址空间的地址来替换该写入命令中包含的所述第一地址空间的地址;通过循环改变来选择所述多个区段之一作为写入目标区段;并且对于每个所选择的区段,对所述存储介质执行写入处理。
CN200910149492XA 2008-06-25 2009-06-25 盘存储装置和程序 Expired - Fee Related CN101615410B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008165741 2008-06-25
JP2008165741A JP4992835B2 (ja) 2008-06-25 2008-06-25 ディスク記憶装置およびプログラム
JP2008-165741 2008-06-25

Publications (2)

Publication Number Publication Date
CN101615410A CN101615410A (zh) 2009-12-30
CN101615410B true CN101615410B (zh) 2011-06-08

Family

ID=41448935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910149492XA Expired - Fee Related CN101615410B (zh) 2008-06-25 2009-06-25 盘存储装置和程序

Country Status (3)

Country Link
US (1) US20090327598A1 (zh)
JP (1) JP4992835B2 (zh)
CN (1) CN101615410B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489145B2 (en) 2013-12-09 2016-11-08 HGST Netherlands B.V. Disk drive including I-regions having configurable final logical block addresses
US8922925B1 (en) 2013-12-09 2014-12-30 HGST Netherlands B.V. Actively written guard bands in a cold storage or mixed mode drive
US8941943B1 (en) 2013-12-09 2015-01-27 HGST Netherlands B.V. Dynamic variable capacity hard disk drive
US8867153B1 (en) 2013-12-09 2014-10-21 HGST Netherlands B.V. Method and apparatus for dynamic track squeeze in a hard drive
CN103984655A (zh) * 2014-04-29 2014-08-13 三星半导体(中国)研究开发有限公司 数据访问的处理方法和装置
US10691375B2 (en) * 2015-01-30 2020-06-23 Hewlett Packard Enterprise Development Lp Memory network to prioritize processing of a memory access request
KR102694483B1 (ko) * 2018-08-14 2024-08-13 에스케이하이닉스 주식회사 컨트롤러 및 그것의 동작방법
US10692519B1 (en) * 2019-03-04 2020-06-23 Microsoft Tchnology Licensing, LLC Adjustable seek energy settings in storage device systems
US11314446B2 (en) * 2020-06-25 2022-04-26 Micron Technology, Inc. Accelerated read translation path in memory sub-system
CN114691020A (zh) * 2020-12-30 2022-07-01 上海曼卜信息科技有限公司 基于zns标准提供数据压缩存储设备及其方法
FR3121778B1 (fr) * 2021-04-07 2024-04-19 Ipanematech Procédé d’optimisation d’écriture sur un disque dur

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6029226A (en) * 1996-09-30 2000-02-22 Lsi Logic Corporation Method and apparatus having automated write data transfer with optional skip by processing two write commands as a single write command
US6151660A (en) * 1996-08-23 2000-11-21 Olympus Optical Co., Ltd. Information recording/reproducing apparatus having segmented cache memory
CN1690985A (zh) * 2004-04-20 2005-11-02 日立环球储存科技荷兰有限公司 用于高速缓存的磁盘装置和控制方法
CN1875339A (zh) * 2003-10-29 2006-12-06 松下电器产业株式会社 驱动设备及相关计算机程序

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03252832A (ja) * 1990-03-02 1991-11-12 Ricoh Co Ltd ファイルサーバー
US5555371A (en) * 1992-12-17 1996-09-10 International Business Machines Corporation Data backup copying with delayed directory updating and reduced numbers of DASD accesses at a back up site using a log structured array data storage
JPH07271513A (ja) * 1994-03-29 1995-10-20 Fujitsu Ltd ディスク制御方法及びディスク制御装置
JP2000039968A (ja) * 1998-05-19 2000-02-08 Matsushita Electric Ind Co Ltd デ―タ記憶装置及びその制御方法
JP2000013727A (ja) * 1998-06-19 2000-01-14 Matsushita Electric Ind Co Ltd 映像データ記録媒体及び映像データ記録/再生装置及びプログラム記録媒体
JP2000056932A (ja) * 1998-08-10 2000-02-25 Matsushita Electric Ind Co Ltd ディスク制御装置
US6799283B1 (en) * 1998-12-04 2004-09-28 Matsushita Electric Industrial Co., Ltd. Disk array device
US7088713B2 (en) * 2000-06-19 2006-08-08 Broadcom Corporation Switch fabric with memory management unit for improved flow control
JP4061272B2 (ja) * 2002-01-09 2008-03-12 株式会社ルネサステクノロジ メモリシステム及びメモリカード
US8854758B2 (en) * 2005-09-07 2014-10-07 Agere Systems Inc. Track defect map for a disk drive data storage system
KR101305490B1 (ko) * 2005-10-01 2013-09-06 삼성전자주식회사 메모리 맵핑 방법 및 장치
JP4315178B2 (ja) * 2006-10-03 2009-08-19 船井電機株式会社 ディスク記録装置及びプログラム
US20090157940A1 (en) * 2007-12-15 2009-06-18 Hitachi Global Storage Technologies Netherlands, B.V. Techniques For Storing Data In Multiple Different Data Storage Media
US8275970B2 (en) * 2008-05-15 2012-09-25 Microsoft Corp. Optimizing write traffic to a disk

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151660A (en) * 1996-08-23 2000-11-21 Olympus Optical Co., Ltd. Information recording/reproducing apparatus having segmented cache memory
US6029226A (en) * 1996-09-30 2000-02-22 Lsi Logic Corporation Method and apparatus having automated write data transfer with optional skip by processing two write commands as a single write command
CN1875339A (zh) * 2003-10-29 2006-12-06 松下电器产业株式会社 驱动设备及相关计算机程序
CN1690985A (zh) * 2004-04-20 2005-11-02 日立环球储存科技荷兰有限公司 用于高速缓存的磁盘装置和控制方法

Also Published As

Publication number Publication date
JP4992835B2 (ja) 2012-08-08
US20090327598A1 (en) 2009-12-31
CN101615410A (zh) 2009-12-30
JP2010009653A (ja) 2010-01-14

Similar Documents

Publication Publication Date Title
CN101615410B (zh) 盘存储装置和程序
JP5000316B2 (ja) オブジェクト・ベースのデータ記憶装置
US20090157756A1 (en) File System For Storing Files In Multiple Different Data Storage Media
US9405485B2 (en) Method and apparatus for writing data to a flash memory
JP3347015B2 (ja) 頻繁にアクセスされ、ランダムにアドレス指定されるデータの適応局所化方法及び装置
CN110032333B (zh) 存储器系统及其操作方法
US20100161887A1 (en) Storage device, control method thereof, and electronic device using storage device
CN101620516B (zh) 信息处理装置、其控制方法,以及程序
EP1548600B1 (en) Data management device and method for flash memory
US20100250826A1 (en) Memory systems with a plurality of structures and methods for operating the same
CN106970765B (zh) 数据存储方法及装置
CN102203717A (zh) 固态驱动器优化器
CN101416165A (zh) 描述和查询闪存存储的分离区域
JP4983474B2 (ja) 仮想ライブラリ装置、仮想ライブラリシステム、仮想ライブラリ装置の論理ボリューム複写方法。
US9558124B2 (en) Data storage system with passive partitioning in a secondary memory
JP2005293205A (ja) 記憶制御装置、制御方法、および制御プログラム。
JPH06110772A (ja) コンピュータのデータを記憶させるための直接アクセス記憶装置の割振り方法及び装置
CN106201652B (zh) 一种数据处理方法及虚拟机
CN103955433A (zh) 盖瓦磁记录硬盘、盖瓦磁记录硬盘写数据的方法及装置
JP5567545B2 (ja) 仮想ボリュームに領域を割り当てるための方法及び装置
CN104679668A (zh) 存储系统及其控制方法
CN105487824A (zh) 信息处理方法、存储装置及电子设备
CN109669621A (zh) 一种文件管理方法、文件管理系统、电子设备及存储介质
US11106390B1 (en) Combining in-process reads to reduce die collisions
CN103365783A (zh) 存储控制装置、存储装置、信息处理系统和处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
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: 20110608

Termination date: 20130625