《磁盘记录方法及其非易失性存储媒体与电子装置.pdf》由会员分享,可在线阅读,更多相关《磁盘记录方法及其非易失性存储媒体与电子装置.pdf(31页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104063184A43申请公布日20140924CN104063184A21申请号201310744510522申请日2013123061/803,12020130319US14/080,81320131115USG06F3/06200601G06F13/1620060171申请人财团法人工业技术研究院地址中国台湾新竹县72发明人迪里普尼加哥辛哈阙志克74专利代理机构中科专利商标代理有限责任公司11021代理人宋焰琴54发明名称磁盘记录方法及其非易失性存储媒体与电子装置57摘要本揭露提出一种磁盘记录方法,所述方法用于包括临时非易失性存储媒体的电子装置,以将来自易失性存储器的。
2、数据记录到所述存储媒体,且所述方法包含以下步骤从外部源接收具有第一批量的数据,并将所述数据存储到所述存储媒体的队列将所述数据写入到所述存储媒体的磁盘中;以及传输一中断以响应于完成将所述数据写入到所述外部源,其中动态地调整所述第一批量,以使得写入所述数据的所述步骤相较于接收并存储所述数据的所述步骤花费更多或相同的时间。30优先权数据51INTCL权利要求书4页说明书15页附图11页19中华人民共和国国家知识产权局12发明专利申请权利要求书4页说明书15页附图11页10申请公布号CN104063184ACN104063184A1/4页21一种磁盘记录方法,用于临时非易失性存储媒体,以将来自易失性存。
3、储器的数据记录到所述存储媒体,所述方法包括从外部源接收具有第一批量的第一数据,并将所述第一数据存储到所述存储媒体的队列;将所述第一数据写入到所述存储媒体的磁盘;以及传输中断以响应于完成将所述第一数据写入到所述外部源,其中动态地调整所述第一批量,以使得写入所述第一数据的所述步骤相较于接收并存储所述第一数据的所述步骤花费更多或相同的时间。2根据权利要求1所述的方法,所述存储媒体是硬盘机HDD,所述硬盘机将数字数据存储在涂布有磁性材料的旋转盘片上,并使用安置在移动致动器臂上的磁头在所述旋转盘片上读取和写入数据。3根据权利要求1所述的方法,仅响应于传输所述中断,所述存储媒体从所述外部源接收具有所述第一。
4、批量的所述第一数据,并将所述第一数据存储到所述存储媒体的所述队列中。4根据权利要求1所述的方法,动态地调整所述第一批量还包括,动态地调整所述第一批量,以使得写入所述第一数据的所述步骤与接收并存储所述第一数据的所述步骤花费相同的时间。5根据权利要求2所述的方法,所述存储媒体从所述存储媒体的第一磁轨的第一扇区到所述存储媒体的最后一个磁轨的最后一个扇区将数据不断地写入到所述磁盘而不间断。6根据权利要求5所述的方法,还包括在所述存储媒体写入到所述最后一个磁轨的所述最后一个扇区之前将所述第一数据传送到永久存储装置。7根据权利要求5所述的方法,还包括所述存储媒体不断地从所述存储媒体的所述第一磁轨的所述第一。
5、扇区到所述存储媒体的所述最后一个磁轨的所述最后一个扇区将数据写入到所述磁盘,而在其间没有空的扇区。8根据权利要求5所述的方法,还包括所述存储媒体不断地从所述存储媒体的所述第一磁轨的所述第一扇区到所述存储媒体的所述最后一个磁轨的所述最后一个扇区将数据写入到所述磁盘,而无需知晓所述存储媒体的确切几何形状细节。9根据权利要求1所述的方法,动态地调整所述第一批量,以使得所述存储媒体的外部磁轨中的所述第一批量大于所述存储媒体的内部磁轨中的所述第一批量。10根据权利要求9所述的方法,所述存储媒体维持固定的吞吐量,所述吞吐量是基于每秒的输入和输出的总数乘以所述动态地调整的第一批量来决定。11根据权利要求1所。
6、述的方法,该方法的所述步骤不是由操作系统的任何文件系统来管理。12根据权利要求1所述的方法,所述临时非易失性存储媒体的所述队列是由本地命令列队NCQ来管理。13根据权利要求12所述的方法,当所述存储媒体从所述外部源接收应用程序驱动的数据的固定串流时,所述本地命令列队设定为2。权利要求书CN104063184A2/4页314根据权利要求1所述的方法,所述第一数据包括非应用程序驱动的虚拟数据。15根据权利要求14所述的方法,所述将所述第一数据写入到所述磁盘是仅一个扇区。16根据权利要求14所述的方法,所述第一数据还包括与所述虚拟数据在一起的所述应用程序驱动的数据。17根据权利要求14所述的方法,所。
7、述临时非易失性存储媒体的所述队列是由本地命令列队被设定为等于或大于2的值来管理。18根据权利要求14所述的方法,所述存储媒体在每N个写入时隙实行1个写入请求,其中N是大于1的整数。19根据权利要求14所述的方法,所述存储媒体将每N个扇区中的第一扇区写入合并记录中,或将每N个扇区的最后一个扇区写入合并记录中,其中N是大于1的整数。20根据权利要求1所述的方法,所述存储媒体属于由聚集所述外部源的数据的全局队列管理的磁盘阵列。21一种非易失性存储媒体,包括控制器,其中所述控制器用于从外部源接收具有第一批量的第一数据,并将所述第一数据存储到所述存储媒体的队列;将所述第一数据写入到所述存储媒体的磁盘;以。
8、及传输一中断以响应于完成将所述第一数据写入到所述外部源,其中动态地调整所述第一批量,以使得写入所述第一数据的所述步骤相较于接收并存储所述第一数据的所述步骤花费更多或相同的时间。22根据权利要求21所述的存储媒体,所述存储媒体是硬盘机HDD,所述硬盘机将数字数据存储在涂布有磁性材料的旋转盘片上,且使用安置在移动致动器臂上的磁头在所述旋转盘片上读取和写入数据。23一种磁盘记录方法,用于包括第一临时非易失性第一存储媒体的电子装置,以将来自易失性存储器的数据记录到所述第一存储媒体,所述方法包括将来自所述电子装置的应用程序的第一数据聚集在第一队列中;将所述第一队列的所述第一数据传送到所述第一存储媒体的第。
9、二队列,其中所述第二队列仅提供所述第一储存媒体使用,而从所述第一数据产生具有第一批量的第二数据;将所述第二数据传送到所述第一存储媒体本地的第三队列;将所述第二数据写入到所述第一存储媒体的磁盘;以及传输一中断以响应于完成将所述第二数据写入到所述第一队列,其中动态地调整所述第一批量,以使得写入所述第二数据的所述步骤相较于将所述第二数据传送到所述第三队列的所述步骤花费更多的时间。24根据权利要求23所述的方法,所述第一存储媒体是硬盘机,所述硬盘机将数字数据存储在涂布有磁性材料的旋转盘片上,并使用安置在移动致动器臂上的磁头在所述旋转盘片上读取和写入数据。25根据权利要求23所述的方法,仅响应于传输所述。
10、中断,所述第一存储媒体才接收所述第二数据,并将所述第二数据存储在所述第一存储媒体的所述第三队列中。26根据权利要求23所述的方法,动态地调整所述第一批量还包括,动态地调整所述权利要求书CN104063184A3/4页4第一批量,以使得写入所述第二数据的所述步骤与将所述第二数据传送到所述第三队列的所述步骤花费相同的时间。27根据权利要求24所述的方法,所述第一存储媒体从所述第一存储媒体的第一磁轨的第一扇区到所述第一存储媒体的最后一个磁轨的最后一个扇区将数据不断地写入到所述磁盘而不间断。28根据权利要求27所述的方法,还包括在所述第一存储媒体写入到所述最后一个磁轨的所述最后一个扇区之前将所述第二数。
11、据传送到永久存储装置。29根据权利要求27所述的方法,还包括所述第一存储媒体不断地从所述第一存储媒体的所述第一磁轨的所述第一扇区到所述第一存储媒体的所述最后一个磁轨的所述最后一个扇区将数据写入到所述磁盘而在其间没有空的扇区。30根据权利要求27所述的方法,还包括所述第一存储媒体不断地从所述第一存储媒体的所述第一磁轨的所述第一扇区到所述第一存储媒体的所述最后一个磁轨的所述最后一个扇区将数据写入到所述磁盘而无需知晓所述第一存储媒体的确切几何形状细节。31根据权利要求23所述的方法,动态地调整所述第一批量,以使得所述第一存储媒体的外部磁轨中的所述第一批量大于所述第一存储媒体的内部磁轨中的所述第一批量。
12、。32根据权利要求31所述的方法,所述第一存储媒体维持固定的吞吐量,所述吞吐量是基于每秒的输入和输出的总数乘以所述动态地调整的第一批量来决定。33根据权利要求25所述的方法,该方法的所述步骤不是由所述电子装置的操作系统的任何文件系统来管理。34根据权利要求23所述的方法,所述第一存储媒体的所述第三队列是由本地命令列队来管理。35根据权利要求34所述的方法,当所述第一存储媒体从所述外部源接收应用程序驱动的数据的固定串流时,将所述本地命令列队设定为2。36根据权利要求23所述的方法,所述第一队列包括非应用程序驱动的虚拟数据。37根据权利要求36所述的方法,所述将所述第二数据写入到所述磁盘是仅一个扇。
13、区。38根据权利要求36所述的方法,所述第二数据还包括与所述虚拟数据在一起的应用程序驱动的数据。39根据权利要求36所述的方法,所述临时非易失性第一存储媒体的所述队列是由本地命令列队NCQ被设定为等于或大于2的值来管理。40根据权利要求36所述的方法,所述第一存储媒体在每N个写入时隙实行1个写入请求,其中N是大于1的整数。41根据权利要求36所述的方法,所述存储媒体将每N个扇区中的第一扇区写入合并记录中,或将每N个扇区的最后一个扇区写入合并记录中,其中N是大于1的整数。42根据权利要求36所述的方法,所述电子装置还包括以不同于所述第一存储媒体的速度旋转的第二存储媒体,其中所述第一存储媒体和所述。
14、第二存储媒体电耦接到所述第一队列。43根据权利要求42所述的方法,所述电子装置基于所述应用程序驱动的数据的量而权利要求书CN104063184A4/4页5选择所述第一存储媒体或所述第二存储媒体。44一种电子装置,包括临时非易失性第一存储媒体以将来自易失性存储器的数据记录到所述第一存储媒体,且包括控制器,所述控制器用于将来自所述电子装置的应用程序的第一数据聚集在第一队列中;将所述第一队列的所述第一数据传送到所述第一存储媒体的第二队列,其中所述第二队列仅提供所述第一储存媒体使用,而从所述第一数据产生具有第一批量的第二数据;将所述第二数据传送到所述第一存储媒体本地的第三队列;将所述第二数据写入到所述。
15、第一存储媒体的磁盘;以及传输一中断以响应于完成将所述第二数据写入到所述第一队列,其中动态地调整所述第一批量,以使得写入所述第二数据的所述步骤相较于将所述第二数据传送到所述第三队列的所述步骤花费更多的时间。权利要求书CN104063184A1/15页6磁盘记录方法及其非易失性存储媒体与电子装置技术领域0001本揭露涉及一种磁盘记录方法,所述方法供临时非易失性存储媒体将来自易失性存储器的数据记录到所述存储媒体,且所述方法用于具有所述存储媒体的电子装置。本揭露还涉及使用所述磁盘记录方法的非易失性存储媒体以及使用所述磁盘记录方法的电子装置。背景技术0002计算机应用程序通常将数据存储在随机存取存储器R。
16、ANDOMACCESSMEMORY,RAM中以供快速存取,这是因为RAM的存取速度相较于非易失性磁盘快得多。然而,如果托管所述计算机应用程序的系统崩溃,那么存储在RAM中的内容便无法恢复,这是因为RAM是易失性的存储器。对于许多应用程序来说,例如密集写入型应用程序,已利用将存储在RAM中的数据记录到一种形式暂时但具持久性的存储器或记录磁盘,以使得如果发生系统崩溃时,将执行恢复进程以将数据从记录磁盘复原到易失性存储器。记录到记录磁盘的数据将随后被传送到系统的正常磁盘机以进行永久存储。0003然而,对于用作记录磁盘的最佳类型的持久存储器并没有普遍共识。基于闪存的存储器,例如非易失性存储器NVRAM。
17、等目前来说是昂贵的,而硬盘机HARDDISKDRIVE,HDD已经不予考量是因为其速度较慢,其不适合用作记录磁盘。相变存储器PHASECHANGINGMEMORY,PCM可成为基于闪存的存储器的一个较快的替代方案,但是由于PCM的小密度以及高成本而在未来不易被采用为记录磁盘。优化OPTIMIZING磁盘记录过程的等待时间LATENCY和吞吐量THROUGHPUT也是一项至关紧要的任务。0004吞吐量可被定义为由记录磁盘完成的记录操作的总数,包含读取和写入。等待时间可被定义为在由记录磁盘的队列接收到记录请求时与在记录请求被成功地写入到记录磁盘并准备好向用户应用程序进行确认时之间的时间。等待时间和。
18、吞吐量将是记录系统将要优化的多个参数中的两个,这是因为理想的磁盘记录系统将具有低等待时间和高吞吐量。对记录系统的记录请求的所感知的响应时间将由记录操作及其相关联的操作的等待时间来支配。0005提供高吞吐量和低等待时间给具有小的有效负载的记录操作是至关重要的,其中所述的小的有效负载例如是64字节或128字节等,这是因为许多应用程序仅需要记录与高层级操作相关联的信息,例如对平衡搜寻树BALANCETREE,BTREE页或散列表包HASHTABLEBUCKET中的记录的更新。信息的大小通常较小。低记录等待时间的重要性,在于因为其直接影响用户感知到的响应时间,并且因为许多应用程序将受限于记录磁盘的等待。
19、时间,而这是因为,在先前提交的请求尚未完成之前是无法处理较多的请求的。0006然而,要实现记录操作的高吞吐量和低等待时间尤其针对细粒度FINEGRAINED操作已证明绝非易事。目前已意识到三个关键的挑战。首先,在细粒度记录与现代文件系统之间存在失配。更具体来说,所述文件系统将4KB的块用作读取和写入的基本单元,且因此将64字节或128字节的记录记录到日志文件可能需要读取日志说明书CN104063184A2/15页7文件的最后一个块以及在将所述日志记录附加到所述块之后对同一块进行写入。第二,调用接口到磁盘之间的数据路径上存在多个处理步骤,所述多个处理步骤需要横越记录操作LOGGINGOPERAT。
20、ION的有效负载PAYLOAD,且这些步骤中的一些步骤可能招致每个操作的开销OVERHEAD。因此,连续的记录操作请求被适当地合并,以便有效地分摊这些每个操作的开销,且仍然控制住平均的记录等待时间之內。第三,为了提高现代磁盘的原始数据传送能力,将提出一种针对较小的数据大小将高层级记录操作请求转变为低层级磁盘存取请求的方式,以用来将防止记录磁盘大部分时间都是闲置的。0007在这些问题下,现有技术可能无法完全解决所有这些挑战。举例来说,紧随的异步写入的涉及记录和的延迟写入将会把瓶颈转移到记录操作。如果记录的记录大小假设较小,则内部的存储装置在较小的随机记录更新的情况下必须以低等待时间管理高吞吐量。。
21、而且,许多优化技术将涉及对磁盘几何形状细节进行准确控制,所述磁盘几何细节例如是旋转等待时间、搜寻等待时间、每一磁轨中的扇区的数量、区编码、坏扇区映射以及其它较细的细节。此时,由于高级磁盘压缩技术,将寻求一种实施需要这些细节的想法的实施方式,且一些磁盘制造商由于复杂的磁盘管理技术和竞争性市场而不再供应磁盘布局的内部细节。而且,还应提及的是,磁盘头预测技术可能不易被采用,这是因为该技术对于现代的磁盘机来说较难以实现。0008另一种方法涉及维护磁盘上的已使用和空闲的块的图,以便将传入的数据准确地放置在未占用的块上,并且同时避免磁轨切换延迟;然而,维持映射信息将使记录结构变成不必要地复杂,且可能需要对。
22、磁盘的几何形状进行估计。0009还有一种让使用独立磁盘冗余阵列REDUNDANTARRAYOFINDEPENDENTDISKS,RAID技术的记录磁盘阵列已被提出,用来处置较小的写入问题且让NVRAM缓冲器来给高速缓冲存储器提供持久性使用。然而,写入到NVRAM缓冲器时的等待时间非常低以微秒计,并将NVRAM缓冲器刷新到磁盘不是无关紧要的任务。虽然以条带大小为单位来选择最佳大小,但存在决定磁盘是否被最佳地利用的各种其他因素。要注意的另一个重要因素是,NVRAM是成本较高的硬件资源,在这之前已经提到过。在许多情形中,写入到NVRAM可产生非常慢的响应时间。0010另一种替代方案可经开发以处置较小。
23、的缓冲器大小的写入。整个文件系统被组织为连续的记录,其转换来自用户应用程序的写入,且附加到文件系统中的基础记录结构。但是记录操作需要对磁盘的持久写入,且因此需要同步写入,并将明显对尚无经验的记录结构文件系统NAIVELOGSTRUCTUREDFILESYSTEM,LFS造成非常低的性能。虽然经修改的技术使用NVRAM或闪存来使LFS有效地处置同步写入,但NVRAM和闪存都是成本较高的硬件替代方案。虽然基于闪存的磁盘提供高吞吐量和低等待时间,但擦除循环较慢,且因此当闪存磁盘的利用率提高时,其性能会变低。而且,闪存的基本块大小的范围是千字节到兆字节,且相较于典型的磁性硬盘的扇区大小高得多。闪存装置。
24、中的擦除操作需要块大小是较大的大小,从而获得最佳的结果。然而,具有较大的块大小会增加较小的请求的等待时间,所述请求需要聚集以形成较大的块大小。0011基于前述原因,本揭露将提出磁盘记录的替代方案。0012揭露内容0013本揭露一实施例提出一种磁盘记录方法,所述方法用于临时非易失性存储媒体,说明书CN104063184A3/15页8以将来自易失性存储器的数据记录到所述存储媒体,且所述方法用于具有所述存储媒体的电子装置。0014本揭露一实施例提出一种磁盘记录方法,所述方法用于临时非易失性存储媒体,以将来自易失性存储器的数据记录到所述存储媒体,且所述方法包含以下步骤从外部源接收具有第一量BATCHS。
25、IZE的第一数据,并将所述第一数据存储到所述存储媒体的队列;将所述第一数据写入到所述存储媒体的磁盘;以及传输一中断以响应于完成将所述第一数据写入到所述外部源,其中动态地调整所述第一批量,以使得写入所述第一数据的步骤相较于接收并存储所述第一数据的步骤花费更多的时间。0015本揭露一实施例提出一种磁盘记录方法,所述方法用于含有至少包含但不限于第一临时非易失性第一存储媒体的元件的电子装置,以将来自易失性存储器的数据记录到所述第一存储媒体,且所述方法包含以下步骤将来自电子装置的应用程序的第一数据聚集在第一队列中;将第一队列的第一数据传送到所述第一存储媒体的第二队列,其中所述第二队列仅提供所述第一储存媒。
26、体使用,而从所述第一数据产生具有第一批量的第二数据;将所述第二数据传送到所述第一存储媒体本地的第三队列;将所述第二数据写入到所述第一存储媒体的磁盘;以及传输一中断以响应于完成将所述第二数据写入到所述第一队列,其中动态地调整所述第一批量,以使得写入所述第二数据的步骤相较于将所述第二数据传送到第三队列的步骤花费更多的时间。0016本揭露一实施例提出一种包括控制器的非易失性存储媒体,其中所述控制器用于从操作外部源接收具有第一批量的第一数据,并将所述第一数据存储到所述存储媒体的队列;将所述第一数据写入到所述存储媒体的磁盘;以及传输一中断以响应于完成将所述第一数据写入到所述外部源,其中动态地调整所述第一。
27、批量,以使得写入所述第一数据的步骤相较于接收并存储所述第一数据的步骤花费更多或实质上相同的时间。0017本揭露一实施例提出一种用于磁盘记录的电子装置,所述电子装置包括临时非易失性第一存储媒体以将来自易失性第一存储器的数据记录到所述第一存储媒体,且包括控制器,所述控制器用于操作将来自电子装置的应用程序的第一数据聚集在第一队列中;将第一队列的第一数据传送到所述第一存储媒体的第二队列,其中所述第二队列仅提供所述第一储存媒体使用,而从所述第一数据产生具有第一批量的第二数据;将所述第二数据传送到所述第一存储媒体本地的第三队列;将所述第二数据写入到所述第一存储媒体的磁盘;以及传输一中断以响应于完成所述将所。
28、述第二数据写入到所述第一队列,其中动态地调整所述第一批量,以使得写入所述第二数据的步骤相较于将所述第二数据传送到第三队列的步骤花费更多的时间。0018为了使本揭露的上述特征和优点可理解,下文中将参照附图详细描述一些实施例。应理解,以上的一般描述以及以下详细描述都是示范性的,只希望提供对如所主张的本揭露的进一步解释。0019然而,应理解,此技术方案的概述可能不含有本揭露的所有方面以及实施例,但并不因此意味受限于任何方式。而且,本揭露将包含对于所属领域的技术人员来说可作明显的改进以及修改。附图说明说明书CN104063184A4/15页90020附图有助于对本揭露的进一步理解,且附图构成本说明书的。
29、一部分。所述附图用于说明本揭露的实施例,且与说明书文字部分一起用于解释本揭露的原理。0021图1说明的是根据本揭露的一实施例的磁盘记录的概念;0022图2是说明使用512字节作为记录操作请求大小的的表,此表基于文件的和原始磁盘记录的等待时间和吞吐量所排列;0023图3说明的是根据本揭露的作为示范性实施例之一的连续磁盘写入的玩具火车技术;0024图4A说明的是根据本揭露的作为示范性实施例之一的管线级时序图;0025图4B说明的是根据本揭露的作为示范性实施例之一的四级磁盘写入管线;0026图5说明的是根据本揭露的作为示范性实施例之一的多个磁盘中的磁盘记录;0027图6说明的是根据本揭露的作为示范性。
30、实施例之一使用哨兵写入请求;0028图7说明的是根据本揭露的作为示范性实施例之一在较少的时隙中提交磁盘写入请求;0029图8说明的是根据本揭露的作为示范性实施例之一的用于低功率操作的实例哨兵磁盘写入请求;0030图9说明的是根据本揭露的作为示范性实施例之一使用不同RPM的磁盘的层次结构来实现稀疏模式记录;0031图10说明的是根据本揭露的作为示范性实施例之一的具有在每一合并记录中提交的较少数据的稀疏模式记录;0032图11A到图11D说明的是本揭露的方法的性能测量;0033图12说明的是根据本揭露的作为示范性实施例之一的从记录磁盘的角度进行磁盘记录的方法;0034图13说明根据本揭露的作为示范。
31、性实施例之一的从电子装置的角度进行磁盘记录的方法;0035图14说明的是使用根据本揭露的作为示范性实施例之一的方法的存储媒体;0036图15说明的是使用根据本揭露的作为示范性实施例之一的方法的电子装置。0037【主要附图标记说明】0038100记录系统0039101用户应用程序0040102缓冲器队列0041103记录磁盘0042104数据磁盘0043301用户空间0044302OS内核0045303磁盘控制器0046304磁盘0047401传入记录请求0048402聚集队列0049403内核请求队列说明书CN104063184A5/15页100050404磁盘上的队列0051404A磁盘写入。
32、请求0052502记录磁盘0053503记录磁盘00541001第一新扇区00551002最后一个新扇区00561401存储媒体00571402控制器00581500电子装置00591501易失性存储器00601502控制器00611503第一临时非易失性存储媒体0062R1R5记录请求0063S451累积0064S452提交0065S453传送0066S454完成0067S455完成中断0068S511磁盘写入请求0069S512完成中断0070S513磁盘写入请求0071S514完成中断0072S1201步骤0073S1202步骤0074S1203步骤0075S1301步骤0076S130。
33、2步骤0077S1303步骤0078S1304步骤0079S1305步骤0080T1虚拟写入0081T2虚拟写入0082T3虚拟写入具体实施方式0083现将详细描述本揭露的实施例,其范例在附图中得以说明。在附图和文字描述中相同参考数字尽可能地用以表示相同或相似部分。0084鉴于前述,已经提出一种以浮动记录操作API为特征的磁盘记录系统层次结构,其允许应用程序执行记录操作,而不需要指定所述操作的有效负载的目标地址。所述磁盘说明书CN104063184A106/15页11记录系统将磁盘写入管线精简化,其旨在最适宜化聚集记录操作请求且随后以利用硬盘的原始数据传送能力的方式将所聚集的操作移动穿过所述管。
34、线。0085因此,本揭露的一实施例提出使用一般被称作“HARDDISKDRIVE,HDD”的传统硬盘机。HDD可以是串行高阶技术附加SERIALADVANCEDTECHNOLOGYATTACHMENT,SATA磁盘或串行连接小型机系统附加SERIALATTACHEDSCSI,SAS磁盘或小型机系统接口SMALLCOMPUTERSYSTEMINTERFACE,SCSI磁盘,只要它们全部含有盘片且被划分为若干扇区和磁轨即可。换句话说,本揭露一实施例提出利用HDD的某些属性,并将HDD用作记录磁盘。虽然HDD已经被一些人认为不适合用于记录磁盘,但对三个磁盘的完全操作集合的初步测量已经表明,可实现每秒。
35、120万个256字节的记录操作,且每一记录操作的等待时间被保持在1毫秒以下。另外,甚至当记录操作请求稀疏地到达时,本揭露一实施例也仍然能够实现亚毫秒记录操作等待时间。虽然固态磁盘SOLIDSTATEDISK,SSD可能是用于磁盘密集型工作负载的有前景的技术,但其对于记录操作来说可能不一定比硬盘HARDDISK,HDD适合,这是因为主流SSD使用多层级单元,每单元写入数极限将减小到10000,这可能不与记录操作的密集写入型性质良好配合。而且,HDD将相较于SSD拥有显著的每字节成本优势,并将通过给予每一记录装置冗余的空间以便将垃圾回收开销减少到最小而较可行地权衡空间与性能。此外,对于HDD来说,。
36、与SSD不同的是,不存在对每扇区写入数量的限制。0086本揭露一实施例将可被设计成用于建构高层级记录LOGGING与恢复RECOVERY子系统的构建块,并将提供一种循环持久记录装置,所述循环持久记录装置足够大数十兆字节,以使得基于FIFO的垃圾回收GARBAGECOLLECTION将充分起作用。也就是说,在记录过程到达应用程序的记录装置的末尾或记录磁盘的末尾时,将不再需要记录装置的开始处的日志记录,从而磁盘将绕回,以便从开始处进行记录。已写入到记录磁盘的数据还将被写入到永久存储磁盘,但是以被延迟的方式写入。一旦数据被写入到永久磁盘,记录磁盘上便将不再需要此笔数据。通过确保记录磁盘充分大,在记录。
37、磁盘的全部位置已被写入时,还将所记录的数据放在永久磁盘上。通常对于1太字节TERABYTE,TB的记录磁盘,假定磁盘以7200RPM旋转,写入记录磁盘上的其所有位置将花费大约3到4个小时。且因此,在数据被记录之后,从记录磁盘到永久存储装置的后续异步写入将通常在数分钟内发生,也因此HDD可被再用作临时持久存储装置。0087应注意的是,在数据被写入到最后一个磁轨上的最后一个扇区时,本揭露的记录装置一实施例可不需要进行垃圾回收,这是因为第一个磁轨上的第一扇区上的数据被假定提交给数据磁盘。对于维持存储器内的缓冲器且在3个小时内将数据提交给数据磁盘的大量应用程序来说,所述假定将是有效的。举例来说,在1T。
38、B磁盘上,可能花费3到4个小时之久来进行记录磁盘的完全扫掠。但是对于维持较大的存储器内的缓冲器的应用程序来说,将存储器内的缓冲器中的数据提交给数据磁盘所花费的时间可能要大于3到4个小时。因此,记录装置可能无法承担擦除记录磁盘的一些部分。因此,在另一示范性实施例中,将提出一种用于该目的的文件磁盘。这意味着每当磁盘头到达记录磁盘的末尾时,替代绕回到所述记录磁盘上的第一扇区、第一磁轨,将为记录数据选择全新的记录磁盘。随后将完全写入的记录磁盘备份到文件存储装置,且随后使所述记录磁盘可用于将来的记录操作。文件存储装置中的记录数据将保持完整是取决于存储器内的缓冲器的大小以及应用程序,以及说明书CN1040。
39、63184A117/15页12将数据提交给数据磁盘所花费的时间。0088在功能性方面,在运行时间,记录系统将每一记录操作的有效负载同步写入到记录磁盘,且在恢复时间,记录系统从记录磁盘的有效部分恢复数据,并将所述数据返回到应用程序。而且,本揭露一实施例将不需要解译所检索的日志记录的有效负载,这是因为记录系统完全无法理解OPAQUE每一应用程序特定的日志记录的大小和结构。而是,应用程序的恢复子系统将对由记录系统返回的日志记录执行此类解译。较高层级的应用程序将需要决定记录哪些信息例如,元数据更新或检查点概要,且随后利用记录系统来将所述信息记录到磁盘。0089图1说明根据本揭露一实施例的磁盘记录的概念。
40、。用户应用程序101可产生将被存储在临时缓冲器队列102中的数据,所述临时缓冲器队列102可为高速缓冲存储器或RAM。缓冲器队列102将是易失性存储器,且在主机系统崩溃或断电时将被擦除。记录系统100的实施例将以一种方式使用记录磁盘103为存储在缓冲器队列102中的数据提供持久存储,以使得缓冲器队列102中存在的任何数据将被记录或同步复制到记录磁盘103。一旦缓冲器队列102中的数据被记录在记录磁盘103中,便以后台进程BACKGROUNDPROCESS将所记录的数据传送到数据磁盘104进行永久存储。如先前提及的记录磁盘103将是HDD磁盘。0090图2是说明基于文件的和原始磁盘记录的等待时间。
41、和吞吐量而使用512字节作为记录操作请求大小的表。通过将有效负载附加到日志文件而获得图2中的数字NUMBERS,且通过具有等于512字节的有效负载大小的用户层级LINUX应用程序来产生所述有效负载。基于图2的数字,可观察到,文件系统FILESYSTEM将使记录操作的等待时间和吞吐量恶化。原因将与因额外的数据复制而引起的等待时间损失相关,且文件写入系统调用也可由于对文件系统元数据的存取而触发多个磁盘I/O。通过文件系统使用基于装置的磁盘记录或原始磁盘记录总共两次将增大吞吐量且减小等待时间。因此,依据本揭露一实施例的操作步骤可不需要文件系统来管理。0091可观察到,具有8个线程将不会提高总系统性能。
42、,且在没有优化的情况下,平均记录等待时间也将仍然非常高。高等待时间的源将是同步发布的连续记录操作的结果。更具体来说,仅在完成第N个记录操作之后才发布第N1个记录操作。这意味着,在用于第N1个记录操作的磁盘I/O到达磁盘时,其错过了其目标扇区,且需要等待一整转FULLROTATION,其对于7200RPM的磁盘机来说大致是83毫秒。0092本揭露的可实施方式之一是将现代HDD的原始数据传送带宽转变为用于记录操作的高吞吐量和低等待时间。因此,朝着这个目标,将提出一种玩具火车磁盘记录操作。玩具火车技术将不断地以记录磁盘的连续目标磁盘地址来提交新的磁盘写入请求,以便保持完全占用磁盘,甚至在没有应用程序。
43、层级记录操作请求的情况下也是如此。此所提出的玩具火车模型使得磁盘I/O软件能够严格控制磁盘头位置,而不需要对磁盘的内部结构和几何形状的详细了解。磁盘写入管线类似于不断地围绕具有两个站的闭合回路移动的玩具火车,其中货物在一个站被装载到火车中,且货物在另一站从火车卸载。即使车上没有货物,火车也将仍然围绕所述回路全速行进,且从不间断,其中假定火车可在运行中装载和卸载货物而无需减速。磁盘的固定磨损将不是问题,因为对于例如2TB的磁盘,每天仅被完全覆写5次,并将要花费5年来覆写磁盘10,000次。说明书CN104063184A128/15页130093图3说明根据本揭露的示范性实施例之一的连续磁盘写入的。
44、玩具火车技术。假定应用程序层级中的用户空间301已产生标记为R1到R5的五个记录请求以同步传送到OS内核302,OS内核302将随后聚集记录请求并,并将其列队例如,R3到R5。磁盘控制器303将随后控制磁盘304上的写入请求的写入操作。应注意的是,写入来自记录请求的数据将是固定的,且这意味着当将第一数据写入到磁盘304的位置100中中时,必须准备好将下一数据写入位置200中。如果假定下一数据未准备好写入200中而是写入220中,那么磁盘控制器将失去写入操作的时序且随后对失去记录操作的控制。0094常规的磁盘写入请求需要磁盘头横越到磁盘上的确切的用户请求位置,且如此会招致若干类型的等待时间,包含。
45、搜寻等待时间、旋转等待时间和列队等待时间。为了避免这些等待时间,写入操作将需要通过使用准确的磁盘几何形状细节而处于磁盘头想要的确切地方,但是预测确切的磁盘几何形状细节将非常困难,这是因为当前的市场供应商不再公开必要的细节。因此,本揭露一实施例提出将来自用户请求的数据连续地写在磁盘304上,以使得磁盘头将不必切换磁轨,并将不招致不必要的等待时间。0095对于图3的实例,根据本揭露的适当操作将一个接一个地写入数据。这将意味着当将R1写入位置100中时,R2必须准备好写入位置200中,同时R3到R5将在队列中等待被传送到记录磁盘的板载队列ONBOARDQUEUE。因此,有效的转换将是以下操作的结果以。
46、一种方式以连续的开始地址向磁盘馈送写入请求,以使得磁盘上的控制器303不间断地将数据不断地放到磁盘304上。支持命令列队的磁盘机可一个接一个地服务于请求,而在其间没有间隙。大多数现代的SATA机从有效的命令列队实施被称为本地命令列队NATIVECOMMANDQUEUING,NCQ开始,其将提供优化机制,所述优化机制包含将磁盘机中的磁盘存取命令列队以使得磁盘上的控制器303能够在完成前一命令时立即服务于所述队列中的下一命令;对所列队的命令进行分批且/或调度以减少需要服务的命令的数量和磁盘存取开销;以及支持中断合并COALESCING,其聚集多个完成中断,且针对所述中断向主机发送一次信号,从而减少。
47、总中断处理开销。而且,通过将NCQ队列长度设定为2,磁盘上的控制器303将不能够选择在磁盘304上写入哪些写入请求,但在磁盘上ONDISK的队列中排好队的写入请求除外。如果在将请求R1写入位置100中之后,用户空间201根本不产生数据,那么磁盘控制器将协调虚拟数据以写入位置200中。0096举例来说,写入连续数据将意味着如果位置100处的R1的数据是32千字节KB,则位置200处的R2的数据也将是32KB,而在100与200之间没有空的空间。如果不存在准备写入的数据,那么磁盘上的控制器303将在200处插入虚拟数据,且虚拟数据的大小将是32KB。因此,不同于现有的技术,本揭露的一实施例方法将不。
48、需要知晓确切的磁盘几何形状细节,例如每个磁轨的扇区、区边界、RPM、角速度等。本揭露的一实施例的方法将以连续的开始地址向记录磁盘馈送写入请求,以使得磁盘上的控制器不间断地将数据不断地放到磁盘上,且因此准确地定位写入管线而以较细的准确度预测磁盘头的移动。0097本揭露一实施例的优化目标之一将是将磁盘的原始数据传送速率尽可能多地转化为按比例高的I/O速率,例如将100兆字节/秒的字节速率转变为每秒100000个1KB的写入的I/O速率。本揭露一实施例提出以兆字节/秒MBPS为单位的吞吐量将等于每秒的输入/输出IOPS乘以I/O请求大小吞吐量MBPSIOPSI/O请求大小。换句话说,为了维持固定的吞。
49、吐量,IOPS应与I/O请求大小的减小成比例地增大。但对于较小说明书CN104063184A139/15页14的I/O请求大小来说并非看起来那样显而易见,这是因为针对较小的I/O请求大小要做大量的元数据工作,且因此使用较小的I/O请求大小将产生非常低的吞吐量。而且,盲目地合并I/O请求无助于实现高吞吐量,这是因为较大的I/O请求大小将导致高等待时间。0098图4A说明根据本揭露的示范性实施例之一的四级磁盘写入管线。图4B说明根据本揭露的示范性实施例之一的管线级时序图。如先前所提及,使记录操作速率最大化的关键将包含对传入的记录操作请求适当地分批以在等待时间与数据输送效率之间进行平衡,并将数据不断地移动到磁盘。为了体现这两个想法,将提出一种用以处理固定大小的磁盘写入请求的四级管线。0099在第一级累积,S451中,来自高层级记录操作的传入记录请求401将被插在主机存储器例如,图1的元件102的聚集队列402中,且被聚集为低层级磁盘写入请求以存储在每个装置的内核请求队列403中。在第二级提交,S452中,将把所聚集的磁盘写入请求从主机存储器102的内核请求队列403复制到由NCQ管理的磁盘上的队列404。在第三级传送,S453中,将把所列队的磁盘写入请求例如,404A的有效负载传送到HDD405的磁盘上的相关联的位置。在第四级完成,S454中,磁盘将针对每个完成的磁盘写入请求把完成中。