CN101627372A - 选择性地利用多个异类固态存储位置 - Google Patents

选择性地利用多个异类固态存储位置 Download PDF

Info

Publication number
CN101627372A
CN101627372A CN200880007412A CN200880007412A CN101627372A CN 101627372 A CN101627372 A CN 101627372A CN 200880007412 A CN200880007412 A CN 200880007412A CN 200880007412 A CN200880007412 A CN 200880007412A CN 101627372 A CN101627372 A CN 101627372A
Authority
CN
China
Prior art keywords
solid state
state storage
storage locations
data
disparate
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.)
Granted
Application number
CN200880007412A
Other languages
English (en)
Other versions
CN101627372B (zh
Inventor
B·拉西伯斯基
D·多齐亚
B·萨瑞恩
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=39738794&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101627372(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101627372A publication Critical patent/CN101627372A/zh
Application granted granted Critical
Publication of CN101627372B publication Critical patent/CN101627372B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • 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/0608Saving storage space on storage systems
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

公开了一种用于选择性地利用多个异类固态存储位置的方法。本技术一开始接收多个异类固态存储位置的分类类型。确定接收到的数据的特征。随后基于所确定的接收到的数据的特征来将接收到的数据分配给多个异类固态存储位置中的一个。

Description

选择性地利用多个异类固态存储位置
背景
固态驱动器(SSD)是使用非易失性存储器来存储数据的数据存储设备,并且不包含常规硬盘驱动器中含有的转盘。因为SSD没有移动的部分并且可以经受住剧烈冲击、振动和温度变化,所以SSD消除了与常规硬盘驱动器相关联的寻道时间、等待时间和其它电子机械延迟和故障。作为这些属性的结果,SSD在诸如用于企业的笔记本PC和亚笔记本、超移动PC、以及用于保健和消费电子产品方面的输入板PC等市场中正变得日益流行。
然而,关于利用SSD的技术的当前状态存在许多限制。例如,SSD的单位存储成本比率依然远高于基于盘的硬盘驱动器。
此外,仅有少数公司提供写速度适于替换常规硬盘驱动器的超过64吉字节的大SSD。然而,即使是这些驱动器在数量上仍是有限的,很昂贵,并且只可通过特殊请求获得。因此,SSD定价在主流消费者市场之外并且数量很有限。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
公开了一种用于选择性地利用多个异类固态存储位置的方法。本技术一开始接收多个异类固态存储位置的分类类型。确定接收到的数据的特征。随后基于所确定的特征来将接收到的数据分配给多个异类固态存储位置中的一个。
本发明的技术允许不同类型的固态位置的聚集接收对应于固态位置存储器类型的数据,从而最终降低了存储器的单位存储成本比率。另外,合并不同类型的固态位置允许SSD支持操作系统。同样,本发明的技术允许以提供所使用的存储器空间的更低的单位存储成本比率的方式来重新安排计算机上的现有文件。因此,本发明的技术准许降低存储器的单位存储成本比率以及用SSD替换硬盘驱动器。
附图描述
合并在本说明书中并形成其一部分的附图示出了用于选择性地利用多个异类固态存储位置的技术的各实施例,并且与说明书一起用于解释以下讨论的原理:
图1是根据本发明的用于选择性地利用多个异类固态存储位置的技术的各实施例来使用的示例计算机系统的示图。
图2A是根据本发明的技术的一个实施例的用于分配与操作系统相关联的存储器的示例固态分配模块的框图。
图2B是根据本发明的技术的一个实施例的用于分配与操作系统相关联的存储器的示例固态分配模块的框图。
图3是根据本发明的技术的一个实施例的用于选择性地利用多个异类固态存储位置的示例方法的流程图。
图4是根据本发明的技术的一个实施例的用于选择性地利用多个异类固态存储位置的示例的流程图。
除非具体注明,否则本说明书中所引用的附图应被理解为不是按比例绘制的。
详细描述
现将详细参考本发明的用于选择性地利用多个异类固态存储位置的技术的各实施例,其示例在附图中示出。尽管将结合各个实施例来描述用于选择性地利用多个异类固态存储位置的技术,但可以理解,它们不旨在将本发明的用于选择性地利用多个异类固态存储位置的技术限于这些实施例。相反,本发明的用于选择性地利用多个异类固态存储位置的技术旨在涵盖可被包括在所附权利要求书所定义的各实施例的精神和范围内的替换、修改和等效技术方案。
此外,在以下详细描述中,阐明了众多具体细节以提供对本发明的用于选择性地利用多个异类固态存储位置的技术的全面理解。然而,本发明的用于选择性地利用多个异类固态存储位置的技术可以在没有这些具体细节的情况下实施。在其它情况下,未详细描述公知的方法、过程、组件和电路以免不必要地使本发明各实施例的各方面显得晦涩难懂。
如从以下讨论中清楚的,除非具体地另外指明,否则可以理解,贯穿本详细描述,利用诸如“接收”、“确定”、“分配”、“仿真”、“支持”、“分类”、“访问”、“移动”、“利用”、“路由”、“重新排列”等术语的讨论涉及计算机系统或类似的电子计算设备的动作和处理。计算机系统或类似的电子计算设备操纵计算机系统的寄存器和存储器内被表示为物理(电子)量的数据并将其变换成计算机系统存储器或寄存器或其它此类信息存储、传输或显示设备内类似地被表示为物理量的其它数据。本发明的用于选择性地利用多个异类固态存储位置的技术还很适于对诸如例如光学和机械计算机等其它计算机系统的使用。
示例计算机系统环境
现在参考图1,用于选择性地利用多个异类固态存储位置的技术的各部分包括驻留在例如计算机系统的计算机可使用介质中的计算机可读和计算机可执行指令。即,图1示出了可用于实现以下讨论的本发明的用于选择性地利用多个异类固态存储位置的技术的各实施例的一种计算机的一个示例。
图1示出根据本发明的用于选择性地利用多个异类固态存储位置的技术的各实施例来使用的示例计算机系统100。可以理解,图1的系统100仅是示例,并且本发明的用于选择性地利用多个异类固态存储位置的技术可以在多个不同的计算机系统上或内部操作,这些计算机系统包括通用联网计算机系统、嵌入式计算机系统、路由器、交换机、服务器设备、消费设备、各种中间设备/人工制品、独立计算机系统等。如图1所示,图1的计算机系统100很好地适于具有诸如例如,软盘、紧致盘等耦合到其上的外围计算机可读介质102。
图1的系统100包括用于传递信息的地址/数据总线104,以及耦合到总线104来处理信息和指令的处理器106A。如图1所示,系统100还很好地适用于其中存在多个处理器106A、106B和106C的多处理器环境。相反,系统100也适用于具有诸如,例如处理器106A等单个处理器。处理器106A、106B和106C可以是各种类型的微处理器中的任一种。系统100还包括诸如计算机可使用易失性存储器108等耦合到总线104来为处理器106A、106B和106C储存信息和指令的数据存储功能部件,例如随机存取存储器(RAM)。
系统100还包括耦合到总线104来为处理器106A、106B和106C储存静态信息和指令的计算机可使用非易失性存储器110,例如只读存储器(ROM)。系统100中还存在耦合到总线104来储存信息和指令的数据存储单元112(例如,磁或光盘以及盘驱动器)。系统100还包括耦合到总线104来向处理器106A或处理器106A、106B和106C传递信息和命令选择的可任选字母数字输入设备114,其包括字母数字和功能键。系统100还包括耦合到总线104来向处理器106A或处理器106A、106B和106C传递用户输入信息和命令选择的可任选光标控制设备116。本实施例的系统100还包括耦合到总线104来显示信息的可任选显示设备118。
仍参考图1,图1的可任选显示设备118可以是液晶设备、阴极射线管、等离子显示设备、或适用于创建用户可识别的图形图像和字母数字字符的其它显示设备。可任选光标控制设备116允许计算机用户动态地用信号表示可见符号(光标)在显示设备118的显示屏上的移动。光标控制设备116的许多实现在本领域中是已知的,包括跟踪球、鼠标、触摸垫、操纵杆、或字母数字输入设备114上能够用信号表示给定方向或位移方式的移动的特殊键。另选地,可以理解,光标可以经由来自字母数字输入设备114的使用特殊键和键序列命令的输入来定向和/或激活。
系统100还很好地适用于具有由诸如,例如语音命令等其它手段定向的光标。系统100还包括用于将系统100与外部实体相耦合的I/O设备120。例如,在一个实施例中,I/O设备120是用于启用系统100和诸如但不限于因特网等外部网络之间的有线或无线通信的调制解调器。以下更详细地讨论本发明的用于选择性地利用多个异类固态存储位置的技术。
仍参考图1,描绘了系统100的各种其它组件。具体地,当存在时,操作系统122、应用程序124、模块126和数据128被示为通常驻留在例如随机存取存储器(RAM)等计算机可使用易失性存储器108和数据存储单元112的一个或多个组合中。然而,可以理解,在某些实施例中,操作系统122可被存储在其它位置,如在网络上或在闪存驱动器上;并且另外,操作系统122可以经由例如到因特网的耦合来从远程位置访问。在一个实施例中,本发明的用于选择性地利用多个异类固态存储位置的技术例如作为应用程序124或模块126存储在RAM 108内的存储器位置以及数据存储单元112内的存储器区域中。
系统100还包括耦合到操作系统122的固态分配模块130。在一个实施例中,固态分配模块130可以集成在操作系统122内,而在另一实施例中,固态分配模块130可以通信地耦合到操作系统并位于其外部。在又一实施例中,固态分配模块130是闪存设备。
计算系统100只是合适的计算环境的一个示例,而非意在暗示对本发明的技术的使用范围或功能有任何限制。也不应该把计算环境100解释为对示例计算系统100中示出的任一组件或其组合有任何依赖性或要求。
本发明的技术可在诸如程序模块等由计算机执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本发明的技术也可以在任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。
概览
作为概览,在一个实施例中,本发明的技术提供用于选择性地利用多个异类固态存储位置的方法,以使固态分配模块允许低单位存储成本比率。例如,操作系统将向固态分配模块的分类类型的接收器发送描述各异类固态存储位置更喜欢持有哪类数据的分类类型。操作系统还将向固态分配模块的接收数据特征确定器发送与输入/输出操作相关联的数据。
接收数据特征确定器随后将确定接收到的数据属于的哪一固态存储位置。接收数据特征确定器随后将该判定传递到固态分配模块的异类固态存储位置分配器。异类固态位置分配器随后根据接收数据特征确定器的指令来将接收到的数据分配到异类固态存储位置。
尽管在一个实施例中操作系统通信地耦合到固态分配模块,但另一实施例允许固态分配模块完全集成到操作系统内。另外,在另一实施例中,固态分配模块通信地耦合到异类固态存储位置,同时还集成在诸如可移动智能卡等单个单元内。在又一实施例中,固态分配模块是外部的并通信地耦合到异类固态存储位置。另外,在一个实施例中,在不存在具有嵌入的异类固态存储位置分配器的固态分配模块的情况下,操作系统可以执行类似的功能。
在一个实施例中,固态存储位置对硬盘驱动器进行仿真。在另一实施例中,固态存储位置包括至少一个闪存存储位置。
简言之,本发明的技术的各实施例提供用于选择性地利用多个异类固态存储位置的计算机实现的方法,包括:接收多个异类固态存储位置中的每一个的分类类型的分类类型接收器、确定接收到的数据的特征的接收数据特征确定器、以及基于接收到的数据的特征将接收到的数据分配到多个异类固态存储位置中的一个的异类固态存储位置分配器。通过使用耦合到固态分配模块的多个异类固态存储位置,本发明的技术允许数据的低单位存储成本比率。
体系结构
现在参考图2A,示出了根据本发明的技术的一个实施例的用于分配与操作系统相关联的存储器的示例固态分配模块的框图。一般而言,用于分配与操作系统200相关联的存储器的固态分配模块包括分类类型接收器210、接收数据特征确定器220、和异类固态存储位置分配器230,其全部通信耦合到固态存储位置A 240、固态存储位置B 245、固态存储位置C 250、和固态存储位置n...255。
另外,线205表示将数据从操作系统200发送到分类类型接收器210的路径。线225表示将描述数据特征的信息从操作系统200发送到接收数据特征确定器220的路径。线235表示将数据从固态存储位置分配器230发送到异类固态存储位置A 240、B 245、C 250和n...255的路径。此外,路径205、225和235能用各种方式连接各组件,包括有线地或无线地。
在一个实施例中,分类类型接收器210被配置成沿路径205接收多个异类固态存储位置A 240、B 245、C 250和n...255的分类类型。分类类型接收器210接收描述各个固态存储位置A 240、B 245、C 250和n…255保持哪类数据的分类类型数据。固态存储位置n...255表示除固态存储位置A 240、B 245、和C 250之外的预定数量的异类固态存储位置。
例如,固态存储位置A 240保持只被写一次并且被偶尔读的数据,固态存储位置B 245保持被偶尔写并且被频繁读的数据,而固态存储位置C250保持被频繁写并且被频繁读的数据。另外,固态存储位置n...255表示另外两个固态存储设备,即D和E。固态存储设备D保持被偶尔写并且被偶尔读的数据,而固态存储设备E保持被相当频繁地写并且被相当频繁地读的数据。固态存储位置A 240、B 245、C 250和n...255所保持的数据的类型表达为分类类型。
在另一示例中,分类类型接收器210被配置成只接收两个异类固态存储位置A 240和B 245的分类类型。固态存储位置A 240保持只被写一次并且被偶尔读的数据,而固态存储位置B 245保持被偶尔写并且被偶尔读的数据。固态存储位置A 240和B 245所保持的数据的类型表达为分类类型。
在又一示例中,分类类型接收器210被配置成只接收三个异类固态存储位置A 240、B 245和C 250的分类类型。固态存储位置A 240保持只被写一次并且被偶尔读的数据,固态存储位置B 245保持被偶尔写并且被频繁读的数据,而固态存储位置C 250保持被频繁写并且被频繁读的数据。固态存储位置A 240、B 245和C 250所保持的数据的类型表达为分类类型。
在一个实施例中,接收数据特征确定器220被配置成确定从操作系统200接收到的数据的特征。接收数据特征确定器220从操作系统200接收到的数据与各类型的输入/输出操作相关联。例如,数据可基于以下输入/输出操作的类型来归类成以下各个分类:(1)只写一次并且在写之后是只读的;(2)偶尔写并且频繁读;和(3)频繁写并且频繁读。
只写一次并且在写之后是只读的数据的示例包括操作系统文件和应用程序二进制文件。被偶尔写并且被频繁读的数据的示例包括用户数据、设置、word文件、数据电子表格、和地址簿。被频繁写并且被频繁读的数据的示例包括操作系统页文件、操作系统文件、注册表、日志、和高速缓存。
接收数据特征确定器220可以沿路径225接收与输入/输出操作相关联的、可变类型组合的数据。例如,在一个实施例中,接收数据特征确定器220接收与输入/输出操作相关联的、要求只写一次并且在写之后是只读的和频繁写并且频繁读的数据。在另一实施例中,接收数据特征确定器220接收与输入/输出操作相关联的、要求偶尔写并且频繁读和频繁写并且频繁读的数据。
例如,在从操作系统200接收到以下固态存储位置A 240、B 245、C 250和n...255中的至少两个的分类类型和与输入/输出操作相关联的数据之后,接收数据特征确定器220随后确定将接收到的与输入/输出操作相关联的数据置于哪一固态存储位置A 240、B 245、C 250和n...255。该判定是基于从操作系统200接收到的、关于每一固态存储位置的分类类型的数据的。接收数据特征确定器220随后将该决定传递给异类固态存储位置分配器230。
在一个实施例中,异类固态存储位置分配器230被配置成基于接收到的数据的特征来将从操作系统200接收到的数据分配给多个异类固态存储位置中的一个。异类固态存储位置分配器230将沿路径225接收到的数据发送给以下固态存储位置A 240、B 245、C 250和n...255中的至少两个。
在本发明的技术中,有可能使分类类型接收器210、接收数据特征确定器220、和异类固态存储位置分配器230组合在一个模块中出现,但该模块通信耦合到包含固态存储位置A 240、B 245、C 250和n...255的分开的模块。另外,本发明的技术的另一示例可以使分类类型接收器210、接收数据特征确定器220、和异类固态存储位置分配器230彼此通信耦合但存在于分开的模块中,而各模块仍然通信耦合到固态存储位置A 240、B 245、C 250和n...255。
在一个实施例中,除其它固态存储位置A 240、B 245、C 250和n...255之外,异类固态存储位置分配器230将接收到的数据分配给闪存存储模块。在又一实施例中,异类固态存储位置分配器230将接收到的数据分配给作为硬盘驱动器仿真器的闪存存储模块。
在本发明的技术的一示例中,固态分配模块215以组合在单个存储位置260上的方式通信耦合到固态存储位置A 240、B 245、C 250和n...255。该单个存储位置可以是可移动卡。计算机芯片被集成在该可移动卡内。该计算机芯片包含固态分配模块215和异类固态存储位置分配器230的组合。插入该可移动卡准许用户将通信耦合到固态存储位置A 240、B 245、C 250和n...255的固态分配模块215插入到计算机设备。一旦插入了该可移动卡,则固态分配模块215变为通信耦合到计算机设备的操作系统200。
现在参考图2B,示出了根据本发明的技术的一个实施例的用于分配与操作系统200相关联的存储器的示例固态分配模块的框图。一般而言,用于分配与操作系统200相关联的存储器的固态分配模块包括分类类型接收器210、接收数据特征确定器220、和异类固态存储位置分配器230、固态存储位置A 240、固态存储位置B 245、固态存储位置C 250、和固态存储位置n...255。
另外,线235表示将数据从固态存储位置分配器230发送到异类固态存储位置A 240、B 245、C 250和n...255的路径。此外,路径235可以用多种方式(包括有线和无线)将异类固态存储位置分配器230连接到固态存储位置A 240、B 245、C 250和n...255。
在一个实施例中,固态分配模块215集成在操作系统200内部,但在外部通信耦合到固态存储位置A 240、B 245、C 250和n...255。另外,异类固态存储位置分配器230可以在固态分配模块220中实现并嵌入其中,或作为操作系统200的一部分来以软件实现。另外,固态存储位置A 240、B 245、C 250和n...255在外部耦合到操作系统200。
操作
现在参考图3,示出了根据本发明的技术的一个实施例的选择性地利用多个异类固态存储位置的计算机实现的示例方法的流程图300。
现在参考图3的305并参考图2A,一个实施例接收多个异类固态存储位置中的每一个的分类类型。如此处所描述的,在本发明的技术的另一实施例中,沿路径205发送的分类类型由分类类型接收器210来接收。一般而言,分类类型描述各个固态存储位置A 240、B 245、C 250和n...255保持哪类数据。固态存储位置n...255表示除固态存储位置A 240、B 245、和C 250之外的预定数量的异类固态存储位置。
本发明的技术的一个实施例通过利用操作系统200来确定分类类型,以接收多个异类固态存储位置的分类类型305。操作系统200通信耦合到固态分配模块215并且在其外部,或者固态分配模块215可以集成在操作系统200内部。分类类型接收器210随后将多个异类固态存储位置A 240、B245、C 250和n...255中的每一个的分类类型传递给接收数据特征确定器220。
现在参考图3的310并参考图2A,一个实施例确定接收到的数据的特征310。如此处所描述的,在本发明的技术的另一实施例中,确定接收到的数据的特征310包括将接收到的与输入/输出操作相关联的数据归类到对应于多个异类固态存储位置A 240、B 245、C 250和n...255中的每一个的分类类型的至少一个分类。该接收到的与输入/输出操作相关联的数据是沿路径225从操作系统200发送到接收数据特征确定器220的。另外,在接收数据特征确定器220确定接收到的数据对固态存储位置A 240、B 245、C 250和n...255的分配之后,接收数据特征确定器220将该判定传递给异类固态存储位置分配器230。
在本发明的技术的又一实施例中,确定接收到的数据的特征310包括利用数据重要性特征。数据重要性特征包括与输入/输出操作相关联的数据的各方面,其用于描述需要哪类存储器来保持该数据。例如,操作系统200沿路径225将与输入/输出操作相关联的数据发送到接收特征确定器200。接收特征确定器220随后根据以下特征将该数据划分成各个组:(1)只被写一次并且在写之后只读的数据;(2)被偶尔写并且被频繁读的数据;和(3)被频繁写并且被频繁读的数据。接收数据特征确定器220随后将基于从分类类型接收器210接收到的固态存储位置的分类类型,来确定经分组的接收到的数据中的每一组将被发送到固态存储位置A 240、B 245、C 250和n...255中的哪一个。
例如,操作系统200将固态存储位置A 240是用于被偶尔写且被频繁读的数据的存储位置的信息发送到分类类型接收器210。操作系统200经由路径225将与输入/输出操作相关联的、预期要被存储在固态存储位置A240、B 245、C 250和n...255中的一个的数据发送到接收数据特征确定器220。接收数据特征确定器220确定与这些输入/输出操作相关联的数据的类型。接收数据特征确定器220下一步确定某一百分比的接收到的数据是被偶尔写并且被频繁读的数据。数据特征确定器220随后确定该被偶尔写并且被频繁读的接收到的数据应被分配给固态存储位置A 240,因为该存储位置被配置成保持被偶尔写并且被频繁读的数据。
现在参考图3的315并且参考图2A,一个实施例基于接收数据特征确定器200所确定的特征将接收到的数据分配给多个异类固态存储位置A240、B 245、C 250和n...255中的一个。接收到的数据被发送给异类固态存储位置A 240、B 245、C 250和n...255中的至少两个。
基于接收到的数据的特征将接收到的数据分配给多个异类固态存储位置中的一个315包括在接收数据特征确定器220访问了文件的属性之后,将文件从多个异类固态存储位置A 240、B 245、C 250和n...255中的一个移动到多个异类固态存储位置A 240、B 245、C 250和n...255中的另一个,其中基于该文件的所述属性将该文件存储在多个异类固态存储位置中的一个。文件的属性包括诸如在计算机的使用期间文件被访问得有多频繁、该文件对当天操作是如何重要、该文件的大小、以及与输入/输出操作相关联的数据等数据。
一般而言,接收数据特征确定器220具有监控存储在多个异类固态存储位置A 240、B 245、C 250和n...255内的数据的属性的能力。如果并且当接收数据特征确定器220访问存储在固态存储位置A 240、B 245、C 250和n...255中的一个的文件,并确定该文件的属性致使该文件被移动到固态存储位置A 240、B 245、C 250和n...255中不同的一个时,接收数据特征确定器220将该决定传递给异类固态存储位置分配器230。
此外,在异类固态存储位置分配器230从接收数据特征确定器220接收到文件需要被移动到固态存储位置A 240、B 245、C 250和n...255中的不同的一个的通信后,异类固态存储位置分配器230随后遵循这些指令。异类固态存储位置分配器230进入固态存储位置A 240、B 245、C 250和n...255,并根据接收数据特征确定器220的指令来重新安排文件。
例如,假定一数据文件在六个月的时段内没有被读。接收数据特征确定器220也认识到该数据文件在六个月的时段内没有被读。该文件当前恰好驻留在容纳被偶尔写并被频繁读的数据的固态存储位置中。因为该数据文件不再被频繁读已经有一段时间,所以接收数据特征确定器220指示异类固态存储位置分配器230通过将该数据文件置于容纳被偶尔写并被偶尔读的数据的固态存储位置n...255来重新安排该数据文件。
此外,在一个实施例中,在具有嵌入式确定器的固态分配模块215不存在的情况下,操作系统200可以执行与固态分配模块215相类似的功能。例如,假定操作系统200附连了超过两个非易失性固态存储位置n...255。操作系统200随后能以基于硬件的异类固态存储位置分配器230做出决定的方式相同的方式来做出在哪一固态存储位置n...255上存储数据块的决定。
再次参考图3并参考图2A,用于选择性地利用多个异类固态存储位置的计算机实现的方法300的另一实施例,多个异类固态存储位置A 240、B245、C 250和n...255对硬盘驱动器进行仿真。在一个实施例中,多个异类固态存储位置A 240、B 245、C 250和n...255仿真并在本质上替换硬盘驱动器。在另一实施例中,多个异类固态存储位置A 240、B 245、C 250和n...255对硬盘驱动器的一部分进行仿真。
在本发明的技术的又一示例中,多个异类固态存储位置A 240、B 245、C 250和n...255支持操作系统200。固态分配模块215通信耦合到操作系统200。在又一实施例中,固态分配模块215集成在操作系统200内。固态分配模块215还通信耦合到固态存储位置A 240、B 245、C 250和n...255。固态存储位置A 240、B 245、C 250和n...255担当操作系统200的存储器存储空间。
在又一示例中,支持操作系统200的多个异类固态存储位置A 240、B245、C 250和n...255包括至少一个闪存存储位置。例如,在多个异类固态存储位置A 240、B 245、C 250和n...255中,固态存储位置A 240是闪存存储位置,而固态存储位置B 245、C 250和n...255是某一其它类型的固态存储位置。
在又一示例方法中,多个异类固态存储位置A 240、B 245、C 250和n...255全部都是闪存存储位置。此外,在又一示例中,在多个异类固态存储位置A 240、B 245、C 250和n...255中,固态存储位置A 240和B 245是闪存存储位置,而存储位置C 250和n...255是某一其它类型的固态存储位置。
现在参考图4,示出了根据本发明的技术的一个实施例的计算机可使用介质上的指令的流程图400,其中该指令在被执行时使得计算机系统执行选择性地利用多个异类固态存储位置的方法。
现在参考图4的405并参考图2A,一个实施例接收多个异类固态存储位置的分类类型405。接收多个异类固态存储位置的分类类型405类似于接收多个异类固态存储位置的分类类型305。因为此处的接收多个异类固态存储位置的分类类型305的解释适用于接收多个异类固态存储位置的分类类型405,所以出于简明和清楚的目的,将不再重复这些解释。
现在参考图4的410并参考图2A,一个实施例利用多个异类固态存储位置的分类类型和接收到的输入/输出操作的特征来选择存储位置410。利用多个异类固态存储位置的分类类型和接收到的输入/输出操作的特征来选择存储位置410类似于确定接收到的数据的特征310。因为此处的确定接收到的数据的特征310的解释适用于利用多个异类固态存储位置的分类类型和接收到的输入/输出操作的特征来选择存储位置410,所以出于简明和清楚的目的,将不再重复这些解释。
另外,参考图4的410并参考图2A,在一个实施例中,利用多个异类固态存储位置的分类类型和接收到的输入/输出操作的特征来选择存储位置410还包括利用访问特征的频率。该访问特征的频率指的是描述多个异类固态存储位置A 240、B 245、C 250和n...255中的一个被写和/或读得有多频繁的数据。
作为示例,假定异类固态存储位置A 240包含旨在用于被偶尔写并被频繁读的文件的存储器空间。同样,假定存储在异类固态存储位置A 240上的文件只在去年被读过一次。接收数据特征确定器220可以取决于预定指令来决定,将该文件移动到异类固态存储位置B 245,因为异类固态存储位置B 245包含旨在用于被偶尔写并且被偶尔读的文件的存储器空间。
现在参考图4的415并参考图2A,一个实施例将与输入/输出操作相关联的数据路由到所选择的存储位置415。在另一实施例中,将与输入/输出操作相关联的数据路由到所选择的存储位置415还包括利用表示多个异类固态存储位置n...255的聚集的单个可寻址存储名字空间。例如,异类固态存储位置分配器230只展示多个固态存储位置n...255的单个存储名字空间。结果,像备份或操作系统200等应用程序只看到表示所有固态存储位置n...255的单个可寻址存储名字空间,而非每一单独的固态存储位置A240、B 245、C 250和/或n...255。
将与输入/输出操作相关联的数据路由到所选择的存储位置415类似于基于接收到的数据的特征将接收到的数据分配给多个异类固态存储位置中的一个315。因为此处的基于接收到的数据的特征将接收到的数据分配给多个异类固态存储位置中的一个315的解释适用于将与输入/输出操作相关联的数据路由到所选择的存储位置415,所以出于简明和清楚的目的,将不再重复这些解释。
因此,本发明的技术提供用于选择性地利用多个异类固态存储位置A240、B 245、C 250和n...255的计算机实现的方法。此外,本发明的技术对适用于与输入/输出操作相关联的各种数据的多个异类固态存储位置的启用,允许降低存储空间中所存储的数据的单位存储成本比率。另外,本发明的技术允许多个异类固态存储位置A 240、B 245、C 250和n...255或其组合来对硬盘驱动器进行仿真。此外,本发明的技术允许使用闪存存储空间来用作任何数量的多个异类固态存储位置A 240、B 245、C 250和n...255。
尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (20)

1.一种用于选择性地利用多个异类固态存储位置的计算机实现的方法[300],所述方法[300]包括:
接收所述多个异类固态存储位置的分类类型[305];
确定接收到的数据的特征[310];以及
基于所述特征将所述接收到的数据分配给所述多个异类固态存储位置中的一个[315]。
2.如权利要求1所述的计算机实现的方法[300],其特征在于,还包括:
通过利用所述多个异类固态存储位置来对硬盘驱动器进行仿真。
3.如权利要求1所述的计算机实现的方法[300],其特征在于,还包括:
通过所述多个异类固态存储位置来支持操作系统。
4.如权利要求1所述的计算机实现的方法[300],其特征在于,还包括:
通过所述多个异类固态存储位置来支持操作系统,其中所述固态存储位置包括至少一个闪存存储位置。
5.如权利要求1所述的计算机实现的方法[300],其特征在于,所述确定接收到的数据的特征还包括:
将与输入/输出操作相关联的所述接收到的数据归类到对应于所述多个异类固态存储位置的所述分类类型的至少一个分类。
6.如权利要求1所述的计算机实现的方法[300],其特征在于,所述确定接收到的数据的特征[310]还包括:
访问文件的属性,其中所述文件基于该文件的所述属性来存储在所述多个异类固态存储位置中的一个中。
7.如权利要求6所述的计算机实现的方法[300],其特征在于,还包括:
将所述文件从所述多个异类固态存储位置中的一个移动到所述多个异类固态存储位置中的另一个。
8.如权利要求1所述的计算机实现的方法[300],其特征在于,所述接收所述多个异类闪存存储位置的分类类型[305]还包括:
利用操作系统来确定所述分类类型。
9.如权利要求1所述的计算机实现的方法,其特征在于,所述确定接收到的数据的特征[310]还包括:
利用数据重要性特征。
10.一种用于分配与操作系统相关联的存储器的固态分配模块,包括:
被配置成接收多个异类固态存储位置[240]的分类类型数据的分类类型接收器[210];
被配置成确定接收到的数据的特征的接收数据特征确定器[220];以及
被配置成基于所述特征来将所述接收到的数据分配给所述多个异类固态存储位置中的一个的异类固态存储位置分配器[230]。
11.如权利要求10所述的固态分配模块,其特征在于,所述固态分配模块还包括闪存存储模块。
12.如权利要求11所述的固态分配模块,其特征在于,所述闪存存储模块是硬盘驱动器仿真器。
13.如权利要求10所述的固态分配模块,其特征在于,所述接收到的数据的所述特征是输入/输出操作的类型。
14.计算机可使用介质上的各个指令,其中所述指令在被执行时使得计算机系统执行一种选择性地利用多个异类固态存储位置的方法,所述方法包括:
接收所述多个异类固态存储位置的分类类型[405];
利用所述多个异类固态存储位置的所述分类类型和接收到的输入输出操作的特征来选择存储位置[410];以及
将与所述输入/输出操作相关联的数据路由到接收数据特征确定器所选择的所述存储位置[415]。
15.如权利要求14所述的计算机可使用介质上的各个指令,其特征在于,所述接收所述多个异类固态存储位置的分类类型还包括:
利用操作系统[122]来确定所述分类类型。
16.如权利要求14所述的计算机可使用介质上的各个指令,其特征在于,所述利用所述多个异类固态存储位置的分类类型和接收到的输入/输出操作的特征来选择存储位置还包括:
利用数据重要性特征。
17.如权利要求14所述的计算机可使用介质上的各个指令,其特征在于,所述将与所述输入/输出操作相关联的数据路由到接收数据特征确定器[220]所选择的所述存储位置还包括:
利用表示所述多个异类固态存储位置的聚集的单个可寻址存储名字空间。
18.如权利要求14所述的计算机可使用介质上的各个指令,其特征在于,还包括:
访问文件的属性,其中所述文件基于该文件的所述属性来存储在所述多个异类固态存储位置中的一个中。
19.如权利要求14所述的计算机可使用介质上的各个指令,其特征在于,还包括:
基于所述文件的所述属性将该文件从所述多个异类固态存储位置中的一个重新安排到所述多个异类固态存储位置中的另一个。
20.如权利要求14所述的计算机可使用介质上的各个指令,其特征在于,还包括:
通过利用所述多个异类固态存储位置来对硬盘驱动器进行仿真。
CN2008800074120A 2007-03-06 2008-03-06 选择性地利用多个异类固态存储位置 Active CN101627372B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/714,585 2007-03-06
US11/714,585 US7657572B2 (en) 2007-03-06 2007-03-06 Selectively utilizing a plurality of disparate solid state storage locations
PCT/US2008/056026 WO2008109736A1 (en) 2007-03-06 2008-03-06 Selectively utilizing a plurality of disparate solid state storage locations

Publications (2)

Publication Number Publication Date
CN101627372A true CN101627372A (zh) 2010-01-13
CN101627372B CN101627372B (zh) 2012-08-29

Family

ID=39738794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800074120A Active CN101627372B (zh) 2007-03-06 2008-03-06 选择性地利用多个异类固态存储位置

Country Status (9)

Country Link
US (3) US7657572B2 (zh)
EP (1) EP2118751A4 (zh)
JP (2) JP5149912B2 (zh)
KR (1) KR101482285B1 (zh)
CN (1) CN101627372B (zh)
BR (1) BRPI0807899A8 (zh)
RU (1) RU2463648C2 (zh)
TW (1) TWI432958B (zh)
WO (1) WO2008109736A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902226B (zh) * 2012-12-27 2017-08-04 宏碁股份有限公司 数据写入方法与系统

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1557074A4 (en) 2002-10-22 2010-01-13 Sullivan Jason ROBUST ADJUSTABLE COMPUTER PROCESSING SYSTEM
JP2006512691A (ja) 2002-10-22 2006-04-13 アイシス テクノロジーズ 改善された熱放散特性を有する非周辺処理制御モジュール
KR101499826B1 (ko) * 2002-10-22 2015-03-10 제이슨 에이. 설리반 맞춤형 로버스트 컴퓨팅 시스템, 처리 제어 유닛, 및 무선 컴퓨팅 네트워크 장치
US20100250826A1 (en) * 2009-03-24 2010-09-30 Micron Technology, Inc. Memory systems with a plurality of structures and methods for operating the same
US8935366B2 (en) * 2009-04-24 2015-01-13 Microsoft Corporation Hybrid distributed and cloud backup architecture
US8560639B2 (en) 2009-04-24 2013-10-15 Microsoft Corporation Dynamic placement of replica data
US8769049B2 (en) 2009-04-24 2014-07-01 Microsoft Corporation Intelligent tiers of backup data
US8769055B2 (en) 2009-04-24 2014-07-01 Microsoft Corporation Distributed backup and versioning
TWI494766B (zh) * 2009-07-07 2015-08-01 Apacer Technology Inc 可提升作業速度之儲存模組及其作業方法
US8700841B2 (en) 2010-04-19 2014-04-15 International Business Machines Corporation Sub-LUN input/output profiling for SSD devices
US9285991B2 (en) 2011-04-29 2016-03-15 International Business Machines Corporation System, method and program product to schedule transfer of data
US8341312B2 (en) 2011-04-29 2012-12-25 International Business Machines Corporation System, method and program product to manage transfer of data to resolve overload of a storage system
US8923045B2 (en) 2012-05-31 2014-12-30 Seagate Technology Llc Multi-level cell (MLC) update with protected mode capability
WO2014138448A1 (en) * 2013-03-06 2014-09-12 Sullivan Jason A Systems and methods for providing dynamic hybrid storage
US8924824B1 (en) 2013-03-12 2014-12-30 Western Digital Technologies, Inc. Soft-decision input generation for data storage systems
US11809451B2 (en) 2014-02-19 2023-11-07 Snowflake Inc. Caching systems and methods
WO2015194500A1 (ja) * 2014-06-20 2015-12-23 株式会社ニコン 情報記憶装置、情報記憶システム、及び情報記憶制御プログラム
KR102397582B1 (ko) 2015-06-22 2022-05-13 삼성전자주식회사 데이터 저장 장치, 이를 포함하는 데이터 처리 시스템, 및 이의 작동 방법
US10866912B2 (en) 2017-03-10 2020-12-15 Toshiba Memory Corporation Integrated heterogeneous solid state storage drive
US10521143B2 (en) * 2017-03-23 2019-12-31 Netapp Inc. Composite aggregate architecture
US11205229B1 (en) * 2017-08-04 2021-12-21 EMC IP Holding Company LLC Content storage management based on multidimensional valuation models
KR102611566B1 (ko) 2018-07-06 2023-12-07 삼성전자주식회사 솔리드 스테이트 드라이브 및 그의 메모리 할당 방법

Family Cites Families (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490260A (en) 1990-12-14 1996-02-06 Ceram, Inc. Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size
US5491810A (en) * 1994-03-01 1996-02-13 International Business Machines Corporation Method and system for automated data storage system space allocation utilizing prioritized data set parameters
DE19540915A1 (de) * 1994-11-10 1996-05-15 Raymond Engineering Redundante Anordnung von Festkörper-Speicherbausteinen
US5568423A (en) 1995-04-14 1996-10-22 Unisys Corporation Flash memory wear leveling system providing immediate direct access to microprocessor
JPH0944381A (ja) * 1995-07-31 1997-02-14 Toshiba Corp データ格納方法およびデータ格納装置
US5835935A (en) 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
US6711666B1 (en) * 1995-11-29 2004-03-23 Zf Micro Solutions, Inc. IBM PC compatible multi-chip module
JP2856152B2 (ja) * 1996-05-30 1999-02-10 日本電気株式会社 カーネルデバッガにおけるソフトウェアブレークポイント管理方式
US5787484A (en) 1996-08-08 1998-07-28 Micron Technology, Inc. System and method which compares data preread from memory cells to data to be written to the cells
US5905757A (en) 1996-10-04 1999-05-18 Motorola, Inc. Filter co-processor
US6418506B1 (en) 1996-12-31 2002-07-09 Intel Corporation Integrated circuit memory and method for transferring data using a volatile memory to buffer data for a nonvolatile memory array
CN1262754A (zh) 1997-03-21 2000-08-09 卡纳尔股份有限公司 计算机存储器组织
US6154788A (en) * 1997-04-25 2000-11-28 Simple Technology, Inc. Multi-function module incorporating flash memory having additional controller adapted to configure the data from the memory that is to be provided to the external source
CN1281560A (zh) * 1997-10-08 2001-01-24 西加特技术有限责任公司 混合数据存储和重建系统以及用于数据存储装置的方法
US6189069B1 (en) 1998-02-17 2001-02-13 Microsoft Corporation Optimized logging of data elements to a data storage device
JP2000036947A (ja) 1998-07-17 2000-02-02 Mitsubishi Electric Corp 映像蓄積配信表示装置
JP4085478B2 (ja) * 1998-07-28 2008-05-14 ソニー株式会社 記憶媒体及び電子機器システム
JP2000201333A (ja) 1999-01-05 2000-07-18 Matsushita Electric Ind Co Ltd 多重化通信装置
US6145069A (en) 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
US8078794B2 (en) 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
US20050160218A1 (en) * 2004-01-20 2005-07-21 Sun-Teck See Highly integrated mass storage device with an intelligent flash controller
US7509420B2 (en) * 2000-02-18 2009-03-24 Emc Corporation System and method for intelligent, globally distributed network storage
US20030046396A1 (en) * 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
US20020174227A1 (en) * 2000-03-03 2002-11-21 Hartsell Neal D. Systems and methods for prioritization in information management environments
US6883044B1 (en) 2000-07-28 2005-04-19 Micron Technology, Inc. Synchronous flash memory with simultaneous access to one or more banks
US7689510B2 (en) * 2000-09-07 2010-03-30 Sonic Solutions Methods and system for use in network management of content
JP2002132454A (ja) 2000-10-19 2002-05-10 Xaxon R & D Corp 圧縮伸張装置を備えた半導体ディスク装置
US6681506B2 (en) 2000-10-27 2004-01-27 The Procter & Gamble Company Process for the ironing of fabrics, and refill cartridge for irons
JP2002149456A (ja) 2000-11-07 2002-05-24 Matsushita Electric Ind Co Ltd 可搬性記憶媒体、可搬性記憶媒体におけるファイル管理方法及び携帯端末
EP1205838A3 (en) 2000-11-07 2007-10-10 Matsushita Electric Industrial Co., Ltd. Carryable memory media, portable information terminal using the same and method for managing files therein
KR100389867B1 (ko) 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US7454446B2 (en) * 2001-08-31 2008-11-18 Rocket Software, Inc. Techniques for storing data based upon storage policies
KR100393619B1 (ko) * 2001-09-07 2003-08-02 삼성전자주식회사 휴대 단말기의 메모리 장치 및 그 제어방법
KR100454119B1 (ko) 2001-10-24 2004-10-26 삼성전자주식회사 캐쉬 기능을 갖는 불 휘발성 반도체 메모리 장치 및 그것의 프로그램, 읽기, 그리고 페이지 카피백 방법들
US7127550B1 (en) * 2001-10-31 2006-10-24 Sandisk Corporation Multi-module simultaneous program, erase test, and performance method for flash memory
JP4162184B2 (ja) * 2001-11-14 2008-10-08 株式会社日立製作所 データベース管理システムの実行情報を取得する手段を有する記憶装置
RU2189630C1 (ru) 2001-11-21 2002-09-20 Бабаян Борис Арташесович Способ фильтрации межпроцессорных запросов в многопроцессорных вычислительных системах и устройство для его осуществления
US6681309B2 (en) * 2002-01-25 2004-01-20 Hewlett-Packard Development Company, L.P. Method and apparatus for measuring and optimizing spatial segmentation of electronic storage workloads
US20050036387A1 (en) 2002-04-24 2005-02-17 Seal Brian K. Method of using flash memory for storing metering data
US20040025162A1 (en) * 2002-07-31 2004-02-05 Fisk David C. Data storage management system and method
JP4063615B2 (ja) 2002-08-30 2008-03-19 Necエレクトロニクス株式会社 不揮発性メモリおよびその書き込み処理方法
US7020758B2 (en) 2002-09-18 2006-03-28 Ortera Inc. Context sensitive storage management
JP4199519B2 (ja) * 2002-11-05 2008-12-17 パナソニック株式会社 メモリ管理装置及びメモリ管理方法
US6993603B2 (en) 2002-12-09 2006-01-31 Microsoft Corporation Managed file system filter model and architecture
US7814128B2 (en) 2003-05-30 2010-10-12 Symantec Operating Corporation Multi-volume file support
TWI220959B (en) 2003-06-05 2004-09-11 Carry Computer Eng Co Ltd Storage device with optimized compression management mechanism
ITVA20030025A1 (it) 2003-07-17 2005-01-18 Lamberti Spa Depolimerizzazione enzimatica di carbossimetilcellulosa e relativi prodotti.
KR100546348B1 (ko) 2003-07-23 2006-01-26 삼성전자주식회사 플래시 메모리 시스템 및 그 데이터 저장 방법
US6917542B2 (en) * 2003-07-29 2005-07-12 Sandisk Corporation Detecting over programmed memory
US6876579B2 (en) 2003-08-04 2005-04-05 Phison Electronics Corp. Method writing data to a large block of a flash memory cell
JP4287433B2 (ja) 2003-11-18 2009-07-01 パナソニック株式会社 ファイル記録装置
US20090193184A1 (en) 2003-12-02 2009-07-30 Super Talent Electronics Inc. Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System
US7477812B2 (en) 2003-12-30 2009-01-13 Massachusetts Institute Of Technology System and method for providing fast, low voltage integrated optical elements
JP4568502B2 (ja) * 2004-01-09 2010-10-27 株式会社日立製作所 情報処理システムおよび管理装置
CN100470585C (zh) 2004-03-31 2009-03-18 松下电器产业株式会社 存储卡和存储卡系统
US8352697B2 (en) * 2004-05-17 2013-01-08 Sandisk Il Ltd. Method of managing files for optimal performance
US7702848B2 (en) * 2004-06-10 2010-04-20 Marvell World Trade Ltd. Adaptive storage system including hard disk drive with flash interface
US20060069896A1 (en) * 2004-09-27 2006-03-30 Sigmatel, Inc. System and method for storing data
JP4956922B2 (ja) * 2004-10-27 2012-06-20 ソニー株式会社 記憶装置
US7631023B1 (en) * 2004-11-24 2009-12-08 Symantec Operating Corporation Performance-adjusted data allocation in a multi-device file system
US20060117018A1 (en) 2004-11-30 2006-06-01 Microsoft Corporation Method and system for caching remote files locally
US7087953B2 (en) * 2004-12-03 2006-08-08 Aplus Flash Technology, Inc. Unified non-volatile memory device and method for integrating NOR and NAND-type flash memory and EEPROM device on a single substrate
KR100684942B1 (ko) * 2005-02-07 2007-02-20 삼성전자주식회사 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템
KR100590388B1 (ko) 2005-03-10 2006-06-19 주식회사 하이닉스반도체 멀티-플레인 타입 플래쉬 메모리 장치와, 그 프로그램 동작및 리드 동작 제어 방법
KR100626392B1 (ko) 2005-04-01 2006-09-20 삼성전자주식회사 읽기 속도를 향상시킬 수 있는 플래시 메모리 장치
KR100704037B1 (ko) 2005-04-15 2007-04-04 삼성전자주식회사 이종의 비휘발성 메모리를 가지는 데이터 저장장치와 그의구동 방법
JP2007004710A (ja) * 2005-06-27 2007-01-11 Nec Corp ストレージアクセス方式、データ転送装置、ストレージアクセス方法、及びプログラム
JP2006059374A (ja) * 2005-09-16 2006-03-02 Hitachi Ltd 記憶制御装置
JP4933861B2 (ja) * 2005-09-22 2012-05-16 株式会社日立製作所 ストレージ制御装置、データ管理システムおよびデータ管理方法
US20070078914A1 (en) * 2005-09-30 2007-04-05 International Business Machines Corporation Method, apparatus and program storage device for providing a centralized policy based preallocation in a distributed file system
US20070150887A1 (en) * 2005-12-22 2007-06-28 Shapiro Alan J Apparatus and method for selectively dispensing soft assets
US7555575B2 (en) * 2006-07-27 2009-06-30 Hitachi, Ltd. Method and apparatus for migrating data between storage volumes of different data pattern
US20080228998A1 (en) 2007-03-16 2008-09-18 Spansion Llc Memory storage via an internal compression algorithm

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902226B (zh) * 2012-12-27 2017-08-04 宏碁股份有限公司 数据写入方法与系统

Also Published As

Publication number Publication date
JP2012014706A (ja) 2012-01-19
US20100095083A1 (en) 2010-04-15
TWI432958B (zh) 2014-04-01
US8126939B2 (en) 2012-02-28
JP5384576B2 (ja) 2014-01-08
JP2010520568A (ja) 2010-06-10
BRPI0807899A8 (pt) 2017-01-17
RU2009133317A (ru) 2011-03-10
WO2008109736A1 (en) 2008-09-12
KR101482285B1 (ko) 2015-01-13
US7657572B2 (en) 2010-02-02
KR20100014884A (ko) 2010-02-11
JP5149912B2 (ja) 2013-02-20
BRPI0807899A2 (pt) 2014-06-17
CN101627372B (zh) 2012-08-29
US9535625B2 (en) 2017-01-03
EP2118751A1 (en) 2009-11-18
US20120110264A1 (en) 2012-05-03
EP2118751A4 (en) 2010-09-29
RU2463648C2 (ru) 2012-10-10
TW200844739A (en) 2008-11-16
US20080222346A1 (en) 2008-09-11

Similar Documents

Publication Publication Date Title
CN101627372B (zh) 选择性地利用多个异类固态存储位置
JP5347061B2 (ja) フラッシュメモリデータストレージデバイスにデータを格納するための方法及び装置
KR102137761B1 (ko) 이종 통합 메모리부 및 그것의 확장 통합 메모리 스페이스 관리 방법
CN101416165B (zh) 描述和查询闪存存储的分离区域
US7849253B2 (en) Method for fast access to flash-memory media
CN100481028C (zh) 一种利用缓存实现数据存储的方法和装置
CN100583067C (zh) 用于访问信息的方法、存储控制器和信息处理系统
CN101263462B (zh) 具有区块管理的非易失性存储器
CN101681297B (zh) 存储器分配的设置
US20080229046A1 (en) Unified support for solid state storage
CN102567224A (zh) 高效高速缓存管理
CN104395904A (zh) 高效的数据对象存储和检索
CN104866428A (zh) 数据存取方法和数据存取装置
CN102662856A (zh) 一种固态硬盘及其存取方法
CN102063943A (zh) Nand闪存参数自动检测系统
CN101002274A (zh) 提高usb闪存写入性能的方法和器件
CN104731896A (zh) 一种数据处理方法及系统
CN115357540B (zh) 存储系统及其计算存储处理器、固体硬盘和数据读写方法
US9558112B1 (en) Data management in a data storage device
CN108647278B (zh) 一种文件管理方法及系统
CN103294560A (zh) 跨进程传递字符串的方法及装置
CN108664578B (zh) 一种文件循环存储方法及系统
CN1732516B (zh) 双日志存储方法及其存储介质
CN109032859A (zh) 一种nvme ssd逻辑块检测方法、系统及相关装置
CN113609150B (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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150513

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150513

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.