用于闪存的页面分配的制作方法_3

文档序号:9204228阅读:来源:国知局
。当操作系统110接收写请求以将多个数据元素写入闪存102时,页面分配模块116可以被配置为通过分析监测记录118中的数据元素的访问时间来识别数据元素的高度相关组。
[0044]在一些其它实施方式中,数据元素可以基于启发法120被确定为高度相关。启发法可以指可以被应用以将特定数据元素识别为高度相关的预定规则。数据元素可以基于与各个数据元素关联或者被包含在各个数据元素内的标识符(例如,文件名扩展、嵌入式元数据、外部元数据、文件头等)来被相关联或者区分。在一个示例中,数据结构可以被具体实现为横跨多个页面的数据元素。在这种情况下,启发法120可以指定作为数据结构的一部分的数据元素高度相关。在另一个示例中,音频文件可以被具体实现为横跨多个页面的多个数据元素。在这种情况下,启发法120可以指定表示音频文件中的连续音频段的数据元素高度相关。
[0045]在另一些其它实施方式中,数据元素可以基于与应用的用户交互而被确定为高度相关。例如,应用112可以使得用户能够将特定数据元素标记或高亮显示为高度相关。用户提供的相关性可以被存储在用户交互记录122中。当操作系统110接收写请求以将多个数据元素存储到闪存102时,页面分配模块116可以被配置为利用存储在用户交互记录122中的相关性来识别数据元素的高度相关组。
[0046]页面分配模块116可以被配置为利用监测记录118、启发法120和/或用户交互记录122来确定高度相关组。页面分配模块116还可以被配置为计算针对各组数据元素的相关性得分。较高相关性得分可以表示较高相关性,而较低相关性得分可以表示两个或更多个数据元素之间的较少相关性。如果数据元素满足最小相关性得分,则数据元素可以被认为高度相关。可以基于与监测记录、启发法120和/或用户交互记录122关联的统计模型来确定相关性得分。统计模型可以指定一些特性或特性的组合可以与较高相关性得分相关,而一些其它特性或特性的其它组合可以与较低相关性得分关联。块304之后可以是块306。
[0047]在块306(将闪存中的相邻页面分配给各组高度相关的数据元素)处,页面分配模块116可以被配置为在可能时,将闪存102中的相邻页面分配给各组高度相关的数据元素。在一些实施方式中,相邻页面可以是闪存102内的邻近页面。例如,邻近页面可以具有连续存储地址。在一些其它实施方式中,相邻页面可以是闪存102内的紧密邻近(near-adjacent)页面。在一些情况下,自由邻近(free adjacent)页面可能不可用,因此可以分配物理上更靠近的紧密邻近页面。块306之后可以是块308。
[0048]在块308 (将各组高度相关的数据元素写入所分配的相邻页面)处,页面分配模块116可以被配置为将各组高度相关的数据元素写入闪存102中的所分配的相邻页面。在块308之后,处理300重复(例如,周期性地、连续地或者在需要时)或者终止。
[0049]图4是示出根据这里呈现的至少一些实施方式布置的用于示例性计算系统的计算机硬件架构的框图。图4包括计算机400,计算机400包括处理器410、存储器420以及一个或更多个驱动器430。计算机400可以被实现为传统计算机系统、嵌入式控制计算机、膝上型计算机、或服务器计算机、移动装置、机顶盒、公用信息服务站、车辆信息系统、移动电话、专用机器或者其它硬件平台。
[0050]驱动器430及其关联计算机存储介质提供计算机可读指令、数据结构、程序模块和用于计算机400的其它数据的存储。驱动器430可以包括操作系统440、应用程序450、程序模块460和数据库480。操作系统540可以被配置为包括用于在闪存102中分配页面的页面分配模块116。计算机400还包括用户可以用来输入命令和数据的用户输入装置490。输入装置可以包括电子数字化器、麦克风、键盘和通常被称为鼠标、轨迹球或触摸板的指点装置。其它输入装置可以包括操纵杆、游戏手柄、碟形卫星天线、扫描仪等。
[0051]这些和其它输入装置可以通过连接到系统总线的用户输入接口连接到处理器410,但是可以通过其它接口和总线结构(诸如并行端口、游戏端口或通用串行总线(“USB”))连接。诸如计算机400的计算机还可以包括诸如扬声器的其它外围输出装置,其可以通过输出外围接口 494等连接。
[0052]计算机400可以利用到一个或更多个计算机(诸如,连接到网络接口 496的远程计算机)的逻辑连接在联网环境中工作。远程计算机可以是个人计算机、服务器、路由器、网络PC、对等装置或其它公共网络节点,并且可以包括以上关于计算机400描述的许多或所有元素。联网环境在办公室中是平常的,诸如企业广域网(“WAN”)、局域网(“LAN”)、内联网和互联网。
[0053]当在LAN或WLAN联网环境中使用时,计算机400可以通过网络接口 496或适配器连接至LAN。当在WAN联网环境中使用时,计算机400通常包括用于通过WAN(诸如互联网或网络406)建立通信的调制解调器或其它手段。WAN可以包括互联网、所示的网络406、各种其它网络或其任何组合。将理解,可以使用在计算机之间建立通信链路、环、网格、总线、云或网络的其它机制。
[0054]根据一些实施方式,计算机400可以连接至联网环境。计算机400可以包括与驱动器430或其它存储装置关联的物理计算机可读取存储介质的一个或更多个实例。系统总线可以使得处理器410能够从计算机可读存储介质读取代码和/或数据,或者将代码和/或数据读出到计算机可读存储介质。介质可以表示存储元件形式的设备,存储元件可以利用任何合适技术(包括但不限于半导体、磁性材料、光学介质、电存储器、电磁存储器或任何其它这种存储技术)实现。介质可以表示与存储器420关联的组件,其被表征为RAM、ROM、闪存或其它类型的易失性或非易失性存储技术。介质还可以表示辅助存储器,其被实现为存储器驱动器430等。硬盘驱动器实现可以被表征为固态的,或者可以包括存储磁性编码信息的旋转介质。
[0055]存储介质可以包括一个或更多个程序模块460。程序模块460可以包括软件指令,当软件指令被加载到处理器410中并被执行时,将通用计算系统变换为专用计算系统。如贯穿本说明书详细描述的,程序模块460可以提供计算机400可以用来利用这里论述的组件、逻辑流和/或数据结构在整个系统或工作环境内参与的各种工具或技术。
[0056]处理器410可以由任意数量的晶体管或其它电路元件(其可以单独或共同假设任意数量的状态)来构造。更特别地,处理器410可以作为状态机或有限状态机工作。这种机器可以通过加载包含在程序模块460内的可执行指令而被变换为第二机器或特定机器。这些计算机可执行指令可以通过指定处理器410如何在状态之间转换来变换处理器410,由此将构成处理器410的晶体管或其它电路元件从第一机器变换为第二机器。还可以通过从一个或更多个用户输入装置490、网络接口 496、其它外围设备、其它接口或者一个或更多个用户或其它动作方接收输入来变换机器的状态。机器还可以变换各种输出装置(诸如打印机、扬声器、视频显示器等)的状态或各种物理特性。
[0057]对程序模块460进行编码还可以变换存储介质的物理结构。在本说明书中的不同实现中,物理结构的特定变换可以取决于各种因素。这些因素的示例可以包括但不限于用于实现存储介质的技术、存储介质是被表征为主存储器还是辅助存储器等。例如,如果存储介质被实现为基于半导体的存储器,则当在其中对软件编码时,程序模块460可以变换半导体存储器420的物理状态。例如,软件可以变换构成半导体存储器420的晶体管、电容器或其它分立电路元件的状态。
[0058]作为另一个示例,存储介质可以利用诸如驱动器430的磁性或光学技术来实现。在这些实现中,当在其中对软件编码时,程序模块460可以变换磁性或光学介质的物理状态。这些变换可以包括改变给定磁性介质内的特定位置的磁性特性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变那些位置的光学特性。应该想到,在不脱离本说明书的范围和精神的情况下,物理介质的各种其它变换是可能的。
[0059]图5是示出根据这里呈现的至少一些实施方式布置的包括用于在计算装置上执行计算机处理的计算机程序的计算机程序产品500的示意图。示例性计算机程序产品的示例性实施方式利用信号承载介质502来提供,并且可以包括504中的至少一个指令:用于接收多个数据元素和写请求以将多个数据元素写入闪存的一个或更多个指令;用于基于相关性准则识别数据元素的子集之间的相关性的一个或更多个指令;用于分配闪存的相邻页面以存储数据元素的子集的一个或更多个指令;或者用于将数据元素的子集写入所分配的页面的一个或更多个指令。在一些实施方式中,一个或更多个计算机程序产品500的信号承载介质502包括计算机可读介质506、可记录介质508和/或通信介质510。
[0060]虽然在结合操作系统和应用程序在计算机系统上的执行来执行的程序模块的普通上下文中呈现这里描述的主题,但是本领域技术人员将认识到,可以结合其它类型的程序模块来执行其它实现。通常,程序模块包括例程、程序、组件、数据结构和执行特定任务或实现特定抽象数据类型的其它类型的结构。而且,本领域技术人员将想到,这里描述的主题可以利用其它计算机系统构造实现,包括手持装置、多核处理器系统、基于微处理器的或可编程的消费电子装置、微计算机、大型计算机等。
[0061]本发明不被本申请中描述的【具体实施方式】限制,这些实施方式旨在作为各个方面的例示。对于本领域的技术人员来说明显的是,可以在不脱离本发明的精神和范围的情况下进行许多修改和变型
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1