描述了用于优化固态驱动器的方法。该方法涉及判断SSD上的自由空间碎片是否小于阈值碎片大小。如果SSD上的自由空间碎片小于阈值碎片大小,则消除自由空间碎片。如果SSD上的自由空间碎片不小于阈值碎片大小,则保留自由空间碎片以用于存储数据。对小于阈值碎片大小的自由空间碎片的消除导致了当写入到SSD时更少数目的自由空间碎片被使用,实现了改进的SSD性能。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术一般地涉及固态驱动器。更具体地,本专利技术涉及优化固态驱动器。
技术介绍
这部分中描述的途径是可被实行的途径,但未必是先前已被想到或实行的途径。 因此,除非以另外的方式指示,否则不应当假设这部分中描述的任何途径仅仅由于在此部分中对它们的包括而适合作现有技术。也可被称作固态盘的固态驱动器(SSD)是利用易失性或非易失性的固态存储器来存储数据的存储装置。固态存储器包括基于半导体的电子组件。固态驱动器可包括不同类型的存储元件,包括但不限于静态随机存取存储器(SRAM)、动态随机存取存储器 (DRAM)、参数随机存取存储器(Parameter Random Access Memory) (PRAM)、FLASH 存储器 (例如NOR FLASH存储器和NAND FLASH存储器)或者相变存储器(PCM)。因为SSD没有任何移动部件,所以SSD显著降低了机械故障的风险。较少的机械故障产生了改进的系统可靠性。此外,由于缺少移动部件,SSD相比于标准的旋转介质硬驱动器提供了更低的读写寻找时间。因此,SSD允许更高的顺序和随机的数据读写速率。虽然SSD上没有移动部件,但是由于装置限制以及可能的自由空间碎片(free space fragment)而仍然存在性能问题。例如,基于性能的限制可以是SSD在任何给定时间段中可执行的写操作的有限次数。当SSD正在向大量小的自由空间碎片写入时,文件必须被分段成很多不同的片(Piece)以用于存储在SSD上。因为对每个自由空间碎片的写入可能需要擦除操作并且需要写入操作,以及SSD可执行的写操作的数目可能是有限的,所以大量的小的自由空间碎片可导致由于写操作的有限数目而不能使用SSD的最大顺序写速度。在正常计算机使用中,诸如Windows (Windows 是 MicrosoftCorporation, kattle,WA的商标)之类的现代操作系统创建了大量的自由空间碎片。例如,浏览因特网可能潜在地创建许多不想要的自由空间碎片。web浏览器在它被使用的时候创建很多临时文件。大多数临时文件是小的,具有短的寿命,并且例如在浏览器高速缓存清除等期间被频繁地删除。然而,所有的临时文件不是同时被删除或是以创建它们的顺序来删除。此现象加速了自由空间碎片的创建。此外,当新创建的文件正被存储到盘中时,文件系统一般开始将新创建的文件写进(a)最新近释放的自由空间碎片或者(b)第一个被识别的自由空间碎片,而不考虑自由空间碎片的大小。如果要写入的文件大并且所识别的自由空间碎片小,则文件被拆分成与所识别的自由空间碎片相对应的很多片段,并且需要多个写操作以将文件存储到盘中。除了存储实际文件所需要的写操作以外,还可能需要多个写操作以便当文件被存储在多个片段中时更新文件系统结构。附图说明在附图的图中,本专利技术被例示作为示例而不作为限制,并且其中类似的标号指称类似的元素,并且其中图1是示出根据一个实施例的固态驱动器和固态驱动器优化器的框图。图2是示出用于优化固态驱动器的实施例的流程图。图3是示出可用在实现本专利技术的一个实施例中的计算机系统的框图。具体实施例方式在下面的描述中,出于说明的目的,陈述了很多具体细节以提供对本专利技术的透彻理解。然而,将会显而易见的是可在没有这些具体细节的情况下实践本专利技术。在其他实例中,公知的结构和装置以框图的形式来示出,以避免不必要地遮掩了本专利技术。此后描述了几个特征,每个特征都可彼此独立地被使用或者结合其他特征的任何组合来使用。然而,任何个别的特征可能不解决以上所讨论的任何问题,或者可能仅仅解决以上所讨论的问题之一。以上所讨论的一些问题可能不被这里所描述的任何特征充分地解决。虽然提供了标题,但是与特定标题有关的、但是未在具有此标题的部分中被找到的信息还可在说明书中的别处被找到。MM提供了用于优化固态驱动器(SSD)的方法。如果正被写入的自由空间碎片对于整个文件而言太小,则将文件写入SSD可需要多个擦除和写入操作。例如,如果文件正被写入其中的、SSD上的每个自由空间碎片比文件的大小小得多,则文件可被拆分成大量的片段, 并且写入操作可被需要用于每个自由空间碎片直到整个文件被写入到SSD。因此,本专利技术通过消除小的自由空间碎片来优化SSD,其中通过利用数据填充自由空间碎片或者通过使得自由空间碎片更大来消除小的自由空间碎片,从而不影响写入性能。这使操作系统顺序地或至少在更少的自由空间碎片中写入文件,这样就给出了最佳写入性能。根据一个实施例,阈值碎片大小被用作用于确定消除SSD上的自由空间碎片还是保留SSD上的自由空间碎片以用于数据存储的基础。自由空间碎片的大小与阈值碎片大小相比较。如果自由空间碎片小于阈值碎片大小,则自由空间碎片被消除,从而SSD不使用自由空间碎片来写入文件的片段。如果自由空间碎片至少像阈值碎片大小那样大,则自由空间碎片被保留用于SSD的数据存储。消除小于阈值碎片大小的自由空间碎片导致文件被写入进(一个或多个)更大的自由空间碎片,并且因此需要用于写入文件的更少数目的自由空间碎片以及更少数目的写操作。通过将每个时间段的写操作的数目减小至小于或等于 SSD可实际执行的写操作的数目,SSD的性能被改进。因为经优化的SSD所需要的写操作的5数目小于可执行的写操作的数目,所以SSD的经改进的性能不被可执行的写操作的数目所限制。在一个实施例中,至少基于SSD的顺序写入速度以及SSD上每个时间段所允许的输入/输出(I/O)操作的数目来确定阈值碎片大小。例如,可至少部分地通过将SSD的顺序写入速度除以SSD的每秒I/O数来确定阈值碎片大小。在一个实施例中,当写入文件和对应于最佳性能的阈值碎片大小可被使用时,几个不同的阈值碎片大小可被测试。可周期性地或基于预定条件来执行对阈值碎片大小的优化,其中预定条件例如SSD的低性能水平的发生或者自由空间碎片的预定数目的发生。虽然具体的组件在这里被陈述为执行方法步骤,但是在其他实施例中,代表所指定的组件而起作用的代理(agent)或机制可执行方法步骤。此外,虽然参考单个系统上的组件来讨论了本专利技术,但是可利用分布在多个系统上的组件来实现本专利技术。此外,虽然参考固态驱动器(SSD)来讨论了本专利技术,但是本专利技术的实施例可以适用于任何存储驱动器(例如旋转盘驱动器)。本专利技术的实施例还包括如下的任何系统该系统包括用于执行这里所描述的方法步骤的装置。本专利技术的实施例还包括具有指令的计算机可读介质,上述指令当被执行时使这里所描述的方法步骤被执行。自由空间碎片的消除在文件系统水平提及的自由空间碎片是未被指为包含数据的并且可用于分配的存储器或存储区域的块。当存储器中存储的对象例如通过去除对存储器空间的引用而被删除时,可生成自由空间碎片。因为对象可能不以创建它们的相同顺序来删除,所以与所删除的对象相对应的自由空间碎片被创建在数据被存储并被引用的存储器的块之间。对每个自由空间碎片的写入可能需要擦除操作并且需要写入操作。因此,如果自由空间碎片太小而不能容纳文件,则文件不得不被分段并被写进很多不同的自由空间碎片。自由空间碎片越小,写入文件所需的片段化便越大。因为每个时间段驱动器可执行的写操作的数目是有限的,所以大量的小的自由空间碎片可能需要高级别的文件分段,并且防止了对驱动器最大本文档来自技高网...
【技术保护点】
1.一种方法,包括:判断SSD上的自由空间碎片是否小于阈值碎片大小;如果所述SSD上的所述自由空间碎片小于所述阈值碎片大小,则消除所述自由空间碎片;以及如果所述SSD上的所述自由空间碎片不小于所述阈值碎片大小,则保留所述自由空间碎片以用于存储数据。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:巴希尔·托马斯,
申请(专利权)人:帝斯科匹尔公司,
类型:发明
国别省市:US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。